From 1b8c0b8aaa72653bc566cd3f449247e2ab2ac2a3 Mon Sep 17 00:00:00 2001 From: sekigon-gonnoc <43873124+sekigon-gonnoc@users.noreply.github.com> Date: Sat, 11 Sep 2021 15:41:06 +0900 Subject: [PATCH] Merge with master/46f15cd1a533cce8c9f7a406b1e6ee6765e48a20 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 46f15cd1a533cce8c9f7a406b1e6ee6765e48a20 Author: yfuku <30647434+yfuku@users.noreply.github.com> Date: Sat Sep 11 13:59:28 2021 +0900 [Keyboard] owl8 bugfix (#14020) commit d0b1d9f548aa39e1d267e8f62db4e0c65aae9206 Author: AKiwi92 <69772382+AKiwi92@users.noreply.github.com> Date: Sat Sep 11 05:20:43 2021 +0100 [Keyboard] KiwiKeebs Macro V2 (QMK/VIA) and update to V1 (#13499) Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Ash commit 6213989c3248405aed7710d68599c8e61ac5b910 Author: rarick <36723740+rarick@users.noreply.github.com> Date: Fri Sep 10 22:52:17 2021 -0500 [Keymap] Add keymap for crkbd/rarick (#13240) * Added new keymap for crkbd/rarick * Delete flash.sh Deleted rarick crkbd flashing script, as it will not be used by most users. * Applied feedback, and fixed build error caused by builder updates * Update keyboards/crkbd/keymaps/rarick/config.h Removed USE_MATRIX_I2C, no longer used. Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit d7747a2d700eec08679011d79dc6192fe43ca402 Author: Zac Moulton Date: Fri Sep 10 18:56:50 2021 -0700 [Keymap] moults31 userspace and keymaps (#12025) commit 759d1927f099ba319ad09c69a2cc71026d775713 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sat Sep 11 05:14:39 2021 +1000 [Keyboard] Add RS60 (#14073) * initial rs60 * update * remove * Include rs60.h Co-authored-by: Joel Challis * change layout name Co-authored-by: Joel Challis * change layout name Co-authored-by: Joel Challis * change layout name Co-authored-by: Joel Challis * change layout name Co-authored-by: Joel Challis * change layout name Co-authored-by: Joel Challis * List form readme. Co-authored-by: Joel Challis * change layout name Co-authored-by: Joel Challis * change layout name Co-authored-by: Joel Challis * change layout name Co-authored-by: Joel Challis * add layout Co-authored-by: Joel Challis * add license Co-authored-by: Joel Challis * 2021 update Co-authored-by: Joel Challis * add license Co-authored-by: Joel Challis * sigprof suggested changes * Remove redundant define Co-authored-by: Ryan * Fixup readme Co-authored-by: Sergey Vlasov * Update keyboards/xelus/rs60/info.json Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Sergey Vlasov commit 7277f1febe0e86e8a32beb779aa24e02bfdb6826 Author: Ryan Date: Fri Sep 10 23:11:17 2021 +1000 Remove BLUETOOTH_ENABLE from defaultish keymaps (#14375) commit d5cb7de5e4ea60dce69764a627358d534af1f666 Author: Ryan Date: Fri Sep 10 17:17:54 2021 +1000 Change USBasp and bootloadHID bootloaders to lowercase (#14354) commit 7eea780a7da2d9197b78b62b7294a6b2bc2fa572 Author: Ryan Date: Fri Sep 10 13:35:46 2021 +1000 Remove bootloader listings from rules.mk (#14330) commit 2cb9219a3e655218f5380a41cf5bc5e3135caaa1 Author: Ryan Date: Fri Sep 10 13:32:22 2021 +1000 Remove commented out BLUETOOTH_ENABLE rules (#14361) commit 7f80076d044d729407cc4aad35095ff4a8ff5653 Author: Joel Challis Date: Fri Sep 10 03:57:36 2021 +0100 Align rgb/led matrix docs with current behaviour (#14367) commit 22499636871ae8f0b8f2da90f801f9290fb1d186 Author: Uy Bui Date: Fri Sep 10 02:02:45 2021 +0900 [Keyboard] Add custom pcb for Polaris (#14347) * [Keyboard] pcb for Polaris * [Keyboard] pcb for Polaris: update layout * Update keyboards/wekey/polaris/info.json Co-authored-by: Ryan Co-authored-by: Ryan commit d6dd2e0d516a67bdc9bde2b6d1680a00c48675e4 Author: Ryan Date: Thu Sep 9 16:50:52 2021 +1000 Fix CRLF in lyra/rev1 (#14360) commit 4c88f76be8099d45444cea894bb2162870115832 Author: Malevolti <82970232+Malevolti@users.noreply.github.com> Date: Thu Sep 9 07:34:32 2021 +0100 [Keyboard] add lyra (#13977) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 82ee9bd475be9723d53ea3e8e101a038bbfa1b25 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Wed Sep 8 22:23:26 2021 -0700 [Keyboard] Add Olly JF PCB (#14056) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 6d43a5daf4225cf677840d11b151d28f49e8f9e9 Author: Drashna Jaelre Date: Wed Sep 8 20:19:06 2021 -0700 Backport F_CPU/F_USB hack from system76 (#14286) Co-authored-by: Ryan commit cb4006c0b47e9d99c2f60b74d414b19cf4b9e333 Author: Felix Jen Date: Wed Sep 8 19:44:52 2021 -0700 [Keymap] Fix Maker Keyboards Alexa Keymap (#14355) commit 891ddd9a30628509b239a0d41fbdc65b4530f80a Author: Ethan Yates <70546312+RealEmanGaming@users.noreply.github.com> Date: Wed Sep 8 20:14:03 2021 -0600 [Keyboard] Add 61Key (#14259) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit f3bef84dace5d1d938f9d02be644bf421a4a3de1 Author: JayceFayne <13365789+JayceFayne@users.noreply.github.com> Date: Thu Sep 9 03:34:49 2021 +0200 `ST7565_TIMEOUT 0` and `ST7565_DISABLE_TIMEOUT` should behave the same (#14315) commit da81e5c7cd700cdb3ecd750ae8044f514fb65ca2 Author: JayceFayne <13365789+JayceFayne@users.noreply.github.com> Date: Thu Sep 9 03:34:34 2021 +0200 `OLED TIMEOUT 0` and `OLED_DISABLE_TIMEOUT` should behave the same (#14302) commit 853e56d080d71ebf1be7299e3b78f6e5ec190aa5 Author: Drashna Jaelre Date: Wed Sep 8 18:10:43 2021 -0700 [Keyboard] Minor tweaks to Work Board layout (#14351) commit 9e77cdf4e66ff1cfdd7effaf77e129bf3ae9a1a5 Author: Ryan Date: Thu Sep 9 10:27:58 2021 +1000 Bugfix for Joystick and JSON schema (#14295) commit 3f2a030de6a306ed72eafe7aa143a5b695f9469d Author: rhmokey <57172003+rhmokey@users.noreply.github.com> Date: Thu Sep 9 07:57:43 2021 +0800 [Keyboard] Add new Mokey keyboard (#14329) Co-authored-by: Ryan commit d510f6afa97801ea53078ac7fbdbd24824d77f4e Author: Gastón Jorquera Date: Wed Sep 8 16:55:12 2021 -0700 [Keymap] Add Gaston's Lily58 custom keymap (#14334) Co-authored-by: Ryan Co-authored-by: Gaston Jorquera commit 4294aa0f1ee546c74a72bad3e556d7ee4e020a88 Author: Drashna Jaelre Date: Wed Sep 8 16:52:43 2021 -0700 [Keyboard] Tractyl Manuform - configuration updates (#14314) * [Keyboard] Tractyl Manuform - configuration updates * Update readmes * Add more details * Fix issues with encoder pins * Additional fixes for pin config * Fix up some comments commit 8f8411a98a60ffe9e8410e892bff946d9122d3a9 Author: Keenan Brock Date: Wed Sep 8 19:02:50 2021 -0400 [Keyboard] Add VIA keymap for the reviung39 (#14234) commit 2e0659f7fddd4c872b230c4a7d2e2a5517042414 Author: Joel Challis Date: Wed Sep 8 23:44:18 2021 +0100 Fixes for recent i2c migrations (#14352) commit 9c175f180138558748b0b240e76cb04fa11f9927 Author: jackytrabbit Date: Wed Sep 8 15:34:36 2021 +0800 [Keyboard] Update VIA support for lazydesigners/the40 (#14240) Co-authored-by: Joel Challis commit 541e1012912e320e0f65ac1e24f9f8659a5571a8 Author: Gabriel Bustamante Date: Wed Sep 8 03:53:33 2021 -0300 [Keymap] New keymap for bm40 (#14182) commit 3ef01a3482b76a956ba2f9f399a14d9e2f86b362 Author: Rifaa Subekti <68178825+oceeean@users.noreply.github.com> Date: Wed Sep 8 12:07:00 2021 +0800 [Keyboard] add wang ergo (#14245) Co-authored-by: Ryan commit 1ebaec96e7a9695578813916ba2e1651101e385b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Sep 8 03:23:45 2021 +0000 Sneakbox Ava tidy-up (#14298) commit 267ffb9914fd04026aa9841c6c15e51ee6841811 Author: IFo Hancroft Date: Wed Sep 8 06:01:58 2021 +0300 [Keymap] Adding IFo Hancroft's ErgoDox EZ Keymap (#14342) commit 0b8d6df39037e58b6b699332d2bbbc448889c6b2 Author: Drashna Jaelre Date: Tue Sep 7 18:53:55 2021 -0700 [Keyboard] Fix issues with 3w6 rev2 matrix (#14346) commit 60c5bd7b5e0e75f48d9731118b92a3add3342efd Author: Joel Challis Date: Wed Sep 8 02:23:11 2021 +0100 handwired/dactyl - Refactor use of legacy i2c implementation (#14344) commit 04c0704b280c4847c43b164335e9741b19219131 Author: Joel Challis Date: Tue Sep 7 16:35:13 2021 +0100 3w6 - Refactor use of AVR only I2C functions (#14339) * Refactor use of legacy i2c functions * Align rev2 * Review fixes commit e7a5c006d9777a4009da934f408961aa2d2e6fb1 Author: Joel Challis Date: Tue Sep 7 16:34:59 2021 +0100 Refactor use of legacy i2c implementation (#14341) commit 2d6635214ab05858271f312619c5447bf317cf51 Author: Joel Challis Date: Tue Sep 7 16:33:29 2021 +0100 ergodone - Refactor use of legacy i2c implementation (#14340) * Refactor use of legacy i2c implementation * copy-paste error commit 1dbe4e7dd0e0b1516997d84d16228e1d1ce29462 Author: shiftux Date: Mon Sep 6 21:44:39 2021 +0200 [Keyboard] Redox media (#13084) * adding a new revision 'media' to the redox keyboard * readme update * encoder fix * video link * drashna change requests * removing SPLIT_USB_TIMEOUT * intermediate rename * lowercase * drashna comments * include if defined KEYBOARD_redox_media * lowercase readme, tmp step * lowercase readme * drashna changes * more drashna comments * readme update * readme update * fauxpark and drashna comments * fauxpark comments * Update keyboards/redox/media/readme.md Co-authored-by: Ryan Co-authored-by: Ryan commit 85a14ac25bca14e91a21f1820e06079b9c3a078e Author: Monksoffunk Date: Mon Sep 6 22:49:09 2021 +0900 [Keyboard] Zinc: fix RGBLED_NUM bug (#13287) commit 1a494da288509d162593aaa07f4f9ca36b6b3dbd Author: Joel Challis Date: Sun Sep 5 23:56:10 2021 +0100 Fix eeprom for Durgod boards (#14324) commit 1e1be4c229651703ef7c62784b704a859a3d13cf Author: Drashna Jaelre Date: Sun Sep 5 15:35:42 2021 -0700 [Bug] Fix compile issues for boards with custom matrix (#14323) commit 8d6d8cfadfd1522b3dd2cc8ac1ce7393b45bbe64 Author: Joel Challis Date: Sun Sep 5 21:36:43 2021 +0100 Tidy up defines within STM EEPROM emulation (#14275) * Tidy up defines within stm eeprom emulation * Fix tests * Resolve todo * Still use page notion in clear * Remove more f4 refs commit fe6d6cf76dc827adb2f46d55217dc189eae21b02 Author: Ryan Date: Mon Sep 6 06:36:31 2021 +1000 Remove empty override functions (#14312) * Remove empty override functions, 0-9 * Remove empty override functions, A-D * Remove empty override functions, E-H * Remove empty override functions, handwired * Remove empty override functions, I-L * Remove empty override functions, M-P * Remove empty override functions, Q-T * Remove empty override functions, U-Z commit 8a8fdd9a728a4cdc0ddce54fab9bf3b4ff8bf942 Author: Niko Wenselowski Date: Sun Sep 5 21:36:16 2021 +0200 Highlight keycode (#14317) This should make it consistent with other docs and hopefully will make less people miss this detail. commit 767f2c02844acd77c86ea84fb86a1a7f49f379b0 Author: JayceFayne <13365789+JayceFayne@users.noreply.github.com> Date: Sun Sep 5 18:09:20 2021 +0200 [Core] Add `is_oled_scrolling` (#14305) commit 0471429c018b85ebbccfe8c823621235c99458b2 Author: kb-elmo Date: Sun Sep 5 18:05:55 2021 +0200 [Keyboard] Fix rotary encoder function for Voice65 (#14316) Co-authored-by: Ryan commit 014aa0661e2d9cf5b67334f82869d4a841cc703f Author: JayceFayne <13365789+JayceFayne@users.noreply.github.com> Date: Sat Sep 4 16:01:56 2021 +0200 Fix Space Cadet md link (#14300) commit c9262cf7f8ff42741189a765ca76b531ac20fbc5 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sat Sep 4 10:02:15 2021 +0800 Enable extra keys for Technik ortho and stagger (#14282) * Extra keys for technik ortho * Extra keys for technik staggered Co-authored-by: filterpaper commit b15bd128a543453f4545898ca3ad1be1b23a0cf5 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Sep 3 20:03:15 2021 +0000 FJLabs Ready100 Configurator Fixes (#14291) * grid-align keycodes; use short-form keycodes No logic change. * info.json: correct layout macro reference * info.json: correct LAYOUT_64key data Removes an extra key from the layout data. * 64_ansi Community Layout support * rename LAYOUT_64key to LAYOUT_64_ansi (with alias for backwards compatibility) * add LAYOUTS = 64_ansi to rules.mk * remove width and height keys from info.json commit 06c89e8abf072c4fe63120305d22d66ad50894ce Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Sep 3 20:01:50 2021 +0000 Naiping NPhhkb: 60_tsangan_hhkb Community Layout support (#14292) * 60_tsangan_hhkb Community Layout support * rename LAYOUT to LAYOUT_60_tsangan_hhkb * add LAYOUTS = 60_tsangan_hhkb to rules.mk * correct maintainer field in info.json * remove width and height keys from info.json * fix GitHub account link on readme commit 90909fbaf7946808970c4c5e83d9dcfdcd08b496 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Sep 3 20:00:29 2021 +0000 takashicompany/endzone34: correct QMK Configurator key sequence (#14290) * update info.json formatting * convert tabs to spaces * apply human-friendly formatting * correct Configurator key sequence * remove width and height keys from info.json commit 5f6d9913f814edcaf4e882615b76c85ed5499805 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Sep 3 18:48:10 2021 +0000 OwLab Voice65 Hotswap: 65_ansi_blocker Community Layout support (#14293) * 65_ansi_blocker Community Layout support * rename LAYOUT to LAYOUT_65_ansi_blocker (with alias for backwards compatibility) * add LAYOUTS = 65_ansi_blocker to rules.mk * remove width and height keys from info.json commit 8574bf20d35b21c7b44ba8550fa11b4d100fdbbd Author: Ryan Date: Sat Sep 4 02:09:30 2021 +1000 Remove more cruft in keyboard files (#14288) commit a01057d19dfa208fcf5c7cd16689257cb41ac79b Author: jhauh <8780195+jhauh@users.noreply.github.com> Date: Thu Sep 2 18:50:17 2021 +0100 [Keymap] Update iris fluffactually keymap (#14265) Co-authored-by: Drashna Jaelre commit 956cf8d7bfbca187ad9d1e0aabbe6c25348d5e07 Author: Drashna Jaelre Date: Thu Sep 2 10:49:44 2021 -0700 [Keyboard] Work Louder board fixup (#14247) * [Keyboard] Add some last minute tweaks to Work board * Additional fixes * Fix rgb pin * Fix ws2812 hackery * additional led tweaks * Add indicator LEDs * fix bootmagic settings * Fix up RGB stuff * Limit power draw for entire board * fixup lights and such * change LED order on loop * Fix indicators if via is not enabled * Enable Sleep for rgb matrix * Even more LED tweaks * Final tweaks? * Tweak keycodes commit d36a7c512d14e3bc6534f311e8f1a8a69878acb3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Sep 2 17:17:35 2021 +0000 PistachioPro: correct Configurator key sequence (#14277) * info.json: apply human-friendly formatting * correct LAYOUT key sequence Moves the Enter key object to the correct place in sequence. commit ebfa7e14f34c274a80fffb6a4fb9a3194c045d44 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Sep 2 17:09:38 2021 +0000 Matrix Falcon info.json fixes (#14273) * apply human-friendly formatting to info.json * update key labels; correct maintainer field * add LAYOUT_all data to info.json * remove width and height keys from info.json (per fauxpark) Co-authored-by: Ryan Co-authored-by: Ryan commit 0290dd35471a6649c878c590fb9b4798940d05b2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Sep 2 17:08:35 2021 +0000 Yoichiro Lunakey Macro: correct Configurator key sequence (#14276) * apply human-friendly formatting to info.json * correct Configurator key sequence commit 98a2e9dc0ef7b18826e21af75fd24861ac683173 Author: jonavin <71780717+Jonavin@users.noreply.github.com> Date: Thu Sep 2 00:12:57 2021 -0400 [Keymap] new murphpad landscape keymap with encoder enhanced functions (#14103) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Jonavin <=> commit e056ae58a045d59686572ec1349c5c9f285517e5 Author: peott-fr <70998091+peott-fr@users.noreply.github.com> Date: Wed Sep 1 21:12:15 2021 -0700 [Keymap] Fine-tuning Nyquist keymap. (#14269) commit 37aef4ebe17b04de07a17748e2452c2f1ebe77bd Author: Drashna Jaelre Date: Wed Sep 1 21:08:58 2021 -0700 [Keymap] Fix Drashna Keymap issues missed before Develop merge (#14271) commit c1e5c920a9929a0434edca537e6c58aed294668c Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Sep 2 03:50:44 2021 +0000 naiping/np64: 64_ansi Community Layout support and codebase touch-up (#14264) commit b55154fb0ad40d895ccc11bb09498f026e0c0773 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Sep 2 03:47:28 2021 +0000 neson design/n6: Extended Community Layout Support and Layout Macro Fix (#14266) commit c0eab2a50491e7b27cb6fe8df82480a05e625068 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Sep 2 03:46:53 2021 +0000 wuque/serneity65: Layout Macro rework and Configurator fix (#14267) commit cb53c4fd41885ba60192cbd0b5fd23d6a687ab17 Author: hvp <32483282+hvpkod@users.noreply.github.com> Date: Thu Sep 2 05:44:36 2021 +0200 [Keymap] hvp keymap for Cornelius, updated ut47.2 and userspace (#14187) commit 872414f454435321b073ba747205b5f16ce0c53a Author: peott-fr <70998091+peott-fr@users.noreply.github.com> Date: Wed Sep 1 20:44:12 2021 -0700 [Keymap] Add peott-fr H87 keymap (#14232) commit b6ca21c65c0d32241ed697072292bd5118b64f9a Author: jonavin <71780717+Jonavin@users.noreply.github.com> Date: Wed Sep 1 23:42:31 2021 -0400 [Keymap] Jonavin keymap gmmk pro (#14220) add rgb nightmode and optional colemak layer Co-authored-by: Jonavin <=> commit cded3b75821547cd69614ab8b4a71417b6fa4bcb Author: Christian Eiden Date: Thu Sep 2 05:41:17 2021 +0200 [Keymap] own scylla keymap (#14224) Co-authored-by: Drashna Jaelre commit bb356a1584aa30020744432b87304ba912079ee7 Author: qieq <25284336+qieq@users.noreply.github.com> Date: Thu Sep 2 06:40:12 2021 +0300 [Docs] Update path to keycode.h (#14263) commit 7575bc23a677c9d34f4416dcfd2db6eafc1fd623 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Sep 1 17:44:03 2021 +0000 MatchstickWorks SouthPad: correct Configurator key sequence (#14255) * matchstickworks/southpad: correct Configurator key sequence * replace tabs with spaces; apply four-space indent commit 583f07ac58dca26183e56b14acd997eff98388c3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Sep 1 12:20:56 2021 +0000 owl8: add info.json file (#14256) * owl8: add info.json file * remove width and height keys (per fauxpark) Co-authored-by: Ryan Co-authored-by: Ryan commit c573926e05ccdf71fdafa433db7cc46712d96d11 Author: Jay Greco Date: Wed Sep 1 02:48:14 2021 -0700 Fix snailmap compilation error (#14250) * Fix snailmap compilation error * Update keymap.c with correct OLED_ENABLE defines commit 8d97c54770ef5205455dc7d8b004fcaf3d148168 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Sep 1 02:50:32 2021 +0000 mnk50: Configurator Fix and Layout Macro Additions (#14257) Co-authored-by: Ryan commit c5ec423438696881c25ce1fe2ee189091e0510d6 Author: Casey Webster Date: Tue Aug 31 19:50:42 2021 -0500 [Keymap] cwebster2 Keymap and userspace updates (#14258) commit fac5ec46564320ebbbc3d1f5575566badca2d3d7 Author: Andre Brait Date: Wed Sep 1 01:18:35 2021 +0200 Move GMMK Pro layouts to the correct subdir (#14241) Also fix a compilation issue in the mike1808 keymap commit b7693c971c171298ca2be5c2bb4a71ca15893762 Author: Drashna Jaelre Date: Tue Aug 31 15:25:46 2021 -0700 [Keyboard] Disable console on Iris Rev5 (#14249) commit 92106ee0388813399df01b07cf47a4f1e89ecf2d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Aug 31 18:29:49 2021 +0000 emi20: remove dead space from Configurator layout (#14254) commit b6d7b13a7a0f7a03bd44355766d35ab3fcb76feb Author: Felix Jen Date: Tue Aug 31 11:24:41 2021 -0700 [Keyboard] Add FJLabs KF87 PCB (#14179) Co-authored-by: Drashna Jaelre commit 6f5428687c37d45cf279d9d3f44de1098a767723 Author: Ibnu Daru Aji Date: Wed Sep 1 01:23:02 2021 +0700 [Keymap] reflects current rick's keymap (#14169) commit bdd0a6c09789e3e4380f4351f1f83004542d309f Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Tue Aug 31 14:19:21 2021 +0900 [Keyboard] Addition of VIA keymap and a few fixes for naked60 (#14225) Co-authored-by: Joel Challis commit f2c9e82e5b3887ed28c3a5c68d27c4efaca54201 Author: Joel Challis Date: Tue Aug 31 00:25:41 2021 +0100 cherry pick tidy up (#14244) commit 1e7117317fd8a51f9ca6e926777694b930c9502b Author: coliss86 Date: Tue Aug 31 01:13:19 2021 +0200 Documentation: Fix links in key overrides (#14228) Co-authored-by: Joel Challis commit 5ed8edae498178c8a3c958d36b5e19150ef2caf2 Author: JX <572673807@qq.com> Date: Tue Aug 31 03:34:19 2021 +0800 Update ws2812_spi.c (#14237) commit 2dc07391bd61e266ac2410ba7c0413c19eea5db5 Author: Danny Date: Mon Aug 30 14:49:46 2021 -0400 [Keyboard] Add Iris Rev. 5 (#13934) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 27aebba1b1eadedf2ce25efc081aef3bdbbaab7a Author: dogspace <43654839+dogspace@users.noreply.github.com> Date: Mon Aug 30 14:42:04 2021 -0400 [Keymap] Add new snailmap keymap to nullbitsco/nibble keyboard (#14024) Co-authored-by: Ryan commit c9283f4c1f073da0072638e78b3d5bf5619a89f4 Author: kb-elmo Date: Mon Aug 30 20:29:15 2021 +0200 [Keyboard] Add OwLab Jelly Epoch (#14190) Co-authored-by: Ryan commit b63114ea2963b2c6391176329e8ef6381b16aea2 Author: Rifaa Subekti <68178825+oceeean@users.noreply.github.com> Date: Tue Aug 31 02:28:54 2021 +0800 [Keyboard] add slamz keyboard (#14188) Co-authored-by: Ryan commit 9583f9f589ec4ecaafd3c8f9c709ce981dc684af Author: Purdea Andrei Date: Mon Aug 30 21:22:53 2021 +0300 [Bug] Fix build error when enabling NO_HAPTIC_MOD (#14178) Without this build would fail, if a keyboard had haptic feedback enabled, TAPPING_TOGGLE was not overridden in a config.h, and if NO_HAPTIC_MOD was defined in config.h. commit 949cfd4632066eb6f5574bc360b35a73afbc616f Author: Felix Jen Date: Mon Aug 30 11:05:13 2021 -0700 [Keyboard] add maker keyboards alexa (#14165) commit 557fce7a8e7606355f4b058ff597d70d1a3e32c7 Author: peott-fr <70998091+peott-fr@users.noreply.github.com> Date: Mon Aug 30 11:04:42 2021 -0700 [Keymap] Add peott-fr keymap for Kbd6x (#14164) commit 9d32cb68c31c752964ea9fceee8492e4a5e7bd56 Author: Vincent Vorholter Date: Mon Aug 30 20:03:53 2021 +0200 [Keyboard] Changed ProductID on basketweav keyboards (#14162) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Vince Vorholter commit baa423004a870b5cb86f4d1197dcda5f8b390f49 Author: Zach White Date: Sun Aug 29 16:46:36 2021 -0700 ensure that the directory for sys.executable is in the user's path (#14229) commit b705020dafd0aa7531d03cd8fa64260684a3fb79 Author: Zach White Date: Sun Aug 29 16:41:56 2021 -0700 move everything from qmkfm/base_container to qmkfm/qmk_cli (#14230) commit 13a2da973f182f238d1e27bd9da6f98173dad026 Author: peott-fr <70998091+peott-fr@users.noreply.github.com> Date: Sun Aug 29 14:52:49 2021 -0700 Nyquist (#14202) * adding my Nyquist keymap * Updating Nyquist keymap with licensing. * Cleaning-up and improving Nyquist keymap. * Cleaning-up and improving Nyquist keymap. commit a1866a962c21a6e15f40cbde2bd09c0ff42f1454 Author: Sergey Vlasov Date: Mon Aug 30 00:24:43 2021 +0300 Update the nix-shell environment (#13316) * Nix: Allow calls to `bin/qmk` even when the build was started by `qmk` The `$PATH` modifications performed by the Nix wrapper for the `qmk` executable prevent `bin/qmk` from working properly (the changed `$PATH` contains a wrong `python3` executable which does not have the needed Python modules in its module path). As a workaround, disable the generation of that wrapper for the `qmk` Python package (there is yet another wrapper generated while building the Python environment, which would still set the Python module path properly when running `qmk`). Although `bin/qmk` is officially deprecated, QMK CLI still invokes it in some cases (at least `qmk doctor` and `qmk pytest`), therefore keeping these invocations working is useful. * Nix: Update `util/nix/pyproject.toml` to match `requirements*.txt` Update the Python dependency information used by Poetry to match the current state of the qmk_firmware code. * Nix: Bump QMK CLI dependency to 1.0.0; bump other Python deps Update Python dependencies for nix-shell to the most recent releases: - dotty-dict: 1.3.0 -> no longer used - milc: 1.4.2 -> 1.6.2 - pep8-naming: 0.11.1 -> 0.12.1 - pygments: 2.9.0 -> 2.10.0 - pyrsistent: 0.17.3 -> 0.18.0 - pyusb: 1.1.1 -> 1.2.1 - setuptools-scm: 6.0.1 -> no longer used - qmk: 0.1.0 -> 1.0.0 - qmk-dotty-dict: not used -> 1.3.0.post1 - yapf: 0.30.0 -> 0.31.0 Note to self: The command to update Python dependencies changed to: ( cd util/nix && nix run 'nixpkgs#poetry' -- update --lock ) commit ef7fdee6c803bf92bd6d892326c05ee1f473ad07 Author: J.Flanagan Date: Sun Aug 29 14:18:56 2021 -0500 [Keyboard] Add Viktus SP Mini (#14069) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit f87cd8e8a02bf89d05737a19fd54e8ec6f63f90f Author: Trent Hoh Date: Sun Aug 29 19:09:43 2021 +0800 [Keyboard] Corrected layout for np24 by YMDK (#14096) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 94d7635a4a8e335c743b4e77f8dd340665d43437 Author: peott-fr <70998091+peott-fr@users.noreply.github.com> Date: Sun Aug 29 04:08:23 2021 -0700 [Keymap] My Prime E keymap (#14117) commit 5d5668c3f8d77bebd841b838256f131de6ced497 Author: Weirdo <1248314361@qq.com> Date: Sun Aug 29 19:07:54 2021 +0800 [Keyboard] Add kelownaRGB64 (#14141) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 9afc64cd61da5e3e1d2fd72a83602709a6e4e4b8 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Aug 29 15:06:00 2021 +0900 [Keyboard] fix compile error `make helix/rev2/sc:all` (#14214) commit dd8922d48269a0664e840d6b6a537b8b91c1826b Author: Nick Brassel Date: Sun Aug 29 10:51:53 2021 +1000 Fixup upstream paths for submodules. (#14205) commit 6caebb7b619d85efc6932111f58b4a5e6d8e18eb Author: Nick Brassel Date: Sun Aug 29 09:47:48 2021 +1000 Bootmagic lite docs clarity. (#14204) commit f061ca497464fe85284906fb163a33eaee7a91ef Merge: ff65185dec 4bad375d7c Author: Nick Brassel Date: Sun Aug 29 08:20:25 2021 +1000 Breaking changes develop merge to master, 2021Q3 edition. (#14196) commit 4bad375d7c09d949a9dcdd4feba147c9c7a67ec6 Author: Nick Brassel Date: Sun Aug 29 08:18:18 2021 +1000 2021Q3 pre-merge `develop` changelog, keyboard aliases (#14198) * Initial changelog. * Data driven. * Submodule update. * Updated breaking changes docs. * Aliases. * Aliases. commit 29ec2d8f4283212cf45c926c288f652a6727acb7 Author: Drashna Jaelre Date: Thu Aug 26 13:41:33 2021 -0700 [Docs] Add examples to RGB Matrix Indicators docs (#12797) commit 7e1634e2a6abac5fbdf7778ea7734a10b84ca49a Merge: a13b0d8a6c ff65185dec Author: QMK Bot Date: Thu Aug 26 17:50:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ff65185dec6f97be1eb49f17cea526a0d0bbf3d6 Author: jackytrabbit Date: Fri Aug 27 01:49:36 2021 +0800 Add support for lazydesigners/cassette8 (#14145) * Add support for lazydesigners/cassette8 Add support for lazydesigners/cassette8 * Update keyboards/lazydesigners/cassette8/config.h Co-authored-by: Drashna Jaelre * Update keyboards/lazydesigners/cassette8/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/lazydesigners/cassette8/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/lazydesigners/cassette8/config.h Co-authored-by: Drashna Jaelre * Update keyboards/lazydesigners/cassette8/rules.mk Co-authored-by: Ryan * Update keyboards/lazydesigners/cassette8/rules.mk Co-authored-by: Ryan * Update keyboards/lazydesigners/cassette8/info.json Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Joel Challis commit a13b0d8a6cdfbb0c7873144e464c4ae13fa30854 Merge: 87cdb1cf9a 3fce5e6912 Author: QMK Bot Date: Thu Aug 26 17:47:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3fce5e6912d78ec9fff4124b6952e3b8a0d4d3ae Author: jpuerto96 Date: Thu Aug 26 13:45:48 2021 -0400 New Keyboard - V4n4g0rth0n (#14152) * General: Initial commit for v4n4g0rth0n * Remove unecessary things| * General: Fix info.json * Finalize changes * Update keyboards/v4n4g0rth0n/config.h Co-authored-by: Joel Challis * Update keyboards/v4n4g0rth0n/v1/rules.mk Co-authored-by: Joel Challis * Update keyboards/v4n4g0rth0n/v4n4g0rth0n.h Co-authored-by: Ryan * Update keyboards/v4n4g0rth0n/v4n4g0rth0n.h Co-authored-by: Ryan * Update keyboards/v4n4g0rth0n/v2/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/v4n4g0rth0n/v1/keymaps/default/keymap.c Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 87cdb1cf9a89a702f0c4286d4260fc84b18ae042 Author: Joel Challis Date: Thu Aug 26 16:53:24 2021 +0100 Update readme files (#14172) commit 48d0ad28e789abae0413002f9dbda38f1a82924a Author: Joel Challis Date: Thu Aug 26 14:14:48 2021 +0100 Move to correct location (#14171) commit 6d646880a4d170409d784dab8be79ff3571d62ae Merge: 2bc978437e edf35615cf Author: QMK Bot Date: Thu Aug 26 11:38:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit edf35615cf4052e94024101e1f4ccb3ed838ce47 Author: kb-elmo Date: Thu Aug 26 13:37:55 2021 +0200 Skeletn87 - Fix RGB pin (#14170) * add Skeletn87 * update skeletn87 files * update skeletn87 soldered * update readme image * update readme (again) * fix skeletn87 indicator LEDs * fix led pin for production PCB commit 2bc978437e98ca24dd6186a2d637272738cd54de Merge: 0c97bc5179 ee3a1133f1 Author: QMK Bot Date: Wed Aug 25 23:56:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ee3a1133f1283fab132f4d601e19a61da2041631 Author: Charles Date: Thu Aug 26 01:56:09 2021 +0200 [keyboard] Add 0x3E (#14088) * Add 0x3E - default config * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Apply suggestions from code review 2 Firmware size optimization Co-authored-by: Drashna Jaelre * Rename files as per project guidelines + remove empty * Update link in readme.md Co-authored-by: Drashna Jaelre commit 0c97bc5179ede0911067ecb0d96745d29710df07 Merge: 329c130202 4c5334cb9e Author: QMK Bot Date: Wed Aug 25 23:40:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4c5334cb9e0fef692ed3bd7a3e02579271f0f338 Author: 8bits4ever <87928173+8bits4ever@users.noreply.github.com> Date: Thu Aug 26 01:39:34 2021 +0200 [converter/a1200] Changing layout macro reference info.json (#14143) * Rename keyboards/converter/a1200/config.h to keyboards/converter/a1200/teensy2pp/config.h * Rename keyboards/converter/a1200/rules.mk to keyboards/converter/a1200/teensy2pp/rules.mk * Create dummy * Add files via upload * Delete dummy * Update readme.md * Update info.json commit 329c130202229c50f83af4272eb8dc1c0beb30ed Merge: 527b1e52aa 89f2b9486f Author: QMK Bot Date: Wed Aug 25 19:04:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 89f2b9486fe28685a5e53f6ef20d140ccba4aab7 Author: MechMaster48 Date: Wed Aug 25 12:03:27 2021 -0700 [Keymap] mechmaster48 keymap for OLKB Preonic rev3 (#14137) commit 527b1e52aa0c87d49b90ea18d7d3ca9728aaa9c2 Author: Joel Challis Date: Wed Aug 25 15:27:48 2021 +0100 Move nix folder alongside vagrant (#14132) commit a84de5e22be25e2059dfee732f5cca3ec0953a35 Author: Joel Challis Date: Wed Aug 25 01:16:59 2021 +0100 Revert 14083 && 14144 (#14150) * Revert "Short term bodge for firmware size bloat (#14144)" This reverts commit a8d65473461c337fb1e168d907bfb8c3ac8fdbd0. * Revert "Tidy up quantum.c now some of tmk_core has been merged (#14083)" This reverts commit c4dbf4bf0118dd785802861beb247433b5b7411d. commit 3855713ca0a9513c51fe70e61032d7ea89fa7e87 Merge: 622c3cac3a bb1b822247 Author: QMK Bot Date: Tue Aug 24 22:10:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bb1b82224772fcff8518b301f12c46fd132b04fd Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Wed Aug 25 06:09:26 2021 +0800 [Keyboard] Update Technik ortholinear RGB matrix points (#14124) Co-authored-by: filterpaper commit 622c3cac3ab8bc25d3cfec63702e295e0b16a49a Author: Joel Challis Date: Tue Aug 24 17:18:25 2021 +0100 Fix merge artifacts (#14146) commit 2cade3a48300e0709f8aec68602faf90947b6738 Author: Joel Challis Date: Tue Aug 24 17:07:11 2021 +0100 Align some quantum sub-directories (#14134) * Misc folder tidy * Review comments * Remove redundant entry commit 2827a3cf754c2eaca37a0d44a5901741f1855414 Merge: a8d6547346 b4867e1600 Author: QMK Bot Date: Tue Aug 24 15:44:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b4867e1600baa615ec9b28421fc23d4b85bad8ec Author: Yoichiro Tanaka Date: Wed Aug 25 00:44:00 2021 +0900 [Keyboard] Add yoichiro/lunakey_macro (#13849) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit a8d65473461c337fb1e168d907bfb8c3ac8fdbd0 Author: Joel Challis Date: Tue Aug 24 16:09:23 2021 +0100 Short term bodge for firmware size bloat (#14144) commit e3b68ddfe890868ac732f28ddcc1f111c69a0bfb Merge: c9c60d227e 097e85e930 Author: Drashna Jael're Date: Tue Aug 24 07:32:31 2021 -0700 Merge remote-tracking branch 'origin/master' into develop commit c9c60d227e38abdf08ca86bcdad3a0cac2579e3f Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue Aug 24 22:34:24 2021 +0900 add wait_cpuclock() macro for AVR and CPU_CLOCK macro (#12755) commit c4dbf4bf0118dd785802861beb247433b5b7411d Author: Joel Challis Date: Tue Aug 24 14:28:37 2021 +0100 Tidy up quantum.c now some of tmk_core has been merged (#14083) commit 097e85e930ae7e7f8ffd67717ed944a38111de6c Author: GG <72414103+spbgzh@users.noreply.github.com> Date: Tue Aug 24 12:50:56 2021 +0300 [Keyboard] Add serneity65 (#13889) commit c4a2dc9a2d1b0c053272aec7672ab8df92550e88 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Aug 24 19:39:24 2021 +1000 fix (#14142) commit 3ef978cb132e89f3dc55edc47c2c0c0f330cbd0d Author: Christian Sandven Date: Tue Aug 24 10:54:17 2021 +0200 [Keyboard] Fix keyprez qmk configurator (#14119) commit a4aa6ccf7b98a203c16be51e8db4970a80f0abfd Author: kb-elmo Date: Tue Aug 24 10:49:50 2021 +0200 [Keyboard] Add QEZ keyboard (#14131) commit b8c74d6b5d2e31b59b4ec73c84b8b4212b4b0936 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Tue Aug 24 16:49:13 2021 +0800 [Keyboard] Update Technik staggered RGB matrix points (#14125) Co-authored-by: filterpaper commit eaad654798d3b14b11cc99cafdf3a7db1c602c9d Author: stickandgum Date: Tue Aug 24 04:48:35 2021 -0400 [Keymap] Fixed GMMK Pro -> stickandgum keymap readme.md (#14123) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit e1c264f5793b246baa1dd70b39e964dd821c475f Author: Rifaa Subekti <68178825+oceeean@users.noreply.github.com> Date: Tue Aug 24 16:42:23 2021 +0800 [Keyboard] Update info.json for ocean/gin_v2 (#14121) Co-authored-by: Ryan commit bc239cd52022ea7ca26310faa9ed98e3faa81cb6 Author: Drashna Jaelre Date: Tue Aug 24 01:37:14 2021 -0700 [Keymap] Drashna keymap fixups (#14140) commit 3455e2408dd8e3f11854fd6660e2b40027bcd92e Author: Drashna Jaelre Date: Tue Aug 24 01:19:00 2021 -0700 [Keyboard] Fix default keymap for quark squared keyboard (#14139) commit 4e1c5887c5c08ebd2cf7868c8d9292aa728e7bf0 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Aug 24 16:28:26 2021 +1000 [Core] Refactor OLED to allow easy addition of other types (#13454) * add docs * core changes * update keyboards to new OLED * updated users to new OLED * update layouts to new OLED * fixup docs * drashna's suggestion * fix up docs * new keyboards with oled * core split changes * remaining keyboard files * Fix The Helix keyboards oled options * reflect develop Co-authored-by: Drashna Jaelre Co-authored-by: mtei <2170248+mtei@users.noreply.github.com> commit 47a38c3f0ea0fe44c90040514889a69de9b53f2f Author: Joel Challis Date: Tue Aug 24 05:02:53 2021 +0100 Remove more unused files (#14135) commit 6fd20acf4be76e7a2bd82d3dfd0a9bcca8c507eb Author: Drashna Jaelre Date: Mon Aug 23 18:40:24 2021 -0700 Fix Mouse Shared EP functionality (#14136) Specifically, if you enable the shared endpoint for mouse reports (or keyboard, which force enables it for mouse), and you don't have mousekeys enabled, it does not properly enable shared mouse EP for pointing device (which uses mouse reports). This cause it to error out in compiling. This fixes up some of the logic to ensure that all use cases are supported, and consolidates some of the code. commit e3483b4126adca1730dbaf1d466a227e66c6df91 Author: lalalademaxiya1 <66767061+lalalademaxiya1@users.noreply.github.com> Date: Tue Aug 24 08:32:15 2021 +0800 [Keyboard] Add new keyboard version: keychron/q1/rev_0102 (#14029) * Add keyboard Q1 * Update keyboards/keychron/q1/readme.md * Update keyboards/keychron/q1/rev_0100/rules.mk * Update keyboards/keychron/q1/readme.md * Change layer switch function to "default_layout_set" * Update keyboards/keychron/q1/rev_0100/info.json * Update keyboards/keychron/q1/q1.c * Mask out the DIP switch to fix sleeping issue when switch is ON * Added and changed readme.md Added keyboards\q1\rev_0100\readme.md Changed keyboards\q1\readme.md since different MCU may used in other version. * update * update keymap name * update keymap for keychron/q1/rev_0102 * Update info.json commit d57d9aec4f1e00601e6664ef6c4cb0e3e7826fe2 Author: Drashna Jaelre Date: Mon Aug 23 15:46:06 2021 -0700 Fix bootloadHID comments breaking :flash (#14133) commit e756a21636149ad47c19c659d04be93cf3071dab Author: Donald Kjer Date: Mon Aug 23 15:15:34 2021 -0700 eeprom_stm32: implement high density wear leveling (#12567) * eeprom_stm32: implement wear leveling Update EECONFIG_MAGIC_NUMBER eeprom_stm32: check emulated eeprom size is large enough * eeprom_stm32: Increasing simulated EEPROM density on stm32 * Adding utility script to decode emulated eeprom * Adding unit tests * Applying qmk cformat changes * cleaned up flash mocking * Fix for stm32eeprom_parser.py checking via signature with wrong base * Fix for nk65 keyboard Co-authored-by: Ilya Zhuravlev Co-authored-by: zvecr commit 2481e109a0f79b4cdcecab4a6bf6755fb5eda3fc Merge: f314705921 9472c4b8cb Author: QMK Bot Date: Mon Aug 23 22:06:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9472c4b8cb448f04e17810dd304e368c60fdd504 Author: Olli Helenius Date: Tue Aug 24 01:06:04 2021 +0300 Fix US_RDQU keycode (#13464) `US_RDQU` and `US_LDQU` were aliased to the same keycode. `US_RDQU` should use the right bracket. commit f314705921c9c316e69cfb6767aba8f0570c7012 Author: Path Nirvana Date: Tue Aug 24 05:05:10 2021 +0700 adding uf2 flash support for blackpill 401 (#13968) * adding uf2 flash support for blackpill 401 * forgot to add blackpill to keyboard header file * making changes requested by drashna * fixing tzarc s comments * removing the keyboard * undo the change to dactyl_manuform.h commit 718f0a2482ab821df141a9985d1eb31a6fe6aed9 Merge: d8778eba92 a72b562141 Author: QMK Bot Date: Mon Aug 23 14:26:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a72b5621418bebf253865ed19f92a860b5b9039a Author: Rifaa Subekti <68178825+oceeean@users.noreply.github.com> Date: Mon Aug 23 22:25:51 2021 +0800 [Keyboard] update default and via keymap for ocean/wang_v2 (#14122) commit d8778eba922f3415acb40dd178dd821b05bdb654 Author: Nick Brassel Date: Mon Aug 23 19:37:16 2021 +1000 Fixup line endings. commit 71df135254709c183b980b89554216ec86d02eab Author: stickandgum Date: Sun Aug 22 22:19:11 2021 -0400 [Keymap] Feature rich keymap for GMMK Pro (ANSI) (#14120) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 355872cc1d7c0eb5e5c66845188d53c7a434c8d2 Merge: 9af069ecf3 5cd7999bc4 Author: QMK Bot Date: Mon Aug 23 02:10:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5cd7999bc4b9e7c049bc80e0f812676528a07209 Author: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com> Date: Mon Aug 23 12:10:23 2021 +1000 [Keyboard] Update rgb matrix config in kbdfans/kbd67/mkiirgb/v3/v3.c (#14094) This patch corrects 2 issues with the LED matrix of the KDBFans KBD67 Lite (v3) * Incorrect mapping of the right-shift, down-arrow, and right-arrow. (i.e. `NO_LED` positions of the `g_led_config` key matrix in the .c file do not match the `LAYOUT_65_ansi_blocker` matrix in the .h file. * Remapping of the *LED Index to Physical Position* using physical measurements from actual keyboard and accounting for the southpaw LED position to define the true centre of the keyboard (more relevant to circular animations). commit 9af069ecf354b97b3456e856fbf8e22822efeb18 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Mon Aug 23 00:31:38 2021 +0100 Fix typo (#14118) commit f043b8be384cbfde6dcca0ffee2fc842a4fb4342 Merge: 4b87c1f40b aa28335651 Author: QMK Bot Date: Sun Aug 22 21:43:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aa28335651a5a76d89054509186500c3af6147e7 Author: Bror Winther Date: Sun Aug 22 23:42:34 2021 +0200 Add fix for brew upgrade (#12921) Add a fix for `brew upgrade` so only formulae is upgraded and not casks commit 4b87c1f40bd3c96132878c5cbb75ce2109e4b861 Merge: 7dfa93d9b6 5319727b70 Author: QMK Bot Date: Sun Aug 22 16:29:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5319727b7086f9e73e423054eed4886d8de2750b Author: Ryan Date: Mon Aug 23 02:28:48 2021 +1000 Fix line endings for `quark_squared` info.json (#14113) commit 7dfa93d9b6d01757f6583c77055f1ff59d04876e Merge: 34d0376ab9 46fb874269 Author: QMK Bot Date: Sun Aug 22 06:04:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 46fb8742692b546901555ffc544e954801ff5340 Author: npspears <40127181+npspears@users.noreply.github.com> Date: Sun Aug 22 01:04:20 2021 -0500 [Keyboard] add support for Quark² (#14109) Quark² is a hotswap version of the Quark PCB commit 34d0376ab9d73a77c50b78b01498710346ba6105 Merge: f709394442 9a51076859 Author: QMK Bot Date: Sun Aug 22 05:12:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9a51076859f00c28749bc8e1627e7f09263f3a88 Author: Christian Sandven Date: Sun Aug 22 07:11:56 2021 +0200 [Keyboard] Keyprez bison (#14100) Co-authored-by: Ryan commit f70939444262da043dfd4e092579528498d14db6 Merge: aedd8cca31 b1b6fe1c3d Author: QMK Bot Date: Sun Aug 22 05:11:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aedd8cca310ecb45221566edcca34a749117329e Author: precondition <57645186+precondition@users.noreply.github.com> Date: Sun Aug 22 07:11:32 2021 +0200 [Keyboard] Kyria default reformat (#14080) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit b1b6fe1c3da1de17e56fc65499c61886cb0a298a Author: Conor Burns Date: Sun Aug 22 07:11:15 2021 +0200 [Keymap] added bongocat keymap to 0xCB Static (#14093) Co-authored-by: Drashna Jaelre commit 78ccd9c201199444bc06161b05ee8d7ba9c31613 Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sat Aug 21 22:53:49 2021 -0500 Organize KPrepublic, K.T.E.C, xiudi boards into directories (#12159) * reset; redoing my steps; and recommit * include xd002/.noci commit c70abc8d047319830e369ae4e14cd43bae3bd3b8 Author: Nick Brassel Date: Sun Aug 22 13:49:33 2021 +1000 Warn when building a board that uses arm_atsam (#10904) * Add deprecation warning during build when building a board that uses arm_atsam. * Rewording. * Wording. * Fixup. commit dcef03853d612feb23b02523f1dfaf6576d18ace Author: Drashna Jaelre Date: Sat Aug 21 19:08:05 2021 -0700 [Keyboard] Disable Console on Keebio Quefrency (#14108) commit f4a2f2bb7e0d745c6f126db15b94955eebc64884 Author: Drashna Jaelre Date: Sat Aug 21 18:34:16 2021 -0700 [Keyboard] Fix compile issues for Tractyl Manuform (#14105) commit e08d6a33fc1c119e4632bdaa37e75aebbd895dbd Author: Drashna Jaelre Date: Sat Aug 21 18:34:04 2021 -0700 [Core] Fix copypasta issue with pmw3360 sensor config (#14106) commit 0ae20e74578ae4420af3e684f7ad9fcbd7beee94 Author: Joakim Tufvegren Date: Sun Aug 22 02:51:17 2021 +0200 Make solo half of split keyboards (more) usable. (#13523) * Make solo half of split keyboards (more) usable. Using only one half of a split keyboard (that's using the split_common framework to communicate) is not a great experience, since several read timeouts per scan cycle cause an unusably slow scan rate. This change blocks all split communication attempts for 500 ms (configurable) after an error occurs, causing the scan rate to become at least _more_ usable, but might need some tweaking to work fully on most keyboards. One read timeout still needs to occur after the 500 ms has passed, and if that timeout isn't low enough, some scan cycles may still be too slow. * Fix lint complaint. * Require 25 consecutive comm errors to see comms as disconnected. The number of max errors can be overridden by defining `SPLIT_MAX_CONNECTION_ERRORS`. * Add comments to new defines, and ability to disable disconnection check. Also increase `SPLIT_MAX_CONNECTION_ERRORS` to 40, since it's divisible by most relevant numbers for the description. * Make lint happy ...again * Only update `connection_check_timer` when needed. * Add new defines to split keyboard documentation. * Move connection timeout logic to transport.c, add `is_transport_connected`. * Use split_common disconnection logic in matrix.c. Instead of doing more or less the same thing twice. * Move disconnection logic to `transport_master`. Is a cleaner implementation, and causes the scan rate while disconnected to increase instead of decrease. * Lint fixes. * Lower default `SERIAL_USART_TIMEOUT` to 20 ms. The read timeout must be low enough to not cause exessively long scan cycles when using a solo split half. 10 ms was determined from testing to work fine even with the slowest defined baudrate of 19200 (5 ms was too low for that case), so 20 ms should be fine for most cases. * Remove `SERIAL_USART_TIMEOUT` from ergodox_infinity/config.h Was somewhat mistakenly included in an earlier PR. * Fix building with `USE_I2C`. * Reduce built firmware size. Not really sure why this works, the idea was taken from tzarc's work on split disconnection. * Tweak and improve opt-out for split disconnection logic. There are now two ways to opt out from this feature: * Set `SPLIT_MAX_CONNECTION_ERRORS` to 0. This will completely disable the connection status checks (also affects the slave matrix reset logic in matrix.c, though). * Set `SPLIT_CONNECTION_CHECK_TIMEOUT` to 0. This will only disable the communication throttling while disconnected. Will make the firmware smaller. * Make split disconnection logic work with custom transports. Includes a fallback implementation for keyboards using a custom split_util.c but not a custom matrix.c (currently no such keyboard seems to be merged, though). * Remove unnecessary include of timer.h Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit c5f41d42d8e4dc88b2aeb414aa0d26ad23ad34f1 Author: Drashna Jaelre Date: Sat Aug 21 16:46:35 2021 -0700 Updated RGB Matrix suspend define part 3 (#13954) * Updated RGB Matrix suspend define part 3 * Revert "Update config.h for kbdfans/kbd67/mkiirgb/v3 (#13978)" This reverts commit 80015f7fb023f27ad5307815fd5433694a3bcb4a. * Add additional boards/keymaps commit 58a5030661b57f1dd05693053df2eddadc285f64 Author: Drashna Jaelre Date: Sat Aug 21 13:34:44 2021 -0700 [Keymap] Drashna's Improve OLEDs and custom Split code (#14063) * Fill the oleds with right mods * Enable double mods on x32 oleds * Disable forced NKRO * Make oleds fancy only on good MCUs * Overhaul oled display * Further enhance oled, with kitty! * Final oled form * Not working transport * Transport id of woring * Add acceleration * fix button placement for accel macro * Fix accelartion location and behavior * Remove OLED sync code * Fix alignment issue * Remove audio hack * Fix up zima keymap * Add matrix slave scan function and cleanup drashna.h * Clean up user space * Allow userspace sync to be disable-able * Fix weird issue with audio * Fix alignment issue with user split sync * Disable second rgb matrix task * Disable additional animations * Change dynamic keymap settings * Hacky fix for borked corne * Add Blackpill (F411) support to tractyl manuform * remove manual via eeprom reset * Remove all references to rgblight twinkle * Fix issues with config processing commit da1c011afc67dab0049b30a4c021dc38a36cb9aa Author: Drashna Jaelre Date: Fri Aug 20 21:14:23 2021 -0700 Improve pmw3360 sensor and make it more hardware agnostic (#14097) commit 3452c89c8b5e652ff957123151ca0bbdfcbf3927 Merge: a80d789147 c1cad5b751 Author: QMK Bot Date: Sat Aug 21 04:13:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c1cad5b7516af745cc0a3ffde8c0cc9af63e5a1d Author: Drashna Jaelre Date: Fri Aug 20 21:13:02 2021 -0700 [Keyboard] Fix naiping/npminila layout macro (#14098) commit a80d7891472335ec297082daecc6fbf90042c38c Author: Drashna Jaelre Date: Fri Aug 20 21:02:53 2021 -0700 Fix issues with VIA EEPROM init and bring in line with eeconfig functionality (#13243) Co-authored-by: Ryan commit afd3bcbf45a9b7de097d7666ced2c674192949e5 Author: Nick Brassel Date: Sat Aug 21 13:38:38 2021 +1000 Fix up compilation issues. (#14095) commit ce379ef458fd9092543fb4022aab6e455865f514 Merge: a7d48b063e c71d67ba3f Author: QMK Bot Date: Fri Aug 20 22:32:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c71d67ba3f4bdedbd5ec1e931e6ea9568fcd0d98 Author: Spaceman Date: Fri Aug 20 18:31:26 2021 -0400 [Core] [Docs] Remove travis-ci references (#13916) commit a7d48b063ec9d551396eadeb02a924d2ee3ea515 Author: Ryan Date: Sat Aug 21 03:43:49 2021 +1000 Fix LED Matrix suspend code (#14090) commit e8943a8b0c9d7ff4f078fe1f76f2c62c269767c5 Merge: 1ec6ce8c37 30bb807c13 Author: QMK Bot Date: Fri Aug 20 17:33:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 30bb807c13a5787164bd63fa17a97c0870a60198 Author: Weirdo <1248314361@qq.com> Date: Sat Aug 21 01:32:53 2021 +0800 [Keyboard] Add Naiping series keyboard (#14040) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 1ec6ce8c370d53292979718cc406b66c4c5616a8 Merge: 92fa07336c c1add5d0e2 Author: Zach White Date: Fri Aug 20 08:22:41 2021 -0700 Merge remote-tracking branch 'origin/master' into develop Resolved Conflicts: lib/python/qmk/info.py commit c1add5d0e278da55128964dc305b833fb0bbc063 Author: Joel Challis Date: Fri Aug 20 16:16:59 2021 +0100 Restore layout count validation (#14068) commit 92fa07336cd7fcd578c31a8069cf955a4d601327 Author: Drashna Jaelre Date: Fri Aug 20 06:14:42 2021 -0700 [Bug] Fix RGB/LED Matrix Suspend code (#14084) commit da11a49905605871eea66f8f03b2c4b46d1de88a Merge: 69c71d4843 90ff4fe749 Author: QMK Bot Date: Fri Aug 20 13:14:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 90ff4fe749346c3b92aa8ca6461f5091fabfa99e Author: tiltowait <208040+tiltowait@users.noreply.github.com> Date: Fri Aug 20 06:13:59 2021 -0700 [Keyboard] Add IBM Model M SSK configuration (#14050) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 69c71d4843586fad9c29c4dd945aa170f9990d8e Author: Joel Challis Date: Fri Aug 20 10:15:11 2021 +0100 Align DIP_SWITCH_PINS_RIGHT implementation with encoders (#14079) commit b229b0fba72d79f1c723f2415531e61537b56fc3 Author: Joel Challis Date: Fri Aug 20 10:11:49 2021 +0100 Fix issues with recent keymap.json changes (#14089) * Fix issues with recent keymap.json changes * Allow empty author string commit 0741aae1d9e53206d5930fcb962948f13f48e661 Merge: 8dfd33e3d1 fd54992e1f Author: QMK Bot Date: Fri Aug 20 04:36:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fd54992e1f65713a93115a0a1737e97d3e2d8522 Author: Drashna Jaelre Date: Thu Aug 19 21:35:29 2021 -0700 [Keyboard] Fix Feels65 Via keymap (#14086) commit 8dfd33e3d1d62b410e4f94b3eb5a1caf5ef5dcf6 Merge: c6f24f66bd 37b5ead17d Author: QMK Bot Date: Fri Aug 20 04:27:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 37b5ead17d55d893d8639acd402cb4907ff4cc2c Author: Drashna Jaelre Date: Thu Aug 19 21:26:37 2021 -0700 [Keyboard] Fix space_space rev1 keyboard files (#14087) commit c6f24f66bd60e67fb9eca689bb46aa23a10a0e5a Merge: 0a1bf7f6aa cc0ae9cc4c Author: QMK Bot Date: Fri Aug 20 04:22:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cc0ae9cc4ceaf3bdd5d33e1d410b319db617c4eb Author: Drashna Jaelre Date: Thu Aug 19 21:21:00 2021 -0700 Revert "[Keyboard] Dumbpad VIA support added (#13512)" commit 0a1bf7f6aa6e44557041e03f6e58df5a180c6d79 Author: Simon Arlott <70171+nomis@users.noreply.github.com> Date: Fri Aug 20 00:31:23 2021 +0100 Support using a timer for wait_us() on ChibiOS-based boards (#12211) * Support using a timer for wait_us() on ChibiOS-based boards (#12198) There are spare GPT timers that can be used to get a more accurate wait_ms() time. This is required for the matrix scan unselect delay (30µs) to be shorter than the system tick rate of 100µs. This is limited to the maximum GPT duration of 65535 so values above that will automatically use the previous implementation based on the system tick. Using a specific timer means it can't be shared by another thread at the same time so when wait_us() is called from anything other than the main thread it will use the system tick implementation too. * Update tmk_core/common/chibios/wait.c * Update tmk_core/common/chibios/wait.c Co-authored-by: Joel Challis commit 462e7f075a14175be08f32561d5ba783e725ab7c Author: moyi4681 Date: Fri Aug 20 03:02:07 2021 +0800 move volcano660 to ilumkb folder (#13550) * move volcano660 to ilumkb folder * Update rules.mk * Fix up readme Co-authored-by: zvecr commit 34137666498f367c677b751abab97100f30d1d36 Merge: 7f1c90b7a8 b724a0dfd5 Author: QMK Bot Date: Thu Aug 19 18:59:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b724a0dfd5782f81d52fa006466e607d7ba04c5e Author: SneakboxKB <67670271+SneakboxKB@users.noreply.github.com> Date: Thu Aug 19 13:58:35 2021 -0500 [Keyboard] Ava initial commit (#13845) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: SneakboxKB <64090325+mujimanic@users.noreply.github.com> commit 7f1c90b7a8d66b806f87229fb96e5c69ee9fb1a4 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Thu Aug 19 19:58:17 2021 +0100 [Core] Speed up pimoroni trackball driver (#13823) commit e988f58374a138a1af79a141dc8eda54c8782907 Merge: 4279b14adf a12f3a3fb8 Author: QMK Bot Date: Thu Aug 19 18:45:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a12f3a3fb87374d1c68417b2f58a22bad687f12c Author: minibois Date: Thu Aug 19 20:44:47 2021 +0200 [Keyboard] Minor fixes for mini_elixivy/info.json (#14022) Co-authored-by: Drashna Jaelre commit 4279b14adffe081a3dfb17fa0f04ed21513e5eda Merge: 9d1c98c891 f4f679779e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 19 11:32:23 2021 -0700 Merge remote-tracking branch 'upstream/master' into develop Conflicts: keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk keyboards/space_space/rules.mk commit f4f679779e1404d9dc34c64823b9eb993bfa7ab3 Author: GG <72414103+spbgzh@users.noreply.github.com> Date: Thu Aug 19 21:17:54 2021 +0300 [Keyboard] Add Mammoth20x (#14014) commit c59212821918736504074da24f33108551e8bdde Author: Yaroslav Smirnov Date: Thu Aug 19 21:15:30 2021 +0300 [Keyboard] Add Elrgo S to keyboards/handwired (#13893) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 1bfbaae533fd4716407a5f381df1a3b317963a92 Author: weteor <79446655+weteor@users.noreply.github.com> Date: Thu Aug 19 20:13:00 2021 +0200 [Keyboard] add 3w6 (#13746) commit 8200804e96d1914ebad1948b52d6e1cec2e3ffcc Author: kb-elmo Date: Thu Aug 19 20:12:34 2021 +0200 [Keyboard] Add Voice65 (#13744) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit c039796d9d6d341f16600b7032df056c0959df06 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 19 17:47:10 2021 +0000 keebzdotnet F-Me Configurator fixes and codebase touch-up (#14077) * rename LAYOUT to LAYOUT_all * add info.json * override DYNAMIC_KEYMAP_LAYER_COUNT for via keymap The via keymap only initialized two layers without overriding the default value of DYNAMIC_KEYMAP_LAYER_COUNT (4). This commit sets DYNAMIC_KEYMAP_LAYER_COUNT for the via keymap to 2. commit 9aedf515c094b0c2d77417d9559062a5717d0d8e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 19 17:46:22 2021 +0000 kb-elmo Noah AVR Community Layout support and Configurator fix (#14078) * noah_avr.h: use QMK 3-character notation for matrix positions * Community Layout support, Stage 1 - rename LAYOUT_ansi to LAYOUT_65_ansi_blocker - rename LAYOUT_ansi_splitbs to LAYOUT_65_ansi_blocker_split_bs - enable Community Layout support * info.json: add line breaks between rows * info.json: correct LAYOUT_iso data - unsplit the Backspace - change ANSI Enter to ISO Enter - split the left Shift * Community Layout support, Stage 2 - rename LAYOUT_iso to LAYOUT_65_iso_blocker - update Community Layout support * Community Layout support, Stage 3 - add LAYOUT_65_iso_blocker_split_bs - update Community Layout support * noah_avr.h: add matrix diagram commit 98af5bc64e6148915cebcfdd607119b9feefe90d Author: jonavin <71780717+Jonavin@users.noreply.github.com> Date: Thu Aug 19 13:45:49 2021 -0400 [Keymap] Add jonavin user space / common functions (#13876) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Jonavin <=> commit 425e1e665dc3c114fc42878f2b6a9d3225e5e6b5 Author: jfescobar18 <81986725+jfescobar18@users.noreply.github.com> Date: Thu Aug 19 12:39:30 2021 -0500 [Keyboard] Dumbpad VIA support added (#13512) Co-authored-by: Ryan commit 9d1c98c891bb8e1e98dc618e0693a7efff23a22e Author: XScorpion2 Date: Thu Aug 19 12:39:15 2021 -0500 Added right vs left specific pin assignments for dip switch (#13074) * Added right vs left specific pin assignments for dip switch * Update feature_dip_switch.md * Ran formatting tools commit 3b4c35da6b476c8777c3b492179d30260ffbf895 Author: Alan Pocklington Date: Thu Aug 19 18:36:20 2021 +0100 [Keymap] Quark AJP10304 layout (#13290) commit c98e1694fbd1ff1234e0d7c7e00cf690188a50c1 Author: qpockets <69164255+qpockets@users.noreply.github.com> Date: Thu Aug 19 13:17:01 2021 -0400 [Keyboard] update space_space keyboard (#13305) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit af3673a5b6985f4364210c3656f323624c2e1962 Merge: a85126b79e 48a8682438 Author: QMK Bot Date: Thu Aug 19 17:14:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 48a8682438d5708636c3260adfb6a75ac89ed05a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 19 17:13:31 2021 +0000 Linworks Whale75 Layout Macro refactor and Configurator fixes (#14059) * info.json: human-friendly formatting * info.json: remove "w":1 instances * info.json: correct positions of Left, Down and Right Arrow keys * info.json: add LAYOUT_all data * move Home key to end of home row According to photographs of the keyboard, the fourth key down on the right side is physically on the home row. This commit moves the key argument and keycodes to the home row. * whale75.h: use QMK 3-character notation for matrix * whale75.h: add matrix diagram * add keyboard-level encoder functionality * info.json: correct key sequence on ISO layouts commit a85126b79ec4a21b0a162cfe5afc28d48eee4774 Merge: 81e19d61c0 c148476188 Author: QMK Bot Date: Thu Aug 19 16:41:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c1484761889cee72e6695dea1bce0c70795f1ca1 Author: BifbofII Date: Thu Aug 19 19:41:14 2021 +0300 [Keymap] Add personal layout for 60% ISO boards (#13232) commit 81e19d61c08ebdf6ba8d48dfb8e460a1814d9746 Author: Evelien-Lillian Dekkers Date: Thu Aug 19 18:40:28 2021 +0200 [Keyboard] Refactor atom47 and add rev4 and rev5 (#13201) Co-authored-by: Nick Brassel commit 374b3883829df01c3846e755ad55a6a398e80a14 Merge: d112935cea a43952f35d Author: QMK Bot Date: Thu Aug 19 16:31:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a43952f35d591d1ac6d2754d2aaf418e2e144670 Author: Felix Jen Date: Thu Aug 19 09:31:12 2021 -0700 [Keyboard] Add Ready100 Keyboard (#13158) Co-authored-by: Drashna Jaelre commit d112935ceaad6a3fd61110a048651fa3b2b90001 Merge: b7a3ddb6d1 4fc01ddefe Author: QMK Bot Date: Thu Aug 19 16:29:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4fc01ddefe600ea2b873efa593312419e0f9c50f Author: Zereef <55533120+Zereef@users.noreply.github.com> Date: Thu Aug 19 17:28:59 2021 +0100 [Keyboard] Ymdk_np21 via port (#12693) commit b7a3ddb6d129caaf3a05cc8e49ecbe78cf00538e Merge: db316716c1 072459871b Author: QMK Bot Date: Thu Aug 19 16:12:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 072459871ba45c90cf6e9a66bc975f63eb41e413 Author: Juno Nguyen Date: Fri Aug 20 00:12:19 2021 +0800 [Keymap] community/ortho_4x12/junonum update (#14062) * Update new community universal keymaps * Revert bottom row to default for better use of WIN_MODS and MAC_MODS * Revert to use public domain songs * Update Dpad layer in junonum to tailor for StarCraft group control * Remove junonum512 * Update junonum readme * Define custom songs in the keymap * Move DP_OFF location * Update DPAD modifiers * Update F-row placement in junonum dpad layer * Update CapsLock location and rectify KC_APP commit db316716c1a9a055b9c24b889eaa61c97dc33425 Merge: 1445fd21c8 972f8ba69a Author: QMK Bot Date: Thu Aug 19 16:12:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 972f8ba69ae34420009082b0e89ee6c018f3de69 Author: Ryan Date: Fri Aug 20 02:11:20 2021 +1000 Fix AT90USB64/128 bootloaders (#14064) commit 1445fd21c862381273e792a8dabaf6f9eee55e1c Merge: a995dd16a2 9ac0023a6a Author: QMK Bot Date: Thu Aug 19 15:53:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9ac0023a6a08123654ddf8cfe5028dda5fa5afa6 Author: yiancar Date: Thu Aug 19 16:53:20 2021 +0100 Add MNK50 (#14031) * Add MNK50 * Update keyboards/mnk50/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/mnk50/rules.mk Co-authored-by: Ryan * Update keyboards/mnk50/readme.md hihi thanks! Co-authored-by: Ryan * Update keyboards/mnk50/keymaps/default/readme.md Co-authored-by: Ryan Co-authored-by: yiancar Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit a995dd16a2d6617a962003251c7d89430dab202b Merge: 2ff1a6a72f 49be4860f7 Author: QMK Bot Date: Thu Aug 19 15:51:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 49be4860f72af98d3788d5559023cc3fc9f4e08e Author: Tran Kim Tung Date: Thu Aug 19 23:51:23 2021 +0800 [Keyboard] adds new keyboard version: dztech/dz60rgb_wkl/v2_1 (#14021) * [Keyboard] adds new keyboard version: dztech/dz60rgb_wkl/v2_1 * Update keyboards/dztech/dz60rgb_wkl/readme.md Remove external flash manual link Co-authored-by: Ryan * dz60rgb_wkl/v2_1: remove NO_USB_STARTUP_CHECK Co-authored-by: Ryan Co-authored-by: Ryan commit 2ff1a6a72f2c160969bdea51bfa156a56ed968af Merge: 7a125872e2 d6eee3e0f2 Author: QMK Bot Date: Thu Aug 19 15:42:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d6eee3e0f2d14d53445fe334dd2b4f4b30c21f47 Author: rate Date: Fri Aug 20 00:41:49 2021 +0900 Added VIA keymap for pistachio_mp (#14015) * Added VIA keymap for pistachio_mp * Fixed typos commit 7a125872e23c03804efe68646e1c877a3774f17d Merge: f86a087127 468661280b Author: QMK Bot Date: Thu Aug 19 15:41:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 468661280ba2a57e8c834d5ef1df98bc6cb8354a Author: AquaCylinder <56627792+AquaCylinder@users.noreply.github.com> Date: Thu Aug 19 17:41:05 2021 +0200 emi20 update (#14013) * Update keymap & readme -Keymap.c: Key combinations removed for resetting and added a new way to reset. Also removed unused timer code. -config.h & rules.mk: Removed on kemap level (these were there for the key combo's) -Readme.md: Changed the preview image and changed the description to reset the keyboard. Also added what connector type is used. * Update readme.md Better wording on how to get the keyboard in bootloader mode * Update keymap.c Switched + and - around, same with / and *. commit f86a08712726bcba5fead62cfd03f569844463e8 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Aug 19 15:45:47 2021 +0900 [Keymap] fix helix:fraanrosi compile error caused by #13677. (#14061) I'm against using RGBLIGHT_ANIMATIONS because this happens. See also #8688. commit c8e8c21367d2c33ad1640ed410628e604acddfbc Merge: b23a4db47a 068ab2800c Author: QMK Bot Date: Thu Aug 19 00:42:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 068ab2800cd4eccc30b312f25d2959e23f31e9fb Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 19 00:42:17 2021 +0000 Keebio Quefrency Configurator rework (#14060) * add info.json for Quefrency rev1 * add info.json for Quefrency rev2 * add info.json for Quefrency rev3 * add info.json for Quefrency rev4 * remove "global" Quefrency info.json * remove layout macro aliases from keyboard headers These were moved into the info.json files. commit b23a4db47aa290d73c8fcdb601bf47655bb7acfe Merge: c6dc1f7f8d ac1309cd75 Author: QMK Bot Date: Thu Aug 19 00:38:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ac1309cd7529937c64cd2d1bdd7cdd20280f2701 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 19 00:37:53 2021 +0000 Feels Feels65 Refactor (#14032) * rename layout macros The existing layout macro names were not accurate to QMK's standard for the names that were given. - rename LAYOUT_65_ansi_blocker to LAYOUT_65_ansi_blocker_split_bs - rename LAYOUT_65_iso_blocker to LAYOUT_65_iso_blocker_split_bs * correct info.json data * add LAYOUT_65_iso_blocker * add LAYOUT_65_ansi_blocker * add Community Layout support * update grid alignment on layout macros * add LAYOUT_all * refactor default and via keymaps - use LAYOUT_all macro - use _______ for KC_TRNS - via keymap fixes - swap KC_BSPC for KC_DEL on Layer 1 (matches default keymap) - remove KC_PGUP from Layers 2 and 3 (makes both layers fully transparent) commit c6dc1f7f8dda51a3740e7f1ddb5eff3e11047789 Merge: 2e734fb6b9 6200907417 Author: QMK Bot Date: Thu Aug 19 00:33:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 62009074173a40605cea5ebe28dd084b855c1ef4 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 19 00:33:26 2021 +0000 cest73 TKM Configurator Fixes (#14066) * info.json: update human-friendly formatting * correct info.json layout data - adds missing objects for: - split Backspace - split Numpad Plus - split Numpad Enter - split Left Shift - ANSI Backslash - split Numpad 0 - deletes Mod1 object (not supported in source) - correct key object sequence commit 2e734fb6b9e3480854b794218d381559aab431b7 Author: Joel Challis Date: Wed Aug 18 21:52:41 2021 +0100 Add config.h and rules.mk support for data driven keymaps (#12859) * Add config.h and rules.mk support for data driven keymaps * tidy up after rebase * Rename key as it can contain more than just keyboard overrides * tidy up after rebase * Add validation commit 10fab4ec077354f41d19f01798a49e5864a189cd Merge: 342e765e9c 0daccebaf9 Author: QMK Bot Date: Wed Aug 18 17:35:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0daccebaf9c5d3b5540643aa452f989bc5a74449 Author: Logan Butler <8854426+MatchstickWorks@users.noreply.github.com> Date: Wed Aug 18 10:34:43 2021 -0700 [Keyboard] Fixes to info.json and rules.mk for Southpad n(#14053) Making info.json work better with the QMK Configurator and updating rules to work properly with the correct bootloader. commit 342e765e9cd00478db26b92593927eaea02e2314 Merge: b16091659c b21e093057 Author: QMK Bot Date: Wed Aug 18 08:51:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b21e0930570f763476f5d89e300a8250e0ca94b1 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Aug 18 08:50:25 2021 +0000 Setta21 Configurator Fix (#14055) * info.json: add line breaks for rows * info.json: correct key sequence * info.json: correct width dimension commit b16091659cc9a724a8800f77e631643b4ab089ad Author: Ryan Date: Wed Aug 18 18:20:25 2021 +1000 Move USB Host Shield and Arduino core to `lib/` (#13973) commit cf5e40c25139ff64ff246f1c6280e983ef75551c Merge: ceb3ebda46 b51a187d77 Author: Drashna Jael're Date: Tue Aug 17 22:33:17 2021 -0700 Merge remote-tracking branch 'origin/master' into develop commit b51a187d774ec1b8e976d4f968ccc4448026b065 Author: AnthonyL Date: Wed Aug 18 01:27:02 2021 -0400 [Keyboard] Use Bootmagic Lite on Montex (#14036) Co-authored-by: Anthony Lowery commit ceb3ebda462390418b037669da8d631429bdd175 Author: Nick Brassel Date: Wed Aug 18 10:59:22 2021 +1000 Fixup atsam builds. (#14052) commit 33587254a02e8c87f1c4c26338e77659ef477742 Author: Matthias Liffers Date: Wed Aug 18 08:33:28 2021 +0800 [Keyboard] Fix pins, add VIA support for Stream Cheap 2x4 (#14001) Co-authored-by: Drashna Jaelre commit 58cd8c366c49ae6134f274b074c5e72f67a359ad Author: Joel Challis Date: Wed Aug 18 00:54:41 2021 +0100 Various fixes from reorg of files (#14051) commit 703f0277170c7e2d1acaa00b274f6fd479045abd Author: tucvbif <47757803+tucvbif@users.noreply.github.com> Date: Wed Aug 18 02:40:00 2021 +0300 Allow for removal of hysteresis on 4x encoders (#13698) * Remove hysteresis on 4x encoders Sometimes, controller skips encoder pulses and when it returns to default position, the encoder_pulses variable isn't equals 0. And when I turn encoder in opposite direciton, it skips first click becase of encoder_pulses crosses zero. To prevent this, I add the ENCODER_DEFAULT_POS constant, and reset encoder_pulses into 0 when the state variable equals ENCODER_DEFAULT_POS. * Documentation for ENCODER_DEFAULT_POS commit b8e913c8db73ebf890e4604ee41991a34354a600 Author: Joel Challis Date: Wed Aug 18 00:18:58 2021 +0100 Migrate platform independent code from tmk_core -> quantum (#13673) * Migrate action|keyboard|keycode|eeconfig from tmk_core -> quantum commit 96e2b13d1de227cdc2b918fb0292bd832d346a25 Author: Joel Challis Date: Wed Aug 18 00:11:07 2021 +0100 Begin to carve out platform/protocol API - Single main loop (#13843) * Begin to carve out platform/protocol API * Fix up after rebase commit 4c9003b1779b7b404e3bb0ce103db683bd92bccb Author: Joel Challis Date: Wed Aug 18 00:04:15 2021 +0100 Move chibios board files to allow tmk_core platform migration (#13777) * Move board files * fix up after rebase commit 4c4f632378867b5c3e61461333974f59170893c3 Author: Drashna Jaelre Date: Tue Aug 17 15:47:50 2021 -0700 Add a toggle key for GUI On/Off in Magic feature (#13830) commit 3b28178deb7a42a2df8c19b9bf190bb5da732b33 Author: ruro Date: Wed Aug 18 01:46:59 2021 +0300 `--parallel` improvements (#13800) * improve make parallel jobs support * document the --parallel option * disable the output-sync for interactive targets commit 999391f3ae6bab3fe1784d0f53bffd0320a9e076 Author: Tomas Guinan Date: Tue Aug 17 19:43:27 2021 -0300 Created "paddlegame" keymap (#13629) * Added gmmk pro paddlegame keymap * Replaced config.h with my own * Adjust code to better fit style guide * Update readme to include layout * Fixed keymap, was missing a few keys * Replaced all instances of _isWinKeyDisabled with keymap_config.no_gui * Update keyboards/gmmk/pro/ansi/keymaps/paddlegame/keymap.c Co-authored-by: Drashna Jaelre Co-authored-by: Tomas Guinan Co-authored-by: Drashna Jaelre commit 1bb7af4d446174b7181c9bb22dbd14c93642ea10 Author: Joel Challis Date: Tue Aug 17 23:43:09 2021 +0100 Relocate platform specific drivers (#13894) * Relocate platform specific drivers * Move stm eeprom * Tidy up slightly commit 483691dd73e5260fac958c524e0a12e705db43f6 Author: Donald Kjer Date: Tue Aug 17 14:12:12 2021 -0700 Fixes for clang not being able to run unit tests (#13546) commit 857716794b233f3d4ac078c85a5a142091264aa6 Author: Mikael Manukyan Date: Tue Aug 17 14:10:46 2021 -0700 gmmk/pro/mike1808 keymap (#13398) * Add gmmk/pro/mike1808 keymap * Add licenses * Update readme * Add underglow support for rgb matrix layers * Change FN to TT * Fix rgb layer disabling during rgb settings change * also clean up some code commit 8db1d221172afe10fc2d0c4c7ce1742e0a6436d4 Author: Nick Brassel Date: Wed Aug 18 06:44:18 2021 +1000 Fixup `massdrop/alt`, `cest73/tkm`. (#14048) * Fixup massdrop/alt. * Fixup `cest73/tkm` bootmagic lite. * Update keyboards/cest73/tkm/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 75b49aff56436c57a424e622c91f6d80e1d0ecc2 Author: a-chol Date: Tue Aug 17 20:52:44 2021 +0200 Digitizer HID interface : absolute coordinates for mouse cursor (#12851) * Add digitizer HID interface for setting the mouse cursor position at absolute screen coordinates. Tested on Pro Micro, Proton C and Blackpill. * Update docs/feature_digitizer.md Co-authored-by: Ryan * Update tmk_core/protocol/usb_descriptor.c Co-authored-by: Ryan * Add missing copyrights Add V-USB support * Add support for digitizer dedicated endpoint for lufa and chibios. Fix formatting issues Move digitizer_task definition to the feature's base implementation file * Run cformat on modified files * Change digitizer report usage to Digitizer instead of Pen to avoid pointer disappearing on Windows. * Update tmk_core/protocol/vusb/vusb.c Co-authored-by: Ryan * Run cformat from docker image * Remove send_digitizer from host_driver_t and instead rely on the declaration being the interface to the implementation in each HW-specific usb implementation. * Fix build : send_digitizer shouldn't be static in vusb and add weak-linkage implementation for tests without usb implementation * Change digitizer user interface to match pointing device's * Update documentation with new API Co-authored-by: a-chol Co-authored-by: Ryan commit 7794e97f32fb9dcb07e7fa928cde08691b257fbe Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Tue Aug 17 11:49:40 2021 -0700 Add mechlovin9 rev2 PCB (#12767) * Add mechlovin9 rev2 PCB Move mechlovin9 PCB from mechlovin/hannah65/mechlovin9 to mechlovin/mechlovin9 And add mechlovin9 rev.2 * update * change bootloader and bootmagic button * Add mechlovin9 rev2 PCB Move mechlovin9 PCB from mechlovin/hannah65/mechlovin9 to mechlovin/mechlovin9 And add mechlovin9 rev.2 commit 705774f7bfe13face6a276cee276d43411bb1693 Author: freqmod Date: Tue Aug 17 20:48:00 2021 +0200 Steno combinedkeys (#12538) * Add support for steno keys that press adjacent keys simultaniously * Add some docs for steno combined keys commit 4b96d5876eb01dfd8063949a2e5cb4b70e01786d Author: 50an6xy06r6n Date: Tue Aug 17 11:44:19 2021 -0700 Fix Indicator LED issues (#12097) commit 37496f4b6047248c25195e13e0f90593dc492fff Author: Ryan Date: Wed Aug 18 04:23:22 2021 +1000 Add alternate ldscript for STM32duino (F103xB) (#12914) * Add alternate ldscript for STM32duino (F103xB) * Refactor out common ldscript stuff * Move ldscripts into stm32duino board dir, add search path to ldflags commit 7da97c293da851851c204af065a0c8d2f884effd Author: Drashna Jaelre Date: Tue Aug 17 11:19:00 2021 -0700 Rgb matrix/enable modes explicitly (#13758) * Change animations to require explicet activation * Add support for legacy config * Make default for now * Add LED Matrix support * change LED Matrix docs commit 85351dc23d423d1fa5d23aed8b4b478c49949b46 Author: Drashna Jaelre Date: Tue Aug 17 11:13:54 2021 -0700 [CLI] Add qmk-hid bootloader detection support to `qmk console` (#14038) * [CLI] Add qmk-hid bootloader detection support to `qmk console` * Remove duplicate entry Co-authored-by: Ryan * Begrudgingly add lufa-ms * Add udev rules for hid bootloaders * Update util/udev/50-qmk.rules Co-authored-by: Sergey Vlasov * Fix VID/PID combos Co-authored-by: Sergey Vlasov Co-authored-by: Ryan Co-authored-by: Sergey Vlasov commit fae5cc6c67c9475d08c56ff01e470389747196f7 Author: Drashna Jaelre Date: Tue Aug 17 10:31:34 2021 -0700 [Keyboard] Fixup Neson Design N6 ISSI includes (#14045) commit a6d2993fc5609baab3003dd04cdafb142dd7b779 Merge: aeda1a003e ab10ce4932 Author: QMK Bot Date: Tue Aug 17 16:14:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ab10ce49325c390644e3885fe479b87fe5879fd7 Author: s-show Date: Wed Aug 18 01:13:09 2021 +0900 update feature_tap_dance.md translation (#13496) * update feature_tap_dance.md translation * Update docs/ja/feature_tap_dance.md Co-authored-by: shela * update based on comment. Co-authored-by: shela commit aeda1a003ef10c5fec148b4f16a2992d52711855 Merge: b87e2947c1 a8f893ed2c Author: QMK Bot Date: Tue Aug 17 16:07:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a8f893ed2ca4b30945714e58245c4dd1c7c8481f Author: yulei Date: Wed Aug 18 00:06:26 2021 +0800 [Keyboard] add n6 keyboard (#13768) Co-authored-by: Ryan commit b87e2947c15e40e4c3254c270d13dcf7b197293b Merge: e443fa2892 837571ef7f Author: QMK Bot Date: Tue Aug 17 15:44:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 837571ef7f0b7f662aa37391a371a83769f7141e Author: Charly Delay <0xcharly@users.noreply.github.com> Date: Wed Aug 18 00:44:19 2021 +0900 [Keyboard] bastardkb/skeletyl: fix LED configuration (#14030) commit e443fa28929f2fc9033d306f92d756cd93cd86db Author: Drashna Jaelre Date: Tue Aug 17 08:20:01 2021 -0700 Fix wait_us overflow in matrix for dactyl based boards (#14039) commit 8d9bfdc25437bb401985ba93b47edae2126e7fac Author: Zach White Date: Mon Aug 16 15:33:30 2021 -0700 Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel commit fac717c11cfa27780f2f9098383673784174141a Merge: 3867c70859 cab1347387 Author: QMK Bot Date: Mon Aug 16 20:51:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cab1347387812723d0a9f4267a1785d00e20e3b8 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Aug 16 20:50:30 2021 +0000 ryanbaekr rb86: rename LAYOUT_numpad_6x17 to LAYOUT (#14011) This keyboard isn't a numpad. commit 3867c708595023beab0654743dd309c394c7a42c Merge: fc50b6d22e 08b2d08593 Author: QMK Bot Date: Mon Aug 16 20:16:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 08b2d08593caf61ad404f83f7336ef08fe0ebe08 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Aug 16 20:16:17 2021 +0000 MisonoWorks Chocolate Bar Configurator fixes (#14009) * info.json: apply human-friendly formatting * info.json: correct key sequence Places the arrow keys in the proper place in sequence. * correct maintainer's GitHub link in readme User changed their GitHub username; previous URL was Error 404. commit fc50b6d22ebd9fc637ddfe45e326f01e0db320f6 Merge: 2bc8215ce5 d9bb42e37b Author: QMK Bot Date: Mon Aug 16 20:11:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d9bb42e37b9d015b5331c4a1ddccaecdfb96d544 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Aug 16 20:11:09 2021 +0000 Linworks Fave87 Layout Macro Refactor (#14008) * correct LAYOUT_tkl_ansi data Number row was positioned 0.25u too low. * correct LAYOUT_tkl_ansi macro - remove position K027 (right half of Split Backspace) - remove position K096 (right portion of Split Right Shift) * correct LAYOUT_tkl_iso macro - remove position K027 (right half of Split Backspace) - remove position K096 (right portion of Split Right Shift) * enable Community Layout support * add LAYOUT_tkl_ansi_split_bs_rshift and LAYOUT_tkl_iso_split_bs_rshift commit 2bc8215ce5f5c7473bb75de95cef4ab468d7e837 Author: Joel Challis Date: Mon Aug 16 17:28:12 2021 +0100 Unify behaviour of wait on AVR (#14025) commit 4818debcd05819de774000bb641fea8baa49b787 Merge: 6c662a600c 0c6155ec42 Author: QMK Bot Date: Mon Aug 16 10:18:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0c6155ec42dd7ae00d2229962fe9dfc8adab7a4d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Aug 16 10:17:25 2021 +0000 Pimentoso TouhouPad Layout Macro refactor (#14010) * physically arrange layout macro, phase 1 Break the keymap up into rows. * physically arrange layout macro, phase 2 Moves the Escape and Enter keys to the top row. * refactor default keymap - use QMK short-form keycodes - grid align keycodes * physically arrange layout macro, phase 3 Moves the X key (Bomb) to the bottom row. * physically arrange layout macro, phase 4 Physically arrange the Escape and Enter keys. * physically arrange layout macro, phase 5 Physically arrange the arrow keys. * physically arrange layout macro, phase 6 Physically align the X (Bomb) key. * align escape characters in layout macro * info.json: apply human-friendly formatting commit 6c662a600cde0b835dab78b9ead95a7d7be1b74c Merge: 3202b3900e b512afc347 Author: QMK Bot Date: Mon Aug 16 06:44:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b512afc3471411ebdaef0f24614ef501b31ddb89 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Aug 16 06:44:03 2021 +0000 Fix line endings in keyboards/absinthe/keymaps/via/rules.mk (#14028) commit 3202b3900e0beaee99f4950cbea0e65e87a9560e Merge: ab941ce614 3c3c5965f1 Author: QMK Bot Date: Mon Aug 16 02:41:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3c3c5965f1186e23985befab428ce29427c147a5 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Aug 16 02:41:02 2021 +0000 Gorthage Truck Refactor (#14006) * info.json: apply human-friendly formatting * info.json: make key labels more friendly to `qmk info -l` * correct LAYOUT_3u key sequence * correct LAYOUT_7u key sequence * correct LAYOUT_10u key sequence * refactor default keymap - use QMK short-form keycodes - update grid alignment - use four-space indent - touch up with `qmk cformat` * refactor 10u keymap - use QMK short-form keycodes - add encoder_update_user() function - update grid alignment - use four-space indent * refactor 7u keymap - use QMK short-form keycodes - add encoder_update_user() function - update grid alignment - use four-space indent * refactor gorthage_truck.h - update grid alignments - use XXX for KC_NO - insert omitted KC_NO instances * correct keyboard metadata in info.json - use GitHub username for maintainer - correct keyboard dimensions * add encoder_update_kb() function to gorthage_truck.c Gives QMK Configurator compile jobs encoder functionality. * update maintainer field in info.json As requested by jpuerto96 (s8erdude). commit ab941ce614e19a7f4bb5bd34dd0ab9eee86bdc27 Author: Joel Challis Date: Sun Aug 15 21:55:23 2021 +0100 Move all the flash logic from tmk_core (#13927) commit 4e3726bfe11b02757c5724211d2a0fc62c7f66e8 Author: Drashna Jaelre Date: Sun Aug 15 13:51:50 2021 -0700 Fixup Audio startup and add to documents (#13606) * Fixup Audio startup and add to documents * fix doc descriptions commit 4b453dca92f87899d98b5340b16677bd78a52beb Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Aug 15 20:51:13 2021 +0000 Remove MIDI Configuration boilerplate (#11151) * remove keyboard-level instances of `MIDI_ENABLE = no` Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]*MIDI_ENABLE[ \t]*=[ \t]*no/d' {} + ``` Co-Authored-By: Nick Brassel * fix case-sensitivity issues on MIDI_ENABLE Change instances of `MIDI_ENABLE = YES` to `MIDI_ENABLE = yes`. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE[ \t]*=[ \t]*[Yy][Ee][Ss];MIDI_ENABLE = yes;g' {} + ``` * replace `# MIDI controls` with `# MIDI support` Replace `# MIDI controls` with `# MIDI support` in keyboard-level `rules.mk` files. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*MIDI[ \t]*\(controls\|support\).*;# MIDI support;g' {} + ``` * align inline comments Aligns the inline comments to the length used by the QMK AVR rules.mk template. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE *= *yes.*;MIDI_ENABLE = yes # MIDI support;g' {} + ``` * remove commented instances of `MIDI_ENABLE` from keyboard `rules.mk` files Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#\([ \t]*MIDI_ENABLE\) = yes; \1 = no ;' {} + find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;^\([ \t]*\)\(MIDI_ENABLE = no\);\2\1;' {} + find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]\+MIDI_ENABLE *= *no/d' {} + ``` * remove MIDI configuration boilerplate from keyboard config.h files Co-authored-by: Nick Brassel commit fd340f8957055d74b26a5ddc490253fcc8a3a2f7 Author: Zach White Date: Sun Aug 15 13:30:58 2021 -0700 Defer the expensive search for layout macros until info.json has been processed (#14007) * defer the expensive search for layout macros until info.json has been processed * fixup names commit f56c202fb31ad7cdfdbcb4083dd5dad54d2b508f Author: Drashna Jaelre Date: Sun Aug 15 00:54:08 2021 -0700 Fix ifdefs for OLED split sync code (#14017) commit 488aaa0980b113240a461d6d7878c62f5663f5c6 Author: Drashna Jaelre Date: Sat Aug 14 22:39:08 2021 -0700 Enable sync of OLED/ST7565 display on/off state on Splits (#13542) * Enable sync of OLED/ST7565 display on/off state on Splits * Only send if states are not matched Co-authored-by: Nick Brassel Co-authored-by: Nick Brassel commit 4b3691e72da69290f63e859bb6ecb55dc561ece5 Merge: 8a54127782 4c93c350a6 Author: fauxpark Date: Sun Aug 15 15:27:25 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit 4c93c350a6f399e261a1d2ada2bfe97a838d7dcb Author: Ryan Date: Sun Aug 15 15:19:01 2021 +1000 AL1 refactor (#13679) commit b1d8efeb596cfe088d25948484526e3cf5e6f360 Author: Ryan Date: Sun Aug 15 15:18:41 2021 +1000 LFKeyboards: Replace `KC_FNx` with `F(x)` (#13999) commit 8a5412778278ec197c58b5bb8baed85e913e3ccd Author: Zach White Date: Sat Aug 14 18:02:46 2021 -0700 Fix errors that have cropped up in develop (#14005) * frooastboard: remove duplicate values from config.h * pistachio_pro: remove unused pin D5 commit 60a36863bca9f52cad6984de4e877f8dcd30a88f Author: Zach White Date: Sat Aug 14 08:42:59 2021 -0700 [Keyboard] ez_maker/directpins for easy one-offs in qmk_configurator (#13321) * new keyboard: handwired/directpins * fix promicro keyboard_name * add teensy2 and teensy2++ support * align with handwired/onekey * tweak pids * add teensy 3.2 and teensy lc to directpins * move directpins from handwired to ez_maker * add docs for easy maker commit 110a320321181a0d02f46bd0d06d15c10ed751bb Merge: a6d77fdf27 209fd753cb Author: QMK Bot Date: Sat Aug 14 15:08:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 209fd753cbe9d4be7f46c137df54748f38de5250 Author: Ramon Imbao Date: Sat Aug 14 23:07:55 2021 +0800 [Keyboard] Add TKL-FF PCB (#14003) commit a6d77fdf27de0cbe67228961a4051a4a422eb956 Merge: 0bb9a5c128 1e4f0d9dcf Author: QMK Bot Date: Sat Aug 14 14:59:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1e4f0d9dcf7fdcfce701e0b31dc3a9dfbda01fbf Author: Rifaa Subekti <68178825+oceeean@users.noreply.github.com> Date: Sat Aug 14 22:58:44 2021 +0800 [Keyboard] add Stealth macropad (#13986) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 0bb9a5c128bd98c297cb4b6158e4986d9fef00b5 Merge: 3c013ca7b0 fce12f0075 Author: QMK Bot Date: Sat Aug 14 14:18:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fce12f007560834fc761b2f1ee53b32f0353e24e Author: Ryan Date: Sun Aug 15 00:18:20 2021 +1000 Rework keymap_extras docs (#13949) commit 3c013ca7b0417ee43e183e7689c9e5c27d7a977d Merge: d1be25e9ab de29364827 Author: QMK Bot Date: Sat Aug 14 13:20:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit de29364827063c5ee79d2e9d0eec33af63286408 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Aug 14 06:19:50 2021 -0700 Ducky One2mini Layout Macro fixes (#14002) commit d1be25e9ab9a29fbbba699c7190ed6cf8f4fc9c4 Merge: 4039c5dda9 47b76f556b Author: QMK Bot Date: Sat Aug 14 09:10:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 47b76f556bb7915267b0c687ef936cb86d0ef37d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Aug 14 02:10:03 2021 -0700 Function96 V2 Configurator fixes (#13996) * info.json: apply human-friendly formatting * correct key sequence for LAYOUT_iso * correct key sequence for LAYOUT_iso_splitspace * add layout data for LAYOUT_all commit 4039c5dda9f16f4ffdee8fb119c05fee20348c0e Merge: e021357299 90583a1668 Author: QMK Bot Date: Sat Aug 14 09:03:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 90583a16682ce95fd2c044fd800a2b79bec6ab98 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Aug 14 02:02:24 2021 -0700 Orthocode Layout Macro rework (#13995) * move rotary encoder to top row of layout macro Makes the layout macro and keycodes resemble the assembled keyboard. * update info.json data - convert tabs to spaces - use human-friendly formatting - fill in key object labels - adjust object sequence for layout macro changes commit e0213572990780230864b2bd9ec2549ee311a292 Merge: 3036189584 e2c6dadfbf Author: QMK Bot Date: Sat Aug 14 08:48:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e2c6dadfbf5efad7d5c88438593de34972dd845f Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Aug 14 01:48:25 2021 -0700 Noxary 378 Layout Macro rework (#13998) * physically arrange layout macro * add info.json commit 303618958413445f125d06539cad6800389922da Merge: 1715fa0e8b ed350a1aa6 Author: QMK Bot Date: Sat Aug 14 06:36:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ed350a1aa6eac4194a0f75af798b47a6e6e85164 Author: yulei Date: Sat Aug 14 14:35:32 2021 +0800 add falcon keyboard (#13674) * added falcon keyboard * Update keyboards/matrix/falcon/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/matrix/falcon/rules.mk Co-authored-by: Drashna Jaelre * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Apply suggestions from code review Co-authored-by: Ryan * added description for the bootloader * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 1715fa0e8b059bc35b7beb8c15aafce6c55dfd59 Merge: fd3dc3a997 088d6abf54 Author: QMK Bot Date: Sat Aug 14 04:55:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 088d6abf5455ab8ea3e7f3071cd7ce674f12fce8 Author: Ramon Imbao Date: Sat Aug 14 12:54:38 2021 +0800 [Keyboard] Add Irene Keyboard (#13991) Co-authored-by: Drashna Jaelre commit fd3dc3a997d86be0ab9cdccd0099c4f4c219747a Author: Pete Sevander Date: Sat Aug 14 07:45:52 2021 +0300 Fix `combo_disable` (#13988) - Dump key buffer when combos are disabled. - Recursive calls to `dump_key_buffer` need to start dumping the buffer from index i+1 to avoid possible infinite loops. - Handle combo key releases even though combo processing is disabled. commit 2881517097b3b2e74a4c5e8d39306c2218974217 Author: Drashna Jaelre Date: Fri Aug 13 20:57:41 2021 -0700 Fix Line endings in Absinthe VIA keymap (#13997) commit e80772da401e545887b84b8addc4169b090cfa3e Merge: 1412a785ed ade989962a Author: QMK Bot Date: Sat Aug 14 01:15:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ade989962af613b24687f20f54e2dd0e37240216 Author: Joshua T Date: Fri Aug 13 20:14:21 2021 -0500 [Keymap] clean up userspace, add XD75 / Keyboardio Atreus (#13121) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 1412a785ed012f7c2695632fc48ef080fc440f80 Merge: 7ef4d0c886 424b9ff709 Author: QMK Bot Date: Sat Aug 14 00:01:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 424b9ff7090d8407bd6bc56ff42afff05acecb12 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Aug 13 17:01:05 2021 -0700 Crin Refactor (#13982) * rename LAYOUT_default to LAYOUT_all * apply human-friendly formatting to info.json * correct keyboard dimensions * correct data for LAYOUT_tsangan * add labels to LAYOUT_ansi data * add labels to LAYOUT_all data * add labels to LAYOUT_iso data * crin.h: update grid alignment of matrix identifiers * crin.h: add matrix diagram * physically position matrix identifiers for LAYOUT_all - move k2d to top row (right half of split Backspace) - move k41 to fourth row (right half of split Left Shift [KC_NUBS]) * physically position matrix identifiers for LAYOUT_iso - move k1d to top row ([KC_NUHS]) - add k41 to fourth row ([KC_NUBS], previously missing) * refactor keymaps - grid-align keycodes - use four-space indent * correct data for LAYOUT_iso - move Enter key to home row * rename LAYOUT_tsangan to LAYOUT_ansi_tsangan * add LAYOUT_iso_tsangan * update readme.md - add `make` command for building - add "Flashing example..." - touch-up bootloader jump instructions (previous Markdown didn't render ideally on GitHub) * extend keymap functionality - add Grave Accent, Function keys, Print Screen, Scroll Lock and Pause keycodes to keymaps - add RESET keycode (Fn+R) - use KC_RGHT for Right arrow * touch-up bootloader instructions on readme - note that Bootmagic Lite jump erases persistent settings - note that Fn+R is RESET keycode by default commit 7ef4d0c8868dae2deb998f5aa29a5f3cb855dc91 Author: Drashna Jaelre Date: Fri Aug 13 14:20:47 2021 -0700 Fix pmw3360 code to only output debug info if mouse debugging is enabled (#13993) commit 7ed235d15d58661d75f1ebf0e1a5eca44dc4132b Merge: 854b292873 af98005b02 Author: Drashna Jael're Date: Fri Aug 13 14:15:58 2021 -0700 Merge remote-tracking branch 'origin/master' into develop commit af98005b0252cea38cccd28d7aa72109f3a28f52 Author: Evelien-Lillian Dekkers Date: Fri Aug 13 21:53:02 2021 +0200 [Keyboard] Add Gud70 (#12575) Co-authored-by: Drashna Jaelre commit 9b922d55dda081107db4cf9f50b24287c4952e04 Author: alittlepeace Date: Fri Aug 13 14:35:56 2021 -0500 [Keyboard] Adding VIA to Absinthe (#13031) Co-authored-by: Drashna Jaelre commit 74c9c3e9c25d7f2678ecd4dbe09b5d425f3884bf Author: Sergey Omelchenko Date: Fri Aug 13 22:34:47 2021 +0300 [Keyboard] Macropad v2 polling rate fix (#13129) commit 4db9aa65b27483f793582bb5428032fafd525e87 Author: eniigmakeyboards Date: Fri Aug 13 15:34:27 2021 -0400 [Keyboard] Add eniigmakeyboards/ek60 (#13140) * add eniigmakeyboards/ek60 * Update keyboards/eniigmakeyboards/ek60/rules.mk Updated layouts Co-authored-by: Drashna Jaelre * Update keymap.c Added GPL2+ header * Update keymap.c Added GPL2+ * Update rules.mk Added ISO layout here * Update readme.md Added instructions for resetting bootloader * Update keyboards/eniigmakeyboards/ek60/rules.mk Co-authored-by: Ryan Co-authored-by: adamws Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 504d443ee3feb69e7d3a2d65d4b60d21f86dea61 Author: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Sat Aug 14 03:32:33 2021 +0800 [Keyboard] Add n9 macropad (#13168) commit 0f0ebde0aa51b2d9bd9a817c0c6c2c5ef53e16e9 Author: DonutCables Date: Fri Aug 13 15:30:38 2021 -0400 [Keyboard] Updates to ScrabblePad (#13177) Co-authored-by: Ryan commit 854b292873902242869c030a838aed6d691ac51c Merge: fcddaadc56 0972789e76 Author: QMK Bot Date: Fri Aug 13 19:30:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0972789e763c8cde4729dd268b48001aac8222fe Author: steve ulrich Date: Fri Aug 13 14:29:51 2021 -0500 [Keymap] adds sulrich crkbd (corne) personal keymap (#13186) commit fcddaadc56bc689a7296e230e9a2c631be55e0cb Merge: bd811f6546 2aeacf9db7 Author: QMK Bot Date: Fri Aug 13 19:29:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2aeacf9db79439801482c8d2f53147779dd0bb89 Author: Joel Elkins Date: Fri Aug 13 12:28:37 2021 -0700 [Keymap] Updates to jdelkins userspace and keymaps (#13216) - Remove disused dz60/jdelkins_ss keymap - Manage configured features for firmware size - Improve build configuration for the secrets feature - Various keymap tweaks - Clean up formatting in various places commit bd811f6546bcd98383ee0c28240ccd35fbc8549c Merge: 5c0daf5442 ac3b9333d8 Author: QMK Bot Date: Fri Aug 13 19:28:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ac3b9333d8b52001cee682bb833e145c5252f72d Author: Christian Sandven Date: Fri Aug 13 21:28:05 2021 +0200 [Keyboard] Add optional colemak layout to keymap (#13217) commit 5c0daf5442ae9eaa1f41f434ae4da884feeb04d0 Merge: 21387a7f59 3366c5628c Author: QMK Bot Date: Fri Aug 13 19:27:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 21387a7f59a5c0c47ff4a81b868102e8476413c5 Merge: a75204743a 1b5d7616d3 Author: QMK Bot Date: Fri Aug 13 19:26:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3366c5628c06688a37986719542889426be34e40 Author: npspears <40127181+npspears@users.noreply.github.com> Date: Fri Aug 13 14:26:49 2021 -0500 [Keyboard] add support for alternate ortho UD40 PCB (#13491) Co-authored-by: Ryan commit 1b5d7616d306ade19bd57e2820bfa96602749b79 Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Sat Aug 14 05:26:22 2021 +1000 [Keyboard] Add split_3x5_3 layout support to boardsource/microdox (#13323) commit a75204743a7cfcd116dc3016e537e43dd2412149 Merge: d358492fb4 d5eb673426 Author: QMK Bot Date: Fri Aug 13 18:53:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d5eb673426230a87be229219127c2f553c7fd8f2 Author: Hugues Morisset Date: Fri Aug 13 20:52:27 2021 +0200 [Keyboard] Interlace matrix scan for performance on Moonlander (#13625) commit d358492fb452f7489d749e40462c6bfbe8d3b418 Merge: 72bd653895 20589fb050 Author: QMK Bot Date: Fri Aug 13 18:48:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 20589fb050ab4ddfdaea28d48569790505233752 Author: Weirdo <1248314361@qq.com> Date: Sat Aug 14 02:47:57 2021 +0800 [Keybord] Add LS_60 keyboard (#13851) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 72bd6538957b9c969fa0b8f40405609203aef6d2 Merge: 924a0b30c3 d52e9321e9 Author: QMK Bot Date: Fri Aug 13 18:47:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d52e9321e9c6d64732f716561f3250d99a28ba82 Author: fire-h0und <55053506+fire-h0und@users.noreply.github.com> Date: Fri Aug 13 20:46:29 2021 +0200 [Keyboard] Add cest73/tkm keyboard (#13939) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: cest commit 924a0b30c32bdb5bcbfc3695000498fc58c8e3f5 Merge: 5711a3bac2 325009587a Author: QMK Bot Date: Fri Aug 13 18:41:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 325009587a289fba3e554a6d56e2d5fedbe8fbb5 Author: 8bits4ever <87928173+8bits4ever@users.noreply.github.com> Date: Fri Aug 13 20:40:50 2021 +0200 [converter/a1200] Added support for ATmega32u4 (#13974) commit 5711a3bac296fa7ed793b1c59da6d1bb898455cb Author: Andre Brait Date: Fri Aug 13 20:33:04 2021 +0200 [Keymap] Improve andrebrait keymap (#13985) commit fa1ec32e39a23380c887e3f75db8b4be6e71b798 Merge: 349d36ff89 670603590e Author: QMK Bot Date: Fri Aug 13 18:31:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 670603590ed1f4f1563a74b80ff13ce5f8cd3a48 Author: Path Nirvana Date: Sat Aug 14 01:31:12 2021 +0700 [Keymap] adding new keymap for the idobo keyboard with backlight (#13969) commit 2c9957eb7e6e8085226293e8ff60846587b937b9 Author: Dao Tak Isaac Date: Sat Aug 14 01:30:43 2021 +0700 [Keyboard] Add dtisaac01 keyboard (#13967) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 349d36ff89cbe197b8e746b5cbe7384b4ddf0a77 Merge: 041ff26ff1 f00e56eb0b Author: QMK Bot Date: Fri Aug 13 18:30:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f00e56eb0b4e8ab220d52a30f89f3a9213d431fa Author: Logan Butler <8854426+MatchstickWorks@users.noreply.github.com> Date: Fri Aug 13 11:29:59 2021 -0700 [Keyboard] Add Southpad Keyboard (#13964) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 041ff26ff19ed95433a6f9ea17be02b5bca446e1 Author: Drashna Jaelre Date: Fri Aug 13 11:28:43 2021 -0700 [Keyboard] Fixup Ungodly Launch Pad config (#13992) commit ad2f3a0cf55a29e187691d123dce4a7d9545fc4c Merge: 8fea9722dd 8392729d74 Author: QMK Bot Date: Fri Aug 13 18:23:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8392729d7410246ab3228d47df272da5b0c72c99 Author: minibois Date: Fri Aug 13 20:22:28 2021 +0200 [Keyboard] Add the mini_elixivy keyboard (#13960) Co-authored-by: Drashna Jaelre commit 8fea9722ddf235c3f675ce42802a8032a6eecadb Merge: ceb428c9aa 0014c32375 Author: QMK Bot Date: Fri Aug 13 18:21:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0014c3237556b8c94bbf6d287d53a7b55534fa69 Author: Simon <47527944+Frooastside@users.noreply.github.com> Date: Fri Aug 13 20:21:32 2021 +0200 [Keyboard] Added Frooastboard (#13970) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 0967d4c8a93e412b85caf1aceb11995416c4cd25 Author: Vincent Vorholter Date: Fri Aug 13 20:21:09 2021 +0200 [Keyboard] Add Basketweave VIA keymap (#13972) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Vince Vorholter commit ceb428c9aa08e664887d9c059ada6d0f63b7b429 Merge: cdba934f86 0b90877b4b Author: QMK Bot Date: Fri Aug 13 18:18:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0b90877b4b72bae2fa99e2b1311cd5e74f5e5d4d Author: Alabahuy Date: Sat Aug 14 01:18:02 2021 +0700 [Keyboard] add rart75m with via support (#13975) commit cdba934f86717fc7618fd8a5403383d8570f524e Merge: 4adb7d2176 4742a3a48f Author: QMK Bot Date: Fri Aug 13 17:38:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4742a3a48f7560ee4dd2b55d4ecad4cdf1d139cd Author: Zach White Date: Fri Aug 13 10:38:05 2021 -0700 use sudo to install modules if needed (#13984) commit 4adb7d2176aecdb0e493a5fd40d158722fdb35e7 Merge: 477365912d 0c175d63cf Author: QMK Bot Date: Thu Aug 12 20:15:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0c175d63cf35561c7a92e0bdeaef0ef185799aec Author: Felix Sargent Date: Thu Aug 12 13:14:57 2021 -0700 Update 20210529.md (#13170) This was confusing to me when I updated, so I want to make it more clear for those that come after. commit 477365912de93ad5d5b55c27f7861ad254c275b4 Author: Drashna Jaelre Date: Thu Aug 12 13:03:40 2021 -0700 Fix some additional bootmagic settings (#13979) commit 799c2bdfa38db28199efcd17cd879d06f0fd1bb7 Author: Drashna Jaelre Date: Thu Aug 12 11:47:20 2021 -0700 [Keyboard] Fix default keymap for GMMK Pro Iso (#13980) commit 968a3b324b886f04aea626114e522507b09850c3 Merge: 8e8ec6338c fd4759dcfa Author: QMK Bot Date: Thu Aug 12 18:04:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fd4759dcfa281646b7a9b67fabf9552d31ed4ad1 Author: Drashna Jaelre Date: Thu Aug 12 11:03:50 2021 -0700 [Keyboard] Fix keymaps for Ocean Gin v2 (#13976) commit 8e8ec6338cf98426680317f796831a19c9a54496 Merge: 176bce50e9 80015f7fb0 Author: Drashna Jael're Date: Thu Aug 12 09:18:18 2021 -0700 Merge remote-tracking branch 'origin/master' into develop commit 80015f7fb023f27ad5307815fd5433694a3bcb4a Author: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com> Date: Fri Aug 13 02:04:06 2021 +1000 Update config.h for kbdfans/kbd67/mkiirgb/v3 (#13978) QMK Configurator does not compile - needs a value on RGB_DISABLE_WHEN_USB_SUSPENDED commit 2218879d6878a63e74bca473399f9d315da7648b Author: Jarrett Drouillard Date: Thu Aug 12 11:56:25 2021 -0400 [Keymap] add kuatsure planck keymap (#10625) Co-authored-by: Ryan commit a2d5468df331fec6d76a9c5fd4253ec788507bb1 Author: Luis Godinez Date: Thu Aug 12 08:51:56 2021 -0700 [Keyboard] Add Launch Pad keymaps (#12490) Co-authored-by: Ryan commit 541e749aa894c526217b68314df1621f812411b6 Author: David Hoelscher Date: Thu Aug 12 10:51:34 2021 -0500 [Keyboard] Update to customMK Genesis (#12511) Co-authored-by: Ray commit 74aff52bff3800aee75611bd444e1f85f2877bb6 Author: Vanilla <77503059+vanillakeyboards@users.noreply.github.com> Date: Thu Aug 12 11:50:12 2021 -0400 [Keyboard] Add Spacey keyboard firmware (#12599) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: tfjones24 commit 7ee2b0f1eea867da7b03a6acd4e5e0774cabc81d Author: Paul James Date: Thu Aug 12 17:49:51 2021 +0200 [Keyboard] Add Tripel keyboard (#12635) commit 022e2748aff77ba9f22511a83e205fc4a6703bf6 Author: Christian Sandven Date: Thu Aug 12 17:38:37 2021 +0200 [Keyboard] Keyprez rhino (#13035) Co-authored-by: Ryan commit 8b9c5a9c337856b94587c975f762cfc6ddae75f0 Author: Miles Flavel Date: Thu Aug 12 23:25:09 2021 +0800 [Keyboard] Fix incorrect RGBLED_NUM value for kbd67 (#13166) commit 356561c438766df09e8b90a81778b2053e319a6a Author: Quentin Date: Thu Aug 12 16:45:42 2021 +0200 [Keyboard] Add Skeletyl keyboard (#13495) Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 30843f8329315426ff433a40095f1de2b2669e57 Author: Jacob Jerrell <86279411+jjerrell@users.noreply.github.com> Date: Thu Aug 12 09:44:15 2021 -0500 [Keymap] JJerrell - Add Userspace and ZSA Keyboard Keymaps (#13548) commit 176bce50e9865c4ad9c483de8e578d413e4af8c7 Merge: cb8be2d468 1e9d91d4ef Author: QMK Bot Date: Thu Aug 12 14:43:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1e9d91d4ef5db1a4497767b165303e39069459cb Author: sato-takashi Date: Thu Aug 12 23:43:01 2021 +0900 [Keyboard] Add EndZone34 (#13847) Co-authored-by: Drashna Jaelre commit cb8be2d46838f296681f9debe825f3457b55e675 Merge: fd1b0f91e5 b61613ccb4 Author: QMK Bot Date: Thu Aug 12 14:25:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b61613ccb4429af99a8d91ef41f86173409553ee Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 12 07:24:58 2021 -0700 Cospad Configurator touch-up (#13971) commit fd1b0f91e56e574251b236dde468da9f410b2a97 Merge: 33f64903b4 ac92f4b721 Author: QMK Bot Date: Thu Aug 12 13:59:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ac92f4b72197145c86a2ea0da461d398cfaa1130 Author: arnstadm <45672752+arnstadm@users.noreply.github.com> Date: Thu Aug 12 15:59:07 2021 +0200 [Keyboard] Add Edda Keyboard (#13953) Co-authored-by: Joel Challis Co-authored-by: Ryan commit 33f64903b4283edb77c80b527b40daa4eef6e784 Author: Andre Brait Date: Thu Aug 12 15:55:19 2021 +0200 [Keymap] Add andrebrait layout for GMMK Pro (#13932) commit 7fe375aef5e197b2b7a903ee269358bb64ef960a Merge: 353c615c29 6a5c07680c Author: QMK Bot Date: Thu Aug 12 03:40:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6a5c07680cc80a5fde62307ca1b651e228b2073e Author: David Dansby <39511285+DataDavD@users.noreply.github.com> Date: Wed Aug 11 20:40:17 2021 -0700 [Keymap] Add lily58 datadavd layout (#13560) commit 353c615c29ebd1fd0ac74a25aa5dc4cc6e8234b5 Merge: d9f2f9d22f 2bc2a51618 Author: QMK Bot Date: Thu Aug 12 02:45:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2bc2a5161804bcb2c4958aaffe9baae463681df7 Author: Rifaa Subekti <68178825+oceeean@users.noreply.github.com> Date: Thu Aug 12 10:44:59 2021 +0800 [Keyboard] add Gin V2 keyboard (#13943) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit d9f2f9d22f59a534be3e2f3c12f5823b2b024575 Merge: 345f6dc4e6 af81e3e63d Author: QMK Bot Date: Thu Aug 12 02:44:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit af81e3e63d7a36766b4d17a8259c9660f4599bb6 Author: Rifaa Subekti <68178825+oceeean@users.noreply.github.com> Date: Thu Aug 12 10:44:15 2021 +0800 [Keyboard] add Wang V2 keyboard (#13948) Co-authored-by: Ryan commit 345f6dc4e6910ab11907dfa5382edb12d57a1d7b Merge: f4c447f2df 02ac0f89c4 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Aug 11 09:48:25 2021 -0700 Merge remote-tracking branch 'upstream/master' into develop Fixes merge conflicts in: - keyboards/poker87c/rules.mk and keyboards/poker87d/rules.mk - Conflicts from PR 13961 - keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c - Conflict from PR 13947 commit 02ac0f89c4665f5fc6e57559a8c49d363117fbc0 Author: Vicktor Hutama Date: Wed Aug 11 14:24:34 2021 +0700 [Keyboard] Add Rune Vaengr Keyboard (#13945) * initial commit * fixed layout * enabled NKRO * removed qmkbest * changed the pins and bootloader to the mcu version * updated readme * Apply suggestions from code review thank you @drashna Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 710d37b3eb68c795065adfd83b5be4668a029ccb Author: jmaynard Date: Wed Aug 11 02:21:40 2021 -0500 [Keyboard] Improvements to m122_3270 (#13947) Co-authored-by: Jay Maynard commit 71ce2b0d79eb3c09c056d91c787e9c793f645b37 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Aug 11 00:20:10 2021 -0700 Poker87C and Poker87D Refactor (#13961) commit f4c447f2dfd9146664e3e985cac743abf17ac060 Merge: 5ed7210d53 af3627db25 Author: QMK Bot Date: Wed Aug 11 07:19:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3161f10b1f4c95fdf857b6f3ce9572cf6fdcf7f1 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Aug 11 00:19:55 2021 -0700 Update USB Device strings for VIA identification (#13962) commit af3627db255752fdb49d2461d2c1fa3ae136d4cc Author: Kyle Xiao <56144092+txkyel@users.noreply.github.com> Date: Wed Aug 11 03:19:19 2021 -0400 [Userspace] Add custom tap dancing function (#13963) commit 5ed7210d53221ee2ccfe104e66053fb04e148b4e Merge: d58dc522a5 83a1c4763a Author: QMK Bot Date: Wed Aug 11 02:11:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 83a1c4763a5b1bda577d26892479462bd1457a6e Author: Fernando Rodrigues Date: Tue Aug 10 23:11:19 2021 -0300 [Keyboard] Added split plus layout to Cospad (#13938) commit d58dc522a5dd8c0bcbef2c17a0260b6e65006740 Merge: 1537e3975d 04b9286605 Author: QMK Bot Date: Wed Aug 11 02:10:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 04b92866054bd27abc424ea19c9a4d82456d4068 Author: jpuerto96 Date: Tue Aug 10 22:09:59 2021 -0400 [Keyboard] Gorthage Truck - Rotary Encoder Switch Position (#13942) Co-authored-by: Ryan commit 1537e3975de248a4357917e63acbb5a294de6be1 Merge: 80cb96bb15 8d4fcd678a Author: QMK Bot Date: Wed Aug 11 00:31:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8d4fcd678a083f3c6694b86b654ffe65b537929b Author: Ananya Kirti Date: Wed Aug 11 06:00:56 2021 +0530 Hp69 - Update led logic (#13940) Co-authored-by: zvecr commit 80cb96bb15d71463a49b545347344be40fd88932 Merge: 8d1255ccab 817fcfdc9a Author: QMK Bot Date: Tue Aug 10 23:56:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 817fcfdc9a146f949e1edeba088866eff8cbcde2 Author: Eric S. Raymond Date: Tue Aug 10 19:56:08 2021 -0400 Fix shell port bug in computation of QMK_FIRMWARE_DIR (#13950) Previous code would fail if cd echoes the tathet directory to stdout, which is pretty common. Redirecting its output to /dev/null solves the problem. commit 8d1255ccab40eb3bff00fd24079bf92d73687e87 Author: Luigi311 Date: Tue Aug 10 15:40:30 2021 -0600 Handwired/Stream_Cheap/2x4: Add via support (#13297) * Handwired/Stream_Cheap/2x4: Add via support Signed-off-by: Luigi311 * Handwired/Stream_Cheap: Update readme for via Signed-off-by: Luigi311 * Handwired/Stream_Cheap/2x4: Add 2x4 to via json Signed-off-by: Luigi311 * Handwired/Stream_Cheap/2x4: Add GPL2+ License to keymap Signed-off-by: Luigi311 commit 184c2e35affd51abcfa74bdc90564058b6a39a41 Author: Alin Marin Elena Date: Tue Aug 10 21:59:01 2021 +0100 add support for m65 and simple 5x13 ortholinear (#12315) * add support for m65 and simple 5x13 ortholinear * Update keyboards/m65/keymaps/default/keymap.c Co-authored-by: Sergey Vlasov * Update keyboards/m65/keymaps/default/keymap.c Co-authored-by: Sergey Vlasov * Update keyboards/m65/keymaps/default/keymap.c Co-authored-by: Sergey Vlasov * Update keyboards/m65/keymaps/default/keymap.c Co-authored-by: Sergey Vlasov * Update keyboards/m65/keymaps/default/keymap.c Co-authored-by: Sergey Vlasov * Update keyboards/m65/keymaps/default/keymap.c Co-authored-by: Sergey Vlasov * updates as per @sigprof review plus reformat * pins all now are defined at microcontroller level * profuct id defined at microcontroller level * put leds on when _ADJ is on * add danish keymap * make default uk centric iso as per readme * default is now iso generic, uk is its own business * add license * update imgur links to reflect the layout * leds for _ADJ layer now do not prevent the other layers leds to get on * Update keyboards/m65/keymaps/uk/keymap.c Co-authored-by: Ryan * Update keyboards/m65/keymaps/dk/keymap.c Co-authored-by: Ryan * Update keyboards/m65/keymaps/uk/readme.md Co-authored-by: Ryan * Update keyboards/m65/readme.md Co-authored-by: Ryan * add support for gd32f303cct6 by we act in rev2 * Revert "add support for gd32f303cct6 by we act in rev2" This reverts commit 4ad3834925508b79f2ff9fd5526dfc39f07fa3bc. * Update keyboards/m65/rev1/rules.mk Co-authored-by: Joel Challis * Update keyboards/m65/keymaps/dk/readme.md Co-authored-by: Ryan * Update keyboards/m65/keymaps/uk/readme.md Co-authored-by: Ryan * Update keyboards/m65/keymaps/default/readme.md Co-authored-by: Ryan * remove empty hal * add capslock * Update keyboards/m65/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/m65/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Alin M Elena Co-authored-by: Sergey Vlasov Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit d888ac17ea35b6093d0a6717462ae2c18519ec41 Merge: 5b8f2eccbf ed84a4e7e3 Author: QMK Bot Date: Tue Aug 10 14:48:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ed84a4e7e3e65d1ef090117cdb9c6d70ed554a28 Author: Zach White Date: Tue Aug 10 07:48:22 2021 -0700 Improve the qmk lint readme check (#13941) * improve lint readme check * improve if commit 9a0118c603e8a773ca468c2382204e475e5bf7d4 Author: Zach White Date: Tue Aug 10 07:47:53 2021 -0700 Architecture documentation for Configurator and API (#13935) * Architecture documentation for the configurator and api * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 5b8f2eccbfceea3cdc234de48d6a821ecd7bee24 Merge: 75a58c3cef aeff347a07 Author: QMK Bot Date: Tue Aug 10 09:15:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aeff347a074495f5aea77612bb083f79f7fcaf17 Author: Stefan Subich <20615740+su-stefan@users.noreply.github.com> Date: Tue Aug 10 05:14:14 2021 -0400 Update feature_wpm.md (#13936) Fix example markdown code formatting commit 75a58c3cef4a4b95f3c5e39d6d90723be10103b7 Merge: 85090b77af d3932a104c Author: QMK Bot Date: Tue Aug 10 08:03:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d3932a104cb1db7e9436f5c16ee58cf3684e8b3a Author: Ryan Date: Tue Aug 10 18:03:04 2021 +1000 Add padding to LUFA-MS .BIN files (#13922) commit 85090b77af0343122ee62a41cf6940712f85d4f6 Merge: 3e0517f1ef 076c8cc45f Author: QMK Bot Date: Tue Aug 10 05:24:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 076c8cc45fe9af215dc5211ca0e8a731718864ae Author: rate Date: Tue Aug 10 14:23:25 2021 +0900 [Keyboard] Added pistachio_pro (#13466) * Added pistachio_pro * Apply suggestions from code review * Apply suggestions from code review commit 3e0517f1ef1926dcf0cade6a5dfc09ae43afdb56 Merge: f0a2641cf1 8ef58e3291 Author: QMK Bot Date: Tue Aug 10 04:07:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8ef58e3291cc98f6bd8b9ea360ea2264f1ab4c44 Author: Ryuki <36336987+kryuki@users.noreply.github.com> Date: Mon Aug 9 23:07:14 2021 -0500 adding my keymap "vayashiko" (#13049) * adding my keymap * changed some bugs * removed include keymap.h commit f0a2641cf10f3b6a385c03ed63e08571baf0cb29 Merge: bb2986c115 760caaa9af Author: QMK Bot Date: Mon Aug 9 21:15:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 760caaa9af9082a4502b3b2346f23d35a44b22bd Author: Brandon Lewis <64657834+blewis308@users.noreply.github.com> Date: Mon Aug 9 16:14:33 2021 -0500 Ristretto - Update bootloader (#13933) * updated bootloader for 32u4 mcu Should be atmel-dfu instead of caterina as the mcu is integrated instead of on a pro-micro/elite-c commit bb2986c115d7a0269162426d33d663067be22b8a Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Mon Aug 9 22:04:40 2021 +0100 Fix compliation for ferris 0.2 bling (#13937) * Fix include commit 7bec943043b8d03482e9f4ffc69cc63b9fc4a18a Merge: c0628c2820 26ea090190 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Aug 9 12:14:22 2021 -0700 Merge remote-tracking branch 'upstream/master' into develop Fixes merge conflicts in: - keyboards/bm40hsrgb/config.h - Conflict from PR 13132: - RGB_DISABLE_WHEN_USB_SUSPENDED signature updated in develop branch, unmodified in master branch - updated file with changes from master branch - keyboards/keebio/iris/keymaps/nstickney/keymap.c - Conflict from PR 11456: - layer_state_set_user() updated in develop branch, removed in master branch - updated file with changes from master branch commit c0628c2820b436550f62af5f6b7fae1f66b0bf8b Author: Joel Challis Date: Mon Aug 9 19:46:18 2021 +0100 Remove backwards compatibility of debounce names (#13877) * Remove backwards compatibility of debounce names * Update docs * Update keyboards/keymaps commit 7c691d82bf21f8bdbc98d4193d2ad3956528c25a Author: Joel Challis Date: Mon Aug 9 19:46:03 2021 +0100 Remove ONEHAND_ENABLE (#13920) commit 26ea090190b815862f108903e5f41f20c6d16d66 Author: Daniil Yastremskiy Date: Mon Aug 9 21:32:35 2021 +0300 Limit RGB max brightness on KPrepublic BM-series keyboards (#13132) commit 2617ac604151739faceb43d1736efc74386d1486 Author: Drashna Jaelre Date: Mon Aug 9 11:26:02 2021 -0700 Fixup rgb matrix config for KBD67 mkII boards (#13931) commit 23becac3a650ac06e202bac8158b058a8b7b48f2 Author: Pierre Chevalier Date: Mon Aug 9 19:23:15 2021 +0100 Support all the 0.2 Ferris variants (#12653) * Support all the 0.2 Ferris variants For the Compact, the High and the Mini, create a new directory so each keyboard may have the correct USB descriptor and a readme with more specific information about it. For the Bling, also add support for the underglow functionality. Change the "MANUFACTURER" string to "Cuddly Keyboards Ltd.", the name of the company I incorporated to sell keyboards, and change the default descriptor from "Ferris the keeb" to "Ferris 0.2" which is more descriptive. I didn't update the 0.1 variants as I don't intend to sell these kits with "Cuddly Keyboards". The firmware is mostly there to support existing users. Update the "hardware availability" to point to my new website: cuddlykeyboards.com. * Add RGB mode toggle to my keymap and to the default keymap * Improve wording in the readme commit 5a59363e2826a49ae6dc97d5296f17dc89fd4c7e Author: Stick <8531041+nstickney@users.noreply.github.com> Date: Mon Aug 9 13:34:36 2021 -0400 [User] changes to nstickney's keymaps (#11456) 0) Built a Bastyl, gave away the ErgoDoxEZ 1) UNICODEMAP 2) Iris left is now Elite-C 3) New QMK flashing instructions commit 8d19f4f187575c0338ec3ca07ed8dd7dd512f503 Merge: ed7f06bd7b 8936d0ae4b Author: QMK Bot Date: Mon Aug 9 17:06:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8936d0ae4b81ade2ff0224d606f7287e3ab6abf8 Author: Edvard Sire Date: Mon Aug 9 19:06:25 2021 +0200 [Keymap] new keymap for nui_mini (#13924) commit ed7f06bd7b05555b333adb1415ce0985c6e4581d Merge: dbee96098d 9a1a35f681 Author: QMK Bot Date: Mon Aug 9 17:05:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dbee96098d552bd958170d275d528ecd57c94179 Author: Andre Brait Date: Mon Aug 9 19:04:58 2021 +0200 Make default keymap for GMMK Pro reflect stock (#13850) commit 9a1a35f6817d425ee8ee07f031848607d187e18b Author: Pascal Pfeil Date: Mon Aug 9 19:04:40 2021 +0200 [Keymap] Add kbd67 mkiirgb keymap (#13884) Co-authored-by: Spaceman Co-authored-by: Drashna Jaelre commit f3cede7299b935ece0c4a7699d844f79bf640a26 Merge: 12681bacc4 be72a64cf6 Author: QMK Bot Date: Mon Aug 9 17:04:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit be72a64cf603946102cc2144822b75fa9f92a2ec Author: Michele Ferri Date: Mon Aug 9 19:04:00 2021 +0200 [Keyboard] Add TouhouPad (#13915) * Touhoupad rev 2 * cleanup for PR * fixes after review commit 12681bacc4b2d845bd01b0e65b00e3d8775ac515 Merge: 65e3760853 e6c171bdd6 Author: Zach White Date: Mon Aug 9 08:34:14 2021 -0700 Merge remote-tracking branch 'origin/master' into develop Conflicts: keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c commit e6c171bdd639fef41a68902ce5a379a0565ed99b Author: Zach White Date: Mon Aug 9 08:28:51 2021 -0700 Fix generate api (#13930) * Add missing returncode to exit() * fix the aozora/hotswap vendor id commit 5eb0e406fdc6e0612db18ea5bde93f98c215808d Author: Zach White Date: Mon Aug 9 08:27:02 2021 -0700 make json imports more robust (#13928) commit 79d5b279931cf98d635181235c0301ba7053f9d5 Author: Chris Date: Mon Aug 9 05:25:43 2021 -0400 [Keymap] rootiest for planck/rev6/ (#13294) * squashed commits to master * Fix in case of missing user_song_list Substitutes missing songs with safe versions Also updated and added detail to keymap readme * Adjust Readme to match qmk contrib conventions * Update keyboards/planck/keymaps/rootiest/config.h * Update keyboards/planck/keymaps/rootiest/keymap.c * Update keyboards/planck/keymaps/rootiest/keymap.c * Update keyboards/planck/keymaps/rootiest/keymap.c * Update keyboards/planck/keymaps/rootiest/keymap.c * Fixed license header to GPLv2+ * Fix Volume key delay Use a static number instead of removed MEDIA_KEY_DELAY * Use TAP_CODE_DELAY * added license to config.h * Clean up formatting - Fixed markdown in readme - Removed extra commented line from config.h * Update keyboards/planck/keymaps/rootiest/config.h commit 59b5c884ff539952fa68df0405ed8ea0f5c652d0 Author: jfescobar18 <81986725+jfescobar18@users.noreply.github.com> Date: Mon Aug 9 01:17:46 2021 -0500 [Keyboard] Undead 60M (#13735) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 7c2f48e55d25209eb5b27fc89d024fe985352142 Author: Phooood <81713801+Phooood@users.noreply.github.com> Date: Sun Aug 8 20:31:33 2021 -0700 [Keyboard] Add Aozora (hotswap) keyboard (#13919) * Initial Commit * added header to hotswap.c * added keymap-specific reamdme.md * minor adjustments * Requested corrections to readme's commit 65e376085356c18382d6a5d8dc54c8461144152e Author: Nick Brassel Date: Mon Aug 9 13:20:15 2021 +1000 Fix compilation issue. (#13926) commit b43c6bc176dcd612ae14f9819a171abe286e92bc Author: thpoll83 <67008047+thpoll83@users.noreply.github.com> Date: Sun Aug 8 22:52:13 2021 +0200 Add support for STM32F407x MCUs. (#13718) * Add support for STM32F407x MCUs. * Removing STMF407 MCU variation * Update quantum/mcu_selection.mk Remove options for dfu flashing Co-authored-by: Ryan * DISABLE STM32_USB_USE_OTG1 * Update platforms/chibios/GENERIC_STM32_F407XE/configs/mcuconf.h Co-authored-by: Drashna Jaelre * Update platforms/chibios/GENERIC_STM32_F407XE/configs/mcuconf.h Co-authored-by: thomas.pollak Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Nick Brassel commit ac2090bf4e8f97d416cc10d73044af8585b51055 Author: datafx <2432997+datafx@users.noreply.github.com> Date: Sun Aug 8 00:45:43 2021 -0400 [Keyboard] Add kbdfans kbd67 mkii rgb v3 (#13714) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit ac92ded0ccd6a85a6f34e81287ec66fad7402add Merge: 8e5213ca6c bfa7449041 Author: QMK Bot Date: Sun Aug 8 04:42:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bfa7449041fe5f137f37199804cd4dd9e02d47a8 Author: Spaceman Date: Sun Aug 8 00:42:04 2021 -0400 [Keyboard] Add Pancake v2 (#13839) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 8e5213ca6c896de9f8a63ab56e424eee8549d05d Merge: b9dcd5ac38 b046bffcb8 Author: QMK Bot Date: Sun Aug 8 04:41:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b046bffcb8367b4238273e3ccb7de9b799fbec7c Author: Ananya Kirti Date: Sun Aug 8 10:11:15 2021 +0530 [Keyboard] Added CapsLED and ScrollLock LEDs (#13837) Co-authored-by: Drashna Jaelre commit b9dcd5ac38bc7cd3dc2fb97ac3842df03ee5f780 Author: Drashna Jaelre Date: Sat Aug 7 21:40:48 2021 -0700 [Keymap] Drashna split transport improvement (#13905) * Fix up split stuff * Fix Split perf issues * Allow LTO to be disabled * Fixup WPM and encoders * Fixup qmk keys per scan * Add bootloader info * Change encoder pins * Fixup corne oled code * Expand transport sync * Improve user transport * Cleanup mouse processing at keymap level * Improve layer checking for mouse layering commit 100333818f4868cee811854ccc44e4b9ea39a79d Merge: 21b71932f7 bc2b73f997 Author: QMK Bot Date: Sun Aug 8 04:15:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bc2b73f997743a164bfa19541a25209b4f276771 Author: 8bits4ever <87928173+8bits4ever@users.noreply.github.com> Date: Sun Aug 8 06:15:23 2021 +0200 [Keyboard] a1200 converter minor changes (#13848) Co-authored-by: Ryan commit 21b71932f7368b5610c455c7b972d7c90f19b373 Merge: 6c5ef3ce30 41d854048c Author: QMK Bot Date: Sun Aug 8 04:13:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 41d854048c2d11400a753c30aba87f5fd2c37eca Author: jpuerto96 Date: Sun Aug 8 00:12:55 2021 -0400 [Keyboard] Gorthage Truck - New PCB (#13909) Co-authored-by: Ryan commit 6c5ef3ce3077dbc818d2dd1a80b222b19baee72c Merge: d0f1a4c48a 27d0844efb Author: QMK Bot Date: Sun Aug 8 03:38:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 27d0844efb9f7e11f4e39d9fc710269cedbdd22b Author: Pascal Pfeil Date: Sun Aug 8 05:37:13 2021 +0200 [Keyboard] Clean up lfkpad and add keymap (#13881) Co-authored-by: Drashna Jaelre commit d0f1a4c48accfa2392e4a567d01503a22c41c2d9 Merge: d06f50a31a 34689e348f Author: QMK Bot Date: Sun Aug 8 03:24:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 34689e348fe6025006e62eaa1a08099cbbcf3eb9 Author: peott-fr <70998091+peott-fr@users.noreply.github.com> Date: Sat Aug 7 20:24:24 2021 -0700 [Keyboard] Adding my Nyquist keymap (#13858) commit d06f50a31af5c49e37c31a8fcc7e714688737f38 Author: Drashna Jaelre Date: Sat Aug 7 08:36:38 2021 -0700 [Keyboard] Fix matrix_output_unselect_delay for handwired/xealousbrown (#13913) commit 243e75659cb9c41845372752218f996e2c1d4e7b Merge: 6fb9842936 07e2c11e55 Author: QMK Bot Date: Sat Aug 7 14:57:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 07e2c11e55dc581b2dde88562fe1a66e7d70058a Author: kb-elmo Date: Sat Aug 7 16:57:14 2021 +0200 [Keyboard] fixes for KBD67 rev2 (#13906) commit 6fb98429363245c6dc9b6d5ef55292f1da4c12e5 Author: Drashna Jaelre Date: Sat Aug 7 07:18:06 2021 -0700 Clean up remaining RGB_DISABLE_WHEN_USB_SUSPENDED defines Part 2 (#13912) commit 383fae55c5d53626eda210298f15fa6810510d5e Author: Liyang HU Date: Sat Aug 7 08:12:57 2021 +0100 Refactor `quantum/command.{c,h}` for code size & {read,maintain}ability (#11842) * quantum/command.c: coalesce `print()`s in `command_common_help()` & `print_version()` Also undo some damage by clang-format in b624f32f94 * quantum/command.c: replace `print(…); print_{,val_}{dec,hex}*(…);` sequences with single `xprintf(…)` `print_{dec,hex}*(…)` are just `#define`s for `xprintf(…)` anyway. Each additional `xprintf(…)` costs ~8 bytes: the call instructions, plus an additional NUL terminator. This _really_ adds up: this commit saves 814 bytes on my ATmega32. * quantum/command.c: optimise `mousekey_console()` for size & legibility Made various tweaks to the interface, but still functionally identical. Assume `KC_1`…`KC_0` to be contiguous, and removed `numkey2num(…)` entirely. It was exported in `command.h` by 1a0bac8bcc for no obvious reason, before which it was `static`. I doubt anyone uses it. `mousekey_console()` is now enabled regardless of `MK_3_SPEED`. Needs fleshing out for things other than the X11 variant though. This commit saves 638 bytes on my ATmega32. commit a03aa301def77c867ae6c6c840f7fc82b26d91d6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Aug 6 23:59:56 2021 -0700 Remove Full Bootmagic (#13846) * disambiguate Bootmagic rules in keymaps The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic. This commit edits the files to specify that full Bootmagic is intended. * remove BOOTMAGIC_ENABLE=full setting * unify commented BOOTMAGIC_ENABLE rules in keyboards Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no # Virtual DIP switch configuration;g' {} + ``` * remove commented Bootmagic rules from keymap/user level Command: ``` find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} + ``` * update keyboard BOOTMAGIC_ENABLE rule formatting Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later). Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + ``` * update keyboards' BOOTMAGIC_ENABLE settings Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' + ``` * update keymap/user BOOTMAGIC_ENABLE settings Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used. Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' + find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' + ``` * remove and replace inline comments in keyboards and keymap/user files Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`. Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1 # Enable Bootmagic Lite;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1 # Enable Bootmagic Lite;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1 # Enable Bootmagic Lite;g' '{}' + ``` * rename improperly named makefiles Some files intended to be used as makefiles had improper names causing them to not be used as intended when building. This commit corrects the filenames of the affected files. * update renamed file with new rule formatting * update QMK's template files Updates QMK's `rules.mk` templates to use the new inline comment. * update QMK Docs - remove documentation of full Bootmagic - update links to Bootmagic Lite doc - add doc for Magic Keycodes * rules.mk patch for coarse/ixora and coarse/vinta commit 0bc9090b1f98038b2bf4f648618d6143dcd93c82 Merge: 7b709aaecc 85c32da989 Author: QMK Bot Date: Sat Aug 7 06:52:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 85c32da9896f6f7fb16b911c3cd49cec80655139 Author: kb-elmo Date: Sat Aug 7 08:52:39 2021 +0200 [Keyboard] Added 67mk_E PCB (#13869) * added 67mk_E PCB * add layouts commit a9b0750f7b6f17722a81687509a50ee5a5d45049 Author: bomb <84309788+mj-bomb@users.noreply.github.com> Date: Sat Aug 7 14:52:18 2021 +0800 [Keyboard] Modify key drive pins for mojo68 (#13863) commit 7b709aaecc4e27dc289c67b90203810df3debe49 Merge: 1f94e99565 8a9688bc64 Author: QMK Bot Date: Sat Aug 7 06:52:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8a9688bc64ea4283ecfa19dc2bf2c3312e7c646f Author: Alex Ong Date: Sat Aug 7 16:51:38 2021 +1000 [Keyboard] Use new matrix_output_select_delay api (#13861) * Use new matrix_output_select_delay api * Updated delay to 15 after more spamming commit 1f94e995653d42282d770b181c8df9e4bd79b963 Merge: 07a7724f2b 9d88786b6f Author: QMK Bot Date: Sat Aug 7 06:51:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9d88786b6fc6b1e9eeeba409cb5e4a17dd2bbe82 Author: Cian Johnston Date: Sat Aug 7 07:51:03 2021 +0100 [Keyboard] add handwired/oem_ansi_fullsize (#13857) * Add new keyboard oem_ansi_fullsize * clang-fmt * Update keyboards/handwired/oem_ansi_fullsize/rules.mk Co-authored-by: Joel Challis * Update keyboards/handwired/oem_ansi_fullsize/readme.md Co-authored-by: Joel Challis * update info.json using qmk c2json * update info.json * move diagram to readme * add matrix cols/rows to info.json * fixup! add matrix cols/rows to info.json * rename layout, fix block comment * s/ansi_fullsize/fullsize_ansi/g Co-authored-by: Joel Challis commit 07a7724f2b7642664577b5b4023b8498172a83a1 Merge: 58bb1dbde7 e4342f8630 Author: QMK Bot Date: Sat Aug 7 06:50:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e4342f86305e512be2b3a52a07e7c7dc591ae6a9 Author: Jack Kenney Date: Sat Aug 7 02:49:25 2021 -0400 [Keymap] JackKenney's keymap for GMMK Pro (#13853) commit 58bb1dbde71f5c61447c4efb4fd182d150332b56 Merge: e8112e49cd 9c03d41f6a Author: QMK Bot Date: Sat Aug 7 06:07:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9c03d41f6adb0c3cacacf0acb69ddad3ed51eb24 Author: Drashna Jaelre Date: Fri Aug 6 23:06:39 2021 -0700 [Keyboard] Fix oled_task_user for chocolatebar (#13911) commit e8112e49cd64e73962b3cf1915aa2712695db1bf Merge: e2ac8d5f3e 95fed3bfcf Author: QMK Bot Date: Sat Aug 7 05:59:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 95fed3bfcfb4d2cf94fa486fa46618ef52260663 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Aug 6 22:59:03 2021 -0700 clean up CRLF instances (#13910) commit e2ac8d5f3eb7e3455a4c8ff6bc9b157535f53766 Merge: b38fdc0a57 a3cb3e139a Author: QMK Bot Date: Sat Aug 7 05:48:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a3cb3e139ab35084e839922ba6437611bc970128 Author: Moritz Date: Sat Aug 7 07:48:17 2021 +0200 [Keyboard] Add Fave87 (#13873) Co-authored-by: Joel Challis commit b38fdc0a574747fda697becd2add5c7cfa040155 Merge: 36b2f06d9e d917bfb277 Author: QMK Bot Date: Sat Aug 7 04:48:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d917bfb277f31d15f59244bb06b9fbb2f9c69084 Author: misonoworks <63772942+misonoworks@users.noreply.github.com> Date: Fri Aug 6 21:48:19 2021 -0700 [Keyboard] Add MisonoWorks Chocolate Bar keyboard (#13798) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: autumnisacutie <63772942+autumnisacutie@users.noreply.github.com> commit 36b2f06d9e9d5276f8e0ca72c0562c3a56d6d236 Merge: 25425dc9bc 744019c032 Author: QMK Bot Date: Sat Aug 7 00:03:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 744019c0323b0f04fb50d48ca04d85dbc0072985 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Fri Aug 6 17:02:46 2021 -0700 [Keyboard] Add Hex4B PCB (#13435) Co-authored-by: Ryan Co-authored-by: vuhopkep commit 25425dc9bc0a9a95cb2a0892ddf5473c77934242 Merge: 610035dce8 6721825df5 Author: QMK Bot Date: Sat Aug 7 00:02:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6721825df5ddda0631faaf52292ce78db92f2c7f Author: yfuku <30647434+yfuku@users.noreply.github.com> Date: Sat Aug 7 09:01:52 2021 +0900 [Keyboard] Add owl8 keyboard (#13380) * add owl8 * use DIRECT_PINS * fix encoder * Changed to use action_exec. commit 610035dce8f4f7010779e61e1cb590eebc8cea46 Author: Sergey Vlasov Date: Sat Aug 7 02:16:26 2021 +0300 Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys (#9404) * Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys Implement an additional option for dual-role keys which converts the dual-role key press into a hold action immediately when another key is pressed (this is different from the existing PERMISSIVE_HOLD option, which selects the hold action when another key is tapped (pressed and then released) while the dual-role key is pressed). The Mod-Tap keys already behave in a similar way, unless the IGNORE_MOD_TAP_INTERRUPT option is enabled (but with some additional delays); the added option makes this behavior available for all other kinds of dual-role keys. * [Docs] Update tap-hold docs for HOLD_ON_OTHER_KEY_PRESS Document the newly added HOLD_ON_OTHER_KEY_PRESS option and update the documentation for closely related options (PERMISSIVE_HOLD and IGNORE_MOD_TAP_INTERRUPT). Use Layer Tap instead of Mod Tap in examples for PERMISSIVE_HOLD and HOLD_ON_OTHER_KEY_PRESS, because the effect of using these options with Mod Tap keys is mostly invisible without IGNORE_MOD_TAP_INTERRUPT. Add comments before return statements in sample implementations of `get_ignore_mod_tap_interrupt()`, `get_hold_on_other_key_press()` and `get_permissive_hold()`. Thanks to @Erovia and @precondition for comments and suggestions to improve the documentation. commit 13b94b468d728f43b7edcd91224ea217851b80bc Author: Gigahawk Date: Fri Aug 6 15:11:17 2021 -0700 Copy GMMK Pro screw specs to ISO readme (#13908) commit 9e7bfdf6c63b7d72a21d358d36ddcdc03c58dc76 Merge: f24bca5bb3 bdf86c4cbd Author: QMK Bot Date: Fri Aug 6 11:55:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bdf86c4cbdb22fe800ea0beb4c680b8be5dcb5a4 Author: Gigahawk Date: Fri Aug 6 04:54:43 2021 -0700 Add replacement screw specifications to GMMK Pro readme (#13903) commit f24bca5bb30c77fc8290a97ef38370a4fade7d2c Author: Nick Brassel Date: Fri Aug 6 16:40:12 2021 +1000 Update ChibiOS-Contrib, mirroring script. (#13896) commit 538d9d7890353b1766e647576c5cb1f5e9d147d3 Merge: 3ba2ce40a5 c588d232cb Author: QMK Bot Date: Fri Aug 6 05:54:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c588d232cb97904400b048db923ee86e5bf9abcc Author: Joel Challis Date: Fri Aug 6 06:53:38 2021 +0100 Avoid name conflicts with usb_hid Arduino code (#13870) * Avoid name conflicts with usb_hid Arduino code * Fix tests commit 3ba2ce40a51628c943c2eb8573fa8e4c9763821e Merge: ea5d778f90 b9a1b61f6a Author: QMK Bot Date: Fri Aug 6 05:18:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b9a1b61f6ac42bbd73123d86058ec8b7048d5da6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 5 22:18:17 2021 -0700 Flehrad Tradestation Refactor (#13897) * add license headers Apache 2.0 per the included `license` file. * info.json: use human-friendly formatting * refactor keymaps - split `default` keymap into `default` and `tradestation` keymaps (one for each layout) - remove boilerplate functions - apply four-space indent * partial clean up of rules.mk - update section header comment blocks commit ea5d778f900a95ffb70f6ef51d2c3256ec06e956 Author: Drashna Jaelre Date: Thu Aug 5 21:29:29 2021 -0700 [Keyboard] Remove console from keebio via keyboards (#13901) commit 293168f4443bef760ef865659265152d51a7584c Merge: 0dafd83f72 28b59c30d2 Author: QMK Bot Date: Fri Aug 6 04:28:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 28b59c30d2aa73ea56b3f16cf341bdc2883f11d8 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 5 21:28:26 2021 -0700 MetaMechs Timber Wolf Configurator Fixes (#13895) * info.json: use human-friendly formatting * info.json: fix key sequences for ISO layouts All the ISO layouts had the Enter key out-of-sequence, causing key-assignment mismatches in QMK Configurator. commit 0dafd83f72ba2ae79c2ca754a120b1de8b4dbfe8 Author: Nick Brassel Date: Fri Aug 6 09:57:09 2021 +1000 Fix up builds after #8591 (#13900) commit 7e983796e18e7401c062c158f23966aeb7b1405b Author: Pete Sevander Date: Fri Aug 6 02:44:57 2021 +0300 Process combos earlier & overlapping combos (#8591) * Combo processing improvements. Now it is possible to use ModTap and LayerTap keys as part of combos. Overlapping combos also don't trigger all the combos, just exactly the one that you press. New settings: - COMBO_MUST_HOLD_MODS - COMBO_MOD_TERM - COMBO_TERM_PER_COMBO - COMBO_MUST_HOLD_PER_COMBO - COMBO_STRICT_TIMER - COMBO_NO_TIMER * Remove the size flags from combo_t struct boolean members. This in the end actually saves space as the members are accessed so many times. The amount of operations needed to access the bits uses more memory than setting the size saves. * Fix `process_combo_key_release` not called correctly with tap-only combos * Fix not passing a pointer when NO_ACTION_TAPPING is defined. * Docs for `COMBO_ONLY_FROM_LAYER` * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update quantum/process_keycode/process_combo.c Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Add `EXTRA_SHORT_COMBOS` option. Stuff combo's `disabled` and `active` flags into `state`. Possibly can save some space. * Add more examples and clarify things with dict management system. - Simple examples now has a combo that has modifiers included. - The slightly more advanced examples now are actually more advanced instead of just `tap_code16()`. - Added a note that `COMBO_ACTION`s are not needed anymore as you can just use custom keycodes. - Added a note that the `g/keymap_combo.h` macros use the `process_combo_event` function and that it is not usable in one's keymap afterwards. * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Change "the" combo action example to "email" example. * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Fix sneaky infinite loop with `combo_disable()` No need to call `dump_key_buffer` when disabling combos because the buffer is either being dumped if a combo-key was pressed, or the buffer is empty if a non-combo-key is pressed. * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Update docs/feature_combo.md Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 07553b41f0a03ca6549c09cecf9cd3dec7332346 Author: Juan Pablo Kutianski Date: Thu Aug 5 16:09:58 2021 -0700 [Feature] Swap buttons on PS2 Mouse/Trackball (#9205) * [Feature Request] Swap buttons on PS2 Mouse/Trackball * [Feature Request] Swap buttons on PS2 Mouse/Trackball * Added id: to the doc * Missing space * Solve comment https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783182 * Solve comments https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783182 & https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783884 * Format code more according to https://docs.qmk.fm/#/coding_conventions_c * change logic to LUT * WIP: Clean up * WIP: Solution with xor operators to mask the change * delete #endif & added the missed xor operator (ahhh) * Variable (mouse_report->buttons): avoid setting twice https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783884 * Update tmk_core/protocol/ps2_mouse.c Co-authored-by: Nick Brassel Co-authored-by: juank Co-authored-by: Nick Brassel commit 339675693bd92ba4977d89d1aa3fd9750783327e Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Fri Aug 6 07:18:32 2021 +0900 add yaml_build_options target (#10533) Co-authored-by: Nick Brassel commit 6aaf3e84e9ba2863d72cf539fdf1bb15ae484a25 Author: Nick Brassel Date: Fri Aug 6 08:14:43 2021 +1000 Rework as per 9824 (#13898) commit bcb6e23387290afb64712314bfb095f8d96c1a4e Author: JohSchneider Date: Thu Aug 5 21:51:24 2021 +0000 Arm ps2 mouse interrupt (#6490) * ps2_mouse on ARM: an interrupt-version of the ps2-mouse code ported to ARM/chibios * ps2_mouse on ARM: link EXT callback-channel selection to the user defined PS2_LINE_CLOCK * ps2_mouse on ARM: replace DELAY_X defines with hardware-agnostic wait_X * ps2_mouse on ARM: replace chibios-specific defines for the pins/lines with defines from quantum/config_common.h and drop the '_LINE' component from teh define name * ps2_mouse on ARM: expose the software-intterupt port as a user editable define * Update docs/feature_ps2_mouse.md Co-Authored-By: Hugo van Kemenade * Update feature_ps2_mouse.md * use a define to deduce the PS_DATA_PORT instead * reduce all-zero extcfg to oneliner * ps2_mouse: use generic wait instead of avr-delay * Update docs/feature_ps2_mouse.md * ps2_mouse: changes for new chibios version (17.6.0 -> 19.1.0) replacing the legacy externa-interrupt driver with pal-callbacks * ps2_mouse: use PLATFORM_KEY Co-Authored-By: Joel Challis * ps2_mouse: clang-format corrections * ps2_mouse: add systemlocks using the chibios equivalent to AVRs cli: chSys[Unl|L]ock Co-authored-by: Johannes Co-authored-by: Hugo van Kemenade Co-authored-by: Joel Challis commit 5bbc527460462fb9961fbd9f972cd5e1c49558da Author: Joel Challis Date: Thu Aug 5 01:46:14 2021 +0100 Bump gtest (#13885) * Bump gtest * Pin to latest release commit bdaea259afa98503e6ba30ad3bd2c95872a289bd Author: Joel Challis Date: Thu Aug 5 00:59:50 2021 +0100 Tidy up rgbkb/mun (#13801) * Tidy up rgbkb/mun commit cb4d91f85fa254ab1ce0d068af335735a6265925 Merge: 3917fd5639 f4c55db8dd Author: QMK Bot Date: Wed Aug 4 21:33:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f4c55db8dde8fb1590bff7661dae8718a29208b4 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Aug 4 14:32:27 2021 -0700 cKeys Handwire 101 Refactor (#13879) * update info.json - use human-friendly formatting - remove `key_count` key * rename LAYOUT to LAYOUT_ortho_4x4 * refactor default keymap - add license header - qmk cformat pass - keycode grid alignment * remove empty config.h file from default keymap * update Manufacturer and Product strings * tidy up handwire_101.c - add license header - remove boilerplate functions * tidy up handwire_101.h - add license header - remove instructive comment * minor rules.mk tidy-up - remove Bootloader selection sample comments * rewrite SEND_STRING() statements per fauxpark Co-authored-by: Ryan Co-authored-by: Ryan commit 3917fd56395ca7e8b9c830d64e6943b644df5735 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Wed Aug 4 20:10:31 2021 +0100 [Keyboard] Fix knops keymaps (#13872) commit 3568eafd6564fe74264cfedd20cba47a4566eb26 Author: Drashna Jaelre Date: Wed Aug 4 11:30:49 2021 -0700 [Keyboard] Switch Draculad to using WPM char hack (#13886) commit 6525b82f5f8268ee0064d0f59cbc75dd295f8755 Merge: d9f30d366a 4445455c1f Author: QMK Bot Date: Wed Aug 4 12:25:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4445455c1fbbdc960e7b8ae5cfc6559712d0323a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Aug 4 05:24:54 2021 -0700 BM65ISO: refactor layout macro (#13860) commit d9f30d366a31b63d578e0576f5d04a19a3ed10c6 Merge: d27ab328dc 8e8803459f Author: QMK Bot Date: Wed Aug 4 10:35:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8e8803459f1a6ab0ceebca6ef93cb33b57e827b3 Author: Reza Jelveh Date: Wed Aug 4 18:35:17 2021 +0800 Updated Ducky 2 one mini support (#11112) * Initial Ducky One 2 Mini keyboard and keymap * Keymap macro issue, together with general polish suggestions * Separate default keymap into proper default, iso and ansi versions * info.json updates (Configurator support). DEBOUNCE define adjust. * Unused keymap defines removed. * update requested ducky one mini2 board changes * ducky: don't trigger app key with left shift * ducky: make default mouse key behavior more linear * ducky: add GRAVE_ESC_GUI_OVERRIDE to allow for win+esc to work * ducky: playpause on fn space * ducky: disable RGB_MATRIX until driver is merged * ducky: clang-format matrix and one2mini.c * ducky: update requested changes Remove WFI_IDLE since it's already in the rules.mk CORTEX_ENABLE_WFI_IDLE=TRUE * ducky: update requested changes * ducky: move winkey grave esc to default keymap * ducky: remove dipswitch from keymap and use DIP_SWITCH_MATRIX_GRID instead * ducky: info.json lint * ducky: enable DIP_SWITCH_ENABLE rule * ducky: update readme * ducky: fix backslash on default keymap * ducky: remove unused USB_LED_CAPSLOCK_INDEX 28 * ducky: move mbi5042 led driver to ducky keyboard * ducky: cosmetics * ducky: requested changes * ducky: refactor matrix.c again so we can better compare it to other boards * ducky: remove bootmagic_lite as the boards bootloader trigger is actually handled in its own bootloader * ducky: remove custom matrix * ducky: update for chibios-contrib changes * ducky: debug new USB driver * ducky: debug usb issues * ducky: update chibios version * ducky: remove halconf.h * ducky: update rules.mk * ducky: update chconf.h * Matching submodules. * Restructure to explicitly define which board is in use, remove RGB driver pending followup PR. * Revert "Matching submodules." This reverts commit 2fbb34e0c63ea67ee09d2e2d525723c01431d1cd. Co-authored-by: GitWellBack <48095880+GitWellBack@users.noreply.github.com> Co-authored-by: Nick Brassel commit d27ab328dcb7fe22e67f53516d9505a2efebcd7c Merge: 600faab707 ae20574f84 Author: QMK Bot Date: Wed Aug 4 02:10:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ae20574f84e11c1c9ef3c8dfdb1bd4d3274e9bff Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Aug 3 19:09:25 2021 -0700 barracuda: update info.json layout macro reference (#13874) * barracuda: update info.json layout macro reference - change LAYOUT to LAYOUT_ortho_3x11 * remove Community Layouts rule ortho_3x11 isn't a valid Community Layout. commit 600faab707e188bd6dc0c9a202f8308f6c82556e Merge: 4ffc9d8288 a0f2be18a4 Author: QMK Bot Date: Wed Aug 4 00:23:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a0f2be18a40b157fc22720d127da9b312b1232bf Author: Drashna Jaelre Date: Tue Aug 3 17:23:18 2021 -0700 Add bootloader section to keyboard template (#13774) * Add bootloader section to keyboard template * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit 9c69db47000c84671abd9e567c124b6f1893cba5 Author: Changsu Park <19ds10718@dshs.kr> Date: Wed Aug 4 09:22:40 2021 +0900 Updated settings.json file to fit VSC's docs (#13829) This change fixes the warning caused by deprecated way of configuring terminal profiles. The warning caused by old settings.json is the following: This is deprecated, the new recommended way to configure your default shell is by creating a terminal profile in `#terminal.integrated.profiles.windows#` and setting its profile name as the default in `#terminal.integrated.defaultProfile.windows#`. This will currently take priority over the new profiles settings but that will change in the future. Refer to the link below for more information: https://code.visualstudio.com/docs/editor/integrated-terminal#_configuration commit 4ffc9d8288fcfaec957a8eafc28af7d8d22e7c6c Merge: 2dbc71f037 8802d28aad Author: QMK Bot Date: Tue Aug 3 23:30:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8802d28aade4c403c69daa45f9ff0dba790116c8 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Aug 3 16:29:41 2021 -0700 boardsource/holiday/spooky: update info.json layout macro reference (#13875) - change LAYOUT to LAYOUT_ortho_2x3 commit 2dbc71f037a361743a0182a7e725643511c36234 Merge: c48d9c2b2a d1cbea685e Author: QMK Bot Date: Tue Aug 3 22:54:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d1cbea685e5a47534d2823ff4c67af7e24bb9210 Author: Ryan Baker <76887060+ryanbaekr@users.noreply.github.com> Date: Tue Aug 3 18:54:12 2021 -0400 rb86 (#13824) * rb86 * adjudicate comments commit c48d9c2b2aaae7bb77e6e3a23d5126f63a47be4f Merge: 982b782ce3 2b097d670a Author: QMK Bot Date: Tue Aug 3 21:40:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2b097d670a9fa458b8d059f824a0cbbd5b6c6659 Author: Joakim Tufvegren Date: Tue Aug 3 23:40:08 2021 +0200 Fix overflows in WPM calculations (#13128) * Fix overflow in WPM calculations. First, the "fresh" WPM calculation could end up being up to 12000 (with default `WPM_ESTIMATED_WORD_SIZE`) if keys were pressed more or less simultaneously. This value has now been clamped down to 255, in effect clamping WPM to its max value of 255. Second, with `WPM_ALLOW_COUNT_REGRESSION` enabled, it was possible to regress the WPM below 0 (i.e. to 255) by just repeatedly pressing backspace. * Fix WPM being limited to 235 due to float/int logic. commit 982b782ce30e421f2ad3034bc86efdec58c2ea88 Author: Joakim Tufvegren Date: Tue Aug 3 23:39:34 2021 +0200 Trigger a wakeup after USB Reset on ChibiOS. (#12831) After a USB Reset event the device must, according to the spec wake up from any suspend state, so the Configured event that arrives afterwards should be interpreted as an implicit wakeup. commit 1409b368517a8ce9af1320acc75f7a8fbcdfca18 Author: Joakim Tufvegren Date: Tue Aug 3 23:38:37 2021 +0200 Remove the #10088 hotfix for Teensy 3.1-like Input:Club keyboards (#12870) * Remove the #10088 hotfix for K20x MCU:s. It seems to _cause_ the issue it intended to solve there. * Cleaner way of removing #10088 hotfix. Now only affects Ergodox Infinity, Whitefox and K-type, though. Switches over Ergodox Infinity to the `IC_TEENSY_3_1` board, since that was a nice place to implement the `restart_usb_driver` override. However, I would guess this issue is present for other K20x/Teensy 3.1 boards as well... * Fix comment regarding `IC_TEENSY_3_1` for all keyboards using it. commit 34de7ca224d613e1ae19a45860e27c15d40254dd Author: Joel Challis Date: Tue Aug 3 18:49:33 2021 +0100 Move print/debug files to quantum (#12069) * move print/debug files to quantum * Update comments commit 3f419dc872d3ab61d129c644e114f62fd738e9d6 Author: Joel Challis Date: Tue Aug 3 18:34:32 2021 +0100 Unconditionally call led_init_ports (#12116) * Unconditionally call led_init_ports * Another call to led_init_ports commit 2bc7511b9e045c56e611c8c4f091ce00bc799772 Merge: 51eb5285a6 f2fc23d1b1 Author: QMK Bot Date: Tue Aug 3 17:21:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f2fc23d1b13045f991b0269c2853e3219b052b80 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Aug 3 10:20:53 2021 -0700 aves65: complete layout data (#13868) add layout data for: - LAYOUT_all - LAYOUT_65_iso - LAYOUT_65_iso_split_bs - LAYOUT_65_iso_blocker_split_bs - LAYOUT_65_ansi - LAYOUT_65_ansi_split_bs - LAYOUT_65_ansi_blocker - LAYOUT_65_ansi_blocker_split_bs commit 51eb5285a6268ec9008d3b51ceef3ec3d43fd444 Merge: 738e8e72ba e9a3e20813 Author: QMK Bot Date: Tue Aug 3 17:04:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e9a3e20813a2b13fc2fac9c90d999f8dfb1ce680 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Aug 3 10:03:25 2021 -0700 4pplet/eagle_viper_rep/rev_a: fix missing key object (#13867) Adds a key object for the KC_NUHS key to the info.json data. commit 738e8e72ba1ef8da444c5c0406ec962c30d9242c Merge: 6961976855 853344235a Author: QMK Bot Date: Tue Aug 3 16:40:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 853344235a1cc1329000af2887de50ed4ce964a2 Author: Jonathan Rascher Date: Tue Aug 3 11:39:43 2021 -0500 [Keymap] Minor cleanup of bcat keymaps and userspace (#13224) commit 69619768553b9a30ef71f4db0178c8ddb696fb0e Merge: a14f331c0a 4d42fb2031 Author: QMK Bot Date: Tue Aug 3 07:04:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4d42fb203143340045bfe760bfbe2e427315cf5a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Aug 3 00:04:07 2021 -0700 40percentclub/nori: fix matrix reference in LAYOUT_ortho_4x8 (#13866) * 40percentclub/nori: fix matrix reference in LAYOUT_ortho_4x8 * remove ortho_4x8 from Community Layouts rule ortho_4x8 isn't a valid option here. commit a14f331c0a0d5eed6332e11129f9122d5c6afb38 Merge: 79c88767dd 2d78a43556 Author: QMK Bot Date: Tue Aug 3 03:17:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2d78a43556b8d54657630663b8121dc2294732aa Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Aug 2 20:17:06 2021 -0700 capsunlocked/cu7: fix missing key object (#13862) Adds a key object for the encoder keypress. commit 79c88767ddc223faf3f4338526666f7c6deb6466 Merge: a174d20d06 fd9d531bd9 Author: QMK Bot Date: Tue Aug 3 01:02:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fd9d531bd9554ee3200b2bbb65f39a4833e02ab3 Author: plarso Date: Mon Aug 2 19:01:38 2021 -0600 [Docs] Remove extra word it bootmagic page (#13855) commit a174d20d06cc757d87fcd6e15118d29324b08e38 Merge: 5decdad8c6 be9031d01d Author: QMK Bot Date: Tue Aug 3 00:53:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit be9031d01d3195f75243ef3bd2b3fed369e2c85a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Aug 2 17:52:46 2021 -0700 0xCB Static: fix `qmk info` and Configurator issues (#13856) commit 5decdad8c6b0024ebd5d15994fb101abef24235d Merge: 83bd56e68c c2f227d2a8 Author: QMK Bot Date: Mon Aug 2 08:24:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c2f227d2a87d6258bca6d2f96b6fc475e2fe54f5 Author: JTM <68515848+MatthieuLu@users.noreply.github.com> Date: Mon Aug 2 01:24:25 2021 -0700 Function96 V2: Fixed info.json file (#13322) Fixes the info.json data for the LAYOUT_default and LAYOUT_ansi_splitspace macros. commit 83bd56e68c6d1d7765b0577439b3fbda43d5e234 Merge: ee3c138385 720c676403 Author: QMK Bot Date: Mon Aug 2 04:28:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 720c676403660eacb880528f04a5c1d328b84650 Author: xyzz <1065521+xyzz@users.noreply.github.com> Date: Mon Aug 2 00:27:57 2021 -0400 flash_stm32: don't unlock flash if already unlocked (#13841) On stm32f4 after reboot from DFU it was observed that the flash is already unlocked. In that case, attempting to unlock it again causes a data abort. commit ee3c138385a2644b162807ef05261936858a7e25 Merge: 26b62f7a6c 4b630c46fe Author: Nick Brassel Date: Mon Aug 2 13:55:36 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit 26b62f7a6c4e5dd98e9a1e7b60c7e3a927e00ec2 Author: a_p_u_r_o Date: Mon Aug 2 08:32:26 2021 +0900 Fix alignment of USB out report buffer 2 -> 4 (#13838) commit ebed2e9a81d324e027ccc455a45e11f39c2ce54c Author: Drashna Jaelre Date: Sun Aug 1 08:29:23 2021 -0700 [BUG] Fix Key Override includes (#13831) * [BUG] Fix Key Override includes * simplify includes commit 53683e8d2038559cb356f3ed13d17df18314fbce Author: Jonavin <71780717+Jonavin@users.noreply.github.com> Date: Sun Aug 1 08:37:59 2021 -0400 fix develop branch move file (#13832) Co-authored-by: zvecr commit 4b630c46fed48f8a82641438029b628ec0dd5150 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 31 13:12:49 2021 -0700 Duck Eagle/Viper V2 Refactor (#13828) commit 41a770ded3b5fc54cac9767d680c4989ce7848fc Author: Drashna Jaelre Date: Sat Jul 31 12:18:11 2021 -0700 [Keyboard] Fix SRC include for matrix/m20add issi driver (#13826) commit 851d995a7db7db6bfc366e3d43ce97f7fab17295 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 31 12:17:55 2021 -0700 Merro60 Layout Macro Refactor (#13827) commit 1305b6d82e87ff4116832de6e70f08186c278a6c Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 31 12:16:51 2021 -0700 Momoka Ergo: layout macro/Configurator fix (#13825) * momoka_ergo.h: use modified QMK 3-character notation Renames the matrix position arguments to use QMK's K notation, but using L or R for the left and right halves, respectively. * physically arrange layout macro Arrange the layout macro and keycodes to resemble the assembled keyboard. * info.json: rebuild LAYOUT data Fixes mispositioned keys in QMK Configurator. commit 7bcbeffc2d17aabfcc42135c30b0d4444a048f13 Author: Drashna Jaelre Date: Sat Jul 31 09:30:13 2021 -0700 Fix compile issues due to LED changes (#13821) commit 3f5482bbb7886d1a1dc957fa5a448e9cb87e2c4b Author: slashbunny Date: Sat Jul 31 11:28:09 2021 -0400 Update endgame keymap to work with suspend changes (#13805) Updates the Massdrop CTRL keyboard engame keymap to work after the changes to USB suspend in #12697 Fixes #13782 commit 70fb3e1aaf406cbbd5137916a93ed814d6891ef2 Author: Joel Challis Date: Sat Jul 31 14:35:30 2021 +0100 __flash? (#13799) commit 206a995ccd53b0843e72da606abebe06f39c9c28 Author: Joel Challis Date: Sat Jul 31 14:31:09 2021 +0100 Move some led drivers to common folder (#13749) * Move some led drivers to common folder commit 954806c80ff70bb241949761cf8bfedc28c55ee3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 31 06:25:47 2021 -0700 DP60 layout macro renames (#13811) * info.json: apply human-friendly formatting * rename LAYOUT_60_wkl to LAYOUT_60_ansi_tsangan_split_rshift * rename LAYOUT_60_wkl_split_bs to LAYOUT_60_tsangan_hhkb * info.json: remove `key_count` keys commit 4604b58769f3107253e863ed6f343d8190a5ea27 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 31 06:23:27 2021 -0700 Charue Sunsetter: layout macro fixes (#13809) * remove K214 from LAYOUT_1065_ansi macro Position K214 is only used by the ISO layout (as KC_NUHS); it doesn't get used here. Removing it so the layout macro matches the info.json layout data. Also updates info.json to use human-friendly formatting. * add layout macros Adds: - LAYOUT_1065_ansi_split_bs macro - LAYOUT_1065_iso macro - LAYOUT_1065_iso_split_bs macro - `default_iso` keymap * add LAYOUT_all macro Adds LAYOUT_all macro and a `default_all` keymap. This PCB is unusual in that the ANSI Backslash and ANSI Enter do not share their matrix positions with the Non-US Backslash or ISO Enter keys at all. This layout macro supports both the ANSI and ISO positions in one macro/keymap. commit 56f84774d7c8faa31a38dc7c6d71e2eb72be5320 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 31 06:22:12 2021 -0700 Rartland: add 65_ansi and 65_iso layouts (#13807) * add 65_ansi and 65_iso layouts ... with Community Layout support * add block comment of layouts to rartland.h commit d191ccfdc5c18bb390da03c007c85083e9863499 Author: peott-fr <70998091+peott-fr@users.noreply.github.com> Date: Sat Jul 31 06:14:56 2021 -0700 [Keymap] Add peott-fr Kinesis keymap (#13812) commit aeb252435d0c161ebd22bd8210765609813fc632 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sat Jul 31 14:12:19 2021 +0100 [develop] Fix pimoroni trackball read address (#13810) commit 56200de2ebb237e61e30c5a454e3118a07c594ed Author: Jay Greco Date: Sat Jul 31 06:11:11 2021 -0700 [Keyboard] Reduce nibble oled_status keymap size (#13813) commit e755c5fe1f92ad6f34088b457ce0d170f316a940 Author: Drashna Jaelre Date: Sat Jul 31 06:09:47 2021 -0700 [Keyboard] Fix RGBKB Pan Rev1 Encoder RGB handling (#13781) commit f587ee5b5bcfea4d60e97983ae06a36a46f0f9bb Author: Drashna Jaelre Date: Sat Jul 31 06:08:44 2021 -0700 Update LUFA Submodule (2021-07-30) (#13819) commit fb6c66a14b3b7eb51381b938aa96dd56718d0e17 Author: MakotoKurauchi Date: Sat Jul 31 18:51:32 2021 +0900 change DIP_SWITCH_ENABLE to off (#13815) commit 6c33290ffa3f3d24a038793d1e24e7688d1293c4 Merge: 52dad230d6 ec2f6026b9 Author: QMK Bot Date: Sat Jul 31 09:47:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ec2f6026b906b0d2aa19d2bf55f4aefa74f5149e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 31 02:47:00 2021 -0700 Neito: correct key sequence in info.json (#13808) commit 52dad230d68ffecc3dc5b317cc5f1194b9c6802b Author: ruro Date: Sat Jul 31 07:43:42 2021 +0300 [CLI] Make `qmk doctor` more lenient about system config (#13804) commit 6d82c92476240255eecbab850db26b8706184c83 Merge: 7c70a90867 a4c050b5ae Author: QMK Bot Date: Sat Jul 31 00:34:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a4c050b5ae30bd21be4a4bad596f1275a6d16bfc Author: Nick Brassel Date: Sat Jul 31 10:34:14 2021 +1000 Fix up paths for bioi boards - parallel compilation failures due to file collisions. (#13806) commit 7c70a90867c1022a9ba633945034f87c78712743 Merge: 99fc2173a4 b459f314ec Author: QMK Bot Date: Fri Jul 30 23:22:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b459f314ec3e75d44aa6192bdbdf279041fe5c17 Author: Nick Brassel Date: Sat Jul 31 09:21:45 2021 +1000 Explicitly state that VIA should not be enabled in the default keymap. (#13803) commit 99fc2173a4b9ded987c3a5b496a614744eea946c Merge: f1af7da9ba addb389a5e Author: QMK Bot Date: Fri Jul 30 23:15:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit addb389a5e384f1db927610087c9258589b50f20 Author: Joel Challis Date: Sat Jul 31 00:15:11 2021 +0100 Move ergosaurus via keymap to correct location (#13802) commit f1af7da9ba8834e800b4fe7c76198571c10fc3ec Merge: b021c2f2c5 7bfe53ee2f Author: QMK Bot Date: Fri Jul 30 21:00:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7bfe53ee2f3e85a4216502a3e67eb436ea30c860 Author: Ryan Date: Sat Jul 31 07:00:14 2021 +1000 Fix onekey console keymap (#13797) commit b021c2f2c5890df5335d3dd163167c6fe6213e0d Author: Ryan Date: Sat Jul 31 06:57:40 2021 +1000 Port new_keyboard.sh to CLI (#13706) Co-authored-by: Erovia commit 770a52542592919e504603152f3a2950875150c9 Merge: de1898e69e aece9ad5fa Author: QMK Bot Date: Fri Jul 30 18:45:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aece9ad5fa17624bea32fc1ebb4cd4318f037df2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 11:44:50 2021 -0700 Xelus Dharma: add info.json file (#13796) commit de1898e69e6338d51a4f28d0b1418d2c06b7e77b Merge: d34e61a43c e180524c10 Author: QMK Bot Date: Fri Jul 30 18:18:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e180524c10a8d740dce193c8596af3957b4a9dd9 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 11:17:48 2021 -0700 txuu: rename LAYOUT to LAYOUT_65_ansi_blocker_split_bs (#13794) Renames the layout macro to be more conformant to the rest of QMK. commit 57ad8db60e1bd34695a178a44d6efa9f2f853261 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 11:17:30 2021 -0700 Tiger910: fix Left Control key size in info.json (#13793) commit d34e61a43c6a6009282b5db5d0453c1c7dba7041 Merge: 70dceefa01 4758ea2188 Author: QMK Bot Date: Fri Jul 30 18:17:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4758ea21886685eb3a5c90a789a2bdd74f87e4e1 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 11:16:59 2021 -0700 Stratos: fix layout macro reference in info.json (#13792) - change LAYOUT_60_ansi_tsangan_hhkb to LAYOUT_60_tsangan_hhkb commit 70dceefa019f20f85ada1847efd83a7bb4caa9e5 Merge: 701808372e 069f479af4 Author: QMK Bot Date: Fri Jul 30 18:16:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 069f479af48f45f941bdb8e7f6bb41adcf525a1a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 11:16:37 2021 -0700 Ristretto: fix Configurator layout data (#13791) commit 6af2d3a32cab19d2d3fec99da79c98b0ad14bde0 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 11:16:18 2021 -0700 X-Bows Ranger: rename LAYOUT to LAYOUT_tkl_ansi (#13795) commit 701808372e132c6ecea44e0e9c88a3dc187d68b1 Merge: 3461bdad43 d1db008745 Author: QMK Bot Date: Fri Jul 30 17:10:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d1db0087456e0cc7d20477feb22f434c3a4ce51d Author: Ryan Date: Sat Jul 31 03:10:05 2021 +1000 Onekey cleanup (#13786) commit 3461bdad4349fcb06ed1607a500a3b909c532523 Merge: e6c884415d cfca970718 Author: QMK Bot Date: Fri Jul 30 17:02:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cfca9707182aa832bb1c3aa2e93ce3cf749c63e9 Author: Matthew Dias Date: Fri Jul 30 12:01:43 2021 -0500 [Keyboard] Add portal 66 (#13767) commit e6c884415d54ec2852feb70a5aa3c14ad0367fc4 Merge: 04a2fa8ff3 1e2408af91 Author: QMK Bot Date: Fri Jul 30 16:54:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1e2408af915b7e79749ae5f51134a1032ba70313 Author: 8bits4ever <87928173+8bits4ever@users.noreply.github.com> Date: Fri Jul 30 18:53:55 2021 +0200 [Keyboard] Add Commodore Amiga 1200 Membrane Converter (#13705) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 04a2fa8ff3db5164eb1be589cd8f3f551f2da964 Merge: dfb370402e 77735b0a56 Author: QMK Bot Date: Fri Jul 30 15:13:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 77735b0a5601231dfbe19850960ff38674220473 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 08:12:36 2021 -0700 Pearl Boards Pandora: correct layout macro reference in info.json (#13787) commit dfb370402ee2e84ea4d123f89a55456c0fb8d79f Merge: f87c72ef8f 6823e03b01 Author: QMK Bot Date: Fri Jul 30 15:12:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6823e03b0143ed839e594cd5e8d06872ba907a42 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 08:11:37 2021 -0700 Ocean Sus Board: rename layout macro (#13785) - rename LAYOUT_ortho_3x4 to LAYOUT_ortho_4x3 - ... because ortho layouts in QMK are named by x instead of x commit f87c72ef8f7854eb6a35c6ef75306289156bbbb4 Merge: 4735aab75b f2d34f38be Author: QMK Bot Date: Fri Jul 30 15:11:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f2d34f38be1e793068ab02d6a7942ca7a3a5188c Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 08:10:59 2021 -0700 Nack: rename layout macro to LAYOUT_ortho_4x13 (#13784) commit 4735aab75bf86b5bd1e3218c5f5b3f3b51dfba49 Merge: ba1fdf97b1 8b39a3c484 Author: QMK Bot Date: Fri Jul 30 13:48:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8b39a3c48470ff95ba358dcb36c3c2f3b8e5a70f Author: Ryan Date: Fri Jul 30 23:47:34 2021 +1000 `qmk docs`: Add flag to open in browser (#13788) * `qmk docs`: Add flag to open in browser * Add docs commit ba1fdf97b13c60393de5bfe30d25a3e48368cb2c Merge: 38686dd0c5 d93089d8ea Author: QMK Bot Date: Fri Jul 30 07:17:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d93089d8eaffa4fc6d3c41fd513b005bc8ff6562 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 00:17:11 2021 -0700 MNK1800s: fix Configurator key sequence (#13783) commit 38686dd0c5e85752c1c4f98816d5aaef2f8a26b4 Merge: 80d8c4a483 e1ce0d2836 Author: QMK Bot Date: Fri Jul 30 07:07:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e1ce0d2836cb8428624861107806160b16c849d6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 30 00:07:10 2021 -0700 Clawsome Luggage Rack: correct keymap directory name (#13780) Rename `keyboards/clawsome/luggage_rack/keymap/` to `keyboards/clawsome/luggage_rack/keymaps/`. commit 80d8c4a48325b6b41a46f9445686ad0523aa4ccc Merge: 25f43837d2 6fd9b2feba Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 29 23:04:06 2021 -0700 Merge remote-tracking branch 'upstream/master' into develop commit 6fd9b2feba920e9c7773e1f9c84244ac0d0f50c0 Author: officereso <49379681+officereso@users.noreply.github.com> Date: Fri Jul 30 00:56:27 2021 -0500 [Docs] Added information on soldering diodes in parallel (#13117) Co-authored-by: Ryan commit a1f7d86ef59c1bfb52fbf2ba326ae899fb020c11 Author: Álvaro A. Volpato Date: Fri Jul 30 02:54:06 2021 -0300 [Keyboard] Initial Noxary 378 support (#13156) Co-authored-by: Gondolindrim commit 03212ced241522351f5e019946dd701c78793a1f Author: Jonavin <71780717+Jonavin@users.noreply.github.com> Date: Fri Jul 30 01:38:38 2021 -0400 [Keymap] jonavin gmmk pro keymap add RGB functionality (#13591) Co-authored-by: Drashna Jaelre Co-authored-by: Jonavin <=> commit 7e1d28006ffeb66cd4d6a987f2aeea04587b87cb Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 29 22:37:41 2021 -0700 CherryB Studio CB1800: fix key sequence in info.json (#13779) This commit fixes the position in sequence of the arrow keys. commit 25f43837d2d603505a498662993bdeaecb7bc43d Author: Ryan Date: Fri Jul 30 15:37:18 2021 +1000 Remove references to info.json `width` and `height` in CLI (#13728) commit 219ce2b58a078cd04ff8186bdebbf632f7ebb7fc Author: Jonavin <71780717+Jonavin@users.noreply.github.com> Date: Fri Jul 30 01:36:21 2021 -0400 [Keymap] jonavin quefrency keymap (#13751) add winkeylock and rgb functions Co-authored-by: Jonavin <=> commit 104cdef32954d10065ed7f0b8b724e631eb5c2e9 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 29 22:26:47 2021 -0700 Cannonkeys Balance: Configurator fixes (#13778) commit 327e5a08d9566ac93048992786abdf6538e39591 Author: Trent Hoh Date: Fri Jul 30 13:24:21 2021 +0800 [Keyboard] Added YMD40v2 VIA (#13770) VIA support for YMD40v2 commit 86c0a6d3d7b960a6cb397404514b1bb1d042e42f Author: fvolpe83 <62909893+fvolpe83@users.noreply.github.com> Date: Fri Jul 30 07:16:51 2021 +0200 [Keymap] Update keymaps for fvolpe83 (#13739) changed folder name to match github username, changed caps from LT(1,KC_CAPS) to MO(1) and updated readme commit fab1af415413e14c04c41dc3716c75500d67baf3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 29 22:11:57 2021 -0700 AnomalyKB a65i Configurator fixes (#13775) commit 987e8e3529b0d384c2848f4b36ce01cb0886f52b Author: Ramon Imbao Date: Fri Jul 30 13:08:05 2021 +0800 [Keyboard] Add Mona v1.1 (#13721) Co-authored-by: Drashna Jaelre commit 8ca6d835b9c3b81dd1815cc57fdc154766c7dbe5 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 29 12:14:26 2021 -0700 Atomic Refactor (#13761) * info.json: human-friendly formatting - one key per line - line breaks between physical rows - four-space indent * info.json: add data for LAYOUT_grid * fix keymap paths This commit corrects the paths for three keymaps that were in the wrong directory. * refactor and bugfix abienz keymap - remove extra commas - use QMK-native aliases for KC_TRNS and KC_NO - add include for Colemak keycode support - use four-space indent * refactor and bugfix michelle keymap - remove inline comments for keymap layout - remove extra commas - use QMK-native aliases for KC_TRNS and KC_NO - use four-space indent * refactor and bugfix twolayer keymap - remove extra commas - refactor action_get_macro() keycode to QMK-native keycode - use QMK-native aliases for KC_TRNS - use four-space indent - adjust grid alignment * rename LAYOUT_grid to LAYOUT_ortho_5x15 * refactor config.h file - use #pragma once include guard - update MANUFACTURER and PRODUCT strings to be consistent with other OLKB boards - remove Magic config (all settings are default) * refactor atomic.c - add license header - use GPIO control functions * refactor atomic.h - add license header - use #pragma once include guard - remove redundant file includes * refactor rules.mk - remove Bootloader selection comments - unify Build Option header comment to QMK template - unify Build Option rules and inline comments * alias LAYOUT_grid to LAYOUT_ortho_5x15 commit c0149dc37601e897e57739c65bbd8a4890adb4f7 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 29 11:09:16 2021 -0700 Alu84 Refactor (#13760) * info.json: human-friendly formatting * use QMK 3-character notation for layout macro/data * alu84.h: use #pragma once include guard * clean up alu84.c Remove unnecessary includes and functions. * refactor config.h - use #pragma once include guard - enable Backlight Breathing - align comments to QMK AVR template * refactor default keymap - add license header - use layer_names enum - refactor keymap to be more generic - remove unnecessary and empty functions * refactor turbomech keymap.c - edit license header - refactor keymap for readability (use QMK-native keycode aliases) - remove unnecessary and empty functions * refactor turbomech config.h - use #pragma once include guard - align to QMK template * refactor turbomech rules.mk Edit the file to make it conform to QMK template. * align rules.mk to QMK template * touch-up default keymap * touch-up alu84.h * rename LAYOUT to LAYOUT_75_ansi Also enables Community Layout Support * modernize readme.md - update description - convert keyboard data to list - add flashing and bootloader instructions - update Docs links * alias LAYOUT to LAYOUT_75_ansi * change readme image URL per fauxpark * touch up turbomech keymap rules.mk per fauxpark * rules.mk: convert tab to spaces commit 441914e0ad6163a83cd19953821e191033a45fe2 Merge: d243512ad6 a78fdbb1f6 Author: QMK Bot Date: Thu Jul 29 17:45:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a78fdbb1f63305c4960642dc1005d06d5d0e69be Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 29 10:45:22 2021 -0700 Draytronics Elise Configurator fixes (#13763) commit d243512ad6606d922a031c326c802f7bf0dae038 Merge: 703d886c21 5a0985aa4a Author: QMK Bot Date: Thu Jul 29 16:50:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5a0985aa4a10ae15d3c3eb49a0394b10a62160ae Author: TreasureTypes <73436366+TreasureTypes@users.noreply.github.com> Date: Thu Jul 29 18:50:05 2021 +0200 [Keyboard] Add Treasure TYPE-9 Series II (#13725) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 703d886c216c1f035fae22f1d08fa2508a854548 Merge: ae6a3ae20e aa0b7079a4 Author: QMK Bot Date: Thu Jul 29 16:12:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aa0b7079a4a7a3174c7f078fc5fa81e630df1775 Author: Alabahuy Date: Thu Jul 29 23:12:29 2021 +0700 [Keyboard] add sus board (#13701) commit ae6a3ae20e7b8556b50fd9ae9704eff2c69a55e8 Merge: 5bb736d1d6 441fd2ca5b Author: QMK Bot Date: Thu Jul 29 16:12:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 441fd2ca5b942ea93d2345d1181ed76a95fd8ae7 Author: Takeshi Nishio Date: Fri Jul 30 01:11:40 2021 +0900 [Keyboard] Match Vendor ID to my other keyboard, "unison". (#13699) Co-authored-by: Takeshi Nishio commit 5bb736d1d6c0241fd58fc0b1254cbe5c7bafeb88 Merge: 935079f266 6bdecb16c0 Author: QMK Bot Date: Thu Jul 29 16:04:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6bdecb16c0fc1b3dd17cbc0d2bc73f9a7bfa6142 Author: Uy Bui Date: Fri Jul 30 01:03:21 2021 +0900 [Keyboard] we27 update info.json (#13678) commit 935079f266bf65dbed07b2fce19dfcf9dae9d97e Merge: 957bd4d1d1 768072e824 Author: QMK Bot Date: Thu Jul 29 15:50:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 768072e824aa1f95bec1c15ec8072770f92d193f Author: bomb <84309788+mj-bomb@users.noreply.github.com> Date: Thu Jul 29 23:50:28 2021 +0800 [Keyboard] Add Mojo68 for Melgeek (#13578) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 957bd4d1d155f4b26be7ac0d80fcd8206f1b886f Merge: faf4f6d005 ae268596ce Author: QMK Bot Date: Thu Jul 29 15:50:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ae268596ce9c591b28e80b04516b3ed8936f5aa5 Author: AquaCylinder <56627792+AquaCylinder@users.noreply.github.com> Date: Thu Jul 29 17:49:51 2021 +0200 [Keyboard] Add Emi20 (#13603) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit faf4f6d00566cbb60a260ae89f9f5128823c9bdf Merge: 58baf5a3d8 ad6acb3a03 Author: QMK Bot Date: Thu Jul 29 15:49:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ad6acb3a03b826ce64bc1171d84fe9c364e2031d Author: DA <56441863+duongaanh@users.noreply.github.com> Date: Thu Jul 29 22:48:39 2021 +0700 [Keyboard] add cherryb studio cb1800 keyboard (#13639) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 58baf5a3d8fb2ce4d71fc001b8fae73274738f8f Merge: 04a0f0cb18 8fa674727d Author: QMK Bot Date: Thu Jul 29 15:48:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 04a0f0cb18d65a1369b83a03e929b8f3d14c778c Merge: 1df2f23ab4 8d611f6873 Author: QMK Bot Date: Thu Jul 29 15:47:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8fa674727d7586db85da901f9d837ea74bc8095b Author: X-Bows Tech <41098278+XBowsTech@users.noreply.github.com> Date: Thu Jul 29 23:47:51 2021 +0800 [Keyboard] Add X-Bows Ranger Keyboard (#13660) Co-authored-by: Ryan commit 8d611f6873aa4f357d625f9e9b8cf86ec1b64940 Author: Jonavin <71780717+Jonavin@users.noreply.github.com> Date: Thu Jul 29 11:47:14 2021 -0400 [Keymap] Jonavin keymap Mercutio add win key lockout function (#13670) Co-authored-by: Jonavin <=> commit 1df2f23ab458f27801d22144968d41ef7c684b22 Merge: 5418777454 dc2dfe2a6c Author: QMK Bot Date: Thu Jul 29 15:43:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dc2dfe2a6c8fa14839959680cae1d063b2f9546e Author: N2-Sumikko <54104281+N2-Sumikko@users.noreply.github.com> Date: Fri Jul 30 00:42:28 2021 +0900 [Keyboard] Add halfcliff keyboard (#13515) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 5418777454ec1d714f93709295a11cab9d6bfb52 Merge: ec8d08810f 3a48cd64cb Author: QMK Bot Date: Thu Jul 29 15:29:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3a48cd64cbaa8d7eb9c6984e532bfa95f87c93b7 Author: ESCA47 Date: Thu Jul 29 08:28:33 2021 -0700 [Keyboard] Add GetawayVan (#13412) Co-authored-by: Ryan commit ec8d08810f13fc25097dddffcede2d5d9baf4ed9 Merge: 614c627114 f3d7901950 Author: QMK Bot Date: Thu Jul 29 15:23:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f3d790195027935574fd5f73d0c2e409e01f5266 Author: Jordan Blackbourn Date: Fri Jul 30 03:23:27 2021 +1200 [Keyboard] Added Orthocode keyboard (#13487) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 614c627114b84cd0502765a3c9bcbfbd08b0830e Merge: 69661eb5ab e646211919 Author: QMK Bot Date: Thu Jul 29 02:01:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e6462119199addb6c6e99613699017b633a48155 Author: Joel Challis Date: Thu Jul 29 03:00:39 2021 +0100 Fix unit tests after recent refactor (#13765) commit 69661eb5ab72c9d4aeb794bf15973e34942dcdcd Merge: aabbaf11aa ccdb432f71 Author: QMK Bot Date: Wed Jul 28 23:34:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ccdb432f715c2b04fd749f819496c6e1f0ca3e0e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jul 28 16:34:17 2021 -0700 Allison Numpad: Configurator fix for LAYOUT_numpad_6x4 (#13759) * info.json: human-friendly formatting - one key object per line; line breaks between physical rows - four-space indent - remove trailing whitespace * info.json: correct key object order for LAYOUT_numpad_6x4 commit aabbaf11aaf52207d2ba9870bd4b1d7dbfe51418 Merge: 4ef8ff458d 491b83aa32 Author: QMK Bot Date: Wed Jul 28 11:02:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 491b83aa32e59be68387c25fcfa7bd6e7cb51479 Author: Ryan Date: Wed Jul 28 21:02:29 2021 +1000 Update "make format" message (#13741) * Update "make format" message * Add examples for `qmk` command as well commit 4ef8ff458d7dcf49a288bb484323ab2098a21ef9 Author: Joel Challis Date: Wed Jul 28 12:01:49 2021 +0100 Minor tidy up of key overrides (#13747) * Minor tidy up of key overrides * Update quantum/quantum.c * Update quantum/quantum.c commit 50964ae82160921f2c442e18c1ffc15316c29815 Merge: 03d258c222 fcce9f2a4f Author: QMK Bot Date: Wed Jul 28 11:01:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 03d258c2226959480fc3ead1568ca2fe8ba37c59 Author: Joel Challis Date: Wed Jul 28 12:01:23 2021 +0100 matrix_scan_x -> x_task (#13748) commit fcce9f2a4f3e59ba41749c22460fe549e717393c Author: Shane Celis Date: Wed Jul 28 07:00:55 2021 -0400 fix: Fix typo in documentation for one shot keys. ON_TOGG -> OS_TOGG (#13754) `ON_TOGG` doesn't exist in the codebase. commit c52c69d45f180e8ab677be4707ea2c8180a14254 Author: Drashna Jaelre Date: Wed Jul 28 04:00:16 2021 -0700 Allow for higher USB Polling rate on ATSAM boards (#13755) commit 2f4361c88fa754c42536dea7b84c5ac25f07593c Merge: 7ac7ca96e9 9088df04c3 Author: QMK Bot Date: Wed Jul 28 07:25:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9088df04c3e1c1b47115a5d2fb7373e424e0dcb5 Author: Jonavin <71780717+Jonavin@users.noreply.github.com> Date: Wed Jul 28 03:24:51 2021 -0400 [Keyboard] fix short circuit in led_update_kb for quefrency rev3 (#13752) Co-authored-by: Jonavin <=> commit 7ac7ca96e960e23ae88dcb3ec2ac3145ebad5a68 Author: Joel Challis Date: Tue Jul 27 23:57:42 2021 +0100 Remove some legacy files (#13715) commit 3858a784c702d75d207e62c6cdf4449eed41c789 Author: Joel Challis Date: Tue Jul 27 23:55:51 2021 +0100 Align AW20216 driver (#13712) * Align AW20216 driver * Update drivers/awinic/aw20216.h Co-authored-by: Ryan * Review comments * formatting fixes * stop if start failed? * review comments Co-authored-by: Ryan commit 56443fe3cf19768f34e065319d50164d4e99dd3c Author: Ryan Date: Wed Jul 28 01:16:41 2021 +1000 Fix typo in Dactyl Manuform (#13740) commit 468f7054558153cbf7f7ece3cf8775e1f3d28fe9 Author: Ryan Date: Tue Jul 27 22:00:38 2021 +1000 Dactyl Manuform cleanup (#13686) commit 95de60513d3f7375f58001f775ca23d199b75584 Merge: 998ac203e4 ae2c2358ec Author: QMK Bot Date: Tue Jul 27 02:45:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ae2c2358ec9f581c3c1890edcb618297983746d1 Author: ForsakenRei Date: Mon Jul 26 22:45:08 2021 -0400 [Docs] Add `default` case in Tap Dance Example 6 (#13727) Added a `default` case in `switch(ql_tap_state.state)` at line 493 and 494. Without it compile firmware with Example 6 code will encounter 2 errors: `enumeration value 'TD_NONE' not handled in switch` `enumeration value 'TD_UNKNOWN' not handled in switch` commit 998ac203e4f325f7fc5d97129e4d94083a50c7f9 Merge: be34fdea4b a617c8b80a Author: QMK Bot Date: Tue Jul 27 02:44:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a617c8b80a5e1760ffaac5e4367d89065f2fbce9 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jul 26 19:43:48 2021 -0700 [Keyboard] Ares refactor (#13730) commit be34fdea4b2903ae12de57b36a68b7c7b0648b74 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Tue Jul 27 10:42:34 2021 +0800 [Keyboard] Add RGB matrix support for Kyria (#12789) Co-authored-by: Drashna Jaelre Co-authored-by: filterpaper commit 3affdcb45b51641b2a5d918c69f3afe2b2f5c757 Author: Drashna Jaelre Date: Mon Jul 26 19:41:28 2021 -0700 Reduce firmware size in prep for #12670 (#13724) * Reduce firmware size in pre for #12670 * Also disable pixel mode, just in case commit e032fbe3265426aa4779a4b4bed384bba43b815f Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Tue Jul 27 09:01:16 2021 +0800 [Keyboard] Update kyria make path example (#13720) Co-authored-by: filterpaper commit eb46c954dcf99d842967cc6095827316ffddd291 Author: Drashna Jaelre Date: Mon Jul 26 17:59:49 2021 -0700 [Keymap] Drashna's Defaults cleanup (#13722) commit 368efb5d2b834d995ba24cd23349327bab02918b Author: Joel Challis Date: Tue Jul 27 01:17:58 2021 +0100 Remove legacy BACKLIGHT_CUSTOM_DRIVER option (#13731) commit 394272a2663692081ce6f5b74f6f761090111ad0 Merge: e0375c0b71 b1c5a53a68 Author: Nick Brassel Date: Tue Jul 27 10:11:52 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit b1c5a53a68ca8a304e7739467f2793c223853f68 Author: datafx <2432997+datafx@users.noreply.github.com> Date: Mon Jul 26 20:07:29 2021 -0400 Add bootloader size (#13729) * Add bootloader size Bootloader size needs to be 6144 to allow QMK to jump to the correct location with bootmagic * Include dz60rgb v2.1 Add boot loader size to this pcb also commit e6e4ec6267bef6ea571338968cd614eb5e8b7ea2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jul 26 13:02:44 2021 -0700 40percentclub/nein: update info.json layout macro reference (#13726) - change LAYOUT to LAYOUT_ortho_3x3 commit e0375c0b710c075780e7ffe1afe4c39fccd96929 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Mon Jul 26 16:05:13 2021 +1000 [Keyboard Update] Change to L422 (#13717) * change to L422 * Add bootloader Co-authored-by: Ryan * add bootloader Co-authored-by: Ryan Co-authored-by: Ryan commit a73e0a7b1308825ffd2fff18ff385add09f31c03 Author: Cyril Date: Mon Jul 26 01:51:23 2021 -0400 Revert "Fixed the ortho60 and ortho48 matrix layout after testing (#12106)" (#13456) This reverts commit e25f05224f1c06aeed13b2e99e8e755af65ac689. commit b9902a3f59b72f2b54396ce6063c726e7fbd60f3 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Mon Jul 26 15:34:39 2021 +1000 [Keyboard] Valor Rev 2 (#13551) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 9e782e4f1415e25b0f8349d51400fdfe29ebb0c1 Author: Drashna Jaelre Date: Sun Jul 25 21:24:47 2021 -0700 [Bug] Include gpio.h in solenoid driver for GPIO Control functions (#13716) commit 2e5cecd704ee576cc471f286c5cae9ace8379af6 Author: bomb <84309788+mj-bomb@users.noreply.github.com> Date: Mon Jul 26 12:22:13 2021 +0800 [Keyboard] Change RGB light defaults for melgeek/mj6xy (#13657) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit f945c352e7db3fedb16c90f9f176b3df6e0b62ae Author: Joel Challis Date: Mon Jul 26 03:14:58 2021 +0100 Haptic: driver-> feature (#13713) commit 4bb595f94b5c77e7a961ff69d2b4d9c53a9094fc Author: Drashna Jaelre Date: Sun Jul 25 18:18:39 2021 -0700 [Keyboard] Fix up SplitKB keyboards (#13511) commit d45da3f0fb76222a2af63b0b61f21ae78117b2d4 Author: Drashna Jaelre Date: Sun Jul 25 18:18:22 2021 -0700 [Keyboard] Update ZSA Keyboard Readmes and keymaps (#13041) * [Keyboard] Update ZSA Keyboard Readmes and keymaps * Apply suggestions from code review Co-authored-by: Ryan * Remove custom rgb code for RGB_M_P * Fix inevitable typo Co-authored-by: Ryan * Update keyboards/planck/ez/readme.md Co-authored-by: Ryan Co-authored-by: Ryan commit d90897052243808863bcab3b07e16d5b6a0b08f0 Merge: 71e9f8fc11 fc9fb2c775 Author: QMK Bot Date: Sun Jul 25 16:18:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fc9fb2c77505cf1dcf5d1f50dd61a980471b3494 Author: Joel Challis Date: Sun Jul 25 17:18:09 2021 +0100 Allow output of logging when running unit tests (#13556) * Initial pass at enabling logging for unit tests * Add to docs * Bind debug for more test types * Force everything * Tidy up slightly commit 71e9f8fc11f617278497611e169bf2ddccd2211c Author: Drashna Jaelre Date: Sat Jul 24 23:00:57 2021 -0700 Update LUFA (18-07-2021) and add QMK-HID Bootloader support (#13588) Co-authored-by: Ryan commit a030950fd6754fae361845e872a4855032d6f666 Author: Drashna Jaelre Date: Sat Jul 24 21:19:38 2021 -0700 [Keyboard] Fix compile size for the Vitamins Included via keymap (#13696) commit 958483a4bad62cb55e2782dbf0f8762692748515 Author: Marc Tamsky Date: Sat Jul 24 20:51:40 2021 -0700 docs/cli_commands: fix typo (#13697) commit a938c54512b85251c5dae3bccae835a919460e71 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sun Jul 25 03:33:30 2021 +0100 dirty fix (#13695) commit 4ec8764c70da13366f8cb7f8240e3124ea509da5 Merge: fdf3ce3cd1 b69e7431aa Author: Nick Brassel Date: Sun Jul 25 12:17:15 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit b69e7431aa2e22b4f4662c64e84ed242caac055e Author: Drashna Jaelre Date: Sat Jul 24 19:07:46 2021 -0700 [Keyboard] Fix keymaps for clueboard 66_hotswap (#13694) * [Keyboard] Fix default keymap for clueboard proto * Fix keymaps, because they're not actually revision compatible * Add copyright headers commit fdf3ce3cd1bbf931660678b0b5e138ce37c84e7c Author: Drashna Jaelre Date: Sat Jul 24 18:05:48 2021 -0700 [Keyboard] Fix compile size for the Lets Split Sockets via keymap (#13691) commit 210da7b233f1e61d958b64ad77fbc026667cc495 Author: Drashna Jaelre Date: Sat Jul 24 18:05:19 2021 -0700 [Keyboard] Fix Compile size on ungodly Launch Pad (#13692) commit 8cc568bc29b2b488dd90c686350b78a7605c58de Author: Ryan Date: Sun Jul 25 11:02:36 2021 +1000 Fix & clean up tronguylabs/m122_3270 (#13684) commit 95730d4f9605f6c7185ceec168d83508e0b9046b Author: Drashna Jaelre Date: Sat Jul 24 18:01:13 2021 -0700 [Keyboard] Fix compile size for the Merge UM70 via keymap (#13690) commit 0b95ac2e4b29a663258aee475a70a3200d113ac2 Author: Drashna Jaelre Date: Sat Jul 24 12:17:04 2021 -0700 Clean up remaining RGB_DISABLE_WHEN_USB_SUSPENDED defines (#13689) commit b5bcd5b0a18079df1252a718588255c62d24a054 Author: Joel Challis Date: Sat Jul 24 19:56:45 2021 +0100 Refactor some platform dependent logic (#13675) commit ab42945c9a716d7fdcb2c50dd184761e105acc03 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sat Jul 24 18:45:34 2021 +0100 [Keyboard] Fix Q1 change dip switch to bool (#13687) commit d972919204a5f1cb96d4e16c765d7028a423888a Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sat Jul 24 18:44:31 2021 +0100 [Docs] Fix typo in dip switch example (#13688) commit 93fc2cbc8a3ac5d5850c79a8d99ba7602b0738ee Merge: e681c4368b 145d89ab91 Author: QMK Bot Date: Sat Jul 24 16:37:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 145d89ab9192d08b7e22a14105d27988944b7b0c Author: lokher Date: Sun Jul 25 00:37:24 2021 +0800 [Keyboard] Add Keychron Q1 (#13397) Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit e681c4368bbbc7842a3ccf0503ba87c56ca23085 Merge: 7aa1938fa4 44a0aa924c Author: QMK Bot Date: Sat Jul 24 15:40:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 44a0aa924c411298ff33cb90c9ddef709d44d843 Author: James Won Date: Sat Jul 24 08:40:05 2021 -0700 [Keymap] add kinesis/keymaps/jwon (#13618) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 7aa1938fa487b0f657c66101b1fa29e02da8e325 Merge: e562238309 1b002b7dcc Author: QMK Bot Date: Sat Jul 24 15:39:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1b002b7dcc1707564db171d7926ade7f7d4894fc Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Jul 25 01:39:26 2021 +1000 [Keyboard] Dharma (#13663) Co-authored-by: Ryan commit d4bc77ac9492b8c0183e97fdb2b34407e0b197b6 Author: Shane Celis Date: Sat Jul 24 11:39:04 2021 -0400 feature: Add swap hands support for sofle keyboard. (#13654) commit e562238309fd5fa6eaf81918fab23b4fe674b5f2 Author: Joel Challis Date: Sat Jul 24 15:50:32 2021 +0100 Fix up xd002 rgb keymaps (#13685) commit 567da49ed027a936a6f56aa069aad0db4605a198 Author: Joel Challis Date: Sat Jul 24 12:13:06 2021 +0100 Avoid LTO conficts on arm_atsam (#13676) commit 7907a725846720b96833057e94b548c38fcd0116 Author: Drashna Jaelre Date: Sat Jul 24 02:36:41 2021 -0700 [Keyboard] Reduce compile size for dz60rgb v2.1 (#13680) commit a2d0efe5ad79fbd63a682356aa2a4b6d186b1d8f Author: Drashna Jaelre Date: Sat Jul 24 01:06:56 2021 -0700 [Keyboard] Fix type on pandora via keymap (#13681) commit b8a1e14f53489eea63bd747d1b94d7d9b7da5ac9 Author: Drashna Jaelre Date: Sat Jul 24 00:37:19 2021 -0700 Remove deprecated callbacks for encoders and dip switches (#13404) commit 73d4d7dc2bcad7ed7e4d3bdb33aacc18c374c8a9 Author: Drashna Jaelre Date: Fri Jul 23 23:38:54 2021 -0700 [Keyboard] Quick hack to fix Astro65 board (#13665) * [Keyboard] Quick hack to fix Astro65 board * Use proper pins commit b7fe93c4b809bb82484b242389ff09fe5714716f Merge: 489c0f969d e08203f16a Author: QMK Bot Date: Sat Jul 24 03:45:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e08203f16a5d9b69abea796583491d4b2de3aa6b Author: Rafael Yumagulov Date: Sat Jul 24 06:45:24 2021 +0300 [Keyboard] Added Compound keyboard support (#12942) * [Keyboard] Added Compound keyboard support * Small fixes for Compound keyboard * Fixed readme and header file for Compound keyboard * Update keyboards/compound/rules.mk Co-authored-by: Ryan * Changed info.json and readme.md for Compound Keyboard info.json - removed key_count readme.md - changed PCB picture url to low-resolution Co-authored-by: Ryan Co-authored-by: Ryan commit 489c0f969d8aedf010b0d0d26eb7eca82db3bc93 Author: Nick Brassel Date: Sat Jul 24 13:40:00 2021 +1000 Disables rgblight twinkle by default. (#13677) This takes up about 700 bytes of space, and needs to be swapped to opt-in, rather than opt-out. Build failures in general on AVR due to the scarcity of available flash. People can re-enable it by adding to their keymap's config.h files: ``` #define RGBLIGHT_EFFECT_TWINKLE ``` commit 83a0d85f2b1b9d640f866bcb1e1906a77af102f7 Author: Drashna Jaelre Date: Fri Jul 23 18:06:06 2021 -0700 [Keyboard] Fix split matrix for sekigon grs 70ec (#13672) commit e35672169e3e3b9bb9a1454ab57ca403bfc5ca66 Author: Drashna Jaelre Date: Fri Jul 23 15:36:39 2021 -0700 [Keyboard] Fix matrix delay on Drop boards (#13671) commit 8f1ebdb7182747d78b0f988ba5096bb63a0713d2 Author: Drashna Jaelre Date: Fri Jul 23 14:57:24 2021 -0700 [Keyboard] Disable console by default on all Keebio boards (#13649) commit fdcea0633657fba4cebcef45eee2f103d162e28c Author: Erovia Date: Fri Jul 23 21:41:33 2021 +0100 CLI/Docs: Fix the format commands' name (#13668) PR #13296 changed the name of the `cformat` and `pyformat` commands to `format-c` and `format-py` respectively. This PR updates the documentation and some parts of the CLI to use the new names. Also add documentation for the new `format-text` subcommand, introduced in the same PR. commit 164a74a078722cc488526c0c8fcbc4e1b54a5780 Author: Drashna Jaelre Date: Fri Jul 23 11:28:41 2021 -0700 [Keyboard] Enable LTO by default on BastardKB Scylla (#13664) commit 5b904a92c4ef143fe1d10927bbda94dd27f78a1d Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Jul 24 01:05:06 2021 +0900 [Keyboard] Fix symmetric70_proto build break on develop branch (#13667) Co-authored-by: Drashna Jaelre commit 6747890562d7580a8d9b82df764322bdcd294a3b Author: Nick Brassel Date: Sat Jul 24 01:17:15 2021 +1000 [Keyboard] Remove broken, unmaintained converter/ibm_5291 (#13658) commit 8ea31698c9e61097cda4c3a944381312fb3645c3 Merge: fa32c66e9d 4a47ee937d Author: QMK Bot Date: Fri Jul 23 15:11:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4a47ee937db397b32387b5d71851569cdfc8a8d2 Author: Matthew Dias Date: Fri Jul 23 11:10:01 2021 -0400 [Keyboard] Add model-v keyboard (#13643) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit fa32c66e9d6075252c9a8278305677c440b1c499 Author: Zach White Date: Fri Jul 23 08:06:12 2021 -0700 [Keyboard] Fix dc01/left so that it doesn't throw a warning (#13653) commit 4ff4c05719dcf22983cac89d6f046b6ab3574e62 Merge: 816accda3d cda1792ece Author: QMK Bot Date: Fri Jul 23 04:45:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cda1792ece293cbea27c3e3039edd1ae8aada2ca Author: Matthew Dias Date: Fri Jul 23 00:45:35 2021 -0400 [Keyboard] Add Txuu keyboard (#13650) Co-authored-by: Ryan commit a08c7087bef89b8b23e7462ece413a1861f8e4af Author: Jay Greco Date: Thu Jul 22 21:45:17 2021 -0700 [Keymap] Reduce NIBBLE oled_bongocat keymap size so it compiles (#13638) commit 816accda3d48ba6d199644acb0ee5966987a09c8 Author: Drashna Jaelre Date: Thu Jul 22 21:42:59 2021 -0700 Fix errors with matrix_output_unselect_delay function calls (#13645) commit 750f40566a511d78c60ab214bc3d8ce5d47d6883 Merge: 21e0a9780d dfd795e48e Author: QMK Bot Date: Fri Jul 23 04:24:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dfd795e48eda882320a50479adcfa9dddceec564 Author: Domantas Date: Fri Jul 23 06:24:16 2021 +0200 Add backslash in lily58 domnantas keymap (#12713) commit 21e0a9780db41a196decd9114f81a36c2b1e4d09 Author: Drashna Jaelre Date: Thu Jul 22 21:02:50 2021 -0700 [Keyboard] Fix matrix issues with Promethium (#13648) commit bf57c552c913196636a53f7b1710a71271749df4 Author: Drashna Jaelre Date: Thu Jul 22 21:02:16 2021 -0700 [Keyboard] Fix Matrix Row number for ggkeyboards/genisis (#13647) commit 7f8bc83b307fe72bf3a958a45631b9bf190fb6a4 Author: Drashna Jaelre Date: Thu Jul 22 20:59:55 2021 -0700 [Keyboard] Fix default keymap for 0xCB 1337 keyboard (#13646) commit 677222301e9f091b8a339872baec3f5cfce3462f Author: Zach White Date: Thu Jul 22 19:19:47 2021 -0700 [Keyboard] Remove the vision_division keyboard (#13571) commit 94065ca64a46dabeaf99fc95395cb1cd4a5aa372 Merge: e1eb307d74 4a8f540949 Author: QMK Bot Date: Fri Jul 23 01:51:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4a8f540949a22b0f51e654ea6f76ddea9af78748 Author: kb-elmo Date: Fri Jul 23 03:51:29 2021 +0200 [Keyboard] Added another layer for VIA on the AEK II (#13100) commit 270bf7a87a6f76b2ddc246851c226b4e7206299d Author: kb-elmo Date: Fri Jul 23 03:51:12 2021 +0200 [Keyboard] Added Stratos keyboard (#13139) commit e1eb307d74794abda3a33e409f3363c6a065661b Merge: b057c93caa 79c8f035cc Author: QMK Bot Date: Fri Jul 23 01:48:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 79c8f035ccfcc7d0eba1aa7bc96ad5e0e78ddcd4 Author: KnoblesseOblige <63174954+KnoblesseOblige@users.noreply.github.com> Date: Thu Jul 22 20:47:32 2021 -0500 [Keyboard] Added Crin keyboard (#13630) Co-authored-by: Ryan commit b057c93caad363b579e4c19b39a0a33cd3ab8abf Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Fri Jul 23 09:37:22 2021 +0800 Include lib8tion.c into RGB/LED matrix build list (#12699) Co-authored-by: filterpaper commit 490fa5a9e3786a9fdfe0a491f2b593d546d5c53c Merge: 34a9acd090 5d7f2823c9 Author: QMK Bot Date: Thu Jul 22 22:01:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5d7f2823c947264d3ff3bb4f057f8e050d6b4af1 Author: Joel Challis Date: Thu Jul 22 23:01:19 2021 +0100 Implement GPIO abstraction for atsam (#13567) * Implement GPIO abstraction for atsam * Convert Drop boards to normal matrix config * Work round pin conflicts and matrix delay commit 34a9acd0901e1d0d5ebe7ac8312963e7889d1019 Merge: f33532764f 95a7c22824 Author: QMK Bot Date: Thu Jul 22 16:39:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f33532764fc8a6b76df329575c72058b32be5b89 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Thu Jul 22 17:39:27 2021 +0100 [Keyboard][Bug] Add timer_avr to includes for broken builds (#13641) commit 95a7c2282466252641a1d0bb1b15d50752193f4b Author: Tran Kim Tung Date: Fri Jul 23 00:39:08 2021 +0800 [Keyboard] adds new revision: dztech/dz60rgb/v2_1 (#13636) commit 3316ac3f422839e2857576747f4dddbc429b0cee Merge: 62099dc120 58abdfc834 Author: QMK Bot Date: Thu Jul 22 16:36:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 58abdfc834a8918f4b2ecb48d2d52d6688c66ec4 Author: Md. Mashur Shalehin Sakib <41992136+h0oni@users.noreply.github.com> Date: Thu Jul 22 22:35:28 2021 +0600 [Keyboard] Fixing info.json for h0oni/hotduck (#13640) commit 62099dc120e161cb05d9586a479df38f90f1af7e Merge: 6e9f667672 78a3f43c08 Author: QMK Bot Date: Thu Jul 22 08:11:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 78a3f43c08ea61be2b4f5d51db95630c4658b2be Author: Trent Hoh Date: Thu Jul 22 16:11:11 2021 +0800 [Keyboard] Ymd40v2new layouts and fixed per-switch backlight (#13622) commit 6e9f6676728445ae9e3cb3a481f8e05a7bca140e Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Thu Jul 22 18:06:03 2021 +1000 [Bug] Develop - DC01 left (#13597) commit 78fb223da754f1e541cd8f74e3ae1de92cf8bd78 Merge: 44ea6d0442 8158473464 Author: QMK Bot Date: Thu Jul 22 07:53:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8158473464935ff51a364450898ba78b6206c073 Author: Drashna Jaelre Date: Thu Jul 22 00:53:18 2021 -0700 [Keyboard] Fix clawsome/hatchback and reviung5 compile issues (#13607) commit 44ea6d0442c91f2acaef38018a8a8ff119ccf1b0 Merge: 13a514923a 336c8d3efe Author: QMK Bot Date: Thu Jul 22 07:18:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 336c8d3efeaf709f8d80033976141968f478fc59 Author: drhigsby <71532157+drhigsby@users.noreply.github.com> Date: Thu Jul 22 00:17:47 2021 -0700 [Keyboard] add ogurec (#13242) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 13a514923a726cfa04c170c533cd706fa5d3a37e Author: Donald Kjer Date: Thu Jul 22 00:09:00 2021 -0700 [Keyboard] Add Durgod Taurus K310 keyboard (#12314) Co-authored-by: Tyler Tidman Co-authored-by: Simon Arlott commit 931bf52b74b2f1d205e37b98f900a3ed10ef4a00 Merge: b5a1db9c05 a400681ccf Author: QMK Bot Date: Thu Jul 22 06:58:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a400681ccf56b41a4badece43f73939329a1fe47 Author: farfalleflickan <6597735+farfalleflickan@users.noreply.github.com> Date: Thu Jul 22 08:57:35 2021 +0200 [Keyboard] Updated keyboard & keymaps (#12667) Co-authored-by: pastapojken <6597735+pastapojken@users.noreply.github.com> commit b5a1db9c05a9b2d7e3883501dc1f900c22ea5d1c Merge: fb9a254a43 e9c3f71e74 Author: QMK Bot Date: Thu Jul 22 06:48:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e9c3f71e74db1a11020acef3a017f79bbedc0015 Author: joedinkle Date: Wed Jul 21 23:47:48 2021 -0700 [Keyboard] add SPRH keyboard (#12999) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit fb9a254a432e307e82c9dce45e1aba2cf21fa339 Author: Patrick Stadler Date: Thu Jul 22 08:46:12 2021 +0200 Retain brightness with lighting layers (#13025) Add guard `RGBLIGHT_LAYERS_RETAIN_VAL` to retain the currently used val when applying lighting layers. commit 85128302c83b7d8b2525f371c96b46ae79aac801 Merge: a2d94371c6 92cca84651 Author: QMK Bot Date: Thu Jul 22 06:40:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 92cca84651b1ea2ceb3ae4037386f36bb97c8174 Author: Sắn <59417802+MaiTheSan@users.noreply.github.com> Date: Thu Jul 22 13:40:24 2021 +0700 [Keyboard] Add keypad Satxri6key (#13423) Co-authored-by: Ryan commit a2d94371c6c5f6171f1fcc5f549c163f627f831f Merge: 0753cbc77f 8e905a7a5c Author: QMK Bot Date: Thu Jul 22 06:40:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8e905a7a5ce4a936ae782541a922ecc6c7cd30bc Author: jmaynard Date: Thu Jul 22 01:39:45 2021 -0500 [Keyboard] Initial Tron Guy Labs keyboard implementation. (#13438) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Jay Maynard commit 0753cbc77f2510fe6fb5187525fa974d09a4ceb4 Merge: 5c42446508 8c17a822a8 Author: QMK Bot Date: Thu Jul 22 06:31:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8c17a822a826924da27f070804dcd420a549b192 Author: Brandon Lewis <64657834+blewis308@users.noreply.github.com> Date: Thu Jul 22 01:31:03 2021 -0500 [Keyboard] Add Ristretto Keyboard (#13479) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Brandon Lewis commit 5c42446508e2d86288bca44f04b7e47b7d53c69b Merge: 203c4fdf58 5766b9bfb7 Author: QMK Bot Date: Thu Jul 22 06:22:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5766b9bfb7a0f6f8b091293015644f5cfe1d6683 Author: Kyle McCreery Date: Thu Jul 22 02:22:00 2021 -0400 [Keyboard] New Keyboard - OBE (#13545) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 203c4fdf586ca57a9c59b6de4913ec5b27cc9d6c Merge: 71560853ce fbe782534a Author: QMK Bot Date: Thu Jul 22 05:57:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fbe782534a89f4a012522a6133970e8d768a3ed4 Author: Adam Abrams Date: Thu Jul 22 00:56:46 2021 -0500 [Keyboard] Add personal planck keymap (#13635) commit 71560853ce5841455f4e14eca8ee6943e03fddeb Merge: b28c5e6acb 665af4fa8d Author: QMK Bot Date: Thu Jul 22 05:46:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 665af4fa8db299e0af7618aeeb548e2a9b044a04 Author: Manassarn "Noom" Manoonchai <248741+narze@users.noreply.github.com> Date: Thu Jul 22 05:46:15 2021 +0000 [Keymap] narze/xd004 (#13634) Co-authored-by: Ryan commit b28c5e6acb3eab6be1c527d86bed06de8ff5a648 Merge: 874a3df950 5b8d2b5cde Author: QMK Bot Date: Thu Jul 22 05:40:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5b8d2b5cde3c618c37a7bb09bf14cd50ec25459b Author: Md. Mashur Shalehin Sakib <41992136+h0oni@users.noreply.github.com> Date: Thu Jul 22 11:39:36 2021 +0600 [Keyboard] Add h0oni hotduck keyboard (#13609) commit 874a3df950ddb61752f3395bb15d9c6c9630d2de Merge: 201b4dc7ab b564ba13ee Author: QMK Bot Date: Wed Jul 21 18:30:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b564ba13eef1564c871d062a6ce97c1ccdbbd825 Author: Ryan Date: Thu Jul 22 04:30:29 2021 +1000 Fix API generation failure caused by GRS-70EC (#13631) commit c79bc7c9094b7bed26450e85040df6ef91239aed Author: Ryan Date: Thu Jul 22 04:28:58 2021 +1000 Fix MATRIX_COLS for peranekofactory/tone (#13632) commit 201b4dc7ab01382fa0be560ea3f1c2e2b81e4b9d Merge: 78265ea742 2b260bd846 Author: QMK Bot Date: Wed Jul 21 18:26:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 78265ea742f717ab5859b356fe524e958679f95f Author: Ryan Date: Thu Jul 22 04:26:00 2021 +1000 Fix MATRIX_COLS for aeboards/constellation/rev2 (#13633) commit 2b260bd84627b808c237226b8c65ac518f5fae93 Author: Alabahuy Date: Thu Jul 22 01:25:21 2021 +0700 fixed number layer on keymap (#13627) commit d2cdb0b1d391101f3bb5220c6a5efd85bde0f034 Merge: df37ce4ea2 ca1aa56c7f Author: QMK Bot Date: Wed Jul 21 17:14:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ca1aa56c7fe7c5a2a0d87594c65ea21c12ebab06 Author: gkeyboard Date: Thu Jul 22 00:14:04 2021 +0700 [Keyboard] Fix iso layout compile error (#13628) Fix iso layout compile erreo on qmk web. commit df37ce4ea2f1aec00f688de426b15e210021e2c8 Merge: 531886b984 afc629210c Author: QMK Bot Date: Wed Jul 21 15:36:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit afc629210c75158ef036cf3fd906b376034cce8b Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Thu Jul 22 01:35:10 2021 +1000 [Bug] VIA compile fixes (#13626) commit 531886b9842caf5e0235a2cca511074b1d08b217 Merge: 793fabc449 ec1a6f6b8b Author: QMK Bot Date: Wed Jul 21 05:28:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ec1a6f6b8b458176ef0dfca2ebf91d8d88c107aa Author: Alabahuy Date: Wed Jul 21 12:28:05 2021 +0700 [Keyboard] add rartland with via support (#13585) * add rartland and via support * moved encoder adn oled to c file * update c file commit 793fabc449a8d3b6c4fd7d49b6c464e0bea16545 Merge: 598fa867d1 ddc2766537 Author: QMK Bot Date: Wed Jul 21 05:05:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ddc27665375d838bb30efd99623b06c07a0a8676 Author: Andrew Kannan Date: Wed Jul 21 01:05:10 2021 -0400 Fix vicious40 rules (#13623) commit 598fa867d13ce9d50ecb589e86fa689ce7ddfc98 Merge: c98e25887c dbca44ae8d Author: QMK Bot Date: Tue Jul 20 20:10:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c98e25887ca2f8e49c2f963768cab1553dfae316 Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Tue Jul 20 14:10:15 2021 -0600 [Keyboard] GameBuddy v1.M (#12637) Co-authored-by: Ryan commit dbca44ae8d4d3c28225b0998c636f389f476bb2d Author: Weirdo <1248314361@qq.com> Date: Wed Jul 21 04:09:53 2021 +0800 [Keyboard] Add Tiger910 (#12605) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 200f1e8e6add20cb963c0b559c80978f1f045684 Merge: 4ab8734d6e 81cac8eec6 Author: QMK Bot Date: Tue Jul 20 20:08:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 81cac8eec66ab98d5091e5b704215dc96fe830d4 Author: Conor Burns Date: Tue Jul 20 22:07:53 2021 +0200 [Keyboard] 0xcb 1337 - Added keymap "conor" and fixed some minor stuff (#12744) Co-authored-by: Drashna Jaelre commit 4ab8734d6edd6894757507e70264eddca5429052 Author: Zach White Date: Tue Jul 20 11:52:14 2021 -0700 Move all our CLI file formatters to the format dir (#13296) * move all our file formatters to the format dir * Apply suggestions from code review Co-authored-by: Erovia Co-authored-by: Erovia commit c4db9f7fb2a359abb1db06e3d74a52dce8bdf68c Merge: 32a44b6a2c c1ba35363d Author: QMK Bot Date: Tue Jul 20 17:48:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c1ba35363d4f7d76d63173312a0785401c6bff9f Author: kb-elmo Date: Tue Jul 20 19:48:17 2021 +0200 [Keyboard] Added Kineticlabs Emu (#12968) commit 32a44b6a2c8f1f49f78cea8635b9358e1d1eb0b8 Merge: 362bbe53c7 3591312fa3 Author: QMK Bot Date: Tue Jul 20 17:47:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3591312fa3d41cf18bc873a974698af3a59afcca Author: Paul Ewers Date: Tue Jul 20 10:46:52 2021 -0700 [Keymap] Updates to personal Drop ALT keymap (#13058) commit 42ac7c0541b2a9c2f38f6c2aac6d05163dec4a37 Author: StefanGrindelwald <42373600+StefanGrindelwald@users.noreply.github.com> Date: Wed Jul 21 01:46:29 2021 +0800 [Keyboard] Add Momoka ergo (#13127) Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 362bbe53c77da05446bf4f81bfb616e11500bd34 Merge: 11334ef6af 8c526703f8 Author: QMK Bot Date: Tue Jul 20 17:44:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8c526703f8d16bea6c96de36933f053321494588 Author: gkeyboard Date: Wed Jul 21 00:43:44 2021 +0700 [Keyboard] Update lm60n.h (#13249) commit 11334ef6af68c89a1746c8831aee559186f667b8 Merge: 14a839e39c c6698cfce3 Author: QMK Bot Date: Tue Jul 20 17:25:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c6698cfce314cdc75cdaa06b2440d2ae0c7b6ea2 Author: sekigon-gonnoc <43873124+sekigon-gonnoc@users.noreply.github.com> Date: Wed Jul 21 02:24:22 2021 +0900 [Keyboard] Add keyboard GRS-70EC (#11296) commit 14a839e39c84ad3956d6e8041bcb96de6619de8f Merge: 638fda5946 8f6867ce95 Author: QMK Bot Date: Tue Jul 20 17:12:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8f6867ce95969af99a1aa49c38c86cf5827a3004 Author: aydenvis <38897937+aydenvis@users.noreply.github.com> Date: Tue Jul 20 12:11:49 2021 -0500 [Docs] Added note about no split support (#12512) Currently, this feature isn't supported on splits, spent about an hour troubleshooting my board and firmware before asking, and turns out it's not in place. Note added to save others from this in the future. commit 638fda59467fc8cc826f777a039a0bc72e5675eb Merge: 4188d2272c 16e52980c4 Author: QMK Bot Date: Tue Jul 20 16:59:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 16e52980c4072b0e227e88307a109fe111907079 Author: FateEverywhere <41215461+FateEverywhere@users.noreply.github.com> Date: Tue Jul 20 12:58:39 2021 -0400 [Keyboard] Hard Light - Add keyboard, basic keymap (#12654) Co-authored-by: ridingqwerty Co-authored-by: Joel Challis Co-authored-by: Ryan commit 4188d2272ca2f4b542bb8506e785b5334bc93750 Author: Jsully <34928654+J-Sully@users.noreply.github.com> Date: Tue Jul 20 09:44:22 2021 -0700 [Keyboard] Add Durgod Hades, Galaxy and Venus Keyboards (#12893) Co-authored-by: Drashna Jaelre Co-authored-by: Don Kjer commit 6fa53023cb6a78a59fa940b56ae34531a765be90 Merge: 154c7bc3e2 ec78f8bca2 Author: QMK Bot Date: Tue Jul 20 16:41:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ec78f8bca2523a91a293d8ae4d61050d1e36b320 Author: imchipwood Date: Tue Jul 20 09:40:54 2021 -0700 [Keymap] Adding user code & keymaps for dumbpad & hotdox (#12924) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 154c7bc3e2bd328814823f5701273389a3f0f77f Merge: 02f8bbee45 4f880801ec Author: QMK Bot Date: Tue Jul 20 16:35:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4f880801ecb781c74ccf4e4f80a2097d67bc27c2 Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Tue Jul 20 10:34:56 2021 -0600 [Keyboard] luggage rack (#12959) commit 02f8bbee458a3f7de5ab11cd59633269812b00a9 Merge: dbaba42175 9d523499af Author: QMK Bot Date: Tue Jul 20 16:34:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9d523499af110b58b1ec419477841c19985f25b9 Author: lfgberg Date: Tue Jul 20 12:34:18 2021 -0400 [Keyboard] add anomalykb a65i (#12967) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit dbaba4217529e3dcccf781c7fae0807cfb79cd0e Merge: 8925199ae8 388a4ae817 Author: QMK Bot Date: Tue Jul 20 16:19:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 388a4ae8172e8dda6d3a5fffa1e4f520d8192c62 Author: Andrew Kannan Date: Tue Jul 20 12:19:26 2021 -0400 [Keyboard] Add Vicious40 to QMK (#12981) Co-authored-by: Ryan commit 8925199ae88329c94aeaf9b0f7cf288c5e4b5f06 Merge: 2e673c419a 3486870ee4 Author: QMK Bot Date: Tue Jul 20 16:17:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3486870ee42a65055d8f60a2f371bd84aa924f4f Author: Carl-Fredrik Arvidson Date: Tue Jul 20 18:16:17 2021 +0200 Adds Swedish Mac ISO and ANSI keymaps (#13055) * Adds Swedish Mac ISO and ANSI keymaps * Replaces NBSP with space * Adds missing keys * Remove duplicates * Remove duplicates * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Change case and remove whitespace * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Fix uppercase * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Add specific files for Swedish Pro * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Remove whitespace Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_pro_osx_ansi.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan * Update quantum/keymap_extras/keymap_swedish_osx_iso.h Co-authored-by: Ryan Co-authored-by: Ryan commit 2e673c419abc41a458f5ff0cf5e033a531889055 Merge: 52ce2088e8 7ea1b97785 Author: fauxpark Date: Tue Jul 20 23:13:39 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit 7ea1b97785da1bdf16b5f144b50121f1a0adfa2b Author: Ryan Date: Tue Jul 20 23:04:36 2021 +1000 Fix CRLF in xbows/knight:via config.h (#13614) commit 52ce2088e8b84fd888f91824d2ff30bd98d1e232 Merge: 8109363148 815c17b726 Author: QMK Bot Date: Tue Jul 20 05:29:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 815c17b726918bdb4ebff2877d83bff72d81c443 Author: projectcain <71684775+projectcain@users.noreply.github.com> Date: Tue Jul 20 00:28:32 2021 -0500 [Keyboard] Add vault45 (#13119) * adding my keymap * Update keyboards/projectcain/vault45/keymaps/default/config.h Co-authored-by: Drashna Jaelre * Update keyboards/projectcain/vault45/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/projectcain/vault45/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/projectcain/vault45/vault45.c Co-authored-by: Drashna Jaelre * Update keyboards/projectcain/vault45/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update readme.md * Update keyboards/projectcain/vault45/keymaps/default/config.h Co-authored-by: Drashna Jaelre * Update keymap.c * Update keyboards/projectcain/vault45/keymaps/default/config.h Co-authored-by: Drashna Jaelre * Update keyboards/projectcain/vault45/readme.md Co-authored-by: ridingqwerty * Update info.json * Update keyboards/projectcain/vault45/vault45.c Co-authored-by: ridingqwerty * Update keyboards/projectcain/vault45/readme.md Co-authored-by: Ryan * Update keyboards/projectcain/vault45/readme.md Co-authored-by: Ryan * Update keyboards/projectcain/vault45/readme.md Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: ridingqwerty Co-authored-by: Ryan commit 81093631482d83274cac06df07f32e9485dbb9c7 Merge: 36e2666cba b887a1b995 Author: QMK Bot Date: Tue Jul 20 05:27:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b887a1b9957664200363fc8feeb2865464c468a2 Author: Ryan Boone <70921559+rjboone@users.noreply.github.com> Date: Tue Jul 20 00:27:18 2021 -0500 [Keyboard] Add q4z keyboard (#13198) Co-authored-by: Ryan commit 36e2666cba21fc5cac924f0a797f11aa49039157 Merge: 692e80d3c0 1256915583 Author: QMK Bot Date: Tue Jul 20 05:26:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 125691558398c4bfff93b457147b2802365cbd3f Author: Uy Bui Date: Tue Jul 20 14:26:26 2021 +0900 [Keyboard] Add we27 numpad (#13137) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 692e80d3c0be3457ef8a9f12a07a3e396043371b Merge: 80c8a99204 35ee990bd0 Author: QMK Bot Date: Tue Jul 20 05:26:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 35ee990bd0293efbd5746671f1e58cec262a066b Author: Michael Date: Mon Jul 19 22:25:46 2021 -0700 [Keyboard] fix LED issue BOCC keyboard (#13175) Co-authored-by: Michael Wamsley commit 80c8a992040afedb0314e79b963e9257820476c7 Merge: 9c5a0fb0b2 17933a884a Author: QMK Bot Date: Tue Jul 20 05:25:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 17933a884aba358b250dc75278f1ca4fe2833afd Author: yiancar Date: Tue Jul 20 06:24:40 2021 +0100 [Keyboard] mnk1800s initial commit (#13444) commit 9c5a0fb0b27e8a4228d8f1206c46d06a4be2f36f Merge: 18ae1f423f 6ab0593f44 Author: QMK Bot Date: Tue Jul 20 04:05:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6ab0593f4497df7051e67a1b1323a664e726c5c4 Author: cole smith <38364556+daysgobye@users.noreply.github.com> Date: Mon Jul 19 21:04:43 2021 -0700 [Keyboard] Boardsource technik (#13111) Co-authored-by: Ryan commit 18ae1f423ffdd26deead0d8b3864eacf173a57b8 Merge: cf4a121700 9941cf0051 Author: QMK Bot Date: Tue Jul 20 04:02:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9941cf00519349c8487ac18fee92f5114150194a Author: TerryMathews Date: Tue Jul 20 00:01:36 2021 -0400 [Keyboard] PORTICO: add support for wt_rgb (#13241) Co-authored-by: Ryan commit cf4a121700439cb46585a6479439ab7ee9c38144 Merge: d5907a674f 8b0a996d5d Author: QMK Bot Date: Tue Jul 20 03:50:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8b0a996d5d4bec0ee5901ee217650d8f432b4f5a Author: ぺらねこ Date: Tue Jul 20 12:49:45 2021 +0900 [Keyboard] Add tone (#13337) Co-authored-by: Ryan Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: kakunpc <15257475+kakunpc@users.noreply.github.com> commit d5907a674ff7c5cd9827546d57e44cb430d5a7c5 Merge: 1414e9736d f439bfd543 Author: QMK Bot Date: Tue Jul 20 03:46:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f439bfd543900498ae3e00df17d5f30ee29a4d70 Author: Andrew Kannan Date: Mon Jul 19 23:46:01 2021 -0400 [Keyboard] Aella Keyboard PCB (#13372) Co-authored-by: Joel Challis Co-authored-by: Ryan commit 1414e9736d441f4cefbdd2f88157419066f96f71 Author: Joakim Tufvegren Date: Tue Jul 20 03:54:32 2021 +0200 Switch Ergodox Infinity over to split_common (#13481) commit 85621311db62a3a2a264cb7c9edefb7cab731e4c Merge: 6b2b42678d 46b8230468 Author: QMK Bot Date: Tue Jul 20 01:49:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 46b8230468782808d0592ad63a664982622b195f Author: Andrew Kannan Date: Mon Jul 19 21:49:26 2021 -0400 [Keyboard] Add CannonKeys Balance PCB to QMK (#13489) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 8e30ec1eee0c133d158b872f802236af42048585 Author: npspears <40127181+npspears@users.noreply.github.com> Date: Mon Jul 19 20:48:58 2021 -0500 [Keyboard] enable RGB underglow on heckerboards/axon40 (#13490) This PCB uses RGB underglow LEDs. If the user doesn't want them, they can turn them off with a keycode. commit 6b2b42678dee90835f7f45b08d566be47e05e0d1 Merge: b994921703 1105f2eb47 Author: QMK Bot Date: Tue Jul 20 01:48:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1105f2eb47e79a7a4ce8d31dd1f6d7b09afccb2d Author: Adrian L Lange Date: Tue Jul 20 03:48:00 2021 +0200 [Keymap] Update bface p3lim keymap (#13582) commit 5ee5280fa1e1c73a283f1939b1abe898dfac0300 Author: X-Bows Tech <41098278+XBowsTech@users.noreply.github.com> Date: Tue Jul 20 09:28:50 2021 +0800 [Keyboard] Update the XBows/Knight keyboard (#13541) Co-authored-by: Ryan commit b994921703190886714a4b2df2a674265e586b59 Author: Gigahawk Date: Mon Jul 19 17:57:19 2021 -0700 [Keyboard] Split GMMK Pro PCBs into separate revisions (#13570) Co-authored-by: Drashna Jaelre commit 5753226588fb453657e7c99b7b19beb8d325f0e0 Merge: a480520e4e 10905a6500 Author: QMK Bot Date: Tue Jul 20 00:52:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 10905a6500ceb380795ad47e7391205f5e06676e Author: Daegara <36287458+Daegara@users.noreply.github.com> Date: Tue Jul 20 01:52:19 2021 +0100 [Keyboard] CU65 layout update (#13589) commit 44a8ad265c69f4f2f04a69410fcdf56fd2f356dc Author: bomb <84309788+mj-bomb@users.noreply.github.com> Date: Tue Jul 20 08:52:00 2021 +0800 [Keyboard] Repaired melgeek/mj63/ RGB lamp driver problem (#13579) commit a480520e4ec39d335b48b822ee95e6d1039c3782 Merge: f9332747e3 8bc8eadaf9 Author: QMK Bot Date: Tue Jul 20 00:32:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8bc8eadaf97e2b9d18d814074027e204abc0e335 Author: Giorgi Chavchanidze <76832811+gkbd@users.noreply.github.com> Date: Tue Jul 20 02:32:20 2021 +0200 [Keymap] Orthon keymap for idobo (#13584) Co-authored-by: Giorgi Chavchanidze commit f9332747e324f4fd131c4251cbc4996c7e9eb0a3 Merge: f493f560cc 7e698c71cd Author: QMK Bot Date: Tue Jul 20 00:30:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7e698c71cd8b9d0cdef6c622cfdd88a13e2a6587 Author: Suschman Date: Tue Jul 20 02:30:09 2021 +0200 Six Pack and ortho_ layout updates (#13587) Co-authored-by: Ryan Co-authored-by: Suschman commit f493f560cc85585b336930ca551a44df10aab90c Merge: 85c4672981 046429fa87 Author: QMK Bot Date: Tue Jul 20 00:27:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 046429fa87ab26bd131c262e590aa6cd03dd9f75 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jul 19 17:26:34 2021 -0700 Knobgoblin: rename ortho keymap to default (#13592) Keyboard did not previously have a `default` keymap. commit 85c4672981324817b1cb773f30b709cfff7edc47 Merge: 2a3dde1d94 4b55b7f852 Author: QMK Bot Date: Tue Jul 20 00:07:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4b55b7f8522c9dc82684cdff0b95ba89c9a819a3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jul 19 17:06:45 2021 -0700 converter/periboard_512: add Configurator layout data (#13600) commit 2a3dde1d94e93778fb437e0da6c1d58fe0862a64 Merge: 1ece36549a 58f9321a77 Author: QMK Bot Date: Tue Jul 20 00:06:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 58f9321a77030ffdb6198837bc0319c826cc9183 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jul 19 17:05:47 2021 -0700 fluxlab zplit: keymap restructuring (#13599) commit 1ece36549a6d564e3d60322ec8493c65457fce45 Merge: b73a29aaea 5b6780f999 Author: QMK Bot Date: Tue Jul 20 00:05:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5b6780f999a9bf1481adcc2c2831bd39ac0c6980 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Jul 20 10:04:14 2021 +1000 [Keyboard][Bug] Constellation Rev2 (#13595) commit b73a29aaeabe1004423a2ea6180a94a95a1f0d91 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Jul 20 02:50:55 2021 +1000 [Bug] Develop - Change uint32_t to layer_state_t (#13596) * fix sat75 * update uint32_t to layer_state commit f792aee954c6e5ced81af381775438afa2710c72 Merge: 1374722033 07ae72ea6b Author: QMK Bot Date: Sun Jul 18 00:41:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 07ae72ea6b861819912bb7cf6859718e2d2157d3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 17 17:41:29 2021 -0700 LazyDesigners Bolt: move via keymap to keymaps directory (#13581) commit 1374722033df5b3d99d03db51ae1a2ad2e9af6b1 Merge: 2eb8349437 876f861715 Author: QMK Bot Date: Sat Jul 17 23:26:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 876f8617154000ba5cea02658fe7a693f14dbd88 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 17 16:25:56 2021 -0700 Discipline layout macro/Configurator fixes (#13574) * use human-friendly formatting in info.json * move layout macro aliases to info.json * correct and complete layout data Corrects the layout data for a few layouts, adds the missing data, and renames some of the layout macros. - rename LAYOUT_wkl_ansi_2_right_mods to LAYOUT_65_ansi_wkl - rename LAYOUT_wkl_ansi_3_right_mods to LAYOUT_65_ansi_lwkl - rename LAYOUT_wkl_iso_2_right_mods to LAYOUT_65_iso_wkl - rename LAYOUT_wkl_iso_3_right_mods to LAYOUT_65_iso_lwkl commit 2eb8349437321390d146823e363c4564b06fcd03 Merge: c329b549e4 26e64f4fd3 Author: QMK Bot Date: Sat Jul 17 23:18:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 26e64f4fd3d0adfae33a210f429addd78d0e71c2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 17 16:17:48 2021 -0700 ACR60 Refactor (#13575) * modernize acr60.h - use #pragma once include guard - add license header - use four-space indent - use QMK three-character notation for layout macro arguments * human-friendly format info.json * remove `key_count` keys from info.json * rename LAYOUT_2_shifts to LAYOUT_all * move LAYOUT_all to top * use QMK three-character notation in info.json * refactor default keymap - add license header - remove third layer (does nothing) - replace Shift-Escape keycode with KC_GESC - use LAYOUT_all macro instead of LAYOUT * modernize readme.md - update header - convert metadata section to list - add flashing and bootloader jump instructions - update Docs links * use #pragma once include guard in config.h * update LED Indicator API * add license headers commit c329b549e44ec4ecb42e1312b6c5b552eb5ba6ab Merge: 4be8eec4f2 ca0e7e7bd9 Author: QMK Bot Date: Sat Jul 17 17:16:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ca0e7e7bd9faf577caa990a0a652ded3e45f742f Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 17 10:16:20 2021 -0700 Cutie Club Giant Macro Pad: add info.json (#13576) commit 4be8eec4f22f1a69960ec18748f1546911d73624 Merge: 777fffb067 b127180c0c Author: QMK Bot Date: Sat Jul 17 08:43:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b127180c0c82206b76464eb6ea90a376947fdafe Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 17 01:43:02 2021 -0700 Xelus Akis Configurator Fixes (#13577) * correct layout macro references The keyboard's header file and info.json referenced different layout macro names. * correct layout data Insert an object for the Non-US Backslash key, which was previously missing. commit 777fffb06770abb83fb9fe787ba064d468eb015d Author: Ryan Date: Sat Jul 17 13:39:52 2021 +1000 Revert "Add rgblight to RGB Matrix VPATH" (#13559) commit d1295ffe9a6845672db508e83080c22ac89b267a Merge: cdae9a7b19 d26537acc1 Author: QMK Bot Date: Sat Jul 17 03:13:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d26537acc127e034c99509e90921c8307c4d0735 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Jul 17 12:13:16 2021 +0900 remove `RGBLIGHT_H_DUMMY_DEFINE` macro from rgblight.h (#13569) commit cdae9a7b1965f2a40d33421b71933d3c1f276c07 Merge: 3495ffab77 932a67ced2 Author: QMK Bot Date: Fri Jul 16 19:16:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 932a67ced2c68363b07627ef4c095785f4ec5eee Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Fri Jul 16 20:16:06 2021 +0100 Limit RGB brightness for crkbd when not defined (#13568) commit 3495ffab77f1b7ef8be7979f068b4de62fd4cc71 Merge: edefcdc94f 6c550cc7f7 Author: QMK Bot Date: Fri Jul 16 16:49:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6c550cc7f715a44a77979cfeec1792e01e4174cd Author: Ryan Date: Sat Jul 17 02:49:33 2021 +1000 Improve driver installation docs (#13562) commit edefcdc94f7bcc6315ed36df7878800974e321e9 Merge: 332a5aa7cb 89eeb4987c Author: QMK Bot Date: Fri Jul 16 16:43:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 89eeb4987ca2247f9da6dc03575be64202236574 Author: lukeski14 <73951271+lukeski14@users.noreply.github.com> Date: Fri Jul 16 12:42:50 2021 -0400 adding tw40 via support (#13032) commit 332a5aa7cb6dfa12ff9586ed43a5b50d9a5197a0 Author: Ryan Date: Sat Jul 17 02:40:20 2021 +1000 Move `SENDSTRING_BELL` code to `send_string.h` (#13566) commit 4bef126293b8f350ae0920d465c32680566d5f9d Merge: ff33eaea41 455a988aa6 Author: QMK Bot Date: Fri Jul 16 16:40:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 455a988aa6aa4070f56dbcc88af00b215c616292 Author: Oliver Granlund Date: Fri Jul 16 19:39:35 2021 +0300 [Keyboard] Neito + my DZ60 keymap tweaks (#11773) commit ff33eaea41b6b85776a124916fd30e69c71ad2f7 Merge: 10d7eca5af 6cc03dd30a Author: QMK Bot Date: Fri Jul 16 16:38:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6cc03dd30a7e74fb2173cfbd5811bdac5d3316c8 Author: shela Date: Sat Jul 17 01:37:49 2021 +0900 Remove unwanted notes (#13563) commit 10d7eca5af736228fcd1de834eb0d922bec3c8b0 Author: Johannes Choo Date: Sat Jul 17 00:37:18 2021 +0800 Fix LED Hit Counter for LED/RGB Matrix (#12674) commit 4066662bdf88f2f95b17f4aa950417d97f6210e1 Merge: 7ed5ac4a60 366be0f7e9 Author: QMK Bot Date: Fri Jul 16 16:09:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 366be0f7e9b4f408b7494fcb68142ac70d909170 Author: Joel Challis Date: Fri Jul 16 17:08:34 2021 +0100 Migrate arm_atsam print logic to use common framework (#13554) commit 7ed5ac4a6026939898810f9a9c706fb7a09db171 Author: Ryan Date: Fri Jul 16 19:43:18 2021 +1000 Use string literals for `SERIAL_NUMBER` (#13403) commit f0198ad15eb1b9d1f1ae0a8725c478e171f16d1b Merge: 610788184a 5fda0e2c04 Author: QMK Bot Date: Fri Jul 16 03:55:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5fda0e2c0456114b7200f3037c12837d6955332d Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Fri Jul 16 12:54:56 2021 +0900 remove `#include "rgblight.h"` when `defined(RGB_MATRIX_ENABLE)` from quantum.h (#13555) commit 610788184a6ddc6f3aa8b45eb14c9784a01fa376 Merge: 70267b35c3 c330fa725d Author: Nick Brassel Date: Fri Jul 16 09:11:51 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit c330fa725d6056827fcb2aaa5c23a2137574b2a4 Author: Andre Brait Date: Fri Jul 16 01:06:23 2021 +0200 Set some default configurations for GMMK Pro (#13219) * Set some default configurations for GMMK Pro * Remove FORCE_NKRO to avoid issues with KVMs commit 70267b35c357f2744262300db03eafe642159734 Author: Chris Cullin Date: Fri Jul 16 07:52:05 2021 +1000 Dual RGB Matrix IS31FL3737 driver support to address #13442 (#13457) * initial commit * removed changes to write_pwm_buffer * backward compatbility added * fixed issue with backward compatibility * documentation update * removed unneccessary comment. branched from master * updated per comments #13457 * removed blank line * cformat on diff files commit e07401bb5ac4f0e23aac8c943d9f03fa257834a3 Merge: b7ec43ed14 68b1ef2d1d Author: QMK Bot Date: Thu Jul 15 16:55:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 68b1ef2d1d35b2f48a7fce90bde29be5022ab917 Author: bomb <84309788+mj-bomb@users.noreply.github.com> Date: Fri Jul 16 00:54:58 2021 +0800 [Keyboard] correct the info.json for qmk configurator and add two empty layers for via (#13552) commit b7ec43ed1476142aa4d7490e7572b65c54f76372 Merge: f134c5e124 9d0b7ab9b9 Author: QMK Bot Date: Thu Jul 15 04:24:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9d0b7ab9b9de09c0ef3305daadd742a4e86b1a17 Author: Zach White Date: Wed Jul 14 21:24:15 2021 -0700 [keyboard] Clueboard 2x1800 2021 Support (#13220) * 2x1800 2021 * add support for writing a whole frame at a time * improvements * wip * fix scrolling * small tweak * add a buffer that's larger than the display * add the start of a font * working upper and lower case letters * add qmk animation * integrate the message sign into the qmk task system * add encoder defaults * add MAX7219_LED_CUSTOM to config.h * tweaks * remove unneeded keymaps * add a keymap showing how to control the signboard * cleanup * cleanup * add a way to disable the startup test * make it easier to define options at the keymap level * Fix define names Co-authored-by: Greg Cochard * Apply suggestions from gcochard Co-authored-by: Greg Cochard * feedback from noroads * format info.json Co-authored-by: Greg Cochard commit f134c5e124c7518f0040ff4b24c78f087e9db2c9 Merge: 21b3234780 18c6e1d46d Author: QMK Bot Date: Wed Jul 14 20:56:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 18c6e1d46d36b27a6db64c85b306515e42e94b12 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Wed Jul 14 13:55:52 2021 -0700 [Keyboard] Add Serratus PCB (#13281) Co-authored-by: Ryan commit 21b32347808d17a70fb91bc89072fd5dbed47f8c Merge: fd8628ccdc 867d60bd64 Author: QMK Bot Date: Wed Jul 14 20:55:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 867d60bd64b854cd68cd9ae93de27d9eff4ca0b6 Author: Koobaczech <67293963+Koobaczech@users.noreply.github.com> Date: Wed Jul 14 16:55:12 2021 -0400 [Keyboard] Tidying up my projects and subprojects (#13289) Co-authored-by: Erovia Co-authored-by: Ryan Co-authored-by: Ethan Madden commit fd8628ccdc97482aae1814cec5c2059c2978daad Author: Ryan Date: Thu Jul 15 03:52:45 2021 +1000 Migrate more `fn_actions` stuff (#13502) commit e69c325a9ce84bc144dbc89978f800fc7560757d Merge: 44d322623e 99f637e82c Author: QMK Bot Date: Wed Jul 14 17:50:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 99f637e82c0af1ed61ad24163b83799251f05f79 Author: Ryan Date: Thu Jul 15 03:50:09 2021 +1000 Fix some RGB Matrix-enabled keymaps referring to RGBLight mode (#13509) commit 44d322623eb875f6eb2e0a317c76af2d47f7a9dc Merge: 52cfc9259b ffdfe3798b Author: Zach White Date: Wed Jul 14 10:30:28 2021 -0700 Merge remote-tracking branch 'origin/master' into develop Resolved Conflicts: keyboards/checkerboards/nop60/info.json commit ffdfe3798bc7bd374991abe8f10494f2e73aedd5 Author: Zach White Date: Wed Jul 14 09:08:48 2021 -0700 switch to qmk-dotty-dict (#13460) commit 1c9af238dc3550f103c56442d7a0b25bc5c5710b Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Wed Jul 14 08:46:44 2021 -0700 correct data info.json (#13544) rouge87 and rogue87 commit 9c4916e2e8f40854d68e4c1f5d7e21ea69a8f4fd Author: bomb <84309788+mj-bomb@users.noreply.github.com> Date: Wed Jul 14 23:39:54 2021 +0800 [Keyboard] Add MelGeek MJ6xy which is a 60% keyboard that support mul… (#13494) Co-authored-by: Ryan commit dd5ead676b1169a15eb48d8ed2ce1df23287e3d2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jul 13 21:28:56 2021 -0700 Traveller handwired layout macro refactor (#13539) commit 70efc82c1c32c5faa2f10ba61b06c02e3a06e940 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jul 13 21:27:11 2021 -0700 Lucid Phantom soldered: layout macro touch-up (#13540) commit b29179de1afc1daaeacfc8685a1d69be13dc5d0e Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Wed Jul 14 12:26:00 2021 +0800 RGB Matrix support for Scylla (#13415) Co-authored-by: filterpaper commit ef8267d6a75c281e6981ea07520d369e2ef092fc Author: Joel Challis Date: Wed Jul 14 05:07:33 2021 +0100 Refactor Drop boards to custom matrix lite (#13468) commit 6cdba3a43724f76076b8bf1f4d0809f53e7599d9 Author: Ian Klug Date: Wed Jul 14 00:04:14 2021 -0400 [Keyboard] Add ianklug grooveboard (#13536) Co-authored-by: Ryan commit 2fd45959555d1cf819da89da7eaf5cf071f003a3 Author: Anton Date: Wed Jul 14 01:50:17 2021 +0200 [Keyboard} Add ISO support for the GMMK Pro (#13532) * Added iso layer support for the GMMK Pro iso version * Adjusted the mapping * aligning with best practises * aligning with comments from PR * Added iso layout to info.json commit d4399172d3230450f3fb81d6f7f13403836028b5 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jul 13 14:15:38 2021 -0700 Ortho 5x14 handwired info.json correction (#13538) * ortho5x14 handwired: correct info.json data Last key was incorrectly positioned. * fix readme typo commit a3d60464ef12b0727c8643bdd1e99a0482256ad2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jul 13 14:04:22 2021 -0700 4pplet AEKISO60 keymap/macro touch-up (#13528) Moves the ISO Enter keycode to the home row for more consistency with the rest of QMK. Also grid-aligns the keycodes and adds a block comment for the layout macro. commit 555a449488766831341b57543b7a75e4cf791136 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jul 13 13:44:01 2021 -0700 Ergoarrows info.json touch-up (#13537) * human-friendly formatting Add line breaks between rows and halves. * fix rounding issues Fixes issues with y-offset values due to rounding in KLE. * remove layout dead space; re-mirror halves Removes the empty white space from the layout, and aligns the keys on the right half so they are a mirror of the left half. commit 52cfc9259b58a3a11a244fbe35c49c7dd1a9cae0 Author: Jonas Gessner Date: Tue Jul 13 19:13:51 2021 +0200 [Feature] Key Overrides (#11422) commit 3cd6cb65bc243e471072fd41f37fba11ddd19fd5 Author: AnthonyL Date: Tue Jul 13 13:11:02 2021 -0400 [Keyboard] Montex add VIA support and keymap. (#13488) Co-authored-by: Drashna Jaelre Co-authored-by: Anthony Lowery commit 64e6ba02115ae94708ee86ecadb39f6cf3cfb5a5 Author: Cosmin <44280558+BB-66@users.noreply.github.com> Date: Tue Jul 13 18:58:16 2021 +0300 [Keyboard] fixes and additions to the Marauder keyboard (#13462) Co-authored-by: Drashna Jaelre commit bf70db479c6b027c670bb0e261f4202864525970 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jul 13 06:46:20 2021 -0700 AMJ60 Refactor (#13530) * rename LAYOUT to LAYOUT_all * refactor default keymap - add license header - use layer_names enum - use LAYOUT_all macro - update keymap to be more generic - use QMK-native keycode aliases * info.json: human-friendly formatting * convert LAYOUT_iso into a proper LAYOUT_60_iso * LAYOUT_all bugfix In the physical sense, position k3d is to the left of k3c. * rework LAYOUT_max into LAYOUT_60_ansi_split_bs_rshift * remove LAYOUT_iso_splitrshift and iso_split_rshift keymap * rework LAYOUT_hhkb into LAYOUT_60_hhkb * amj60.h cleanup - add license header - use #pragma once include guard - concatenate layout block comments - remove unnecessary function headers * add license header to amj60.c * align config.h to QMK template * align rules.mk to QMK template * enable Community Layout support * modernize readme.md - add PCB image - convert keyboard data to list - add flashing and bootloader instructions - update Docs links commit b89abc402bdc70362dbb6d938eafaa8716b5d4ac Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue Jul 13 18:14:27 2021 +0900 [Keyboard] Update Symmetric70 keyboard prototype (#12707) * update handwired/symmetric70_proto/matrix.c * make keyboards/handwired/symmetric70_proto/promicro/ * add symmetric70_proto/debug_config.h, update symmetric70_proto/local_features.mk etc. set MATRIX_IO_DELAY macro make MTEST=mdelay0 symmetric70_proto/promicro:default:flash make MTEST=mdelay1 symmetric70_proto/promicro:default:flash make MTEST=mdelay10 symmetric70_proto/promicro:default:flash make MTEST=mdelay30 symmetric70_proto/promicro:default:flash set DEBUG_MATRIX_SCAN_RATE_ENABLE yes make MTEST=scan symmetric70_proto/promicro:default:flash set MATRIX_DEBUG_DELAY and MATRIX_IO_DELAY macro make MTEST=matrix_debug_delay,mdelay0 symmetric70_proto/promicro:default:flash set MATRIX_DEBUG_SCAN make MTEST=matrix_debug_scan symmetric70_proto/promicro:default:flash * add symmetric70_proto/matrix_debug/readme.md * update symmetric70_proto/matrix_debug/readme.md * update handwired/symmetric70_proto/readme.md * update handwired/symmetric70_proto/readme.md * update handwired/symmetric70_proto/*/readme.md * add handwired/symmetric70_proto/matrix_fast/ * update handwired/symmetric70_proto/matrix_fast/readme.md * fix typo in handwired/symmetric70_proto/matrix_fast/readme.md * update config.h under handwired/symmetric70_proto/promicro * add Proton C support to handwired/symmetric70_proto * add handwired/symmetric70_proto/proton_c/readme.md * add promicro/*/readme.md proton_c/*/readme.md * update handwired/symmetric70_proto/proton_c/proton_c.c support MATRIX_IO_DELAY_DEFAULT for testing. * Added another implementation of 'adaptive_delay'. * update symmetric70_proto/local_features.mk * update symmetric70_proto/matrix_fast/gpio_extr.h * add matrix_output_unselect_delay_ports() * add MTEST=adaptive_delay_fast option * update symmetric70_proto/matrix_debug/readme.md * update symmetric70_proto/matrix_fast/readme.md * update symmetric70_proto/matrix_debug/readme.md * Erase garbage * fix symmetric70_proto/proton_c/proton_c.c * improve adaptive_delay_fast in symmetric70_proto/matrix_debug/matrix.c * update symmetric70_proto/matrix_debug/readme.md * fix symmetric70_proto/matrix_debug/readme.md * Update keyboards/handwired/symmetric70_proto/proton_c/rules.mk Co-authored-by: Ryan * Update keyboards/handwired/symmetric70_proto/proton_c/rules.mk Co-authored-by: Ryan * Update keyboards/handwired/symmetric70_proto/local_features.mk Co-authored-by: Nick Brassel * Update keyboards/handwired/symmetric70_proto/local_features.mk Co-authored-by: Nick Brassel * Update keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c Co-authored-by: Nick Brassel * Update keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c Co-authored-by: Nick Brassel * Update keyboards/handwired/symmetric70_proto/local_features.mk Co-authored-by: Nick Brassel * Update keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c Co-authored-by: Nick Brassel * Update keyboards/handwired/symmetric70_proto/matrix_debug/readme.md Co-authored-by: Nick Brassel * Update keyboards/handwired/symmetric70_proto/matrix_debug/readme.md Co-authored-by: Nick Brassel * Update keyboards/handwired/symmetric70_proto/matrix_debug/readme.md Co-authored-by: Nick Brassel * Update keyboards/handwired/symmetric70_proto/matrix_fast/matrix_config_expand.c Co-authored-by: Nick Brassel Co-authored-by: Ryan Co-authored-by: Nick Brassel commit 1ae4d52013c9f38bdc5c208ff8bbfdf173e1dddd Author: XScorpion2 Date: Tue Jul 13 03:45:31 2021 -0500 Keyboards/sol rev2 fix (#13533) * Fixed a recent develop error * minor fix cause I am tired commit ac2e6e01f155811d0e206298f0d7cadcc9234603 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue Jul 13 16:50:25 2021 +0900 Change the prototype of matrix_output_unselect_delay() (#13045) The prototype of matrix_output_unselect_delay() has been changed as follows. ```c void matrix_output_unselect_delay(uint8_t line, bool key_pressed); ``` Currently, no keyboard seems to be redefining `matrix_output_unselect_delay()`, so there is no change in the system behavior. With this change, the keyboard level code can get some optimization hints, for example, the following. ```c void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { /* If none of the keys are pressed, * there is no need to wait for time for the next line. */ if (key_pressed) { #ifdef MATRIX_IO_DELAY # if MATRIX_IO_DELAY > 0 wait_us(MATRIX_IO_DELAY); # endif #else wait_us(30); #endif } } ``` commit 6b6ee5fa286c067fbea7da2b5274d47aac84d253 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jul 13 00:18:07 2021 -0700 1UP Keyboards 1UP60HTE layout macro touch-up (#13529) * rename LAYOUT_tsangan to LAYOUT_60_tsangan_hhkb ... and enable Community Layout support. * use four-space indent and QMK-native keycode aliases * rules.mk touch-up - remove Bootloader selection header comments - unify Build Options comment header to QMK template - align inline comments * readme.md touch-up - convert metadata to list - add Flashing command * move layout macro alias to info.json * apply friendly formatting to info.json * restore badger keymap to previous (don't edit user keymap) commit 92a029d6f39e2086ec6e5261c42925eeb0e93bc2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jul 12 23:44:56 2021 -0700 Ergonomic Vertical Keyboard (EVK) handwired info.json touch-up (#13527) * scale layout data Seems the KLE data that was imported to make the original file was scaled 1.25x. This commit removes the scaling. * human-friendly formatting Insert line breaks between physical layout rows. * remove instances where width or height is set to 1 The width and height of a key is defaulted to 1 if not provided by the JSON data, so there's no reason to set it manually. commit 7d2f70f39852fbc8e7954792156cc90921c39f14 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jul 12 23:32:54 2021 -0700 Checker Boards NOP60 touch-up (#13526) * apply human-friendly formatting to info.json * fix JSON tree errors in info.json * rename layout macros - rename LAYOUT_2x3u to LAYOUT_60_tsangan_hhkb_split_space - rename LAYOUT_7u to LAYOUT_60_tsangan_hhkb * rename 2x3u keymap to default commit a62b10176e6781f3b2e176a681b2090998c6d157 Merge: 00e97aae67 8f0bf52b25 Author: QMK Bot Date: Mon Jul 12 17:15:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8f0bf52b250406d0063726d4c62c78e84c1d1f2b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jul 12 10:14:18 2021 -0700 ID67 codebase touch-up (#13521) * correct layout data Fix incorrect key sizes/positions. * rename LAYOUT to LAYOUT_65_ansi_blocker * tweak human-friendly formatting for info.json Add new lines for new rows. * adjust keycode alignment in via keymap * clean up extra lines in readme file * enable 65_ansi_blocker Community Layout support * clean up rules.mk Aligns the inline comments. commit 00e97aae67c954e8ebfb1ae5b272add825dac218 Author: Alex Marmon Date: Mon Jul 12 09:36:24 2021 -0700 [Keymap] add simple gmmk pro macos keymap with rgb (#13504) commit 9d282d81ac8890018a9da9fda02afba9261c7ac4 Merge: 9c74fd14bc c024acd752 Author: QMK Bot Date: Mon Jul 12 15:53:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c024acd75243034d7d70d3bfb2fd6d3eacc0b62a Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Mon Jul 12 23:52:32 2021 +0800 [Keyboard] RGB Matrix support for TBK Mini (#13506) Co-authored-by: filterpaper commit 9c74fd14bc9777ec45cc93fa57bf83ab17b988db Author: Chris Cullin Date: Tue Jul 13 01:51:23 2021 +1000 Enable g_is31_leds PROGMEM for RGB Matrix IS31FL3737 driver (#13480) commit 4706231831b7b5926052ee1affc7f38a165c7761 Author: Joakim Tufvegren Date: Mon Jul 12 17:43:05 2021 +0200 Fix two out of bounds accesses from #13330. (#13525) Two occurrences of `MATRIX_ROWS` weren't properly changed to `ROWS_PER_HAND` in #13330, causing a crash during boot on at least my Ergodox Infinity (including #13481). commit 89980ff0044c17a9eeb58007ae35330f1d58605b Merge: ccc0b23a75 6b8168c378 Author: QMK Bot Date: Mon Jul 12 07:24:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6b8168c3786262e563137c48bcfe34c3b86e24e1 Author: Kwabena Aduse-Poku <50953326+Kwub@users.noreply.github.com> Date: Mon Jul 12 03:23:33 2021 -0400 [Keyboard] Add Bloop65 (#13388) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit ccc0b23a75f30f0ee9e1c6440dd3d56c99d38ea2 Author: Drashna Jaelre Date: Sun Jul 11 14:31:35 2021 -0700 Unify matrix for split common and regular matrix (#13330) commit 0b06452d00dcd967bfcaffe89e88a4758c878e74 Author: Zach White Date: Sun Jul 11 09:43:58 2021 -0700 Matrix consistency check (#13470) * Add a check to make sure the matrix sizes match the actual matrix size * make flake8 happy commit fd284c43a598061afeb30e8edb4fb239f0196ac3 Merge: 14ba806140 20a28d6752 Author: QMK Bot Date: Sun Jul 11 16:42:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 20a28d6752ddf70d1c50a6b444bcb9ea74ea399a Author: jackytrabbit Date: Mon Jul 12 00:42:38 2021 +0800 [Keyboard] Update lazydesigners/the60/rev2/rev2.h (#13505) Update lazydesigners/the60/rev2/rev2.h commit b71ee47c44a079baa1e5599e102cc29783f96bce Author: Rys Sommefeldt Date: Sun Jul 11 17:42:19 2021 +0100 [Keyboard] CapsUnlocked CU7 (#13429) Co-authored-by: Drashna Jaelre commit 14ba80614063cbd837580dec83b1178b4dd82731 Merge: ca0c57125f 4f3a4eca97 Author: QMK Bot Date: Sun Jul 11 15:50:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4f3a4eca9753146a239726191251c40e4b940a0d Author: Drashna Jaelre Date: Sun Jul 11 08:50:18 2021 -0700 [Keymap] Fix Corne Via Layout properly (#13518) commit ca0c57125f25770a1ba1cfb598cce29576fc9fb2 Merge: adf0d70da4 0453b61e1a Author: QMK Bot Date: Sun Jul 11 15:47:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0453b61e1a229512793e808ffd36a2080e01589a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Jul 11 08:47:21 2021 -0700 [Keyboard] Wuque Studio Ikki68 Aurora codebase touch-up (#13510) commit adf0d70da4a08c3180c5947c7bc86cb6d8d1cdcc Author: Zach White Date: Sun Jul 11 08:41:57 2021 -0700 first pass: matrix consistency improvements (#13471) commit 5a50a28962e2c68da2f43b81d0813d124f8055cf Merge: 36890181f7 877e81f963 Author: QMK Bot Date: Sun Jul 11 07:52:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 877e81f9633d1a1f73e741a04f08cf2fb9522974 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Jul 11 16:51:45 2021 +0900 Fixed the Helix keymap 'fraanrosi' compile issues (#13514) According to `helix/rev2/keymaps/fraanrosi/readme.md`, this keymap should be compiled with the following command: ``` make helix/rev2/under:fraanrosi ``` Therefore, when compiling all helix keymaps with the following command, an error occurs when compiling `fraanrosi`. ``` make helix:all ``` Therefore, add `LED_UNDERGLOW_ENABLE = yes` to `keymaps/fraanrosi/rules.mk` to suppress the error. commit 36890181f7c68af073fe3d6e9dac68a9e089284a Merge: 0bfb14409a 0a8accae06 Author: QMK Bot Date: Sun Jul 11 05:37:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0a8accae063460f20ca83c559afdfce0fa2d00f3 Author: Fredrik Salomonsson Date: Sat Jul 10 22:37:28 2021 -0700 [Keymap] plattfot - Keymap updates for Kyria (#13449) - Major change in the keymap to work with EurKey. Which relaxes some constraints it had before when it had to take in consideration two layouts. With this the parenthesis can be moved to a better location instead of being in the top right corner. This also allows esc, del and rctrl to be moved to the base layer. Only downside is that ctrl+lalt needed to be removed and instead AltGr takes it's place. Add rctrl on right thumb cluster to compensate for this which need some reorganization on the thumb cluster. - Split the symbol and function keys layer into two layers, one for each hand. Make it easier to press symbols and function keys. - Add some symbols specific for the EurKey layout. - Change from running C- S-C- to page up/down for the right rotary. As holding ctrl and using page up/down works the same in firefox. Which allows the rotary to be useful for other things. - Move scroll lock and insert to right rotary. - Introducing close tap (CLO_TAP), which is a combination of the double tap feature and my macros. E.g. pressing CLO_TAP and ( will generate ()←. Which removes the need of the macros and makes it more useful than DBL_TAP as it now saves me some keypresses. CLO_TAP exist on both the left and right hand layers to make it easy to use. - Use text for the secondary oled, firmware is too big after rebasing on upstream master. - Update image in the readme to reflect my new layout. commit 0bfb14409ac6cf31f482bab952d9c3c0ccef2d1b Merge: e05f9c4a08 2c6cff4cb7 Author: QMK Bot Date: Sun Jul 11 05:08:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2c6cff4cb74c9c1fddaf7dc1e39e6bcf79436df8 Author: GG <72414103+spbgzh@users.noreply.github.com> Date: Sun Jul 11 08:08:26 2021 +0300 [Keyboard] add new firewave ikki68_aurora (#13364) Co-authored-by: Ryan commit e05f9c4a08cef384989cd20ebe27b66622912055 Author: Erovia Date: Sat Jul 10 16:04:50 2021 +0100 CLI: Add git and venv info to doctor's output (#13405) Most of the checks are saved from zvecr's retired 'up/status' subcommand PR. commit 789be4f1145c56253629808967e31be14c99820e Merge: ee44df5b91 988942ce40 Author: QMK Bot Date: Sat Jul 10 07:36:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 988942ce40ac73f614ef01fafa6a2f8712e4c2fc Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 10 00:35:27 2021 -0700 Clawsome Hatchback & SUV: fix improperly named keymap directories (#13508) commit ee44df5b91bd31b137bff31a723aafb8a92102c2 Merge: 9cb8f6d781 09474cbf04 Author: QMK Bot Date: Sat Jul 10 01:33:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 09474cbf04d1330a59c85efc9a8a0565044c52e0 Author: Drashna Jaelre Date: Fri Jul 9 18:32:56 2021 -0700 Fix VIA compilation issues for RGB Matrix (#13503) commit 9cb8f6d7812135e2fb29d924dc24c17307ade71e Merge: 5179d573aa baa65d2177 Author: QMK Bot Date: Fri Jul 9 16:11:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit baa65d21771242c5c05aa6dc8d0f75fac4ad7675 Author: Zach White Date: Fri Jul 9 09:10:45 2021 -0700 enable manual trigger for api data (#13000) commit 5179d573aa4e7b97a41725b1a572999f68a91174 Merge: 8ffdf83015 572a35d9a2 Author: QMK Bot Date: Fri Jul 9 09:41:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 572a35d9a25584daa7e95df26ea45784650f0b1f Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 9 02:40:59 2021 -0700 Mechmini V1 Refactor (#13498) commit 8ffdf830152a7c29e46445788421fd8f8d60a274 Merge: ff61b870cf 1e51bb39a3 Author: QMK Bot Date: Thu Jul 8 17:59:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1e51bb39a33a4ea897dafe7944653356f6c0f069 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 8 10:58:42 2021 -0700 nknl7en: correct key object order (#13482) commit ff61b870cf911ac7af3d4851c511dcd4aaa11348 Merge: 1fd1198522 f44b48669d Author: QMK Bot Date: Thu Jul 8 08:47:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f44b48669dd4d33b409090125d95f94a7d2db1f3 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Jul 8 17:47:39 2021 +0900 Updated docs/ja/feature_ps2_mouse.md. (#13472) Changed following the change in the definition of `PS2_MOUSE_SCROLL_BTN_MASK` in the original document. commit e10e67c9b9c2ba245c38eb31218ba88bfeb0dffb Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Jul 8 17:47:09 2021 +0900 [Update] Change Original TAGs of Japanese translations (#13473) * Updated docs/ja/proton_c_conversion.md original tag. * Updated docs/ja/other_vscode.md original tag. * Updated docs/ja/feature_swap_hands.md original tag. * Updated docs/ja/faq_general.md original tag. * Updated docs/ja/feature_userspace.md original tag. * Updated git co docs/ja/config_options.md original tag. commit 1fd1198522d5652d996ca38ee89dfd37a93c6be1 Merge: e675a9fc60 eab623f1ad Author: QMK Bot Date: Thu Jul 8 08:46:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit eab623f1ada0dc4e2b709b08aac837282a206efd Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Jul 8 17:46:28 2021 +0900 [Docs] update Japanese translation of internals_gpio_control.md (#13401) * Add 'Atomic Operation' section into docs/ja/internals_gpio_control.md * Update docs/ja/internals_gpio_control.md * Update docs/ja/internals_gpio_control.md * Update docs/ja/internals_gpio_control.md commit e675a9fc606ee124c196bf029bf6da5c40f7f15d Author: Joakim Tufvegren Date: Wed Jul 7 10:05:35 2021 +0200 Use the new ST7565 driver on Ergodox Infinity (#13165) commit 90af59ea9d8f178d367baf669870ea65b4c87a4d Merge: dd0df14d89 72540f7d83 Author: QMK Bot Date: Wed Jul 7 01:28:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 72540f7d837550d2c54f4069b11b1e5d9fcf374c Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jul 6 18:28:11 2021 -0700 Xelus Ninjin: rename LAYOUT_all to LAYOUT_tkl_ansi_tsangan; add info.json (#13477) commit dd0df14d890e986c043ab749a51d8e1bdd64c25c Merge: ab43bfe9c9 692d0268ca Author: QMK Bot Date: Wed Jul 7 01:27:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 692d0268caa8206076e03b9e5264982614a7cec7 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jul 6 18:27:23 2021 -0700 Kopibeng XT65: Layout Macro Refactor (#13476) commit ab43bfe9c9d53ce639fb1b0dccdeb17cc2e379e7 Merge: eac5af5c23 b976fcbb44 Author: QMK Bot Date: Wed Jul 7 01:07:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b976fcbb44203e10fc8a106dec38cdb72224e43f Author: mfkiiyd Date: Wed Jul 7 09:06:39 2021 +0800 [Keyboard] Add poker87c and poker87d (#12810) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Water commit eac5af5c23ae098fd58fddf0dcac7af5c96cfbee Merge: 99d1475141 a0a57dc613 Author: QMK Bot Date: Wed Jul 7 01:06:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a0a57dc6136a41d0149f2dea817b672e90f6d1da Author: Blake Date: Wed Jul 7 02:05:53 2021 +0100 [Keyboard] Add new Elise, 65% Keyboard ANSI / ISO (#12782) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 99d14751410ede31a5ac08ccc11ef404d855ddde Merge: 0aa963c740 dba3f0d1eb Author: QMK Bot Date: Wed Jul 7 01:05:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dba3f0d1ebeb8103e93494cb428021c491534202 Author: Simon <4662005+Deadolus@users.noreply.github.com> Date: Wed Jul 7 03:04:32 2021 +0200 [Keyboard] Add bm65iso (#13400) Co-authored-by: Ryan commit 0aa963c740012715c150731bf53d02f3dba6747b Merge: 2048c28f78 09c4d536c3 Author: QMK Bot Date: Tue Jul 6 22:20:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 09c4d536c31c7443c4355e749e72364262fdd454 Author: gtips <51393966+gtips@users.noreply.github.com> Date: Wed Jul 7 07:20:20 2021 +0900 [Keyboard] Add keyboard reviung5 (#13375) commit 2048c28f789e8942367bd7cca0d4d243784c7186 Merge: 26bb2d7063 c9c2916829 Author: QMK Bot Date: Tue Jul 6 21:47:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c9c2916829eccab2222dad99c7f599988789ec2f Author: KDon <370490639@qq.com> Date: Wed Jul 7 05:47:24 2021 +0800 [Keyboard] Add kabedon98e (#13314) commit 26bb2d7063568242aa3ac34a79f92f3184733c6a Merge: 150f4ef5dc 792c4e7893 Author: QMK Bot Date: Tue Jul 6 17:48:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 792c4e7893af4a2561794b6f067327d33f39847c Author: Drashna Jaelre Date: Tue Jul 6 10:47:26 2021 -0700 [Keyboard] Set reasonable defaults for Corne keyboard (#13440) * [Keyboard] Set reasonable defaults for Corne keyboard * Add note about bootmagic * Make bootmagic config super weak * cleanup * Apply suggestions from code review * Update keyboards/crkbd/readme.md commit 150f4ef5dcb3546566bcbbd7b744975bdebd23b6 Merge: fc4f03086f acf7de7a52 Author: QMK Bot Date: Tue Jul 6 14:56:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit acf7de7a52c16dd994305ce289e60e4894ff04d0 Author: Kuba Tyszko Date: Tue Jul 6 07:56:13 2021 -0700 /bin/bash to /usr/bin/env bash (#13422) commit fc4f03086f7fdd8eb35c5b88de9d3757f402eaf5 Merge: a535d24ecf 9ce6808015 Author: QMK Bot Date: Tue Jul 6 05:34:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9ce680801574706a846de9aafe33cffbf5231509 Author: Ryan Date: Tue Jul 6 15:34:04 2021 +1000 Update `MSG_PYTHON_MISSING` (#13427) commit a535d24ecfd465124cdb255e53b5cc301cbda6d9 Author: Thomas Weißschuh Date: Tue Jul 6 01:24:48 2021 +0200 core: chibios: bootloader: use integer pointers as volatile (#13450) This prevents gcc from incorrectly trying to validate array bounds. ``` tmk_core/common/chibios/bootloader.c: error: '__builtin_memcpy' offset [0, 21] is out of the bounds [0, 0] [-Werror=array-bounds] 107 | __builtin_memcpy((void *) VBAT, (const void *)sys_reset_to_loader_magic, sizeof(sys_reset_to_loader_magic)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578#c16 Fixes #12925 commit 82137e14f24a12dbf16746b602d4912582b93b58 Author: Ryan Date: Tue Jul 6 09:08:08 2021 +1000 Migrate SHIFT_ESC and RGB `fn_actions` to Grave Escape and RGB keycodes (#13360) commit 50d4dfd2e65904234d7ee138b57eccd4b6664e1f Author: Ryan Date: Tue Jul 6 09:05:11 2021 +1000 `keymap_extras`: Remove deprecated defines (#12949) commit ca1b1142972903008316470c1ebf0d002414b71d Merge: 0386aea09f 03a9baa44f Author: QMK Bot Date: Mon Jul 5 17:15:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 03a9baa44ff5e43023d87e5ccd4e01a908f21389 Author: David Luo Date: Mon Jul 5 13:15:24 2021 -0400 [Keyboard] fix encoder_update_user for nullbitsco/nibble (#13451) commit 0386aea09f2c2b072adfa0f9a0b63ff8e5508bdb Merge: bcf09d9f68 4c1c112a16 Author: fauxpark Date: Mon Jul 5 21:57:13 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit 4c1c112a16532270d7744c19875287f3880edc55 Author: Ryan Date: Mon Jul 5 20:45:31 2021 +1000 Traveller cleanup (#13441) * Traveller cleanup * Update keyboards/handwired/traveller/info.json Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit eb7178b542058309b20e4c3411a724e937223a9c Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jul 5 03:30:34 2021 -0700 LatinPadBLE: correct info.json data (#13452) * correct info.json data Removes an extra key object, and corrects the layout macro reference. * refactor rules.mk file - remove invalid `LAYOUTS` rule - edits the rules.mk file to more closely resemble the file from QMK's AVR template. * additional rules.mk cleanup per fauxpark Apply suggestions from code review commit bcf09d9f6852d30d6411d64bc6d4d743d8ab99a9 Merge: da7cba40a3 5d52d01825 Author: QMK Bot Date: Mon Jul 5 10:08:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5d52d018251866eba34c7aa352174a5d23900198 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jul 5 03:07:24 2021 -0700 Jabberwocky: adjust key positioning in Configurator (#13447) * adjust key positioning in Configurator Some of the keys were visually overlapping when rendered. Adjusted the key positioning to remove the overlaps. * update readme.md - fix a broken URL - rewrite the Bootloader access instructions - remove trailing whitespace commit da7cba40a3f5accda34a1603c3b99c65cdabd66d Merge: 83c8e750de 673a5b0ea2 Author: QMK Bot Date: Mon Jul 5 04:12:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 673a5b0ea27d76b5135399a7dbfffc5cb2790ec9 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Jul 4 21:11:53 2021 -0700 Molecule: Layout Macro Refactor (#13453) commit 83c8e750de0a2687dc870b078768f85bb711c8d5 Merge: 550d9253b0 fa309df895 Author: QMK Bot Date: Mon Jul 5 00:34:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fa309df895fc9a1eee0a446fcbc6928481943455 Author: wxyangf <2058629+wxyangf@users.noreply.github.com> Date: Sun Jul 4 20:34:20 2021 -0400 [Docs] added list of MIDI keycodes (#13159) commit 550d9253b03c4273065b212d0b856a9ad07132df Author: Jameson Thatcher Date: Mon Jul 5 00:06:40 2021 +0100 Allow invert of SPLIT_HAND_PIN logic (#13433) * added support for inverting the hand pin for split keyboards * Added docs about SPLIT_HAND_LOW_IS_LEFT * Update docs/feature_split_keyboard.md bring #define for split hand pin low for left half name in line with grid pin define Co-authored-by: Joel Challis * Update quantum/split_common/split_util.c update split hand pin low is left name to match split hand grid define Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 40c5f978719b5d99124f9d4c5d08818e21e7c555 Merge: 08e4808bf5 b73f8de10b Author: QMK Bot Date: Sun Jul 4 22:41:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b73f8de10b6f022fc4830b51d66bcf7691289f1b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Jul 4 15:40:31 2021 -0700 correct Configurator layout data (#13448) The object for the rotary encoder was not previously included in the layout data. commit 08e4808bf50acc2b2ba3040ef7bd3f6feeaa17e4 Merge: 6e00b5aaed af083b41cd Author: QMK Bot Date: Sun Jul 4 15:35:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit af083b41cdafd867ded1952f277617c6cc304292 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Jul 4 08:34:50 2021 -0700 Yampad: add info.json (#13445) commit 6e00b5aaed25fe593fc72e5569921b6aeaca8c94 Merge: 99ce5446ad 4d4cac2d07 Author: QMK Bot Date: Sun Jul 4 03:24:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4d4cac2d07dd23262659fb2f28d22a3d1a4c042b Author: Yon Nor Date: Sun Jul 4 11:24:20 2021 +0800 [Keyboard] Add CX60 (#13402) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 99ce5446ad277ede693fbc5ad766dc37d82d91bc Merge: c022821c76 6d8fac5e2d Author: QMK Bot Date: Sun Jul 4 03:14:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6d8fac5e2df017e09770fc59ba4b9ec473cafe5e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 3 20:13:50 2021 -0700 Specskeys Configurator Bugfix and Refactor (#13439) commit c022821c766c5200602456001289e40d8636f8b0 Merge: ef7862280d 3e04e22edb Author: QMK Bot Date: Sun Jul 4 02:55:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3e04e22edb057b2da397a33ab67e73b0cb581f42 Author: AnthonyL Date: Sat Jul 3 22:54:33 2021 -0400 [Keyboard] IDOBAO ID67 (#13378) Co-authored-by: Drashna Jaelre Co-authored-by: Anthony Lowery commit ef7862280d73ae5697fa54e5cfb11f2cfe2e8d40 Merge: def12e2287 400844453a Author: QMK Bot Date: Sun Jul 4 01:06:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 400844453a48c63c0eb06ae6b5d714a1ac3918f3 Author: cole smith <38364556+daysgobye@users.noreply.github.com> Date: Sat Jul 3 18:06:05 2021 -0700 [Keyboard] ortho boards from the technik gb (#13382) Co-authored-by: Ryan commit def12e22874318883191ce28444900a40901d2ef Merge: b635ca4976 2161496d62 Author: QMK Bot Date: Sat Jul 3 23:49:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2161496d62fef0f1255984cf4fc0e3e1c625d6fa Author: Drashna Jaelre Date: Sat Jul 3 16:48:51 2021 -0700 [Keyboard] Add soldered variant of Titan 65 keyboard. (#13270) commit b635ca4976fcffe91317ec06199056a635cbd4f2 Merge: 55837093d5 79751f5b15 Author: QMK Bot Date: Sat Jul 3 16:45:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 79751f5b1544ead4e73951443aaf95fc49ff8a23 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jul 3 09:44:15 2021 -0700 Pisces: correct layout macro reference in info.json (#13410) commit 55837093d5b3cfc44b5f54085ecf0511e4e877a2 Merge: 6b59220097 65f8da3034 Author: QMK Bot Date: Sat Jul 3 16:09:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 65f8da3034c0bc854aa23e0b8e78cbfc8a14ff19 Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Sun Jul 4 02:09:02 2021 +1000 [Keymap] Update Miryoku (#13307) Fix reddit link Duplicate open parenthesis next to close parenthesis on NSSL Add customisation instructions Add lily58 Add gergo Co-authored-by: Jonathan Dayton Clean up LAYOUT macro formatting Add alternative vi-style navigation layout Add kyria Add minidox Change order of keyboards Add iris Expand TOC Re-order userspace subheadings Add atreus Add customisation section Add split_3x5_3 and split_3x6_3 layouts Add for_science Fix wrong paths in keyboard config.h and keymap.c headings Fix keyboard ordering Fix blank lines around headings Add compatibility with new org-mode version. Remove keyboards/crkbd now covered by layouts/split_3x6_3 Add Halmak Alphabetise alternative alpha arrangements Move build options out of base layer alphas headings Add list of keyboards supporting split_3x5_3 layout Enable Auto Shift and Retro Shift Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping) Change kyria thumb key mapping Add planck_mit layout Remove alternative bottom row support from ortho_4x12 Remove minidox - Covered by split_3x5_3 layout Add moonlander Remove KC_ macros Add 60_ansi layout Add ortho_5x15 layout Closes manna-harbour/qmk_firmware#5 Co-authored-by: Rob Fix typo (manna-harbour/qmk_firmware#7) Author: sonnius Add redox_w (manna-harbour/qmk_firmware#8) Author: Brian Romanko Co-authored-by: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Add AUTO_SHIFT_NO_SETUP to reduce firmware size Update image paths Add instructions to checkout development branch Add kyria extended thumbs option, change default, add KLE Change clipboard keys - Change order to be mirror of windows bindings - Change default to use CUA bindings for Cut, Copy, and Paste, and Fun Cluster bindings for Undo and Redo - Add alternative bindings - Fun Cluster (original miryoku bindings) - Mac - Windows - Change prefix for local macros from X_ to U_ Disable Retro Shift, enable Auto Shift for non-alphas Revert "Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping)" Add Experimental Features section Update miryoku image link Update cover image link Add dactyl_manuform/4x5 Add cutomisation examples Add https to remote example Fix dactyl_manuform/4x5 subset mapping Add extended thumbs to ortho_4x12 Update Colemak Mod-DH naming Closes manna-harbour/qmk_firmware#13 Add dactyl_manuform/5x6 Resolves manna-harbour/qmk_firmware#14 Co-authored-by: Sebastian Morales Add note on FORCE_LAYOUT - Needed to use EXTENDED_THUMBS on planck Add parent directories to keyboard headings and re-order Add keyboardio/atreus Resolves manna-harbour/qmk_firmware#15 Add torn Resolves manna-harbour/qmk_firmware#16 Author: Brian Romanko Co-authored-by: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Change map to zip - Adds support for python3, still compatible with python2. Resolves manna-harbour/qmk_firmware#10 Resolves manna-harbour/qmk_firmware#19 Co-authored-by: Ori Add python-version Add sofle Add ergotravel Add ortho_5x12 Add ortho_4x10 Add :main no header argument to C code blocks resolves manna-harbour/qmk_firmware#11 resolves manna-harbour/qmk_firmware#12 Co-authored-by: RubioJr9 Add flipped layers and inverted-T nav alternative layouts - Separate tap_table into alphas_table and thumbs_table - Add mode argument to table-layout-half - Remove layer_name - Rename layers - Add mods and clipboard to MBO and mirror - Add MIRYOKU_LAYERS=FLIP - Add MIRYOKU_NAV=INVERTEDT Add layer diagrams Update contact section Update links for Bilateral Combinations and Retro Shift Add description and no reverse angle option to 60_ansi layout Update list of keyboards supporting community layouts - and example build command lines Change moonlander thumb keys Update list of keyboards supporting split_3x5_3 Add license to tangled C source files commit 6b59220097e5a3059660cdaab91f7110bafe2cd7 Merge: a39c445c26 3b1506b741 Author: QMK Bot Date: Sat Jul 3 16:05:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3b1506b74119cf45927fcd25a230e79fbf7531b3 Author: yfuku <30647434+yfuku@users.noreply.github.com> Date: Sun Jul 4 01:04:30 2021 +0900 [Keyboard] Add wings42 keyboard (#12734) Co-authored-by: Drashna Jaelre commit a39c445c26cf9844fb9305f9fc0b147968ba6c9e Merge: c82e0d64a2 bec74aec1b Author: QMK Bot Date: Sat Jul 3 15:18:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bec74aec1bb2f8bb4c0f387a7b03ba56886160a8 Author: Faehriss <84159213+Faehriss@users.noreply.github.com> Date: Sat Jul 3 16:18:21 2021 +0100 [Keyboard] Added LAYOUT_60_iso_split_rshift to ok60 (#12902) added lines to support split right shift ISO in QMK configurator. commit c82e0d64a2ba74af04c3e0d739ab6ef6bc246f26 Merge: 19daf3da23 002d90b357 Author: QMK Bot Date: Sat Jul 3 15:14:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 002d90b3577dc09416ef1491b65f65bbf5438b01 Author: Jonavin <71780717+Jonavin@users.noreply.github.com> Date: Sat Jul 3 11:13:41 2021 -0400 [Keymap] Jonavin merc additional encoder functionality (#13039) Co-authored-by: Drashna Jaelre Co-authored-by: Jonavin <=> commit 19daf3da23549af5249d6a4cd37118ab3ffdaff9 Merge: 6ac037aa3c 4b6af0a507 Author: QMK Bot Date: Sat Jul 3 15:03:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4b6af0a5077ceeb9c4ed5caf95062cea01220ecb Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Jul 4 01:02:54 2021 +1000 [Bug] Pachi RGB - fix rgb placement (#13428) commit 6ac037aa3ccd2937bab3dbcc5108001534765e38 Author: Gigahawk Date: Sat Jul 3 08:01:23 2021 -0700 AW20216 use register increment for framebuffer flushes (#13430) commit 0b22783c64e06aeb606ffef584b362dbf7fd3895 Author: Drashna Jaelre Date: Sat Jul 3 07:43:49 2021 -0700 Improve 'show_build_options' target (#13425) * Improve 'show_build_options' target * Align the output to maximize readibility * Add Bootloader to listed output * Also alighn build options Thanks mtei! commit 4459f91dc28514eb1d99c615b811e3a50505b570 Merge: 4f0a7e4364 d068b7c097 Author: QMK Bot Date: Sat Jul 3 08:37:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d068b7c097e3e272eba88bd8960034763d4e334f Author: Jonavin <71780717+Jonavin@users.noreply.github.com> Date: Sat Jul 3 04:36:38 2021 -0400 [Keymap] gmmk pro keymap with numpad, enhanced encoder functionality and Win key lock (#13406) Co-authored-by: Jonavin <=> commit 4f0a7e43647c95eba65ea555a47bcc2431a49375 Merge: 8465d28d0f 5878e86c8a Author: QMK Bot Date: Sat Jul 3 08:16:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5878e86c8a028ad3878aeed158b413afe2e3498c Author: Jonavin <71780717+Jonavin@users.noreply.github.com> Date: Sat Jul 3 04:16:16 2021 -0400 [Keymap] Jonavin quefrency keymap add encoder functionality + 2tap Shift CAPSLOCK (#13376) Co-authored-by: Jonavin <=> commit 8465d28d0fcf08139a13b54f2a1323874cf5a954 Merge: b45b9ed536 fdf71f1aa7 Author: QMK Bot Date: Sat Jul 3 08:07:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fdf71f1aa7c4720b469d0e11ec8169796cdf3930 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sat Jul 3 16:07:01 2021 +0800 [Docs] RGB Matrix Caps Lock and Layer indicator example (#13367) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: filterpaper commit 4b285d3f50cf2aaf74683b63f6150e106a3237b0 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sat Jul 3 04:06:21 2021 -0400 [Keymap] Add stanrc85 community layout (#13338) commit b45b9ed536151ded3ec8fd90d1d961632b8a2e73 Merge: 4ba56d7219 2ccca64514 Author: QMK Bot Date: Sat Jul 3 08:01:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2ccca645141e8fd4c1ea6ee90e978bc41034ff56 Author: Nick Abe <57225836+2Moons-JP@users.noreply.github.com> Date: Sat Jul 3 17:00:34 2021 +0900 [Keymap] 2Moons-JP Keymap Update (#13279) Co-authored-by: Drashna Jaelre commit 4ba56d7219e271cdeb6f50d19adb32d4c0e6426f Merge: 15bcae710e 0339467814 Author: QMK Bot Date: Sat Jul 3 07:59:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 03394678146b97700320c2ebe274f6cd7af11278 Author: rate Date: Sat Jul 3 16:59:52 2021 +0900 [Keyboard] Added pistachio rev2 (#13248) Co-authored-by: Drashna Jaelre commit 7f41c5147b6ce4c9af76522070d46eed3252fefb Author: Nic Lake Date: Sat Jul 3 02:59:30 2021 -0500 [Keymap] niclake - Keymap updates - Boardwalk updates & DZ60 create (#13245) commit 15bcae710e95acbf39eea04870db461452abc828 Merge: 3824651f3b c55bb3d478 Author: QMK Bot Date: Sat Jul 3 07:58:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c55bb3d4787b2801ac447d8051cf1435f7e87f64 Author: Rob Owens Date: Sat Jul 3 02:58:13 2021 -0500 [Keyboard] Add support for Idobao Montex (#13214) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 3824651f3b158c82d61399d56c2ca368f8e91c1c Merge: 9d61043363 2af5d493e3 Author: QMK Bot Date: Sat Jul 3 07:57:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9d610433635a0b6174aab6a5054af23a3a70e155 Author: Koichi Katano <36572567+kkatano@users.noreply.github.com> Date: Sat Jul 3 16:57:50 2021 +0900 [Keyboard] Add Bakeneko65 V3 and revision folders (#13228) commit 2af5d493e32dffe89d8b4908905d57a42aa47e53 Author: X-Bows Tech <41098278+XBowsTech@users.noreply.github.com> Date: Sat Jul 3 15:57:27 2021 +0800 [Keyboard] Add X-Bows Knight_Plus Keyboard (#13221) Co-authored-by: Drashna Jaelre commit ca4536e492c2378b916b970a786ce1ad3dcdb539 Author: SergioPoverony Date: Sat Jul 3 12:55:39 2021 +0500 [Keyboard] Add Creator Pro by SergioPoverony (#13154) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit eea89cc6363642855b577730f2ad3ce8335eacf8 Merge: b5c361542e 45dec4911c Author: QMK Bot Date: Sat Jul 3 07:51:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b5c361542efa22aefa5e5868ceb678d4fb8b68b3 Author: Thomas Weißschuh Date: Sat Jul 3 09:50:47 2021 +0200 mousekey: expose current report to users (#13069) commit 45dec4911c2816abcd5b5dc1834d85756be43e8d Author: Manassarn "Noom" Manoonchai <248741+narze@users.noreply.github.com> Date: Sat Jul 3 14:50:32 2021 +0700 [Keymap] Add narze lily58 keymap & update my other keymaps (#13110) Co-authored-by: Ryan commit 3ab805fc67e95dfb23188bf63c7f5fbb2edcf038 Author: Drashna Jaelre Date: Sat Jul 3 00:20:11 2021 -0700 Add support for NO_PIN to all matrix types (#12238) Co-authored-by: Nick Brassel commit 8da8aabbe5796232c0f17f849badd455d42b0277 Author: Drashna Jaelre Date: Sat Jul 3 00:19:52 2021 -0700 Improve layer mask handling (#13065) commit 03807c2c6e470a3046c1ff40ac7ab74f76b94f74 Merge: 7629b7f52a 06e0643541 Author: fauxpark Date: Sat Jul 3 16:38:05 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit 06e0643541493220fb7413e33f3fc6972a9384b8 Author: Ryan Date: Sat Jul 3 16:34:22 2021 +1000 Add "Ctrl+C to cancel" to "waiting for bootloader" messages (#13424) commit 2ce8d264184e053d67e083ab86a2613a4a6a128e Author: Qiaowei Tang (Joel) <31787718+dangjoeltang@users.noreply.github.com> Date: Sat Jul 3 01:31:32 2021 -0500 [Keymap] Think6.5v2 keymap with working caps-lock indicator (#12709) Co-authored-by: Drashna Jaelre commit 170de06475c0b6c7a1a16bc6ac99f1994be17261 Author: David Rambo Date: Fri Jul 2 22:30:32 2021 -0700 [Keymap] Update personal keymaps, add Corne keymap, and update non-kc LAYOUT for Iris (#12273) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 7629b7f52a89be171c6427ad2849d50ccd347335 Author: team0110 <81603228+team0110@users.noreply.github.com> Date: Sat Jul 3 11:46:28 2021 +0700 [Keyboard] Relocalize and Update p1800fl (#12425) Co-authored-by: Ryan Co-authored-by: marhalloweenvt Co-authored-by: Drashna Jael're commit f51d929bd9dff0c11b2cca515d7a2f28fc5995d4 Author: Dino Fizzotti Date: Sat Jul 3 04:56:23 2021 +0100 [Keyboard] Add FnRow v1 keyboard by dinofizz (#11817) Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Dino Fizzotti commit ad30218701782192b9125c32b85cdbcc203c0c85 Author: William Ehman Date: Fri Jul 2 21:53:13 2021 -0600 [Keyboard] manyboard macro (#11896) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre commit 04bc74d8f52370a01f1f67a5de8ae751e307e8c9 Author: Stefan Kerkmann Date: Fri Jul 2 23:28:32 2021 +0200 Switch split_common to CRC subsystem (#13418) commit 8bba77db0da2aa189103ef9498780d2c915ad4e9 Author: Conor Burns Date: Fri Jul 2 20:38:53 2021 +0200 added 0xCB Static (#13047) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 11a406f04672ca7243186508428846174aa109d6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 2 06:12:05 2021 -0700 correct info.json data (#13409) commit 73dedb96f208773c98d856966d3c6fd4d1e04186 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jul 2 06:09:24 2021 -0700 add maintainer value to info.json (#13411) Configurator isn't using the data in this file, and I think this may be why... commit 638373a16c7111e21ccf41883850db6ba97c4475 Merge: abe8b080bf 9f49ec51a1 Author: QMK Bot Date: Fri Jul 2 13:01:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9f49ec51a1a1de2c4cc3fa52c6225867bfa3ffa8 Author: Joel Challis Date: Fri Jul 2 14:00:55 2021 +0100 Fix up recent checkerboards additions (#13414) commit abe8b080bf3a5f1363fb7b286ccbe2c4c264abbf Merge: 371d3bfbdd a8f6a36e1e Author: QMK Bot Date: Fri Jul 2 06:21:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a8f6a36e1ec8b3200cd5746a8abf7b86a995d227 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Fri Jul 2 16:21:27 2021 +1000 [Bug] fix Dystopia.h comma (#13413) commit 371d3bfbdd0bd863aa161b631b472c2a44f19633 Merge: b721e054a2 5046883531 Author: QMK Bot Date: Fri Jul 2 06:09:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b721e054a2fcb5de5e45a30c07dfe32f11dfb017 Author: Ryan Date: Fri Jul 2 16:08:45 2021 +1000 Add rgblight to RGB Matrix VPATH (#13371) commit 50468835311da76aa80fdeae0a7d01c944af3ff7 Author: Ryan Date: Fri Jul 2 16:08:34 2021 +1000 Cleanup gitignore (#13390) commit 348750294bcaf9c0832053e3a6b267fb7be535d9 Merge: 117bff17ba 6db4b49fec Author: QMK Bot Date: Fri Jul 2 00:46:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6db4b49fec258d792fd88792e416f5ea684446c1 Author: npspears <40127181+npspears@users.noreply.github.com> Date: Thu Jul 1 19:45:31 2021 -0500 add support for Axon40 and G_IDB60 (#13075) * add support for Axon40 * add support for G_IDB60 * added bootloader reset instructions * added bootloader reset instructions commit 117bff17ba89a70dd85163b499c262b879f52afd Author: Stefan Kerkmann Date: Fri Jul 2 00:24:08 2021 +0200 [Core] Unite half-duplex and full-duplex serial drivers (#13081) * Unite half-duplex and full-duplex serial driver. * Add full duplex operation mode to the interrupt based driver * Delete DMA UART based full duplex driver * The new driver targets #11930 * Fix freezes with failing transactions in half-duplex * Increase default serial TX/RX buffer size to 128 bytes * Correctly use bool instead of size_t Co-authored-by: Nick Brassel commit 47b12470e762732638a79e6752069564d6fb9649 Merge: 8f018c2863 db7fd6c3a1 Author: QMK Bot Date: Thu Jul 1 19:39:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit db7fd6c3a1b04b6926c95c7320203ef3937d4f02 Author: Danny Date: Thu Jul 1 15:39:16 2021 -0400 Add missing Quefrency layouts for QMK Configurator (#13384) * Reformat info.json using Prettier * Add missing layouts needed for QMK Configurators commit 8f018c28638ba7584dc828d7d31934215f075d1e Merge: 0b7936c4e8 79a46708f8 Author: QMK Bot Date: Thu Jul 1 19:17:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 79a46708f8a553200f2cd7de95edac06a105523c Author: AfterThought Date: Thu Jul 1 14:17:28 2021 -0500 [Keyboard] Adding Via support to the GON NerD60 (#13395) commit 0b7936c4e8837cd4e761df3e2ada5b35936e9020 Merge: 0bde920817 bef73f44aa Author: QMK Bot Date: Thu Jul 1 17:12:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bef73f44aacf49d0969e3cdd6718b9a594d49066 Author: Jakob Hærvig <10219471+jakobhaervig@users.noreply.github.com> Date: Thu Jul 1 19:12:19 2021 +0200 [Keymap] Add haervig userspace and keymaps (#13362) commit 0bde920817ef458f2ad61a66ce76a2535bbc261b Author: Drashna Jaelre Date: Thu Jul 1 08:22:21 2021 -0700 Convert Dip Switch callbacks to boolean functions (#13399) commit 8f78be076debfc073741f1bc1ba424f1271191d9 Merge: b6348ffffd c275828ac2 Author: QMK Bot Date: Thu Jul 1 10:48:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c275828ac20f55a42ca1d1546c330501c00839ab Author: Caleb Lightfoot <61706196+Tsquash@users.noreply.github.com> Date: Thu Jul 1 05:47:43 2021 -0500 Changed Yeehaw Default Keymap (#13341) commit b6348ffffd847f4a629f15b0f0eebba71b0d39e0 Merge: 2bf8671293 57d9f01125 Author: QMK Bot Date: Thu Jul 1 09:23:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 57d9f011259c569766e00626729e8cca039284e6 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Thu Jul 1 18:22:48 2021 +0900 [Docs] update Japanese translation of other_eclipse.md (#12776) * update other_eclipse.md translation * update based on comment * update based on comment commit 2bf867129385c3cb78ce14f769b5aef3ef80282c Merge: b22fc58f25 a1582c4411 Author: QMK Bot Date: Thu Jul 1 09:22:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a1582c441123ea8a6216dfcd7bdebb8207881c3f Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Thu Jul 1 18:22:10 2021 +0900 update Japanese translation of config_options.md (#12695) * update config_options.md translation * update config_options.md translation * update based on comment * update based on comment commit b22fc58f25f3014dca4625f093ecda86cee4dea6 Merge: 5ca893bd55 397d388862 Author: QMK Bot Date: Thu Jul 1 09:21:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 397d388862d097e9da7f9a5fa85ed7b54f5105cb Author: s-show Date: Thu Jul 1 18:21:37 2021 +0900 Translated 'feature_advanced_keycodes.md'. (#12454) * Translated 'feature_advanced_keycodes.md'. * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * Update docs/ja/feature_advanced_keycodes.md Co-authored-by: shela * update based on comment. * update based on comment. Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * update based on comment. Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * update based on comment. Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: shela Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 882b90b729a8a062881cd5ab8829089b425e034a Author: s-show Date: Thu Jul 1 18:21:03 2021 +0900 [Docs] Japanese translation of docs/keycodes_basic.md (#11044) * 'keycodes_basic.md' copied. * Translation completed. * update to "breakpoint_2021_05_29". * Update docs/ja/keycodes_basic.md Co-authored-by: shela * Update docs/ja/keycodes_basic.md Co-authored-by: shela * Update docs/ja/keycodes_basic.md Co-authored-by: shela * Update docs/ja/keycodes_basic.md Co-authored-by: shela * Update docs/ja/keycodes_basic.md Co-authored-by: shela * update based on comment. * update based on comment. Co-authored-by: shela commit 5ca893bd5530a85f12180a83fcbd6fc2bbf85f00 Merge: 70b1d7e459 e322462cd4 Author: QMK Bot Date: Thu Jul 1 08:24:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e322462cd457b7fc32b30e6916079d363b8aa6e8 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 1 01:24:06 2021 -0700 Illusion Rosa: correct layout macro names (#13387) commit 70b1d7e459f17caf4d826a9b6acd5d196486f1aa Merge: dddefa2fd7 a001df5e80 Author: QMK Bot Date: Thu Jul 1 08:23:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a001df5e807ee17f084ac363d9c57734fc613140 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 1 01:23:33 2021 -0700 FJLabs Midway60: physically arrange layout macro and fix info.json data (#13386) commit 1e809e28b7e7ade54b444254bb716f3f0e20b80b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jul 1 01:23:00 2021 -0700 Sanctified Dystopia: physically arrange layout macro (#13385) Arranges the layout macro and keycodes to resemble the assembled keyboard. commit dddefa2fd75ac85b48cd771ec7c9b09a6010fd94 Merge: 7fdb95af36 c1813717a7 Author: QMK Bot Date: Thu Jul 1 08:22:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c1813717a77d0cc3d397971a71b056b6f94f080f Author: Stefano Pace Date: Thu Jul 1 10:21:42 2021 +0200 Updates for keymap: ut472/stefanopace (#13370) commit 7fdb95af367e44e443312151ee5191f680cabc73 Merge: af13b7bf05 2b8ad391ae Author: QMK Bot Date: Thu Jul 1 08:08:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2b8ad391aed15d41358c09d4b925e6a2bfc85ac6 Author: Michael Stapelberg Date: Thu Jul 1 10:07:37 2021 +0200 [Keyboard] update debounce time on kint boards (#13351) related to https://github.com/kinx-project/kint/issues/39 related to https://github.com/qmk/qmk_firmware/pull/12626 commit af13b7bf050de836ed25d5355ef0b909c12580cf Merge: 896f11b2bd fb405c27ad Author: QMK Bot Date: Thu Jul 1 08:06:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fb405c27ad07313f5d564c02bf03130d9aaf59c7 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Thu Jul 1 04:06:06 2021 -0400 [Keymap] RGB Timeout added to userspace (#13339) commit 896f11b2bde1b91e26577d48806a656837518213 Merge: 425c0dad01 13533508e2 Author: QMK Bot Date: Thu Jul 1 07:54:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 13533508e236666b8827b62f2b2d6819d473ef2b Author: kb-elmo Date: Thu Jul 1 09:53:35 2021 +0200 [Keyboard][Bug] Fix LED indicators on Skeletn87 (#13335) commit 425c0dad010b29b137c875afd2122bd9cd0e78af Merge: 29228e5b78 4168e10c49 Author: QMK Bot Date: Thu Jul 1 07:45:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4168e10c49d512132db369fcc3402e56052cebd1 Author: Harshit Goel Date: Thu Jul 1 13:14:38 2021 +0530 [Keyboard] Pteron36, open source 3x5_3 supporting layout (#13313) commit 29228e5b78ce151180dcea57e14b8f9fa26d11bb Merge: b7cf9a888a 54f429edd8 Author: QMK Bot Date: Thu Jul 1 07:42:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b7cf9a888a607dc024d74ee72c0ebbd8e0ddfdbe Author: Drashna Jaelre Date: Thu Jul 1 00:42:32 2021 -0700 Drashna's split updates (#13350) Co-authored-by: Ryan commit 54f429edd8d680a5f4ea4f866e923294772e336c Author: Jesper Nellemann Jakobsen Date: Thu Jul 1 09:42:10 2021 +0200 [Keymap] Create bingocaller keymap for DZ60RGB-ANSI (#13311) Co-authored-by: Ryan commit bbe45185e30eb8d0e974f02b0ea809ed773221be Merge: 2b7172cbff d8c491954e Author: QMK Bot Date: Thu Jul 1 07:30:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d8c491954ee1d79490bd4da8b278eeab5554b39f Author: Shandon Anderson Date: Thu Jul 1 03:29:30 2021 -0400 [Keyboard] Added flygone60 rev3 (#13280) Co-authored-by: Ryan Co-authored-by: Sergey Vlasov commit 2b7172cbff7f60827cd21be6561bfcf64a921216 Merge: 8b2e5d622c cd68fd7e8d Author: QMK Bot Date: Thu Jul 1 07:13:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cd68fd7e8d6d4e62afe30ab73af0a45391b0d4aa Author: melonbred <61572569+melonbred@users.noreply.github.com> Date: Thu Jul 1 00:12:53 2021 -0700 [Keyboard] mb44 - Update info.json and encoder (#13244) commit 8b2e5d622ce408a89a3b1f7a95c3391d163dd530 Merge: 44260c3414 dc3896e31c Author: QMK Bot Date: Thu Jul 1 06:42:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dc3896e31c7335b2a24a3dca9cd890e5fd8df725 Author: Ryan Date: Thu Jul 1 16:41:51 2021 +1000 Cleanup junk chars, part 4 (#13345) commit 44260c34140768974541a09cfc81f781496c5350 Author: Ryan Date: Thu Jul 1 16:30:42 2021 +1000 Remove `API_SYSEX_ENABLE`s from rules.mk (#13389) commit 70cc5809f9e7d076b919b71b28cffc96bab7fc9e Merge: 8bb231aa1c 8c982dba31 Author: QMK Bot Date: Thu Jul 1 05:05:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8c982dba31b8b23f9c790630e31099aaaa372258 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Jul 1 14:04:38 2021 +0900 [Update] Change Original TAGs of Japanese translations (#13396) * Updated docs/ja/how_a_matrix_works.md original tag. * Updated docs/ja/api_overview.md original tag. * Updated docs/ja/contributing.md original tag * Updated docs/ja/coding_conventions_c.md original tag * Updated docs/ja/reference_configurator_support.md original tag * Updated docs/ja/reference_glossary.md original tag * Updated docs/ja/api_docs.md original tag * Updated docs/ja/feature_stenography.md original tag * Updated docs/ja/documentation_templates.md original tag * Updated docs/ja/faq_keymap.md original tag * Updated docs/ja/understanding_qmk.md original tag commit 8bb231aa1c40a7c6b6fdd229e88ef79c3fa930e2 Author: Nick Brassel Date: Wed Jun 30 10:07:40 2021 +1000 Adds support for STM32L412xB, STM32L422xB. (#13383) * Adds support for STM32L412xB, STM32L422xB. * Add to list of supported MCUs. * Disable SPI1 by default. commit 85965043613a0674b782cefd1ed9ccc6b9cc90a8 Merge: f533d9e033 27d1e2909f Author: QMK Bot Date: Tue Jun 29 23:31:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 27d1e2909f3fa28b69b86728d32a5bd3360c47a8 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jun 29 16:30:48 2021 -0700 Ergocheap handwired Layout Macro refactor (#13348) * physically arrange layout macro Arranges the layout macro and keycodes to resemble the assembled keyboard. * update info.json data commit f533d9e033e59d1eb98cc61fdb5f01eeccb827de Author: Michael Stapelberg Date: Wed Jun 30 00:54:45 2021 +0200 add kinT kinesis keyboard controller (kint41 variant) (#13333) fixes https://github.com/kinx-project/kint/issues/5 commit 76ed98c51d3aaa972410f3e62bbeccb5d80a5c42 Merge: 653082235a 2a07a87a7c Author: QMK Bot Date: Tue Jun 29 22:37:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2a07a87a7c4a94aac1d9fd35c63d3118c7600975 Author: jackytrabbit Date: Wed Jun 30 06:37:08 2021 +0800 Update lazydesigners/the40/the40.h (#13354) Fix error in the40.h commit 653082235aaca8552078e62714eab30d1a517f57 Author: Ryan Date: Wed Jun 30 04:15:58 2021 +1000 Relocate RGB/HSV color defs to a more fitting place (#13377) commit 1e2378fe7f50d6e9d7dcd5f14e768b6718caec80 Merge: 888cec0290 93e3e777d6 Author: QMK Bot Date: Tue Jun 29 17:19:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 93e3e777d63b3d166282f9717044b11f69b322bf Author: nopunin10did Date: Tue Jun 29 13:19:02 2021 -0400 Jabberwocky quick fixes (#13369) * cleaning up * deleting to undelete * Stub out defaults * Jabberwocky firmware WIP * Stubbing out keymap spacing * Default keymap and layout updates * start stubbing out JSON for configurator * more WIP * Update jabberwocky.h * Add Readme * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Fix layout capitalization * Updates to personal and default keymaps * Add instructions for jumping the bootloader * Update keyboards/nopunin10did/jabberwocky/rules.mk Co-authored-by: Ryan * Add easier ctrl-alt-del to my keymap * Undo changes from other master * Add back DYNAMIC_KEYMAP_LAYER_COUNT constant * Fix readme markup to use list items * Give my layout VIA compatibility Co-authored-by: Rossman360 Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 888cec0290edcdaeed3e7b06b8a621d15494ae13 Merge: 8b919aa5d6 5538bffb8e Author: QMK Bot Date: Tue Jun 29 03:39:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5538bffb8eff5203fdabef8f4d8913999177fa53 Author: Danny Date: Mon Jun 28 23:38:59 2021 -0400 [Keyboard] Add Quefrency Rev. 4 (#13368) commit 8b919aa5d61ccfa4cf3d79d271a615d27374f760 Merge: 3f813f87cd de8939aa5e Author: QMK Bot Date: Tue Jun 29 03:31:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit de8939aa5efb1dea9c048c3254b0462f6e21e822 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Jun 29 13:30:39 2021 +1000 [Keyboard] fix encoder void to bool (#13334) commit 3f813f87cd7d2ae73e05c9918f44658d1350076f Merge: 8080bc17d0 2b2e8bfdb7 Author: QMK Bot Date: Tue Jun 29 03:25:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2b2e8bfdb7091cdc0587f7445df84d2414fa7207 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jun 28 20:24:26 2021 -0700 Swiftrax Nodu handwired: layout macro sequence fix (#13329) commit 8080bc17d0f7653de1050e6b7c62c36a9fc5a88f Merge: 2665b4e487 e475c5bf38 Author: QMK Bot Date: Tue Jun 29 01:55:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e475c5bf38ca8904e886c8feb858ebad4ac70840 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Jun 29 11:54:32 2021 +1000 [Bug] Missing empty line at the end of file (#13374) commit 2665b4e4875464b0805f7a2d36949e176430e746 Merge: cb23fe9fc1 f7faa7bfd0 Author: QMK Bot Date: Mon Jun 28 17:32:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f7faa7bfd0f4e62aef557dda257385714eb2f012 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jun 28 10:30:52 2021 -0700 FJLabs BKS65 Solder Layout Macro Refactor (#13347) * grid align layout macro and keymaps * physically arrange layout macro, phase 1 * physically arrange layout macro, phase 2 * replace KC_PAUSE with KC_PAUS Makes the grid alignment nice. :) * rename LAYOUT_65_ansi to LAYOUT_all The included layout macro isn't actually correct for QMK's 65% ANSI community layout. * add an actual LAYOUT_65_ansi This is a semi-educated guess as to this macro; it may be wrong. commit cb23fe9fc1fa6e2219380228ae589f3d733ea4e6 Author: Ryan Date: Mon Jun 28 15:15:24 2021 +1000 Move RGBLight code into its own folder (#13312) commit 5a5015594f44f8b7f7d3c5bc43479c3e670656d6 Merge: ed56fc7da1 53ace430fe Author: QMK Bot Date: Sun Jun 27 03:22:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 53ace430fe2229111b57d76ddbc9130b6cbc0f2a Author: Ryan Date: Sun Jun 27 13:21:53 2021 +1000 Doctor: print CLI version (#13356) commit ed56fc7da155d61848bb5b1801ff33379b114c2b Author: Joakim Tufvegren Date: Sun Jun 27 04:52:38 2021 +0200 Fix building layouts from JSON (#13310) Broken by #12632. commit 023b85db96c7b5fc343a6ae7425f7a7b9ced8969 Merge: bbe43a91eb cbe761ea16 Author: QMK Bot Date: Sat Jun 26 19:08:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cbe761ea1628691c9ed7f93d06aab145fc2c9077 Author: Ryan Date: Sun Jun 27 05:07:44 2021 +1000 Exent cleanup (#13353) commit bbe43a91ebf193bbc8c09ba59209b0524367e68c Author: Ryan Date: Sun Jun 27 02:29:02 2021 +1000 CLI: Add subcommand to generate version.h (#13151) commit 546f5f2c4f38a4abf934e3df84985feca61f90c7 Author: Zach White Date: Sat Jun 26 08:38:14 2021 -0700 Error log cleanup (#13349) * error log cleanup: 40percentclub/25 40percentclub/25: Claims to support a community layout that does not exist: ortho_5x5 * error log cleanup: 40percentclub/4x4 ☒ 40percentclub/4x4: Claims to support a community layout that does not exist: ortho_4x8 ☒ 40percentclub/4x4: Claims to support a community layout that does not exist: ortho_4x16 * error log cleanup: 40percentclub/5x5 ☒ 40percentclub/5x5: Claims to support a community layout that does not exist: ortho_5x5 * error log cleanup: 40percentclub/nori ☒ 40percentclub/nori: Claims to support a community layout that does not exist: ortho_4x8 * error log cleanup: barracuda ☒ barracuda: Claims to support a community layout that does not exist: ortho_3x11 * error log cleanup: bpiphany/frosty_flake ☒ keyboards/bpiphany/frosty_flake/frosty_flake.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available! * error log cleanup: bpiphany/pegasushoof/2013 ☒ keyboards/bpiphany/pegasushoof/2013/2013.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available! * error cleanup: bpiphany/pegasushoof/2015 ☒ keyboards/bpiphany/pegasushoof/2015/2015.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/bpiphany/pegasushoof/2015/2015.h: LAYOUT_tkl_iso: Nested layout macro detected. Matrix data not available! * error log cleanup: 40percentclub ☒ 40percentclub/25: Claims to support a community layout that does not exist: ortho_5x10 ☒ 40percentclub/5x5: Claims to support a community layout that does not exist: ortho_5x10 * error cleanup: converter/usb_usb ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available! * error cleanup: ergo42 ☒ ergo42/rev1: Claims to support a community layout that does not exist: ortho_4x14 * error cleanup: handwired/412_64 ☒ handwired/412_64: Claims to support a community layout that does not exist: ortho_4x16 * error log cleanup: handwired/tritium_numpad ☒ handwired/tritium_numpad: Claims to support a community layout that does not exist: nontra_6x4 * error log cleanup: handwired/xealous/rev1 ☒ handwired/xealous/rev1: Claims to support a community layout that does not exist: split60 * error log cleanup: kbdfans/kbd67/rev2 ⚠ kbdfans/kbd67/rev2: info.json uses alias name LAYOUT_65_ansi_blocker_splitbs instead of LAYOUT_65_ansi_blocker_split_bs * error cleanup: keebio/nyquist ☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! * error cleanup: kindakeyboards/conone65 ☒ kindakeyboards/conone65: Claims to support a community layout that does not exist: 65_iso_split_bs * error cleanup: latinpadble ☒ latinpadble: Claims to support a community layout that does not exist: pad * error cleanup: masterworks/classy_tkl/rev_a ☒ masterworks/classy_tkl/rev_a: Claims to support a community layout that does not exist: tkl_ansi_wkl * error cleanup: meira ⚠ meira/featherble: info.json uses alias name LAYOUT_ortho_4x12 instead of LAYOUT ⚠ meira/promicro: info.json uses alias name LAYOUT_ortho_4x12 instead of LAYOUT * error cleanup: nopunin10did/jabberwocky ⚠ nopunin10did/jabberwocky: MANUFACTURER in config.h is overwriting manufacturer in info.json * error cleanup: ok60 ☒ ok60: Claims to support a community layout that does not exist: 60_ansi_split_bksp_rshift * error cleanup: ok60 ☒ ok60: Claims to support a community layout that does not exist: 60_ansi_split_bksp_rshift * error cleanup: planck ☒ keyboards/planck/ez/ez.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ☒ keyboards/planck/ez/ez.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ⚠ planck/thk: DEBOUNCE in config.h is overwriting debounce in info.json ⚠ planck/thk: DEVICE_VER in config.h is overwriting usb.device_ver in info.json ⚠ planck/thk: DIODE_DIRECTION in config.h is overwriting diode_direction in info.json ⚠ planck/thk: MANUFACTURER in config.h is overwriting manufacturer in info.json ⚠ planck/thk: PRODUCT_ID in config.h is overwriting usb.pid in info.json ⚠ planck/thk: VENDOR_ID in config.h is overwriting usb.vid in info.json ⚠ planck/thk: QMK_ESC_OUTPUT in config.h is overwriting qmk_lufa_bootloader.esc_output in info.json ⚠ planck/thk: QMK_ESC_INPUT in config.h is overwriting qmk_lufa_bootloader.esc_input in info.json ⚠ planck/thk: QMK_LED in config.h is overwriting qmk_lufa_bootloader.led in info.json ⚠ planck/thk: QMK_SPEAKER in config.h is overwriting qmk_lufa_bootloader.speaker in info.json ⚠ planck/thk: Matrix pins are specified in both info.json and config.h, the config.h values win. ⚠ planck/thk: LAYOUTS in rules.mk is overwriting community_layouts in info.json ⚠ planck/thk: Feature mousekey is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature extrakey is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature console is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature command is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature sleep_led is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature nkro is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature backlight is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature rgblight is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature bluetooth is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature audio is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature encoder is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature dip_switch is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature bootmagic_lite is specified in both info.json and rules.mk, the rules.mk value wins. * error cleanup: primekb/prime_m ☒ primekb/prime_m: Claims to support a community layout that does not exist: ortho_5x6 * error cleanup: rgbkb/sol/rev2 ⚠ rgbkb/sol/rev2: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: '(BACKLIGHT_LEDS + FULLHAND_LEDS)' * error log cleanup: shk9 ☒ shk9: Claims to support a community layout that does not exist: ortho_3x3 * error log cleanup: sowbug ⚠ sowbug/68keys: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: 'DRIVER_LED_TOTAL' ⚠ sowbug/ansi_tkl: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: '(DRIVER_LED_TOTAL)' * error log cleanup: torn ☒ torn: Claims to support a community layout that does not exist: split_3x6_4 * error cleanup: ymdk/np24/u4rgb6 ☒ ymdk/np24/u4rgb6: Claims to support a community layout that does not exist: ortho_4x6 * error cleanup: masterworks/classy_tkl/rev_a ☒ masterworks/classy_tkl/rev_a: Claims to support a community layout that does not exist: tkl_iso_wkl commit 5489c47a273f33e005f0b99a2205b181cb3d90ed Merge: 298b383126 c232882fda Author: QMK Bot Date: Sat Jun 26 10:49:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c232882fda0669e28312446feac3cadb254962e8 Author: Joel Challis Date: Sat Jun 26 11:48:48 2021 +0100 Allow configuration of USB_VBUS_PIN on chibios (#13342) commit 298b3831263b318ee19d58f3bea4bf14142557cd Merge: cd30861394 848da57d6e Author: QMK Bot Date: Sat Jun 26 05:48:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 848da57d6e2b87b566457c49a2ed15c147e221f5 Author: Zach White Date: Fri Jun 25 22:47:48 2021 -0700 do not automatically format json (#13320) commit cd308613946d47dabfe6799717a02b8ca2833b00 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sat Jun 26 06:26:19 2021 +0100 Fix CRC for AVR and enable again. (#13253) commit 8b059088ba9c310d3790d2839027e966f1082393 Author: XScorpion2 Date: Sat Jun 26 00:00:21 2021 -0500 Keyboards/RGBKB/Mün (#13239) commit f8c01a8e5ad3cf85157d53d4718d80f194bb61cd Merge: 580999661f ad3169f500 Author: QMK Bot Date: Sat Jun 26 04:42:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ad3169f500e027296adf6961fcd948caa023891d Author: yiancar Date: Sat Jun 26 05:42:09 2021 +0100 [Keyboard] Add NK1 (#13212) Co-authored-by: Ryan Co-authored-by: yiancar commit 580999661fc1fbe36e778eb858965992bc227248 Merge: 363c11622e b1ea4842e3 Author: QMK Bot Date: Sat Jun 26 04:28:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b1ea4842e38d0d3e609d8b0d6016ab0a4288bdc4 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jun 25 21:27:37 2021 -0700 FFKeebs Siris Configurator Layout Correction (#13328) * physically arrange layout macro Arranges the layout macro and keycodes to resemble the assembled keyboard. * correct info.json data Corrects the key sequence and positioning in info.json. commit 363c11622ef7d8e98ffa4567a0fd3aebfb40b942 Merge: c19a221719 234c129f1e Author: QMK Bot Date: Sat Jun 26 04:13:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 234c129f1e393e5691606b7e52ec44cd3cd569a9 Author: Gvalch-ca <78301272+Gvalch-ca@users.noreply.github.com> Date: Sat Jun 26 07:12:36 2021 +0300 [Keyboard] Add Gvalchca GA15.0 (#13114) Co-authored-by: Ryan commit c19a2217197e761a458a640d68aeb36666768536 Merge: e64705d2f4 8783d0c73d Author: QMK Bot Date: Sat Jun 26 04:07:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8783d0c73d7770bea4e61a8a9b5bd0a5ce2f9fd0 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sat Jun 26 14:06:36 2021 +1000 [Keyboard] Enable RGB Matrix VIA side for Pachi RGB (#13308) commit e64705d2f40d209d4a52f1431c896cc3944757a1 Merge: d6592d8988 79cc6ce2d0 Author: QMK Bot Date: Sat Jun 26 03:58:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 79cc6ce2d0d860680834e9b0cadfbe42e789fa0c Author: Drashna Jaelre Date: Fri Jun 25 20:57:48 2021 -0700 [Keyboard] Bugfixes and Readme additions for PloopyCo devices (#13043) commit d6592d898803f5f65cbbfe50ca3dab0685b2fd81 Merge: 259b8d355e 6ef0419bb0 Author: QMK Bot Date: Sat Jun 26 03:57:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6ef0419bb0ec97131c1a4089540ac85b2c54cfab Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jun 25 20:56:46 2021 -0700 SENDYYeah Bevi: correct Configurator layout data (#13327) commit 259b8d355e8a2297dbeae1da6d62ccd12ac2367e Merge: 5adb288bb3 7770a491f6 Author: QMK Bot Date: Sat Jun 26 03:31:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7770a491f6c40b102a0819e5f89895df3e5a4cff Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jun 25 20:30:48 2021 -0700 Nix Studio Oxalys80 Configurator Layout Data Correction (#13326) * apply human-friendly formatting to info.json * correct LAYOUT_all data Corrects the layout data for the LAYOUT_all macro. commit 5adb288bb35037ef816b807814ea0e1da0d2b7d2 Merge: 5ba9f43590 03791ed92a Author: QMK Bot Date: Sat Jun 26 03:25:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 03791ed92a550eca96112721ad8fbcd89d9458a3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jun 25 20:24:42 2021 -0700 Draytronics Daisy Configurator Refactor (#13325) * correct layout data * use LAYOUT as layout macro name The defined LAYOUT_daisy is functional, but Configurator expects LAYOUT through the info.json file. As the board only supports one layout according to the open-source PCB files, use LAYOUT as the defined macro per QMK guidelines. * add layout macro alias commit 5ba9f435906e8245f88f993d7df5e46f2222178c Merge: 9337aab038 39b1dc7672 Author: QMK Bot Date: Sat Jun 26 01:53:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 39b1dc7672357d4c45a4015325e44443f00bde88 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jun 25 18:53:16 2021 -0700 GON Nerd60 Refactor (#13343) commit 9337aab038c19f191d0da9518d80e4aa8cecf254 Merge: 0ef0c03a46 93bd34c6d3 Author: QMK Bot Date: Sat Jun 26 01:39:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 93bd34c6d36723ed9f6e95c05c744a36c5467c65 Author: Ryan Date: Sat Jun 26 11:38:21 2021 +1000 Cleanup junk chars, part 3 (#13332) commit 0ef0c03a4649a3b66c68587f1e25333d06887a82 Merge: b908275354 92a9fba353 Author: QMK Bot Date: Fri Jun 25 03:52:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 92a9fba353420f3bfdf933341fcf1b9ae0ab754e Author: Ryan Date: Fri Jun 25 13:51:44 2021 +1000 Cleanup junk chars, part 2 (#13284) commit b908275354ba6cd9dd4d393dbbedfbd2ad0f316d Author: Zach White Date: Thu Jun 24 20:48:53 2021 -0700 Optimize our jsonschema by using refs (#13271) * fix some broken info.json files * optimize our jsonschema using refs * fix formatting after vscode broke it * make flake8 happy * cleanup * make our schema validation more compact and flexible commit 9d4412cb8bf9512952118b190fedea72e33d28cb Merge: 0412c92b68 7c2bd4dd88 Author: QMK Bot Date: Fri Jun 25 03:32:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7c2bd4dd88d29958b7ecc281af463257cc63fd46 Author: Zach White Date: Thu Jun 24 20:31:46 2021 -0700 add doctor to safe_commands (#13324) commit 0412c92b68fbc3b3d3eefd44c1b04d05b47c826a Merge: e8d1c0e300 61ec0023c4 Author: QMK Bot Date: Thu Jun 24 23:15:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 61ec0023c47de0c1418b50e2f76f1eb2c7d9c09b Author: Nathan_Blais <37645161+NathanBlais@users.noreply.github.com> Date: Thu Jun 24 16:15:04 2021 -0700 Bop added via & unicode support (#13122) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit e8d1c0e30028fc4edba956cb9b5c35df06c7dcb0 Merge: ae5755d27a ca2259d986 Author: QMK Bot Date: Thu Jun 24 14:59:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ca2259d9863e5b7b251aaa233debacb592380aaa Author: shela Date: Thu Jun 24 23:59:30 2021 +0900 Update Japanese document (#10673) commit ae5755d27a77028e8bc9d16c0085934e4b62c6c8 Merge: 3d7e062baa a53128e958 Author: QMK Bot Date: Thu Jun 24 12:55:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a53128e9580ff436ff9dfcef041b20363eba7839 Author: shela Date: Thu Jun 24 21:54:54 2021 +0900 [Docs] Update Japanese faq documents (#12842) * Update Japanese faq documents. * Update Japanese summary. * Update docs/ja/faq_debug.md Co-authored-by: s-show * Update docs/ja/faq_misc.md Co-authored-by: s-show * Apply suggestions from code review Co-authored-by: s-show commit 3d7e062baa29de332dceec28624d4b00f0c5c7ce Merge: 6418c1fde9 a726ada59b Author: QMK Bot Date: Thu Jun 24 12:54:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a726ada59b63e45d7d01d8e61b0515ac714f7325 Author: shela Date: Thu Jun 24 21:53:47 2021 +0900 Update Japanese newbs_getting_started.md (#12841) commit 6418c1fde99f9a689e0bdf2abb9d92bc61394788 Merge: 8d87bfd46a 36d8d7df5a Author: QMK Bot Date: Thu Jun 24 04:34:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 36d8d7df5adddd4f39b7251a8a4298e6899dd4bf Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jun 23 21:33:47 2021 -0700 SAM SG81M Layout Macro Rework (#13291) * grid-align layout macro and keymaps * physically align layout macro and keycodes Arrange the layout macro and keycodes to resemble the assembled keyboard. * update info.json data Updates the info.json data to be correct to the new layout macro. commit 8d87bfd46a8b9a22b59b3e3096b1bf5909ff10d2 Merge: 9b65154e58 42f4528a45 Author: QMK Bot Date: Thu Jun 24 03:36:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 42f4528a4595ddacf7b812a346e912b8c4fa2f96 Author: Zach White Date: Wed Jun 23 20:35:36 2021 -0700 expand the size of the textpad to allow for taller keyboards (#13319) commit 9b65154e58d39bda9cbe0f71474cc255835fff1b Merge: 143ded332d 2d60444df1 Author: QMK Bot Date: Thu Jun 24 02:55:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2d60444df12b7d0b1dfafe197217c9edb7944eab Author: Will Wolff-Myren Date: Wed Jun 23 19:54:44 2021 -0700 [Keymap] gmmk/pro: willwm (#12952) * Create willwm keymap: Modified GMMK Pro Default + VIA + Space-Cadet Unicode * Temporarily remove unicode map calls; try using UNICODE_ENABLE instead * RGBLIGHT_ENABLE = yes * ...on second thought, don't enable RGBLIGHT =P * Move Del to PrtSc, add Home, move PrtSc to Fn+Home * willwm: Add keymap.json and readme.md * willwm: Add layer0/layer1 images * willwm: Update readme.md with info from PR #12952 * willwm: Update to better match template (https://docs.qmk.fm/#/documentation_templates) commit 143ded332d31ddd9ffdf54b0e93258ee02e2b871 Author: Michael Stapelberg Date: Thu Jun 24 04:54:18 2021 +0200 kint36: set correct EEPROM size (#12946) The Teensy 3.6 comes with 4096 bytes of EEPROM. This is commit 1 of 2 to make the EEPROM work. The next commit changes the core code to wire up the EEPROM. commit c6d5049fb16116bcfd2360e605912fc2fc57fed9 Merge: 08b62c5f5a 02fcb1069a Author: QMK Bot Date: Thu Jun 24 02:54:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 02fcb1069ac034d593e02484604ddc0c2ebc2dc2 Author: Ramon Imbao Date: Thu Jun 24 10:53:38 2021 +0800 Add the SquishyTKL and SquishyFRL (#12764) * Add SquishyTKL * Add SquishyTKL-FRL * Adjust readme.md and info.json * Add JIS support for SquishyTKL * Fix JIS layout macro * Fix via layout and keymap * Migrate SquishyTKL to STM32duino bootloader * Make chibios conf files generic * Change TKL via keymap to match number of layers * Apply chibios changes to FRL as well * Adjust README regarding flashing with dfu-util * Add license and header guard commit 08b62c5f5a27bf1f3b711992cbccf3951c5d4ffd Merge: a7b54d288f 3cc037d8d8 Author: QMK Bot Date: Thu Jun 24 02:51:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3cc037d8d86a148a8a61e594ad87766f9d0ddbd5 Author: obosob Date: Thu Jun 24 03:51:15 2021 +0100 Add "steal this keyboard" keybaord (#12898) commit a7b54d288f3d66c9ecaff4a2dde8bac3319063d4 Merge: 635f32b219 543dca0d89 Author: QMK Bot Date: Thu Jun 24 02:49:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 543dca0d890da1cd1d2ce2ebbde9c31354522829 Author: kb-elmo Date: Thu Jun 24 04:48:43 2021 +0200 Added Skeletn87 PCBs (#12922) * add Skeletn87 * update skeletn87 files * update skeletn87 soldered * update readme image * update readme (again) commit 635f32b219c31c0f640c64cf93b6e59f03fda18d Merge: b351338558 fc06c143b1 Author: QMK Bot Date: Thu Jun 24 02:46:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fc06c143b1cd937a97e3f7a4e71d655907eb6bb3 Author: 18438880 <77926265+18438880@users.noreply.github.com> Date: Thu Jun 24 10:46:03 2021 +0800 Latin6rgb use IS31FL3731 IC (#11819) * Create config.h * Add files via upload * Create keymap.c * Create keymap.c * Create rules.mk * Update readme.md * Update keyboards/latin6rgb/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/latin6rgb/rules.mk Co-authored-by: Drashna Jaelre * Update keymap.c * Update keymap.c * Update config.h * Update config.h Co-authored-by: Drashna Jaelre commit b351338558176dacf5bb39e95ec870104a3905aa Merge: 8024f2683b 344b1b4395 Author: QMK Bot Date: Thu Jun 24 02:33:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 344b1b439576ef1648f9ef4c8728409d902c4fb6 Author: s-show Date: Thu Jun 24 11:32:51 2021 +0900 Add ID to "## Advanced Macros". (#12830) commit 8024f2683b2bd44db127615423ac4613966d9427 Merge: ba3c5ec84e b354ce94fe Author: QMK Bot Date: Thu Jun 24 02:28:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b354ce94fe019c90b8f9b68d1abe245abde20dab Author: James Larkby-Lahet Date: Wed Jun 23 19:28:33 2021 -0700 enable mouse keys in handwired/dactyl keymaps that use them (#12586) commit ba3c5ec84e6b436ddfe8cd19f9c6917732acd4f3 Merge: 53ca79b922 fb78447ad6 Author: QMK Bot Date: Thu Jun 24 02:27:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fb78447ad6f00779c0064fdd6cdaa76f8873a69d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jun 23 19:27:21 2021 -0700 Monstargear XO87 Solderable Configurator Refactor (#13317) commit 53ca79b922a2028a345ca30f3b1b66531a66ad5b Merge: 7313fee181 d45a24a954 Author: QMK Bot Date: Thu Jun 24 02:27:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d45a24a9546fec52998c66c68a5b3a4306f50199 Author: sendmmsg <47253595+sendmmsg@users.noreply.github.com> Date: Thu Jun 24 04:27:10 2021 +0200 bug if macro definition and not integer is used to identify layers (#12648) commit 7313fee181ee14d05b8c89f33184196d8010c9bb Merge: 054f1ccbdf 480b7e595e Author: QMK Bot Date: Thu Jun 24 02:26:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 480b7e595ec53a891e35895d6707deb000aeb578 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jun 23 19:26:55 2021 -0700 Studio Kestra Nue: fix info.json layout macro reference (#13318) Corrected the info.json file to reference LAYOUT_all instead of LAYOUT. commit 8030f73f443907aa2a9a7c65340bbe4b07e6060d Author: gtips <51393966+gtips@users.noreply.github.com> Date: Thu Jun 24 11:26:31 2021 +0900 [Keymap]Add Keymap reviung34rgb (#12656) * [Keyboard] Add keyboard Reviung41 * Modified files * deleted keyboards/reviung41/keymaps/default/config.h * modified keyboards/rebiung41/keymaps/default/keymap.c * modified keyboards/reviung41/readme.md * modified keyboards/reviung41/readme.md * modified keyboards/reviung41/readme.md * Update readme.md Change the image photo of readme.md. * [Keyboard] Add reviung61 * Update readme.md * fix keyboards/reviung61/ and add keymap default_rgb * fix keyboards/reviung61/info.json * fix keyboards/reviung61/info.json * remove keyboards/reviung61/keymaps/default/config.h * [keyboard] Fixed readme.md for reviung39 and 61. * add keymap keyboards/reviung34/keymaps/default_rgb/ ,default_rgb2u commit 054f1ccbdf29677aacb0c19bf7609f390ac8e432 Merge: 54abf60e04 563de365a7 Author: QMK Bot Date: Thu Jun 24 02:25:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 563de365a7d95f74a4e6e261d451f0a962f875cd Author: Suryan Isaac Date: Thu Jun 24 07:54:56 2021 +0530 Added a custom keymap for XD60 (#12736) * Added custom Keymap * Added Images to README * Added Layer 1 Keys for RGB control * Added GPL2+ License to keymap.c * Removed extra json files and added a few lines to README commit 54abf60e04bd31fd31763ee7086ee29494d9257c Merge: 303132fa8d f5cecffab2 Author: QMK Bot Date: Thu Jun 24 02:24:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f5cecffab2a32db5db9177aab79226a00013db81 Author: Antoine R. Dumont Date: Thu Jun 24 04:24:31 2021 +0200 keymap/ardumont: Fix substitute keycode reset step (#12675) It so happens that when releasing the control key prior to the main key (C-h, C-i, C-n, ...), the substituted keycode was continuously sent in a loop after that (even when releasing said key). The workaround so far was to type any other key to stop the loop. This commit fixes such behavior by resetting the substitution keycode sent when the ctrl released situation conditional is detected (and that the substitution keycode was on). commit 5e86a11a8d49928f06609e9ee1b9ef86c45f3f2e Author: Jose Luis Adelantado Torres Date: Thu Jun 24 11:24:11 2021 +0900 [keymap] Added new `oled_status` keymap to `nullbitsco/nibble` keyboard (#12824) * Added new oled_status keymap to nullbitsco/nibble keyboard * rm: Removed font from src imports commit 303132fa8de23602eea131c2df03ca1d35c1ff59 Merge: 7e7e6d1a02 3099630a11 Author: QMK Bot Date: Thu Jun 24 02:24:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3099630a11ff64797deb4864193c37b3e4074e05 Author: Robert Verst Date: Thu Jun 24 04:23:43 2021 +0200 [Keymap] Feature/extend keymap (#12778) * Add F13-F24 * Add nvim macros * Add debug switch * Switch mode every time, add debug print commit 7e7e6d1a0234be05224db581db48cdea81d7087f Merge: b69fa51ec3 dee50c9cc8 Author: QMK Bot Date: Thu Jun 24 02:23:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dee50c9cc8673c6a12d80f3deb2f79c351b2ccd3 Author: T.Shinohara Date: Thu Jun 24 11:23:00 2021 +0900 [Keymap] fix key code. numpad to numkey (#12808) * add keyboard new macro pad "Kuro" * change main readme.md * remove not used code from default/keymap.c * Remove unnecessary code * Supports info.json * removed back slash and not used functions. * update at product link. add japanese messages. * Merge All * [Shiro]Add MacKeymap * Change key code. Numpad→Numkey commit 0ec6d6daf73825e9801e030497c011637fd606df Author: Jay Greco Date: Wed Jun 23 19:22:42 2021 -0700 Update oled_bongocat to match VIA keymap (#12875) * Update to match VIA keymap * Update with feedback from PR commit b69fa51ec39d2825067b11f065ff8e59e41d8dc9 Merge: 1ea01765e1 909d9c228f Author: QMK Bot Date: Thu Jun 24 02:22:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 909d9c228fb03750170aa7ca49ea10d08a6e1113 Author: Mike Tsao Date: Wed Jun 23 22:22:07 2021 -0400 Switch default layout to standard TKL; add custom (#12818) commit 4a15eb593d0d1447bf9bca87ef966f84b8077a4f Author: Tyler Thrailkill Date: Wed Jun 23 20:21:40 2021 -0600 snowe keymap/userspace and Ocean Dream animation (#12477) * Add snowe keymap/userspace & Ocean Dream animation * Add snowe userspace with keymap wrappers and two animations * Add crkbd keymap * Add Ocean Dream animation, a cool full screen animation with: * * twinkling stars * * meteor showers * * ocean waves * * island with palm tree * * moon with phases * Disable Luna so travis build succeeds. * Add more copyrights * Add pragma once to keycode_aliases.h Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 1ea01765e19bf84b9a09954443b7d64be2bec0c7 Author: Gigahawk Date: Wed Jun 23 02:57:46 2021 -0700 Allow settable SPI divisor for AW20216 driver, set default to 4 (#13309) commit 531f34d2a08312824e7906cfda24bb9127878ad8 Merge: 38d979189b 6e1ed1c9d3 Author: QMK Bot Date: Wed Jun 23 09:52:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6e1ed1c9d3f083e7dbb7b17375e437963cd70771 Author: David Hoelscher Date: Wed Jun 23 04:52:06 2021 -0500 Optional OLED splash screen and fixed OLED i2c execution time saving (#12294) * Made OLED splash screen optional to reduce memory and fixed OLED i2c execution time saving * moved OLED address updates into their respective conditional checks commit 38d979189b183fdc4111fe8290e6e6b7f2cd9d24 Merge: c742d0bde4 a913db63aa Author: QMK Bot Date: Wed Jun 23 09:45:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a913db63aa41f7d1c939d735fbd316a85225d935 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Wed Jun 23 17:45:05 2021 +0800 Fix zero condition of reactive runners that will suspend RGB animation (#12710) * Avoid zero or overflow from user's rgb_matrix_config.speed * Avoid zero tick for reactive splash. * Avoid zero time for animation runner. Co-authored-by: filterpaper commit c742d0bde4f729678e82e9d1a322ea8bae515bee Merge: 4319aca91c ced7e9a0ce Author: QMK Bot Date: Wed Jun 23 03:31:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ced7e9a0ced2fc394eca1cc9e935caa0317b7172 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Wed Jun 23 13:30:42 2021 +1000 [Keyboard][Bug] Makrosu VIA compile fix encoder and formatting (#13306) * fix encoder and formatting * remove redundant breaks * Update keyboards/makrosu/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/makrosu/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 4319aca91c13d817398016164bdfb0d0720e6f4b Author: Ryan Date: Wed Jun 23 10:53:00 2021 +1000 Fix linker error when rgblight and RGB Matrix are both enabled (#13304) commit 973a006c4561218eef365733558c1c31e2abdb49 Merge: 791363a680 268d0efa7e Author: QMK Bot Date: Wed Jun 23 00:45:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 268d0efa7e3c600f5749670f51199c3f12022730 Author: xyzz <1065521+xyzz@users.noreply.github.com> Date: Tue Jun 22 20:45:13 2021 -0400 [Docs] pr_checklist: fix capitalization of Vial (#13301) commit 791363a6806d575e767ccf1de5bedb6224e39f97 Author: Ryan Date: Wed Jun 23 10:16:41 2021 +1000 Remove rgblight stubs (#13302) commit 540d95125c9d0cc80ce1b1bd6be2d468edacd905 Merge: 010715877f 4ef2b0f818 Author: QMK Bot Date: Tue Jun 22 23:34:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4ef2b0f81817aa24931293215b10dd5a031f109d Author: Muhammad Rivaldi <50755960+valdiieee@users.noreply.github.com> Date: Wed Jun 23 06:34:17 2021 +0700 adding my custom keypad to qmk repository (#12150) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Nick Brassel commit 010715877f88032bdc3e54f29c33e48ca8f1b575 Merge: df794fa5cc 0c5c39c18a Author: QMK Bot Date: Tue Jun 22 23:33:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0c5c39c18a4545bc3b9b2e79243a952514579e02 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jun 22 16:32:37 2021 -0700 Technika: add sample info.json data (#13292) Adds a placeholder file with sample data, as the layout hasn't been published yet. commit df794fa5cc343b719450eb164e289a0c89b7461b Author: Zach White Date: Tue Jun 22 12:02:12 2021 -0700 Remove the redundant pin name validation (#13251) * remove the redundant pin name validation * fix submodules commit e87d23164522371b0c9560e81f36ed08caadc0ff Author: Zach White Date: Tue Jun 22 11:50:53 2021 -0700 Refactor doctor.py into a directory (#13298) commit d61e5c0027e289ccf48652afa4c442342e7ccf04 Author: Ryan Date: Tue Jun 22 18:26:23 2021 +1000 Move LED/RGB Matrix code into their own directories (#13257) commit c03cb4edd7ff73391a0a64f0c4f5e0755e902908 Merge: dd16d3cc7e 92dd1b977b Author: QMK Bot Date: Tue Jun 22 02:42:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 92dd1b977b160ebb876604e12a64a703dcf6b447 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Tue Jun 22 10:41:57 2021 +0800 Additional documentation for GUI mod combo (#13266) Co-authored-by: filterpaper commit dd16d3cc7e427c5256f5d2089d0cc2b6bbc776e1 Author: Purdea Andrei Date: Tue Jun 22 05:34:28 2021 +0300 eeprom_i2c driver: added EXTERNAL_EEPROM_WP_PIN configuration option. (#12617) commit 0e3ae2cde033969507355abcb85f5f7aba2ae978 Author: Nick Brassel Date: Tue Jun 22 09:37:28 2021 +1000 Skip EEPROM writes once done. (#13293) commit a89eaceb59d0133013a7638b3f38f0104e0d6c9f Merge: 40e80455c9 d7f352de98 Author: QMK Bot Date: Mon Jun 21 22:09:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d7f352de98409803d3840ccead8cd4c67e848b0d Author: 4pplet <4pplet@protonmail.com> Date: Tue Jun 22 00:09:16 2021 +0200 Adding "Eagle Viper Rep", open sourced Eagle/Viper V2/V3 PCB (#13020) * adding revision A * Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c Co-authored-by: Drashna Jaelre * Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c Co-authored-by: Drashna Jaelre * Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c Co-authored-by: Drashna Jaelre * Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.h Co-authored-by: Drashna Jaelre * Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c Co-authored-by: Drashna Jaelre * Update readme.md Adding instruction on how to enter bootloader * adding instruction on how to enter bootloader (DFU) adding instruction on how to enter bootloader (DFU) * updated description * Update keyboards/4pplet/eagle_viper_rep/rev_a/halconf.h Co-authored-by: Nick Brassel * Update keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c Co-authored-by: Nick Brassel * Update keyboards/4pplet/eagle_viper_rep/rev_a/config.h Co-authored-by: Nick Brassel * Update keyboards/4pplet/eagle_viper_rep/rev_a/chconf.h Co-authored-by: Nick Brassel * Update keyboards/4pplet/eagle_viper_rep/rev_a/chconf.h Co-authored-by: Nick Brassel * Update keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c Co-authored-by: Nick Brassel * Restoring palSetLineMode for working underglow I was experiencing the same issue as this: https://github.com/qmk/qmk_firmware/issues/12655#issuecomment-844104659 sigprof helped me resolve this issue. * Update rev_a.c removing palSetLineMode again, works great after rebase. Thanks! Co-authored-by: Drashna Jaelre Co-authored-by: Nick Brassel commit 40e80455c9d42c48cefa0a562878f52db051b306 Merge: 96ea3c1a03 19990a21a9 Author: QMK Bot Date: Mon Jun 21 20:48:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 19990a21a95e47dddac8d0d15e4438f34c37c786 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jun 21 13:47:47 2021 -0700 Geminate60 Codebase Touch-up (#13275) * grid-align keycodes in keymaps * rename LAYOUT to LAYOUT_all * update LAYOUT_all macro - use 3-character K notation - fix malformed electrical mapping * update info.json - correct maintainer - update label fields - remove meta key * update readme - update board description - update keyboard maintainer commit 96ea3c1a033fc28a1b99c96a74fd7d9fdef63f6e Merge: e28d7ab58c 3f292ec723 Author: QMK Bot Date: Mon Jun 21 20:33:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3f292ec723d5ce22add1c95065ef3ad0d91c7913 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jun 21 13:32:51 2021 -0700 Swiftrax Nodu handwired: Layout Macro rename and Community Layout support (#13276) * rename LAYOUT to LAYOUT_60_ansi_split_bs_rshift * enable Community Layout support commit e28d7ab58cbf5b9912a33fbe1b5a3a95d3449bea Merge: 6901411bca eba3d68394 Author: QMK Bot Date: Mon Jun 21 20:00:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6901411bca0760ceb8acbe1f0c95feaed9d2aaeb Author: Drashna Jaelre Date: Mon Jun 21 13:00:11 2021 -0700 Move optical sensor code to drivers folder (#13044) commit eba3d68394ba7bdd15836c0f4f4bb3c44b4e1f91 Author: ploopyco <54917504+ploopyco@users.noreply.github.com> Date: Mon Jun 21 15:59:56 2021 -0400 Fixes for Ploopy devices (#13144) Co-authored-by: Drashna Jael're commit b491c7994aa1931fd000cc93a1bf70453d462c40 Merge: 26357ddca8 224dcac08f Author: QMK Bot Date: Mon Jun 21 16:25:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 224dcac08fe65cd4b4ab275cac4aea1379c3528c Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jun 21 09:25:02 2021 -0700 ID80: fix LAYOUT_iso data (#13274) commit 26357ddca8cba5fbbd991d2b2fc396996ac70fae Merge: c6fb96fb9f 36f3dba195 Author: QMK Bot Date: Mon Jun 21 16:23:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 36f3dba19565080b22e3e53c31d2c747cc6550fe Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jun 21 09:23:04 2021 -0700 mech.studio Dawn: correct key sizes and positioning (#13277) commit c6fb96fb9f5440aa9593436f72fbf95644850244 Merge: eaba4d327f c0dd142d9f Author: QMK Bot Date: Mon Jun 21 16:04:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c0dd142d9fd05cb27ee457c11a57e60069f5411a Author: Nathan Date: Mon Jun 21 12:04:18 2021 -0400 [Keyboard] le_chiffre.c conditional led_config (#13285) disabling RGB_MATRIX_ENABLE causes led_config to fail during compile. Setting this conditional allows you to turn off RGB commit eaba4d327f4c8b42634872d7f3e24489d9a9f8cd Merge: e4a2cfd853 59c572eaf0 Author: fauxpark Date: Mon Jun 21 21:17:26 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit 59c572eaf085d6a71f1455a4a309bb83f5d7d83f Author: Ryan Date: Mon Jun 21 20:29:15 2021 +1000 Cleanup junk characters, part 1 (#13282) commit e4a2cfd85304d7088039c8480347d5525e96e0c2 Author: Ryan Date: Mon Jun 21 19:56:55 2021 +1000 Remove dfu-util arguments from mcu_selection (#13150) commit 8d302092606cf504ecc91e8465139dcda2a2123d Merge: 40bf61118e 8db1be6420 Author: QMK Bot Date: Sun Jun 20 18:37:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8db1be64204ac8384781a08f43dc7853b060cf1a Author: shela Date: Mon Jun 21 03:36:51 2021 +0900 [Docs] Update Japanese getting started documents. (#12806) * Update Japanese getting started documents. * Update faq_build.md * fix typo commit 40bf61118e6b894221f5b6814846322b4cc02b4f Merge: c234341cf6 90e57b7b0a Author: QMK Bot Date: Sun Jun 20 16:38:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 90e57b7b0aa3e477de28e9d8ca291b1dae510f9e Author: Ryan Date: Mon Jun 21 02:38:21 2021 +1000 OLED font easter egg (#13269) commit c234341cf688449184aa54cbb3b579ba23a1ae6a Merge: 291455098f 29df3ce83b Author: QMK Bot Date: Sun Jun 20 15:30:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 29df3ce83b95a30e150d2db19cbbe6553a21b647 Author: Erovia Date: Sun Jun 20 16:30:23 2021 +0100 Fix/keyboard/dz65rgbv3 (#13268) With the 'lufa-ms' bootloader LTO is needed so the keyboard can be built with Configurator. commit 291455098f1e382c04feac48d29c02dfa3e038ce Merge: 8f36af8409 7ab4902543 Author: QMK Bot Date: Sun Jun 20 13:30:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7ab490254364e3c4d91748bbd17e8475ad090979 Author: Sergey Vlasov Date: Sun Jun 20 16:30:16 2021 +0300 Update Python dependencies for Nix (#12855) Co-authored-by: Steve Purcell commit 8f36af8409ab83286f52fddbbb9aca7dccb694e0 Merge: 25f1c242f8 50a312b635 Author: QMK Bot Date: Sun Jun 20 08:01:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 50a312b635122bd15d89610e42eb9102a31e5d5d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Jun 20 01:00:10 2021 -0700 rect44: add LAYOUT_all data (#13260) commit 25f1c242f86dee768813d73aaf6a4b3ab3c0a4ce Merge: f80ee5639e 873658a76d Author: QMK Bot Date: Sun Jun 20 07:50:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 873658a76d7ff08ab58215e06f77b7ddca8e10fa Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sun Jun 20 03:49:49 2021 -0400 Adding my Bear65 keymap (#12962) commit f80ee5639e2e685199ecdbb34cc892545783cd39 Merge: 085db5ec8d 745f5f6532 Author: QMK Bot Date: Sun Jun 20 07:37:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 745f5f65325ccd1705a3c55804a663522632e67e Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Jun 20 17:36:54 2021 +1000 [Keyboard] Add Constellation Rev2 (#13103) commit 085db5ec8d755a1b07ca2045753d8c7e6ee7569a Merge: 8f1eccc59b eb2886369d Author: QMK Bot Date: Sun Jun 20 07:17:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit eb2886369deb04fa8e516054ce8dd4c0cccfbc56 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Jun 20 17:16:50 2021 +1000 [Bug] Pachi keymap compile fix (#13261) commit 8f1eccc59b7d5224687b12e5fa481884b61459f3 Merge: 2cb4301656 438eee96e8 Author: QMK Bot Date: Sun Jun 20 07:15:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 438eee96e8ee83b0f3450779b1f9625a7d7b53d5 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Jun 20 17:14:44 2021 +1000 [Bug] Pachi RGB: fix RGB modifiers (#13262) commit 2cb43016566a6ad754a5869dd1241125f7b66955 Merge: f106f77692 0624698d33 Author: QMK Bot Date: Sun Jun 20 07:14:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0624698d331edc7f0201b2edc199616b852e456a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Jun 20 00:13:34 2021 -0700 MisonoWorks Karina Layout Macro Rework (#13259) commit f106f7769283aa61c847c7d77e6baf308a84ace7 Merge: e4c5b1bbbb 88e53ad9ca Author: QMK Bot Date: Sun Jun 20 03:09:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 88e53ad9ca3ca59a6a767cc5fd49811c7dc5aa85 Author: Drashna Jaelre Date: Sat Jun 19 20:08:37 2021 -0700 Fix issue with crkbd json mapping (#13255) commit e4c5b1bbbb3d76a7632c8a9d5c19c5eb8a9a4e1f Author: Roland Huber <36362570+darkcruix@users.noreply.github.com> Date: Sun Jun 20 04:28:54 2021 +0200 Add Per Key exclusions for Haptic Feedback (#12386) Co-authored-by: Drashna Jaelre commit f6ac5abd95f5689542b0240a8e333ab9b3f591af Merge: 18f6ded5fa dc39d90270 Author: QMK Bot Date: Sun Jun 20 02:21:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dc39d902704b9c19a89441e8b7afdadaf3543425 Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sat Jun 19 21:21:24 2021 -0500 [Keyboard] Add LED matrix and 2 layouts to hub20 (#12505) Co-authored-by: Drashna Jaelre commit 18f6ded5fa327f06117cf14285f71b2f433ea9df Merge: 67af692c97 050457818c Author: QMK Bot Date: Sun Jun 20 02:21:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 050457818c8c8710124d1aba454f80260c57ae7f Author: nopjmp Date: Sat Jun 19 21:20:50 2021 -0500 [Keymap] Fix Preonic rev3 default keymap (#12698) The rev3 boards use RGBLIGHT_ENABLE now instead of BACKLIGHT_ENABLE. This resolves the issue of flashing and losing functionality with the default keymap. commit 67af692c9756cef92a297da2dbd22e3e505bc58f Merge: 8d9f527081 1f4e20cfda Author: QMK Bot Date: Sun Jun 20 02:19:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1f4e20cfdacc913b7d06fcd4533b92e8317e4504 Author: alittlepeace Date: Sat Jun 19 21:18:40 2021 -0500 [Keyboard] YMDK Wings: enable Backlight (#12714) commit 8d9f527081d3a5fc8a0286e47022a70df8eb9111 Author: Joakim Tufvegren Date: Sun Jun 20 04:18:00 2021 +0200 Add sync_timer support over serial_link (i.e. Ergodox Infinity) (#12845) commit fc749b40e65b07c05df03d4401c5d74fe86109a1 Merge: 76e856d052 c835d2e71d Author: QMK Bot Date: Sun Jun 20 02:14:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c835d2e71dbc871483fdd62a31fc49a12e326170 Author: Nick Abe <57225836+2Moons-JP@users.noreply.github.com> Date: Sun Jun 20 11:14:40 2021 +0900 [Keyboard] Add PLX Keyboard (#12954) Co-authored-by: Ryan commit 7e832e46de26989b81f2fbf58a0f391b2b0c1aaf Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sun Jun 20 10:14:19 2021 +0800 Add Mac centric Shift and Alt + GUI Macros (#13107) Co-authored-by: filterpaper commit 76e856d05264e910978243780bf3887da1097515 Merge: e3030bff5e d456963177 Author: QMK Bot Date: Sun Jun 20 02:13:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d456963177b9d3639c2eb14b932d2e601b04973f Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sat Jun 19 22:12:39 2021 -0400 [Keymap] Add stanrc85 Abasic keymap (#13180) commit e3030bff5e6b241ef8934ddaf84e524d0fd32bce Merge: 5b7cf9fdc8 4dddcb4f03 Author: fauxpark Date: Sun Jun 20 12:10:59 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit 4dddcb4f0300f79d8fbfc462ff8d6b360e99989e Author: Ryan Date: Sun Jun 20 12:03:11 2021 +1000 Telophase cleanup (#13225) commit 5b7cf9fdc86bf92b465565b2be5d501ea9529f37 Author: XScorpion2 Date: Sat Jun 19 21:03:06 2021 -0500 RGB Matrix eeprom write limiting (#13238) commit 3c790123ce23638cacc9cade86df25bcf6a981d5 Author: Joel Challis Date: Sun Jun 20 00:31:18 2021 +0100 Temporary disable of CRC (#13252) commit 1272ecd73c218e5827116aa68ce8ce6a4b6df4ec Author: Donald Kjer Date: Sat Jun 19 15:30:23 2021 -0700 Fixing incorrect keymap build when switching between multiple keymap.jsons (#12632) commit 7c5ef4060e32396ddcbf0fd2ea9a22f569a4e984 Author: Michael Stapelberg Date: Sun Jun 20 00:21:56 2021 +0200 allow LINE_PINxx for Teensy 4.x pins (#13247) fixes https://github.com/qmk/qmk_firmware/issues/13052 commit 11f66c317ab47a3f95b3278187392105cfe791d8 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jun 19 14:34:48 2021 -0700 pistachio_mp: correct key object order in info.json (#13250) commit 6dfe915e26d7147e6c2bed495d3b01cf5b21e6ec Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Jun 20 01:18:29 2021 +1000 [Keyboard] Pachi restructure and keyboard addition (#13080) commit 8dc036c2e49f51a8dc1721ac8e84d7ec1c873f1e Author: Jean-Sebastien Paquet Date: Sat Jun 19 08:52:34 2021 -0400 Upgrades Vagrant box to Debian 10 to fix Docker build error on Debian 9. (#13236) commit 4379afca2877fc9b62916b9c30cce1d8ca258655 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sat Jun 19 22:50:54 2021 +1000 [Keyboard Update] Trinity XT TKL fix license and add forgotten indicators (#13202) commit 939ce6a4867fa0829f60ed6eb8e432337fa01a4a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jun 19 03:49:27 2021 -0700 bm60rgb: fix layout macro references (#13246) ... and enable Community Layout support commit 37fba09021fe094ea4daf0813626b1b6a201c8c0 Author: Ryan Date: Sat Jun 19 18:51:35 2021 +1000 ST7565 invert (#13237) commit dfcefc2d5d05272c63ed8d5d0e7627c2ff5eacec Author: Jumail Mundekkat Date: Sat Jun 19 11:52:29 2021 +1000 [Keyboard] Add Switchplate 910 keyboard (#13235) Co-authored-by: Ryan commit 8de028f1889da418de52bdc1da138687c4944378 Author: Mats Nilsson Date: Sat Jun 19 02:55:56 2021 +0200 [Keymap] Add my keymaps for the Keebio Iris and Planck (#13005) commit 8694e2d3f074ffbdc9f3fc1c0a5fe3c6b4163f5d Author: moyi4681 Date: Sat Jun 19 08:54:29 2021 +0800 [Keyboard] add dztech/dz65rgb/v3 keyboard (#13017) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 7fefe128cc8de5a0da704b4bd23c7cfea3be26ba Author: rate Date: Sat Jun 19 09:54:03 2021 +0900 [Keymap] adding keymap for pistachio (#12996) Co-authored-by: Drashna Jaelre commit feaf972eb7f56a2f6dca98ed1a6b7c3c6bb9b667 Author: Kyle McCreery Date: Fri Jun 18 14:48:41 2021 -1000 [Keyboard] Murphpad Changes and Updates (#12995) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 0311c8036d693baf63ed4d3b7badf4257ffd5f46 Author: Ignaz Kevenaar Date: Fri Jun 18 17:08:22 2021 +0200 Add oled_invert (#13172) Co-authored-by: Drashna Jaelre commit 6e132884b34817d569a8c74b09e4bbedbcd5bcea Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Jun 18 15:13:04 2021 +0900 [Docs] update Japanese translation of tap_hold.md (#12820) * update tap_hold.md translation * restore unnecessary change line commit 18554d11346516dd8953838794759a947360af94 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Jun 18 15:07:56 2021 +0900 [Docs] update Japanese translation of hardware_keyboard_guidelines.md (#12769) * update hardware_keyboard_guidelines.md translation * update based on comment commit 9e9e9b38987a1499de31d62eb385fdb2f0ecacbd Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Jun 18 15:05:36 2021 +0900 [Docs] update Japanese translation of feature_haptic_feedback.md (#12737) * update feature_haptic_feedback.md translation * change url of driver pdf location * change buzz word * update based on comment commit 8e607851fbacff8fd742f9cfff03186f8ca036a8 Author: Drashna Jaelre Date: Thu Jun 17 21:11:33 2021 -0700 [Keyboard] Fix revision issues with Kyria (#13208) Co-authored-by: Ryan commit f81cd4696e5d32a86292287cb07de97d7215dcc1 Author: jurassic73 <50930136+jurassic73@users.noreply.github.com> Date: Thu Jun 17 21:11:15 2021 -0700 [Keyboard] Fix comment in split89's config.h (#13231) Added missing closing comment bit */ This seems to cause the QMK configurator to break when clicking the compile button: Compiling: keyboards/handwired/split89/split89.c In file included from : ent] /* COL2ROW, ROW2COL */  cc1: all warnings being treated as errors  | | | make: *** ine/keyboards/handwired/split89/split89.o] Error 1 commit 172e6a703041363decd6fc829542f33180c13beb Author: Nick Brassel Date: Fri Jun 18 09:10:06 2021 +1000 Extensible split data sync (#11930) * Extensible split data sync capability through transactions. - Split common transport has been split up between the transport layer and data layer. - Split "transactions" model used, with convergence between I2C and serial data definitions. - Slave matrix "generation count" is used to determine if the full slave matrix needs to be retrieved. - Encoders get the same "generation count" treatment. - All other blocks of data are synchronised when a change is detected. - All transmissions have a globally-configurable deadline before a transmission is forced (`FORCED_SYNC_THROTTLE_MS`, default 100ms). - Added atomicity for all core-synced data, preventing partial updates - Added retries to AVR i2c_master's i2c_start, to minimise the number of failed transactions when interrupts are disabled on the slave due to atomicity checks. - Some keyboards have had slight modifications made in order to ensure that they still build due to firmware size restrictions. * Fixup LED_MATRIX compile. * Parameterise ERROR_DISCONNECT_COUNT. commit ef92c9ee2cf4745637635ec1895399e4f013914c Author: Stefan Kerkmann Date: Fri Jun 18 01:09:43 2021 +0200 Add CRC8 calculation subsystem to quantum (#12641) * Intended usage is data validation in split transport code. * Default space efficient algorithm. * Opt-in fast table based algorithmn with #define CRC8_USE_TABLE switch. * Define switches for size and speed optimized versions, the default is size optimized by using uint_least8_t as datatype for calculations. * #define CRC8_OPTIMIZE_SPEED uses uint_fast8_t as datatype for calculations, this only affects 32-bit Archs like ARM and RISC-V. * Placeholder crc_init() function for hardware backed crc calculation, not implemented yet. commit e7ddbc394b7fa88b390435523f70cf30d6b9cea3 Author: Nick Brassel Date: Fri Jun 18 09:05:27 2021 +1000 Update merge sequence to reflect no-ff, no-squash. (#13038) commit 67fa2568fe1f17942bf61462754e0be5a6bc3223 Author: Nick Brassel Date: Fri Jun 18 09:04:17 2021 +1000 ChibiOS SVN mirror script. (#13070) commit 658ab47908bccb62b585973b270024606880cfbb Merge: d04f7bc160 89c01970e3 Author: QMK Bot Date: Thu Jun 17 17:05:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 89c01970e333e346c25202e9c568b75cad4c7be5 Author: jurassic73 <50930136+jurassic73@users.noreply.github.com> Date: Thu Jun 17 10:04:37 2021 -0700 [Keyboard] Add Split 89 (#13213) Co-authored-by: Ryan commit d04f7bc1608d3acbf1008ae5fd7bf51ddb860ba2 Merge: 9956ff4e03 2f08a34394 Author: fauxpark Date: Thu Jun 17 17:22:01 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit 2f08a343948c6db3c67505f8fca5fdbfed41831b Author: Ryan Date: Thu Jun 17 17:14:23 2021 +1000 OLED driver tweaks (#13215) commit a9c6adb083556ae485dbf1e9f86ad615e32a8b7a Author: talsu Date: Thu Jun 17 14:45:27 2021 +0900 [Keyboard] Add KMAC PAD (#13104) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit f9d88da86fdbf387e40de32a8342390e066ad1f6 Author: TerryMathews Date: Thu Jun 17 01:39:18 2021 -0400 [Keyboard] Minivan : add missing enable to support RGB LEDs (#13157) Config.h has support for RGB LEDs but enable line was missing in rules.mk commit 9956ff4e031b33c5e1fe1ff6ee44885f1080d966 Author: Michael Stapelberg Date: Wed Jun 16 20:15:45 2021 +0200 core: wire up flash make target for Teensy 4.x (#13077) related to https://github.com/kinx-project/kint/issues/5 commit 2538d341d828d04392898a9d3ce691bcd4a79e1f Author: Drashna Jaelre Date: Tue Jun 15 22:31:06 2021 -0700 Document user song list file (#13101) commit 83ee79565ce81c3e8dd097be1fe46dc522e17544 Author: Jonathan Rascher Date: Wed Jun 16 00:30:37 2021 -0500 Fix overrun in oled_write_raw when not at (0, 0) (#13204) commit d59f8d1c022234140a94c643f4b78bf5487d39f7 Author: Jonathan Rascher Date: Wed Jun 16 00:30:27 2021 -0500 Fix overrun in st7565_write_raw when not at (0, 0) (#13209) commit 5c3991cb90108115a269e0b9f7e4b71019851cc1 Author: melonbred <61572569+melonbred@users.noreply.github.com> Date: Tue Jun 15 22:24:16 2021 -0700 [Keyboard] add mb44 keyboard (#12798) Co-authored-by: ridingqwerty Co-authored-by: Ryan commit abee0610eefc4ce84d461787e58d7e62e63282db Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Wed Jun 16 13:23:20 2021 +0800 [Keyboard] Allow user override of RGB_DISABLE_WHEN_USB_SUSPENDED for BM40 keyboard (#12700) Co-authored-by: Drashna Jaelre Co-authored-by: filterpaper commit f8d0ea92060d33a23030635c6cd5f24a5926372e Merge: 706c8bebca 9aea0fd52b Author: QMK Bot Date: Wed Jun 16 05:21:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9aea0fd52b69ea6e063ca1e25d11b9be34982db5 Author: Philip (Han) Suh <36554396+phlopsuh@users.noreply.github.com> Date: Tue Jun 15 22:21:30 2021 -0700 [Keyboard] Fix layout in noon.h (#13087) Forgot to include a KC_NO in a column, causing issues for customers commit 706c8bebca235b746613a2cb9e6f015beaf574c1 Merge: 25004123ce 42d8ee16e1 Author: QMK Bot Date: Wed Jun 16 05:21:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 42d8ee16e114c55413c394d4e70188e4730c92f0 Author: Leon Anavi Date: Wed Jun 16 08:20:57 2021 +0300 [Keymap] ANAVI Macro Pad 2 add binary keymap (#13090) This binary keymap for ANAVI Macro Pad 2 helps with 0 and 1: left key: 0 right key: 1 Combo press both keys to control the backlit. Suggested-by: Chris Signed-off-by: Leon Anavi commit 25004123ce67374b602290efcbbe1f89775f3c0e Merge: d150595f29 403849bff0 Author: QMK Bot Date: Wed Jun 16 05:19:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 403849bff043ef72f1dc2eb9547ea92528925c6f Author: Aeonstrife Date: Wed Jun 16 10:49:11 2021 +0530 [Keyboard] Potato65 Hotswap Fixed mistake in key matrix (#13095) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit d150595f29952ad84c28475528ee8650c6755afe Merge: a61c38c7ec ba35c11807 Author: QMK Bot Date: Wed Jun 16 05:15:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ba35c1180732073c119edc32f17dbec02d0e6945 Author: Rickard von Essen Date: Wed Jun 16 07:14:53 2021 +0200 Debian requires package libusb-dev to build bootloaderHID (#13105) commit a61c38c7ecbd0d96500501413696778d41d9d54d Merge: 03f7bec6c8 875bb48a20 Author: QMK Bot Date: Wed Jun 16 05:07:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 875bb48a20504474e7a3627c3092d9d90b087404 Author: Brian Low Date: Tue Jun 15 23:07:24 2021 -0600 Top level heading for common config (LED Matrix) (#13153) commit 968e4f96a49d81fdc3dbc063fc5dcfa9a2c89ade Author: Brian Low Date: Tue Jun 15 23:07:03 2021 -0600 Top level heading for common config (RGB Matrix) (#13120) * Top level heading for common config Prior to this, the some of the common config looks like a detail of the APA102 driver * Change heading to Common Config (RGB Matrix) commit 03f7bec6c865963ab39dc88f1f79ece1f1cc8e34 Merge: e2c5893405 311cf865dc Author: QMK Bot Date: Wed Jun 16 04:55:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 311cf865dca25f3d72095d271de5d8acbe4d2150 Author: R Date: Wed Jun 16 00:54:36 2021 -0400 [Keymap] Keebio Iris rev4 - keymap with dual encoder support (#13063) Co-authored-by: Drashna Jaelre commit e2c58934052e2ca93a92cd97ef8b9c0425fa3cf6 Author: Michael Stapelberg Date: Wed Jun 16 06:53:27 2021 +0200 core: make RESET key work with Teensy 4.x (#13076) related to https://github.com/kinx-project/kint/issues/5 commit d37900b906227a312dd9fa7990567f4f3f203230 Merge: 06971da0be 4720aa4a34 Author: QMK Bot Date: Wed Jun 16 04:28:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4720aa4a34d553ce1ab64b686f851be35534468d Author: kb-elmo Date: Wed Jun 16 06:28:17 2021 +0200 Change Lufa-MS size (#13183) Co-authored-by: Drashna Jaelre commit 06971da0be4db1a1acd9e37e3d66431a21f22e45 Merge: 2d6fe6eed4 ed0451bc28 Author: QMK Bot Date: Wed Jun 16 04:20:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ed0451bc28dc5ffcc3031bf9918a25e9fb8db2f7 Author: Purdea Andrei Date: Wed Jun 16 07:20:44 2021 +0300 Make atmel-dfu and chibios-dfu flashing behave more like caterina flashing. (#12552) This commit makes atmel-dfu and chibios-dfu bootloaders retry to detect the bootloader every 0,5 seconds (now configurable via the BOOTLOADER_RETRY_TIME makefile variable), and a period is printed after every try. This is a much more pleasant behaviour than the 5s retry timeout. commit 2d6fe6eed4610a64622042d63299f5101381fe43 Merge: 346f4548db 22cd151fc3 Author: QMK Bot Date: Wed Jun 16 04:20:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 22cd151fc359f48d75e361bd46a25ab6b40425fa Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Tue Jun 15 22:20:15 2021 -0600 [Keyboard] suv (#12957) commit 96c8afea2dbe001000f74aafbf81c4a172a7d74b Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Tue Jun 15 22:20:03 2021 -0600 [Keyboard] hatchback (#12958) commit 346f4548db1d65d6b534cdb2ca14b4230d9d8a77 Merge: ff61df103e 3966599940 Author: QMK Bot Date: Wed Jun 16 04:18:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3966599940ece9d6898bd9a77d0ea0c988399719 Author: John Graham Date: Tue Jun 15 21:18:20 2021 -0700 [Keyboard] Add via support for the Leopold FC980C (#12860) commit ff61df103e010de425c01560d16b77555a7f9ee4 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Wed Jun 16 12:04:21 2021 +0800 Limit saturation for RGB_MATRIX_JELLYBEAN_RAINDROPS (#12669) * Set saturation limit to jellybean_raindrops_anim.h * Use faster bit-shift maths and qadd8 * Remove extra parenthesis * Single bitmask operation is sufficient. Co-authored-by: filterpaper commit a0959f1b3393d284b3aa11162497e8851fd94bca Author: Simon Arlott <70171+nomis@users.noreply.github.com> Date: Wed Jun 16 05:00:37 2021 +0100 Add asym_eager_defer_pk debounce type (#12689) commit b151153211f5f932a6fa19701b9b394f558498c1 Merge: 41ba616463 09e22b9cfc Author: QMK Bot Date: Wed Jun 16 03:54:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 09e22b9cfc6660f519243b8f63de6042de89b4cb Author: Leon Anavi Date: Wed Jun 16 06:53:49 2021 +0300 [Keymap] ANAVI Macro Pad 2 add Skype keymap (#12664) This keymap for ANAVI Macro Pad 2 contains a couple of Skype shortcuts for MS Windows and GNU/Linux distributions: - Ctrl+M: Mute/unmute microphone - Ctrl+Shift+K: Start/stop camera Signed-off-by: Leon Anavi commit 41ba6164632329d04a8c94dde17c4296c93f3d65 Merge: d82e5055dd 9cf4148aa9 Author: QMK Bot Date: Wed Jun 16 03:39:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9cf4148aa90e14b5128dbb60c0b6b8413be375e4 Author: Fidel Coria Date: Tue Jun 15 22:39:17 2021 -0500 [Keymap] add new keymap for pteron (#12474) Co-authored-by: Ryan commit d82e5055dd95f60a3d593dbc80a06b2c34f875d8 Merge: 3be3cdafa2 c00a9937f2 Author: QMK Bot Date: Wed Jun 16 03:36:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c00a9937f2ed322ab4dc8927975eae34a965e145 Author: Thomas Museus Dabay <41303137+thomas-m-d@users.noreply.github.com> Date: Tue Jun 15 22:35:31 2021 -0500 [Docs] Update one_shot_keys.md (#12291) commit 3be3cdafa25676ead732711e7548598ba88ed1b6 Merge: f5c2f7153d d0a3506d0f Author: QMK Bot Date: Wed Jun 16 03:34:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d0a3506d0f8663bbd6853bb0176e3628b7fab44a Author: Andy Freeland Date: Tue Jun 15 20:34:00 2021 -0700 [Keyboard] Add 'LAYOUT_65_ansi_split_bs_2_right_mods' support to KBDfans KBD67 rev2 (#12053) commit f5c2f7153d7e8c5d4356551bbf8b374da545b8fc Author: James <13719009+quadcube@users.noreply.github.com> Date: Wed Jun 16 12:21:13 2021 +0900 [Keyboard] Moved tokyo60/ into tokyokeyboard/tokyo60/. (#12023) * Moved tokyo60/ into tokyokeyboard/tokyo60/. * Updated make instruction, fixed broken image link * Fixed still broken image link. commit 640f0fc7c6e69b5950a09f0e114914b71196752d Merge: d7ecfa8382 3d546c0853 Author: QMK Bot Date: Tue Jun 15 21:43:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3d546c085325f906e8a512c24c94fdaa2c31ec73 Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Tue Jun 15 14:43:18 2021 -0700 add tender/macrowo_pad (#12786) * add tender/macrowo_pad * add another layer for via keymap Co-authored-by: Swiftrax commit d7ecfa8382e9d9bc2d65b2bca32f4d68364f330e Merge: a2a524afbb a9525d88a3 Author: QMK Bot Date: Tue Jun 15 03:07:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a9525d88a349469d948bb0c21f630d97b31db731 Author: Dustin Bosveld Date: Mon Jun 14 21:06:55 2021 -0600 [Keymap] Update readme for ploopy nano keymap (#12733) The readme from the Ploopy Mini was accidentally put as the Ploopy Nano readme. The Ploopy Nano does not ship with VIA by default. commit a2a524afbb11ae6778bfc68c366db2425efadae9 Merge: 8d0a610f6e 0713797c58 Author: QMK Bot Date: Mon Jun 14 23:52:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0713797c58376e8237174f8ca83a3fff9d964b9d Author: Zach White Date: Mon Jun 14 16:51:58 2021 -0700 Ensure that safe_commands always run (#13199) * ensure that safe_commands always run * import the config subcommand in bin/qmk commit 8d0a610f6e9d8c0f2645ec38b7f09ddd53b83f06 Merge: 6dc94019e4 ae45faca26 Author: QMK Bot Date: Mon Jun 14 06:32:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ae45faca2660c41aab5eea957bc979f4c385bde5 Author: shela Date: Mon Jun 14 15:31:50 2021 +0900 [Docs] Update Japanese newbs_learn_more_resources.md (#12839) * Update Japanese newbs_learn_more_resources.md document. * Slightly modded commit 6dc94019e42f19dec68b5255787cf526a5e0e310 Merge: fda4149cc3 449b4b8d86 Author: QMK Bot Date: Mon Jun 14 03:20:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 449b4b8d86b9ea24321b9aa0a32fc58c796eb447 Author: Markus Knutsson Date: Mon Jun 14 05:20:19 2021 +0200 [Docs] Update feature_split_keyboard.md (#13205) commit fda4149cc3b04f6adf5285018c7289a5e56bfa88 Author: Gigahawk Date: Sun Jun 13 19:38:20 2021 -0700 Fix LED mapping for GMMK Pro (#13189) commit 836b8f7d64b81ea2f090649e726987a24ddc0531 Merge: 52028ceea1 3d62e1dfbf Author: QMK Bot Date: Mon Jun 14 00:53:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3d62e1dfbf4addea1ca9023cfab76622c061fc8b Author: Zach White Date: Sun Jun 13 17:52:31 2021 -0700 vscode: specify yapf as the formatting provider (#13206) commit 52028ceea191f49fc350a2c57d44d17f5452b9be Merge: f8acb1ee10 a08486597d Author: QMK Bot Date: Sat Jun 12 19:15:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a08486597dfe8b26b305f48eab8eb307f2f3b820 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sun Jun 13 04:15:08 2021 +0900 [Docs] update Japanese translation of feature_pointing_device.md (#12753) * update feature_pointing_device.md translation * update based on comment commit f8acb1ee10d4b7c82e542a8daba369202eade999 Merge: dc17180f84 f48bd8cde3 Author: QMK Bot Date: Sat Jun 12 19:12:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f48bd8cde3949cc6404b0941c84d77b6dfb93606 Author: shela Date: Sun Jun 13 04:11:56 2021 +0900 [Docs] Update Japanese newbs_flashing.md (#12837) * Update Japanese newbs_flashing.md document. * Slightly modded * Apply suggestions from code review commit dc17180f8490516a45fb581d4d80b458523f3532 Merge: 421fd75541 c16b7d63e7 Author: QMK Bot Date: Sat Jun 12 19:10:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c16b7d63e7785e048b9f2a0e8ea374538cec6ce6 Author: shela Date: Sun Jun 13 04:10:23 2021 +0900 Update Japanese newbs.md document. (#12835) commit 421fd75541c64229cac65d3b3eda68b37c165fab Merge: 0f226a30be db36e2be9f Author: QMK Bot Date: Sat Jun 12 19:09:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit db36e2be9f5d3b28d928a328181528b08f2e890e Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Jun 13 04:08:32 2021 +0900 [Docs] Japanese translation of docs/data_driven_config.md (#12066) * add docs/ja/data_driven_config.md * Update docs/ja/data_driven_config.md Co-authored-by: s-show * Update docs/ja/data_driven_config.md Co-authored-by: s-show * Update docs/ja/data_driven_config.md Co-authored-by: s-show * Update docs/ja/data_driven_config.md Co-authored-by: s-show * Update docs/ja/data_driven_config.md Co-authored-by: shela * Update docs/ja/data_driven_config.md Co-authored-by: shela * Update docs/ja/data_driven_config.md Co-authored-by: shela * Update docs/ja/data_driven_config.md Co-authored-by: shela * Update docs/ja/data_driven_config.md * Update docs/ja/data_driven_config.md Co-authored-by: shela * Update docs/ja/data_driven_config.md Co-authored-by: shela * Update docs/ja/data_driven_config.md Co-authored-by: shela * Update docs/ja/data_driven_config.md Co-authored-by: shela Co-authored-by: s-show Co-authored-by: shela commit 0f226a30be010a929d139d9ee22c286f2b9d9455 Merge: 641141c519 0ef145db15 Author: QMK Bot Date: Fri Jun 11 10:35:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0ef145db151f907c33973e3ceab8dc51f7c00b16 Author: kb-elmo Date: Fri Jun 11 12:35:13 2021 +0200 Add Matrix 8XV1.2 OG rev1 PCB (#11614) * add v1 12og pcb * update * matrix changes for testing * Update matrix.c * finalized files * rename board versions * update readmes * typo in readme * fix board filenames * Update keyboards/matrix/m12og/rev1/rev1.c Co-authored-by: Drashna Jaelre * change function * update halconf and chconf * merge master * Update readme.md * Update readme.md * Update readme.md Co-authored-by: Drashna Jaelre commit 641141c51941428cdf24ad8f20f5fa7172abdc86 Merge: 6fe3943ad3 2e90ef0536 Author: QMK Bot Date: Thu Jun 10 21:50:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2e90ef05363893f3aa49c99af408e774609aa97a Author: Drashna Jaelre Date: Thu Jun 10 14:50:24 2021 -0700 [Keyboard] Add Loop, Nano and Work boards from Work Louder (#12756) commit 6fe3943ad3efd480da87884ab92fc5738d99f1db Author: Joakim Tufvegren Date: Thu Jun 10 09:46:09 2021 +0200 Migrate keyboards using uGFX to LED_MATRIX (#9657) commit b2fdd4874434ef6921a436fc82d9f24909c726f8 Author: Ryan Date: Thu Jun 10 17:16:09 2021 +1000 Add ST7565 LCD driver (#13089) Co-authored-by: Joakim Tufvegren commit cfc7ee61c5cb9822a1195028681b928bbeac2fd3 Merge: 7a6e630ffd d684b8cafe Author: QMK Bot Date: Thu Jun 10 06:06:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d684b8cafed8298bed53c6fb184086fc573f4e91 Author: Nick Brassel Date: Thu Jun 10 16:05:29 2021 +1000 Slightly more prominent LUFA Mass-storage bootloader warning. (#13163) commit 7a6e630ffd1a2a8357daf8b7ed2ab766eae55e07 Author: Drashna Jaelre Date: Wed Jun 9 22:59:19 2021 -0700 Fix RGB/LED Suspend defines (#13146) commit 32b2ac0a807bdb088df685e6118f4c0966b6cca4 Author: Gigahawk Date: Wed Jun 9 18:40:25 2021 -0700 GMMK Pro RGB Support (#13147) * Enable SPI1 for GMMK pro * Setup initial boilerplate for new LED driver * RGB matrix minimally functional * Map full LED matrix * Return keymap to default * Fix printscreen LED mapping * Reduce max brightness * Default values for AW20216 * Add documentation for AW20216 * Disable console and warnings * Run cformat * Update drivers/awinic/aw20216.h Co-authored-by: Drashna Jaelre * make aw struct match issi struct Co-authored-by: Drashna Jaelre * add led location defines Co-authored-by: Drashna Jaelre * Use led pin definitions in keyboard.c * Add driver indices to led map * Fix elif typo * Run cformat * Update docs * Fix typo in docs * Document global brightness limits Co-authored-by: Drashna Jaelre commit e21a03990116b439de2d4a0181f4a87d048e0366 Merge: ca0070d11c 39c8ed32b4 Author: QMK Bot Date: Wed Jun 9 17:48:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 39c8ed32b47baed70c636113b1433381c5b6cfdc Author: jackytrabbit Date: Thu Jun 10 01:47:37 2021 +0800 Add support for LAZYDESIGNERS/THE60/rev2 (#13015) Co-authored-by: Erovia Co-authored-by: Drashna Jaelre commit ca0070d11cc258ca92c9f44a6e8f63946b55d91e Author: Carlos Martins Date: Wed Jun 9 18:32:16 2021 +0100 Updated encoder_update_user on my keymap to follow the new signature on quantum (#13152) commit a47f482d241e26204e27953bec54cf701446dafa Merge: 9177e22d2c 5073dc33e9 Author: QMK Bot Date: Wed Jun 9 09:15:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5073dc33e9ed654163b27cebc48a1dce73194678 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Wed Jun 9 19:14:44 2021 +1000 update via keymap (#13145) commit 9177e22d2c531868564a444c447873603ab26337 Merge: b829a1d264 21aa7890cb Author: QMK Bot Date: Wed Jun 9 07:25:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 21aa7890cbff6368cf75c84a083f022141e0e4ca Author: Nick Brassel Date: Wed Jun 9 17:25:21 2021 +1000 Allow limiting the multibuild based on keymap name. (#13066) commit b829a1d2648abd0751e9d3505554547faf643425 Author: Simon Arlott <70171+nomis@users.noreply.github.com> Date: Wed Jun 9 08:23:21 2021 +0100 Avoid 8-bit timer overflows in debounce algorithms (#12240) * Add fast_timer_t that is 16-bit or 32-bit based on architecture A 16-bit timer will overflow sooner but be faster to compare on AVR. * Avoid 8-bit timer overflows in debounce algorithms Count down remaining elapsed time instead of trying to do 8-bit timer comparisons. Add a "none" implementation that is automatically used if DEBOUNCE is 0 otherwise it will break the _pk/_pr count down. * Avoid unnecessary polling of the entire matrix in sym_eager_pk The matrix only needs to be updated when a debounce timer expires. * Avoid unnecessary polling of the entire matrix in sym_eager_pr The matrix only needs to be updated when a debounce timer expires. The use of the "needed_update" variable is trying to do what "matrix_need_update" was added to fix but didn't work because it only applied when all keys finished debouncing. * Fix sym_defer_g timing inconsistency compared to other debounce algorithms DEBOUNCE=5 should process the key after 5ms, not 6ms * Add debounce tests commit f287597c19dc926c7c28cefa32ffc3f0b4fdba7f Author: Nick Brassel Date: Wed Jun 9 17:19:42 2021 +1000 Use single memcmp to determine if matrix changed. (#13064) * Use memcmp to determine if matrix changed. * Firmware size issues. * Add documentation for the lack of need of MATRIX_ROW_PINS/MATRIX_COL_PINS, when overriding low-level matrix functions. commit cbfa2dba2594d419aea1cf26584751ced9411ded Merge: d9add95037 4dda716712 Author: QMK Bot Date: Wed Jun 9 07:19:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4dda7167124e26ff8ed66059f1816f749286f111 Author: Joel Challis Date: Wed Jun 9 08:18:56 2021 +0100 Migrate preonic/rev3 to pwm ws2812 driver (#13142) commit d9add95037b0c0f394c4ca9885f645f8523c90d6 Merge: 17d0fad762 9975e17712 Author: QMK Bot Date: Tue Jun 8 19:07:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9975e1771205beaa5b05d61c3c2c8e7afbcd3981 Author: Drashna Jaelre Date: Tue Jun 8 12:06:55 2021 -0700 Fix Bug with (RGB|LED)_DISABLE_WHEN_USB_SUSPENDED define (#13060) commit 17d0fad7626aafef02b57156723414cb4d180d18 Author: Ryan Date: Tue Jun 8 19:54:33 2021 +1000 `spi_master` Kinetis support (#13098) commit 13defb0befa31110e70fafbeeb26bd6883472c86 Merge: 84e691717c 9dcd03b6ca Author: QMK Bot Date: Tue Jun 8 09:49:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9dcd03b6ca512126231478131796c093d237067f Author: Ryan Date: Tue Jun 8 19:48:46 2021 +1000 Set `BOOTLOADER = stm32-dfu` for all applicable STM32 boards (#12956) * Set bootloader to stm32-dfu for STM32F303 * Set bootloader to stm32-dfu for STM32F0x2 * Set bootloader to stm32-dfu for STM32F4x1 * Set bootloader to stm32duino for sowbug * Delete redundant bootloader_defs headers * Add some missing MCU name comments * Move APM32 dfu-suffix overrides underneath bootloader * Remove redundant STM32_BOOTLOADER_ADDRESS defines/rules commit 84e691717cd8a49b345ec35aa2a2374bebce07f0 Merge: f3fb3849a2 e0acd3e53d Author: QMK Bot Date: Mon Jun 7 23:38:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e0acd3e53dbefe31cec5cc9eef048fd0649d1d1d Author: Joel Challis Date: Tue Jun 8 00:37:58 2021 +0100 Update requirements.txt (#13135) commit f3fb3849a24b1ffc421ea83febe66adc77ebe38d Merge: c508da8a8e c277ae4768 Author: QMK Bot Date: Mon Jun 7 23:31:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c277ae47681366df5b03c146ea20c0aac72699ed Author: Zach White Date: Mon Jun 7 16:30:55 2021 -0700 Move hid and pyusb to requirements.txt (#13134) * Add his and pyusb to * Update requirements-dev.txt commit c508da8a8e908f36beeb2fca5d8397a6e3ab7bb6 Merge: 9399865b0d b52b8f1d23 Author: QMK Bot Date: Mon Jun 7 17:43:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b52b8f1d23df37de44f376778e1e2f4faa203fad Author: shela Date: Tue Jun 8 02:43:21 2021 +0900 Update Japanese newbs_building_firmware_configurator.md document. (#12836) commit 9399865b0d39af07192626ae1c9a6ff0d21c32a0 Merge: 827e742bd4 b7ef959400 Author: QMK Bot Date: Mon Jun 7 17:42:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b7ef959400995fae77cae8d943e6ef75c64bc496 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Jun 8 02:41:33 2021 +0900 update ref_functions.md translation (#12784) commit 827e742bd427ed587ed28cab7fd5000a0715c5f2 Merge: 5e3ec2faf0 17e6e04600 Author: QMK Bot Date: Mon Jun 7 17:40:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 17e6e0460086acbaf7138808bc302c042d65375b Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Jun 8 02:39:57 2021 +0900 update one_shot_keys.md translation (#12771) commit 5e3ec2faf0129ccf1346981156b02e7e75ef713f Merge: 2f910e1b2a a0ed583b75 Author: QMK Bot Date: Mon Jun 7 17:39:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a0ed583b75156c0c939778fc9fc746ae78680bd8 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Jun 8 02:38:38 2021 +0900 update hardware_avr.md translation (#12760) commit 2f910e1b2a3ebd79bd6821eccd7418f52d1ede85 Merge: f922133d30 093a89c534 Author: QMK Bot Date: Mon Jun 7 17:37:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 093a89c534f6d347469fa40502c33873d3f6acf2 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Jun 8 02:36:42 2021 +0900 update feature_rawhid.md translation (#12759) commit f922133d3064f2f92ade72485eec0961c3c8b459 Merge: 5686a00a9c c1bd8eed76 Author: QMK Bot Date: Mon Jun 7 17:35:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c1bd8eed762b5d761a3418f921d86345ad1b1656 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Jun 8 02:34:39 2021 +0900 [Docs] update Japanese translation of custom_quantum_functions.md (#12715) * update custom_quantum_functions.md translation * update custom_quantum_functions.md translation * explicitly describe pronoun * update based on comment * update based on comment commit 5686a00a9c8f64b59f7d0996f4c220cf91391c8a Merge: b72f10c635 9dffd35762 Author: QMK Bot Date: Mon Jun 7 10:47:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9dffd3576221b7a1e00e6b4ac5c90183218750b5 Author: Ryan Date: Mon Jun 7 20:46:22 2021 +1000 Add default `ortho_1x1` layout (#13118) commit b72f10c6357eee628ab1f3762f66ba8a0a279a4e Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Jun 7 18:23:21 2021 +0900 Add readPort() and some API to 'tmk_core/common/*/gpio.h' (#12754) * add readPort() and some API to 'tmk_core/common/*/gpio.h' The following macros have been added to gpio.h. * readPort(port) * setPortBitInput(port, bit) * setPortBitInputHigh(port, bit) * setPortBitOutput(port, bit) * writePortBitLow(port, bit) * writePortBitHigh(port, bit) * add data type 'port_data_t' into gpio.h * rename qmk_pin to pin commit 59862d30d08224f4cf23828f94e1ea8134208a0a Merge: 680cc1fab4 b10728edc1 Author: QMK Bot Date: Mon Jun 7 06:53:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b10728edc1ce897939833ccca447640804888854 Author: wxyangf <2058629+wxyangf@users.noreply.github.com> Date: Mon Jun 7 02:53:20 2021 -0400 [Docs] added basic midi documention of common features (#13113) Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: Joel Challis commit 680cc1fab4a9e1bc7a75a5a7fe063ae4717a86ae Author: Sergey Vlasov Date: Mon Jun 7 08:42:08 2021 +0300 Fix firmware size check with avr-libc 1:2.0.0+Atmel3.6.2-1.1 (Debian bullseye) (#12951) Debian bullseye (testing at the moment, but seems close to release) has avr-libc 1:2.0.0+Atmel3.6.2-1.1 with some changes taken from the Atmel-distributed toolchain. In particular, the header for ATmega32A (avr/iom32a.h) now defines the FLASHEND constant as `0x7FFFU`, and that `U` suffix breaks the firmware size check code, because the shell arithmetic expansion that is used to calculate `MAX_SIZE` does not support those C-specific suffixes. As a workaround, add `-D__ASSEMBLER__` to the C preprocessor invocation that is used to expand those macros; in this case avr/iom32a.h defines `FLASHEND` without the `U` suffix, and everything works as it did before with older avr-libc versions. The exact same code is present in two places; they are both changed, even though the code in `tmk_core/avr.mk` is actually never used for ATmega32A (and the header for ATmega32U4 does not add that `U` suffix to `FLASHEND` for some reason). commit 2e68897a620fec29772804dd2b1ba9268aec2188 Author: Carlos Martins Date: Mon Jun 7 06:30:48 2021 +0100 [Keymap] RGB Matrix working for Sofle RGB (#12861) Co-authored-by: Ryan commit 49fd3c0760e06b7eab3647098530f1a9bdfc5054 Author: Stefan Kerkmann Date: Mon Jun 7 07:16:55 2021 +0200 [Core] ChibiOS fix O3 and LTO breakage of extra keys and joystick (#12819) commit 415dd21206922fc69929d8ef5d7ab7f13e9c2fbc Merge: 102442a841 94e80912a4 Author: QMK Bot Date: Mon Jun 7 05:11:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 94e80912a4cda3a92f6865cf0b5a199fd97ae95b Author: Matthew Dias Date: Mon Jun 7 00:10:37 2021 -0500 [Keyboard] Add program yoink via keymap (#12645) Co-authored-by: Ryan commit 102442a8419be276a9efd1a1e362ad30355ff673 Merge: fff115c1a4 7b666245d6 Author: QMK Bot Date: Mon Jun 7 05:08:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7b666245d6e6baea939e0088fbbf9104d8efaca1 Author: bbrfkr Date: Mon Jun 7 14:08:20 2021 +0900 [Keyboard] add molecule (#12601) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit fff115c1a498040434faecc3e9972ab97fc3ddcd Merge: c7277a1420 23631de191 Author: QMK Bot Date: Mon Jun 7 04:55:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 23631de1919da3de393d1870d8c9606d1cd4849b Author: HalfHeuslerAlloy <49373316+HalfHeuslerAlloy@users.noreply.github.com> Date: Mon Jun 7 05:54:54 2021 +0100 Fixed ISO keyboard layout for the Mysterium rev1.1 board (#12531) commit c7277a142093b4cccecbbca8403f869d5456ae21 Merge: 7e4f01f454 0374e4c733 Author: QMK Bot Date: Mon Jun 7 03:38:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0374e4c7339ef9f863826c79c31446eb013c05d8 Author: Miguel Filipe Date: Mon Jun 7 04:37:59 2021 +0100 [Keymap] add id80/ansi/keymaps/msf (#11957) commit 7e4f01f454cc03e6c204be9947fc23ea020d4ce5 Author: Michael Stapelberg Date: Mon Jun 7 00:48:26 2021 +0200 core: bump USB spec version in device descriptor to 2.0 (#13078) Co-authored-by: Ryan commit 56ce0e4e33c8cb940d431e81cb48eaf7d1cef09f Merge: a1e575780d add10524d6 Author: QMK Bot Date: Sun Jun 6 20:14:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit add10524d6eeca6bb3d78265c2bbb8bb4e40ef5f Author: Nathan_Blais <37645161+NathanBlais@users.noreply.github.com> Date: Sun Jun 6 13:13:33 2021 -0700 Corrected Number-pad numbers (#13057) commit a1e575780df58f3d27c6be44a9024b4e38be8d18 Merge: 3d3b9807ab 7aab06ffdf Author: QMK Bot Date: Sat Jun 5 22:27:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7aab06ffdf6f198ee6c079088eb2de4162000f53 Author: TerryMathews Date: Sat Jun 5 18:26:36 2021 -0400 JETVAN: Add initial support (#12790) Co-authored-by: Ryan commit 3d3b9807ab6be6150bfdb1692e493331d5737621 Merge: 3e1e64ca19 ab6128e86d Author: QMK Bot Date: Sat Jun 5 18:37:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ab6128e86da7637a683c85698ec04d2fcafe3905 Author: shela Date: Sun Jun 6 03:36:48 2021 +0900 Update Japanese document (#10670) Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 3e1e64ca19b78bd3934273d054d46b5b9d94a8dc Merge: 25fffb7da8 8128c5f822 Author: QMK Bot Date: Sat Jun 5 18:17:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8128c5f8227c00353a456e8f7f9cfee97c5dd1b1 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sun Jun 6 03:16:39 2021 +0900 update feature_layers.md translation (#12752) commit 25fffb7da82003bb358fb97449ca007545c62ba9 Merge: c38332a5c7 770a3349be Author: QMK Bot Date: Sat Jun 5 15:09:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 770a3349bed397967dae159501ebc7a4ab1fadde Author: Drashna Jaelre Date: Sat Jun 5 08:08:35 2021 -0700 Fix includes for pmw3360 driver (#13108) commit c38332a5c7a07d510aa4fa39cd722fb9d4d0d0a6 Merge: 01cb2867db c7c9f3e3cf Author: QMK Bot Date: Fri Jun 4 03:03:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c7c9f3e3cfc5e662a36edf67cd5dfe6b20d433a2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jun 3 20:02:35 2021 -0700 kbdfans/kbd67/rev2: add LAYOUT_65_ansi_split_space layout data (#13102) commit 01cb2867db85fac066d1329e6e152adedfb1e78c Merge: 17f51fa9df e660dcff09 Author: QMK Bot Date: Fri Jun 4 00:30:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e660dcff092f341ea95ff11b4cc4360a9eedc81b Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Thu Jun 3 20:30:32 2021 -0400 Fix caps lock indicator on Bear65 PCB (#12966) commit 17f51fa9df84ce48cd8c3d8cc9a52011bc5c771a Merge: a6f030fb42 6eb18a6ccb Author: QMK Bot Date: Thu Jun 3 18:40:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6eb18a6ccb064c368a420fa574dd03b05cf7ca56 Author: Jonathan Rascher Date: Thu Jun 3 13:39:48 2021 -0500 [Keymap] Update bcat's split_3x6_3 for Crkbd legacy removal (#13097) commit a6f030fb42e16de594a8456efa49c3abad167a46 Merge: 2344d06475 af91221ddb Author: QMK Bot Date: Thu Jun 3 15:53:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit af91221ddbf35199495626da44847737588eabe9 Author: Ryan Date: Fri Jun 4 01:53:03 2021 +1000 `qmk multibuild`: Fix bug with Path objects (#13093) commit 2344d0647509496e14024ffedc35093c4c1e3468 Merge: eaa2e0cb24 261d94ce34 Author: QMK Bot Date: Thu Jun 3 06:27:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 261d94ce344e28a13bf01444e467cc7c68c27282 Author: Ryan Date: Thu Jun 3 16:26:41 2021 +1000 Tidy up spi_master includes (#13053) commit eaa2e0cb24772d055414a7819da627e66701d03c Merge: 65fe74fde0 a0cc2dc6d0 Author: QMK Bot Date: Thu Jun 3 06:07:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a0cc2dc6d0b4fafc9f7d70b98254e32d032c3f17 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jun 2 23:06:30 2021 -0700 Update noroadsleft userspace and keymaps (2021-06-02) (#13086) commit 65fe74fde06d2574c1cd5145283b963cf441a17a Merge: b8711b9726 597d2e0e7b Author: QMK Bot Date: Wed Jun 2 23:48:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 597d2e0e7bdc3f2629965a5b393b725e9ab8442b Author: Nick Brassel Date: Thu Jun 3 09:48:16 2021 +1000 Fix up WS2812 SPI driver on F072. (#13022) commit b8711b9726757d153b92afae99a5856e7b85968b Merge: 9544b41640 35dbe8ba03 Author: QMK Bot Date: Wed Jun 2 21:00:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 35dbe8ba035c8eefc1051226aa8e3dd7cd63a912 Author: Joel Elkins Date: Wed Jun 2 15:59:52 2021 -0500 [Keymap] merge jdelkins userspace and associated keymaps (#11276) * [Keymap] merge jdelkins userspace and associated keymaps * Add copyright & license info * Change rgblight_config.enable to rgblight_is_enabled() * Update keyboards/dz60/keymaps/jdelkins/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/dz60/keymaps/jdelkins/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/dz60/keymaps/jdelkins/keymap.c Co-authored-by: Drashna Jaelre * Remove superfluous includes * Change EXTRAFLAGS+=-flto to LTO_ENABLE=yes * Remove unnecessary jdelkins_ss symlink in users * Add copyright and license notices * Use preferred way to determine capslock / numlock state Co-authored-by: Drashna Jaelre * Add #pragma once to a header Co-authored-by: Drashna Jaelre * Include QMK_KEYBOARD_H only once, in userspace header * Remove unnecessary initialization in matrix_init_keymap * Do process_record_keymap before cases handled in process_record_user * Reorganize & simplify secrets feature enablement * Use tap_code16 Co-authored-by: Ryan * Remove superfluous break Co-authored-by: Ryan * Remove copyright from rules.mk Co-authored-by: Ryan * Remove copyright from rules.mk Co-authored-by: Ryan * Use tap_code16 Co-authored-by: Ryan * include "print.h" instead of Co-authored-by: Ryan * Use tap_cod16 Co-authored-by: Ryan * Use tap_code16 Co-authored-by: Ryan * Use tap_code16 Co-authored-by: Ryan * Use tap_code16 Co-authored-by: Ryan * Remove copyright from rules.mk Co-authored-by: Ryan * add #pragma once to a header Co-authored-by: Ryan * include "print.h" instead of Co-authored-by: Ryan * Remove copyright from rules.mk Co-authored-by: Ryan * Remove copyright from rules.mk Co-authored-by: Ryan * Remove copyright from rules.mk Co-authored-by: Ryan * Use tap_code16 Co-authored-by: Ryan * Use tap_code16 Co-authored-by: Ryan * Use :flash target where possible * Remove special case flash target and use PROGRAM_CMD * dz60/jdelkins_ss: use tap_code16 Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 9544b4164044fab5e4fe2ce36123a0cd2cb7113d Merge: e5d3e5a989 93496c8364 Author: QMK Bot Date: Tue Jun 1 08:12:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 93496c8364369f72e2db90c3c59dfa3ecc8657b4 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Jun 1 18:12:17 2021 +1000 fix missing arg (#13068) commit e5d3e5a98969e59d702fefb2690ec582699e129b Author: Nick Brassel Date: Tue Jun 1 15:10:39 2021 +1000 Add weak refs on reading rows/cols. (#13062) commit d64a853b552885ed8d154793fc2506f727a670a7 Merge: 554c36a055 5a06813b10 Author: QMK Bot Date: Tue Jun 1 04:56:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5a06813b105277998b80771f094059047916f4e4 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Jun 1 14:56:23 2021 +1000 VIA compile fixes (#13054) commit 554c36a0555998c57b78a5e66074b8292b0e9577 Author: Nick Brassel Date: Tue Jun 1 08:11:50 2021 +1000 Update ChibiOS, ChibiOS-Contrib. (#13056) * Update ChibiOS, ChibiOS-Contrib. * Add instructions. * Wrong remote name * Explicit version tag. * Add link to procedure on the breaking changes page. commit 5c6c37e3a9caed50f28a1f234485a4052d4f67bd Merge: c22f4aeb8e 6bafefa886 Author: QMK Bot Date: Mon May 31 04:16:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6bafefa88602c8032f6f861844ba0ac886d312a0 Author: Jeff Apczynski Date: Sun May 30 21:16:26 2021 -0700 [Keymap] lja83's Planck keymap (#12809) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Jeff Apczynski commit c22f4aeb8e96b8434ce17b73fd89ebc553ae2002 Merge: 234d37ec16 1a3064afb1 Author: QMK Bot Date: Mon May 31 04:04:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1a3064afb186328c17c679094b0f92cbd46844b5 Author: Gregorio <38576492+ohchiko@users.noreply.github.com> Date: Mon May 31 11:04:26 2021 +0700 [Keyboard] Add Rubi Numpad (#12283) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 234d37ec16a8e8724805d43ed38cd22ae99d1fc0 Merge: bc01ee2a6e 2b8f1fcdfb Author: QMK Bot Date: Sun May 30 21:59:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2b8f1fcdfbf1dbd486036eaf908a57730d251174 Author: Lander <3169732+stevendlander@users.noreply.github.com> Date: Sun May 30 17:58:43 2021 -0400 [Keyboard] Unicomp Mini M (#12892) commit bc01ee2a6e38e1c69cfad44e702ca3a9a9d35bd0 Merge: aa923b2034 7b055dcc55 Author: QMK Bot Date: Sun May 30 21:58:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7b055dcc5536f6120555e352a921f665d3bcdaa7 Author: Brandon Lewis <64657834+blewis308@users.noreply.github.com> Date: Sun May 30 16:57:43 2021 -0500 [Keyboard] Added BOP support (#12991) Co-authored-by: Ryan Co-authored-by: Brandon Lewis commit aa923b20343201ec30ed8c9b5aae6e91f4856e5f Merge: 160f9144c2 fc9a2167b1 Author: QMK Bot Date: Sun May 30 21:56:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fc9a2167b1cb44477257e02886395b768625d50c Author: lukeski14 <73951271+lukeski14@users.noreply.github.com> Date: Sun May 30 17:55:58 2021 -0400 [Keyboard] jabberwocky via support (#13029) commit 160f9144c2e50afb0547fe24526595460c49518e Merge: 0d74ed3c35 3aca3d3572 Author: QMK Bot Date: Sun May 30 21:48:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3aca3d35729bd7445846918cb5a171c5e0093997 Author: Sergey Vlasov Date: Mon May 31 00:47:44 2021 +0300 merge/um70:via: Avoid sprintf() to make the code fit into flash (#12919) The code using sprintf() did not fit into flash when `merge/um70:via` was compiled with avr-gcc 5.4.0: * The firmware is too large! 29756/28672 (1084 bytes over) Replacing `sprintf(wpm_str, " %03d", current_wpm);` with custom formatting code reduces the firmware size by 1504 bytes, which is enough to make the `merge/um70:via` firmware fit: * The firmware size is approaching the maximum - 28252/28672 (98%, 420 bytes free) commit 0d74ed3c35afef7e4d2b13a47e9e310183eb85d2 Merge: a72172a8fd 305cca9a5e Author: QMK Bot Date: Sun May 30 15:18:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 305cca9a5e4c304b0883f07ab4e5de9a493fdbd9 Author: Erovia Date: Sun May 30 16:17:40 2021 +0100 CLI: Fix automagic (#13046) commit a72172a8fd24ea8ba10d34e0040d23890ed4fe97 Merge: 7d1194de01 1646c0f26c Author: QMK Bot Date: Sat May 29 21:39:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1646c0f26cfa21a7023d404008e4d0aa4917193d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat May 29 14:38:50 2021 -0700 2021 May 29 Breaking Changes Update (#13034) * Add Per Key functionality for AutoShift (#11536) * LED Matrix: Reactive effect buffers & advanced indicators (#12588) * [Keyboard] kint36: switch to sym_eager_pk debouncing (#12626) * [Keyboard] kint2pp: reduce input latency by ≈10ms (#12625) * LED Matrix: Split (#12633) * [CI] Format code according to conventions (#12650) * feat: infinite timeout for leader key (#6580) * feat: implement leader_no_timeout logic * docs(leader_key): infinite leader timeout docs * Format code according to conventions (#12680) * Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx (#12403) * Fix default ADC_RESOLUTION for ADCv3 (and ADCv4) Recent ChibiOS update removed ADC_CFGR1_RES_10BIT from the ADCv3 headers (that macro should not have been there, because ADCv3 has CFGR instead of CFGR1). Fix the default value for ADC_RESOLUTION to use ADC_CFGR_RES_10BITS if it is defined (that name is used for ADCv3 and ADCv4). * Update ADC docs to match the actually used resolution ADC driver for ChibiOS actually uses the 10-bit resolution by default (probably to match AVR); fix the documentation accordingly. Also add both ADC_CFGR_RES_10BITS and ADC_CFGR1_RES_10BIT constants (these names differ according to the ADC implementation in the particular MCU). * Fix pinToMux() for B12 and B13 on STM32F3xx Testing on STM32F303CCT6 revealed that the ADC mux values for B12 and B13 pins were wrong. * Add support for all possible analog pins on STM32F1xx Added ADC mux values for pins A0...A7, B0, B1, C0...C5 on STM32F1xx (they are the same at least for STM32F103x8 and larger F103 devices, and also F102, F105, F107 families). Actually tested on STM32F103C8T6 (therefore pins C0...C5 were not tested). Pins F6...F10, which are present on STM32F103x[C-G] in 144-pin packages, cannot be supported at the moment, because those pins are connected only to ADC3, but the ChibiOS ADC driver for STM32F1xx supports only ADC1. * Add support for all possible analog pins on STM32F4xx Added ADC mux values for pins A0...A7, B0, B1, C0...C5 and optionally F3...F10 (if STM32_ADC_USE_ADC3 is enabled). These mux values are apparently the same for all F4xx devices, except some smaller devices may not have ADC3. Actually tested on STM32F401CCU6, STM32F401CEU6, STM32F411CEU6 (using various WeAct “Blackpill” boards); only pins A0...A7, B0, B1 were tested. Pins F3...F10 are inside `#if STM32_ADC_USE_ADC3` because some devices which don't have ADC3 also don't have the GPIOF port, therefore the code which refers to Fx pins does not compile. * Fix STM32F3xx ADC mux table in documentation The ADC driver documentation had some errors in the mux table for STM32F3xx. Fix this table to match the datasheet and the actual code (mux settings for B12 and B13 were also tested on a real STM32F303CCT6 chip). * Add STM32F1xx ADC pins to the documentation * Add STM32F4xx ADC pins to the documentation * Add initial support for tinyuf2 bootloader (when hosted on F411 blackpill) (#12600) * Add support for jumping to tinyuf2 bootloader. Adds blackpill UF2 example. * Update flashing.md * Update chconf.h * Update config.h * Update halconf.h * Update mcuconf.h * eeprom driver: Refactor where eeprom driver initialisation (and EEPROM emulation initialisation) occurs to make it non-target-specific. (#12671) * Add support for MCU = STM32F446 (#12619) * Add support for MCU = STM32F446 * Update platforms/chibios/GENERIC_STM32_F446XE/configs/config.h * Restore mcuconf.h to the one used by RT-STM32F446RE-NUCLEO64 * stm32f446: update mcuconf.h and board.h for 16MHz operation, with USB enabled, and other peripherals disabled. * Format code according to conventions (#12682) * Format code according to conventions (#12687) * Add STM32L433 and L443 support (#12063) * initial L433 commit * change to XC * fix L433 * disable all peripherals * update system and peripheral clocks * 433 change * use its own board files * revert its own board files * l433 specific change * fix stm32l432xx define * remove duplicate #define * fix bootloader jump * move to L443xx and add i2c2, spi2, usart3 to mcuconf.h * move to L443 * move to L443 * fix sdmmc in mcuconf.h * include STM32L443 * add L443 * Include L443 in compatible microcontrollers * Include L443 in compatible microcontrollers * Update config bootloader jump description * Update ChibiOS define reasoning * Update quantum/mcu_selection.mk * fix git conflict * Updated Function96 with V2 files and removed chconf.h and halconf.h (#12613) * Fix bad PR merge for #6580. (#12721) * Change RGB/LED Matrix to use a simple define for USB suspend (#12697) * [CI] Format code according to conventions (#12731) * Fixing transport's led/rgb matrix suspend state logic (#12770) * [CI] Format code according to conventions (#12772) * Fix comment parsing (#12750) * Added OLED fade out support (#12086) * fix some references to bin/qmk that slipped in (#12832) * Resolve a number of warnings in `qmk generate-api` (#12833) * New command: qmk console (#12828) * stash poc * stash * tidy up implementation * Tidy up slightly for review * Tidy up slightly for review * Bodge environment to make tests pass * Refactor away from asyncio due to windows issues * Filter devices * align vid/pid printing * Add hidapi to the installers * start preparing for multiple hid_listeners * udev rules for hid_listen * refactor to move closer to end state * very basic implementation of the threaded model * refactor how vid/pid/index are supplied and parsed * windows improvements * read the report directly when usage page isn't available * add per-device colors, the choice to show names or numbers, and refactor * add timestamps * Add support for showing bootloaders * tweak the color for bootloaders * Align bootloader disconnect with connect color * add support for showing all bootloaders * fix the pyusb check * tweaks * fix exception * hide a stack trace behind -v * add --no-bootloaders option * add documentation for qmk console * Apply suggestions from code review * pyformat * clean up and flesh out KNOWN_BOOTLOADERS * Remove pointless SERIAL_LINK_ENABLE rules (#12846) * Make Swap Hands use PROGMEM (#12284) This converts the array that the Swap Hands feature uses to use PROGMEM, and to read from that array, as such. Since this array never changes at runtime, there is no reason to keep it in memory. Especially for AVR boards, as memory is a precious resource. * Fix another bin/qmk reference (#12856) * [Keymap] Turn OLED off on suspend in soundmonster keymap (#10419) * Fixup build errors on `develop` branch. (#12723) * LED Matrix: Effects! (#12651) * Fix syntax error when compiling for ARM (#12866) * Remove KEYMAP and LAYOUT_kc (#12160) * alias KEYMAP to LAYOUT * remove KEYMAP and LAYOUT_kc * Add setup, clone, and env to the list of commands we allow even with broken modules (#12868) * Rename `point_t` -> `led_point_t` (#12864) * [Keyboard] updated a vendor name / fixed minor keymap issues (#12881) * Add missing LED Matrix suspend code to suspend.c (#12878) * LED Matrix: Documentation (#12685) * Deprecate `send_unicode_hex_string()` (#12602) * Fix spelling mistake regarding LED Matrix in split_common. (#12888) * [Keymap] Fix QWERTY/DVORAK status output for kzar keymap (#12895) * Use milc.subcommand.config instead of qmk.cli.config (#12915) * Use milc.subcommand.config instead * pyformat * remove the config test * Add function to allow repeated blinking of one layer (#12237) * Implement function rgblight_blink_layer_repeat to allow repeated blinking of one layer at a time * Update doc * Rework rgblight blinking according to requested change * optimize storage * Fixup housekeeping from being invoked twice per loop. (#12933) * matrix: wait for row signal to go HIGH for every row (#12945) I noticed this discrepancy (last row of the matrix treated differently than the others) when optimizing the input latency of my keyboard controller, see also https://michael.stapelberg.ch/posts/2021-05-08-keyboard-input-latency-qmk-kinesis/ Before this commit, when tuning the delays I noticed ghost key presses when pressing the F2 key, which is on the last row of the keyboard matrix: the dead_grave key, which is on the first row of the keyboard matrix, would be incorrectly detected as pressed. After this commit, all keyboard matrix rows are interpreted correctly. I suspect that my setup is more susceptible to this nuance than others because I use GPIO_INPUT_PIN_DELAY=0 and hence don’t have another delay that might mask the problem. * ensure we do not conflict with existing keymap aliases (#12976) * Add support for up to 4 IS31FL3733 drivers (#12342) * Convert Encoder callbacks to be boolean functions (#12805) * [Keyboard] Fix Terrazzo build failure (#12977) * Do not hard set config in CPTC files (#11864) * [Keyboard] Corne - Remove legacy revision support (#12226) * [Keymap] Update to Drashna keymap and user code (based on develop) (#12936) * Add Full-duplex serial driver for ARM boards (#9842) * Document LED_MATRIX_FRAMEBUFFER_EFFECTS (#12987) * Backlight: add defines for default level and breathing state (#12560) * Add dire message about LUFA mass storage bootloader (#13014) * [Keyboard] Remove redundant legacy and common headers for crkbd (#13023) Was causing compiler errors on some systems. * Fix keyboards/keymaps for boolean encoder callback changes (#12985) * `backlight.c`: include `eeprom.h` (#13024) * Add changelog for 2021-05-29 Breaking Changes merge (#12939) * Add ChangeLog for 2021-05-29 Breaking Changes Merge: initial version * Add recent develop changes * Sort recent develop changes * Remove sections for ChibiOS changes per tzarc No ChibiOS changes this round. * Add and sort recent develop changes * add notes about keyboard moves/deletions * import changelog for PR 12172 Documents the change to BOOTMAGIC_ENABLE. * update section headings * re-sort changelog * add additional note regarding Bootmagic changes * remove changelog timestamp * update dates in main Breaking Changes docs * fix broken section anchors in previous changelogs * add link to backlight/eeprom patch to changelog * highlight some more changes * link PRs from section headers * Restore standard readme * run: qmk cformat --core-only commit 7d1194de01ea94f065bd5176607b4d66279ef51b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat May 29 13:53:10 2021 -0700 run: qmk cformat --core-only commit e628051505cca7674c37b417ba91af1c69dbbd86 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat May 29 12:58:42 2021 -0700 Restore standard readme commit 275996f4c1e2ba0a7d1f66ed05de50e11a6a7520 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat May 29 12:30:31 2021 -0700 Add changelog for 2021-05-29 Breaking Changes merge (#12939) * Add ChangeLog for 2021-05-29 Breaking Changes Merge: initial version * Add recent develop changes * Sort recent develop changes * Remove sections for ChibiOS changes per tzarc No ChibiOS changes this round. * Add and sort recent develop changes * add notes about keyboard moves/deletions * import changelog for PR 12172 Documents the change to BOOTMAGIC_ENABLE. * update section headings * re-sort changelog * add additional note regarding Bootmagic changes * remove changelog timestamp * update dates in main Breaking Changes docs * fix broken section anchors in previous changelogs * add link to backlight/eeprom patch to changelog * highlight some more changes * link PRs from section headers Co-authored-by: Zach White commit 3ea3f32dfe8aac75c6a676733f47b1a7777d0678 Merge: d66090af19 f55e39e8a2 Author: QMK Bot Date: Sat May 29 19:06:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f55e39e8a2246f6f96fd5d4a84a866e2615cde7b Author: Erovia Date: Sat May 29 20:05:46 2021 +0100 World domination (#13021) Co-authored-by: Nick Brassel Co-authored-by: Ryan commit d66090af19fff061ce925882e94687bfb5d8b93b Author: Ryan Date: Sat May 29 02:04:13 2021 +1000 `backlight.c`: include `eeprom.h` (#13024) commit b96304930528c891f30686911884c8551db601fb Author: Drashna Jaelre Date: Thu May 27 21:30:47 2021 -0700 Fix keyboards/keymaps for boolean encoder callback changes (#12985) commit 5386c4c7b293ae6473df3a81e40a072a42b085ad Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Fri May 28 12:27:16 2021 +0800 [Keyboard] Remove redundant legacy and common headers for crkbd (#13023) Was causing compiler errors on some systems. Co-authored-by: filterpaper commit c1a3060431cd8bf96ed182680c46f1e0d3314ab0 Merge: b769b36202 84883d3400 Author: QMK Bot Date: Thu May 27 16:43:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 84883d340045c50ce6c200c9087461c1db853898 Author: Erovia Date: Thu May 27 17:42:38 2021 +0100 CLI/c2json: Print 'cpp' error when executed in verbose mode (#12869) Co-authored-by: Ryan commit b769b362027faa10cf5b920be709cf69587a4c97 Author: Drashna Jaelre Date: Thu May 27 09:20:47 2021 -0700 Add dire message about LUFA mass storage bootloader (#13014) commit 879185a214600635177ff54d83d0a839abda656a Merge: 726368ce67 147cf8afbb Author: QMK Bot Date: Thu May 27 15:46:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 147cf8afbb3f7f9b09623c50e42fd3dec76d2147 Author: CodeFreak Date: Thu May 27 16:46:19 2021 +0100 Sofle rev1 Keymap - featuring keyboard pets (#12499) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 726368ce6709bb6bd2e97309f777e10ee89568a3 Merge: 995c9dff49 9da95bc3ab Author: QMK Bot Date: Thu May 27 05:31:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9da95bc3abc2d5682aea917e56abfeae30a7980f Author: DaneEvans Date: Thu May 27 15:30:34 2021 +1000 [Keymap] add personal keymap files, and sofle_rgb default maps, (#12267) commit 995c9dff49c884bc6261ea7a9880e9e259778d7a Merge: 69604e1750 088c71b4ea Author: QMK Bot Date: Thu May 27 05:26:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 088c71b4ea6e083f01d6c5d7248555972c4125a4 Author: Christian Sandven Date: Thu May 27 07:25:51 2021 +0200 [Keyboard] Corgi keyboard (#12311) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 69604e175033a7b6eaf8d3fcaab6b3aa4c077b95 Merge: 06aea834c4 7e14f85dd5 Author: QMK Bot Date: Thu May 27 05:22:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7e14f85dd50e3d0ec04fd6a7a5dc6549b79c0767 Author: nopunin10did Date: Thu May 27 01:22:04 2021 -0400 [Keyboard] Add Jabberwocky Keyboard (#12500) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Rossman360 commit 06aea834c420d5c11bbcf64d37596cb0cee9af98 Author: Ryan Date: Thu May 27 15:21:15 2021 +1000 Backlight: add defines for default level and breathing state (#12560) commit e128d454206a2d0622b96d7793758ad7e6965f3d Merge: 0717890353 0e53917471 Author: QMK Bot Date: Thu May 27 05:20:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0e5391747149cef5e7e69e8f2f2596b2e6fe4a4a Author: Evelien-Lillian Dekkers Date: Thu May 27 07:20:10 2021 +0200 [Keyboard] Add VIA to Aves65 (#12990) commit 07178903537d6a4ef950fa92640e363e1c2b15ae Merge: cd78ab25a9 446ef4a676 Author: QMK Bot Date: Thu May 27 05:17:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 446ef4a67671951dbeb24b534317339a1b460578 Author: thompson-ele Date: Wed May 26 22:17:13 2021 -0700 [Keyboard] Add F.Me Macropad (#12658) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit cd78ab25a93f786c1afc001477e8c7795041fdf9 Merge: beaebdf8eb 1f86c3ac96 Author: QMK Bot Date: Thu May 27 05:14:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1f86c3ac966bc5bbcc527fe78dc67b5427b1b8bd Author: rainkeebs <44819800+rainkeebs@users.noreply.github.com> Date: Wed May 26 22:13:29 2021 -0700 [Keyboard] Fix Delilah VIA Keymap (#13008) Co-authored-by: Drashna Jaelre commit beaebdf8ebade0f0a824ab9077892da7da295397 Merge: a5c2a74b8c 6750733cda Author: QMK Bot Date: Thu May 27 05:12:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6750733cda3b93213ef91e6653d615a054f7de90 Author: Maddie O'Brien Date: Wed May 26 22:11:38 2021 -0700 Add keymap with scrolling mode for the Ploopy Nano trackball (#13013) Co-authored-by: Drashna Jaelre commit a5c2a74b8cc5aeb6c1772678d8f3525da51881e6 Merge: ebaba80287 975e42ed3c Author: QMK Bot Date: Thu May 27 05:11:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 975e42ed3c18311d8da4abd11deb42d504b1a8c5 Author: Sean Browning <25888380+beansrowning@users.noreply.github.com> Date: Thu May 27 01:11:02 2021 -0400 [Keyboard] Fix Clawsome/Sedan matrix and default keymap (#13007) commit ebaba80287b7535a264cea9f725ceef1f2305e72 Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Wed May 26 23:22:56 2021 -0500 Document LED_MATRIX_FRAMEBUFFER_EFFECTS (#12987) commit 15e408a6a5fb126019a9b083df6461e3e7268709 Merge: 1593e78c97 712d53c953 Author: QMK Bot Date: Thu May 27 04:21:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 712d53c9539bf155cdacbdbf05a2b91b5f60602f Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Wed May 26 23:20:54 2021 -0500 Document RGB_MATRIX_FRAMEBUFFER_EFFECTS (#12984) commit 1593e78c97fe01d801a3936cf50eb169ed34c5e7 Merge: 452a5216e2 2ca7a8677a Author: QMK Bot Date: Thu May 27 04:20:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2ca7a8677acf43d47d1313b54ccb51eab661c769 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed May 26 21:20:10 2021 -0700 [Keyboard] Removed LAYOUTS = ortho_6x16 (#12983) Removed ortho_6x16 community layout support by commenting out the line. This can be reversed if that layout ever gets added. commit 452a5216e273569d9669d10e00720c747e51949b Merge: 769396839b 722b1d655d Author: QMK Bot Date: Thu May 27 04:17:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 722b1d655d0d0c911e043a9bed7bed5c42960139 Author: Stefano Pace Date: Thu May 27 06:17:02 2021 +0200 [Keymap] Add new keymap for ut472 (#12974) commit 769396839ba0f698931580f0ca67a00ac5d758f9 Merge: 17991629c1 e7d68c500b Author: QMK Bot Date: Thu May 27 04:07:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e7d68c500b5e29b2273bd8339beba141d49a8bc3 Author: Jonavin <71780717+Jonavin@users.noreply.github.com> Date: Thu May 27 00:06:53 2021 -0400 [Keymap] Add mercutio keymap and update readme.md for layouts (#12973) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Jonavin <=> commit 17991629c136277aa66522cd3b1812812a29a3a6 Merge: 513f5b0655 5962f05f56 Author: QMK Bot Date: Thu May 27 04:03:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5962f05f568a241e4247922b3d8595ccb9d9a4b6 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Thu May 27 00:03:10 2021 -0400 [Keyboard] Add RGB Matrix support for Bear65 PCB (#12961) Co-authored-by: Drashna Jaelre commit 513f5b065501795978af669bb4802fdb9bd5b3e7 Merge: b158afee93 3a6188fc55 Author: QMK Bot Date: Thu May 27 04:02:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3a6188fc55b6ad8ca3de3861b44f34474d188d9d Author: Eithan Shavit Date: Wed May 26 21:01:47 2021 -0700 [Keyboard] Adjustments to Gust Rev1.2 (#12716) Co-authored-by: Eithan Shavit commit b158afee93b93f2ba11afd6448c7667e02b46816 Merge: 57306fb61c 7cd9edab99 Author: QMK Bot Date: Thu May 27 04:00:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7cd9edab9913b85d5db81136cb5ac6e783b496c9 Author: C1intMason Date: Wed May 26 21:00:16 2021 -0700 [Keyboard] SKErgo (#12923) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 57306fb61ca7e13f4817b41dfa060e1e9c765044 Merge: d9610120de 0399271a73 Author: QMK Bot Date: Thu May 27 03:48:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0399271a73c78ed8fc23376e142e3c87a0360da0 Author: Gun Pinyo Date: Thu May 27 10:48:14 2021 +0700 [Keymap] update gunp layout for Planck (#12926) Co-authored-by: Ryan commit d9610120de0452bc6a548bd36b1d4fdfba56d071 Author: Stefan Kerkmann Date: Thu May 27 05:37:54 2021 +0200 Add Full-duplex serial driver for ARM boards (#9842) commit a78964c91839e5bc682806b88635c3a1a3d01da5 Merge: f461adbd1d 8ba537fa23 Author: QMK Bot Date: Wed May 26 18:50:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8ba537fa23aa1520949981f1afe1a71338bf8a7a Author: Erovia Date: Wed May 26 20:49:30 2021 +0200 Keyboard: Planck THK (#12597) Co-authored-by: Ryan Co-authored-by: Jack Humbert Co-authored-by: Drashna Jaelre commit f461adbd1dffa178042a4805137918a4bec3c118 Author: Drashna Jaelre Date: Tue May 25 09:24:01 2021 -0700 [Keymap] Update to Drashna keymap and user code (based on develop) (#12936) commit cc815c4d830eb1ec8f1098b2f19fdfa99073a954 Merge: 5cecfe8c9b 0211e30032 Author: QMK Bot Date: Tue May 25 09:52:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0211e3003280a52e5f0ce262cfe347aeb68be722 Author: Wilba Date: Tue May 25 19:51:52 2021 +1000 Added RAMA WORKS M50-AX (#12458) commit 5cecfe8c9bf899bd486106db579977c4516a0ad8 Merge: 57158cc3bc aa97f52963 Author: Zach White Date: Mon May 24 23:39:24 2021 -0700 Merge remote-tracking branch 'origin/master' into develop commit aa97f52963f3da6aa112093d357296e62bfa5452 Author: Zach White Date: Mon May 24 23:36:38 2021 -0700 Use milc.subcommand.config instead of qmk.cli.config (#13002) * Use milc.subcommand.config instead * pyformat * remove the config test commit 57158cc3bcd169bc76785099fe2ded359d94eaa2 Author: Drashna Jaelre Date: Mon May 24 23:23:20 2021 -0700 [Keyboard] Corne - Remove legacy revision support (#12226) commit 8e22da67c1ddafa45b2e4d0ec4449dc79b509b89 Merge: 330fe1d1cc bc67ca6a59 Author: QMK Bot Date: Tue May 25 02:39:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bc67ca6a59ffa3d6e147b276c0544791e5f91d02 Author: Zach White Date: Mon May 24 19:38:27 2021 -0700 search for the readme in higher directories as well (#12997) commit 330fe1d1cc873ee24e7df49041cfa292a7662cb1 Author: Drashna Jaelre Date: Sat May 22 19:43:54 2021 -0700 Do not hard set config in CPTC files (#11864) commit f5820059e430da0a4e59000278cf7b64de03ddb3 Merge: 54c368d3aa bbe453599f Author: QMK Bot Date: Sat May 22 19:03:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bbe453599f0ffde73e2386354f30d8b38e3b4b13 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sat May 22 19:02:57 2021 +0000 [Keyboard] AkiS (#12910) Co-authored-by: Drashna Jaelre commit 54c368d3aaf81645a1f722edb12c644eabb58bb6 Merge: 8f4767d966 5eb48994ad Author: QMK Bot Date: Sat May 22 17:19:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5eb48994ad5d6b6f343ced620aa3be9d6f7eb98e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat May 22 10:18:58 2021 -0700 westfoxtrot Cyclops: Configurator key sequence fix (#12979) commit 8f4767d9663874c318cd2e66f745503d63a50f05 Author: Ryan Date: Sat May 22 16:56:17 2021 +1000 [Keyboard] Fix Terrazzo build failure (#12977) commit 9ce4bdfd6ace4c6ab3b7776ecc216f49d71f3088 Merge: a0fed0ea17 d5a94b58d2 Author: QMK Bot Date: Sat May 22 06:53:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d5a94b58d2792d359e404c913f68fa4cba9af183 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri May 21 23:53:24 2021 -0700 Caffeinated Serpent65: Configurator layout data fix (#12972) commit a0fed0ea176d1c986e40fc4981b900509c90d66e Author: Drashna Jaelre Date: Fri May 21 23:17:32 2021 -0700 Convert Encoder callbacks to be boolean functions (#12805) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 76c23b15abc824f867b48d8d5100dced2417d336 Merge: 4c1ea0a522 e17a6c4f8d Author: QMK Bot Date: Sat May 22 06:13:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e17a6c4f8df85ec1e698fcb66fd054778f1e0136 Author: Jay Greco Date: Fri May 21 23:12:45 2021 -0700 [Keymap] Fix wrong BASE layer for default and OLED keymaps (#12932) commit 4c1ea0a52246f67d7bb75acc099636d638a996a7 Merge: c01f873978 3328aefd8e Author: QMK Bot Date: Sat May 22 06:12:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3328aefd8ebfd06217447ab8f2de2560193a38c1 Author: Love Lagerkvist <30436214+motform@users.noreply.github.com> Date: Sat May 22 08:11:58 2021 +0200 [Keymap] simplify layout in motform keymap (#12927) commit c01f873978f02d61f4ce1b01f21687f24ad328de Merge: 924c25e702 f173963d95 Author: QMK Bot Date: Sat May 22 05:43:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f173963d953be15dc192256a2626f420b760d933 Author: shela Date: Sat May 22 14:42:26 2021 +0900 [Docs] Fix typos in audio config in main config page (#12928) commit 924c25e702267e8326a7f6764cea13ba6344278a Merge: 95d2f7c3c5 60da67fbd2 Author: QMK Bot Date: Sat May 22 05:33:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 60da67fbd2c7d1282aa5df9c7b84a66af92972b3 Author: David Fryer Date: Sat May 22 01:33:25 2021 -0400 [Keyboard] Fix typo in summer breeze hardware layout (#12938) commit 95d2f7c3c5fed229502dfc3775820bebea1058f8 Merge: 3d49563535 1bb7905f78 Author: QMK Bot Date: Sat May 22 05:30:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1bb7905f7862ed362c3e6b526e15abad6824a11b Author: Flexerm <51996324+Flexerm@users.noreply.github.com> Date: Sat May 22 06:30:35 2021 +0100 [Keyboard] Add Prototypist J01 rev 1 support (#12825) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 1a7c1c00365cbf4ccedab3755b1b06e3163fc4c5 Author: yiancar Date: Sat May 22 06:30:17 2021 +0100 [Keyboard] Updated NK87 GPIO (#12865) commit 3d49563535e0da9d1859132b3f712df24b554785 Merge: ca570947b0 6152861356 Author: QMK Bot Date: Sat May 22 05:30:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 61528613564daab966693e0e3829ffed20c77f3d Author: Danny Date: Sat May 22 01:29:43 2021 -0400 [Keyboard] Add WTF60 (#12883) commit ca570947b025af5f93ab3a8a257ac8bff75d1692 Merge: 31130b9031 8feb767994 Author: QMK Bot Date: Sat May 22 05:29:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8feb767994ec8576afea22305661b55d0e805a8f Author: Danny Date: Sat May 22 01:29:15 2021 -0400 [Keyboard] Add WTF60 (#12883) commit d14f1ab7ff7bf59f28b7223957d05bdf9b064103 Author: Kyle McCreery Date: Fri May 21 19:28:44 2021 -1000 [Keyboard] New Keyboard - Murphpad (#12885) Co-authored-by: Ryan commit 31130b9031af1e4f712e443aee69d24baacc04f1 Merge: 8e96c5a060 0be53004b3 Author: QMK Bot Date: Sat May 22 04:44:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0be53004b38b97599f8244bfb7a0b5e43f2151c5 Author: spooknik <40317809+spooknik@users.noreply.github.com> Date: Sat May 22 06:44:22 2021 +0200 [Keyboard] Add support for alfredslab 65 (#12334) Co-authored-by: Ryan commit 8e96c5a060896c4aa5ed181d9c86c4e66bb78cfc Author: Donald Kjer Date: Fri May 21 21:42:39 2021 -0700 Add support for up to 4 IS31FL3733 drivers (#12342) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 81821f0a1207ffa0b533a09e6ac34c068b23fe49 Merge: e1500ce493 d425fcc8b1 Author: QMK Bot Date: Sat May 22 04:39:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d425fcc8b126bc707e072472d32cf125c6229d85 Author: Jay Date: Fri May 21 21:38:42 2021 -0700 [Keymap] Add kanbara's planck/rev4 keymap (#12486) Co-authored-by: Ryan Co-authored-by: Jay Morrow commit e1500ce493717fd562cff41836b5b0d2d466dd2d Merge: 4c0d8ae8d7 10f8a6d983 Author: QMK Bot Date: Sat May 22 04:33:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 10f8a6d983f4caf04acb51df1a421c607f6485b2 Author: Sendy Aditya Suryana Date: Sat May 22 11:33:12 2021 +0700 [Keyboard] Add 75 Pixels Ortholinear Keyboard (#12220) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Sendy Aditya Suryana commit 4c0d8ae8d77a76857abf4befc13d8f6c969c52e0 Author: Zach White Date: Fri May 21 16:59:10 2021 -0700 ensure we do not conflict with existing keymap aliases (#12976) commit de8fada3a3635f0fc6f1509ea2c0ac53ee880cf5 Merge: aeaa209b9d 40f235a96c Author: QMK Bot Date: Thu May 20 11:47:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 40f235a96c7f64822f6fb29b6aa7aab117689888 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu May 20 20:47:09 2021 +0900 fix example code in docs/feature_rgblight.md (#12960) commit aeaa209b9d3f6aaaebd425bbdf57117c74718104 Merge: 6955c5a002 e961e34c7f Author: QMK Bot Date: Thu May 20 10:04:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e961e34c7f224800dabb4e80c2c0daf867642199 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Thu May 20 18:03:56 2021 +0800 Add EE_HANDS documentation command example (#12730) * Add command example * Remove c tag Co-authored-by: filterpaper commit 6955c5a00295382d3b4151a840aa5c929cd98059 Merge: 82aa9ad4a5 db1eacdaac Author: Zach White Date: Wed May 19 15:49:11 2021 -0700 Merge remote-tracking branch 'origin/master' into develop Resolved Conflicts: lib/python/qmk/tests/test_cli_commands.py util/install/fedora.sh commit db1eacdaacb9c8f6889f46bc1c6af155b81ad72a Author: Zach White Date: Wed May 19 15:24:46 2021 -0700 Align our subprocess usage with current best practices. (#12940) * Align our subprocess usage with current best practices. * remove unused import * Apply suggestions from code review Co-authored-by: Ryan * fix the cpp invocation for older python * allow for unprompted installation * make sure qmk new-keyboard works on windows Co-authored-by: Ryan commit 82aa9ad4a567695d1f7d0b1e36bf8563d2967813 Author: Michael Stapelberg Date: Wed May 19 22:43:36 2021 +0200 matrix: wait for row signal to go HIGH for every row (#12945) I noticed this discrepancy (last row of the matrix treated differently than the others) when optimizing the input latency of my keyboard controller, see also https://michael.stapelberg.ch/posts/2021-05-08-keyboard-input-latency-qmk-kinesis/ Before this commit, when tuning the delays I noticed ghost key presses when pressing the F2 key, which is on the last row of the keyboard matrix: the dead_grave key, which is on the first row of the keyboard matrix, would be incorrectly detected as pressed. After this commit, all keyboard matrix rows are interpreted correctly. I suspect that my setup is more susceptible to this nuance than others because I use GPIO_INPUT_PIN_DELAY=0 and hence don’t have another delay that might mask the problem. commit 068af97b7aac1fc787b5e9fb76d9250d48638e58 Merge: e756586f41 a9aec546c8 Author: QMK Bot Date: Wed May 19 19:01:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a9aec546c873fa5a2cb1d9a10878aca71818b609 Author: Dmitry Mikhirev Date: Wed May 19 22:01:17 2021 +0300 revert error introduced in PR #12871 (#12891) commit e756586f41d3227c9696f01c156aa1458f7c9210 Merge: 58142f0726 3023015c5b Author: QMK Bot Date: Tue May 18 19:26:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3023015c5b9417b18b59be41664e2af8e9f18a79 Author: Erovia Date: Tue May 18 21:26:17 2021 +0200 Make sure 'cformat' only runs on core files (#12909) Co-authored-by: Zach White commit 1c81e69503a0c69b46ed7f4f94b040b67489bbf4 Author: Peter Park Date: Tue May 18 10:52:10 2021 -0700 The Uni keyboard. Add keyboard (#12566) * first commit * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Apply suggestions from code review by ridingqwerty Co-authored-by: ridingqwerty Co-authored-by: Drashna Jaelre Co-authored-by: ridingqwerty commit d86a97a08902c8103df6450696d497fb15cba0cb Author: ridingqwerty Date: Tue May 18 13:46:53 2021 -0400 Fix yeehaw (#12934) * CRLF? * Changed VIA keymap to use core KC_TRNS alias commit 58142f0726147d538167ff3ab793743348f40dcd Author: Nick Brassel Date: Tue May 18 17:02:28 2021 +1000 Fixup housekeeping from being invoked twice per loop. (#12933) commit 6cdc996e0b40e9cd9a368e5ac2be2341aa9d6747 Merge: 7e06393407 4dd5f45b6c Author: QMK Bot Date: Mon May 17 23:52:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4dd5f45b6ca96de3b50e6cb48e29010ab8b94cbf Author: Oliver Ocean Date: Mon May 17 18:51:45 2021 -0500 [Keymap] Crkbd/keymaps/oo (#12882) commit 7e063934079cfbf104eea064c673677477504db7 Merge: b098757a7e 22e9a0bd01 Author: QMK Bot Date: Mon May 17 22:54:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 22e9a0bd01b5e788b4595e590b4a8a7cc59082e4 Author: rainkeebs <44819800+rainkeebs@users.noreply.github.com> Date: Mon May 17 15:53:45 2021 -0700 Added Yasui keyboard (#12726) * initial * fix * Update config.h * Update config.h * Update rules.mk * Delete info.json * fuix * PR work * replace keymap with layout Co-authored-by: rainsff <44819800+rainsff@users.noreply.github.com> commit b098757a7e6476f63072727434ed0b566c0e2410 Merge: 8508fc8b98 3bee24a827 Author: QMK Bot Date: Mon May 17 15:52:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3bee24a8275eba13ada7e22b94cc96649c05e96f Author: Caleb Lightfoot <61706196+Tsquash@users.noreply.github.com> Date: Mon May 17 10:52:01 2021 -0500 Add Yeehaw Keyboard (#12705) * Add files for Yeehaw keyboard. * Modified config.h and default keymap. * Update keyboards/yeehaw/rules.mk Co-authored-by: ridingqwerty * Update keyboards/yeehaw/readme.md Co-authored-by: ridingqwerty * Update keyboards/yeehaw/readme.md Co-authored-by: ridingqwerty * Update keyboards/yeehaw/keymaps/via/keymap.c Co-authored-by: ridingqwerty * Update keyboards/yeehaw/keymaps/via/keymap.c Co-authored-by: ridingqwerty * Update keyboards/yeehaw/keymaps/via/keymap.c Co-authored-by: ridingqwerty * Apply suggestions from georges review Co-authored-by: ridingqwerty * Remove Unnecessary Defines Co-authored-by: Drashna Jaelre * Changed keymap licenses 📃 Co-authored-by: Tsqaushv2 <61706196+Tsqaushv2@users.noreply.github.com> Co-authored-by: ridingqwerty Co-authored-by: Drashna Jaelre commit 8508fc8b985e244200b5d14415760459d4058f55 Merge: 6c7450dad7 f7c6d68b34 Author: QMK Bot Date: Mon May 17 08:56:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f7c6d68b3443e242cd658e2913d16db8b2318e03 Author: kb-elmo Date: Mon May 17 10:55:37 2021 +0200 [Keyboard] Friedrich (#12569) * added Friedrich * Update readme.md * Update readme.md * Update keyboards/friedrich/keymaps/via/rules.mk * change USB name casing commit 6c7450dad7c3651e0aae7ebaeb6c3cf15bde5112 Author: Matthes W <48785515+matthesinator@users.noreply.github.com> Date: Mon May 17 02:59:02 2021 +0200 Add function to allow repeated blinking of one layer (#12237) * Implement function rgblight_blink_layer_repeat to allow repeated blinking of one layer at a time * Update doc * Rework rgblight blinking according to requested change * optimize storage commit c14fa1e28f4efb89800680ba92278c56321c2362 Merge: e6887f4260 1d3f775051 Author: QMK Bot Date: Sun May 16 22:44:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1d3f775051fd118fc9c5d95a4f278761117c2c97 Author: Brandon Lee <36001126+bleeCS@users.noreply.github.com> Date: Sun May 16 18:43:33 2021 -0400 [Keyboard] Update Rosa vendorId to something unique for VIA (#12918) commit e6887f4260c4e4ece34e74c34853f27af3952654 Merge: d8e38ef0b1 6d1f059868 Author: QMK Bot Date: Sun May 16 22:34:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6d1f0598684f250256f68f85e673109675e8be86 Author: wxyangf Date: Sun May 16 18:34:18 2021 -0400 [Keyboard] Added bradpad support (#12912) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit d8e38ef0b1c93b01b7a3ec789514449e44bb7a53 Merge: 39b2b2b010 3e1fa8cd31 Author: QMK Bot Date: Sun May 16 22:34:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3e1fa8cd319bccfaa666c63f1741b2bbabf27b78 Author: Callum Hart Date: Sun May 16 23:33:46 2021 +0100 [Keyboard] Giant macro pad (#12905) commit 39b2b2b010cc79b2c8a4b9361643da2de7472951 Merge: fef78c41cd 29e35d83b7 Author: QMK Bot Date: Sun May 16 22:31:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 29e35d83b7db08b5e705775064db07c410e1aaad Author: Jonavin <71780717+Jonavin@users.noreply.github.com> Date: Sun May 16 18:30:58 2021 -0400 [Keymap] Add new quefrency keymap (#12913) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit fef78c41cdebd0292e88c3360deaeba157028bcd Merge: de5c30a9ba 526fbf0faf Author: QMK Bot Date: Sun May 16 22:20:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 526fbf0faf5530fa0b62173273e7974dda4e6e79 Author: Quentin Date: Mon May 17 00:20:26 2021 +0200 [Keyboard] Add scylla keyboard (#12720) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: bstiq commit de5c30a9bab0b1ebf97578931fad4ffe2ee00197 Author: Zach White Date: Sun May 16 11:06:57 2021 -0700 Use milc.subcommand.config instead of qmk.cli.config (#12915) * Use milc.subcommand.config instead * pyformat * remove the config test commit 8761e973ec67f152211851a056e2c34e9e755e49 Merge: 433834fb8b a5d7e83985 Author: QMK Bot Date: Sun May 16 01:57:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a5d7e83985ae07689cc71ab1dd2755a8ac335df3 Author: Sife-ops <55699197+Sife-ops@users.noreply.github.com> Date: Sun May 16 01:56:46 2021 +0000 [Keyboard] Added Perixx Periboard-512 Converter (#12324) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 433834fb8be12a8dbb685f91a24774070a4f8eb3 Merge: 86422f87c6 173aed3d0e Author: QMK Bot Date: Sun May 16 00:35:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 173aed3d0e7715eb10f3deee01c8081e7255f5ab Author: Ross Montsinger Date: Sat May 15 20:35:10 2021 -0400 [Keyboard] Rebound underglow settings for via (#12268) commit 86422f87c6d39355714174767ed676e17bcd2a3d Merge: 388c151de7 36ba4806b1 Author: QMK Bot Date: Sun May 16 00:29:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 36ba4806b109e75835115b99dce209f1868d812b Author: chalex <68408520+gaclee3b@users.noreply.github.com> Date: Sat May 15 20:29:04 2021 -0400 [Keyboard] Add merro60 (#12527) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: chalex commit 388c151de7e7757da313b1d7bcce8db2ef7d2d83 Merge: 396abb0244 0876bdf1a3 Author: QMK Bot Date: Sun May 16 00:19:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0876bdf1a37b16200c1d436aecc9b78de83921c8 Author: Sleepdealer <35879391+Sleepdealr@users.noreply.github.com> Date: Sat May 15 20:18:29 2021 -0400 [Keyboard] Add SiddersKB Majbritt Rev2 (#12598) commit 396abb02447e17bbcd3ae34e2b573f3708c59f26 Merge: 7599cd4e50 4c13de9b45 Author: QMK Bot Date: Sun May 16 00:15:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4c13de9b45f8241bc5ec7ce6e40061275b7781b4 Author: Ciutadellla Date: Sun May 16 02:14:50 2021 +0200 [Keymap] Reviung41_Ciutadellla (#12668) commit 7599cd4e50a83d5ef1e3ef90a9afbbcf6dfd2263 Merge: de2294413f 1e5962adbf Author: QMK Bot Date: Sun May 16 00:14:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1e5962adbf497aad038dee034dc21e6ada6bb328 Author: Nico Date: Sun May 16 02:14:19 2021 +0200 [Keyboard] Add Specskeys support (#12813) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit de2294413fd9bb2f7b90bd8ed5743c5e906f6259 Merge: 4e32465f06 430cd6dbc2 Author: QMK Bot Date: Sun May 16 00:09:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 430cd6dbc29cadee8808239b4168184e7b50a9a0 Author: Felix Jen Date: Sat May 15 19:09:16 2021 -0500 [Keyboard] Added Bolsa Supply Midway60 Keyboard (#12747) Co-authored-by: Drashna Jaelre commit 4e32465f0675d740e81cb25907b216a9a10527ce Merge: 08ec7618a1 7ca4608427 Author: QMK Bot Date: Sun May 16 00:08:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7ca4608427eb171201a3b2025635e339bd3ddda0 Author: Felix Jen Date: Sat May 15 19:08:49 2021 -0500 [Keyboard] Added Lucid KB Scarlet [Maker KB] (#12748) Co-authored-by: Drashna Jaelre commit 3efaa5ba7cb67ce51fb61b38b0bc0313e819eb55 Author: Ramon Imbao Date: Sun May 16 08:08:25 2021 +0800 [Keyboard] Add Chevron (#12762) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 08ec7618a1a8004616ff4fd3f6db9f3be0f988d9 Merge: 2bc35205a7 60cf7ae8b7 Author: QMK Bot Date: Sun May 16 00:05:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 60cf7ae8b7affb0130960a49a904be754c04a213 Author: Brandon Lee <36001126+bleeCS@users.noreply.github.com> Date: Sat May 15 20:04:38 2021 -0400 [Keyboard] Add Rosa (#12884) Co-authored-by: Ryan commit 2bc35205a710e4f5245b01ebc236bc2bbf2b0bb6 Merge: 14c0f4e44b cc77710b4a Author: QMK Bot Date: Sat May 15 23:52:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cc77710b4a94b5944b9af08423204dcb631391f8 Author: Aeonstrife Date: Sun May 16 05:21:21 2021 +0530 [Keyboard] Add Potato65 Hotswap keyboard (#12874) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 14c0f4e44b7da61c6ad3aef479e32624a5d8e6aa Merge: d6b707403e f9a395e265 Author: QMK Bot Date: Sat May 15 18:52:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f9a395e2651ea9f43204e7f7ac8f805c9f15141d Author: William Lam <13148377+blackphreak@users.noreply.github.com> Date: Sun May 16 02:52:13 2021 +0800 [Keyboard] Add Frusta Fundamental (#12583) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit d6b707403efe9c7004f550681e163f9b76784252 Merge: 1dca3a8e3a b057194568 Author: fauxpark Date: Sat May 15 13:43:46 2021 +1000 Merge remote-tracking branch 'upstream/master' into develop commit b057194568270ce379d1900b2567052d565ce1dd Author: rookiebwoy <81021475+rookiebwoy@users.noreply.github.com> Date: Sat May 15 05:09:10 2021 +0200 [Keyboard] Add Neopad macropad (#12614) commit 83be6ba472bd8cba9dc8102c193ed9d2b6546799 Author: Ryan Date: Sat May 15 12:57:16 2021 +1000 Fix Marauder and add readme (#12906) commit 1dca3a8e3a416c26e071e90f5be785f0aef4fa26 Merge: 75da5e9742 9107c382f3 Author: QMK Bot Date: Fri May 14 22:44:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9107c382f3157c60bd74fe4c97e7f49e7f4cb0ea Author: Cosmin <44280558+BB-66@users.noreply.github.com> Date: Sat May 15 01:44:00 2021 +0300 [Keyboard] Add Marauder (#12550) Co-authored-by: Drashna Jaelre commit 495d47b7d2a0df4e84c25c9cfee3931576cfbd32 Author: Faehriss <84159213+Faehriss@users.noreply.github.com> Date: Fri May 14 16:47:38 2021 +0100 [Keyboard] split right shift iso layout for ok60 (#12890) commit 9c68e27aceb186990da1beaba122c48cc7a8c8ee Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri May 14 08:41:02 2021 -0700 TKC Portico: layout macro/Configurator touch-up (#12897) commit 02e19123718d8693ff06665f762abbfbe7072201 Author: duoshock <33636898+duoshock@users.noreply.github.com> Date: Fri May 14 16:36:31 2021 +0100 [Keyboard] Add UM-70 (#12556) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: online <33636898+online@users.noreply.github.com> commit 75da5e974255b8cdb11bcef181748433e0dcdb38 Author: Dave Vandyke Date: Fri May 14 16:30:21 2021 +0100 [Keymap] Fix QWERTY/DVORAK status output for kzar keymap (#12895) commit 36a2297deb54e9cc246f9f0697eca079f4d575a6 Merge: 16014fe31c 1d50693e1b Author: QMK Bot Date: Fri May 14 04:10:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1d50693e1be24a626bdc6cfd031a0f6e14a33d75 Author: Felix Jen Date: Thu May 13 23:10:09 2021 -0500 [Keyboard] Added FJLabs Polaris (#12746) Co-authored-by: Drashna Jaelre commit 16014fe31c31ec53421558405fa8b96d03559344 Merge: 188bcf7636 937f5fe740 Author: QMK Bot Date: Fri May 14 03:54:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 937f5fe740f834bcaf1f7b05e3b389345db1c25f Author: csc027 Date: Fri May 14 03:54:41 2021 +0000 [Keymap] csc027/keymap-updates (#12694) commit cae4911ca87213977dd38e2b1647d6b3ae03262d Author: studiokestra <74369928+studiokestra@users.noreply.github.com> Date: Thu May 13 21:54:10 2021 -0600 [Keyboard] Add Studio Kestra Cascade PCB (#12704) commit 188bcf76369ee5ea392c87acdbca7fed97b75d19 Merge: 4a5f575ef4 3d6d4bd949 Author: QMK Bot Date: Fri May 14 03:21:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3d6d4bd94928e147c4f0aefb53083347c2a40019 Author: KnoblesseOblige <63174954+KnoblesseOblige@users.noreply.github.com> Date: Thu May 13 22:20:51 2021 -0500 [Keyboard] Add Training Wheel 40 (#12542) commit 4a5f575ef42f2252e3f352ff934d1aedcab8e7cc Merge: 8bf7a1452d 5195f97d35 Author: QMK Bot Date: Fri May 14 03:12:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5195f97d356ee76a7206112ae0cb62c4d3c532d8 Author: Brandon Date: Thu May 13 22:11:36 2021 -0500 [Keyboard] Added smAllice (#12543) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 8bf7a1452d4172d790888574dc0bed85987e8fa2 Merge: 2fcf761f33 7262d5cc93 Author: QMK Bot Date: Fri May 14 03:10:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7262d5cc93ca9248181a7e4493ad99aea7f6081d Author: Nathaniel <314009+nathanielks@users.noreply.github.com> Date: Thu May 13 22:10:26 2021 -0500 [Keyboard] update dactyl manuform 4x5 thumb cluster wiring(#12545) commit 2fcf761f33d52eaf639ef2cbde9df2bc79293aa2 Merge: 70bbcdf084 ba66b63fe5 Author: QMK Bot Date: Fri May 14 02:48:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ba66b63fe583b505cdbcbe290a8efdbd3e6067b2 Author: cccywj <33842880+cccywj@users.noreply.github.com> Date: Thu May 13 19:48:04 2021 -0700 [Keyboard] Add fluxlab zplit keyboard (#12396) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 70bbcdf0845a76b2da3f05f09b55a6f0f9c65eba Merge: 178fbdac16 eddd6aa113 Author: QMK Bot Date: Fri May 14 02:46:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit eddd6aa1130ac71b3aeeed7a311a275f27dc2de0 Author: Ross Nelson Date: Thu May 13 21:45:37 2021 -0500 [Keyboard] Fix Alix40 layout (#12398) commit 178fbdac16fc2c7bf7c034e6501fd1d81f7b6c35 Merge: 5f9906eccc b2a63b42a5 Author: QMK Bot Date: Fri May 14 02:40:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b2a63b42a533a9cb7db38554e0634140dede1f83 Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Thu May 13 19:39:56 2021 -0700 [Keyboard] add feels/feels65 (#12426) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Swiftrax commit 5f9906ecccbaec08b6cf3131f4f4e8c977b5b87f Merge: 16c4590396 8f4603dd73 Author: QMK Bot Date: Fri May 14 02:34:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8f4603dd734f5d70e9a89a5150821acd0dc77f7c Author: Ben Date: Fri May 14 04:33:36 2021 +0200 [Keyboard] Add Plaid-Pad Rev3 and oled keymap (#12464) Co-authored-by: Erovia commit 16c45903961b20a588d9f968b161d90c7acb51b3 Merge: 8d85171f16 bfbbb21197 Author: QMK Bot Date: Fri May 14 02:22:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bfbbb21197bec32079dbb4147ca75770c947cad4 Author: knaruo Date: Fri May 14 11:21:49 2021 +0900 [Keyboard] Add pisces keyboard (#12287) Co-authored-by: Nick Brassel commit 8d85171f16617e6f64e62b796385b5aef97563e7 Merge: eeb8ba4e62 a6807d1822 Author: QMK Bot Date: Fri May 14 02:21:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a6807d18222295a9a8016d21466f1ec71d73a34a Author: Drashna Jaelre Date: Thu May 13 19:20:31 2021 -0700 [Keyboard][PloopyCo] Fix code for Mini and Nano Trackballs (#12889) commit eeb8ba4e62c9cc37843f12460afacfb5768e18ef Merge: 19810f4a8b f594b22332 Author: QMK Bot Date: Fri May 14 02:00:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f594b22332dfb9bc0ead6b4604a050bf8674a800 Author: wangyifu <18438880@qq.com> Date: Fri May 14 10:00:45 2021 +0800 [Keyboard] 60% keyboard with ISSI3733RGB IC (#11559) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Nick Brassel commit 0aaddf697fb977c8457f3b0231c2f007ac1e0fb9 Author: Daveyr <26368709+Daveyr@users.noreply.github.com> Date: Fri May 14 03:00:25 2021 +0100 [Keyboard] added yampad configuration to keyboard subfolder (#10112) * added yampad configuration to keyboard subfolder * Update keyboards/yampad/config.h Co-authored-by: Drashna Jaelre * Update keyboards/yampad/config.h Co-authored-by: Drashna Jaelre * Update keyboards/yampad/config.h Co-authored-by: Drashna Jaelre * Update keyboards/yampad/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/yampad/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/yampad/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/yampad/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/yampad/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/yampad/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/yampad/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/yampad/config.h Co-authored-by: Drashna Jaelre * Update keyboards/yampad/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/config.h Co-authored-by: Drashna Jaelre * Update keyboards/yampad/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/readme.md Co-authored-by: Ryan * Update keyboards/yampad/rules.mk Co-authored-by: Ryan * added debouncing algorithm, delay and a traditional layout * added link to readme * some missed conflicts resolved in readme and rule * Update readme.md * Update keyboards/yampad/keymaps/traditional/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/keymaps/traditional/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/keymaps/traditional/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/keymaps/traditional/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/readme.md Co-authored-by: Ryan * Update keyboards/yampad/keymaps/traditional/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/keymaps/traditional/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/keymaps/traditional/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/yampad/keymaps/traditional/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/yampad/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/yampad/keymaps/traditional/keymap.c Co-authored-by: Ryan * Update keyboards/yampad/yampad.c As suggested Co-authored-by: Drashna Jaelre * Update readme.md Updated per suggestion * Update keymap.c Add MIT licence * Update keymap.c Added MIT licence to the traditional layout. * Update keyboards/yampad/readme.md Co-authored-by: Ryan * Update keyboards/yampad/readme.md Co-authored-by: Ryan * Update keyboards/yampad/yampad.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/yampad/yampad.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * make cases numerical in .c file * corrected the bootloader in rules.mk * Update keyboards/yampad/rules.mk Co-authored-by: Ryan Co-authored-by: Richard Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 19810f4a8b8e05f033727b8729535143fca0d65a Merge: c48ce4c259 cef1d19a6c Author: QMK Bot Date: Thu May 13 18:08:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cef1d19a6ceb2ce6adad1b336946bf357dbb487f Author: Christian Eiden Date: Thu May 13 20:07:42 2021 +0200 [Keymap] Own/dactyl (#12624) commit c48ce4c2599be0ac785b6294859fb266238a7237 Merge: 75ffb4b7e2 37ca66f6cf Author: QMK Bot Date: Thu May 13 17:54:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 37ca66f6cf44c33600d7191da7c2725805670eeb Author: Gvalch-ca <78301272+Gvalch-ca@users.noreply.github.com> Date: Thu May 13 20:54:13 2021 +0300 Add Gvalchca SpaccBoard (#12876) Co-authored-by: Ryan commit 75ffb4b7e26201a5333e3839f37631981c3cd46b Merge: 929d06a65f 2f6618d699 Author: QMK Bot Date: Thu May 13 17:52:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2f6618d6991a3cce81be10baba1e9feba3fa3b3c Author: Boo <32691832+BanchouBoo@users.noreply.github.com> Date: Thu May 13 13:51:57 2021 -0400 [Keymap] Add iris keymap 'boo' (#12749) commit 929d06a65f5a56fd08e82fa68473f3280a3b7cb2 Merge: cbdc3fb81b 5db0a8e2cc Author: QMK Bot Date: Thu May 13 17:46:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5db0a8e2ccdf5b43f5010ef5d3e764d5aa26f64e Author: klausweiss Date: Thu May 13 19:46:05 2021 +0200 [Keyboard][handwired/bolek] Add PERMISSIVE_HOLD and IGNORE_MOD_TAP_INTERRUPT (#12661) commit cbdc3fb81b88ea83949fd55305d1b068225972ac Author: Joakim Tufvegren Date: Thu May 13 19:37:24 2021 +0200 Fix spelling mistake regarding LED Matrix in split_common. (#12888) commit 04ab5de73cbf342adb1ca551cca20fac9535abad Author: Ryan Date: Fri May 14 03:25:40 2021 +1000 Deprecate `send_unicode_hex_string()` (#12602) commit cae9eb4d8d911576fdd424e1b49f832ede26c2f5 Merge: f70dc8435a 542918d073 Author: QMK Bot Date: Thu May 13 17:23:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 542918d073c36550b9332f2c99d5cda28507f0f4 Author: Leon Anavi Date: Thu May 13 20:22:54 2021 +0300 [Keymap] ANAVI Macro Pad 2 add MS Teams keymap (#12779) This keymap contains the following shortcuts for Microsoft Teams on MS Windows and GNU/Linux distributions: - Ctrl+Shift+M: Toggle mute - Ctrl+Shift+O: Toggle video (doesn't work in a web browser) NOTE: Mac users should replace Ctrl with Command in all shortcuts Signed-off-by: Leon Anavi commit f70dc8435acbd1f2624ecbe52f568795fae471e1 Merge: 673c12fa3b 10a3e3a341 Author: QMK Bot Date: Thu May 13 17:22:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 10a3e3a34190fc8292356db9b5de021f1c734e6f Author: Maxime Coirault Date: Thu May 13 20:22:08 2021 +0300 [Keyboard] Add Ky01 (#12844) Co-authored-by: KnoblesseOblige commit 673c12fa3bce3318f1c62180d3f9548ac5adb5d8 Merge: 008d8a740e 737fe8d763 Author: QMK Bot Date: Thu May 13 17:20:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 737fe8d76399e88767d1e3325cef39549623caee Author: Ian G Canino Date: Thu May 13 13:19:42 2021 -0400 [Keyboard] update planck aliases (#12867) Co-authored-by: Ryan commit 008d8a740ebab95b0a9dc037b42ef1cd3b5110bf Merge: b4039ec515 c6cc6ec7f6 Author: QMK Bot Date: Thu May 13 17:13:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c6cc6ec7f648ef955582f972e5fb3459f0ff8a84 Author: Robin Liu Date: Thu May 13 13:12:45 2021 -0400 [Keyboard] Add Axon (#12879) Co-authored-by: Ryan Co-authored-by: Ryan commit b4039ec515c2f1c5eeb1a662aaf6fa91ebf2bc7e Merge: f8f0ca458d 54e788364a Author: QMK Bot Date: Thu May 13 16:36:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 54e788364aebd30d9c6b86feb823a88db4bd2604 Author: npspears <40127181+npspears@users.noreply.github.com> Date: Thu May 13 11:36:12 2021 -0500 [Keyboard] add ortho Candybar and NOP60 PCBs (#12807) Co-authored-by: Ryan commit f8f0ca458d246d5db70cad3b504ab435ed5977b9 Merge: 40907fa98a 6e5e34662b Author: QMK Bot Date: Thu May 13 16:29:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6e5e34662bb83964d3d580a22cd16828fd37cfd5 Author: Jeremy Herve Date: Thu May 13 18:29:04 2021 +0200 Redox custom keymap (jeherve): updates to deprecated code and bugfixes (#12738) Co-authored-by: Drashna Jael're commit 40907fa98a11d8a6416f0001da71f973e888d0d7 Merge: 89a3ef7699 3efd94014f Author: QMK Bot Date: Thu May 13 06:53:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3efd94014ff363f107c563da623259286dedad1c Author: Victor Pivert <76471338+piv3rt@users.noreply.github.com> Date: Thu May 13 08:52:55 2021 +0200 piv3rt keymap for dztech/dz60rgb (#12591) * Create piv3rt's keymap * Use tabs's LED as a caps lock indicator * Fix indentation (tabs -> spaces) * Set inital LED matrix color & mode * Rename layers and add an RGBRST keycode * Disable unused RGB effects * Add RGB profiles * Use ESC's LED as a num lock indicator * Light up the keypad when _NUM layer is active * Realign layers * Remove legacy layer * Fix CAPS key macro * Reduce TAPPING_TERM to 100 * Change the caps LED to red and display the numlock one on special layers * Add french accentuated caps + minor improvements on layers * Remove left numpad * Add french quotation marks * Add key KC_NUBS * Add terminal copy/paste * Disable led profile on wakeup * Change the default color * Add AMD replay and record keys * Add a MacOS layer * Move Numpad * Add GPLv2 license information * Optimise custom RGB matrix * Move keypad toggle and disable MAC led indicator * Remove unnecessary check for RGB matrix commit 89a3ef76990d53705191f79f95e18cfe557d4094 Merge: 1dd6adffbe ad0e6b6291 Author: QMK Bot Date: Thu May 13 05:38:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ad0e6b6291a51252603124c9b85fea631aa10ee8 Author: Mattia Righetti Date: Thu May 13 07:37:30 2021 +0200 mattrighetti Whitefox keymap (#12582) * Initial configuration with led and three layers + First layer contains classic keys + Second layer contains F keys and media keys + Third layer contains numbers in the top portion of the letter keys + Default LEDs configuration * RGB toggle * Documentation and minor changes * Added LGUI key and remapped layer 2 on layer 1 * Removed backlight and led keys * Updated keymap graphical representation * Switched LGui with Lalt to emulate macOS layout * Updated keymap with GNU License commit 1dd6adffbeaa2cbc56f47a41ed06eaa749b8deea Merge: 7078d5a5bd 4ccba9e3ac Author: QMK Bot Date: Thu May 13 04:15:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4ccba9e3ac630bbca00bf90aaa27425fed9afd86 Author: Ivan Organista Date: Thu May 13 06:15:08 2021 +0200 [Keyboard] Added via keymap for crbn keyboard (#12765) commit 7078d5a5bdf9a639003a124342de567c976182ff Author: Ryan Date: Thu May 13 12:57:57 2021 +1000 LED Matrix: Documentation (#12685) commit dbfe2d7e9ebcaa8b10203220a4213d0a750ffbba Merge: c24d29ef54 32b697f5f1 Author: QMK Bot Date: Thu May 13 02:36:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 32b697f5f164528fc8c3e3222f3b81f176d52b39 Author: Leon Anavi Date: Thu May 13 05:35:55 2021 +0300 [Keyboard] ANAVI Macro Pad 2 update readme.md (#12827) Add more details about ANAVI Macro Pad 2 to readme.md. Signed-off-by: Leon Anavi commit c24d29ef54e4ae62b020208898148d2edd4e71fd Merge: 2d29ce5de1 a2412e3f4c Author: QMK Bot Date: Thu May 13 02:30:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a2412e3f4c3b17778d4eb72d9fcfcbffa04d1c7b Author: Nick Brassel Date: Thu May 13 12:29:28 2021 +1000 Allow for overriding clocks on F4xx. (#12886) commit 2d29ce5de16d91d08bb684aef9b9480769eeb55c Merge: 54a8b5af01 9633f9a60f Author: QMK Bot Date: Thu May 13 01:54:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9633f9a60f9b987c09edf28517a093a640a25d03 Author: Dmitry Mikhirev Date: Thu May 13 04:54:15 2021 +0300 [Keyboard] x-bows nature: fix led order and colors (#12871) commit 54a8b5af01f2a3105aaab810d8dbaafe1826085f Merge: bc9cd3e997 17864b249f Author: QMK Bot Date: Thu May 13 01:32:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 17864b249fbbc1e72bce6ef7115b5cb2e3a81d7c Author: yiancar Date: Thu May 13 02:31:53 2021 +0100 [Keyboard] Seigaiha (#12791) Co-authored-by: Ryan commit bc9cd3e9972002696c4f3ab2840c2ad75431e51d Merge: da0c551692 0bada398df Author: QMK Bot Date: Thu May 13 01:27:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0bada398dfba61c93ee5dbec0aeb92b8af0f45a4 Author: nut1414 Date: Thu May 13 08:27:16 2021 +0700 [Keyboard] Add np12 (#12703) Co-authored-by: Ryan commit da0c551692b117e4f91ca3e446155027290e3c96 Author: Drashna Jaelre Date: Wed May 12 18:24:44 2021 -0700 Add missing LED Matrix suspend code to suspend.c (#12878) Co-authored-by: Ryan commit d200e3de8ebba08e374b53063638575e04bff543 Author: noclew Date: Wed May 12 20:19:48 2021 -0400 [Keyboard] updated a vendor name / fixed minor keymap issues (#12881) commit 49bc835aa9046806e4e4374e4ad6518d894e358e Merge: 536df7c240 fc52b43592 Author: QMK Bot Date: Thu May 13 00:18:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fc52b43592abd0f6b82e54474adb59adb893b858 Author: Juno Nguyen Date: Thu May 13 08:18:09 2021 +0800 [Keymap] Update: layout/community/ortho_4x12/junonum (#12643) commit 536df7c2404e39b777f6bc4389c41ab5cf5e5e71 Merge: 9c80db1fdc 7d21ce367d Author: QMK Bot Date: Thu May 13 00:02:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7d21ce367d1f2c7019d0c9e9931995ce1f3623df Author: thompson-ele Date: Wed May 12 17:02:09 2021 -0700 [Keyboard] Titan60 LED and keymap updates (#12558) Co-authored-by: Ryan commit 9c80db1fdc254d28d38a06796e55b49a06585b2a Merge: 53075ccc5d 9ada2f30ea Author: QMK Bot Date: Wed May 12 23:25:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9ada2f30eac43586e9a597c71fae0a42c84bf5d4 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Thu May 13 07:25:21 2021 +0800 USB suspend option and LED position change for The Mark 65 (#12725) Co-authored-by: filterpaper commit 53075ccc5dbb6f278a69f15fa18d7098591530b8 Merge: 92fbadeb1b d471a691f7 Author: QMK Bot Date: Wed May 12 23:25:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d471a691f70cb51b46fc98c229be8fa97ac86ffb Author: coarse Date: Thu May 13 07:24:20 2021 +0800 Fix Cordillera LED states config (#12646) commit 92fbadeb1bb9f9c37cfeef2a4f81f2f154e1226b Author: Ryan Date: Thu May 13 09:17:18 2021 +1000 Rename `point_t` -> `led_point_t` (#12864) commit 07800e82c96c12919061beab25d37d10073fe57f Merge: 6da60d4a5d c305edc680 Author: QMK Bot Date: Wed May 12 16:50:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c305edc6800d30e676119cdef19dbe2e3310493a Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Wed May 12 09:49:30 2021 -0700 add handwired/swiftrax/walter (#12428) * init commit of walter * finalize keyboard * fix walter.h * fix config.h * fix rgblight animations * fix config.h Co-authored-by: Swiftrax commit 6da60d4a5d75d88da36385c5e14ff00c5055214d Author: Zach White Date: Wed May 12 09:40:58 2021 -0700 Add setup, clone, and env to the list of commands we allow even with broken modules (#12868) commit 3a1ce81d29efc50f57d5112b85241094721a6231 Merge: 4bb00c6a0a 9a3f4f8f8a Author: QMK Bot Date: Wed May 12 00:52:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9a3f4f8f8a3090b3783dfd60a75cd8120ec30e65 Author: Andrew Kannan Date: Tue May 11 20:52:15 2021 -0400 Some fixes for the Bakeneko variant DB60s (#12662) * Some fixes for the Bakeneko variant DB60s * Add copyright to header * Add .python-version to gitignore for people who use pyenv or similar * update readme * Add more readmes * Add more readmes * Update the versions to have different product IDs * Update readme * Add missing rules.mk * Fix matrix on hotswap * remove iso from hotswap * Fix hotswap spacebar * Revert gitignore changes * Fix layouts * Apply suggestions from code review Co-authored-by: Ryan * Add split configs * Apply suggestions from code review Co-authored-by: Ryan * Add license to config * or equivalent Co-authored-by: Ryan commit 4bb00c6a0a9ef936a73138cfa9b3f79069dcfb7c Merge: 38d8d5445e e9aee3bfd0 Author: QMK Bot Date: Tue May 11 18:43:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e9aee3bfd04920150b96208bd81877e1c962fe27 Author: coarse Date: Wed May 12 02:42:56 2021 +0800 [Keyboard] Add Charue Design's Sunsetter (#12547) commit 38d8d5445ebd60932d602184b1f27a112ac79f71 Author: Zach White Date: Tue May 11 10:10:31 2021 -0700 Remove KEYMAP and LAYOUT_kc (#12160) * alias KEYMAP to LAYOUT * remove KEYMAP and LAYOUT_kc commit d84cbc3cecd0254df776fc56e9baaa1b1823a6d1 Author: Ryan Date: Wed May 12 01:17:28 2021 +1000 Fix syntax error when compiling for ARM (#12866) commit 3edc43964d35986a4cc5eb4602e1d79b8be1bf01 Author: Ryan Date: Tue May 11 13:41:06 2021 +1000 LED Matrix: Effects! (#12651) commit f41fc6b70c48b7fde36a4af1da99033edf4ffc74 Author: Nick Brassel Date: Tue May 11 11:01:58 2021 +1000 Fixup build errors on `develop` branch. (#12723) commit 0432bde9626b657b42e29741ffa862b043311a42 Merge: 17586ea7c4 77875e89ec Author: QMK Bot Date: Tue May 11 00:33:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 77875e89eca07b2681ead5759d6e635823b24895 Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon May 10 19:32:26 2021 -0500 peepeetee's custom keymap for bm68rgb (#12232) * add custom keymaps for BM68rgb * add user keymap for bm68rgb * fix grammar * add custom hub16 keymap * Apply suggestions from code review * fix errorenously included hub16 file * add GPL headers * revert defining dfa_state in keymap.h * Update keyboards/bm68rgb/keymaps/peepeetee/keymap.h * enable tap dance, add tap dance to left alt commit 17586ea7c4ba8266363207408c226877cee334bd Merge: 069cfb61b8 1ab2167ff9 Author: QMK Bot Date: Mon May 10 22:43:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1ab2167ff90ac9de6e21d20e226881699bc385ef Author: George Wietor Date: Mon May 10 18:43:05 2021 -0400 [Keyboard] VIA support for Preonic Rev3 (#11344) Co-authored-by: Ryan Co-authored-by: Jack Humbert commit 069cfb61b8a87480e084eab389da1866db69665c Author: Lukas Reineke Date: Tue May 11 07:40:18 2021 +0900 [Keymap] Turn OLED off on suspend in soundmonster keymap (#10419) commit 6bb9113e27c649eeb9dc5b200bfc45eb51952861 Merge: 0e7c66e891 a116b3f1ae Author: QMK Bot Date: Mon May 10 22:38:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a116b3f1ae4e6dbd09c450bfc74dd2a64f66b7b1 Author: Drashna Jaelre Date: Mon May 10 15:37:36 2021 -0700 Improve EEPROM defaults for Dynamic Keymaps (#12853) commit 0e7c66e8917ee470d8a3d3904bd8b55c75c8a0b4 Merge: 911b45ce3b bc38c38f8c Author: Zach White Date: Mon May 10 12:16:04 2021 -0700 Merge remote-tracking branch 'origin/master' into develop Conflicts: bin/qmk lib/python/qmk/cli/__init__.py Merge conflicts fixed by skullydazed. commit bc38c38f8c25dcbe759bc4d9d707a0069b3c6c59 Author: Zach White Date: Mon May 10 12:00:52 2021 -0700 Move the module checking and updating to lib/python (#12416) * move the module checking and updating to lib/python * make flake8 happy * Update lib/python/qmk/cli/__init__.py Co-authored-by: Erovia * prompt the user to disable developer mode * pyformat * flake8 Co-authored-by: Erovia commit 911b45ce3bcc2cf4c7e12ccf8df7da9621173e32 Merge: cfc6e4bfac a3e7f3e7c5 Author: QMK Bot Date: Mon May 10 18:19:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a3e7f3e7c58ee98596ead5c213f3a9ed8340cd80 Author: Zach White Date: Mon May 10 11:18:44 2021 -0700 Improve our CI tests (#11476) * add a test and dry-run to qmk generate-api * add a dry-run to qmk pyformat * Add a --dry-run to qmk cformat * reverse the order of nose2 and flake8 tests * run CI test against cformat and pyformat * fix programming errors * tweak job name * fix argument * refine the files we select * fix stack trace in --ci * make cformat exit clean * fix c file extensions * decouple CI from pyformat * remove --ci arg * make ci happy * use the environment var instead * change output to text * fix log message * replace tabs commit cfc6e4bfac6b677b2f1249552c9e95d063f9d459 Merge: ffe81cbec1 66ed80ad3a Author: QMK Bot Date: Mon May 10 17:37:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 66ed80ad3a0edecd9d7abbef71fc2a6e3e59b541 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon May 10 10:37:05 2021 -0700 Lagrange handwired Configurator bugfix (#12854) * use human-friendly formatting * correct key object order commit ffe81cbec135e9a72d0df5e447fd8fc90afcf7d9 Author: Sergey Vlasov Date: Mon May 10 19:21:13 2021 +0300 Fix another bin/qmk reference (#12856) commit f0b30e0027cb890c7510fa22e5824a43c0d9e86f Author: Drashna Jaelre Date: Sun May 9 23:21:09 2021 -0700 Make Swap Hands use PROGMEM (#12284) This converts the array that the Swap Hands feature uses to use PROGMEM, and to read from that array, as such. Since this array never changes at runtime, there is no reason to keep it in memory. Especially for AVR boards, as memory is a precious resource. commit 40d15065276c7a253a95de57944966343ad563b6 Merge: 2549b4b082 3f854e16ac Author: QMK Bot Date: Sun May 9 20:40:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3f854e16acc880b9c9ccab2244dc585705dfac1e Author: Joel Challis Date: Sun May 9 21:39:48 2021 +0100 Catch 'LAYOUTS = all' in lint (#12848) Co-authored-by: Zach White commit 2549b4b082b7c5dba3e33fa15d8bdaedb432b0c9 Merge: 201dc6d024 4fa32f0f04 Author: QMK Bot Date: Sun May 9 19:16:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4fa32f0f042eecdb662d6d56d508e03cb6ff83c9 Author: Ryan Date: Mon May 10 05:16:29 2021 +1000 KBDMini refactor (#12850) commit 201dc6d024929ce574d82037f8b58cc7697813a9 Merge: 2f367bab98 5c924efa04 Author: QMK Bot Date: Sun May 9 18:30:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5c924efa04c072d0d40c172ede86d5a7a68456ab Author: Zach White Date: Sun May 9 11:30:17 2021 -0700 fix the makefile snippet so flake8 and yapf don't fight (#12849) commit 2f367bab98c3f123fc24044fa637ecb32a9b43ac Merge: ad1244e2cf 30aae6298b Author: QMK Bot Date: Sun May 9 17:20:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 30aae6298bb9f31a172dbc36817965bc415519b8 Author: Erovia Date: Sun May 9 19:19:42 2021 +0200 CLI: Use BASH if SHELL variable is not set (Windows) (#12847) commit ad1244e2cf0df975073eaac1343d74241bbf934b Merge: 62c3e3d11f 6c5e94061c Author: QMK Bot Date: Sun May 9 17:15:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6c5e94061c05c94a2404d4edcca4882cdfca844e Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon May 10 03:15:00 2021 +1000 [CI] Format code according to conventions (#12838) Co-authored-by: QMK Bot commit 62c3e3d11f6956b34966a320cb6897195a2428be Author: Ryan Date: Mon May 10 02:53:21 2021 +1000 Remove pointless SERIAL_LINK_ENABLE rules (#12846) commit 12292ba2642038b38ffef12b5e702c4403808c83 Merge: bfb052db1d 1426ffc0ee Author: QMK Bot Date: Sun May 9 15:07:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1426ffc0ee64c1d6de072ffc9d7fd9d1291f4f86 Author: Nick Brassel Date: Mon May 10 01:06:44 2021 +1000 Add script to perform parallel builds. (#12497) Co-authored-by: Erovia commit bfb052db1d81fd4be8a039f364e46ba1a3a72eec Merge: a0c95cb07e f544b60aaa Author: QMK Bot Date: Sun May 9 13:53:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f544b60aaa60eea3349eb5fbbae8ba3fd3c1b755 Author: Joel Challis Date: Sun May 9 14:53:18 2021 +0100 Align qmk info ascii logic with milc logging (#11627) commit a0c95cb07e3b9874a7a92669ea2695825a436cfd Merge: 7a25dcacff 7725d813c9 Author: QMK Bot Date: Sun May 9 10:58:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7725d813c9cf1a47863e325457b13a4542984eda Author: Joel Challis Date: Sun May 9 11:57:49 2021 +0100 Allow MAKE environment override for 'qmk clean' (#12473) commit 7a25dcacffcadf541da5107a35856b66e770bcaf Author: Zach White Date: Sat May 8 20:56:07 2021 -0700 New command: qmk console (#12828) * stash poc * stash * tidy up implementation * Tidy up slightly for review * Tidy up slightly for review * Bodge environment to make tests pass * Refactor away from asyncio due to windows issues * Filter devices * align vid/pid printing * Add hidapi to the installers * start preparing for multiple hid_listeners * udev rules for hid_listen * refactor to move closer to end state * very basic implementation of the threaded model * refactor how vid/pid/index are supplied and parsed * windows improvements * read the report directly when usage page isn't available * add per-device colors, the choice to show names or numbers, and refactor * add timestamps * Add support for showing bootloaders * tweak the color for bootloaders * Align bootloader disconnect with connect color * add support for showing all bootloaders * fix the pyusb check * tweaks * fix exception * hide a stack trace behind -v * add --no-bootloaders option * add documentation for qmk console * Apply suggestions from code review Co-authored-by: Ryan * pyformat * clean up and flesh out KNOWN_BOOTLOADERS Co-authored-by: zvecr Co-authored-by: Ryan commit d0a3bca9ecc6ccdc75218524b97b9cfb8a681baf Merge: 0e6359bce9 60a39f4f5d Author: QMK Bot Date: Sun May 9 03:46:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 60a39f4f5d192625ea03daf8cd26bc89aa1a91c2 Author: Purdea Andrei Date: Sun May 9 06:45:41 2021 +0300 haptic: correct size of reserved field in the haptic structure. This saves 1 byte of wasted SRAM. (#12483) Co-authored-by: Drashna Jaelre commit 0e6359bce9c87cd2c7b1cd6d2527aca5caaf6273 Merge: 767089384f df57590ec6 Author: QMK Bot Date: Sun May 9 03:00:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit df57590ec64f1fc6d3c4163ba60be96305339113 Author: Sean Johnson Date: Sat May 8 22:00:11 2021 -0500 add ttys0's planck and preonic keymaps (#10560) * resynced with upstream, and adjusted keymap layout for planck * updated keyboard layout Signed-off-by: Sean Johnson * swapped out bspc for del on symb layer Signed-off-by: Sean Johnson * fixed typo with brightness media keys * turns out my brightness config was correct, it was macOS that had gone sideways * updated to bring in line with requirements for merging into upstream * removed redundant config from rules.mk moved media controls to FUNC layer for Planck layout * added GPL2+ compatible license header Signed-off-by: Sean Johnson * removed unused MIDI comment Signed-off-by: Sean Johnson * removed extraneous MIDI comments * removed extraneous comments commit 767089384fa014cb0e4f98971eb2d82fe00946c4 Author: Zach White Date: Sat May 8 12:44:05 2021 -0700 Resolve a number of warnings in `qmk generate-api` (#12833) commit 3e9f809988d03036e712bc73237590653868f8ba Author: Zach White Date: Sat May 8 12:25:04 2021 -0700 fix some references to bin/qmk that slipped in (#12832) commit a8714447430aa800774d756c362e928b34add5ef Merge: fd5da75bdd b7fe24923e Author: QMK Bot Date: Sat May 8 17:27:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b7fe24923e29218b15233163d9fe0ac5f332d3fc Author: Seth Barberee Date: Sat May 8 10:26:51 2021 -0700 Update sethBarberee Userspace (#12620) * update for LTO and guard RGBLED_SPLIT * Revert "update for LTO and guard RGBLED_SPLIT" This reverts commit ce81177cbe330ae3e1e14c264dc0cb0946f08d70. * Revert "Revert "update for LTO and guard RGBLED_SPLIT"" This reverts commit 67da0ce9f38777064ad094c1ecba7ce17a40994f. * update iris keymap for keymap_kc removal and overhaul userspace * add licenses * fix tap_dance error when rgblight is disabled and update/clean iris/sinc maps commit fd5da75bddd3b29d022fc4b8a6ae1c92dc430124 Merge: fca7cc1747 067a6f0174 Author: QMK Bot Date: Sat May 8 16:35:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 067a6f017477938f965b1c4af4dace288d906730 Author: Hilary B. Brenum Date: Sat May 8 09:35:32 2021 -0700 Hbbisenieks keymap update to remove kc_ keymaps (#12391) * hbbisenieks keymap * change from kc_ keymap * Apply suggestions from code review Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: Hilary Brenum Co-authored-by: Zach White Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit fca7cc1747642d077898e301945df86bfdea0784 Author: Barabas Date: Sat May 8 11:27:13 2021 +0100 Added OLED fade out support (#12086) commit 992b146bc4d761d2ff81222b7c750caded640711 Merge: 5d7b026ce2 189e0d5b98 Author: QMK Bot Date: Fri May 7 17:22:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 189e0d5b983088342aee58e9e1d5dd76c0ace384 Author: Mateusz Piotrowski Date: Fri May 7 19:22:05 2021 +0200 Update FreeBSD install method (#12815) The easiest way to install QMK CLI and all the necessary dependencies on FreeBSD is to use the packages from the official FreeBSD Ports Collection. This is possible since QMK CLI has been added to the Ports Collection: https://www.freshports.org/sysutils/py-qmk/ commit 5d7b026ce2ea8a1608c17835c650db4494c19b69 Merge: 8c2db395c4 56e5a83e68 Author: QMK Bot Date: Fri May 7 09:52:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 56e5a83e682a862673f9b127ad6a2b5626198a7f Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Fri May 7 05:51:47 2021 -0400 [Keymap] My Arisu layout setup (#12647) commit 8c2db395c4147668b75345cfaa8a6c3ca037739d Merge: c820a5732c 34f3918244 Author: QMK Bot Date: Thu May 6 21:08:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 34f39182447fe14487dc33e8a310b17caa1ca779 Author: kb-elmo Date: Thu May 6 23:07:51 2021 +0200 Fix DZ60 64 key layout (#12551) * add gk64 layout * Apply suggestions from code review * fix dz60 gk64 layout commit c820a5732c488788364f8a264aeefbbf50f68344 Merge: 447bd64013 f3a1629469 Author: QMK Bot Date: Thu May 6 18:17:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f3a162946934807e134883f4fe80400300ec127f Author: timothynsheehan Date: Fri May 7 03:47:10 2021 +0930 Add docs on multiple encoders sharing pins (#11678) Added explanation of how multiple encoders can share pins and the limitations of this configuration commit 447bd64013f97cfb4c6a9e6324687866905591fc Merge: 45f710f3ff 3d922e6257 Author: QMK Bot Date: Thu May 6 16:16:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3d922e6257752b54885b7dd28648eed7126b6024 Author: Ryan Date: Fri May 7 02:16:07 2021 +1000 Add a handful of consumer/gendesk page usages (#12811) commit 45f710f3ffc747d50aad2f45f38917e674d81d3a Merge: 15f4ab6a3f 38b9f67c3b Author: QMK Bot Date: Wed May 5 23:27:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 38b9f67c3b874ff33383ec2eb18aba58e4e9dfa1 Author: Mateusz Piotrowski Date: Thu May 6 01:26:50 2021 +0200 Fix qmk flash on FreeBSD (#12085) When the USB device is connected, FreeBSD creates not one, but three device nodes in /dev, e.g.: /dev/ttyU0, /dev/ttyU0.init, and /dev/ttyU0.lock. As a result, this leads to the USB variable containing 3 paths (and therefore, whitespace) and messages like this one: Device /dev/ttyU0 /dev/ttyU0.init /dev/ttyU0.lock has appeared; assuming it is the controller. This changes fixes the use of the -z flag of "[" (see test(1)). Also, it removes undesired paths from the USB variable, leaving only one path there (i.e., "/dev/ttyU0"). commit 15f4ab6a3fcc9f319b8192eb10c6d0d2d9222708 Merge: 65ee9d1b09 c6778dde82 Author: QMK Bot Date: Tue May 4 19:39:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c6778dde825d6e7eeb63b51e12fc23baa02188ba Author: Andrew Kannan Date: Tue May 4 15:38:38 2021 -0400 [Keyboard] ai03 Andromeda (#12676) * Add andromeda to qmk * Fix * Another fix * Fix via map * Update andromeda * Update confs for new qmk master * Apply suggestions from code review * Remove the ch hal and mcu conf as the andromeda does not need extra peripherals * Update keyboards/ai03/andromeda/rules.mk * Apply suggestions from code review * Add bootloader note to readme commit 65ee9d1b093fc5961b32de85e29554afae21a38a Merge: 084d0ae96e c27a458799 Author: QMK Bot Date: Tue May 4 08:40:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c27a4587993c014bff3c0e0145a156b0f5d308c9 Author: Matrix Zou Date: Tue May 4 12:40:26 2021 +0400 [Keyboard] added Time 80 Reforged by Fox Lab (#11996) * [Keyboard] added Time 80 Reforged by Fox Lab * added Time 80 Reforged by Fox Lab * split to two sub directories for universal and hotswap pcb * Apply suggestions from code review * Modified codes as suggested * update code as suggested * rgb log light keymaps added * update code as suggested * enable rgblight right to TIME logo, and add keymaps for it's control * Apply suggestions from code review * enable built-in switch LED support * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review commit 084d0ae96eb33bdb2f1cca4cd2aa0c520a9d4d82 Merge: 5d27c772fd 8ed1addd1e Author: QMK Bot Date: Tue May 4 00:32:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8ed1addd1e3ab783d86ba5d0a0935e2e7ec400f2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon May 3 17:31:36 2021 -0700 Update noroadsleft userspace and keymaps (2021-05-03) (#12796) * Set Dvorak as the standard base layer * Remove unneeded includes * Remove custom handling for Quake 2 Have now rewritten my in-game configuration to use Dvorak mapping instead of QWERTY, which means I don't need any of this stuff. * Clean up comments in KC60 keymap commit 5d27c772fdd1740b3d03b5671e1d31dccbf0447e Author: Zach White Date: Mon May 3 10:09:53 2021 -0700 Fix comment parsing (#12750) Co-authored-by: Erovia commit 0ec438289d8d0103a5fd1a6698c95716466ed9d3 Merge: 79e86adfb6 25c97e0019 Author: QMK Bot Date: Sun May 2 15:59:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 25c97e0019aff7c529b09d177f23fd1271a120dc Author: Joel Challis Date: Sun May 2 16:59:10 2021 +0100 Shim cli to new keyboard script (#12780) * Shim cli to new keyboard script * Shim cli to new keyboard script * Add docs commit 79e86adfb6cd94041c7e8db7e75e1ee8648ce2fd Merge: f5b6bef4b3 0fd8faa1ad Author: QMK Bot Date: Sun May 2 15:44:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0fd8faa1adc9d46c17bb54402c5edbacf396c08f Author: Joel Challis Date: Sun May 2 16:43:40 2021 +0100 Fix unused import in recent generation code (#12781) commit f5b6bef4b3db6fcc6b9190411607c4dc198b7152 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun May 2 05:15:50 2021 +1000 [CI] Format code according to conventions (#12772) Co-authored-by: QMK Bot commit 3c2e69af79e09d27cf799370685ee8a89ff45a5d Author: XScorpion2 Date: Sat May 1 14:14:17 2021 -0500 Fixing transport's led/rgb matrix suspend state logic (#12770) commit e9b0e9286eefce3c4ca21e4c0ad0c43a245e3666 Merge: 876352a030 fc2b51194c Author: QMK Bot Date: Sat May 1 01:00:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fc2b51194c58140b096b4c953c703b7f3f6f1fbc Author: Joel Challis Date: Sat May 1 02:00:04 2021 +0100 Allow .h to be optional when going data driven (#12706) * Allow .h to be optional when going data driven * Remove stub files as no longer required * Rename function * Remove include of layouts.h for now * Take advantage of type=keyboard_folder * Take advantage of type=keyboard_folder - kb should still be mandatory commit 876352a030c213aa04cff323ab94ea1cb1547064 Merge: 109b462789 18dc12cd78 Author: QMK Bot Date: Fri Apr 30 20:24:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 18dc12cd78448bffe4ad54aa15aa715ee959e64c Author: k.bigwheel Date: Sat May 1 05:23:39 2021 +0900 [Keyboard] Fix bootloader rule for meishi2 keyboard (#12740) commit 109b46278943f8f079ae508f20e07a5a75af90d8 Merge: fc29068986 489c814a48 Author: QMK Bot Date: Fri Apr 30 17:46:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 489c814a485cf3165927a93b6d29ad6c1eeac017 Author: David Fryer Date: Fri Apr 30 13:45:36 2021 -0400 Add breeze variants (#12596) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Adrian <42110361+xSteins@users.noreply.github.com> commit fc29068986b0df5f2371b14f5341a078876c55ec Merge: c05fef752e 8190a795ed Author: QMK Bot Date: Thu Apr 29 18:26:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8190a795ed3133ccab69b71f01104996080411bc Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Apr 29 11:25:30 2021 -0700 DracuLad: add Configurator data and rework layout macro (#12727) * add info.json file * refactor keymaps for readability * rework layout macro Arranges the layout macro and keycodes to resemble the physical layout. * readme touch-up Corrections to capitalization and spelling, and removal of extra white space. commit c05fef752e897235ebebbd89e0f159e05bd42fe4 Merge: 9d5cd52284 d3963a61cb Author: QMK Bot Date: Thu Apr 29 16:55:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d3963a61cb9209efce1d8f052d5d8e7aaa2be48b Author: Paul Ewing Date: Thu Apr 29 09:55:01 2021 -0700 Add firmware for CozyKeys Bloomer keyboard (#12639) Co-authored-by: Ryan Co-authored-by: Erovia commit 9d5cd52284a0b1864fecf471c93750819192d5c5 Merge: b481f554a0 4abc3ceb4b Author: QMK Bot Date: Thu Apr 29 16:49:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4abc3ceb4be6f4d6c84458e22baee675560eb562 Author: Joel Challis Date: Thu Apr 29 17:48:34 2021 +0100 Align drivers.txt with toolbox (#12741) commit b481f554a0822a9a5d1951560796fede9056480f Merge: 39bc8163d0 05ee0afd54 Author: QMK Bot Date: Thu Apr 29 10:39:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 05ee0afd5443d856b1adf2fd4ddea50797919f65 Author: Wilba Date: Thu Apr 29 20:39:14 2021 +1000 Fix F13 LED issue for WT75-B, WT75-C (#12729) commit 39bc8163d013b5c7e148b7e95b3883dc0adb95ba Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Apr 29 13:36:47 2021 +1000 [CI] Format code according to conventions (#12731) Co-authored-by: QMK Bot commit d8167779cdfb243cb140782210d2cc6a7cb9b123 Author: Drashna Jaelre Date: Wed Apr 28 19:39:54 2021 -0700 Change RGB/LED Matrix to use a simple define for USB suspend (#12697) commit 7409f03cbf7a863e0c2c949de2a5a276f5661c04 Merge: 0a8e37509b 54e8dd0885 Author: QMK Bot Date: Wed Apr 28 10:46:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 54e8dd08857b04c1bdf28e2eaa6cc7aefd72f70f Author: Nick Brassel Date: Wed Apr 28 20:46:13 2021 +1000 Fix up bad keycode in #12405. (#12722) commit 0a8e37509b83f317cf8b58b6459fcb25bcbc1e73 Author: Nick Brassel Date: Wed Apr 28 20:42:53 2021 +1000 Fix bad PR merge for #6580. (#12721) commit cd6168ee64240694e8521a3b70de3b7bd0bc329d Merge: d89d341541 63cdf80885 Author: QMK Bot Date: Wed Apr 28 01:39:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 63cdf80885ad8407583bba521b00e7f613dca2f1 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Wed Apr 28 01:39:14 2021 +0000 add default folder to standard (#12712) commit d89d34154105c6a388327b84b5127bc9c83c5640 Merge: e95c76aaed 2af86cec3d Author: QMK Bot Date: Tue Apr 27 20:55:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2af86cec3d85c304ecb83086b6c1929b7277c659 Author: alittlepeace Date: Tue Apr 27 15:54:34 2021 -0500 YMDK Wings: Update config.h (#12718) Adds Caps Lock LED indicator configuration. commit e95c76aaed1c5e19a666acb5f3f682e0c0df014b Merge: eea33df1f9 e5cde191e1 Author: QMK Bot Date: Tue Apr 27 19:37:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e5cde191e117be8f56e6c34fb37e9fb56c715116 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Apr 27 12:36:53 2021 -0700 Add flashing instructions to GMMK Pro readme (#12719) commit eea33df1f97368445523c8b78ed8b1436d89d7df Merge: 3e43a7f044 7be4047df0 Author: QMK Bot Date: Tue Apr 27 18:37:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7be4047df033cd1833ed3fa073d0c7954c063554 Author: W. Ducky <82298089+WholesomeDucky@users.noreply.github.com> Date: Tue Apr 27 14:37:11 2021 -0400 GMMK Pro: Fixed Bootmagic Lite support; personal keymap; VIA support (#12554) * Added WholesomeDucky keymap for GMMK Pro * Finalized keymap & added 1000hz polling for GMMK Pro * Corrected for RAlt and Fn being swapped * Fixed RAlt and Fn being swapped in the layout definition. Updated personal keymap to reflect fixed layout. * Removed an old comment from personal keymap for GMMK Pro * added VIA support * Defined bootmagic row and column for GMMK Pro Esc key * Update keyboards/gmmk/pro/config.h * Update keyboards/gmmk/pro/keymaps/via/keymap.c * Update keyboards/gmmk/pro/keymaps/via/keymap.c commit 3e43a7f044f0e20832bb3e03ebf3d2ba41249cf2 Merge: f30637ee11 3fe356e65c Author: QMK Bot Date: Tue Apr 27 17:42:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3fe356e65c65f725e94f3ad32fd65cc24befb531 Author: Mango The Fourth <40720523+MangoIV@users.noreply.github.com> Date: Tue Apr 27 19:41:11 2021 +0200 Add Draculad keyboard (#12604) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Erovia Co-authored-by: mangoiv commit f30637ee11bc89a4c87b145689495aca717f3ca5 Merge: 86ab4fcb71 b95231c1e3 Author: QMK Bot Date: Tue Apr 27 17:24:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b95231c1e3bdc2bb617112f87d8dc6026d0d3ee8 Author: Ryan Mitchell Date: Tue Apr 27 12:23:41 2021 -0500 GMMK Pro: add RESET binding, fix layout macro bug (#12684) * add RESET binding, fix layout mod key bug (fixes #12683) * remove underscore #define and use core's instead commit 86ab4fcb71ab6af6eb0e609ec392cf16f4bfa57c Merge: a8c0954db5 f9fb52951d Author: QMK Bot Date: Tue Apr 27 06:45:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f9fb52951de60e9428a6c397bf167a6e7e9433f3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Apr 26 23:44:45 2021 -0700 Update noroadsleft userspace and keymaps (2021-04-26) (#12711) * Update noroadsleft userspace and keymaps (2021-04-26) - add Discipline keymap - move Emulated Non-US Backslash, Numeric Keypad and F13-F24 code fully to userspace - re-add some custom keycode handling I accidentally deleted - update VRSN keycode - update KC60 and userspace readmes * remove Git readme from kc60 keymap * update kc60:noroadsleft readme Concatenates this readme into one file, and updates the image links. commit a8c0954db5b0c39413c49b17c30a626e69373d3e Merge: 171f3e840b b5419bd574 Author: QMK Bot Date: Mon Apr 26 19:18:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b5419bd574600565bf4b2479bf07c7cc39dbfeea Author: Andrew Kannan Date: Mon Apr 26 15:18:17 2021 -0400 Add python-version to gitignore (#12678) commit 171f3e840b0cb990d71ad034d906b3044c77ce29 Merge: 54c1548247 8f660ca1e6 Author: QMK Bot Date: Mon Apr 26 17:24:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8f660ca1e652b3b53580442d321642165adbc7d0 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Mon Apr 26 17:24:19 2021 +0000 [Keyboard] fix planck light via endpoints (#12701) commit 54c1548247cce3044fea7573e0ca2d37560259ad Author: JTM <68515848+MatthieuLu@users.noreply.github.com> Date: Mon Apr 26 01:38:13 2021 -0700 Updated Function96 with V2 files and removed chconf.h and halconf.h (#12613) Co-authored-by: Ryan Co-authored-by: JuanTapMan <68515848+JuanTapMan@users.noreply.github.com> commit 9cf82fae9566c68ea2ffcb120375868f27f94ecf Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Mon Apr 26 03:07:15 2021 +0000 Add STM32L433 and L443 support (#12063) * initial L433 commit * change to XC * fix L433 * disable all peripherals * update system and peripheral clocks * 433 change * use its own board files * revert its own board files * l433 specific change * fix stm32l432xx define * remove duplicate #define * fix bootloader jump * move to L443xx and add i2c2, spi2, usart3 to mcuconf.h * move to L443 * move to L443 * fix sdmmc in mcuconf.h * include STM32L443 * add L443 * Include L443 in compatible microcontrollers Co-authored-by: Nick Brassel * Include L443 in compatible microcontrollers Co-authored-by: Nick Brassel * Update config bootloader jump description Co-authored-by: Nick Brassel * Update ChibiOS define reasoning Co-authored-by: Nick Brassel * Update quantum/mcu_selection.mk Co-authored-by: Nick Brassel * fix git conflict Co-authored-by: Nick Brassel commit 5168af9a9bd0693cd5bddd4a07bea464015b5e5a Merge: 61a1915cce 2f47bafd6a Author: QMK Bot Date: Mon Apr 26 02:52:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2f47bafd6a9c648daa4cfc11d5b1f15e32be3fc8 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Mon Apr 26 02:52:00 2021 +0000 fix configs (#12631) commit 61a1915cce620cfa732389d0601ff30e34962e60 Merge: 03db48af75 417a07c22d Author: QMK Bot Date: Sun Apr 25 20:46:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 417a07c22db39dc544f00f9a8b71a7fe1479981e Author: Luis Moreno Date: Sun Apr 25 22:46:28 2021 +0200 [Config] Add VSCode workspace files to .gitignore (#12469) commit 03db48af750a29b2548b2132ae5df66f4be7c5e0 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun Apr 25 19:01:49 2021 +1000 Format code according to conventions (#12687) Co-authored-by: QMK Bot commit 8c12fa2e59583b22969aea2c6eeab054a23ea064 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun Apr 25 19:00:22 2021 +1000 Format code according to conventions (#12682) Co-authored-by: QMK Bot commit 3f7350732c9722b87ea52eee740e587a70b8fb38 Author: Purdea Andrei Date: Sun Apr 25 11:59:25 2021 +0300 Add support for MCU = STM32F446 (#12619) * Add support for MCU = STM32F446 * Update platforms/chibios/GENERIC_STM32_F446XE/configs/config.h Co-authored-by: Nick Brassel * Restore mcuconf.h to the one used by RT-STM32F446RE-NUCLEO64 * stm32f446: update mcuconf.h and board.h for 16MHz operation, with USB enabled, and other peripherals disabled. Co-authored-by: Nick Brassel commit 5b1c3e360a750a6638ac363d84a6f0d0670f9a5c Merge: 412e7a03e4 611cd80861 Author: QMK Bot Date: Sun Apr 25 08:57:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 412e7a03e49d044a2dea0fb38b05fb24c8d6eabe Author: Purdea Andrei Date: Sun Apr 25 11:57:49 2021 +0300 eeprom driver: Refactor where eeprom driver initialisation (and EEPROM emulation initialisation) occurs to make it non-target-specific. (#12671) commit 611cd80861b1bd8ad57ef5b78f11a349e74b1949 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Apr 25 08:57:22 2021 +0000 [Keyboard] Ninjin (#12496) * ninjin init * put in gpl thing * underglow * update to latest chibios * fix gpl headers * remove other files * fix header * Update keyboards/xelus/ninjin/readme.md Co-authored-by: Nick Brassel * Update keyboards/xelus/ninjin/mcuconf.h Co-authored-by: Nick Brassel * Update keyboards/xelus/ninjin/halconf.h Co-authored-by: Nick Brassel Co-authored-by: Nick Brassel commit 23e70fa857b295ded37d1989eab4556d64477ff0 Merge: ee26e3df60 89bd04b9eb Author: QMK Bot Date: Sun Apr 25 04:03:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 89bd04b9eba72c93e6e9227179aa4a1236f3061b Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sat Apr 24 23:02:42 2021 -0500 peepeetee's *very janky* hub16 keymap (#12506) * peepeetee's bodged hub16 keymap * add layer 3 lighting * actually adds layer 3 lighting * fixes layer 0; behavior is that layor 0 is unaltered from base pattern, while other states have distinct solid colors commit ee26e3df60fb66462a2792881cb2da7636d3ae38 Merge: ab6d07b585 5b394e82c9 Author: QMK Bot Date: Sun Apr 25 04:00:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5b394e82c9da068dfed83ea6bdc40ba5182d7419 Author: calebchongc Date: Sun Apr 25 04:59:37 2021 +0100 Update checking board master function (#12493) changed is_master to is_keyboard_master() commit ab6d07b585b229414de606de752ccce39f5fb8d5 Merge: 891d18d356 da6e888a32 Author: QMK Bot Date: Sun Apr 25 03:42:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit da6e888a32a6d9c09a1506e9ae4a59a36f8a5354 Author: Sergey Vlasov Date: Sun Apr 25 06:41:37 2021 +0300 Do not leak weak mods from tap dance to the interrupting keypress (#12471) Tap dance callbacks may register weak mods; one case when it happens is when a tap dance registers a key with modifiers. When the tap dance is interrupted by pressing another key, these weak mods could affect the interrupting key (normally any stale weak mods are cleared at the start of action_exec() when handling a keypress event, but the tap dance interrupt check code is called later, and the weak mods left by that code were not cleared). Add another clear_weak_mods() call to preprocess_tap_dance() to make sure that the interrupting keypress is not affected by unrelated weak mods from the previous tap dance. Fixes #12445. commit 891d18d3565090abd5f218a8787acc3e25349b73 Author: Nick Brassel Date: Sun Apr 25 13:40:56 2021 +1000 Add initial support for tinyuf2 bootloader (when hosted on F411 blackpill) (#12600) * Add support for jumping to tinyuf2 bootloader. Adds blackpill UF2 example. * Update flashing.md * Update chconf.h * Update config.h * Update halconf.h * Update mcuconf.h commit 2a61a500de6fb286cedf644f56d70d05a0b96f0d Merge: 64a9cf18e1 d3bf3d3b1c Author: QMK Bot Date: Sun Apr 25 03:16:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d3bf3d3b1cfa9bd6d60ef605cf767e1fb1957c07 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun Apr 25 13:15:48 2021 +1000 Format code according to conventions (#12681) Co-authored-by: QMK Bot commit 64a9cf18e154aab7c767f2a519530d4190f49d8c Merge: 19b3aa3a12 dbd65d01b6 Author: QMK Bot Date: Sun Apr 25 03:12:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dbd65d01b656e0e43511da4b144dc3408f3046d1 Author: Purdea Andrei Date: Sun Apr 25 06:11:41 2021 +0300 Fix how USB queue overflow is handled in chibios. (#12576) * Fix how USB queue overflow is handled in chibios. This commit reverts PR 12472 (commit c823fe2d3f23ed090e36ce39beed4c448298bd2f), and it implements the original intent of the commit in a better way. The original intent of the above mentioned commit was to not deadlock the keyboard when console is enabled, and hid_listen is not started. The above mentioned commit had a few drawbacks: 1) When a lot of data was printed to the console, the queue would get full, and drop data, even if hid_listen was running. (For example having matrix debug enabled just didn't work right at all) 2) I believe the function in which this was implemented is used by all other USB endpoints, so with the above change, overflow, and data loss could happen in other important functions of QMK as well. This commit implements deadlock prevention in a slightly similar way to how it's done on AVR. There is an additional static local variable, that memorizes whether the console has timeouted before. If we are in the timeouted=false state, then we send the character normally with a 5ms timeout. If it does time out, then hid_listen is likely not running, and future characters should not be sent with a timeout, but those characters should still be sent if there is space in the queue. The difference between the AVR implementation and this one is that the AVR implementation checks the queue state directly, but this implementation instead attempts to write the character with a zero timeout. If it fails, then we remain in the timeouted=true state, if it succeeds, then hid_listen started removing data from the queue, so we can go out of the timeouted=true state. * Added comment explaining the timeouted logic to console flow control. * Console flow control: refactor chibios flowcontrol code to make it more readable, and rename the timeouted variable to timed_out on both chibios and lufa. Changed comments to says timed_out is an approximation of listener_disconnected, to make it clear that it's not the same thing * fix typo commit 19b3aa3a12324fb4fb732acd24aa162c88badc85 Merge: 7718b1598e c7ca67a036 Author: QMK Bot Date: Sun Apr 25 01:48:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c7ca67a036e9e4cd87ff203cf3c3d1922cb79e6d Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sun Apr 25 09:47:43 2021 +0800 Add RGB matrix suspend wake function for Planck/rev6 (#12290) * Add RGB matrix suspend wake function for Planck/rev6 * Update suggested definition to allow user override. Co-authored-by: Nick Brassel Co-authored-by: filterpaper Co-authored-by: Nick Brassel commit 7718b1598e770dc3bee1c66a4b6a4adedf1e5b3d Merge: 65c9752762 b88498ba85 Author: QMK Bot Date: Sun Apr 25 01:16:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b88498ba85aaf2fdd955ee9cbae6cffb327497de Author: Nick Brassel Date: Sun Apr 25 11:15:54 2021 +1000 Fix CLI incorrectly following `DEFAULT_FOLDER` (#12529) * Attempt to sort out incorrectly following DEFAULT_FOLDER. * Fix CI checks. * qmk pyformat commit 65c97527624d4865d3867371722742c477f71268 Author: Sergey Vlasov Date: Sun Apr 25 04:15:37 2021 +0300 Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx (#12403) * Fix default ADC_RESOLUTION for ADCv3 (and ADCv4) Recent ChibiOS update removed ADC_CFGR1_RES_10BIT from the ADCv3 headers (that macro should not have been there, because ADCv3 has CFGR instead of CFGR1). Fix the default value for ADC_RESOLUTION to use ADC_CFGR_RES_10BITS if it is defined (that name is used for ADCv3 and ADCv4). * Update ADC docs to match the actually used resolution ADC driver for ChibiOS actually uses the 10-bit resolution by default (probably to match AVR); fix the documentation accordingly. Also add both ADC_CFGR_RES_10BITS and ADC_CFGR1_RES_10BIT constants (these names differ according to the ADC implementation in the particular MCU). * Fix pinToMux() for B12 and B13 on STM32F3xx Testing on STM32F303CCT6 revealed that the ADC mux values for B12 and B13 pins were wrong. * Add support for all possible analog pins on STM32F1xx Added ADC mux values for pins A0...A7, B0, B1, C0...C5 on STM32F1xx (they are the same at least for STM32F103x8 and larger F103 devices, and also F102, F105, F107 families). Actually tested on STM32F103C8T6 (therefore pins C0...C5 were not tested). Pins F6...F10, which are present on STM32F103x[C-G] in 144-pin packages, cannot be supported at the moment, because those pins are connected only to ADC3, but the ChibiOS ADC driver for STM32F1xx supports only ADC1. * Add support for all possible analog pins on STM32F4xx Added ADC mux values for pins A0...A7, B0, B1, C0...C5 and optionally F3...F10 (if STM32_ADC_USE_ADC3 is enabled). These mux values are apparently the same for all F4xx devices, except some smaller devices may not have ADC3. Actually tested on STM32F401CCU6, STM32F401CEU6, STM32F411CEU6 (using various WeAct “Blackpill” boards); only pins A0...A7, B0, B1 were tested. Pins F3...F10 are inside `#if STM32_ADC_USE_ADC3` because some devices which don't have ADC3 also don't have the GPIOF port, therefore the code which refers to Fx pins does not compile. * Fix STM32F3xx ADC mux table in documentation The ADC driver documentation had some errors in the mux table for STM32F3xx. Fix this table to match the datasheet and the actual code (mux settings for B12 and B13 were also tested on a real STM32F303CCT6 chip). * Add STM32F1xx ADC pins to the documentation * Add STM32F4xx ADC pins to the documentation commit f12aea5dfb8102a3ffba33e710c1161ad8a2580f Merge: 7845cf1fac 0c50a9eae9 Author: QMK Bot Date: Sun Apr 25 01:14:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0c50a9eae9a7e1773130686b60237ad9e899cd14 Author: Leon Anavi Date: Sun Apr 25 04:14:28 2021 +0300 [Keymap] Add Git keymap for ANAVI Macro Pad 8 (#12436) Git keymap for ANAVI Macro Pad 8 with the following shortcuts. On the first row from left to right: - git status - git log - git pull - git push On the second row from left to right: - git diff - git add - git commit - FN key to switch to the 2nd layout and control lights Reduce the number of supported RGB animations and effects in config.h to shrink the firmware size and fit it on the device. Signed-off-by: Leon Anavi commit 7845cf1facd508692adc1f065e700c0c65d92729 Merge: 33a5468a60 35944df7b0 Author: QMK Bot Date: Sun Apr 25 01:05:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 35944df7b0a119ed8d72a686c1e75899572aa82b Author: gkeyboard Date: Sun Apr 25 08:04:38 2021 +0700 Add lm60n keyboard (#12408) Add lm60n keyboard commit 33a5468a608e8f9a7c8003eef1216d097f705920 Merge: 34b63cecb1 2a45d99059 Author: QMK Bot Date: Sun Apr 25 01:02:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2a45d99059c84e37da4f16a07b324adbe30ddebc Author: Matthew Dias Date: Sat Apr 24 20:02:00 2021 -0500 Add m3n3van rev2 (#12405) * Add m3n3van rev2 * Add via support commit 34b63cecb1f9223bd2ad9aa19f32ddde3d466ad6 Merge: 7748a093cb 06f8cb1b8a Author: QMK Bot Date: Sun Apr 25 01:01:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 06f8cb1b8a1f891d7d3b00a41a73ff2293115479 Author: Christian Fehmer Date: Sun Apr 25 03:00:56 2021 +0200 Add VIA support for Filco Majestouch 2 /w The Tiger Lily (#12401) commit 7748a093cb7d231f01282f7f1a54a16351e61049 Merge: d8f113bf98 b2b075c123 Author: QMK Bot Date: Sun Apr 25 01:00:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b2b075c12357eab8f286a6e103a588b38c538547 Author: Pavlos Vinieratos Date: Sun Apr 25 02:00:12 2021 +0100 not accessible and not needed anyway for a test keymap (#12366) commit d8f113bf9807ac17a3c3eb19df3481412674069d Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun Apr 25 10:34:38 2021 +1000 Format code according to conventions (#12680) Co-authored-by: QMK Bot commit 26b9b3aa2308a24e069f5ae2ab86e3df24492eed Author: Daniel Rodríguez Rivero Date: Sun Apr 25 02:22:47 2021 +0200 feat: infinite timeout for leader key (#6580) * feat: implement leader_no_timeout logic * docs(leader_key): infinite leader timeout docs commit 8f5cc8d762db8a9a4ce3f41e4b66a8602f2da6f0 Merge: 6be87836dc 54dc6b7bf2 Author: QMK Bot Date: Thu Apr 22 21:16:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 54dc6b7bf28051a44db9c5e1d2fabdfa345b5cdf Author: SonOfAres <80911120+SonOfAres@users.noreply.github.com> Date: Thu Apr 22 17:15:28 2021 -0400 adding keyboard (#12414) * adding keyboard * Update keyboards/iriskeyboards/readme.md - picture size Co-authored-by: Ryan * Delete iriskeyboards.json, it belongs in VIA repo * Update info.json * Update readme.md * Update keyboards/iriskeyboards/keymaps/default/keymap.c Removing unnecessary layers Co-authored-by: Ryan Co-authored-by: Ryan commit 6be87836dcd6a6cb4b75bf631f8b158d72691cf9 Merge: 417803d7ae ffa1507c2c Author: QMK Bot Date: Thu Apr 22 17:14:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ffa1507c2c27cf9d1e6fcceeb5a7810a8d2eae19 Author: George Wietor Date: Thu Apr 22 13:13:44 2021 -0400 VIA support for Planck Rev6 (#9144) Co-authored-by: Joel Challis Co-authored-by: George Wietor Co-authored-by: Jack Humbert commit 417803d7ae7a1fa84658ca547498c8d815543f20 Merge: 15ff1927db 4f2afaa6fb Author: QMK Bot Date: Thu Apr 22 14:58:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4f2afaa6fbb184e7f22bec1a1df0aad55922d85e Author: rainkeebs <44819800+rainkeebs@users.noreply.github.com> Date: Thu Apr 22 07:58:09 2021 -0700 Delilah keyboard added (#12638) * Delilah keyboard added * Apply suggestions from code review Co-authored-by: Drashna Jaelre * removed unnecessary lines as per review * removed unnecessary lines as per review Co-authored-by: Drashna Jaelre commit 15ff1927dbb01542de895cf8c6c91b69591893ca Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Apr 22 19:26:17 2021 +1000 [CI] Format code according to conventions (#12650) Co-authored-by: QMK Bot commit d6ab908272e7f8f391b19aee0c8a9dce9b24f511 Author: Ryan Date: Thu Apr 22 19:21:13 2021 +1000 LED Matrix: Split (#12633) commit 5d458c6c8ae6dcddec7dde87087b5169673ce69c Merge: fbc5a6c24b 0b6d8150e4 Author: QMK Bot Date: Wed Apr 21 23:51:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0b6d8150e4a30deb01d3eef4eca72a4eea365355 Author: MechMaster48 Date: Wed Apr 21 16:50:26 2021 -0700 Personal keymap for dztech DZ60RGB plus README.md (#12485) * Personal keymap and README to go along with it. * Noticed typo in README and removed name from comment in keymap * Added GPL copyright notice commit fbc5a6c24b304766d51bcb677da9786f3004123f Merge: 15872bde61 054adbaf1e Author: QMK Bot Date: Tue Apr 20 19:02:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 054adbaf1e1e819f1dcd881bb6278b47d20cfe3d Author: Joshua Coffey <31978203+JoshEvCoffey@users.noreply.github.com> Date: Tue Apr 20 15:01:54 2021 -0400 Update for the dodger keymap for the Planck (#12456) commit 15872bde615ecf694e8bfd6e939a4f73ef4d4d1f Merge: b09d068bf6 6b5e349d7e Author: QMK Bot Date: Tue Apr 20 18:13:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6b5e349d7e3c3684c1baa543972dd0504217c7ba Author: Drashna Jaelre Date: Tue Apr 20 11:12:57 2021 -0700 Add additional info to PR Checklist (#12630) Co-authored-by: Nick Brassel commit b09d068bf6f33f8dee84f8125fee3b982f5f7def Merge: f7f8f97e6a 1cecd593c8 Author: QMK Bot Date: Tue Apr 20 17:52:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1cecd593c81e1dca225919614b6f3f8f3f1d4bf7 Author: Joel Challis Date: Tue Apr 20 18:51:55 2021 +0100 Fix for gcc10 teensy_lc eeprom build warning (#12587) commit f7f8f97e6a6858358cfbb9367c7990e9b5b91c72 Merge: 2927af43e1 2bccb7132d Author: QMK Bot Date: Tue Apr 20 17:50:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2bccb7132da24fa9d3a3a74a6c9e578b6d1960c8 Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Tue Apr 20 10:50:06 2021 -0700 [Keyboard] Siris (#12415) Co-authored-by: Ryan Co-authored-by: Swiftrax commit 2927af43e1a662233f093f22456bbcbb3955bfed Merge: 7795e167ab 0d5458a7ad Author: QMK Bot Date: Tue Apr 20 17:48:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0d5458a7ad4fa8a36692711160d558b0522bc66a Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Wed Apr 21 00:47:58 2021 +0700 [Keyboard] add adelais rev4 (#12443) commit cce9ddff80fe7808bf0a8005a4fc3eb51c6e1bdb Author: Felix Jen Date: Tue Apr 20 12:47:31 2021 -0500 [Keyboard] Added BKS65 Solder PCB (#12451) Co-authored-by: Ryan commit 7795e167ab5991ffaa7f7742f2599d71a4c7cdd3 Merge: b68ed9ebea d330203486 Author: QMK Bot Date: Tue Apr 20 17:46:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d330203486d077e52742ee523c67b261e9daa4b8 Author: Christiano Haesbaert Date: Tue Apr 20 19:46:19 2021 +0200 [Keyboard] Add amigopunk, a handwired 75% ALPS (#12489) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit b68ed9ebead316311c878e97152235d5166aaec9 Merge: ed59337239 45a557641d Author: QMK Bot Date: Tue Apr 20 17:25:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 45a557641d89330fb8b3777c02606413374931bd Author: kb-elmo Date: Tue Apr 20 19:24:36 2021 +0200 [Keyboard] Matrix 1.2og AVR PCB - VIA support (#12534) commit ed59337239ab9cbf16005f937f89e70c29188d88 Merge: 120b15458c 271c7d4923 Author: QMK Bot Date: Tue Apr 20 17:23:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 120b15458ca70f06880f5f168bc0b914a72d0efa Merge: 19887f2d35 54bad99e0e Author: QMK Bot Date: Tue Apr 20 17:23:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 271c7d4923f58d6e4548ff2124de2c6af11e6fb6 Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Tue Apr 20 19:23:00 2021 +0200 [Keyboard] Added support for the older no_led revision (#12563) commit 54bad99e0e94060edfad16e0a293e5feac2a478e Author: duoshock <33636898+duoshock@users.noreply.github.com> Date: Tue Apr 20 18:22:29 2021 +0100 [Keyboard] Update ISO Macro vendor ID to meet VIA requirement (#12564) Co-authored-by: online <33636898+online@users.noreply.github.com> commit 19887f2d35a280ae262fc5743060444f4bb5068c Merge: a9e6dc3629 9a3ba6874c Author: QMK Bot Date: Tue Apr 20 17:22:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9a3ba6874c5ccd42304e5ea956c86fe54bcf41fa Author: kb-elmo Date: Tue Apr 20 19:21:59 2021 +0200 [Keyboard] fix bella debounce (#12568) commit 5f670fbdc417a3db0163d233b6f3a0d508c0f464 Author: yynmt <45400583+yynmt@users.noreply.github.com> Date: Wed Apr 21 02:21:39 2021 +0900 [Keyboard] Add Acperience12 macropad (#12573) Co-authored-by: yynmt commit a9e6dc36299e45157888b3146e63c80ba7cad57c Merge: c922fc2cf3 bd07120d33 Author: QMK Bot Date: Tue Apr 20 17:18:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bd07120d3303ee38498e01bbef9052d4d50f77f5 Author: Dimitris Papavasiliou Date: Tue Apr 20 20:17:39 2021 +0300 [Keyboard] Fix and improve SPI transport in the Lagrange (#12606) Co-authored-by: Dimitris Papavasiliou commit c922fc2cf35b4a45b673fa5343a9a96fc05a7856 Author: Michael Stapelberg Date: Tue Apr 20 19:08:29 2021 +0200 [Keyboard] kint2pp: reduce input latency by ≈10ms (#12625) commit 3d32cbb0dccf44176bfafec35dfabb451c71b9bc Author: Michael Stapelberg Date: Tue Apr 20 19:08:01 2021 +0200 [Keyboard] kint36: switch to sym_eager_pk debouncing (#12626) commit 8da2c486504cf904005f479deb4b61b9183a040f Merge: 5aa3fd5ac7 4ff16fe73e Author: QMK Bot Date: Tue Apr 20 16:59:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4ff16fe73e0850beeca446d53902527c2cbabe8a Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Tue Apr 20 10:59:05 2021 -0600 [Keyboard] doodle macropad - 03/14 (#12243) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 5aa3fd5ac707ff35296ef0339ced022753ebd499 Merge: 6620b6c515 21c147c11b Author: QMK Bot Date: Tue Apr 20 16:57:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 21c147c11b23aad7a9335fee309531eac22ecf6b Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Tue Apr 20 23:56:32 2021 +0700 [Keyboard] Refactor IF87_rev1 (#12574) commit 6620b6c5155a9139b210d1fbec526eb3ebac5de8 Merge: e31f210b59 752f5d6eb6 Author: QMK Bot Date: Tue Apr 20 16:32:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 752f5d6eb699d9c9582c84e2ed578aa6f46b2d70 Author: tszaboo <74186529+tszaboo@users.noreply.github.com> Date: Tue Apr 20 18:32:20 2021 +0200 [Keyboard] Fixing files for Orto4exent (#12607) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit e31f210b59dfb613d6810a572a154892f09db1ed Merge: 39e80a3f5c b6c353db0c Author: QMK Bot Date: Tue Apr 20 16:24:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b6c353db0c0275b626a00fc0e078777fe438227d Author: obosob Date: Tue Apr 20 17:23:48 2021 +0100 [Keyboard] Set OLED_DISPLAY_128X64 for Arch-36 (#12609) Co-authored-by: Ryan commit 39e80a3f5ceaa4d07a95e1fb7dfdaec54d3b64f4 Merge: bc66d71dae 666944df2e Author: QMK Bot Date: Tue Apr 20 16:15:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 666944df2e2172614f9bdeef227b2d89ed511a36 Author: GLozares <49708169+GLozares@users.noreply.github.com> Date: Tue Apr 20 09:15:21 2021 -0700 [Keyboard] Add millipad keypad and default keymap (#12522) commit bc66d71daed0a192d1e64024461bd469bd1e1872 Merge: 427bff8504 3d37afd495 Author: QMK Bot Date: Tue Apr 20 16:12:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3d37afd495da35e30961969de27190e9e3a4d7e7 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Apr 20 16:11:48 2021 +0000 [Keyboard] Pachi Mini 32u4 (#12533) Co-authored-by: Ryan commit 427bff8504635da8d40899bf77d111e4c2e14c32 Merge: cb19c0906e f778ede8bd Author: QMK Bot Date: Tue Apr 20 15:18:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f778ede8bd2c175a5f4a119d9321740d16047dcf Author: Joel Challis Date: Tue Apr 20 16:17:47 2021 +0100 Initial firmware for Forever65 (#12572) commit cb19c0906e215a46a8e9461af3be022f2ebcb263 Author: Ryan Date: Tue Apr 20 17:38:44 2021 +1000 LED Matrix: Reactive effect buffers & advanced indicators (#12588) commit b1f48da5ee09a2b132d631e9f40f9b248eb941aa Merge: c02137a0d2 8405d28670 Author: QMK Bot Date: Tue Apr 20 04:13:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8405d28670c7c8235d0bc4f48b8ab63e472e128e Author: yiancar Date: Tue Apr 20 05:12:48 2021 +0100 [Keyboard] Carbo65 (#12406) Co-authored-by: Ryan commit c02137a0d245a7be8ca44cf46f05a632cc8fc702 Author: Drashna Jaelre Date: Mon Apr 19 20:34:14 2021 -0700 Add Per Key functionality for AutoShift (#11536) Co-authored-by: Ryan commit 49efd6abb0cf4c35a0d8f7ce2d9d112fe83d35e2 Merge: 663664e48f f93ad79f41 Author: QMK Bot Date: Tue Apr 20 02:40:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f93ad79f413fc7dd4b7db72fe333ce1908a517f5 Author: Jos Boersema <56587694+josjoha@users.noreply.github.com> Date: Tue Apr 20 04:40:18 2021 +0200 [Keymap] Minifan minor issues (#12592) commit 663664e48fa65542df08260d555926e09a59bc97 Merge: c3d1456615 dffa089173 Author: QMK Bot Date: Mon Apr 19 18:04:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dffa0891736ef8aeec54285f6ceb732eb7aaadf7 Author: kiwikey <75843996+kiwikey@users.noreply.github.com> Date: Tue Apr 20 01:04:03 2021 +0700 [Keyboard] Add Wanderland - An Alice-layout keyboard (#12516) Co-authored-by: Ryan commit c3d1456615555187b6cb662694a7f69c2a4c1c41 Merge: dcb8407ed6 3990c0f43d Author: QMK Bot Date: Mon Apr 19 16:40:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3990c0f43d9048b10097487595e969bfeb5bc859 Author: Jaehee Date: Tue Apr 20 01:39:54 2021 +0900 [Keyboard] Add jkdlab/binary_monkey (#12374) Co-authored-by: Ryan commit dcb8407ed694505403df010852d497f0bb33c607 Author: Purdea Andrei Date: Mon Apr 19 19:33:24 2021 +0300 Apply the "NO_LIMITED_CONTROLLER_CONNECT" fix to atmega16u2 (#12482) Co-authored-by: Ryan commit 230f09ca17c62ff1b47350f0232db2c2de4f2765 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Apr 19 20:19:16 2021 +1000 [CI] Format code according to conventions (#12623) Co-authored-by: QMK Bot commit d562b4fdc5eb873fd99880c6277042968cabe492 Merge: 46318f36ac 20f35afd53 Author: QMK Bot Date: Mon Apr 19 10:15:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 20f35afd53d6a8851d5809e082344134c0e79470 Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Mon Apr 19 05:15:23 2021 -0500 Fix bm68rgb led map (#12503) commit 46318f36ac3305623fd8f133a8ffaeba95aca499 Merge: 97e7defaae 00eea387fc Author: QMK Bot Date: Mon Apr 19 09:23:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 00eea387fcbd8ec3c37f029594891672f4889720 Author: AaronVerDow <2530548+AaronVerDow@users.noreply.github.com> Date: Mon Apr 19 04:23:20 2021 -0500 [Keymap] Iracing replay keymap (#12461) Co-authored-by: Aaron VerDow commit 97e7defaae0ff602a1a05984e78657aa6bfc6b0b Merge: 56fff80e71 2274631c8f Author: QMK Bot Date: Mon Apr 19 09:22:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2274631c8fd4fb6b20f6dc9e571dfb43625f629e Author: Robert Verst Date: Mon Apr 19 11:22:49 2021 +0200 [Keymap] Fix handling of RV_LOCK and RV_SNAP for windows (#12498) Co-authored-by: Robert Verst commit 81be065fa538c5978363d379302b069ba23860aa Author: jack <59737601+ItsWaffIe@users.noreply.github.com> Date: Mon Apr 19 03:22:18 2021 -0600 [Keyboard] VIA Support for LCK75 (#12402) commit 56fff80e71e638dcae020b731e6e02495ebbf554 Merge: 42808238c1 53a35c0d0c Author: QMK Bot Date: Mon Apr 19 09:21:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 53a35c0d0cd37e2c0e97c8e8205a2c3939076210 Author: Wilba Date: Mon Apr 19 19:21:27 2021 +1000 [Keyboard] Update RAMA WORKS M50-A (#12459) commit 42808238c179d2626f63177ade105a0c4d1a93cb Merge: 34df6743f6 cfbd9ba0e7 Author: QMK Bot Date: Mon Apr 19 09:20:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cfbd9ba0e7cb268a92ce0d212ec0477555729fa3 Author: Michael Stapelberg Date: Mon Apr 19 11:20:17 2021 +0200 eclipse: recommend changing the default project make target (#12447) This is required for example for quickly iterating with a debugger, where Eclipse will build the project automatically. It’s also shorter than the previous steps, which I think might not have been updated since https://qmk.fm/changes/2017-09-08-making-from-root-and-no-more-makefiles commit 34df6743f6f7fcbda2a241c78bb6a3b689d83235 Merge: 2c0b3649fb 5581ea8809 Author: QMK Bot Date: Mon Apr 19 08:21:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5581ea8809b8881d68b523509fd7c496c8251a7b Author: Benedict Tan Date: Mon Apr 19 16:20:51 2021 +0800 [Keyboard] Update dz60rgb default keymap (#12488) The keymap for this PCB as of April 5, 2020 has a 4rth, largely superfluous layer, creating a total of 5 layers. When ported to VIA, this results in a layer that users can access but cannot edit. I propose removing this layer completely along with it's access from the default. commit 2c0b3649fbd4949ce201cdc307610254b10dfe44 Merge: 0235fc7ab2 fe9bd0afb9 Author: QMK Bot Date: Mon Apr 19 07:32:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fe9bd0afb9a45dbad9ca06bd496e2cf72a080dac Author: Sergey Vlasov Date: Mon Apr 19 10:32:14 2021 +0300 Fix F303 audio output on A4 with the dac_basic driver (#12480) The dac_basic driver did not work properly with `#define AUDIO_PIN A4` (instead of configuring the A4 pin, the driver actually was switching the A5 pin to analog mode, breaking any other usage of that pin in addition to emitting a distorted signal on the improperly configured A4 pin). Fix the code to configure the A4 pin as intended. commit 0235fc7ab2fbc79637b6b6fcf2513fbb40770310 Merge: 180a32ec59 17c880b076 Author: QMK Bot Date: Mon Apr 19 06:43:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 17c880b076ba3bea394f3443a842c98958982a52 Author: Michael Stapelberg Date: Mon Apr 19 08:42:40 2021 +0200 [Keymap] add kinesis/keymaps/stapelberg (#12430) commit 180a32ec59339cf07323412457ec771fba69ea61 Author: Drashna Jaelre Date: Sun Apr 18 23:26:37 2021 -0700 Enhancement of WPM feature (#11727) commit f65a5d2fb5f0e48d0b0cf7a5198da32129fbb52e Merge: 6e5fd1a210 ef6802ca60 Author: QMK Bot Date: Mon Apr 19 06:18:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ef6802ca604eb6e011498fe0bbbb69a3915e0580 Author: Alexander Kagno Date: Mon Apr 19 06:17:34 2021 +0000 New keyboard keymap, small keymap updates to mm2 keymap (#12310) Co-authored-by: Drashna Jaelre Co-authored-by: Alex commit 6e5fd1a210db3a76b06c41288bc4e86051ab520c Merge: a66947b7d6 c7adb7a352 Author: QMK Bot Date: Mon Apr 19 06:13:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c7adb7a352c50704401efdbceb46ead12c4de2e2 Author: Wilba Date: Mon Apr 19 16:12:48 2021 +1000 [Keyboard] Add wilba.tech WT60-G2 (#12395) commit a66947b7d6ddd44bcd837a4f49cfe55d48369756 Merge: 86ece8e98e 10dfc8d92f Author: QMK Bot Date: Mon Apr 19 06:12:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 10dfc8d92f5da47f8cd88ecfbfc5e3801e13a3fd Author: Wilba Date: Mon Apr 19 16:12:26 2021 +1000 [Keyboard] Add wilba.tech WT65-FX (#12394) commit c7214e1d139bd492b86d87d49620a99415ee6218 Author: Wilba Date: Mon Apr 19 16:12:05 2021 +1000 [Keyboard] Add wilba.tech WT65-F (#12393) commit 86ece8e98e634731c6ed544ea2b07a90d91771b4 Merge: 5632c5db31 94d9d2bb31 Author: QMK Bot Date: Mon Apr 19 06:04:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 94d9d2bb31993f484096e7e4cfc9149611840233 Author: Eric Wood Date: Mon Apr 19 00:04:16 2021 -0600 [Keyboard] Add handwired/frankie_macropad (#12349) Co-authored-by: Ryan commit 5632c5db317a7421198dcc314316aab1a6be58ca Merge: ca9da27e16 0b560673ce Author: QMK Bot Date: Mon Apr 19 06:00:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0b560673ce351da3fe7a90237be4ae0ff7d4ef74 Author: Conor Burns Date: Mon Apr 19 08:00:05 2021 +0200 [Keyboard] Updates for 0xCB 1337 (#12336) commit ca9da27e165529736496092c655ef8e4fa84b853 Merge: 54521bd04b 2b7078cd21 Author: QMK Bot Date: Mon Apr 19 05:44:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2b7078cd2125f58fed01f222c7b6eb796f4e4642 Author: Ben Fiedler Date: Mon Apr 19 07:44:23 2021 +0200 [Keymap] add my quefrency layout (#12104) commit 54521bd04bd92775a1d36e583f86cf8cffa4cd0b Merge: 2e7fd319a1 99c46e4b73 Author: QMK Bot Date: Mon Apr 19 05:31:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 99c46e4b736cb72dee208d5ef034b91d74853013 Author: Angel Rojas <66912190+rojasa1990@users.noreply.github.com> Date: Mon Apr 19 01:30:36 2021 -0400 [Keyboard] Add G1_65 keyboard (#12140) Co-authored-by: Drashna Jaelre commit 2e7fd319a1db635bc622322f88963da726ed1c47 Merge: 21997e8894 1e19227b31 Author: QMK Bot Date: Mon Apr 19 05:25:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1e19227b31f449b72542372b9c1cade126ecafa2 Author: maz0r Date: Mon Apr 19 06:24:30 2021 +0100 [Keyboard] Capsunlocked CU80 Squish and Refactor (#12193) Co-authored-by: Ryan Co-authored-by: Erovia commit 21997e88944b192da1f207b9d69912ea245c7866 Merge: ea29874099 9b8c5c1860 Author: QMK Bot Date: Mon Apr 19 05:05:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9b8c5c186005b557c45b4f8c7a52f4261c5ca28f Author: LIParadise Date: Mon Apr 19 13:05:21 2021 +0800 [Keyboard] Helen80 matrix fixes (#11969) Co-authored-by: LIParadise commit ea2987409939805fccbcdaca7cad9098f98b37af Merge: ca11abc201 0afbf8cc3c Author: QMK Bot Date: Mon Apr 19 04:54:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0afbf8cc3ca637b427a70704fb4f1d4d218b08dc Author: Sanctified-git <32301784+Sanctified-git@users.noreply.github.com> Date: Mon Apr 19 06:53:33 2021 +0200 [Keyboard] Add Dystopia keyboard (#11997) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Erovia Co-authored-by: Sanctified commit ca11abc2016a2a80bef5dac5332f76979fd63ff9 Merge: 8ecdc66700 2aab8a114e Author: QMK Bot Date: Mon Apr 19 04:02:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2aab8a114e559cecd4aecbcaf79172f8728262f3 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Mon Apr 19 12:02:13 2021 +0800 [Keyboard] Update MJ61 architecture to support multi version (#11787) Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 8ecdc667003b0e815b38ac7d26d1782b2ee315e4 Merge: 9484c46555 6b2a3a67a6 Author: QMK Bot Date: Mon Apr 19 03:54:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6b2a3a67a6a2044049b90fdd0c16ffbbd07a302a Author: RinoSolutions <41451021+RinoSolutions@users.noreply.github.com> Date: Sun Apr 18 23:54:07 2021 -0400 [Keyboard] Adding of Monarch keyboard (#11769) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Ramon Imbao commit 9484c465555b382c1dea70dd00b1817b2a4dccfb Merge: c2d7ebc3df cfefecd951 Author: QMK Bot Date: Mon Apr 19 03:45:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cfefecd95126e81022297b83641db750552547d9 Author: Ian McLinden Date: Sun Apr 18 22:44:32 2021 -0500 [Keyboard] Added Koolertron AMAG23 (#11725) commit c2d7ebc3df2372a86e6ff8d0e45debde91326715 Merge: 7728b0f966 05357d7937 Author: QMK Bot Date: Mon Apr 19 03:37:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 05357d7937d1a806243c010e8a308a93e0bf8959 Author: Oliver Gaskell Date: Mon Apr 19 04:36:40 2021 +0100 [Keyboard] Add Tau4 keyboard (#11361) with default and i2cscanner keymaps Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 7728b0f966c9ccad42c573bb10193de1398f5503 Merge: 0a9e18fae1 a0089aa345 Author: QMK Bot Date: Mon Apr 19 03:08:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a0089aa34519ec4fcf7cee6a352424e4b7cba7da Author: Nick Brassel Date: Mon Apr 19 13:08:01 2021 +1000 Fixup Satisfaction75 bootprocess. (#12621) - Use normal ChibiOS I2C driver. - Move drawing code to housekeeping -- previously it was during matrix scan, which gets executed during bootmagic checks. However, bootmagic is invoked before QWIIC subsystem is enabled, which means I2C isn't configured yet. All I2C calls to the OLED fail with timeouts while bootmagic is being checked. Housekeeping ensures this is executed once the system has initialised and settled. - QWIIC OLED driver: properly clear out OLED buffer when clearing screen. commit 0a9e18fae13654ab6d8d85a9867fc10a4261103f Merge: 924b9fcf05 eb7e668eb9 Author: QMK Bot Date: Sun Apr 18 22:40:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit eb7e668eb908de9d41ab9d088effb8adedf520b5 Author: Richard Dawe Date: Sun Apr 18 23:39:15 2021 +0100 Add RGB controls to picture; label Layer 3 correctly (#12337) commit 924b9fcf056060d888cb711e1630e9ae63baad23 Merge: 884f8658ef a3d717cb83 Author: QMK Bot Date: Sun Apr 18 22:23:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a3d717cb83eddc9c46cd11f2326879c009126184 Author: Giorgi Chavchanidze <76832811+gkbd@users.noreply.github.com> Date: Mon Apr 19 00:22:56 2021 +0200 Keymap: Orthocarpus keymap for idobo (#12462) * Keymap: Orthocarpus keymap for idobo * Update keyboards/idobo/keymaps/gkbd_75/config.h Co-authored-by: Drashna Jaelre Co-authored-by: Giorgi Chavchanidze Co-authored-by: Drashna Jaelre commit 884f8658ef1cf9c97276568cf19a2636c0be86e3 Merge: 99ce84827a fd65451679 Author: QMK Bot Date: Sun Apr 18 22:14:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fd6545167962c0761e7797e786bc7ce8e0481f02 Author: Antoine R. Dumont Date: Mon Apr 19 00:14:23 2021 +0200 keyboardio/atreus: Add ardumont keymap (#12479) commit 99ce84827a4413c45aedcb4b366aa491c17adc56 Merge: 7f809c013a d0973e1cfb Author: QMK Bot Date: Sun Apr 18 15:52:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d0973e1cfb9f0a2643a30128ba119e76c6fe2f3c Author: Pierre Chevalier Date: Sun Apr 18 16:51:45 2021 +0100 Add ferris 0.2 (#12133) Co-authored-by: Ryan commit 7f809c013a181017b57c457a0ff7f5bd619c9319 Merge: 40365f8297 c32264d9b7 Author: QMK Bot Date: Sat Apr 17 15:47:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c32264d9b7382e86c7df75edfe3bc4154d714e25 Author: MarioCorona Date: Sat Apr 17 10:46:46 2021 -0500 mcrown crkbd new keymap (#12092) Co-authored-by: Erovia commit 40365f8297e96dbb2c31155b75ff3912c906d55f Merge: 1ac030b119 09a392433a Author: QMK Bot Date: Fri Apr 16 14:26:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 09a392433a34dfcc3416c58d7f01563504abef2f Author: Harshit Goel Date: Fri Apr 16 19:56:19 2021 +0530 Ergodone via support (#11618) Co-authored-by: Erovia commit 1ac030b11974ab3504a3087e6f82ba29674e3544 Merge: e2289ffac0 3975c712f0 Author: QMK Bot Date: Fri Apr 16 14:24:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3975c712f0c850156a3e3ec24452077e5f973309 Author: sendmmsg <47253595+sendmmsg@users.noreply.github.com> Date: Fri Apr 16 16:23:30 2021 +0200 Bug in beautifier script, compound modifiers not correctly parsed (#12595) commit e2289ffac09e86da32a331ce688e9cd3875e1cd6 Author: Joshua Diamond Date: Thu Apr 15 19:32:17 2021 -0400 Add missing RGB_MODE_TWINKLE / RGB_M_TW keycodes (#11935) * Add missing RGB_MODE_TWINKLE / RGB_M_TW keycodes * Better comment Co-authored-by: Ryan Co-authored-by: Ryan commit 1629c9b71a4fa161871ca4dce524055cf26d3bf3 Merge: 42a57b37fb a8c013a145 Author: QMK Bot Date: Thu Apr 15 17:20:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a8c013a145bf52a28b88154c9d1445615f7e984b Author: Wilba Date: Fri Apr 16 03:19:41 2021 +1000 Fix audio on WT60-XT (#12526) commit 42a57b37fb831372d9716ac4fc7651e77a295941 Merge: be1b5c5a54 a69616c45c Author: QMK Bot Date: Thu Apr 15 17:05:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a69616c45ce30463b0025c48d72d8cac0350e639 Author: Jay Greco Date: Thu Apr 15 10:04:26 2021 -0700 Optimize NIBBLE oled_bongocat keymap to reduce flash usage (#12330) * Optimize with squeez-o frame compression Adds VIA support! * Clean up for PR + Add copyright header - Remove debug print statements commit be1b5c5a54263e5d4c46ad6ece68d41c20c6d7a9 Merge: 53eb35b6cf 39d31d3ee4 Author: QMK Bot Date: Thu Apr 15 17:01:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 39d31d3ee49604fd88e6b45396da0cb4d0074da6 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Apr 15 10:01:25 2021 -0700 update readme (#12322) commit 53eb35b6cfb6cd1129a8d225aeb8a8a326851a2d Author: Ryan Date: Thu Apr 15 12:08:52 2021 +1000 LED Matrix: Task system (#12580) commit 2c0aa27e6c0db68c026d2e8d1b416bac5e9599a5 Merge: 19b143688f 588bcdc8ca Author: QMK Bot Date: Thu Apr 15 02:00:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 588bcdc8ca212b195a428fc43766a59a9252c08d Author: Zach White Date: Wed Apr 14 19:00:22 2021 -0700 Add support for tab completion (#12411) * Add support for tab completion * make flake8 happy * Add documentation commit 19b143688fabcad7ffd192e56642232f1a08fdae Merge: 3c08d27abb b33e6793de Author: QMK Bot Date: Wed Apr 14 21:51:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b33e6793de6c5f5124ee88fb3eb62d8f54f74940 Author: Jan Christoph Ebersbach Date: Wed Apr 14 23:51:08 2021 +0200 Dactyl manuform 5x6 2 5 keymap (#11353) * feat(keymap): add DactylManuform w/ 2 extra keys and 5 thumb keys * fix(keymap): add missing readme * chore: add gpl2 license header * chore: add gpl2 license header * docs[dactyl_manuform_5x6_2_5]: reformat readme Co-authored-by: Ryan Co-authored-by: Ryan commit 3c08d27abb757ca895bc6025822dbfa9a67d041a Merge: 98dd9b6614 bcceb701cd Author: QMK Bot Date: Wed Apr 14 20:39:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bcceb701cdfd91ed098407e1d6b7bcd261447621 Author: Marius Kavoliunas Date: Wed Apr 14 23:38:27 2021 +0300 [Keyboard] CyberGear Macro25 (#12518) * add cybergear macro25 keyboard * add readme and fix file namings * rename readme.md * separate default and via keymaps * add info.json * unify info.json and key coordinates * remove via json * add missing via layers * Update keyboards/cybergear/macro25/keymaps/via/rules.mk * Update keyboards/cybergear/macro25/macro25.c * Update keyboards/cybergear/macro25/macro25.h * Update keyboards/cybergear/macro25/readme.md * Update keyboards/cybergear/macro25/readme.md * Update keyboards/cybergear/macro25/readme.md * Update keyboards/cybergear/macro25/readme.md * remove unnecessary config.h parameters * Update keyboards/cybergear/macro25/config.h * remove MATRIX_ROWS and COLS from config.h * Apply suggestions from code review set to LAYOUT_ortho_2x5 and fix grammar commit 98dd9b6614ab58fb7e4d96e5d2d378cee30fbb45 Merge: 4ed273699a 9dea6f7720 Author: QMK Bot Date: Wed Apr 14 03:09:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9dea6f772077dc5c09daf40378e45884d29ab2e2 Author: J.Flanagan Date: Tue Apr 13 22:08:42 2021 -0500 [Keyboard] Add Caffeinated Studios Serpent65 (#12578) commit 4ed273699a120dab923189829f5cd07871c96590 Merge: 333cd4ec9b b64dabdffd Author: QMK Bot Date: Wed Apr 14 01:32:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b64dabdffda0ea6900beec550d2f42bc3b69ac7b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Apr 13 18:31:51 2021 -0700 Correct layout macro name in Cannonkeys Ortho75 info.json (#12581) commit 333cd4ec9b31eddaceeaa719acbe56b23a507417 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue Apr 13 19:58:34 2021 +1000 [CI] Format code according to conventions (#12570) Co-authored-by: QMK Bot commit 30f38c49525b32e7a13633a5f95ab6587bac2d55 Merge: a28fbcda23 a2ac6f50aa Author: QMK Bot Date: Tue Apr 13 09:52:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a2ac6f50aab4f16d1756eb6bb6041a9a6c34b322 Author: Leon Anavi Date: Tue Apr 13 12:52:13 2021 +0300 [Keymap] ANAVI Macro Pad 2 add Google Meet keymap (#12449) This keymap for ANAVI Macro Pad 2 contains a couple of shortcuts for Google Meet: - left key: turn on/off the microphone (mute button) - right key: turn on/off the camera Signed-off-by: Leon Anavi commit a28fbcda2306634c74e196ce98f8bebb701445b0 Author: Ryan Date: Tue Apr 13 19:51:31 2021 +1000 Terrazzo: Fix wrong LED Matrix function names (#12561) commit ce99f98bb5217ede628cfbf7e20924346b4279da Author: Ryan Date: Tue Apr 13 19:51:03 2021 +1000 LED Matrix: suspend code (#12509) commit 15f7cc3bde0199afe3b49718fa7b73bc6771e04b Author: Dave Vandyke Date: Tue Apr 13 10:39:39 2021 +0100 [Keymap] Add kzar keymap for Kinesis Advantage (#12444) commit a8d64c8b897fc7cb5be372d9580801fd1e4f8a9e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Apr 12 12:18:52 2021 -0700 Change `BOOTMAGIC_ENABLE=yes` to use Bootmagic Lite (#12172) commit f5aaecfdfcfe38b1f2c7504e80150b0df77290d3 Merge: ebdf750cdd 1a7a821582 Author: QMK Bot Date: Mon Apr 12 18:41:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1a7a821582d3b848d50fddd6e942ed278bf36eff Author: Kyle McCreery Date: Mon Apr 12 08:40:38 2021 -1000 Merc updates (#12289) commit ebdf750cdd6d1bdf00a1cd95f117eb8495173273 Merge: 79bdfc1110 50e0f5dc80 Author: QMK Bot Date: Mon Apr 12 17:56:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 50e0f5dc802c881eae0c213ee50c7bb8f0065cf0 Author: jackytrabbit Date: Tue Apr 13 01:55:57 2021 +0800 Update layout option for lazydesigners/THE40 (#12312) commit 79bdfc1110956f29eade6bc106bd43de2d4b17db Merge: 90875997ac 0f516d9026 Author: QMK Bot Date: Sun Apr 11 10:51:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0f516d902622ad4edd6e5f46a1903101b4a6f5b0 Author: Arthur Tabatchnic Date: Sun Apr 11 13:50:45 2021 +0300 A few small typo fixes in docs (#12524) commit 90875997ac86ad243277e85bd08c02bf8dff9451 Merge: f02af23973 b23eeb6a14 Author: QMK Bot Date: Sun Apr 11 10:49:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b23eeb6a14831064578428306938d577be3b6a05 Author: swampmonster Date: Sun Apr 11 12:49:12 2021 +0200 Documentation update (#12484) Update documentation to reflect what the actual target flags are Co-authored-by: swampmonster <> commit f02af23973ac368d82fa97b0914308828fad8897 Merge: c9d7a4af45 1298eab6ab Author: QMK Bot Date: Sun Apr 11 10:47:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1298eab6ab5212871213898fabea593e339024c1 Author: Joseph Whom Date: Sun Apr 11 03:46:43 2021 -0700 Update readme.md (#12502) Noticed a letter missing in "compiling". commit c9d7a4af45f776d80428f9f0a8f3a86f9f21be24 Merge: 34323ecd8b 98939868fa Author: QMK Bot Date: Sun Apr 11 10:45:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 98939868fae77ecb96674d07bd71dea78d726104 Author: Hawley Waldman <321077+hjw@users.noreply.github.com> Date: Sun Apr 11 06:45:30 2021 -0400 Update github instruction link in newbs_getting_started.md (#12510) Clarify that the link to the github/forking instructions is a link to how to fork this project. Previous wording implied that the link was to a how-to-use github in general page. commit 34323ecd8b4daa37723d662e2af84a6b81f3d618 Merge: d5a8431af4 7daa2e210c Author: QMK Bot Date: Sat Apr 10 16:34:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7daa2e210cc7fc121259535d724962c9896c5f3a Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat Apr 10 17:34:26 2021 +0100 Format code according to conventions (#12540) Co-authored-by: QMK Bot commit d5a8431af4fa3f64c457eca467ce3e969a08292b Merge: 2e2dd3113b 7d953332e0 Author: QMK Bot Date: Sat Apr 10 15:04:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7d953332e0d7c0394c607156bf4099881bdf3f43 Author: Michael Stapelberg Date: Sat Apr 10 17:03:38 2021 +0200 ChibiOS USB driver: prevent deadlock with CONSOLE_ENABLE = yes (#12472) Before this commit, attaching an ARM-based (i.e. ChibiOS-based) keyboard that uses CONSOLE_ENABLE = yes and produces debug messages would deadlock the keyboard unless one was running hid_listen. With this commit, dead-locking writes to the queue are detected and prevented. fixes #5631 commit 2e2dd3113bb837de3f217dceaf4a0715cf7b3c82 Merge: 11e5bb2d8a 03685309fd Author: QMK Bot Date: Sat Apr 10 13:23:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 03685309fd857c64ed16c231507017214e4805ca Author: Álvaro A. Volpato Date: Sat Apr 10 10:23:08 2021 -0300 Reverse K0E and K0G (#12491) Co-authored-by: Gondolindrim commit 11e5bb2d8ae95be1cef74f034ff756c7da1048ab Merge: 29d537ce7b e09ca63317 Author: QMK Bot Date: Sat Apr 10 05:58:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e09ca633173c9b6d9a1f1c7dff49ccef89fae273 Author: Eithan Shavit Date: Fri Apr 9 22:57:30 2021 -0700 [Keyboard] Add afternoonlabs/oceanbreeze (#12299) Co-authored-by: Ryan Co-authored-by: Eithan Shavit commit 29d537ce7b9b9770d99b0244793b6bc159d8a435 Merge: 688fb1999b 3dbb7f261d Author: QMK Bot Date: Sat Apr 10 00:38:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3dbb7f261dab573a3b55390394444ac3ceb3d257 Author: Ryo Maeda Date: Sat Apr 10 09:37:49 2021 +0900 [Keymap] Remove LAYOUT_kc macros from edvorakjp keymaps (#12217) commit 688fb1999b339d20ba8cd173d6dc7c53754d4ba0 Merge: bcfa3fb9f2 93e8a401df Author: QMK Bot Date: Fri Apr 9 21:36:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 93e8a401df09df910b2caad7fc5ecb13fe2142ac Author: littleferris Date: Fri Apr 9 15:36:18 2021 -0600 [Keyboard] ergosaurus - add VIA support, enabled RGB (#12126) Co-authored-by: Drashna Jaelre commit bcfa3fb9f22019d7cd7ce51e7980ecdaafe791eb Merge: 58afb87288 7f9409bbb3 Author: QMK Bot Date: Fri Apr 9 21:32:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7f9409bbb36534f23e3c120e7fa32e9256660a33 Author: hadi Date: Fri Apr 9 14:31:57 2021 -0700 [Keyboard] Added senselessclay had60 (#12093) Co-authored-by: Ryan commit 58afb872887965c424a0bc43e4eab6e963cd2a6c Merge: 0a453194e8 633464acfa Author: QMK Bot Date: Fri Apr 9 19:05:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 633464acfa68377eb993dc4437cb66ebe19010ed Author: kiwikey <75843996+kiwikey@users.noreply.github.com> Date: Sat Apr 10 02:05:14 2021 +0700 Add VIA keymap for Kawii9 (#12521) Co-authored-by: Ryan commit 0a453194e89f85bb552bf7adbcfa9b4c41bb13c4 Merge: 3190c2f98d f744e22b49 Author: QMK Bot Date: Fri Apr 9 18:49:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f744e22b4944c4e8e5e71a4eb424dd4619c3e57d Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Fri Apr 9 11:48:30 2021 -0700 Add TH1800 PCB, Hex6C PCB, Rogue87 PCB, Rouge87 PCB, Infinity87 series (#11977) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Erovia Co-authored-by: vuhopkep commit 3190c2f98d7cf6b8b3f66d9fd222c7a03f220fb4 Merge: d4b3d00d88 1a913aa12e Author: QMK Bot Date: Fri Apr 9 02:42:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1a913aa12eda0c62faba160dad55befeafdf4dc0 Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Thu Apr 8 21:41:29 2021 -0500 Fix Breaking Change date (#12272) commit d4b3d00d88c2bc83046573df2cb2bf23c71b630a Merge: 15674d0259 75f83210f4 Author: QMK Bot Date: Thu Apr 8 16:48:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 75f83210f43a3ec893635e4dd4e5d5a21dcc157d Author: Adrian <42110361+xSteins@users.noreply.github.com> Date: Thu Apr 8 23:47:24 2021 +0700 Add new handwired keyboard (Ergocheap) (#11857) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 15674d02591910961920e20747d5421b932c8ef3 Merge: 52e8875eba 2170b75b26 Author: QMK Bot Date: Thu Apr 8 04:16:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2170b75b26d46c7f46ad281b6c2eacddadc9cb45 Author: Ryan Date: Thu Apr 8 14:16:15 2021 +1000 `qmk chibios-confmigrate`: Make `-i` and `-r` required (#12515) commit 52e8875ebaeaee7810d38694059e29d7614270d0 Merge: 40c314fe5c d1270c9d55 Author: QMK Bot Date: Wed Apr 7 13:58:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d1270c9d5519c04ce9c6da3ad3d7a2a02ef255db Author: Kosuke Adachi Date: Wed Apr 7 22:57:36 2021 +0900 Update info.json to correctly. (#12507) commit 40c314fe5c99d6d85039e6155723d2c2506d0d7f Author: Ryan Date: Wed Apr 7 20:06:11 2021 +1000 LED Matrix: Implement CIE1931 curve (#12417) commit 69bc465aced1d2d4f28ef0319e78ea7096f3fda0 Merge: 96acb499d2 546dfce209 Author: QMK Bot Date: Wed Apr 7 10:04:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 546dfce20984cda4c584c26ad79a2777963bd065 Author: Ryan Date: Wed Apr 7 20:03:45 2021 +1000 Add info.json for CK60i (#12318) commit 96acb499d2a818a7072d488c4fa445d9c2bf122a Author: Nick Brassel Date: Tue Apr 6 16:39:31 2021 +1000 Fix up builds that are now too big for `develop` branch. (#12495) commit 64a0f5a659190518a9361e0bd2e8caff0b3354f1 Author: Nick Brassel Date: Tue Apr 6 16:39:15 2021 +1000 Add support for producing UF2-format binaries. (#12435) * First stab at enabling builds of UF2-format binaries. * Add description on producing a UF2 file. commit 3ce8c9fc8feedd8e92ebb81a5ba1e5b18834e6f3 Merge: 8428cedc83 e0614e4f52 Author: QMK Bot Date: Sun Apr 4 09:10:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e0614e4f52875f337668e9530ab3dcf7ce74c8cc Author: SneakboxKB <67670271+SneakboxKB@users.noreply.github.com> Date: Sun Apr 4 04:09:43 2021 -0500 Disarray ProductID change (#12440) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: mujimanic <64090325+mujimanic@users.noreply.github.com> Co-authored-by: Zach White commit 8428cedc83dc6f8745fb57af8a3c51e843e2a692 Merge: 9bedc6300d 49dc332a04 Author: QMK Bot Date: Sat Apr 3 19:43:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 49dc332a0401c9089afe91d2d06dc1f4e18fe01b Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Apr 4 04:42:29 2021 +0900 [Keymap] cleanup keyboards/helix/{rev2|rev3_5rows}/keymaps/five_rows (#12259) * cleanup keyboards/helix/{rev2|rev3_5rows}/keymaps/five_rows * Made the layout data easier to read. * helix/rev2/keymaps/five_rows/keymap.c * helix/rev3_5rows/keymaps/five_rows/keymap.c * The following two were made the same. * keymaps/five_rows/config.h * keymaps/five_rows/oled_display.c The binary of the compilation result has not changed. * update keyboards/helix/rev2/keymaps/five_rows/rules.mk KEYBOARD_LOCAL_FEATURES_MK was moved to the end. * add '#define DISABLE_SYNC_TIMER' into helix/rev3_5rows/keymaps/five_rows/config.h The sync timer features worsen the matrix scan rate of the Helix keyboard. I'm not sure if it makes sense to have sync timer features enabled on the Helix keyboard. So in my keymap I disable this. commit 9bedc6300dfe7ac99a5233550b69140741888262 Merge: cc4066189a 60e1910e5b Author: QMK Bot Date: Sat Apr 3 16:29:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 60e1910e5b4f83a07aebbb0d75276ecda6c50e27 Author: Joel Challis Date: Sat Apr 3 17:29:06 2021 +0100 Add WSL specific logic for avrdude device detection (#12392) commit cc4066189a263f8f8a416b6a9cf2e0fb51fe5f43 Merge: 733c861052 4e2ab3a177 Author: QMK Bot Date: Sat Apr 3 16:16:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4e2ab3a17734fa0460e259b835e2ea1dbfd72d75 Author: Excitable Snowball Date: Sat Apr 3 16:15:39 2021 +0000 Remove `wave` from requirements-dev.txt (#12387) This resolves to , but the places where the `wave` module is imported make it clear that the standard library module was intended. Was originally added in #11820 and used in the following files: * `util/sample_parser.py` * `util/wavetable_parser.py` commit 733c8610520884d44bae9b7f2202dd8391d32cf8 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat Apr 3 08:35:26 2021 -0700 Format code according to conventions (#12467) Co-authored-by: QMK Bot commit dd7f18f65fabe1ca2a09e973b0cb5e5df567d092 Merge: e90ec6a474 41f649c9a9 Author: QMK Bot Date: Sat Apr 3 15:29:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 41f649c9a95985603d1063f2ec5e2864a7e32a0b Author: Zach White Date: Sat Apr 3 08:25:50 2021 -0700 fix line endings commit d91938c19dd65af88713b9deffe95794ed78e889 Author: Steve Purcell Date: Sun Apr 4 03:05:46 2021 +1200 [nix] Use niv and poetry2nix to more easily manage dependencies (#11181) * [nix] Update nixpkgs to avoid issues with Big Sur The older nixpkgs snapshot did not contain nix changes to the compiler/linker hooks that are necessary for compatibility with MacOS Big Sur. The fix is simply to update to a newer snapshot. * [nix] Add a poetry manifest and use poetry to build the Python env * [nix] Use niv to manage upstream sources like nixpkgs * [nix] Update to newer nixpkgs snapshot * [nix] Bump python package versions commit a3cd1290be8187a34e3c4e156c07531380bfecaa Author: TurtleHunter <48608128+TurtleHunter@users.noreply.github.com> Date: Sat Apr 3 10:41:54 2021 -0400 3 new LED effect animations (#9827) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Erovia commit e90ec6a474713aef6b7a5a8e34b19afbd62671c4 Merge: 638cc50727 7d33d1bace Author: QMK Bot Date: Sat Apr 3 13:51:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7d33d1bace66f1d9c6dbe3860d4bed651025e580 Author: kb-elmo Date: Sat Apr 3 15:51:21 2021 +0200 Added Epoch80 (#12307) commit 638cc5072706c55b3dadcea97de24d712c348326 Merge: 1444ebb7f1 4b9f5578a0 Author: fauxpark Date: Sat Apr 3 20:15:54 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit 4b9f5578a0ec9041292ffd39ce57e457883ecf9e Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat Apr 3 20:13:45 2021 +1100 [CI] Format code according to conventions (#12468) Co-authored-by: QMK Bot commit 1444ebb7f1776db99a26bccd4ebcd230837877c3 Merge: 028a0dcd3d 59c8672f5c Author: QMK Bot Date: Sat Apr 3 06:20:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 59c8672f5c09ae078162beb836032482c79c4b93 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Apr 2 23:20:11 2021 -0700 kingly_keys/ave: move RGBLight config to keyboard level (#12457) QMK Configurator's API can't use the RGBLight configurator when it's defined at keymap level. commit 028a0dcd3d166effd82d16dd93d361cdfd9b1ee5 Merge: 655927ab15 a7920acff5 Author: QMK Bot Date: Sat Apr 3 05:12:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a7920acff5667d24f14eff3cc21eeeaae58d3711 Author: Michael Stapelberg Date: Sat Apr 3 07:12:24 2021 +0200 keymaps: fix kinesis default keymap progrm/reset keycode (#12429) The right-most top-most key on the Kinesis Advantage keyboard is labeled “Progrm” and was meant to enter the Teensy bootloader as per the comment. However, the keycode was set to KC_1, which just produces a “1”. It should be RESET instead. This commit fixes KC_1 to RESET in all files where the fix is needed. The other files have already been fixed independently. commit 655927ab157ea0bbf680ec5e75ee1cdc1036968f Merge: 051e23c782 79a87a9c2b Author: QMK Bot Date: Sat Apr 3 05:06:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 79a87a9c2bd808a6e7a5ef5250739850c4105c30 Author: Robert Verst Date: Sat Apr 3 07:06:02 2021 +0200 [Keymap] Fixing userspace `rverst` (#12422) Co-authored-by: Robert Verst commit 051e23c7824eda93c542e2edfb7411167172080f Merge: 887d0fca0e 8d3581a49f Author: QMK Bot Date: Sat Apr 3 04:45:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8d3581a49ffaf567c99d1868a93df4c3d9bb352e Author: Dylan Khor Date: Sat Apr 3 00:44:37 2021 -0400 [Keymap] Remove kc keymap from khord chocopad keymap (#12409) Co-authored-by: Ryan commit 887d0fca0e698a0a3f17636687922fbe0dc656dc Merge: 358b040157 cd96377312 Author: QMK Bot Date: Sat Apr 3 04:21:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cd9637731205e908b8b28b103fe86e50ab9f86b8 Author: kaylanm <1063516+kaylanm@users.noreply.github.com> Date: Sat Apr 3 00:20:34 2021 -0400 [Keyboard] Add GON NerD TKL VIA keymap (#12309) Co-authored-by: Ryan commit 358b0401577134e8cc4067f8354f5e77d45f9c02 Merge: 184c553cab 8b98e67643 Author: QMK Bot Date: Sat Apr 3 04:18:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8b98e67643e664dd28b96f7e40372f5b93595050 Author: MCKeebs <72995608+chrisquocmai@users.noreply.github.com> Date: Sat Apr 3 00:18:15 2021 -0400 [Keyboard] Add pkb65 keyboard (#12230) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 184c553cab88e717d70d133e9664079df51987be Merge: fc8495a744 6876263961 Author: QMK Bot Date: Sat Apr 3 03:59:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 68762639610d87ca1cd49752dfbc993ae6ee2f6a Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Fri Apr 2 20:58:42 2021 -0700 [Keyboard] KBD67 Hotswap VIA Support (#12351) Co-authored-by: Ryan commit fc8495a7443a848aa54148939f981ed5ceb357bf Merge: 428e9e7886 4caeb64888 Author: QMK Bot Date: Sat Apr 3 03:57:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4caeb648881543fb822efb9fca3f54ee34a73041 Author: Wilba Date: Sat Apr 3 14:57:18 2021 +1100 [Keyboard] Added wilba.tech WT70-JB (#12347) Co-authored-by: Ryan commit 428e9e7886839ee85a273d3519d32f151576d3fd Merge: d475f04c78 70540a1f74 Author: QMK Bot Date: Sat Apr 3 03:48:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 70540a1f744d350913b332a59571e899ea4556f3 Author: Wilba Date: Sat Apr 3 14:48:26 2021 +1100 [Keyboard] Added RAMA WORKS KARA (#12346) Co-authored-by: Ryan commit d475f04c787d090ff50536d8829565d779a7a305 Merge: 39e1b5b962 f0dc206784 Author: QMK Bot Date: Sat Apr 3 03:44:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f0dc2067844a9045ffbd423c48b32abcceca742e Author: jrdsgl Date: Fri Apr 2 20:44:06 2021 -0700 [Keyboard] Update sixkeyboard VID/PID (#12345) Co-authored-by: Ryan commit 39e1b5b9626af1ab8db63c176b3646587893f654 Merge: c375ae3ec7 caca8949de Author: QMK Bot Date: Sat Apr 3 02:04:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit caca8949de32088776d56f717950e07204c7da97 Author: Jason Yamada-Hanff Date: Fri Apr 2 19:04:28 2021 -0700 [Keymap] remove kc layout from levinson jyh keymap (#12301) Co-authored-by: Jason Yamada-Hanff commit c375ae3ec707d64e2d939165c443ae9ed98d80f0 Merge: f561b857f2 0232941b1d Author: QMK Bot Date: Sat Apr 3 02:03:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0232941b1d968c83403197606d4a4a208b87c182 Author: adamkraus6 <39069342+adamkraus6@users.noreply.github.com> Date: Fri Apr 2 20:02:26 2021 -0600 [Keyboard] Added VIA support to dmqdesign/spin (#12300) Co-authored-by: Kraus, Adam commit f561b857f21bf2d3508a0416b8a83f0dd5fc1ae6 Merge: 8880e89bcd 63445be4e5 Author: QMK Bot Date: Sat Apr 3 00:52:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 63445be4e5d3752b5a3ff51c512a2822c1fde23c Author: Danny Date: Fri Apr 2 20:51:39 2021 -0400 [Keyboard] Add FoldKB (#12255) Co-authored-by: Ryan commit 8880e89bcd3e40cee7772cd8cb07c3021586e853 Author: Ryan Date: Sat Apr 3 11:45:56 2021 +1100 Big quantum_keycodes cleanup (#12249) commit 4c981953ac158e0e2d0240a18997b27047bf9b06 Merge: 41723340de 619885b484 Author: QMK Bot Date: Sat Apr 3 00:26:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 619885b48432bccb7ba4b65f0f5a3c9f4a8d40e2 Author: Paul James Date: Sat Apr 3 02:25:23 2021 +0200 [Keyboard] Add Lumberjack keyboard (#12124) commit 41723340de6618d2e3a9819a6acba5f3003a9eef Merge: 56560a859b 6592f83589 Author: QMK Bot Date: Fri Apr 2 21:45:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6592f83589801263a2db5fa5c97a5def99e9c9ac Author: dsanchezseco Date: Fri Apr 2 23:44:46 2021 +0200 [Keymap] for Ibm m122 (#11704) Co-authored-by: Ryan commit 56560a859b65bb23cef07aa1bba548b4c8c3c3de Merge: 65fab0ef5b 43d74d7fa5 Author: QMK Bot Date: Fri Apr 2 21:26:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 43d74d7fa597572677ff79f8213d0ea23f20fc83 Author: Duong Anh <56441863+duongaanh@users.noreply.github.com> Date: Sat Apr 3 04:25:44 2021 +0700 [Keyboard] Add CherryB Studio Keyboards (#11475) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 65fab0ef5b83b9031138354d169eab21e401bf8b Merge: 6e531d0ccc cd981ec56a Author: QMK Bot Date: Fri Apr 2 21:24:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cd981ec56a546a29f30c3cc1ce1f5ef2934bc9cd Author: Ryan Date: Sat Apr 3 08:24:09 2021 +1100 `qmk doctor`: Fix WSL /mnt check (#12466) commit 6e531d0cccaac41d4e8a18e0cf1622f7cd42e7dd Merge: c1ea97e15d 12f308748f Author: QMK Bot Date: Fri Apr 2 10:45:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 12f308748f3dd7ab2a1f3d93f8f207cb51e306a4 Author: Ryan Date: Fri Apr 2 21:44:27 2021 +1100 qmk doctor: Display macOS and Windows versions, and add WSL warning for /mnt (#12441) commit c1ea97e15d52d587ff300f38939562cac720e5cc Merge: da51302345 ac0ba832c7 Author: QMK Bot Date: Thu Apr 1 01:59:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ac0ba832c73dd2130f66ba1f3781ccb16c150a89 Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Wed Mar 31 20:58:23 2021 -0500 change BM68 RGB USB Device descriptor device name (#12418) * change styling USB Device descriptor device name to reflect stylistic choices of the developer commit da51302345983cb8dcab48d10f7cc61f197c8ff1 Merge: 9d3b11d485 c5ddada32e Author: QMK Bot Date: Wed Mar 31 13:09:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c5ddada32ea45f50ddecdfc1e7d39f51465ef302 Author: Nick Brassel Date: Thu Apr 1 00:09:01 2021 +1100 Remove leftover old implementations of the lily58 split code. (#12442) commit 9d3b11d4856f478e2c91788cf77a52e62ec85d19 Author: Michael Stapelberg Date: Wed Mar 31 01:41:41 2021 +0200 add kinesis/kint36 (#10171) This moves the config_common.h into the files that include ../config.h, so that the kint36/config.h does not include it (which would cause compilation errors). commit a8889718aa1f8d0d15dce86ebf3d2e8c12ba6abb Merge: 1704eb16cd 8a950a7116 Author: QMK Bot Date: Tue Mar 30 23:17:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8a950a7116fa8401148efa14a1da47b0879ec379 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed Mar 31 10:16:14 2021 +1100 Format code according to conventions (#12437) Co-authored-by: QMK Bot commit 1704eb16cd5c7405ae7d6eba051586b9368635d6 Merge: e95a4f4f52 64551a8386 Author: QMK Bot Date: Tue Mar 30 22:34:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 64551a8386d4c84c16c859b0bdbb05a623fe8e89 Author: Nick Brassel Date: Wed Mar 31 09:33:26 2021 +1100 Allow for clang-format up to v20. (#12407) commit e95a4f4f52f7792927c480e76dba11c5a8cbd07e Author: Michael Stapelberg Date: Tue Mar 30 12:11:40 2021 +0200 core: add pin_defs for MK66F18 (#12419) This is in preparation for https://github.com/qmk/qmk_firmware/pull/10171 commit c738d60cef3e340a4c7ca0c8a7f63f07e8af1f52 Merge: 2ae38e9c43 ae59a51193 Author: QMK Bot Date: Mon Mar 29 03:46:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ae59a51193031b2f36f3c5daf11316e542fcdd47 Author: kb-elmo Date: Mon Mar 29 05:46:17 2021 +0200 Added the 64_ansi (GK64) layout to DZ60 (#12378) * add gk64 layout * Apply suggestions from code review commit 2ae38e9c43cc689be65f04ea5c101b9f46a38c5e Author: Ryan Date: Sun Mar 28 17:59:44 2021 +1100 LED Matrix: Config functions (#12361) commit 0d1162f1809bc9828d9b4655b8d3cf3db60c4b55 Merge: ea472b46c9 5dc7951dc0 Author: QMK Bot Date: Sat Mar 27 15:56:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5dc7951dc0a2f4c0f116db3c0fe992e4d3fd8657 Author: Zach White Date: Sat Mar 27 08:55:47 2021 -0700 add utf-8 encoding to the open() call (#12388) commit ea472b46c9873655717b76ef07045fd106978d65 Merge: 76f8e84edd a866fbf381 Author: QMK Bot Date: Sat Mar 27 08:04:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a866fbf3819eaf0ce787fd8c67b1bddee59bc19b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Mar 27 01:03:42 2021 -0700 handwired/rs60: use LAYOUT_ortho_5x12 directly (#12397) This commit renames the macro LAYOUT to LAYOUT_ortho_5x12, and removes the alias. commit 76f8e84edd44ca4189976e4febbe8ce84025b393 Merge: 3d957a33fa 8af7200085 Author: QMK Bot Date: Fri Mar 26 17:58:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8af72000851dbe2c50a66bf2b9452011cbfe835a Author: joedinkle Date: Fri Mar 26 10:58:13 2021 -0700 Pull Request for babyV keyboard (#12112) * Add files via upload * Add files via upload * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update Readme.md * Update Readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Create CaseFiles * Delete CaseFiles * Create Readme.md * Add files via upload * Add files via upload * Add files via upload * Create Readme.md * Create Readme.md * Create Readme.md * Delete S50-Top.dxf * Delete S50-Top.svg * Add files via upload * Update Readme.md * Update Readme.md * Update Readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Updating encoder code. * Update encoder code. * Case files and encoder update. * Update encoder code. * Updates to encoder code. * Syntax fixes. * Create readme.md * Add files via upload * Create readme.md * Add files via upload * Removed case files from s50 branch * Format changes. * Add case files to Master branch * Syntax fixes * Recommended code changes for pull request into QMK. * Recommended change for pull request. * Delete config.h * Delete config.h * Delete config.h * Delete config.h * Delete config.h * Delete config.h * Add config.h and rules.mk files to the joedinkle layout for autoshift. * Delete S50-Top-New.dxf * Delete S50-Top-New.svg * New case files Revision to S50 top file. * Added 3D printed case STL and DXF files. * Create readme.md * Update readme.md * Added babyV firmware * Update readme.md * QMK PR preperations. * Delete config.h * Delete keymap.c * Delete readme.md * Delete rules.mk * Delete config.h * Delete keymap.c * Delete readme.md * Changes for QMK formatting. * Removed excess files Removed case files and schematics from the joedinkle branch. The joedinkle branch is primarily for QMK PRs. These files will remain in the master branch of this fork. * Add SPRH keyboard * Formatting and cleanup. * Edits to default Layout * Readme Update * Formatting changes. * Deleted obsolete code. * Formatting changes and file removal for QMK PR * Deleted S50 S50 is a completed keyboard and is located in the Master Branch. S50 removed from the in progress branch. * Delete Read Me * Replaced S50 files accidentally deleted in merge. * Added split layout for SPRH * Added Files for Blvd PCB * Add PCB files for Blvd * Added compressed kicad projects * Removed obsolete PCB files * Added PCB files * Added personal babyV keymap. * Update readme.md * Update readme.md * Update readme.md * Update readme.md * babyV-added info.json and updated default keymap * Added case files for babyV * Update readme.md * Update readme.md * Update readme.md * Updated default keymap. * Cleaned up keymap folder. * Added info.json for babyV * babyV updates * PR preps * PR preps * Update .gitignore * Delete Backlight.png * Delete MCU.png * Delete Matrix.png * Delete readme.md * Rename Readme.md to readme.md * Requested PR changes. * Update rules.mk * Update rules.mk * readme and rules.mk updates * Update keyboards/eyeohdesigns/babyv/readme.md Co-authored-by: Ryan * Update keyboards/eyeohdesigns/babyv/readme.md Co-authored-by: Ryan * Update keyboards/eyeohdesigns/babyv/readme.md Co-authored-by: Ryan * Update keyboards/eyeohdesigns/babyv/rules.mk Co-authored-by: Ryan * Update keyboards/eyeohdesigns/readme.md Co-authored-by: Ryan * Update keyboards/eyeohdesigns/readme.md Co-authored-by: Ryan * Update readme.md * Update keyboards/eyeohdesigns/babyv/readme.md Co-authored-by: Ryan Co-authored-by: Ryan commit 3d957a33faef93d2e1a9e346b295f387b0e92894 Merge: 0eb36b5e9a f028dbf179 Author: QMK Bot Date: Fri Mar 26 12:37:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f028dbf179b6e9eb9bbc58b14c38c35ddd0e73ea Author: Anthon van der Neut Date: Fri Mar 26 13:37:17 2021 +0100 Minor typo in comments Colemak DM-MK -> DH-MK (#10721) commit 0eb36b5e9a677f758b8e7404aa43a1694c4508ed Merge: 67252c246c aa2b4a688b Author: QMK Bot Date: Fri Mar 26 02:22:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aa2b4a688b5f58bfa2818940c802659c2c1a1800 Author: Matt Snell Date: Thu Mar 25 21:21:21 2021 -0500 [docs] Add IO Warning to WSL section of Getting Started (#12384) * Add IO Warning to WSL section of Getting Started * FauxPark suggestion (thanks!) Co-authored-by: Ryan Co-authored-by: Ryan commit 67252c246c0298ad253d04281e19add65e34d72b Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Mar 25 23:44:37 2021 +1100 Format code according to conventions (#12381) Co-authored-by: QMK Bot commit b05565f368cf0a2901913bd1b279625d6d3866ca Author: Oleg Senchenko Date: Thu Mar 25 15:42:25 2021 +0300 Fix connection issue in split keyboards when slave and OLED display are connected via I2C, fix #9335 (#11487) * In split keyboards fix connection issue when slave and OLED are connected via I2C. Fix #9335 * Revert "In split keyboards fix connection issue when slave and OLED are connected via I2C. Fix #9335" This reverts commit 3ee639e1f35fb0fe257fc3ba1095124e039af7d7. * In split keyboards fix connection issue when slave and OLED are connected via I2C. Fix #9335 * Update drivers/oled/oled_driver.c Co-authored-by: Drashna Jaelre Co-authored-by: osenchenko Co-authored-by: Drashna Jaelre commit e2b652d95fd1e21fec98b7c75b448b94a5938595 Merge: 56dee4acc6 57475caab0 Author: QMK Bot Date: Thu Mar 25 12:41:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 57475caab0c030dc3e37086fdc060ddf0c81e69f Author: Drashna Jaelre Date: Thu Mar 25 05:41:19 2021 -0700 Fix issues when manually shifting characters and Auto Shift (#12083) Specifically, when using the Auto-Shift feature, if you hold and roll shift, it would not actually shift the character that you hit after the shift commit 56dee4acc64fe52f1546772cf2c2beb6df458116 Merge: d0d77e8c60 34205f5bb5 Author: QMK Bot Date: Thu Mar 25 12:40:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 34205f5bb589437c18bad584525ed97e179e8ba0 Author: Sendy Aditya Suryana Date: Thu Mar 25 19:39:35 2021 +0700 Add new Keyboard: SENDYYeah Bevi (#12011) * Add bevi Keyboard * Update readme * Change image embed * Update instructions to compile * beVi initial * Enable NKRO * Update README * Revert Lily58 rules.mk * Revert h87a info.json * Add URL and maintainer in info.json * Update year * Add layer 1 * Tidying up * Fix keymap * Add one line at end of file * Replicate default keymap to via * Update keyboards/sendyyeah/bevi/bevi.c Co-authored-by: Drashna Jaelre * Remove comment on layout macro definition Co-authored-by: Drashna Jaelre Co-authored-by: Sendy Aditya Suryana Co-authored-by: Drashna Jaelre commit d0d77e8c60a019e86f8a9f01ec51705653d08edb Merge: 3143846ba4 9f1608a6a2 Author: QMK Bot Date: Thu Mar 25 12:39:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3143846ba4e7bb72ffe395fe8899d0f8831655e2 Author: Liyang HU Date: Thu Mar 25 12:38:54 2021 +0000 keyboards/xd60/readme.md: link to schematic on EasyEDA (#12018) commit 9f1608a6a2c7137c0c6ff0f40ddce67ad018aa80 Author: Takeshi Nishio Date: Thu Mar 25 21:38:31 2021 +0900 Add unison v04 keyboard (#11982) * Update: JonesのMIDIキーマップをベースに初期作成。AudioとMIDIの同時使用はファームウェアサイズ的に厳しい。 * Update: Unison用のIDへ変更 * Update: Audioはデフォとせず、OLEDをデフォとした。 * Update: v03基板から実際に動くものとなったため、v01からv03に変更。基本的な設定を完了。 * Update: 基本的なキーマップを作成 * Update: キーマップ、ロータリーエンコーダの感度を調整。 * TEST: BOOTMAGIC = lite でどうなるのかテスト * Update: Jones ---> Unison * TEST: BOOTMAGIC = lite で、TABキーでBootloaerに入る設定 * Update: インデント * Update: QMKの一般的な表記に合わせ、 k(col)(row) から k(row)(col) へ変更。 * Update: 自前のカスタムマトリクスを使用せず、COL2ROW方式で総当たりマトリクスを動作させるテストを開始。 特に問題なく動作している。 * TEST: BOOTMAGICテスト用コード追加 * Update: 主に中央部分のキーマップ変更 * TEST: COL2ROWで、COLのピンの順番を変えてキーを読むテスト * Update: QMKの仕様上、MacではKC_PSCRがFキーとして判定されるため、スクリーンショット用マクロを用意した。 * TEST: COL2ROWで、ROWとCOLのピン定義をずらした状態で、BOOTMAGIC = lite の(0,0)キーに引っかからない。 * Update: ロータリーエンコーダにマウスホイールを割り当て * Update: 自明のコメントを削除 * Update: NKRO指定時は、NKRO動作を強制。 * Update: MIDIなしのとき、AUDIOのフル機能がファームウェアサイズ内に収まることをチェック。 * Update: Bootmagicテスト完了のため、無効化。 * TEST: LED動作チェック。 * Update: キーマップを、LOWER, RAISEを中心に大幅変更。 数字を左手レイヤーキーではなく、右手レイヤーキーにしたことで、CMD+Qによる誤爆アプリ終了を避ける狙いもある。 * Update: 未使用のNumレイヤとTapDanceを削除。 * Update: MIDI関連の設定を多数追加。 * New: Add Sequencer keymap * enumの開始を明記 * TAP_DANCEを無効化 * シーケンサーで、トラック単位の有効・無効の切り替えを追加。※動作せず * デバッグ用設定をテスト * Change custom keycode name for classification. * Add LED update on sequencer step. * change LED adjusting value. * TEST: SQ_T related things. * DEBUG * Increase track 6 ---> 8. Add track indicator. * Add sequencer step viewer. * Move Bootmagic lite position to keyboard's config. * Revert matrix as phisically connected. * Change default RGB lighting animation. * Remove MIDI options from keyboard's config. * change version * Remove unused. * Delete unused. Round-Robin matrix woks with COL2ROW. * Delete unused. Round-Robin matrix woks with COL2ROW. * Formatting. * Formatting. * Remove unused. * No enum. * LED setting for Sequencer layer. * Add TODO flag * Remove unused. * change LCTL * Update Rotary Encoder setting. * revert to default * Add TODO flag. * Update to latest information. * Update to latest information. * Add v04 * Move keymaps directory to just under keyboard directory. * Add music layout. * Update to Unison layout. * Add default keymap. * Update readme description. * Commenting. * Exclude non-PR files. * Change keymap name more general. * Remove unused * Commenting. * Remove unused. * Commenting. * Change Macro name for consistency. * Add tempo definition. * Change transparent to noop for better musical play. * Add Rotary Encoder push functions for Sequencer. * FIX printscreen to work _WIN layer. * Fix style name. * Change keymap style from PC to Music. * Adjust LED number and index to v04 PCB. * Commenting. * Add #ifdef block to LED config related. * Change Sequencer display function from Rotary Encoder right-3 to right-4. * Change default animations. * Set LED effect range. Add LED reset on layer change. * Remove unused. * Commenting. * Commenting. * Use function to change Sequencer track indicator. * Use function to change Sequencer track indicator. * Remove unused * Add PC-style keymap. * Adjust keymap. * Add micro volume control for Mac. * Adjust keymap. * Adjust cursor block. * Adjust grave and tild in layer. * Change magic-key position to Left-Bottom where both Music-style and Terminal-style have a key. * Change LED settings for front-side 9 LEDs. * Change keymap name. * Update supported functions. * Adjust indicator dimmer. * Remove unused. * Add underglow support. * Add rotary encoder keymap at Adjust layer for test hardware function. * Disable rotary encoders. * Change description. * Add support for underglow. Disable knight animation to prevent unnatural feeling when underglow not installed. * Commenting. * Formatting. * Turn on default layer indicator. * remove duplication * Change VID for via. * Initial commit for VIA. * Add layout option. * restore AUDIO enabled. * Removed a JSON file for VIA app, not for QMK. * Remove non-related files for PR. * Add keymap for music layout. * Add photo links. * Commenting. * Apply PR checklist. * Change unused function to "no". * Add keymap image and change keymap as image shows. * Change bootloader entering key to widely known "Left-Top". * Turn off ENCODER by default. * Add VIA keymap. * Change VID unique. https://github.com/qmk/qmk_firmware/pull/11982#discussion_r582276979 * Add config option to prepare future release, #11820. https://github.com/qmk/qmk_firmware/pull/11820 * Remove old defines for Audio. Co-authored-by: Takeshi Nishio commit 25f1a3d7591c2d9edd1f42caacbada8d6a928c2f Merge: 5a0be4c6d8 0a056cfd81 Author: QMK Bot Date: Thu Mar 25 12:20:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0a056cfd811ea92384185f06a55b0051948f4860 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Mar 25 23:18:59 2021 +1100 Format code according to conventions (#12380) Co-authored-by: QMK Bot commit 5a0be4c6d8dad8cc8b4b1404678c69ed4334cba0 Merge: 2df1b124a7 5c1442766c Author: QMK Bot Date: Thu Mar 25 12:14:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5c1442766c10e98a0152b847ccf4d48899558cea Author: purple-rw <32964049+purple-rw@users.noreply.github.com> Date: Thu Mar 25 05:13:41 2021 -0700 fix permissive hold when both PERMISSIVE_HOLD_PER_KEY and TAPPING_TERM_PER_KEY are defined (#12125) Co-authored-by: checyr <32964049+checyr@users.noreply.github.com> commit 2df1b124a72fa02bfa5cb0db9752a64097b5ff9e Merge: f2729e8974 816f2f9cc2 Author: QMK Bot Date: Thu Mar 25 12:11:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 816f2f9cc234b5a98512a483b2781b1c2875f24f Author: 즈눅 Date: Thu Mar 25 21:11:16 2021 +0900 Fix Kinetic speed condition (#12139) commit 666623d39adc052d2f585e908694279a9d5a65c6 Author: ploopyco <54917504+ploopyco@users.noreply.github.com> Date: Thu Mar 25 08:10:55 2021 -0400 ADNS-5050 / Ploopy Nano / Ploopy Mini Trackballs (#11994) * added adns5050 sensor code, as well as implementations for the Ploopy Mini and the Ploopy Nano * fixed spurious scrolling issue * recommended fixes for pr linting and cleanup commit f2729e897400fa4c7f1f1e18780db7718b9ae7a6 Merge: aa85b5ee1e 0eabb01e27 Author: QMK Bot Date: Thu Mar 25 12:08:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0eabb01e27216611662d7e3c814a1a21bd20c90b Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Thu Mar 25 20:08:04 2021 +0800 Minor improvements to BM68RGB (#12156) * Minor improvements to BM68RGB * Add grave esc and LTO support * Move comments to end of line * Document the use of qmk script for compiling and flashing * Revert arrow key flags back to mod * Update keyboards/bm68rgb/bm68rgb.c Co-authored-by: Ryan * Update keyboards/bm68rgb/bm68rgb.c Co-authored-by: Ryan * Remove grave escape Co-authored-by: Ryan * Update tab spacing Co-authored-by: Ryan * Reverted make default Co-authored-by: Ryan * Reverted make flash Co-authored-by: Ryan Co-authored-by: filterpaper Co-authored-by: Ryan commit aa85b5ee1e75ffdf54667bc25ba1f736e1029396 Merge: fd24546787 b664db3cf3 Author: QMK Bot Date: Thu Mar 25 12:05:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b664db3cf32f9e286dbbeb9a44761fcf707caf4d Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Mar 25 21:05:38 2021 +0900 Removed unused RGBLED_TIMER_TOP and F_CPU macros from quantum/rgblight.[ch] (#12233) commit a5ecd4eb87db8eb48544de1de5f437046358369d Author: Naoto Takai Date: Thu Mar 25 21:05:05 2021 +0900 Make the size of MATRIX_ROW_PINS and MATRIX_ROW_PINS_RIGHT the same (#12203) * Make the size of MATRIX_ROW_PINS and MATRIX_ROW_PINS_RIGHT the same * Use NO_PIN instead of duplicate pin commit fd24546787b304f63c94c4afd6fb0121b3e5dc43 Merge: 9294c5aa0a f3f444c1df Author: QMK Bot Date: Thu Mar 25 12:04:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f3f444c1df58f85c3720f98eeda3641bc8eddc59 Author: Sendy Aditya Suryana Date: Thu Mar 25 19:04:02 2021 +0700 Add Nix Studio OXALYS80 Keyboard (#12118) * Initial commit of OXALYS80 firmware * Remove comments * Add new return in info.json * Fix pin output init for scroll lock indicator * Update keyboards/nix_studio/oxalys80/config.h Co-authored-by: Drashna Jaelre * Update keyboards/nix_studio/oxalys80/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/nix_studio/oxalys80/oxalys80.c Co-authored-by: Drashna Jaelre * Update keyboards/nix_studio/oxalys80/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/nix_studio/oxalys80/config.h Co-authored-by: Drashna Jaelre * Update keyboards/nix_studio/oxalys80/config.h Co-authored-by: Drashna Jaelre * Update keyboards/nix_studio/oxalys80/config.h Co-authored-by: Drashna Jaelre * Delete keymaps config.h * Update keyboards/nix_studio/oxalys80/config.h Co-authored-by: Sendy Aditya Suryana Co-authored-by: Drashna Jaelre commit 9294c5aa0a574a42ebba11ed50768352dbb96946 Merge: 712c9fc848 81c51ec51c Author: QMK Bot Date: Thu Mar 25 12:03:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 81c51ec51cd0059ebe88af62184216125cb8a585 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Mar 25 21:02:54 2021 +0900 [Keymap] Update keyboards/helix/pico/keymaps/mtei/keymap.c (#12188) * update keyboards/helix/pico/keymaps/mtei/keymap.c Stopped using the LAYOUT_kc macro. (this is response to #12160) There is no change in the generated binary. * small update pico/keymaps/mtei/keymap.c commit 712c9fc848dacdf1c4c7568fcedde25a7d96aa4f Merge: 96a6214316 b5a12fa6d3 Author: QMK Bot Date: Thu Mar 25 12:02:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b5a12fa6d35b0304c457569854f2e7ff8a2200f1 Author: Leon Anavi Date: Thu Mar 25 14:01:45 2021 +0200 [Keymap] ANAVI Macro Pad 2 add git keymap (#12212) This keymap for ANAVI Macro Pad 2 contains popular git commands typed out and executed with a single key: - left key: git commit -s - right key: git push Signed-off-by: Leon Anavi commit 96a62143163869fce8d43170d94316dee2be967b Merge: d2b405066d 29c82cfb33 Author: QMK Bot Date: Thu Mar 25 12:01:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 29c82cfb33bda7fecc58fa9eadfe56bd10af2c56 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Thu Mar 25 20:01:03 2021 +0800 Add RGB Matrix suspend wake functions to BM40 (#12246) * Add suspend wake functions for RGB Matrix * Add suspension RGB functions to Planck/rev6 and Preonic/rev3 * Add suspend wake to Mark 65 * Revert changes to planck and preonic * Remove changes to The Mark65 Co-authored-by: filterpaper commit d2b405066d9e6d1cae2aa3e4aff97c2151db79dc Merge: ea1ed13bc8 2cd684f8e0 Author: QMK Bot Date: Thu Mar 25 11:55:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2cd684f8e0385d97f09a2d08cd9c5f8b2e77845a Author: Matt W Date: Thu Mar 25 04:55:01 2021 -0700 add massdrop/alt/hlmtre keymap, add .exe to gitignore (#12191) * add massdrop/alt/hlmtre keymap, add .exe to gitignore * changes request in PR (license header and fix gitignore) Co-authored-by: Matt Weller commit ea1ed13bc8410afc8a9229b93f04ba0ca3e6762d Merge: 6ad0b004fa c4d05010cb Author: QMK Bot Date: Thu Mar 25 11:53:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c4d05010cb4dad42740d67003bf66b67e10fe854 Author: Blake Date: Thu Mar 25 11:53:30 2021 +0000 Add Daisy, a macropad with dual rotary encoders + update Scarlet readme.md (#12221) * Daisy first commit buggy * buggy still underglow crash * Daisy V1 * ReadMe Updates commit 6276f54752e98ab1f99eaff5c077c52bf29e5c81 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Thu Mar 25 19:52:53 2021 +0800 Add suspend wake functions for The Mark:65's RGB Matrix (#12245) * Add suspend wake functions for RGB Matrix * Add USB suspend definition to config.h Co-authored-by: filterpaper commit 6ad0b004fa19e3be0e3d1830407f9dfd02be8a67 Merge: c3483458fe 8e820cde13 Author: QMK Bot Date: Thu Mar 25 11:52:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8e820cde131c72d7966fb5dd528ba0ed2c1cd577 Author: jakobkg Date: Thu Mar 25 12:51:57 2021 +0100 Fix handling multiples of the same MIDI note (fixes bug brought up in issue #10199) (#11639) * Fix handling multiples of the same MIDI note * Extend MIDI note status to fix note releases commit c3483458fe57624603d6af28110599b65aae9656 Merge: ba5aacbb95 572395ac20 Author: QMK Bot Date: Thu Mar 25 11:51:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 572395ac201123a17bc7e705d262ac311139b287 Author: TerryMathews Date: Thu Mar 25 07:51:02 2021 -0400 TKC GodSpeed75: add RGB LED support (#12278) * GodSpeed75: add RGB support * GodSpeed75: minor updates * GodSpeed75: minor updates * GodSpeed75: restore chconf.h * GodSpeed75: restore chconf.h * GodSpeed75: restore chconf.h commit ba5aacbb95f6a68239a03d9f4f25ba979b0a61cd Merge: a2165b38a0 95c74ae4ae Author: QMK Bot Date: Thu Mar 25 11:50:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 95c74ae4ae969ed9d5004a6378a730b445e38d43 Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Thu Mar 25 06:50:17 2021 -0500 add via support for bm68rgb (#12275) * add via support for bm68rgb * add newline to keymap.c commit a2165b38a05d3d02fc072177ba1a94e20799e638 Merge: e86b7d0c13 3fc710e0b1 Author: QMK Bot Date: Thu Mar 25 11:49:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3fc710e0b149627bae3406fff84855308710c485 Author: kopibeng <52724926+kopibeng@users.noreply.github.com> Date: Thu Mar 25 19:49:37 2021 +0800 Add XT65 keyboard (#11998) * Add XT65 keyboard * Create readme.md * Updated readme.md and rules.mk * Updated config.h and readme.md * Update imgur link * Update keyboards/kopibeng/xt65/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/kopibeng/xt65/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/kopibeng/xt65/config.h Co-authored-by: Ryan * Update keyboards/kopibeng/xt65/readme.md Co-authored-by: Ryan * Update keyboards/kopibeng/xt65/readme.md Co-authored-by: Ryan * Update keyboards/kopibeng/xt65/rules.mk Co-authored-by: Ryan * Update keyboards/kopibeng/xt65/rules.mk Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit dd0a35273c9445357e1bd5c28ef81ab93306e108 Author: kb-elmo Date: Thu Mar 25 12:48:59 2021 +0100 added twelvekey (#12281) * added twelvekey * rename layout commit e86b7d0c1331e38a1163df126ad34fe9df7570e2 Merge: 5bc5921af4 cf7404630e Author: QMK Bot Date: Thu Mar 25 11:47:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cf7404630e8b1682dae3dfb10f5358fb0331d6c7 Author: Matteo Montemarani <71832926+mm0nte@users.noreply.github.com> Date: Thu Mar 25 12:47:03 2021 +0100 ISO Layouts fix (#12319) commit 5bc5921af4dfa91a6e94ac7ab5669b3e3792ebdf Merge: 76db2bb39b ef872595ae Author: QMK Bot Date: Thu Mar 25 11:46:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ef872595ae3c89bd2f59f18a9053af3536240bac Author: André Silva <123550+andresilva@users.noreply.github.com> Date: Thu Mar 25 11:45:55 2021 +0000 update shell.nix (#12295) commit 76db2bb39be9dac3fe4b7d38ab2e1aa5e7b4c402 Merge: a3760c0891 eac9ee8d3f Author: QMK Bot Date: Thu Mar 25 11:44:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit eac9ee8d3fb3f9f6eec4314fbab20fa3c4ed2edb Author: Purdea Andrei Date: Thu Mar 25 13:44:28 2021 +0200 Improve upon the 'Caveats' section of the Layers and Mod-Tap documentation (#12306) * Improve upon the 'Caveats' section of the Layers and Mod-Tap documentation * Update docs/mod_tap.md Co-authored-by: Ryan * Update docs/feature_layers.md Co-authored-by: Ryan * Update docs/mod_tap.md Co-authored-by: Ryan * Added a line saying that remote desktop problems may also be mitigated by defining TAP_CODE_DELAY * Update docs/mod_tap.md Co-authored-by: Ryan Co-authored-by: Ryan commit a3760c089136a202f0c2fc62baa9cb3ee278f1f8 Merge: a747ef966b 1d706bd77c Author: QMK Bot Date: Thu Mar 25 11:39:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1d706bd77ce3831cd31388923a1bee83610419c2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Mar 25 04:38:52 2021 -0700 handwired/bolek: correct key object order (#12356) commit a747ef966ba6dc5f52d8e6aa60d7d3e9bcf67758 Merge: 87f6df0655 3e60997edb Author: QMK Bot Date: Thu Mar 25 11:38:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3e60997edba46544557b3a775bdb1538e07c3edf Author: Zach White Date: Thu Mar 25 04:38:10 2021 -0700 Add a `qmk format-json` command that will format JSON files (#12372) * Add a command to format json files * change to work after rebase * add test for qmk format-json * add documentation for qmk format-json * Update lib/python/qmk/cli/format/json.py commit 87f6df0655486bc372b0205f1261ac28026abaac Merge: 25b7a5d531 a74846a0db Author: QMK Bot Date: Thu Mar 25 11:36:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a74846a0dbd5efbc7b993918f7f3122e1d620c24 Author: Wilba Date: Thu Mar 25 22:36:52 2021 +1100 Added wilba.tech WT60-H2 (#12348) * Added wilba.tech WT60-H2 * fix typo * Fix error in keymap commit 25b7a5d5312517ce3e710ce2f54f42eeb1668e75 Merge: c7436e667d 038d9118b6 Author: QMK Bot Date: Thu Mar 25 11:36:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 038d9118b6458651dad07a43cd008b0331b044ac Author: Wilba Date: Thu Mar 25 22:36:24 2021 +1100 Added wilba.tech WT65-G2 (#12360) commit be771e5fd22d348c85f82b8f73812f274ee34841 Author: Wilba Date: Thu Mar 25 22:35:54 2021 +1100 Added wilba.tech WT60-H3 (#12354) * Added wilba.tech WT60-H2 * fix typo commit c7436e667d5fcbc93d46cb7875cb7201d0d9a73d Merge: 183dde75de 1fbee7c316 Author: QMK Bot Date: Thu Mar 25 11:35:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1fbee7c31681746a268c82c1b99679b3b2a43657 Author: Andrew-Fahmy Date: Thu Mar 25 06:35:18 2021 -0500 (Re)Fixing K-type RGB lighting (#12084) * initial rgb driver fix * added underglow LEDs and fixed typo in RGB locations * removed test code * added my key maps * updated rgb keymap to work with changes * refactored my code to make it more maintainable and updated keymaps. * added GPL licence * Turned off matrix scan rate debug info * added checks if RGB matrix is enabled to fix errors when building keymaps without RGB matrix enabled * Apply suggestions from code review by fauxpark Co-authored-by: Ryan * Renamed led driver file to be less ambiguous * Renamed is31fl3733 driver files to is31fl3733-dual Co-authored-by: Ryan commit 183dde75de05daf01fdadf22b8bea853b5a93397 Merge: 8086837f69 8b39ae13c7 Author: QMK Bot Date: Thu Mar 25 11:35:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8b39ae13c783806ab75460ac35621a403e1564b6 Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Thu Mar 25 04:34:29 2021 -0700 add equator (#12369) Co-authored-by: Swiftrax commit 8086837f6938f6efa8877033aee5551da90e9e5d Merge: ff41c22fdc 1bb6d8de6f Author: QMK Bot Date: Thu Mar 25 11:34:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1bb6d8de6fa5063b21bc34549e1cf552e60d90ba Author: Joel Challis Date: Thu Mar 25 11:33:53 2021 +0000 Fix USER_PRINT on avr/atsam (#12269) * Fix USER_PRINT on avr/atsam * Update tmk_core/common/arm_atsam/_print.h Co-authored-by: Ryan Co-authored-by: Ryan commit ff41c22fdccd30cdba44ba840d68261f74f45135 Author: XScorpion2 Date: Thu Mar 25 06:33:18 2021 -0500 Adding keyboard level weak function for slave matrix scan (#12317) commit 2f6236d1eab8601f097d4acb0553a4511b5c4be7 Merge: 921f1ba4cf a888057453 Author: QMK Bot Date: Thu Mar 25 11:31:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a888057453db7a854549ec0d13f638392ffbcca8 Author: Ryan Roden-Corrent Date: Thu Mar 25 07:31:05 2021 -0400 Fix a small typo in cli_commands.md (#12379) commit eae73437412d314a7c00b45ce11da26ffcb22e16 Author: Ryan Date: Thu Mar 25 22:30:42 2021 +1100 Move `API_SYSEX_MAX_SIZE` out of `config_common.h` (#12302) commit 921f1ba4cf9ec406ec723bbe3f51f65a7bb58e16 Merge: 1bb04ea598 c59fb1b477 Author: QMK Bot Date: Thu Mar 25 07:06:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c59fb1b477c4877fc29aeec8fe5f98dbf8788369 Author: Armando Magalhães Date: Thu Mar 25 08:06:30 2021 +0100 feat(keymaps): Changes to crkbd/keymaps/armand1m layout and README.md update (#12252) Co-authored-by: Ryan commit e7cb7bc7373031625c604dfb93bdb8717b71f013 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Mar 25 00:05:59 2021 -0700 Roses Lite layout macro touch-up (#12357) commit 1bb04ea598c4a010694fcd5204c10d2c5b773998 Merge: 600fc8be2b 1ed48c774e Author: QMK Bot Date: Thu Mar 25 05:29:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1ed48c774e4e4b6a4183a888a334bc0072518630 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Thu Mar 25 05:28:54 2021 +0000 add valor_frl_tkl info.json (#12359) * add info.json * remove macro keys to correct layout commit 600fc8be2b7c9a427514681bb6ff1f8b0a5eb7f8 Merge: c823160d94 54b80ecf9f Author: QMK Bot Date: Thu Mar 25 03:34:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 54b80ecf9f7def99d45dc39bbcf29baf963b6372 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed Mar 24 20:33:25 2021 -0700 [CI] Format code according to conventions (#12363) * Format code according to conventions * Update lib/python/qmk/cli/generate/api.py * Update lib/python/qmk/cli/generate/api.py Co-authored-by: QMK Bot Co-authored-by: Zach White commit c823160d94733bf156d766c02a27be4b60f921a7 Merge: d6b18ebfe7 97a73637e0 Author: QMK Bot Date: Thu Mar 25 01:33:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 97a73637e0c04091b793c0e555d1a36e8be24091 Author: sbuller Date: Wed Mar 24 20:33:06 2021 -0500 [Keyboard] Preserve signedness from opt_encoder_handler for scroll data on ploopy devices (#12223) commit d6b18ebfe7b5a23964b845b924296081cbb61c8b Merge: b515651feb 653ecf91c2 Author: QMK Bot Date: Wed Mar 24 19:47:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 653ecf91c23e1e1f4827648007905e6d5ac56196 Author: Ryan Date: Thu Mar 25 06:46:22 2021 +1100 More Tap Dance docs improvements (#12358) commit b515651febbafeea3c2c296227c283896e4a2eb0 Merge: 0dc0516f0c b7870ae78c Author: QMK Bot Date: Wed Mar 24 19:39:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b7870ae78cadf9a77316e0c004e8db0cbbba581e Author: Joel Challis Date: Wed Mar 24 19:38:35 2021 +0000 Workaround for recent changes to mouse keycodes (#12367) commit 0dc0516f0c38ce1eb5e7e2ec2a69b743c33e9ce6 Merge: 743d6c430b 299008be36 Author: QMK Bot Date: Wed Mar 24 16:27:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 299008be36076343edadb7a36bf2fff820425ad1 Author: Zach White Date: Wed Mar 24 09:26:38 2021 -0700 Add support for qmk_configurator style aliases (#11954) * Add support for qmk_configurator style aliases * add the keyboard aliases to the api data * add support for a keyboard metadata file * make flake8 happy commit 743d6c430bf09710be9a1055c353fbbceed939ac Merge: 87aa3282f0 723d9af04d Author: QMK Bot Date: Wed Mar 24 10:13:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 723d9af04d610c4a2fcb8fcf39e8420c71ed4df0 Author: Ryan Date: Wed Mar 24 21:12:55 2021 +1100 Add info.json for handwired/datahand (#12320) commit 87aa3282f0d91b527acec8634b509841501374f4 Merge: bbc48b0ef5 6edcbdca19 Author: QMK Bot Date: Wed Mar 24 09:07:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6edcbdca19aa75051392998c06464a97b0899bbe Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Mar 24 02:07:12 2021 -0700 [Keyboard] YMDK YM68 (#12352) * [Keyboard] YMDK YM68 Converted from a KBFirmware JSON file provided via the vendor's product listing. PCB supports Backlight on B6 and RGB Underglow on E2, but the LEDs are not pre-soldered according to the PCB photos. * update VENDOR_ID and PRODUCT_ID commit bbc48b0ef50ae76bbd5bac6446fddf9c11fb362d Merge: bd18405cf0 2882ee9f55 Author: QMK Bot Date: Wed Mar 24 04:25:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2882ee9f5549605cb23e6a1bdf4a1f8b5f91a493 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Mar 23 21:24:20 2021 -0700 Configurator bugfix for GMMK Pro (#12353) commit bd18405cf0107e9a0924def75d1fc6448dd3945b Author: Ryan Date: Wed Mar 24 13:09:56 2021 +1100 LED Matrix: Fix up eeconfig code (#12327) commit dd5a732eacbeccac807d21278fe76b77d3e7aac8 Merge: 862b01d4c0 78149505f9 Author: QMK Bot Date: Wed Mar 24 02:04:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 78149505f9849ad8ae6b10ff523b99e192f9279c Author: Ryan Date: Wed Mar 24 13:03:43 2021 +1100 Fix Uni660 linker errors (#12341) commit 862b01d4c0d99180ade9ac1f3d648fe9f7b1cd60 Merge: 9afbbf21fd 7b07ce3fef Author: QMK Bot Date: Wed Mar 24 02:00:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7b07ce3fef7481a2a026f54b4d6c4c5762a2c110 Author: duoshock <33636898+duoshock@users.noreply.github.com> Date: Wed Mar 24 02:00:07 2021 +0000 Add UC-1 keypad (#11926) Co-authored-by: Ryan Co-authored-by: online <33636898+online@users.noreply.github.com> commit 9afbbf21fdd7402ecc8002c976332282da9b0617 Merge: b2cfb629e4 d395c81606 Author: QMK Bot Date: Tue Mar 23 18:19:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d395c81606b713efc1ec28d6b2085f1c8c0b8d75 Author: Viktor Eikman Date: Tue Mar 23 19:18:19 2021 +0100 Configurator fixes for handwired/concertina/64key (#12316) * Fixed bug that was hiding a key in info.json. * Improvements to presentation. commit b2cfb629e404bcf52b8b3fc8cd2af865341a5cca Merge: 34423580e0 be257b6f9f Author: QMK Bot Date: Tue Mar 23 15:11:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit be257b6f9f22ac6019a57219aeab15e90f230bcb Author: Danny Date: Tue Mar 23 11:11:07 2021 -0400 Add Sinc Rev. 2 (#12138) commit 34423580e0d49392e6fd1e0a1d6358b4d25a49e6 Merge: e6d83644e8 d4a8123267 Author: QMK Bot Date: Tue Mar 23 07:01:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d4a8123267c967613d5e4f481d46043fe4c16965 Author: Luca Di Bartolomeo Date: Tue Mar 23 08:00:34 2021 +0100 Update readme.md on quefrency (#12276) * Update readme.md on quefrency Fix incorrect flashing instructions * Update keyboards/keebio/quefrency/readme.md commit e6d83644e866cb49c4dd08ba78c9cc156c09cf1a Merge: fe58770df8 e1a7027fe8 Author: QMK Bot Date: Tue Mar 23 01:59:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e1a7027fe846ccf50629d7d3bb370d3669d193ca Author: Zach White Date: Mon Mar 22 18:58:07 2021 -0700 use layout aliases when processing info.json (#12333) commit fe58770df8a269e288269459fea09a53cba956d0 Merge: 00a0c81f8e c5b0366a25 Author: QMK Bot Date: Sun Mar 21 02:43:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c5b0366a25639b34c2714e14b5a25a0133bc8e9a Author: kb-elmo Date: Sun Mar 21 03:43:04 2021 +0100 Fix Kira80 license headers (#12303) Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 00a0c81f8ea0d0ae3e8fe794370e218a42f93800 Author: Donald Kjer Date: Sat Mar 20 17:11:22 2021 -0700 Durgod keyboard refactor in preparation for adding additional durgod keyboards (#11978) * Durgod keyboard refactor in preparation for adding additional durgod keyboards * Moving Durgod board configuration into a common location * Reformatting layout macro whitespace * Moving TGUI key functionality to the keyboard level * Replacing default keymap.c with keymap.json * Changing default and default_toggle_mac_windows keymaps to LAYOUT_all * Increasing EEPROM size to support more VIA layers * Fixing media keys; KC_MRWD/KC_MFFD => KC_MPRV/KC_NXT * Move ISO Enter key to the correct row in Durgod K320 * Minor whitespace and readme cleanup for K320 * Changing durgod/k320 debounce back to default * Simplifying DURGOD_STM32_F070's chconf.h Co-authored-by: Simon Arlott Co-authored-by: Tyler Tidman commit 945b7a0613860e4d95b6a421467ee0e337b6d89f Merge: ed28795651 217e3a59c4 Author: QMK Bot Date: Sat Mar 20 03:53:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 217e3a59c4efe4547bfe1be2ca09844d7758a3eb Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Mar 19 20:53:02 2021 -0700 Boston: correct LAYOUT macro data (#12282) - correct macro reference - add missing encoder position - correct maintainer value to reference keyboard maintainer's GitHub account - remove trailing whitespace commit ed287956511f91671d0d90c6b5bdcd155ab6e392 Author: Ryan Date: Sat Mar 20 14:52:33 2021 +1100 LED Matrix: Additional common_features.mk tweaks (#12187) commit 9d547a8443322afb2a4034168abd98e23397dbff Merge: c2dc3008b5 0ab88f5342 Author: QMK Bot Date: Sat Mar 20 00:13:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0ab88f534227f908ed7ab6f4e20f83a8a19b2423 Author: noclew Date: Fri Mar 19 20:12:38 2021 -0400 [Keyboard] Vanana, Vaguette Lite, and Waaffle (#11441) * added Vanana / Vaguette Lite / Waaffle * changed extra GPIO allocations of Waaffle and Vanana * Apply suggestions from code review changed layout name of vaguette Lite / requested by drashna * Apply suggestions from code review Requested keymap changes have been made. * all changes requested by collaborators are made * RGB config updated / keymap updated * fixed vaguette lite info.json * fixed vaguette lite info.json * fixed vaguette lite info.json * Apply suggestions from code review request changes are made * pre rename h * vaguettelite reanmed to lowercases * fixed vanana keymap * Apply suggestions from code review * changed Bootmagic key of VaguetteLite as suggested * Updated via keymap of Vaguette Lite as suggested * add vaguette lite 6.25 layout * added vaguette lite noclew keymap * updated vaguette lite 6.25u keymap description * updated vanana default keymap * updated keymap spacing * reabased from the official repo * Update keymap.c fixed vaguette lite keymap * Apply suggestions from code review All the requested changes by a collaborator were made. * updated info.json of Vanana and readme files of Vanana and waffle * rename LAYOUT_waaffle to LAYOUT_ortho_5x16 Also adjusts the info.json data to put a visual gap between the extension and main PCBs. * make rules.mk and info.json specific to rev3 Removes nckiibs/waaffle as a build target, as it redirects to the only extant revision in the repository. * add controller board build targets Adds build targets for Pro Micro and Elite-C builds, with appropriate defaults for each. Running `make nckiibs/waaffle/rev3` defaults to a Pro Micro-based build. commit c2dc3008b5fb87ad81de6c30f7923a95a3fcf4d7 Merge: 32f0567ca5 8dfe37a3a3 Author: QMK Bot Date: Fri Mar 19 19:37:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8dfe37a3a38edab19c113d43f9bf03b734b13de0 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Mar 19 12:36:52 2021 -0700 Sirius UniGo66 touch-up (#12280) * un-nest layout macros * use #pragma once include guard in unigo66.h * unify rules.mk to QMK AVR template - remove Bootloader selection comment block - unify Build Option header comment - align Build Option rules and inline comments * remove unused LAYOUT_all macro * update readme.md to match QMK template commit 32f0567ca5e0d7db78ce316df6b5a18546c525b7 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Mar 19 16:24:36 2021 +0000 Format code according to conventions (#12292) Co-authored-by: QMK Bot commit 6f7466b6dd72e161b61683e26b7720421d8cc9bd Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Fri Mar 19 08:29:18 2021 +0000 ARM WS2812 SPI config (baudrate and circular buffer) (#12216) * initial commit * include circular buffer command * add endif * circular buffer mode * remove untrue comment * revamp and add documentation * do not allow WS2812_SPI_SYNC & CIRCULAR_BUFFER commit f2715a05939b749771d9826f9ad23b4cab280e82 Author: Zach White Date: Thu Mar 18 16:10:40 2021 -0700 Consistently use bin/qmk when that script is called (#12286) * Pass QMK_BIN down to build_keyboard.mk * choose the correct qmk script commit 90b1e271a8178d68e8c1be0beecfb26b42767f5f Merge: d97a9fb4ff 69eca63a84 Author: QMK Bot Date: Thu Mar 18 17:25:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 69eca63a84e3c9017a15266e9c4be24cdb10e964 Author: Ryan Date: Fri Mar 19 04:24:21 2021 +1100 `qmk doctor`: Don't run udev checks under WSL (#12231) commit d97a9fb4ff71cb123708389896e4fa6f70e0cb42 Merge: 6d050b7282 a5576f9738 Author: QMK Bot Date: Thu Mar 18 14:26:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a5576f97386c6e20d7738eccc3637b334b40cca9 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Thu Mar 18 14:25:37 2021 +0000 [Keyboard] Add Pachi (#12132) Co-authored-by: Ryan commit 6d050b728244dfeb705370f967ae998ded567746 Merge: 74c89de3e9 c833b77646 Author: QMK Bot Date: Thu Mar 18 13:17:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c833b77646af8e51aee5546746d7183728e2cff8 Author: kb-elmo Date: Thu Mar 18 14:17:21 2021 +0100 Fixed keymap names of Noah AVR (#12265) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 74c89de3e98ed8e631026c24625dcde0d538443f Merge: af5c10ef0c ed446360a4 Author: QMK Bot Date: Thu Mar 18 03:38:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ed446360a4f8781c8d97af325f69c90dbac1d752 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Mar 17 20:38:08 2021 -0700 Aleblazer Zodiark touch-up (#12279) commit af5c10ef0c71d41446b8fb27b942fb2bc92e49d8 Merge: 4aa57e9e46 9807225f90 Author: QMK Bot Date: Thu Mar 18 01:29:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9807225f90523d51eaf518b20e4d524dc0bb3ec6 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Mar 18 12:28:50 2021 +1100 [CI] Format code according to conventions (#12277) Co-authored-by: QMK Bot commit 4aa57e9e46b8d0ed1814131bf2944b2b45ee077c Merge: d0c2f3c403 9331c22620 Author: QMK Bot Date: Thu Mar 18 00:48:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9331c22620fb9a4012a370d717e6362a5ab84ec4 Author: Ryan Date: Thu Mar 18 11:48:09 2021 +1100 XT converter cleanup (#12264) commit d0c2f3c403f184d318c61b55b2ad049880a8d15c Merge: 31b657e8ea cc84831cae Author: QMK Bot Date: Wed Mar 17 22:33:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cc84831cae1d1f7159aea3bc03001a6293d43ee7 Author: Salman <74627436+GloriousThrall@users.noreply.github.com> Date: Wed Mar 17 17:33:16 2021 -0500 Adding Keyboard: GMMK Pro (#12030) * GMMK Pro QMK Firmware Code * info.json added * updated info.json for the unused keys * redoing info.json * readme for pro * gmmk initial readme * pipeline fix, issue with compiling gmmk.h * gmmk pro code formatting changes * removed rules.mk * noci file * Updates * updated matrix function to match keymap * updating the keymap layout, renaming matrix, updating layout name to LAYOUT * fauxpark changes added * PID VID updates * removed chconfig and made rules.mk comments cleaner Co-authored-by: Drashna Jael're commit 31b657e8ea4cd55a6e49437799c4535981c552bc Merge: 3367705ac2 f490777502 Author: QMK Bot Date: Wed Mar 17 17:08:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f490777502fb5af088b4ec2a1bf93ac61b95b59a Author: klausweiss Date: Wed Mar 17 18:07:56 2021 +0100 [Keyboard] Add handwired/bolek keyboard (#12234) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 3367705ac2fe18fb7901dabca9a65c3f110852c7 Merge: 6671344602 6e79767f5a Author: QMK Bot Date: Wed Mar 17 17:02:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6e79767f5aa0bad763639846d44c69d3990c7cbe Author: Felix Springer <39434424+jumper149@users.noreply.github.com> Date: Wed Mar 17 18:02:00 2021 +0100 [Keymap] jumper149 keymap for the dztech/dz65rgb (#12142) commit 66713446026e43899ff94c305dbca7907d2dc3bc Merge: 60837c9d0f 3bc7f46412 Author: QMK Bot Date: Wed Mar 17 16:44:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3bc7f46412e6e6c829aaff6d0f15c4cf36011948 Author: Robert Verst Date: Wed Mar 17 17:44:21 2021 +0100 [Keymap] Add userspace rverst (#12205) Co-authored-by: Robert Verst commit 60837c9d0f40b989e507cecc79e0a99bb1ee7914 Author: XScorpion2 Date: Wed Mar 17 01:56:39 2021 -0500 [Keyboard] Split RGB Matrix Zygomorph support (#11083) commit d4ac56226d241e349e54b3d6c4eaab4f8dae6b00 Merge: 29589ce832 8a2d3a8861 Author: QMK Bot Date: Wed Mar 17 06:50:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8a2d3a8861588646c8563dfde080e49358faa245 Author: tszaboo <74186529+tszaboo@users.noreply.github.com> Date: Wed Mar 17 07:50:22 2021 +0100 [Keyboard] Add support for ortho4exent (#11699) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 29589ce83264ac6be11481b8955f67db909a7a24 Merge: 5e7a7c7e2f 538194344a Author: QMK Bot Date: Wed Mar 17 06:48:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 538194344a010e7876c278b10e513ec1e6b245d2 Author: im a can what do you think lmao? <33337640+lyso1@users.noreply.github.com> Date: Wed Mar 17 02:48:03 2021 -0400 [Keyboard] add oled and encoder function to lck75 (#11825) Co-authored-by: Drashna Jaelre commit 5e7a7c7e2f6f68953b4eec669d39c013349af023 Merge: 71b38e0cee 23765332fa Author: QMK Bot Date: Wed Mar 17 06:47:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 23765332fa5c99aef876031879615fd49ed09932 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Wed Mar 17 15:47:18 2021 +0900 [Keyboard] Modification of ErgoArrows info.json (#11980) The order of key descriptions in ErgoArrows info.json was wrong, so it has been corrected. commit 71b38e0cee961bdd3e834fcb974ff31c73a5ff89 Merge: 8c00003466 163e9b02bf Author: QMK Bot Date: Wed Mar 17 06:32:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 163e9b02bfbe1618c00f4b7110d9b7f68c332b41 Author: Matthew Dias Date: Wed Mar 17 01:31:58 2021 -0500 [Keyboard] Add barleycorn smd keyboard (#12200) commit 8c00003466f204af0eb6834df4737ade58c89620 Merge: 33852d14af 90f95de5c9 Author: QMK Bot Date: Wed Mar 17 06:23:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 90f95de5c992e695fa73ebf11116f6ea322815de Author: devriesp Date: Tue Mar 16 23:22:43 2021 -0700 [Keyboard] add via keymap to afternoonlabs breeze keyboard (#12247) commit 33852d14af5f16b8018699f80b72e8a1d07165fc Merge: 6bc4528776 ffc4380b30 Author: QMK Bot Date: Wed Mar 17 06:18:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ffc4380b307359d2b77819a59797a180d6e05c18 Author: kaylanm <1063516+kaylanm@users.noreply.github.com> Date: Wed Mar 17 02:17:40 2021 -0400 [Keyboard] Add KMAC VIA keymap (#12224) commit 6bc45287768f3ddb97b2d21988c849e9ca136bd4 Merge: b4b3be4f05 314ef9df03 Author: QMK Bot Date: Wed Mar 17 06:01:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 314ef9df031b2c6ff84f4dd757498ff7b02dba60 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Mar 16 23:00:43 2021 -0700 Pimentoso Paddino02 clean-up (#12263) * fork rules.mk to be version-specific * remove pimentoso/paddino02 as a keyboard target This commit makes it so QMK API doesn't identify pimentoso/paddino02 as a build target on its own, because there's no actionable code here. * add image to readme.md * unify rules.mk files to QMK AVR template - remove Bootloader selection comment block - sort Build Option rules - unify inline comments commit b4b3be4f05d09a44c6ff2852373bdfc139dc468b Merge: 6817771df7 563be8ca2a Author: QMK Bot Date: Wed Mar 17 04:58:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 563be8ca2a1445120fce79b0fc0c991af697d7bc Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue Mar 16 23:57:51 2021 -0500 Add bootmagic support for hub16 and hub20 (#12257) commit 6817771df7ae3934ede9d9fcd3d4ee2f351c16ae Merge: ed8ffa4bb4 e527b375e8 Author: QMK Bot Date: Wed Mar 17 04:57:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e527b375e849556da6592ca204ef35674e0d3de0 Author: Ryan Date: Wed Mar 17 15:56:45 2021 +1100 TKC M0lly refactor (#12227) commit ed8ffa4bb4fbdce83a6e117f2d58708e65f52c03 Merge: 3c92142f12 4e8a218d17 Author: QMK Bot Date: Wed Mar 17 03:10:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4e8a218d175476664258333d89582c243969825f Author: Mojitas <47667093+Mojitas@users.noreply.github.com> Date: Wed Mar 17 04:09:45 2021 +0100 [Keymap] Mojito - removed layer macros (#12201) Co-authored-by: Ryan commit 3c92142f12c80c73369717a39bebfbf5867bff52 Merge: c680c84a31 57de02c9f2 Author: QMK Bot Date: Wed Mar 17 03:06:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 57de02c9f290d26927778b1bf7b1cfa41090a436 Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Tue Mar 16 22:05:20 2021 -0500 [Keyboard] fix bm68rgb default keymap (#12199) commit c680c84a3173936a6c16ae3a304cf1ae5699d835 Merge: da752e5d7d 3c4972a53f Author: QMK Bot Date: Wed Mar 17 02:50:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3c4972a53f9c68b0838ffb1cdd5bb31d06a1b4a2 Author: Kyle McAlpine Date: Wed Mar 17 02:49:48 2021 +0000 [Keyboard] Fix issue with process_record_kb in Torn (#12189) commit da752e5d7d1dc922f324b5aa239a51ad0f3ccaa0 Merge: cefa23e4eb 6af387ec6f Author: QMK Bot Date: Wed Mar 17 02:44:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6af387ec6f5228e9d268dc925cef5bddbd02a3ee Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Tue Mar 16 22:44:13 2021 -0400 [Keymap] stanrc85 keymap updates (#12184) commit cefa23e4ebc0d0098c71e08012a92092351fedc7 Merge: 07ea935533 554b73643d Author: QMK Bot Date: Wed Mar 17 02:24:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 554b73643dc1bf8cd9b0a0fc6ad137753b2e4ffa Author: Gavin Austin <37852683+vk2fgav@users.noreply.github.com> Date: Wed Mar 17 13:23:35 2021 +1100 [Keyboard] Added Roses Lite Support (#12173) Co-authored-by: Ryan commit 07ea935533d8bc69f257adf9f1995af2e65ffeb4 Merge: 1d341ffbb0 e941ae3811 Author: QMK Bot Date: Wed Mar 17 01:39:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e941ae38110c616884acbb7447350b150cdb9d4d Author: Simon Arlott <70171+nomis@users.noreply.github.com> Date: Wed Mar 17 01:39:09 2021 +0000 [Keyboard] Add YMDK NP24 (ATmega32U4 with 6 RGB LEDs) (#12120) commit 1d341ffbb0dfbf45139c103123549c3c0fec816e Author: Michael Stapelberg Date: Tue Mar 16 20:45:21 2021 +0100 core: add support for MK66F18 (Teensy 3.6) micro controller (#12258) This is in preparation for https://github.com/qmk/qmk_firmware/pull/10171 commit 319031154d74ba2568dc855c73d7919a749c7f32 Merge: 2defbde5ab f75420c209 Author: QMK Bot Date: Tue Mar 16 07:01:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f75420c209cf5535ed1599504d1a52059f21bc22 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Mar 16 00:00:59 2021 -0700 box75: fix key positioning in info.json (#12256) * fix key positioning for box75 commit 2defbde5ab1ba0907bd4bad798a4ec046e47f754 Merge: c12eae0c5e d99806cc27 Author: QMK Bot Date: Mon Mar 15 23:10:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d99806cc27f32b1a856ec99731456c79a5358a27 Author: Matteo Montemarani <71832926+mm0nte@users.noreply.github.com> Date: Tue Mar 16 00:09:29 2021 +0100 Pizza Keyboards Pizza65 addition (#11604) * Added Pizza65 from Pizza Keyboards Addition of Pizza65 * Update pizza65.h * Update info.json * Update mcuconf.h * Update rules.mk * Updated makefile * Update keyboards/pizzakeyboards/pizza65/config.h Co-authored-by: Drashna Jaelre * Update keyboards/pizzakeyboards/pizza65/config.h Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/config.h Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/keymaps/ansi_blocker_doublebs/keymap.c Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/info.json Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/rules.mk Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/readme.md Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/readme.md Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/info.json Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/info.json Co-authored-by: Ryan * Update keyboards/pizzakeyboards/pizza65/info.json Co-authored-by: Ryan * Chibios Config migration * Update keyboards/pizzakeyboards/pizza65/readme.md Co-authored-by: Jonas Gessner * Update keyboards/pizzakeyboards/pizza65/readme.md Co-authored-by: Jonas Gessner * Update keyboards/pizzakeyboards/pizza65/pizza65.h Co-authored-by: Jonas Gessner * Update rules.mk nk rollover activation * conf updates * Update keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker/keymap.c Co-authored-by: Davide Riccardo Caliendo * Update keyboards/pizzakeyboards/pizza65/keymaps/iso_blocker_doublebs/keymap.c Co-authored-by: Davide Riccardo Caliendo * Update keymap.c thanks to Acaban * Update pizza65.h update to the iso_blocker_doublebs layout macro * Delete chconf.h Deleting after the ChibiOS-conf migration. * Delete config.h Deleting after the ChibiOS-conf migration. * Revert "Delete config.h" This reverts commit 16d64619e68578382aca3b1475968563b662d07f. * Delete mcuconf.h Deleting after ChibiOS-conf migration. * Delete halconf.h Deleting after ChibiOS-conf migrations. Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Jonas Gessner Co-authored-by: Davide Riccardo Caliendo commit c12eae0c5e529653d2dccb5dca7deba3b3c34012 Merge: 56d193c5c8 cd8497b9fb Author: QMK Bot Date: Mon Mar 15 23:03:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cd8497b9fb3b00020a28d582cdc772f3c0fa35b1 Author: kb-elmo Date: Tue Mar 16 00:03:16 2021 +0100 add support for Noah AVR PCB (#11563) * add support for Noah AVR PCB * Update info.json * Update readme.md * Update keyboards/kb_elmo/noah_avr/rules.mk Co-authored-by: Ryan * Update keymap.c * Apply suggestions from code review Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 469b4b21d241a592bedfe1ea217bad74b5195c50 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Mar 15 13:45:39 2021 -0700 Fixes for recent info.json files (#12248) commit 56d193c5c8f0a00f63ef0c9afb7791dc537dc4d2 Merge: c3a2a7659e 926389f3a7 Author: QMK Bot Date: Mon Mar 15 17:42:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 926389f3a700ac2cde66b1b982525cd1e7b1a200 Author: vattern Date: Mon Mar 15 17:42:09 2021 +0000 Keyboard/grandiceps (#11933) * Add Grandiceps keyboard * Fix info.json * Fix typo * Fix typo * cleanup format * move mcu files to root * Updated with PR changes * Apply suggestions from code review Co-authored-by: Ryan * Apply suggestions from code review Co-authored-by: Ryan * PR issues for chibios confmigrate * PR Changes Co-authored-by: Thys de Wet Co-authored-by: Ryan commit c3a2a7659eb3279e8480972edf8da6f10897c000 Merge: 8b9419aaf7 52b7ebd6be Author: QMK Bot Date: Mon Mar 15 08:25:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 52b7ebd6be2532fc41ef1593be8e22c5f39d9a1e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Mar 15 01:25:00 2021 -0700 M10-A refactor (#12242) commit 8b9419aaf7f75a7f2c18f09b75a243751d624cf2 Merge: 2f59e1c1d9 2e50b34c67 Author: QMK Bot Date: Mon Mar 15 08:07:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2e50b34c67ec602e456c4a158c0956aa1b9aaa2d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Mar 15 01:06:55 2021 -0700 Add missing info.json files for keyboards (#12239) Recent changes to QMK Configurator's API have made it so an info.json file is required for QMK Configurator to know how to render the keyboard in question. This PR adds info.json files for keyboards that did not have them, with a few exceptions for boards whose layouts I was unable to determine. * add info.json file for 2key2crawl * add info.json file for 40percentclub/4x4 * add info.json file for 40percentclub/5x5 * add info.json file for 4pplet/aekiso60/rev_a * add info.json file for 4pplet/steezy60/rev_a * add info.json file for 6ball * add info.json file for 7c8/framework * add info.json file for aeboards/constellation * add info.json file for alpine65 * add info.json file for aplyard/aplx6 * add info.json file for arch_36 * add info.json file for arisu * add info.json file for box75 * add info.json file for butterstick * add info.json file for four_banger * add info.json file for geekboards/tester * add info.json file for handwired/2x5keypad * add info.json file for handwired/412_64 * add info.json file for handwired/42 * add info.json file for handwired/aplx2 * add info.json file for handwired/brain * add info.json file for handwired/cans12er * add info.json file for handwired/ck4x4 * add info.json file for handwired/d48 * add info.json file for handwired/dactyl_manuform/dmote/62key * add info.json file for handwired/daishi * add info.json file for handwired/hexon38 * add info.json file for handwired/jot50 * add info.json file for handwired/jotanck * add info.json file for handwired/jotpad16 * add info.json file for handwired/k8split * add info.json file for handwired/myskeeb * add info.json file for handwired/nicekey * add info.json file for handwired/onekey * add info.json file for handwired/postageboard * add info.json file for handwired/riblee_f401 * add info.json file for handwired/riblee_f411 * add info.json file for handwired/rs60 * add info.json file for handwired/splittest * add info.json file for handwired/trackpoint * add info.json file for handwired/traveller * add info.json file for hhkb_lite_2 * add info.json file for honeycomb * add info.json file for ivy/rev1 * add info.json file for keebio/viterbi * add info.json file for laptreus * add info.json file for latin47ble * add info.json file for latin64ble * add info.json file for launchpad/rev1 * add info.json file for lets_split_eh/eh * add info.json file for mechmini/v1 * add info.json file for meira * add info.json file for meishi * add info.json file for merge/iso_macro * add info.json file for mschwingen/modelm * add info.json file for pabile/p20 * add info.json files for pimentoso/paddino02 rev1, rev2/left, and rev2/right * add info.json file for rgbkb/pan * add info.json files for runner3680 3x6, 3x7, 3x8, 4x6, 4x7, 4x8, 5x6, 5x7, and 5x8 * add info.json file for sck/gtm * add info.json file for splitish * add info.json file for standaside * add info.json file for ungodly/launch_pad * add info.json file for xelus/trinityxttkl * Revert "add info.json file for rgbkb/pan" This reverts commit 280b89bc6157023a621a9864f5d74d59d62bb511. * correct maintainer for ivy/rev1 commit 2f59e1c1d9c1a8fd99d7a0c01202c0550646bfd8 Merge: 998c58e89b a18e1305b3 Author: QMK Bot Date: Mon Mar 15 01:21:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a18e1305b303be4b30c57f16e72ce27af0dd38d8 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 15 12:21:14 2021 +1100 Format code according to conventions (#12244) Co-authored-by: QMK Bot commit 998c58e89be0a0bd86e564185967b7ad0fde0f26 Merge: 35db567c9c 0779c34db8 Author: QMK Bot Date: Mon Mar 15 01:19:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0779c34db8ba0bf7141712377b1db467394f940f Author: xyzz <1065521+xyzz@users.noreply.github.com> Date: Sun Mar 14 21:19:01 2021 -0400 Fix keycode mappings for via and ensure they don't change within protocol (#12130) * Fix keycode mappings for via and ensure they don't change within protocol * Update keycodes * Fix broken keyboards * added the missing keycodes found in via * Remove invalid keycodes Co-authored-by: David Hoelscher commit 35db567c9cee9f065b1c50ecdb66e616d25f0a1b Merge: 93929e8d01 9e1d04fea7 Author: QMK Bot Date: Sun Mar 14 21:51:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9e1d04fea77c4da64248e7870b915939a768c5c0 Author: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Mon Mar 15 05:51:21 2021 +0800 [Keyboard] Added Adellein Keyboard/PCB (#11547) commit 93929e8d010f8658bdfb758622daf92909add085 Merge: 75867ff164 b44bffe954 Author: QMK Bot Date: Sun Mar 14 20:19:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b44bffe954dca574bf6ef16b8c8d985e9547d3e1 Author: yhaliaw <43424755+yhaliaw@users.noreply.github.com> Date: Mon Mar 15 04:19:05 2021 +0800 [Keymap] Add yhaliaw keymap for Planck/Rev6.1. (#11318) commit 75867ff164041ef6b257247921caf47d4cc6f6cf Merge: 78be537eff 739925c902 Author: QMK Bot Date: Sun Mar 14 20:17:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 739925c902488e39cced8f8ef03c77ef6cfee751 Author: Ryan Date: Mon Mar 15 07:17:09 2021 +1100 Add info.json for RGBKB Pan (#12218) commit 78be537eff9174b900e0f5266e6a71bc2bbee072 Merge: d036ebeaf6 45e6bb7add Author: QMK Bot Date: Sun Mar 14 19:56:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 45e6bb7add65d4fd733feb2ae1a059782d7f2cfc Author: Monksoffunk Date: Mon Mar 15 04:55:59 2021 +0900 Add Cassette42 (#10562) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit d036ebeaf6bebe2c1a226f0e3e5bda58abf6db7e Merge: f236395176 7b7689d307 Author: QMK Bot Date: Sun Mar 14 19:24:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7b7689d30796c977b95197091c16e8bb97000101 Author: milestogo Date: Sun Mar 14 12:23:30 2021 -0700 [Keymap] miles2go userspace update, add functions for babblepaste library, add prime_e keybard keymap (#9196) Co-authored-by: Drashna Jaelre commit f23639517683378bed12792903e0d9cc6a1a6794 Author: Ryan Date: Sat Mar 13 11:38:26 2021 +1100 LED Matrix: Clean up includes (#12197) commit 5590c40b5b5a718ab2af270ea9974d98db68d8ef Merge: 71bb07d10a aa73411c14 Author: QMK Bot Date: Sat Mar 13 00:38:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aa73411c14487465d7af9d9f1ca7cb5d157e9343 Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Fri Mar 12 18:37:39 2021 -0600 Update RGB matrix effects documentation (#12181) Co-authored-by: Ryan commit 71bb07d10a4ac274dc0120a085d1f366c7479d55 Merge: e83f4e0173 b96c18c952 Author: QMK Bot Date: Fri Mar 12 22:38:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b96c18c9529cbc46e3947a5b5fed3d3e134bf698 Author: yiancar Date: Fri Mar 12 22:37:41 2021 +0000 Hand 88 (#11963) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit e83f4e017378de0f1841e2fd849e2947a62e366f Merge: 0ee473afd1 225bff226f Author: QMK Bot Date: Fri Mar 12 21:58:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 225bff226fd4d32daa4b93e51ba4348efc854e47 Author: Dan Thomas Date: Fri Mar 12 21:57:50 2021 +0000 fix info.json layout name for boardsource/5x12 (#12145) commit 0ee473afd1f785c495fd63d873fe39790c6cbb23 Merge: f279f4731b 5d7ad69cd8 Author: QMK Bot Date: Fri Mar 12 21:50:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5d7ad69cd89b6e3be01459fb7009b8eaf568121b Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Fri Mar 12 21:50:15 2021 +0000 [Bugs] Fix VIA Compiles (#12186) commit f279f4731b69ea050b1fb08df56dbf2af29d1b10 Merge: d95df57297 b8ad5f4249 Author: QMK Bot Date: Fri Mar 12 21:48:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b8ad5f4249e0b01772905515664c8961d3db0787 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sat Mar 13 05:47:45 2021 +0800 Document LED physical location index for Planck and Preonic (#12147) Co-authored-by: filterpaper commit d95df57297b581f424efb26c916fae2b16863ff2 Merge: 71f8f5048b 63f9e7ee86 Author: QMK Bot Date: Fri Mar 12 07:44:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 63f9e7ee86c3b92fb81374a9e7063a8e72c38de9 Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Fri Mar 12 15:43:31 2021 +0800 Enable default features on VIA keymap for Lily58 (#12185) Co-authored-by: filterpaper commit 71f8f5048b0c583893e26b7a419f40de58c11891 Merge: 183c49f352 88dce24375 Author: QMK Bot Date: Fri Mar 12 07:04:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 88dce243750d9e80948cd7262566182018d7bbdf Author: Ryan Date: Fri Mar 12 18:03:44 2021 +1100 Remove hex_to_keycode and move tap_random_base64 to send_string.c (#12079) commit 183c49f3522e948c541ee0cc63997f438994c534 Merge: 97268662fe ea2a7c5ea4 Author: QMK Bot Date: Fri Mar 12 06:34:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ea2a7c5ea4c4509ea7008a835eb9b98b0b1c05d6 Author: Nick Brassel Date: Fri Mar 12 17:33:48 2021 +1100 ChibiOS conf upgrade for boston (#12170) boston - 8bded9dabff58de6febd927d4ad976bb743696a3 commit 97268662fe304e68536f2f388821ee3e0b164380 Merge: b113772bb1 0ad7833ca4 Author: QMK Bot Date: Thu Mar 11 18:02:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0ad7833ca408938fb8083e4ce990348773b5fa4e Author: Alexander Kagno Date: Thu Mar 11 11:01:53 2021 -0700 [Keymap] arkag Userspace updated (#12183) Co-authored-by: Alex commit b113772bb1e81b7fc064741f2d9da6d9f5907b63 Merge: 40c7ecfdea 790f94533c Author: QMK Bot Date: Wed Mar 10 22:48:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 790f94533c936409e6be56e8b638969b42350180 Author: Joel Challis Date: Wed Mar 10 22:48:18 2021 +0000 Refactor to use led config - Part 6 (#12115) * Convert to config * Convert to config * Convert to config * Convert to config * Convert to config * Convert to config * Convert to config * Convert to config * revert changes commit 40c7ecfdeaf50ab76e10854a84aebfcb82ddb092 Author: Joel Challis Date: Wed Mar 10 22:47:36 2021 +0000 Move gpio wait logic to wait.h (#12067) commit 2e24cfadb75b00156acf2827d5643d6c2d55a60c Author: Ryan Date: Thu Mar 11 05:21:28 2021 +1100 Remove `FUNC()` (#12161) commit bb01ea3809eb6c8b6946d2f7d844c29caf7aa349 Merge: 25ec655162 9089244db7 Author: QMK Bot Date: Wed Mar 10 05:18:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9089244db77d724f23ddfc01be370f9c029c8e6c Author: somepin <79652090+somepin@users.noreply.github.com> Date: Wed Mar 10 00:17:35 2021 -0500 Add VIA support to doodboard/duckboard_r2 (#12028) * Update R1 keymap and config * Add duckboard R2 * Add VIA support for duckboard R2 * Set bootmagic lite row and column * Update config.h * Update keyboards/doodboard/duckboard/config.h Co-authored-by: Drashna Jaelre * Update config.h Co-authored-by: Drashna Jaelre commit 25ec655162f6f02dce142fd328530c368d824392 Merge: 4496983233 aed8bace97 Author: QMK Bot Date: Tue Mar 9 21:37:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aed8bace97646af7e90e3a46f48aa3a83784df17 Author: Ryan Date: Wed Mar 10 08:36:39 2021 +1100 Fix typo in `get_git_version()` (#12182) commit 44969832335f79cd3c77cbb90a1067eca6ccfed3 Merge: 7b91af780a 4f5e0dd325 Author: QMK Bot Date: Tue Mar 9 18:37:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4f5e0dd3254de14ea86c7a4644e97a3a1077b40e Author: Danny Date: Tue Mar 9 13:36:38 2021 -0500 Add BFO-9000 info.json (#12179) commit 7b91af780ace04a08b3de6f266bd65cdc34a78ec Merge: 9155b59e1a 6d8d20774f Author: QMK Bot Date: Tue Mar 9 16:07:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6d8d20774ff57ea19743d2c9afc209a68c51e361 Author: Zach White Date: Sun Mar 7 20:29:23 2021 -0800 improve detection of community layout support commit 9155b59e1a496b64f7aa576e6e4cb84fd0a9607b Author: Ryan Date: Mon Mar 8 16:55:00 2021 +1100 LED Matrix: decouple from Backlight (#12054) commit b0069c5c05dac2c910d51ef7f3bf4133721a9c49 Author: Zach White Date: Sun Mar 7 19:10:03 2021 -0800 Begin the process of deprecating bin/qmk in favor of the global cli (#12109) * Begin the process of deprecating bin/qmk in favor of the global cli * Correctly set the qmk bin commit 7d45b7f269ddcfc1b33a55d8fed77bdfbf81ba8b Merge: 43b47495e3 2aa38f5bd3 Author: QMK Bot Date: Sun Mar 7 23:34:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2aa38f5bd339b206b01963110d4c068bbe0f64bf Author: Armando Magalhães Date: Mon Mar 8 00:33:40 2021 +0100 [Keymap] add crkbd/keymaps/armand1m (#12098) commit 43b47495e333a640903c029a35defda5b000502f Merge: b15288fb87 75fd6bd269 Author: QMK Bot Date: Sun Mar 7 20:20:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 75fd6bd2690583ae62c43f0b9a930cd9f6d8dbb3 Author: maz0r Date: Sun Mar 7 20:20:02 2021 +0000 [Keyboard] Capsunlocked CU80 - added variant's for RGB matrix support (#12019) Co-authored-by: Ryan commit b15288fb87c9a5daf47278c84d0ee3bca241dabb Author: Zach White Date: Sun Mar 7 12:01:13 2021 -0800 trivial change to trigger api update commit e6e572bf5c1cd7f41f165e705f7b47ba4dd2ba8b Merge: 37d1fa53e0 86e6be342c Author: QMK Bot Date: Sun Mar 7 16:15:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 86e6be342cf6c8db7794da86ddb5a8afddb3b71b Author: Zach White Date: Sun Mar 7 08:14:25 2021 -0800 minor change to trigger api update commit 37d1fa53e0222db740862e2e9908953fe5ce1e32 Merge: f48d95b415 8556068534 Author: QMK Bot Date: Sun Mar 7 06:40:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 85560685345d5147529dfd0d6a5806d28d044094 Author: Ryan Date: Sun Mar 7 17:39:35 2021 +1100 Require `BOOTLOADER = qmk-dfu` for `:bootloader` target (#12136) commit f48d95b415ac31fcbc65131691fa39444a6f1a94 Merge: 5fb16e3442 0763269ec5 Author: QMK Bot Date: Sun Mar 7 05:26:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0763269ec51e65d90f41c5042cad63f091e40937 Author: Zach White Date: Sat Mar 6 21:26:07 2021 -0800 fix CI job: api-data->api_data commit 5fb16e3442382c64777810eb3a8e6d4145233de2 Merge: d170a1c0e2 01b8ef39f5 Author: QMK Bot Date: Sun Mar 7 05:22:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 01b8ef39f5b7bee6ffe8188c46aa3836a8270022 Author: Pierre Chevalier Date: Fri Mar 5 13:35:41 2021 +0000 Remove stale references to "handwired/ferris" The code was moved to the "ferris" directory. Fixes the following commands: ``` qmk compile ~/qmk_firmware/keyboards/ferris/keymaps/default/keymap.json qmk compile ~/qmk_firmware/keyboards/ferris/keymaps/pierrec83/keymap.json ``` Addresses this issue: https://github.com/pierrechevalier83/ferris/issues/5 commit d170a1c0e261e276ca053bf258c5d21bc17f038e Merge: fbd6b28633 08e512a273 Author: QMK Bot Date: Sun Mar 7 05:18:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 08e512a273f9123dbe3477fba447da4d9ea53d53 Author: Zach White Date: Sat Mar 6 19:18:45 2021 -0800 upload api data to spaces commit fbd6b28633cb10774859fffc8e69d3a6fe1e67da Merge: 56d5131715 1cbf1c681a Author: QMK Bot Date: Sat Mar 6 23:57:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1cbf1c681a9ad36e488fef1e8ce139992651baaf Author: Zach White Date: Sat Mar 6 15:56:45 2021 -0800 Enforce minimum versions for jsonschema and MILC (#12141) commit 56d5131715c8b6cdd61ece3ddc1a1d33083549d2 Merge: bee226b3ee 9b85b1b638 Author: QMK Bot Date: Sat Mar 6 23:13:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9b85b1b638f95ec92398fdb8847561ac90e8745d Author: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Sat Mar 6 17:13:20 2021 -0600 [Keyboard] bm68rgb (#12128) * add support for Bbm68rgb * pull request changes filled * pull request changes filled(this time for real) * added new line to files that did not have new lines at end of file * updated modifier keys for rgb effects * Update keyboards/bm68rgb/readme.md * Apply suggestions from code review * Apply suggestions from code review * add nkro suppport * Update keyboards/bm68rgb/rules.mk * modified keymap to better correspond to physical layout * updated comment style commit bee226b3ee317f0eb25892a24e8542c7575b1f6c Merge: 6e19dbc923 788b1854b4 Author: QMK Bot Date: Sat Mar 6 21:04:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 788b1854b42a916919c3e8efc77b366ba03d2d8c Author: icesoup Date: Sun Mar 7 02:03:48 2021 +0500 [Keyboard] add Soup10 support (#11921) Co-authored-by: Joel Challis Co-authored-by: Ryan commit 6e19dbc9236e435cbe0ac56260416797cf63c0ee Merge: cde4165097 86e28b4db8 Author: QMK Bot Date: Sat Mar 6 18:57:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 86e28b4db84223152d959288f17e5bcfc5960e75 Author: Aleblazer <60912320+Aleblazer@users.noreply.github.com> Date: Sat Mar 6 12:56:48 2021 -0600 Adding Zodiark Split keyboard (#11837) * Adding Files for Zodiark * zodiark.h and keymap.c layout corrections * Apply suggestions from code review Applied all suggestions from zvecr. Co-authored-by: Joel Challis * Applied all suggestions from fauxpark Co-authored-by: Ryan * Defined matrix driver * Update keymap with GPL2 * Added GPL2+ to All keymap.c, cleaned up config.h, and removed the rgbmatrixwip keymap * Apply suggestions from code review Removed the two lines from the config.h and changed to the smaller resolution picture on the Readme. Co-authored-by: Drashna Jaelre Co-authored-by: Ryan * Added VIA keymap * Corrected VIA Keymap oled.c Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit cde41650978b4663be503c6cc517fed53a1e2c03 Merge: c375a8d75b 9c94de070a Author: QMK Bot Date: Sat Mar 6 08:50:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9c94de070a651c477ed8d65228af4255a35ea6aa Author: Ryan Date: Sat Mar 6 19:50:01 2021 +1100 Remove ifdefs for UC and X/XP too (#12131) commit c375a8d75be08ea0699c1e13b29a49d6889e8e3a Merge: b7f2f40ae5 23d6ca9942 Author: QMK Bot Date: Sat Mar 6 06:45:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 23d6ca99427de0fa8dabb0c4d70a7d1ebc4c9fdf Author: Ryan Date: Sat Mar 6 17:44:48 2021 +1100 Remove a few more ifdefs from quantum_keycodes (#12129) commit b7f2f40ae5bf9ad148e2de58757a14813f37a779 Author: Drashna Jaelre Date: Fri Mar 5 16:26:57 2021 -0800 Set default OLED Update Interval for Split Keyboards (#12107) Because the matrix scanning is slower for splits, in general, the frequent updating of the OLEDs can slow down the matrix scanning. To help prevent that, set the update interval for the OLEDs to not update as frequently. commit 6e938f1f24e0cfc5e1440acb71cbac5088840332 Merge: e1ce619bf7 b16bfac107 Author: QMK Bot Date: Fri Mar 5 22:23:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b16bfac1077f1f88b4d0c0e062e085f0e380885b Author: Conor Burns Date: Fri Mar 5 23:22:42 2021 +0100 added 0xCB/1337 keyboard (#12089) Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis commit e1ce619bf7f4436a57a6caf54a519bef2d1154b9 Merge: 3acb3a09fc 09dfc08207 Author: QMK Bot Date: Fri Mar 5 20:26:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 09dfc082073ed4166415523eeefeffc59176fb9e Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Mar 6 05:26:26 2021 +0900 add OLED_DRIVER_ENABLE into show_options.mk (#12121) commit 3acb3a09fc0b37eb25d95b77a14298695538d9ff Merge: 7ca9604422 07fce7ba13 Author: QMK Bot Date: Fri Mar 5 18:43:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 07fce7ba13ee2d166fe2f18ef8d9ef622eace446 Author: bluepylons Date: Fri Mar 5 13:43:09 2021 -0500 [Keyboard] add Boston keyboard (#11273) * Added boston keyboard * Added Boston keyboard * Changed some keycodes, added layers, added encoder layer change, added RGB layer indicator * Cleaned up whitespace * Update config.h Cleaned up whitespace * Cleaned up whitespace * Added keyboard_post_init_kb code for RGBLEDs so that they start on a defined color * Modified layout so that split backspace right is at a more intuitive location for configurator * Cleaned up whitespace, changed some labels * Modified keymap to accommodate revised layout in boston.h * Removed "on port C6" from Line 20 (committed suggestion) * Removed "Encoder Enable" from Line 8 (committed suggestion) * Removed empty #define DESCRIPTION as suggested * Implemented lock LED changes as suggested by drashna * Implemented lock LED changes as suggested by Drashna, changed WS2812 driver byte order * Updated HSV color codes to reflect WS2812 byte order change * Implemented suggestion from noroadsleft * Implemented suggestion from noroadsleft * Updated readm.md per suggestions from noroadsleft * Update keyboards/boston/readme.md per noroadsleft's suggestion * Removed empty layers from default keymap * Stripped empty layers and much code from default keymap ; moved to RGB Light Layers keycap commit 7ca96044221741c462b9935e6affac442246c113 Merge: ebfd555ad1 52d8cbf092 Author: QMK Bot Date: Fri Mar 5 18:30:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 52d8cbf092574974d50adfb8fd3b3b9f88074b18 Author: Sendy YK Date: Sat Mar 6 01:30:06 2021 +0700 [Keymap] Add 60_ansi_arrow_split_bs_7u_spc layout & keymap (#11329) * Add 60_ansi_arrow_split_bs_7u_spc layout & keymap * Update readme.md * Minor updates * Update dz60.h * Update keymap.c * Update readme.md * Update keymap.c * Update readme.md * Update readme.md * Update keymap.c * Update layouts/default/60_ansi_arrow_split_bs_7u_spc/layout.json * Update keymap.c * Update readme.md commit ebfd555ad1b19c3220f651d069dc5693624e199a Merge: f8f2cf7500 73b8f85816 Author: QMK Bot Date: Fri Mar 5 18:26:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 73b8f85816c3209f6213e358a0d3737c7a73d45f Author: Dimitris Papavasiliou Date: Fri Mar 5 20:25:20 2021 +0200 [Keyboard] Lagrange handwired keyboard (#11374) * [Keyboard] Add the Lagrange keyboard * Covert the master side to use the SPI driver. commit f8f2cf750020eb63fd17f35960309e9cdd47d616 Merge: cc6cd394e5 aadea5ab97 Author: QMK Bot Date: Fri Mar 5 18:04:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aadea5ab97d4da9af1d75f39a15f5ce498034105 Author: datafx <2432997+datafx@users.noreply.github.com> Date: Fri Mar 5 13:04:14 2021 -0500 [Keyboard] Monstargear XO87 Solderable support (#11716) * Support for XO87 solderable version * cleanup * Remove abandoned code * replaced KEYMAP with LAYOUT and moved LAYOUT macro to solderable.h. deleted unneeded files. * Update keyboards/monstargear/xo87/solderable/keymaps/via/keymap.c * update info.json with missing keys * Apply suggestions from code review * Apply suggestions from code review correct layout macro commit cc6cd394e5218df5fae0d825b2474e8e5bb2fa82 Merge: 7e051e0619 54f7708eaa Author: QMK Bot Date: Fri Mar 5 05:16:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 54f7708eaadb838320443a66bb6b25b3969473b7 Author: yiancar Date: Fri Mar 5 05:15:41 2021 +0000 [Keyboard] NK65 rev 1.4 (#11991) NK65 Pinout change for rev 1.4. * Update Pinout for new PCB rev * Create readme.md * Update keyboards/nk65/v1_4/rules.mk commit 7e051e06191e5360d16921021982402a18beb1bb Merge: a71fb6057d d7aa245c33 Author: QMK Bot Date: Fri Mar 5 04:25:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d7aa245c3343542381ae0e9eb1b77eadca74da57 Author: imchipwood Date: Thu Mar 4 20:25:19 2021 -0800 dumbpad refactor - adding support for various PCB revisions (#9259) * Placeholder commit - Refactored to support different PCB revisions Individual revision folders still need: - info.json - readme.md all v0x folders support up to two LEDs for layer indication all v1x folders support up to two LEDs for layer indication plus one extra LED for numlock indication v0x - supports single-encoder v0.x PCB revisions v0x_right - supports reversible, single-encoder v0.x PCB revisions v0x_dualencoder - supports dual-encoder v0.x PCB revisions v1x - supports single-encoder v1.x PCB revisiions v1x_right - supports reversible, single-encoder v1.x PCB revisions * Added info.json and readme.md files for all dumbpad revisions * More refactoring, adding shared config.h and rules.mk Removed config.h from default keymap folders - defining TAPPING_TOGGLE in config.h * Minor formatting fix * MATRIX_COL_PINS for v1x_right was not reversed - changed to match v0x_right * adding support for v1x dual encoder PCB * adding alt-f2 tapdance routine for personal keymaps * adding dumbpad build using teensy 2.0 instead of Pro Micro * matched v1x dumbpad encoder and led pins to latest PCB revisions * updated readme, removed v1x_teensy until someone requests it * changed device name to match tmk udev rules, removed unnecessary ifdef * removed user keymaps and folders * missed hotdox keymap - removing * fixing info.json keyboard_names for all versions * Changed biton32 to get_highest_layer in keyboards/dumbpad/v0x/v0x.c * keyboards/dumbpad/v0x/v0x.c - remove matrix_scan_kb, process_record_kb * /dumbpad/v0x/keymaps/default/keymap.c - remove empty functions * /dumbpad/v0x/keymaps/default/keymap.c - changed biton32 to get_highest_layer * keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c - remove empty functions * keyboards/dumbpad/v0x_right/readme.md - smaller board layout image * keyboards/dumbpad/v1x_dualencoder/readme.md - smaller board image * keyboards/dumbpad/v1x/readme.md - smaller board image * keyboards/dumbpad/v1x_right/readme.md - smaller board image * Update keyboards/dumbpad/rules.mk * Apply suggestions from code review Batch applying suggestions from review * fixed removal of led_set_kb * Implementing requested changes from old pull request 9259 * removing unused rules * removed rules.mk from dumbpad base folder * adding templates for each layout * testing default keymap json * Testing applying default keymap for dumbpad * Layout correction: v1.x are 17 position pcb's * Update keyboards/dumbpad/v0x/rules.mk * Update keyboards/dumbpad/v0x/rules.mk * Update keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c * Update keyboards/dumbpad/v0x_dualencoder/rules.mk * Update keyboards/dumbpad/v0x_dualencoder/rules.mk * Update keyboards/dumbpad/v1x_dualencoder/rules.mk * Update keyboards/dumbpad/v1x_dualencoder/templates/keymap.c * Update keyboards/dumbpad/v1x_right/rules.mk * Update keyboards/dumbpad/v1x_right/rules.mk * Update keyboards/dumbpad/rules.mk * Update keyboards/dumbpad/v0x_dualencoder/templates/keymap.c * Update keyboards/dumbpad/v0x_right/rules.mk * Update keyboards/dumbpad/v1x/rules.mk * Update keyboards/dumbpad/v1x/rules.mk * Update keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c * Update keyboards/dumbpad/v1x_dualencoder/rules.mk * Update keyboards/dumbpad/v0x_right/rules.mk * Removing binary files commit a71fb6057dbc0fc022c675843196223f3a9493fd Merge: 474cffbc0f 2cb0b41ce7 Author: QMK Bot Date: Thu Mar 4 23:04:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2cb0b41ce7e9e9bc743451d7412a3114ec1d01b2 Author: Quentin Date: Fri Mar 5 00:03:58 2021 +0100 update correct layout name (#12096) commit 474cffbc0fed7600aa6c24c65960de44da4b43e5 Merge: 4fcc709f4e e25f05224f Author: QMK Bot Date: Thu Mar 4 23:00:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e25f05224f1c06aeed13b2e99e8e755af65ac689 Author: Nick Blyumberg Date: Thu Mar 4 17:59:20 2021 -0500 Fixed the ortho60 and ortho48 matrix layout after testing (#12106) commit 4fcc709f4eb8112525ae0d63641a51e2b452cfe4 Merge: 01c5ee6f7d 7639b5aa3e Author: QMK Bot Date: Thu Mar 4 19:08:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7639b5aa3e1a70d35d03fb25bb7804458ec36f3b Author: Jos Boersema <56587694+josjoha@users.noreply.github.com> Date: Thu Mar 4 20:07:55 2021 +0100 [Keymap] josjoha keymap for TheVan Keyboards' Minivan (#8066) Keymap Minivan: configurable dual layout, many symbols, speed/text-size measuring * Made center led color follow last activated layer color. Some led code clean up * Reordered the _RAR layer, also putting GUI on the _ACC layer. * Some issue with _FUN (see keymap.c FIXME), removed _FUN nested 'go to layer' key on _FUN. * markdown formatting * Update readme about _FUN top row issue (see keymap.c at XXX) * Sentence order final bit was wrong by topic. White space fiddles. * Minor comment editing * minor comment adjustments * leds are not modifiers, moved * _FUN persistance on base layer only (XXX) * The up/left to go to _LTR layer, now always goes to BASE (_LTR or _DDL). Led indicators refldect this. No _DRA hold on base layer but _ACC. No one shot to _FUN layer (seemed to make things confusing), but a TO(). * Some chatter about how to configure this map to your needs. * language fixing * Tried to make sense explaining how to access the descramble. * language fix * Seems there was a stale CSET_LTR/.*DDL, should be BASE_LTR/.*DDL, fixed. * language, blabla * Corrected stale _LTR into BASE * Some documentation finetuning and trying to make it simple to understand * language fixing * language fixing * Doing the utmost to explain it in a way I understand it too. * language fixing, going ultra-verbose * language fixing and formatting * language fixing * language fixing, formatting * attempt to simplify explanations as much as possible * added License to keymap.c (GPL), noted that _ACC and _DRA need work to function in 'descramble' mode * fixes regarding layer order, adding two layers, started on descramble layers for _ACC and _DRA Unicode * Noted some coming changes about F-layer and more descramble. * changed globals to type 'bool' * Changed F-layer by removing pre-modifier F keys, moved BASE direction switches, added new incomplete descramble layers * _FUN layer changes (comment fix) * Led color fixes. Changed order of layers in the source (no user consequence). * Added copyright authors (hope that is correct in GPL style/requirements). * Switched on BASE layers the keys to activate _MOV with leftside _NSY: more harmoneous, and _MOV can also be held by right hand. * Follow Quantum indentation style more (mostly). * On _NSY & _DDN, Tab follows _LTR. '-' moved to LShift, '.' moved, ',' created, shift(tab) removed. * Added Linux Unicode input mode Accented characters on layers _DDA, _DDD * added to Todo * Added ijIJ to _ACC and _DDA layers (2nd last letter of Dutch alphabet). * add todo point about navigation, fix -> "8th key" * added 「」《》 to _DRA and _DDA * Added 〇, ƒƑ. Altered Nav clusters with paging on outside, added thumb Page up/down to _MOV, brought _REV in line with recent _NSY changes (tab,-,enter,dot,comma). Harmonized tab on _Mov with other layer tabs (also a move command, moving cells). * Added super- and sub-script for numbers on _DRA, _DDD. * Added quotation marks „ “ ” to layers _DRA and _DDD. * Added °〇•· to _DRA, _DDA * § as an enumeration grouped with • (bullet), · as possibly math (middot or multiply) grouped with ±. * Changed numbers to be on home-rows both hands, because thumb layer key does not interfere alternating between hands for longer numbers (previous reason for one-handed numbers). The unshifted symbols went left 2nd row, because then the shifted versions can be accessed with shift if the layout is replicated on a Pok3r (which is non-programmable right hand 2nd row.) The logic has been harmonized with layers _DDN, _DRA & _DDD, _FUN, which have number(-like) keys. It seems better this way. The symbols are layed out more spaciously, each finger now does two symbols (2nd row, 4th row). The numbers are more like they normally are, which feels more natural, and should even the load between both hands and help with alternating between hands when typing numbers. Reason to change was looking into pressing ;, q, j, with ring-, middle-, index-finger (moved one to the right from default Dvorak), because the stagger makes it easier to reach that way, less loss of home row contact, bending fingers more straight up and down. Downside became that left index type 5 numbers, and that the normal finger matching (0 is pinky, etc) was lost. With the new layout these potential problems are also resolved. * Made descramble _DDN, _DDL representation show both raw and resulting layouts. layouts. * Added arrows, fleur and heart on _DRA and _DDD. * Changed _FUN layer switching to incorporate the 'descramble' system seemlessly. The 4 layer with a descramble twin will switch to either depending on the descramble mode. * Descramble mode with normal Unicode layers mostly done, except costum LT() to share the key with Delete/Alt on _DDL. * Changed descramble mode keys to be just one on a cycle. Added full set of Alt/Control/Shift multimodifiers to `_FUN` layer. * Changed descramble mode keys to be just one on a cycle. Added full set of Alt/Control/Shift multimodifiers to `_FUN` layer. * format fix * Descramble cycle key moved from row 1 to row 4 far right, to avoid accidental press, * The 'descramble' mode with normal Unicode encoding finished. Fixed mistaken non-transparent key on _DRA and _DDD, removed tab from _RAR. * stale layer comment fix _LTR/_DDL * New layer-tap timed keys proved unreliable, longer tap term fixed it. * The _FUN layer is a one-shot layer for the F-keys, but that can be toggled by the FUN< key on the _FUN layer (top row, 3rd). Some additions to the readme. * Comment improvements (layout tables) * minor * Made #defines to allow a user to easily switch to a WASD arrow layout. * Added keys to switch leds on/off, to _RAR layer. Fixed wrong comment on 'APP' key in _RAR. * comments fix regarding MLed, SLeds * Added BASE to same key as _FUN on base layer, except layers with numbers/symbols. Removed capital ƒ, and moved ± to that key. Added … on old spot of ±. Some readme language editing, adding something about other keyboards, etc. * small language fix * Config.h: Removed unused #defines. Readme: minor edits. * minor language edits. * Minor comment edit. * Minor language fix. * Minor language style edit. * Removed unnecessary section 'personal remarks' * Changed the top row in _DRA and _DDD. Super-/sub-script parenthesis to that location on _NSY, added currency symbols, reduced emoticons. * minor formatting * Added LGUI and RGUI on the _DRA/_DDD layer(s). * Put RGUI on the base layer, on the _FUN layer switch key. This probably causes side-effects on systems without where RGUI is not merely a modifier. * Changed _FUN toggle on BASE to Rshift, because RGUI on some systems has a consequence when tapped by itself. * Changed LGUI and RGUI around because LGUI is mostly used and on BASE layer. Some edits to last part of readme.md. * Minor language fixed (L/R-GUI, use-case). * some more blabla on use case of the map generally * Changed name KC__[LR]GUI to KC__[XY]GUI for clarity wrt switching them. * Removed left-arrow on Alt on _ACC and _DRA, for faster use with pointer device. * Added the same system as is on RShift, to LShift, pointed it to _MOV layer. * Changed left shift layer toggle to _DRA, because it has uncluttered shift, alt, control, for using those with a pointer device (mouse, stylus). * Changed base layer left-shift tap from _DRA to _MOV, because _MOV toggled can be convenient generally, and it is a less dangerous layer to accidentally press, and it makes more sense to activate the navigation layer when editing in 3D software. * The Power keys on _RAR now require Shift to be activated (accident prevention). * fiddled with title * more title fiddles * Added RGUI on _FUN for future proofing the layout, harmonizing layers. * Added ',' on _REV (number fraction division). Minor fix to documentation format. * title fiddle * Added LGUI, RGUI to _RAR, to harmonize with other layers and for potential future uses. * Changed unnecessary transparent keycode on _AcC and _DDA to be 'nop', minor comment fixes. * Added on _DRA and _DDD: ─━┄┅. Fixed a bug in led layer colors (forgotten 'else', causing wrong color for _DDD). * Some changes to conform to QMK readme.md standards (more necessary). * Changed _REV into a numbers pad layer called _PAD, put on Lshift in BASE. _REV layer (not used anyway) replaced with a layer that is basically a layer where symbols that exist on _NSY (mostly) and on _LTR (few) are existing in the same locations, but in the number pad variant of that symbol. The goal is to make it easy to find, it is not meant for single hand access quickly. The use is to deal with special shortcuts like Blender has, which differentiate normal and numpad numbers/symbols. For quick access it was put on the left shift in BASE layer. * Added navigation arrangements to _PAD. Changed location of shift on _RAR. The numbers on numpad are easy to find, but when these keys are in their navigation variant with numlock on it becomes almost impossible. There was room on the map to add an arrow row, and a row for the remaining navigation keys, hence they where added. They are in a left handed order, because there already is a right handed order on _MOV. It still proved possible to accidentally trigger Power, due to erroneous hitting 'shift' in BASE and then messing around by accident. With shift on (BASE) space in _RAR, accidents should be reduced further, since it is a combination never used. * Added Tab on _ACC and _PAD To facilitate Control-Tab (a blender shortcut). On _ACC the Tab is in its correct place. On _PAD it messy because not on its correct place. Leaving it there for now: easier to access Tab+Control with left hand only on the modifiers in _PAD, and other hand on a pointer device. Tab has a potential use to jump input cells, which may be used in combination with a numpad. * _MOV layer: switched default layout to trangle navigation layout. This only required to set the already existing #defines. I found the flat layout not intuitive, the triangle layout has no left/rigth hand problem. The higher buttons for the mouse where not correctly ordered, so they where re-ordered. * Triangle navigation by default. Added pictures of layout to readme.md * Layer names on images. * Changed image for layer _DRAW slightly. The shifted symbol to the lower right. * Image for _PAD corrected for no-action and Tab. * Added a paragraph about why this layout is good to use. * removed 'modifiers' paragraph * Some text improvements in paragraph on what is good about this layout. Fiddle on the title as well. * Added Del on _DRAW layer. Some minor text fiddles here and there. * Removed word "descramble" in image layer _RAR. * Improved key 'sticky' and altered image size (test). * Rescaled image for layer FUN * Unicode in its own file. Bug fix: _DDA 'ï' printed a capital. Upon a suggestion from QMK Discord #programming, the macros and unicode is put in a separate file, because keymap.c got large. An erroneous numerical value for ï was fixed. Author e-mail is updated to a new e-mail adres. * Added an image to illustrate 'descramble' mode. * Changed explicit e-mail to link, to reduce spam bot trolling. * Added a Qwerty+Dvorak compile time version. It seemed the overall design (accented, Unicode, stuff) could be useful for Qwerty typers (of which there are so many). This was done by #if(n)def out/in a fair amount of code here and there, and creating 4 replacement layers in a new file qwerty_dvorak.c, also with its own readme in qwerty_dvorak.md. The 'descramble' switch system is re-used here to switch from Qwerty to Dvorak. The new code is put in qwerty_dvorak.c, which starts with an extensive comment about why and how it works. Fix: Docs, a stale "_MOV" was replaced with "_PAD" in the readme.md for _DDL. * Changed image hosting. Downtime, problems registering: resorting to my own domain. * minor text order changes * Some text improvements. * Added a compile option to easily change what layer is active on startup. This layer can be plain Dvorak or 'descrambled' Dvorak, if QWERTY_DVORAK is not set. It can be Qwerty or Dvorak if it is set. Just some simple #define statements. * Added graphics for Qwerty+Dvorak, and improved documentation. Added the whole set of layers also to qwerty_dvorak.md, because it seemed it would get even more confusing to have a user cross reference it between the two files. * Some simple text improvements * Numbers/symbols layer keys on BASE to DRAW when both pressed. The two keys besides the space bars go to DRAW layer when pressed simultaneously. (This is inspired on the Planck's 'adjust' layer, pressing both 'lower' and 'raise' together.) All layers can now (relatively) comfortably be reached. This change was necessary because it was cumbersome to reach the DRAW layer with the right pinky and then type with the right hand. _RAR is now not super easy, but it is a 'rare' layer anyway. * Added compile + flash section in readme. * Corrected documentation: 'mouse on ... hand' * Removed up/down arrow ⮙⮛ on _DRA and _DDD, because the hex file was too large. Due to pulling the master repository, changing nothing in this keymap, the code compiled as 2 bytes too large, where before it had been 2 bytes left free. Some compile options have been created, to make it easy to cut out up/down arrow on the 'descramble' _DDD layer, and/or the normal _DRA layer, and/or dashes ┄┅ on the 'descramble' _DDD layer. The 'normal' layer cut out of arrows yields little benefit, but it keeps all layers exactly the same between 'descramble' and normal mode. For Qwerty compilation, you will want to not cut out anything, requiring to edit the user compile options in keymap.c (top). * Resolved size issue with QMK #defines, re-instated ⮙⮛, removed RGUI on _FUN. Various #defines tested to reduce space, NO_ACTION_MACRO NO_ACTION_FUNCTION worked. Therefore the cutting out of the up/down arrows was no longer needed. The #defines to easily remove them have been left in place. RGUI made _FUN confusing with the multi-modifiers, thus taken out. Multi- modifiers now logically cascade without skipping a key. * Improved image files with led colors and some tweaks. * Updated graphics file for Dvorak in QWERTY_DVORAK compile option. The led colors where not correct because the graphics for standard Dvorak was being re-used. * Fixed for re-instating arrow up/down for space. * Activation marker on _FUN layer in documentation altered. It looked like it was a symbol. * Made startup layer explicit in code. Startup layer follows 'descramble' on/off user #define setting. * Marker for BASE activation for _PAD, _MOV: fixed. There was a stale marker in the documentation layouts for _MOV: removed. The same marker for _PAD was improved. * Code optimizations suggested on pull request #8066 https://github.com/qmk/qmk_firmware/pull/8066 Some things moved to config.h, rules.mk Changed layer_on/_off to layer_move(..) Removed a global variable, changed literal type on a function. Code is now a lot smaller, hence removed readme.md entry on that. Removed "not shown" on 'descramble' leds in qwerty readme (mistake). * Compile option to change ƒ into €. Since it's a west european keymap, maybe someone likes the euro currency on it. (It was not on it because I don't like ...) * default to ƒ on keymap * Removed print sheet for layout *.odt file. Changing this to text/markdown seems to reduce the use of this file to a point that it may be better to delete it. There is also the graphics now, which might be better to print. * Updated the seller/maintainer of the board to: The Key Dot Company LLC. https://thekey.company/blogs/blog-updates/thekey-company-acquires-minivan * Changed external links to website to plain text. The markdown link is caught by the github cammo system. * Last free spot on the map made easy to configure. One spot was still free (Unicode _DRA/_DDD layer). This puts a #define on top of unicode_macros.c, to make it easy for a user to put in their own symbol. Put placeholder 🛠 in there. That symbol is not represented in the documentation (maybe it should, it is a nice symbol). * Removed space saving #defines. These became obsolete clutter, now that there is enough space thanks to LINK_TIME_OPTIMIZATION_ENABLE. * Added tokens to simplify compiling for 45/46 keys. An attempt to make it easy to switch on a #define between various hardware configurations (44, 45, 46 keys) failed. This: #define J1 , KC_A // seems to have failed to be recognized as a key definition. error: error: macro "LAYOUT_command" requires 45 arguments, but only 44 given Left in are some code tokens (J1-J4) and #defines that need at least bulk replacement in keymap.c and optionally qwerty_dvorak.c, to compile for such hardware configurations. It would be nice if this could be done better. * User can easily compile for 45, 46 hardware keys. Added some #ifdefs around optional keys in the keymap, to allow compiling for 45 and 46 keys. Left the earlier made code with the J1_J2 etc. tokens, which could still be used to port the map to a board with even more keys. This fixes earlier mentioned problem. * Arrow cluster for 'arrow' hardware configuration. This is a user configurations option in the keymap.c, to have an arrow cluster around the additional key for 'arrow' hardware. The arrow cluster is however not on the base layer (no room). The additional key is used to switch to the _MOV layer. There it becomes a down arrow in the arrow cluster. To make this work with the default _MOV layer, the right hand keys on the 2nd row where moved one spot to the left, for the 'triangle' arrow configuration (mouse right). This is a trivial change. There was a bunch of language improvements to the documentation, including graphics. The symbol 🛠 is now listed. The program seems to be reliable, as far as used and tested. * Correction of mark-down formatting. _MOV layer 'arrow' cluster documentation rendered incorrectly (attempt to add newline). * Markdown formatting mistake correction. Adding a newline at 'Layers (text)' chapter. * Moving the graphics about 'arrow' to topic. The graphic explaining what 'arrow' with arrow cluster means, should be where that is mentioned under compile options. * Editor token J3_J4 moved to avoid arrow cluster. If one wants to insert a key by bulk replacing J3_J4, and has activated the 'arrow' layout arrow cluster, this new key would be inside the arrow cluster, hence it was moved to the left. * Æstethics of image 'arrow' layout, arrow cluster. Shading corrected/nicer. * Corrected image link in readme.md Illustration 'arrow' layout, arrow cluster. * Fix: Toggle to BASE layer leaked. South-paw key. When toggling to a non-BASE layer, either on the _FUN layer or using the 'arrow' cluster for 'arrow' layout, on the BASE layer to toggle to _MOV, the layer changed on the down-stroke, causing a character to leak. These layer switch macros now alter layer on the up stroke. There seems to have been an accidental code deletion: #define MORE_key1. This defines what the additional hardware key for 'South Paw' ('Command') should be. * User compile option comments easier to read. The phrases "uncomment" and "comment out" are confusing. Replaced by _activate_ and _remove_. * Put user compile options back to default Minivan. Accidentally left the compile options for number of Minivan keys in the wrong state while git pushing. * Rewording a comment in the user compile options. Clearer language. * Leds indicate Caps/Num-lock. Leds green/blue switch depending on numlock for numbers-pad layer _PAD. BASE layer led brightens when capslock is on. * _PAD had the wrong period, fixed. _PAD layer had the KC_DOT instead of KC_KP_DOT. * Options for navigation keys arrow hardware key. Compile options added to have a complete navigation cluster around the additional hardware key for 'arrow' layout, both for triangle left handed arrows and flat right handed arrows. * Added _FUN layer in text Qwerty. _FUN text layer was by mistake missing/deleted in the qwerty-dvorak readme. * Added graphical visualization of all layers. * Graphics: _RAR 'Capslock', _NSY '~' corrected. Text representation of layers was correct, graphics corrected. * Compile Option arrows in a vi(1) editor layout. Vi(1) is a much loved editor, with its own peculiar arrow layout on HJKL (as it appears in Qwerty). It seems possible some Qwerty vi users might find it fun this way for regular arrows as well. The 'arrow' hardware layout, compiled with arrow cluster, follows the vi(1) arrow arrangement. * More layer overview graphics files for the readmes. Added a '40% x 400%' to the 3D layer overview image (top). Added overview of all layers in a readable way (Dvorak² only). Added a guide to show where what is similar on layers. This should help with learning. Added a graphic showing what key activates what layer. Added graphics that show what layer subsets are active in certain modes (Dvorak² and Qwerty/Dvorak). Fixed mistake: _Tab_ missing in layer `_PAD` graphics file. * 'Tab' inserted in overview graphics for _PAD layer. * Corrected mistake in similar layer keys. LGUI on _ACC * Added overview graphics for Qwerty/Dvorak. Overview of layers, similar keys on similar layers, activation. * Compile option to change ⮘ ⮙ ⮚ ⮛ into ☐ ☒ ☑ 🗹 Layer _DRA, _DDD. Checkboxes seem handy for lists. Set default on in keymap.c. Pointers seem rarely useful. Right arrow sometimes as a bullet point marker. All affected graphics updated. * First overview image correction. Last layer is not 'symbols' due to its numbers. Some art improvement. * Minor tekst correction (author Minivan config). * Short features overview and git lib fix. * note⁴ as example * Improvements all over the place. The keymap is now modular dual layout. There is a common system, and there can then be two letter/numbers layer pairs be compiled with it, which are separately defined and documented in ./bases… files. Speed measuring and text size counting added. There is an additional Unicode layer, for a total of three. The “descramble Dvorak” layer is now just a function, as was originally intended. * Wrong link to Dvorak manual, stray ‛r’ character. * Splitting the layouts so they are not pairs of 4. The layers had been configurable only as a set of a BASE and letter layer with another BASE and letter layer: Dvorak + Dvorak² and Qwerty+Dvorak. Now Dvorak, Dvorak² and Qwerty can be individually configured, to be on either the Default or Alternate spots in the dual layout (Dvorak² only supports Alternate, due to its “_HALF_ descramble” mode). * Added Colemak layout. Some tidying up of documentation wrt DEF/ALT base layer identifiers. Fixed missing ‛:’ on the graphics for Qwerty. * stale letter * fix modified submodules * removed redundant code testing twice for non-zero * Speed measuring precision fix. The calculation of “int speed;” caused great loss of precision. * Added overview of layers by key. Makes it easier to see the associations of meanings per key. * Dvorak descramble by key overview Forgot to add. * Minor readme format fiddle. * Graphics: blank keys are grey, fix one mistake. * Compilation as a single layout. Layer definitions _ALT_BASE and _ALT_NSY (enum) are simply #redefined as preprocessor numbers equal to _DEF_BASE and _DEF_NSY (see user_config.h, lowest reference to MINIFAN_SINGLE_LAYOUT). * Single layout compile option See user_config.h lowest reference to MINIFAN_SINGLE_LAYOUT for the why of the how. * RShift toggles to _RAR when held ≥ 500 ms. “Qwerty with arrows on BASE”, will need a key to _RAR layer. It mirrors the behavior of LShift. It is generally useful. Removed useless user options regarding LShift layer toggle. It will have to be _PAD. * Layer switch graphic update per last push. Forgot to update the default base layer switching graphic. * Preconfigured optional ‛Command’ hold key to _RAR layer. This is a third way to reach the _RAR layer, useful if the furthest right key on row 1 is changed to an uncluttered BASE layer arrow. This further prepares the way for a Qwerty layout with arrows on BASE. * Changed ‛Command’ hardware key to TG(_RAR) MO(_RAR) doesn't work, because it doesn't follow a change in base layers, which happens on _RAR. * Corrected wrong all-layers-by-key upload readme.md * More graphics = more fun: keycap view in readme. Preparing to integrate a number pad base layer. Shortened hold time for right/left Shift layer toggles to 200 ms. * Too light grey for “1470” on three layout graphics. * Added a numbers pad Base layout option. This numbers pad layer is in the format of a numbers pad keyboard/cluster. It has a second layer, which is normal for all Base layers. In this case, the second layer provides sub-/super-script versions of the numbers, in the same layout. * Keycap view numpad improvements. * Graphics: forgot to cut off southpaw/arrow on two keycap views. * Preprocessor identifier for “MIT” Planck spacebar. Trans-minivan preprocessor statements augmented with an identifier which might work for a Planck keyboard with two unit spacebar. At this point, the “trans minivan” code only could make porting to other keyboards less of a chore. It remains untested. Only visual inspection of the preprocessing regarding the amount of keys in the layout has been done. * Tweak of common layout graphic impression. This would also allow indication of a number pad. * Improved dual numpad layer & graphics. All numbers/symbols seem to get affected by NumLock, hence they all needed to show that in the graphic documentation. Tab was removed in favor of Numpad ‛=’, and comma replaced by numpad-comma. * Committing partial job on numpad Base layers. Hardware problem here, don't want to loose the data. * Three issues: header file, numpad Base, Tab key. This should complete previous unexpected commit. ① Documentation and precedent for a base layer with its own header file, base_NAME.h. This allows someone writing a new Base layer pair, to (un)set user configuration options in user_config.h. ② Numbers pad Base layer added, different variants. The common numbers pad also has a new optional layout (square), and can be removed by user configuration option (because one might already compile with the Base layer numbers pad).. ③ It turns out there was an easy solution to the Tab key anomaly. Uncluttered Tab is now located both on BON and ACC layers, on intuitive locations opposing Control, which is also in the right spot. Basic modifiers for Tab works well now. * Graphics for Base numpad single square: correction. Showed wrong insertion key for 'command' / 'south paw' hardware key. … * ‛South paw’ default GUI. Graphics. TOC user config. Made ‛south paw’ be GUI by default. Improved graphics appearance. Ordered options in user_config.h, added table of contents. * User config cleanup & added a compact alternate. The normal user configuration, which is heavily documented and therefore a bit unwieldy, can now optionally be done in another file, without any documentation. * Base graphics fix, _ACC/_NSY hold switch option * Added a Qwerty with arrows on base. Added a graphic in readme for Dvorak descramble (for documentation predictability). * Put `~ on the _BON layer. ① There was no uncluttered `~ available. On Qwerty Base Arrow the `~ key got even more sidelined. ② Improved Qwerty Base Arrow manual. * Option to harmonize Qwerty with Qwerty Base Arrow Key ‛/?’ is different on Qwerty Base Arrow, which will lead to typing arrows for people who have both kinds of Qwerty running. This option adds this key in the same spot as where it is on Qwerty Base Arrow, but only if Qwerty Base Arrow is being compiled. * See previous commit (Qwerty harmonization) * Efficiency fix. +Workman layout. Workman layout added. Serious efficiency mistakes discovered and fixed: ① There was no check on Delete on Base layer, to see if another key had been pressed. Fixed. ② The Shifts on Base did not provide a Shift for the _BON layer accented characters. Fixed. Fixing was painless, proving the code is stable and maintainable. * Changed Tab/CTL on _ACC/_DRA, μ, T.O.C. readme.md μ was forgotten (French), added on _ACC. This caused Tab to get displaced and stacked with Control, which ends up being better anyway. This also meant _ACC needed Left-Control, and therefore _DRA needed to switch Tab and Control, because it needs to complement _ACC with Right-Control (to be able to type all modifiers with Tab). ➡ Overview graphics are not yet updated. _DRA and _ACC are now out of sync in the graphics documentation. To be fixed soon. Chapter on language support added in readme. Table of Contents added to readme. * Updated all graphics (_BON/_DRA Tab/Control/μ). Some fiddles with readme. * Led on/off at startup, RAlt on Base option. It is hard to believe, but the todo que seems empty! * Minor changes in readme. * Minor documentation improvement (RAlt/_RAR). * Minor changes readme. Removed “not tested yet …”, because that becomes wrong once it is tested. * Added a blank keycaps graphic. * Lower saturation letters Dvorak-descramble keycap. ;-] * One key change in personal keycap graphic. ;-] * Forgot _NSY layer in keycap qwerty basearrow * Moved speed/count startup setting in user_config.h Moved to chapter startup settings. (These last commits are more like some loose ends with the last ongoing topics. It isn't active development, nothing new gets started. If QMK requests more changes, even if it is a typo, just let me know.) * Travis Cl: “The LINK_TIME_OPTIMIZATION_ENABLE flag… … has been renamed to LTO_ENABLE.. Stop.” Changed it. * Adds a link to external resources in readme. A place to put gimp .xcf files if someone wants to modify/port the keymap. Perhaps links to varieties of Minifan on github. Maybe a video about the keymap, and such. Stuff that doesn't belong/fit on github, and is easy to update without pull requests. * RGBLIGHT_ENABLE rules.mk fixed, leds off for nop rules.mk RGBLIGHT_ENABLE can now be set to “no” without issue. Compile option to have leds off in Default Base layer. * Transparency bug fixed. Default layer was not set. This remained a hidden mistake, until Qwerty Base Arrow had a different layer hold key in one place. * Graphics doc correction, L/Rshift toggle config Qwerty Base Arrow fix: Keycap view showed unneeded and empty ‛South Paw’ key. All layers by key shows 45 Minivan version, title said “44”. Added user configuration options to alter what is on the short and long toggle on Left and Right Shift. * Improved “why this layout” in readme. Wanted to add that numbers & symbols layer can be reached by both thumbs. It seems quite a drawback if that is not possible, to constantly need to hold down the same thumb, especially for programming ? It seemed worthwhile to mention. * Reduced size of readme, dvorak-descramble, todo. Stuff got a bit out of hand. * one letter typo * renumbered readme, _fun_stay initialization Renumbered readme chapters to start from 1 not 0. Other minor edits. Sticky on/off for _FUN layer seemed to be unpredictable on startup. * Letter Ñ (capital) fix. I seem to remember messing with this recently, must have damaged this letter :-(. Capital was missing. * Bare bones base numpad all layer by key. I seemed to have forgotten to hide the common layers for this version. Which doesn't matter a whole lot but this is a bit better and as it was meant. commit 01c5ee6f7d2b12dd54bcd572c91c00e63bc0a056 Merge: 8f54152fab 4d41645598 Author: QMK Bot Date: Thu Mar 4 18:16:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4d416455980dc7bccdebb4f2bf571d5182ec6796 Author: drhigsby <71532157+drhigsby@users.noreply.github.com> Date: Thu Mar 4 10:15:16 2021 -0800 Dubba175 (#12077) * dubba175 initial * Following checklist * Update readme.md * Update keyboards/dubba175/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/dubba175/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/dubba175/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/dubba175/rules.mk Co-authored-by: ridingqwerty * Update config.h * Update keyboards/dubba175/readme.md Co-authored-by: Ryan * Update keyboards/dubba175/rules.mk Co-authored-by: Ryan * Update keyboards/dubba175/rules.mk Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: ridingqwerty Co-authored-by: Ryan commit 8f54152fab940c2094f1039c2183e3d8458bffef Merge: 54f6ff3bd5 b1a8fafa62 Author: QMK Bot Date: Thu Mar 4 15:20:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b1a8fafa62ec058470715a6930317da09d63181d Author: s-show Date: Fri Mar 5 00:20:01 2021 +0900 [Docs] Japanese translation of docs/keycodes.md (#10192) * copy 'keycodes.md'. * Translated 'keycodes.md'. * Fixed typo. * Fixed typo. * Apply suggestions from code review Co-authored-by: shela Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * update based on comment. * update based on comment. * Update docs/ja/keycodes.md * update based on comment. Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * update based on comment. Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * update based on comment. Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update docs/ja/keycodes.md Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * update based on comment. Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: shela Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 54f6ff3bd53347648c182e097fd24420b8a712f8 Merge: d3092ced99 6461087c86 Author: QMK Bot Date: Thu Mar 4 04:10:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6461087c865bc4af30ac8521af9db785afb662a0 Author: Ryan Date: Thu Mar 4 15:09:22 2021 +1100 `qmk generate-rules-mk`: add `--escape` switch for makefile logic (#12101) commit d3092ced99b5a529c6bde32d8f352cc40abd317d Merge: 6c3af2670e 7aa74c227b Author: QMK Bot Date: Thu Mar 4 01:02:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7aa74c227b03e882915b184d07a5e31c9d720710 Author: studiokestra <74369928+studiokestra@users.noreply.github.com> Date: Wed Mar 3 18:02:27 2021 -0700 [Keyboard] Add Studio Kestra Nue PCB (#12094) commit 0fd95e5db52c5cd51d452c479977a7b9af5ef7a7 Author: Drashna Jaelre Date: Wed Mar 3 17:02:00 2021 -0800 Remove ifdefs for Swap Hands keycodes (#12095) commit 6c3af2670e41448432052a44b446c1c7ff3da9a5 Author: Nick Brassel Date: Thu Mar 4 10:35:02 2021 +1100 Fixup line endings. commit 8f30f4170c85009b6be991c9820f2c79068ccdc6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Mar 3 14:33:14 2021 -0800 cannonkeys/atlas_alps: rename via keymaps rules.mk.txt to rules.mk (#12103) File doesn't work without the correct filename. commit ad4cfffe3d1e6ad0dd5c8e5ed12c5fef6eb93955 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed Mar 3 13:44:55 2021 -0800 Format code according to conventions (#12102) Co-authored-by: QMK Bot commit 6a4960889e812fba72c964765448ccf33ab45a4f Merge: 064265166c 2dcd67ce1a Author: QMK Bot Date: Wed Mar 3 21:33:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2dcd67ce1a40075c895a28ce6f6e7a5f634ee376 Author: Signynt <67801159+Signynt@users.noreply.github.com> Date: Wed Mar 3 22:32:22 2021 +0100 [Keymap] sigma-squared (#11694) commit 064265166ca519f52253ff836866a88940070986 Merge: 9f6ce448bd 4c3090ace9 Author: QMK Bot Date: Wed Mar 3 21:32:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4c3090ace922c06d00df12f7fc5d0f2d0f194fae Author: individ-divided <75159519+individ-divided@users.noreply.github.com> Date: Wed Mar 3 22:31:41 2021 +0100 Documentation changes SPLIT_USB_DETECT and hid_listen udev rules (#11665) Co-authored-by: David Grundberg commit 9f6ce448bd98bb00178de421afcede9a99223afe Merge: c26344fc93 fb3777f085 Author: QMK Bot Date: Wed Mar 3 21:15:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fb3777f085fb0ba0510e4217df58f00f6ebd5a01 Author: Evelien-Lillian Dekkers Date: Wed Mar 3 22:14:55 2021 +0100 [Keyboard] Add Conone 65 (#11827) Co-authored-by: Ryan commit c26344fc939a5265281e320591e8ac3cbabfb19b Merge: 4235160dcf 018b8e1d62 Author: QMK Bot Date: Wed Mar 3 20:38:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 018b8e1d62f8c067bd556492b7e8cf8407eb6036 Author: labahuy <68632528+labahuy@users.noreply.github.com> Date: Thu Mar 4 03:38:16 2021 +0700 [Keyboard] Add Keyboard Rartlite (#11866) commit 4235160dcf82ab7aef3a62d1bdc0d77151215a6a Merge: 73120947cf ba3c346195 Author: QMK Bot Date: Wed Mar 3 20:37:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ba3c346195ef96d8c464ba14d6cc05837b7560e1 Author: Skyler Lewis Date: Wed Mar 3 13:37:06 2021 -0700 Update dichotomy/alairock layout (#12013) commit 73120947cf42fb251b10b083c3da58ce13ea9159 Merge: 5762bc4a5f e420b3981c Author: QMK Bot Date: Wed Mar 3 20:28:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e420b3981c849c8d8a6674d40b6162548de3a3de Author: Angel Rojas <66912190+rojasa1990@users.noreply.github.com> Date: Wed Mar 3 15:28:10 2021 -0500 [Keyboard] Added VIA folder under the keymaps folder (#12021) Co-authored-by: Ryan commit 5762bc4a5f6acbca3698648b67e1671187ff321a Merge: 41933efbf0 76cd6b662b Author: QMK Bot Date: Wed Mar 3 18:52:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 76cd6b662bed3b9dc127fa1a095a815df990814a Author: grant24 Date: Wed Mar 3 13:51:39 2021 -0500 [Keymap] Add grant24 Planck Rev 6 keymap (#12070) Co-authored-by: Ryan commit 41933efbf00cd1fb2ded0bb54c5dce8d7ba9e2b7 Author: Drashna Jaelre Date: Wed Mar 3 10:38:21 2021 -0800 [Keyboard] Enable RGB Matrix for Corne (#12091) commit 18a333ec6bc9051ae7ec63a809d725c5c5f77046 Author: Sergey Vlasov Date: Wed Mar 3 07:26:06 2021 +0300 Add support for complementary outputs to the WS2812 PWM driver (#11988) commit 8f5d2e546e69e09edd28ff68f3d3a894f96087a7 Merge: 4132dd87a4 0b6ff59448 Author: QMK Bot Date: Wed Mar 3 04:07:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0b6ff594484c90d34af787f03b45bae22447af60 Author: Ddone Date: Wed Mar 3 06:06:40 2021 +0200 [Keymap] Add ddone's iris keymap (#12055) commit 4132dd87a45d2b4c1e701d462cb2b056cbb16531 Merge: d950b97115 0752b6b23c Author: QMK Bot Date: Wed Mar 3 02:59:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0752b6b23c091b21db63f4a0a4a7605a7a2d47b7 Author: L3af Date: Wed Mar 3 15:59:03 2021 +1300 [Docs] Small spelling mistake fix in leader keys (#12087) commit d950b97115269a4e7e149bf1eb9b4c6ead13cf7b Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed Mar 3 07:54:11 2021 +1100 Format code according to conventions (#12088) Co-authored-by: QMK Bot commit cde2859a6591b1274da20978bd158f20229faa88 Author: XScorpion2 Date: Tue Mar 2 14:32:15 2021 -0600 Split RGB Matrix (#11055) * Split RGB Matrix * Suspend State sync for rgb matrix commit 967d7c47dc90c2cc087fb68acb328cc6e3fca76a Merge: 4c04c848b5 c5b0b6ff32 Author: QMK Bot Date: Tue Mar 2 14:33:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c5b0b6ff3258f82fdaad137dea179157e8dea3e3 Author: Dan Carroll Date: Tue Mar 2 09:32:44 2021 -0500 Remove more cruft from Lily58 default keymap (#12078) * Remove more cruft from lily58 default keymap * Update keyboards/lily58/keymaps/default/config.h Co-authored-by: Drashna Jaelre * Update config.h Remove extra newline Co-authored-by: Drashna Jaelre commit 4c04c848b550b5327d1e1ef61a597f12047b35c4 Merge: 27d2fb88ca ab3986a684 Author: QMK Bot Date: Tue Mar 2 14:32:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ab3986a6847b0325c37d2b2063aba6bea9563378 Author: Drashna Jaelre Date: Tue Mar 2 06:31:23 2021 -0800 Set default for USB_SUSPEND_WAKEUP_DELAY to 0/disabled (#12081) commit 27d2fb88ca8c2bc3564bd0915c8681be707813e6 Merge: de585e3109 d0108869ee Author: QMK Bot Date: Tue Mar 2 05:29:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d0108869ee1431182574184ba11f064916369139 Author: Trevor Elliott Date: Mon Mar 1 21:29:11 2021 -0800 [Docs] MATRIX_MASKED docs for SPLIT_HAND_MATRIX_GRID (#11974) commit de585e31090bc580856d99efb4282a37edce0b96 Merge: e662de94f6 58d043b0d0 Author: QMK Bot Date: Tue Mar 2 04:34:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 58d043b0d0888dc74654c61fb9ca35df428589b6 Author: qpockets <69164255+qpockets@users.noreply.github.com> Date: Mon Mar 1 23:34:13 2021 -0500 [Keyboard] Update eggman info.json (#12074) attempting to fix qmk configurator issues commit e662de94f6c69380d6c8c31cad41bfe9a0e38017 Merge: 4fedf6efbd d918d571cc Author: QMK Bot Date: Tue Mar 2 03:10:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d918d571ccb96c572f4ff7a0bbaf6bd86c6def40 Author: Mega Mind <68985133+megamind4089@users.noreply.github.com> Date: Tue Mar 2 11:09:35 2021 +0800 Fix the typo in ergodone 80 layout (#12075) commit 4fedf6efbd7ba443e627af641817c072cd747442 Merge: 1beb6b686a 75ab48958c Author: QMK Bot Date: Tue Mar 2 01:18:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 75ab48958ce3f96efe4c7bbabb85d1e64ab81b81 Author: Nick Brassel Date: Tue Mar 2 12:18:07 2021 +1100 Revert "Fixing K-type RGB lighting (#11551)" (#12065) This reverts commit e6f7da403676b491ac278d5b793d18a0d114477e. commit 1beb6b686a7146a45e54b3ccb86923275310000a Merge: 50290c78b6 3200007a69 Author: QMK Bot Date: Mon Mar 1 19:57:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3200007a69a078903f673d954310697f41fc1612 Author: Dan Carroll Date: Mon Mar 1 14:56:42 2021 -0500 Fixing adjust layer issue with the lily58 default keymap (#12052) * Fix triggering of adjust layer in default lily58 keymap * Remove unused extern * Swap raise/lower in update_tri_layer_state call to match recommendation in PR checklist commit 50290c78b6b904b9d2f1dbcfea4495966a755eda Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Mar 1 18:08:18 2021 +0000 Format code according to conventions (#12076) Co-authored-by: QMK Bot commit 0e984b6e7e216a62df0b5d53f6a8f0d4bc13dca3 Author: Drashna Jaelre Date: Mon Mar 1 08:57:02 2021 -0800 Add ability to toggle One Shot functionality (#4198) Co-authored-by: Nick Brassel Co-authored-by: Ryan commit 86f6f682744b81bba1003e555f902af78dcdaad4 Merge: 93a1d4f156 7132526dd2 Author: QMK Bot Date: Mon Mar 1 05:04:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7132526dd276ac637757ddff7ab6f57f64ebb84c Author: Quentin Date: Mon Mar 1 06:03:55 2021 +0100 Bastardkb added keyboard and renaming (#11887) Co-authored-by: Drashna Jaelre commit 93a1d4f15611d68225b1eb689b81cbd4564fb18c Merge: 80e8e20a89 f8266a228c Author: QMK Bot Date: Sun Feb 28 21:25:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f8266a228cacbc31b0455161e0a8bd073feaa9db Author: Joel Challis Date: Sun Feb 28 21:25:09 2021 +0000 Migrate make_dfu_header to CLI (#12061) * Migrate make_dfu_header to CLI * lint fixes * Update lib/python/qmk/cli/generate/dfu_header.py Co-authored-by: Ryan * Rename object Co-authored-by: Ryan commit 80e8e20a8965da5934f74141291c6c5d805774c6 Merge: 0efafdd408 59c7deab09 Author: QMK Bot Date: Sun Feb 28 20:19:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 59c7deab0931207016315636ae1ef74c2c54dd18 Author: Joel Challis Date: Sun Feb 28 20:19:07 2021 +0000 Fix generated file output while target exists (#12062) commit 0efafdd408f31c39dd1b9a5e0ef356bc84a50243 Merge: 3718f5149a 1a7f2c8f45 Author: QMK Bot Date: Sun Feb 28 20:12:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1a7f2c8f453d4da6ed8622e52d5b788bc6dad480 Author: Ryan Date: Mon Mar 1 07:11:39 2021 +1100 Extract sendstring into its own compilation unit (#12060) * Extract sendstring into its own compilation unit * License headers? * Put this include in the header commit 3718f5149a9a745313aa54e8df70bff11bf2f965 Merge: 3b8ca5f343 e6905805bb Author: QMK Bot Date: Sun Feb 28 16:16:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e6905805bb5e272187ae9a780ab1d345249efbc3 Author: Joel Challis Date: Sun Feb 28 16:15:41 2021 +0000 Remove unused keymap_config from ctrl keymaps (#12058) commit 3b8ca5f343a1711cc4fb11a154a22c9470c2af21 Merge: b2f5bd7c60 90c7ae70c6 Author: QMK Bot Date: Sun Feb 28 16:01:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 90c7ae70c68662c671ee1026d1c5abe67026c473 Author: Fabián González Martín <61802930+FabSchwul@users.noreply.github.com> Date: Sun Feb 28 17:01:16 2021 +0100 Modified tmk_core/rules.mk to avoid linking errors (#10728) * Modified tmk_core/rules.mk to avoid linking errors Added -fcommon flag to avoid linking errors due to multiple variable definitions. Though this is neither a definitive nor good solution, proper changes and use of extern keyword to avoid those multiple definitions must be made * Comment updated commit b2f5bd7c60282ab8abc04d480f6348e0b8482436 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun Feb 28 15:53:54 2021 +0000 Format code according to conventions (#12056) Co-authored-by: QMK Bot commit 5ba4391cf29ce624f17593417212b3dbca1609ad Author: Joel Challis Date: Sun Feb 28 15:52:58 2021 +0000 Refactor of USB code within split_common (#11890) * Initial refactor of usb code within split_common * Add headers * Correct disable condition * Format * Align func name commit 415a8bc249d5c366487f69b3547198d17044a5de Author: Joel Challis Date: Sun Feb 28 15:52:43 2021 +0000 ARM - Refactor SLEEP_LED to support more platforms (#8403) * Initial refactor of ARM SLEEP_LED to enable more platforms * fix build issues * Disable SLEEP_LED for boards with no caps lock code * Enable GPT14 for boards with caps lock code and SLEEP_LED enabled * Enable GPT for boards with caps lock code and SLEEP_LED enabled commit a3cbc8a004f6ec5b0e1df326353a2a2fc8221129 Author: Joel Challis Date: Sun Feb 28 15:50:15 2021 +0000 Overhaul bootmagic logic to have single entrypoint (#8532) * Relocate bootmagic logic to have single entrypoint * Align init of layer state commit 02dc3b672217a4bc28b68c944863efd34dc28108 Merge: 0f084751b4 ef49a9243b Author: QMK Bot Date: Sun Feb 28 06:16:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ef49a9243b15cade7bec006f90cd0457c247e000 Author: Anomalocaridid Date: Sun Feb 28 01:16:04 2021 -0500 Implement PLOOPY_DRAGSCROLL_INVERT option, which inverts the ploopy trackball's DRAG_SCROLL's vertical scroll direction. (#12032) commit db7c8562eddb22350fc9849685bf82aa6dc6f31a Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sun Feb 28 14:15:38 2021 +0800 Add RGB Matrix support for Preonic rev3 (#12008) * Add g_led_config for RGB Matrix support * Corrected indentation * Undo indentation on existing rev3.c code Co-authored-by: filterpaper commit 0f084751b460674f5866dbf741a93052ddf81285 Merge: d57b44153e 51eac99ce4 Author: QMK Bot Date: Sun Feb 28 06:13:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 51eac99ce4db739c6149e674ec89ac9fc984c512 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Feb 27 22:13:29 2021 -0800 Kiko's Lab KL-90: Configurator bugfix (#11993) * human-friendly formatting * correct key order * correct layout macro name commit d57b44153e7896932fb8312fc847a7b096e95a6e Merge: fcf1ec132f c3f83b6761 Author: QMK Bot Date: Sun Feb 28 06:13:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c3f83b676146665ebfed8e3ff4ec4fb886438109 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Feb 27 22:12:51 2021 -0800 Keycapsss Kimiko rev1: Configurator bugfix (#11992) * human-friendly formatting * fix key positioning and order commit fcf1ec132f2d764e9fe13ee689182f490f574415 Merge: 4a31d0a9c9 ce75f48acb Author: QMK Bot Date: Sun Feb 28 06:12:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ce75f48acb3ba622201a0615bccb5825d118a703 Author: unrelentingtech Date: Sun Feb 28 09:11:52 2021 +0300 [Keyboard] Update spiderisland/split78 (#11990) * [Keyboard] spiderisland/split78: add MCP23018 reset code Now, communication with the right side gets re-established after unplugging it and plugging it back in. * [Keyboard] spiderisland/split78: configure debouncing I've been experiencing particularly bad bounce on the 'A' key. Also, update maintainer github username commit 4a31d0a9c93ce9334cf915d6f109e5942f282fa7 Merge: 656c39909a 9fd5c6f619 Author: QMK Bot Date: Sun Feb 28 06:11:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9fd5c6f619ec0745a6774cb3f6fe23dcceb1e621 Author: jackytrabbit Date: Sun Feb 28 14:11:06 2021 +0800 Update lazydesigners/the40 (#11989) * Update the40.h Update the40.h to fix keymap * Add VIA support for lazydesigners/the40 Add VIA support for lazydesigners/the40 * Update keymap.c commit 656c39909a1e2273795245d93dad00a86b0e712f Merge: 70bdf25284 f41e5ec928 Author: QMK Bot Date: Sun Feb 28 06:10:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f41e5ec928880bbc42e03b84af39eacaf3acac8d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Feb 27 22:10:26 2021 -0800 Compilation fixes for handwired/concertina/64key (#11987) * concatenate config.h to 64key directory * move rules.mk to 64key directory This commit makes the firmware actually compile. * insert complete rules.mk contents Conforms the file to QMK's template. * move info.json to 64key directory * remove concertina.h This file no longer serves a purpose now that everything is in the 64key directory. * complete 64key readme.md Conforms the file more to QMK's template. commit 70bdf2528480d5f7ddafe2f72f4bdb9eac532814 Merge: 15af423d86 cd12fe86d3 Author: QMK Bot Date: Sun Feb 28 06:10:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cd12fe86d3bce4221498848e9fced62fd708bdd8 Author: gazeddy <33955949+gazeddy@users.noreply.github.com> Date: Sun Feb 28 06:09:41 2021 +0000 New Variants of Console Keyboard (#11973) * initial push of console keyboard variants * update readme * fixed compilation issue * update Readme * added 18 and 27 key variants * missed commas * update info.json * added readme * correct info.json * correct info.json * info.json again * fixed keymap.c commit 15af423d868406031f0e9c223944c435a07af389 Merge: 8428dee47e d6fb8f12c6 Author: QMK Bot Date: Sun Feb 28 06:08:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d6fb8f12c63e8ee5fe51e0f2d6710b4d026f7469 Author: Daniel Shields <1530706+shieldsd@users.noreply.github.com> Date: Sun Feb 28 06:07:55 2021 +0000 [Keymap] Initial commit for keyboardio/atreus/dshields keymap. (#11946) Incorporating changes suggested during pull request review. Co-authored-by: Daniel Shields commit 8428dee47e1f1adea570f5e2aaf3847d2076d888 Merge: cf8097138e 371fb853ee Author: QMK Bot Date: Sun Feb 28 06:07:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 371fb853ee5a5004eab0ee09e5ad9b6978ba7531 Author: datafx <2432997+datafx@users.noreply.github.com> Date: Sun Feb 28 01:06:38 2021 -0500 Fix incorrect key for LALT and add modifiers to LED matrix (#11984) Co-authored-by: datafx commit cf8097138e61bc0b13c1ce70b5b2c1f834ba8d51 Merge: c4c3e774cd a0f532072d Author: QMK Bot Date: Sun Feb 28 06:05:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a0f532072d9f057f57c073521c2f587339ff8c20 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Feb 28 06:04:46 2021 +0000 [Keyboard] Dawn60 Rev1 RGB matrix port (#11970) * refactor * layout update * fix mods config * lto enable * add eeprom * refactor * final refactor commit c4c3e774cd405cd762b0128bd9237f8229b7c6be Merge: a19363ab25 3405efe934 Author: QMK Bot Date: Sun Feb 28 06:04:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3405efe934060f23864ff88b211523053dff42ba Author: Aeonstrife Date: Sun Feb 28 11:33:49 2021 +0530 Add Potato65 PCB (#11956) * Make initial set of files * Update readme.md commit a19363ab255390a569be3e419c6d3dafdf757d6b Merge: b6a39f61e5 af2e1f4e4d Author: QMK Bot Date: Sun Feb 28 06:03:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit af2e1f4e4dd6b98cbeffbb7a71724da69a5232b5 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Feb 27 22:02:34 2021 -0800 Banana Split VIA Support (#11944) * add VIA keymap for bananasplit * refactor code to new standards commit b6a39f61e5c48f9705c32bc5383795b400942f28 Merge: 13d44a2281 4fe8c473fd Author: QMK Bot Date: Sun Feb 28 06:02:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4fe8c473fdf50efb77017319847e8fd45fd3f263 Author: knaruo Date: Sun Feb 28 15:01:56 2021 +0900 Added support for barracuda keyboard (#11888) - Added default and via keymaps commit 13d44a22810be37f315c1103f257847c92163637 Merge: fad596a159 b2a0e98a60 Author: QMK Bot Date: Sun Feb 28 05:57:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b2a0e98a6018ad019533d98c0c9c8501cba933bc Author: MajorKoos Date: Sat Feb 27 21:57:04 2021 -0800 OddForge VE.A (#11875) * VEA Support * Update LEDs to use QMK methods * Enable Backlight * Update Vendor ID * Updates to enable split RGB * Update readme * Update to split RGB * remove unnecessary reference * Knight animation starts at the back * remove hardcoded variable Co-authored-by: Major Koos commit fad596a159ea99a4a2d0f2eed15c6224b44651d4 Merge: 55d85b89c0 74372424ae Author: QMK Bot Date: Sun Feb 28 05:51:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 74372424ae4c5be0b9f43d59306467ed775f6042 Author: Andy Freeland Date: Sat Feb 27 21:50:54 2021 -0800 [Keyboard] Add 'LAYOUT_65_ansi_split_bs' support to KBDfans KBD67 rev2 (#11739) * [Keyboard] Add 'LAYOUT_65_ansi_split_bs' support to KBDfans KBD67 rev2 This is already supported by VIA. * [Keymap] Fix kbd67 catrielmuller_camilad keymap * [Keyboard] Add my keymap for KBDfans KBD67 rev2 using 'LAYOUT_65_ansi_split_bs' commit 55d85b89c00cbe86222f43b5aacaf4dd49f99fb4 Merge: 43bd843f37 4a7a9e9951 Author: QMK Bot Date: Sun Feb 28 05:50:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4a7a9e9951c2749d908e7a34c91f72a5fdb4ad39 Author: Mario Medina Date: Sun Feb 28 00:50:01 2021 -0500 Satisfaction 75 turn off backlight on suspend, restore config on wakeup (#11774) * Satisfaction 75 turn off backlight on suspend, restore config on wakeup * Disable SLEEP_LED_ENABLE because it has no effect commit 43bd843f375c343ba24b1b70e4861cb9541ff664 Merge: 85dd0556d7 81fd005af9 Author: QMK Bot Date: Sun Feb 28 05:44:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 81fd005af9abb16aed26653a8633631189b4e03f Author: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Sun Feb 28 13:43:58 2021 +0800 Added n60_s folder (#11455) * Create Alter folder * Revert "Create Alter folder" This reverts commit 361103b821dbb22957b66cdedb0d11f996def71c. * Added n60_s folder * Fixed the url of the image in the readme * Updated readme * Updated readme * Updated readme commit 85dd0556d739df23fa14b071a1af155eeef70b83 Merge: e86e7c351d 2395069b0b Author: QMK Bot Date: Sun Feb 28 05:42:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2395069b0bf84e2667c36460d5c3a3c4225cbd85 Author: precondition <57645186+precondition@users.noreply.github.com> Date: Sun Feb 28 06:42:17 2021 +0100 [Docs] New section to modifier docs: Checking Modifier State (#10550) * Added new section to docs: Checking Modifier State * Added id anchors to all headers in modifiers docs * Added a Wikipedia link to bitwise operators and... crosslinked to the QMK macro docs. * Added an explanation on the format of mod bitmask * Added .md extension to hyperlinks to macros docs * Corrected mod mask order and changed notation * Documented add_oneshot_mods and del_oneshot_mods * Mentioned modifier checks in the macro docs * Explained strict modifier checking i.e. using `get_mods() & MOD_MASK == MOD_MASK` instead of simply `get_mods() & MOD_MASK` * Added (un)register_mods to the docs * Put left term of comparison in parens commit e86e7c351df36634b1ca0d29c8453e4d527b73a4 Merge: c2f446f40e 032dfddb6b Author: QMK Bot Date: Sun Feb 28 05:39:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 032dfddb6b51ebf7b86018dd28bf19cc3438074f Author: Paweł Kiszteliński Date: Sun Feb 28 06:38:51 2021 +0100 fix: ryloo studio m0110 layout 60 ansi fixed (#11685) commit c2f446f40e20007170396aba2ca559d602a1e72e Merge: d9d03d5af8 e6f7da4036 Author: QMK Bot Date: Sun Feb 28 05:38:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e6f7da403676b491ac278d5b793d18a0d114477e Author: Andrew-Fahmy Date: Sat Feb 27 23:38:13 2021 -0600 Fixing K-type RGB lighting (#11551) * initial rgb driver fix * added underglow LEDs and fixed typo in RGB locations * removed test code * added my key maps * updated rgb keymap to work with changes * refactored my code to make it more maintainable and updated keymaps. * added GPL licence commit d9d03d5af882d1cf7632726f8a1fc7909e53b725 Merge: b64fd093ad 7190971b44 Author: QMK Bot Date: Sun Feb 28 05:36:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7190971b44a53a099addd79ca98d5bb64ba087e1 Author: haierwangwei2005 <69899561+haierwangwei2005@users.noreply.github.com> Date: Sun Feb 28 13:36:04 2021 +0800 17 key Panasonic rotary encoder BLE pad (#11659) * Create rules.mk * Create glcdfonr.c * Create keymap.c * Create keymap.c * Create rules.mk * Add files via upload * Update readme.md * Update readme.md * Update readme.md * Update config.h * Update 10bleoledhub.h * Update 10bleoledhub.c * Update info.json * Update keymap.c * Update keymap.c * Rename glcdfonr.c to glcdfont.c * Update config.h * Update config.h * Update config.h * Update rules.mk * Update 10bleoledhub.c * Update 10bleoledhub.h * Update info.json * Update config.h * Update rules.mk * Update keymap.c * Update keymap.c * Update glcdfont.c * Update keyboards/10bleoledhub/rules.mk Co-authored-by: Ryan * Update keyboards/10bleoledhub/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/10bleoledhub/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/10bleoledhub/config.h Co-authored-by: Ryan * Update keyboards/10bleoledhub/config.h Co-authored-by: Ryan * Update keyboards/10bleoledhub/10bleoledhub.h Co-authored-by: Ryan * Create readme.md * Create rules.mk * Create latin47ble.h * Create latin47ble.c * Create info.json * Create config.h * Create keymap.c * Create rules.mk * Create keymap.c * Update keymap.c * Update keyboards/latin47ble/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keymap.c * Update keyboards/latin47ble/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/latin47ble/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/latin47ble/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/latin47ble/rules.mk Co-authored-by: Drashna Jaelre * Update latin47ble.h * Update latin47ble.c * Update latin47ble.h * Update latin47ble.c * Update keymap.c * Update keymap.c * Update config.h * Update keyboards/latin47ble/config.h Co-authored-by: Ryan * Update keyboards/latin47ble/config.h Co-authored-by: Ryan * Update keyboards/latin47ble/config.h Co-authored-by: Ryan * Update keyboards/latin47ble/config.h Co-authored-by: Ryan * Update keyboards/latin47ble/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/latin47ble/rules.mk Co-authored-by: Ryan * Delete info.json * Update readme.md * Update keymap.c * Update keymap.c * Update keyboards/latin47ble/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/latin47ble/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/latin47ble/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/latin47ble/latin47ble.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/latin47ble/latin47ble.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/latin47ble/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keymap.c * Update keymap.c * Update latin47ble.h * Update keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update keyboards/latin47ble/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/latin47ble/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/latin47ble/latin47ble.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/latin47ble/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/latin47ble/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/latin47ble/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update config.h * Create readme.md * Add files via upload * Create glcdfont.c * Create keymap.c * Create keymap.c * Create rules.mk * Update config.h * Update config.h * Update config.h * Update config.h * Update config.h * Update latinpadble.c * Update latinpadble.h * Update config.h * Update config.h * Update keymap.c * Update config.h * Update rules.mk * Update config.h * Update rules.mk * Update rules.mk * Update config.h * Update keyboards/latinpadble/config.h Co-authored-by: Drashna Jaelre * Update keyboards/latinpadble/config.h Co-authored-by: Drashna Jaelre * Update keymap.c * Update keymap.c * Update glcdfont.c Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit b64fd093ad5c3535946777b8f950f633c56b6549 Merge: bd4b7f8b25 6b1170cb97 Author: QMK Bot Date: Sun Feb 28 05:32:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6b1170cb9704e3ce3c81a61695d60cce371d1222 Author: ridingqwerty Date: Sun Feb 28 00:31:40 2021 -0500 Onekey keymap: quine (#10732) commit bd4b7f8b252f971b2ce57263b7f97edaa8bb1294 Merge: 93d3cf52ab ec06ffe294 Author: QMK Bot Date: Sun Feb 28 05:30:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ec06ffe294c1f64d4214b9a5142428c17f83ef6e Author: Steven Nguyen Date: Sat Feb 27 21:30:28 2021 -0800 Add keyboard: 7c8/Framework (#11593) * Add 7c8/framework keyboard * Update VIA framework.json definition * Code cleanup and styling to conform to QMK style guide * Code cleanup and moving some keymap definitions to a 'steven' keymap in order to create a cleaner default keymap for other users * Update keyboards/7c8/framework/config.h Remove #define DESCRIPTION Co-authored-by: Drashna Jaelre * Update keyboards/7c8/framework/config.h remove #define UNUSED_PINS Co-authored-by: Drashna Jaelre * Update keyboards/7c8/framework/framework.h Change layout name to existing layout name. Co-authored-by: Drashna Jaelre * Update keyboards/7c8/framework/framework.h Change layout name to existing layout name. Co-authored-by: Drashna Jaelre * Update keyboards/7c8/framework/framework.h Change layout name to existing layout name. Co-authored-by: Drashna Jaelre * Update keyboards/7c8/framework/keymaps/via/keymap.c change biton32 to get_highest_layer Co-authored-by: Drashna Jaelre * change vendor ID from 0x07c8 to 0x77c8, which is unused * delete VIA .json definition from via keymap folder * Change framework_grid to LAYOUT_ortho_5x12 in default keymap.c * remove framework.json from 'steven' keymap folder * cleanup * Update keyboards/7c8/framework/config.h 0x77c8 -> 0x77C8 Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 93d3cf52ab5fe9196a203e29e7bf537e82fc595f Merge: 33c7d6eb93 03ea478f20 Author: QMK Bot Date: Sun Feb 28 05:04:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 03ea478f205e37419032c15c16143c17a5d2b5ae Author: Josh Johnson Date: Sun Feb 28 16:03:49 2021 +1100 Hub16 QMK configurator support + various bugfixes (#11496) * qmk configurator support + various bugfixes * Update keyboards/hub16/rules.mk Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre Co-authored-by: Nick Brassel commit 33c7d6eb9390e263f985928d101fe8cced70121b Merge: 9525d5b5ae e4d3ff2374 Author: QMK Bot Date: Sun Feb 28 05:00:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e4d3ff2374142fe6431b68874f6604a471732fae Author: Max Audron Date: Sun Feb 28 05:59:42 2021 +0100 Add support for using podman to util/docker_build.sh (#10819) * add podman support to docker_build.sh script * break out runtime into the RUNTIME variable * allows RUNTIME to be set by the user * decides on docker or podman if docker isn't avaible * rewrote check for docker-machine to account only for docker runtime * put --user arg into a variable only to be used with docker this is not needed with podman as podman maps the containers root id to the users id. * add podman to getting_started_docker documentation commit 9525d5b5aebf829ed91f157914ac7fd11182fc92 Merge: 00cb9029f5 bcbcb3d107 Author: QMK Bot Date: Sun Feb 28 04:54:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bcbcb3d107a3d991044354129c06e77ce19bda27 Author: MRAAGH <33424247+MRAAGH@users.noreply.github.com> Date: Sun Feb 28 05:53:40 2021 +0100 Add suggestion for indirect unicode input on Linux (#10854) * Add suggestion for indirect unicode input on Linux I have used this approach myself with great success, and it seems to be the only good solution that doesn't involve IBus. * Elaborate on keyboard layout on Linux This should be enough to allow people to figure out how to add custom characters to a Linux keyboard layout. commit 00cb9029f583172cb57f7d51d64793a9c9869d67 Merge: 72abf86870 765d8a33dd Author: QMK Bot Date: Sun Feb 28 04:48:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 765d8a33ddb46ae25314189b80f6ba04136ec808 Author: Isaac Elenbaas Date: Sat Feb 27 23:48:19 2021 -0500 Fixes #4072, #6214. Revision of #156 to clear before AS/TD. (#9941) commit 72abf868702918fbb6945d06dee2e1afb8c033c8 Merge: 605fd0eda8 58e733b5a0 Author: QMK Bot Date: Sun Feb 28 00:17:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 58e733b5a0301bd8902d46b80f47a92b73e219f5 Author: Zach White Date: Sat Feb 27 15:49:28 2021 -0800 remove keyboard_folder from info.json commit 605fd0eda849e3303fffb1c79538b5329be0010b Merge: 4db695f932 0828d0f5c7 Author: QMK Bot Date: Sat Feb 27 23:26:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0828d0f5c7e1f764688d85f07a70e023ebc66c7b Author: Zach White Date: Sat Feb 27 15:25:41 2021 -0800 Fix compile errors (#12048) * fix compile errors * fix broken json files commit 4db695f9327ccbf4c94dd8bfd0be03ac4f35da66 Merge: 89936c66b0 deaabff752 Author: QMK Bot Date: Sat Feb 27 22:36:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit deaabff752dd75e75fc865091a5925bf7a5f3b19 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat Feb 27 22:35:41 2021 +0000 Format code according to conventions (#12046) Co-authored-by: QMK Bot commit 89936c66b08cb9e86fee678e947d7b759854ea85 Merge: 37690f2651 6623744172 Author: QMK Bot Date: Sat Feb 27 22:34:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 66237441723b8dcaae50230257b2bf6efaea9292 Author: Nick Brassel Date: Sun Feb 28 09:33:33 2021 +1100 Fix build for attiny85-based boards. (#12044) commit 37690f2651c2054877402bee0c492d749d873301 Merge: 6ae72f3980 e2d3cefc95 Author: QMK Bot Date: Sat Feb 27 22:21:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e2d3cefc953045cd4abe5e3d1d2fc8c7c3062375 Author: Nick Brassel Date: Sun Feb 28 09:20:36 2021 +1100 Fix up build failures for melgeek boards after Feb27 develop merge. (#12043) commit 6ae72f3980176bde60a7f0efe18089c1732c5786 Merge: 06071dc76d dd61f7795f Author: QMK Bot Date: Sat Feb 27 22:08:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dd61f7795fa5ae06ef0551406021b6018e71bd4b Author: Nick Brassel Date: Sun Feb 28 09:07:55 2021 +1100 Fix build for linworks/whale75. (#12042) commit 06071dc76dd94109d83210b395a6ffda6a2d8a0c Merge: c7a7982e23 aa038994b2 Author: QMK Bot Date: Sat Feb 27 22:02:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aa038994b27f6b4b6d798aa4f5243f387bcd50ee Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Feb 27 14:01:16 2021 -0800 Force update the version tag commit c7a7982e23322ca9e45a44550b80b09a959477eb Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Feb 27 12:54:23 2021 -0800 Branch point for 2021 May 29 Breaking Change commit 1a5f6b54aff179732e3f4f4eb79e47454f0a1eb5 Merge: 804d5c1c5d 624359b725 Author: Nick Brassel Date: Sun Feb 28 07:22:21 2021 +1100 2021 February 27 Breaking Changes Update (#12040) commit 624359b725c9bfe8176cf72cdc2c8bbb7513949f Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Feb 27 12:10:23 2021 -0800 2021 February 27 Breaking Changes Changelog (#11975) * restore main readme.md * add ChangeLog entry for 2021-02-27 develop branch - initial version * update Docs; consolidate sidebar entries to new Breaking Changes History doc * Changelog update - concatenate similar changes as one list item - unify change formatting (remove [bracketed] headings and trailing periods) - item sorting improvement * update Changes Requiring User Action section Detail the changes regarding keyboard relocations/additions/deletions. * add entry for fauxpark's user keymap cleanup for config.h/rules.mk * add link to Jacky Studio bugfix PR * add link for "ChibiOS conf migrations... take 15" * add links for "Make LAYOUT parsing more robust" and "Massdrop develop rgb fix" * remove sort sequence numbers * rename Breaking Changes History page Renames the Breaking Changes History page to "Past Breaking Changes". * update schedule in Breaking Changes Overview * suggestions/changes per tzarc * skully's changes * add entry for "Fix develop" (PR 12039) Co-authored-by: Nick Brassel Co-authored-by: Zach White commit 1581ea48dcd48d0d3f42cc09b388c468aedec45d Author: Zach White Date: Sat Feb 27 12:00:50 2021 -0800 Fix develop (#12039) Fixes file encoding errors on Windows, and layouts not correctly merging into info.json. * force utf8 encoding * correctly merge layouts and layout aliases * show what aliases point to commit 23ed6c4ec0bfb27612da8a7b78d1b484acc23f3f Merge: 2485bbe784 804d5c1c5d Author: QMK Bot Date: Sat Feb 27 04:25:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 804d5c1c5d59d9a12c1d793289ccbd59cb650ec2 Author: YangPiCui Date: Sat Feb 27 12:24:55 2021 +0800 [Keyboard] Evk v1.3 add a key (#11880) Co-authored-by: Ryan commit 2485bbe78490b4b702b601641e706bd7f76abbe3 Merge: d99e330548 6a94e25f6d Author: QMK Bot Date: Sat Feb 27 01:29:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6a94e25f6d5d8747f2fd4e7acc04de8f0b48a4db Author: Danny Date: Fri Feb 26 20:29:23 2021 -0500 [Keyboard] Add VIA support to SX60 and update default keymap (#11908) commit d99e3305486a398793daa275fdeddb605816ee7c Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Feb 26 17:47:22 2021 +1100 Format code according to conventions (#12024) Co-authored-by: QMK Bot commit abe189377cd7af09041b54a7b3b19775f9ce8647 Author: Nick Brassel Date: Fri Feb 26 17:07:05 2021 +1100 [BUG] Massdrop develop rgb fix (#12022) * Allow for disabling RGB_MATRIX on Massdrop boards. * Fixup init sequence. * Make some functions static as they've got very generic names. commit 4dc8a2dd6f3c04b7103de578310f9dddc149baa3 Merge: 23fd1aee00 d4be96e9dd Author: QMK Bot Date: Thu Feb 25 10:57:31 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d4be96e9ddbbe9aba4ac74fa01c0662a71970ac5 Author: Drashna Jaelre Date: Thu Feb 25 02:56:59 2021 -0800 [Keyboard] Fixup issues with Titan65 (#12002) * [Keyboard] Titan64 - Fix RGB Matrix config * Fix up keymaps commit 23fd1aee00c762b1e9496795ad595325be82a956 Merge: 23ef327e11 39694d5eb0 Author: fauxpark Date: Thu Feb 25 16:04:53 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit 39694d5eb0b7e48e06f9544600041fbbedfff956 Author: Ryan Date: Thu Feb 25 15:54:25 2021 +1100 V-USB suspend refactor (#11891) commit 23ef327e118307d276677d30e3fda064ace6713b Author: Zach White Date: Wed Feb 24 10:35:08 2021 -0800 make LAYOUT parsing more robust commit ba0b965c429da08c36d3aeb5cc8d93392720ff92 Author: Nick Brassel Date: Thu Feb 25 07:23:29 2021 +1100 ChibiOS conf upgrade for daji/seis_cinco (#12001) daji/seis_cinco - f9ce55c07a61f20308dab7eb5f4f2b7a91686625 commit 285d0c3d7dd9061b250595ade41968e8f951eb3d Merge: bee1b553cd 46f4422a87 Author: QMK Bot Date: Wed Feb 24 18:53:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 46f4422a87bf7e3aa52bd8770b14f8361d198e06 Author: npspears <40127181+npspears@users.noreply.github.com> Date: Wed Feb 24 12:53:09 2021 -0600 [Keyboard] Atlas alps/mx PCB addition (#11884) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit bee1b553cdf7ea1486a118e80982398b9acca2f7 Merge: 146b042514 215caad320 Author: QMK Bot Date: Wed Feb 24 18:49:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 215caad320b51c5f065a047b38cb1036cad8ebaa Author: Rys Sommefeldt Date: Wed Feb 24 18:48:35 2021 +0000 [Keyboard] CapsUnlocked CU80 v2 (#11736) Co-authored-by: Sergey Vlasov Co-authored-by: Ryan Co-authored-by: Rys Sommefeldt commit 146b042514569acac33b616aa278d293af594f49 Merge: 2abfa624c9 0b69e4df81 Author: Drashna Jael're Date: Tue Feb 23 13:57:26 2021 -0800 Merge remote-tracking branch 'origin/master' into develop commit 0b69e4df818c2515cf4eee3d8b6fd4a07775b887 Author: Drashna Jaelre Date: Tue Feb 23 10:57:24 2021 -0800 [Keymap] Drashna Updates - Split+OLED edition (#11968) commit 2abfa624c90df49fe4f0639a54961fd54a1255ac Merge: 76e67a97f4 11146ecd08 Author: QMK Bot Date: Tue Feb 23 01:55:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 11146ecd086c6b6736ab3c5947f26a96be642671 Author: Ikta <48316247+IktaS@users.noreply.github.com> Date: Tue Feb 23 08:54:29 2021 +0700 pill60 fix info.json to be used in configurator (#11979) commit 76e67a97f47d40edd621fec60e59094a4e500ef0 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Feb 22 14:04:14 2021 -0800 Bugfix for Jacky Studio keyboards (#11981) PR 10528 was intended to move the source for the Bear 65 and S7 Elephant to the new `jacky_studio` vendor directory. Instead of moving the source files, that PR added the source as if they were newly-supported. The result is that the Bear 65 and both revisions of the S7 Elephant have working, identical firmware in two different directories. This commit removes the source from the old directories. commit 6bbec56d097c430728594285bb207867b94878a3 Merge: eb7edaf4dc c868f93755 Author: QMK Bot Date: Mon Feb 22 04:47:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c868f937554c12bfa0196c7cae93cecc36d0034b Author: SneakboxKB <67670271+SneakboxKB@users.noreply.github.com> Date: Sun Feb 21 22:46:34 2021 -0600 [Keyboard] Disarray (#11583) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: mujimanic <64090325+mujimanic@users.noreply.github.com> commit eb7edaf4dcae2cb53917fbe15c424b59f2d594fb Merge: eb0fffbd78 150ab564a3 Author: QMK Bot Date: Mon Feb 22 04:45:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 150ab564a38da25fe417d01d307768dce5fe5f16 Author: Alex Paulescu Date: Mon Feb 22 06:45:02 2021 +0200 [Keyboard] Add Manibus keyboard and layout from Blank Tehnologii (#11832) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit eb0fffbd783f23ea0ef410a42bf12ac125315796 Merge: a9fbefcd87 37e14fd02b Author: QMK Bot Date: Mon Feb 22 03:46:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 37e14fd02bd71ffd32fe381b10ce72f2b85b4049 Author: James <13719009+quadcube@users.noreply.github.com> Date: Mon Feb 22 11:46:08 2021 +0800 [Keyboard] Tokyo Keyboard alix40 initial commit (#11918) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: QuadCube commit a9fbefcd87191945e92d73070a3c65c776a0b9b3 Merge: 00d70925df 36999494d6 Author: QMK Bot Date: Mon Feb 22 03:43:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 36999494d6eee6d5f7e6795899131a7aca782c32 Author: toraifu Date: Sun Feb 21 22:42:55 2021 -0500 [Keyboard] Add Daji Seis Cinco (#11955) Co-authored-by: Ryan commit 00d70925df78c714bc60b88220ace57376eee70c Merge: 998c4c93a2 d1a92aa52a Author: QMK Bot Date: Mon Feb 22 03:42:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 998c4c93a2692492d9401404184072e30790944b Merge: 316dcf4960 5660d80bb0 Author: QMK Bot Date: Mon Feb 22 03:42:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d1a92aa52adc5c5daf91441023ed15c6ff33833e Author: Rys Sommefeldt Date: Mon Feb 22 03:42:09 2021 +0000 [Keyboard] Graystudio COD67 VIA support (#11961) Co-authored-by: Drashna Jaelre commit 5660d80bb01aa4240a5b11d2d60568e21093817a Author: Joshua Diamond Date: Sun Feb 21 22:41:31 2021 -0500 [Keyboard] reduce confusion for kbdfans/kbd75 rounds/revisions (#11972) commit 316dcf49605be88b24e81ed61e6a7659a6c3892f Author: Ryan Date: Mon Feb 22 11:49:13 2021 +1100 Clean up some user keymaps specifying MCU (#11966) commit c1e6febef74936584bf0e3a7ab17480ced13419c Merge: 329d5583e0 e1e66c78bf Author: QMK Bot Date: Sun Feb 21 16:19:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e1e66c78bf0168c3c83357e19127d9b0ab3fa823 Author: Maxime Coirault Date: Sun Feb 21 18:18:48 2021 +0200 [Keymap] Add via support to Durgod K320 (#11960) Co-authored-by: Maxime Coirault commit 329d5583e0df527bf790cf51f04ff4c76ffaf1b9 Merge: 29c19b6f40 b69614b98b Author: QMK Bot Date: Sun Feb 21 16:18:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b69614b98b002c92b33928c672dd655ba7a8661b Author: Ross Montsinger Date: Sun Feb 21 11:17:48 2021 -0500 [Keyboard] Rebound: change vendor and product ID for VIA (#11965) commit 29c19b6f40d4339b6172ba371c0aefbd5ce1a9d6 Merge: 14f0f8ce65 311bff3d56 Author: QMK Bot Date: Sun Feb 21 06:19:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 311bff3d5669cbea59293afe372ee40c254f72e2 Author: Ikta <48316247+IktaS@users.noreply.github.com> Date: Sun Feb 21 13:19:06 2021 +0700 [Keyboard] Pill60: fix default keymap shift key, fix info.json to default keymap (#11919) commit 14f0f8ce651edb95c7af18c9779750e081d47112 Merge: 3b4b3c827c a3934664dd Author: QMK Bot Date: Sun Feb 21 06:13:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a3934664dde5a794049f365b41eaa1f0f15be569 Author: IFo Hancroft Date: Sun Feb 21 08:12:50 2021 +0200 [Keymap] Adding my v60 Type R keymap (#11911) commit 3b4b3c827c10404860a21e87e0f47d2d35c14e99 Merge: 1216e807c0 46a22c9e70 Author: QMK Bot Date: Sun Feb 21 05:52:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 46a22c9e700b915da171131e2df39b3085e6618e Author: IFo Hancroft Date: Sun Feb 21 07:52:40 2021 +0200 [Keymap] My Prime_E Keymap (#11899) commit 1216e807c0dcc0d906fa4e120e7628b3509ee676 Merge: 8463553d71 bb9316a2f9 Author: QMK Bot Date: Sun Feb 21 05:52:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bb9316a2f915995e2bd6884425af1eaa10c09503 Author: IFo Hancroft Date: Sun Feb 21 07:52:20 2021 +0200 [Keymap] My Idobo Keymap (#11897) commit 516afb03438d30240286720ac513a8e548e668ff Author: IFo Hancroft Date: Sun Feb 21 07:51:52 2021 +0200 [Keymap] My ErgoDash Keymap (#11895) commit 8463553d71944e400f56585bbb6aad313674d2a7 Merge: 72965a7106 8760ff523d Author: QMK Bot Date: Sun Feb 21 05:28:20 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8760ff523db0bd05e7a8bb3f7485abd5348fdb3b Author: Jonathan Law <24879294+dryshirt@users.noreply.github.com> Date: Sun Feb 21 00:27:48 2021 -0500 [Keymap] Bongo Cat + WPM Counter OLED keymap (#11871) commit 72965a710683db7a1419e75afe8820ee6002b03f Merge: f3cf9c5c07 df7d3a1794 Author: QMK Bot Date: Sun Feb 21 05:06:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit df7d3a17943920c5d342c7a68fbc3e3d911ba68a Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Sun Feb 21 13:05:41 2021 +0800 [Keyboard] Support MJ64 REV3 - a 60% RGB Hotswap with arrow (#11785) Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit f3cf9c5c075a561d59f0b26afd8988576e548825 Merge: 17ef79a067 6e59fe0b4a Author: QMK Bot Date: Sun Feb 21 05:00:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6e59fe0b4ab5b3512dd35a518e0cc8b3a31b0d42 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Sun Feb 21 12:59:32 2021 +0800 [Keyboard] Update MJ63 architecture to support multi version (#11788) Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 17ef79a067ce75cd235ac764e35575ac29b3dbeb Merge: 076dd3619e 03679f0532 Author: QMK Bot Date: Sun Feb 21 04:49:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 03679f0532e951808a625486d62bfa45c4da9620 Author: James Skeen Date: Sat Feb 20 23:49:24 2021 -0500 [Keyboard] Add DimplePlus 7u Layout (#11816) Co-authored-by: James Skeen commit f6e909600d711c60e2ac3042131d4e20bbe8b7c4 Author: Naoto Takai Date: Sun Feb 21 13:48:52 2021 +0900 [Keyboard] Add MIO keyboard (#11852) Co-authored-by: Ryan commit 076dd3619ec9f33fefe6725da68f89fa1fb961ed Merge: 1f7f4ec4cf fe4f7e6c73 Author: QMK Bot Date: Sun Feb 21 04:30:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fe4f7e6c731bb3b64810dfe6952908759b819df2 Author: Ethan Madden Date: Sat Feb 20 20:30:17 2021 -0800 [Keyboard] Added Ketch support (#11656) commit 1f7f4ec4cf9c3ab610a0b989d48d823a950428c1 Merge: f6de4085a0 b5e382cbc4 Author: QMK Bot Date: Sun Feb 21 04:10:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b5e382cbc444f11cebc12828acbf089e17232ff0 Author: LucW Date: Sun Feb 21 12:09:49 2021 +0800 ergodox_ez / dvorak_42_key layout: convert macros to new format (#11139) Co-authored-by: luc wastiaux commit f6de4085a099073dd0277691ec5aa3aaa1998a91 Author: mkdl <56965481+mkdl@users.noreply.github.com> Date: Sun Feb 21 05:06:51 2021 +0100 added unix60, moved togehter with southpaw75 into fr4 folder (#11195) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit cec56b35b932b60c6e74fbe262c6928dffb9b594 Merge: b423ebff8b d35d65f2e0 Author: QMK Bot Date: Sat Feb 20 22:47:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d35d65f2e0216c66706ed5a794ece52bc0f83079 Author: gazeddy <33955949+gazeddy@users.noreply.github.com> Date: Sat Feb 20 22:46:43 2021 +0000 Added ConsoleKeyboard (#11950) Co-authored-by: Joel Challis Co-authored-by: Ryan commit b423ebff8b1da7bc06987e8e9e1f5f682a2164f5 Merge: c4bd6af837 8efc3b39de Author: QMK Bot Date: Sat Feb 20 20:43:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8efc3b39de89f07f770636bf57d5ed9f19ce9a3f Author: Jonathan Haddock Date: Sat Feb 20 20:43:24 2021 +0000 Fix minor typo (#11962) commit c4bd6af837ada55cd3cbc21f0e50d6a2d620bcf8 Author: Liyang HU Date: Sat Feb 20 19:53:53 2021 +0000 tmk_core/common/action.c: refactor for code size; merge multiple `case`s into one (#11943) * tmk_core/common/report.h: define `enum mouse_buttons` in terms of `#define MOUSE_BTN_MASK()` * tmk_core/common/action.c: collapse multiple `case KC_MS_BTN[1-8]:` into single `MOUSE_BTN_MASK(action.key.code - KC_MS_BTN1)` We all love tapping on our keyboards but this is taking the piss. This saves ~134 bytes on my ATmega32. commit 2e4f0876151d7016172fa51d1588def1c96102fc Merge: 1a97f29f5d 9682fca47b Author: QMK Bot Date: Sat Feb 20 19:47:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9682fca47b1d36dc5b502cc3e1f569464c41669a Author: Leon Anavi Date: Sat Feb 20 21:47:05 2021 +0200 [Keyboard] keyboards/anavi: Add ANAVI Macro Pad 2 (#11821) ANAVI Macro Pad 2 is an open source mini mechanical keyboard with 2 keys and backlit. Powered by ATtiny 85 microcontroller and with microUSB connector. Designed with KiCad. Provides the following keymaps for ANAVI Macro Pad 2: - Default (with a, b and combo to control the LEDs) - Copy & paste - Tap dance example with a, b and c - Mute - Volume - Zoom - Jitsi Meet Co-authored-by: Drashna Jaelre Signed-off-by: Leon Anavi Co-authored-by: Drashna Jaelre commit 1a97f29f5d0da6d195983fd031014bd21a99f940 Merge: 23c6d7ac52 5655d6e5f5 Author: QMK Bot Date: Sat Feb 20 19:32:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5655d6e5f5d2e35d896dc08e8a040b72a1e868ce Author: Viktor Eikman Date: Sat Feb 20 20:32:04 2021 +0100 [Keyboard] Concertina (#11922) * [Keyboard] Concertina * Added a novel handwired keyboard. * Concertina lint * Perfunctory changes to pass CI. * Concertina line width * Changes from code review: GPL headers, modernization, full-width representation of matrix to match info.json. commit 23c6d7ac5263f43311d130ea72c82bd28c946a10 Merge: 720597d7f8 07100d5d4d Author: QMK Bot Date: Sat Feb 20 19:12:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 07100d5d4d5843434efd16fc2c827af584fd0478 Author: yynmt <45400583+yynmt@users.noreply.github.com> Date: Sun Feb 21 04:11:36 2021 +0900 Add via support to Dozen0 (#11932) * Change VID and PID * Add via kyemap * Update keymap.c * Update keymap.c Co-authored-by: yynmt commit 720597d7f88b60487e5fb54c017b414f04e9a82c Merge: 6b1c3e6283 c588cb4299 Author: QMK Bot Date: Sat Feb 20 19:09:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c588cb42991bb1e8b511b7ff2f91aa0b5c677e05 Author: melonbred <61572569+melonbred@users.noreply.github.com> Date: Sat Feb 20 11:09:16 2021 -0800 Update ortho.h (#11945) commit 6b1c3e62833a83e080940c81cfac4721d59cfc6f Merge: a6a93bc38a 9853e35f69 Author: QMK Bot Date: Sat Feb 20 18:35:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9853e35f692315123bcb94e59d8a7bd791f963a1 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sat Feb 20 13:35:09 2021 -0500 assign each key an LED for reactive modes (#11949) commit a6a93bc38ac890187d576f2a64f9c9937b0df40d Merge: 7ab9f6a101 a0a67d4f85 Author: QMK Bot Date: Sat Feb 20 18:29:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a0a67d4f85d01a510f8006edc2b041c1390ce498 Author: Chase Nordengren Date: Sat Feb 20 10:29:08 2021 -0800 adding personal keymaps (#11952) * adding personal keymaps * Update keyboards/xd60/keymaps/semicolonsnet/keymap.c Co-authored-by: Drashna Jaelre * added license * added license Co-authored-by: Drashna Jaelre commit 7ab9f6a1010108c329f6880fe08716dd06a90daf Author: Ryan Date: Sat Feb 20 18:11:02 2021 +1100 Output selection: Remove "USB and BT" option (#11940) commit 4794f6ac4d9bb91b2b7ecf078e1406e6a81aaf12 Merge: 9f6ac28d13 6a8379111c Author: QMK Bot Date: Sat Feb 20 07:10:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6a8379111c340ae41f01cc014fa5aafca23f72b1 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Feb 19 23:09:52 2021 -0800 Iron180: layout macro and Configurator rework (#11948) commit 9f6ac28d138b006f16c0d3d5559edd8402327dbc Merge: fa4449283d 73e2bf54f8 Author: QMK Bot Date: Sat Feb 20 05:42:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 73e2bf54f8ce85f8b67316617292780550d2b567 Author: Richard Nunez Date: Fri Feb 19 23:41:40 2021 -0600 Adding new handwired ortho 5x14 keyboard (#11597) Co-authored-by: Richard Nunez commit fa4449283d49a9ec79763327c0537f33f88e3474 Merge: 8c317c49bb 1ff18920a2 Author: QMK Bot Date: Fri Feb 19 20:52:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1ff18920a2f26e7bf659a8e6876864404f15ef54 Author: Franco Rosi <31698940+fraanrosi@users.noreply.github.com> Date: Fri Feb 19 17:52:08 2021 -0300 [Keymap] Adding fraanrosi keymap. (changes applied) (#11862) * Latam version of Helix/rev2/back . Latam adaptation of keymap(whit "ñ") . 3 layers (Qwerty, Lower, Raise) . Underglow light changes while pressing Lower(BLUE) and Raise(RED), then it returns to prior mode. (cherry picked from commit 974be350115b2d33b55edbc02e3b5281e1f856d7) * Se añade Keymap. * Agrego un pdf preliminar del mapeo y reubico el keymap a carpeta correspondiente. * Ajustes en mapeo para simplificar. Agrego Mark Down con mapeo. Creo carpeta "layers mapping" para guardar lo correspondiente a mapeo. * Update keymap.md * Rename keymap.md to readme.md * Organización en general y cambio de configuración de "back" a "under"(que era la que correspondía). .Ahora los leds underglow responden mejor. * -Se agrega indicador rgb para el bloq mayús. -Se agrega manejo del rgb_tog. -Se agrega botón para reset(del teclado). -Ajustes de keymap varios. -Limpieza de código. * Update readme.md * Update readme.md * Update readme.md * adding helix-keyboard.png * Update readme.md * -Se agregan Mouse Keys (para manejo del mouse con el teclado). -Se hace fix en el modo "Bloq. Mayús" (Se persiste el cambio de RGB mode mientras el Bloq. Mayús está activado). * Cambios en el Keymap para mayor comodidad del uso del mouse. * Update readme.md * Update readme.md * -Fixeo de comportamiento del "Bloq. Mayús": Cuando se presionaba una Layer mientras estaba activado Bloq. Mayús, quedaba el rgb_mode como el de la capa LOWER o RAISE. -Ajuste en mapeo: Cambié las mouse keys y las de teclas de brillo. * Update readme.md * Se borra carpeta /rev2_latam, para dejar todo enlatado y andando desde /rev2. Esto para que el PR solo sea agregar el keymap "fraanrosi". * Quito cambio de helix.h Quito lo que ya no es necesario, para hacer el pull request limpio. * Update Readme.mp * Revert "Update Readme.mp" This reverts commit eb9a2712b0f22b44032f5123227b7bc8af37b89f. * Update readme.md * Clean up, organization, indent fixes * Update readme.md * Latam version of Helix/rev2/back . Latam adaptation of keymap(whit "ñ") . 3 layers (Qwerty, Lower, Raise) . Underglow light changes while pressing Lower(BLUE) and Raise(RED), then it returns to prior mode. (cherry picked from commit 974be350115b2d33b55edbc02e3b5281e1f856d7) * Se añade Keymap. * Agrego un pdf preliminar del mapeo y reubico el keymap a carpeta correspondiente. * Ajustes en mapeo para simplificar. Agrego Mark Down con mapeo. Creo carpeta "layers mapping" para guardar lo correspondiente a mapeo. * Update keymap.md * Rename keymap.md to readme.md * Organización en general y cambio de configuración de "back" a "under"(que era la que correspondía). .Ahora los leds underglow responden mejor. * -Se agrega indicador rgb para el bloq mayús. -Se agrega manejo del rgb_tog. -Se agrega botón para reset(del teclado). -Ajustes de keymap varios. -Limpieza de código. * Update readme.md * Update readme.md * Update readme.md * adding helix-keyboard.png * Update readme.md * -Se agregan Mouse Keys (para manejo del mouse con el teclado). -Se hace fix en el modo "Bloq. Mayús" (Se persiste el cambio de RGB mode mientras el Bloq. Mayús está activado). * Cambios en el Keymap para mayor comodidad del uso del mouse. * Update readme.md * Update readme.md * -Fixeo de comportamiento del "Bloq. Mayús": Cuando se presionaba una Layer mientras estaba activado Bloq. Mayús, quedaba el rgb_mode como el de la capa LOWER o RAISE. -Ajuste en mapeo: Cambié las mouse keys y las de teclas de brillo. * Update readme.md * Se borra carpeta /rev2_latam, para dejar todo enlatado y andando desde /rev2. Esto para que el PR solo sea agregar el keymap "fraanrosi". * Quito cambio de helix.h Quito lo que ya no es necesario, para hacer el pull request limpio. * Update Readme.mp * Revert "Update Readme.mp" This reverts commit eb9a2712b0f22b44032f5123227b7bc8af37b89f. * Update readme.md * Update readme.md * Clean up, organization, indent fixes * Update readme.md Latam version of Helix/rev2/back . Latam adaptation of keymap(whit "ñ") . 3 layers (Qwerty, Lower, Raise) . Underglow light changes while pressing Lower(BLUE) and Raise(RED), then it returns to prior mode. (cherry picked from commit 974be350115b2d33b55edbc02e3b5281e1f856d7) Se añade Keymap. Agrego un pdf preliminar del mapeo y reubico el keymap a carpeta correspondiente. Ajustes en mapeo para simplificar. Agrego Mark Down con mapeo. Creo carpeta "layers mapping" para guardar lo correspondiente a mapeo. Update keymap.md Rename keymap.md to readme.md Organización en general y cambio de configuración de "back" a "under"(que era la que correspondía). .Ahora los leds underglow responden mejor. -Se agrega indicador rgb para el bloq mayús. -Se agrega manejo del rgb_tog. -Se agrega botón para reset(del teclado). -Ajustes de keymap varios. -Limpieza de código. Update readme.md Update readme.md Update readme.md adding helix-keyboard.png Update readme.md -Se agregan Mouse Keys (para manejo del mouse con el teclado). -Se hace fix en el modo "Bloq. Mayús" (Se persiste el cambio de RGB mode mientras el Bloq. Mayús está activado). Cambios en el Keymap para mayor comodidad del uso del mouse. Update readme.md Update readme.md -Fixeo de comportamiento del "Bloq. Mayús": Cuando se presionaba una Layer mientras estaba activado Bloq. Mayús, quedaba el rgb_mode como el de la capa LOWER o RAISE. -Ajuste en mapeo: Cambié las mouse keys y las de teclas de brillo. Update readme.md Se borra carpeta /rev2_latam, para dejar todo enlatado y andando desde /rev2. Esto para que el PR solo sea agregar el keymap "fraanrosi". Quito cambio de helix.h Quito lo que ya no es necesario, para hacer el pull request limpio. Update Readme.mp Revert "Update Readme.mp" This reverts commit eb9a2712b0f22b44032f5123227b7bc8af37b89f. Update readme.md Clean up, organization, indent fixes Update readme.md * Changes and corrections were made to Pull Request. * Since the last change, readme.md and comment in keymap.c were to be updated. commit 8c317c49bb7110aba60176a7290ed156a95ac56d Merge: 161cea77ba fd6f7b56cd Author: QMK Bot Date: Fri Feb 19 20:27:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fd6f7b56cdb07d183a46010b7bb8e1df8f357a36 Author: 4pplet <4pplet@protonmail.com> Date: Fri Feb 19 21:27:16 2021 +0100 enable rgb underglow for VIA-firmware (#11746) commit 161cea77bad4a55ee90c01fe35c3dd5bd2c52988 Merge: 7713f8f820 fdff75342b Author: QMK Bot Date: Fri Feb 19 06:12:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fdff75342be62f044dc3fd3034e9d4610845995b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Feb 18 22:12:05 2021 -0800 [Keyboard] Xealous Brown handwired Refactor (#11929) commit 7713f8f820efc97c696ac20a82753f956934651d Merge: 6136cd3cd9 63f8620d95 Author: QMK Bot Date: Fri Feb 19 05:41:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 63f8620d958fea41f4942421114de5762a58f98f Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Fri Feb 19 13:40:44 2021 +0800 [Keyboard] Add swap-hands array for CRKBD (Corne) (#11915) Co-authored-by: filterpaper commit 6136cd3cd9dbcbe7a1381b36b639d057633f1d2c Merge: 7852f4f7ec bb11e726b8 Author: QMK Bot Date: Fri Feb 19 03:38:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bb11e726b843330f3e7e46c805f40e34eb7a3ae3 Author: CMMS-Freather <72902384+CMMS-Freather@users.noreply.github.com> Date: Thu Feb 18 19:38:02 2021 -0800 [Keyboard] change to saka68 solder firmware config. add sam's s80 firmware (#11834) Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Joshua Diamond commit 7852f4f7ecf98a4490662cc73f76df116a860513 Merge: 64e162af25 e3f0157f6e Author: QMK Bot Date: Fri Feb 19 03:20:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e3f0157f6e5b21d52eb90cb307b234e832959e10 Author: Kosuke Adachi Date: Fri Feb 19 12:19:53 2021 +0900 [Keyboard] Add new keyboard Cornelius (#11719) Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan commit 64e162af257595dde4e19abe9a8965e8ab0aff8d Merge: 84ee7e4fa8 307c97445b Author: QMK Bot Date: Fri Feb 19 03:16:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 307c97445baa62dff7c9b15a71db3aec5ea67f66 Author: Nuno Costa Date: Fri Feb 19 03:15:38 2021 +0000 [Keyboard] Quadrant by Ealdin (#11747) Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan commit 84ee7e4fa89684e2bbce420366d0bf19e421e5ea Merge: 3716b2938c cd8c71a0eb Author: QMK Bot Date: Thu Feb 18 23:44:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cd8c71a0eb686bb99e922a31f81611d5b81e8a16 Author: Drashna Jaelre Date: Thu Feb 18 15:43:34 2021 -0800 [Keyboard] Phase Studio's Titan 65 (#11920) commit 3716b2938c1647e049f49004347c58f7326011d7 Merge: 9407392b14 8c1cdceb8b Author: QMK Bot Date: Thu Feb 18 23:33:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8c1cdceb8b686f1c9f358f7159b0ed03a6518818 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Feb 18 15:33:02 2021 -0800 Beegboy handwired by swiftrax: correct info.json object order (#11924) * human-friendly formatting * correct key object order commit 9407392b144f8dd2e115743b5b9e33b0e54339c9 Merge: 8b6a9e2ae9 890f3a57b6 Author: QMK Bot Date: Thu Feb 18 20:32:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 890f3a57b61c53538da8f669146097d9399d3f11 Author: qpockets <69164255+qpockets@users.noreply.github.com> Date: Thu Feb 18 15:31:58 2021 -0500 add eggman keyboard (#11701) * add eggman keyboard * Update info.json * Update eggman.h correct copyright info * Update eggman.c correct copyright info * Update config.h correct copyright info * Update keymap.c correct copyright info * Update keyboards/eggman/readme.md reduce image size Co-authored-by: Ryan * Update keyboards/eggman/keymaps/default/config.h correct copyright Co-authored-by: Joshua Diamond Co-authored-by: Ryan Co-authored-by: Joshua Diamond commit 8b6a9e2ae955fcb8aa782c6a8f08b785e1fd9b7f Merge: 381429c039 9e05810cfe Author: QMK Bot Date: Thu Feb 18 20:31:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9e05810cfe80fef8f451051380775f7c1954f7a4 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Feb 18 12:31:09 2021 -0800 Budget96 VIA (#11737) * add budget96 via keymap and adjust vid and pids * update dates * Update keyboards/donutcables/budget96/keymaps/default/keymap.c Co-authored-by: Joshua Diamond Co-authored-by: Joshua Diamond commit f4f5ddfec23be047f3b4e914db8f674593a8e8e5 Author: Dominic Gan Date: Fri Feb 19 04:30:16 2021 +0800 Add UTD80 PCB (#11799) * Create readme.md * Add files via upload * Create readme.md * Add files via upload * Update utd80.h * Update utd80.c * Update keymap.c Change 6 length underscore to 7. * Update keyboards/utd80/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/utd80/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/utd80/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/utd80/readme.md Co-Authored-By: fauxpark * Update keyboards/utd80/readme.md Co-Authored-By: fauxpark * Update utd80.c * Update utd80.c * Update keymap.c * Apply #7701 PR review suggestions * Add GPL license headers * Replace led implementation with definition * Add VIA keymap for UTD80 * Update attributions Co-authored-by: UTDKeyboard <59077857+utdkeyboard@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: fauxpark commit 381429c039c5ab8c6400421c10df7ef86418dda4 Merge: f89708c942 50c4afa841 Author: QMK Bot Date: Wed Feb 17 22:43:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 50c4afa841fdb0d46009f80335bef9777a8ecd52 Author: Sid Carter Date: Wed Feb 17 17:43:14 2021 -0500 Personal keymap for kbd67 and some cleanup (#11937) Co-authored-by: Khader Syed commit f89708c9424b4c8893a5b1a3179223b0863c4a55 Merge: a5f63dbf93 1d44715d9d Author: QMK Bot Date: Wed Feb 17 22:25:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1d44715d9dc9bef1af3932f95326e3e248e1ab91 Author: Donald Kjer Date: Wed Feb 17 14:25:03 2021 -0800 Fixing typos in durgod/k320 readme (#11931) commit a5f63dbf93a19efc5c8e16f80eec79d988d3a1d1 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed Feb 17 17:30:16 2021 +1100 Format code according to conventions (#11936) Co-authored-by: QMK Bot commit fad659650b2045794f8e31d0c5252367e51c47b3 Merge: be70f466fe fe7240628a Author: QMK Bot Date: Wed Feb 17 06:29:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fe7240628ae524dae91e57529c157a700cf691be Author: shela Date: Wed Feb 17 15:29:15 2021 +0900 fix build error (#11939) commit be70f466fef0a5248bf0f6b8003d2f5e7b81eec8 Author: Ryan Date: Wed Feb 17 17:26:57 2021 +1100 Fix compilation error for `tap_code_delay()` (#11938) commit 568865597142fd0fd48ba9b449c4560616472127 Merge: 842a8b35dd bf3ee94b9a Author: QMK Bot Date: Tue Feb 16 23:14:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bf3ee94b9ab8030a46f22e5ad80f20ea0675c510 Author: Konstantin Shpits Date: Wed Feb 17 04:13:30 2021 +0500 [Keyboard] Add VIA support for YMD 75 (#11811) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 842a8b35dd3211bc8c0b9aa00b7a3fc8abe9321f Merge: 3345ce2686 e43ead8e96 Author: QMK Bot Date: Tue Feb 16 23:10:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e43ead8e96380808b725bc6b1bd468b9313c6fc2 Author: Alabahuy Date: Wed Feb 17 06:10:26 2021 +0700 [Keyboard] Add Rartand keyboard and support via (#11828) commit 3345ce268610edbca8f53bc2909c547485531603 Author: Ryan Date: Wed Feb 17 07:26:52 2021 +1100 Add `tap_code_delay(code, delay)` (#11913) Co-authored-by: Drashna Jaelre commit cdb9d55956c67e1e2a9209522c1a2b30a7d9fb67 Merge: 899f8b0cde 2d55f34413 Author: QMK Bot Date: Tue Feb 16 19:27:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2d55f34413c6c6f9c674082fa32f6564b7ed4bf2 Author: Rozakiin <6567067+Rozakiin@users.noreply.github.com> Date: Tue Feb 16 19:27:20 2021 +0000 [Keyboard] Add Noxary 268.2 RGB (#11772) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Ruari commit 899f8b0cde6f15799b4e58b489e9afa170653813 Merge: d565586e46 d754266a6d Author: QMK Bot Date: Tue Feb 16 18:11:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d754266a6d93b9280f95e1b53aeccf5d50487f1f Author: andresteare <69868218+andresteare@users.noreply.github.com> Date: Tue Feb 16 15:10:49 2021 -0300 [Keyboard] Added two handwired keyboards (#11696) Co-authored-by: Ryan commit d565586e46895603d82cf6a85304caa1bcf0e8d0 Merge: 65326f7d1f ac33dc12da Author: QMK Bot Date: Tue Feb 16 18:10:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ac33dc12dacee480eba67462d985cb4dc7589c7f Author: Max Bridgland <34947910+M4cs@users.noreply.github.com> Date: Tue Feb 16 13:10:07 2021 -0500 [Keyboard] Add VIA keymap to duckyPad, update M4cs keymap for duckyPad (#11703) Co-authored-by: M4cs commit 65326f7d1fb057587ddd76bbe8d0ef64d7aee87c Merge: e545cc0b47 9a2b0a5db1 Author: QMK Bot Date: Tue Feb 16 17:46:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9a2b0a5db15a48a0297a4b82665d462361261600 Author: mrT1ddl3s <60518619+mrT1ddl3s@users.noreply.github.com> Date: Tue Feb 16 10:46:02 2021 -0700 [Keyboard] Knob Goblin add via support (#11831) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis commit e545cc0b47012d62260e4fe0bc894f7231aedd2b Merge: 53b96f685d 4a10dfb54d Author: QMK Bot Date: Tue Feb 16 17:45:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4a10dfb54d42fe81d1acf578152e264dac725b8d Author: Stefan Schulze Date: Tue Feb 16 18:45:05 2021 +0100 Fix submodule check for qmk setup (#11379) The initialization of the submodules would succeed, but the result of the subsequent check_submodules() run wasn't checked correctly. Co-authored-by: Stefan Schulze commit 53b96f685d3399e1281747b11a1194178089706c Author: Ryan Date: Wed Feb 17 02:51:28 2021 +1100 RGBLight: Allow configurable default settings (#11912) * RGBLight: Allow configurable default settings * Docs commit 02b5bb9b17f90d0b741b3b7128e61ac747ab4d6c Merge: b492d8499c 95304f269b Author: QMK Bot Date: Tue Feb 16 15:50:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 95304f269b824f1c453fe380617af85f9d534882 Author: Daniil Kivenko Date: Tue Feb 16 18:50:15 2021 +0300 [Keymap] Adding HHKB Keymap for dz60rgb_wkl:v2 (#11840) * adding new hhkb layout * adding license header * fix end of lines symbol Co-authored-by: Daniil Kivenko Co-authored-by: Daniil macbet Kivenko commit b492d8499c7899668a7316cfe5324784d83600b5 Merge: 0f41011ec9 43e314b64e Author: QMK Bot Date: Tue Feb 16 15:46:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 43e314b64eff4f347d9d1eb110414dca00cb8e72 Author: Matt Gilbert Date: Tue Feb 16 10:45:28 2021 -0500 Add mattir2 keymap for Kyria (#11752) * added files to support my 2nd kyria * fixed missing line * swapped thumb keys * Update keyboards/kyria/keymaps/mattir2/keymap.c Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 0f41011ec94617c2fd0547e82e1f2a687a788a63 Merge: d36dbe66e1 3559284839 Author: QMK Bot Date: Tue Feb 16 02:53:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3559284839c9a26df09fbfc8a4d0139572f006a6 Author: xgnxs <39573468+xgnxs@users.noreply.github.com> Date: Mon Feb 15 21:52:57 2021 -0500 Update IGNORE_MOD_TAP_INTERRUPT (#11452) Current wording of IGNORE_MOD_TAP_INTERRUPT is incorrect, and very confusing when attempting to correct a somewhat common issue for quick typists that have Mod-Tap on a commonly used key. Research indicates this wording has been incorrect for some time, and has tripped up others attempting to solve the issue of Mod + Key being sent, when Tap + Key is expected after quickly pressing keys. commit d36dbe66e1b9146df85586b46c58e51a3dbb3653 Merge: b0e161e33d 3fed8bced7 Author: Joshua Diamond Date: Mon Feb 15 20:55:54 2021 -0500 Merge branch 'master' into develop commit 3fed8bced718e24e414c0d5736554d7988235b20 Author: yiancar Date: Tue Feb 16 03:36:58 2021 +0200 Dc01 fixes (#11843) * dc01-fixes * dc01-fixes * Cleanup and add VIA * Updated JSONs * fix commit b0e161e33d8ec030c6965daa57a76ec70b1a1122 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue Feb 16 11:33:03 2021 +1100 Format code according to conventions (#11928) Co-authored-by: QMK Bot commit d1806a26e4ad75fa0e0405283803eba22c1a49ba Author: XScorpion2 Date: Mon Feb 15 18:30:33 2021 -0600 Split transport mirror (#11046) * Split transport mirror support * Updated RGB Matrix to respond to electrical events instead of key events * split matrix slave fix commit 1bc8a6e5d49861b268f9274a8686a2640e36e0b5 Author: Nick Brassel Date: Tue Feb 16 11:28:42 2021 +1100 ChibiOS conf migrations... take 14 (#11927) * ChibiOS conf upgrade for geminate60 geminate60 - a2765e46491151a8de309bc1cc8ce7e953ee1e50 * ChibiOS conf upgrade for sowbug/68keys sowbug/68keys - 7475a03ff2d704497d503a002b6c5dbac12f0a84 * ChibiOS conf upgrade for sowbug/ansi_tkl sowbug/ansi_tkl - 87be98eb6ed03a8752c1082c872a8a75b1d00ae7 commit fa740f81298dc0965970a4dc7b0b67285bd1985c Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Feb 14 23:21:45 2021 -0800 AMJ40 Refactor (#11854) * update keyboard source files - add license headers (attributed to original keyboard submitter) - #pragma once include guards - file template matching - readme update and template matching * set sensible default keyboard settings - enable Bootmagic Lite and Mouse Keys - disable Console and Command - remove default keymap's rules.mk file * remove unnecessary files from default keymap * refactor default keymap * add additional layouts/keymaps * update keyboard readme - add images and bootloader instructions - reformat link list * convert tabs to spaces in default keymap commit 26ee9360bfbab3bd6b1f9dc5ac5a13f10b454e16 Merge: 0b63fb5e81 e768fb83bd Author: QMK Bot Date: Mon Feb 15 04:09:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e768fb83bdf1bc292cefc9f3f70cb1597c3108fc Author: Drashna Jaelre Date: Sun Feb 14 20:09:24 2021 -0800 [Keyboard] PloopyCo VIA updates (#11290) Co-authored-by: ridingqwerty Co-authored-by: Glen D'souza commit 0b63fb5e819495f4515001cd367a279eaf9eaaa2 Merge: 328a8322f4 9ee1282019 Author: Joshua Diamond Date: Sun Feb 14 20:26:22 2021 -0500 Merge branch 'master' into develop commit 328a8322f4134fdec2f29b8dd58501c99b4de876 Merge: f1a3ce49cc 8e8b7113dc Author: Joshua Diamond Date: Sun Feb 14 20:00:20 2021 -0500 Merge branch 'develop' of github.com:qmk/qmk_firmware into develop commit f1a3ce49ccdfee79fbad76fd13bcf4448318eb6b Merge: c80e5f9f88 6f44c2ec31 Author: Joshua Diamond Date: Sun Feb 14 19:59:26 2021 -0500 Merge branch 'master' into develop commit 9ee12820197f38f6618b78f92481f3ffd2d8b7e5 Author: Ryan Date: Mon Feb 15 11:55:13 2021 +1100 LED Matrix: rename `LED_DRIVER_LED_COUNT` to `DRIVER_LED_TOTAL` (#11858) commit 8e8b7113dcf1ec8be0bdac75ed4a1d2b256a5965 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Feb 15 11:53:15 2021 +1100 Format code according to conventions (#11907) Co-authored-by: QMK Bot commit c80e5f9f8868ccaa8cb990be6f4da3f1011c2b78 Author: Drashna Jaelre Date: Sun Feb 14 14:40:38 2021 -0800 Audio system overhaul (#11820) * Redo Arm DAC implementation for additive, wavetable synthesis, sample playback changes by Jack Humbert on an implementation for DAC audio on arm/chibios platforms this commits bundles the changes from the arm-dac-work branch focused on audio/audio_arm.* into one commit (leaving out the test-keyboard) f52faeb5d (origin/arm-dac-work) add sample and wavetable examples, parsers for both -> only the changes on audio_arm_.*, the keyboard related parts are split off to a separate commit bfe468ef1 start morphing wavetable 474d100b5 refined a bit 208bee10f play_notes working 3e6478b0b start in-place documentation of dac settings 3e1826a33 fixed blip (rounding error), other waves, added key selection (left/right) 73853d651 5 voices at 44.1khz dfb401b95 limit voices to working number 9632b3379 configuration for the ez 6241f3f3b notes working in a new way * Redo Arm DAC implementation for additive, wavetable synthesis, sample playback changes by Jack Humbert on an implementation for DAC audio on arm/chibios platforms this commit splits off the plank example keymap from commit f52faeb5d (origin/arm-dac-work) add sample and wavetable examples, parsers for both * refactoring: rename audio_ to reflect their supported hardware-platform and audio-generation method: avr vs arm, and pwm vs dac * refactoring: deducplicate ISR code to update the pwm duty-cycle and period in the avr-pwm-implementation pulls three copies of the same code into one function which should improve readability and maintainability :-) * refactoring: move common code of arm and avr implementation into a separate/new file * refactoring: audio_avr_pwm, renaming defines to decouple them from actually used timers, registers and ISRs * refactoring: audio_avr_pwm - replacing function defines with plain register defines aligns better with other existing qmk code (and the new audio_arm_pwm) doing similar pwm thing * add audio-arm-pwm since not all STM32 have a DAC onboard (STM32F2xx and STM32F3xx), pwm-audio is an alternative (STM32F1xx) this code works on a "BluePill" clone, with an STM32F103C8B * clang-format changes on quantum/audio/* only * audio_arm_dac: stopping the notes caused screeching when using the DAC audio paths * audio_arm_pwm: use pushpull on the pin; so that a piezzo can be hooked up direclty without additional components (opendrain would require an external pullup) * refactoring: remove unused file from/for atmel-avr chips * refactoring: remove unused (avr) wavetable file * audio_arm_dac: adapt dac_end callback to changed chibios DAC api the previous chibios (17.6.0) passed along a pointer into the buffer plus a sample_count (which are/already where included in the DACDrivre object) - the current chibios (19.1.0) only passes the driver object. this patch ports more or less exactly what the previous chibios ISR code did: either have the user-callback work the first or second half of the buffer (dacsample_t pointer, with half the DAC_BUFFER_SIZE samples) by adjusting the pointer and sample count * audio-arm-dac: show a compile-warning on undefined audio-pins Co-Authored-By: Drashna Jaelre * audio_arm_dac: switch from exemplary wavetable generation to sine only sine+triangle+squrare is exemplary, and not realy fit for "production" use 'stairs' are usefull for debugging (hardware, with an oscilloscope) * audio_arm_dac: enable output buffers in the STM32 to drive external loads without any additional ciruitry - external opamps and such * audio: prevent out-of-bounds array access * audio_arm_dac: add output-frequency correcting factor * audio_arm_pwm: get both the alternate-function and pm-callback variants back into working condition and do some code-cleanup, refine documentation, ... * audio_arm_pwm: increase pwm frequency for "higher fidelity" on the previous .frequency=100000 higher frequency musical notes came out wrong (frequency measured on a Tektronix TDS2014B) note | freq | arm-pwm C2 | 65.4 | 65.491 C5 | 523.25 | 523.93 C6 | 1046.5 | 1053.38 C7 | 2093 | 2129 C8 | 4186 | 4350.91 with .frequency = 500000 C8 | 4186 | 4204.6 * audio refactoring: remove unused variables * audio_arm_dac: calibrate note tempo: with a tempo of 60beats-per-second a whole-note should last for exactly one second * audio: allow feature selection in rules.mk so the user can switch the audio driver between DAC and PWM on STM32 boards which support both (STM32F2 and up) or select the "pin alternate" pwm mode, for example on STM32F103 * audio-refactoring: move codeblocks in audio.[ch] into more coherent groups and add some inline documentation * audio-refactoring: cleanup and streamline common code between audio_arm_[dac|pwm] untangeling the relation between audio.c and the two drivers and adding more documenting comments :-) * audio_avr_pwm: getting it back into working condition, and cleanup+refactor * audio-refactoring: documentation and typo fixes Co-Authored-By: Nick Brassel * audio-refactoring: cleanup defines, inludes and remove debug-prints * audio_chibios_dac: define&use a minimal sampling rate, based on the available tone-range to ease up on the cpu-load, while still rendering the higher notes/tones sufficiently also reenable the lower tones, since with the new implementation there is no evidence of them still beeing 'bugged' * audio-refactoring: one common AUDIO_MAX_VOICES define for all audio-drivers * audio-chibios-pwm: pwm-pin-allternate: make the the timer, timer-channel and alternate function user-#definable * audio_chibios_dac: math.h has fmod for this * Redo Arm DAC implementation for additive, wavetable synthesis, sample playback update Jack Humberts dac-example keymaps for the slight changes in the audio-dac interface * audio-refactoring: use a common AUDIO_PIN configuration switch instead of defines have the user select a pin by configuration in rules.mk instead of a define in config.h has the advantage of beeing in a common form/pattern across all audio-driver implementations * audio-refactoring: switch backlight_avr.c to the new AUDIO_PIN defines * audio-common: have advance_note return a boolean if the note changed, to the next one in the melody beeing played * audio-chibios-pwm: fix issue with ~130ms silence between note/frequency changes while playing a SONG through trial,error and a scope/logic analyzer figured out Chibios-PWMDriver (at least in the current version) misbehaves if the initial period is set to zero (or one; two seems to work); when thats the case subsequent calls to 'pwmChhangePeriod' + pwmEnableChannel took ~135ms of silence, before the PWM continued with the new frequency... * audio-refactoring: get 'play_note' working again with a limited number of available voices (say AUDIO_VOICES_MAX=1) allow new frequencies to be played, by discarding the oldest one in the 'frequencies' queue * audio: set the fallback driver to DAC for chibios and PWM for all others (==avr at the moment) * audio-refactoring: moore documentation and some cleanup * audio-avr-pwm: no fallback on unset AUDIO_PIN this seems to be the expected behaviour by some keyboards (looking at ckeys/handwire_101:default) which otherwise fail to build because the firmware-image ends up beeing too large for the atmega... so we fail silently instead to keep travis happy * audio-refactoring: untangling terminology: voice->tone the code actually was working on tones (combination of pitch/frequency, duration, timbre, intensity/volume) and not voices (characteristic sound of an instrument; think piano vs guitar, which can be played together, each having its own "track" = voice on a music sheet) * audio-pwm: allow freq=0 aka a pause/rest in a SONG continue processing, but do not enable pwm units, since freq=0 wouldn't produce any sound anyway (and lead to division by zero on that occasion) * audio-refactoring: audio_advance_note -> audio_advance_state since it does not only affect 'one note', but the internally kept state as a whole * audio-refactoring: untangling terminology: polyphony the feature om the "inherited" avr code has little to do with polyphony (see wikipedia), but is more a time-multiplexing feature, to work around hardware limitations - like only having one pwm channel, that could on its own only reproduce one voice/instrument at a time * audio-chibios-dac: add zero-crossing feature have tones only change/stop when the waveform approaches zero - to avoid audible clicks note that this also requires the samples to start at zero, since the internally kept index into the samples is reset to zero too * audio-refactoring: feature: time-multiplexing of tones on a single output channel this feature was in the original avr-pwm implementation misnomed as "polyphony" with polyphony_rate and so on; did the same thing though: time-multiplexing multiple active notes so that a single output channel could reproduce more than one note at a time (which is not the same as a polyphony - see wikipedia :-) ) * audio-avr-pwm: get music-mode working (again) on AVRs with both pwm channels, or either one of the two :-) play_notes worked already - but music_mode uses play_note * audio-refactoring: split define MAX_SIMULTANEOUS_TONES -> TONE_STACKSIZE since the two cases are independant from one another, the hardware might impose limitations on the number of simultaneously reproducable tones, but the audio state should be able to track an unrelated number of notes recently started by play_note * audio-arm-dac: per define selectable sample-luts plus generation script in ./util * audio-refactoring: heh, avr has a MIN... * audio-refactoring: add basic dac audio-driver based on the current/master implementation whereas current=d96380e65496912e0f68e6531565f4b45efd1623 which is the state of things before this whole audio-refactoring branch boiled down to interface with the refactored audio system = removing all redundant state-managing and frequency calculation * audio-refactoring: rename audio-drivers to driver_$PLATFORM_$DRIVER * audio-arm-pwm: split the software/hardware implementations into separate files which saves us partially from a 'define hell', with the tradeoff that now two somewhat similar chibios_pwm implementations have to be maintained * audio-refactoring: update documentation * audio-arm-dac: apply AUDIO_PIN defines to driver_chibios_dac_basic * audio-arm-dac: dac_additive: stop the hardware when the last sample completed the audio system calls for a driver_stop, which is delayed until the current sample conversion finishes * audio-refactoring: make function-namespace consistent - all (public) audio functions start with audio_ - also refactoring play*_notes/tones to play*_melody, to visually distance it a bit from play*_tone/_note * audio-refactoring: consistent define namespace: DAC_ -> AUDIO_DAC_ * audio-arm-dac: update (inline) documentation regarding MAX for sample values * audio-chibios-dac: remove zero-crossing feature didn't quite work as intended anyway, and stopping the hardware on close-to-zero seems to be enought anyway * audio-arm-dac: dac_basic: respect the configured sample-rate * audio-arm-pwm: have 'note_timbre' influence the pwm-duty cycle like it already does in the avr implementation * audio-refactoring: get VIBRATO working (again) with all drivers (verified with chibios_[dac|pwm]) * audio-arm-dac: zero-crossing feature (Mk II) wait for the generated waveform to approach 'zero' before either turning off the output+timer or switching to the current set of active_tones * audio-refactoring: re-add note-resting -> introduce short_rest inbetween - introduce a short pause/rest between two notes of the same frequency, to separate them audibly - also updating the refactoring comments * audio-refactoring: cleanup refactoring remnants remove the former avr-isr code block - since all its features are now refactored into the different parts of the current system also updates the TODOS * audio-refactoring: reserve negative numbers as unitialized frequencies to allow the valid tone/frequency f=0Hz == rest/pause * audio-refactoring: FIX: first note of melody was missing the first note was missing because 'goto_next_note'=false overrode a state_change=true of the initial play_tone and some code-indentations/cleanup of related parts * audio-arm-dac: fix hardware init-click due to wron .init= value * audio-refactoring: new conveniance function: audio_play_click which can be used to further refactor/remove fauxclicky (avr only) and/or the 'clicky' features * audio-refactoring: clang-format on quantum/audio/* * audio-avr-pwm: consecutive notes of the same frequency get a pause inserted inbetween by audio.c * audio-refactoring: use milliseconds instead of seconds for 'click' parameters clicks are supposed to be short, seconds make little sense * audio-refactoring: use timer ticks instead of counters local counters were used in the original (avr)ISR to advance an index into the lookup tables (for vibrato), and something similar was used for the tone-multiplexing feature decoupling these from the (possibly irregular) calls to advance_state made sesne, since those counters/lookups need to be in relation to a wall-time anyway * audio-refactoring: voices.c: drop 'envelope_index' counter in favour of timer ticks * audio-refactoring: move vibrato and timbre related parts from audio.c to voices.c also drops the now (globally) unused AUDIO_VIBRATO/AUDIO_ENABLE_VIBRATO defines * audio.c: use system-ticks instead of counters the drivers have to take care of for the internal state posision since there already is a system-tick with ms resolution, keeping count separatly with each driver implementation makes little sense; especially since they had to take special care to call audio_advance_state with the correct step/end parameters for the audio state to advance regularly and with the correct pace * audio.c: stop notes after new ones have been started avoids brief states of with no notes playing that would otherwise stop the hardware and might lead to clicks * audio.c: bugfix: actually play a pause instead of just idling/stopping which lead the pwm drivers to stop entirely... * audio-arm-pwm: pwm-software: add inverted output new define AUDIO_PIN_ALT_AS_NEGATIVE will generate an inverted signal on the alternate pin, which boosts the volume if a piezo is connected to both AUDIO_PIN and AUDIO_PIN_ALT * audio-arm-dac: basic: handle piezo configured&wired to both audio pins * audio-refactoring: docs: update for AUDIO_PIN_ALT_AS_NEGATIVE and piezo wiring * audio.c: bugfix: use timer_elapsed32 instad of keeping timestamps avoids running into issues when the uint32 of the timer overflows * audio-refactoring: add 'pragma once' and remove deprecated NOTE_REST * audio_arm_dac: basic: add missing bracket * audio.c: fix delta calculation was in the wrong place, needs to use the 'last_timestamp' before it was reset * audio-refactoring: buildfix: wrong legacy macro for set_timbre * audio.c: 16bit timerstamps suffice * audio-refactoring: separate includes for AVR and chibios * audio-refactoring: timbre: use uint8 instead of float * audio-refactoring: duration: use uint16 for internal per-tone/note state * audio-refactoring: tonemultiplexing: use uint16 instead of float * audio-arm-dac: additive: set second pin output-low used when a piezo is connected to AUDIO_PIN and AUDIO_PIN_ALT, with PIN_ALT_AS_NEGATIVE * audio-refactoring: move AUDIO_PIN selection from rules.mk to config.h to be consistent with how other features are handled in QMK * audio-refactoring: buildfix: wrong legacy macro for set_tempo * audio-arm-dac: additive: set second pin output-low -- FIXUP * audio.c: do duration<>ms conversion in uint instead of float on AVR, to save a couple of bytes in the firmware size * audio-refactoring: cleanup eeprom defines/usage for ARM, avr is handled automagically through the avr libc and common_features.mk Co-Authored-By: Drashna Jaelre * audio.h: throw an error if OFF is larger than MAX * audio-arm-dac: basic: actually stop the dac-conversion on a audio_driver_stop to put the output pin in a known state == AUDIO_DAC_OFF_VALUE, instead of just leaving them where the last conversion was... with AUDIO_PIN_ALT_AS_NEGATIVE this meant one output was left HIGH while the other was left LOW one CAVEAT: due to this change the opposing squarewave when using both A4 and A5 with AUDIO_PIN_ALT_AS_NEGATIVE show extra pulses at the beginning/end on one of the outputs, the two waveforms are in sync otherwise. the extra pusles probably matter little, since this is no high-fidelity sound generation :P * audio-arm-dac: additive: move zero-crossing code out of dac_value_generate which is/should be user-overridable == simple, and doing one thing: providing sample values state-transitions necessary for the zero crossing are better handled in the surrounding loop in the dac_end callback * audio-arm-dac: dac-additive: zero-crossing: ramping up or down after a start trigger ramp up: generate values until zero=OFF_VALUE is reached, then continue normally same in reverse for strop trigger: output values until zero is reached/crossed, then keep OFF_VALUE on the output * audio-arm-dac: dac-additive: BUGFIX: return OFF_VALUE when a pause is playing fixes a bug during SONG playback, which suddenly stopped when it encoutnered a pause * audio-arm-dac: set a sensible default for AUDIO_DAC_VALUE_OFF 1/2 MAX was probably exemplary, can't think of a setup where that would make sense :-P * audio-arm-dac: update synth_sample/_wavetable for new pin-defines * audio-arm-dac: default for AUDIO_DAC_VALUE_OFF turned out that zero or max are bad default choices: when multiple tones are played (>>5) and released at the same time (!), due to the complex waveform never reaching 'zero' the output can take quite a while to reach zero, and hence the zero-crossing code only "releases" the output waaay to late * audio-arm-dac: additive: use DAC for negative pin instead of PAL, which only allows the pin to be configured as output; LOW or HIGH * audio-arm-dac: more compile-time configuration checks * audio-refactoring: typo fixed * audio-refactoring: clang-format on quantum/audio/* * audio-avr-pwm: add defines for B-pin as primary/only speaker also updates documentation. * audio-refactoring: update documentation with proton-c config.h example * audio-refactoring: move glissando (TODO) to voices.c refactored/saved from the original glissando implementation in then upstream-master:audio_avr.c still needs some work though, as it is now the calculation *should* work, but the start-frequency needs to be tracked somewhere/somehow; not only during a SONG playback but also with user input? * audio-refactoring: cleanup: one round of aspell -c * audio-avr-pwm: back to AUDIO_PIN since config_common.h expands them to plain integers, the AUDIO_PIN define can directly be compared to e.g. B5 so there is no need to deal with separate defines like AUDIO_PIN_B5 * audio-refactoring: add technical documentation audio_driver.md which moves some in-code documentation there * audio-arm-dac: move AUDIO_PIN checks into c-code instead of doing everything with the preprocessor, since A4/A5 do not expand to simple integers, preprocessor int-comparison is not possible. but necessary to get a consistent configuration scheme going throughout the audio-code... solution: let c-code handle the different AUDIO_PIN configurations instead (and leave code/size optimizations to the compiler) * audio-arm-dac: compile-fix: set AUDIO_PIN if unset workaround to get the build going again, and be backwarts compatible to arm-keyboards which not yet set the AUDIO_PIN define. until the define is enforced through an '#error" * audio-refactoring: document tone-multiplexing feature * audio-refactoring: Apply suggestions from documentation review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * audio-refactoring: Update docs/audio_driver.md * audio-refactoring: docs: fix markdown newlines Terminating a line in Markdown with -- creates an HTML single-line break (
). Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * audio-arm-dac: additive: fix AUDIO_PIN_ALT handling * audio-arm-pwm: align define naming with other drivers Co-authored-by: Joel Challis * audio-refactoring: set detault tempo to 120 and add documentation for the override * audio-refactoring: update backlight define checks to new AUDIO_PIN names * audio-refactoring: reworking PWM related defines to be more consistent with other QMK code Co-authored-by: Joel Challis * audio-arm: have the state-update-timer user configurable defaulting to GPTD6 or GPTD8 for stm32f2+ (=proton-c) stm32f1 might need to set this to GPTD4, since 6 and 8 are not available * audio-refactoring: PLAY_NOTE_ARRAY was already removed in master * Add prototype for startup * Update chibiOS dac basic to disable pins on stop * Add defaults for Proton C * avoid hanging audio if note is completely missed * Don't redefine pins if they're already defined * Define A4 and A5 for CTPC support * Add license headers to keymap files * Remove figlet? comments * Add DAC config to audio driver docs * Apply suggestions from code review Co-authored-by: Jack Humbert * Add license header to py files * correct license header * Add JohSchneider's name to modified files AKA credit where credit's due * Set executable permission and change interpeter * Add 'wave' to pip requirements * Improve documentation * Add some settings I missed * Strip AUDIO_DRIVER to parse the name correctly * fix depreciated * Update util/audio_generate_dac_lut.py Co-authored-by: Jack Humbert * Fix type in clueboard config * Apply suggestions from tzarc Co-authored-by: Nick Brassel Co-authored-by: Johannes Co-authored-by: JohSchneider Co-authored-by: Nick Brassel Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: Joshua Diamond Co-authored-by: Jack Humbert commit f53e41ac81662a560a299a23c7863dd2f618a1f8 Author: Nick Brassel Date: Mon Feb 15 08:56:13 2021 +1100 Add support for analog USBPD on STM32G4xx. (#11824) * Add support for analog USBPD on STM32G4xx. * Split up to a list of driver types, allow for custom. commit 6f44c2ec31a6aeacd9e90060a9670be03be372fe Author: Atsushi NAGASE Date: Mon Feb 15 06:19:48 2021 +0900 [Keymap] Add MOC keymap for meishi2 (#11833) commit c27a778281824423a324d04276d291f06b49b1ae Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Feb 15 06:55:43 2021 +1100 Format code according to conventions (#11905) Co-authored-by: QMK Bot commit 4ddb5abea51251c6f76c272724984f77f0596f90 Author: Joel Challis Date: Sun Feb 14 19:51:07 2021 +0000 [CI] Format develop (#11893) commit 3134698ad2316f234e0d3d222cebbcba721d950c Author: Galib, Muhammad <62521946+polycarbdiet@users.noreply.github.com> Date: Sun Feb 14 12:48:54 2021 -0500 initial add S20 keyboard into polycarbdiet folder (#11865) commit 5a37c1bd5c14e4354ddaf49b6ee3c9c465513b71 Author: csc027 Date: Sun Feb 14 16:46:11 2021 +0000 csc027/windows-terminal-shortcuts (#11867) * Fixed some comments in the defines file. * Replaced the Git command layer with a Windows Terminal shortcut layer. * Added numbered tab switching to the Windows Terminal layer. * Added 'new tab' and 'command pane' commands to the Windows Terminal layer. * Shortened the USB polling interval for the Iris to 1 millisecond. * Disabled old style macros and functions for the Iris. commit c6aad80e292335ad3e413dbb7ed915f7d996c6d8 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sun Feb 14 20:54:58 2021 +0900 [Docs] Japanese translation of adc_driver.md (#10971) * add adc_driver.md translation * update based on comment * update based on comment * update based on comment commit 50d816fe9913c5e71e1f49a48e61ea35beb7c8e6 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sun Feb 14 20:52:54 2021 +0900 [Docs] Japanese translation of feature_unicode.md (#10985) * add feature_unicode.md translation * consolidate sentence end * update based on comment * update based on comment * update based on comment * update based on comment commit 557cfecc15cdf066d5228e95006f9753d6d87ee6 Author: Nick Brassel Date: Sun Feb 14 21:41:03 2021 +1100 ChibiOS conf upgrade for keebio/dsp40/rev1 (#11846) commit ecbbdbcd4e585a9a6b2b47d1dd8e1e3e1d50a254 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Feb 13 23:17:05 2021 -0800 [Keyboard] YMDK YMD40 v2 (#11835) * [Keyboard] YMDK YMD40 v2 * fork default keymap into default and factory - factory keymap is as assigned by the extracted JSON provided by the vendor - default keymap is based on the Planck * add AUDIO_SUPPORTED rule per drashna * modify factory keymap's readme Recommend users copy the default keymap instead. commit d035bb51f42909f2b866c2986f2f765ec2586328 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Feb 13 18:16:23 2021 -0800 [Keyboard] NEO Keys Palette G67 Hotswap & Soldered (#11850) commit 537b7614b9be39025379291880b549e4fa4d826d Author: Joshua Diamond Date: Sat Feb 13 20:49:26 2021 -0500 unscramble Durgod k320 keymap / fix Issue #11883 (#11885) * unscramble Durgod k320 keymap / fix Issue #11883 * fix a few keymaps commit 1f2fe2eab99548f4bde2a79b03e3303cc9b73214 Author: Joel Challis Date: Sun Feb 14 01:44:22 2021 +0000 Refactor platform logic within print.h (#11863) * Remove GCC check from debug * Remove platform logic from common.mk * Refactor platform logic within print.h * restore debug.c format * headers * Rename function pointer type * review comments * Update tmk_core/common/printf.c Co-authored-by: Nick Brassel * Format Co-authored-by: Nick Brassel commit 7ce5ba645abcbf3d859a418d4456a1cc80c73e64 Author: Ryan Date: Sun Feb 14 12:15:08 2021 +1100 LED Matrix: add led_matrix_types.h and implement g_led_config (#11741) * LED Matrix: add led_matrix_types.h and implement g_led_config * Set correct flags for non-"modifier" LEDs * Clean up docs a little * Add license headers for [led,rgb]_matrix_types.h commit de8caf708c1a9a80527a04be620ed3969262e50b Author: Joel Challis Date: Sun Feb 14 00:51:06 2021 +0000 Split gpio and atomic to platform (#11792) commit 72e515547aedbfd0b91296a51a81861236be8fe5 Merge: cd336b2b54 101990139f Author: QMK Bot Date: Sun Feb 14 00:21:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 101990139f3efc0d61491d58f41474f5bc039c66 Author: Nick Brassel Date: Sun Feb 14 11:20:57 2021 +1100 Disable VIA protocol's EEPROM reset and bootloader jump commands (#11892) * Disable VIA protocol's EEPROM reset and bootloader jump commands, and allow for reinstation through #define. * Removed at Wilba's suggestion. commit cd336b2b545798269405e8ffef0fe8958d4d27d4 Author: Zach White Date: Sat Feb 13 10:26:45 2021 -0800 bump to python 3.7 (#11408) commit 57d2409c081c2fd546036a6b15dfbd9481fddc1d Merge: afa88a4616 8af7e5ea81 Author: QMK Bot Date: Sat Feb 13 17:06:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8af7e5ea81f6120b5ce13212b8acbb58ee66c0a5 Author: Al Cutter Date: Sat Feb 13 17:05:53 2021 +0000 Add basic ISO {Win,Mac} layouts for Durgod/K320 (#11778) * Add default ISO Windows layout for Durgod/K320 * Duplicate default_iso to default_iso_mac Swap the L{GUI,ALT} keys to match the mac layout, and remove the windows key lock functionality. * Remove windows-key lock in default_iso * Fixup wonky macro layout inherited from ansi keymap commit afa88a4616295c87c59cda39ae88dc3f90b3f226 Merge: 6573f24cd9 4f598ee9fb Author: QMK Bot Date: Sat Feb 13 10:06:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4f598ee9fbb3b2b76b4e6e9897f986fbf6ef6611 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat Feb 13 10:05:17 2021 +0000 Format code according to conventions (#11879) Co-authored-by: QMK Bot commit 6573f24cd95b254b5c04aad09753b24777dd32f0 Merge: 6680aa6bdf a716517705 Author: fauxpark Date: Sat Feb 13 14:56:11 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit a716517705167d3181416510d5f91c425390d91a Author: Ryan Date: Sat Feb 13 14:35:32 2021 +1100 Fix line endings for geminate60.[ch] (#11878) commit 6680aa6bdf01c9c451f997efd5864010583636af Merge: 5e3cd884eb c2b0bd2a0a Author: QMK Bot Date: Sat Feb 13 02:35:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c2b0bd2a0aabd6da83daffa02c7dd11299f24dd9 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Sat Feb 13 10:34:34 2021 +0800 [Keyboard] Update MOJO75 to support multi version (#11790) * Add Z70Ultra which is a Hotsawp RGB 65% keyboard * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/readme.md Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: Ryan * Update readme.md * Update info.json update the name of layout to consistent the keyboard. * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: Ryan * Add Z70Ultra * Support Z70Ultra [Modified] info.json to support two different layouts [Add] rules.mk to support default folder * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/config.h Co-authored-by: Ryan * remove excessive arguments from LAYOUT_split_space * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Use macro replace with the literal for CS & SW * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Drashna Jaelre * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Drashna Jaelre * [Keyboard] MJ61 Add license header for files and the link for readme * Update keyboards/melgeek/mj61/readme.md Co-authored-by: Ryan * Update keyboards/melgeek/mj61/rev1/config.h Co-authored-by: Ryan * Update keyboards/melgeek/mj61/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Ryan * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Ryan * Add GPL for files * Update keymaps/default/keymap.c * Update keymaps/via/keymap.c * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * [Keyboard] Update MOJO75 to support multi version and Update the LED's ID of RGB Matrix Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 5e3cd884ebf1318b122f7e589e8891b291cb7b33 Merge: c93dc18ddc 6e74abc643 Author: QMK Bot Date: Sat Feb 13 00:59:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6e74abc643e944dc18d4f53762b52459b7691308 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Feb 12 16:59:10 2021 -0800 [Keyboard] tunks/ergo33: define RGBLight config at kb level (#11855) commit c93dc18ddca84c3f5e7671c965507371ce3e61ac Merge: 0edb99a255 bf1c40d682 Author: QMK Bot Date: Fri Feb 12 23:57:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bf1c40d6820b5cfeee0e77483dae2931a9ee2ae1 Author: Carlos Date: Fri Feb 12 16:56:36 2021 -0700 [Docs] Add EEP_RST keycode to "Wiping the EEPROM" section (#11830) commit 0edb99a255271e8bdaad0e7e882b6bfad85853c3 Merge: 06a28d024f 548b874a16 Author: QMK Bot Date: Fri Feb 12 22:55:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 548b874a161830d0b2734dce52a8d0797f56837d Author: Weirdo <1248314361@qq.com> Date: Sat Feb 13 06:54:37 2021 +0800 [Keyboard] geminate60 keyboard (#11670) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 06a28d024ff98d6454873d98b20d320eb8ae38c9 Merge: 85dd86c64e 519032c61b Author: QMK Bot Date: Fri Feb 12 20:51:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 519032c61b462a5f96f741bebd8f505c12e92d3a Author: Brian Marsh Date: Fri Feb 12 14:51:23 2021 -0600 Adding custom keymap for Quark keyboard (#11744) * adding pezhore keymap * Adding sarcasm/irony mark, unicode emoji * removing numpad layer enum Co-authored-by: Brian Marsh commit 85dd86c64e725f1507fddf10a559947a9b9baa5c Merge: e617f1cfcc bedb72b0bc Author: QMK Bot Date: Fri Feb 12 19:16:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bedb72b0bc30db906b436e2fc820a4a6559a7520 Author: Stuart Fong <72262579+stuartfong1@users.noreply.github.com> Date: Fri Feb 12 14:15:38 2021 -0500 Add stuartfong1 Planck Layout (#11814) * Add files via upload * Update readme.md * Update readme.md * Add GPL2+ compatible license header to config.h * Update keyboards/planck/keymaps/stuartfong1/keymap.c Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit e617f1cfcc38d7bdc2f3f41eb01c44bc5819f464 Merge: b3c647bf7c 22368ee49e Author: QMK Bot Date: Fri Feb 12 18:47:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 22368ee49e507dc494b4217bc2a8bbd1606714ee Author: Christian Gurholt Date: Fri Feb 12 11:46:27 2021 -0700 Rename ki folder to kifinnsson (#11853) In preparation for migrating keymaps to userspace commit b3c647bf7c1c5abde085b5d8fe4fa5c79d5f703c Merge: 393f1ea38a 3f71bc8e79 Author: QMK Bot Date: Fri Feb 12 18:44:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3f71bc8e797ef45d9fc499b0e817addaff7bb1bf Author: Timothy Beck <52902223+BeckTimothy@users.noreply.github.com> Date: Fri Feb 12 11:43:52 2021 -0700 added dear_vehicle_owner meme keymap to planck keyboard (#11478) * added default as a starting point * added readme per guidelines * made necessary changed to keymap to follow guidelines * changed debounce mode for more smooth usage at the cost of mem * increased polling interval * Revert "made necessary changed to keymap to follow guidelines" yikes! I modified the WRONG directory. reverted. This reverts commit 8ba3d97af538796d765c47b48537dbcf55c3dbc1. * reverted commit that modified file in incorrect directory. modified intended file. * added license tp config.h commit 393f1ea38aed9d00449313d1fddc3f519165a2b5 Merge: 0b68c7441a 550359a4b4 Author: QMK Bot Date: Fri Feb 12 02:34:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 550359a4b4510890bc0e3c4adddb3fd5d07a798b Author: Quentin Date: Fri Feb 12 03:33:50 2021 +0100 [Keyboard] Add bastyl mini keyboard (#11782) Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: NullSense commit 0b68c7441a03a898073b87318ee73bff12015ee0 Merge: 02654ad2d7 bc74027f39 Author: QMK Bot Date: Fri Feb 12 01:03:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bc74027f3920c244ea3524e755dba66b0dd2fb8c Author: Rozakiin <6567067+Rozakiin@users.noreply.github.com> Date: Fri Feb 12 01:02:28 2021 +0000 [Keyboard] Fix noxary Product IDs (#11771) Co-authored-by: Drashna Jaelre Co-authored-by: Ruari commit 02654ad2d7abefc00c621cf453ed0fdd2764c6f2 Merge: 055cd47ba0 068e11f7e2 Author: QMK Bot Date: Fri Feb 12 00:56:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 068e11f7e2f5caf3084453c19cc8cd3f0edafb0d Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Fri Feb 12 08:56:07 2021 +0800 [Keyboard] Support MJ65 - a 65% RGB Hotswap keyboard (#11764) Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 055cd47ba0380cd40eab15470cdad8704ea47262 Merge: 986dc7f0e9 6a5f29208e Author: QMK Bot Date: Thu Feb 11 18:54:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6a5f29208eb334e11a80ac2330b9a8f71188d586 Author: Kyle McCreery Date: Thu Feb 11 08:53:55 2021 -1000 [Docs] Update feature_haptic_feedback.md (#11859) Arduino playground link to wiring diagram no longer works. Changed the link to point to the correct Adafruit hosted diagram pdf. commit 986dc7f0e90d035e3d0babd47ef3ab930f400202 Merge: 7ff713f35f 5a73558a21 Author: QMK Bot Date: Wed Feb 10 19:18:29 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5a73558a211383cd238587369ef043a6d5b64b88 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Feb 10 11:17:42 2021 -0800 [Keymap] add noroadsleft userspace; add and update keymaps (#11686) commit 7ff713f35f9c73d911900fa2a2c88e71d38acbac Merge: 8d06a230c2 4b2ab84c71 Author: QMK Bot Date: Wed Feb 10 19:06:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4b2ab84c71d517b718bdf4dde0e60fc71026fac6 Author: Joschua Gandert Date: Wed Feb 10 20:05:20 2021 +0100 [Keymap] Added german_gaming keymap for hidtech/bastyl (#11446) * Added german_gaming keymap for hidtech/bastyl * Apply suggestions from code review * Added missing brace commit 8d06a230c231e20b78acf77dd5c90093aa3bd95f Merge: 0cd00b6c09 7ef4aba52c Author: QMK Bot Date: Wed Feb 10 14:22:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7ef4aba52c40e8e4638f9b948e271ec41baa321a Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Wed Feb 10 09:21:46 2021 -0500 Userspace updates (#11841) * enable LTO for smaller firmware size * delete since this was added to userspace rules.mk * readme updates and new images * Add -j to compile and flash commands in userpsace * Enable NKRO * Enable NKRO, VIA, LTO by default * Stanrc85-ansi readme update * Stanrc85-alice readme * quick RGB layer indicator fix in keymap commit 0cd00b6c094dd2d10f6dc7a1404268b88fcb46ba Merge: 527cf2f3cf 0aed8746be Author: QMK Bot Date: Wed Feb 10 05:19:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0aed8746bee2ff60727de0663dca4d82072e6632 Author: Spaceman Date: Wed Feb 10 00:18:53 2021 -0500 [Keyboard] Add keyboard yun65 (#11714) commit 527cf2f3cf850340ae6c39ad544245ed11edac6b Merge: ded7b215be 872f656c3b Author: QMK Bot Date: Wed Feb 10 04:46:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 872f656c3b3d94067315029c3996a1f268ff9cd3 Author: Mike Tsao Date: Tue Feb 9 20:45:42 2021 -0800 [Keyboard] Add sowbug/68keys and sowbug/ansi_tkl (#11589) commit ded7b215beba4ec80f355797c05a8da2601aebbe Merge: 36c7c66831 fb9f619d89 Author: QMK Bot Date: Wed Feb 10 02:00:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fb9f619d8950812a6c5b5c6826891fcefb8eb677 Author: LSChyi Date: Wed Feb 10 09:58:59 2021 +0800 Play Keyboard Helen 80: fix matrix mapping (#11585) commit 36c7c668312fef89e57a75b6f2869749e577b6ee Merge: 7161d65070 955eb58af5 Author: QMK Bot Date: Tue Feb 9 22:40:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 955eb58af50f00e8e4d87a1b110241a0ed0e3dee Author: Konstantin Shpits Date: Wed Feb 10 03:40:16 2021 +0500 Fix VENDOR_ID for ymd67 (#11838) commit 7161d650705afb86b0874d95d72d15cf134f4148 Author: Drashna Jaelre Date: Tue Feb 9 09:49:05 2021 -0800 Remove FAUXCLICKY feature (deprecated) (#11829) commit 738bd263c18de8f78cc98311b40c79a84ae3be33 Merge: 9aed856d78 7d5902752e Author: QMK Bot Date: Tue Feb 9 17:11:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7d5902752ee8088b04763bce2d950ab61be730f2 Author: Nicolas Schodet Date: Tue Feb 9 18:10:54 2021 +0100 [Keyboard] Add Splitty keyboard (#11613) commit 9aed856d788a65eb6e58823d743679b4c102d695 Merge: 39ed48f7a7 4107856b70 Author: QMK Bot Date: Tue Feb 9 14:59:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4107856b70eb686d2e151254ca73adf522312c49 Author: Jay Greco Date: Tue Feb 9 06:50:16 2021 -0800 Simplify NIBBLE encoder code and clean up keymaps (#11808) * Simplify encoder code and clean up keymaps. -Removed overly complex VIA encoder code. It wasn't adding any value and was confusing users who were trying to customize encoder functionality on VIA keymaps. -Replaced KC_TILDE with KC_HOME in all keymaps, as KC_TILDE sends a left shift, which was confusing some folks as they tested their build. -Move layer names to enum * Change encoder_update_kb to encoder_update_user per PR feedback commit 39ed48f7a79d7d31545b3ecf80ae6ea5f6489c30 Merge: 448cc1acd5 627ceebef3 Author: QMK Bot Date: Mon Feb 8 21:33:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 627ceebef3ed19eceba3642a830ffbf44f4a9e04 Author: Sergey Vlasov Date: Tue Feb 9 00:33:04 2021 +0300 ws2812: Fix number of nops for AVR at 8 MHz (#9559) * ws2812: Fix number of nops for AVR at 8 MHz When trying to calculate the number of nops for AVR running at 8 MHz, the value of `w3` is expected to be negative; however, because `F_CPU` is defined in tmk_core/avr.mk with the `UL` suffix, the preprocessor performs its calculations using `unsigned long`, getting a very large positive number instead of the expected negative number; this then results in generating code with a huge number of nops. Fix the broken calculations by performing a comparison before subtraction, so that the unsigned number wraparound does not occur. The keyboard which triggers the problem is `handwired/promethium`; the buggy code silently compiles, but the resulting timings would be completely wrong. * ws2812: Clean up the code after the 8 MHz fix Remove old code which was unsuccessfully trying to clamp negative w1, w2 and w3 values to 0, and set w1_nops, w2_nops and w3_nops directly. commit 448cc1acd5f107f9679a48c605861654523432e7 Author: Zach White Date: Mon Feb 8 03:03:08 2021 -0800 remove deprecated qmk json-keymap (#11823) commit 248413489f4be3396047ee49cc8d897d05fd8baf Merge: 3a98bd75c8 d2f204c1e3 Author: QMK Bot Date: Mon Feb 8 09:13:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d2f204c1e3ef92d774feded0ba05a145c2d03cf7 Author: Ryan Date: Mon Feb 8 20:12:33 2021 +1100 Fix RGBLIGHT_LIMIT_VAL typo (#11826) commit 3a98bd75c88c5cc64aed72b9d2e3a8857d949fed Merge: b8031a1613 99bffc2a21 Author: QMK Bot Date: Sun Feb 7 23:16:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 99bffc2a21ebed07fd767ad2a9a7e1aadd491ef3 Author: Joel Challis Date: Sun Feb 7 23:16:15 2021 +0000 Migrate some tmk_core files to quantum (#11791) * Migrate some tmk_core files to quantum * Fix build errors commit b8031a1613290ada50f4cb746216fcae90d8935d Merge: 51d40e0ef0 7e82879553 Author: QMK Bot Date: Sun Feb 7 22:52:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7e828795534f7351df54d2c0545b2ed159b1bfde Author: yfuku <30647434+yfuku@users.noreply.github.com> Date: Mon Feb 8 07:52:19 2021 +0900 via support for bat43 (#11729) * via support for bat43 * add adjust layer for via commit 51d40e0ef0916ed5ae5adc2b288afb6f096213b2 Merge: d9dea7c4ec 4d8161cff5 Author: QMK Bot Date: Sun Feb 7 22:35:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4d8161cff5f03de5ee4fce9246c6f8f9be20aedb Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Mon Feb 8 09:35:20 2021 +1100 [Update] Allow APM32 on TrinityXTtkl (#11715) * amp32 initial change * fix spacing commit d9dea7c4ec9513f07779094a900702bd0da31c30 Merge: 0e59827023 ccc9c43161 Author: QMK Bot Date: Sun Feb 7 21:03:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ccc9c43161282bd6f37813cc85c13da1eb51b88d Author: Joel Challis Date: Sun Feb 7 21:02:51 2021 +0000 Allow flash/compile to accept relative json paths (#11767) * Allow flash/compile to accept relative paths * Review suggestions * Review comments * Put back exists check otherwise stdin fails * fix lint commit 0e59827023859a428be789a11036d68bd6eda2bd Merge: 10c88cdcd5 fc29c7a589 Author: fauxpark Date: Mon Feb 8 07:57:09 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit fc29c7a589837c2d1e4173d59d2849f89d3cb72b Author: Danny Date: Sun Feb 7 15:49:16 2021 -0500 Add DSP40 (#11579) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 5d5cbb877da3a7f27f1c96948d240317e6263388 Author: Ryan Date: Mon Feb 8 07:45:59 2021 +1100 Rework I2C driver docs (#11658) commit 10c88cdcd517888bfdbfc9dc0c58ceb7648b2d81 Merge: 6233c6ac7b 0355cd0f72 Author: QMK Bot Date: Sun Feb 7 18:57:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0355cd0f72899b554c180b7fe6ca61e140e2f908 Author: Danny Date: Sun Feb 7 13:56:43 2021 -0500 [Keyboard] Add The Stick keyboard (#11745) Co-authored-by: Ryan commit 6233c6ac7b03aaa918d78a9a67122c939b87b290 Merge: 5007cdac72 9d1d875a95 Author: QMK Bot Date: Sun Feb 7 18:49:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9d1d875a95f4be0f06329154eee86028af4699bb Author: moritz-john <70295002+moritz-john@users.noreply.github.com> Date: Sun Feb 7 19:48:34 2021 +0100 [Docs] Update isp_flashing_guide.md (#11777) Added wiring for USBasp and changed the order of the documentation accordingly commit 5007cdac72bc789ab4be61625d0f917cce92f893 Merge: a08c7c68cc 13c562e154 Author: QMK Bot Date: Sun Feb 7 17:58:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 13c562e1544a02e1fb63af5d885b7f5718b682b1 Author: George Petri Date: Sun Feb 7 19:58:23 2021 +0200 [Keymap] Update keymap for keebio/nyquist (#11734) commit a08c7c68cc51912582f7e93bb5c07419be3e8c9c Merge: adf32da655 c1aeec9635 Author: QMK Bot Date: Sun Feb 7 17:45:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c1aeec9635f5683db195b2d380ad35dddee13c0b Author: Chris M Date: Sun Feb 7 09:44:59 2021 -0800 [Keymap] Shadyproject/bfo9000 (#11753) commit adf32da655f4daa6a5cba896fa681e8aa6e8f4b7 Merge: 7122adc4b8 a4368da849 Author: QMK Bot Date: Sun Feb 7 17:42:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a4368da8490744c34e5f09b0250c91782a204969 Author: Juno Nguyen Date: Mon Feb 8 01:42:25 2021 +0800 [Keymap] Update community ortholinear 4x12 keymap: junonum (#11757) commit 7122adc4b8635784576ccc73c23159e38e89bf2c Merge: ffd768dfbc 65db45c475 Author: QMK Bot Date: Sun Feb 7 17:27:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 65db45c475c95b8454d83ebb7e47832c450e4980 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sun Feb 7 12:26:39 2021 -0500 [Keyboard] Add my keymap for Mark65 (#11717) commit ffd768dfbcb784e7aa5bb92054f0e7fccab37a50 Merge: 380e1a28c9 74145dc7ae Author: QMK Bot Date: Sun Feb 7 17:09:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 74145dc7ae297fcd2e9abcdc9432949c7c627ce6 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Mon Feb 8 02:09:24 2021 +0900 [Keyboard] Add nknl7jp keyboard (#11591) * Add nknl7jp keyboard A 73 keys JIS Layout split keyboard. Salicylic-acid3 * Keymap Update Fixed default keymap. * Update keyboards/nknl7jp/keymaps/salicylic/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/nknl7jp/keymaps/salicylic/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/nknl7jp/keymaps/salicylic/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/nknl7jp/keymaps/salicylic/keymap.c Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 380e1a28c927e9469f917167dd2b804743f9e081 Merge: 2a7584ecf0 60d76d6733 Author: QMK Bot Date: Sun Feb 7 17:07:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 60d76d6733b0a78e31a0ae4cbab7ba5aa60366cd Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Mon Feb 8 02:06:59 2021 +0900 [Keyboard] Add nknl7en keyboard (#11590) * Add nknl7en keyboard A 70 keys ANSI Layout split keyboard. Salicylic-acid3 * Update readme.md The name, photo, and link were wrong, so they have been corrected. * Update keyboards/nknl7en/keymaps/salicylic/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/nknl7en/keymaps/salicylic/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/nknl7en/keymaps/salicylic/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/nknl7en/keymaps/salicylic/keymap.c Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 2a7584ecf0bf4004056055f2b2e54d400e906446 Merge: fe7e736c6b 72b0f494e7 Author: QMK Bot Date: Sun Feb 7 17:05:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 72b0f494e7ee7d9bc4fca10bc6c53a592156e768 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Mon Feb 8 02:04:29 2021 +0900 [Keyboard] Add ergoarrows keyboard (#11592) A 76 keys Ergo Layout split keyboard. Salicylic-acid3 commit fe7e736c6bab97f6d4fac95ef19359c6cb3a96e5 Merge: d33191830b 2e6bd97585 Author: QMK Bot Date: Sun Feb 7 16:59:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2e6bd97585513dde0bb1f3418fe8d4c5e1e534cf Author: Matteo Bonora Date: Sun Feb 7 17:59:15 2021 +0100 [Keyboard] Add Hi-Tek AIM-65 keyboard (#11623) * Add Hi-Tek AIM-65 keyboard * Add bootloader selection * Update keyboards/handwired/aim65/readme.md Co-authored-by: Joel Challis * Update keyboards/handwired/aim65/rules.mk Co-authored-by: Joel Challis * Update keyboard image Co-authored-by: Ryan * Update keyboards/handwired/aim65/rules.mk Co-authored-by: Ryan * Update keyboards/handwired/aim65/keymaps/bonnee/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/handwired/aim65/keymaps/default/keymap.c Fix indentation Co-authored-by: Drashna Jaelre * Update keyboards/handwired/aim65/keymaps/default/keymap.c Fix indentation Co-authored-by: Drashna Jaelre * Update keyboards/handwired/aim65/keymaps/bonnee/keymap.c Co-authored-by: Ryan * Update keyboards/handwired/aim65/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/aim65/keymaps/bonnee/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/aim65/keymaps/bonnee/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/aim65/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/aim65/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit d33191830b0ba9c0f6c2c30218a7befa487387dd Merge: 5f51df6431 784a9cdca4 Author: QMK Bot Date: Sun Feb 7 16:56:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 784a9cdca4e776150af6b996f8944af89541f2f5 Author: k.bigwheel Date: Mon Feb 8 01:56:27 2021 +0900 [Keyboard] Add earth_rover keyboard (#11405) * Just ./util/new_keyboard.sh earth_rover * Update readme.md * Create key layout * Setup config.h * Add default keymap * Fix pins * Update flash command * Write info.json * Add reset instruction * Change bootloader setting * Format new C files * Empty commit for kicking CI * Update keyboards/earth_rover/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/earth_rover/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update readme.md * Update keyboards/earth_rover/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 5f51df6431d20fcb6a6fa086c5c8e9ade6b70548 Merge: 9146d30f06 3d01794b12 Author: QMK Bot Date: Sun Feb 7 16:54:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3d01794b12a895b1678c51b5aea46a0def5fca3f Author: Moritz Date: Sun Feb 7 17:54:23 2021 +0100 [Keyboard] Whale 75 (#11486) * initial commit * various fixes * minor formatting fixes * fixed typo in config * switched underglow from bitbang to pwm * fixed indicator leds not working * improved comment syntax * fixed matrix * remove outdated indicator custom code Co-authored-by: Joel Challis * add new indicator definitions Co-authored-by: Joel Challis * removed duplicate define for underglow pin Co-authored-by: Drashna Jaelre * removed unneeded lines * fixed readme to fit template * added picture to readme * fixed readme formatting Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre commit 9146d30f06362b768778414ca5381183c45b7431 Author: Alexander Ulitin <1911626+ulex@users.noreply.github.com> Date: Sun Feb 7 17:43:39 2021 +0100 [Bug] Fix media key missing upstroke event (#11162) [Bug] Pressing media key on a momentarily activated layer may leads to missing key up events. commit 02881427692b682287d19fe533c3b84aa7b42a26 Author: Joel Challis Date: Sun Feb 7 13:56:08 2021 +0000 Migrate mousekey to quantum (#11804) commit 0c44aa950334a4956dbe1d3f1e4830c13eb38b45 Merge: 07a1574732 53f17113c1 Author: QMK Bot Date: Sat Feb 6 21:04:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 07a1574732677dd91acde20020b9372cc9c82685 Author: Joshua Diamond Date: Sat Feb 6 16:04:25 2021 -0500 [Keymap] Revamp spidey3 userspace and keymaps (#11768) * Don't block keys during startup animation * More refinements related to startup and debug state * restore key logging * some cleanup on scan rate reporting * trim some fat * better lighting to indicate jumped to bootloader * use eeprom for state restoration * a little reorganization * report version immediately when turn on debug * hold-to-adjust for hue, sat, val * cformat * reorg rules.mk settings, fix compile with CONSOLE_ENABLE=no * simplify spidey3 userspace * NULL in layer list caused buggy behavior * more bugfix * update numpad layout to match matt30 MT3 /dev/tty keycaps * swap emdash and endash * map shift+backspace to delete * removing NO_ACTION_ONSHOT makes the firmware SMALLER ?! * cformat * improve spi_glow * disable shift-backspace = delete by default commit 53f17113c1241dfc0179d3b98121f3cd83cfae9a Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Feb 7 08:04:01 2021 +1100 [Keyboard] VIA fix firmware sizes (#11770) commit f5a38b95c12d100ab74acfd603502c66e0d0911d Author: Joel Challis Date: Sat Feb 6 16:56:13 2021 +0000 Remove legacy print backward compatiblitly (#11805) * Remove legacy print backward compatiblitly * Remove legacy print backward compatiblitly - core * revert comment changes commit c50ecb4bb053a98dc8541f29e3a98f149340980a Merge: a1ddba6bc4 66775a3391 Author: QMK Bot Date: Sat Feb 6 15:54:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 66775a33911b5d5f35b0466c49af278cbe65a97b Author: Felix Jen Date: Sat Feb 6 09:53:49 2021 -0600 Fixed pin assignment on KBD8X Hotswap by Lucid (#11807) commit a1ddba6bc484647de96d10766695a25748eabef3 Merge: 5f2b7bd78e 9b874d5071 Author: QMK Bot Date: Sat Feb 6 14:16:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9b874d50713d27b4726aa6b759abf3f3abede3fa Author: Ryan Date: Sun Feb 7 01:15:30 2021 +1100 Manual formatting fix for serial_uart.c (#11806) commit 5f2b7bd78e11fe5042240cdf1859e5e87bf5e2bb Merge: 052095d432 0e8cef28d2 Author: QMK Bot Date: Sat Feb 6 12:56:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0e8cef28d29d984095d7c6d1ac2d0cf032bdc323 Author: Joel Challis Date: Sat Feb 6 12:55:50 2021 +0000 [CI] Auto Formatting - Swap from direct commit to PR (#11229) * Swap from direct commit to PR * Fix up commit 052095d4320a5ae39551728bee39a12c4e42e856 Merge: 620a946d01 31675c614e Author: QMK Bot Date: Sat Feb 6 10:18:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 31675c614e940e08fa8b400912a011dbb8622150 Author: Atsushi Morimoto Date: Sat Feb 6 19:18:21 2021 +0900 [Keyboard] add info.json of Sparrow62 (#11740) * add info.json for QMK Configurator * Apply suggestions from code review fix space, enter and align x commit 620a946d01477b64ee2f719141aa35400c0188c6 Author: Nick Brassel Date: Sat Feb 6 11:27:46 2021 +1100 Add STM32G431 and STM32G474 board definitions. (#11793) * Add STM32G431 and STM32G474 board definitions. * Add docs. commit c1b2e87e894c08b5d6bdd85b9e47c885fd447370 Author: Ryan Date: Sat Feb 6 09:35:10 2021 +1100 Remove `MIDI_ENABLE_STRICT` from user keymaps (#11750) commit 843643aef36165ee6b00a52e19a272e69f19e6e1 Merge: c3eee3a842 5ea92a9c1c Author: QMK Bot Date: Fri Feb 5 22:21:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5ea92a9c1cbe3e20bf4830d550d797a8e9650da8 Author: Ryan Date: Sat Feb 6 09:20:48 2021 +1100 Serial refactor (#11521) commit c3eee3a842366497abeacc22c02020622a339c46 Merge: b4e02f8ddf 464eb7137d Author: QMK Bot Date: Fri Feb 5 19:43:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 464eb7137d27e3a31e85032c85c9fda627a8b33f Author: im a can what do you think lmao? <33337640+lyso1@users.noreply.github.com> Date: Fri Feb 5 14:42:36 2021 -0500 update lck75 json file (#11798) * update lck75 json * Create info.json * wrong json file extension * updated layout height and width in json * Update info.json * reverted changes from last update to json an error was made * Update info.json found an extra key in the kle raw data * Changed product ID * Update keyboards/lck75/info.json understood Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit b4e02f8ddfdd945ea33e2dac722c4ad21a147f5f Merge: 1816b16315 b2d0e8a491 Author: QMK Bot Date: Fri Feb 5 13:28:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b2d0e8a491f347d43b482808a744642fc975afab Author: Joel Challis Date: Fri Feb 5 13:27:24 2021 +0000 Manually run formatting job (#11797) commit 1816b163153b17b1ade22a905bf9509cc2f1b774 Merge: 44b8cba776 18babeae49 Author: QMK Bot Date: Fri Feb 5 11:31:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 18babeae49dc933f7a07e123241ae2a78a75f168 Author: Sam Hudson Date: Fri Feb 5 11:31:15 2021 +0000 [Keyboard] add shk9 macropad (#11505) * added shk9 macropad * updated readme * removed json file * updated config * removed commented config * fixed website address * added bootloader mode info to readme * remove midi enable rule * fixed comment * fixed default keymap * changed layout to ortho * fixed typo * fixed broken layout * pr changes * added keymap spacing commit 44b8cba77652b25762588edc258cec172e2a0118 Merge: be2f109bf1 59bf018e9f Author: QMK Bot Date: Fri Feb 5 07:31:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 59bf018e9fb50f20400d012f09558ad4ffe6d4a4 Author: Joel Challis Date: Fri Feb 5 07:30:43 2021 +0000 Fix build errors on kikoslab/kl90 default keymap (#11796) commit be2f109bf1f1a653ad2b3e7859ebec0b4b8b1a30 Merge: f554e290f7 445ea64699 Author: QMK Bot Date: Fri Feb 5 06:20:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 445ea646991a0ee49f9cd698054584d0774d2409 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Fri Feb 5 14:19:30 2021 +0800 [Keyboard] Fix the LED's ID of ISSI for MJ64 REV2 (#11760) * Add Z70Ultra which is a Hotsawp RGB 65% keyboard * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/readme.md Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: Ryan * Update readme.md * Update info.json update the name of layout to consistent the keyboard. * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: Ryan * Add Z70Ultra * Support Z70Ultra [Modified] info.json to support two different layouts [Add] rules.mk to support default folder * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/config.h Co-authored-by: Ryan * remove excessive arguments from LAYOUT_split_space * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Use macro replace with the literal for CS & SW * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Drashna Jaelre * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Drashna Jaelre * [Keyboard] MJ61 Add license header for files and the link for readme * Update keyboards/melgeek/mj61/readme.md Co-authored-by: Ryan * Update keyboards/melgeek/mj61/rev1/config.h Co-authored-by: Ryan * Update keyboards/melgeek/mj61/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Ryan * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Ryan * Add GPL for files * Update keymaps/default/keymap.c * Update keymaps/via/keymap.c * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * Fix the LED's ID of ISSI for MJ64 REV2 Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit f554e290f7a64665b9ccc2f2ad3431662e507931 Merge: 325c2b1487 237dd23491 Author: QMK Bot Date: Fri Feb 5 06:19:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 237dd23491cff3dc60df123a8992301bd1d8a9c8 Author: Joshua Borton Date: Fri Feb 5 01:18:20 2021 -0500 [Keyboard] Add VIA support to v60 Type R (#11758) * Add support VIA support to v60 Type R * Update keyboards/v60_type_r/config.h Revert combining product and manufacturer Co-authored-by: Ryan * Update keyboards/v60_type_r/keymaps/via/keymap.c Remove empty `led_set_user` function Co-authored-by: Ryan * Update keyboards/v60_type_r/rules.mk Don't enable bootmagic lite Co-authored-by: Ryan * Add missing empty layers for VIA * Update keyboards/v60_type_r/rules.mk Fix comment formatting Co-authored-by: Ryan * Update the VENDOR_ID Co-authored-by: Ryan commit 325c2b14871600513b1c8caaea421ab04d985674 Merge: ac52331c4f 58f8c7f9c3 Author: QMK Bot Date: Fri Feb 5 05:07:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 58f8c7f9c3aa5cfe9ed12c82f1a6ee14f5cc6123 Author: 18438880 <77926265+18438880@users.noreply.github.com> Date: Fri Feb 5 13:06:50 2021 +0800 [Keyboard] add latin17rgb (#11680) * Create readme.md * Add files via upload * Create keymap.c * Create keymap.c * Create rules.mk * Update config.h * Update rules.mk * Update keyboards/latin17rgb/keymaps/default/keymap.c * Update keyboards/latin17rgb/keymaps/via/keymap.c * Update keyboards/latin17rgb/latin17rgb.h * Update keyboards/latin17rgb/keymaps/default/keymap.c * Update keyboards/latin17rgb/keymaps/via/keymap.c * Update keyboards/latin17rgb/rules.mk * Update keyboards/latin17rgb/info.json * Delete latin17RGB.json * Update info.json * Update keymap.c * Update keymap.c * Update info.json * Update latin17rgb.h * Update latin17rgb.h * Update keymap.c * Update keymap.c * Update latin17rgb.h * Update keyboards/latin17rgb/readme.md * Update keyboards/latin17rgb/readme.md * Update keyboards/latin17rgb/rules.mk * Update keyboards/latin17rgb/rules.mk * Update keyboards/latin17rgb/info.json * Update keyboards/latin17rgb/rules.mk * Update keyboards/latin17rgb/latin17rgb.h * Update keyboards/latin17rgb/rules.mk * Update keyboards/latin17rgb/readme.md * Update keyboards/latin17rgb/keymaps/default/keymap.c * Update keyboards/latin17rgb/keymaps/via/keymap.c * Update latin17rgb.c * Update latin17rgb.c * Update keyboards/latin17rgb/latin17rgb.c commit ac52331c4f3113a53d54a9217eabdb8da1b608f7 Merge: 751af70b78 1d49076b81 Author: QMK Bot Date: Fri Feb 5 03:02:37 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1d49076b81379e030a27b2ff96ed2db4b583e003 Author: alittlepeace Date: Thu Feb 4 21:01:59 2021 -0600 [Keyboard] Adding YMDK Wings Keyboard (#11693) * Add files via upload * Add files via upload * Update rules.mk * Update rules.mk * Update info.json * Update wings.h * Update info.json * Update info.json * Update info.json * Update info.json * Update keyboards/ymdk/wings/info.json Co-authored-by: Joel Challis * Update keyboards/ymdk/wings/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/ymdk/wings/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/wings/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/wings/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/wings/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/wings/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/wings/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/wings/wings.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/wings/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/wings/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/wings/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/wings/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 751af70b78c16e10801951e206d187e57123a5c5 Merge: a182338a8b f69b652127 Author: QMK Bot Date: Fri Feb 5 00:24:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f69b652127ffbee3260444bf630c13627b127999 Author: npspears <40127181+npspears@users.noreply.github.com> Date: Thu Feb 4 18:24:09 2021 -0600 [Keyboard] add Pursuit40 PCB for Panc40 (#11683) * added Pursuit40 PCB for Panc40 Pursuit40 is another PCB option for the Panc40 that was sold on Panc.co/store * added via support * Apply suggestions from code review * Apply suggestions from code review * deleted extra row in VIA keymap sorry about that - extra row was a holdover from a copy-paste * deleted commented extra row extra row was a holdover from a copy-paste * updated VIA keymap empty layer added * fixed bug * Apply suggestions from code review committed commit a182338a8b9babf7abffc0427ef4b151b9df5559 Merge: 09ddc9fb2f fe686570ca Author: QMK Bot Date: Fri Feb 5 00:22:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fe686570caea9093baf2a40cae5842deabafcc48 Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Thu Feb 4 16:21:51 2021 -0800 [Keyboard] add The Galleon by swiftrax (#11700) * initial addition * fix keymap / keyboard.h * add animation * change pid * fix layout macro * Apply suggestions from code review * Update keyboards/handwired/swiftrax/the_galleon/info.json * move wpm enable commit 09ddc9fb2f877ecd9828834366677505e5a80a1d Merge: 9bc7a856dd 0bf0644aa2 Author: QMK Bot Date: Fri Feb 5 00:20:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0bf0644aa2fdc67a700535af42d18b7bbadfb023 Author: yfuku <30647434+yfuku@users.noreply.github.com> Date: Fri Feb 5 09:19:37 2021 +0900 Add VIA support for claw44 (#11677) * add via keymaps for claw44 * Update keyboards/claw44/keymaps/via/config.h * Update keyboards/claw44/keymaps/via-oled/config.h * Update keyboards/claw44/keymaps/via-oled/keymap.c * Update keyboards/claw44/keymaps/via/keymap.c * Update keyboards/claw44/keymaps/via-oled/keymap.c * Update keyboards/claw44/keymaps/via/keymap.c * Applied the review to other keymaps. * Update keyboards/claw44/keymaps/oled/keymap.c * Update keyboards/claw44/keymaps/default/keymap.c * Update keyboards/claw44/keymaps/via-oled/keymap.c * Update keyboards/claw44/keymaps/default/keymap.c * Update keyboards/claw44/keymaps/via-oled/keymap.c * Update keyboards/claw44/keymaps/via-oled/keymap.c * Update keyboards/claw44/keymaps/via/keymap.c * Update keyboards/claw44/keymaps/via/keymap.c * Update keyboards/claw44/keymaps/via/keymap.c * Update keyboards/claw44/keymaps/via/keymap.c * remove via-oled * change vendor ID for yfuku * add readme.md for rev1 * Update keyboards/claw44/rev1/readme.md * Update keyboards/claw44/rev1/readme.md * Update keyboards/claw44/rev1/readme.md commit 9bc7a856dd8be4e1b770faf1abb736179fe4854f Merge: a5c5da47fc 2c94f98995 Author: QMK Bot Date: Fri Feb 5 00:14:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2c94f989953511b61e009f80998aed1eab2eaf70 Author: Gerardo L Hidalgo-Cuellar Date: Thu Feb 4 17:14:11 2021 -0700 [Keymap] add ghidalgo93 for kyria (#11663) * adding kyria/rev1 keymap * adding both hand config * Apply suggestions from code review * Apply suggestions from code review commit a5c5da47fc4fb3ac3069fb73173740ffacca3825 Merge: 017c9f29c7 69315cb643 Author: QMK Bot Date: Thu Feb 4 21:58:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 69315cb64385f6586b362860d277a9917cc5166a Author: moyi4681 Date: Fri Feb 5 05:58:02 2021 +0800 [Keyboard] KBDfans Bella RGB ANSI and Bella RGB ISO (#11438) * add bella rgb keyboards * Update rgb_iso.c * fix error * Update rgb_iso.h * Update keyboards/kbdfans/bella/rgb/rules.mk * Update keyboards/kbdfans/bella/rgb_iso/rules.mk * Update keymap.c * Update keyboards/kbdfans/bella/rgb/info.json * Update keyboards/kbdfans/bella/rgb_iso/info.json * Update keyboards/kbdfans/bella/rgb_iso/config.h * Update keyboards/kbdfans/bella/rgb/config.h * Update keyboards/kbdfans/bella/rgb_iso/rules.mk * Update keyboards/kbdfans/bella/rgb_iso/rules.mk * Update keyboards/kbdfans/bella/rgb_iso/rules.mk * Update keyboards/kbdfans/bella/rgb/rules.mk * Update keyboards/kbdfans/bella/rgb/rules.mk * Update keyboards/kbdfans/bella/rgb/rules.mk * Update rgb_iso.c * Update rgb.c * Update rgb_iso.c * Update rgb_iso.h * Update keyboards/kbdfans/bella/rgb/config.h * Update keyboards/kbdfans/bella/rgb/rgb.h * Update keyboards/kbdfans/bella/rgb/info.json * Update keyboards/kbdfans/bella/rgb/info.json * Update keyboards/kbdfans/bella/rgb/keymaps/default/keymap.c * Update keyboards/kbdfans/bella/rgb_iso/keymaps/via/keymap.c * Update keyboards/kbdfans/bella/rgb_iso/keymaps/via/keymap.c * Update keyboards/kbdfans/bella/rgb_iso/readme.md * Update keyboards/kbdfans/bella/rgb_iso/readme.md * Update keyboards/kbdfans/bella/rgb_iso/readme.md * Apply suggestions from code review kbdfans/bella/rgb: Change remaining instances of LAYOUT_all to LAYOUT * Apply suggestions from code review kbdfans/bella/rgb: update readme - update keyboard name - include flashing and bootloader instructions * Apply suggestions from code review kbdfans/bella/rgb_iso: update keyboard name Changes remaining instances of "BELLA_RGB_ISO" to "BELLA RGB ISO". * Apply suggestions from code review kbdfans/bella/rgb_iso: Change LAYOUT_all to LAYOUT * Apply suggestions from code review kbdfans/bella/rgb_iso: Move ISO Enter's keycode to home row per QMK standard commit 017c9f29c7f71ac607f8991850a25d55abf50e00 Merge: 3a703b4fe7 09f9bdd3d1 Author: QMK Bot Date: Thu Feb 4 17:46:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 09f9bdd3d18ff06a37bffbde9566acd7df9842c3 Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Thu Feb 4 09:45:47 2021 -0800 [Keyboard] Add KL-90 (#11494) * add kikoslab kl90 * fix info.json * Update keyboards/kikoslab/kl90/rules.mk Co-authored-by: Joel Challis * Update keyboards/kikoslab/kl90/info.json Co-authored-by: Joel Challis * update info.json * fix layout macro * add support for hotswap space Co-authored-by: Swiftrax Co-authored-by: Joel Challis commit 3a703b4fe7dc32b29ec97758974621934b2a1707 Merge: bcb780fe02 908b20313c Author: QMK Bot Date: Thu Feb 4 17:30:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 908b20313c33b6227921d8db8b3a716362596746 Author: moyi4681 Date: Fri Feb 5 01:30:21 2021 +0800 [Keyboard] add primus75 keyboard (#11440) * add primus75 keyboard * Update keyboards/iLumkb/primus75/info.json Co-authored-by: Drashna Jaelre * Update keyboards/iLumkb/primus75/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/iLumkb/primus75/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/iLumkb/primus75/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/iLumkb/primus75/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/iLumkb/primus75/primus75.h Co-authored-by: Drashna Jaelre * Update keymap.c * Update keyboards/iLumkb/primus75/rules.mk Co-authored-by: Ryan * Update keyboards/iLumkb/primus75/rules.mk Co-authored-by: Ryan * Update keyboards/iLumkb/primus75/readme.md Co-authored-by: Ryan * Update keyboards/iLumkb/primus75/config.h Co-authored-by: Ryan * Update keymap.c * Update keymap.c * Update keyboards/iLumkb/primus75/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/iLumkb/primus75/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Rename keyboards/iLumkb/primus75/config.h to keyboards/ilumkbprimus75config.h * Rename keyboards/ilumkbprimus75config.h to keyboards/ilumkbprimus75/config.h * Rename keyboards/ilumkbprimus75/config.h to keyboards/ilumkb/primus75/config.h * Rename keyboards/iLumkb/primus75/info.json to keyboards/ilumkb/primus75/info.json * Rename keyboards/iLumkb/primus75/primus75.c to keyboards/ilumkb/primus75/primus75.c * Rename keyboards/iLumkb/primus75/primus75.h to keyboards/ilumkb/primus75/primus75.h * Rename keyboards/iLumkb/primus75/readme.md to keyboards/ilumkb/primus75/readme.md * Rename keyboards/iLumkb/primus75/rules.mk to keyboards/ilumkb/primus75/rules.mk * Rename keyboards/iLumkb/primus75/keymaps/default/keymap.c to keyboards/ilumkb/primus75/keymaps/default/keymap.c * Rename keyboards/iLumkb/primus75/keymaps/via/rules.mk to keyboards/ilumkb/primus75/keymaps/via/rules.mk * Rename keyboards/iLumkb/primus75/keymaps/via/keymap.c to keyboards/ilumkb/primus75/keymaps/via/keymap.c * Update keyboards/ilumkb/primus75/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ilumkb/primus75/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ilumkb/primus75/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ilumkb/primus75/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit bcb780fe0217a9e27c45e18af321f3feb93f41b4 Merge: 27749e1c96 59d499edd3 Author: QMK Bot Date: Thu Feb 4 08:37:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 59d499edd37fff8f397a1933d585d1a7bfdf0e3b Author: Xyverz Date: Thu Feb 4 00:36:41 2021 -0800 Xyverz bastyl (#11662) Co-authored-by: Ian Sterling <503326@MC02YT9K9LVCF.tld> commit 27749e1c967c02c05e62a89a0ae2776dd7e5158c Author: Nick Brassel Date: Thu Feb 4 14:13:47 2021 +1100 Fixup lck75 line endings. commit 758891aa4408a02dbabdea48bf1a4c675d848c8f Author: Drashna Jaelre Date: Wed Feb 3 18:12:57 2021 -0800 Fix line endings for LCK75 kb files (#11784) commit 711388d3e380dd2bb4c8e3e060fa7a599722b83c Merge: 1861ace7d2 780ca5565d Author: QMK Bot Date: Thu Feb 4 01:25:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 780ca5565d2bdb8e03aa2669a3203373a0a4d9dd Author: Drashna Jaelre Date: Wed Feb 3 17:25:05 2021 -0800 Improve Pointing Device report sending (#11064) * Improve Pointing Device report sending * Hide old report behind preprocessors too * put host_mouse_send() in curly brackets * Remove POINTING_DEVICE_ALWAYS_SEND_REPORT functionality * Fix typo * fix function ref in docs Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 1861ace7d2d27ead04ee242cabd286e64c6d5f19 Merge: 78f742d894 420f6c4b2e Author: QMK Bot Date: Thu Feb 4 01:24:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 420f6c4b2e1634e82e4bbdcc24691c169c72ac79 Author: im a can what do you think lmao? <33337640+lyso1@users.noreply.github.com> Date: Wed Feb 3 20:23:33 2021 -0500 [Keyboard] Add LCK75 keyboard (#11493) * Add lck75 keyboard A 75% THT keyboard with an OLED and rotary encoder * added info.json * fixed rules.mk * changed vendor id * Update keyboards/lck75/config.h Co-authored-by: Drashna Jaelre * Update keyboards/lck75/config.h Co-authored-by: Drashna Jaelre * Update keyboards/lck75/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/lck75/keymaps/default/keymap.c moved code to the rules.mk folder Co-authored-by: Drashna Jaelre * Update rules.mk moved oled driver enable to rules.mk code * Update keyboards/lck75/config.h Co-authored-by: Drashna Jaelre * Update oled.c id like to keep the copyright there as it's my friend that helped me with the OLED specifically. also updated the old_task_user * Update keyboards/lck75/oled.c Co-authored-by: Ryan * Update keyboards/lck75/rules.mk Co-authored-by: Ryan * Update keyboards/lck75/rules.mk Co-authored-by: Ryan * Update keyboards/lck75/rules.mk Co-authored-by: Ryan * Update rules.mk * merged oled.c code into keymap.c file tested and works correctly on my board * merged code from this file into the keymap.c file this file is no longer needed Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 78f742d8941fb4a11d714451adc995717820c69e Merge: 53ccc1969f 63f4345f4c Author: QMK Bot Date: Wed Feb 3 23:24:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 63f4345f4c81af6d034008d095dfea000d588480 Author: Andre DeMarre Date: Wed Feb 3 15:24:05 2021 -0800 Use num lock instead of caps lock for KBDPAD MKII LED (#11781) commit 53ccc1969f6de4ca2122ad2b95cd08ed1fd21aa3 Merge: ec652e291e c5e29b25c4 Author: QMK Bot Date: Wed Feb 3 21:19:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c5e29b25c45ea1f95ec2508f50507e6ad94d4e2a Author: Matrix Zou Date: Thu Feb 4 01:18:36 2021 +0400 Update iNETT Studio Square.X RGB Light (#11723) * Add Caps Lock indicators support * Fix 'a' flag error for RGB Light Mode commit ec652e291ef909aedc449d93c00c06a8a15ca9a0 Merge: a7e85240a8 faa6c93648 Author: QMK Bot Date: Wed Feb 3 19:55:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit faa6c93648f4fc6a538a66478f646aef6661894f Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Wed Feb 3 11:54:30 2021 -0800 [Keyboard] add koalafications (#11628) * add koalafications * fix keymap * add oled * oled stuff * fix oled stuff * add animation * more oled stuff * update rules.mk * oled annimation * change PID * Update keyboards/handwired/swiftrax/koalafications/info.json * Update keyboards/handwired/swiftrax/koalafications/readme.md commit a7e85240a827814aacde6d18b59c0449d493ff22 Merge: 00b9ec088d 4779e2d56c Author: QMK Bot Date: Wed Feb 3 12:42:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4779e2d56c6c43e21c6c31c9f1aed280f097ea10 Author: Eithan Shavit Date: Wed Feb 3 04:42:20 2021 -0800 Fixing layer order for Breeze default keymap (#11779) commit 00b9ec088da312c7e5dde52d1f39636e42765013 Merge: 24b6c537f4 c0de49e393 Author: QMK Bot Date: Wed Feb 3 01:31:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c0de49e393cf481f60f2bbd6c18ecb13d37c6254 Author: Drashna Jaelre Date: Tue Feb 2 17:30:33 2021 -0800 Fix DEBUG_MATRIX_SCAN_RATE on chibiOS when console is enabled (#11776) * Fix DEBUG_MATRIX_SCAN_RATE on chibiOS when console is enabled * update type in dprintf Co-authored-by: Ryan Co-authored-by: Ryan commit 24b6c537f401b659781fc3a1586bcd36fd43f973 Merge: 16ab045e97 3bb66d1585 Author: QMK Bot Date: Tue Feb 2 20:49:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3bb66d1585a6a18413e958685bafc3142495a9f5 Author: Drashna Jaelre Date: Tue Feb 2 12:49:02 2021 -0800 Clean up KBD8X keyboard (#11565) * Clean up KBD8X keyboard * remove unneeded rules commit 16ab045e97e3f35db33ca7930ab0cea2297aa30c Merge: bc47d66f43 8fa2d43b38 Author: QMK Bot Date: Tue Feb 2 19:04:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8fa2d43b3805741bf2f2a9e919276d5f0aa5a19f Author: mrT1ddl3s <60518619+mrT1ddl3s@users.noreply.github.com> Date: Tue Feb 2 12:03:47 2021 -0700 Knobgoblin info file fix (#11697) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit bc47d66f43d4d4a7c596f2da8771ad8e06bd6586 Merge: 9a4618b05b 80a9649c4f Author: QMK Bot Date: Tue Feb 2 05:52:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 80a9649c4f2f74c94ff180b6fe480944fe654800 Author: erikbakker-dev <39745006+erikbakker-dev@users.noreply.github.com> Date: Tue Feb 2 06:52:00 2021 +0100 add orthodeluxe keymap for Planck keyboard (#11077) * add orthodeluxe keymap for Planck keyboard * add licence header to config.h * fix indentation * add bootmagic lite and simplify code commit 9a4618b05b9f1093908c2153c719c5eb5d4a79ee Author: Joshua Diamond Date: Mon Feb 1 19:12:41 2021 -0500 Address wake from sleep instability (#11450) * resolve race condition between suspend and wake in LUFA * avoid multiple calls to suspend_power_down() / suspend_wakeup_init() * Remove duplicate suspend_power_down_kb() call * pause on wakeup to wait for USB state to settle * need the repeated suspend_power_down() (that's where the sleep is) * more efficient implementation * fine tune the pause after sending wakeup * speculative chibios version of pause-after-wake * make wakeup delay configurable, and adjust value * better location for wakeup delay commit 85079d6a2ecfd55d0d33ce32cd1ad137f1c1df55 Merge: 193a9a97fe 7db826dce8 Author: QMK Bot Date: Mon Feb 1 19:56:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7db826dce89eb16fa0b6362852b97f5a0e4880d5 Author: Erovia Date: Mon Feb 1 20:55:35 2021 +0100 CLI: Fix json flashing (#11765) commit 193a9a97fe5340d8df20c851cb34b65251c69d6e Merge: a524c8c806 d712670922 Author: QMK Bot Date: Mon Feb 1 18:59:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d7126709225a9d6632602c6d7bd345e039e9e58d Author: Carlos Date: Mon Feb 1 11:58:18 2021 -0700 Fix Ergosaurus default RGB_DI_PIN (#11634) * Update RGB_DI_PIN to match breakout on pcb * Wrap in safer define check commit a524c8c80694127234f1a76272035dab8f2a4fc6 Merge: 830b795ee3 588fd8c2d0 Author: QMK Bot Date: Mon Feb 1 11:05:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 588fd8c2d07d57f2fd706089d8cbb54a3df0a687 Author: Jay Greco Date: Mon Feb 1 03:05:10 2021 -0800 [Keyboard] Add nullbitsco SCRAMBLE (#11078) * Add SCRAMBLE * Make requested changes to PR * Add all layers to VIA keymap Implement drashna's PR feedback in order to avoid random data within the layers in VIA. * Make requested changes to PR Implement fauxpark's PR feedback to clean up readme.md and rules.mk. * Make changes based on PR feedback -Changed VIA layers to enum -Added info on how to enter the bootloader to readme commit 830b795ee3b351a0dff3420be31093cb1cb9d9f5 Merge: 9591e992cc 3f91b2b8f8 Author: QMK Bot Date: Mon Feb 1 09:18:24 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3f91b2b8f86a5b639688c6941e7f231a7b87300d Author: cole smith <38364556+daysgobye@users.noreply.github.com> Date: Mon Feb 1 01:17:49 2021 -0800 added limit to RGB brightness (#11759) commit 9591e992cc03f35a1f835e25af0cec2075263067 Author: Drashna Jaelre Date: Mon Feb 1 01:12:52 2021 -0800 Move transport.c to QUANTUM_LIB_SRC (#11751) commit dca4388056383b217a4a29eff6e36ce916997cbd Merge: ae4ee7553a 72f9c4c0d3 Author: QMK Bot Date: Mon Feb 1 03:52:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 72f9c4c0d31d34de4876d0388b5b294f7572acd7 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Feb 1 12:51:46 2021 +0900 [Docs] Japanese translation of internals_*.md (#10316) * add git checkout internals_related.md translation * update based on comment * unify the end of sentence commit ae4ee7553abfaa2149fcea04c3cbee20f3b8c7a5 Author: Joshua Diamond Date: Sun Jan 31 17:25:55 2021 -0500 Stop sounds when suspended (#11553) * fix stopping audio on suspend vs. startup sound * trim firmware size * fix stuck audio on startup (ARM) commit db11a2a1fd7a7ff9c458e8ec9e963a61a1192bf3 Author: Nick Brassel Date: Mon Feb 1 08:19:00 2021 +1100 Decouple USB events from the USB interrupt handler. (#10437) commit 0fa2e7c790c4b4fcb318479a4951bfd33fd3862f Merge: ef6329af7c 6bec7fb3fe Author: QMK Bot Date: Sun Jan 31 21:18:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6bec7fb3fe7a9495b3a45f8145e9f3f830c72763 Author: Ryan Date: Mon Feb 1 08:18:10 2021 +1100 quantum.c send char cleanups (#11743) commit ef6329af7c7be77b537fbfc5a5cc7105acc679f7 Author: Zach White Date: Sun Jan 31 12:46:00 2021 -0800 Create a system to map between info.json and config.h/rules.mk (#11548) * generate rules.mk from a json mapping * generate rules.mk from a json mapping * support for config.h from json maps * improve the mapping system * document the mapping system * move data/maps to data/mappings * fix flake8 errors * fixup LED_MATRIX_DRIVER * remove product and description from the vision_division keymap level * reduce the complexity of generate-rules-mk * add tests for the generate commands * fix qmk doctor when submodules are not clean commit 6cada2a35f57629f821852ba629e33e9abee3e74 Merge: 213e64f944 c1361005fa Author: QMK Bot Date: Sun Jan 31 10:42:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c1361005fac8fe7ee20904e75fc014a8ef34704e Author: Drashna Jaelre Date: Sun Jan 31 02:41:18 2021 -0800 [Keyboard] SplitKB's Zima (#11577) Co-authored-by: Thomas Baart Co-authored-by: Joel Challis commit 213e64f94436f6fece2a7da3283052f6d083086e Merge: 3af97ef6a2 6ce6a94216 Author: QMK Bot Date: Sun Jan 31 07:09:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6ce6a94216550b6d268cbd399f787562eadf5d21 Author: Rys Sommefeldt Date: Sun Jan 31 07:09:00 2021 +0000 Fix missing F2 in top row in AoS TKL maps (#11735) commit 3af97ef6a22eb6a30c3f7c3e8ed008389da896cb Merge: 051c0774f8 d02c4c5241 Author: Zach White Date: Sat Jan 30 13:15:13 2021 -0800 Merge remote-tracking branch 'origin/master' into develop commit 051c0774f8663e6090392b691ce0afc8c3a0574f Author: Zach White Date: Sat Jan 16 18:44:03 2021 -0800 undef TAPPING_TERM in users/hvp/hvp.h commit 424d59bc7e17da50424f8fcce6244de39b45e644 Author: Zach White Date: Sat Jan 16 18:43:13 2021 -0800 rename callum's custom keycode that conflicts with a LUFA define commit 2f79cf9247d9388b0ae7e149e9b597f43bb87e2d Author: Zach White Date: Sat Jan 16 18:42:22 2021 -0800 add missing _MACRO to users/brandonschlack/brandonschlack.h commit 361a2cf8a558d4de28f8264beef3594bc517e823 Author: Zach White Date: Sat Jan 16 18:41:47 2021 -0800 check for BACKLIGHT_ENABLE so this works on all keyboards commit c9b3619299aaf335e8acde834d687f112b11e8b6 Author: Zach White Date: Sat Jan 16 18:41:10 2021 -0800 change LAYOUT_planck_grid to LAYOUT_ortho_4x12 commit e5ecdd524272b34d5ba260423a2850ed7b4788e1 Author: Zach White Date: Sat Jan 16 18:40:24 2021 -0800 bring the bocaj keymap inline with LAYOUT_ortho_4x12 commit 0171e67494214ab0414a7c14917097388b813b92 Author: Zach White Date: Sat Jan 16 18:39:43 2021 -0800 bring the xyverz keymap inline with LAYOUT_66_ansi commit e0769ea71d1cf4dbc125de0ff0a2e83ec7b8c52a Author: Zach White Date: Sat Jan 16 18:38:50 2021 -0800 strip fn_actions commit 5ba21060cb0a3a5558eaa7fe6e068019d79ecd53 Author: Zach White Date: Sat Jan 16 18:38:26 2021 -0800 remove conflicting NKRO_ENABLE flag commit 1ed9c53816d8cbd86bc0883adb3310e2b158a9a7 Author: Zach White Date: Sat Jan 16 18:37:53 2021 -0800 add missing ADJUST key commit 04d6d25ec3b8a0718d2c575e21b7c98f5848dda8 Author: Zach White Date: Sat Jan 16 18:37:28 2021 -0800 make the tetris keymap fit commit 404bcc961c8eff704cd037aea64e0cf6155c1c4c Author: Zach White Date: Sat Jan 16 18:37:10 2021 -0800 fix clueboard/66:magicmonty to bring hue under the 255 limit commit c8edd6ec9ef9e1136220ed7331ae2d7483fdd9c6 Author: Zach White Date: Sat Jan 16 18:36:23 2021 -0800 fix chimera_ortho:gordon so it compiles commit 13e4bd31d7c6fb92e18a4a1d1ad498cfb5d829aa Author: Zach White Date: Sat Jan 16 18:35:35 2021 -0800 enable bluetooth on atreus:clash to fix compile error commit cd53947d8619259c54f53befe28569d3a04210bc Author: Zach White Date: Sat Jan 16 18:35:28 2021 -0800 enable LTO on atreus:ibnuda to bring it below the threshold commit 915d757eb2e38a7980ad6c18a90e7ca4f5edc763 Author: Zach White Date: Sat Jan 16 18:32:15 2021 -0800 fix atomic:pvc so it compiles commit d02c4c5241b92396c883b9efa6f140236e74fa2d Author: Zach White Date: Sat Jan 30 13:08:58 2021 -0800 Add a _SUPPORTED flag (#9058) * Initial attempt at allowing keyboards to indicate what features they do not support * try to use a for loop instead * Update disable_features.mk Co-authored-by: Drashna Jaelre * add a few more features * remove my test fixture * disable things that make all:all suggested" Co-authored-by: Zach White Co-authored-by: Drashna Jaelre commit a0e733391532490a216da044efb40451f67774f2 Merge: 6b9a7e21e9 92a787ca4c Author: QMK Bot Date: Sat Jan 30 11:01:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 92a787ca4cdecbbb7e2c1394d5192d5fa3dabf6d Author: Ryan Date: Sat Jan 30 22:00:56 2021 +1100 [Docs] Use HTTPS for images and links where possible (#11695) commit 6b9a7e21e953d68d6ae093c2d727f1f3ac2798c0 Author: Drashna Jaelre Date: Fri Jan 29 23:35:16 2021 -0800 Include stdbool.h in uart.h (#11728) commit 4fe4087d4abd13a0f7b5754a1766151f02daf3fc Author: Nick Brassel Date: Sat Jan 30 15:13:56 2021 +1100 Enforce memory allocator for ChibiOS builds with allocating debounce algorithms (#11630) commit 787ff5b55014d725a88aedb7915f226dce054f7a Merge: d92ffd1157 4c4b4b6e0d Author: QMK Bot Date: Sat Jan 30 04:09:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4c4b4b6e0d236637d4803b09f1ec9333aa532389 Author: CMMS-Freather <72902384+CMMS-Freather@users.noreply.github.com> Date: Fri Jan 29 20:09:11 2021 -0800 [Keyboard] add sam's sg81m keyboard (#11624) * new repo: create cmm.studio folder, add saka qmk firmware new folder for cmm.studio line up keyboard added saka68 keyboard qmk and via firmware support * Update keyboards/cmm.studio/saka68/config.h Co-authored-by: Ryan * Update keyboards/cmm.studio/saka68/rules.mk Co-authored-by: Ryan * Update keyboards/cmm.studio/saka68/keymaps/via/rules.mk Co-authored-by: Ryan * Update keyboards/cmm.studio/saka68/config.h Co-authored-by: Ryan * fix on keymap, readme fix on keymap, readme * Update keyboards/cmm.studio/saka68/readme.md Co-authored-by: Ryan * Update keyboards/cmm.studio/saka68/keymaps/default/keymap.c Co-authored-by: Ryan * update vendor name with _ instead of . update vendor name with _ instead of . * Update readme.md change the make format * Update keyboards/cmm_studio/saka68/keymaps/default/keymap.c Co-authored-by: Ryan * deleted some files from cmm.studio, changes to cmm_studio deleted some files from cmm.studio, changes to cmm_studio * Update readme.md make command changed * Update keyboards/cmm_studio/saka68/readme.md Co-authored-by: Ryan * Update readme.md added pic for pcb * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update keyboards/cmm_studio/saka68/config.h tested and does work now. deleting these lines Co-authored-by: Ryan * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update keyboards/cmm_studio/saka68/readme.md Co-authored-by: Ryan * Update readme.md added use physical reset button instruction * change to the cmm saka folder making the changes to cmm saka firmware seperated solder version firmware and hotswap version firmware * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * change to the cmm saka hotswap folder * add sam's sg81m keyboard add sam's sg81m keyboard firmware * Update keymap.c * Update keymap.c * update keymap update default keymap and via keymap * Update keymap.c * Update keymap.c * Update keymap.c * Update keyboards/sam/sg81m/sg81m.c Co-authored-by: Joel Challis * Update config.h * Update config.h Co-authored-by: Ryan Co-authored-by: Joel Challis commit d92ffd1157e3ecc4ae2dbf8548c45c8b0269f664 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sat Jan 30 03:53:56 2021 +0000 Adds AT90USB162 support (#11570) * at90usb162 support * fix missing bracket * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit 3780ab3fcd4888cba4852158e11c495fc9809306 Merge: 8bcac0b726 42045f5b17 Author: QMK Bot Date: Sat Jan 30 03:38:45 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 42045f5b173fc50c61b8d033dae58848eeeed869 Author: Eithan Shavit Date: Fri Jan 29 19:38:40 2021 -0800 [Keyboard] Adding Gust Macro Board (#11610) * Adding Gust Macro Board * Removing some rules * Changing some rules Co-authored-by: Eithan Shavit commit 64da7413a0c2b3ea555288f5d296e3a98a0da6b4 Author: Eithan Shavit Date: Fri Jan 29 19:38:18 2021 -0800 [Keyboard] Adding Rev1 to afternoonlabs/breeze (#11611) * Breeze Rev1 * Better bootmagic and reset * typo Co-authored-by: Eithan Shavit commit 8bcac0b72686bef039804048e10a0024d76d16c4 Merge: 4e362df68c 53b35052ee Author: QMK Bot Date: Sat Jan 30 03:25:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 53b35052eefc8a341cbc68d3d9aba52dfbf59f35 Author: james sa <188772+jamessa@users.noreply.github.com> Date: Sat Jan 30 11:24:42 2021 +0800 [Keyboard] A symmetric stagger keyboard: Angel (#11501) * New symmetric stagger keyboard: Angel * mac layout * layout simplify * Update keyboards/angel/info.json Co-authored-by: Ryan * Update keyboards/angel/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/angel/config.h Co-authored-by: Ryan * Update keyboards/angel/readme.md Co-authored-by: Ryan * Update keyboards/angel/rules.mk Co-authored-by: Ryan * tab lang switch * move to handwired and fix build instructions. Co-authored-by: Ryan commit 4e362df68c16b7415cefcf878b8e0f2671077390 Merge: f59cd6764d 5691f1341d Author: QMK Bot Date: Fri Jan 29 21:06:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5691f1341dcb48d7d043bfd6f8663b414aaf427d Author: shela Date: Sat Jan 30 06:05:40 2021 +0900 Update feature_debounce_type.md of Japanese document. (#10596) * Update Japanese document. * fix table format. * fix heading * Update translation * Apply suggestions from code review Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update docs/ja/feature_debounce_type.md Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Bump up comment tag Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit f59cd6764d922e8c30e55b3a9cea88d5c48242b9 Author: Joshua Diamond Date: Thu Jan 28 19:04:37 2021 -0500 Allow post_config.h to be implemented in userspace (#11519) > Rebased and pushed. Squashed and merged. :) commit d65db68f9f2614b91e3cb565086166b01400e473 Merge: 99f3df2893 bad9592a18 Author: Nick Brassel Date: Thu Jan 28 10:52:59 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit bad9592a18494e3f678c2a117a526ca5f2f2280d Author: Joshua Diamond Date: Wed Jan 27 12:42:03 2021 -0500 Add rgblight_reload_from_eeprom() (#11411) * Add rgblight_reset_from_eeprom() * reset->reload commit 162842f16ee2e064f826712c3cd0c4d24445732e Author: glanchow Date: Wed Jan 27 18:39:58 2021 +0100 [Docs] add qmk setup home parameter (#11451) commit 99f3df28939d89b7fc2d2e7c0ee21b0879c7813f Author: Drashna Jaelre Date: Wed Jan 27 09:38:34 2021 -0800 Add support for 8 buttons to mouse report (#10807) * Add support for 8 buttons to mouse report This includes support for 8 buttons in mousekeys. However, this does move the keys around due to the fact that the last mousekey keycode is already 0xFF, so any past that would not work with register_code and the like, breaking them for tap hold keys, encoders, and other features. * Update mouse key docs * Add changes based on feedback * Fix VUSB report size comment Because drashna red gud * Fix typo in action.c * Fix IS_MOUSE_BUTTON check * Change start range for mousekeys so that the end is 0xFF properly * condense mousekeys check commit c27f16158d3f9524bb2d608ef4918783e7551637 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Jan 28 02:34:50 2021 +0900 add get_matrix_scan_rate() to tmk_core/common/keyboard.c (#11489) commit bab9849a8bc799f43e4dc18674c07625630cab0d Author: Drashna Jaelre Date: Wed Jan 27 09:33:52 2021 -0800 Backport ChibiOS Audio changes from ZSA (#11687) commit 30b46fad5764b54ab4d47e9c4024f8030e1bf1a7 Author: Ryan Date: Wed Jan 27 17:42:49 2021 +1100 UART driver refactor (#11637) commit be897cbc2f9d542dfcc98c8e06aeb04179cc484c Merge: 349571d111 6937f1d70e Author: fauxpark Date: Wed Jan 27 17:39:20 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit 6937f1d70e7d48980032446b137462a66c457bd8 Author: Ryan Date: Wed Jan 27 17:26:26 2021 +1100 Remove `MIDI_ENABLE_STRICT` from keyboards' config.h (#11679) commit 349571d11149654d19fe15d19cd44e676af16ae8 Merge: 784e4688f8 a0d9221dcc Author: QMK Bot Date: Wed Jan 27 00:53:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a0d9221dcc085b196e071581e9e7d8d9a96037fe Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Tue Jan 26 16:52:17 2021 -0800 pull retropad out of handwired and update readme.md (#11545) Co-authored-by: Swiftrax commit 784e4688f8915640009be46a47df57df5d6f3eba Merge: 2f145bc231 7e8d97f8f0 Author: QMK Bot Date: Tue Jan 26 04:59:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7e8d97f8f05288dd6fe7fd2d8943bb27fc3f3117 Author: Matt Gilbert Date: Mon Jan 25 23:59:21 2021 -0500 [Keymap] Add 'mattir' keymap for the Kyria keyboard (#11428) * First version of keymap * cleaned up code, made some tweaks, added readme * extended oled timeout * resolved final issues, all features functional * added some leader-key combos * added missing RGB keys to layout diagram * removed lines for older elite-c v3 * make filename lowercase * add old update interval * fix spacing commit 2f145bc231743660e3931d9fc977638751ab6f08 Merge: 9f1d2246a0 0e7e52c820 Author: QMK Bot Date: Tue Jan 26 04:23:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0e7e52c8202701e6a246fa8a6ac13dd2ecad5743 Author: Tushar Khan Date: Mon Jan 25 23:23:23 2021 -0500 [Keymap] tk planck keymap (#11400) * tushark54 base layers * init summer keymap * drafted new keymap layers * added new keymap * v2.0 mvp * added bracket modes * added oneshot left modifiers * added HYPER layer * added audio * added audio and more * changed layer order * swapped SUPER and LCTL keys * added more tunes * added more audio * added tunes * major layer modifications * major changes to keymaps * minor changes * added venv macro * merge conflict * v3 mvp * moved DEL to hyper layer and PANIC+ALT * fn keys on hyper, macros on lower ii * dynamic macros and audio options * minor audio improvements * osl timeouts * manually added .vscode directory * fixed upstream file * fixed upstream file * base and hyper layer changes * modified tapping term * added more macros * added GPL2+ compatible license headers * removed songs * updated licenses * added chmod macro commit 9f1d2246a0d5572dcd57e8c5178e6120d40694d9 Author: Nick Brassel Date: Tue Jan 26 06:39:36 2021 +1100 ChibiOS conf upgrade for durgod/k320 (#11689) durgod/k320 - 168c88d401381d9a29166d3b07967e6f0752532d commit 5680f793cf9bd3bc4495bbe1f03e180ab7178f50 Merge: 625f29368b 88ca4ec2cb Author: QMK Bot Date: Mon Jan 25 17:30:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 88ca4ec2cbbe004cb51f36311f7490537128bce0 Author: Donald Kjer Date: Mon Jan 25 09:30:17 2021 -0800 Add support for the DURGOD Taurus K320 keyboard (#11399) * Initial support for Durgod K320 with BootMagic Lite - Adding missing files - Add Unicode Map Support & new user keymap - Remove personalized features from Default keymap - Added Unicode Map to both Default and kuenhlee keymap.c - Updated readme.md - Added additional Fn Shortcut keys * Additional support for Durgod K320 - Simplifying default keymap - Renaming durgod_k320 => durgod/k320 - Removing copy of ST_NUCLEO64_F070RB from K320. Replacing with local board.h - Adding Mac keyboard layout for K320 as alternative via Fn+F12 - Implementing Windows Key lock on K320 - Cleaning up duplicated core functionality - Adding default_toggle_mac_windows keymap with: - Ability to toggle between Windows and MacOS layout - Mac Media Lock functionality. * Updating K320 keymap readme Co-authored-by: kuenhlee commit 625f29368b7408db4375b412064dafa4dfa4bb35 Author: Nick Brassel Date: Mon Jan 25 22:00:47 2021 +1100 Update list of MCUs in keyboard.jsonschema to mirror qmk.constants.py (#11688) commit c9791410022082b3079d3b4376fc905cb7621a9a Merge: 3c743f00c0 2a34e07ff9 Author: QMK Bot Date: Mon Jan 25 06:39:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2a34e07ff97ffe9b845b87b4177a139cc2054e30 Author: Danny Date: Mon Jan 25 01:39:00 2021 -0500 [Keyboard] Add Quefrency Rev. 3 (#11578) * Update default VIA layout option * Add Quefrency Rev. 3 * Update readme * Add GPL2 headers * Update keyboards/keebio/quefrency/rev3/config.h Co-authored-by: Ryan Co-authored-by: Ryan commit 3c743f00c03fd29191ea33bb73908f8aa285f52e Merge: a4e46fc5ac bd5d3c879e Author: QMK Bot Date: Mon Jan 25 06:26:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bd5d3c879ef1bc019776d6736be76f98c12dd0fd Author: mrT1ddl3s <60518619+mrT1ddl3s@users.noreply.github.com> Date: Sun Jan 24 23:25:50 2021 -0700 [Keyboard] Knobgoblin keyboard initial commit (#11664) * Knobgoblin keyboard initial commit New macropad initial commit. Keyboard and keymap * corrected bracket and layout name * attempting info file fix again * info file line 33 hanging comma fix * Update keyboards/knobgoblin/config.h per fauxpark review Co-authored-by: Ryan * Update keyboards/knobgoblin/readme.md per fauxpark review Co-authored-by: Ryan * Update keyboards/knobgoblin/readme.md per fauxpark review Co-authored-by: Ryan Co-authored-by: Ryan commit a4e46fc5acee6ad729c33bd3a5f46dffc7acf950 Merge: 7e5c58cdca c1e1166991 Author: QMK Bot Date: Mon Jan 25 06:17:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c1e1166991579066672c73a42ce21f8d23d96f4c Author: Niek Blankers Date: Mon Jan 25 07:16:42 2021 +0100 [Keyboard] Fix for LEDs on PocketType (#11671) The LED anodes of the pockettype are connected to the bus voltage when a pro micro is used, but other controllers like the Elite-C (v4) connect this pin to GPIO B0. This means that LEDs do not work by default for those controllers. This commit implements a fix for that by setting the B0 pin high. commit 7e5c58cdcab24eee721d5930d66762467516c29a Merge: f70723da25 50690b2d5c Author: QMK Bot Date: Mon Jan 25 06:06:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 50690b2d5c66d9e0630da928ca4f4a6d1440481d Author: melonbred <61572569+melonbred@users.noreply.github.com> Date: Sun Jan 24 22:06:17 2021 -0800 [Keymap] Update Program Yoink Ortho Split Layout (#11675) commit f70723da25c65017d14e74108296acd95b12cf29 Merge: cce7b91cb1 ffb85b1f5d Author: QMK Bot Date: Mon Jan 25 06:05:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ffb85b1f5d5a7d72d13fcd8570fe7da82d0213cf Author: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Mon Jan 25 14:05:16 2021 +0800 [Keyboard] Add RGB Matrix support for The Mark:65 (#11676) * Add RGB Matrix support for Mark 65 keyboard * Update drive LED count * Removed unnecessary define line * Corrected typo Co-authored-by: filterpaper commit cce7b91cb1c6f9805a962ca45e3b73a2295ed302 Merge: 9579e92451 c65aecc53a Author: QMK Bot Date: Mon Jan 25 05:38:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c65aecc53adfc1c2cae11acdc4fb973792061767 Author: Ryan Date: Mon Jan 25 16:37:53 2021 +1100 Remove redundant I2C config defines from keyboards (#11661) commit 9579e92451687f24adbee580ac2a2ba15e589b2a Merge: 5fb4772323 66836effda Author: QMK Bot Date: Mon Jan 25 03:43:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 66836effdae5e47231b59a92ed8726ad3267a055 Author: Brian Romanko Date: Sun Jan 24 21:42:37 2021 -0600 [Keyboard] Add layout to torn keyboard (#11684) commit 5fb47723230260478554ec6412c1cd1576f9d6e8 Merge: dde9dc7b60 711f861d83 Author: QMK Bot Date: Mon Jan 25 03:13:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 711f861d83490014269ba93731bcd50263f95168 Author: Monksoffunk Date: Mon Jan 25 12:13:10 2021 +0900 Change VID/PID for Zinc (#11681) commit bf7e19e9977fc23a41898c90ce973d990717cfb4 Author: Loïc Wisniewski Date: Mon Jan 25 04:12:28 2021 +0100 Fix midi for CRKBD (#11644) Co-authored-by: BuildTools commit dde9dc7b60267c7f8fe69bfc27a6062c7036dcd2 Merge: 949fb1a91c deea6a9826 Author: QMK Bot Date: Sun Jan 24 21:55:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit deea6a98267e3b9bf793d9a64bfd586a07ef5c48 Author: Takeshi Nishio Date: Mon Jan 25 06:54:29 2021 +0900 Add jones v.0.3 and v.0.3.1 keyboard (#11130) * Update LEDの物理的接続とQMKのソフト的接続を調整し、左→アンダーグロー→右と繋がるようにした。 * Update レイヤーインジケータ関連変数を、#ifdefブロック内へ移動。 * Update コード整形 * Revert "Update コード整形" This reverts commit c98483d9a0b41f8939a01b677cdcd18a8af34f78. * Update 未使用のキーコード、S_SLSHに関連するコードを削除。 * Update コード整形 * Update キーごとのTappingTerm設定を使用しなくなったため、削除。 * Update 未使用コード削除。 * Update コメント追加 * Update レイヤーとIMEのON/OFFを同じキーに割り当てるのをやめたため、関連コードを削除。 * Update コメント追加 * Update コメント * Update 誤読を避けるため、ifブロックの表記を括弧を使用したものへ変更。動作に変化なし。 * Update 未使用のため削除。 * Update LED関連でデフォルトレイヤーを格納して使用しないため、削除。 * Update コメント * Update レイヤーによってロータリーエンコーダの動作を変える機能を追加。 * Update comment * Update 実態に合わせて修正。 * Update JP用キーコードへの書き換え忘れを修正。 * New v.0.3.1 JP style * Update v.0.3のJPスタイルではオーディオサポートなし。 * Update to latest information * New * New keyboard "stmeishi" * Update layout name * Update move common settings from keymap's "rules.mk" to keyboard's "rules.mk". * Update: Move common settings from keymap's "rules.mk" to keyboard's "rules.mk". * Update: Add "LAYOUT_all" for multiple layout. * Update target to latest "v.0.3.1". * Remove unused item. * Update comments. * Update Rotary Encoder pins to actual used count. * Update increase value to maximum. * Update comments. * Change default Effects. * Remove unused items. * Update comment. * Change: Use define and function insted of real value for wait. * Update copyrght. * Update Update: Add "LAYOUT_all" for multiple layout. * New: Place info.json copied from v.0.3.1. * Remove unused items. * Update: Add comma at last element. * Update comments. * Update: change if block style. * Update: Change Japanese comments to English. * Update: Change layout name. * Update: Change layout name. * Update: Fix miss numbering for ANSI layout. * Update: Move "Tap Dance" rule to keymap's rule. * New: Add default keymap. * Delete: Moving files to branch. * Initial: Add files from local. * Remove local only unused keymaps. * Update: Remove unused, comment outed codes. * Add default keymap for v.0.3. * Update: Add custom keycodes. * Update: Change layer handling from process_record_user to layer_state_set_user. * Update comment. * Update: Remove unused function. * Add my ErgoDash settings. * Add my NumAtreus_Plus8 settings. * Add my test_k15r2 settings. * New Colice片手分動作確認済み * Update スプリットキーボード対応 * Update 反応が悪くずっと二度押ししているので、ESCキーをレイヤーキーとの共用から、単独機能に変更。 * Update 右手スイッチ配置変更。インジケータLED対応。 * Change インジケータLEDが眩しいので、明るさを下げた。 * Change 右手親指のキーマップ変更。 * Change NumLockの誤爆防止のため、二度押しでレイヤートグルするようにした。 * Change 左手側、Bの右側のキーを誤爆することが多く日本語入力が途切れるため、レイヤーキーの機能左右で入れ替え。 * Update 右手側、画像ソフトなどで使うため、矢印キーの左をレイヤーキーからCTRLへ変更。 * New add new keyboard * Update Duplex-Matrixが動作した初版 * New Duplex-Matrixのサンプルコード by e3w2q を最新のQMKファームウェアで動作するよう一部修正したもの。 * update Comment-out debug print code. * Update Colice V0.2 キープレートで矢印キー付近の物理配列が変わったことへ対応 * Update キーレイアウト * New Initial commit * Update Fix migrate errors from test_duplex_dp to test_col2col * Remove unnecessary files * Testing * Update IKeJIさんの方法(とりあえずCOL2COLと呼ぶ)の動作テストOK * New 2乗マトリクス配線のキーボードを追加 * Update キーレイアウト調整 * New colice_rr 初回コミット。基本動作確認OK。LED不調。 * Update Eable LED, Reduce firmwre size * Update colice_rr キーマップ調整。 * Update colice_rr ロータリーエンコーダ機能追加。 * Move colice_rr を colice_rr_split へ移動。 * Update colice_rr_splitフォルダへ移動したことに対応。 * New colice_rr_splitの初回コミット。 * Update キーマップ調整 * Update キーマップ調整 * New initial comit * Update 意図せずカッコを入力することがるため、LSPO、RSPCの使用を中止。 * Change Fnキー押下時の日本語入力ONを、長押し時にキャンセルするように変更。 * Change LED点灯方法変更。 * Change 基板バージョンごとにサブフォルダを作成するようにした。 * Update Windows用レイヤーを追加 * Update LED設定を調整 * New Jones v.0.2を新規追加 * Update Numレイヤー追加。キーマップ調整。レイヤーインジケータLED調整。 * Update 左手Yをやめる * Update ESCによるNumレイヤートグルを、ESC連打でトグルするのを防止するため、ダブルタップからトリプルタップへ変更。 * Update readme * Update QMKの標準に従うよう各ファイルの内容を変更。 * Update 長音(ー)を入力しやすくするため、レイヤー上でホームポジションに近い位置に配置。 * Update タップダンスの状態判別を、Single,Double,Triple,Holdの4つのステータスにまとめた。 * Update キーボードの電源が切れてもデフォルトレイヤーの状態を保存しておくため、MACとWINレイヤーへの変更はEEPROMへ書き込むようにした。 * Update 不要箇所削除 * Update キーマップをNarrowとWideで書き換えるのが不便なので、分割した。 * Update 最新のPCBに合わせ、デフォルトをv.0.2に変更。 * New v.0.3を新規追加 * Update キーマトリクスに後からJPを追加するため、ANSI用に表記変更。 * Update ANSI用のキーマップであることを明記。 * New JP用キーマップを新規追加。 * Update スイッチの物理的存在、Enter右側はキー1個、に合わせて、ANSIレイアウトを修正。 * New FA (Full Armor)用レイアウトを新規追加 * Update 物理的ロック付きのCAPSは使用しないため、無効化。 * Update ハードウェアのサポート対象にキープレートを追加。 * Update FAで使用するAudio、RotaryEncoderの機能追加。機能削減でファームウェアサイズ縮小。 * Update オーディオ機能にキークリックを追加。 * update FA用設定 * Update 右シフトにキー追加 * Update 変換キー調整 * New オーディを有効化。マウスキーはサイズ削減のため無効化。 * Update スイッチ配置ミス修正。 * Update ピン定義を、ロータリーエンコーダの回転方向に合わせた * Update 2音同時発音用にピン定義を追加。 * Update ファームサイズに空きがあるので、クリッキー音をデフォルトで利用できるようにした。 * Update LED設定変更 * New 物理配列がJPで、中身はUS配列のキーマップを追加。 * Update 行と列が入り乱れたレイアウトのため、音階が正しくなるように、Music-Mode用のキーマップを定義。 * Change マイナーバージョンの表記に対応できるよう、DEVICE_VERの桁を1つ上げた。 * Update オルソ+ロースタガであることがわかるように、キーボードの簡単な説明を変更。 * New v.0.3.1の初期コミット * Update 左右で回転方向の判定が逆になるので、右手側を左手に合わせた。 * Update キーマップ調整 * Update LEDインジケータを、v.0.3系と同じ点灯方法(2個をベースレイヤ、1個をRAISEなど)に変更。 * Update RGBLIGHT明るさ調整、エフェクト追加。 * Update 未使用キー設定を削除。 * Update Shiftと組み合わせた/?キーの反応を良くするため、キーごとにTAPPING_TERMを指定できるようにした。 * Update LEDエフェクト追加 * Update keymap * Update 未使用のものを削除 * Update LEDの物理的接続とQMKのソフト的接続を調整し、左→アンダーグロー→右と繋がるようにした。 * Update レイヤーインジケータ関連変数を、#ifdefブロック内へ移動。 * Update コード整形 * Revert "Update コード整形" This reverts commit c98483d9a0b41f8939a01b677cdcd18a8af34f78. * Update 未使用のキーコード、S_SLSHに関連するコードを削除。 * Update コード整形 * Update キーごとのTappingTerm設定を使用しなくなったため、削除。 * Update 未使用コード削除。 * Update コメント追加 * Update レイヤーとIMEのON/OFFを同じキーに割り当てるのをやめたため、関連コードを削除。 * Update コメント追加 * Update コメント * Update 誤読を避けるため、ifブロックの表記を括弧を使用したものへ変更。動作に変化なし。 * Update 未使用のため削除。 * Update LED関連でデフォルトレイヤーを格納して使用しないため、削除。 * Update コメント * Update レイヤーによってロータリーエンコーダの動作を変える機能を追加。 * Update comment * Update 実態に合わせて修正。 * Update JP用キーコードへの書き換え忘れを修正。 * New v.0.3.1 JP style * Update v.0.3のJPスタイルではオーディオサポートなし。 * Update to latest information * New * New keyboard "stmeishi" * Update layout name * Update move common settings from keymap's "rules.mk" to keyboard's "rules.mk". * Update: Move common settings from keymap's "rules.mk" to keyboard's "rules.mk". * Update: Add "LAYOUT_all" for multiple layout. * Update target to latest "v.0.3.1". * Remove unused item. * Update comments. * Update Rotary Encoder pins to actual used count. * Update increase value to maximum. * Update comments. * Change default Effects. * Remove unused items. * Update comment. * Change: Use define and function insted of real value for wait. * Update copyrght. * Update Update: Add "LAYOUT_all" for multiple layout. * New: Place info.json copied from v.0.3.1. * Remove unused items. * Update: Add comma at last element. * Update comments. * Update: change if block style. * Update: Change Japanese comments to English. * Update: Change layout name. * Update: Change layout name. * Update: Fix miss numbering for ANSI layout. * Update: Move "Tap Dance" rule to keymap's rule. * New: Add default keymap. * Delete: Moving files to branch. * Initial: Add files from local. * Remove local only unused keymaps. * Update: Remove unused, comment outed codes. * Add default keymap for v.0.3. * Update: Add custom keycodes. * Update: Change layer handling from process_record_user to layer_state_set_user. * Update comment. * Update: Remove unused function. * Revert "Remove: Non related files." This reverts commit 82306568fad408427c757de832025dee91ca5a7f. * Update: To resolve "submodule path not found" message. * RemoRemove: Non related files. * Revert file before miss comit. * Update: Remove unused keycode. * Update: レイアウト設定内のNUMレイヤへのトグルを、カスタムキーコード表記に変更。 * Update: Comment * Update: Remove unused items. * Update layout settings. * Update: For simplicity, change toggle ADJUST layer method from process_record_user() to layer_state_set_user(). * Update: comment and styling. * Update: Remove unused custom keycodes. * Update: For simplicity, change toggle layer method from process_record_user() to layer_state_set_user(). * Update: Remove unused items. * Update: comment and styling. * Update: Correct comment. * Update description and flashing example. * Update: Remove comment-outed bootloaders. * Update comments. * Update: Correct LED count, without under-glow. * Update: Chenged to common values with v.0.3.1. * Update: Changed to common values with v.0.3. * Updarte: Remove unused layout. * Update: Change default layout to "ALL". * Update comment. * Update comment. * Add missing file. * Update: Change build option definition style. * Update: Change build option definition style. * Update: Change CUSTOM_MATRIX to "lite" and convert "matrix.c" to "lite" version. * Update: Move "music_map" to keyboard's c file. To provide common definition for other keymap creator. * Update: Change keyboard name "v.0.3.1" ---> "v03_1". For human readability, version name "v.0.3.1" remains at title on "readme.md". * Update: Change keyboard name "v.0.3" ---> "v03". For human readability, version name "v.0.3" remains at title on "readme.md". * Update: Correct matrix definition at "k92". * Apply suggestions from code review Remove unnecessary comment block. * Apply suggestions from code review Remove "Optional" deprecated items. * Apply suggestions from code review Change "make" target keymap to standard default. * Apply suggestions from code review Remove rules for MIDI_ENABLE, FAUXCLICKY_ENABLE and HD44780_ENABLE. These features are not enabled. * Apply suggestions from code review Convert tabs to spaces. * Update: Change #define ROW_SHIFTER to keyboard specific. commit 949fb1a91c4fc934ecbedcd771c685dc8c8d9e09 Merge: bf09a94fdf eda8c94c60 Author: QMK Bot Date: Sun Jan 24 15:47:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit eda8c94c60620a6b807b3a7c6c1ad03a25488c9d Author: Mohammad Juma Date: Sun Jan 24 07:46:37 2021 -0800 [Keymap] addition for mjuma in keyboards/planck/keymaps (#10885) * Add planck layout * switch gaming toggle to TG * rename readme commit bf09a94fdffc2ebc267045302c26f0b3980a8f77 Merge: d44e3dc021 829075ffef Author: QMK Bot Date: Sun Jan 24 15:04:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 829075ffefec94a2b8ff15c5d625f3ebc767096a Author: Vinam Arora Date: Sun Jan 24 20:33:34 2021 +0530 Increased dynamic keymap layers in via keymap (#11575) commit d44e3dc021d45d3e131b67d3c45fc43494738d3e Merge: 95ecd4e1d2 8ab6efdc80 Author: QMK Bot Date: Sun Jan 24 14:57:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8ab6efdc804fe7c7666b4c9f7962e288b39448d2 Author: Damien Date: Sun Jan 24 15:57:22 2021 +0100 Fix preonic layout documentation (#11655) * [Apple M5120] First iteration * Cleaned apple_m5120 files * Changes requested by PR * Update keyboards/apple_m5120/iso/rules.mk Co-authored-by: Ryan * Update keyboards/apple_m5120/iso/keymaps/default/keymap.c Co-authored-by: Ryan * Updated Preonic default layout doc * Removed non related files Co-authored-by: dbroqua Co-authored-by: Ryan commit 95ecd4e1d25b88ace01ab39931df81b25438941e Merge: 05aa864338 5d0cc13fcf Author: QMK Bot Date: Sun Jan 24 14:52:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5d0cc13fcf8bc354b51c672b726a58a8eacebfa0 Author: Anand Date: Sun Jan 24 20:22:11 2021 +0530 Add VIA support for dm9records/tartan (#11666) commit 92543a7cb56acab8f35670aa13b284e376ca199c Author: David H. Bronke Date: Sun Jan 24 09:51:25 2021 -0500 fix(feature_ps2_mouse): fix Scroll Button example (#11669) Corrected macro in Scroll Button example so it compiles. commit 05aa864338aad30690838e95f3d48f58e8c41d81 Merge: 28b1c913b4 944cf6476e Author: QMK Bot Date: Sun Jan 24 06:15:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 944cf6476e1a8ddfab7c08dbe4cc1fee3ea4beb7 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Jan 24 15:15:11 2021 +0900 Update docs/getting_started_make_guide.md (#11373) * update docs/getting_started_make_guide.md Added description of some targets, including those added with #11338. * Added description of options added by #11324. * update docs/getting_started_make_guide.md * Added description of target. * Update docs/getting_started_make_guide.md Co-authored-by: Drashna Jaelre * Update docs/getting_started_make_guide.md Co-authored-by: Ryan * Update docs/getting_started_make_guide.md Co-authored-by: Drashna Jaelre * add ':id=linux-udev-rules' to docs/faq_build.md Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 28b1c913b4b6f113655af7288d52db86998fa717 Author: Gentoli Date: Sat Jan 23 20:55:43 2021 -0500 Remove duplicated housekeeping in arm_atsam (#11672) commit b96db514f6bcc4cec93aa7c42148638f138a1fb9 Merge: 30561a8de5 29c9c6bf56 Author: QMK Bot Date: Sun Jan 24 00:16:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 29c9c6bf56bc0d7f194b2b69f209d55f27eff72d Author: Alabahuy Date: Sun Jan 24 07:16:24 2021 +0700 Fix number RGB RART4x4 dan matrix pin RART45 (#11582) * Update config.h * Update config.h commit 30561a8de56f0ff44bd7caa09c17f158af68bd50 Merge: 3f4ff5b6a7 78693dfa31 Author: QMK Bot Date: Sun Jan 24 00:00:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 78693dfa31a1b63f2e88817a64fb96d14b198dc9 Author: David Dejaeghere Date: Sun Jan 24 00:59:15 2021 +0100 [Keyboard] adding support for new keyboard Dawn (#11564) * initial commit Dawn keyboard * fixing some matrix * final tweaks to keymaps and info.json layout * fix info.json missing delimiter * missing elements in info.json layout, resolved through lint * fixed missing link image in readme * Update keyboards/mechstudio/dawn/readme.md Co-authored-by: Ryan Co-authored-by: David Co-authored-by: Ryan commit 3f4ff5b6a7ef8e4e58ae84b2e3967a2c8024bf06 Merge: 1cdea7f530 d6701b3ac7 Author: QMK Bot Date: Sat Jan 23 21:42:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d6701b3ac7b05dc6f8ce87b525af14932d5c0f27 Author: smiley Date: Sat Jan 23 23:41:29 2021 +0200 Fix typos and reword some sentences in FAQs (#11546) * Fix minor typo in "General FAQ" "want to do brand it with QMK" -> "want to brand it with QMK" * Reword some of "Debugging FAQ" & "Miscellaneous FAQ". Mostly grammatical wording of some parts and missing capitalization commit 1cdea7f53056818fa1e471a8806b9706db8c0c01 Merge: 5a7ad4cb2d 05a4583ce8 Author: QMK Bot Date: Sat Jan 23 17:32:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 05a4583ce89ae12c8f978fe015ebab387f649575 Author: Kyle McCreery Date: Sat Jan 23 07:32:10 2021 -1000 [Keymap] Adding Fancy and Bongocat Keymap to Mercutio Keyboard (#11520) * Initial commit on new clean branch. Testing out functionality of oled and encoder for default features. * Cleaned up the initial push and removed the fancy keymap until the extra features and functionality can be tested and made more user friendly. * Cleaned up the readme some more, compiled and tested both default and via keymaps, and did another round of checks to prepare for starting the PR. * Cleaning up the keymap to meet expected formatting in a couple places and also adding in the TAP_CODE_DELAY after newly encoutnered encoder issues and inconsistencies. * Initial commit of branch specifically for implementing the more complicated fancy keymap as I expect the main PR to be approved first. * testing bongo cat out * Progress with intended OLED behavior. Needs to be cleaned up still. * Cleaned up bongocat and added WPM display on it. * Almost there. Need to rethink the layer checking in encoder. * Fixing all the merge issues I didn't check before doing the last commit. Learn from my mistakes, check your commits. * Fixed and updated fancy firmware and bongocat firmware. * Updating license year since I will be doing a PR anyway. * Update keyboards/mechwild/mercutio/keymaps/fancy/keymap.c Co-authored-by: Ryan Co-authored-by: Ryan commit 5a7ad4cb2d30ca4d1a63c7f0da97d3cb4c1923b5 Merge: 08b37a58bb 7d774fa1dc Author: QMK Bot Date: Sat Jan 23 03:24:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7d774fa1dcd90097b06a8589f9087edfbc21967a Author: Ryan Date: Sat Jan 23 14:23:38 2021 +1100 Infinity60 refactor (#11650) commit 08b37a58bb1c6eb624fe59d863a777f87ecdb741 Merge: a07c2a1377 3a7573436a Author: QMK Bot Date: Sat Jan 23 02:03:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3a7573436ae6ab20973389a4051a8785399539f2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jan 22 18:02:40 2021 -0800 Program Yoink! refactor (#11636) * split config.h for each variant * split rules.mk for each variant * split source and header files for each variant * move keymaps to the appropriate variant * update keyboard readme * update keymap readmes * differentiate Staggered and Ortho USB Device Strings * clean up formatting in info.json * split info.json files for each variant * break up the info.json for readability * correct key positioning and board dimensions * correct key object sequences * add weak encoder function to keyboard level Allows Configurator-compiled firmware to have encoder functionality. * add variant-specific readme files and bootloader instructions commit a07c2a137708f8e2b6e1440d386569b97d613cc5 Author: Joel Challis Date: Fri Jan 22 19:32:10 2021 +0000 Remove QMK_KEYBOARD_CONFIG_H (#11576) commit 397e8e461f88ebfb635264e91ab1d07ebd6d9813 Merge: f52baa4bc1 7e77c2361f Author: QMK Bot Date: Fri Jan 22 17:11:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7e77c2361fbfba60fabb490a8dae310d5b7309ba Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jan 22 09:10:52 2021 -0800 Move Backslash/ISO Hash key to home row for Uni660 rev2 ISO (#11657) * Move Backslash/ISO Hash key to home row for Uni660 rev2 ISO * update readme formatting commit f52baa4bc10be215a249b8c6c1f9866d65191b91 Merge: 1c3ec3a91f 188c0bacb0 Author: QMK Bot Date: Fri Jan 22 16:49:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 188c0bacb05335067bf79c2380eb0dca189a5c55 Author: Ryan Date: Sat Jan 23 03:48:27 2021 +1100 Woodpad refactor (#11651) commit 1c3ec3a91fa61ab39e0361e87314ca12187f1ba5 Merge: 20ef2aa57f a7d79f4c00 Author: QMK Bot Date: Fri Jan 22 16:38:26 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit a7d79f4c0060125a29cb0b3a9f8d9ad8356344c6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jan 22 08:37:36 2021 -0800 [Keyboard] Pinky refactor (#11643) * QMK Configurator layout support for Pinky 3-row and 4-row versions * refactor default keymaps - use an enum for layer names - remove redundant definitions - qmk cformat pass - modify pinky/4 via keymap to mirror pinky/4 default functionality * remove LAYOUT_kc macros This usage is not endorsed by QMK as it has been found to be confusing to novice users. * add VIA support to pinky/3 * update config.h files Removes unnecessary definitions for Backlight, RGB Underglow, Magic config and MIDI. * update main rules.mk file Updates the rules.mk file to match the formatting of the current QMK-provided template. Removes sample bootloader comments, feature rules that are no longer included in the template, and updates the in-line comments. * update and split keyboard readme Updates the main readme file's formatting, adds instructions to access bootloader mode, and adds more specific readmes for each version. * add line breaks between rows in the info.json files * rename layout macros for Community Layout forward compatibility The layouts of the Pinky3 and Pinky4 aren't currently Community Layouts, but support for them could be added with a rules.mk edit should the layouts be added to QMK. commit 20ef2aa57fb09afea020b83bebd0632043eb6e34 Merge: b58d164504 3b663ee495 Author: QMK Bot Date: Fri Jan 22 16:32:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3b663ee4950bc550cba3f6faca7dee5be34bf956 Author: Eithan Shavit Date: Fri Jan 22 08:31:53 2021 -0800 [Keymap] Breeze keymap eithanshavit (#11640) Co-authored-by: Eithan Shavit commit b58d164504f5c4e60657afb7e9854b2bea04f266 Merge: 37ebbe8d9e 7a08b9d374 Author: QMK Bot Date: Fri Jan 22 16:23:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7a08b9d374dfcf9d872738af44b231862064b96f Author: Drashna Jaelre Date: Fri Jan 22 08:23:03 2021 -0800 [Keymap] Cleanup and updating of drashna keymap code (#11516) * Update other keyboards for rgb matrix changes * Remove customized bootmagic code * Fix corne layout compilation error * Fix compiler errors with all keymaps * Add Simple Visualizer for ergodox infinity * Fix compile issue with Corne * Fix keymap stuff * Add alias for mouse layer * Add Halmak Keyboard layout * Updates for Kyria * Add support for oled interval * Change RGB stuff [CHANGE] Fix coexistence issues * Fix rgb_stuff * Add custom ploopyco mouse keymap * Decrease default dwell time * Updates based on last breaking changes update * Disable command on dactyl * Update ergodox to use proper commands for rgb matrix indicators * Update all rgb matrix indicator functions * Update rules for dactyl-manuform * Reduce wait time for mouse layer off event * Add more info to logger * Add wrappers for get_tapping term * Move version.h include into only file that actually needs it * Update rgb sleep stuff * Update key print function * Change DM keymap settings * Change pin for DM Manuform * Add Proton C stuff for Corne keymap * more arm corne tinkering * Even more arm stuff for corne * Cleanup corne stuff * redirect default keymap to drashna because I am a very bad man * change corne rgb priority * Update tractyl manuform to not conflict * Add more secret stuff * more dactyl tweaks * Add more options to split transport * Changes of oled support * Change split settings * Improve keylogger formatting more * tweak oled stuff * Oled and such tweaks * Reduce brightness due to leds * Decrease brightness more * Only run layer code if master commit 37ebbe8d9e4cadfe33d74d9534a146b0d21f8805 Merge: e4ff5eb3eb c16a3dcb54 Author: QMK Bot Date: Fri Jan 22 02:27:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c16a3dcb5458bc8d237d26c20a434c333b48d5c8 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jan 21 18:27:05 2021 -0800 Isometria 75: Configurator/CLI fixes (#11612) * info.json: human-friendly formatting * info.json: update key object labels Some of the characters in the original file don't play nicely with `qmk info -l` on Windows. * info.json: correct key object order commit e4ff5eb3eb655028f682de4d3f61a10830fd12bb Merge: aa73ba7a67 71d8e72b80 Author: QMK Bot Date: Thu Jan 21 22:23:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 71d8e72b804d43d39b996c71e85aa3434de0573a Author: Danny Date: Thu Jan 21 17:23:27 2021 -0500 Add 3rd encoder to VIA keymap (#11580) commit aa73ba7a678287b610dec05053507bfb95fc2472 Merge: 344f61f247 c03ad0f802 Author: QMK Bot Date: Thu Jan 21 21:05:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c03ad0f80208cb1764379aa184821750d1527aa7 Author: jakobkg Date: Thu Jan 21 22:05:19 2021 +0100 Remove rules.mk in leafcutterlabs/bigknob:default (#11652) commit 344f61f247843af62b579c4e62051407adafb58e Merge: 1108210f1b b79ee92a12 Author: QMK Bot Date: Thu Jan 21 15:35:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b79ee92a128299c5e6a2ef8088e097c28906c36d Author: mtei <2170248+mtei@users.noreply.github.com> Date: Thu Jan 21 16:37:07 2021 +0900 update CI list about helix keyboards * exclude 'helix/rev3_4rows' from CI Since helix/rev3_4rows is almost the same as helix/rev3_5rows, there is no point in checking with travis-ci. * include 'helix/pico/back' to CI helix pico and helix rev2 are still available. I would like to check both by travis-ci, but here I will add a check only for helix pico. commit 1108210f1bee89c29b1bcd6105d0a7b48a53ca04 Author: Nick Brassel Date: Thu Jan 21 22:24:07 2021 +1100 Keep track of encoder activity (#11595) * Keep track of encoder activity, provide API for either matrix/encoder. * Fixup build when no RGBLIGHT or Backlight enabled. commit bdb757e189bf72c0ef382a924328642a629e06d5 Author: Nick Brassel Date: Thu Jan 21 17:00:53 2021 +1100 ChibiOS conf migrations... take 11 (#11646) * Allow forcing re-migration. * ChibiOS conf upgrade for acheron/arctic acheron/arctic - 2aedbe9103fff6c37e596c33c9ed337957647368 * ChibiOS conf upgrade for acheron/austin acheron/austin - c2f4e3b7fc9f1c3d64f47d139bc58367afeca1b7 * ChibiOS conf upgrade for acheron/keebspcb acheron/keebspcb - 1ba976e409732bfa5c0487dd33e20bec06852ce4 * ChibiOS conf upgrade for acheron/lasgweloth acheron/lasgweloth - 01a2e70d0d86de0ff05d0b898a6e3b4428ee1581 * ChibiOS conf upgrade for aeboards/ext65/rev2 aeboards/ext65/rev2 - 3c9a45cafb4ed6d9672aaff4548b105193633a87 * ChibiOS conf upgrade for ai03/vega ai03/vega - 1bd0dfccb99baa69bacd2d55f2bfa72019b8bf80 * ChibiOS conf upgrade for akegata_denki/device_one akegata_denki/device_one - a013823188660f5fca37c5763f160f8646aed7a7 * ChibiOS conf upgrade for at_at/660m at_at/660m - 9999583e8bec2772046132a22818482d24e18c84 * ChibiOS conf upgrade for box75 box75 - 1126206109a942237eea96f3a9608e3c9ed55f8e * ChibiOS conf upgrade for bt66tech/bt66tech60 bt66tech/bt66tech60 - b69120638a8b2c86c008fd0592be918383d8a454 * ChibiOS conf upgrade for cannonkeys/an_c cannonkeys/an_c - c755f6caaccbe2b30d95661a3d441b836534c29f * ChibiOS conf upgrade for cannonkeys/atlas cannonkeys/atlas - 1a18c55492a834b82715516ea4cd4d3d94508743 * ChibiOS conf upgrade for cannonkeys/chimera65 cannonkeys/chimera65 - 6bf226ef353da9106c381a8ac95a9b90529327e5 * ChibiOS conf upgrade for cannonkeys/db60 cannonkeys/db60 - 07e3246f8e3adc5b6918809e6a5aa1ad064b9a09 * ChibiOS conf upgrade for cannonkeys/devastatingtkl cannonkeys/devastatingtkl - 907d258e29eb7e35b1f868c1ea6148bfd1e3a3f2 * ChibiOS conf upgrade for cannonkeys/instant60 cannonkeys/instant60 - ac876ff6746b08839a3936dd4126b52683b763f4 * ChibiOS conf upgrade for cannonkeys/instant65 cannonkeys/instant65 - 3b8c89ec5fecbdb35cccb00c45e64a798528dbda * ChibiOS conf upgrade for cannonkeys/iron165 cannonkeys/iron165 - 0814ec4067d9857b0134e38384f272cf7172fb03 * ChibiOS conf upgrade for cannonkeys/obliterated75 cannonkeys/obliterated75 - 0f376e5d9a232c62e9c60f8fdc81d12732352ddc * ChibiOS conf upgrade for cannonkeys/onyx cannonkeys/onyx - d35134ebe09046b91ab176035d3742d80b23ed8e * ChibiOS conf upgrade for cannonkeys/ortho48 cannonkeys/ortho48 - 828dbfbb013ff4fefe75044b3c9fd31fec5e95a1 * ChibiOS conf upgrade for cannonkeys/ortho60 cannonkeys/ortho60 - 2aca4dd4234e0dac828f5fa15ae5b3bc3c0605dc * ChibiOS conf upgrade for cannonkeys/ortho75 cannonkeys/ortho75 - 4af8aaaded0ff53e9c01473f5968cc169f268647 * ChibiOS conf upgrade for cannonkeys/practice60 cannonkeys/practice60 - e01df551d9483eeb3f825fcc453317fe65f674b5 * ChibiOS conf upgrade for cannonkeys/practice65 cannonkeys/practice65 - 156163789d4c96cdd4787895788c1d02a2367f5c * ChibiOS conf upgrade for cannonkeys/rekt1800 cannonkeys/rekt1800 - 15882afb6373dea3e5f7ed13c19744ee2463f3bf * ChibiOS conf upgrade for cannonkeys/sagittarius cannonkeys/sagittarius - f49fee611ffcc02cb3dc7f249fc8c83f136907b9 * ChibiOS conf upgrade for cannonkeys/satisfaction75 cannonkeys/satisfaction75 - 2c9fbbea3a38820774f6ff436ef51017b545475a * ChibiOS conf upgrade for cannonkeys/savage65 cannonkeys/savage65 - ddd764be363c46f3e9b1a16151bd02d8f66b2dd4 * ChibiOS conf upgrade for cannonkeys/tmov2 cannonkeys/tmov2 - 7af36cd2a42015838b77697624e90008ffa72778 * ChibiOS conf upgrade for cannonkeys/tsukuyomi cannonkeys/tsukuyomi - a120bea5dacb2cd6f143458cece46d2860ea196d * ChibiOS conf upgrade for cheshire/curiosity cheshire/curiosity - 93d8fe3b7a8e028d4b015941ee71b50afe86bc8a * ChibiOS conf upgrade for coarse/cordillera coarse/cordillera - 7d986d3f534786f302cbf74a5e6b7e51ffe60093 * ChibiOS conf upgrade for converter/siemens_tastatur converter/siemens_tastatur - 3f79f1467bbc56f284aceafd76ab5c6a1cbb68f4 * ChibiOS conf upgrade for cutie_club/borsdorf cutie_club/borsdorf - f8c6015b7aacfd5edef4f22f719eea30660005e7 * ChibiOS conf upgrade for dekunukem/duckypad dekunukem/duckypad - d9c162d0867d3925cca2e653a3a3870eac2d23d2 * ChibiOS conf upgrade for ebastler/isometria_75/rev1 ebastler/isometria_75/rev1 - 2ecdd00b8c6cc794a7014747185b88374d5766c0 * ChibiOS conf upgrade for ergodox_infinity ergodox_infinity - 76736c701db22e890764481c25bd38badf32a1cf * ChibiOS conf upgrade for ergodox_stm32 ergodox_stm32 - a7bdb0b7822617ca0f9d316a082874ac0fef5964 * ChibiOS conf upgrade for function96 function96 - 1b9e394a86dab24b85d160afe9281b5e7652afe2 * ChibiOS conf upgrade for geekboards/macropad_v2 geekboards/macropad_v2 - de261e46a42cc7b7ff793e26200669f94b1dbb18 * ChibiOS conf upgrade for generic_panda/panda65_01 generic_panda/panda65_01 - 592d2443033875e0309506aa8cb5212389054458 * ChibiOS conf upgrade for handwired/ck4x4 handwired/ck4x4 - 9d7d4af7f2d787afd638e976334cd37c490040d7 * ChibiOS conf upgrade for handwired/onekey/blackpill_f401 handwired/onekey/blackpill_f401 - c9257a30203b3a0e5aa18b35e07281fcd043ab5d * ChibiOS conf upgrade for handwired/onekey/blackpill_f411 handwired/onekey/blackpill_f411 - dfccc2c6b245cfb561faba60c9f3fc7af8c3db30 * ChibiOS conf upgrade for handwired/onekey/bluepill handwired/onekey/bluepill - 393f4b94e9a0fbc9cd00de1acde346ad72250b4a * ChibiOS conf upgrade for handwired/onekey/stm32f0_disco handwired/onekey/stm32f0_disco - d827881f9bed09fd41c7c4e9d066e96b6643a099 * ChibiOS conf upgrade for handwired/onekey/teensy_32 handwired/onekey/teensy_32 - dd90f6c823da80ba43afa41249a2bdbbab98b04c * ChibiOS conf upgrade for handwired/onekey/teensy_lc handwired/onekey/teensy_lc - 34596f2eeb62403cce532d20cf893ebd77fe2d05 * ChibiOS conf upgrade for handwired/pill60/blackpill_f401 handwired/pill60/blackpill_f401 - 20bbccb5058085076357f4fa956eede2c0af86e8 * ChibiOS conf upgrade for handwired/pill60/blackpill_f411 handwired/pill60/blackpill_f411 - e03a4c3ec3b9ba65b8067126a039a8eb2cd10e51 * ChibiOS conf upgrade for handwired/pill60/bluepill handwired/pill60/bluepill - 2fb721fb4376cde2067eed1c0c8acbf3bf5851c3 * ChibiOS conf upgrade for handwired/riblee_f401 handwired/riblee_f401 - 2823cd98d64c91b146dae343a32176d51772952b * ChibiOS conf upgrade for handwired/riblee_f411 handwired/riblee_f411 - 5cf7589c9a11c4ed14e7d28676ac836fbb07d013 * ChibiOS conf upgrade for handwired/sono1 handwired/sono1 - d972acee03efb4917fc42f7d72c0a416b67ebd4a * ChibiOS conf upgrade for handwired/t111 handwired/t111 - f947c1d59025fe04e7d7b999d80e20277be4366c * ChibiOS conf upgrade for handwired/twadlee/tp69 handwired/twadlee/tp69 - 48ab62464ba1f2651f4468cbec7c6058e3b8c158 * ChibiOS conf upgrade for handwired/z150 handwired/z150 - 35e85696845e965d7f2dcdb372ed20c17d42c2bb * ChibiOS conf upgrade for hub20 hub20 - f094036a182169b5a73f89f09f2ccaa3e5fc9e7e * ChibiOS conf upgrade for iron180 iron180 - 5efb6f21c848b3c964795d9debddceac7628933d * ChibiOS conf upgrade for jm60 jm60 - dbbdbe8b27b3c1d0a25981b2f75728d163d5d299 * ChibiOS conf upgrade for keebio/bdn9/rev2 keebio/bdn9/rev2 - 0031632523dddfc8f7b3a02cf9c5990ebbb3856d * ChibiOS conf upgrade for keebio/choconum keebio/choconum - 4484ef6936a497610ca5ae4d378bc07b2bc1b1c7 * ChibiOS conf upgrade for matrix/m20add matrix/m20add - 6068aeff5b14c26de8838180f4397800abe9f1aa * ChibiOS conf upgrade for matrix/noah matrix/noah - fcde175fb1d3f5bf0716ac5a880c2cc9ab4bbf7f * ChibiOS conf upgrade for misterknife/knife66 misterknife/knife66 - e7f3ceffb94fb8e680da2af27fa7cb1a0a52b699 * ChibiOS conf upgrade for misterknife/knife66_iso misterknife/knife66_iso - ee027db939c098f908f70f02ffa9cc3952139f70 * ChibiOS conf upgrade for nebula12 nebula12 - 2f3a25b6675dcd0fabe75e7bb63038d3cac19610 * ChibiOS conf upgrade for nemui nemui - 4030faa372512f766fd747876cb28176302453f9 * ChibiOS conf upgrade for nibiria/stream15 nibiria/stream15 - fd7b09affa208403099ef9bff1b756fac0d4f918 * ChibiOS conf upgrade for nightingale_studios/hailey nightingale_studios/hailey - 496a44b2f789cc59a6110c7c1c41d57e59c722be * ChibiOS conf upgrade for planck/rev6 planck/rev6 - 6fb8f0bc21b4ab774ce3d339fdf6f25d96059f10 * ChibiOS conf upgrade for primekb/meridian primekb/meridian - 8021ed99e8bdf92faab806780186cc924dd59e50 * ChibiOS conf upgrade for projectkb/alice projectkb/alice - ad7678d475a14c54f28b62d1c1b15f5b4c4448bc * ChibiOS conf upgrade for projectkb/signature87 projectkb/signature87 - de61338b0a5c477f39c000df8117dd3017c2643d * ChibiOS conf upgrade for ramonimbao/squishy65 ramonimbao/squishy65 - 2ea1a8b18c39d0e193bbbf5836191874d3aafc53 * ChibiOS conf upgrade for ramonimbao/wete ramonimbao/wete - a80b3b309f06566adcdf20234d81c1d5aa599b00 * ChibiOS conf upgrade for rart/rartlice rart/rartlice - c8c80c302428d62bb8b08e3185509a233a94f5f0 * ChibiOS conf upgrade for retro_75 retro_75 - 7434e266bba43ded8ca1ff75d77faa506473ca91 * ChibiOS conf upgrade for rocketboard_16 rocketboard_16 - 1182a8730a84b58eba5a470286b6db6134d36f54 * ChibiOS conf upgrade for satt/vision satt/vision - c85a28a8d7e321511a17a7e7084d0a7876d1779a * ChibiOS conf upgrade for technika technika - 7c59de348f0ec5f6ac9e260806a87aaf16fbafa2 * ChibiOS conf upgrade for tkc/godspeed75 tkc/godspeed75 - e447b39dca393736fbf289049699d5b4748bb8c6 * ChibiOS conf upgrade for tkw/stoutgat/v2/f411 tkw/stoutgat/v2/f411 - 58e9b909379ad107affbff0508e3923264b75426 * ChibiOS conf upgrade for viktus/styrka viktus/styrka - 36bf0921be79a8b037fdc25343584574a312be60 * ChibiOS conf upgrade for westfoxtrot/prophet westfoxtrot/prophet - 80036c8f986c8d3261d6b0748d2057eccab6430b * ChibiOS conf upgrade for whitefox whitefox - c9eccac0196c3e2e2ea6c90d3036283a3eabff2c * ChibiOS conf upgrade for wolfmarkclub/wm1 wolfmarkclub/wm1 - 0d22a426255b829a7805bd6a3ff927198b1e31b4 * ChibiOS conf upgrade for xelus/kangaroo xelus/kangaroo - fdb1ffb66f4841f662e968929f058d4fd403c97e * ChibiOS conf upgrade for xelus/trinityxttkl xelus/trinityxttkl - a9641e5b39b7bb38351b9109f0f381837b2e8e79 * ChibiOS conf upgrade for xelus/valor_frl_tkl xelus/valor_frl_tkl - 6c3b577852736a68727ec319c30712b3088e65cd * ChibiOS conf upgrade for xiaomi/mk02 xiaomi/mk02 - 4c1406ebfee73551a844ef7ab29fc5788d7e875c * ChibiOS conf upgrade for zoo/wampus zoo/wampus - 930c903e85478e220a235f45593c03512c66bc2a * ChibiOS conf upgrade for zvecr/split_blackpill zvecr/split_blackpill - c0e3e1583262e4cb0ebfe2efa6356ed6c5c957ca commit ea51cbf1d963ac3e4f327bc28ebe69b4bb39bade Merge: 8401b0a6e5 111eb8990d Author: QMK Bot Date: Wed Jan 20 20:39:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 111eb8990d8b82a811c6c4345c3a67b8167e34a9 Author: Zach White Date: Wed Jan 20 12:38:18 2021 -0800 Fix QMK_BUILDDATE (#11641) commit 8401b0a6e5d6bf2e5456bc2283cd32abba871503 Merge: 34b88a2fd4 4e8166750b Author: QMK Bot Date: Wed Jan 20 18:46:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4e8166750b21cfd3feaba0d6024087fb5c76bca9 Author: Joel Challis Date: Wed Jan 20 18:46:01 2021 +0000 Small tweaks to docs to make them more user friendly (#11518) * first pass * firmware firmware? * Split out debug + testing docs * tidy up duplicate css * Add extra info to debug example Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 34b88a2fd4f43fa3222d1101341322076474ea93 Merge: b1e6f1b7e0 1328ab7c7d Author: QMK Bot Date: Wed Jan 20 07:33:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1328ab7c7defdca40872273147f387618b1a48c3 Author: datafx <2432997+datafx@users.noreply.github.com> Date: Wed Jan 20 02:32:39 2021 -0500 Correct LED physical mapping on monstargear xo87 rgb pcb (#11629) * corrected LED physical mapping * Corrected issue that made VIA display layer 1 incorrectly Co-authored-by: datafx commit b1e6f1b7e017d7e37542c1b7adf5b3626b1261e7 Merge: ef3bd54a17 9a070475ef Author: QMK Bot Date: Wed Jan 20 07:27:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9a070475efa91f777d2399534b27ae7806a3b107 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jan 19 23:27:04 2021 -0800 Handwired ASkeyboard Sono1: Configurator fixes (#11625) * info.json: human-friendly formatting * info.json: correct key order commit ef3bd54a17bca9ba397c6c3302287e145c95b5ce Merge: 87d9534d81 eacb596d8b Author: QMK Bot Date: Wed Jan 20 05:07:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit eacb596d8b3842027441172455e9dcf59bf1561d Author: LSChyi Date: Wed Jan 20 13:06:35 2021 +0800 [Keyboard] Add indicator LED support to playkbtw/helen80 (#11560) * add indicator led support * use LED config instead commit 87d9534d81e0504a80ba4f7c190afe9588d34063 Merge: 1ab1ba3c3e 1bb9f155a6 Author: QMK Bot Date: Wed Jan 20 03:15:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1bb9f155a67414d41b219e6834396e0fbca11ef7 Author: X-Bows Tech <41098278+XBowsTech@users.noreply.github.com> Date: Wed Jan 20 11:14:39 2021 +0800 [Keyboard] Update X-Bows Nature Keyboard (#11538) * Update config.h * Update nature.c * Update rules.mk * Update keymap.c commit 6db22011a5b9fb402d12d9a422651ff1d2238034 Author: Raphael Megzari Date: Wed Jan 20 12:14:16 2021 +0900 [Keymap] add happysalada (#11535) * add keymap: happysalada * use enum instead of define * remove uneeded config file commit 1ab1ba3c3e7110403014e06d4cf19490cbf855bf Merge: a9df4263bb 45bec2d281 Author: QMK Bot Date: Wed Jan 20 03:05:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 45bec2d28170ccc20a04610b0294f1d6cbfed283 Author: Aaron Ireland Date: Tue Jan 19 22:05:23 2021 -0500 [Keymap] Mac-friendly KBD 75% layouts (#11507) * Add Aaron's KBD75 v2 for Macbook * Add Colemak & Dvorak layers * Update keymap to adhere to style guide and add license * Rename README.md to readme.md commit a9df4263bbcd2fdcbc8802d675965a68eaa209cf Merge: a9dee31362 eba512596a Author: QMK Bot Date: Wed Jan 20 03:05:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit eba512596a0e7845b9cf7efdad19b820e9974e00 Author: Ryan Date: Wed Jan 20 14:04:21 2021 +1100 Add stm32-dfu and apm32-dfu to bootloader.mk (#11019) * Add stm32-dfu and apm32-dfu to bootloader.mk * Update flashing docs * Update comment * Further wordsmithing commit a9dee31362cceba0c57e5c25468bd93324672ee5 Merge: cfde37eec1 d28d474dc0 Author: QMK Bot Date: Wed Jan 20 02:52:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d28d474dc05ee008615f8bf94c0e1664b614ad91 Author: Craig Gardner <40006110+LeafCutterLabs@users.noreply.github.com> Date: Tue Jan 19 18:51:33 2021 -0800 [Keyboard] Leafcutterlabs (#11464) * add support for bigknob Add support for bigknob macropad * corrected files * Apply suggestions from code review Co-authored-by: Joel Challis * corrected tap dance * Update config.h * correct image link * Apply suggestions from code review Co-authored-by: Ryan * added GPL headers * Update readme.md * update rules to disable tap dance * remove tap dance * Update rules.mk trying to get to pass travis test * Update rules.mk remove tap dance Co-authored-by: Joel Challis Co-authored-by: Ryan commit cfde37eec131ab3f5d69037d5d1dc6d2f76e6c95 Merge: 6328c25573 c0728bd189 Author: QMK Bot Date: Wed Jan 20 02:49:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c0728bd189d0d9e5056f493e763191d8ca3c61f6 Author: Joshua Diamond Date: Tue Jan 19 21:49:02 2021 -0500 Improve the Lighting Layers example in RGB Lighting docs (#11454) * Improve the keymap layer state -> lighting layers example * A few more improvements commit 6328c25573d44883a3c76b48e0a9c8acd3e5510f Merge: 0857321317 71f067a60e Author: QMK Bot Date: Wed Jan 20 02:09:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 71f067a60ef01df6a58c086a939a58e40ab7e972 Author: Takeshi Nishio Date: Wed Jan 20 11:08:06 2021 +0900 Fix wrong key when "Music Map" is used with MAJOR_MODE. (#11234) With MAJOR_MODE (= major scale), keys in one octave is not 12 but 7. To solve this problem, change divisor number from 12 to 7 at %(Modulo) and /(Division). NOTE: The last 12 represents half step keys in one octave for pitch calculation. commit 08573213176befa873f8fcd6a55ee2d3795906e1 Merge: 1bc8e785bf 974d3f1ffd Author: QMK Bot Date: Wed Jan 20 02:05:38 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 974d3f1ffdbc4478f8d430021e74cf76e122661f Author: MesaKeyboards <74444813+MesaKeyboards@users.noreply.github.com> Date: Tue Jan 19 18:05:08 2021 -0800 [Keyboard] Add Mesa TKL (#11294) * Add keyboard: Mesa TKL * Fix image link in readme * Update keyboards/mesa/mesa_tkl/mesa_tkl.c Co-authored-by: Joel Challis * Update keyboards/mesa/mesa_tkl/rules.mk White space changes Co-authored-by: Ryan * Replace tabs with spaces per C coding conventions. * Update keyboards/mesa/mesa_tkl/readme.md Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 1bc8e785bf2efc1672d28b4e1bc89b89e43f31ca Merge: b9ddccf035 e6a90c8b04 Author: QMK Bot Date: Wed Jan 20 01:47:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e6a90c8b043b5b18986c5e56edcc18236c6787db Author: melonbred <61572569+melonbred@users.noreply.github.com> Date: Tue Jan 19 17:47:02 2021 -0800 Update info.json - Program Yoink (#11558) * Update info.json Fix ortho_split commit b9ddccf0355b0f006e9e01a889399e75a5f24eaf Merge: 36784a99a9 2cdc3699e1 Author: QMK Bot Date: Wed Jan 20 01:42:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2cdc3699e1888c14f47b9b542634145e65580b06 Author: Ryan Date: Wed Jan 20 12:41:34 2021 +1100 Remove `DESCRIPTION`, W-Z (#11633) commit 36784a99a92a99372d329eae2b681717ce211d91 Merge: d5ab40aa60 e0ed2c950d Author: QMK Bot Date: Wed Jan 20 01:41:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e0ed2c950d25315461c4025b9649091e113626e3 Author: Ryan Date: Wed Jan 20 12:40:35 2021 +1100 Remove `DESCRIPTION`, R-V (#11632) commit d5ab40aa6062b392b0dd1eaa99544dea17408637 Merge: 14c2f671cb 4ed67d666e Author: QMK Bot Date: Wed Jan 20 00:58:19 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4ed67d666e1cea2c1d428af2b972de3e35e1742a Author: Ryan Date: Wed Jan 20 11:57:45 2021 +1100 Remove `DESCRIPTION`, N-Q (#11631) commit 14c2f671cbf4e81336b04eae95933b6fcc2ddcb0 Author: Joel Challis Date: Tue Jan 19 23:27:21 2021 +0000 Switch to nano specs on ChibiOS builds - Round 2 (#11607) commit 9e18f41fcf46a268e01754a2743e67fb50deaa1d Merge: 78fe155b72 1e1b469fa2 Author: Nick Brassel Date: Wed Jan 20 10:00:28 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit 1e1b469fa2f9aa7480b4c1f1d1f8eb5b0c0c8ce5 Author: Ryan Date: Wed Jan 20 09:56:41 2021 +1100 Remove `DESCRIPTION`, K-M (#11619) commit 78fe155b7241900988f26479b8e417623b137320 Author: Nick Brassel Date: Wed Jan 20 02:19:36 2021 +1100 Fix up comments showing how to execute config migration. (#11621) commit 3b1ffd2ede296e17668f8763c7083aa4c9a3ce7d Author: Nick Brassel Date: Wed Jan 20 01:50:51 2021 +1100 ChibiOS enable memory allocations (#11620) commit 49dcc824db4f494522cdee67d058e9563a6656cb Author: Nick Brassel Date: Wed Jan 20 01:23:03 2021 +1100 Fixup declaration for _kill, add other missing syscalls, populate errno. (#11608) commit a7c45daeb8022097a0dbb3859bfcd56b73d65d14 Author: Nick Brassel Date: Wed Jan 20 00:59:12 2021 +1100 ChibiOS 20.3.2 (#11495) * Update ChibiOS submodule * Update ChibiOS-Contrib submodule * Update ChibiOS config files commit 62f304a225d91e8db36fa5639e38bc02e3321200 Author: Ryan Date: Wed Jan 20 00:38:12 2021 +1100 Remove `DESCRIPTION`, H-J (#11616) commit 19c180ef88168df25a9f6d680143319c79a3cac0 Author: Nick Brassel Date: Wed Jan 20 00:35:24 2021 +1100 ChibiOS conf migrations... take 10 (#11617) * ChibiOS conf upgrade for akegata_denki/device_one akegata_denki/device_one - 0d9f891416decbbb533c6c1147632ef7c55a2d9f * ChibiOS conf upgrade for chavdai40 chavdai40/rev1 - 06bca6ec34948c8005e73254299488cdba3429f8 chavdai40/rev2 - f55650a8d7aa755eb72564e95a144910dd902a73 * ChibiOS conf upgrade for ergodox_stm32 ergodox_stm32 - 04433b80e4cd231c15163ace77428db72b5483ad * ChibiOS conf upgrade for jm60 jm60 - a127e6cfccad74ed1a9e47e9213dc41cf0d26f1d * ChibiOS conf upgrade for matrix/m20add matrix/m20add - e2e556dad666ed9b1eea09e46d0eb14e19bda8b8 * ChibiOS conf upgrade for matrix/noah matrix/noah - c6fd3caf0b7d444085283d4f0a9204ab283d5202 commit d85b27bbbc6b086db469570cf741b515695dd816 Author: Nick Brassel Date: Wed Jan 20 00:23:07 2021 +1100 Leftover early initialisation conversions (#11615) * jm60 * ergodox_stm32 * F042 bootloader jumps. * xiaomi/mk02 custom bootloader, no early-init bootloader jump for F072. * matrix/m20add, matrix/noah commit d668fd3977c46bd5c9a5c50ce77ac86c85cc18ed Merge: 6b0ed6a29b d24fe4f1ca Author: Nick Brassel Date: Wed Jan 20 00:18:11 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit d24fe4f1ca49b2143b3f3d260a0a63088b521673 Author: Glen D'souza Date: Tue Jan 19 07:53:54 2021 +0530 GCC 10 compatibility for Ploopy optical encoder (#11586) commit 677789df773479dcedd0c3d71885ff5e89b7b5b6 Author: CMMS-Freather <72902384+CMMS-Freather@users.noreply.github.com> Date: Mon Jan 18 18:23:13 2021 -0800 change to cmm.studio saka68 folder. split to solder and hotswap, add hotswap fimware (#11443) * new repo: create cmm.studio folder, add saka qmk firmware new folder for cmm.studio line up keyboard added saka68 keyboard qmk and via firmware support * Update keyboards/cmm.studio/saka68/config.h Co-authored-by: Ryan * Update keyboards/cmm.studio/saka68/rules.mk Co-authored-by: Ryan * Update keyboards/cmm.studio/saka68/keymaps/via/rules.mk Co-authored-by: Ryan * Update keyboards/cmm.studio/saka68/config.h Co-authored-by: Ryan * fix on keymap, readme fix on keymap, readme * Update keyboards/cmm.studio/saka68/readme.md Co-authored-by: Ryan * Update keyboards/cmm.studio/saka68/keymaps/default/keymap.c Co-authored-by: Ryan * update vendor name with _ instead of . update vendor name with _ instead of . * Update readme.md change the make format * Update keyboards/cmm_studio/saka68/keymaps/default/keymap.c Co-authored-by: Ryan * deleted some files from cmm.studio, changes to cmm_studio deleted some files from cmm.studio, changes to cmm_studio * Update readme.md make command changed * Update keyboards/cmm_studio/saka68/readme.md Co-authored-by: Ryan * Update readme.md added pic for pcb * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update keyboards/cmm_studio/saka68/config.h tested and does work now. deleting these lines Co-authored-by: Ryan * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update keyboards/cmm_studio/saka68/readme.md Co-authored-by: Ryan * Update readme.md added use physical reset button instruction * change to the cmm saka folder making the changes to cmm saka firmware seperated solder version firmware and hotswap version firmware * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * change to the cmm saka hotswap folder Co-authored-by: Ryan commit 6b0ed6a29b306bad8c1a8a55e45452b828109793 Merge: bfdedbe5b2 1dc466d22b Author: QMK Bot Date: Tue Jan 19 02:12:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1dc466d22b58a3ded7678f0e6e8104e4b7da1504 Author: Benjamin Garcia Date: Tue Jan 19 03:11:45 2021 +0100 New keymaps with KC_LGUI on another key and scroll with encoder (#11479) * feat(kyria): new keymaps with KC_LGUI on another key add also possibility to scroll with encoder and finally play with olded screen to replace default kyria logo by Magic the Gathering mana color icon. * Update keyboards/kyria/keymaps/benji/keymap.c Co-authored-by: Drashna Jaelre * add magic logo * add mouse button Co-authored-by: Drashna Jaelre commit bfdedbe5b240300270c6dd7b36a68d5e10ad47f7 Merge: 732e80e3fe 993982a985 Author: QMK Bot Date: Tue Jan 19 02:10:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 993982a9853cccaa0224f39cfa4837fac147a6e0 Author: Paul James Date: Tue Jan 19 03:10:28 2021 +0100 [Keymap] Add peej userspace and keymaps (#11332) commit 732e80e3fe4284090bd931bcbd20f391f711736d Merge: 2f18993905 01bc8e3b52 Author: QMK Bot Date: Tue Jan 19 02:09:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 01bc8e3b525d7870cb955317dac69eec46af5f9e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jan 18 18:08:57 2021 -0800 Cannonkeys Onyx: Configurator/QMK CLI improvements (#11603) * info.json: human-friendly formatting * info.json: correct key object order * info.json: replace Unicode characters They don't play nice with `qmk info -l`. * info.json: correct keyboard dimensions commit 2f1899390581a7ac233d3002fc1f8287ce0598d7 Merge: 94746b6557 dfb8a29718 Author: QMK Bot Date: Tue Jan 19 01:22:57 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dfb8a29718f14e5b516150a7c1c416d1941dcc17 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jan 18 17:22:26 2021 -0800 Caps Unlocked CU65 layout macro fixes (#11606) commit 94746b6557bfcc530d4519a48de30bdd5eff5587 Author: Nick Brassel Date: Tue Jan 19 12:18:57 2021 +1100 Fixup builds on develop branch. (#11600) commit 814c4cb56d3b0cad4f21f956839a134b4f0e72c9 Merge: ffaaadc270 3bb1897bdc Author: QMK Bot Date: Mon Jan 18 18:59:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3bb1897bdc5593b99bb2865fcbc61bf45bef4b25 Author: datafx <2432997+datafx@users.noreply.github.com> Date: Mon Jan 18 13:58:09 2021 -0500 [Keyboard] Monstargear XO87 RGB Hot-Swap PCB (#11555) * Support for Monstargear XO87 Hot-Swap PCB * Remove manufacturer from product line * Removed alternate bootloaders * Updated info.json * Missed RGB_DISABLE_WHEN_USB_SUSPENDED in config.h * Delete kb.h * Update rgb.h * Update rules.mk * Add files via upload * Delete kb.h * Update keymap.c * Update config.h * Update rgb.c * Add via RGB support * Update info.json * Update readme.md * Update readme.md * Update config.h * Update rgb.h * Update config.h * Mirror factory layout * Mirror factory layout * Update rgb.h * Update keyboards/xo87/rgb/rgb.c * Update rgb.c * Update keyboards/xo87/rgb/config.h * Update keyboards/xo87/rgb/rules.mk * Update keyboards/xo87/rgb/rules.mk * Update keyboards/xo87/rgb/keymaps/via/keymap.c * Update keyboards/xo87/rgb/rules.mk * Update keyboards/xo87/rgb/rules.mk * Update keyboards/xo87/rgb/keymaps/via/keymap.c * Update config.h * Update keyboards/xo87/rgb/readme.md * Update keyboards/xo87/rgb/readme.md * Update keyboards/xo87/rgb/readme.md * Update keyboards/xo87/rgb/rules.mk * Update keyboards/xo87/rgb/rules.mk * Update keyboards/xo87/rgb/rules.mk * Update keyboards/xo87/rgb/rules.mk * Update keyboards/xo87/rgb/rules.mk * remove deprecated action_get_macro() * rearrange layout per request * rearrange layout per request * Update keyboards/xo87/rgb/rgb.h * Update keyboards/xo87/rgb/keymaps/default/readme.md * Update keyboards/xo87/rgb/readme.md * Bugfix for RGB Matrix * Bugfix for RGB Matrix * Moved to new subdirectory and updated build commands to reflect changes * Remove old files commit ffaaadc2700b2f81e05e960841209750a64e05f4 Merge: e0e67df933 03bacec87d Author: QMK Bot Date: Mon Jan 18 12:47:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 03bacec87da5482f700af9f138a0b9036dcbe2ad Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jan 18 04:45:56 2021 -0800 Naked64 Configurator update and rework (#11568) commit e0e67df933edd2b5740a19b49cf88084492c964c Author: Nick Brassel Date: Mon Jan 18 13:16:59 2021 +1100 ChibiOS conf migrations... take 9 (#11598) * ChibiOS conf upgrade for akegata_denki/device_one akegata_denki/device_one - 0d9f891416decbbb533c6c1147632ef7c55a2d9f * ChibiOS conf upgrade for ergodox_stm32 ergodox_stm32 - 72aeab1612ef73555a73dd60d005e671a90d7e2f * ChibiOS conf upgrade for jm60 jm60 - cc75e97727fadd939be4bdf7fa3714320465d3ef * ChibiOS conf upgrade for matrix/m20add matrix/m20add - b0dee0b4e8c0a94d55fea51c8699972f15483209 * ChibiOS conf upgrade for matrix/noah matrix/noah - 57a1c09cd24716863ce862e0b9cbca2a9c6fcebf * ChibiOS conf upgrade for nibiria/stream15 nibiria/stream15 - 610b151b02f5cac681c65fbd3f94a12312f99b82 * ChibiOS conf upgrade for xiaomi/mk02 xiaomi/mk02 - f92fcee777acc159c0af268e88b751fd1e33f74f commit 82a875056cc431d0424a41bb0b6d52090e98ad98 Merge: 31c57aab35 cc3f2e2865 Author: QMK Bot Date: Mon Jan 18 01:50:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit cc3f2e2865f317604d9781f12d0cefe0e3f74275 Author: Ryan Date: Mon Jan 18 12:49:25 2021 +1100 Remove `DESCRIPTION`, E-G (#11574) commit 31c57aab35e6fd49c4c8336f449419afe7630e93 Author: Nick Brassel Date: Mon Jan 18 05:12:15 2021 +1100 `qmk cformat` commit e702c7f1b4cfa8fe1579498ef2877994baa64056 Author: Nick Brassel Date: Mon Jan 18 05:01:38 2021 +1100 Keep track of last matrix activity. (#11552) Co-authored-by: Dasky Co-authored-by: Dasky commit d6d15b91f3a43b74f177fea9fd2f632eaf303696 Merge: 3a06e88566 e524e0a397 Author: QMK Bot Date: Sun Jan 17 17:46:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e524e0a397efe3424cffe6e9d75be5dcf589b685 Author: Nick Brassel Date: Mon Jan 18 04:45:21 2021 +1100 Add syscall fallbacks to ChibiOS builds (#11573) * Add fallback syscalls to ChibiOS builds that are present but able to be overridden as appropriate. * Modified location to be ChibiOS-specific. commit 3a06e88566f7a12a0fa99b79fa1a762432578e86 Merge: 98b1cccd12 da40242dbc Author: QMK Bot Date: Sun Jan 17 17:33:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit da40242dbc2b03437774a58bb7b8d35f4b59a2cd Author: Zach White Date: Sun Jan 17 09:33:29 2021 -0800 Generate version.h when compiling json files (#11581) * generate version.h when compiling json files * make flake8 happy * fix formatting and verbose * quiet up the compile output commit 98b1cccd12cad68f34bddf83ed3a2db52ebcd0f9 Merge: f08a11fad3 f0f6174136 Author: QMK Bot Date: Sun Jan 17 17:04:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f0f61741368eaa7c27873cf4592ab36c66788022 Author: nibiria <72472777+nibiria@users.noreply.github.com> Date: Sun Jan 17 12:03:53 2021 -0500 [Keyboard] add Stream15 keyboard (#11515) * add keyboard Stream15 * committted changes as suggested by drashna * committed further changes as suggested * Update info.json removed excessive comma * Update keyboards/nibiria/stream15/rules.mk Co-authored-by: Ryan * Update keyboards/nibiria/stream15/keymaps/via/rules.mk Co-authored-by: Ryan * Update keyboards/nibiria/stream15/readme.md Co-authored-by: Ryan * resolved 2 more issues Co-authored-by: Ryan commit f08a11fad33eb6e659a0a063473ff759f7840f9b Author: Nick Brassel Date: Mon Jan 18 00:53:03 2021 +1100 ChibiOS conf upgrade for hub20 (#11588) hub20 - 089b49b233c4e9b8ab643c6b338c91f5c3136e32 commit 5abe66674921094c2686b98a4c0d188088e43bb3 Merge: f35b1127fa d9785ec313 Author: Zach White Date: Sat Jan 16 15:21:06 2021 -0800 Merge remote-tracking branch 'origin/master' into develop commit d9785ec31339d7f80279fd3d1005f76689ed2f6a Author: Zach White Date: Sat Jan 16 15:13:04 2021 -0800 Improve the compile and flash subcommands (#11334) * add support for --clean to compile and flash * compile standalone JSON keymaps without polluting the tree * Add support for passing environment vars to make * make flake8 happy * document changes to qmk compile and flash * add -e support to json export compiling * Fix python 3.6 * honor $MAKE * add support for parallel builds commit f35b1127fa3662285f37a12632be385bd84b79d3 Merge: 296552e358 c628408688 Author: QMK Bot Date: Fri Jan 15 21:50:23 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c628408688306ed3e970505268cc4a235af8a5ff Author: ridingqwerty Date: Fri Jan 15 16:49:49 2021 -0500 New Keyboard: walletburner/cajal (#10458) * adding alpha variants * adding cajal layouts * adding V2 PCB support adding additional layouts for new PCB version, and correecting incorrect image in info file * Cleanup master -- remove alpha9 * Cleanup master -- remove g4m3ralpha * Cleanup master -- remove cajal & sl40 * Master cleanup -- re-add sl40 * Master cleanup -- correct SL40 image * New Keyboard: walletburner/cajal * Added license attribution to *.{c,h} files * Update keyboards/walletburner/cajal/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/walletburner/cajal/keymaps/ortho/keymap.c Co-authored-by: Drashna Jaelre * Rename 'ortho' keymap to 'default_ortho' * Update keyboards/walletburner/cajal/cajal.c Co-authored-by: Drashna Jaelre * Update readme.md Adding bootloader instructions. Co-authored-by: worldspawn00 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 296552e358b857efa40e87f45f3ff177a1f527a7 Merge: bd2764cccc 3d70766327 Author: QMK Bot Date: Fri Jan 15 21:43:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3d70766327422bcd918b6940298f7557ab10d248 Author: kb-elmo Date: Fri Jan 15 22:42:30 2021 +0100 Add BGR byte order for WS2812 drivers (#11562) * add byte order bgr for ws2812 * update docs for driver change * Update ws2812_driver.md * Update docs/ws2812_driver.md Co-authored-by: Ryan Co-authored-by: Ryan commit bd2764cccc3986e71d182b2cf2ead5ef04f0da41 Merge: 6525551357 0bf0977c02 Author: QMK Bot Date: Fri Jan 15 20:56:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0bf0977c02816c12fffc3fd75c11f66d044e0c20 Author: Reibl János Dániel Date: Fri Jan 15 21:56:21 2021 +0100 Modify my keymap (#11407) commit 6525551357479236ae2e0aeadccb59370933bc14 Merge: fef4ed568e fe14907039 Author: QMK Bot Date: Fri Jan 15 20:41:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fe14907039848b01cd9bfdd7c3a01f63e535f53f Author: Peter Peterson Date: Fri Jan 15 13:40:26 2021 -0700 Adds VIA support for the KPRepublic's BM60 Poker (#11267) * WIP working on new keymap * tweaking keymap * updated keymap * cleaned up a little bit * New preonic keymap * my preonic keymap * added mac layout * preonic map update * cleaning up old repo * cleaning up to match upstream * more cleanup * removing old keymaps * cleaned up commit history for bm60poker via support * cleaned up via keymap * fixed copywrite Co-authored-by: Peter Peterson commit fef4ed568e518ef37efad2f21d28c12438698983 Merge: ca7da3866d d72f5435fb Author: QMK Bot Date: Fri Jan 15 08:26:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d72f5435fb1e2a2584feeed2765ea5524daeda66 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jan 15 00:25:50 2021 -0800 Afternoon Labs Breeze Rev0: Configurator key sequence fix (#11550) * human-friendly formatting * correct key order commit ca7da3866d8a7a80e5c932ebac40fe0061d00c7f Merge: ab375d3d07 8cf5f72aad Author: fauxpark Date: Fri Jan 15 18:34:12 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit 8cf5f72aadc7f287b2716a174730a4b2cc26c900 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jan 14 23:26:30 2021 -0800 Cutie Club Borsdorf: Configurator key sequence fix (#11549) * human-friendly formatting * correct key order (ISO Enter) commit 6009a915147daad866cdfbfc51c5d0c39e29b42a Author: Ohashi <64592982+oha-Ohashi@users.noreply.github.com> Date: Fri Jan 15 15:27:21 2021 +0900 [Keyboard] Add cool836A 1_2 (#11467) * 1st trial on 1_2 * remove keymaps/default/km_default.c * fix cool836A.h * fix keymap.c into 3x12 * rename to cool836a (not 'A') * remove cool836A (not a) * remove backslashes at keymap.c Co-authored-by: Ryan * update keymap.c (add licence) * Update keyboards/cool836a/keymaps/default/readme.md removed "
" in line 2 Co-authored-by: Ryan * Update keyboards/cool836a/keymaps/default/readme.md remove "
" in line 4 Co-authored-by: Ryan * Update keyboards/cool836a/keymaps/default/readme.md remove "
" in line 8 Co-authored-by: Ryan * Update keyboards/cool836a/cool836a.h remove cool836a.h line 30:36 Co-authored-by: Ryan Co-authored-by: Ryan commit 84e2f1ec17f12234e6c795e3855914316812cd4d Author: Ryan Date: Fri Jan 15 14:32:00 2021 +1100 Adafruit BLE cleanups (#11556) commit f519a9908ee2bd1b34a92db22edd54f05c509617 Author: Ryan Date: Fri Jan 15 14:11:04 2021 +1100 arm_atsam: temporarily lower raw HID endpoint/report size (#11554) commit ab375d3d075c105f09a1ddd0e155f178225518bc Author: Nick Brassel Date: Fri Jan 15 06:55:07 2021 +1100 Revert "Keep track of last matrix activity (#10730)" This reverts commit 79d1db332477963555416d9fff82ecac4399bd52. commit f1b06d0ae782996e90b2dba03044cc39f079581d Author: Andy Date: Thu Jan 14 20:29:22 2021 +0100 [Keymap] Adds ymdk/ymd09 andys8 layout (#11320) Custom layout for macropad. It shows the usage of macros with unicode, and other layouts (ISO-DE) with unicode, emojis, and git commands. commit 345a041cf54d93cb35eabf429a6d99ae603760c4 Author: André Silva <123550+andresilva@users.noreply.github.com> Date: Thu Jan 14 19:29:00 2021 +0000 allow customizing decrease delay of rgb heatmap (#11322) * allow customizing decrease delay of rgb heatmap * rename rgb typing heatmap decrease delay variable * address review comments * nix-shell: add clang-tools required for formatting the C code * heatmap: use real timer to track decrement rate * heatmap: fix ifndef var name typo * heatmap: add docs * Update docs/feature_rgb_matrix.md Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit e9f73e54548a0eae05f62bebe25ea8cdd79dd991 Author: Domantas Date: Thu Jan 14 21:04:30 2021 +0200 [Keymap] Add domnantas lily58 keymap (#10910) * Initialize domnantas layout * Update oled status display * Layout and oled changes * Updates to keymap * Add F keys and page moves * Add media keys, rearrange home and end * Add instructions * Swap backspace and enter * Remove unnecesary Enter keymap * - Change display timeout - Update minus sign to work on both English and Lithuanian layouts * Add copyright header * Replace static strings with PSTR * Update keyboards/lily58/keymaps/domnantas/keymap.c Co-authored-by: Ryan * Update keyboards/lily58/keymaps/domnantas/keymap.c Co-authored-by: Ryan * Update keyboards/lily58/keymaps/domnantas/keymap.c Co-authored-by: Ryan * Update keyboards/lily58/keymaps/domnantas/keymap.c Co-authored-by: Ryan * Update keyboards/lily58/keymaps/domnantas/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit f325bd6eb28e6fb14c086e36ba09b66ea7041ce0 Author: Ryan Date: Fri Jan 15 05:00:04 2021 +1100 Remove `DESCRIPTION`, B-D (#11513) commit 4b4445290038d19e2f0b31c293f39628dd77cb12 Merge: 749d9f2227 3525a61baf Author: QMK Bot Date: Thu Jan 14 16:58:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3525a61bafea9e373b57d13e4f23247273e66e9d Author: Nick Blyumberg Date: Thu Jan 14 11:57:30 2021 -0500 Updated documentation for new BDN9 board revisions (#11380) Co-authored-by: Ryan Co-authored-by: Danny commit 749d9f2227422f8d70f1e37c913f62ed857fbcaf Merge: a668640a3f c46619d8fb Author: QMK Bot Date: Thu Jan 14 07:08:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c46619d8fbcbfca33987183441baaa242635e88d Author: Joshua Diamond Date: Thu Jan 14 02:07:47 2021 -0500 [Keyboard] eliminate nested layout warnings in kbd75 (#11540) commit a668640a3fbbdec382960600f865c0b5b89e6f5c Merge: 18ae86faf5 b323ab89e0 Author: QMK Bot Date: Thu Jan 14 07:03:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b323ab89e0092034e6a11e519ff566479df888b9 Author: melonbred <61572569+melonbred@users.noreply.github.com> Date: Wed Jan 13 23:03:12 2021 -0800 [Keyboard] Added Ortho support to Program Yoink kb (#11534) * Added Ortho support * Updated JSON commit 18ae86faf587642f860af7f1f92213aa6d8a3615 Merge: 15f0fa85c9 1f633c027b Author: QMK Bot Date: Thu Jan 14 07:01:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1f633c027b2bae2afadc90eee3222265ab5a840c Author: J.Flanagan Date: Thu Jan 14 01:01:14 2021 -0600 [Keyboard] Add VIA support for CA66 (#11522) * Add VIA support made changes to add VIA support for the CA66 - added VIA keymap.c, readme.md, rules.mk - changes made to main rules.mk to keep firmware size down (mousekey_enable = no; backlight_enable = no) - changed VENDOR_ID in config.h from 0xFEED to 0x504B (PK) * Minor changes to CA66 for VIA support edited keymap info enabled backlight * Update vendorID Change to vendorID to remove conflict with previously chosen vendorID already in use * Update keyboards/playkbtw/ca66/rules.mk Co-authored-by: Joel Challis * Update keyboards/playkbtw/ca66/keymaps/via/readme.md Co-authored-by: Joel Challis * Update keyboards/playkbtw/ca66/keymaps/via/keymap.c Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 15f0fa85c9c27a3c468b36310120a1f85577337d Merge: 3dfaf12030 1f38221ec5 Author: QMK Bot Date: Thu Jan 14 06:58:28 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1f38221ec5ea95429fe3dbc739065b5598fedfc9 Author: duoshock <33636898+duoshock@users.noreply.github.com> Date: Thu Jan 14 06:57:55 2021 +0000 [Keyboard] Add ISO Macro keyboard (#11517) * - * - * - * - * - Co-authored-by: online <33636898+online@users.noreply.github.com> commit 3dfaf12030fd3e0850e813061cea514364425630 Merge: 770e0f08d5 68c3773c8e Author: QMK Bot Date: Thu Jan 14 06:51:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 68c3773c8ee9d409b4234f7c55d83567982474d4 Author: Eithan Shavit Date: Wed Jan 13 22:51:24 2021 -0800 [Keyboard] Add new afternoonlabs/breeze/rev0 split keyboard (#11510) * Adding new breeze keyboard under afternoonlabs * Compiling only Rev0, moving readme there * Apply suggestions from code review Addressing review comments, removing legacy description config. Removing copy paste leftovers Co-authored-by: Drashna Jaelre * Addressing review, remove empty rules.mk * typos * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Eithan Shavit Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 770e0f08d51b23eeed65272ae57d00da2d065de3 Merge: ea7b82b33c 5dfb6459df Author: QMK Bot Date: Thu Jan 14 06:46:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5dfb6459df31ce1ca7dcbe57587733995a33de66 Author: Josh Johnson Date: Thu Jan 14 17:46:07 2021 +1100 [Keyboard] Add Hub20 keyboard (#11497) * add Hub20 support * Keymap formatting cleanup Co-authored-by: Ryan * Delete bootloader_defs.h as no longer required * Correct make / flashing example Co-authored-by: Ryan * Update rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit ea7b82b33ce128775a7a6c05b0fff519154a2e4e Merge: c7cfdd82bb d97d4794e0 Author: QMK Bot Date: Thu Jan 14 06:40:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d97d4794e050f2b7397e1ff586d91cdfb3c7d02b Author: koshinoya Date: Thu Jan 14 15:40:10 2021 +0900 [Keyboard] Add Rect44 keyboard (#11484) * Add Rect44 keyboard * Update keyboards/rect44/readme.md Co-authored-by: Joel Challis * Delete config.h files in keymaps * Update keyboards/rect44/rules.mk Co-authored-by: Ryan * Update keyboards/rect44/readme.md Co-authored-by: Ryan * Update keyboards/rect44/config.h Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit c7cfdd82bbc553f73096eedc5a3b789a84dec599 Merge: 3810bda5a5 b48a5b573f Author: QMK Bot Date: Thu Jan 14 06:39:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b48a5b573f6be52bfd87f88cd9c8903b2bc0915f Author: Adam Gwilliam Date: Thu Jan 14 00:39:15 2021 -0600 [Keymp] add gwillad's keymap for prime_e (#11477) * new keymap * Update keyboards/primekb/prime_e/keymaps/gwillad/keymap.c use a more concise pin setting method Co-authored-by: Drashna Jaelre Co-authored-by: Adam Gwilliam Co-authored-by: Drashna Jaelre commit 3810bda5a540ad26ad08668d9c6df49265c5aa48 Merge: 84e71ecf10 eb0ce0abc7 Author: QMK Bot Date: Thu Jan 14 06:02:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit eb0ce0abc7f04a56d11250f37f56cc6bd84d9eeb Author: qpockets <69164255+qpockets@users.noreply.github.com> Date: Thu Jan 14 01:01:58 2021 -0500 [Keyboard] Add space space keyboard (#11425) * add space_space keyboard * update space_space readme * fix space_space formatting issue * add layout readme, vid & pid * experiment * readme fix * readme fix * readme fix * readme formatting * readme formatting * readme formatting * Update keymap.c change I+O combo to O+P because of accidental activation * Update keymap.c change I+O combo to O+P because of accidental activation * Update readme.md change keymap readme to reflect keymap changes * Apply suggestions from code review remove deprecated "key count" from .json Co-authored-by: Drashna Jaelre * Apply suggestions from code review -move combo and modtap defines to the keymap level -formatting issues Co-authored-by: Joel Challis * move combo defines to keymap level and update config.h * Apply suggestions from code review add lower resolution readme picture and sleep LED note Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan commit 84e71ecf10fb44de1bf80af098c73dccd4217264 Merge: 1504b328d1 501f3ed419 Author: QMK Bot Date: Thu Jan 14 05:58:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 501f3ed419cc8a07d156e2cac0f40cfad2485847 Author: David Dejaeghere Date: Thu Jan 14 06:58:16 2021 +0100 [Keyboard] Adding new keyboard UD_40 ortho version (#11401) * Adding keyboard UD_40 Ortho * Update keyboards/mechstudio/ud_40_ortho/info.json Co-authored-by: Drashna Jaelre * Update keyboards/mechstudio/ud_40_ortho/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/mechstudio/ud_40_ortho/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/mechstudio/ud_40_ortho/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/mechstudio/ud_40_ortho/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/mechstudio/ud_40_ortho/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/mechstudio/ud_40_ortho/ud_40_ortho.h Co-authored-by: Drashna Jaelre * Update keyboards/mechstudio/ud_40_ortho/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/mechstudio/ud_40_ortho/ud_40_ortho.h Co-authored-by: Drashna Jaelre * Update keyboards/mechstudio/ud_40_ortho/rules.mk Co-authored-by: Drashna Jaelre * fixing syntax after merging suggestions * Update keyboards/mechstudio/ud_40_ortho/config.h Co-authored-by: Joel Challis * Update keyboards/mechstudio/ud_40_ortho/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/mechstudio/ud_40_ortho/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/mechstudio/ud_40_ortho/rules.mk Co-authored-by: Joel Challis * Update keyboards/mechstudio/ud_40_ortho/ud_40_ortho.h Co-authored-by: Joel Challis * Update keyboards/mechstudio/ud_40_ortho/rules.mk Co-authored-by: Joel Challis * Update keyboards/mechstudio/ud_40_ortho/config.h Co-authored-by: Ryan Co-authored-by: David Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan commit 1504b328d19001a1ca4cce59a16411888e5b77ae Merge: 8233ab83c2 8ea28429e9 Author: QMK Bot Date: Thu Jan 14 05:57:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8ea28429e90f9a1d6da34797a9af6e51bf56f1d3 Author: Christian Eiden Date: Thu Jan 14 06:56:22 2021 +0100 [Keymap] own Lily58 keymap (#11395) * [Keymap] own Lily58 keymap Signed-off-by: Christian Eiden * adjustments of personal keymap Signed-off-by: Christian Eiden commit 8233ab83c2290a6157cdd9c910b6a9bce188d46c Merge: e608447382 214528b1e7 Author: QMK Bot Date: Thu Jan 14 05:52:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 214528b1e77728adc2094752c84b9b0d919da86d Author: James <36494838+urbanvanilla@users.noreply.github.com> Date: Thu Jan 14 00:52:11 2021 -0500 [Keymap] urbanvanilla keymap for drop/alt (#11365) * added urbanvanilla keymap Urbanvanilla's keymap for massdrop/alt keyboard adds in an idle timer to turn off RGB after set amount of time. poor unsuccessful attempt at replicating a velocikey like functionality. Grave escape is enabled on ESC. * Update readme.md * updating documentation * Create readme.md * restoring default documentation * update with review changes implemented removed unnecessary lines and files. increased wait_us() parameter to 40 as was still getting chatter at 20. removed some code for the terrible rudimentary attempt at velocikey for rgb matrix * Update matrix.c * Revert "Merge pull request #3 from urbanvanilla/dev_branch" This reverts commit deb55d797a4629965c990ab507251489c578573d, reversing changes made to ba8817356f6c0881cf7f3214f7f1ebd31febceb5. * Update keymap.c * added urbanvanilla keymap Urbanvanilla's keymap for massdrop/alt keyboard adds in an idle timer to turn off RGB after set amount of time. poor unsuccessful attempt at replicating a velocikey like functionality. Grave escape is enabled on ESC. * Update readme.md * updating documentation * Create readme.md * restoring default documentation * update with review changes implemented removed unnecessary lines and files. increased wait_us() parameter to 40 as was still getting chatter at 20. removed some code for the terrible rudimentary attempt at velocikey for rgb matrix * Update matrix.c * Revert "Merge pull request #3 from urbanvanilla/dev_branch" This reverts commit deb55d797a4629965c990ab507251489c578573d, reversing changes made to ba8817356f6c0881cf7f3214f7f1ebd31febceb5. * Delete matrix.c * Update keyboards/massdrop/alt/keymaps/urbanvanilla/config.h Co-authored-by: Joel Challis * Update keymap.c * Update keymap.c * Update keyboards/massdrop/alt/keymaps/urbanvanilla/keymap.c Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit e60844738261d60b6fd03dec9285dff8487cbd00 Merge: 811e0155ef 523c8315a2 Author: QMK Bot Date: Thu Jan 14 05:52:00 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 523c8315a22772fc3e605e21b14821b148c48a09 Author: Richard Titmuss Date: Thu Jan 14 06:50:18 2021 +0100 [Keyboard] Improvements for the Torn keyboard (#11268) * Add bongo cat animation * Map all keys on base layer ... to make it easier to test newly built keyboards. The encoders are optional and can be placed in different locations. * Fix Torn in QMK configurator This removes additional variables defined in the keymap.c file, so that the default firmware can be compiled by the configurator. Co-authored-by: Richard Titmuss commit 811e0155ef2760db05350cc9c1a8718fbb6a2b99 Merge: 605d7c3ca2 73235e7ca0 Author: QMK Bot Date: Thu Jan 14 04:36:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 73235e7ca0295d2a0dc2d12c1e68fcb7a3ea3641 Author: Ananya Kirti Date: Thu Jan 14 10:06:00 2021 +0530 [Keyboard] Add support for hp69 (#11339) * init init * Update keyboards/hp69/config.h Co-authored-by: Joel Challis * Update keyboards/hp69/keymaps/via/rules.mk Co-authored-by: Joel Challis * Update keyboards/hp69/rules.mk Co-authored-by: Joel Challis * re-added audio support re-added audio support * Update keyboards/hp69/readme.md reduced the size of the default image Co-authored-by: Ryan * Update keyboards/hp69/readme.md Co-authored-by: Ryan * Update keyboards/hp69/info.json Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 605d7c3ca2175b0797e987ea31a526b1c9f1790b Merge: bf1d9de1d8 72ca319bee Author: QMK Bot Date: Thu Jan 14 00:18:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 72ca319beefcd479954d5fb08325c0187148b357 Author: Ryan Date: Thu Jan 14 11:17:47 2021 +1100 Uni660 refactor (#11526) commit bf1d9de1d8e78c7a70563517e1dde12fac9e6130 Merge: f4cf0d2f28 b5c2e5e8fd Author: QMK Bot Date: Thu Jan 14 00:12:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b5c2e5e8fddcdbbed955f438796db505270025ee Author: Erovia Date: Thu Jan 14 01:11:59 2021 +0100 Fix documentation so UCIS example compiles. (#11541) commit f4cf0d2f282dbf19ea3e0427a146d90c88e1904c Author: Zach White Date: Wed Jan 13 14:23:14 2021 -0800 remove duplicate manufacturer commit 3c8da5eba8f3e3f3d36fc2a531dd63998272f8ca Author: Zach White Date: Tue Jan 12 12:50:14 2021 -0800 move the info.json rules above userspace commit 70e143e0c1337cd952b763f643f3142b1c46951d Merge: 30cd3faf97 6e931cc90b Author: QMK Bot Date: Wed Jan 13 17:04:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6e931cc90b2524d56e118b37cd0e5b52a1931bb9 Author: Joel Challis Date: Wed Jan 13 17:04:18 2021 +0000 Fix leafcutterlabs/bigknob compiles in configurator (#11531) * Fix leafcutterlabs/bigknob compiles in configurator * Revert change commit 30cd3faf978cf86f1dc521f70891ebfff550797b Merge: 6155987d9f 6368a5697d Author: QMK Bot Date: Wed Jan 13 16:13:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6368a5697d157000fc92666b8f31602b5ca5ecb0 Author: Zach White Date: Wed Jan 13 08:12:28 2021 -0800 Exclude more keyboards from CI (#11436) * exclude all of handwired * exclude more keyboards from CI commit 6155987d9f582f4341f33ac3c4498b6417dbc67a Merge: 1ade5aa922 09835033da Author: QMK Bot Date: Wed Jan 13 04:53:32 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 09835033da0c20412de3ac8ec48117ef1413c6a5 Author: Ryan Date: Wed Jan 13 15:53:00 2021 +1100 keymap_fr_ch: undef `CH_H` (#11537) commit 1ade5aa9229b0dcf755e8d41b828d44767a9e6a8 Merge: 7cfcb0d271 b297f1ce8d Author: QMK Bot Date: Wed Jan 13 01:56:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b297f1ce8dfbaf4b45b54db918d779c4da291106 Author: Rob Hilgefort Date: Tue Jan 12 18:56:18 2021 -0700 [Keymap] rjhilgefort's Ergodox Infinity (#11345) * initial commit- copy of default * beginnings of ergodox layout conversion * from scratch 2020 RJH ergodox layout! * remove extra line in keymap * only shift to layers, led work * Fleshed out readme * tweak alt placement * updated readme * PR feedback, updated default layer * Update keyboards/ergodox_infinity/keymaps/rjhilgefort/keymap.c Co-authored-by: Ryan Co-authored-by: Ryan commit 7cfcb0d271a5cd31ff3830494178db4fed0997b5 Merge: 302b35c2a0 c81e07fef5 Author: QMK Bot Date: Wed Jan 13 01:53:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c81e07fef5938a30ebf87b7e2beb99f8c135c59c Author: Dan Hertz Date: Tue Jan 12 17:53:15 2021 -0800 [Keymap] Add dhertz' kanu layout (#11346) * Add dhertz' kanu layout * Fix delete button * Add weak user layer change commit 302b35c2a0ac90208e523944e8cc4b44a793d8d5 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Wed Jan 13 10:46:22 2021 +0900 fix matrix_io_delay() timing in quantum/matrix.c (#9603) * fix matrix_io_delay() timing in quantum/matrix.c * Updated comments explaining the need for matrix_io_delay() in quantum/matrix.c * fix matrix_io_delay() timing in quantum/split_common/matrix.c * Update quantum/matrix.c Co-authored-by: Ryan * Update quantum/split_common/matrix.c Co-authored-by: Ryan * Update quantum/matrix.c Co-authored-by: Ryan * Update quantum/split_common/matrix.c Co-authored-by: Ryan * add waitOutputPinValid() and wait_cpuclock() into quantum/quantum.h and tmk_core/common/wait.h * add matrix_output_select_delay() and matrix_output_unselect_delay() * fix quantum/matrix_common.c, tmk_core/common/matrix.h * fix tmk_core/common/wait.h * fix quantum/quantum.h, tmk_core/common/wait.h * waitOutputPinValid() rename to waitInputPinDelay() in quantum/quantum.h. * waitOutputPinValid() rename to waitInputPinDelay() in quantum/matrix_common.c * update tmk_core/common/wait.h * update comment in quantum/matrix.c, quantum/split_common/matrix.c * update quantum/quantum.h: Make more margin in the GPIO_INPUT_PIN_DELAY default value. Co-authored-by: Ryan commit 017aa5988af308ae6d585b4afea6f28c28e2d238 Author: Nick Brassel Date: Wed Jan 13 11:19:56 2021 +1100 ChibiOS conf migrations... take 7 (#11529) * ChibiOS conf upgrade for alpine65 alpine65 - 91e88b87653234a9023f4ad98913a6ea52c8b3fb * ChibiOS conf upgrade for cannonkeys/onyx cannonkeys/onyx - 2adf507afd4e288761a675de9cfbb6e34c540e29 * ChibiOS conf upgrade for ck60i ck60i - 98be5d22a3cd1b38d92e080f32c4795260db181b * ChibiOS conf upgrade for cutie_club/borsdorf cutie_club/borsdorf - 81734ebf770ab731ca8dcfac6fce5574e948890e commit 42f404d85413de20fb8d1434d8522ac777e6997a Merge: f4b0cd3dfa 1eaad6dd65 Author: QMK Bot Date: Wed Jan 13 00:00:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1eaad6dd65db8d6d9f7e893ca6f354002d2dec61 Author: Joel Challis Date: Tue Jan 12 23:58:01 2021 +0000 Fix inverted indicator leds on kbdfans/kbd19x (#11532) commit f4b0cd3dfac13da323865b10f8e11b3464b925d5 Merge: d96463ce12 5e46f72f75 Author: QMK Bot Date: Tue Jan 12 20:59:53 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5e46f72f75aacd7acbc22fa223e9d03da666ab4d Author: Sascha Grunert Date: Tue Jan 12 21:59:18 2021 +0100 [Keymap] keymap/sascha: disable autoshift (#11525) Signed-off-by: Sascha Grunert commit d96463ce12d148262bc6351b173ca8ffcbf98ee5 Merge: 9b9012767c 16d43af493 Author: QMK Bot Date: Tue Jan 12 12:34:34 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 16d43af49392e4cd26b4399042da54e62baaf6ff Author: Drashna Jaelre Date: Tue Jan 12 04:33:55 2021 -0800 [Keyboard] Fix printf calls in Moonlander matrix (#11511) commit 9b9012767c20fe107d44d9c1b858e97cc243f344 Merge: 1c0ccf9aaf 68f321f24b Author: QMK Bot Date: Tue Jan 12 12:21:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 68f321f24bae16222ef8d2803caf5143ca4eb83a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jan 12 04:21:13 2021 -0800 Acheron Lasgewloth: layout macro rework (#11523) * Acheron Lasgewloth: layout macro rework Arrange the layout macro to match the assembled board. * rename layout macro The layout supported is equivalent to 60% ANSI with split Backspace and split Right Shift, and supports every extant switch position. Adds community layout support. * add LAYOUT_60_ansi support * add Configurator data * convert tabs to spaces in lasgweloth.h commit 1c0ccf9aaf91dc8eae44ea0e78e9321a7ed7d5c9 Merge: 79d1db3324 8729afece5 Author: QMK Bot Date: Tue Jan 12 12:15:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8729afece5b2dd304d7eab07cffd0897a3759698 Author: Ryan Date: Tue Jan 12 23:14:32 2021 +1100 Telophase: add info.json (#11524) commit 79d1db332477963555416d9fff82ecac4399bd52 Author: Nick Brassel Date: Tue Jan 12 19:48:24 2021 +1100 Keep track of last matrix activity (#10730) * Allow recording of the last matrix activity time, to simplify implementation of display timeouts and the like. * Add requested changes from code review. * Simplify split matrix last changed. commit a2aed8ebd7f7501cc33af4cae26608447209a65b Merge: 1e061c7d59 5127ef1f02 Author: QMK Bot Date: Mon Jan 11 19:02:54 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5127ef1f022619f712d47363659405de439a98d8 Author: Vlad K Date: Mon Jan 11 11:02:00 2021 -0800 [Keymap] vladkvit keymap for keebio/bfo9000 (#10825) * layouts for bfo9000 * cleaning up layout * moved to a better layout name * Added readme * Removed zip, updated license * Removed layers.json * Update keyboards/keebio/bfo9000/keymaps/vladkvit/keymap.c removing trailing backslashes Co-authored-by: Ryan * Update keyboards/keebio/bfo9000/keymaps/vladkvit/keymap.c Co-authored-by: Joel Challis Co-authored-by: Vlad Kvitnevskiy Co-authored-by: Ryan Co-authored-by: Joel Challis commit 1e061c7d590166cd778f36c108dda0bcc0596135 Merge: 4244c306a8 e941f04891 Author: QMK Bot Date: Mon Jan 11 16:06:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e941f048919bba052fd326eadc5acd2347e6756e Author: Sergey Shulepov Date: Thu Dec 10 16:43:29 2020 +0100 Fix macOS build commit 4244c306a884ff62a122fef7ff927f05140169b9 Merge: 415d683ea7 11bd51441b Author: QMK Bot Date: Mon Jan 11 09:27:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 11bd51441ba8dac645d0a61c4e700158fd4cc148 Author: Nick Brassel Date: Mon Jan 11 20:26:28 2021 +1100 Fixup line endings. commit 415d683ea71d516dd2a7d4f2f8e43eb4e3e993cb Author: Ryan Date: Mon Jan 11 20:25:45 2021 +1100 Remove unused `action_get_macro()` usages in user files (#11165) commit 5ee3cb385fd085bbe76e98e8c208ca2ac7ea4871 Merge: 120c87b630 76e88e228b Author: QMK Bot Date: Mon Jan 11 09:23:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 76e88e228b9351b48949c5b7613f9d168a97f386 Author: wangyifu <18438880@qq.com> Date: Mon Jan 11 17:22:43 2021 +0800 [Keyboard] latin64ble Keyboard (#10884) * Update rules.mk * Update config.h * Update keyboards/latinpad/config.h Co-authored-by: Joel Challis * Create rules.mk * Create config.h * Create latin64ble.h * Create latin64ble.c * Create keymap.c * Create keymap.c * Create rules.mk * Create readme.md * Update rules.mk * Update rules.mk * Update keymap.c * Update keymap.c * Update rules.mk * Update readme.md * Update keyboards/latin64ble/config.h Co-authored-by: Drashna Jaelre * Update keyboards/latin64ble/config.h Co-authored-by: Drashna Jaelre * Update keyboards/latin64ble/rules.mk Co-authored-by: Drashna Jaelre * Update config.h * Update rules.mk * Update config.h * Update keymap.c * Update rules.mk * Update keymap.c * Update keymap.c * Update latin64ble.h * Update rules.mk * Update rules.mk * Update keymap.c * Update keymap.c * Update keyboards/latin64ble/rules.mk Co-authored-by: Ryan * Update keyboards/latin64ble/rules.mk Co-authored-by: Ryan * Update keyboards/latin64ble/rules.mk Co-authored-by: Ryan * Update readme.md * Update readme.md * Update keyboards/latin64ble/readme.md Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 120c87b630afca96ab15192f93137bb3477a4a38 Merge: 378edd9491 554b937d21 Author: QMK Bot Date: Mon Jan 11 09:21:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 554b937d21f8c50515c22498f4f46df0b3ae6569 Author: yonatanzunger <30514250+yonatanzunger@users.noreply.github.com> Date: Mon Jan 11 01:21:44 2021 -0800 [Keymap] Redo the accent implementation in melody96:zunger. (#11000) The previous implementation generated accents in NFKD -- e.g., i followed by fn+e would generate í, which is actually an ordinary i followed by U+0301 COMBINING ACUTE ACCENT. Unfortunately, it turns out that a bunch of websites and apps (especially European ones written in languages that use these a lot) were very poorly written, and will misparse and/or crash if presented with Unicode NFKD. They require and expect NFKC, with characters like í (U+00ED LATIN SMALL I WITH ACUTE) that look visually identical -- and are in fact normalization-equivalent -- but have to be encoded differently. The new accent implementation handles this in a very flexible way. Many new comments added as well, as it's also clear that this is going to need a bit more expansion before it becomes a true polyglot keymap. Co-authored-by: Yonatan Zunger commit b113888ec55e456ffcff2d6b04ad29309d01b325 Author: Vinam Arora Date: Mon Jan 11 14:51:19 2021 +0530 [Keyboard] Add 0-Sixty (#11303) * New keyboard: 0-Sixty * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit 378edd9491f2ab0d3d8a970c9a8e64bc03ca15cf Author: Nick Brassel Date: Mon Jan 11 20:20:51 2021 +1100 Fixup line endings. commit b3f0e6a80611c6516e43d34ec26a988c4b4666c9 Merge: f452eeb0ba f8cbad20ab Author: QMK Bot Date: Mon Jan 11 09:05:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit f8cbad20abed635320d6c2dd8c367f66e38d5a60 Author: ridingqwerty Date: Mon Jan 11 04:05:07 2021 -0500 [Keyboard] Correct edc40.h and config.h (#11508) commit f452eeb0baf595ff48f379d99aeea10d928c1730 Merge: 3bc436988d 6b2f9e3015 Author: QMK Bot Date: Mon Jan 11 08:55:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6b2f9e3015c1cce72ca2e88eadd5a5f4b5e514e3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jan 11 00:55:06 2021 -0800 [Keyboard] Basketweave: Configurator fix (#11506) * rework layout macro Rework the layout macro so it's arranged the way the hardware is. * info.json: use debug linting * info.json: rebuild to correct key sequence * white-space formatting Makes the keymap and layout macro a bit more representative of where everything is. commit 3bc436988d0a58fdd735495f07aa741660ab8e71 Merge: 5193a8d569 d8b9825a8b Author: QMK Bot Date: Mon Jan 11 08:47:07 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d8b9825a8bb9d249ead4194accf47b13014e5346 Author: Ryan Date: Mon Jan 11 19:47:02 2021 +1100 Remove `DESCRIPTION`, 0-A (#11369) commit aa0e33eca01ffcc1bae1fa97846e997de2759bea Author: Ryan Date: Mon Jan 11 19:46:30 2021 +1100 Add support for shared EP on V-USB boards (#11103) commit 5193a8d569ef96d5e675a210abc1c4a2e980fdaa Merge: 6f9db2b48e 407e5be34d Author: QMK Bot Date: Mon Jan 11 08:30:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 407e5be34d6693ba1625391a6659291b6f281918 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jan 11 00:29:44 2021 -0800 [Keyboard] whale/sk/v3: Configurator fix (#11490) * whale/sk/v3: info.json debug linting * LAYOUT_all key sequence fix * remove `key_count` key * LAYOUT_right_half_only dead-space removal Removes the dead space from the QMK Configurator rendering. commit 6f9db2b48e35e13930700152738579eb5f94a839 Merge: 4fdde32346 4d96b85b6f Author: QMK Bot Date: Mon Jan 11 08:07:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4d96b85b6f39e89bdcc74853958f91153f27bfc1 Author: Joshua Diamond Date: Mon Jan 11 03:07:09 2021 -0500 Lighting Layers should be disabled when suspended (#11442) * Lighting Layers should be disabled when suspended * bugfixes commit 4fdde323466a80d8abc204e093038a00047d0097 Merge: 49e673861d d877f40b70 Author: QMK Bot Date: Mon Jan 11 08:05:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d877f40b7076ed1594aef61aff7940793b896403 Author: Callum Hart Date: Mon Jan 11 08:04:28 2021 +0000 [Keyboard] Add Borsdorf keyboard (#11474) * Add Borsdorf * Delete config.h * Add basic VIA keymap * Update default keymap * Default now uses layout_all * Default now has layer with reset key * Fix missing comma in borsdorf keymap * Update rules.mk to be less specific * Update chibiOS files * Update keymaps to swap GUI and Alt keys * Delete unnecessary readme * Update VIA keymap to match default * Remove boilerplate from readme * Udate Copyright message * Remove unused key from LAYOUT_rshift * Update borsdorf.c Remove unnecessary boiler plate Co-authored-by: Joel Challis * Add copyright message to VIA keymap Co-authored-by: Joel Challis * Fix missing directory in readme Co-authored-by: Joel Challis * Fix incorrect rules.mk * Update BOOTMAGIC_ENABLE to the preferred lite Co-authored-by: Joel Challis * Remove redundant description from config Co-authored-by: Joel Challis * Update keyboards/cutie_club/borsdorf/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/cutie_club/borsdorf/keymaps/via/keymap.c Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 49e673861dc578e9330d666a0b1e731c4646c31e Merge: cf95a07ae8 ebfe668fff Author: QMK Bot Date: Mon Jan 11 07:56:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ebfe668fff54a3fd0731ca26a0a38bf33cab7ee7 Author: Ben Date: Mon Jan 11 08:55:42 2021 +0100 [Keyboard] Add Kimiko keyboard (#11458) * add keycapsss/kimiko split keyboard * add kimiko rgb matrix keymap (only master working) * move rgb_matrix_driver definiton to rev1 folder * add comments to rgb matrix code * add power draw limitation for ios * add SPLIT_TRANSPORT_MIRROR to kimiko * Add oled code and font for kimiko * Edit default keymap and add copyright entries * Improve typo style * Add info.json for Kimiko * Add readme * Remove split matrix code * Add image and more feature informations * Fix indention * Add make command example * Update keyboards/keycapsss/kimiko/readme.md Co-authored-by: Joel Challis * Update keyboards/keycapsss/kimiko/rules.mk Co-authored-by: Joel Challis * Update keyboards/keycapsss/kimiko/rules.mk Co-authored-by: Joel Challis * Update keyboards/keycapsss/kimiko/rules.mk Co-authored-by: Ryan * Update keyboards/keycapsss/kimiko/readme.md Co-authored-by: Joel Challis Co-authored-by: Joel Challis Co-authored-by: Ryan commit cf95a07ae8da6f8f93296efc8e1f2958e18bad04 Merge: 01a923f217 e71f7a1c9f Author: QMK Bot Date: Mon Jan 11 07:41:01 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e71f7a1c9f09ed7c813ee4757e161b79ed1b73ff Author: Álvaro A. Volpato Date: Mon Jan 11 04:40:26 2021 -0300 [Keyboard] CK60i support (#11432) * Initial CK60i support * Update README, add HAL_PWM and remove AUDIO and BLUETOOTH from rules.mk * VIA support * Fix VIA_ENABLE to 'yes' * Remove CONSOLE_ENABLE from rules.mk * attribute weak for encoder callback * Remove KC_NO definition from default keymap Co-authored-by: Gondolindrim commit 01a923f2171dd6d0e349cec8d5fb82df9ec110f5 Merge: 35b8582e31 2e0f4d7e2a Author: QMK Bot Date: Mon Jan 11 07:13:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2e0f4d7e2a5440599d7f89cad133add7974d6c63 Author: Christian Eiden Date: Mon Jan 11 08:12:39 2021 +0100 [Keymap] own Redox keymap (#11394) Signed-off-by: Christian Eiden commit 35b8582e31c153cac9b0367fddc8e59ffd5a477d Merge: 9b2a52ff20 83176b748a Author: QMK Bot Date: Mon Jan 11 07:12:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 83176b748af1811a569969d0e9ec38d4f6371f9b Author: Giorgi Chavchanidze <76832811+gkbd@users.noreply.github.com> Date: Mon Jan 11 08:12:07 2021 +0100 [Keymap] Georgian linear keymap for idobo (#11386) * Georgian linear layout for idobo keyboard * fixup! Keymap formatting Co-authored-by: Giorgi Chavchanidze commit 9b2a52ff20ee00d4b3b2df2a874dc9ca45875f0f Merge: 837aa75666 0728200e28 Author: QMK Bot Date: Mon Jan 11 07:11:51 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0728200e28102c78bde5f1608633f461ced48df7 Author: Rob Hilgefort Date: Mon Jan 11 00:11:42 2021 -0700 [Keymap] revamped rjhilgefort planck keymap (#11385) commit 8e70c4d94356780a51e121e6254e8fa5cbc91147 Author: Rob Hilgefort Date: Mon Jan 11 00:11:17 2021 -0700 [Keymap] rjhilgefort's Corne KBD (#11381) * initial crkbd rjhilgefort keymap * finished v1 of rjhilgefort's crkbd keymap * Update keyboards/crkbd/keymaps/rjhilgefort/readme.md Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/rjhilgefort/readme.md * Update keyboards/crkbd/keymaps/rjhilgefort/readme.md * Update keyboards/crkbd/keymaps/rjhilgefort/readme.md Co-authored-by: Ryan commit 837aa75666be0fccffa8c70b5e6e150c6e561fbf Merge: 6e8adeeaac 68b58624d6 Author: QMK Bot Date: Mon Jan 11 07:05:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 68b58624d6bebb437bad9c625906de0ceb9db80c Author: Nick Blyumberg Date: Mon Jan 11 02:05:11 2021 -0500 [Docs] Update feature_rgblight.md (#11363) * Update feature_rgblight.md The note is meant to let people know that this is specific to RGB Backlight and does not work with RGB Matrix based implementations. * Update docs/feature_rgblight.md Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 6e8adeeaacd8cdc83422494e3d525caeded6fe9e Author: Joshua Diamond Date: Mon Jan 11 02:04:42 2021 -0500 Refine twinkle to be smoother (use breathing curve) (#11350) * Refine twinkle to be smoother (use breathing curve) * tune more for firmware size * fix bug when v=255 ~ drashna approved ~ commit ff2bd2ee18c91d290ecabf64215a4bad5e67a168 Merge: 7464c1d330 4ae5c3a905 Author: QMK Bot Date: Mon Jan 11 07:03:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4ae5c3a90567cd793a36fea03a807e82ed85eb49 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Mon Jan 11 02:03:12 2021 -0500 [Keymap] stanrc85 Keymap/userspace updates (#11349) * keymap updates * adding fanfare back commit 7464c1d3308666e04c89dfd7e19ba1e7e7f62ec6 Merge: e5b292edf2 4c48518a4e Author: QMK Bot Date: Mon Jan 11 07:02:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4c48518a4ef25f52a9a5d214041c9aeb3e0546df Author: misonoworks <63772942+misonoworks@users.noreply.github.com> Date: Sun Jan 10 23:01:35 2021 -0800 [Keyboard] Add Karina keyboard (#11347) * add karina keymap * Update info.json * Add files via upload * Update readme.md * Update info.json * Update info.json * Update keyboards/misonoworks/karina/rules.mk Co-authored-by: Ryan * Update keyboards/misonoworks/karina/rules.mk Co-authored-by: Ryan * Update keyboards/misonoworks/karina/config.h Co-authored-by: Ryan Co-authored-by: autumnisacutie <63772942+autumnisacutie@users.noreply.github.com> Co-authored-by: Ryan commit e5b292edf2263f4cee58e5b2fc7d47e6034d844a Merge: a7daa5dda4 135d28d2fb Author: QMK Bot Date: Mon Jan 11 06:55:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 135d28d2fb3234dab3ef5353b47ec5838534e39d Author: Daniel Rodríguez Rivero Date: Mon Jan 11 07:55:20 2021 +0100 [Keymap] Danielo515/redox_w (#11340) * chore: pulled the latest from master Bring my redox layout from my latest redox branch Bring my latest user stuff from my redox branch * Update users/danielo515/config.h Co-authored-by: Drashna Jaelre * chore: some more layouts * feat: add gaming layer (has a bug) * chore: more gaming layout * chore: deactivate gaming layer when switching * chore: simplify gaming toggle * Update .vscode/settings.json Co-authored-by: Drashna Jaelre commit a7daa5dda43567a2f4e5b405b75e0bd2dc45c9b1 Merge: 09243ae686 fd80b2581e Author: QMK Bot Date: Mon Jan 11 06:40:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fd80b2581e0345c3aebeb200e3451773fef77728 Author: jackytrabbit Date: Mon Jan 11 14:40:24 2021 +0800 [Keyboard] Add the 'THE40' (#11317) * Add support for keyboard 'THE40' Add support for keyboard 'THE40' * Update keyboards/lazydesigners/the40/the40.c Co-authored-by: Joel Challis * Update keyboards/lazydesigners/the40/readme.md Co-authored-by: Ryan * Update the40.h Add layout option. * Update info.json Add layout option. * Update keymap.c Change for layout option. * Update keyboards/lazydesigners/the40/readme.md Co-authored-by: Ryan * Update keyboards/lazydesigners/the40/readme.md Co-authored-by: Ryan * Update keyboards/lazydesigners/the40/readme.md Co-authored-by: Ryan * Update keyboards/lazydesigners/the40/config.h Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 09243ae686f51a26eff110eedb17a99ac055aca3 Merge: d758496ad1 beace23bca Author: QMK Bot Date: Mon Jan 11 06:38:39 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit beace23bca43347e61c3f6915af5666e7918599e Author: Eshan Date: Sun Jan 10 22:38:06 2021 -0800 [Keymap] Adding my Planck Keymap (#11315) * Adding keymap files * Added compatible license header to config file * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit d758496ad1885c20734233ec9da501daf2232276 Merge: 3cdccc3351 abda419f5a Author: QMK Bot Date: Mon Jan 11 06:27:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit abda419f5a7a177d213748f47cb0e5fc39920ce6 Author: Moritz Date: Mon Jan 11 07:26:34 2021 +0100 [Keyboard] Add isometria 75 keyboard (#11210) * added isometria_75 * added missing license header * added reset explanation * Update keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/ebastler/isometria_75/rev1/config.h Co-authored-by: Drashna Jaelre * Update keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * renamed uppercase readme * Update keyboards/ebastler/isometria_75/rev1/info.json Co-authored-by: Ryan * Update keyboards/ebastler/isometria_75/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/ebastler/isometria_75/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/ebastler/isometria_75/rev1/rev1.c Co-authored-by: Ryan * changed configs to only necessary lines Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 3cdccc33510998d92eedeee2f981c4671cb3a346 Merge: f668ef5896 29fcd5418a Author: QMK Bot Date: Mon Jan 11 06:23:15 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 29fcd5418a1b6aad0052c97551ed99220ab9a40a Author: Carsten Rose Date: Mon Jan 11 07:22:44 2021 +0100 [Keyboard] Add support for idobao id80 iso layout (#11246) * add support for idobao id80 iso layout * This change is required as there is a logic bug on the board that C7 (capslock) is inverted thus lowercase is with light on. Mind the ! in the write to the pin. * Apply suggestions from code review All fine for me, thanks for the additional information! Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * move device information to separate config.h for id80 iso and ansi * commit via keymap similar to default. There is a problem with mapping compiling vor via, resulting in KC_ENT residing on KC_PGDN. Switching off via support in rules.mk makes the keyboard behave fine * change KC_BSLS to KC_NUHS as this is an iso board Co-authored-by: Carsten Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit f668ef5896c6bb5feea2440bb75ea3282d0a3f52 Merge: 7d9829af4c 3f6de1ef54 Author: QMK Bot Date: Mon Jan 11 06:22:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3f6de1ef546f5c8e355ce111f3602ca70bb60fc0 Author: johannesk Date: Mon Jan 11 07:21:27 2021 +0100 [Keyboard] wheatfield/split75 with ISO layout (#11271) The pcb used for wheatfield/split75 supports ANSI and ISO layout. This commit adds the ISO variant. With suggestions from code review: Co-authored-by: Drashna Jael're Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 7d9829af4c25d5b6fd31bd505d7bdb46e58c5425 Merge: 0ff2d76f10 b1419742a5 Author: QMK Bot Date: Mon Jan 11 06:18:36 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b1419742a51cd597548dff0059a4ba3781e9b984 Author: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Mon Jan 11 14:18:28 2021 +0800 [Keyboard] Add the [n]40-o (#11286) * Create Alter folder * Revert "Create Alter folder" This reverts commit 361103b821dbb22957b66cdedb0d11f996def71c. * Added the n40_o folder * Edited info.json, n40_o.h and rules.mk * Edited readme as per comment commit 65d8ac47598aa4aa439181627743749d18a19558 Author: Andrew Kannan Date: Mon Jan 11 01:18:01 2021 -0500 [Keyboard] Add Onyx keyboard to QMK (#11292) * Add Onyx keyboard to QMK * Apply suggestions from code review Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 0ff2d76f1086945c5e79ee9743516f912987316a Merge: da5ea61adf 8657f54f9e Author: QMK Bot Date: Mon Jan 11 05:56:14 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8657f54f9eee97c1905b8fa347497a518f147455 Author: Ramon Imbao Date: Mon Jan 11 13:55:32 2021 +0800 [Keyboard] Add Herringbone Pro, re-organize herringbone folder (#11115) * Add Herringbone Pro, reorganize herringbone folder * Finish encoder functionality * Change image in readme * Fix info.json * Flip encoder direction * Update keyboards/ramonimbao/herringbone/pro/config.h Co-authored-by: Ryan * Update keyboards/ramonimbao/herringbone/pro/rules.mk Co-authored-by: Ryan * Update keyboards/ramonimbao/herringbone/pro/rules.mk Co-authored-by: Ryan * Update keyboards/ramonimbao/herringbone/pro/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Add OLED support, split space, default folder * Fix LAYOUT_all in info.json * Remove WPM feature * Add readme to top level herringbone folder * Re-add WPM because now the OLED won't turn back on lol * Add missing timer_read32 * Add OLED wakeup on knob use * Update keyboards/ramonimbao/herringbone/v1/rules.mk Co-authored-by: Ryan * Update keyboards/ramonimbao/herringbone/v1/rules.mk Co-authored-by: Ryan * Update keyboards/ramonimbao/herringbone/pro/rules.mk Co-authored-by: Ryan * Update keyboards/ramonimbao/herringbone/pro/rules.mk Co-authored-by: Ryan * Add small QoL improvments for tapping * Update keyboards/ramonimbao/herringbone/readme.md Co-authored-by: Erovia * Add bootloader instructions and improve LAYOUT_all a bit * Update keyboards/ramonimbao/herringbone/pro/pro.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ramonimbao/herringbone/pro/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ramonimbao/herringbone/pro/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ramonimbao/herringbone/pro/keymaps/iso/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ramonimbao/herringbone/v1/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Erovia commit da5ea61adf571799d7737e6f4f0c4706dbade836 Merge: 14d2e40bab 466424c3c2 Author: QMK Bot Date: Mon Jan 11 05:49:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 466424c3c2952f4d102036b8e250b417dd8d9b98 Author: Roger Date: Sun Jan 10 21:49:19 2021 -0800 [Keymap] Quefrency layout for rogthefrog (#11140) * noop; indent and comment cleanup * config for rogthefrog layout * removed encoder function as there is no encoder on this pcb * removed unnecessary declaration * replaced individual constants with an enum for extensibility * removed unused enum * Added GPL license language * added copyright for my changes, per GPL * noop; removed unneeded line continuations; fixed indentation commit 14d2e40babc0d52ce3b69809da2647b6dfe1df14 Merge: 1e0866325c efbaf68d5a Author: QMK Bot Date: Mon Jan 11 05:49:10 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit efbaf68d5ace3a8f574cc1e3ae375a9f1d7fd0ba Author: L. K. Post Date: Mon Jan 11 06:48:29 2021 +0100 Fix documentation of `lsusb` behaviour (#10903) commit 1e0866325c07c32a029cc5d762c36f73e6e320f1 Merge: a06dda15e4 e688f2286f Author: QMK Bot Date: Mon Jan 11 05:42:25 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e688f2286ff382e446804c8676443ed79cde8659 Author: Álvaro A. Volpato Date: Mon Jan 11 02:41:53 2021 -0300 Alpine65 (#11223) * Initial ALPINE65 support * Fix RGB LED number Co-authored-by: Gondolindrim commit a06dda15e44438f11da1e4f7c47e9c747c9dc273 Author: Aplyard <40563350+Aplyard@users.noreply.github.com> Date: Mon Jan 11 07:31:42 2021 +0200 [Keyboard] Added rev2 & move rev1+rev2 to parent folder (#10973) * rev2 and move parent folder Moved aplx6 to parent folder, renamed it to rev1 and added rev2 * Update keyboards/aplx/aplx6/rev1/config.h Co-authored-by: Drashna Jaelre * Update keyboards/aplx/aplx6/rev2/config.h Co-authored-by: Drashna Jaelre * Update keyboards/aplx/aplx6/rev2/rev2.c Co-authored-by: Drashna Jaelre * Update keyboards/aplx/aplx6/rev2/rules.mk Co-authored-by: Drashna Jaelre * license * Update keyboards/aplx/aplx6/rev2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/aplx/aplx6/rev2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/aplx/aplx6/rev2/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/aplx/aplx6/rev2/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/aplx/aplx6/rev2/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/aplx/aplx6/rev2/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/aplx/aplx6/rev2/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * layer definition * parent folder rename after suggestion * build instructions * update Hardware Availability links Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit a15c9057a1f52e28229dd466f51ae4f4f9ecdb81 Author: Zach White Date: Sun Jan 10 20:47:58 2021 -0800 Document how to add data driven configurations (#11502) * describe how data driven configuration works * Apply suggestions from code review Co-authored-by: ridingqwerty Co-authored-by: Erovia Co-authored-by: ridingqwerty Co-authored-by: Erovia commit 42f9d5c8773823fc60f7258bb5c73aa353949bd3 Merge: 64009220d3 ffd8ff642d Author: QMK Bot Date: Mon Jan 11 03:14:17 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit ffd8ff642d4257fa588d9f42144d923bd570bbbd Author: Alexander Tulloh Date: Mon Jan 11 14:13:47 2021 +1100 [Keyboard] Oddball keyboard and optical sensor update (#10450) * Add oddballl v2 - add CPI options - add scroll support - add click-and-drag support - PMW3360 implementation - ADNS9800 improvements * Set default make directory * Update readme with PMW config * Change bootloader * Update unused pins on v2 * Remove diode switch * Move bootloader selection to keyboard version level * Change default keyboard folder to v1 * Move sensor selection to keymap * Remove PK debounce * Change to only send mouse report on change * Change CPI function cpi type * Remove EEPROM state check * Update CPI to only change on key down * Fix incorrect F8 in keymap * Add v2.1 with more convenient controller pinout * Add keyboard readmes * Update keyboards/oddball/pmw/pmw3360_srom_0x04.h Remove direct AVR reference Co-authored-by: Ryan * Remove direct AVR reference Co-authored-by: Ryan Co-authored-by: Alexander Tulloh Co-authored-by: Ryan commit 64009220d3fe0abf53fbf44da903218c8860bb17 Merge: 36a70e117a 6edbd845eb Author: QMK Bot Date: Mon Jan 11 02:58:47 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6edbd845ebda0b67e9d56a21977381949476930a Author: scottywei Date: Mon Jan 11 10:57:58 2021 +0800 [Keyboard] Add BIOI Keyboards (#9602) * Add BIOI Keyboards Add keyboards from BIOI, including dual-mode G60, Morgan65, and S65 * Update keyboards/bioi/g60/config.h Co-authored-by: Ryan * Update keyboards/bioi/g60/config.h Co-authored-by: Ryan * Update keyboards/bioi/g60/g60.c Co-authored-by: Ryan * Update keyboards/bioi/g60/config.h Co-authored-by: Ryan * Apply suggestions from code review Co-authored-by: Ryan * Rename rule.mk to rules.mk * Rename rule.mk to rules.mk * Rename rule.mk to rules.mk * Update readme.md * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update ble.h * Update config.h Change VenderID to 8101 * Update config.h * Update config.h * Update ble.c * Update ble.h * Add license headers * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Add license header in keymap files * Fix year in license header * Update keyboards/bioi/s65/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 36a70e117a20d12451cc56b07de8aad8da253cc0 Merge: e00bb81c49 46b3245d66 Author: QMK Bot Date: Sun Jan 10 23:00:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 46b3245d6628a78eefab1b09209021d9b02bcdb9 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Jan 10 15:00:17 2021 -0800 freoduo: define RGBLight config at keyboard level (#11491) Configurator compiles fail without the number of LEDs defined here. Included the rest to match the default keymap's settings. commit e00bb81c49c8f0d12c4e6f659584897034fe2978 Author: Nick Brassel Date: Mon Jan 11 09:59:04 2021 +1100 ChibiOS conf migrations... take 6 (#11504) * ChibiOS conf upgrade for cannonkeys/sagittarius cannonkeys/sagittarius - 953626d1b87574290016ed09caaf5e3fa7b73189 * ChibiOS conf upgrade for evolv evolv - c2f56a35ef1d11b002f9306ed2814ac0447e68c4 commit c8320726bd3a3bec480f02b6f6e1bc4d32008973 Merge: eaa9106ec7 d58d7dd192 Author: QMK Bot Date: Sun Jan 10 22:16:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d58d7dd1921d6b2993c663d8d46afccf44356e3e Author: Joel Challis Date: Sun Jan 10 22:15:29 2021 +0000 manually run formatting job (#11503) commit eaa9106ec74591593e638ac015a5c90d17b30612 Author: Zach White Date: Sat Jan 9 20:18:47 2021 -0800 Add support for specifying BOARD in info.json (#11492) * add support for specifying BOARD in info.json * move BOARD from rules.mk to info.json for clueboard * fix keyboards that do not require board * remove out of compliance values commit 54a8262dfe3b3bf5e27024e1fdb18448bac53408 Merge: 1092cc4bbf acdcc62202 Author: QMK Bot Date: Sun Jan 10 04:01:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit acdcc622028a7c8e6ec086a5da2bff67fd137445 Author: Matthias Bertschy Date: Sun Jan 10 05:01:09 2021 +0100 [Keymap] Add new atreus keymap to planck keyboard (#11420) commit 1092cc4bbf287ff91ad34b3bb1dbfb1eff3ab2e4 Merge: 90137bbaa0 9d10c66cf0 Author: QMK Bot Date: Sun Jan 10 04:01:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9d10c66cf08a97145a3a9caccd1092d1df3b226b Author: Joshua Diamond Date: Sat Jan 9 23:00:12 2021 -0500 Correct descriptions of rgblight functions (#11429) commit 90137bbaa02beaf4f71579a0a48d02dd72effee3 Merge: c923426a7d 6caef353a5 Author: QMK Bot Date: Sun Jan 10 01:31:40 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6caef353a52e41336a2e76b8d260126d3b570e1b Author: Koichi Katano <36572567+kkatano@users.noreply.github.com> Date: Sun Jan 10 10:31:06 2021 +0900 Update Bakeneko65 readme (#11485) commit c923426a7d8928821679d98e589059e96a25fb9e Merge: 75111e967f c85e2a8822 Author: QMK Bot Date: Sun Jan 10 01:31:03 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c85e2a8822e2b671e4d781f487902c79465e866a Author: Koichi Katano <36572567+kkatano@users.noreply.github.com> Date: Sun Jan 10 10:30:26 2021 +0900 Update Bakeneko60 readme (#11483) commit 75111e967fb3fa6239884a0c85635e7ede46bc29 Author: Nick Brassel Date: Sun Jan 10 09:52:49 2021 +1100 Disable subsystems repo-wide. (#11449) commit f7b0e803c27b9c8b5404be780e87b7a3c9e243e6 Author: Nick Brassel Date: Sun Jan 10 09:52:30 2021 +1100 ChibiOS conf migrations... take 5 (#11414) * ChibiOS conf upgrade for handwired/sono1 handwired/sono1 - 4453480576b0bd60f5962e5c3c287cf0f53f7197 * Fixup build error for mechlovin/tmkl. commit 962bc8d9dd413690dbeadeaac971a5389697210f Author: Zach White Date: Sat Jan 9 13:34:14 2021 -0800 Use the schema to eliminate custom code (#11108) * use the schema to eliminate custom code * Update docs/reference_info_json.md Co-authored-by: Ryan * make flake8 happy * bugfix * do not overwrite make vars from json Co-authored-by: Ryan commit c550047ba68bd633d35b10d545ff240cf1fc9786 Merge: e9eaf416b8 3dc5e5af38 Author: QMK Bot Date: Sat Jan 9 20:09:11 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3dc5e5af388fce6bd2619730c221be3ac71286dd Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jan 9 12:08:34 2021 -0800 tunks/ergo33: info.json fixes (#11488) * tunks/ergo33: info.json fixes Fix layout macro reference and key sequence. * fix make command in readme commit e9eaf416b8642d6a449c8397bd969a5ece1a0466 Merge: 9ae6e298bb 0500a2e0f1 Author: QMK Bot Date: Sat Jan 9 18:15:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0500a2e0f1496c181a423b223fa1e942f85e0cf6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jan 9 10:15:15 2021 -0800 Add 96% ANSI Community Layouts (#11453) commit 9ae6e298bbf3ea726356baf2c36c6234489b252f Merge: 1b72b08b2c d54289db58 Author: QMK Bot Date: Sat Jan 9 06:46:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d54289db58d56b6ee0abd5510ddb693b5c0478c4 Author: Monksoffunk Date: Sat Jan 9 15:46:15 2021 +0900 Add VIA keymap for Zinc (#9299) * Add VIA keymap * Update Document files Update readme of VIA keymaps * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/rules.mk * Update keyboards/zinc/keymaps/via/rules.mk * Update keyboards/zinc/keymaps/via/rules.mk * Update keyboards/zinc/keymaps/via/rules.mk * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/keymap.c * Update keyboards/zinc/keymaps/via/keymap.c * Add copyright license header commit 1b72b08b2ce8552bec0010dafa992bdea489ca60 Merge: c2ef0dac6b 95a1496ebc Author: QMK Bot Date: Sat Jan 9 00:38:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 95a1496ebced72887a23367d72ba2587fabbb27f Author: Toban Wiebe Date: Fri Jan 8 16:37:42 2021 -0800 Fix AUR package name (#11416) On Arch, `qmk` is now in the official repos, whereas only `qmk-git` is in AUR. commit c2ef0dac6be6f32e84acba1fcd9445c88e3dccff Merge: ae06235e46 06a6b23e60 Author: QMK Bot Date: Fri Jan 8 22:20:08 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 06a6b23e60efd259566421a33401adf3ce79b346 Author: Erkki Halinen Date: Sat Jan 9 00:19:35 2021 +0200 Update available pohjolaworks/louhi layouts and RGB config(#11466) commit ae06235e46cdf2950e81211dfd45e234f56a9473 Merge: 2af7a724e1 1be7485fa4 Author: QMK Bot Date: Fri Jan 8 22:16:56 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1be7485fa4d757ffef19611fc7ec04176280571c Author: Pascal Pfeil Date: Fri Jan 8 23:16:21 2021 +0100 VIA Support: LFKPad (#11461) * VIA Support: LFKPad * Condense two mostly redundant rules.mk files * Set BOOTMAGIC_ENABLE to lite as advised by VIA tutorial commit 2af7a724e1b310161b482ef8ab40dcb6e7cd7234 Merge: 667161620a 19e2bb272e Author: QMK Bot Date: Fri Jan 8 21:29:09 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 19e2bb272ebb0035165d77f0bb3a9828bc6526c1 Author: kb-elmo Date: Fri Jan 8 22:28:35 2021 +0100 Added Odelia (#11362) * add odelia keyboard * Update readme.md * Update info.json commit 667161620a2c96c8b286f40f557f5722c7f58f8a Merge: e2c7f89347 6d9b4c7b4f Author: Zach White Date: Fri Jan 8 11:21:27 2021 -0800 Merge remote-tracking branch 'origin/master' into develop commit 6d9b4c7b4f5de5631955e57b9706f90072971bcb Author: Joel Challis Date: Fri Jan 8 19:09:28 2021 +0000 Suggest 'QMK MSYS' as the default windows platform (#11321) * Suggest 'QMK MSYS' as the default windows platform * Review comments commit e2c7f893470465f986bd6849c18606be0f2b7842 Author: Zach White Date: Fri Jan 8 08:46:51 2021 -0800 typo fix commit 58fcdf8c07e5c1363b6b3eaf23883853dfd12f53 Author: Zach White Date: Fri Jan 8 00:21:51 2021 -0800 remove extraneous comment commit 959f566118e9f0243aae054bf1e044bf3f60fa37 Author: Zach White Date: Fri Jan 8 00:02:06 2021 -0800 comment out a non-standard DIODE_DIRECTION commit 7e78699e79e228b447f92d5ac187572926ca4636 Author: Zach White Date: Fri Jan 8 00:01:20 2021 -0800 use a custom name for custom pins commit 30331b383f9ef4620e47aa07e4f9af7fae9d30b3 Author: Zach White Date: Fri Jan 8 00:00:15 2021 -0800 fix bugs triggered by certain boards commit a828a82d59b6205a56f7d42d51217f13ffbcb0d5 Author: Zach White Date: Thu Jan 7 21:03:36 2021 -0800 remove the python dep update commit a1007627e4d18c31803c8415972cbcf34165954b Author: Zach White Date: Thu Jan 7 11:58:18 2021 -0800 fix travis commit 4394fc35ea0af6b30aae5dc244281388903b9aa9 Author: Zach White Date: Wed Jan 6 10:42:37 2021 -0800 change matrix/m20add to use non-standard names for non-standard pins commit 82007aa03a93ba77e54f4660c80ef3749630de0c Author: Zach White Date: Wed Jan 6 10:37:53 2021 -0800 Revert "loosen up the schema to allow any pin format" This reverts commit e41762be64c170f42ab3f8aa6b7e3078e5895e92. commit e2e793c1c3efeb96108072c2c8a57555c0fa76a0 Author: Zach White Date: Wed Jan 6 10:37:31 2021 -0800 Revert "change invalid pin from error to warning" This reverts commit 68da9cd19658071f0c2f22e97956303281703176. commit ed19198c7891735a5ba3f118f25c608f968f746f Author: Zach White Date: Wed Jan 6 10:33:30 2021 -0800 loosen up the schema to allow any pin format commit b44532aa3dbdce702d662e5b1cf043e461846d8b Author: Zach White Date: Wed Jan 6 10:28:58 2021 -0800 change invalid pin from error to warning commit 9a178f6826a30007f84983daf1c87ded1525c9cd Author: Zach White Date: Wed Jan 6 10:13:25 2021 -0800 fix rgblight properties commit 56ef80216ae4c67e2a70857c61d1e62eec1ab380 Author: Zach White Date: Wed Dec 30 11:21:18 2020 -0800 make flake8 happy commit 2a67ff690ee5b0789b10448eef9fa0724a6c8d60 Author: Zach White Date: Tue Dec 1 16:04:38 2020 -0800 clean up generate-api errors commit b2c26f7cdd4b268e80f98cae7f444956559436ec Author: Zach White Date: Tue Dec 1 16:04:22 2020 -0800 get qmk generate-api into a good state commit 266a85eda0cbb63852565d0c1d7ddb24700b8c1f Author: Zach White Date: Tue Dec 1 12:58:00 2020 -0800 add missing schemas commit 0d3aca062e3fd7a4b351a9edc42c6b36686abd4f Author: Zach White Date: Tue Dec 1 12:52:26 2020 -0800 cleanup clueboard based on latest validation work commit ededff8556daff544633cb143cb6d939afd09014 Author: Zach White Date: Tue Dec 1 12:52:02 2020 -0800 validate keyboard data with jsonschema commit b609a07b45ccb1954054f85b8fdd53e03c76de90 Author: Joel Challis Date: Fri Jan 8 02:26:39 2021 +0000 Implement matrix_io_delay abstraction for Drop boards (#11472) commit 2574bc27916acbee086d27072994a32bab290a75 Author: Atsushi Morimoto Date: Fri Jan 8 11:12:50 2021 +0900 [Keyboard] Add Sparrow62 (#11387) * add sparrow62 * fix split hand pin * fix default keymap back space * add via firmware * add 74th keymap fix for coding style * Update keyboards/sparrow62/readme.md Co-authored-by: Joel Challis * Update keyboards/sparrow62/keymaps/74th/keymap.c Co-authored-by: Ryan * Update keyboards/sparrow62/keymaps/74th/keymap.c Co-authored-by: Ryan * fix typo * remove macro for LOCK Co-authored-by: Joel Challis Co-authored-by: Ryan commit 985b8cab7ca7103aee2b83696824683bd5159888 Author: Ryan Date: Fri Jan 8 06:39:38 2021 +1100 [Keyboard] JM60 refactor (#11421) commit 95cbcef34fee3727a224fc13c727ea744fd869e7 Merge: 6b8a85758e 581368596e Author: QMK Bot Date: Thu Jan 7 18:24:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 581368596ed724bd96ca1792c143e12670c11572 Author: Jane Bernhardt Date: Thu Jan 7 12:05:55 2021 -0600 name change commit 6b8a85758e21e06046dcbbd6ecad985b5b716fe5 Merge: d35af9fbc1 832a6e150a Author: QMK Bot Date: Wed Jan 6 18:05:13 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 832a6e150a7c774d10580881d7f2081d19b93f95 Author: Xyverz Date: Wed Jan 6 10:04:43 2021 -0800 [Keymap] Xyverz's crkbd keymap (#11299) * Initial commit for my Corne keyboard layout. * Updates to Corne, etc. Finished working on primary layout for Corne keyboard. Cleaned up some comments for my 4x12 Ortho layout. * Changes for crkbd layout * Fixed the config.h to reflect using ee_hands * Added RGB configs to crkbd/corne layout Co-authored-by: Ian Sterling <503326@MC02YT9K9LVCF.tld> commit d35af9fbc1f95f1c21a6f7197d680a97e45daac9 Merge: 98b8fd6d21 8b735d35aa Author: QMK Bot Date: Wed Jan 6 18:03:43 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8b735d35aa94ece9b03de14ad1c74e4e883fe211 Author: Jay Greco Date: Wed Jan 6 10:03:06 2021 -0800 [Keymap] Update NIBBLE ISO keymap (#11295) commit 98b8fd6d2176e10b003982fa1e25ffea52d19d7e Merge: 0e2476554e b7b82d509b Author: QMK Bot Date: Wed Jan 6 18:00:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b7b82d509bfccd69c6507761f03910f34b4366cb Author: Craig Gardner <40006110+LeafCutterLabs@users.noreply.github.com> Date: Wed Jan 6 10:00:05 2021 -0800 [Keyboard] add support for bigknob (#11291) * add support for bigknob Add support for bigknob macropad * corrected files * Apply suggestions from code review Co-authored-by: Joel Challis * corrected tap dance * Update config.h * correct image link * Apply suggestions from code review Co-authored-by: Ryan * added GPL headers * Update readme.md Co-authored-by: Joel Challis Co-authored-by: Ryan commit 0e2476554e257badc143f0f6d6d7ce46c54841db Merge: 57b9b45242 bf959d79dc Author: QMK Bot Date: Wed Jan 6 17:59:30 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bf959d79dc7a37e94fc368bb8d3a4ca52421faad Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Wed Jan 6 09:58:55 2021 -0800 [Keyboard] add joypad keyboard (#11283) * add joypad * add joypad keymaps * change pid * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Update keyboards/handwired/swiftrax/joypad/joypad.h Co-authored-by: Joel Challis * Update keyboards/handwired/swiftrax/joypad/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/handwired/swiftrax/joypad/keymaps/default/keymap.c Co-authored-by: Ryan * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Swiftrax Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan commit 57b9b45242e7366b32947ba6fa7ebb3b1acb2b2a Merge: 93fe3b6c66 bca88177d3 Author: QMK Bot Date: Wed Jan 6 17:53:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit bca88177d3b85696b98b0758c76fb20de6013485 Author: Erkki Halinen Date: Wed Jan 6 19:53:04 2021 +0200 [Keyboard] Add Louhi keyboard (#11244) * Add Louhi QMK config * Modify info.json layout * change compile and flash examples * Tweak layout, change picture * Change pictures to Imgur hosted * Update keyboards/pohjolaworks/louhi/louhi.h Co-authored-by: Drashna Jaelre * Update keyboards/pohjolaworks/louhi/louhi.h Co-authored-by: Drashna Jaelre * Update keyboards/pohjolaworks/louhi/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/pohjolaworks/louhi/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/pohjolaworks/louhi/info.json Co-authored-by: Drashna Jaelre * Update keyboards/pohjolaworks/louhi/info.json Co-authored-by: Drashna Jaelre * Update keyboards/pohjolaworks/louhi/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/pohjolaworks/louhi/readme.md Co-authored-by: Joel Challis * Update keyboards/pohjolaworks/louhi/rules.mk Co-authored-by: Ryan * Update keyboards/pohjolaworks/louhi/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/pohjolaworks/louhi/readme.md Co-authored-by: Ryan Co-authored-by: Erkki Halinen Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan commit 93fe3b6c6611f1c111f6e3ac581d059dd29f6b9e Merge: fc892e8c03 515cea4b78 Author: QMK Bot Date: Wed Jan 6 17:50:58 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 515cea4b787ffc4b043e6569d3b6e67247e06f0f Author: Damien Date: Wed Jan 6 18:50:50 2021 +0100 [Keymap] Dbroqua alps64 poker (#11254) * [Apple M5120] First iteration * Cleaned apple_m5120 files * Changes requested by PR * Update keyboards/apple_m5120/iso/rules.mk Co-authored-by: Ryan * Update keyboards/apple_m5120/iso/keymaps/default/keymap.c Co-authored-by: Ryan * Added dbroqua keymap for ALPS64 * Removed other keyboard * Added volume keys * Added licence * Update keyboards/alps64/keymaps/dbroqua/keymap.c Co-authored-by: dbroqua Co-authored-by: Ryan commit 748b3ac82a478c112d20a31af298a2f4956b0916 Author: Barabas Date: Wed Jan 6 17:50:11 2021 +0000 [Keymap] Added my lily58 keymap (#11258) * added my keymap * Tidy up Add readme, run clang-format, remove some comments * Fixed some formatting issues * Update after reading PR checklist Add GPL header to keymap.c, remove backslash in LAYOUT macro * Use integer constants for switch labels * Remove unneeded code, remove F-keys from raise layer * Use program memory for some text on OLED * Fixed left over debug code * tidy up config.h and rules.mk Remove all unused defines from config.h, and remove options which are the same as the keyboard level make file. Enabled command to be able to toggle NKRO. commit fc892e8c03428d3643b9a66a60bc0448adaf05a1 Merge: 531d30575f 634eac82e8 Author: QMK Bot Date: Wed Jan 6 17:41:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 634eac82e8b94cf3cf85e957ca54bb9e559409fd Author: Taylore101 Date: Wed Jan 6 12:40:33 2021 -0500 [Keyboard] Adding "Bigmac" 5x17 handwired by Taylore101 (#11204) * Adding bigmac handwired by taylore101 * Adding bigmac handwired by taylore101 * Updated Big Mac pin layout * Updated files from kbfirmware to newer qmk. Thanks drashna * Updated config file to have product and manufacturer info. Thanks again drashna * Update readme.md added missing picture of board layout * Update keyboards/handwired/bigmac/readme.md Co-authored-by: Drashna Jaelre Co-authored-by: Taylor Graves Co-authored-by: Taylor Graves Co-authored-by: Drashna Jaelre commit 531d30575f1a50a7db76b497fde176448f49cfae Merge: 7389b10867 11599bea93 Author: QMK Bot Date: Wed Jan 6 05:53:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 11599bea934749d6894b403ed75951861917388a Author: KgOfHedgehogs Date: Wed Jan 6 07:52:51 2021 +0200 [Keymap] Add jian/keymaps/left_hand (#11196) * Add jian/keymaps/left_hand * Add jian/rev2/readme.md * Remove mod tap on mirrored layer * Add GPL2+ license header * Add gb version to readme commit 7389b10867b739302749d6570ff9a12961388f92 Merge: 69661609b7 115aa95788 Author: QMK Bot Date: Wed Jan 6 05:45:04 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 115aa95788cb4c25b307f5c191e51df326d05e6e Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Tue Jan 5 21:44:19 2021 -0800 [Keyboard] Add TMKL PCB (#11173) * add * update * update indicator LED * Update keyboards/mechlovin/tmkl/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/mechlovin/tmkl/readme.md Co-authored-by: Ryan Co-authored-by: vuhopkep Co-authored-by: Joel Challis Co-authored-by: Ryan commit 69661609b72c1a331a058e933e36e475e361e7b3 Merge: c4d0d11f52 340fc9dce3 Author: QMK Bot Date: Wed Jan 6 05:08:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 340fc9dce3ab00f911e978f1f246d8523eb2efec Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Wed Jan 6 14:08:21 2021 +0900 [Docs] Japanese translation of feature_rawhid.md (#10858) * add feature_rawhid.md translation * update files based on comments * update files based on comments * update files based on comments commit c4d0d11f52f34933999c986bc20bac686c906008 Merge: 7165915708 db8e88aae0 Author: QMK Bot Date: Wed Jan 6 05:07:42 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit db8e88aae040a6f3b33f85fff6a3046ea47a4a88 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Wed Jan 6 14:07:07 2021 +0900 [Docs] Japanese translation of feature_led_indicators.md (#10960) * add feature_led_indicators.md translation * update related document * add link on _summary commit 7165915708abc76c58ef66d9c9e931235a02956d Merge: 57b0f69ca3 495a61ad7a Author: QMK Bot Date: Wed Jan 6 04:24:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 495a61ad7a14bb7dd4022f1837fc18085026cfde Author: Andrew Kannan Date: Tue Jan 5 23:23:35 2021 -0500 [Keyboard] Sagittarius (#10896) * Sagittarius keyboard * Update Sagittarius keyboard * fix * remove info.json as it's very hard to make * Add license and address PR comments * Apply suggestions from code review Co-authored-by: Joel Challis * Apply suggestions from code review Co-authored-by: Ryan * Add info json, update keymap * Fix info json * Update keymap * Update keyboards/cannonkeys/sagittarius/info.json Co-authored-by: Joel Challis Co-authored-by: Joel Challis Co-authored-by: Ryan commit 57b0f69ca3b30839d86ca97d785c985e95249565 Merge: f9269035fe dd356f90b0 Author: QMK Bot Date: Wed Jan 6 04:23:18 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit dd356f90b09047d921504e217d3b6f01689c7ca2 Author: Álvaro A. Volpato Date: Wed Jan 6 01:22:45 2021 -0300 [Keyboard] Evolv75 (#10947) * Initial support for Evolv75 * Fix encoder directional and layer support * Invert knob directions * Remove info.json and updated README * Update keyboards/evolv/evolv.c Update encoder_update call Co-authored-by: Drashna Jaelre * Update keyboards/evolv/config.h Remove description field from USB descriptors Co-authored-by: Drashna Jaelre * Remove KC_NO define from default keymap * Update config.h New USB descriptor ID numbers * Update keyboards/evolv/rules.mk Remove words from bluetooth and audio enable comments Co-authored-by: Ryan * Update keyboards/evolv/rules.mk Enable full bootmagic Co-authored-by: Ryan * Add info.json for QMK Configurator * Edit copyright info, add VIA initial support * Fix KC_NO seven underscores issue in keymap definitions * Update info.json * Update info.json * ANSI and ISO layouts, info.json file with both * Reorganized layouts to match info.json order Co-authored-by: Gondolindrim Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit f9269035feba505796b97bd7ecd314bfad0f0356 Author: Zach White Date: Tue Jan 5 16:44:40 2021 -0800 Fix compiling treadstone32/rev1 (#11447) * fix compiling treadstone32/rev1 * move most options back to top level rules.mk commit 31ffc1eeb0afca47a71cb964dcaeadbcb0b84217 Merge: 621d54f662 6009e7d8b5 Author: QMK Bot Date: Tue Jan 5 22:51:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6009e7d8b5e1c6c81381bcefcb7d4630cb5b43a1 Author: kb-elmo Date: Tue Jan 5 23:51:10 2021 +0100 [Keyboard] add dz96 (#11252) * add dz96 * Apply suggestions from code review * Update keyboards/dztech/dz96/keymaps/iso/keymap.c * add image to readme commit 621d54f6626a33b6a2e804d08da7f25353b6d2e0 Merge: 5846445f48 3edfb93d5d Author: QMK Bot Date: Tue Jan 5 22:27:48 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3edfb93d5de5ce1a783cecb2d97b0ca0ff1e0aff Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Wed Jan 6 07:27:10 2021 +0900 Add build debug option to tmk_core/rules.mk (#11324) * Add DUMP_C_MACROS to tmk_core/rules.mk * update DUMP_C_MACROS * add VERBOSE_LD_CMD, VERBOSE_AS_CMD * add VERBOSE_C_CMD, VERBOSE_C_INCLUDE * update DUMP_C_MACROS, VERBOSE_C_INCLUDE, VERBOSE_C_CMD commit 5846445f48b8c8eba547458a6853ec21ea69f94a Author: Zach White Date: Tue Jan 5 11:41:23 2021 -0800 Fix compiling squiggle/rev1 commit f30a49df6accd3193fa84f08297c77668df96d9f Merge: cf2f13fc77 34513b4665 Author: QMK Bot Date: Tue Jan 5 21:14:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 34513b466599066e0f3d33cc66e72ac4f039b717 Author: Zach White Date: Tue Jan 5 10:43:06 2021 -0800 enable LTO to bring firmware size down commit cf2f13fc77e7d9371e845d8825f8ced974083c70 Merge: e7db582e35 3d1e7bd36f Author: Zach White Date: Tue Jan 5 11:04:56 2021 -0800 Merge remote-tracking branch 'origin/master' into develop commit 3d1e7bd36fee748b6bfaa89d4a14c3f4f841c0ca Author: Drashna Jael're Date: Mon Jan 4 18:48:13 2021 -0800 [Keyboard] Disable music mode on OctoPad to reduce size commit e7db582e356a961ba608ef441f201d879ec8d740 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Tue Jan 5 05:53:37 2021 +0000 Set avr's bootloader_jump function to be weak (#11418) Co-authored-by: Dasky commit 375ef0b8c3e13b9d60de2cb79ef2a54215388792 Author: Drashna Jaelre Date: Mon Jan 4 20:14:10 2021 -0800 [Keyboard] Fix compiler errors for Kingly Key boards (#11100) commit f03b10b6c1c9a5b0e07f7f78c6060610246b4a7f Author: Joel Challis Date: Tue Jan 5 00:52:31 2021 +0000 Migrate python tests away from onekey (#11367) * Migrate python tests away from onekey * Add stub files to stop lint complaints * Make all the pytest keymaps compile commit d0aa9ff972e7e438d1a5fa2baa4b35db91c8a070 Merge: fd7ab5a22b 810eafad12 Author: QMK Bot Date: Tue Jan 5 00:37:55 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 810eafad121bda333c53490e2d8a29f3a83d9c19 Author: Drashna Jaelre Date: Mon Jan 4 16:37:20 2021 -0800 Fix Tap-Hold Configs (#11127) * Add proper prototypes for Tap-Hold Per Key functions * Fix handwired/tennie default keymap * Remove unneeded references * Fix tapping term per key check in space cadet * Pre-emptive fix for tap dance * Fix marksard/leftover30 * Replace hard coded tapping term with define commit fd7ab5a22bd5ba85dde3a5da54856784bfb19120 Merge: 25e972e8a4 c38fe49242 Author: QMK Bot Date: Tue Jan 5 00:27:52 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c38fe492426676cf101eeb024f7f33d8e98c445f Author: fauxpark Date: Sat Dec 26 19:32:05 2020 +1100 Update MXSS custom rgblight and fix compilation error commit 25e972e8a41909f88ce66a7b8e9ac3f744425156 Author: Nick Brassel Date: Tue Jan 5 07:36:02 2021 +1100 Fix up build dependencies. (#11435) commit cd128bbadbb391765945985925fac9b6b6f20448 Merge: 6daa204363 d1e10a067b Author: QMK Bot Date: Mon Jan 4 18:59:12 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d1e10a067b6e0a976979daec25f3c61486f6b64f Author: YangPiCui Date: Tue Jan 5 02:58:36 2021 +0800 [Keyboard] Add handwired/evk (#11034) * Add the Ergonomic Vertical Keyboards * generic update * Update readme.md * Update readme.md * Update readme.md * Update info.json * put into handwired * Update readme.md * Update readme.md * i * Change copy author from RedForty to Yang Cui * add version 1.3 * rename keyboard version * Update config.h * j * h * fix bugs * Update config.h * Update config.h * Update keymap.c * update default keymap * Update keymap.c * Add handwired/evk * Add handwired/evk * Update v1_3.c * Update keyboards/handwired/evk/v1_3/config.h Co-authored-by: Drashna Jaelre * Update keyboards/handwired/evk/v1_3/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/handwired/evk/v1_3/v1_3.c Co-authored-by: Drashna Jaelre * Update config.h * Commit change requests from the pull request * remove copy right * Update v1_3.c * Update v1_3.c * Update keyboards/handwired/evk/v1_3/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/evk/v1_3/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/evk/v1_3/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/evk/v1_3/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/evk/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update info.json * change all names to YangPiCui * Update keyboards/handwired/evk/v1_3/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/handwired/evk/v1_3/readme.md Co-authored-by: Ryan * Update keyboards/handwired/evk/v1_3/config.h Co-authored-by: Ryan * Delete config.h Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 6daa204363dfaa7f31d935a9913d6b35ec22e971 Author: Zach White Date: Sun Jan 3 15:45:06 2021 -0800 fix keyboards with apostrophes in their names commit 5b2feecdf3755fce58d8b04c45dae0aec9c5cd1b Author: Zach White Date: Sun Jan 3 15:44:50 2021 -0800 fix lizard_trick/tenkey_plusplus/info.json commit ac5a1ccffb934f96d6fc3ae07a5b9581df8e8e5e Author: Zach White Date: Sun Jan 3 15:34:04 2021 -0800 fix clueboards commit 34446b79d7a17ba6e753d39956ebb5e871618d84 Author: Nick Brassel Date: Mon Jan 4 08:45:43 2021 +1100 Split up QWIIC_ENABLE to use QWIIC_DRIVERS as well, with yes/no for enable flag. (#11426) commit b7d4a9dc25052807cfbdf351819bb47f1808128d Merge: 1f8acb7619 acec174fde Author: QMK Bot Date: Sun Jan 3 20:31:41 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit acec174fde729982c273b326ef7dc75a1f1949e8 Author: Ryan Date: Mon Jan 4 07:30:59 2021 +1100 Homebrew install: ignore pinned formulae in `brew upgrade` (#11423) commit 1f8acb7619637035fc626e4ef15e96330486158a Merge: 271c0cf136 070240f212 Author: QMK Bot Date: Sun Jan 3 20:30:50 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 070240f2123f91c51a3cb146d601cf5b61beebfe Author: Joel Elkins Date: Sun Jan 3 14:30:22 2021 -0600 arm_atsam: Use PROGRAM_CMD for :flash target if set (#11424) commit 271c0cf136c5dd5b9456d8b79272e67bc1a13cea Merge: e8e090aced f3ac792c09 Author: Nick Brassel Date: Sun Jan 3 15:26:43 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit f3ac792c096c10c9dd5004e6e06aad60710ef599 Author: Ryan Date: Sun Jan 3 14:53:53 2021 +1100 Align ChibiOS spi_master behaviour with AVR (#11404) * Align ChibiOS spi_master behaviour with AVR * Rollback `spi_transmit()` and `spi_receive()` to preserve DMA commit e8e090acede2596e19de40628543f4ed27d33ab0 Author: Nick Brassel Date: Sun Jan 3 13:29:19 2021 +1100 Remove handwired/bluepill. (#11415) commit 7456e6c776e9f08d42f010c5dffaaaadd74f10a8 Author: Nick Brassel Date: Sun Jan 3 13:17:34 2021 +1100 ChibiOS conf migrations... take 4 (#11413) * ChibiOS conf upgrade for cannonkeys/tsukuyomi cannonkeys/tsukuyomi - 7beddc74b03d652481198843a178177de5da3ddb * ChibiOS conf upgrade for misterknife/knife66_iso misterknife/knife66_iso - f2dd6e6c54258ae9d09a88215b36fba34947fc23 * ChibiOS conf upgrade for mode/eighty mode/eighty/m80h - 4bbbee01a89a5b4ab5f4de36e0dd2044cf54a698 mode/eighty/m80s - 6de4a1affab4ed8f08423eb511393ed797e3ea77 commit 11bd98f684148ed9577b263189121e52027d66d9 Author: Zach White Date: Sat Jan 2 18:08:17 2021 -0800 Fix broken keyboards (#11412) * Fix a couple errors * add a dependency for the generated headers commit b3de903a3dfe5f75312b6b8a7555ccabe01a5e6e Author: Joshua Diamond Date: Sat Jan 2 16:42:48 2021 -0500 Fix broken Lighting Layers when RGBLIGHT_MAX_LAYERS > 16 (#11406) * fix incorrect bit math when RGBLIGHT_MAX_LAYERS > 16 * with 1UL cast is not needed * ...but just casting works and is even more efficient * cformat commit f27d8d94489342d4ce7ba9955cd062c725350db9 Author: Zach White Date: Sat Jan 2 12:05:56 2021 -0800 Fix compiling on develop (#11409) commit f12000a1b60dea2db20ed496294ef83765fd372f Merge: 266343666f c07543133a Author: QMK Bot Date: Sat Jan 2 17:28:05 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c07543133a092039c7eae0cead6c9ee3badcc7dc Author: Zach White Date: Sat Jan 2 09:27:35 2021 -0800 Return the make exit code for qmk compile and flash (#11402) commit 266343666fafaddff89e6a6e19410b919df3053c Merge: e190872b82 2e9d091960 Author: QMK Bot Date: Sat Jan 2 08:46:59 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2e9d0919600e4b834a4e48c1673fe638c4b92eab Author: Felix Jen Date: Sat Jan 2 02:46:25 2021 -0600 [Keyboard] Added LDK65 based off BKS65 (#11335) commit e190872b822f247794213120e0f7a276c07c95b9 Author: Joshua Diamond Date: Fri Jan 1 23:54:48 2021 -0500 Improved Language Specific Keycodes for US International and Extended Layouts (#11307) Co-authored-by: Ryan commit 8e68003b28fd79a7c7f2e4e1242539105000bec5 Merge: d8a9974a41 13efa8290e Author: QMK Bot Date: Sat Jan 2 01:39:21 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 13efa8290e7394b5386fdb588f3661ca1d0b7e7d Author: npspears <40127181+npspears@users.noreply.github.com> Date: Fri Jan 1 19:38:50 2021 -0600 Update quark pin config (#11398) commit d8a9974a41e8b2b2faa262b8014f6b6b74f48636 Merge: 7ecbc83e71 988715910c Author: QMK Bot Date: Sat Jan 2 01:36:46 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 988715910ce58e21c9ab56e1a3e7da64b6e0c0f5 Author: Michael Overman Date: Fri Jan 1 19:36:17 2021 -0600 [Docs] Fix typo in hand_wire.md (#11297) commit 7ecbc83e71f91b9b63a14fbbbbcea24aef134fcd Merge: ddfb558591 8da9219c16 Author: QMK Bot Date: Sat Jan 2 00:45:16 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8da9219c1616aa77781af60d16721b1706b28f04 Author: Felix Jen Date: Fri Jan 1 18:44:45 2021 -0600 [Keyboard] Added Phantom Solder PCB and KBD8X HS PCB Variants (#11282) * Added config for phantom solder all layout via only * fixed matrix def * Added KBD8X * changed info name * lowercase instances of LAYOUT_ALL and edited rules.mk * edited kbd8x results * fixed kbd8x rules * removed trailing comma in kbd8x info * Update keyboards/lucid/kbd8x_hs/config.h Co-authored-by: Joel Challis * Update keyboards/lucid/kbd8x_hs/kbd8x_hs.h Co-authored-by: Joel Challis * Update keyboards/lucid/kbd8x_hs/readme.md Co-authored-by: Joel Challis * Update keyboards/lucid/kbd8x_hs/rules.mk Co-authored-by: Joel Challis * Update keyboards/lucid/phantom_solder/info.json Co-authored-by: Joel Challis * Update keyboards/lucid/phantom_solder/readme.md Co-authored-by: Joel Challis * Update keyboards/lucid/phantom_solder/rules.mk Co-authored-by: Joel Challis * Fixed info.json key mismatch Co-authored-by: Joel Challis commit ddfb55859138ec0cf026e5456cea858bc7829c45 Merge: 5209576828 d321cb3f8b Author: QMK Bot Date: Fri Jan 1 23:27:44 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit d321cb3f8bcdd2ab15c13785f6fc4dd3474ec1ec Author: smssmssms Date: Fri Jan 1 23:27:13 2021 +0000 [Keyboard] Pos78 update (#11274) * Added LED hardware pin numbers CAPS and NUM lock LEDs * Added "LED_PIN_ON_STATE 1" * Make MATRIX_ROW/COL pins match reality commit 520957682842a0c7aa597664a59174b9964d44fd Merge: f410dfa091 8ed9eb9c7f Author: QMK Bot Date: Fri Jan 1 23:26:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8ed9eb9c7f75b898c867060be46b404725339cea Author: gkeyboard Date: Sat Jan 2 06:26:00 2021 +0700 [Keyboard] Add GKB-M16 Macro Pad (#11262) * Add GKB-M16 Macro Pad Add GKB-M16 (gkb_m16) Macro Pad under gkeyboard * Update keyboards/gkeyboard/gkb_m16/config.h Co-authored-by: Joel Challis * Update keyboards/gkeyboard/gkb_m16/keymaps/via/keymap.c Co-authored-by: Joel Challis * Update keyboards/gkeyboard/gkb_m16/info.json Co-authored-by: Ryan * Update keyboards/gkeyboard/gkb_m16/keymaps/default/keymap.c Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit f410dfa091b5c2018377a42dac8b722e4e021bce Merge: 428eb5faad 1d2a9a1cdb Author: QMK Bot Date: Fri Jan 1 23:16:33 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1d2a9a1cdb022b0a62003c550897786140e4aa10 Author: Kyle McCreery Date: Fri Jan 1 13:16:00 2021 -1000 [Keyboard] New Keyboard - Mercutio (#11214) * Initial commit on new clean branch. Testing out functionality of oled and encoder for default features. * Cleaned up the initial push and removed the fancy keymap until the extra features and functionality can be tested and made more user friendly. * Cleaned up the readme some more, compiled and tested both default and via keymaps, and did another round of checks to prepare for starting the PR. * Cleaning up the keymap to meet expected formatting in a couple places and also adding in the TAP_CODE_DELAY after newly encoutnered encoder issues and inconsistencies. * Apply suggestions from code review Co-authored-by: Joel Challis * Update keyboards/mechwild/mercutio/readme.md Co-authored-by: Ryan * Fixing json syntax. * Update keyboards/mechwild/mercutio/rules.mk Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 428eb5faad54857fad6394ed3646a3b30fd7f489 Merge: e45a2af683 fcd921f3aa Author: QMK Bot Date: Fri Jan 1 23:05:35 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit fcd921f3aa9475f82b0f1a3f35e0d791b1614801 Author: Ross Montsinger Date: Fri Jan 1 18:05:02 2021 -0500 [Keyboard] Rebound, adding files for VIA compat (#11193) * changes for via * add manu to product name * remove manu from product value * remove description * i m licensed commit e45a2af683331ebadcedfab38953e5cdf229f281 Merge: d288f2f5da e11d3d524d Author: QMK Bot Date: Fri Jan 1 18:09:02 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit e11d3d524da21912250dae170fa8e0d2039f6bcb Author: MURAOKA Taro Date: Sat Jan 2 02:24:05 2021 +0900 speed up list_keyboards.sh commit d288f2f5daa1f4481703c6eb49af7950ccdce10c Merge: 5fe3de3153 c01a8b030e Author: QMK Bot Date: Fri Jan 1 16:32:49 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit c01a8b030e7f47e8972904f953a3ad27257ab495 Author: Ryan Date: Sat Jan 2 03:32:21 2021 +1100 O4L 5x12 refactor (#11392) * O4L 5x12 refactor * Remove config.h commit 5fe3de315303264da1942fc39b3eaf0d7a7fc4e9 Merge: 39bd151472 b5fc6f0682 Author: QMK Bot Date: Fri Jan 1 14:59:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit b5fc6f0682764414de1a6446112854e579e3a45e Author: Ryan Date: Sat Jan 2 01:58:55 2021 +1100 Fix rart4x4 info.json (#11390) commit 39bd151472421fee4aafa0a7587d4c3880705567 Merge: 8a2a39ed06 08fdf086b7 Author: QMK Bot Date: Fri Jan 1 14:57:27 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 08fdf086b77f04ebed7996eb3b4b45a72644a6db Author: s-maurice <51819025+s-maurice@users.noreply.github.com> Date: Fri Jan 1 22:57:02 2021 +0800 Fix typo in hand wiring guide (#11388) ridid -> rigid commit 8a2a39ed0679d07c2540a3ea2dee72cc0de19414 Merge: 7b83bb188a aab056a4a6 Author: QMK Bot Date: Fri Jan 1 13:53:22 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit aab056a4a6ab838560bf533f79e7be71a3deb02d Author: Ryan Date: Sat Jan 2 00:52:49 2021 +1100 Manta60 refactor (#11378) commit 7b83bb188a919fb4647ad2e8a29ca645fb8c62b0 Merge: e3da93e658 565a038a3d Author: QMK Bot Date: Fri Jan 1 13:43:06 2021 +0000 Merge remote-tracking branch 'origin/master' into develop commit 565a038a3d49b19de972d08258b6961455ea1b1e Author: Joel Challis Date: Fri Jan 1 13:42:36 2021 +0000 Fix layout ortho_4x12 macro for montsinger/rebound/rev4 (#11382) commit e3da93e65812e0beaa530f6c8d9931add44d2c02 Merge: da8423ca97 53e9213a22 Author: fauxpark Date: Fri Jan 1 05:09:50 2021 +1100 Merge remote-tracking branch 'upstream/master' into develop commit 53e9213a2255cebf9ec2c3f8302241ede8d16f07 Author: Ryan Date: Fri Jan 1 05:04:00 2021 +1100 Quark refactor (#11377) commit a68d289fa58210fc26c6eba9ff4832d39473c71d Author: Joel Challis Date: Thu Dec 31 16:50:32 2020 +0000 Manually run formatting CI process (#11375) commit da8423ca97170088991459f39a7d2a94de53fda9 Merge: 42cdba8680 4ef4347543 Author: QMK Bot Date: Thu Dec 31 15:00:40 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4ef4347543da5dcd93f342b2728840c6e0407906 Author: npspears <40127181+npspears@users.noreply.github.com> Date: Thu Dec 31 09:00:08 2020 -0600 Quark PCB for Planck/Preonic (#11206) * Quark PCB for Planck/Preonic Quark provides alternate bottom row layouts for both the OLKB Planck and Preonic * Rename rules.mk.txt to rules.mk * added Tapping Toggle removed tapping toggle from keymap level * Update info.json took out } as requested * update config.h added GPL2+ license and #pragma once * update info.json again cleaned up syntax * Apply suggestions from code review Co-authored-by: Drashna Jaelre * update config.h added GPL2+ License * Update info.json - and again fixed it - oops Co-authored-by: Drashna Jaelre commit 42cdba8680a1ca92975153835353ce871fac84d2 Merge: e319d501f7 028d2c91dc Author: QMK Bot Date: Thu Dec 31 14:53:38 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 028d2c91dc5175904ee57917e2a90028569e0f8f Author: Chas Date: Thu Dec 31 06:53:06 2020 -0800 Fixed typo in readme.md (#11333) * Fixed typo in readme.md censor -> sensor * Censor -> Sensor in the Ploopy Trackball Readme commit e319d501f7bbe76d20b3af3c4f59d4c9a6e43708 Merge: 633d2cb648 9f690c94b8 Author: QMK Bot Date: Thu Dec 31 12:59:26 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9f690c94b85ce98019e18eba7f079eb0188a8735 Author: Álvaro A. Volpato Date: Thu Dec 31 09:58:59 2020 -0300 Change PRODUCT_ID descriptors for M80S and M80H (#11371) * Change PRODUCT_ID descriptors for M80S and M80H * Update config.h * Update config.h * Update config.h * Remove PRODUCT_ID from root config.h commit 633d2cb648467ccc410f479eda0828e88b7d0aad Merge: 47b9b11009 6169b47e82 Author: QMK Bot Date: Thu Dec 31 06:21:45 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6169b47e82b475c629f9a957f8c36ea39e47ea50 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Dec 31 15:20:56 2020 +0900 Add target 'check-md5' to `build_keyboard.mk` (#11338) * Add target 'build-for-compare' to `build_keyboard.mk` The `build-for-compare` target provides an easy way to check the md5 checksum of the generated binary. You can easily see if there is any change in the generated binaries between the two versions, as in the example below. ``` $ git checkout 0.11.0 M build_keyboard.mk M tmk_core/rules.mk Note: checking out '0.11.0'. HEAD is now at c66df1664 2020 November 28 Breaking Changes Update (#11053) $ make helix:all:build-for-compare | grep ^MD5 MD5 (.build/helix_rev2_default.hex) = 5c3606562c944bb4d18832e601b45d4a MD5 (.build/helix_rev2_edvorakjp.hex) = 9e43d13d389d518ba7e99cd7337e28d6 MD5 (.build/helix_rev2_five_rows.hex) = 8bcb61c2fd5d237c2997f2fa007d4934 MD5 (.build/helix_rev2_five_rows_jis.hex) = b97cd818d52f73ca2d4e78c86d90a791 MD5 (.build/helix_rev2_froggy.hex) = c492172364188f4e2918b10bf0f3a0a6 MD5 (.build/helix_rev2_froggy_106.hex) = b0861fd735a8f81881a8c02730641a2b MD5 (.build/helix_rev2_led_test.hex) = 5c97d982a5da5cfb3dacb28a8934b81d MD5 (.build/helix_rev2_xulkal.hex) = 01f603dc46bcf9094d7e106831d8f5b1 MD5 (.build/helix_rev2_yshrsmz.hex) = 5a008bca2d0c5790a151c02834c529ba $ git checkout 0.11.1 M build_keyboard.mk M tmk_core/rules.mk Previous HEAD position was c66df1664 2020 November 28 Breaking Changes Update (#11053) HEAD is now at cc08e3082 nix-shell: add milc dependency (#11086) $ make helix:all:build-for-compare | grep ^MD5 MD5 (.build/helix_rev2_default.hex) = 5c3606562c944bb4d18832e601b45d4a MD5 (.build/helix_rev2_edvorakjp.hex) = 9e43d13d389d518ba7e99cd7337e28d6 MD5 (.build/helix_rev2_five_rows.hex) = 8bcb61c2fd5d237c2997f2fa007d4934 MD5 (.build/helix_rev2_five_rows_jis.hex) = b97cd818d52f73ca2d4e78c86d90a791 MD5 (.build/helix_rev2_froggy.hex) = c492172364188f4e2918b10bf0f3a0a6 MD5 (.build/helix_rev2_froggy_106.hex) = b0861fd735a8f81881a8c02730641a2b MD5 (.build/helix_rev2_led_test.hex) = 5c97d982a5da5cfb3dacb28a8934b81d MD5 (.build/helix_rev2_xulkal.hex) = d848383adfd7463b138c6da179cf1436 MD5 (.build/helix_rev2_yshrsmz.hex) = 5a008bca2d0c5790a151c02834c529ba ``` * make builds reproducable by default * update build_keyboard.mk: remove 'build-for-compare' target * GNU make (3.81) on macOS 10.14(Mojave) does not have the 'undefine' directive. * Adopted fauxpark's suggestion. * Update tmk_core/rules.mk Co-authored-by: Ryan * update tmk_core/rules.mk * fix tmk_core/rules.mk Co-authored-by: Zach White Co-authored-by: Ryan commit 47b9b110097a864d6ab76516b2213afd59948527 Author: Zach White Date: Wed Dec 30 10:27:37 2020 -0800 Configure keyboard matrix from info.json (#10817) * Make parameters from info.json available to the build system * move all clueboard settings to info.json * code formatting * make flake8 happy * make flake8 happy * make qmk lint happy * Add support for specifying led indicators in json * move led indicators to the clueboard info.json * Apply suggestions from code review Co-authored-by: Erovia * add missing docstring Co-authored-by: Erovia commit f231f24ddaac9781201a4ec9d0171c65af788839 Merge: b51cc6d67a 10096fc42e Author: QMK Bot Date: Wed Dec 30 16:35:16 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 10096fc42e52e5b22acd6ceef941816401468998 Author: Ryan Date: Thu Dec 31 03:35:06 2020 +1100 Zadig docs: add APM32 device name (#11356) commit 5e5ee3f8de9a0c088db1fb51b421ad1db169ed54 Author: Nick Blyumberg Date: Wed Dec 30 11:34:40 2020 -0500 Correct encoder pins on BDN9v2 (#11357) * Update config.h Wrong pin used for the left encoder, should be A4 * Update config.h Added a media keys fix as well commit b51cc6d67a16fa2f7b6bae7094b27c7ff58bb3a4 Merge: d5c89c8ed5 7071900407 Author: QMK Bot Date: Wed Dec 30 15:45:24 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 70719004070731481ca71998ff9039e7747956ba Author: Ryan Date: Thu Dec 31 02:44:53 2020 +1100 Missed a couple more `#pragma once`s (#11351) commit d5c89c8ed549bb38b481204f9c8ce9435538674c Merge: f801c69c75 6f6e28b4c7 Author: QMK Bot Date: Wed Dec 30 14:02:54 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6f6e28b4c73a29d9fc5ac2699c2ce65671ff8118 Author: Reibl János Dániel Date: Wed Dec 30 15:02:24 2020 +0100 Add Arch / Manjaro section for Linux setup instructions (#10509) commit f801c69c7568e6bbd8263a4a2bbc601909c137d8 Merge: 78b12dee89 411b92e206 Author: QMK Bot Date: Wed Dec 30 09:59:32 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 411b92e206746faa0b2264a155d5c9a64cf38a37 Author: Ryan Date: Wed Dec 30 20:58:57 2020 +1100 Remove useless wait in AVR suspend code (#11352) commit 78b12dee89f5855b29cc13fa65ca8e9a2248ad8e Merge: a8ac486555 1aa8a3b424 Author: QMK Bot Date: Wed Dec 30 09:06:36 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1aa8a3b4243ad3b2bdeea535dba3980c779171ea Author: Enoch Date: Wed Dec 30 01:06:02 2020 -0800 [Keymap] Yd60mq add 64 key layout (#11207) * 64 key layout * add license * add license add name commit a8ac4865554d051f3edac0d5ff7146e566a9ec2b Merge: a63db4b179 0f5f6a6a75 Author: QMK Bot Date: Wed Dec 30 04:12:32 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0f5f6a6a75b26d06ae5ee2b726eb97a67d04d325 Author: Maurizio Porrato Date: Wed Dec 30 04:12:02 2020 +0000 Add libusb-devel dependency for fedora (#11287) On fedora 33, libusb-devel is required to build BootloadHID commit a63db4b1799fdc773e3756f6c023bcabf4095285 Merge: 09eb6381a9 a038b712d0 Author: QMK Bot Date: Wed Dec 30 03:56:14 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit a038b712d06e0197a5fc64b4c5ecea441e3ff374 Author: swampmonster Date: Wed Dec 30 04:55:40 2020 +0100 [Keyboard] Add support to Kyria for the 2x2u layout (#11227) * Adding support for the 2 x 2u layout. This adds a macro to support the 2 x 2u layout which facilitates a cleaner looking layout configuration for the people using it. * Update keyboards/kyria/kyria.h Co-authored-by: Drashna Jaelre Co-authored-by: swampmonster <> Co-authored-by: Drashna Jaelre commit 09eb6381a90c482c489d3856f30432f9fa61b222 Merge: ade1a34cc8 ca8df55858 Author: QMK Bot Date: Wed Dec 30 03:41:33 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit ca8df55858953476f2681dc1de432f66c8765356 Author: André Cruz Date: Wed Dec 30 03:40:58 2020 +0000 Added mac variant of portuguese keymap extras (#11260) * Added mac variant of portuguese keymap This keymap is very similar to the existing portuguese keymap, but some symbols are moved around. Apply suggestions from code review Corrected whitespace and implemented some suggested changes. Co-authored-by: Ryan Converted some spaces to nbsp Added sendstring ISO version * Apply suggestions from code review Added suggestions from code review Co-authored-by: Ryan * Replaced space with nbsp * Corrected 2 chars in ascii_to_shift_lut { and } require shift Co-authored-by: Ryan commit ade1a34cc856dbdbc6fa6de2c0dcf8cb3a6abe66 Merge: c989da4cfd fda514bbd7 Author: QMK Bot Date: Wed Dec 30 03:26:45 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit fda514bbd7bb26a8a6cc12cd1d5e36b0d12e7ae0 Author: ReFil <31960031+ReFil@users.noreply.github.com> Date: Wed Dec 30 03:26:16 2020 +0000 [Keyboard] Polarity works CRBN support (#11107) * Initial CRBN compatibility Updated readme.md too * formatting tweaks to meet requirements * Update crbn.c * Create readme.md * Required fixes and licence header * Fixes * Apply suggestions from code review Co-authored-by: Ryan * Update keyboards/crbn/rules.mk Co-authored-by: Ryan * Update keyboards/readme.md Co-authored-by: Ryan * Update crbn.c * Update keyboards/crbn/crbn.c Co-authored-by: Drashna Jaelre * Licence headers * Create info.json * Apply suggestions from code review Co-authored-by: Ryan * Configurator support * Update keymap.c * Update keymap.c Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit c989da4cfd1cf5907f576abe45a3b8948d2991d5 Merge: 1b3504e329 c9156b50d9 Author: QMK Bot Date: Wed Dec 30 03:22:16 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit c9156b50d9fe448222144cc31ff5fe66e9a847c8 Author: Joshua Diamond Date: Tue Dec 29 22:21:44 2020 -0500 [Keymap] spidey3 keymap for DMQDesign Spin (#11194) * My first cut at firmware for te DMQDesign Spin * Turn off underglow when computer sleeps * dmqdesigns spin - a little more refined keymap now * a few more refinements for spin * missing key up event for CH_CPNL and CH_ASST * better naming for keymap * cformat * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Old #include habits die hard... :) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 1b3504e3292db2074b83944c32b67a7c88bb4f51 Author: siggie0815 Date: Wed Dec 30 04:18:16 2020 +0100 Update ADB impelemtation in TMK Core (#11168) * Update ADB impelmentation in tmk_core to recent version. Pcked from tmk_keyboard repository revision: 48d696443857512d45f9a7329e0dd0a76345860f * Restore convenient ADB functions used in QMK port. * Do cformat. commit 9410b15ac98d0a67d7eb851c074078c75ac420f2 Merge: 163e47c29d 992380a5dd Author: QMK Bot Date: Wed Dec 30 02:21:31 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 992380a5ddc87546f124238b53122c23ade6b421 Author: Jonathan Paugh Date: Tue Dec 29 20:21:00 2020 -0600 Add missing Debian/Ubuntu dependency to the install script (#11348) To successfully compile bootloadHID, we must have the libusb-config tool, which comes from the libusb-dev package. This package is available in both Ubuntu Groovy and Debian Buster Co-authored-by: Jonathan Paugh commit 163e47c29d5bf1b921e7d82c3c89548a63cdcf97 Merge: ed94fe28bf b4ea0a70be Author: QMK Bot Date: Wed Dec 30 02:06:23 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit b4ea0a70be9966aa1459bc99e089fbdda59ea049 Author: kb-elmo Date: Wed Dec 30 03:05:48 2020 +0100 Add Axolstudio Helpo (#11117) * add axolstudio helpo * reverse matrix * fix path in readme * Apply suggestions from code review Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis * Update keyboards/axolstudio/helpo/readme.md Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan commit ed94fe28bf4ac8cb0c2ecc9cf12c9fc2dd0fca6c Merge: 5e9b002808 c89930ca01 Author: QMK Bot Date: Wed Dec 30 01:49:49 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit c89930ca01f11011141133510ca06f2bbfd0bb73 Author: cole smith <38364556+daysgobye@users.noreply.github.com> Date: Tue Dec 29 17:49:13 2020 -0800 The mark: 65 (#11060) * added main keyboard files * working default and iso maps * add via config * made default ansi map * fixed info.json and made readme * renamed folders * reincluding the folders I renamed * Apply suggestions from code review Co-authored-by: Ryan * I made a change before PR to clean up VIA map that broke it now its fixed * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/boardsource/the_mark/the_mark.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 5e9b00280897914104583f7f820340ec6520beb7 Merge: 154bf92b5b a94044c15c Author: QMK Bot Date: Wed Dec 30 01:46:45 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit a94044c15c8217d8a6ad016cc0233abe3de374b0 Author: Suschman Date: Wed Dec 30 02:46:16 2020 +0100 40percentclub sixpack support (#11007) * QMK support for 40percentclub SixPack * Update readme.md * QMK support for 40percentclub SixPack * fix info.json * Apply suggestions from code review Co-authored-by: Joel Challis * update PRODUCT name and change BL levels to 6 * Add Fkeys keymap * correct readme * add via keymap * correct readme * change indentation * Apply suggestions from code review Co-authored-by: Ryan * requested change and more cleanup * Update keyboards/40percentclub/sixpack/sixpack.h Co-authored-by: Erovia * Apply suggestions from code review Co-authored-by: Suschman Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Erovia commit 154bf92b5b475b563ec9ba37ce43bfbf1aa4f918 Merge: aae0e12385 457042f179 Author: QMK Bot Date: Wed Dec 30 01:28:05 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 457042f1795f56a47becad3c51a2250d7447fb59 Author: Álvaro A. Volpato Date: Tue Dec 29 22:27:33 2020 -0300 Mode80 support (#10945) * Add default mode eighty firmware * Add via keymap * Mode80 firmware upgrades - Removed SPI and PWM drivers from MCU configuration, HAL configuration and Chibi configuration as neither peripherals are being used - Included second backspace key (row 5, col 14) which should solve the non-appearance of the backspace key on the hotswap PCB * Add default mode eighty firmware * Add via keymap * Update keyboards/mode/eighty/config.h Remove comment lines from config.h Co-authored-by: Ryan * Update keyboards/mode/eighty/config.h Remove comments from config.h Co-authored-by: Ryan * Update eighty.c Add GPLv2 header * Update eighty.h Add GPLv2 license header * Update readme.md Update README * Update keyboards/mode/eighty/config.h Remove keyboard description Co-authored-by: Drashna Jaelre * Delete config.h Delete config.h in keynap folder * Update keyboards/mode/eighty/rules.mk Remove feature disabling in rules.mk Co-authored-by: Ryan * Move rules.mk to VIA folder * Update keyboards/mode/eighty/keymaps/via/rules.mk Use LTO_ENABLE as short for LINK_TIME_OPTIMIZATION_ENABLE Co-authored-by: Drashna Jaelre * Update keyboards/mode/eighty/readme.md Puts a single image embedded in the readme, and links to the full gallery Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mode/eighty/readme.md Use * for markdown list Co-authored-by: Ryan * Apply suggestions from code review Correct comment characters Co-authored-by: Ryan * Adjusted copyright name, USB descriptor and removed info.json * Separate Mode80 S and H firwares into subfolders * Added info.json files for QMK Configurator * Lowercase folder and filenames * Remove config definition macros in M80H * Remove config definition macros in M80S and root * Change definitions to lowercase parameters * Moce chconf and mcuconf chibiOS files to root folder * Move halconf to root folder, keymaps to subfolders * Update readme for building/flashing guide Co-authored-by: Ryan * Add layers to VIA keymaps, remove CONSOLE_ENABLE * Push master changes to lib/ * Retrieve lufa and googletest submodules to previous heads at master * Disabled LTO in VIA keymaps * Fix layout declaration to lowercase in m80s default keymap * Added readme's for each M80S and M80H Co-authored-by: Jaicob Co-authored-by: Gondolindrim Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit aae0e123853f410a42e3f454c16a428ac9d40854 Merge: e3ce3d6e30 944feb2da5 Author: QMK Bot Date: Wed Dec 30 01:14:12 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 944feb2da52a3e6a9656e1c71cae75e4ca83a2e5 Author: LongerHV <46924944+LongerHV@users.noreply.github.com> Date: Wed Dec 30 02:13:37 2020 +0100 [REDOX] Fix default keymap formatting (#11288) commit e3ce3d6e307043a8998eb1739adc83322847a1b1 Merge: dae6249efa b49c657ac1 Author: QMK Bot Date: Wed Dec 30 01:07:23 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit b49c657ac1f07689fe575b901bfe080c301ab1d4 Author: TJ Date: Tue Dec 29 19:06:52 2020 -0600 [Keyboard] Add via support for le chiffren (#10597) * add Via support and improve default keymap * Update OLED widgets with Sickbabies updates. Add license headers * Add led matrix config * Add g_led_config * Fix rules for matrix * rules.mk updates * Fix key lock state widgets rebase on master * Rules fixes * remove LED_MAP commit dae6249efa282f64fa626313fc2ea3ec392fd9ef Merge: 4f2f21dc05 ac433b218d Author: QMK Bot Date: Wed Dec 30 00:58:48 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit ac433b218d2f0652833155f5eaa6b0c287f9cdec Author: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Wed Dec 30 08:58:14 2020 +0800 [Keyboard] Add the Octopad (#9946) * Create Alter folder * Revert "Create Alter folder" This reverts commit 361103b821dbb22957b66cdedb0d11f996def71c. * Add octopad folder * Added a new keyboard, the Octopad * Edited files based on requested changes * Moved encoder code in keyboard level * Updated the readme * Corrected the rows and columns of encoders on config.h * Changed the Vendor ID to D812 since the first one was already taken * Added support for ast1109MLTRQ speakers * Increased number of layers to 8 on VIA keymap * Edited files based on comments * Edited rules.mk as per comment * Edited readme.md as per comment commit 4f2f21dc05c70451593ba83ed7a0956c771850c2 Author: Aldehir Rojas Date: Tue Dec 29 18:28:49 2020 -0600 Rewrite APA102 support (#10894) * Rewrite APA102 support The APA102 source was broken by commit 16a15c1cfcbfd0feb2c2cf1383676747e2f97d73 as it did not include the quantum header. This commit addresses that, as well as other issues with transferring bytes over the SPI interface, i.e. it was not setting the clock pin back to low after sending a bit. The deviation when sending the end frame is kept, but updated to the latest from the referenced project. Finally, these changes expose the global LED brightness parameter of the APA102. Brightness values are configurable through `APA102_DEFAULT_BRIGHTNESS` and `APA102_MAX_BRIGHTNESS`. * Fix typo in led brightness extern * Move driver out of AVR directory and add delay for ARM * Experimental APA102 support on AVR and ARM Co-authored-by: Alde Rojas * Refactor apa102_send_byte() calls to a loop * Implement io_wait function for ARM * Move APA102 drivers to own directory, fix copyright notice * Add APA102 keymap to handwired/onekey * Simplify RGBLIGHT_ENABLE/DRIVER option handling Co-authored-by: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> commit 7dd99f2b22a34143c0443154d9cd97540443b096 Merge: e29b9e32bb 8ee03f6a6b Author: QMK Bot Date: Wed Dec 30 00:06:16 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8ee03f6a6b3216fa0d4372d4db8c09f24473c6c6 Author: Naoto Takai Date: Wed Dec 30 09:05:48 2020 +0900 Update Choco60 firmware to support new PCB (#11218) * Update vendor and product info * Add rev2 for Choco60 * Add keymap for VIA * Add readme.md for rev1 and rev2 * Use list instead of new line * Remove DESCRIPTION Co-authored-by: Ryan * Update rev1/readme.md to specify rev1 directly. Co-authored-by: Ryan * Remove some definitions Co-authored-by: Ryan * Remove comments Co-authored-by: Ryan Co-authored-by: Ryan commit e29b9e32bba49bc076a2e298554b19c4de231161 Merge: 599043e7ff 0c4663a802 Author: QMK Bot Date: Wed Dec 30 00:03:43 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0c4663a802e1155443e6b467ded94f556a1d880f Author: Jacqueline Liang <8636194+Bratzworth@users.noreply.github.com> Date: Tue Dec 29 18:03:35 2020 -0600 Add 6key to keyboards/handwired (#11226) * Add 6key to keyboards/handwired * Add keyboards/handwired/6key folder * Add 6key.c * Add 6key.h * Add config.h * Add keymaps/default/keymap.c * Add readme.md * Add rules.mk * Add info.json * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Make changes based on pr comments * Apply formatting suggestions from code review Co-authored-by: Ryan * Update keyboards/handwired/6key/rules.mk Co-authored-by: jyliang2 Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Joel Challis commit 5d0c0e7c123848c2ab6e3eea2bc0704d0390b91b Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Tue Dec 29 16:03:09 2020 -0800 add nodu keyboard (#11233) * add nodu keyboard * fix info.json * limit via to 3 layers Co-authored-by: Swiftrax commit 599043e7ffba1cc90840649493e80c0aecfa3af9 Merge: 79265fc2c0 bea897caf1 Author: QMK Bot Date: Tue Dec 29 23:44:18 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit bea897caf1f1986d1bced6548071f8ed49215d98 Author: Andrew Kannan Date: Tue Dec 29 18:43:46 2020 -0500 Tsukuyomi Keyboard (#10898) * Add Tsukuyomi PCB * Remove unncessary file * Fix * update config * Tsukuyomi info.json * Update readme * add license header and add dfu suffix args * Apply suggestions from code review Co-authored-by: Joel Challis * Update info.json * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 79265fc2c0e3c5f63dc11cafa807a346cb045cc0 Merge: 871d99e659 e85d904fe1 Author: QMK Bot Date: Tue Dec 29 23:24:24 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit e85d904fe18b09cc6b001424824eebfb0361ebfe Author: Nick Krichevsky Date: Tue Dec 29 18:23:50 2020 -0500 Add convenience method for setting Nibble's big LED RGB (#11257) commit 871d99e659faa8cb29b80b2a94d0d3fcf5ef2c08 Merge: 25109f79f1 12568fb5a9 Author: QMK Bot Date: Tue Dec 29 22:14:33 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 12568fb5a9167d29a52f79c739f11830bde3e4be Author: Drashna Jaelre Date: Tue Dec 29 14:14:03 2020 -0800 [Bug] Fix RGB Matrix Indicators (#11308) commit 25109f79f122a2f81663097a6d19e4d64993a1ba Merge: 9634c72d7e 824e1cd95d Author: QMK Bot Date: Tue Dec 29 22:13:29 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 824e1cd95d61018979a9e391219a95f5a95b4a6e Author: Joe Hu Date: Wed Dec 30 06:12:58 2020 +0800 Fix backlight for XD84 (#11309) Like XD87, XD8 should have `#define BACKLIGHT_ON_STATE 0` too. commit 9634c72d7e925ceff9f930153c59b098e4ae8a72 Merge: 8609fe8f46 2573ed8c6b Author: QMK Bot Date: Tue Dec 29 21:45:35 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2573ed8c6bc3ce5dcccbd3fddc2e8fe5a0377eac Author: xyzz <1065521+xyzz@users.noreply.github.com> Date: Tue Dec 29 16:45:04 2020 -0500 Remove MATRIX_IS_ON macro (#11330) * Remove MATRIX_IS_ON macro this macro is both incorrect and excessive given that macro_is_on() exists * Remove massdrop matrix.h commit 8609fe8f46dac2c5d0ac24dfdd6bc321c8602de3 Merge: 77185961dc 25d9cdc88f Author: QMK Bot Date: Tue Dec 29 21:14:06 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 25d9cdc88fa990251c5528d07027448c7c801f58 Author: Monksoffunk Date: Wed Dec 30 06:13:35 2020 +0900 Add ALETH42 keyboard (#10720) * Add Aleth42 keyboard * Fix Rotary Encoder Section * Add VIA keymap * Fix VIA keymap remove RETRO_TAPPING define because of incompatiblity of rotary encoders with layer tapping. change KC_ESC to KC_GESC * Change TAPPING definitions Comment TAPPING_TERM Remove RETRO_TAPPING * Add rev1 Add new rev1 directory Move previous files to rev0 * Add define of ENCODER_RESOLUTION * Change number of RGBLED * Change USB descriptor param Change VID, PID and product name * Change default and via keymaps * Remove upper keymap * Add readme * Change USB descriptor param VID 0x04D8 PID 0xEAC8 Manufacturer 25KEYS rev0 -> 0x0000 rev1 -> 0x0001 Remove define DESCRIPTION * Fix info.json Remove info,json under /rev0 /rev1 Add correct info.json at keyboard/aleth42/ * Change keymaps * Remove unnecessary comments * Change BOOTMAGIC option * Change config options * Fix readme files * Change keymap readme files * Change to use get_highest_layer * Update keyboards/aleth42/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Use tap_code16 function * Remove empty config file * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan Co-authored-by: Ryan commit 77185961dc33c368cf43301194f7f335d505eac4 Merge: 7ee3eb50b0 962b8d3814 Author: QMK Bot Date: Tue Dec 29 20:52:21 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 962b8d38141e60bfc4141e1e0aea60ca00901589 Author: Ryan Date: Wed Dec 30 07:51:36 2020 +1100 Update keycode docs (#11343) commit 7ee3eb50b028f22183e180caddfaf98904212174 Merge: 525be128c9 122cf3ad0f Author: QMK Bot Date: Tue Dec 29 19:46:58 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 122cf3ad0f7d3d93f98c5211e9c7c6f60db463e9 Author: Ryan Date: Wed Dec 30 06:46:15 2020 +1100 Update Zadig docs with list of bootloader device names and IDs (#11337) commit 525be128c9a00101f630f2bad6c661046749762e Merge: 7b7763469b 5edfdeff50 Author: QMK Bot Date: Tue Dec 29 19:42:43 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5edfdeff50e1741a93dae9154fa413c3a7752d32 Author: Zach White Date: Tue Dec 29 11:42:09 2020 -0800 remove some old and unused code from Makefile (#11336) commit 7b7763469bb8cc0091d02f1f5a5e77d70d7666cd Merge: 9748b6b847 221d8fd866 Author: QMK Bot Date: Tue Dec 29 19:35:24 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 221d8fd8669ff528bfedd01f41486f5298d960e1 Author: LongerHV <46924944+LongerHV@users.noreply.github.com> Date: Tue Dec 29 20:34:48 2020 +0100 [CLI] Add stdin support for json2c command (#11289) * Implement stdin for json2c command * Refactor * Handle json decode error * Add stdin support for c2json cli command * Refactor to prevent code duplication * Change exit(1) to return False in c2json command * Remove unused import commit 9748b6b847d9c184db6efd660ee8b343a4bf7485 Merge: d1b9a7e1bd 3300164065 Author: QMK Bot Date: Tue Dec 29 16:33:06 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3300164065949e6bc9423632ccbcd0022be8074d Author: Chas Date: Tue Dec 29 08:32:30 2020 -0800 Typo fix: Useful function -> Useful Functions (#11342) Thanks! commit d1b9a7e1bd78b29d00d2deff6529e8ded7836e23 Merge: 8ea2650ab2 55843480ff Author: QMK Bot Date: Tue Dec 29 04:06:42 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 55843480fffddebf15b3557fb11dca6206ab7b7b Author: Zach White Date: Mon Dec 28 20:06:07 2020 -0800 Fix compile issues from the error page (#11314) * fix abacus so it works with configurator * create the keymap path if it doesn't exist * bpiphany/unloved_bastard: remove the nested macros, move default keymap to json * readd the unloved_bastard default keymap * fix clueboard/card * fixup handwired/2x5keypad * fixup hub16 * matrix/noah: remove the broken matrix print code to fix compilation * reinstate matrix_print with the right include * Revert "create the keymap path if it doesn't exist" This reverts commit af732776a539e8c6e2edf2e54f4d7f5ffa65b3a2. commit 8ea2650ab2019ce598aa255c345cc4c81c749f68 Merge: 99d6349978 5fde2d730c Author: QMK Bot Date: Mon Dec 28 20:27:33 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5fde2d730c854eb6516771f1c5dcd22626f85efb Author: David Doan Date: Mon Dec 28 12:27:00 2020 -0800 1x4p1 (#11186) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Erovia commit 99d6349978b2117ed7ca3e0e3d2d84616df323d6 Merge: 0c5be869ff 1b7b72c0e9 Author: QMK Bot Date: Sun Dec 27 17:37:04 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1b7b72c0e96856d2b9f73f705787af3426662bcf Author: Ryan Date: Mon Dec 28 04:36:32 2020 +1100 Ensure single newline at EOF for core files (#11310) commit 0c5be869ffb7de6ca1107a5804d6d4d536d80e91 Merge: 0b37c0dfa0 bbf0f65284 Author: QMK Bot Date: Sun Dec 27 16:56:40 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit bbf0f65284f6c9cc40429f446bddf48e2e882ad0 Author: Joel Challis Date: Sun Dec 27 16:56:10 2020 +0000 Simplify the visual flow of the getting started page (#11316) * Add tabs to getting started page * Review comments Co-authored-by: Ryan * Align with current theme * Update docs/newbs_getting_started.md Co-authored-by: Ryan * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit 0b37c0dfa0690c60ddf0798d8d771b74f47ebca1 Merge: ffd7e44e5a 1d1d5da43f Author: QMK Bot Date: Sat Dec 26 04:56:43 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1d1d5da43f86d9dded47c66afec94991d623f114 Author: Ryan Date: Sat Dec 26 15:56:11 2020 +1100 Change include guards in tmk_core/ and drivers/ to pragma once (#11240) commit ffd7e44e5af660fbd131f67ef803ac3aad2123d6 Merge: 6c366ccf6a 48f4768d33 Author: QMK Bot Date: Sat Dec 26 04:53:57 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 48f4768d33313e6a6ed48c31f95eb44feda10a51 Author: Ryan Date: Sat Dec 26 15:53:12 2020 +1100 Change include guards in quantum/ to pragma once (#11239) commit 6c366ccf6a5f88598c115c81845d983eb363b172 Merge: a4866b31d6 53eb7f0774 Author: QMK Bot Date: Fri Dec 25 23:00:57 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 53eb7f0774881e8a9f6186a51e15135edc6f8575 Author: Drashna Jaelre Date: Fri Dec 25 15:00:29 2020 -0800 [Keyboard] Fix default keymaps for tunks/ergo33 (#11280) * [Keyboard] Fix default keymap for tunks/ergo33 * Add prpro keymap too commit a4866b31d6b6620b179c597c9bdff14ccd8dd928 Merge: f1a67c42a0 5544bf8524 Author: QMK Bot Date: Fri Dec 25 17:38:46 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5544bf8524c77ad09d32cf2b0f6dc40f7b05ee01 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Dec 26 02:38:07 2020 +0900 [Keymap] update rules.mk and config.h of `helix/rev2:five_rows` (#11302) * update keyboards/helix/rev2/keymaps/five_rows/rules.mk: oled selection, led animation selection * add OLED_UPDATE_INTERVAL support into keyboards/helix/rev2/keymaps/five_rows/oled_display.c Support for OLED_UPDATE_INTERVAL, even for older types of OLED tasks. * Add 'HELIX=debug/no-debug' option into 'helix/rev2/keymaps/five_rows/rules.mk' commit f1a67c42a069c9ca6ffa597a7217fe13de6f6dd5 Merge: c6aa9c4ad7 7ca4b61922 Author: QMK Bot Date: Fri Dec 25 14:45:00 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7ca4b619223260d17bcc0d065a02d1bbdce436b8 Author: kiwikey <75843996+kiwikey@users.noreply.github.com> Date: Fri Dec 25 21:44:32 2020 +0700 First commit of Kawii9 (#11201) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit c6aa9c4ad7b6192f88de440267aa57e86e6ee2b5 Merge: f83eefba37 b7f640ca76 Author: QMK Bot Date: Fri Dec 25 14:42:41 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit b7f640ca764b25e09bd0e60841bfd492bede036f Author: Jonathon Carstens Date: Fri Dec 25 06:42:11 2020 -0800 Adding new keyboard: Tenkey++ (tenkey_plusplus) (#11197) Co-authored-by: Ryan commit f83eefba376ae94a0310130b3d7493c056d175a4 Merge: 73dfc2b368 436b5394bb Author: QMK Bot Date: Fri Dec 25 14:39:30 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 436b5394bb370ca2415b5c4cc10b92b7665e4e78 Author: Drashna Jaelre Date: Fri Dec 25 06:38:31 2020 -0800 [Keyboard] Fix Dactyl Manuform with Trackball info.json (#11298) commit 73dfc2b36887b0580bf534a520baaad3fae0f613 Author: George Mao Date: Thu Dec 24 14:53:16 2020 -0800 [Keyboard] Refactor Jacky's boards (Bear65 and S7 Elephant) (#10528) commit 010271d6ea08b58415d3ecd3e8acb37aeb4372bb Author: Jan Christoph Ebersbach Date: Thu Dec 24 23:12:19 2020 +0100 Implement kinetic mouse movement algorithm (#6739) * Implement kinetic mouse movement algorithm * Adjust mouse wheel speed * Remove unused math.h include * Wrap mouse_timer definition in ifdef * Replace double space by single space * Clarify documentation of kinetic mouse speed Co-Authored-By: lf * Clarify documentation of kinetic mouse speed Co-Authored-By: lf * Remove superfluous definition of speed * fix(variable): remove unused variable Co-authored-by: lf commit 4551e57d642ab406c00eccd21ecd1432dfc5819c Merge: 7771e544ac cd0d2d0de5 Author: QMK Bot Date: Thu Dec 24 13:33:55 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit cd0d2d0de57e154b4684a03e648f972c234f97d3 Author: CMMS-Freather <72902384+CMMS-Freather@users.noreply.github.com> Date: Thu Dec 24 05:33:25 2020 -0800 new repo: create cmm.studio folder, add saka qmk firmware (#11248) Co-authored-by: Ryan commit 7771e544ac0a3344cc8125292b31de8c52f7d4f1 Merge: 5437c0af6e 6a292e11d3 Author: QMK Bot Date: Thu Dec 24 02:37:19 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6a292e11d3faddbdbed8175a97aaed00a3469afa Author: Ryan Date: Thu Dec 24 13:36:44 2020 +1100 `qmk fileformat`: only print complaints, and fix some of them (#11278) commit 5437c0af6efa1923d3ed04998d65d42a21dca76e Merge: 45bace1328 3e3f93c971 Author: QMK Bot Date: Thu Dec 24 01:08:27 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3e3f93c971aec877efbee71da76b48f3f006e97c Author: Thierry Michel Philippe Kleist Date: Thu Dec 24 02:07:56 2020 +0100 [Keyboard] misterknife/knife66_iso (#11010) * feat: added new variant of knife66 commit 45bace1328a5ea60f61fde2e1410447f218ed83b Merge: a0af5eb307 9136c122f8 Author: QMK Bot Date: Wed Dec 23 17:00:38 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9136c122f80983e9f6b543241b7912b71117d928 Author: Boris Faure Date: Wed Dec 23 17:59:57 2020 +0100 docs: add Gentoo to newbs_getting_started.md (#11241) commit a0af5eb30700bf68dc88359645230b7608094125 Merge: 363957f919 cc4b93b330 Author: QMK Bot Date: Wed Dec 23 09:22:59 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit cc4b93b330e3cfa50b00dd6edea3f9abcf15c05d Author: Barry Huang Date: Wed Dec 23 17:22:31 2020 +0800 Helen 80 addition (#11133) Co-authored-by: james sa Co-authored-by: James Sa commit 363957f919b092b6e1a881d8decf3acba6c2e436 Merge: 524da962d3 d40d1e4024 Author: QMK Bot Date: Wed Dec 23 07:26:03 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit d40d1e4024f3c4909c5d658a2c358f3142073d24 Author: Perry Hargrave Date: Tue Dec 22 23:25:20 2020 -0800 [keymap] Adds tofu65 with split spacebar (#10831) * [keymap] Adds tofu65 with split spacebar * Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c Co-authored-by: Ryan * Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c Co-authored-by: Ryan * Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/readme.md Co-authored-by: Ryan * Update keyboards/kbdfans/kbd67/rev2/rev2.h Co-authored-by: Ryan * Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c Co-authored-by: Ryan * Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c Co-authored-by: Ryan * Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c Co-authored-by: Ryan * Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c Co-authored-by: Ryan * keymap:tofu65: remove unneeded config.h * Update keyboards/kbdfans/kbd67/rev2/keymaps/ansi_split_space/keymap.c Co-authored-by: Ryan Co-authored-by: Ryan commit 524da962d388d6e1505f87c7b1908b973ab2e3c8 Merge: d6de97b116 b2ab0af905 Author: QMK Bot Date: Wed Dec 23 06:37:37 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit b2ab0af905821a3526ca94a2192578b2c827542e Author: Nick Blyumberg Date: Wed Dec 23 01:37:01 2020 -0500 [Docs] Update links in main README.md (#11284) It looks like features.md was deprecated and content was split into other files. This results in a broken link on the main page which, if removed, would have no impact to the remainder of the documentation. This would also: resolve #9239 resolve #10293 resolve #10447 commit d6de97b116e7d751118891c1cfb8cb656910f3e5 Merge: 7c95e5ef3e d898d4a6fc Author: QMK Bot Date: Wed Dec 23 06:28:28 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit d898d4a6fca2eb36105e45ec481e3b4b05e8afd9 Author: TerryMathews Date: Wed Dec 23 01:27:55 2020 -0500 [Keyboard] Portico: Initial support for TKC Portico (#11215) * Portico: Initial support for TKC Portico * Portico: added GPL header to keymap files * Update keyboards/tkc/portico/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit 7c95e5ef3e83cd8606b16a12392be09fe4417fd6 Merge: 83d73b5407 7c0cb18681 Author: QMK Bot Date: Wed Dec 23 06:24:07 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7c0cb186811c7a77e7aa7aabe28b926c33caa58d Author: Anthony Marin <38014984+smyjpmu@users.noreply.github.com> Date: Wed Dec 23 01:23:29 2020 -0500 [Keyboard] HID Technologies vendor id correction (#11225) * add bastyl * no need to copy the folder anymore * clean up according to PR rules * remove via, fix disposition * add reset button on right half * Update readme.md * Update keyboards/hidtech/bastyl/bastyl.h Co-authored-by: Joel Challis * Update keyboards/hidtech/bastyl/rules.mk Co-authored-by: Joel Challis * Update keyboards/hidtech/bastyl/config.h Co-authored-by: Joel Challis * move json, remove via files * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan * add GPL to c and h files * Update keyboards/hidtech/bastyl/info.json Change order to match layout macro Co-authored-by: Joel Challis * Update keyboards/hidtech/bastyl/config.h Co-authored-by: Drashna Jaelre * serial define can be ommited, is used by default * Corrected VENDOR_ID Incorrect VENDOR_ID has been updated to the correct one. Co-authored-by: Quentin Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 83d73b54072f1ffcdece924b0d412ce49b0343bc Merge: f971934dab e52b4797d3 Author: QMK Bot Date: Wed Dec 23 06:01:26 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit e52b4797d3b1cec8e7ae8f092e10880c506f0cf0 Author: Blake Date: Wed Dec 23 06:00:55 2020 +0000 [Keyboard] Scarlet numpad VIA support added (#11188) * Initial test version of Scarlet keyboard * First commit of DElec Scarlet * Change to new Draytronics branding * Update to keyboard details Update to keyboard details and link to Draytronics website. * Update keyboards/draytronics/scarlet/scarlet.h Co-authored-by: Joel Challis * Update keyboards/draytronics/scarlet/rules.mk Co-authored-by: Joel Challis * Update keyboards/draytronics/scarlet/readme.md Co-authored-by: Joel Challis * Update keyboards/draytronics/scarlet/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/draytronics/scarlet/config.h Co-authored-by: Joel Challis * Update keymap.c * Update config.h * Update scarlet.h * Update keyboards/draytronics/scarlet/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/draytronics/scarlet/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/draytronics/scarlet/scarlet.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/draytronics/scarlet/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * provide info.json layout to fix qmk configurator * Correctly name keyboard in info.json * Added website and layout key labels to info.json * VIA support. Thanks sirdicholas * Readme change, link to VIA design file. Co-authored-by: Blake Drayson Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit f971934dab17316f69978074ae86db8da4fcf7ab Merge: 3656644c35 498d89f4b3 Author: QMK Bot Date: Wed Dec 23 05:59:58 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 498d89f4b345e3f5bccbbb8ac82df4eb7c582b1b Author: Daniele De Vincenti <34176349+Napan0s@users.noreply.github.com> Date: Wed Dec 23 06:59:26 2020 +0100 [Docs] Add clarification on use of custom RGB Matrix effect (#11176) * Update feature_rgb_matrix.md Added more clarification on how to use a newly created rgb effect as it was unclear that the prefix 'RGB_MATRIX_CUSTOM_' had to be added. Also included an example consistent with the documentation example. * Update docs/feature_rgb_matrix.md Co-authored-by: Ryan * Update docs/feature_rgb_matrix.md Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Joel Challis commit 3656644c35a176948587e893487806343bc88cc1 Merge: bdc3578e29 d5f3f7c126 Author: QMK Bot Date: Wed Dec 23 05:53:47 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit d5f3f7c126553b5485766ed666810ec3f3339894 Author: Ibnu Daru Aji Date: Wed Dec 23 12:53:14 2020 +0700 [Keyboard] corrected VID/PID and layout for squiggle (#11198) * corrected the pid and added a new layout. * following drashna's suggestion. commit bdc3578e29fd42d556b775b8400345ae7b261e7d Merge: 19fd0108d3 e9ed5d7571 Author: QMK Bot Date: Wed Dec 23 05:35:04 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit e9ed5d757164d363582a436e3a71186847c9b7af Author: Rustam Zagirov Date: Wed Dec 23 08:34:33 2020 +0300 ergodox_ez/stamm update (#11236) commit 19fd0108d3910b4856b1587acf11c8e4052cb7cc Merge: 529dad88dd 806aa9bc67 Author: QMK Bot Date: Wed Dec 23 04:02:16 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 806aa9bc67c77c3899e60c1daef560680865568c Author: Ryan Date: Wed Dec 23 15:01:44 2020 +1100 Remove comments about custom ldscript for Teensy LC (#11224) commit 529dad88ddac0e64fce06bd6744884606f9d07cd Merge: b02c694992 dc7081a823 Author: QMK Bot Date: Wed Dec 23 02:50:49 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit dc7081a8233e5d709d09cc09adafdc42efd9c8a0 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Wed Dec 23 11:50:12 2020 +0900 [Keymap] fix and update helix/rev3_5rows:five_rows (#11191) * [Keymap] fix and update helix/rev3_5rows:five_rows * fix rgblight animation selection * use `DEBUG_MATRIX_SCAN_RATE_ENABLE` insted of keyboard_post_init_user_scan.c * Change the initial value of the ENCODER_ENABLE to 'no' in 'keymaps/five_rows/rules.mk' * Add 'HELIX=debug/no-debug' option into 'rev3_5rows/keymaps/five_rows/rules.mk' * Add '#define OLED_UPDATE_INTERVAL 100' 'rev3_5rows/keymaps/five_rows/config.h' * add LED_ANIMATIONS_LEVEL macro into rev3_5rows/keymaps/five_rows/ * Change OLED_UPDATE_INTERVAL value in rev3_5rows/keymaps/five_rows/config.h commit b02c6949926b6f2393987d619692e18f7b997144 Merge: dc6b0d3548 fd177582ad Author: QMK Bot Date: Wed Dec 23 00:45:29 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit fd177582adbd6847bbe620ae1a6ffd7a85370f2d Author: Reza Jelveh Date: Wed Dec 23 08:44:49 2020 +0800 chibios: honor PLATFORMASM in chibios build (#11219) commit dc6b0d3548fdeaff6afa48d83e9c09d80d3a0b27 Merge: 1c04608b0a dee506c096 Author: QMK Bot Date: Tue Dec 22 21:05:31 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit dee506c096902316136f11dca2f560a62fd61e53 Author: Kishor Prins Date: Tue Dec 22 16:04:55 2020 -0500 Updated Raw HID docs to clarify packet/report length (#11211) Co-authored-by: Ryan commit 1c04608b0a061b30a4c22d054b5a153b5d93793a Merge: 47db2d3062 78b2f120e5 Author: QMK Bot Date: Tue Dec 22 20:33:41 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 78b2f120e50e3db7c6f2b114907dbe50d82e6090 Author: Ryan Date: Wed Dec 23 07:33:04 2020 +1100 V-USB: Fix initial dropped keypress (#11263) commit 47db2d3062aae7f2663b1f0078bd599adfadea0b Merge: 286ab6d53f ce7d3855f4 Author: QMK Bot Date: Tue Dec 22 19:29:09 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit ce7d3855f479c57cc050993df5ea7d1479e0cdb9 Author: SpacebarRacecar <42380065+SpacebarRacecar@users.noreply.github.com> Date: Tue Dec 22 20:28:34 2020 +0100 Update to personal keymaps (#11171) commit 286ab6d53f81f7f0862e445d332570f0b5fd9033 Merge: 3b06ab51e5 4eebefada7 Author: QMK Bot Date: Tue Dec 22 19:28:03 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4eebefada7618c07e881b45f79570a5f807a760c Author: Nathan13888 <29968201+Nathan13888@users.noreply.github.com> Date: Tue Dec 22 14:27:27 2020 -0500 [Keyboard] YMD75 rev 3: fix BACKLIGHT_PIN (#11172) * YMD75 rev 3: fix BACKLIGHT_PIN Update backlight LED pin used by QMK to control the per-key backlight for YMD75 rev 3 * YMD75 rev 3: fix BACKLIGHT_PIN - fix comments * YMD75: move BACKLIGHT_PIN definitions to the respective versions Signed-off-by: Nathan13888 <29968201+Nathan13888@users.noreply.github.com> commit 3b06ab51e558695a040b59e1277709c67573e602 Author: Sendy Aditya Suryana Date: Wed Dec 23 02:20:09 2020 +0700 [Keyboard] Add Pix (#11154) * Add nakal4x keyboard firmware * Fix VIA config * Setup OLED * Rename to pix * Rename via.json to info.json * Update keyboards/sendyyeah/pix/config.h remove obsolete value as suggested by drashna Co-authored-by: Drashna Jaelre * Add GPL Like license header * Remove unused bootloader list * Change URL * Update readme * Delete via info.json * Add GPL2+ license header on via keymap * Update keyboards/sendyyeah/pix/rules.mk Co-authored-by: Ryan * Update keyboards/sendyyeah/pix/keymaps/default/glcdfont.c Co-authored-by: Ryan * Add GPL2+ license header on via keymap * Add image * Remove local drivers * Remove unused method on keymap files * Change project name on keymap readme files * Update keyboards/sendyyeah/pix/rules.mk Co-authored-by: Ryan * Update keyboards/sendyyeah/pix/readme.md Co-authored-by: Ryan * Update keyboards/sendyyeah/pix/keymaps/default/glcdfont.c Co-authored-by: Ryan * Update keyboards/sendyyeah/pix/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/sendyyeah/pix/keymaps/via/keymap.c Co-authored-by: Sendy Aditya Suryana Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 3dde3547366cc39ebccff59c30942450897580cd Merge: 824175e69c 71b52416d8 Author: QMK Bot Date: Tue Dec 22 18:40:06 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 71b52416d87c38f170085608203abeaafcc0735a Author: cjcodell1 <26935146+cjcodell1@users.noreply.github.com> Date: Tue Dec 22 13:39:29 2020 -0500 [Keyboard] Add Nimrod (#11141) Co-authored-by: Ryan commit 824175e69cfd7b0a5acd4e204d09428144a8a952 Merge: 603d5fbeb1 bf324c38e3 Author: QMK Bot Date: Tue Dec 22 18:11:31 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit bf324c38e3a8929999e459b947b5551bc216cc88 Author: Dmitry Nosachev Date: Tue Dec 22 21:10:56 2020 +0300 [Keyboard] add ASkeyboard Sono1 (#11114) * handwired/sono1 * readme: addition * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit 603d5fbeb182435a96f5fc4e2c059c048ebfbe29 Merge: 325179eb63 f40b564683 Author: QMK Bot Date: Tue Dec 22 17:52:34 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit f40b56468366212ffa23de5dd424f24e42bb88bb Author: Joshua Diamond Date: Tue Dec 22 12:51:47 2020 -0500 Partial fix for Issue #9405 - Caps Lock not working with Unicode Map's XP on Linux (#11232) commit 325179eb63f5a467b3680052d4e4e3790a69b90e Merge: 96a5e560d7 2843e7f995 Author: QMK Bot Date: Tue Dec 22 17:40:46 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2843e7f995fd1c8a011f541802aaad254278d6d4 Author: Jack <59737601+wafflekeebs@users.noreply.github.com> Date: Tue Dec 22 10:40:04 2020 -0700 [Keyboard] Add VIA keymap for the reviung41 (#11102) * Add VIA keymap for reviung41 * Change VID for compatibility * Add GPL header to config.h * Enable link time optimization * Remove config since it might not be needed commit 96a5e560d79dfd3f5700b42b7e67799472a21141 Merge: 71fcfb3cb5 54e2bf3ede Author: QMK Bot Date: Tue Dec 22 17:23:53 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 54e2bf3edefb670ede2c2c3934dc732264ac6381 Author: Joshua Diamond Date: Tue Dec 22 12:23:09 2020 -0500 Fix Issue #9533 - Delayed shift state handling (#11220) Co-authored-by: Ryan commit 71fcfb3cb52b9adb9ace304503bc3c6addfb3916 Merge: 8f867c1bef 9453573080 Author: QMK Bot Date: Tue Dec 22 09:15:10 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 94535730809d3fb9b466b221b935f27898a17887 Author: kb-elmo Date: Tue Dec 22 10:14:28 2020 +0100 [Keyboard] Add Axolstudio Yeti (#11051) commit 8f867c1befde0b91acd12c4c7600ddab8acf34d3 Merge: 37bb69686c c0dcee96a8 Author: QMK Bot Date: Mon Dec 21 14:39:10 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit c0dcee96a8cfb82e9a925f562283b2450ba536ec Author: Zach White Date: Mon Dec 21 06:38:39 2020 -0800 Initial list of keyboards to exclude from CI (#11213) commit 37bb69686ca7a95f27ed4a64780ad6beca8304c9 Merge: 210e614d2a 4e0718a3b7 Author: QMK Bot Date: Mon Dec 21 14:35:14 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4e0718a3b7d66ab9f2c41641aeee88d9a2c574d7 Author: Ben Date: Mon Dec 21 15:34:40 2020 +0100 [Keyboard] add Lily58L keymap (#9870) Co-authored-by: Drashna Jaelre Co-authored-by: Erovia Co-authored-by: Ryan commit 210e614d2a6999727497557845e91b063620a8c4 Merge: 296a6cf4ea a380a26ad2 Author: QMK Bot Date: Mon Dec 21 12:30:13 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit a380a26ad2fa4cfa580134be81772153b697a1ac Author: Erovia Date: Mon Dec 21 13:29:36 2020 +0100 Split of the doctor codebase (#11255) Co-authored-by: Ryan commit 296a6cf4ea32d2aabc8fa1b09f9552fc541ab13b Author: Nick Brassel Date: Mon Dec 21 15:02:38 2020 +1100 ChibiOS conf migrations... take 3 (#11261) * Add SPI1 DMA stream definitions. * ChibiOS conf upgrade for acheron/lasgweloth acheron/lasgweloth - 3bedb0fe1f1b542b4d90daeaeab8905cd9ee992c * ChibiOS conf upgrade for box75 box75 - ff91bacf5cec0b42df02967eb0ecbf4bd1b56928 * ChibiOS conf upgrade for geekboards/macropad_v2 geekboards/macropad_v2 - 1c205720d47f7e636173064b1aef1637860a9134 * ChibiOS conf upgrade for iron180 iron180 - 867929d78361a50e34671e4e167cafd927d8982b * ChibiOS conf upgrade for technika technika - cb9295b90980eb8dfdc63d6031533edbb344c045 commit c8cd2caeaca0546a598715cbb87d0d6cdd6dcdeb Merge: d7385676bc e3211e307e Author: QMK Bot Date: Mon Dec 21 02:12:40 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit e3211e307ec14c326b03b39806ed7bb11b927d34 Author: Ryan Date: Mon Dec 21 13:12:07 2020 +1100 Fix small typo in V-USB configuration descriptor (#11253) commit d7385676bc3ef419adf76f00f42c9b19b572149e Merge: aee1798476 0239ce025a Author: QMK Bot Date: Sun Dec 20 14:46:35 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0239ce025aca542e4e37ec9003399bab2e92d82b Author: Ryan Date: Mon Dec 21 01:46:01 2020 +1100 Doctor: add check for .git folder (#11208) Co-authored-by: Erovia commit aee17984768c48613d215c2c0939cc9ba9b9dcdd Merge: 24e827ee1f 13bbeefc5a Author: QMK Bot Date: Sun Dec 20 08:09:09 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 13bbeefc5af557abb1dc577bfafc709c5e09def0 Author: Nick Brassel Date: Sun Dec 20 19:08:39 2020 +1100 Follow symlinks when listing keyboards. (#11250) commit 24e827ee1fb78a597e66102bc64dc8f400aff50e Merge: 8cb52b2048 63362a9c5e Author: QMK Bot Date: Sun Dec 20 02:28:28 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 63362a9c5e8251ad2d080e21d6b9af45b5adb0c4 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Dec 20 11:27:54 2020 +0900 [Keymap] fix keyboards/helix/rev2/keymaps/default/oled_display.c (#11228) Fixed the OLED display on the right side as it was showing some garbage. 右側のOLEDディスプレイにゴミが表示されていたのを修正しました。 commit 8cb52b20480f4c1f992b91d9dde94f65633a0bd8 Merge: 32f53c0671 25b1367806 Author: QMK Bot Date: Sat Dec 19 21:15:16 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 25b13678066d10b7df6b5f0102c37b4e7e44f701 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Dec 19 13:14:41 2020 -0800 VIA Support: MF68 (#11030) * add via support to mf68 pcb * add license header commit 32f53c0671be04fa651eac89ec59b7518a9d3b5e Merge: d11116f734 624cafbfd2 Author: QMK Bot Date: Sat Dec 19 18:47:05 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 624cafbfd2199fdf9fb0e834d7e9f1df70221336 Author: Zach White Date: Sat Dec 19 10:46:30 2020 -0800 Change keyboard json format to bring it inline with the current api (#11231) commit d11116f734e7fc93eda6480261e10de6d85975d6 Merge: 35e684d1ff 5619b1d3db Author: QMK Bot Date: Sat Dec 19 18:43:32 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5619b1d3db335750bed394b0d27980d67f4f50c5 Author: Drashna Jaelre Date: Sat Dec 19 10:43:00 2020 -0800 [Keyboard] Add drashna's dactyl manuform 5x6 with trackball (#11062) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Erovia commit 35e684d1fffd9b6cecb80884ed1f3b08a50ef192 Merge: 45a1a3239d bded5f473c Author: QMK Bot Date: Sat Dec 19 00:43:05 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit bded5f473c887fb36a2ca9d473635c1b84d0a04b Author: Zach White Date: Fri Dec 18 16:42:30 2020 -0800 simplify qmk doctor to make room for #11208 (#11242) commit 45a1a3239d77b0ff48f41f47c28e8ef423003966 Merge: d66c14b71e 6890090fbb Author: QMK Bot Date: Fri Dec 18 20:57:00 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6890090fbb929e0d1fe070b590dad2ee8a8eaa66 Author: precondition <57645186+precondition@users.noreply.github.com> Date: Fri Dec 18 21:56:23 2020 +0100 Updated usage of qmk c2json (#11148) commit d66c14b71ea42b6553e16f67ded3d37d3363aae8 Merge: 06f9297f94 03cbee8637 Author: QMK Bot Date: Fri Dec 18 20:18:55 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 03cbee8637cb2de632db718db62db31c3d08ae4d Author: Zach White Date: Fri Dec 18 12:17:53 2020 -0800 Add the ability to exclude keyboards from travis builds (#11178) * add the ability to exclude keyboards from travis builds * add filtering to make all: * only skip keyboards during make all: * working implementation * forego a CI_KEYBOARDS variable * optimize the startup by only listing keyboards once * add sort -u to all list_keyboard invocations * move the if else if tree back to 1 level commit 06f9297f9468a48c8be53c48b830e1eaa9a1665d Merge: 115b60b0e1 a9f7d4dccc Author: QMK Bot Date: Fri Dec 18 17:29:08 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit a9f7d4dccc9cd0351658e64d5fbc809c93ac9b46 Author: Joel Challis Date: Fri Dec 18 17:28:29 2020 +0000 Various compilation fixes for avr-gcc 10 (#9269) commit 115b60b0e11f8661385b2219ce5ddbf2982b1f8c Author: Ryan Date: Fri Dec 18 02:49:24 2020 +1100 Fix duplicate I2C_KEYMAP_START define (#11237) commit 7797070b376ff18a5d540ccc2a95033fc548c611 Merge: 973057cfe4 6ea4b06f9f Author: fauxpark Date: Fri Dec 18 02:15:28 2020 +1100 Merge remote-tracking branch 'upstream/master' into develop commit 6ea4b06f9fc19825605477cdc27f5bec0f3dc0a9 Author: Ryan Date: Fri Dec 18 01:06:30 2020 +1100 Run cformat and dos2unix manually (#11235) commit 973057cfe4ac0ddc23b7ed1016245e6fc939c456 Merge: e58f69ea6a d9dcb716bf Author: QMK Bot Date: Thu Dec 17 09:51:19 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit d9dcb716bfa9eef32560a95ecb50274a0f2b170c Author: maikong <704340378@qq.com> Date: Thu Dec 17 17:50:42 2020 +0800 [Keyboard] add MT64RGB (#10865) * Create mt64 * Create mt84rgb * Delete mt64 * Add files via upload * Create MK84RGB * gx84 * add new keyboard * new keyboard * Delete MK84RGB * Delete config.h * Delete mt84.c * Delete mt84.h * Delete mt84rgb * Delete rules.mk * add info json * Add files via upload * Delete config.h * Delete rules.mk * Delete keymap.c * Delete keymap.c * Delete info.json * Delete mt64rgb.c * Delete mt64rgb.h * Delete rules.mk * add keyboard * Delete config.h * Delete info.json * Delete mt64rgb.c * Delete mt64rgb.h * Delete rules.mk * Delete rules.mk * Delete keymap.c * Delete keymap.c * Delete config.h * Delete mt84.c * Delete mt84.h * Delete rules.mk * Delete rules.mk * Delete keymap.c * Delete keymap.c * Delete info.json * Add files via upload * Delete keymap.c * Add files via upload * Delete keymap.c * Add files via upload * Delete rules.mk * Add files via upload * Delete config.h * Add files via upload * Update config.h * Update keymap.c * Update keymap.c * Update and rename keyboards/mt64rgb/keymaps/default/keymap.c to 键盘/mt64rgb/按键图/默认/keymap.c * Update mt64rgb.h * Update mt64rgb.c * Update and rename keyboards/mt64rgb/rules.mk to 键盘/mt64rgb/rules.mk * Update config.h * Update rules.mk * Update readme.md * Update keymap.c * Create rules.mk * Update keymap.c * Create keymap.c * Delete keymap.c * Update keymap.c * Update keymap.c * Update mt64rgb.h * Delete rules.mk * Update readme.md * Update rules.mk * Update readme.md * Update info.json * Update keymap.c * Update mt64rgb.c * Update config.h * Update keymap.c * Update readme.md * Update rules.mk * Update keymap.c * Update config.h * Update readme.md * Update rules.mk * Update readme.md * Update config.h commit e58f69ea6a70965a2d1afdb39b667f85a056e1a4 Merge: 1bd9570ece 8346151fe0 Author: QMK Bot Date: Thu Dec 17 06:47:47 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8346151fe0356fd47cb0e0d4c93fffc87b7cad2f Author: hekekee <51227397+hekekee@users.noreply.github.com> Date: Thu Dec 17 08:47:12 2020 +0200 [Keymap] ISO layout for KBD67 rev 2.0 (#11136) commit 1bd9570eceeed240e3806cc674a1631df5ce8c71 Merge: 398f67290c dc4c80eef4 Author: QMK Bot Date: Thu Dec 17 06:45:50 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit dc4c80eef40ebf38302e057fb78d8c2c77089beb Author: Liviturtle <67487436+Liviturtle@users.noreply.github.com> Date: Thu Dec 17 06:45:21 2020 +0000 [Keyboard] add Labyrinth75 (#11135) * added Labyrinth75 * changed to lowercase inline with the PR checklist * added a correctly formatted image to readme.md * fixed imgur link * fixed info.json * Update keyboards/labyrinth75/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/labyrinth75/labyrinth75.h Co-authored-by: ridingqwerty * remove superfluous backslashes * Update keyboards/labyrinth75/config.h Co-authored-by: Drashna Jaelre Co-authored-by: ridingqwerty Co-authored-by: Drashna Jaelre commit 398f67290c6e7d539d193e9d63fc6b246d91c09b Merge: ddc27c2935 c4aae0e93b Author: QMK Bot Date: Thu Dec 17 06:44:20 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit c4aae0e93b6956e17c872ff49b79640ed7a3375f Author: r-pufky Date: Wed Dec 16 22:43:49 2020 -0800 [Keymap] Update based on massdrop/ctrl core changes n(#11134) commit ddc27c293578f36a316b170406fbaa94f06d3683 Merge: 41bf5505eb 49b6c5fd83 Author: QMK Bot Date: Thu Dec 17 05:56:48 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 49b6c5fd8352d3203aec9cdc55a4881608441589 Author: haierwangwei2005 <69899561+haierwangwei2005@users.noreply.github.com> Date: Thu Dec 17 13:56:17 2020 +0800 [Keyboard] Update config for 10 ble oled usbhub pad (#11066) commit 41bf5505eb9f920a899e606d3f6a3e5ed596bcee Merge: 4352416d77 7938921f9e Author: QMK Bot Date: Thu Dec 17 05:45:49 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7938921f9e8dad53c9b2b6090cc00f8aed92503f Author: smssmssms Date: Thu Dec 17 05:45:11 2020 +0000 [Keyboard] Add POS78 keyboard (#11024) * Add pos78 keyboard * tidy up links * Added missing commas The missing commas were causing a compile error (Travis CI, #41934 failed). * Added trailing commas On lines 10-14, just missed last line (15). * Travis CI errors Trying to correct errors from Travis CI #41951 failed * Corrected(?) TG(_FN) from Travis CI failure * Revert readme.md to original format Fauxpark Co-authored-by: Ryan * Remove trailing \ from keymap.c Fauxpark Co-authored-by: Ryan * Change Vendor and Product ID How do I update the Product ID search tool if 0x7878 is used/good? * Add LAYOUT_ortho_6x13 Update keyboards/pos78/pos78.h Co-authored-by: Drashna Jaelre * I bow to drashna's superior knowledge. Update keyboards/pos78/info.json Co-authored-by: Drashna Jaelre * I bow to drashna's superior knowledge. Update keyboards/pos78/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * I bow to drashna's superior knowledge. Update keyboards/pos78/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Added pic * Add picture properly. Update keyboards/pos78/readme.md Co-authored-by: Ryan * Remove Bootmagic_enable (fauxpark) Co-authored-by: Ryan Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 4352416d776d1e62fd20613f01afe9cfe9b9a1c7 Merge: cb3dff5c3f 58107ebedf Author: QMK Bot Date: Thu Dec 17 05:28:22 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 58107ebedf1a2d9a1fb9c0cafc9f994df435d63c Author: melonbred <61572569+melonbred@users.noreply.github.com> Date: Wed Dec 16 21:27:47 2020 -0800 [Keyboard] Add program_yoink (#10963) * Add new keyboard: program_yoink * Updated rules.mk * Updated split_space keymap Fixed split_space keymap and now builds with no errors. * Update keyboards/program_yoink/config.h Co-authored-by: Drashna Jaelre * Update keyboards/program_yoink/config.h Co-authored-by: Drashna Jaelre * Update keyboards/program_yoink/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/program_yoink/program_yoink.h Co-authored-by: Drashna Jaelre * Update keyboards/program_yoink/program_yoink.h Co-authored-by: Drashna Jaelre * Update keyboards/program_yoink/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/program_yoink/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/program_yoink/keymaps/split_bar/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/program_yoink/keymaps/split_bar/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/program_yoink/keymaps/split_bar/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/program_yoink/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update readme.md * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Apply suggestions from code review Co-authored-by: Joel Challis * Update keyboards/program_yoink/readme.md per code review * Apply suggestions from code review * Update keyboards/program_yoink/rules.mk Co-authored-by: Ryan * Update keyboards/program_yoink/config.h Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan commit cb3dff5c3f46cbe8073b16e3e25e73de9dd715a9 Merge: 4631e4ef8e d82ab56a14 Author: QMK Bot Date: Thu Dec 17 05:26:37 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit d82ab56a14fa9986a7651e6be78a73d10b5629df Author: Álvaro A. Volpato Date: Thu Dec 17 02:26:03 2020 -0300 [Keyboard] Box75 (#10949) * Initial BOX75 PCB v1.0.6 PCB support * New prototype firmware * Correct column pin assignment * Update README * Update keyboards/box75/config.h Remove USB description Co-authored-by: Drashna Jaelre * Update keyboards/box75/rules.mk Remove comment lines from BLUETOOTH_ENABLE and AUDIO_ENABLE Co-authored-by: Ryan * Add VIA support * Remove KC_NO define and use traditional one * Update keyboards/box75/keymaps/default/keymap.c Move KC_HOME location on keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/box75/box75.h Move HOME key location on keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Changed F13 to print screen in default VIA firmware Co-authored-by: Gondolindrim Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 4631e4ef8e0982f284b9b2777e83c5f752be91c8 Merge: 45fa5416ab 14024fabeb Author: QMK Bot Date: Thu Dec 17 05:25:34 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 14024fabeba025180b7a6be5bba0c8a99f31f619 Author: Álvaro A. Volpato Date: Thu Dec 17 02:24:59 2020 -0300 [Keyboard] Iron180 (#10948) * Initial CK60i support * Initial Iron180 support * Add PWM support * Feedback from PCB protos * Update README * Remove CK60i references * Remove KC_NO ____ definition and replaced with predefined * Remove description field in USD descriptors * Shorten bluetooth enable and audio output comments on rules.mk * Initial VIA support Co-authored-by: Gondolindrim commit 45fa5416ab57408b7ae2b1fde371d958ce4ed8f7 Merge: 5e2b53541b d60031b321 Author: QMK Bot Date: Thu Dec 17 05:22:14 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit d60031b321316440256ce4af3dcc64f885475cba Author: Álvaro A. Volpato Date: Thu Dec 17 02:21:37 2020 -0300 [Keyboard] Technika (#10946) * Initial technika support * Updated README * Update keyboards/technika/config.h Remove DESCRIPTION from usb desciptor fields Co-authored-by: Drashna Jaelre * Update keyboards/technika/rules.mk Remove words from comments in rules.mk Co-authored-by: Ryan * Remove old KC_NO definitions and used default one * Use defines for num, caps and scroll lock LED pins * Fix underscore KC_NO substitution in keymap Co-authored-by: Gondolindrim Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 5e2b53541bef9b380380286724b321cc8a0ac413 Author: Casey Webster Date: Wed Dec 16 23:21:26 2020 -0600 Add modifier state to the split keyboard transport (#10400) * Add modifier state to the split transport This adds modifier state to the i2c and serial transport for split keyboards. The purpose of this is to allow e.g. displaying modifier state on the slave side of a split keyboard on an oled. This adds one byte to the data transferred between halves. This also fixes a missing ifdef guard for BLACKLIGHT_ENABLE. Break modifiers into real/weak/oneshot Fix incorrect slave serial mod setting Fix typo in serial weal mod setter Fix build errors for the I2C code that I introduced Code cleanup and formatting per project preferences Correctly get oneshot mods Fix missing braces Remove unneeded ifdef guard Make the added state transport optional Add documentation for the new define to enable this feature Fix stray grave mark * Fix error introduced in conflict resolution commit 9c205d4a29f03430c8256459b71a38d7b4caa100 Merge: 4f431e8a90 c807695035 Author: QMK Bot Date: Wed Dec 16 23:00:55 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit c80769503580e0ca695261d83bec3bb31699404d Author: Joel Challis Date: Wed Dec 16 23:00:02 2020 +0000 Yet another stab at trying to get github actions to push (#11230) commit 4f431e8a90c30df399037ad89e16b4ccc5334cc5 Merge: 13b31938ce 11669bb45b Author: QMK Bot Date: Wed Dec 16 21:03:23 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 11669bb45bd433af49d14b2836b208ed6d0877f3 Author: Alabahuy Date: Thu Dec 17 04:02:47 2020 +0700 [Keyboard] Add rart/rart4x4 with VIA support (#11095) * Create config.h * Create info.json * Create rart4x4.c * Create rart4x4.h * Create readme.md * Create rules.mk * Create keymap.c * Create keymap.c * Rename keyboards/rart/rart4x4/default/keymap.c to keyboards/rart/rart4x4/keymaps/default/keymap.c * Rename keyboards/rart/rart4x4/via/keymap.c to keyboards/rart/rart4x4/keymaps/via/keymap.c * Create rules.mk * Update info.json * Update keymap.c * Update rart4x4.h * Update rules.mk commit 13b31938ce6dd093f348b77f11c4c19aaf8ca87f Merge: a5dd5bfd26 3295ac90ee Author: QMK Bot Date: Wed Dec 16 17:48:32 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3295ac90ee9d0c0d4dc9c22bf107c9713f422696 Author: ridingqwerty Date: Wed Dec 16 12:47:56 2020 -0500 New keyboard: wsk/alpha9 (#10430) * adding alpha variants * adding cajal layouts * adding V2 PCB support adding additional layouts for new PCB version, and correecting incorrect image in info file * Cleanup master -- remove alpha9 * Cleanup master -- remove g4m3ralpha * Cleanup master -- remove cajal & sl40 * Master cleanup -- re-add sl40 * Master cleanup -- correct SL40 image * Add keyboard: wsk/alpha9 * Cleaned up default keymap * Removed misleading keymap README * Slight tweak to default keymap.c * Added license attribution to .{c,h} files * Update keyboards/wsk/alpha9/config.h Co-authored-by: Joel Challis * Update keyboards/wsk/alpha9/alpha9.c Co-authored-by: Joel Challis * Update keyboards/wsk/alpha9/rules.mk Co-authored-by: Joel Challis * Update keyboards/wsk/alpha9/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/wsk/alpha9/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/wsk/alpha9/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/wsk/alpha9/config.h Co-authored-by: Drashna Jaelre * Update keyboards/wsk/alpha9/rules.mk Co-authored-by: Ryan * Update keyboards/wsk/alpha9/alpha9.c Co-authored-by: Drashna Jaelre * Update keyboards/wsk/alpha9/config.h Co-authored-by: Drashna Jaelre Co-authored-by: worldspawn00 Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit a5dd5bfd2680413ac9071854d50075db4c5461e5 Merge: 2e0f2025bd 0d42d7b87b Author: QMK Bot Date: Wed Dec 16 17:37:30 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0d42d7b87b0dc8976c8b65740bddf3463a39bddd Author: cBachoo Date: Wed Dec 16 12:36:57 2020 -0500 Added Split Backspace Support for the Nemui (#11131) * added nemui layout * via support working * added license headers for c and h files * Update keyboards/nemui/keymaps/via/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/nemui/nemui.c Co-authored-by: Drashna Jaelre * Update keyboards/nemui/config.h Co-authored-by: Ryan * Update keyboards/nemui/readme.md Co-authored-by: Ryan * Update keyboards/nemui/rules.mk Co-authored-by: Ryan * removed nemui.json as it was supposed to only be in via repo * Update keyboards/nemui/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/nemui/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/nemui/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/nemui/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/nemui/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * added split backspace support for the nemui * need to also update the qmk keymap * fixed info.json to have the new keys * vusb changes shouldn't have happened Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 2e0f2025bd9f400dd8f5b0cad8ba80667193408d Merge: 416dea2c54 9366ed7282 Author: QMK Bot Date: Wed Dec 16 03:27:52 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9366ed728280f4875ebbba9c0ef1eade03c96d35 Author: Ryan Date: Wed Dec 16 14:27:23 2020 +1100 Normalise include statements in keyboard code (#11185) commit 416dea2c54c885a1d58d6924be6b346c8eb87f47 Merge: 55f681a723 37fb14f1b5 Author: QMK Bot Date: Wed Dec 16 03:25:18 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 37fb14f1b5cbcb0e5ff60abc9152073635234ba4 Author: Ryan Date: Wed Dec 16 14:24:42 2020 +1100 CLI-ify rgblight_breathing_table_calc.c (#11174) Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: Zach White commit 55f681a723434e77f276ab5901ccdba0bf495fab Merge: c1b8b811ed 3925ff5342 Author: QMK Bot Date: Tue Dec 15 17:27:06 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3925ff534251f44bc21848b5509415c1e41ff419 Author: Ryan Date: Wed Dec 16 04:26:18 2020 +1100 gh60/satan: fix indicator LED define (#11216) commit c1b8b811ed78a465f06c41bdf69fb8d816d96b7d Merge: 9a04739b98 0831a3181a Author: QMK Bot Date: Tue Dec 15 11:14:52 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0831a3181a51cf190aabcea504c1be2752bbc2be Author: MakotoKurauchi Date: Tue Dec 15 20:14:14 2020 +0900 [Keymap] Helix default keymap oled update (#11152) * update keyboards/helix/rev2/local_features.mk - Improved parsing of the `HELIX =` option * add 'is_mac_mode()' into keyboards/helix/rev2/rev2.c * update helix/rev2/keymaps/default/keymap.c: use rgblight query functions * Makes the OLED driver used by the helix:default keymap switchable. * use TOP/drivers/oled/oled_driver.c `make helix:default` or `make OLED_SELECT=core helix:default` * use helix/local_drivers/ssd1306.c `make OLED_SELECT=local helix:default` * Separated the OLED related code from keymap.c and moved it to oled_display.c. * Change the 'led_test' keymap to follow the changes in the 'default' keymap. * update helix/rev2/keymaps/default/oled_display.c * add '#define OLED_UPDATE_INTERVAL 50' into keyboards/helix/rev2/config.h * Support for OLED_UPDATE_INTERVAL, even for older types of OLED tasks * add readme.md for helix/rev2 * Apply drashna's suggestions to rev2.c. * Apply drashna's suggestions to rev3_4rows.c, rev3_5rows.c. Co-authored-by: mtei <2170248+mtei@users.noreply.github.com> commit 9a04739b9866876bcee0ee13590488eb85891598 Merge: ac0ad5ad17 ac8cddda22 Author: QMK Bot Date: Mon Dec 14 22:27:09 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit ac8cddda22aa0abc4f41405c7f94a56dc533dfc4 Author: labahuy <68632528+labahuy@users.noreply.github.com> Date: Tue Dec 15 05:26:30 2020 +0700 [Keyboard] rart/rart45 (#11096) * Create config.h * Create info.json * Create rart45.c * Create rart45.h * Create readme.md * Create rules.mk * Create keymap.c * Create keymap.c * Create rules.mk * Update config.h * Update rart45.c * Update rart45.h * Update rules.mk * Update readme.md * Update info.json commit ac0ad5ad179b2799a1f7d97cfa685d11eb133919 Merge: 6c8ed21022 e6217b6aa6 Author: QMK Bot Date: Mon Dec 14 19:13:38 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit e6217b6aa6d83c21275b60b441baf1395a20f72f Author: Yan-Fa Li Date: Mon Dec 14 11:13:00 2020 -0800 Selectively enable command and console for yanfali userspace (#11212) * Remove command and console - these options prevent community layouts from being built on other keyboards. Selectively enable it on keyboards I own rather than on everything. * Update users/yanfali/rules.mk commit 6c8ed21022802c7d2e03d6d952f2c1e4ab113dc5 Merge: 25a1cb5a15 795e82074d Author: QMK Bot Date: Sun Dec 13 21:47:56 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 795e82074d3d410296a5d96e71057d2f0b9af7ec Author: Joel Challis Date: Sun Dec 13 21:47:20 2020 +0000 Another attempt to fix formatting workflow (#11187) commit 25a1cb5a15d201bc4e9b6a8e520ecd2d085699c8 Merge: 11ee2736bd 70f40339c2 Author: QMK Bot Date: Sun Dec 13 18:51:35 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 70f40339c2b4431dbbafa5d9439c04f9a0d47884 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Dec 13 18:50:50 2020 +0000 Add i2c 24LC64 eeprom (#11200) * add 24LC64 eeprom * docs update * Update docs/eeprom_driver.md Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 11ee2736bd4a68d24d107c9daf6877e488c0b168 Merge: d7e285a4d9 10e4487ba3 Author: QMK Bot Date: Sat Dec 12 18:19:43 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 10e4487ba368a9e220c96e12a0d17ae729d5c1e1 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Dec 13 03:19:15 2020 +0900 Fix incorrect search order for `rgblight_breathe_table.h` that `rgblight.c` includes. (#11192) When `rgblight.c` includes `rgblight_breathe_table.h`, the search order should be as follows. * `keyboards/KEYBOARD/keymaps/USER/rgblight_breathe_table.h` * `users/USER/rgblight_breathe_table.h` * `quantum/rgblight_breathe_table.h` However, the current implementation was wrong, so I fixed it. commit d7e285a4d93a15acadfeeb20eb86ada231fca201 Merge: 6873c4cf91 8ea7f4f45f Author: QMK Bot Date: Fri Dec 11 19:00:42 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8ea7f4f45f912037f47617108ea5fc36d4662101 Author: Hedgestock Date: Fri Dec 11 20:00:07 2020 +0100 Fixed french quotes on canadian multilingual (#11183) commit 6873c4cf9139715c30cbb816c4b4b3381be35062 Merge: a023484d64 4b03b6f7f4 Author: QMK Bot Date: Fri Dec 11 13:49:45 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4b03b6f7f42a9d25ae00f4d34b0a6151ad2e0e80 Author: Joel Challis Date: Fri Dec 11 13:49:31 2020 +0000 Nightingale Studios Hailey production fixes (#11180) commit 1ebd243cdc759e68205787af7d6517d89632876a Author: Joel Challis Date: Fri Dec 11 13:49:03 2020 +0000 CI automated format fixes (#11179) * Format all C files for now, till diff logic works within CI * Fix recursion of dos2unix commit a023484d6434fa9bca6a89ae1b54d1764c2e96df Merge: fdfcce57e1 b185816717 Author: QMK Bot Date: Fri Dec 11 12:50:39 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit b1858167177a60c16e0e8022b7a2f5ee0eb03c24 Author: David Heck Date: Fri Dec 11 12:50:05 2020 +0000 Add XD75am as supported in XD75 readme (#11170) commit fdfcce57e1c46765e0aebf37ad3d9611a7384241 Merge: ed76f4394f 501f2fdef1 Author: QMK Bot Date: Fri Dec 11 02:46:19 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 501f2fdef115314713e94428d409e5c3b5bfc1c2 Author: Ryan Date: Fri Dec 11 13:45:24 2020 +1100 Normalise include statements in core code (#11153) * Normalise include statements in core code * Missed one commit ed76f4394fd95413f7da11e2342b0965182ccb95 Merge: f77f715aa2 5b5d74a267 Author: QMK Bot Date: Thu Dec 10 19:03:17 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5b5d74a2677c281d12cd69825d2e252842786667 Author: Joel Challis Date: Thu Dec 10 19:02:41 2020 +0000 Fix warning logic when running 'qmk format -a' (#11177) commit f77f715aa2215ae08920f8c2929c3b181657456d Merge: 15373c8367 6c4b6531fe Author: QMK Bot Date: Thu Dec 10 17:02:28 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6c4b6531fe8fed46bec54fae993a1bab8246dd7d Author: Joel Challis Date: Thu Dec 10 17:01:51 2020 +0000 CI: Add workflow for codebase formatting (#7382) * Add workflow for codebase formatting * stash * review comments * Swap to a more complete push action commit 15373c8367df04248cdf1f1eb80d08109ca62b85 Merge: f743ff2256 82bb47a2f1 Author: QMK Bot Date: Thu Dec 10 14:47:20 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 82bb47a2f12429dda49886571173024cc8b80357 Author: ojthetiny <65928618+ojthetiny@users.noreply.github.com> Date: Thu Dec 10 16:46:46 2020 +0200 add Via keymap for beatervan (#11159) * add via keymap for beatervan * fixed error in rules.mk commit f743ff2256c577b738f4136a6c215bae51c637b8 Merge: b8b8a294d3 9517d90e84 Author: QMK Bot Date: Thu Dec 10 14:31:52 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9517d90e840408f93f6a8f072a889666965cb999 Author: ojthetiny <65928618+ojthetiny@users.noreply.github.com> Date: Thu Dec 10 16:31:12 2020 +0200 add VIA keymap for edc40 (#11160) * add via keymap for edc40 * fix error in keymap commit b8b8a294d3c5bd0c0a3b2804262cf6eba0c91caf Merge: 5e04ed9f53 79d992d1e7 Author: QMK Bot Date: Thu Dec 10 02:08:06 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 79d992d1e7b4fc3615a0d01b8b3186cdb83e6a14 Author: Ryan Date: Thu Dec 10 13:07:08 2020 +1100 Use progmem.h for claw44 glcdfont (#11164) commit 5e04ed9f53209cf44dc90ce1eba9d563564ac404 Merge: 5689df7490 cd67074f72 Author: QMK Bot Date: Wed Dec 9 17:29:35 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit cd67074f72119c70ab91bf64d1c5bff60dcf2f91 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Wed Dec 9 17:28:58 2020 +0000 [Keyboard] Valor FRL TKL update - EEPROM change (#11163) * valor fix * change eeprom * fix up eeprom commit 5689df74902ca0e6c484c8c10dc7f21571d18d22 Merge: cc14d32941 01c7108db5 Author: QMK Bot Date: Wed Dec 9 08:56:17 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 01c7108db52677c2a4210bcda0afd2b1d3f7619f Author: Nick Brassel Date: Wed Dec 9 19:55:43 2020 +1100 Fixup config template to match <> instead of "" for includes. (#11166) commit cc14d32941f603f8ea9da8778f3537f971cc849c Merge: 95c39b3727 f440111b4b Author: QMK Bot Date: Wed Dec 9 08:04:32 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit f440111b4bb1d7a306ee01448837d87a022c35c6 Author: Ryan Date: Wed Dec 9 19:03:51 2020 +1100 Fix titan60 and h660 error_log complaints (#11124) commit 95c39b372744bbb8733d39a9b6e3c2d274fdfc79 Merge: eb3964bd57 56933b9b9f Author: fauxpark Date: Wed Dec 9 18:21:45 2020 +1100 Merge remote-tracking branch 'upstream/master' into develop commit 56933b9b9f00a46980c1201a6ba5d0c5c9932275 Author: Jay Greco Date: Tue Dec 8 17:49:10 2020 -0800 [Keymap] Fix rules.mk for nullbits nibble oled keymap (#11142) commit e03d72d71eff9d6b1b3fbeb45bbf1b1c40989222 Author: Sergey Omelchenko Date: Wed Dec 9 02:58:32 2020 +0300 [Keyboard] Geekboards Macropad V2 keyboard (#11045) * Initial commit of Geekboards Macropad V2 keyboard * Apply suggestions from code review Co-authored-by: Joel Challis * Apply suggestions from code review: delete unnecessary files * Fixed typos * Apply suggestions from code review Co-authored-by: Ryan * Change RGB_MATRIX config syntax following recent core changes * Apply suggestions from drashna code review * Remove unnecessary file (it is now defined in the core) * Remove unnecessary code, due to PR 11084 approve Co-authored-by: Joel Challis Co-authored-by: Ryan commit 563723392f40599c0a1c95330544e079a10140f2 Author: Borja López Jiménez Date: Tue Dec 8 20:28:13 2020 +0100 Fixed taleguers75 info.json (#11121) commit 2ae700c8c8331bb282b16632e7b40304330d74c2 Author: Charles A Moonen Date: Tue Dec 8 13:12:41 2020 -0600 Add missing hardware availability for Plank EZ (#11069) Add missing information needed to mirror the supported hardware in the previous line commit 666861dd6fb3d6bf01462aae5431dfd5b40a8e30 Author: Kyle McCreery Date: Mon Dec 7 23:14:54 2020 -1000 [Keyboard] Big Dill Extended by MechWild (#11047) * [Keyboard] New Keyboard - BDE Added the Big Dill Extended by MechWild * Corrected pinout for righty config Corrected the copied line from the lefty config that had not been updated prior to this commit. * Corrected the files that had been overwritten with old versions during testing. * Update keyboards/mechwild/bde/lefty/config.h * Made changes based on suggestions. Added GPL and split preference config.h lines into keymap level. * Apply suggestions from code review Readme cleanup * Update keyboards/mechwild/bde/lefty/keymaps/fancy/config.h * Update keyboards/mechwild/bde/lefty/keymaps/via/config.h * Apply suggestions from code review Corrects a stray style line in one of the readme files as well as correcting the name of the keymap layout from the inaccurate 3x14 name to just "layout" commit eb3964bd576568d577dc90704c7f2497de9a5aa9 Author: Nick Brassel Date: Tue Dec 8 15:05:11 2020 +1100 ChibiOS conf migration: dekunukem/duckypad (#11123) commit 35f922df73de8873c875fd692ac14d3b0484a54b Author: kb-elmo Date: Tue Dec 8 03:51:07 2020 +0100 add via layout for aek2 usb pcb (#11125) commit af03b92246c2a6d3ff344a8e16db31e254867851 Author: Evy Dekkers Date: Tue Dec 8 03:20:48 2020 +0100 [Keyboard] Add nt980 (#11092) * Add nt980 * update LED configuration commit d354b1f0a432deea8b7a713279cc64572542bce0 Author: sithlord121 Date: Mon Dec 7 20:18:16 2020 -0600 [Keyboard] New keyboard SLZ40 (#11088) * New SLZ40 keyboard new keyboard added * Update readme.md * Update info.json * Delete slz40_default.hex * Update keyboards/slz40/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/slz40/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update readme.md * Update readme.md Co-authored-by: Joel Challis commit 95022bc366caa7a05b8a91dfc7b16173d270b7b6 Author: Quentin Date: Tue Dec 8 03:16:28 2020 +0100 [Keyboard] Add Bastyl keyboard (#11085) * add bastyl * no need to copy the folder anymore * clean up according to PR rules * remove via, fix disposition * add reset button on right half * Update readme.md * Update keyboards/hidtech/bastyl/bastyl.h Co-authored-by: Joel Challis * Update keyboards/hidtech/bastyl/rules.mk Co-authored-by: Joel Challis * Update keyboards/hidtech/bastyl/config.h Co-authored-by: Joel Challis * move json, remove via files * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/hidtech/bastyl/keymaps/default/keymap.c Co-authored-by: Ryan * add GPL to c and h files * Update keyboards/hidtech/bastyl/info.json Change order to match layout macro Co-authored-by: Joel Challis * Update keyboards/hidtech/bastyl/config.h Co-authored-by: Drashna Jaelre * serial define can be ommited, is used by default Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 399be2a9b323130ecbfff4141ead67ea26c32034 Author: David Hoelscher Date: Mon Dec 7 20:10:45 2020 -0600 [Keyboard] Add customMK Genesis Macro Pad (#11080) * Adding customMK Genesis keyboard and keymap files * Updated readme.md fixed a typo * Fixed code for QMK PR * Updated syntax in config.h and changed dfu to flash in readme Co-authored-by: Ray commit ab2a43edb060b393387d12dfb6c24f99cad9e871 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Mon Dec 7 20:18:04 2020 -0500 [Keymap] sneakbox keymap and userspace code (redo) (#10977) * Add support for LAYOUT_alice to sneakbox pcb * define variables for sneakbox led pins * set rules for sneakbox pcb * add rotary encoder to userspace * fix rotary function * add custom layer indicators for sneakbox * Revert "Add support for LAYOUT_alice to sneakbox pcb" This reverts commit 5ed94d8d897de6ef4f7a349368a6342cef5eff06. * add license header * Use KEYBOARD_sneakbox_aliceclone * cleaned up indicator code commit d17caeb8ec0fc15a59ee26cab64cc527d3155f29 Author: Erovia Date: Mon Dec 7 20:21:44 2020 +0000 Fix lineending in mt84 files (#11150) commit cf0ae2abe856f1a9db7372863fe282f9f542bbe3 Merge: 7222210454 10f7f6009d Author: QMK Bot Date: Mon Dec 7 19:39:49 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 10f7f6009d0fa69355e5139ea1abb28cb30c300c Author: maikong <67684248+maikongk@users.noreply.github.com> Date: Tue Dec 8 03:39:18 2020 +0800 add mt84 keyboard (#10857) Co-authored-by: Drashna Jaelre commit 72222104541b95578d14c03b2a1d87905c35bc48 Merge: 07502a28f7 9346bd6f80 Author: QMK Bot Date: Mon Dec 7 19:08:02 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9346bd6f805eb4229d58169ee0508acdcd8f666b Author: James Smith Date: Mon Dec 7 14:07:25 2020 -0500 Eek! keyboard firmware merge into QMK (#11020) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Erovia commit 07502a28f7d327812dd49c61da4eed30a92d6040 Merge: 0e65e9ad51 a5a1f860c0 Author: QMK Bot Date: Mon Dec 7 18:15:16 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit a5a1f860c0ddab56500a36a819f9c6b77f02f576 Author: monjebf Date: Mon Dec 7 13:14:40 2020 -0500 Add VIA support for E88 (#11065) * Add VIA support for E88 * Update keyboards/e88/keymaps/via/keymap.c commit 0e65e9ad517938edf1849042cd0cb5a2f21b0da2 Merge: 7fba37db06 3a69d688f2 Author: QMK Bot Date: Sun Dec 6 20:04:55 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3a69d688f2d9bc18a1e8a1f1951025d107c52855 Author: encg Date: Sun Dec 6 12:04:22 2020 -0800 [Keymap] Adding encg keymap for 2% Milk keyboard (#11041) * adding my keymap * Updating coding convention and style for new keymap PR * Added GPL license header and to-do list to readme commit 7fba37db068bb8d2a1dccce013a56f57425c8a74 Merge: 4acfa14df1 e2e6ff43ab Author: QMK Bot Date: Sun Dec 6 19:57:57 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit e2e6ff43ab32b581be106f75852efd220302acb6 Author: Joel Challis Date: Sun Dec 6 19:57:28 2020 +0000 Use patch bump for auto tagging workflow (#11137) commit 4acfa14df1be047526efb7aca4012d58a03ec1bc Merge: 354262dfe9 b953a585d6 Author: QMK Bot Date: Sun Dec 6 19:18:04 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit b953a585d6155589cecc7d406032690ab966fb7a Author: Dmitry Nosachev Date: Sun Dec 6 22:17:31 2020 +0300 handwired/videowriter: oleg keymap update, via keymap (#10984) * oleg keymap update, via keymap * Apply suggestions from code review Co-authored-by: Drashna Jaelre * via keymap use default bootloader Co-authored-by: Drashna Jaelre commit 354262dfe9047e5db22086787c57dbd3796f3cc9 Merge: 41a76cd810 dfeba3f9b6 Author: QMK Bot Date: Sun Dec 6 18:57:23 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit dfeba3f9b68a6a5568a57539ea317e803ea5b00e Author: Álvaro A. Volpato Date: Sun Dec 6 15:56:48 2020 -0300 [Keyboard] Add Lasgweloth (#10944) * Initial Lasgweloth PCB support * Fix column attribution * Fix Col1 pin assignment * New xoxotus layout and revised README * Removed KC_NO definition * Update keyboards/acheron/lasgweloth/config.h Remove USB DESCRIPTION filed from config.h Co-authored-by: Drashna Jaelre * Update keyboards/acheron/lasgweloth/rules.mk Remove unnecessary comment lines on rules.mk Co-authored-by: Ryan * Update readme.md Update readme.md Co-authored-by: Gondolindrim Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 41a76cd810e1c51d56dce5d58fefb1bfdc3f51a8 Merge: b36e32a676 df3a81b31e Author: QMK Bot Date: Sun Dec 6 18:12:30 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit df3a81b31ea608836670e4222ae5ba8507cc147c Author: Ralph Azucena Date: Sun Dec 6 10:11:59 2020 -0800 [Keyboard] Added a dactyl promicro rah (#10889) * Added a dactyl promicro with a slightly different 6x6 layout * updated keyboard layout * Removed description as per code review * refactored as per code review * removed redundant config.h file * removed and updated a couple of lines in rules.mk * replaced symlink with copy of file * removed lines in readme * Update readme.md Co-authored-by: ralphie02 commit b36e32a6761fc3e8ae1f8048f7aae114e4d5fccc Merge: e31671ece0 f1b082320e Author: QMK Bot Date: Sun Dec 6 17:38:05 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit f1b082320eb5cb5430ce4bcb536a56d9227e2e8a Author: haierwangwei2005 <69899561+haierwangwei2005@users.noreply.github.com> Date: Mon Dec 7 01:37:32 2020 +0800 [Keyboard] Latin47ble bluetooth keyboard (#11023) * Create rules.mk * Create glcdfonr.c * Create keymap.c * Create keymap.c * Create rules.mk * Add files via upload * Update readme.md * Update readme.md * Update readme.md * Update config.h * Update 10bleoledhub.h * Update 10bleoledhub.c * Update info.json * Update keymap.c * Update keymap.c * Rename glcdfonr.c to glcdfont.c * Update config.h * Update config.h * Update config.h * Update rules.mk * Update 10bleoledhub.c * Update 10bleoledhub.h * Update info.json * Update config.h * Update rules.mk * Update keymap.c * Update keymap.c * Update glcdfont.c * Update keyboards/10bleoledhub/rules.mk * Update keyboards/10bleoledhub/keymaps/via/keymap.c * Update keyboards/10bleoledhub/keymaps/default/keymap.c * Update keyboards/10bleoledhub/config.h * Update keyboards/10bleoledhub/config.h * Update keyboards/10bleoledhub/10bleoledhub.h * Create readme.md * Create rules.mk * Create latin47ble.h * Create latin47ble.c * Create info.json * Create config.h * Create keymap.c * Create rules.mk * Create keymap.c * Update keymap.c * Update keyboards/latin47ble/keymaps/default/keymap.c * Update keymap.c * Update keyboards/latin47ble/keymaps/via/keymap.c * Update keyboards/latin47ble/rules.mk * Update keyboards/latin47ble/rules.mk * Update keyboards/latin47ble/rules.mk * Update latin47ble.h * Update latin47ble.c * Update latin47ble.h * Update latin47ble.c * Update keymap.c * Update keymap.c * Update config.h * Update keyboards/latin47ble/config.h * Update keyboards/latin47ble/config.h * Update keyboards/latin47ble/config.h * Update keyboards/latin47ble/config.h * Update keyboards/latin47ble/keymaps/via/keymap.c * Update keyboards/latin47ble/rules.mk * Delete info.json * Update readme.md * Update keymap.c * Update keymap.c * Update keyboards/latin47ble/config.h * Update keyboards/latin47ble/config.h * Update keyboards/latin47ble/keymaps/default/keymap.c * Update keyboards/latin47ble/latin47ble.c * Update keyboards/latin47ble/latin47ble.h * Update keyboards/latin47ble/keymaps/via/keymap.c * Update keymap.c * Update keymap.c * Update latin47ble.h * Update keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update keyboards/latin47ble/keymaps/default/keymap.c * Update keyboards/latin47ble/keymaps/default/keymap.c * Update keyboards/latin47ble/latin47ble.h * Update keyboards/latin47ble/keymaps/default/keymap.c * Update keyboards/latin47ble/keymaps/via/keymap.c * Update keyboards/latin47ble/rules.mk commit e31671ece0d4197dccb66512bca172fb2ff4aea7 Merge: 3aa2c122e1 8d6ad23b09 Author: QMK Bot Date: Sun Dec 6 12:54:36 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8d6ad23b096ed2fc4d8fd0e6781fca30b87b343f Author: Joel Challis Date: Sun Dec 6 12:54:08 2020 +0000 CI: Add workflow for tagging essential modified files (#7384) * Add workflow for tagging essential modified files * Update inline with recent actions * align rules to labeler * Update .github/workflows/auto_tag.yaml commit 3aa2c122e14aea81725ffbc0f1ca0426565a6e39 Merge: 688b8df982 a6a1289003 Author: QMK Bot Date: Sun Dec 6 06:39:15 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit a6a12890037c706e67716e28e37432693ba17ace Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Dec 5 22:38:46 2020 -0800 Revert back to the old matrix (Take the blue pill) (#10568) * revert back to the old matrix. * apparently I can't count, J is the 19th not the 20th column commit 688b8df98233f7319593dbcfc702df46d0f90418 Merge: d62e367280 644dd9c388 Author: QMK Bot Date: Sun Dec 6 06:32:11 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 644dd9c388f9664d17177e78966264afcbd23462 Author: Wilba Date: Sun Dec 6 17:31:41 2020 +1100 Added WT60-G (#10876) commit d62e3672805cc57d19994cb5188d23911cfc2315 Merge: 63d06655e6 3076f86dc1 Author: QMK Bot Date: Sun Dec 6 06:31:03 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3076f86dc11d346d07c63e5fb11702817d7034e7 Author: Jacob Jerrell Date: Sun Dec 6 00:30:27 2020 -0600 Bocaj - Third Annual Refactor (Redux) (#10295) * Reset everything to upstream, reapply Bocaj changes * Bocaj - address PR comments * Just in time changes * Bocaj - Several adjustments after using the layout for a while commit 63d06655e65a4399d4d1213f38cff80e3f23a8cd Author: Jesper Jensen Date: Sun Dec 6 07:24:49 2020 +0100 gcc 10 compatibility for Drop alt (#9485) * Split dmac_desc declaration and definition According to the official documentation[1] gcc 10 is more strict about correct extern usage. I've had to move the definition of dmac_desc and dmac_desc_wb from i2c_master.h to the corresponding .c file. This could be an issue if anyone includes the i2c_master.h file without liking with the object file. [1]: https://gcc.gnu.org/gcc-10/porting_to.html * Remove the keymap_config definition from keymaps The keymap_config def was conflicting with the one found in tmk_core/common/magic.c. Declaring it extern in magic.c breaks a bunch of keyboard that rely on that declaration (like the ergodox). Instead I've removed the one found in the keymap.c of the massdrop alt. The same change will have to be made to other keyboards. commit 7043561459942c7cba8fef8547145196a8d03398 Merge: e199fb6190 6b1f96dca8 Author: QMK Bot Date: Sun Dec 6 06:18:31 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6b1f96dca8b1218c0e3de6ef23dbde107f8c4588 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Dec 6 06:18:02 2020 +0000 Update is31fl3731-simple (#7610) * update simple * Update is31fl3731-simple.c commit e199fb619081dddaf76f203b77660f9ba41a30bd Merge: 5cfbfc2c52 c59f87a5d7 Author: QMK Bot Date: Sun Dec 6 06:16:19 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit c59f87a5d73a2d8a2085663ae329c4d7c75c83e3 Author: Josh Hinnebusch Date: Sun Dec 6 01:15:48 2020 -0500 add definition WS2812_BYTE_ORDER to fix RGB LED issues (#10184) * add define for WS2812B-2020 to fix RGB issues * update driver doc * add WS2812_BYTE_ORDER definition to correct RGB byte issues * add definition variable thing * update per PR request * update per PR reqs * update per PR request * inital changes * move defines to color.h and add rgbw incase * Update docs/ws2812_driver.md Co-authored-by: Ryan Co-authored-by: hineybush Co-authored-by: Xelus22 Co-authored-by: Ryan commit 5cfbfc2c52aabd02733c14ba66c0c77f55506049 Merge: 2c121b3d8e 08bf9f9e74 Author: QMK Bot Date: Sun Dec 6 06:11:48 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 08bf9f9e740a741d674585b5920e4c3a107825b9 Author: r-pufky Date: Sat Dec 5 22:10:58 2020 -0800 Add definitions for RGB off/black. (#11132) commit 2c121b3d8e29d21a84b263a1c80c70686ac4e8f1 Merge: bb79fbaccf cba76092eb Author: QMK Bot Date: Sun Dec 6 01:54:14 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit cba76092ebab65b1b6ec964b2723b795dc6c0b08 Author: XScorpion2 Date: Sat Dec 5 19:53:47 2020 -0600 Added OLED Initialized checks (#11129) commit bb79fbaccf5a787f1d79c6e2d66b8765486d1969 Merge: af8697c85b 5cf70f3993 Author: QMK Bot Date: Sun Dec 6 01:50:41 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5cf70f3993ceecf24dc46c6791552f268d82ae91 Author: Dimitris Papavasiliou Date: Sun Dec 6 03:50:02 2020 +0200 Fix error handling in SPI master. (#11122) Co-authored-by: Dimitris Papavasiliou commit af8697c85b5d893187c7eb9f3e82997fa172a48a Merge: 351f258bed 54b932e844 Author: QMK Bot Date: Sat Dec 5 21:48:41 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 54b932e84404725d3ac77d36faa2001c0aa8267b Author: Joel Challis Date: Sat Dec 5 21:48:02 2020 +0000 Initial Nightingale Studios Hailey support (#11116) * Initial Nightingale Studios Hailey support * Add info.json * Fix bootmagic jump * Add missing header * Update default keymap commit 351f258bedb718f97a08760cfb244a44c159a873 Merge: 15200bd8f5 9971caa632 Author: QMK Bot Date: Sat Dec 5 11:15:47 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9971caa6327274b230695afb4d76f83bf9b77f3a Author: Alexander Dergachev Date: Sat Dec 5 12:14:50 2020 +0100 Add a custom keymap for Torn keyboard (#11017) commit 15200bd8f55a17e5dab0475c024d41c650494e8f Merge: f1fef16e4d 15faffacf4 Author: QMK Bot Date: Sat Dec 5 10:14:47 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 15faffacf49240ea95a0f0121511e6b2fb4c914c Author: Ryan Date: Sat Dec 5 21:14:19 2020 +1100 Omit serial number if not defined (#11104) commit f1fef16e4dfce9c7659f23ce727d8564a5e420ce Author: Nick Brassel Date: Sat Dec 5 21:13:58 2020 +1100 ChibiOS upgrade: keyboard conf migrations (phase 1) (#10418) * ChibiOS conf upgrade for acheron/arctic acheron/arctic - 8d3d233f15bf5d396e29abb94f943a89b0b828d1 * ChibiOS conf upgrade for acheron/austin acheron/austin - beabc6204533de80704684de9ff7790895f319e1 * ChibiOS conf upgrade for acheron/keebspcb acheron/keebspcb - e14a96e99aab54aefebc1d3d24d64b0082db7842 * ChibiOS conf upgrade for aeboards/ext65/rev2 aeboards/ext65/rev2 - 0b97daef994903585be2768b6aaffc4da97ec617 * ChibiOS conf upgrade for ai03/vega ai03/vega - 7e5f208278309681fd1db8b2629890b813fdf938 * ChibiOS conf upgrade for at_at/660m at_at/660m - e30393b6546454f9939c1187aa9c6539f1ef76c1 * ChibiOS conf upgrade for bt66tech/bt66tech60 bt66tech/bt66tech60 - a7f4e8a224132830447d12c92d146997f9b56b7d * ChibiOS conf upgrade for cannonkeys/an_c cannonkeys/an_c - e7320dc09377fdad749e382b3986f2241633214b * ChibiOS conf upgrade for cannonkeys/atlas cannonkeys/atlas - 063a8eaea7e68607b725ad06777c49d34686b433 * ChibiOS conf upgrade for cannonkeys/chimera65 cannonkeys/chimera65 - 01ce66c862a5cd98183b10e992939a55038779bc * ChibiOS conf upgrade for cannonkeys/db60 cannonkeys/db60 - 45636d0b3cf951cef51a5b19678e2da549efd14f * ChibiOS conf upgrade for cannonkeys/devastatingtkl cannonkeys/devastatingtkl - 709e0155c421991fad283d38c28f850320ed4730 * ChibiOS conf upgrade for cannonkeys/instant60 cannonkeys/instant60 - 7e530e10794183d684a328f01b9b0743907440c7 * ChibiOS conf upgrade for cannonkeys/instant65 cannonkeys/instant65 - c8de288708d0586337cb7137ae54d97e1ddc90a6 * ChibiOS conf upgrade for cannonkeys/iron165 cannonkeys/iron165 - 3a3c0273e227fd15ab3527e4aa557b94d0b69248 * ChibiOS conf upgrade for cannonkeys/obliterated75 cannonkeys/obliterated75 - cdf834802ae77b1bbd4876eb8c34c19a83ad95cd * ChibiOS conf upgrade for cannonkeys/ortho48 cannonkeys/ortho48 - 3432ff13c83a6358eca44b37f72b18882eeda699 * ChibiOS conf upgrade for cannonkeys/ortho60 cannonkeys/ortho60 - 95be42a23798cc8f9b04175d4892b712d871a52d * ChibiOS conf upgrade for cannonkeys/ortho75 cannonkeys/ortho75 - e1149893fd01e853124808b45d521b61a7638eb9 * ChibiOS conf upgrade for cannonkeys/practice60 cannonkeys/practice60 - 6e4da87f0a766cf2665e9b4aa8e3ab33017cf745 * ChibiOS conf upgrade for cannonkeys/practice65 cannonkeys/practice65 - c436c06829123503073b3a9c5a1c0acfc2dbe2e5 * ChibiOS conf upgrade for cannonkeys/rekt1800 cannonkeys/rekt1800 - 43e8e21b62531534afeaa241f4c683fbdb60a8e0 * ChibiOS conf upgrade for cannonkeys/satisfaction75 cannonkeys/satisfaction75 - 28ff9a8a11ad1de9d09ec85fab2af906b7c27d6a * ChibiOS conf upgrade for cannonkeys/savage65 cannonkeys/savage65 - 53eaefae56020b536d4934686506d5d1fe51b6e0 * ChibiOS conf upgrade for cannonkeys/tmov2 cannonkeys/tmov2 - 8b1ced8ff7dc368afa268104cd5192bb1bfc8a1c * ChibiOS conf upgrade for chavdai40 chavdai40/rev1 - b166af66b084077764b705c9428725cde0b0ce51 chavdai40/rev2 - 0048c8ec8c28f1dfa5d1a37348524899595d8325 * ChibiOS conf upgrade for cheshire/curiosity cheshire/curiosity - f1636e53638ce2e798070e6e622fd88a08982d5a * ChibiOS conf upgrade for clueboard/60 clueboard/60 - bb5057d4a2976b6530fe2e345a4153de2f7c042d * ChibiOS conf upgrade for clueboard/66_hotswap/gen1 clueboard/66_hotswap/gen1 - 03fe10f4de7b67e5f1cf0a7d576f82676adf4261 * ChibiOS conf upgrade for clueboard/66/rev4 clueboard/66/rev4 - 878e38a34f97b32d9d109a6d98f98bc385d84864 * ChibiOS conf upgrade for coarse/cordillera coarse/cordillera - 5cae5c643e96d03bddcbb73e76e225ea5f82fef3 * ChibiOS conf upgrade for converter/siemens_tastatur converter/siemens_tastatur - 48f82cd227836878967dfa0fe0411f7d877a124c * ChibiOS conf upgrade for ergodox_infinity ergodox_infinity - 8df21d6129eef47d7a5ced92715e5bdbfb0151e5 * ChibiOS conf upgrade for function96 function96 - deecdcdca34c88058f820f0e2bc9f112458c85c5 * ChibiOS conf upgrade for generic_panda/panda65_01 generic_panda/panda65_01 - 8522d8107edcf71758f3be7298c0bc18fa7f6706 * ChibiOS conf upgrade for hadron/ver3 hadron/ver3 - 632af7727b767720c699abdff770edc9682928ee * ChibiOS conf upgrade for handwired/ck4x4 handwired/ck4x4 - a4cb9b5b8c3a162083677b14b105edbc1bca2baf * ChibiOS conf upgrade for handwired/co60/rev6 handwired/co60/rev6 - be1688eeabd83a7f576d9e4e23e24d56b8dc251b * ChibiOS conf upgrade for handwired/co60/rev7 handwired/co60/rev7 - d196c5772859ddee695bda5b0e9f0944a0f350f8 * ChibiOS conf upgrade for handwired/onekey/blackpill_f401 handwired/onekey/blackpill_f401 - 8387bfd56888fc1605d293dc0071b4ec94b23991 * ChibiOS conf upgrade for handwired/onekey/blackpill_f411 handwired/onekey/blackpill_f411 - 855efdb2f60c384edf64773c0f4ff4b7ea8ae4c9 * ChibiOS conf upgrade for handwired/onekey/bluepill handwired/onekey/bluepill - 60d8555b174dbdabae196a4cc5eccfee4bdd9529 * ChibiOS conf upgrade for handwired/onekey/stm32f0_disco handwired/onekey/stm32f0_disco - 9bc12e29f5a4e4b9ec0f34987559e5e11de4bb48 * ChibiOS conf upgrade for handwired/onekey/teensy_32 handwired/onekey/teensy_32 - 17459dd8e71b3a33270037878bdbd04151af196b * ChibiOS conf upgrade for handwired/onekey/teensy_lc handwired/onekey/teensy_lc - 3a9aed4681c287176efe31c988340ca43ad27a9d * ChibiOS conf upgrade for handwired/pill60/blackpill_f401 handwired/pill60/blackpill_f401 - 5b652354ae957e86e211dcef29f8f27320b31180 * ChibiOS conf upgrade for handwired/pill60/blackpill_f411 handwired/pill60/blackpill_f411 - 580255c171e95b5bca53b14a13ae018a73d18414 * ChibiOS conf upgrade for handwired/pill60/bluepill handwired/pill60/bluepill - 29109b54137ea94ac266c604991cff87516689ff * ChibiOS conf upgrade for handwired/riblee_f401 handwired/riblee_f401 - dc68c31d7ca8ae0fad7e7ad8bdd63406155ff363 * ChibiOS conf upgrade for handwired/riblee_f411 handwired/riblee_f411 - cf0fadff4c98d41cf9bdddbe1ead15c79be941b9 * ChibiOS conf upgrade for handwired/steamvan/rev1 handwired/steamvan/rev1 - 743b395ac87b918b6be4614c9e120e80a9f049d4 * ChibiOS conf upgrade for handwired/t111 handwired/t111 - 99b61ae5692ee4b2101673d1a896cd7a5831bcfa * ChibiOS conf upgrade for handwired/twadlee/tp69 handwired/twadlee/tp69 - 3ab2753c40e947a726ece6c825493ebc87ecf20e * ChibiOS conf upgrade for handwired/z150 handwired/z150 - 78808b0c8671e2386b9ba65dbd647d613d92f253 * ChibiOS conf upgrade for hs60/v2 hs60/v2/ansi - 7bcd152c269803de8f96416ba26e939c0420ceae hs60/v2/hhkb - d77f393d2811bd104b05c4530bf1083d75856b7a hs60/v2/iso - 5d3d20de919fca3b64cb7548cad46e8d35d7cc04 * ChibiOS conf upgrade for infinity60 infinity60 - dbcbb2f58ee499252b0879d68d9beec08a8433bc * ChibiOS conf upgrade for k_type k_type - 492f476177da95495442d1e173391e3c17324a70 * ChibiOS conf upgrade for keebio/bdn9/rev2 keebio/bdn9/rev2 - 4dbb5d606b3d9060ad01a437978220fe0f1fc5b2 * ChibiOS conf upgrade for keebio/choconum keebio/choconum - 1521e634088a30114cd12b7b6bbd2cca5331c822 * ChibiOS conf upgrade for keebwerk/mega keebwerk/mega/ansi - 10e32718c7bfff2f6bd8dd2159a15bef0f4acbf9 * ChibiOS conf upgrade for misterknife/knife66 misterknife/knife66 - cf2f3d26103036d79bf7fcec204e13899e33fbe3 * ChibiOS conf upgrade for nack nack - ba7f421d5670e672c5c14fd5f80c0f86447c1468 * ChibiOS conf upgrade for nebula12 nebula12 - aedb11fa894dc19513462f054a9fa00f5c195adc * ChibiOS conf upgrade for nebula68 nebula68 - 6bed6afb2fd84ef9069b757f1d1e87fc1cbe290c * ChibiOS conf upgrade for nemui nemui - 86ed80ea8565d7d0f39512a9032cc5e1b306fcff * ChibiOS conf upgrade for nk65 nk65 - 75b2484741a96dcbff14e94c44443bb33ad73dce * ChibiOS conf upgrade for nk87 nk87 - f719a739a3d2c0969c79c1ace5fe9a7d6f05cc22 * ChibiOS conf upgrade for peiorisboards/ixora peiorisboards/ixora - b5adf1090fb4c6278d8990ce9132727a13ca3cd7 * ChibiOS conf upgrade for phoenix phoenix - 21bfb14c52451899dadf545b78a8e88b22a420f0 * ChibiOS conf upgrade for polilla polilla - 3ba5f326b268362c9aba570b1510e1c61009ba96 * ChibiOS conf upgrade for primekb/meridian primekb/meridian - df266e25c682a8ed3318faa186805683014ccec4 * ChibiOS conf upgrade for projectkb/alice projectkb/alice - eee7210f618588b2c5c6367c8a0318427d09da52 * ChibiOS conf upgrade for projectkb/signature87 projectkb/signature87 - 617430e601981f0bb5fbcce42eee53107d5161b8 * ChibiOS conf upgrade for ramonimbao/squishy65 ramonimbao/squishy65 - 88e4cd3db8db61ccf9daed5405cf5eeb32f8043e * ChibiOS conf upgrade for ramonimbao/wete ramonimbao/wete - f0e90d943d8749e802b6bba619ce943b568a7f65 * ChibiOS conf upgrade for rart/rartlice rart/rartlice - f7a6b58e6cadd4102fcf5f89d054d1fbdc5809d0 * ChibiOS conf upgrade for retro_75 retro_75 - 34c7b291fb2443bf8cb69fb9ee676190c736bf00 * ChibiOS conf upgrade for rocketboard_16 rocketboard_16 - 24e6503a7a5259934a80dd96dd37d3281b4240d3 * ChibiOS conf upgrade for satt/vision satt/vision - c926d6433d8b2dc1d74623184255016bdd36ae22 * ChibiOS conf upgrade for tkc/candybar tkc/candybar/lefty - 2f269cbed5dcec61bb0c7904a46436f110dc0ae1 tkc/candybar/righty - 9b1448b2ccbcf8a4d1e5ad74d8ad5933003ee9a2 * ChibiOS conf upgrade for tkc/godspeed75 tkc/godspeed75 - 2cfed58d44a7eef8f341ff24e0136511e03aa78d * ChibiOS conf upgrade for tkw/stoutgat/v2/f411 tkw/stoutgat/v2/f411 - b094651ec61c79099de3e6e4991319816ac464c1 * ChibiOS conf upgrade for viktus/styrka viktus/styrka - f3f678ea55126c9965f24da6fffc9bbbd8b24aa9 * ChibiOS conf upgrade for vinta vinta - e5403dc6bbf47f35a53cf43b1b1d130f05552f16 * ChibiOS conf upgrade for westfoxtrot/prophet westfoxtrot/prophet - 0e4d6987ffa6430720804e7bc1502ab6c3dcb879 * ChibiOS conf upgrade for whitefox whitefox - 5ca6de6fb09d8c2cfa996b65732fcd55391053ff * ChibiOS conf upgrade for wolfmarkclub/wm1 wolfmarkclub/wm1 - 2d8294e29b08f5af5406988a284483d1694ed36c * ChibiOS conf upgrade for xelus/kangaroo xelus/kangaroo - f9697ba27d4e6c36a1cfd9e2657eac35dfa3be99 * ChibiOS conf upgrade for xelus/trinityxttkl xelus/trinityxttkl - a457601b446ea9b4e9e28d2ba304a4bcdb934257 * ChibiOS conf upgrade for xelus/valor_frl_tkl xelus/valor_frl_tkl - 27ec14b9ee0e5cb2d026af500d16b17d4c2885e2 * ChibiOS conf upgrade for zoo/wampus zoo/wampus - 926487c1f50c1c5eb0608ca7dc1184881d54d35e * ChibiOS conf upgrade for zvecr/split_blackpill zvecr/split_blackpill - 02f4393d01e0a70c94af48fa979ff0229732e8ca * ChibiOS conf upgrade for zvecr/zv48/f401 zvecr/zv48/f401 - 8b1766a24f943b9b0ba756c6fe340ba69d5e14e3 * ChibiOS conf upgrade for zvecr/zv48/f411 zvecr/zv48/f411 - 09ba645092eb7f3d41da0d5e6727f2f4f97033c0 commit 684773f2d4b2b28b1d0f81aa1c4dbd938017d3e9 Merge: e1ced62836 e3888281f4 Author: QMK Bot Date: Sat Dec 5 06:01:27 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit e3888281f49d566cb9cf3efdebb105014f0957d2 Author: Sergey Omelchenko Date: Sat Dec 5 09:00:58 2020 +0300 Fix missing define to map rgb_matrix function set to rgblight. (#11084) commit e1ced62836d6ca4b4650c7367323ec15b69ffd81 Merge: fac5e3b540 1e7661651c Author: QMK Bot Date: Sat Dec 5 05:46:31 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1e7661651cce7d18654522cefc8839944e02f44a Author: Evy Dekkers Date: Sat Dec 5 06:45:59 2020 +0100 add nt750 (#11091) commit fac5e3b5400acabc3e60ca2992aa1cc9500451ee Merge: 64b395cb3a f05b1b54a9 Author: QMK Bot Date: Fri Dec 4 11:03:51 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit f05b1b54a93ad1ecd31ceeefe1f7f55081ef75ef Author: Nick Brassel Date: Fri Dec 4 22:03:16 2020 +1100 Add default early-init bootloader to F042/F072. (#11120) commit 64b395cb3aaa5761476c2bfbdb3dcf193f08f8c9 Merge: dc1eebb566 59832e7654 Author: QMK Bot Date: Fri Dec 4 05:00:10 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 59832e7654d5b016d46b08d302788fcd330a0d67 Author: Borja López Jiménez Date: Fri Dec 4 05:59:41 2020 +0100 [Keyboard] Added taleguers75 rev1 keyboard (#11052) * Added taleguers75 rev1 keyboard * Apply suggestions from code review Co-authored-by: Joel Challis * Fixed VIA keymap Co-authored-by: Joel Challis commit dc1eebb566f9b3f4bed68c4dcfd5421798c31602 Merge: 024b3bd0dd 0f086df89f Author: QMK Bot Date: Fri Dec 4 02:22:34 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0f086df89fba8dcc073a15d7b9c000aed21a5f5d Author: Andrew Kannan Date: Thu Dec 3 21:22:05 2020 -0500 Allow APM32 MCUs on certain CannonKeys PCBs (#10899) * Allow APM32 MCUs on certain CannonKeys PCBs * another one * Update DFU suffix args * missed one * Apply suggestions from code review Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 024b3bd0dda733a7896927a51b7074ec5b25d643 Merge: 7a6e7d87cc 6ab0a6e796 Author: QMK Bot Date: Fri Dec 4 02:17:51 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6ab0a6e7967344a13bda480ccc477939695e9cf2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Dec 3 18:17:15 2020 -0800 Hotfix for #11106 (#11118) * Hotfix for #11106: Rework LAYOUT_alice support; add LAYOUT_alice_split_bs Accidentally missed backwards compatibility on the sneakbox/aliceclone in #11106, which broke stanrc85's Community Layout keymap. * sneakbox/aliceclone: move 2u Backspace to column 6 commit 7a6e7d87cc8f720cc5c2d898bd36ddb45dc01a98 Merge: 4444f3cc55 c1dc676d28 Author: QMK Bot Date: Fri Dec 4 02:09:45 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit c1dc676d2819784f0e35bc2533f682ba564aeb37 Author: bbrfkr Date: Fri Dec 4 11:08:56 2020 +0900 [Keyboard] add scatter42 by bbrfkr (#10893) * add new keyboard scatter42 by bbrfkr * mod info.json to work * mod info.json * mod readme * Update keyboards/scatter42/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/scatter42/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/scatter42/scatter42.h Co-authored-by: Ryan * Update keyboards/scatter42/config.h Co-authored-by: Ryan Co-authored-by: Ryan commit 4444f3cc55f246e484c6893f88d891c4c00c2166 Author: Nick Brassel Date: Fri Dec 4 10:45:39 2020 +1100 Disable almost all ChibiOS subsystems in default configs (#11111) * Disable almost all ChibiOS subsystems. * Modify ChibiOS config updater script to fixup mcuconf include, use develop as base instead of master. * Add default early-init bootloader to F042/F072. * Back to 100k freq. commit 138c3e7042a3fb9e94a784c3b8f6b0815e71cf3b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Dec 3 14:07:41 2020 -0800 Rework LAYOUT_alice support; add LAYOUT_alice_split_bs (#11106) * Add LAYOUT_alice support: fallacy * Add LAYOUT_alice support: kb_elmo/sesame * Add LAYOUT_alice support: cheshire/curiosity * Add LAYOUT_alice support: evyd13/wonderland * Add LAYOUT_alice support: mechlovin/adelais * Update LAYOUT_alice support: projectkb/alice The PR that added Alice community layout support for the projectkb/alice/rev2 simultaneously broke support for every other keyboard that supported LAYOUT_alice. This commit partially reverts the offending PR. `LAYOUT_alice` for the projectkb/alice has been renamed to `LAYOUT_alice_split_bs`, and a correct 65-key `LAYOUT_alice` has been added. Additionally, the `LAYOUTS` rule has been moved to keyboard level as the layout macros are shared between rev1 and rev2 boards, which means the layout options are the same for both revisions. * Update ramonimbao/aelith info.json Keyboard source was already correct to support LAYOUT_alice, but the layout tree was missing from info.json. * Fork `alice` Community Layout... ... into Standard and Split Backspace versions Also updates stanrc85's layout keymap to use 65 keys instead of the Split Backspace 66-key version. * Update LAYOUT_alice support: sneakbox/aliceclone Rework the sneakbox/aliceclone to use the Split Backspace Alice layout. * Update LAYOUT_alice support: zoo/wampus The layout macro that was `LAYOUT_alice` was 66 keys. This layout macro has been renamed to `LAYOUT_alice_split_bs`, and a 65-key `LAYOUT_alice` has been added. Additionally, the 66-key macro has been rearranged to accept its keycodes in the intended order for Community Layout support. * Update keyboards for `LAYOUT_alice_split_bs` support * LAYOUT_alice_split_bs support: ergosaurus * LAYOUT_alice_split_bs support: handwired/colorlice * LAYOUT_alice(_split_bs) support: handwired/owlet60 * LAYOUT_alice_split_bs support: nightly_boards/alter/rev1 * LAYOUT_alice(_split_bs) support: sck/osa * LAYOUT_alice_split_bs support: tgr/alice * LAYOUT_alice(_split_bs) support: tkc/osav2 * LAYOUT_alice_split_bs support: xelus/valor/rev1 commit 7e2ba2784e8848f65c8385806fb1a2cdbe13a0cc Merge: ed2bb46658 a5a65fb1e2 Author: QMK Bot Date: Thu Dec 3 20:03:01 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit a5a65fb1e27dcbcdb3e489f1cbde9e7306522693 Author: npspears <40127181+npspears@users.noreply.github.com> Date: Thu Dec 3 14:02:21 2020 -0600 Add Via support to Plexus75 PCB (#11027) * Add Via keymap * Via Enable in Rules.mk * Update config.h added nasp before Plexus75 in PRODUCT to better follow Via naming convention * Update keymap.c changed KC_CTRL to KC_LCTL * Update config.h took out the manu repeat * Update rules.mk * Create rules.mk changed location of rules.mk for supporting Via * Apply suggestions from code review Co-authored-by: Ryan * Update keyboards/plexus75/keymaps/via/rules.mk Co-authored-by: Ryan * Apply suggestions from code review Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit ed2bb466589c67bd90a0def9704bb92fac1ae18d Merge: 87291437bd fc85ebecd4 Author: QMK Bot Date: Thu Dec 3 19:39:14 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit fc85ebecd43ebf9dc9c71c1e956c75bd1652b3a3 Author: a_p_u_r_o Date: Fri Dec 4 04:38:26 2020 +0900 [Keyboard] Fixed inconsistent MATRIX_COLS and MATRIX_COL_PINS: facew (#8115) commit 87291437bd5afccb44677db3ebcf0c284128e990 Author: Nick Brassel Date: Thu Dec 3 13:04:28 2020 +1100 Add board specific to Proton-C, with usual defaults turned on. (#10976) - Set all other ChibiOS defaults to 'off', when not targeting Proton-C - Modified all existing F303 boards to point at the QMK_PROTON_C to ensure repeatable binary output - Modified version.h generation so that SKIP_VERSION=yes generates the same output commit 777a30cb423e0636431dae0b8578ef5e962bac30 Merge: de44fdbaf2 2989f9ce2b Author: QMK Bot Date: Wed Dec 2 19:24:26 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2989f9ce2beb41e7796b4ba0cafc481734b3f024 Author: TerryMathews Date: Wed Dec 2 14:23:45 2020 -0500 TKC TKL_A/B87: Initial support (#10943) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit de44fdbaf202a0be8ce6c2b97647dcbf44c0fbe6 Merge: b5adf4d9e9 bcab02b654 Author: QMK Bot Date: Wed Dec 2 02:01:06 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit bcab02b654a5772d0ffe7d0a81f4284e84bd8117 Author: Dustin Bosveld Date: Tue Dec 1 19:00:27 2020 -0700 [Keyboard] Fix issue with Kyria and RGB Light (#11070) Add recommendation to default firmware https://docs.splitkb.com/hc/en-us/articles/360017633199-The-keyboard-behaves-erratically-after-changing-the-RGB-settings commit b5adf4d9e93f83ce7ddf9f604a6b3d2616049d7d Merge: 0892741b10 3aae5300e2 Author: QMK Bot Date: Tue Dec 1 22:28:42 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3aae5300e223ef87d6586dccb33a6255f72297e8 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Dec 1 22:28:08 2020 +0000 Fix Valor default underglow (#11093) commit 0892741b107bb2afa9cb2b5ed5a9157ce588a410 Merge: a8d0ec0749 41347cdcec Author: QMK Bot Date: Tue Dec 1 20:41:13 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 41347cdcecc2007990996e3ccf9f47f55119980f Author: Drashna Jaelre Date: Tue Dec 1 11:55:32 2020 -0800 [Keyboard] Fix compiler issues for handwired/6macro (#11098) commit a8d0ec0749046b0ab89c18b1b7083b1e8674de2a Author: XScorpion2 Date: Tue Dec 1 12:04:42 2020 -0600 [Split] Sync Timer feature (#10997) A timer that is kept in sync between the halves of a split keyboard commit 33802ab5cdebe09a05b2070cc1c0a333e5699e62 Author: David Dai Date: Tue Dec 1 09:37:33 2020 -0800 Add support for Drop + Ryloo Studio "Hello" M0110. (#11050) commit 9c03a8959621016d27fdd7cdfbabce28fd7d1757 Merge: a4da9c47c8 eaa8c18174 Author: QMK Bot Date: Tue Dec 1 11:49:57 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit eaa8c18174405c4e8891b9350f87bfa3ee3da8b6 Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Tue Dec 1 03:49:52 2020 -0800 fix handwired/swiftrax/beegboy keymaps (#11071) Co-authored-by: Swiftrax commit 3a77ef5fa350d9c9927a345efa1d58cf0c80325a Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Tue Dec 1 03:49:20 2020 -0800 fix handwired/swiftrax/bebol keymaps (#11072) Co-authored-by: Swiftrax commit a4da9c47c8aa830f1ac11d61e4b406add8678bf5 Merge: 58a5193a2b 1124e51b11 Author: QMK Bot Date: Tue Dec 1 11:37:38 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1124e51b116e6e923eaf8b06274cb12cdc3dda83 Author: Felix Jen Date: Tue Dec 1 05:37:02 2020 -0600 Moved default LALT and LWIN for BKS65 (#11087) commit 58a5193a2b3f262edb893064fd27943d014d9250 Merge: 0abf4647e3 c7dab4bb25 Author: QMK Bot Date: Tue Dec 1 11:25:08 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit c7dab4bb25a90b3a7375504e0c132a730d80cd47 Author: 4pplet Date: Tue Dec 1 12:23:58 2020 +0100 Adding bootleg and waffling60 rev b (#10846) Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 0abf4647e397fade5511e789f4b7820d5babfdde Merge: 9a0a2dce41 cc08e3082e Author: QMK Bot Date: Mon Nov 30 21:03:46 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit cc08e3082eeadcb75719ec5b5128e94a910a0fcb Author: André Silva <123550+andresilva@users.noreply.github.com> Date: Mon Nov 30 21:03:03 2020 +0000 nix-shell: add milc dependency (#11086) commit 9a0a2dce41db6b794f5ac083338f8b96d103f164 Merge: 4a5388a2b6 02fb0de59b Author: QMK Bot Date: Mon Nov 30 20:19:59 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 02fb0de59bdbf00cde2c40dd67ec9342890481f7 Author: Desp-Key <67005054+Desp-Key@users.noreply.github.com> Date: Mon Nov 30 21:19:21 2020 +0100 Added VIA keymap to YMDK bface keyboard (#11002) Co-authored-by: Ryan commit 4a5388a2b60b971542af4b2302f0208f05ca84f5 Merge: 3cc7d22732 8724a70c4c Author: QMK Bot Date: Mon Nov 30 19:20:22 2020 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8724a70c4c4329f09b9cf6dbda4dbefaaf3a3ee9 Author: Zach White Date: Mon Nov 30 11:19:44 2020 -0800 Reduce travis load by replacing an exclusive grep with an inclusive grep (#10964) * add -n to avoid compiling * switch to an include rather than exclude strategy commit 3cc7d22732e201d5fd83931e5cfee21f83fd2352 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Nov 29 10:54:29 2020 -0800 Branch point for 2021 Feb 27 Breaking Change commit 990d5189d19341cb768ea39a5510f381f1522e20 Author: XScorpion2 Date: Sun Nov 29 10:28:03 2020 -0600 Configurable serial usart timeout (#11057) commit 485e4524f47f15d9581c1cd2619bbcd321380f68 Author: XScorpion2 Date: Mon Nov 30 04:18:19 2020 -0600 Fix int wrapping for timer_expired macros and use MAX defines for consistency and clarity (#10996) commit ce91dd4bf320ca159401fd8db24781c44ab7d405 Author: ojthetiny <65928618+ojthetiny@users.noreply.github.com> Date: Mon Nov 30 12:00:55 2020 +0200 [Keyboard] Add edc40 keyboard (#11021) * Re-adding edc40 keyboard branch/files * Update keymap.c * add default keymap for edc40 * removed redundant keymap * added custom keymap for edc40 * fixed false update to settings.json * fixed false update to settings.json * added newline to info.json * Update keyboards/edc40/config.h * Update keyboards/edc40/readme.md * Update keyboards/edc40/rules.mk * Update rules.mk * Update keyboards/edc40/info.json * Update info.json * Update info.json * Update keyboards/edc40/config.h * Update keyboards/edc40/info.json * Update keyboards/edc40/readme.md * Update keyboards/edc40/keymaps/default/keymap.c commit 5909c243d4ba019af6fbaf4397fda81c703db511 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Nov 29 10:05:46 2020 -0800 KBD67 Rev2 VIA: Increase layer count from 2 to 4 (#11039) commit 67976da039012e593a4ef694fa7d58e396117d48 Author: Anand Babu (AB) Periasamy Date: Sun Nov 29 10:04:52 2020 -0800 map reset key to the correct location (#11037) Co-authored-by: Anand Babu (AB) Periasamy commit 05ac139a29265e9647edf650d91933a5c7cc5433 Author: Felix Jen Date: Sun Nov 29 11:52:22 2020 -0600 Updated README name (#11033) commit 81164c1663fbf155233475dfd23b324ccd53b46e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Nov 28 16:59:25 2020 -0800 Cozykeys Speedo Configurator fix (#11058) * Cozykeys Speedo Configurator fix Outgoing codebase worked when compiled locally, but not from QMK Configurator because its API requires an exact directory structure. * fix make commands in the readme commit c66df1664497546f32662409778731143e45a552 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Nov 28 12:02:18 2020 -0800 2020 November 28 Breaking Changes Update (#11053) * Branch point for 2020 November 28 Breaking Change * Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183) * Add support for soft serial to ATmega32U2 (#10204) * Change MIDI velocity implementation to allow direct control of velocity value (#9940) * Add ability to build a subset of all keyboards based on platform. * Actually use eeprom_driver_init(). * Make bootloader_jump weak for ChibiOS. (#10417) * Joystick 16-bit support (#10439) * Per-encoder resolutions (#10259) * Share button state from mousekey to pointing_device (#10179) * Add hotfix for chibios keyboards not wake (#10088) * Add advanced/efficient RGB Matrix Indicators (#8564) * Naming change. * Support for STM32 GPIOF,G,H,I,J,K (#10206) * Add milc as a dependency and remove the installed milc (#10563) * ChibiOS upgrade: early init conversions (#10214) * ChibiOS upgrade: configuration file migrator (#9952) * Haptic and solenoid cleanup (#9700) * XD75 cleanup (#10524) * OLED display update interval support (#10388) * Add definition based on currently-selected serial driver. (#10716) * New feature: Retro Tapping per key (#10622) * Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638) * Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530) * Rescale both ChibiOS and AVR backlighting. * Reduce Helix keyboard build variation (#8669) * Minor change to behavior allowing display updates to continue between task ticks (#10750) * Some GPIO manipulations in matrix.c change to atomic. (#10491) * qmk cformat (#10767) * [Keyboard] Update the Speedo firmware for v3.0 (#10657) * Maartenwut/Maarten namechange to evyd13/Evy (#10274) * [quantum] combine repeated lines of code (#10837) * Add step sequencer feature (#9703) * aeboards/ext65 refactor (#10820) * Refactor xelus/dawn60 for Rev2 later (#10584) * add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824) * [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549) * update chibios os usb for the otg driver (#8893) * Remove HD44780 References, Part 4 (#10735) * [Keyboard] Add Valor FRL TKL (+refactor) (#10512) * Fix cursor position bug in oled_write_raw functions (#10800) * Fixup version.h writing when using SKIP_VERSION=yes (#10972) * Allow for certain code in the codebase assuming length of string. (#10974) * Add AT90USB support for serial.c (#10706) * Auto shift: support repeats and early registration (#9826) * Rename ledmatrix.h to match .c file (#7949) * Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231) * Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840) * Merge point for 2020 Nov 28 Breaking Change commit 15385d4113414d42bd062c60c9de5df797d3157f Author: rainsff <44819800+rainsff@users.noreply.github.com> Date: Fri Nov 27 21:10:10 2020 -0800 rainkeeb info.json fix (#11048) commit 16d55b14b7d08200bc1d56b1612b9f4481106edd Author: Drashna Jaelre Date: Fri Nov 27 21:03:31 2020 -0800 [Docs] Add VBUS hack for teensys (#10986) commit c41c8ff780996d1d46673ae802bff4dbc3a035b8 Author: rainsff <44819800+rainsff@users.noreply.github.com> Date: Fri Nov 27 10:04:56 2020 -0800 Add rainkeeb keyboard (#10875) * Add rainkeeb Add support for rainkeeb * gpl license added * updated * Apply suggestions from code review Co-authored-by: ridingqwerty * Apply suggestions from code review Co-authored-by: ridingqwerty * Update info.json * via keymap added * updated keymap and .h to work properly * fixed oled code oops Co-authored-by: ridingqwerty commit c21d5a09735e84412ee5b3efb4c3f5d3fc734393 Author: Ryan Date: Fri Nov 27 01:37:54 2020 +1100 Refactor qmk_install.sh (#10681) commit 3afe0ea9b9f67ae33f54c1393b15d988764241a2 Author: Ryan Date: Thu Nov 26 23:44:17 2020 +1100 ST7565 tidyup (#10907) commit 1c0e8a6bb4718c693e24d87c19ccca435d2f1f58 Author: rate Date: Thu Nov 26 21:16:34 2020 +0900 Add keyboard PistachioMacroPad (#10980) Co-authored-by: Joel Challis commit 10d9e8ed371490eabbb157de4ae0885635a074a4 Author: jackytrabbit Date: Thu Nov 26 20:15:33 2020 +0800 Add VIA Support for Dimple Plus (#11026) Add VIA Support for Dimple Plus commit d9613e6a3318e4b3d72eb52bbe16ee5c753df9d6 Author: Rys Sommefeldt Date: Wed Nov 25 22:08:38 2020 +0000 [Keyboard] CapsUnlocked CU65 (#11006) * CapsUnlocked CU65 * Remove spurious in 65_ansi keymap * Fix key next to Enter in 65_iso * Reviewed fixes for CU65 Config, layout, copyright, build rules and documentation tweaks Co-authored-by: Joel Challis * KC_NUBS not KC_NUSH on the bottom row * K104 is 2U backspace * Small info.json and config.h tweaks Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 9c2cfe5c272b9fcc0cf223aca4db354405bfd30c Author: Wilba Date: Thu Nov 26 08:26:58 2020 +1100 [Keyboard] Add wilba.tech WT65-H1 (#10880) * Added WT65-H1 * Fixed LAYOUT_all() * Update keyboards/wilba_tech/wt65_h1/info.json * Update keyboards/wilba_tech/wt65_h1/keymaps/default/keymap.c * Update keyboards/wilba_tech/wt65_h1/keymaps/default/keymap.c * Update keyboards/wilba_tech/wt65_h1/keymaps/default/keymap.c * Update keyboards/wilba_tech/wt65_h1/keymaps/default/keymap.c * Update keyboards/wilba_tech/wt65_h1/rules.mk * Update keyboards/wilba_tech/wt65_h1/wt65_h1.h commit f98e983141c9245d8b2ea8c5338107119de3cbae Author: pcurt854 <73454192+pcurt854@users.noreply.github.com> Date: Wed Nov 25 14:04:55 2020 -0500 Added pcurt854 keymap to Preonic keyboard (#10911) commit feae8f2980f882ba034d8c5b9b976259989dfe51 Author: Yoichiro Tanaka Date: Thu Nov 26 03:55:54 2020 +0900 VIA support for Lunakey Mini keyboard. (#11014) commit 35b329052cc5e80eac58cde6816fa09982c1f9d5 Author: J.Flanagan Date: Wed Nov 25 12:48:12 2020 -0600 [Keyboard] Add Viktus Styrka (#10982) * Initial Styrka Commit Initial commit of basic working firmware. - has basic 6.25u spacebar and fullsize backspace support in default keymap - has basic 6.25u spacebar and split backspace support in split_bs keymap - beginning work for via keymap (not complete) * Viktus Styrka Update 1 First edit update for Viktus Styrka - Corrected LAYOUT macros - Updated keymaps - Updated info.json to match LAYOUT macros - Added and updated VIA keymap - Added and updated ALL keymap - Removed unused features from config - Added more detailed board info to main readme * Update info.json Update info.json - missing end } * Update to files in initial commit As requested, changes made to: - styrka.c - rules.mk - split_bs/keymap.c - all/keymap.c - info.json - config.h * Update keyboards/viktus/styrka/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit e8a65baf4143799318c7f12fe873b9be7ddf18b5 Author: Felix Jen Date: Wed Nov 25 12:36:49 2020 -0600 [Keyboard] Added Phantom Keyboard by Lucid (#10988) * Added upcoming Phantom keyboard from Lucid * syntax error * updated layout name commit d82e0027374d81140248e61daf190215f440c8af Author: dsanchezseco Date: Wed Nov 25 19:27:17 2020 +0100 Added VIA keymap to punk75 keyboard (#10927) Co-authored-by: Drashna Jaelre commit c78ef391dcb36a83ad04f754bbccbd54ca9926e9 Author: nopunin10did Date: Wed Nov 25 13:24:58 2020 -0500 Boardrun Classic & Bizarre layouts (replaces PR 10934) (#10990) Co-authored-by: Drashna Jaelre Co-authored-by: Erovia Co-authored-by: Rossman360 Co-authored-by: Luke commit 1bf657be4113bae9d43d6ec265e66ab8b12359c1 Author: Sid Carter Date: Wed Nov 25 13:09:15 2020 -0500 [Keymap] Updates - Unikorn/Curiosity/Prime_E/Ferris/Corne (#10925) * update keymap for unikorn * add new map * update keymap * update keymap * update map * update the current keymap * update keymap so it accounts for mouse keys as well * add extra control and shift, for when we need to use the other keys * get me square and curly braces * remove unused macros * update these changes so far * update ilpse keymap * rmove a layer and simplify my layers a bit * I think there's a working keymap now for the corne. let's leave this here. * I thought maybe that helped? but who knows * save changes made so far * update madhatter keymap to match what I want * switch to use lcmd for main alt * update my curiosity keymap * make curiosity via enabled * add via keymap * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/primekb/prime_e/keymaps/madhatter/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Drashna Jaelre * stick to enum * add bootmagic stuff and update keymap * switch to bootmagic lite * fix typo * cleanup for writing to LED * consistency * fix led pins * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * fix build issue * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan * Update keyboards/crkbd/keymaps/madhatter/keymap.c Co-authored-by: Ryan Co-authored-by: Khader Syed Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 8897ab9b111b107cfcb08478ba0b4176432ea5b6 Author: r-pufky Date: Wed Nov 25 10:05:01 2020 -0800 [Keymap] Add personal massdrop/ctrl:r-pufky keymap. (#10887) * Add personal massdrop/ctrl:r-pufky keymap. * Added personal keymap per: https://docs.qmk.fm/#/contributing?id=keymaps * Update massdrop/ctrl:r-pufky per review. * Trimmed config.h * Remove rules.mk * Add copyright header to keymap.c * Rename README.md to readme.md * Remove files/lines per review. * Removed keyboard-layout-editor.com json layouts. * Removed keymap_config line. commit 50611bd814beb4127378000ff398eaa475527cc5 Author: Thorben <34752364+itspngu@users.noreply.github.com> Date: Wed Nov 25 18:10:42 2020 +0100 [Keyboard] Fixes fox idb_60 keyboard (#10827) * Fixed VIA keymap build warning on gcc 10.2.0, Fixed misleading LED function names, Fixed formatting * Fix: Allow layer LED indicators to be overriden on the keymap level * Implemented suggested change from led_set_kb callback to led_update_kb callback * Apply suggestions from code review Co-authored-by: Ryan * Update keyboards/idb/idb_60/idb_60.c Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 86b0acbae0cc2ad85026f3343624d9aa1788e41a Author: bt66tech <39931446+bt66@users.noreply.github.com> Date: Thu Nov 26 00:00:03 2020 +0700 [Keyboard] add bt66tech60 handwired (#10867) * Add files via upload add handwired bt66tech keyboard * Update info.json * Update rules.mk * Update info.json * Update config.h change #define DESCRIPTION * Update bt66tech60.c remove #include "bt66tech.h" * Update config.h remove #define DESCRIPTION A handwired 60% keyboard. * Update keymap.c remove \ and // Defines the keycodes used by our macros in process_record_user enum custom_keycodes { QMKBEST = SAFE_RANGE, QMKURL }; * Update readme.md fill description * Update rules.mk apply suggestion * Update keymap.c remove bool process_record_user(uint16_t keycode, keyrecord_t *record) ..... * Update keymap.c remove enter inline 25 * Update readme.md remove * * Update bt66tech60.c remove all and add #include "bt66tech60.h" * Update keymap.c * Update rules.mk remove enter * Update info.json chenge LAYOUT to LAYOUT_60_ansi * Update readme.md * Update rules.mk add LAYOUTS = 60_ansi * Update rules.mk when add LAYOUTS = 60_ansi the pullrequest check say error so i'm remove it * Update rules.mk add LAYOUTS = 60_ansi * Update rules.mk commit 24a741649d898d2bd84a581646d11e4e3a3b4f91 Author: Matthew Dias Date: Wed Nov 25 10:57:58 2020 -0600 [Keyboard] Add minim keyboard (#10970) * Create minim firmware * Cleanup and add configurator support * PR Checklist Items * Delete keymap.c * Apply suggestions from code review Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 0a9476bc2afbe19caef4429a3a9b6e18e006d07e Author: Felix Jen Date: Wed Nov 25 10:53:06 2020 -0600 [Keyboard] Added BKS65 Bolsa Supply PCB (#10933) * Copied B65 and updated matrix * Updated Caps LED Pin * Updated most of the FW * Updated errant names from Bolsa65 copy * Keymap updates * Moved to config.h LED indicators. Tested on PCB for functionality commit 3fadfb565d9179bea2b3237215778b529fae3135 Author: Dan Date: Tue Nov 24 15:11:28 2020 -0500 add dcompact layout for minivan (#10951) Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Dan Herrera commit 66b5c5eff26c93620e5a6c9f369a50d53722ff66 Author: Max Bridgland <34947910+M4cs@users.noreply.github.com> Date: Tue Nov 24 08:46:23 2020 -0500 Add M4cs Keymap for dekunukem/duckyPad (#10900) * Add Keymap * Fix Media Keys * Add Keymap ASCII and Clean Up * Add Readme * Add GPL Headers, Clean Up Code Based on @drashna Suggestions * Remove unnecessary include * Add Layout for info.json and Readme.md * Fix Layout for info.json * Fix #endif Error * Remove Tapping Term * Add Default Keymap * Add comments, fix readmes, clean up * Fix README formatting * Fix Timeout * Fix I2C Rules * Fix Comment Formatting, Multiline Breaks * Add Sleep/Backlight Rules * Clean Up README * Clean Up Rules * Fix Comments * Add Pragmas Co-authored-by: M4cs Co-authored-by: Max commit 6e97a4c8b915e7be4d86ea9969c0e7d7e9876b8b Author: nopunin10did Date: Tue Nov 24 04:59:22 2020 -0500 Railroad fix (#10935) * Fix Railroad build issues * Update keyboards/nopunin10did/railroad/rev0/rules.mk * Update keyboards/nopunin10did/railroad/rev0/rev0.h * Add extra copy of readme to the rev0 folder * Update keyboards/nopunin10did/railroad/rev0/readme.md commit 429474d1c323bf746b0ed158ae9aa2002319009d Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Tue Nov 24 02:47:01 2020 +0700 refactor adelais en ciel rev.2, mechlovin9 (#10930) Co-authored-by: vuhopkep commit 6f9934c669ff299f73121c42fef006b9eb0952b0 Author: Danilo de Klerk <966801+ddeklerk@users.noreply.github.com> Date: Mon Nov 23 08:57:32 2020 +0100 Add rules.mk for ddeklerk split_3x6_3 keymap (#11008) * Add rules.mk In order for the media controls to work, a rules.mk file was necessary. commit c84650a147a5bf26322b583be85774121f5464e2 Author: Yoichiro Tanaka Date: Mon Nov 23 06:25:17 2020 +0900 Add a new keyboard: yoichiro/lunakey_mini (#10958) * Add a new keyboard: yoichiro/lunakey_mini * Modify the VENDOR and PRODUCT IDs. * Remove unnecessary EOL characters. * Remove unnecessary modified characters. * Update the layer definition more simple. * Change the product name. * Change the LAYOUT name (append `_split_3x6_4`) and change keys order in info.json file. commit 30afa1ccd333a693d7edcda10e618b5c82bc6b98 Author: 0z00 <66924917+0z00@users.noreply.github.com> Date: Sun Nov 22 13:21:51 2020 -0800 [Keyboard] Add Wampus (#10991) * Configure new keyboard zoo/wampus * Apply suggestions from code review Update LED pins to defined defaults Co-authored-by: Joel Challis * Apply suggestions from code review - Remove unused layers from default. - Remove chibios patch comment Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit b8443863c0ae54349ee61411c0c09863a5ad0b8e Author: Joel Challis Date: Sun Nov 22 21:12:30 2020 +0000 Remove references to ch-bootloader-jump.patch (#10998) commit c731628946c71faa56491c89ed59f95ab8e60d97 Author: Zach White Date: Sun Nov 22 08:00:10 2020 -0800 identify the qmk-bot commit ca9edc5fe392d0349e77c26b745cbef2f85b160e Author: Joel Challis Date: Sun Nov 22 15:50:14 2020 +0000 Fix failed develop updates within CI (#11001) * Fix inverted logic * skip locked instead of fail commit a952bf2d31ec379ec5e5bbf9b1d1b2673ebbacad Author: Mateusz Urbanek Date: Sun Nov 22 08:42:58 2020 +0100 [Keyboard] Added Vagrant-10 keyboard (#10048) * Initial commit for Vagrant-10 * Initial commit for Vagrant-10 * customized layout * Fully working QMK config with default keymap * Update info.json * Update info.json * Update readme.md * prep * fixed pull request issues * Update keyboards/vagrant_10/keymaps/default/keymap.c * Update keyboards/vagrant_10/keymaps/default/keymap.c * Update keyboards/vagrant_10/vagrant_10.h * Update keyboards/vagrant_10/vagrant_10.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/rules.mk * Update keyboards/vagrant_10/readme.md * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/info.json * Update keyboards/vagrant_10/info.json * Update keyboards/vagrant_10/vagrant_10.h * Update keyboards/vagrant_10/keymaps/default/keymap.c * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/readme.md * Update keyboards/vagrant_10/config.h * License header * License header * License header * License header. * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/config.h * Update keyboards/vagrant_10/vagrant_10.h commit 44d1b2e717db0387e7138cc24fc5cc15ba8c90f2 Author: Zach White Date: Sat Nov 21 12:06:33 2020 -0800 push the API data for develop as well (#10852) commit 8ddbb19df1e96246d9e1f7fdcae9ebfe8e0f3118 Author: Zach White Date: Sat Nov 21 11:48:13 2020 -0800 Rebase develop after a master push (#10812) * rebase develop after a master push * limit this to qmk/qmk_firmware * change to a merge strategy * GITHUB_TOKEN isn't needed * check for .locked in develop * break up into more steps commit 95fd2ce81a394d972d922b7be34a99752aed9e31 Author: Joel Challis Date: Sat Nov 21 19:11:50 2020 +0000 Refactor to use led config - Part 4 (#10967) * Refactor to use led config * Refactor to use led_update_kb commit 23222625c201cd960a5b4a99ee52e74d4c13bba9 Author: Joel Challis Date: Sat Nov 21 19:11:24 2020 +0000 Refactor to use led config - Part 5 (#10975) * Refactor to use led config * Refactor to use led config * Refactor to use led config commit 4368611bfd87a544689ed10bb4450a39314bf1a1 Author: jonathan Date: Sun Nov 22 05:36:55 2020 +1030 Add layout_all to xd96 (#10913) Co-authored-by: Ryan commit ccb15c2d2923903a925d253eec66fd4356ceea85 Author: Wilba Date: Fri Nov 20 20:42:34 2020 +1100 [Keyboard] Added wilba.tech WT60-H1 (#10879) * Added WT60-H1 * Update keyboards/wilba_tech/wt60_h1/info.json * Update keyboards/wilba_tech/wt60_h1/keymaps/default/keymap.c * Update keyboards/wilba_tech/wt60_h1/keymaps/default/keymap.c * Update keyboards/wilba_tech/wt60_h1/keymaps/default/keymap.c * Update keyboards/wilba_tech/wt60_h1/keymaps/default/keymap.c * Update keyboards/wilba_tech/wt60_h1/rules.mk * Update keyboards/wilba_tech/wt60_h1/wt60_h1.h commit 628d4a91b905bad049d267c133a59c8b24f9acbf Author: Matthew Dias Date: Thu Nov 19 16:04:55 2020 -0600 Add JNAO Via keymap (#9917) * Add JNAO Via keymap * Enable more layouts for via * Apply suggestions from code review * Remove extra layer * Add license commit 9454f9809928602f0fbff262dd21e2c56c06e67d Author: X-Bows Tech <41098278+XBowsTech@users.noreply.github.com> Date: Fri Nov 20 03:32:57 2020 +0800 [Keyboard]Add X-Bows Nature Keyboard (#10869) Co-authored-by: Drashna Jaelre Co-authored-by: Erovia Co-authored-by: Ryan commit 64572b5c4bbbda84ba8c8122d354613800f2653d Author: Luis Godinez Date: Thu Nov 19 11:30:52 2020 -0800 Add Nines by Ungodly Design (#10931) Co-authored-by: Ryan Co-authored-by: Erovia Co-authored-by: Joel Challis commit 776d1adc766871b2d03911479466fb571406186d Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Thu Nov 19 11:29:43 2020 -0800 add unsplit (#10892) Co-authored-by: Drashna Jaelre Co-authored-by: Erovia Co-authored-by: Swiftrax commit 386cff8cf5645d742e193c4d53c0b6ff52c20885 Author: Luis Godinez Date: Thu Nov 19 11:28:53 2020 -0800 Add Launch Pad by Ungodly Design (#10952) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Erovia commit e7497b3fba0c2836c9bb5087eee8b15d6ffc1362 Author: Drashna Jaelre Date: Wed Nov 18 16:50:32 2020 -0800 Add references for is_keyboard_left() (#10850) * Add references for is_keyboard_left() * Remove proto from bootmagic_lite.c commit 6dc2d5956f008a706a9b0d6e911522294b76f392 Author: elijahblake Date: Wed Nov 18 17:54:53 2020 -0600 [Keymap] add massdrop/alt:pregame (#8953) Pulled some functionality from the endgame keymap for the Drop Ctrl. * very shortened version of the Endgame keymap * fixed pictures * fixed link * fixed link * fix files * add GREEN RGB * fixed GREEN RGB * not supposed to be in my fork... * wasn't supposed to be in my fork. * I have fixed the layer 0 RGB Settings; you can now apply layer using "COLOR" in the layout template. * I've renamed to pregame, fixed several files * added Underglow RGB layout, changed def ault RGB color * fixed the color of the default profile like i want it * Added IRL Photo * Update keymap.c disabled debugging. * Update keymap.c * Update config.h * Update README.md * Update keymap.h * Changed some settings on rules for clean up. * Changed some settings on rules for clean up. * fixed some errors, cleaned things up * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Fixed changes recommended by Fauxpark * Added changes recommended by fauxpark * trying to fix my repo * Still trying to fix merge issues * changed to lowercase * Delete reading.md * Trying to rebase my repo * stuck in rebase loop trying to fix local files and update * updating readme file commit 88a783a8a769e604fa13947ee9c556f0dc1c95ad Author: Drashna Jaelre Date: Wed Nov 18 14:20:29 2020 -0800 [Keyboard] PloopyCo update and fixes (#10936) This is based on feedback talking with crop_octagon about the device. Future trackballs will ship with ATMEL DFU for simplicity. This also includes some fixes and optimizations based on code review and tinkering on my own devices. commit 3aef2bef8f6a3e33df4c0142da89f229320b212a Author: Ari Madian Date: Wed Nov 18 13:33:49 2020 -0800 Add basic OLED keymap for nullbitsco/nibble (#10912) commit 078586b21a82bd9ed595607d2065854a09b84f24 Author: j-zero Date: Wed Nov 18 22:31:21 2020 +0100 Update one_shot_keys.md (#10917) MOD_RSFT doesn't work. See: https://github.com/qmk/qmk_firmware/issues/10901 commit 7bdc41b025211fa3b4c74c7c46fdddf18bab6731 Author: dsanchezseco Date: Wed Nov 18 22:29:35 2020 +0100 Changed personal keymap punk75:dsanchezseco (#10928) added a dvorak layer with a numpad in the center commit 66d52d8cd2271ad26b96b1a32c468adf9fec7637 Author: yonatanzunger <30514250+yonatanzunger@users.noreply.github.com> Date: Wed Nov 18 13:03:40 2020 -0800 Update the melody96:zunger keymap (#10888) * Update the melody96/zunger layout to make typing Romance languages easier. Move the combining accents to fn + (keys used by Mac OS for that purpose), and move the fn key to be the one adjacent to the space bar, since one needs to type combinations of that a lot more than one needs to type Greek letters in normal use. (As determined by experiment) Also clean up the comments. Co-authored-by: Yonatan Zunger commit 0f8b0d971f40b43a6f779878275963f0ff52819d Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Nov 18 12:16:18 2020 -0800 VIA Support: E6V2 BMC editions (#10969) * update readme with relevant PCB versioning * Add VIA keymap to e6v2 LE BMC * add via keymap * Update keyboards/exclusive/e6v2/le_bmc/keymaps/via/keymap.c Co-authored-by: Joel Challis * Update keyboards/exclusive/e6v2/oe_bmc/keymaps/via/keymap.c Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 3270cbeb46d69d0961d3a7243c154f84f5bafaa2 Author: gtips <51393966+gtips@users.noreply.github.com> Date: Thu Nov 19 04:47:29 2020 +0900 [Keymap]Add and Update keymap for reviung34 (#10915) commit ad9674c5afa550bb1b41e924f37865301c99a7c5 Author: Wilba Date: Thu Nov 19 06:45:44 2020 +1100 [Keyboard] Add wilba.tech WT80-G (#10878) * Added WT80-G * Fixed keyboard name in info.json commit e4aadf2c05783603a710b5553e43078a7eaf5f78 Author: Wilba Date: Thu Nov 19 06:35:55 2020 +1100 [Keyboard] Add wilba.tech WT65-G (#10877) commit f00402a2f3d551bcb1fb87245238e2b392192eb5 Author: Joel Challis Date: Wed Nov 18 17:51:53 2020 +0000 Refactor to use led config - Part 3 (#10966) * Refactor to use led config * Refactor to use led config * Refactor to use led config * Refactor to use led config commit e1e13c53acb24c3617c3de88fa401acb3d628074 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Wed Nov 18 12:47:45 2020 -0500 Add support for LAYOUT_alice to sneakbox pcb (#10914) Co-authored-by: Drashna Jaelre commit 1512e07817cf48480b9e84f5edd2e439580cd3b4 Author: jackytrabbit Date: Thu Nov 19 01:43:44 2020 +0800 Add support for keyboard 'DimplePlus' (#10881) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit ad5cbe59820ac1f9922f2db2d6d1e7f2a8f50519 Author: pastapojken <6597735+pastapojken@users.noreply.github.com> Date: Wed Nov 18 17:56:59 2020 +0100 Added new keyboard - nack (#10940) Co-authored-by: Ryan commit 58f2e0439eb372eecaa2e8e2788bb67969e95e16 Author: Jack <59737601+toastedmangoes@users.noreply.github.com> Date: Tue Nov 17 12:23:27 2020 -0700 Add VIA Keymap for boardsource/microdox (#10932) commit ddcb1794fa83e62e5e48536f4bc02ada63da411a Author: Joel Challis Date: Tue Nov 17 17:06:30 2020 +0000 Refactor to use led config - Part 1 (#10905) * Refactor to use led config * Refactor to use led config * Refactor to use led config * Refactor to use led config * Refactor to use led config commit adfd34c4512f6215a49a8f705ce408d6c82fb8cc Author: Joel Challis Date: Tue Nov 17 17:06:23 2020 +0000 Refactor to use led config - Part 2 (#10906) * Refactor to use led config * Refactor to use led config * Refactor to use led config commit 3c156e130b3e7a24166eb20bf862aaaac8ceff53 Author: Leon Anavi Date: Tue Nov 17 07:35:23 2020 +0200 [Keymap] ANAVI Macro Pad 8 fix kodi and default (#10727) Improvements and bug fixes for the keymaps kodi and default for ANAVI Macro Pad 8: - Add space to the end of string "Active layer: " for better visibility on the mini I2C OLED display for both keymaps - Replace "Main" with "Kodi" for the Kodi keymap - Add comment with reference to Kodi documentation for the available shortcuts in this keymap Signed-off-by: Leon Anavi commit 10782789bebeca61bedf98a55c2a18503c1855a0 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Tue Nov 17 14:25:53 2020 +0900 [Keymap] Update for jisplit89 (#10859) Some symbols were not as intended, so they were corrected. commit cf3b68323237832f58dad298e301a8bd4e92a57f Author: Relocks <33040807+Relocks@users.noreply.github.com> Date: Mon Nov 16 21:25:00 2020 -0800 [Keyboard] bm16s - Added Via Support (#10863) * Added Via Support and Keymap Via Specific Keymap for BM16s along with correction of the Vendor and Product ID. * Made adjustments for PR 10863 Made adjustments based on feedback from Pull request 10853 for qmk master pull request * Additional update for PR 10853 Same description as previous commit. * Update .vscode/settings.json Updating based on commit suggestion. Co-authored-by: Ryan Co-authored-by: Ryan commit a8967778d47012abe9e8eb252e6fb29f566c00cb Author: bghull <35785950+bghull@users.noreply.github.com> Date: Tue Nov 17 00:21:24 2020 -0500 [Keymap] Add user keymaps to qmk master (#10870) * Create user keymaps * Prepare user keymaps for PR Co-authored-by: bghull <35785950+BaneJammin@users.noreply.github.com> commit 503b76253891a9820ad2d21a89617654dc4414fb Author: Kosuke Adachi Date: Tue Nov 17 14:18:45 2020 +0900 Refactor the crkbd/via keymap and fix OLED bugs (#10354) * Refactor the crkbd/via keymap and fix OLED bugs * Revert "Refactor the crkbd/via keymap and fix OLED bugs" This reverts commit dc9db029fc6b077fc7600b49e920b755c522d100. * Fix OLED display bugs * Remove unused functions * Remove uncessary the key logger * Add new lines at end of file * Remove unnecesary extern for is_master * Remove extern is_master from rev1.h * Remove ssd1306 from common dir because its the legacy lib * Update default keymap based the via keymap * Remove foostan keymap because it will be legacy * Revert Remove unnecesary extern for is_master * Remove unnecessary backslashes. commit 88c09aa89232ad9581f5e2313f377443ee6dd0dc Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Mon Nov 16 21:14:59 2020 -0800 [Keyboard] Add Titan 60 (#10886) * initial commit * fix up some documentation * titan60 firmware * add supported layouts * fixup default keymap * fixup via keymap * fixup default keymap * some code cleanups commit 69bb9b7386b22bc9628a2a8128e79e17b20bc1f7 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Nov 16 19:21:52 2020 -0800 Fox Lab Time80: add Configurator layout data (#10950) commit f3394139dead525d8bb3e638497d4e2c4e4bc0a0 Author: ojthetiny <65928618+ojthetiny@users.noreply.github.com> Date: Tue Nov 17 04:12:10 2020 +0200 [Keyboard] Add Beatervan keyboard (#10939) * Added Beatervan Keyboard * added files for beatervan * Update keyboards/beatervan/beatervan.h Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/beatervan/beatervan.h Co-authored-by: ridingqwerty * Update keyboards/beatervan/info.json Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/oj/keymap.c Co-authored-by: ridingqwerty * Update keyboards/beatervan/config.h Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/beatervan/rules.mk Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/oj/keymap.c Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/oj/keymap.c Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/oj/keymap.c Co-authored-by: ridingqwerty * Update keyboards/beatervan/keymaps/oj/keymap.c Co-authored-by: ridingqwerty * Delete config.h * Delete config.h * Update keymap.c * Update beatervan.c * Update beatervan.h * Update config.h * Update keymap.c * Update keymap.c Co-authored-by: ridingqwerty commit 3e0789c961f3843f0ce4a7eb641f8db9c09fe5f8 Author: Danny Date: Mon Nov 16 19:02:43 2020 -0500 BDN9: Fix encoder direction, add 3rd encoder for Rev. 1.3 support (#10883) commit 2ffac90c99c6e7082abfabc66c3e13149c4a11e1 Author: Geoffrey BOTIN Date: Mon Nov 16 23:27:09 2020 +0100 Fix typo causing `redefined error` in keymap_french_osx (#10962) Co-authored-by: gbotin commit e6a13e0b1c543bfe15f8ae94557456c9c1a92556 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue Nov 17 07:26:44 2020 +0900 [Keymap] clean up helix:five_rows keymap (#10866) * Makes the OLED driver used by the helix:five_rows keymap switchable. * use TOP/drivers/oled/oled_driver.c `make HELIX=stdole helix:five_rows` * use helix/local_drivers/ssd1306.c `make HELIX=oled helix:five_rows` * Separated the OLED related code from keymap.c and moved it to oled_display.c. * scan rate without OLED * make HELIX=verbose,dispoff,scan helix/rev2:five_rows use Helix original code text data bss dec hex filename 18880 58 235 19173 4ae5 .build/helix_rev2_five_rows.elf matrix scan frequency: 1590 * make HELIX=verbose,dispoff,scan,sc helix/rev2:five_rows use split_common code text data bss dec hex filename 18554 40 231 18825 4989 .build/helix_rev2_five_rows.elf matrix scan frequency: 1202 * scan rate with helix/local_drivers/ssd1306.c * make HELIX=verbose,dispoff,scan,oled helix/rev2:five_rows use Helix original code text data bss dec hex filename 24048 196 342 24586 600a .build/helix_rev2_five_rows.elf matrix scan frequency: 739 * make HELIX=verbose,dispoff,scan,sc,oled helix/rev2:five_rows use split_common code text data bss dec hex filename 23750 176 338 24264 5ec8 .build/helix_rev2_five_rows.elf matrix scan frequency: 642 * scan rate with drivers/oled/oled_driver.c * make HELIX=verbose,dispoff,scan,stdole helix/rev2:five_rows use Helix original code text data bss dec hex filename 24590 210 798 25598 63fe .build/helix_rev2_five_rows.elf matrix scan frequency: 293 * make HELIX=verbose,dispoff,scan,sc,stdole helix/rev2:five_rows use split_common code text data bss dec hex filename 24290 190 794 25274 62ba .build/helix_rev2_five_rows.elf matrix scan frequency: 277 * clean up helix/rev2/keymaps/five_rows/keymap.c * update five_rows/oled_display.c * update helix/rev2/keymaps/five_rows/keymap.c: remove LAYOUT_kc() * Ported the keymap from helix/rev2:five_rows to helix/rev3_5rows:five_rows. * update five_rows/oled_display.c * add License comment commit aaea5e24b6375078b661c37ff459faafaddfd0f6 Author: Cole Helbling Date: Mon Nov 16 13:45:45 2020 -0800 [Keyboard] YMDK NP21: correct numpad layout matrix (#10874) I noticed that my KC_PPLS and KC_PENT keys weren't actually doing anything. By looking at the ortho_6x4 layout, I guessed that maybe the pins were incorrect and guessed the proper ones. Now, my numpad is fully functional. commit b337ba798e23876870f8daf415bc929c0b5382fa Author: Erovia Date: Mon Nov 16 21:09:32 2020 +0000 CLI: Udev related fixes and improvements (#10736) commit 94e94ffb5bbe61b5da4aad205016923746010b23 Author: Joel Challis Date: Mon Nov 16 03:16:42 2020 +0000 Recommend use of LED Indicator config (#10895) * Recommend use of LED Indicator config * Recommend use of LED Indicator config - update link * Update quantum/template/ps2avrgb/config.h Co-authored-by: Ryan Co-authored-by: Ryan commit cfc9a358c584e65782b2dade05d31700719a18e7 Author: jvbroek <70871975+jvbroek@users.noreply.github.com> Date: Sun Nov 15 17:43:20 2020 -0700 [Keyboard] Add "Uno" (#10579) * Add all files * Update keyboards/uno/config.h Co-authored-by: Joel Challis * Update keyboards/uno/config.h Co-authored-by: Joel Challis * Update keyboards/uno/rules.mk Co-authored-by: Joel Challis * Update keyboards/uno/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/uno/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/uno/info.json Co-authored-by: Ryan * Update keyboards/uno/readme.md Co-authored-by: Ryan * Update readme.md Co-authored-by: Joshua Broekhuijsen Co-authored-by: Joel Challis Co-authored-by: Ryan commit e4236278b5b2dd84fb32e01cab5002b4597e7d35 Author: Ikta <48316247+IktaS@users.noreply.github.com> Date: Mon Nov 16 02:40:55 2020 +0700 [Keyboard] added Pill60 to handwired/pill60 (#10798) * added to handwired pill60 * Update keyboards/handwired/pill60/config.h and all other PR suggested changes Deleted DESCRIPTION Co-authored-by: Drashna Jaelre Update keyboards/handwired/pill60/readme.md Smaller image in readme Co-authored-by: Drashna Jaelre Update keyboards/handwired/pill60/info.json Deleted key_count Co-authored-by: Ryan Update keyboards/handwired/pill60/keymaps/default/keymap.c Deleted backslash on keymap.c Co-authored-by: Ryan Update keyboards/handwired/pill60/pill60.h Deleted led.h Co-authored-by: Ryan Update keyboards/handwired/pill60/blackpill_f401/rules.mk Update stm32f401 rules.mk Co-authored-by: Ryan Update keyboards/handwired/pill60/blackpill_f411/rules.mk Update stm32f411 rules.mk Co-authored-by: Ryan Update keyboards/handwired/pill60/bluepill/rules.mk Update bluepill rules.mk Co-authored-by: Ryan Update keyboards/handwired/pill60/rules.mk Added comment on rules.mk to help ] Co-authored-by: Ryan deleted bootloader_defs.h added GPL2 + compatible license header updated keymap readme updated those that don't need common_config.h and deleted some unnecessary spaces in f411/rules.mk updated default folder in rules.mk * fix and simplify build files according to onekey example * Added GPL2+ Compatible license header commit 81a17f4270d48e5377ca07d5ed5de60a4a7d0a70 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Nov 16 04:31:23 2020 +0900 [Keyboard] add Symmetric70 keyboard prototype (#10780) * proto_symmetric70 作成中 74hc157 無しで 片手動作は、右と左でそれぞれうごいた。 * add 74HC157 support * add keymaps/default_mac * update proto_symmetric70/keymaps/default_mac/readme.md * update 74HC157 support * add keyboards/handwired/proto_symmetric70/matrix.c.patch * update keyboards/handwired/proto_symmetric70/readme.md * rename proto_symmetric70 to symmetric70_proto * Update keyboards/handwired/symmetric70_proto/config.h Co-authored-by: Drashna Jaelre * Update keyboards/handwired/symmetric70_proto/symmetric70_proto.c Co-authored-by: Drashna Jaelre * Update keyboards/handwired/symmetric70_proto/readme.md Co-authored-by: Ryan * update readme.md * update keyboards/handwired/symmetric70_proto/config.h * remove keyboards/handwired/symmetric70_proto/matrix.c.patch * Update keyboards/handwired/symmetric70_proto/matrix.c Co-authored-by: Drashna Jaelre * Update keyboards/handwired/symmetric70_proto/matrix.c Co-authored-by: Drashna Jaelre * use KC_NO, _______ Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit bb9fbd66e9cbf2099c11c474188efb23c8a1b7fa Author: Nathan Friend Date: Sun Nov 15 13:57:34 2020 -0500 [Keymap] Add nfriend's ErgoDox EZ keymap (#10545) commit 5edce6ba26b474ca53f0bf10bfdb4d8f50de43aa Author: Naoki Katahira Date: Mon Nov 16 02:36:05 2020 +0900 [Keyboard] Add Lily58 via keymap (#10178) * Add Lily58 VIA keymap * Update keyboards/lily58/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/lily58/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/lily58/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/lily58/keymaps/via/rules.mk Co-authored-by: Ryan * update via keymap * fix keymap.c * add licence to keymap.c Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 91b44016f9eb18d9d597708b2ff9d66b4da530cb Author: Philip (Han) Suh <36554396+phlopsuh@users.noreply.github.com> Date: Sat Nov 14 22:17:16 2020 -0800 ZTBoards Updated keymap and updated info.json (#10926) * Updated information on info.json and hopefully de-cluttered branch * Updated default encoder settings * Updated info.json for after to be in the proper order * Fixed maintainer name commit 45e16fd54319423221277d6199be7757bdaf7a9a Author: Josh Hinnebusch Date: Sat Nov 14 22:23:58 2020 -0500 [Keyboard] h660s by hineybush (#10221) * add h660s * add via support to h660s * update readme * Update keyboards/hineybush/h660s/keymaps/via/readme.md * Update keyboards/hineybush/h660s/keymaps/via/keymap.c * Update keyboards/hineybush/h660s/keymaps/via/keymap.c * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/keymaps/default/keymap.c * Update keyboards/hineybush/h660s/keymaps/default/keymap.c * Update keyboards/hineybush/h660s/keymaps/via/keymap.c * Update keyboards/hineybush/h660s/keymaps/via/keymap.c * Update keyboards/hineybush/h660s/readme.md * Update keyboards/hineybush/h660s/readme.md * Update keyboards/hineybush/h660s/keymaps/default/keymap.c * Update keyboards/hineybush/h660s/keymaps/default/keymap.c * Update keyboards/hineybush/h660s/info.json * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h * Update keyboards/hineybush/h660s/h660s.h commit a7afaa36a1ed7749b7374106ff0ddab2a3a221b5 Author: Lukas Alexandre Date: Sat Nov 14 23:33:51 2020 +0100 [Keyboard] Time 80 TKL by Fox Lab (#10851) * Porting Time 80 TKL * Update keyboards/foxlab/key65/hotswap/readme.md * Update keyboards/foxlab/time80/rules.mk * Update keyboards/foxlab/time80/config.h * Update keyboards/foxlab/time80/readme.md * Update keyboards/foxlab/time80/readme.md * Update keyboards/foxlab/time80/config.h * Use LAYOUT_all * Fixing placement of shortcuts commit d7c1b890f18418248658d48c9eac5df37091a1f2 Author: gooberpsycho <64438496+gooberpsycho@users.noreply.github.com> Date: Sat Nov 14 01:23:22 2020 -0500 [Keyboard] Southpaw66 by rpiguy9907 (#10782) * added Keyboard Southpaw66 * Housekeeping, shorten urls * Housekeeping * Row matrix pins were flipped, fixed * housekeeping, extraneous punctuation * bug-fixing * bug-fixing * Layout macro fixed * Layout macro fixed again * Update and rename Southpaw66,c to southpaw66.c * Rename Southpaw66.h to southpaw66.h * Update config.h * Update info.json * Change Southpaw66 to southpaw66 made change to case in all instances in code except where critical, such as in url's. * Rename parent folder from Southpaw66 to southpaw66 * Rename parent folder from Southpaw66 to southpaw66 * Update info.json * Update keyboards/rpiguy9907/Southpaw66/readme.md updated image url to point to lower resolution image. * Update config.h re-capitalized Southpaw66 in product name. * Rename Southpaw66 parent folder to southpaw66 * Rename parent folder from Southpaw66 to southpaw66 * rename parent folder from Southpaw66 to southpaw66 * rename parent folder from Southpaw66 to southpaw66 * Rename parent folder from Southpaw66 to southpaw66 * rename parent folder from Southpaw66 to southpaw66 * rename parent folder from Southpaw66 to southpaw66 * Update keyboards/rpiguy9907/southpaw66/readme.md * Update keyboards/rpiguy9907/southpaw66/config.h commit 0dee334bcee1307130fb8d5d17c37f374afb4059 Author: Sergey Vlasov Date: Thu Nov 12 12:00:35 2020 +0300 handwired/onekey/blackpill_f401: Fix I2C pin config mismatch (#10322) By default the `i2c_master` driver for ChibiOS uses the B6 pin for `I2C1_SCL` and the B7 pin for `I2C1_SDA`. However, the ChibiOS board file used for the F401 Blackpill board (`ST_STM32F401C_DISCOVERY`) configures B6 as `I2C1_SCL` and B9 as `I2C1_SDA`, and if that configuration is left unchanged, enabling the `i2c_master` driver results in having two pins (B7 and B9) configured as `I2C1_SDA` at the same time, which does not work properly (experimental results show that the B9 pin still works as `I2C1_SDA` in that case, and the B7 pin does not work). Configure the B9 pin as an input with pull-up in `board_init()`, so that the B7 pin can be configured as `I2C1_SDA` by the I2C driver. commit a422309354a17137c402c43f581c4e57acd510cb Author: KemoNine Date: Wed Nov 11 17:24:00 2020 -0500 Bring up Qvex Lynepad (#10826) commit 683ba8b8d4cd1e299c212bf5721634ccd3a1757f Author: Zach White Date: Tue Nov 10 07:21:59 2020 -0800 Improve the QMK Lint workflow (#10909) * properly set the exit_code * handle the case where exit_code is greater than 255 commit aae3b35c0fc363e4a9246e774b714a7a1ef7b6c0 Author: Joel Challis Date: Tue Nov 10 15:00:40 2020 +0000 CI: Add docs build and deploy workflow (#7448) * Add docs build and deploy workflow * Remove old travis docs workflow * update to cli command * Tidy up for review * formatting * Update to pass style checks * Update lib/python/qmk/cli/docs.py Co-Authored-By: skullydazed * Review comments - build->generate, use of verbose * Add docs * Update to match recent actions * Run within base_container * Convert cli to generate-docs * Convert cli to generate-docs - restore old file * Convert cli to generate-docs * Update docs Co-authored-by: skullydazed commit abf1902ff597e77e910c0fb9a8d132b46f78317b Author: Legonut Date: Tue Nov 10 01:22:22 2020 -0500 [Keyboard] RGBKB Pan (#9587) * Add new keyboard Pan Encoder switches still need work * New keyboard Pan Should be complete * Split MCU selection into 2 revision folders * [rgbkb/pan] Make requested changes for PR Additionally, set DEFAULT_FOLDER to rev1, and default rev1 to atmega32a (as all shipped kits include an atmega32a) * Apply suggestions from code review * Fix default keymap typo * add usb max power define * Commit suggested changes * Update keyboards/rgbkb/pan/config.h * Apply suggestions from code review Small copyright updates * Apply suggestions from code review commit aa90cf1da895aaa280cc19068037c74de644bd27 Author: Ole Westendorff Date: Mon Nov 9 21:26:16 2020 -0800 XD68: add 65_ansi_split_bs layout (#10835) * XD68: add 65_ansi_split_bs layuout * change number of keys in info.json * Apply suggestions from code review commit 7595f538562437fa6d13ede5be7a5a4b5d582c6b Author: yfuku <30647434+yfuku@users.noreply.github.com> Date: Tue Nov 10 14:07:12 2020 +0900 refactor SPLIT_KEYBOARD, OLED_DRIVER_ENABLE (#10405) commit 8af767cb1d36222a4d0ec8286d346d4896e923d4 Author: chent7 <34766434+chent7@users.noreply.github.com> Date: Tue Nov 10 13:06:55 2020 +0800 [Keyboard] Crazy Keyboard 68 (#10693) * Entry and readme for crazy keyboard 68 * Defined layout in keyboard.h * Basic setup done * Working config, keymaps, rgb confirmed. Caps lock led untested * Update readme.md Image links * Update config.h * Update crazy_keyboard_68.c #include "quantum.h" * Match PR * Update keyboards/crazy_keyboard_68/crazy_keyboard_68.c * Update keyboards/crazy_keyboard_68/keymaps/default/keymap.c * Update keyboards/crazy_keyboard_68/keymaps/default/keymap.c * Update keyboards/crazy_keyboard_68/info.json * Update keyboards/crazy_keyboard_68/crazy_keyboard_68.h * Update keyboards/crazy_keyboard_68/rules.mk * Update keyboards/crazy_keyboard_68/rules.mk * Update keyboards/crazy_keyboard_68/config.h commit a9f65b760a49744b13d822ab359876a52779bd9e Author: rupa Date: Tue Nov 10 00:04:46 2020 -0500 userspace and keymap changes for rupa (#10489) * userspace and keymap changes for rupa * remove layout wrappers and blocker rows from wrappers handle this in keymaps for now commit 53f11668a3399ff1bdf82902a7717832831219bf Author: Garret G <45295190+The-Royal@users.noreply.github.com> Date: Mon Nov 9 23:03:12 2020 -0600 [Keyboard] kingly_keys/ave (#10042) * Add configurator support for "The Ave." keyboard * Update readme.md * update misc nomenclature * add punctuation * fix miss-placed "0" * update README.md * del. duplicate "F11" in visual layout information * Split PCB configurations into subfolders * update layer template to new matrix title * rm primary .c / .h files * add new end line to both .h subfolder fiels * Apply suggestions from code review * tested update to RGB code * update rgb code * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update rules.mk * Update rules.mk * Delete rules.mk * Delete rules.mk * Update rules.mk * Update config.h * Update config.h * Update keymap.c * Update ortho.c * Update ortho.h * Update config.h * Update keymap.c * Update staggered.c * Update staggered.h * Apply suggestions from code review * Update config.h * Update keymap.c * move and duplicate rules.mk file * Update keyboards/kingly_keys/ave/readme.md * Update config.h * Update keyboards/kingly_keys/ave/config.h commit 2ef68a84b68875b189bee58d1fb554ebb62f8e58 Author: elijahblake81 Date: Mon Nov 9 22:57:43 2020 -0600 Added color wheel that have QMK HSV values. (#8997) I've converted the 360 color wheel to the 255 color wheel for QMK HSV values. commit 489bee0ee451e6cf87465ad75c2d9f6640048c3f Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Tue Nov 10 05:33:15 2020 +0100 [Docs] redirect from /tutorial to /newbs (#10718) * Added redirect from /tutorial to /newbs * Fixed indentation * Changed title of tutorial page commit ed8d1d1ae75ae30c19c3133aa8bea96e3cd54f10 Author: Nate Stein Date: Mon Nov 9 16:30:31 2020 -0800 Add VIA Keymap for Worldspawn Gothic70. (#10617) * Add VIA Keymap for Worldspawn Gothic70. * Prevent LEDs from turning on at startup. * Add license header to keymap. * Fix Keymap Formatting. commit f38a3b7408e38f6467a2eb9160791f584b46d39e Author: Yan-Fa Li Date: Mon Nov 9 14:44:22 2020 -0800 [Keymap] little foot (#7305) * Personal keymap - fix quoting in description fix issue with userspace disabling audio wip Update keyboards/kingly_keys/little_foot/keymaps/yanfali/rules.mk Co-authored-by: Ryan * Update keyboards/kingly_keys/little_foot/config.h Co-authored-by: Nick Brassel Co-authored-by: Yan-Fa Li Co-authored-by: Ryan Co-authored-by: Nick Brassel commit 16fe4b8b77c2eee7fb1598063d2903086bd03ca4 Author: Chris Merrill Date: Mon Nov 9 16:33:40 2020 -0500 Update massdrop/alt and arm_atsam/led_matrix to fix #10813 (#10818) * Update massdrop/alt keyboard to fix Caps Lock LED flickering. * Fix Caps-lock LED during underglow-only for massdrop/ctrl * Update keyboards/massdrop/ctrl/keymaps/default/keymap.c commit 84ca67f1583ec1cc3689bd92a602bd8fdc6ad2a6 Author: Jordan Egstad Date: Mon Nov 9 11:54:15 2020 -0800 [Keymap] idobo:egstad (#10783) * feat: new keymapping for idobo * fix: added licenses. converted int to uint8_t where applicable * fix: addressed zvecr stylistic enhancements * fix: replaced rgblight_sethsv with rgblight_sethsv_noeeprom commit cb80b59e9343c014389d56317e93f4de71d07a9a Author: SeungheonOh Date: Mon Nov 9 13:11:04 2020 -0600 Adding few Korean translated files (#5895) * Korean Translation Korean Translation * Korean translation * more Korean translations commit 95bbd799a4f86dac37fdf2354e008d2fed7f6660 Author: yiancar Date: Mon Nov 9 18:39:25 2020 +0000 [Keyboard] Keebwerk MEGA Initial commit (#10777) * Initial commit - Add Keebwerk Mega pcb - Update wilba rgb code * Update keyboards/keebwerk/mega/ansi/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/keebwerk/mega/ansi/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/keebwerk/mega/ansi/rules.mk Co-authored-by: Ryan * Update keyboards/keebwerk/mega/ansi/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/keebwerk/mega/ansi/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/keebwerk/mega/ansi/ansi.c Co-authored-by: Ryan * Update keyboards/keebwerk/mega/ansi/ansi.c Co-authored-by: Ryan * Update keyboards/keebwerk/mega/ansi/ansi.c Co-authored-by: Ryan * Update keyboards/keebwerk/mega/ansi/ansi.c Co-authored-by: Ryan Co-authored-by: Ryan commit 1ff5ee255fadcd6bfc4defb68ef097d67ebd40ad Author: Joel Challis Date: Sun Nov 8 22:31:16 2020 +0000 Indicator LEDs as config (#10816) * First pass * Add config options to docs * Update some wording * Slight tidy up of backlight caps logic * Init pin to correct state * Move init location * Reverse default state commit 9cd3ffa5ba1187c0bc11b613078d89b503dcf419 Author: kb-elmo Date: Sun Nov 8 10:07:53 2020 +0100 add missing physical layout options and VIA support for Sesame (#10471) * add missing physical layout options and VIA support for Sesame * Apply suggestions from code review * make split rshift standard again commit ff7f70314eb2b005124b9f365a5a64ea6b5d32dd Author: Drashna Jaelre Date: Sat Nov 7 21:35:21 2020 -0800 [Keyboard] Fix unused variables in mschwingen modelm (#10811) Specifically, the lgreen variable isn't used, and avr-gcc 8.x complains about this. To prevent it from being an issue, just set all of these led variables to be unused. commit db829c9453af7b7de802fad844b56358dce594df Author: TJ Date: Sat Nov 7 22:04:32 2020 -0600 Add big spacebar defaults to Underscore33 (#10731) * add big spacebar default * add rev1 big space * add big spacebar default * add rev1 big space * Fixed copyright statements Removed unused RGBRST keycode and bootmagic swaps commit bd1c048a76e0ba84513caf1d59573dc55618c99a Author: Zach White Date: Sat Nov 7 11:36:47 2020 -0800 Add qmk info -l to show the layouts too (#10882) commit 4d33d72975f2d63c7b6ff6fd4aa7e0f4c4347583 Author: Zach White Date: Sat Nov 7 09:56:08 2020 -0800 New command: qmk lint (#10761) * Basic qmk lint command * check for keymap readme * change the workflow from qmk info to qmk lint * add a strict mode * parsing -> parse * document qmk lint * small info logging cleanup * Apply suggestions from code review Co-authored-by: Ryan * honor --strict in more places * change the job name to lint Co-authored-by: Ryan commit 7ce5402417b0332569bf48cf2c51e412cd35a18a Author: Joe Wasson Date: Fri Nov 6 17:16:22 2020 -0800 Updates to Talljoe's Keymaps (#10115) * Minor Tweak * Refactor spacebar defines. * Add TMO50 layout * Rename Atreus keymap. * Refactor Atreus for readability. * Eliminate tapdance quote and tweak maltroff. * Factor out tapdance. * Add some fancy combos and keys. * Remove combos for now because they cause pain. * WIP visualizer * Alternate method for reset * WIP2 visualizer * Layer text tweak. * Add made-up layout Nortron as a combination of Norman and Maltron. * Add backspace. * Add Talljoe keymap to Prime E. * Fix double-colon so it doesn't press enter if shift is released early. * Use new make command. * Bring some modern standards into code and add licenses. * Remove QMK_KEYBOARD_CONFIG_H and fixup QMK_KEYBOARD_H. * Move from `biton32` to `get_highest_layer`. * Remove PREVENT_STUCK_MODIFIERS * Update keyboards/thevankeyboards/minivan/keymaps/talljoe-minivan/config.h commit b5ebdf1b3a29119e1a414aaf7e2cf7a583853430 Author: Jonathan Rascher Date: Fri Nov 6 00:41:06 2020 -0600 [Keymap] bcat keymaps and userspace (#10705) Add Eco keymap, factor Crkbd keymap to community layout, other minor tweaks * Remove outdated Crkbd Ctrl key positioning info * Add Left Alt key to Lily58 keymap * Lily58 no longer overrides default TAPPING_TERM * Refactor Crkbd keymap to use new community layout * Fix underglow animations for Crkbd w/ Split Common * Add initial Eco keymap * Update outdated reference to Crkbd layout * Add keymap links to userspace readme * Add copyright notices to files changed in this PR commit d7c90d805f414198a44d1b714363721df38950d6 Author: yulei Date: Fri Nov 6 13:36:04 2020 +0800 add dp60 indicator mode (#8801) * add dp60 indicator mode * update according to #7720 * added license header and move the ws2812 codes to a seperate c file * fixed conflict with master commit 5f2c4349543e06821d3c0b724f36e12767a04e54 Author: kaylanm <1063516+kaylanm@users.noreply.github.com> Date: Thu Nov 5 23:58:00 2020 -0500 E85 backlight & LED indicator updates (#10678) * Enable in-switch backlight on e85 for VIA keymaps. Update LED indicator code for e85 hotswap/soldered PCBs. commit f2eb080aa280ccbab9c9ed624afef2c1765d8e74 Author: X-Bows Tech <41098278+XBowsTech@users.noreply.github.com> Date: Fri Nov 6 03:58:46 2020 +0800 Add support for 4 IS31FL3731 devices (#10860) This is a simple change.Support for IS31FL3731 has been changed from 2 to 4. commit f12dcb0659918657d35dc599e69f1aec43a22e97 Author: Brandon Schlack Date: Wed Nov 4 21:55:03 2020 -0800 [Keymap] add brandonschlack userspace and keymaps (#10411) commit 262a60733483a38ed998b6dc6495f748ba6b71b0 Author: Endemoniada Date: Wed Nov 4 22:49:49 2020 +0100 [Keymap] add ai03/polaris:mekberg (#10508) * Add keymap for Polaris * Change back to KC_NUBS for <> key * Add GPL header from default files * Change to new way of flashing in readme commit 7ef98e7f6164afd1d825a6ce8efa20560927fcc9 Author: Ryan Date: Thu Nov 5 06:18:47 2020 +1100 CLI: Add `qmk clean` (#10785) commit d46fa2274cac7d1dad2e6c684d3fabf729efaa2e Author: katawajojo Date: Tue Nov 3 16:39:12 2020 -0800 Adds support for XD84 Pro (#9750) Co-authored-by: Ryan Co-authored-by: katawajojo Co-authored-by: katawajojo commit e024147ce5871a39a13ce5485c7afed03eabff5c Author: Ryan Date: Wed Nov 4 10:39:11 2020 +1100 Freyr refactor (#10833) commit c60cafae419f8fe409f9cdb3274bbf6d02973f7c Author: Ryan Date: Tue Nov 3 11:55:22 2020 +1100 KC60 refactor (#10834) commit 38162af5a70ced55f74019b75ed1e2f1e03ff62e Author: Drashna Jaelre Date: Mon Nov 2 16:17:05 2020 -0800 [Keyboard] Fixes for PloopyCo mouse and readmes (#10841) commit e680af98d2347222ba41b5affc941e6682e0ce34 Author: kaylanm <1063516+kaylanm@users.noreply.github.com> Date: Mon Nov 2 16:23:05 2020 -0500 Enable extrakeys, mousekeys for all VIA keymaps. (#10740) commit 4ba0cb7ebc7607ba235f34c32a66ccde880ca4a0 Author: Reibl János Dániel Date: Mon Nov 2 22:20:22 2020 +0100 Add OLED support for Riblee F411 (#10778) * Add OLED support for Riblee F422 * Fix typo commit 4b839db3841f001f78291373b2b6c3eca34582ed Author: yiancar Date: Mon Nov 2 19:09:48 2020 +0000 NK65 eeprom compatibility with 128KB and 256KB (#10804) * NK65 define hack for 128kb 256kb versions of F303 * Updated to chibios define commit e041ec1655f49ce756a2949a367f8ae7c92a9635 Author: ai03 Date: Mon Nov 2 22:45:02 2020 +0900 Add support for Noxary Vulcan (#10822) Co-authored-by: Ryan Co-authored-by: ai03 commit 75201c73a0db37e80d67b45089d868a35ce5a8d9 Author: Frothy Date: Mon Nov 2 09:35:38 2020 -0400 Enable media keys support for Canoe VIA keymap (#10829) commit 8e71d3d053949593d02a3c1852fd1993d2e3f573 Author: Ryan Date: Mon Nov 2 20:23:54 2020 +1100 Phantom refactor (#10805) commit e69da2db2c59a8017f0c9dee9933dd508d22b356 Author: Ryan Date: Mon Nov 2 19:41:01 2020 +1100 `qmk info`: Add `--ascii` flag (#10793) * `qmk info`: Add `--ascii` flag * Fix typo * Force ASCII for Windows/MSYS2 * Make it gooder * Remove redundant windows check * ...And this too * Make pytest work on Windows commit dc40f00aafeea148d8998c594c4e414d87ee84a3 Author: Rich Saunders <65662806+richard-saunders@users.noreply.github.com> Date: Sun Nov 1 18:25:50 2020 -0700 [Keymap] Corrected the dvorak layout for kinesis advantage (#10808) commit c1481629fd882fcda2bbdbf236e93066eb68f89f Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Mon Nov 2 00:44:38 2020 +0000 [Keyboard] Fix keyboard matrix scan rate with F072 (#10226) * fix matrix scan rate * Update trinityxttkl.c * Update rev2.c commit 83eecdce223901fcc52accfc9286943bf734cc25 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Nov 1 12:42:50 2020 -0800 [Keyboard] nullbitsco/nibble Configurator rework (#10814) * nullbitsco/nibble: rework LAYOUT_all ... and update via keymap accordingly. * compress info.json LAYOUT_all tree Only changes the white space. * rebuild info.json LAYOUT_all tree Note: this commit makes the visual layout the ANSI layout with a split left Shift, instead of being the same as the ISO layout. * unify code styles Make logically-unchanged code blocks similar in appearance to logically-changed blocks. * correct LAYOUT_iso key sequence Move ISO Enter's object to its proper place. commit 780b7722fbb72e86395a729cc06d57492f0f1b38 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Nov 1 11:50:23 2020 -0800 [Keyboard] VIA Support: Exent 65% (#10797) * exent VIA support * minor cleanups * Update keyboards/exent/config.h Co-authored-by: Ryan * Update keyboards/exent/config.h Co-authored-by: Ryan Co-authored-by: Ryan commit 86ac56cd7f4ade5de9d56c7e886c4d6ec531f4de Author: KnoblesseOblige <63174954+KnoblesseOblige@users.noreply.github.com> Date: Sun Nov 1 13:13:34 2020 -0600 [Keyboard] Add keebsforall/freebird60 (#10774) * Added ad/freebird60. * Moved freebird60 keyboard. Added VIA keymap. * Updated `keebsforall/freebird60` README to include image. * Update keyboards/keebsforall/freebird60/readme.md Co-authored-by: Ryan * Update keyboards/keebsforall/freebird60/readme.md Co-authored-by: Ryan Co-authored-by: Ryan commit c1e69bcef060d1e6152dda7866d00912e99fab26 Author: Ole Westendorff Date: Sun Nov 1 20:09:32 2020 +0100 add 65_ansi_split_bs to default community layouts (#10770) * add 65_ansi_split_bs to default community layouts * Update layouts/default/65_ansi_split_bs/layout.json Co-authored-by: Ryan Co-authored-by: Ryan commit 78019c3e2186910aaf939937aff1e72937d38b6f Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Sun Nov 1 10:57:30 2020 -0800 [Keyboard] add bebol keyboard (#10763) * add bebol keyboard * Change PID * Update keyboards/handwired/swiftrax/bebol/rules.mk Co-authored-by: Drashna Jaelre Co-authored-by: Swiftrax Co-authored-by: Drashna Jaelre commit 76bc23550857badaa35ae68c62875dd8b1fad0ce Author: Keys of Kings Date: Sun Nov 1 12:53:17 2020 -0600 [Keyboard] Add keysofkings folder and twokey keyboard (#10754) * Add keysofkings folder and twokey keyboard * Update readme.md * Update readme.md * Update config.h * Update config.h * Update keymap.c * Update twokey.c * Update twokey.h * Update keyboards/keysofkings/twokey/config.h Co-authored-by: Ryan * Update keyboards/keysofkings/twokey/readme.md Co-authored-by: Ryan * Update keyboards/keysofkings/twokey/rules.mk Co-authored-by: Ryan * Update keyboards/keysofkings/twokey/rules.mk Co-authored-by: Ryan * Update keyboards/keysofkings/twokey/readme.md Co-authored-by: Ryan * Update info.json * Update keymap.c * Update keyboards/keysofkings/twokey/info.json Co-authored-by: Ryan Co-authored-by: Ryan commit fed9c97ddbd714c3a6981cfeb4534f286b969079 Author: Xyverz Date: Sun Nov 1 10:50:12 2020 -0800 [Keymap] Added layout for my Keyboardio Atreus (#10726) * Adding Evan Travers' Keyboardio Atreus branch. Initial commit of my KeyboardIO Atreus layout. This is a direct copy of my default Atreus layout, with blank spaces for the two additional keys. * Added MACLOCK macro to keymap.c * Updates to Keyboardio Atreus keymap and readme. * Adding arrows to bottom row of RAISE and LOWER layers * bringing the rest of the master branch to my working branch. * Changes to my KeyboardIO Atreus keymap & readme * Changes to keymap. * Adding Evan Travers' Keyboardio Atreus branch. Initial commit of my KeyboardIO Atreus layout. This is a direct copy of my default Atreus layout, with blank spaces for the two additional keys. * Added MACLOCK macro to keymap.c * Updates to Keyboardio Atreus keymap and readme. * Adding arrows to bottom row of RAISE and LOWER layers * bringing the rest of the master branch to my working branch. * Changes to my KeyboardIO Atreus keymap & readme * Changes to keymap. * Added GPL2+ compatible license header. Co-authored-by: Ian Sterling <503326@MC02YT9K9LVCF.tld> commit 9f0dbc21a3bcb815877e321c974c55c5320605c6 Author: Seth Date: Sun Nov 1 12:46:00 2020 -0600 [Keyboard] beta support for the Rocketboard-16 macro/num pad (#10688) * Firmware initial commit, still has a few bugs - mainly rotary encoders do not work and needs cleaning up * Fixed the volume control issue and limited the RGB brightness (can be really bright), added the ability to switch LED mode with left encoder click, and added via support (untested) * Remove define that should go in config.h * Removed define that should be in config.h * Removed LTO_ENABLE as suggested - has issues on ARM Co-authored-by: Drashna Jaelre * Added the correct define for OLED screen size * Applied suggested change to remove description Co-authored-by: Ryan * Made suggested change to remove backslashes Co-authored-by: Ryan * Suggested change made to rgblight Co-authored-by: Ryan * Suggested change made to rgblight Co-authored-by: Ryan * Suggested change made to remove backslashes Co-authored-by: Ryan * Suggested change made to rgblight Co-authored-by: Ryan * Update keyboards/rocketboard_16/rocketboard_16.c Co-authored-by: Ryan * Added suggested comments Co-authored-by: Ryan * Made suggested changes to rules file Co-authored-by: Ryan * Added suggested change to rgblight Co-authored-by: Ryan * Added info.json for QMK configurator * Update readme.md * This change makes the firmware work... through magic... seriously, no idea - but it works! * Updated dimming step, OLED functionality, and rules for formatting - Changed the dimming step size for smoother dimming with the reduced range - Added lots of OLED functionality - QMK logo and title at top, num/caps/scroll lock status, and backlight brightness level - Updated the rules.mk file to comply more closely with the formatting guidelines * Fixed tab issues Co-authored-by: Ryan * Updated to use bootmagic lite with the key that usually turns rgb on/off Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit c731432765c17a159fd83f859a148c861769fd35 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Mon Nov 2 02:38:08 2020 +0800 [Keyboard] Fix IIC stall bug (#10700) * Add Z70Ultra which is a Hotsawp RGB 65% keyboard * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/readme.md Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: Ryan * Update readme.md * Update info.json update the name of layout to consistent the keyboard. * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: Ryan * Add Z70Ultra * Support Z70Ultra [Modified] info.json to support two different layouts [Add] rules.mk to support default folder * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/config.h Co-authored-by: Ryan * remove excessive arguments from LAYOUT_split_space * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Use macro replace with the literal for CS & SW * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Drashna Jaelre * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Drashna Jaelre * [Keyboard] MJ61 Add license header for files and the link for readme * Update keyboards/melgeek/mj61/readme.md Co-authored-by: Ryan * Update keyboards/melgeek/mj61/rev1/config.h Co-authored-by: Ryan * Update keyboards/melgeek/mj61/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Ryan * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Ryan * Add GPL for files * Update keymaps/default/keymap.c * Update keymaps/via/keymap.c * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * [Fixed] remove this code cause it's useless. Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit f450bdbb41575e8162f41776f9fb8b2be7ab6f85 Author: nopunin10did Date: Sun Nov 1 13:21:09 2020 -0500 [Keyboard] Add The Railroad (rev 0) (#10474) * Add The Railroad keyboard, rev 0 * Update keyboards/nopunin10did/railroad/config.h Co-authored-by: ridingqwerty * Update keyboards/nopunin10did/railroad/config.h Co-authored-by: ridingqwerty * Update config.h * Update keyboards/nopunin10did/railroad/rules.mk Co-authored-by: ridingqwerty * Update keyboards/nopunin10did/railroad/config.h Co-authored-by: ridingqwerty * Update keyboards/nopunin10did/railroad/keymaps/nopunin10did/keymap.c Co-authored-by: ridingqwerty * Update keyboards/nopunin10did/railroad/keymaps/nopunin10did/keymap.c Co-authored-by: ridingqwerty * Update keyboards/nopunin10did/railroad/keymaps/nopunin10did/keymap.c Co-authored-by: ridingqwerty * Update keyboards/nopunin10did/railroad/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/nopunin10did/railroad/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/nopunin10did/railroad/rules.mk Co-authored-by: ridingqwerty * Update rules.mk * Update config.h * Update keymap.c * Update keyboards/nopunin10did/railroad/railroad.h Co-authored-by: ridingqwerty * Update railroad.h * Update keyboards/nopunin10did/railroad/railroad.c Co-authored-by: ridingqwerty * Update keyboards/nopunin10did/railroad/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/nopunin10did/railroad/rules.mk Co-authored-by: Joel Challis * Update keyboards/nopunin10did/railroad/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/nopunin10did/railroad/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Updates from peer review to correct render * Update keyboards/nopunin10did/railroad/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/nopunin10did/railroad/readme.md Co-authored-by: Ryan * Update keyboards/nopunin10did/railroad/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Relocate most files inside rev0 Co-authored-by: ridingqwerty Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 4fa1924bd7bb0d527dc66573ab48c620e011a87f Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Sat Oct 31 17:13:06 2020 -0700 add beegboy keyboard (#10762) * add layout macro * add beegboy keymaps * fix matrix pins * Change PID * Update keyboards/handwired/swiftrax/beegboy/config.h Co-authored-by: Ryan Co-authored-by: Swiftrax Co-authored-by: Ryan commit 7b33897b974222e9d36032f1630455bf542dee7e Author: Joel Challis Date: Sat Oct 31 22:50:53 2020 +0000 protect against those who develop with their fork on master (#10815) commit d705918f50b257cc12e13567fd22a64db1087705 Author: Ryan Date: Sun Nov 1 06:56:08 2020 +1100 Efreet refactor (#10806) commit a3f1defcd40f2d53b01ace2f520ff7901a44c714 Author: Drashna Jaelre Date: Sat Oct 31 05:15:26 2020 -0700 [Keyboard] Fix function references IDB 60 (#10810) Co-authored-by: Ryan Co-authored-by: Thorben <34752364+itspngu@users.noreply.github.com> commit fb579aae49fac9326600d5719ee9cc07463857cc Author: Ryan Date: Sat Oct 31 00:29:19 2020 +1100 Fix `implicit declaration of function 'get_host_led_state'` (#10803) commit 67654e4a82fad91640371473e3e2da3a9bf7e68a Author: Ryan Date: Sat Oct 31 00:14:13 2020 +1100 DK60 refactor (#10791) commit 952a4c83127d7a545bbc6b5a59caaf54ef55c1fb Author: Ryan Date: Fri Oct 30 22:06:47 2020 +1100 Hnah108 refactor (#10787) Co-authored-by: Drashna Jaelre commit b9ea10a80df1f3114d7218576ac28a63c3736acb Author: Ryan Date: Fri Oct 30 19:32:24 2020 +1100 YMD75 rev3: fix swapped backslash and enter (#10801) commit 4e72224aa304829f93b10d3c9c5868675beeeb0b Author: Jay Greco Date: Thu Oct 29 01:29:31 2020 -0700 [Keyboard] Adding info.json files for NIBBLE 65% keyboard (#10769) commit 1bfec6ddd974c570d087ba93f0e811e281f817b6 Author: Leon Anavi Date: Thu Oct 29 10:28:13 2020 +0200 [Keymap] Add KiCad keymap for ANAVI Macro Pad 8 (#10766) KiCad is a cross platform, free and open source electronics design automation (EDA) suite. It was used to create ANAVI Macro Pad 8. This keymap contains 2 layers for KiCad hotkeys and a 3rd layer for controlling the backlighting and the underlighting. - Layer for KiCad Schematic hotkeys: m - to move selected component r - to rotate selected component w - to wire components v - to edit component value F1 - zoom in F2 - zoom out F4 - zoom center - Layer for KiCad PCB layout hotkets: m - to move selected component r - to rotate selected component x - to route a new track v - to add a via F1 - zoom in F2 - zoom out F4 - zoom center Signed-off-by: Leon Anavi commit db9204c7e1d1da9ba041aa34a50e92083d5726e9 Author: Benjamin Grosse Date: Thu Oct 29 09:26:15 2020 +0100 [Keymap] add an autoclicker to my plaid keymap (#10743) commit 27b80468670d5895a8ccb2d9603ffae325fe900a Merge: 359aff6c49 329eb4b8df Author: Drashna Jaelre Date: Thu Oct 29 01:22:34 2020 -0700 [Keymap] Add OBS keymap for ANAVI Macro Pad 8 (#10742) OBS keymap for ANAVI Macro Pad 8 with the following shortcuts: - Shortcuts useful for switching scenes on the 1st row: Hold Left Control, Shift, Alt and GUI and press F9 Hold Left Control, Shift, Alt and GUI and press F10 Hold Left Control, Shift, Alt and GUI and press F11 Hold Left Control, Shift, Alt and GUI and press F12 - Center to screen: Ctrl+D - Fit to screen: Ctrl+F - Move source to top of sources list: Ctrl+Home Signed-off-by: Leon Anavi commit 359aff6c4980b6b387a1f11f7b252fe1cb4b1697 Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Thu Oct 29 02:22:26 2020 -0600 Roadster Edit (#10784) commit 36f4f1e9b819dccf4efda6d88b0c086768ddbd63 Author: Harshit Goel Date: Thu Oct 29 13:46:51 2020 +0530 [Keyboard] Redox via support added (#10710) * add via config for Redox OG * Fix name typo * clean up via file and move to via pull * fix typo in readme, align config.h properly commit f487b726cd31f51f652f0c498e9767118faeff10 Author: Alby Barber Date: Thu Oct 29 04:15:38 2020 -0400 [Keyboard] Adding Little Alby the Arduino Keyboard (#10713) * Adding little Alby keyboard * Adding readme and expanding programs * Updating readme * adding spirit guide * changes based on review * Updating config name and readme * Update keyboards/littlealby/mute/rules.mk Update tabbing Co-authored-by: Ryan * Update keyboards/littlealby/mute/rules.mk Remove other boards Co-authored-by: Ryan * Changes based on review * Update keyboards/littlealby/mute/config.h Co-authored-by: Ryan * Update keyboards/littlealby/mute/rules.mk Co-authored-by: Ryan * Update keyboards/littlealby/readme.md Co-authored-by: Ryan * Update keyboards/littlealby/readme.md Co-authored-by: Ryan * Update keyboards/littlealby/mute/config.h Co-authored-by: Ryan * Adding unique vendor and Product IDs * Update keyboards/littlealby/mute/config.h Co-authored-by: Ryan * 0x4D55 = MU * Adding default map Co-authored-by: Alby Barber Co-authored-by: Ryan commit 5cecc1ea1ec8df3b74d01f96336dee2c2f5c6f4e Author: Ryan Date: Thu Oct 29 18:12:50 2020 +1100 Add brightness level API to OLED driver (#10772) * Add brightness level API to OLED driver * Set default brightness to 255 commit b9ed9d33d3b57627e919e771f62ff1cbecf0c8d4 Author: bintobean Date: Thu Oct 29 00:00:38 2020 -0700 [Keyboard] Add via keymap to E6.5 (#10771) * Added basic via keymap * Added via keymaps and changed config Product and Vendor ID * Update keyboards/exclusive/e65/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/exclusive/e65/config.h Co-authored-by: Ryan * Refactored via/keymap.c to use LAYOUT_all * Refactored e65.h to remove nested matrix layouts * Previous commit missed LAYOUT_65_ansi_blocker. Fixed Co-authored-by: Ryan commit 2ac0927fd722f339e75185639999ef11a96273a8 Author: kaylanm <1063516+kaylanm@users.noreply.github.com> Date: Thu Oct 29 02:53:27 2020 -0400 [Keyboard] Add via keymap for percent booster (#10768) commit 9dad914841e1e2d3731f4eb5560b65f59c61e021 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Oct 28 23:20:45 2020 -0700 xelus/kangaroo: fix info.json layout macro reference (#10765) commit 50481ce7edd5c8062ba454e233dc681c90e891c3 Author: Adrian Date: Thu Oct 29 06:35:37 2020 +0100 [Keyboard] Added polilla keyboard (squashed) (#10686) commit 74a2edd903081ddb3c0e752d7aa0694806a2b1e1 Author: Cameron Moon Date: Thu Oct 29 14:35:11 2020 +1100 docs(massdrop alt/ctrl): update link to loader releases (#10781) * docs(massdrop alt): update link to loader releases Update the link to the Massdrop Loader releases page to point to the releases index rather than release 0.0.1 * docs(massdrop ctrl): update link to loader releases commit 805e13a6d01e633a194ac1732fc9c1117d3dccb4 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Oct 28 18:45:10 2020 -0700 [Keyboard] KBDfans Bella Soldered tidy-up (#10753) * KBDfans Bella Soldered: add readme * add image to readme * tidy-up Configurator layout data Key positioning was not true to the assembled board. * reduce readme redundancy commit fcd55e2f047e5433889036b37b4703f86251dca6 Author: Yasha Mostofi Date: Wed Oct 28 20:04:47 2020 -0500 [Keyboard] Add Via support for TG4x (#10571) * Update vendor ID * New default layout with RESET mapped * Add Via keymap * Update README * Update keyboards/tg4x/keymaps/via/rules.mk Co-authored-by: Ryan * Update keyboards/tg4x/config.h Co-authored-by: Ryan * Delete config.h * Update keyboards/tg4x/keymaps/default/keymap.c Co-authored-by: Ryan Co-authored-by: Ryan commit 868540978440954471a675b64f7ea7ff8e41f43a Author: Angel Rojas <66912190+rojasa1990@users.noreply.github.com> Date: Wed Oct 28 19:45:36 2020 -0300 GEN ONE Eclipse_65 keyboard addition (#10669) * Add files via upload * Add files via upload * Add files via upload * Update config.h * Update rules.mk * Update config.h * Update config.h * Update config.h * Update config.h * Add files via upload * Removing duplicate files * Resolve VID and PID collisions as requested Taken the 0xFEED for vendor ID as suggested in vendor documentation and an available PID * add a GPL2+ compatible license header as requested Added the GPL2+ header to keymap.c file * Update keyboards/genone/eclipse_65/config.h Co-authored-by: Ryan * Update keyboards/genone/eclipse_65/readme.md Co-authored-by: Ryan * Update keyboards/genone/eclipse_65/eclipse_65.c Co-authored-by: Ryan * Update keyboards/genone/eclipse_65/rules.mk Co-authored-by: Ryan * Update keyboards/genone/eclipse_65/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/genone/eclipse_65/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/genone/eclipse_65/eclipse_65.h Co-authored-by: Ryan * Corrected items on rules.mk as suggested Thanks for the comment I removed suggested items, corrected some spacing issues, and added suggested items. * Deleted genone_main.c file Thanks for the comment. Deleted genone_main.c file as requested Co-authored-by: Ryan commit 1d85fe176a12c31c959865fa78f340e090fff587 Author: Ryan Date: Thu Oct 29 06:14:11 2020 +1100 VN66 refactor (#10776) commit a42e3ba2cb4a3520ed7e7691288694f3795321c4 Author: Ryan Date: Thu Oct 29 06:13:52 2020 +1100 Stella refactor (#10775) commit c745cbb77a66a44549ee1ab3b1998c495c1a1ca5 Author: Guillaume Gérard <1322081+GreatWizard@users.noreply.github.com> Date: Wed Oct 28 18:20:06 2020 +0100 [Keymap] greatwizard userspace and ortho 4x12 and 5x12 keymaps (#9584) commit 6b1ae7e6aa7180b00759b5692d2ea5bd0303c566 Author: Zach White Date: Tue Oct 27 10:40:33 2020 -0700 add rsync to the api update process commit a602ef75fba2a7c6df932d049d9f89856bafe6c1 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Tue Oct 27 13:35:38 2020 -0400 [Keyboard] Add Projectkb/alice/rev2 LAYOUT_alice support (#10697) * my alice community layout * add LAYOUT_alice support to projectkb/alice/rev2 * add addition BSPC key to default layout * add define to support LAYOUT_default commit 1ba93875bac62721828fdf9741a27259cfc764ab Author: Reibl János Dániel Date: Tue Oct 27 15:39:51 2020 +0100 [Keyboard] Add handwired F411 (#10504) Co-authored-by: Janos Daniel Reibl commit 33074bcbadbafa3a359efda5a45a9412e4eca7d2 Author: Drashna Jaelre Date: Mon Oct 26 23:09:11 2020 -0700 [Keyboard] Bug fixes and improvements to PloopyCo devices (#10573) Co-authored-by: Ryan commit 555b1640b26fa09ea5f6b5bc7ea07dc654a326f9 Author: Ryan Date: Tue Oct 27 10:56:34 2020 +1100 Add layout: 65_iso_blocker_split_bs (#10733) * Add layout: 65_iso_blocker_split_bs * Add layout to readme commit f149c07d68c3819e26198f8d4f97857de3a1c78e Author: Sergey Vlasov Date: Tue Oct 27 02:40:59 2020 +0300 Fix KEYBOARD_SHARED_EP incompatibility with VIA (#9930) The `KEYBOARD_SHARED_EP=yes` option was breaking the VIA support, because the raw HID interface number in this case was 0 instead of 1, and the VIA app depends on the exact interface number for raw HID. Change the interface ordering to put the shared interface before the raw HID interface if `KEYBOARD_SHARED_EP` is enabled, so that the raw HID interface can keep its number. commit 2c92ee1f56b92b15403b2f070c827162db37c9ba Author: Ryan Date: Tue Oct 27 06:14:56 2020 +1100 Allow modified keycodes in Unicode input (#10658) commit 0c42f91f4ccf98a37f055afb777ed491da56335e Author: Zach White Date: Sun Oct 25 14:48:44 2020 -0700 Generate api data on each push (#10609) * add new qmk generate-api command, to generate a complete set of API data. * Generate api data and push it to the keyboard repo * fix typo * Apply suggestions from code review Co-authored-by: Joel Challis * fixup api workflow * remove file-changes-action * use a more mainstream github action * fix yaml error * Apply suggestions from code review Co-authored-by: Erovia * more uniform date handling * make flake8 happy * Update lib/python/qmk/decorators.py Co-authored-by: Erovia Co-authored-by: Joel Challis Co-authored-by: Erovia commit 8ef82c466e73e555fd74107d4c57e678d7152ecc Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Oct 25 11:07:02 2020 -0700 manta60: update Configurator layout data (#10756) commit ad86894ae7d5fbb7aed697d9f576cd186bfd1c9c Author: Erovia Date: Sun Oct 25 15:23:42 2020 +0000 Rename keyboard-level readmes to lower-case (#10759) This is the recommendation in the [PR Checklist](https://docs.qmk.fm/#/pr_checklist?id=keyboard-prs) and it will make working with them easier in the CLI/API/etc. commit af455a8368dc564df51f9657b04932956ccf580b Author: Filip Paryż Date: Sun Oct 25 01:54:38 2020 +0200 [Keyboard] Freoduo - handwired split ortho keyboard. (#10724) * Freoduo v1 - with fixes from @fauxpark and rebased to master branch of QMK. * One more suggested fix from @fauxpark * Fixes after @drashna review. commit ac37a94e49a39a014b3df829442cca84bf3f2071 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Oct 24 16:07:30 2020 -0700 emajesty/eiri: fix info.json key sequence (#10751) * emajesty/eiri: info.json debug linting * fix info.json key sequence commit 24ae9232e2656e5d8ebf32cbdfba22bc42946876 Author: Blake Date: Sat Oct 24 20:28:34 2020 +0100 draytronics/scarlet: add website and key labels to info.json (#10747) * Correctly name keyboard in info.json * Added website and layout key labels to info.json commit 14cb662280852f6cd4d84dae9e46c00fdd971ef4 Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Sat Oct 24 12:17:07 2020 -0600 [keyboard] Add Roadster support (#10698) * Roadster * Update keyboards/clawsome/roadster/rules.mk Co-authored-by: Ryan * Update keyboards/clawsome/roadster/config.h Co-authored-by: Ryan Co-authored-by: Ryan commit 3d183ed7a0af937279eea5f981be505f0d13dc07 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Oct 24 05:09:28 2020 -0700 draytronics/scarlet: fix info.json data (#10746) commit 4e30f4d102da9ec617cb4a119d7913aee2379f74 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Oct 24 05:07:10 2020 -0700 doodboard/duckboard: fix info.json data (#10745) commit 329eb4b8dff35cfa8ff148ea8ecd3237d3793856 Author: Leon Anavi Date: Sat Oct 24 10:00:33 2020 +0300 [Keymap] Add OBS keymap for ANAVI Macro Pad 8 OBS keymap for ANAVI Macro Pad 8 with the following shortcuts: - Shortcuts useful for switching scenes on the 1st row: Hold Left Control, Shift, Alt and GUI and press F9 Hold Left Control, Shift, Alt and GUI and press F10 Hold Left Control, Shift, Alt and GUI and press F11 Hold Left Control, Shift, Alt and GUI and press F12 - Center to screen: Ctrl+D - Fit to screen: Ctrl+F - Move source to top of sources list: Ctrl+Home Signed-off-by: Leon Anavi commit bf92957ff276eb6b4f225bc68d254dbbe97965bc Author: Joel Challis Date: Sat Oct 24 01:29:17 2020 +0100 Add additional auto labeler rules (#10704) * Auto label all the things * Makefiles are core changes * Add label to submodule changes commit 33bd17a68a281db6e497b6e4679d208d0b0dad70 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Fri Oct 23 20:11:52 2020 -0400 [Keymap] my alice community layout (#10696) commit 7daad08a9140024921d887a33c344eb2e7af393d Author: Benjamin Grosse Date: Sat Oct 24 02:10:45 2020 +0200 [Keymap] plaid keymap with custm LED animation (#10701) commit d689f76110ee20e45d6531eac31bf72461ed504b Author: Anne Demey Date: Fri Oct 23 17:14:17 2020 -0500 [Keyboard] Add Terrazzo Keyboard (#10408) * Ciao Terrazzo! * Keymap updates * Adding info json Cleaning up keymap files Readme updates with template * Coding style updates * Removing vscode files * PR feedback updates * biton32 -> get_highest_layer update Adding license headers commit 5d2deaca069834843bacb5769787c907bdd6bf15 Author: Alabahuy Date: Sat Oct 24 04:58:54 2020 +0700 [Keyboard] add via support and fix info.json for rartlice (#10690) * Update info.json * Create keymap.c * Create config.h * Create rules.mk * Update keymap.c * Update keymap.c commit 8e7517aebcfbb438857aae50e4b8f5da0227a654 Author: Fidel Coria <1coriaF@gmail.com> Date: Fri Oct 23 16:31:24 2020 -0500 [Keyboard] Add pteron44 keyboard (#10708) * Add pteron44 * Apply suggestions from code review Co-authored-by: Ryan * Apply suggestions from code review part 2 Co-authored-by: Ryan Co-authored-by: Ryan commit b5f425b2759283b55a3d4bc1178d82be9304b530 Author: null-ll <55067100+null-ll@users.noreply.github.com> Date: Fri Oct 23 16:18:55 2020 -0500 [Keyboard] add Basketweave keyboard (#10729) * add basketweave keyboard * Fixed missing key in info.json layout * Update keyboards/basketweave/rules.mk Co-authored-by: Ryan * Update keyboards/basketweave/readme.md Co-authored-by: Ryan Co-authored-by: Ryan commit 47ce1a9ed055da1460388693fb519af298d1aadd Author: kb-elmo Date: Fri Oct 23 23:12:03 2020 +0200 [Keyboard] make Canoe Gen2 indicator configurable (#10722) commit 85f344db49022ba196b4d77719652389f42cfdf8 Author: Leon Anavi Date: Sat Oct 24 00:11:17 2020 +0300 [Keymap] Add Zoom keymap for ANAVI Macro Pad 8 (#10715) Zoom keymap for ANAVI Macro Pad 8 with the following shortcuts: * Alt+V: Start/stop video * Alt+A: Mute/unmute my audio * Alt+M: Mute/unmute audio for everyone except the host * Alt+S: Start/stop screen sharing * Alt+R: Start/stop local recording * Alt+P: Pause/resume recording * Alt+C: Start/stop cloud recording * Switch to 2nd layout to control backlighting and underlighting Signed-off-by: Leon Anavi commit 225af5d16146b1ddb1b531c555ae07a620b2f2e2 Author: coarse Date: Sat Oct 24 05:10:04 2020 +0800 [Keyboard] Add Cordillera PCB (#10711) * Add initial Cordillera config * Update readme * Update info.json layouts * Update preview image Co-authored-by: Drashna Jaelre * Remove extra rules Co-authored-by: Ryan * Update bootmagic rule Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 870cc373653ac392660d020c91cd98cdd07424e7 Author: Ryan Date: Sat Oct 24 07:03:06 2020 +1100 Fix two `qmk info` complaints (#10737) * Fix two `qmk info` complaints * Oops commit 9093f877a2f7b23576cbd03140acf2904d2a1c92 Author: Drashna Jaelre Date: Fri Oct 23 02:13:14 2020 -0700 [Keyboard] Fix Moonlander indicator LEDs during sleep (#10683) commit 5e9c078c7846d93b67e1c94a24b4c50781d739f2 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Fri Oct 23 07:08:17 2020 +0000 [Core] IS31FL3731/36/37 bug fix (#10612) * 3731 bug fix * bug fixes commit fe50bee9884f4d6117d6951ca4f2814fccf1eaf5 Author: André Silva <123550+andresilva@users.noreply.github.com> Date: Fri Oct 23 07:50:05 2020 +0100 Update shell.nix (#10712) * nix-shell: update nixpkgs reference * nix-shell: add missing python dependency commit 999326acc81687794e25ad7731f37da59881e0ca Author: Jay Greco Date: Thu Oct 22 23:47:14 2020 -0700 Add nullbits nibble (#9250) * Add NIBBLE keyboard * Update VID for VIA compatibility * Add QMK PR feedback * Update matrix_init_remote_kb() * Update with requested changes Clean up config, makefile rules, and keymap files * Update with changes for unified ANSI/ISO layout * Add NO_USB_STARTUP_CHECK note in readme * Add license info, update with PR changes -Refactor encoder, via_extras code -Refactor VIA specific code to live in keymap folder -Remove non-inclusive naming in remote keyboard.c/h -Add documentation to remote_keyboard.c -Add compiler check for vusb_detect for non-avr micros * Fix print formatter in encoder handler Co-authored-by: Nick Brassel * Small PR updates -Remove unneded matrix code from nibble.c -Clean up include code in nibble_encoder.h * Update Big LED headerfile -Declare Big LED functions in header file (derp) * Update keyboards/nullbitsco/nibble/nibble.c -Update with drashna's suggested CAPS LED code change Co-authored-by: Drashna Jaelre * Update keyboards/nullbitsco/nibble/rules.mk -Update with drasha's suggested makefile formatting changes Co-authored-by: Drashna Jaelre * Fix caps_lock typo Co-authored-by: Nick Brassel Co-authored-by: Drashna Jaelre commit 8cbaea9e8d00b959ccb1b474fa8a81417b651de2 Author: KgOfHedgehogs Date: Fri Oct 23 05:16:33 2020 +0200 [Keyboard] Fix jian backlight related ifdefs (#10679) * Add jian backlight enabled ifdefs * Fix adavnced layout LAYOUT_dips usage commit e7d8ccdbb2c14af9cf37be680af1d8633729b65a Author: Mika Kuitunen Date: Fri Oct 23 06:08:56 2020 +0300 [Keyboard] Add support for Tunks Ergo33 keyboard (#10665) * [Keyboard] Add support for Tunks Ergo33 * [Keyboard] Ergo33: Code style fixes * [Keyboard] Ergo33: Add GPL license headers * [Keyboard] Ergo33: remove keymap_config declarations * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit c45d7e526c9c5315c3fe2e831b01778c51b7a953 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Fri Oct 23 10:06:50 2020 +0700 Add Cospad VIA support (#10642) * Add Cospad VIA support * Update keymap.c commit f078980fb17ff5b9c11583427c66e13116972fd2 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Fri Oct 23 09:55:32 2020 +0700 [Keyboard] Add infinity88 PCB, add VIA support for Kanu (#10531) * add infinity88 PCB * Update rules.mk * Update info.json * Add VIA support Kanu PCB * Update keyboards/mechlovin/infinity88/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit 619eb0071e36b5b724b713f2b785978f0e1b1e28 Author: Draevin Date: Thu Oct 22 19:46:46 2020 -0700 [Keymap] Add Draevin userspace and maps (#10581) * Initial userspace * DZ60 map * Quefrency map * Sinc map * Set up MAKE key for all personal maps * Light userspace cleanup * Formatting and comments zzz... * Licensing and userspace README * Swap: EXTRAFLAGS -> LTO_ENABLE in userspace rules.mk Co-authored-by: Ryan * Improve KC_MAKE: KC_ENT -> \n Co-authored-by: Ryan * Swap left grouping on _FN for pairs * Add '?' -> backslash on _FN * Remove commented code * Organize lines in rules.mk * Add left hand scroll keys * Move configs to config.h * License blitz Co-authored-by: Ryan commit 2b9b267e8ee1a49c448b5f0f5b9fd634bd6c4489 Author: Ryan Date: Fri Oct 23 12:21:56 2020 +1100 Fix RGB matrix for ATmegaxxU2 (#10723) commit f9bd9d3b269ef0e1be9189b2395350e2062fe4d0 Author: Ryan Date: Fri Oct 23 12:21:32 2020 +1100 c2json: Fix TypeError on MSYS2 (#10709) commit 168ce1a743a905ae4a77309277b250d84dd70392 Author: Félix Sanz Date: Thu Oct 22 19:42:34 2020 +0200 Update keymap_spanish_dvorak.h (#10213) Co-authored-by: Ryan commit 120c42255baecb664ae813d58aa3010760f97795 Author: Adrian Date: Thu Oct 22 12:05:01 2020 +0200 Added EEPROM emulation for STM32F042x6 series processors (#10685) * Added STM32F042x6 support for EEPROM emulation * Default to lower stack size on STM32F042 * Moved stack setting * Re-moved stack definition * Removed unnecessary check commit f9853433c140700ce6bfbfba7517e1e0620789d4 Author: csc027 Date: Thu Oct 22 09:12:55 2020 +0000 csc027/keymap-updates (#10250) commit caf61a19c64e4ee8ae213690a6f9d65a8dbe7241 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Oct 21 15:52:56 2020 -0700 GH60 v1.3: update default keymap (#10703) commit ca6a3e0832160c996efe416ab24b7debabf25937 Author: Ramon Imbao Date: Wed Oct 21 17:04:39 2020 +0800 Add the Mona keyboard (#10702) commit 4b2da8daf4da000ae09df083d4fd5da656cab504 Author: Joel Challis Date: Tue Oct 20 14:01:53 2020 +0100 Update PR labeler to use pull_request_target (#10695) * Update labeler to use pull_request_target * Add back whitespace * Add CI label commit c3ce06c2e7f383c7239558bcebb1c5cbec0725cf Author: Ryan Date: Tue Oct 20 04:36:18 2020 +1100 Fix CLI warning for Massdrop udev rule (#10691) commit 9f1f43bb8620cc8fe6715019c3dc58cd4f79cf17 Author: M-AS Date: Sun Oct 18 19:30:24 2020 -0400 [Keymap] Updated personal Massdrop CTRL keymap (#10649) * initial port of keymap to latest qmk version * forgot to add space cadet shift, fixed * corrected colors and added color macros * added custom rgb matrix effects * enabled extrakey * updated readme * Added GPL3 License Headers * Added images to readme * clang-format * Apply suggestions from code review Co-authored-by: Ryan * renamed README.md to readme.md Co-authored-by: Ryan commit c4d87f307385ba61b4a3ac3f5f6e596105b0bf07 Author: AnthonyL Date: Sun Oct 18 18:16:42 2020 -0500 [Keyboard] Add IDOBAO ID87 (#10577) * Add IDOBAO ID87. * Layout changes. * Updated rules.mk * Implemented capslock led. * Updated readme to new version. * Fixed the info.info.json for the new layout. * Updated RGB number config.h. * Update rules.mk to try and line up nicely. * Fix via keymap.keymap.c * Fix all the auto-created labels. * Update keymaps again. * Add additional RGB commands. * Update keyboards/id87/info.json Format update. Co-authored-by: Ryan * Update keyboards/id87/readme.md Remove quotations. Co-authored-by: Ryan * Update keyboards/id87/readme.md Change Flash to Flashing Co-authored-by: Ryan * Update keyboards/id87/rules.mk Alignment Fix Co-authored-by: Ryan * Update keyboards/id87/info.json Remove qmk_converter link meta. Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 8bb2eeaabb6d79e774c6aae6c651857ce2e380dc Author: Casey Webster Date: Sun Oct 18 15:55:38 2020 -0500 [Keymap] add cwebster2 userspace and keymaps (#10541) * Adding my keymap * Add a starter keymap for kyria * Updated keymap * Add auto shift, tapping modifications and gravatar oled bitmap * Add flashing helper scripts * Updates to my keymap * Enable raw hid and rgblight sleep * Cleanup * Updated keymap and board features * Remove some RGB modes for space * Start working on a miryoku-like keymap. This adds homerow mods to my keymap on the base layer and adds a game layer that doesnt have them * more work on keymaps * Fine tuning home row mods * update keymap * Keymap update * add split transport * keymap * cherry pick from develop * merge develop * fix * keymap iterations * Refactoring * continued refactoring * messing with rgb * update layer coloring * continued refactoring * more features * modifier color * Move stuff to userspace * Moving stuff out to userspace * refactoring into userspace * More refactoring * Fixing some errors in the keymap and changing the oled output * Sync zen1 keymap to my userspace config * Update copyright notices and revert transport.c to master * Swap tab and esc * Remove a file accidentally created * Use LTO_ENABLE to turn on Link_Time_Optimization * Drop modtap thumbs on game layout * Update game keymap * More iteration on the game keymap * Add oled indications of kitty and i3 mod * Promote colemak to default * Update tapping term for modtap keys * Add per key tapping term * Use left modifiers on right side commit c492dd791243b98a119fbf29c9b041d14238b102 Author: GG <72414103+spbgzh@users.noreply.github.com> Date: Sun Oct 18 23:52:03 2020 +0300 [Keyboard] Add support for ikki68 (#10576) * ikki68 from wuquestudio * NEW ikki68 * Add support for ikki68 * Update readme.md Co-authored-by: root commit 7622678bd0cf5710df81a2f5d58096c8869ed86d Author: Jack Humbert Date: Sun Oct 18 16:51:15 2020 -0400 [Keymap] Adds Jack's 4x12 grid keymap (#10586) * add jack's planck keymap * move to community layouts * add image to readme * fix imgae * fix image for real * Update layouts/community/ortho_4x12/jackhumbert/config.h Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 0728a6b7530c956494f4c026da917d4705724173 Author: mexsistor <68937128+mexsistor@users.noreply.github.com> Date: Sun Oct 18 15:45:47 2020 -0500 [Keyboard] Add mexsistor/ludmila (#10506) * Add files via upload * Update keyboards/mexsistor/ludmila/config.h Co-authored-by: Drashna Jaelre * Update keyboards/mexsistor/ludmila/ludmila.h Co-authored-by: Drashna Jaelre * Update ludmila.h * Update keymap.c Disable unnecessary code * Update rules.mk * Update matrix.c * Update keyboards/mexsistor/ludmila/rules.mk Co-authored-by: Ryan * Update keymap.c * Update keyboards/mexsistor/ludmila/readme.md Co-authored-by: Ryan * Update keymap.c * Update keymap.c * Update ludmila.h * Update keyboards/mexsistor/ludmila/readme.md Co-authored-by: Ryan * Update keyboards/mexsistor/ludmila/rules.mk Co-authored-by: Ryan * Update keyboards/mexsistor/ludmila/rules.mk Co-authored-by: Ryan * Update keyboards/mexsistor/ludmila/rules.mk Co-authored-by: Ryan * Update keyboards/mexsistor/ludmila/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/mexsistor/ludmila/readme.md Co-authored-by: Ryan * Add files via upload * Add files via upload * Delete config.h * Delete * Update readme.md * Update readme.md * Delete tapdance timing * Delete matrix.c * Create matrix.c * Deleted ludmila, add ludmila_v1 * Update readme.md * add ludmila * delete ludmila_v1, create ludmila * Create matrix.c * Change in matrix.c code and sustitute yes/lite custom_matrix in rules.mk * Update keymap.c * Add description; Change on RGB PIN * Revert "Add description; Change on RGB PIN" This reverts commit cfbe5349259446f49e8885e995d9cac1b77dac01. * config.h and rules.mk update * Update keyboards/mexsistor/ludmila/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mexsistor/ludmila/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mexsistor/ludmila/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: U-MEXSISTOR\Macropads Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit e468380be62f11f8edb93eb4eb440ae7b50cb00f Author: Alabahuy Date: Mon Oct 19 03:41:53 2020 +0700 [Keyboard] add rartlice (#10495) * Create bootloader_defs.h * Create chconf.h * Create config.h * Create halconf.h * Create info.json * Create mcuconf.h * Create rartlice.c * Create rartlice.h * Create readme.md * Update readme.md * Create rules.mk * Create keymap.c * Update config.h * Update rules.mk * Update config.h * Update keymap.c * Update rules.mk * Delete bootloader_defs.h * Update rules.mk commit 84566256552d23fee04c65dd0345fbfbc4df0741 Author: Joel Challis Date: Sun Oct 18 20:40:37 2020 +0100 Initial auto PR labeler config (#9814) * Initial auto PR labeler config * Update .github/labeler.yml Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update since develop merged Co-authored-by: Nick Brassel Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel commit 6ad813e811bd1889f8e45afcb671b118ebf5f51d Author: npspears <40127181+npspears@users.noreply.github.com> Date: Sun Oct 18 13:07:22 2020 -0500 [Keyboard] Plexus75 (#10668) * Added Plexus75 PCB * Update keyboards/plexus75/readme.md * Update keyboards/plexus75/rules.mk * Update config.h * Update config.h * Update keyboards/plexus75/readme.md * Update keyboards/plexus75/rules.mk * Update keyboards/plexus75/config.h * Update keyboards/plexus75/readme.md * Update keyboards/plexus75/info.json * Update keyboards/plexus75/info.json * Update keyboards/plexus75/info.json * Added License Header * Update plexus75.h added license header commit 4d22bc9de004f40b41287cc54adbc0b64f755f78 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Mon Oct 19 02:05:01 2020 +0800 [Keyboard] Melgeek Mojo75 (#10426) * [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard * Update keyboards/melgeek/mj61/mj61.c * Update keyboards/melgeek/mj61/mj61.c * [Keyboard] MJ61 Add license header for files and the link for readme * Update keyboards/melgeek/mj61/readme.md * Update keyboards/melgeek/mj61/rev1/config.h * Update keyboards/melgeek/mj61/rev1/rules.mk * Update keyboards/melgeek/mj61/mj61.c * Update keyboards/melgeek/mj61/mj61.c * [Keyboard] Support MoJo75 which is a 75% Hotswap RGB keyboard * Update melgeek/mojo75 vid and pid Add melgeek/mojo75/rev1/rev1.c * Update MelGeek mojo75 VIA layout commit d49dcdd667cc5e154a5c42a5be7e0f3391c8401c Author: yiancar Date: Sun Oct 18 14:37:33 2020 +0100 Nebula12 RGBLIGHT buffer workaround (#10555) * Work around for rgblight buffer * Update config.h * Prettify * Clip led range commit f952d4f7b779474918453b7ec3ccccdcfbd63b58 Author: Cmdr. Emily <68452184+cmdremily@users.noreply.github.com> Date: Sun Oct 18 09:37:02 2020 +0200 Support OpenDeck 32 keyboard (#10305) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 8be058d55d2a50065294bac8e63020dbedae3f36 Author: Dylan Straw Date: Sun Oct 18 18:36:43 2020 +1100 Enabled the use of VIA for KPRepublic BM40 (#10677) Co-authored-by: Ryan commit 40e694ea0d9f4d5e56907c643280b024f0bdc139 Author: Drashna Jaelre Date: Sat Oct 17 21:46:47 2020 -0700 Add last breaking changes log to sidebar (#10680) Co-authored-by: Ryan commit 445cd95d1779709673857c36b752afa6327afff1 Author: Zach White Date: Sat Oct 17 21:01:11 2020 -0700 Improve ANSI support and --no-color (#10537) * Improve ANSI support and --no-color * tweak when levelname gets stripped of ansi * sync with latest milc * make questions work with both milc versions * pyformat commit 7d5ba88e6f88979c017bf27e2ad0f4c7d912f9ec Author: Morten Linderud Date: Sat Oct 17 21:30:18 2020 +0200 50-qmk.rules: Move udev rules from documentation into a file (#10664) This makes it overall easier to package for downstream distributions instead of keeping tabs with inline documentation. Signed-off-by: Morten Linderud commit 704934c427af1cc2176fa7c82773e86d89cbfa3c Author: Pierre Chevalier Date: Sat Oct 17 20:20:34 2020 +0100 Ferris reorganization (#10564) * Add my own keymap * Layer 0: Workman * Layer 1: RSTHD (my own take on it) * Layer 2: Mouse * Layer 3: Navigation * Layer 4: Symbols right * Layer 5: Symbols left * Layer 6: Fn keys * Layer 7: Numbers * Layer 8: Vim and misceallaneaous accessible from any other layer * Move the current code to a 0.1 folder in preparation for upcoming changes Version 0.2 is currently being prototyped and uses an arm chip which will need its own firmware. There is also the Ferris sweep which uses a pro-micro compatible board which will need its own directory. * Move Ferris out of handwired and into the light The keyboard is now well out of the prototype phase as tens of them have been produced and acquired by various people. With 0.2 coming out, adoption is going to increase again as the board will be available for sale at some recognized vendors. Now is probably a good time to recognize its status as more than a prototype :) * Add code for the Ferris Sweep (a.k.a cradio) The Ferris Sweep is a creation of the talented @davidphilipbarr, a.k.a DPB. It has the key layout of a Ferris and uses a pro-micro connected to the switches via direct pins so that diodes are not needed and the soldering is minimal. With their blessing, I took the code for it from DPB's own repo: https://github.com/davidphilipbarr/36keys/tree/master/qmk/cradio and did some adaptations such as removing commented out code, enabling EE_HANDS and mouse keys for consistency with my existing Ferris code. * Fix indentation in rules.mk * Fix indentation in sweep's config * Remove unnecessary lines from sweep's rules.mk * Remove unnecessary lines from sweep's rules.mk * Rename 0.1 to 0_1 This avoids the dot looking like the separation between a filename and its extension. In the same commit, bring matrix.c to the 0_1 folder as this was needed for the code to compile properly (matrix.c is referred to in the readme under `0_1` and is specific to that revision of the firmware). * Update copyright statements for Sweep commit 47ea522e79f2b7bcc2804c309f2b94e029824eb9 Author: dezli <29718605+dezlidezlidezli@users.noreply.github.com> Date: Sun Oct 18 03:16:28 2020 +0800 [Keymap] Add miniMACRO5 User Keymaps (#10595) * add kabraxcis keymap this is a user keymap for a member of my group-buy. this is the creation commit * add voaraq keymap this is a user keymap for a member of my group-buy * update kabraxcis keymap * add licenses commit f663ba5ed098ae95c0357be48dfc5381622752be Author: Sendy YK Date: Sun Oct 18 02:14:02 2020 +0700 mrsendyyk Keymap Cleanup (#10539) * Cleanup * Update info.json * Update license notice * Fix license notice * Update keymap.c * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Add RGB Light Mode Static Gradient 26 * Update commit de0153f339a1be8436211bec59f389cedb7b755e Author: Sönke Hahn Date: Sat Oct 17 15:09:03 2020 -0400 [Keymap] moonlander:shahn-neo (#10667) * basic keys working * more stuff * more stuff * empty upper layers * more stuff * cleanup * more stuff * add the letter 'j' * add '0' to layer 4 * implement umlauts and eszett with menu key as compose key * add comment * renamed layout * change copyright notice * add separate readme file commit 3633330e1ade1eaf84ddd621f38a6b771eaafad3 Author: yulei Date: Sun Oct 18 03:05:21 2020 +0800 Fix iNETT Studio SQUARE.X overcurrent issue (#10660) commit 855dd2d218ba875f1fb7bddfbce8bd260e96184e Author: Drashna Jaelre Date: Sat Oct 17 11:46:57 2020 -0700 [Keymap] Drashna Code Cleanup (#10656) * Add Launchpad keymap Note: RGB and Audio won't work when using B pins for audio * Add support for rgb matrix on launchpad * Update config for launchpag * Disable wait on layer change * Update config for ErgoDox EZ * Fixup rgb light userspace code * Move Corne layout to community layouts folder * Update config for corne to support community layouts * Add license header to files * Minor cleanup of userspace config * Update Pimironi Trackball code * Increase debounce time on ergodox * Fix keymap handling * Enable wait for USB for moonlander * Update/add license headers * fix review issues commit aa1c1c386543a38d47331d17c414f81c8e11cb29 Author: Ramon Imbao Date: Sun Oct 18 02:40:30 2020 +0800 [Keyboard] AELITH (#10652) * Add AELITH keyboard * Add AELITH keyboard * Update keyboards/ramonimbao/aelith/rules.mk * Update keyboards/ramonimbao/aelith/config.h * Update keyboards/ramonimbao/aelith/keymaps/via/rules.mk * Update keyboards/ramonimbao/aelith/readme.md * Update keyboards/ramonimbao/aelith/readme.md * Update keyboards/ramonimbao/aelith/config.h * Update keyboards/ramonimbao/aelith/config.h * Change layouts based on suggestions * Add LAYOUT_alice macro commit de68d294ec6fdae37e41f515407f324bcc4611ae Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Oct 17 09:50:32 2020 -0700 [Docs] add "Adding Default Keymaps to QMK Configurator" doc (#10049) commit f0a1ab5488425857987e94c883fd13cc661a92a8 Author: Ryan Date: Sun Oct 18 02:45:21 2020 +1100 MSYS and WSL installation improvements (#10593) commit 1a2a838bc204d0b287366d9518b0d222cbb33049 Author: Ryan Date: Sun Oct 18 02:44:38 2020 +1100 [CLI] Remove check for Input Club boards (#10636) commit 67474f7e3fa51ad25dad7c2772093fc134967538 Author: Blake Date: Sat Oct 17 11:58:51 2020 +0100 [Keyboard] Draytronics Scarlet (#10655) * Initial test version of Scarlet keyboard * First commit of DElec Scarlet * Change to new Draytronics branding * Update to keyboard details Update to keyboard details and link to Draytronics website. * Update keyboards/draytronics/scarlet/scarlet.h * Update keyboards/draytronics/scarlet/rules.mk * Update keyboards/draytronics/scarlet/readme.md * Update keyboards/draytronics/scarlet/keymaps/default/keymap.c * Update keyboards/draytronics/scarlet/config.h * Update keymap.c * Update config.h * Update scarlet.h * Update keyboards/draytronics/scarlet/config.h * Update keyboards/draytronics/scarlet/config.h * Update keyboards/draytronics/scarlet/scarlet.h * Update keyboards/draytronics/scarlet/keymaps/default/keymap.c commit 39c473a6399325bc53744eb7ef74004cefc6f725 Author: shela Date: Sat Oct 17 19:19:06 2020 +0900 [Docs] Update feature_combo.md of Japanese document (#10671) commit f871f7a56fd954cfc4cabefd649bbcc991083806 Author: cole smith <38364556+daysgobye@users.noreply.github.com> Date: Sat Oct 17 03:17:44 2020 -0700 [Keyboard] Boardsource spooky (#10521) * added spooky keyboard t o boardsouce folder * restoring to clean start I think * added back in my files for this keyboard * Update keyboards/boardsource/holiday/spooky/config.h * Update keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c * Update keyboards/boardsource/holiday/spooky/readme.md * Update keyboards/boardsource/holiday/spooky/spooky.h * updated all keymaps to support 2x3 ortho * Apply suggestions from code review commit e0bdd511773ef25388a066e4db9a53f658f681ae Author: Reid Sox-Harris Date: Sat Oct 17 02:31:21 2020 -0700 [Keymap] add keyhive/maypad:eosti (#10663) * adds eosti/maypad keymap * remove empty function calls commit fba7d4e32f4292094934fb47943b22a70a28ce57 Author: JagdPietr Reneksson <59313824+JagdPietr@users.noreply.github.com> Date: Sat Oct 17 17:11:51 2020 +0800 Move Drakon to jagdpietr directory (#10155) * move drakon to jagdpietr directory * Updates Recommended changes implemented in this commit due to progress loss in last commit * Update vusb * Update keyboards/jagdpietr/drakon/drakon.c commit cab49809ad43abdbcf9179a73a3c2da078defcb4 Author: Danny Date: Sat Oct 17 03:38:35 2020 -0400 Add Levinson VIA support (#10631) * Add Levinson VIA keymap * Update product IDs for Levinson to embed version number * Add layer 3 access * Apply suggestions from code review commit 42696a4f8c9170f9dbf3a1ec05ca95079b7a77a9 Author: Danny Date: Sat Oct 17 03:30:26 2020 -0400 Update Nyquist VIA support and default keymap (#10632) * Update default and via keymaps * Update PID and enabled build options * Update keyboards/keebio/nyquist/keymaps/via/keymap.c * Update keyboards/keebio/nyquist/rev3/rules.mk * Update keyboards/keebio/nyquist/rev2/rules.mk commit a4dfa45f376ac9364404a15c9adfe0b6b8d0e20e Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sat Oct 17 07:18:50 2020 +0000 [Keyboard] Add Kangaroo (#10511) * roo initial * update scannign t imes * enable dma * rename kangaroo * updates * update rules.mk * keymap * fix up config * fix reamde * fix up config * update license headers * rules.mk update * info json * Update keyboards/xelus/kangaroo/rules.mk commit 616dc7dd5d1bf6e512db9a0c7f3dfcdc42fc9db1 Author: Garret G <45295190+The-Royal@users.noreply.github.com> Date: Sat Oct 17 00:19:55 2020 -0500 [Keyboard] 45-ATS (#10104) * add ats folder * fix duplicate matrix key * fix matrix issues * fix missing comma in info.json * clean up info.json * rm game layer toggle in via keymap * update via keymap rules.mk * Update info.json * clear up layout graphics * Apply suggestions from code review * Update 45_ats.c * Update 45_ats.h * Update config.h * Update config.h * Update keyboards/45_ats/keymaps/default/config.h * Update keymap.c * Update keyboards/45_ats/keymaps/default/keymap.c * Update keymap.c * Update keyboards/45_ats/keymaps/via/keymap.c * Apply suggestions from code review * Update keyboards/45_ats/config.h commit 44f9017cb8ca8bd646b5561c0b587bab476e3054 Author: Jakob Stendahl <14180120+JakobST1n@users.noreply.github.com> Date: Sat Oct 17 06:29:15 2020 +0200 Bm60rgb iso nordic keymap with sleepmode functional (#10510) * Add nordic keymap Changes from default: - Change button right of `LSHIFT` to `KC_NUBS` - Add some more keys to the second layer. * Add sleepmode functionality Added a sleepmode, this turns of the rgb_matrix if no key was pressed for x minutes. Not default on, so you have to enable it by defining `SLEEPMODE_ENABLED`. * Move all sleepmode config to config.h, rename keymap - Move all configurations for sleepmode to keymap config.h - rename keymap to include reference to it having sleepmode (suggestion from guy the discord-server) - add copyright in config.h * Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/config.h * Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c * Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c * Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c * Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c * Update keyboards/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c commit 3c4fa6800066797fd99872d1fc0909822b20bb96 Author: Harshit Goel Date: Sat Oct 17 04:31:19 2020 +0530 Make VIA config for redox_w (#10578) * Make via config for redox_w * Add missing layer function back, fixed typo and maintainer name commit cb556b7a16c3ab8aa06646c6236b887bb826f63b Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Sat Oct 17 06:18:06 2020 +0800 [Keyboard] Melgeek MJ64 (#10425) * [Keyboard] Support MJ64 which is a 60% Hotswap RGB keyboard with arrows and the size of left shift is 2.25U * Update keyboards/melgeek/mj64/mj64.h * Update keyboards/melgeek/mj64/keymaps/default/keymap.c * Update keyboards/melgeek/mj64/keymaps/via/keymap.c * Update keyboards/melgeek/mj64/keymaps/via/keymap.c * Update keyboards/melgeek/mj64/keymaps/default/keymap.c * Update keyboards/melgeek/mj64/keymaps/via/keymap.c * Update keyboards/melgeek/mj64/rev2/rules.mk * Update keyboards/melgeek/mj64/rev1/rules.mk * Update keyboards/melgeek/mj64/keymaps/via/keymap.c * Update keyboards/melgeek/mj64/info.json * Update keyboards/melgeek/mj64/info.json * Update keyboards/melgeek/mj64/rev1/config.h * Update keyboards/melgeek/mj64/rev2/config.h * Update the VID and PID in mj64/config.h add the rev1/rev1.c add the rev2/rev2.c commit 87317a3af66065c2ff350d85c7b3bbc4f8a2cb9f Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Oct 16 14:23:32 2020 -0700 [Keyboard] GH60 v1.3 (#10575) * [Keyboard] GH60 v1.3 Support * clean up info.json Update key sizes and positioning. * add readme * add image to readme * fix up info.json LAYOUT_all * add LAYOUT_60_ansi I'm guessing at this based on a photo of the PCB. Chances are high that this isn't fully functional. * add matrix block comment to v1p3.h * add default_ansi keymap * add keymap readme files * fix LAYOUT_60_ansi macro * enable 60_ansi Community Layout support * add layouts for 60_ansi_arrow Add LAYOUT_60_ansi_arrow and LAYOUT_60_ansi_arrow_split_bs macros. (The user helping me test runs the split Backspace variant.) * add Tsangan, HHKB, and 64_ansi layout macros * add factory keymaps and layout info * update copyright headers I mean... if someone's gotta "own" this code... * fix broken factory_* keymaps commit 92b7dff3aebb3583b5ca3e3862ea08d44f6f24cd Author: jotix <69703151+jotix@users.noreply.github.com> Date: Fri Oct 16 15:09:57 2020 -0300 Jotix ortho_4x12_layout (#10647) * back_to_the_roots * mouse layer is gone * mouse layer is gone commit 0dc74dd8c49dda9b9729b25d43a168dbc6d3b294 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Sat Oct 17 00:11:17 2020 +0800 [Keyboard] Add Z70Ultra - a Hotsawp RGB 65% keyboard (#9202) * Add Z70Ultra which is a Hotsawp RGB 65% keyboard * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/readme.md Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: Ryan * Update readme.md * Update info.json update the name of layout to consistent the keyboard. * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: Ryan * Add Z70Ultra * Support Z70Ultra [Modified] info.json to support two different layouts [Add] rules.mk to support default folder * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/z70ultra/config.h Co-authored-by: Ryan * remove excessive arguments from LAYOUT_split_space * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/z70ultra.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/rev1/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/z70ultra/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Use macro replace with the literal for CS & SW * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Drashna Jaelre * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Drashna Jaelre * [Keyboard] MJ61 Add license header for files and the link for readme * Update keyboards/melgeek/mj61/readme.md Co-authored-by: Ryan * Update keyboards/melgeek/mj61/rev1/config.h Co-authored-by: Ryan * Update keyboards/melgeek/mj61/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Ryan * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Ryan * Add GPL for files * Update keymaps/default/keymap.c * Update keymaps/via/keymap.c * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre * Update keyboards/melgeek/z70ultra/z70ultra.c Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 6529cbac0dabb0bb9005d18ee78fab63f370935a Author: holtenc Date: Fri Oct 16 00:41:44 2020 -0500 [Keyboard] Add Prime_E RGB PCB (#10615) * add Prime_E RGB PCB * Update keyboards/primekb/prime_e/config.h Co-authored-by: Joel Challis * Update keyboards/primekb/prime_e/std/config.h Co-authored-by: Joel Challis * Update keyboards/primekb/prime_e/config.h Co-authored-by: Joel Challis * Update keyboards/primekb/prime_e/rgb/readme.md Co-authored-by: Ryan * Update keyboards/primekb/prime_e/rgb/readme.md Co-authored-by: Ryan * Update keyboards/primekb/prime_e/rgb/rules.mk Co-authored-by: Ryan * Update keyboards/primekb/prime_e/rules.mk Co-authored-by: Ryan * Update keyboards/primekb/prime_e/std/readme.md Co-authored-by: Ryan * Update keyboards/primekb/prime_e/std/readme.md Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 139d28eaae283455c135efe71a05a1823c12fc31 Author: Andre Azzolini Date: Thu Oct 15 23:23:24 2020 -0500 [Docs] Add link to Tap-Hold Configuration Options from Mod-Tap (#10548) commit a1f129edd50f0c2e751b904db9639cea9c9314e9 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Fri Oct 16 13:22:25 2020 +0900 [Keyboard] Added via support for JISplit89 (#10547) -Changing the VID -Add a keymap via -Keymap and copyright fixes commit 73699cccbce4bf04fb2667eb7c1d037f6163986a Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Fri Oct 16 13:12:09 2020 +0900 [Keyboard] Add 7splus keyboard (#10538) * Add 7splus keyboard. A 85 keys ANSI Layout split keyboard. Salicylic-acid3 * Update keyboards/7splus/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/7splus/keymaps/salicylic/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/7splus/rules.mk Co-authored-by: Ryan * Added VIA keymap and a few updates Adding a VIA Keymap Updating the key layout diagram Copywrite added for salicylic keymap Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 229dbcc547292e474113fdcaf508a3287564e946 Author: Spaceman Date: Thu Oct 15 17:11:33 2020 -0400 Add via keymap for pancake (#10551) * Add via keymap for pancake * Add license to keymap * Update rules.mk * Update rules.mk * Update keyboards/spaceman/pancake/config.h Co-authored-by: Ryan Co-authored-by: Ryan commit c738ce2f6561d2145d04b53a5804f423acc75a3a Author: Joel Challis Date: Thu Oct 15 20:05:44 2020 +0100 Move SP-111 to vendor folder (#10633) * Move SP-111 to vendor folder * Fix space indentation commit c0b3034721f9502d6b3da82f62399b618f1523fe Author: George Mao Date: Thu Oct 15 11:23:35 2020 -0700 Add alice community layout (#10518) * Added LAYOUT_alice * Added fauxpark's suggestions as well as updating keymap graphic * Added file header and used noroadleft's fix to the info.json for fast input mode commit f90688e55060c3b4ebe797c42c483fd2d0412321 Author: Raleigh Wayland Date: Thu Oct 15 12:19:51 2020 -0600 Adding Opus keyboard (#10628) * Adding opus keyboard * Preparing keyboard for PR * Adding images to default keymap readme * Changing VENDOR_ID * Minor changes * Changing PRODUCT_ID * Removing comment * Fixing tap dance issue * #pragma once instead of #ifndef * Resolving PR suggestions * Removing ifndef * Using lower resolution image * Formatting comments * Adjusting copyright year Co-authored-by: Raleigh Wayland commit 0f453bc5f7685671e79a465e0bbd6c8c67a93409 Author: Harshit Goel Date: Thu Oct 15 23:41:23 2020 +0530 Add VIA code to ergoTravel (#10493) * Add VIA code to ergoTravel, VendorId changed to allow via * Update LTO_ENABLE for via * Accept comments from the QMK PR discussion * Restore original rules.mk from qmk master, update via rules to remove redundant bootmagic * rules update * find and use unique VID without qmk. Used 0x4A50, did not find clash * Removed unused via layer * Reset hard to last clean commit, redo changes for Hex Translation and Enum commit 21357b658a86146f41566be8dc93900a2ca8a35f Author: Reid Sox-Harris Date: Thu Oct 15 10:41:04 2020 -0700 [keyboard] Maypad: Add additional layout (#10643) * add split plus layout * update README * rename splitPlus to split_plus * Update keyboards/keyhive/maypad/rules.mk Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 2c5ad9189cbb789353514b87109213090ce56531 Author: Reid Sox-Harris Date: Wed Oct 14 19:08:28 2020 -0700 update eosti keymaps (#10610) * adds eosti/planck keymaps * updates eosti keymaps * add header guard to bdn9 config.h Co-authored-by: Joel Challis * reduce file size of compiled firmware * move console disable to rules.mk Co-authored-by: Joel Challis commit b0dbe7365b56d181928e8fee06d03df6ba92ea62 Author: Ryan Date: Thu Oct 15 12:55:31 2020 +1100 Fix STM32duino bootloader (#10648) commit af2c50638353ce2a277392ff0ecbc10f91f92413 Author: Reid Sox-Harris Date: Wed Oct 14 18:10:15 2020 -0700 adds eosti/planck keymaps (#10616) commit 59d503e3b9fa3fe1f6c4cdb56015251732a5c1b0 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Oct 14 17:37:11 2020 -0700 [keyboard] Add Caps Lock LED Logic to exclusive/e85/soldered (#10639) * on behalf of VashtaNerada commiting his code to get caps lock led working on the soldered E8d E8.5 * Update keyboards/exclusive/e85/soldered/soldered.c Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit b63b2106d818860038821f41596b92759068a3cb Author: MakotoKurauchi Date: Thu Oct 15 05:16:17 2020 +0900 Fix config for Helix rev3 4rows (#10641) * update "Hardware Availability" * add a section of "How to build" * update "Hardware Supported" * add SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT for rev3_4rows/config.h Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com> commit a2af0a352b3351add05a487443b224a8b5d7740f Author: shela Date: Thu Oct 15 03:24:26 2020 +0900 Update other_vscode.md of Japanese document (#10604) * Update Japanese document * Fix inline code * Update docs/ja/other_vscode.md Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 6aae926b5f90f9e05e4dd022a5b94f0ab52c8614 Author: Drashna Jaelre Date: Wed Oct 14 08:23:08 2020 -0700 Fix issues with suspend code for ZSA split boards (#10640) commit 49dd1edb6961db1d5dc3850b586545eee8a21fc5 Author: gtips <51393966+gtips@users.noreply.github.com> Date: Wed Oct 14 18:50:35 2020 +0900 Update reviung34 PRODUCT_ID (#10480) * update reviung34 PRODUCT_ID commit 7437a388990c784a52a33847551591af346dd797 Author: Ryan Date: Wed Oct 14 15:06:05 2020 +1100 Whitefox refactor (#10175) commit 381884fa9be79e4538c8accc2043654b47499f44 Author: Filip Paryż Date: Wed Oct 14 04:41:34 2020 +0200 Fix for issue #10386 - Can't compile preonic:dudeofawesome (#10557) Co-authored-by: FilipParyz commit f706e1e80e579ca799644d0230c38aab893481e1 Author: shela Date: Wed Oct 14 05:09:59 2020 +0900 Update Japanese document (#10607) commit 46c77febf74e3ade637a48fd09edd3a43ae254de Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Wed Oct 14 05:08:26 2020 +0900 [Docs] Japanese translation of docs/pr_checklist.md (#10415) * japanese translation of docs/pr_checklist.md * update docs/ja/pr_checklist.md * update docs/ja/pr_checklist.md * update docs/ja/pr_checklist.md * add :id=lite to docs/ja/custom_matrix.md * add :id=... to docs/ja/custom_quantum_functions.md * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md Co-authored-by: shela * Update docs/ja/pr_checklist.md * Update docs/ja/pr_checklist.md * Update docs/ja/pr_checklist.md Co-authored-by: s-show * Update docs/ja/pr_checklist.md Co-authored-by: s-show Co-authored-by: shela Co-authored-by: s-show commit fdbf67e0da7ceaf5bffc1a4f4020065eeda6b591 Author: Taylor Walla Date: Tue Oct 13 06:46:21 2020 -0500 [Keyboard] Add Voyager60-Alps keyboard (#10516) * add voyager60_alps * add readme, add gpl headers * add info.json * include all keys in info.json * fix typo in config.h * Update keyboards/ai03/voyager60_alps/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/ai03/voyager60_alps/rules.mk Co-authored-by: Ryan * Update keyboards/ai03/voyager60_alps/readme.md Co-authored-by: Ryan * Update keyboards/ai03/voyager60_alps/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/ai03/voyager60_alps/voyager60_alps.c Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit bb35f6a6f5d1209537b80e6eedcbb730320de8a9 Author: Christian Eiden Date: Tue Oct 13 13:40:47 2020 +0200 [Keymap] Add own KBD67 MKII keymap (#10532) * own KBD67 MKII keymap Signed-off-by: Christian Eiden * Update keyboards/kbdfans/kbd67/mkiirgb/keymaps/cykedev/config.h Co-authored-by: Drashna Jaelre Signed-off-by: Christian Eiden Co-authored-by: Drashna Jaelre commit c87b2efef8c7ff02c997c64c6bf112af4f30622e Merge: 2a65709db6 b84b6107ff Author: Drashna Jaelre Date: Tue Oct 13 04:36:17 2020 -0700 Add VIA keymap for EVE Meteor. (#10454) * Add VIA keymap for EVE Meteor. * Remove bootmagic flag and add vendor/product IDs. * Update keyboards/eve/meteor/info.json Co-authored-by: Ryan * Increment EVE Vendor ID to be unique. * Change product IDs. Make the EVE Meteor IDs both unique and somewhat logical based on the product name. Co-authored-by: Ryan Co-authored-by: Ryan commit 2a65709db6b6154b6780b70b26de57d8d9a63749 Author: Drashna Jaelre Date: Tue Oct 13 04:35:36 2020 -0700 [Keyboard] Update to ZSA Boards (#10119) * Add VID/PIDs to ErgoDox EZ * Add VID/PIDs for Planck EZ and Glow revision * Make names consistent * fix typo in docs * Move LED config back, for maximum compatibility * Add revisions for ErgoDox EZ boards * Fix embarassing typo * Typooooo Co-authored-by: Nick Brassel * Update Licensing info * Update Moonlander default keymap to match Oryx's default * Fix formatting based on suggestions Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Make indicator LEDs more configurable * Update default keymap * Handle older eeprom settings Co-authored-by: Nick Brassel Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 451e600476d72b6f595044844b8a6767246de5ce Author: Nate Stein Date: Tue Oct 13 04:35:02 2020 -0700 [Keyboard] update boot-mode method for EVE Meteor docs (#10453) commit 6f391094ab218d2bb8e9764a65049d10fe7c945c Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Tue Oct 13 19:31:45 2020 +0800 [Keyboard] Melgeek mj63 (#10424) * [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Drashna Jaelre * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Drashna Jaelre * [Keyboard] MJ61 Add license header for files and the link for readme * Update keyboards/melgeek/mj61/readme.md Co-authored-by: Ryan * Update keyboards/melgeek/mj61/rev1/config.h Co-authored-by: Ryan * Update keyboards/melgeek/mj61/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Ryan * Update keyboards/melgeek/mj61/mj61.c Co-authored-by: Ryan * [Keyboard] Support MJ63 which is a 60% hotswap RGB keyboard with arrows and the size of left shift is 2U * Update keyboards/melgeek/mj63/mj63.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/mj63/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/mj63/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/mj63/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/mj63/rev1/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/mj63/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/mj63/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/mj63/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/mj63/keymaps/via/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/mj63/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/melgeek/mj63/mj63.c Co-authored-by: Joel Challis * [Keyboard] MelGeek MJ63 * Change the VID and PID * move the mj63.c to the rev1/rev1.c Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis commit 5b067ffc1678bf8d168a614dd59c7f46dcacd9dd Author: Evgenii <59191442+greenjack-z@users.noreply.github.com> Date: Tue Oct 13 14:16:10 2020 +0300 [Keyboard] update keymap of zergo keyboard (#10402) * Rename keyboards/handwired/zergo/keymap.c to keyboards/handwired/zergo/keymaps/default/keymap.c * Update rules.mk * Update rules.mk * Update bootloader.mk * Update rules.mk * Update bootloader.mk * Update info.json * Update rules.mk * Update zergo.h * Update info.json * Update keymap.c * Update keyboards/handwired/zergo/info.json Co-authored-by: Ryan * Update keyboards/handwired/zergo/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * update layout * update zergo layout * update layout * Update keyboards/handwired/zergo/keymaps/default/keymap.c Co-authored-by: ridingqwerty Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: ridingqwerty commit b4e7d4ffae488dfd3d33ad21cca47631101f9575 Author: shela Date: Tue Oct 13 17:03:17 2020 +0900 Update tags to check for document updates (#10606) commit 30c65a2547e14277e32d6af14d1386b52743ac4b Author: Silvio Gulizia Date: Tue Oct 13 04:41:36 2020 +0200 updating my own keyboard layout (#10626) commit 4d59657b8352e028000c00c21011c5e76b0e3c8e Author: shela Date: Tue Oct 13 09:46:16 2020 +0900 Fix typo within debounce documentation (#10600) commit d46b8ef67c91f1794c35a1a91ff9fc7dcba6b009 Author: Ryan Date: Tue Oct 13 03:19:50 2020 +1100 Add STM32Duino to bootloader selection (#10558) commit adc06c5b3b537f551557dbbd62f43458f6771db0 Author: Ryan Date: Tue Oct 13 03:18:21 2020 +1100 Remove bootloader_defs.h for some F072 boards (#10582) commit 6c78f80fa1f56d89ef05e9ba04a6f8f5d3b1e4a2 Author: Ryan Date: Tue Oct 13 03:17:11 2020 +1100 Partial fix for sendstring_french.h (#10623) commit 3d9fff1d28c892aa906e3f2c7deded19f448ae72 Author: shela Date: Tue Oct 13 01:08:38 2020 +0900 Update Japanese document (#10605) commit 975c2422f34d96270c32d2f13714e5a6aa95a022 Author: shela Date: Tue Oct 13 01:07:59 2020 +0900 Update Japanese document (#10601) commit a4efb55a39a882920eb5ff7a2fa94058b1f242d4 Author: shela Date: Tue Oct 13 01:07:11 2020 +0900 Update Japanese document. (#10599) commit 96ac448a0f9247bf527264b59e624209bfa41ec8 Author: shela Date: Tue Oct 13 01:06:06 2020 +0900 Update feature_bluetooth.md of Japanese document. (#10594) * Update Japanese document. * Left justified. * Update docs/ja/feature_bluetooth.md Co-authored-by: s-show * Update docs/ja/feature_bluetooth.md Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: s-show Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 216f9ed2c147b64b0134e33668121f681969aba9 Author: shela Date: Tue Oct 13 01:05:28 2020 +0900 Update Japanese document. (#10589) commit c66d65df5824510fd56081def55377415b8e136f Author: shela Date: Tue Oct 13 01:02:52 2020 +0900 Update Japanese document (#10603) commit f7e5d712c2adb4ccf16ec52889da41b95d80c6aa Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue Oct 13 01:01:07 2020 +0900 [Docs] Japanese translation of docs/isp_flashing_guide.md (#9896) * start translation docs/ja/isp_flashing_guide.md * Japanese translation is in progress. * Japanese translation is in progress. * Japanese translation is in progress. * Japanese translation is in progress. * Japanese translation is in progress. * Japanese translation is in progress. * Japanese translation is in progress. * update docs/ja/isp_flashing_guide.md * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md * Update docs/ja/isp_flashing_guide.md Co-authored-by: shela * Update docs/ja/isp_flashing_guide.md Co-authored-by: Takuya Urakawa * Update docs/ja/isp_flashing_guide.md Co-authored-by: Takuya Urakawa * Update docs/ja/isp_flashing_guide.md Co-authored-by: Takuya Urakawa * Update docs/ja/isp_flashing_guide.md Co-authored-by: Takuya Urakawa Co-authored-by: shela Co-authored-by: Takuya Urakawa commit 49abff90710a19e1b049ff335efc1073e4732c0d Author: Jan-Frederick Musiol Date: Mon Oct 12 17:14:37 2020 +0200 changed type of process_combo_event argument in tutorial (#10621) in tutorial for combos feature, changed type of compo_index argument of process_combo_event form uint8_t to uint16_t commit 2d4ae0fe7b099344b3eca8e1e5506d177f915568 Author: MakotoKurauchi Date: Mon Oct 12 22:30:55 2020 +0900 Fix configurator layout helix/rev3_4rows (#10618) Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com> commit 4f923b1673fe35644af3dfe5c8e2a766116e0012 Author: MakotoKurauchi Date: Mon Oct 12 11:37:31 2020 +0900 [Keyboard] Add Helix rev3 (#10297) * add Helix Type-R keyboard * add default 4Rows keymaps * cleanup 4row keymaps * update about SPLIT_HAND_MATRIX_GRID and DIP_SWITCH_MATRIX_GRID * change how to toggle mac/win * update "Hardware Availability" * add a section of "How to build" * update "Hardware Supported" * add dip-sw sections * comment updated in function `encoder_update_user` * revert how to toggle mac/win * remove 4Rows variant build options * rename helix_type_r to helix_5r * add helix type-R 4Rows edition * small modifications in keymap.c * small modifications according to renaming * change project root directory * continuous work on ee2c39f1f9bffd97a2deb8f430746933a8d8684c * cleanup unused files * update info.json files * cleanup 5rows' keymaps * rename and update readme.md * update config.h * update helix's readme.md and rules.mk * update keymaps' overviews * split into each keyboard * optimize firmware size for via keymaps * fix LAYOUT to LAYOUT4 in 4rows/rev3.h * remove LAYOUT_kc lines from both keymaps * rename tyep-r to rev3 * enable to SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT * remove image from readme * clean up for PR * delete unnecessary comments * change keyboard directory * rename LAYOUT4 to LAYOUT for rev3_4rows * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_4rows/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_5rows/rules.mk Co-authored-by: Drashna Jaelre * Cleanup ADJUST Layer code for VIA * change SEND_STRING to tap_code * update readme * moved the oled code from the keymap to the keyboard * moved the dip switch code from the keymap to the keyboard * change layout name for info.json * Update keyboards/helix/rev3_4rows/rev3_4rows.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/rev3_4rows.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/rev3_4rows.h Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/rev3_5rows.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/rev3_5rows.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/keymaps/via/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/oled_display.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/keymaps/default/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/rev3_5rows.h Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/keymaps/default/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/keymaps/via/keymap.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/oled_display.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/oled_display.c Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_5rows/config.h Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_5rows/info.json Co-authored-by: Drashna Jaelre * Update keyboards/helix/rev3_4rows/oled_display.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_5rows/oled_display.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rules.mk Co-authored-by: Joel Challis * Update keyboards/helix/rev3_4rows/config.h Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/helix/rev3_4rows/oled_display.c Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * deleted key_count in info.json Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: Joel Challis commit cacf495c91c7f6ad0e31edcefa8355eba98f75b6 Author: Joakim Tufvegren Date: Sun Oct 11 02:48:52 2020 +0200 Ergodox Infinity: Add EE_HANDS support. (#9527) Including a guide to set these EEPROM values (in the readme). commit a88cfa395ba2eef999d60958a1390e63e0834d55 Author: shela Date: Sat Oct 10 18:16:32 2020 +0900 Update feature_backlight.md of Japanese document. (#10592) * Update Japanese document. * Update tag commit 6e78655e17348751d57f69a1de18a659e37d93f4 Author: shela Date: Sat Oct 10 18:15:22 2020 +0900 Update Japanese document. (#10591) commit b0c8cbe46226331f9cbaf845bccdcc509f0fde9b Author: shela Date: Sat Oct 10 18:12:04 2020 +0900 Update Japanese document. (#10590) commit 962adbea3a4ce32b00f9d611229fd8965db9e1e4 Author: shela Date: Sat Oct 10 18:00:11 2020 +0900 Update Japanese document. (#10588) commit 7c32fbf493da11aaa1353b293ab5a36310dee6ce Author: Dave Rowe Date: Fri Oct 9 23:41:19 2020 -0500 XD68 - Adjust the VIA keymap to more closely match vendor (#10566) commit 459f672879e99f27faadb548b6493760b9a5879c Author: Erovia Date: Fri Oct 9 18:46:49 2020 +0100 CLI: Fix stripping of `ANY` from Configurator exports (#10585) 058737f broke it ¯\_(ツ)_/¯ commit cd0e32ff9ec5d33d911832c1ea716acb900b564d Author: Evan Travers Date: Fri Oct 9 01:17:25 2020 -0500 [Keyboard] Keyboardio Atreus (#10570) * Initial support for the Keyboardio Atreus Many thanks to noroadsleft for reviews & suggestions. * Add QMK Configurator layout support * Update the fn layer of the Keyboardio Atreus to the new layout. Previously this was using the Classic Atreus layout. * Implement noroadleft's changes from #8492 * Follow Erovia's recommendations qmk/qmk_firmware#8492 * Correct braces * Change correct rules.mk * Remove comments * Fix BOOTMAGIC_ENABLE I had edited the wrong file earlier. * Remove comment * Updates rules.mk Thank you noroadsleft. Co-authored-by: Gergely Nagy Co-authored-by: Phil Hagelberg commit 7229997e7d7e3519c09774020c7f3979541ea761 Author: Ryan Date: Fri Oct 9 11:43:07 2020 +1100 CLI: Fix MCU lists for `qmk info` (#10574) commit 5fbd55999b7b121758441d1c22f66c7e8e41522b Author: moyi4681 Date: Fri Oct 9 06:37:20 2020 +0800 bella soldered small fix (#10544) commit ff1b625168d038bea4208954c301bc471be00d0a Author: Joel Challis Date: Thu Oct 8 21:58:08 2020 +0100 Add smk65/revf support (#10434) * Move existing files out the way * Convert to community layouts * Add smk65/revf support * Disable stuff by default * Update IDs for via * Align LAYOUT macros for community layouts * Align LAYOUT macros for community layouts - Fix configurator ordering * Update via keymap * remove stub _kb function * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit fe5bcae8b31af85135592b780c8d799a8ef4bd24 Author: EMajesty <37113810+EMajesty@users.noreply.github.com> Date: Thu Oct 8 03:04:49 2020 +0300 [Keyboard] New keyboard - eiri (#10529) * eiri default keymap compiles * pic, info.json * Added picture for default layout, changed PRODUCT_ID * Changes to default keymap * Cleaned unused template remnants from files * Update keyboards/emajesty/eiri/readme.md Co-authored-by: Drashna Jaelre Co-authored-by: EMajesty Co-authored-by: Drashna Jaelre commit cba4c1deb5e0eb6ecfdecde4fe66a8a3d293c008 Author: Chus Date: Thu Oct 8 01:56:22 2020 +0200 [Keymap] Add niu mini dye sub keymap (#10525) * Add niu mini dye sub keymap * Fix spacing * Fix for blank spacing on layout * Remove unused code Co-authored-by: Joel Challis * Remove audio and console settings Co-authored-by: Joel Challis * Updates rules and readme * Add license GPL2 to keymap Co-authored-by: Joel Challis commit d79fe652914c50f803b22e3e88de7d3934bd0699 Author: Reibl János Dániel Date: Thu Oct 8 01:20:23 2020 +0200 Clean ChibiOS platform files (#10505) * Clean ChibiOs platform files * Remove I2C and timer definitions * Remove unnecessary files and rename readme Co-authored-by: Janos Daniel Reibl commit ee6c86d8e91437f47f904b5af49a63b749b57bf0 Author: Tom Swartz Date: Wed Oct 7 18:35:42 2020 -0400 [Keyboard] LeftyNumpad Keyboard (#10500) * Clean LeftyNumpad code * Fix typo in recently renamed file * Fix issues with keymap layout * Initial PR Feedback fixes * Update keyboards/handwired/leftynumpad/config.h Co-authored-by: Joel Challis * Update keyboards/handwired/leftynumpad/config.h Co-authored-by: Joel Challis * Apply suggestions from code review Co-authored-by: Joel Challis * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan * Add fixes based on PR feedback * Update keyboards/handwired/leftynumpad/readme.md Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 0a69225637ab488e3dd7d01a21763f20aab4bc81 Author: moyi4681 Date: Thu Oct 8 04:48:30 2020 +0800 [Keyboard] add maja capslock indicator (#10151) * add maja capslock indicator add maja capslock indicator * Update keyboards/kbdfans/maja/maja.c Co-authored-by: Ryan Co-authored-by: Ryan commit b84b6107ff30cf53d758e28d8c9f6ca273b333d6 Author: Nate Stein Date: Wed Oct 7 10:49:51 2020 -0700 Change product IDs. Make the EVE Meteor IDs both unique and somewhat logical based on the product name. Co-authored-by: Ryan commit bc79e5199071472f3d728826f381abf8cca59456 Author: a_p_u_r_o Date: Wed Oct 7 11:30:43 2020 +0900 Fix issue introduced by PR#10404 (#10559) commit a67b32425b792fd9d891356f66aa39bd7319d823 Author: Erovia Date: Tue Oct 6 21:40:45 2020 +0100 Docs: fix udev rules Apparently, udev does not like inline comments. Rules with them are ignored, oops. commit 058737f116b53116726f32175205b46e22396f86 Author: Erovia Date: Wed Oct 7 01:10:19 2020 +0100 [CLI] Add c2json (#8817) * Basic keymap parsing finally works * Add 'keymap.json' creation to the qmk.keymap module * Add tests and fix formatting * Fix/exclude flake8 errors * Convert keymap.c to valid keymap.json * Fix some errors * Add tests * Finalize keymap.json creation, add json template * Add docs * Move pygments to the standard requirements * Add support for nameless layers, fix tests * Fix things after rebase * Add missing 'keymap' value. * Fix missing layer numbers from advanced keycodes Buckwich noticed that if the advanced keycode / layer toggling key contains a number, it goes missing. Now we properly handle them. Thx for noticing! * Apply suggestions from code review * fixup tests Co-authored-by: Zach White Co-authored-by: skullY commit c9a06965c991a84ac76014d9791e439f88dfb957 Author: Ryan Date: Wed Oct 7 10:57:40 2020 +1100 Improve LAYOUT macro searching (#9530) * Improve LAYOUT macro searching * Apply suggestions from code review Co-authored-by: Zach White * Adjust signature * Try to copy the makefile's handling of DEFAULT_FOLDER * Move it further up, into `info_json()` * Move it even further up so that keyboard_folder is correct * Update lib/python/qmk/info.py Co-authored-by: Zach White * Update lib/python/qmk/info.py Co-authored-by: Zach White Co-authored-by: Zach White Co-authored-by: Zach White commit 2c9ffd47391b8dec98db94bef9b2f5c14a57cf94 Author: Ryan Date: Wed Oct 7 10:46:10 2020 +1100 CLI: update subcommands to use return instead of exit() (#10323) commit f7cffcbcd4d6ffb3e00a401e46fe4816ae4b253a Author: stein3 Date: Tue Oct 6 07:25:49 2020 -0700 Increment EVE Vendor ID to be unique. commit 2e402741a89c5eec8cf30c966ce6f36d6ec9249b Merge: 3e5e4f7427 2013f63134 Author: stein3 Date: Tue Oct 6 07:15:41 2020 -0700 Merge branch 'master' into meteor commit 2013f6313430b977e557e482d30daa279a46e75d Author: Joe Strong Date: Mon Oct 5 09:21:39 2020 +0100 Fixes small typo in docs (#10515) commit 32661df8cd1a3a165b8e5a08bacff15ffaa6167e Author: Gergely Peidl Date: Mon Oct 5 01:06:53 2020 +0000 Update personal keymap for Let's Split keyboard. (#10536) * Add Initial layout configuration. * Set arduino pro micro's built in RX LED as Numlock * Enable Autoshift feautre. * Remove DVORAK layout. * Add Numpad, update default layer. * Update AutoShift timeout. * Beautify ASCII Art. * Update keymap. * Add Initial verison of RGB lighting. * Add Tap dance, hungarian letters. .Xmodmap example: https://github.com/geripgeri/dotfiles/commit/09f058753dd10e4ff8ab2aac7274b5600c466392 * Update RGB to use only noeeprom functions. * Change default rgb led color. * Add `pragma once`. * Emojis added. * Add tap dance for hungarian letters, multimedia control, slash/backslash. * Remove audio related code. * Add Gaming layer. * Remove unnecessary code, update copyright. * Add readme.md * Implement code review suggestions. * Implement code review suggestions #2 * Remove Auto Shift feature. * Remove Gaming layer. commit 661f4aaa8a4c25655007a238226d5d14549d083a Author: Reibl János Dániel Date: Mon Oct 5 00:35:28 2020 +0200 [Keymap] Move my custom functions and keymaps to userspace (#10502) * Move my custom functions and keymaps to userspace to be able to add the STM32F411 variant of my keyboard with mostly the same functionality * Move keymaps to community layouts * Remove keymaps from userspace readme.md Co-authored-by: Janos Daniel Reibl commit 27f9f3196d39ab0ce1b72665ea4b57ff741e6dd8 Author: Jakob Date: Mon Oct 5 00:19:34 2020 +0200 [Keyboard] add support for ymd75 rev3 (#10483) * add support for ymd75 rev3 * Update keyboards/ymd75/rev3/rules.mk Co-authored-by: Ryan * Update keyboards/ymd75/rev3/rules.mk Co-authored-by: Ryan * remove DESCRIPTION * only apply offset for rev3 Co-authored-by: Ryan commit 89446bafb8b925a17bb6d18577ba85c40f058dac Author: Thomas Holt-Ronczy Date: Sun Oct 4 17:48:13 2020 -0400 [Keyboard] Add soy20 PCB (#10440) * Add soy20 PCB adds default and VIA Keymaps for soy20 pcb by DrewKeys * Update keyboards/soy20/config.h Co-authored-by: ridingqwerty * Update keyboards/soy20/config.h Co-authored-by: ridingqwerty * Update keyboards/soy20/rules.mk Co-authored-by: ridingqwerty * Update keyboards/soy20/soy20.h Co-authored-by: ridingqwerty * Update keyboards/soy20/keymaps/via/keymap.c Co-authored-by: ridingqwerty * Update keyboards/soy20/keymaps/via/keymap.c Agreed. It was left over from the original file provided by the board makers original configurator file. Co-authored-by: ridingqwerty * Update keyboards/soy20/rules.mk Co-authored-by: ridingqwerty * Update keyboards/soy20/config.h Co-authored-by: ridingqwerty * Update keyboards/soy20/config.h Co-authored-by: ridingqwerty * Update keyboards/soy20/config.h Co-authored-by: ridingqwerty * Update keyboards/soy20/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/soy20/keymaps/default/keymap.c Co-authored-by: ridingqwerty * Update keyboards/soy20/info.json Co-authored-by: Ryan * Update keyboards/soy20/readme.md Co-authored-by: Ryan * Update keyboards/soy20/rules.mk Co-authored-by: Ryan * Update keyboards/soy20/rules.mk Co-authored-by: Ryan * Update keyboards/soy20/rules.mk Co-authored-by: Ryan * Update keyboards/soy20/soy20.h Co-authored-by: Ryan * Update keyboards/soy20/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/soy20/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/soy20/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/soy20/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/soy20/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/soy20/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/soy20/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/soy20/info.json Co-authored-by: Ryan * Update keyboards/soy20/config.h Co-authored-by: Joel Challis * Updating *.c & *.h files with GPL3 license * Delete rules.mk * Delete keymap.c * Corrected Header Comments Co-authored-by: ridingqwerty Co-authored-by: Ryan Co-authored-by: Joel Challis commit 2bcac45650563822f20a2336a9fc4d95b2cc4e3e Author: 3araht <69518343+3araht@users.noreply.github.com> Date: Mon Oct 5 06:32:24 2020 +0900 Fix for MIDI sustain effect issue (#10361) commit c8cff1489a82bb61266ce32750895c6935b256a3 Author: QMK Bot Date: Sun Oct 4 20:54:31 2020 +0000 format code according to conventions [skip ci] commit c4f910b1b3b8b758093592d50c4c1b7c137b853f Merge: edebe56f6b ef7c79b781 Author: Drashna Jaelre Date: Sun Oct 4 13:05:26 2020 -0700 Merge pull request #10404 from cmdremily/opendeck-core Allow the use of only one IS31FL3731 LED driver commit edebe56f6b48084a7bbff6c494dd71c5620156b9 Author: tomic1785 <37966316+tomic1785@users.noreply.github.com> Date: Sun Oct 4 21:50:03 2020 +0200 [Keyboard] Add Yugo-M Controller (#10389) * Created folder structure and blank files * Update the yugo_m initial blank files * Add yugo_m default keymap * Update yugo_m info.json * Fix yugo_m keymap.c * keymap.c update * Changed subfolder name * File names * Fixed lock LEDs problem * Returned old subfolder name; LEDs fix * Activated anti-ghosting feature in config.h * Update readme.md * Changed LAYOUT to LAYOUT_all * Updated keymap.c * corrected LAYOUT to LAYOUT_all in info.json * Rewritten readme.md according to the template * Removed backslashes from keymap.c * Fixed readme.md * Fixed readme.md again * Tidying up readme.md * Tidying up comments and readme.md * Removed a line from rules.mk * Update keyboards/yugo_m/model_m_101/model_m_101.h Co-authored-by: Joel Challis * Removed chconf, halconf, mcuconf * Updated LED control * Update keyboards/yugo_m/model_m_101/rules.mk Co-authored-by: Joel Challis * Update keyboards/yugo_m/model_m_101/config.h Co-authored-by: Joel Challis * Update keyboards/yugo_m/model_m_101/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/yugo_m/model_m_101/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/yugo_m/model_m_101/model_m_101.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/yugo_m/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Updated readme.md, there was an outdated info * Update keyboards/yugo_m/model_m_101/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/yugo_m/model_m_101/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/yugo_m/model_m_101/model_m_101.c Co-authored-by: Ryan * Update keyboards/yugo_m/model_m_101/model_m_101.c Co-authored-by: Joel Challis Co-authored-by: Nidzo Tomic Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 3a8e13a74a8acedab826ab85a5fdd492212fc96b Author: Sergey Vlasov Date: Sun Oct 4 22:41:03 2020 +0300 [Keymap] Add onekey keymap for OLED testing (#10380) * Add onekey keymap for OLED testing * Add license header commit 1afb394d598bb29fcbe1313e2a243953e8479b7e Author: Isaac Date: Sun Oct 4 15:35:03 2020 -0400 [Keymap] Add winterNebs keymaps (#10328) * Add kyria keymap * Add planck keymap * Add nyquist keymap * Add vim movement instead of regular movement layer * Use partial home row mods :) * Update keyboards/keebio/nyquist/keymaps/winterNebs/config.h Co-authored-by: Drashna Jaelre * Update keyboards/keebio/nyquist/keymaps/winterNebs/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/keebio/nyquist/keymaps/winterNebs/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/keebio/nyquist/keymaps/winterNebs/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/keebio/nyquist/keymaps/winterNebs/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/kyria/keymaps/winterNebs/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/kyria/keymaps/winterNebs/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/planck/keymaps/winterNebs/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/planck/keymaps/winterNebs/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/planck/keymaps/winterNebs/keymap.c Co-authored-by: Drashna Jaelre * Fix outdated function call * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre * Update keyboards/kyria/keymaps/winterNebs/keymap.c somehow this wasn't added to the batch? Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * remove deprecated function * Rename to lowercase * Update keyboards/planck/keymaps/winterNebs/keymap.c Co-authored-by: Drashna Jaelre * fix oled path * rebase and add back nyquist that was lost by rename * Add licenses * License in the wrong file Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 1aacbc44d18a1d23c58561ee17498618a1e6319d Author: Fred Silberberg Date: Sun Oct 4 12:24:35 2020 -0700 [Keymap] Added 333fred 5x6_5 keymap (#10272) * First pass at manuform layout. * Updates from actual usage on my board. Fixed a couple of bugs, added a stormlight quote randomizer. * Use a 32-bit timer that can actually hit 5 minutes. * Some updates after a day of usage: * Turn off WPM. It's too inaccurate and takes up a decent amount of space that can be devoted to quotes. * Turn off the OLEDs after 5 minutes * Move the keys around a bit. * Add many more quotes. * Adjust the quotes to make room for missing and misswritten WoT quote. Adjusted the keymap slightly. Adjust the mods display to include one_shots. * Revert osm on lgui as it makes start menu search impossible to use. * Use LTO_ENABLE flag. * License all of my (333fred's) keymaps as MIT. * Update users/333fred/rgb.c Co-authored-by: Ryan Co-authored-by: Ryan commit 793de76bb451d2072a4460407dec2b2811dc48ac Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Mon Oct 5 02:23:35 2020 +0700 [Keyboard] Add hannah60rgb rev.2 PCB (#10287) * add hannah60rgb_rev2 * add * Update rev2.c * fixed rgb matrix * Update rev2.c * update rules.mk * update readme * update * Update config.h * Update rules.mk commit f176daa1ca95c3145cd5a8af3f0993ce070eeb46 Author: swampmonster Date: Sun Oct 4 14:55:54 2020 +0200 Adding VIA support to katana60 rev2 (#10442) Co-authored-by: swampmonster <> commit 459ccb681f991d5b39060d25197233ac9c51d8b9 Author: Sergey Vlasov Date: Sat Oct 3 21:44:19 2020 +0300 OLED driver fixes (#10377) * Fix dirtying in oled_write_pixel() Set the dirty bit for the block only if oled_write_pixel() actually changed the buffer state. Without this check oled_write_pixel() could not be used inside the oled_task_user() code using the “redraw always” style, because the blocks touched by oled_write_pixel() would always appear dirty, and oled_render() would not proceed beyond the first such dirty block. * Fix oled_write_pixel() with 90/270 degree rotation Use oled_rotation_width instead of OLED_DISPLAY_WIDTH, so that a rotated display would be handled correctly. * Fix compilation with custom OLED_BLOCK_COUNT and OLED_BLOCK_SIZE Some OLED sizes (e.g., 64×48) may require a nonstandard value of OLED_BLOCK_COUNT. The documentation says that this value may be redefined in config.h, but actually trying to redefine it caused a compile error, because the macro was redefined in oled_driver.c. Make the OLED_BLOCK_COUNT definition in oled_driver.c respect any user override, and do the same for OLED_BLOCK_SIZE just in case. * Fix handling of out-of-range bits in oled_dirty If a custom OLED_BLOCK_COUNT value is specified, some bits in oled_dirty may not correspond to existing blocks; however, if those bits are set somewhere (e.g., by code with sets oled_dirty to ~0 or even -1), oled_render() would try to handle them and could access memory beyond oled_buffer and perform hardware operations with out of range values. Prevent this by masking off unused bits in oled_render(), and also avoid setting those bits in other functions. * Fix potentially wrong dirtying in oled_write_char() oled_write_char() tried to mark the position just beyond the written character as dirty; use (OLED_FONT_WIDTH - 1) to dirty the last position still belonging to the character instead. * Fix `#define OLED_BLOCK_TYPE uint32_t` on AVR Using uint32_t as OLED_BLOCK_TYPE did not work properly on AVR, because some bit shifts were performed using 16-bit int. Add explicit casts to OLED_BLOCK_TYPE to those shifts. commit 1fe7743af88cf0d65800d3ccfc1c59d1c2d65db2 Author: a_p_u_r_o Date: Sun Oct 4 03:15:44 2020 +0900 IS31FL3741 driver fixup (#10519) * Fix issue with data transfer of CS1_SW7 to CS18_SW7. * Fix issue with handling of scaling register buffer's dirty flag. * Remove unused extern declaration. * Compaction of struct is31_led utilizing bit fields. commit a0467fda3816e7c87d8cd0b2584ed701ff78375e Author: Simon Date: Sat Oct 3 16:43:36 2020 +0200 add info.json for XD75 keyboard (#10523) Currently the XD75 is missing a info.json attributing to non standardised use of QMK commit 9e9b604234ee58fb822c37a862de2340bf95faec Author: George Mao Date: Fri Oct 2 16:42:11 2020 -0700 Mark 'key_count' as optional within info.json docs (#10513) * Update reference_info_json.md key_count is now an optional field because it is better to get the keycount by counting the elements in the layout array. * Updated Japanese documentation as well commit eb4cf713bcfe6bdfaea337c84cf1e9af78078711 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Oct 2 13:20:00 2020 -0700 Update info.json for Slice RGB (#10514) - add data for LAYOUT_all macro - correct some rounding errors - make the indentation consistent - remove trailing whitespace commit 9395a8700c47fcf6c3a8cc9ba201d66cc45f1cbe Author: Nick Abe <57225836+2Moons-JP@users.noreply.github.com> Date: Sat Oct 3 01:27:16 2020 +0900 Add Slice RGB VIA Support (#10407) Co-authored-by: Erovia commit 4bbef61d60c9ee3f85569ddcc6366e362b687a54 Author: Joe Strong Date: Fri Oct 2 17:26:05 2020 +0100 Add joestrong keymap for quefrency rev 2 (#10503) commit 266ff3339a72a9c44913cfd97e232adafe8feb51 Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Thu Oct 1 23:53:37 2020 -0600 [Keyboard] FightPad! macropad by Clawsome (#10507) * 1 Oct 20 * Update keyboards/clawsome/fightpad/config.h * Update keyboards/clawsome/fightpad/rules.mk * Update keyboards/clawsome/fightpad/info.json * Update keyboards/clawsome/fightpad/readme.md * Update keyboards/clawsome/fightpad/readme.md * Update keyboards/clawsome/fightpad/info.json * Update keyboards/clawsome/fightpad/config.h commit c01eb55109b9e5a5083d5bb213cecaeca2409a96 Author: Sturek Date: Fri Oct 2 07:52:30 2020 +0200 [Keymap] VIA keymap for the Sofle (#10446) * Added via support * Now uses LTO_ENABLE * Deactivated console to save space * Update keyboards/sofle/keymaps/via/readme.md * Added GPL license * Update keyboards/sofle/keymaps/via/keymap.c * Update keyboards/sofle/keymaps/via/keymap.c * Update keyboards/sofle/keymaps/via/keymap.c * Update keyboards/sofle/keymaps/via/keymap.c commit 6e9b4a83091968ea81942648f24670c03cdf06e3 Author: Nic Lake Date: Fri Oct 2 00:42:23 2020 -0500 [Keymap] niclake keymap for Boardwalk (#10488) * Initializing Boardwalk layout * rules.mk newline * config.h newline * qwerty num toggle -> tap-toggle * errant K, and _LOWER momentary toggles * Lack of autosave sucks * Converting to HHKB layout * TT(_NUM) added to num layer * Final updates for Boardwalk initialization * Final refinements * newline * Removal of extra includes * Update keyboards/boardwalk/keymaps/niclake/config.h #pragma once * Removing comment block from rules * Updates to my layout commit 1e5df7117d9fe4da459cde53e7288f7f25ee988c Author: Peter Peterson Date: Thu Oct 1 17:13:34 2020 -0700 [keyboard] add BM60Poker support (#10475) * WIP working on new keymap * tweaking keymap * updated keymap * cleaned up a little bit * New preonic keymap * my preonic keymap * added mac layout * preonic map update * cleaning up old repo * cleaning up to match upstream * more cleanup * removing old keymaps * Added BM60 Poker * Apply suggestions from code review * Added license * updated license * updated license * Fixed remaining licenses and added layout to rules commit 6888165b48b1d5e6dddd744cd6a42e0b326a0a81 Author: Žan Pevec Date: Fri Oct 2 01:17:57 2020 +0200 Fixed some small things and replaced deprecated definitions (#10414) * Fixed some small things and replaced deprecated definitions * Improvements * Reverted kemyap change commit 8070b1ba8862f1a98bafd0b0dc0889f7659ea456 Author: yulei Date: Fri Oct 2 07:07:14 2020 +0800 Added replacement pcb for the matrix cain keyboard (#10436) * added replacement pcb for the matrix cain keyboard * update usb descriptor * fixed led polarity * Update keyboards/matrix/cain/cain.c Co-authored-by: Joel Challis * Update keyboards/matrix/cain/rules.mk Co-authored-by: Ryan * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * rename from cain to cain_re * Update keyboards/matrix/cain_re/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 726499553c3ab0324274a66df63571a5a355d5df Author: ridingqwerty Date: Thu Oct 1 18:58:13 2020 -0400 New keyboard: wsk/g4m3ralpha (#10431) * adding alpha variants * adding cajal layouts * adding V2 PCB support adding additional layouts for new PCB version, and correecting incorrect image in info file * Cleanup master -- remove alpha9 * Cleanup master -- remove g4m3ralpha * Cleanup master -- remove cajal & sl40 * Master cleanup -- re-add sl40 * Master cleanup -- correct SL40 image * Add new keyboard: wsk/g4m3ralpha * Added license attribution to .{c,h} files * Update keyboards/wsk/g4m3ralpha/config.h Co-authored-by: Joel Challis * Update keyboards/wsk/g4m3ralpha/rules.mk Co-authored-by: Joel Challis * Update keyboards/wsk/g4m3ralpha/g4m3ralpha.c Co-authored-by: Joel Challis * Update keyboards/wsk/g4m3ralpha/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/wsk/g4m3ralpha/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/wsk/g4m3ralpha/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/wsk/g4m3ralpha/rules.mk Co-authored-by: Ryan Co-authored-by: worldspawn00 Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 1d7e57ab853c3ee70ea287298b8e0f32ffe54072 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Oct 1 15:00:03 2020 -0700 BM60RGB ISO: update default keymap and layout macro (#10494) * BM60RGB ISO: fix and extend default keymap - correctly assigns the Non-US Backslash and Hash keys - adds Function and Navigation keys - use KC_GESC instead of KC_ESC to make Grave accent available * Update layout macro The layout is the ISO equivalent of QMK's `LAYOUT_60_ansi_arrow`. commit 0cb7133e0dafc71937fcf6a6e9e7fb7068d3cbcb Author: nopunin10did Date: Thu Oct 1 17:19:57 2020 -0400 Doc followup 9942 (#10473) * Update feature_advanced_keycodes.md * Update mod_tap.md commit f63a60a72a9a91580430ca63e431c71f4c095a1f Author: Jordan <47953030+jordandoan@users.noreply.github.com> Date: Thu Oct 1 14:19:01 2020 -0700 Port mechmini v2 for VIA support (#10497) Co-authored-by: Erovia commit f68bb0cc3dc6883681919e721da70aca14440026 Author: Danilo de Klerk <966801+ddeklerk@users.noreply.github.com> Date: Thu Oct 1 23:14:46 2020 +0200 Add ddeklerk split_3x6_3 layout (#10470) commit 2f01c6ee188986cc21a6485c65f1a404761a704f Author: Juno Nguyen Date: Fri Oct 2 05:13:13 2020 +0800 Update make rules for community/ortho_4x12/junonum (#10467) commit 10f5767010dbfc37e94ab3f5ab3549284073a570 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Oct 1 13:57:56 2020 -0700 Add 64_ansi and 64_iso Community Layouts (#10463) * Add 64_ansi Community Layout * Add 64_iso Community Layout * Add readme.md with layout drawings * Edit readme.md - fix layout drawings Fix 65_ansi_blocker_split_bs and 65_ansi_blocker_tsangan drawings. * Edit readme.md - suggestions per fauxpark Co-authored-by: Ryan Co-authored-by: Ryan commit b5d6f287d95d1af9128dc5acb3b7314d6e9ea337 Author: ai03 Date: Fri Oct 2 05:44:29 2020 +0900 Southpaw Fullsize: Add VIA support (#10469) * Add via configurator support * Remove layers to fix via * Re-add extra via layers since it seems to work now * Replace tabs with spaces * Update readme.md commit 3e5e4f74272c610bb9fa737f674f8e65ed6100ca Author: Nate Stein Date: Thu Oct 1 13:23:44 2020 -0700 Update keyboards/eve/meteor/info.json Co-authored-by: Ryan commit a13e918d47487a70d238bbde8445b4778ccf970b Author: Nic Lake Date: Thu Oct 1 14:39:36 2020 -0500 [Keymap] Adding 2x2u default layout for Boardwalk (#10486) * Adding 2x2u default layout for Boardwalk * Defining the _RAISE layer commit b31df1af94abdf26bb7bcbf5183c05be1c500005 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Oct 1 12:36:52 2020 -0700 KBDFans KBD19x: VIA Support & LAYOUT macro fixing (#10401) * first pass at fixing the key labeling * second pass of fixing key labeling * third pass of this key naming * another pass of changing key naming * another pass * another pass * another pass * renamed it all * give a good vid and pid * add via keymap * add on to the comments * update readme and comments * one more small change commit 7a2124db6bfea74672acd714d78c10eb9288732a Author: yhr0x43 <58871693+yhr0x43@users.noreply.github.com> Date: Thu Oct 1 13:41:21 2020 -0500 Crkbd implementing return value for matrix_scan() (#10422) commit 45f044907c8ac784d6169f3495b96c142d6d699d Author: Tom Swartz Date: Thu Oct 1 14:25:30 2020 -0400 xd75re Multi-layer keymap (#10499) Co-authored-by: Ryan Co-authored-by: Erovia commit 01d2a03258df465a7efcf33d9cc6f1751967c29a Author: sol <1731279+s-ol@users.noreply.github.com> Date: Thu Oct 1 20:17:03 2020 +0200 Fix SPLIT_KEYBOARD compilation for ATMega*U2, which doesn't have VBUS/OTG control (#10460) Co-authored-by: s-ol commit 1960e250485d4036623a045dd601e01343cafdd5 Author: yiancar Date: Thu Oct 1 19:05:47 2020 +0100 Enable Mediakeys for yiancar's 328p keyboards (#10476) commit 8fbea13a8fffaad3150846b334464f60b680b992 Author: Adam Gwilliam Date: Thu Oct 1 12:38:12 2020 -0500 resolve extra param issue in boardsource/5x12 via keymap (#10501) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Danny Co-authored-by: Adam Gwilliam commit d78a2b81455e23854ffdf53900acc92cc2b2fb6b Author: thompson-ele Date: Thu Oct 1 10:33:18 2020 -0700 [Keymap] VIA Support for Nein Macropad (#10496) Co-authored-by: Ryan commit 76e35e02cc6caf88eb5bb06c9780619b78725d16 Author: yiancar Date: Thu Oct 1 08:27:18 2020 +0100 Rename nebula65 -> nebula68 (#10490) Co-authored-by: Ryan commit 272b3309dd4121b49bc41e3c0213111aaf4962d7 Author: Jean Potier Date: Thu Oct 1 07:14:05 2020 +0300 [Keymap] samae keymap for RGBKB Zen rev1 (#10350) * Add samae's keymap to zen rev1 * Docs update * Less animations * A few cleanups * Update keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c * Update keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c * Update keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c * Update keyboards/rgbkb/zen/rev1/keymaps/samae/keymap.c * Review fix: add copyright statement commit 11c308d436180974b7719ce78cdffdd83a1302c0 Author: Drashna Jaelre Date: Wed Sep 30 16:52:47 2020 -0700 [Keyboard] Convert ErgoDox EZ to Matrix Lite (#10189) * Convert ErgoDox EZ to lite matrix * Add initial config from Dactyl config Based on ErinCall's work to generalize the mcp i/o expander matrix code * formatting * Fix number of pins * Remove unused defines commit 482c9fbbf28c7e871145cacd01f22c9edf7d1ddf Author: Ryan Date: Thu Oct 1 04:10:02 2020 +1000 MSYS2: Switch to arm-none-eabi-gcc package (#10421) commit 5ecb1b2d39f5424979a1325e2642ac73db828c03 Author: Keebz Dot Net <64744703+keebzdotnet@users.noreply.github.com> Date: Wed Sep 30 01:50:55 2020 -0700 Wazowski 23-19 VIA Support (#9730) * fixed keymap placement - online configurator keys were in the wrong location and needed to be fixed - fixed a key being to high on the y position * Create rules.mk * Create keymap.c * Update rules.mk added VIA support * Changed wazowski via keymap to include skipped switch * changed the vendor ID * Update keyboards/keebzdotnet/wazowski/config.h * Removed VIA enable from keyboard rules.mk * Update keyboards/keebzdotnet/wazowski/rules.mk * Fixed wazowski via keymap build errors * Added multi-layer support for Wazowski via keymap commit 8b90822f6e707830904426dc05501bffcb69ec18 Author: MakotoKurauchi Date: Wed Sep 30 06:46:49 2020 +0900 add tester keymaps for yushakobo/quick7 (#10282) * update "Hardware Availability" * add a section of "How to build" * update "Hardware Supported" * add tester keymaps for yushakobo/quick7 * update license headers in keymaps/tester/config.h Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com> commit 9f36aa640e9580354928d72d87187d6c80c69bc4 Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Tue Sep 29 04:30:14 2020 -0700 [Keyboard] Add astro65 handwired (#10449) * Add pandemic keyboard * Fix default keymap * Add via keymap * Fix via keymap * Fix keymaps and pandamic.h * add info.json * update info.json * Apply suggestions from code review * Update keyboards/handwired/swiftrax/pandamic/info.json * make suggested changes * Add astro65 * fix info.json * Apply suggestions from code review * add more layers for via * Apply suggestions from code review * halp * add other layout * fix astro65.h * commit suggestions * Update keyboards/handwired/swiftrax/astro65/info.json commit 284a5267d5a0bbbeb6b83d4a88b8c64d7f4ab1ba Author: Reibl János Dániel Date: Tue Sep 29 06:48:35 2020 +0200 Add Unicode modes for `handwired/riblee_f401:riblee` (#10461) * Add unicode modes * Update keyboards/handwired/riblee_f401/keymaps/riblee/config.h commit d844f5af7031e18d8933954e85903484d51d978a Author: Sendy YK Date: Tue Sep 29 11:32:38 2020 +0700 Update mrsendyyk Community Layouts (#10338) * Add layouts/community/numpad_5x4/mrsendyyk * Update keymap.c * Update readme.md * Update readme.md * Update readme.md * Rename my community layouts * Rename * Rename * Cleanup my code * Update readme.md * Cleanup * Update keymap.c * Delete unnecessary files commit 2eeb30cd5ac755fcb8314ec6b39b56412f43baf1 Author: Joel Schneider Date: Tue Sep 29 00:25:53 2020 -0400 [Keyboard] Add SiCK-PAD handwired keyboard (#10429) * Add sick_pad * Adjust setup for Proton C * Add readme * Add info.json * Make requested changes * Resolve PR issues commit 153108761798eeb943b6117427a0bd4ae8d20738 Author: stein3 Date: Mon Sep 28 11:05:54 2020 -0700 Remove bootmagic flag and add vendor/product IDs. commit c7599bf49fd0f5f7b0d5e863440eaa85d0247690 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Sep 27 18:46:24 2020 -0700 Swapparoo of bottom row keys (#10277) commit 45c2a05e3a9adaee3daf955c5445c6b358935ae1 Merge: fbdc65e2e9 323c6dfe72 Author: Ryan Date: Mon Sep 28 11:41:24 2020 +1000 Merge pull request #10457 from 2Moons-JP/trifecta_keymap commit fbdc65e2e956e9d51c94fecdbce1f0abc2817950 Author: Drashna Jaelre Date: Sun Sep 27 15:11:41 2020 -0700 [Keyboard] Add PloopyCo devices (#7935) * Initial Commit for Ploopyco Trackball This is a WIP at this point. Most of it compiles, but the SPI commands are non-functioning as they come from Arduino, so don't exist in LUFA * Convert SPI commands from arduino to LUFA But I have no idea if this is actually correct or not * Update keyboard readme * Clean up ploopyco trackball * Update readme * Update mouse key stuff * last minutue cleanup * Add caveat about scroll wheel * Fixup to code * Additional fixup * Add movement multiplier * Rename folders * mid changes * temp * Got it working!!!!! * Additional cleanup of code * Make unused pin calls more compact * Rotation info * Add debouncing checks * Make everything replaceable * Add info.json * Include ISP flashing info * Better handling for user customization * Reconfigure CPI stuff * fix issues with debug printing * Fix tiny scroll issue * Add and update scroll code from ploopy mouse * Update licensing * Add PloopyCo Mouse * Cleanup and layout stuff * Move common files to main folder for reuse * Increase polling rate * Update image for mouse * Apply changes from code review * Add VIA support commit 34b9c51d9cb9694e2e1d0667758f33054a2aad81 Author: ridingqwerty Date: Sun Sep 27 18:04:24 2020 -0400 Keyboard update: SL40 (#10445) * adding alpha variants * adding cajal layouts * adding V2 PCB support adding additional layouts for new PCB version, and correecting incorrect image in info file * Cleanup master -- remove alpha9 * Cleanup master -- remove g4m3ralpha * Cleanup master -- remove cajal & sl40 * Master cleanup -- re-add sl40 * Master cleanup -- correct SL40 image * Keyboard addenda: Production version of sl40 Co-authored-by: worldspawn00 commit 50835bb13875843cac0236995afe86508744e595 Author: Joel Challis Date: Sun Sep 27 13:04:27 2020 +0100 [keyboard] Add SP-111 support (#10193) * Initial sp111 support * Align with template commit e7acd39b78a7cb81b258044dd190dc5bda55d120 Merge: 70fce6564f a0305f5e7e Author: Ryan Date: Sun Sep 27 20:36:33 2020 +1000 Consolidate udev rules into a single file (#9693) * Consolidate udev rules into a single file * Update rules in doctor.py * Simplify doctor rule checking * Fix errors * Add TMK "FEED" VID to list of deprecated udev rules * A comma would be nice * Split rules back up into bootloaders * Link to docs page in "missing" case * Add Pololu VID * Be more specific about Caterina devices, and add LilyPad PID commit 70fce6564fe691912387d09344efa1d1ce5b949e Author: Ryan Date: Sun Sep 27 20:33:03 2020 +1000 Add logic for AT90USBxx7 where needed (#10203) commit 323c6dfe72fd29dd2349d209346d54cfd36425d5 Author: 2Moons-JP Date: Sun Sep 27 13:19:49 2020 +0900 Trifecta Keymap commit bb1550313c70408ee6d82d6f74c5b018b681d5eb Author: stein3 Date: Sat Sep 26 19:06:57 2020 -0700 Add VIA keymap for EVE Meteor. commit 28ff51175b6d45ce5a8dbfe7ed6e7a12df3bc8a8 Author: precondition <57645186+precondition@users.noreply.github.com> Date: Sat Sep 26 23:11:40 2020 +0000 [Docs] Wording & formatting changes in the Tapping Force Hold section of the Tap Hold page + removed trailing whitespaces (#10391) * Wording & formatting changes in Tapping Force Hold The Permissive Hold and the Ignore Mod Tap Interrupt sections were also modified to remove the quotes around "tapping". * Removed all trailing whitespaces from tap hold doc * "it's simply really:" → "it's simple really:" * "This allows to keep the ability" → "This allows keeping the ability" Used the gerund form of "to keep" in the Tapping Force Hold section of the Tap Hold docs. Co-authored-by: ridingqwerty Co-authored-by: ridingqwerty commit c16ee227843dbdb23907fec50fdcad327aa359d7 Author: Ryan Date: Sun Sep 27 04:42:40 2020 +1000 `setrgb()`: Use arrow operator (#10451) commit 1b7101f0654a4e6afd3998117bc5c040f86bb776 Author: Evy Dekkers <17366381+evyd13@users.noreply.github.com> Date: Sat Sep 26 07:39:14 2020 +0200 [Keyboard] add Percent Canoe Gen2 (#10344) * Add Canoe Gen2 * Fix info.json * Update info.json * Changes * Move canoegen2 to canoe_gen2 * Update canoe_gen2.h commit c4cc697aeff1d2591dc107e2106019906e3b0133 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Sat Sep 26 12:33:49 2020 +0700 [Keyboard] add hannah65 by Team Mechlovin (#10284) * add hannah65 * add iso layout, ansi layout * Update readme.md * add mechlovin9 * update * update * update * Update keyboards/mechlovin/hannah65/mechlovin9/info.json * Update keyboards/mechlovin/hannah65/mechlovin9/info.json * Update keyboards/mechlovin/hannah65/mechlovin9/readme.md * Update keyboards/mechlovin/hannah65/readme.md * Update keyboards/mechlovin/hannah65/rev1/info.json * Update keyboards/mechlovin/hannah65/rev1/info.json * Update keyboards/mechlovin/hannah65/rev1/rev1.h * Update keyboards/mechlovin/hannah65/rev1/rev1.h * Update keyboards/mechlovin/hannah65/mechlovin9/info.json * update * Update keyboards/mechlovin/hannah65/mechlovin9/info.json * Update keyboards/mechlovin/hannah65/mechlovin9/info.json commit b6f9ca3b0970cbe84a434b4cfe972d97aa432547 Author: Ryan Date: Sat Sep 26 14:14:34 2020 +1000 Fix Belgian sendstring properly (#10444) commit 603c8d1f060873114fe6418216bf4ff9ef5029f9 Author: jackytrabbit Date: Sat Sep 26 09:45:36 2020 +0800 Add VIA support for lazydesigners/the30 (#10374) * Create rules.mk * Add files via upload * Update keyboards/lazydesigners/the30/keymaps/via/keymap.c commit 4a83021fe0d07888e0e3bf161882c4ab7221a4a6 Author: doodboard Date: Sat Sep 26 06:30:52 2020 +0900 [Keyboard] add duckboard by doodboard (#10318) * Adding duckboard to QMK Adding duckboard support to QMK * added duckboard under doodboard * changed debouncing delay to debounce * Update keyboards/doodboard/duckboard/config.h * Update keyboards/doodboard/duckboard/config.h * Update keyboards/doodboard/duckboard/kb.h * Update keyboards/doodboard/duckboard/keymaps/default/keymap.c * Update keyboards/doodboard/duckboard/rules.mk * Update keyboards/doodboard/duckboard/kb.h * Update keyboards/doodboard/duckboard/kb.c * Update code per review Update code per review * folder name errod folder name errod * Update keyboards/doodboard/duckboard/config.h * Update keyboards/doodboard/duckboard/rules.mk * Update keyboards/doodboard/duckboard/rules.mk * Update keyboards/doodboard/duckboard/config.h * Create info.json * Update keyboards/doodboard/duckboard/duckboard.h * Update keyboards/doodboard/duckboard/info.json * Update keyboards/doodboard/duckboard/info.json * Update keyboards/doodboard/duckboard/duckboard.h * Update keyboards/doodboard/duckboard/readme.md commit 9570b1bbb4ce2358efedf4a25233ee2c15b8745b Author: Drashna Jaelre Date: Fri Sep 25 12:34:38 2020 -0700 Fix Belgian sendstring file (#10443) Specifically, the `BE_CIRC` is an alt-ed keycode, which means it doesn't fit into the 8 bit keycode range... It should be `BE_SECT`, as it is already alt-ed by the alt lut. Confirmed that this change fixes compilation warnings and works correctly, on reddit. https://www.reddit.com/r/olkb/comments/iywin1/unsigned_conversion_from_int_to_unsigned_char/g6jvfgl/ commit 4511201d809fca8777bff9f7bcbc89e260fd73b4 Author: Felix Jen Date: Thu Sep 24 01:55:59 2020 -0500 [Keyboard] added Bolsa65 keyboard by FJLabs (#10394) * Modifed for BKS65 * Added test board * attempts * Working compile * updated rules for processor frequency and documented * Disabed some deprecated features * Removed extraneous code * remove test code * Renamed board * LED and layer code * Added via support * Update keyboards/fjlabs/bolsa65/bolsa65.c Fixed indentation as suggested. * Update keyboards/fjlabs/bolsa65/config.h Removed extraneous defaults * Update keyboards/fjlabs/bolsa65/keymaps/default/keymap.c Different layer enumeration method * Update keyboards/fjlabs/bolsa65/keymaps/via/keymap.c New layer enumeration method. * Update keyboards/fjlabs/bolsa65/config.h Removed extraneous description. * Update keyboards/fjlabs/bolsa65/keymaps/via/rules.mk Removed extraneous bootmagic * Update keyboards/fjlabs/bolsa65/rules.mk Updated rules * Update keyboards/fjlabs/bolsa65/readme.md Markdown list formatting * Update keyboards/fjlabs/bolsa65/bolsa65.h Changed layout name * Update keyboards/fjlabs/bolsa65/info.json Changed layout name * Update keyboards/fjlabs/bolsa65/keymaps/via/keymap.c Changed Layout name * Update keyboards/fjlabs/bolsa65/keymaps/via/keymap.c Change layout name * Changed layout names * Updated readme to reflect new keyboard name * Update keyboards/fjlabs/bolsa65/config.h Removed extraneous code * Added license file header * Removed VSCode folder * Update keyboards/fjlabs/bolsa65/keymaps/via/keymap.c * Update keyboards/fjlabs/bolsa65/info.json * Update keyboards/fjlabs/bolsa65/keymaps/via/keymap.c commit 5f23f2121664cb84678c305de12497defecf6d7e Author: Ryan Date: Thu Sep 24 15:16:00 2020 +1000 CLI/Doctor: Print QMK_HOME (#10398) commit 086c9c714e0cf8b320d603c088e715dc199e6a39 Author: Albert Dong Date: Wed Sep 23 22:15:18 2020 -0700 Add Wyvern Keyboard (#10378) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 9c596c1c5bcdc1e3912167fec19d8653b12508f0 Author: George Mao Date: Wed Sep 23 21:10:40 2020 -0700 Adding Bear 65 Ergo Keyboard To QMK (#10384) Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit cd64425fdddbc5fd46f8ce3e0516dc320102905f Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Sep 23 20:53:08 2020 -0700 VIA Support: Gray Studio HB85 (#10329) * edit vid and pid * add VIA keymap * add my name to the readme * Update keyboards/gray_studio/hb85/keymaps/via/config.h * we have a third endpoint, no need to disable mousekeys * Update keyboards/gray_studio/hb85/keymaps/via/keymap.c * add license header commit 860deb774e1c30188d11640a01e537cd3e4a07dd Author: QMK Bot Date: Thu Sep 24 02:35:14 2020 +0000 format code according to conventions [skip ci] commit ec7ce15c111b14c04b826a7adad1ea089cc18be0 Author: Sendy YK <69058604+mrsendyyk@users.noreply.github.com> Date: Thu Sep 24 09:34:22 2020 +0700 Add ai03/soyuz VIA Support (#10336) * Add ai03/soyuz:via * Update config.h * Update keymap.c * Revert "Update keymap.c" This reverts commit e3766b3b603aecca82b337e5ae8d5613f47526d6. * Update keymap.c * Update keymap.c * Update keyboards/ai03/soyuz/config.h commit 30ffae2317936ece2f3275f6fab5a5df212afb85 Author: gooberpsycho <64438496+gooberpsycho@users.noreply.github.com> Date: Wed Sep 23 22:32:33 2020 -0400 [Keyboard] add 3dp660 handwired (#10296) * Create keymap.c * Add files via upload * Added files for handwired 3d printed clueboard 660 * create via layout files * added layout files for via * updated product ID to fix id conflicts * change product ID to fix ID conflicts. * fixed capitalization error that was causing issues * fixed capitalization issues. * fix syntax errors * Fixed syntax errors (stray punctuation) * Compatibility fixes * Compatibility fixes * Compatibility fixes * Compatibility fixes * capitalization fixes * Compatibility fixes * Compatibility fixes * Compatibility Fixes * Compatibility fixes * Compatibility fixes * Compatibility changes * upkeep, fixing typos * Update keyboards/handwired/3dp660/config.h Removed Description line * Update keyboards/handwired/3dp660/rules.mk correct bootloader * Update keyboards/handwired/3dp660/3dp660.h fix case sensitive typos * Update keyboards/handwired/3dp660/keymaps/default/keymap.c change tab indentation to space indentations. * Update keyboards/handwired/3dp660/keymaps/via/keymap.c change tab indentations to space indentations * Delete 3dp660.json This file was for VIA, and shouldn't be in this repo. I placed it here so I wouldn't misplace it in my filesystem. My apologies. * Update info.json change suggestions to other file said to lowercase "ansi", caused reference issues, changed all instances of "ANSI" to "ansi". * Update keymap.c change suggestions to other file said to lowercase "ansi", caused reference issues, changed all instances of "ANSI" to "ansi". * Update keymap.c more capitalization fixes * Update keyboards/handwired/3dp660/readme.md shortened imgur url * Update keyboards/handwired/3dp660/rules.mk remove extraneous comments * Delete config.h * Update keyboards/handwired/3dp660/rules.mk * Update 3dp660.c add license headers to all .c and .h files * Update 3dp660.h added license header to all .c and .h files. * Update keymap.c added license header to all .c and .h files. * Update keymap.c added license header to all .c and .h files. * Update keyboards/handwired/3dp660/readme.md Add maintainer URL * Update keyboards/handwired/3dp660/keymaps/default/keymap.c remove extraneous default keymap layers * Update keyboards/handwired/3dp660/keymaps/default/rules.mk * Update rules.mk Moved LTO to keyboard level. * Update rules.mk Moved LTO to keyboard level. * Delete rules.mk Made obsolete by LTO move to keyboard level. * Update keyboards/handwired/3dp660/rules.mk capitalization errors. * Apply suggestions from code review Housekeeping, changing code for readability. commit 940280c43594833e2208d8514452b8ab88c14a9c Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Sep 23 18:52:04 2020 -0700 VIA Support for flehrad Big Switch (#10325) * add VIA keymap * Update keyboards/flehrad/bigswitch/keymaps/via/keymap.c commit 940c294d26dfe5ab51b094db4f76cc819cdb18f5 Author: 2Moons-JP <57225836+2Moons-JP@users.noreply.github.com> Date: Thu Sep 24 10:47:27 2020 +0900 [Keyboard] add Basekeys Trifecta (#10375) * Trifecta 09-20 * Update keyboards/basekeys/trifecta/config.h * Update keyboards/basekeys/trifecta/config.h * Update keyboards/basekeys/trifecta/config.h * Update keyboards/basekeys/trifecta/keymaps/default/keymap.c * Update keyboards/basekeys/trifecta/keymaps/via/keymap.c * Update keyboards/basekeys/trifecta/rules.mk * Update rules.mk Suggested Changes * Update keyboards/basekeys/trifecta/readme.md * Update keyboards/basekeys/trifecta/readme.md * Tap Dance Removal * Update keyboards/basekeys/trifecta/keymaps/default/keymap.c * Update keyboards/basekeys/trifecta/keymaps/default/keymap.c * Update keyboards/basekeys/trifecta/keymaps/via/keymap.c commit f2dec4d3cf244a56bbe650c532adf69affbf6e94 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Thu Sep 24 09:45:43 2020 +0800 [Keyboard] add MelGeek MJ61 (#10341) * [Keyboard] Support MJ61 which is a 60% ANSI STD Hotswap RGB keyboard * Update keyboards/melgeek/mj61/mj61.c * Update keyboards/melgeek/mj61/mj61.c * [Keyboard] MJ61 Add license header for files and the link for readme * Update keyboards/melgeek/mj61/readme.md * Update keyboards/melgeek/mj61/rev1/config.h * Update keyboards/melgeek/mj61/rev1/rules.mk * Update keyboards/melgeek/mj61/mj61.c * Update keyboards/melgeek/mj61/mj61.c commit ef7c79b781318faaef4e6fe318fffade1b1ed299 Author: cmdremily <68452184+cmdremily@users.noreply.github.com> Date: Sat Sep 12 22:32:46 2020 +0200 Fix issues with unused variables and functions preventing a clean compile. commit 8711dda0d31cae8719ca5fa20729cc877e1dee3c Author: cmdremily <68452184+cmdremily@users.noreply.github.com> Date: Sat Sep 12 22:32:28 2020 +0200 Allow the use of a single IS31FL3731 LED driver commit 8b9617f93dce6fdf1b4e003da3e120f9c6853d23 Author: myfreeweb Date: Wed Sep 23 07:17:36 2020 +0300 [Keyboard] Add Spider Island split 78 key ps2avrGB based keyboard (#9900) commit 96101adea9a41f8c0b2b043c898026808cfff37f Author: Sendy YK Date: Wed Sep 23 08:31:05 2020 +0700 Minor updates ai03/soyuz:mrsendyyk (#10333) * Minor updates ai03/soyuz:mrsendyyk * Update keymap.c * Update readme.md * Update keymap.c * Update readme.md commit d828e991a91e85949d1aa43bcc7b79c24d30e05a Author: kingwangwong <31333140+kingwangwong@users.noreply.github.com> Date: Tue Sep 22 19:58:45 2020 -0500 [Keymap] update to king keymaps by kingwangwong (#10299) Adding my kbd67mkii keymap and some changes to kumo Keymaps for kbdfans/kbd67/mkii_soldered and thevankeyboards/minivan * Changes to minivan layout * KBD67 keymap * commiting my files commit afb9179b6532d2968923d9991e9d2d5d3e506e06 Author: Isaac Date: Tue Sep 22 20:35:04 2020 -0400 Add swap hands config for kyria (#10397) * add swap hands config * move to rev1 commit 5faf5383ad4f651fd3d576a4d0932679f14c752e Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Tue Sep 22 15:39:09 2020 -0700 add handwired/swiftrax/retropad (#10331) * add retropad * fix indicator leds * fix bootmagic * fix led indicators * fix keymap * fix keymap * fix keymap * fix keymap * fix license headers * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Swiftrax Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 4bf5f9424ed167af5881f1c7087dc80321541f06 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Wed Sep 23 06:54:33 2020 +0900 [Docs] Japanese translation of docs/understanding_qmk.md (#10136) * add understanding_qmk.md translation * update based on comment * update based on comment * update based on comment * update based on comment * update based on comment commit 2fbf68f2d2a807e4009e3800f7d6dace82940646 Author: Max Drasbeck Date: Tue Sep 22 23:42:55 2020 +0200 [Keymap] Adding drasbeck keymaps for lily58pro and preonic (#10013) * added danskish keymap * Added readme.md * Clean up in keymap.c * Added license * Changed name of keymap * adjusting tapping term * added encoder functionality * housekeeping * layouts resemble the layout now * implemented suggestions from drashna * added keymap for preonic rev3 * added default layer to readme.md * removed backslashes * Update keyboards/lily58/keymaps/drasbeck/keymap.c * Update keyboards/preonic/keymaps/drasbeck/readme.md * Update keyboards/lily58/keymaps/drasbeck/rules.mk * Update keyboards/preonic/keymaps/drasbeck/keymap.c * Update keyboards/preonic/keymaps/drasbeck/keymap.c * Update keyboards/preonic/keymaps/drasbeck/keymap.c * Update keyboards/preonic/keymaps/drasbeck/keymap.c * Update keyboards/lily58/keymaps/drasbeck/rules.mk * Update keyboards/lily58/keymaps/drasbeck/rules.mk * Update keyboards/lily58/keymaps/drasbeck/rules.mk * Update keyboards/preonic/keymaps/drasbeck/rules.mk commit 9c31a7adbabccbe34b12affd6b3f582c0cce10a5 Author: Brian Marsh Date: Tue Sep 22 15:02:01 2020 -0500 [Keymap] Add pezhore preonic keymap (#10269) * Squashing commits - adding preonic keymap This adds a custom keymap, including numpad layer, emoji, and kamoji key mappings. * Removing unnecessary trailing backslash characters * removing the unnecessary json keymap * removing unnecessary trailing slashes from the default keymap * switching to tap_code * Apply suggestions from code review This should enable a toggleable numpad * adding license * Stripping out FN keycodes in favor of a momentary layer commit 1ff51579ec2de8f4721fb918d10dc07454217b31 Author: Roman Bange <13252574+rbange@users.noreply.github.com> Date: Tue Sep 22 21:39:50 2020 +0200 Add VIA support for YD60MQ (#10321) * add via support for yd60mq * switch to bootmagic lite, to decrease firmware size * Update PRODUCT_ID comment * add license header commit e52fc935b020f1f6781a7ee0d893705eca78ae12 Author: 2Moons-JP <57225836+2Moons-JP@users.noreply.github.com> Date: Wed Sep 23 04:28:54 2020 +0900 Add VIA Support for Basekeys Slice rev1 (#10385) * Slice Via * Keymap Update * Update keyboards/basekeys/slice/rev1/keymaps/via/keymap.c commit 539cc45fba6e535781cd1711da0f1a5ce9b3ce63 Author: Dmitry Nosachev Date: Tue Sep 22 22:26:19 2020 +0300 [Keyboard] Fujitsu T111 keyboard (#10262) * Fujitsu T111 keyboard * info.json: fixed missing key on top row * info.json: fixed name and maintaner fields * Update keyboards/handwired/t111/keymaps/oleg/keymap.c * Update keyboards/handwired/t111/config.h * Update keyboards/handwired/t111/keymaps/oleg/keymap.c * Update keyboards/handwired/t111/keymaps/oleg/keymap.c * Apply suggestions from code review * Update keyboards/handwired/t111/readme.md commit 57dd756507094224bc68bbd6b6fac0f0ad7f8084 Author: Ethan Nguyen Date: Tue Sep 22 19:47:03 2020 +0100 [Keymap] Add ethan605 keymap for kbd75 (#10343) * Add my KBD75 keymaps * Acknowledge PR reviews * Acknowledge PR reviews commit e3395beda02d555090e6ccc9b193530351eb71f4 Author: Seaton Jiang Date: Wed Sep 23 02:44:51 2020 +0800 [Keyboard] Add Longnald Corin Keyboard (#10280) * [Keyboard] Add Longnald Corin * feat: optimized firmware * feat: optimized firmware * fix: keyboards/longnald/corin/rules.mk * feat: rename layout macros * feat: rename layout macros * feat: rename layout macros * feat: rename layout macros * feat: rename layout macros * feat: rename layout macros * feat: rename layout macros commit 7a3a57e457aa28afa62448deca838a2582e86587 Author: Reibl János Dániel Date: Tue Sep 22 20:39:07 2020 +0200 Updates to handwired/riblee_f401 keymaps (#10376) * Add new keymap with Hungarian accent support Add flashing support * Remove unnecessary mcu config * Use bootmagic instead of custom macros commit 0fbb1e550a1c65fcc07b206aec449811e71642ff Author: Peter Landoll Date: Tue Sep 22 08:31:37 2020 -0400 Add description in Bluetooth docs for requiring NKRO to be disabled (#10359) commit 0976db7e5e6c701bc3414556d20fbb6c7d19aa39 Author: moyi4681 Date: Tue Sep 22 15:48:55 2020 +0800 [Keyboard] add Bella soldered keyboard (#10381) * Add bella soldered keyboard * Create info.json * Update keyboards/kbdfans/bella/soldered/rules.mk * Update keyboards/kbdfans/bella/soldered/rules.mk * Update keyboards/kbdfans/bella/soldered/rules.mk * Update keyboards/kbdfans/bella/soldered/rules.mk * Update keyboards/kbdfans/bella/soldered/info.json commit 207f0b00fa14c853b0015c30b7c5482a19afc25a Author: Spaceman Date: Tue Sep 22 03:33:39 2020 -0400 [Keyboard] add Handwired/Curiosity (#10369) * Add curiosity * Add default keymap * Update config.h * Apply suggestions from code review * Update keyboards/handwired/curiosity/rules.mk * Update keymap.c * Apply suggestions from code review commit 4a37af79e90dbbc7df65d0c8011311c5e54d4d4f Author: DonutCables Date: Tue Sep 22 02:44:23 2020 -0400 [Keyboard] Budget96 info cleanup and updates (#10268) * Cleanup/updates to Budget96 info * Add personal keymap * Requested config.h update Co-authored-by: Ryan * Requested rules.mk update Co-authored-by: Ryan * Requested keymap.c update * Requested config.h update Co-authored-by: Ryan Co-authored-by: Ryan commit e4a4ed3b0c053ebed902a28b2a8f68cdf78597f5 Author: Croktopus <39040552+Croktopus@users.noreply.github.com> Date: Mon Sep 21 22:54:55 2020 -0700 moved encoder code to timberwolf.c (#10317) * moved encoder code to timberwolf.c * Update keyboards/metamechs/timberwolf/timberwolf.c Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 7ddae97c89905f8826c2efe0331d681d6a75876a Author: Sergey Vlasov Date: Tue Sep 22 08:50:39 2020 +0300 Fix backlight for F401/F411 blackpill onekey examples (#10320) Fix configs to make the `handwired/onekey/blackpill_f401:backlight` and `handwired/onekey/blackpill_f411:backlight` examples actually compile and work: - Use `PWMD5` instead of `PWMD2` for backlight, which matches the default value of `BACKLIGHT_PAL_MODE` (AF02 for pin A0 is `TIM5_CH1`) and does not conflict with the default value of `STM32_ST_USE_TIMER`. - Enable `HAL_USE_PWM` in halconf.h and `STM32_PWM_USE_TIM5` in mcuconf.h, so that `PWMD5` could be used. commit ea0cf42eef81c137b6483cb0d33336bc98847981 Author: Rustam Zagirov Date: Tue Sep 22 08:12:29 2020 +0300 [Keymap] Add stamm layout for ergodox_ez (#10365) Co-authored-by: Drashna Jaelre commit bfbcfbc83e9c496abff002726f7cc07108d99003 Author: dezli <29718605+dezlidezlidezli@users.noreply.github.com> Date: Tue Sep 22 13:03:03 2020 +0800 [Keyboard] Add miniMACRO5 Macropad (#10392) * add miniMACRO5 add all nessecary files for the miniMACRO5 I have rewritten the readme, and changed the keymaps to be more simple. I have tested compiling, and everything works perfectly. * update miniMACRO5 readme add the make example into the readme file * Update keyboards/minimacro5/config.h Co-authored-by: Ryan * Update keyboards/minimacro5/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/minimacro5/keymaps/media/keymap.c Co-authored-by: Ryan * Update keyboards/minimacro5/keymaps/media/keymap.c Co-authored-by: Ryan * Update keyboards/minimacro5/minimacro5.c Co-authored-by: Ryan * Update keyboards/minimacro5/info.json Co-authored-by: Ryan * Apply suggestions from code review applied all suggestions. Co-authored-by: Ryan * drashna suggestions - enum rather than define committed enum update by drashna Co-authored-by: Drashna Jaelre * update keymap.c incorrect brackets Co-authored-by: dezli Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 967ed19d77ce6793dac6cd94e294fe9edff5a39b Author: Ole Westendorff Date: Tue Sep 22 05:35:51 2020 +0200 [keyboard] xd60: add split layout for ansi and iso (#10337) commit 342ab6ab80ce4a3c1a12c1a8621afdacae82e674 Author: Jonathan Rascher Date: Mon Sep 21 22:32:56 2020 -0500 Update bcat keymaps for crkbd and lily58(#10298) * Swap ergo lower layer shortcuts for zoom keys commit 0b2eae768637bc9230fec5d5167f617b21f4e179 Author: marksard <38324387+marksard@users.noreply.github.com> Date: Tue Sep 22 11:16:43 2020 +0900 Fixed info.json file for treadstone48/rev2 (#10290) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Fixed info.json file. commit 924823cfb420a61986b5bb816b2c82ba6c0210a1 Author: jotix <69703151+jotix@users.noreply.github.com> Date: Mon Sep 21 22:54:09 2020 -0300 update jotix ortho_4x12 keymap: add some missing keycodes (#10289) commit ccab502241f3028c2c10f20f0e319fb41dd965ca Author: codecoffeecode Date: Mon Sep 21 18:41:36 2020 -0700 [Keymap] add codecoffeecode keymap for Preonic (#10364) * Adding preonic layout * deleting unnecessary files * Fixing spacing * I need to not commit things while I'm not sober * Update keyboards/preonic/keymaps/codecoffeecode/keymap.c * Update keyboards/preonic/keymaps/codecoffeecode/keymap.c * Update keyboards/preonic/keymaps/codecoffeecode/keymap.c * Adding license header commit c23667608c6ebb8f6d8a7f9b115144abd8794e00 Author: Fred Silberberg Date: Mon Sep 21 18:39:50 2020 -0700 Add OLED driver function to determine if the screen is currently on (#10382) commit dc037f139135e2321a71dda90ecee4535d363f28 Author: Adam Gwilliam Date: Mon Sep 21 19:57:00 2020 -0500 update vendor id of 4x12 to match 3x4 and 5x12 for boardsource (#10306) commit b86fa3daf3e9106177f627365c9540fdc47c6970 Author: 2Moons-JP <57225836+2Moons-JP@users.noreply.github.com> Date: Tue Sep 22 09:33:17 2020 +0900 Copyright Updates for basekeys/slice (#10383) * Copyright Updates * Copyright Updates commit bc8fe91fd10b290c43c25c2890ad64e73948db47 Author: Eric N. Vander Weele Date: Mon Sep 21 20:29:04 2020 -0400 massdrop/alt: Remove unused user functions and config in default keymaps (#10313) The default keymaps don't make use of the global `keymap_config` variable nor the `matrix_*_user()` functions. Therefore, remove them to avoid confusion for future keymap authors. commit e3f9569acd42854bbadfbf27a0f8b59271d09284 Author: Samuel Baumgartner Date: Tue Sep 22 02:25:29 2020 +0200 bm60rgb_iso: add underglow support (#10307) * add underglow definition commit ebbcb8399824cc66103b5f7362d84a9bb40874ba Author: Dan Date: Mon Sep 21 17:47:46 2020 -0400 Add Amethyst keybindings for some dcompact implementations (#10345) * Fix missing VAI * Add amethyst keybindings * Add amethyst bindings for planck commit 6bebb1233dfe2f6f939850e6c42b1babc8efbf38 Author: Brandon Schlack Date: Mon Sep 21 14:44:18 2020 -0700 Enable Extrakey in VIA for CFTKB keyboards (#10308) commit e4cf0a40a5f42d04bc4b969935fba96018f6e1be Author: Dan <14043624+delivrance@users.noreply.github.com> Date: Mon Sep 21 23:06:51 2020 +0200 [Keymap] Add delivrance's keymap for 40percentclub/mf68 (#10294) commit b3508271f86c553b96eb3d2537d6d46423157e15 Author: MakotoKurauchi Date: Tue Sep 22 05:40:53 2020 +0900 add VIA support for Quick7 (#10281) * update "Hardware Availability" * add a section of "How to build" * update "Hardware Supported" * add VIA keymaps * add 2 layers to VIA keymaps Co-authored-by: keyaki-namiki <28521374+keyaki-namiki@users.noreply.github.com> commit c4eb0df428946402247fbf3b0590bc6921661e75 Author: Sendy YK Date: Tue Sep 22 03:34:57 2020 +0700 Minor updates dz60:mrsendyyk (#10334) * Minor updates dz60:mrsendyyk * Update keymap.c * Update keymap.c * Update readme.md commit becaf325a3f1095913757480b379a7ee31a5241f Author: Sendy YK Date: Tue Sep 22 03:34:06 2020 +0700 Minor updates 60_ansi_arrow (#10332) * Minor updates 60_ansi_arrow * Update keymap.c * Update keymap.c * Minnor updates * Minnor updates * Update readme.md commit 2f637e4ea124e8235e336c009d0671bed88aca4c Author: Dustin Bosveld Date: Mon Sep 21 12:35:26 2020 -0600 [Docs] Clarify functionality of update_tri_layer_state (#10370) * Add information to docs - If layer z is not a higher layer than both x and y, the layer change code does not function correctly. * Update docs/ref_functions.md * Update docs/ref_functions.md * Update docs/ref_functions.md commit 0384237544a1d377ff0946e59f564529a717e341 Author: Thierry Michel Philippe Kleist Date: Mon Sep 21 20:12:22 2020 +0200 [Keyboard] knife66 added (#9877) * feat: keyboard knife66 added * fix: requested changes applied * docs: updated readme * feat: added support for ws2812 * fix: adjusted headers and readme * fix: moved to LAYOUT_all commit bc7a745227d453dd68ae2f40b0c4ff98c082212f Author: Wilba Date: Mon Sep 21 21:21:19 2020 +1000 Fix typo in via.c (#10000) commit 7f34a6b6357718e942fa86433c72871fb22517b6 Author: worldspawn00 Date: Sun Sep 20 23:39:02 2020 -0400 [Keyboard] adding V2 support (#10309) updating image for V2 options commit 9f0a2a78a0117ad0bcff4f276b62749324932585 Author: Spaceman Date: Sun Sep 20 15:54:16 2020 -0400 Fix media keys in via keymap for 2% milk (#10357) * Allow media keys in milk via * Update rules.mk * Update rules.mk * Update rules.mk commit fee953c4f872894e53723c27686568a69b0a71ee Author: Sergey Vlasov Date: Sun Sep 20 22:50:52 2020 +0300 Disable the command feature for onekeys (#10366) There is no way to invoke the command feature while having just a single physical key, and disabling that feature fixes build for keymaps like `handwired/onekey/promicro:rgb` without resorting to LTO (the command feature consumes more than 4900 bytes with avr-gcc 8.4.0). commit fb4a6ad30ea7a648acd59793ed4a30c3a8d8dc32 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Sep 19 23:37:31 2020 -0700 KBD67 MkII Soldered: ISO layout patches (#10367) * KBD67 MkII Soldered: Fix ISO blocker layout Matrix data was wrong; KC_NUHS key did not work. * KBD67 MkII Soldered: Add ISO blocker with Split Backspace layout commit a2ff3c4d145a528d6b6aaf309b46228f184f0bd5 Author: coseyfannitutti <43188488+coseyfannitutti@users.noreply.github.com> Date: Sat Sep 19 22:40:15 2020 -0400 [Keyboard] add iso compatibility for mysterium rev1.1 pcb (#10348) commit ed2ba645c05fe3a0b8dcf5ac8be4ec2426c4917c Author: muuko <39163197+muuko@users.noreply.github.com> Date: Sat Sep 19 22:07:50 2020 -0400 [Keymap] Add lily58/muuko keymap (#10355) * lily58 layout with working bongo cat timeout * lily58 layout with working bongo cat timeout * spacing * spacing * spacing * spacing * spacing * layout * spacing * keymap * keymap * spacing * keymap * spacing * Update keyboards/lily58/keymaps/muuko/config.h Co-authored-by: Drashna Jaelre * Update keyboards/lily58/keymaps/muuko/rules.mk Co-authored-by: Drashna Jaelre * review * spacing * remove unnecessary func * changed proximity of layer button Co-authored-by: Drashna Jaelre commit e1437c1859b088c4da7ffb517f8034723172cd82 Author: Richard Titmuss Date: Sun Sep 20 02:48:43 2020 +0200 [Keyboard] Add Torn keyboard (#10207) * Add Torn keyboard * Apply suggestions from code review Co-authored-by: Nick Brassel * Remove via json file * Add mcp23081_pin_t * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Richard Titmuss Co-authored-by: Nick Brassel Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 741856dd57735dcd143987eb954ecc4a5ca2fc96 Author: pabile <1162412+pabile@users.noreply.github.com> Date: Sun Sep 20 08:42:56 2020 +0800 [Keyboard] add P40 Ortho, P42, and P20 ver2 by pabile (#9980) * Add files via upload * removed * Add files via upload * Rename pabile40.c to p40.c * Rename pabile40.h to p40.h * Add files via upload * Update p40.c * Update p40.h * Update README.md * Update README.md * Update README.md * Update README.md * Updated readme file * Updated readme file * Add files via upload * modified: keyboards/pabile/p18/config.h modified: keyboards/pabile/p18/keymaps/default/keymap.c modified: keyboards/pabile/p18/p18.h modified: keyboards/pabile/p18/rules.mk modified: keyboards/pabile/p40/config.h modified: keyboards/pabile/p40/keymaps/default/keymap.c * config update * Delete README.md.save * Delete keymap.c.save * Delete keymaps.c * modified: keyboards/pabile/p18/keymaps/default/keymap.c * Update p18.h * testing layout config * Create info.json * Create info.json * Create readme.md * Update readme.md * Updated description * Updated description * Update config.h updated vendor ID to 0000 * Update keymap.c removed unnecessary comments * Update keyboards/pabile/p18/p18.h Co-Authored-By: ridingqwerty * Update keyboards/pabile/p18/p18.h Co-Authored-By: ridingqwerty * Update p18.h removed unnecessary comments * Update keyboards/pabile/p18/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/pabile/p18/rules.mk Co-Authored-By: ridingqwerty * Update config.h updated vendor id and removed unnecessary comments * Update keyboards/pabile/p40/info.json Co-Authored-By: ridingqwerty * Update keyboards/pabile/p40/keymaps/default/keymap.c Co-Authored-By: ridingqwerty * Update keyboards/pabile/p40/p40.h Co-Authored-By: ridingqwerty * Update keyboards/pabile/p40/p40.h Co-Authored-By: ridingqwerty * Update keyboards/pabile/p40/p40.h Co-Authored-By: ridingqwerty * Update keyboards/pabile/p40/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/pabile/p40/rules.mk Co-Authored-By: ridingqwerty * Added p20 macropad * Update README.md * Updated VID and PID * Updated VID and PID * Update rules.mk * Update config.h * Update config.h * Update config.h * Update keymap.c * Replaced blank keys with KC_NO * Update keyboards/pabile/p18/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/pabile/p18/p18.h Co-Authored-By: Drashna Jaelre * Update keyboards/pabile/p18/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/pabile/p20/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keymap.c * Update keymap.c * Update keyboards/pabile/p20/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/pabile/p40/info.json Co-Authored-By: Drashna Jaelre * Update keyboards/pabile/p20/p20.h Co-Authored-By: Drashna Jaelre * Updated product ID * Updated product ID * Update keyboards/pabile/p20/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p20/p20.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p20/p20.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p20/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p18/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p20/README.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p20/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p20/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p20/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p20/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40/README.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p18/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p18/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p18/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Changed to lowercase filename * Rename README.md to readme.md * Update keyboards/pabile/p18/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Add files via upload * typo * New keyboard * Updated image link * Updated default ortho keymap * Update keymap.c * Update readme.md * Update keymap.c * Update keymap.c * default firmware * Delete pabile_p40_ortho.hex * Update keymap.c added KC_SPC to make keymap compatible with both grid and MIT. keymap is designed for MIT. * Update keymap.c * Update info.json added MIT layout * Update p40.h added MIT layout option * Added support for version 2 PCB New/corrected pin locations. (Backlight) LED pin now on B6. Up to 3 rotary encoder support. * Update readme.md update for PCB v2 * Update readme.md updated link * Update readme.md * Update readme.md * Update readme.md * Update config.h removed backlight pins * Update keymap.c added encoder. simplified layout. * Update keymap.c * Update p42.h * Update keymap.c simplified * Update keymap.c * Update readme.md replaced photo * Added new keyboard Initially placed under p40. separated as a new keyboard following an advise from gh. * start rename * removed old folder * reverted to last merge * revert to last merge * Update p40.h reverted to last merge * Update keymap.c * Update keymap.c removed encoder support * Update config.h removed encoder support * Update config.h removed encoder support * Update keymap.c removed encoder support * Update readme.md removed encoder support * Update info.json * Update keymap.c * Update keymap.c * Update keyboards/pabile/p20/rules.mk added numpad option Co-authored-by: Drashna Jaelre * added numpad option * Update keyboards/pabile/p40/keymaps/ortho/config.h Co-authored-by: Drashna Jaelre * Update keyboards/pabile/p18/config.h Co-authored-by: Drashna Jaelre * Update keyboards/pabile/p20/config.h Co-authored-by: Drashna Jaelre * moved to p40_ortho keyboard rather than a keymap * moved to p40_ortho keyboard rather than a keymap * moved to p40_ortho keyboard rather than a keymap * Update config.h Added copyright details. * Update keyboards/pabile/p20/p20.h Co-authored-by: Drashna Jaelre * Update keyboards/pabile/p20/p20.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keymap.c alignment * Update keyboards/pabile/p42/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/p42.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/p40_ortho.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/p40_ortho.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p40_ortho/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p20/keymaps/ver2/config.h Co-authored-by: Drashna Jaelre * Update config.h Added copyright statement * Update config.h Added copyright statement * Update config.h Added license header * Update keymap.c Added license header * Update p20.h Added license header * Update p40_ortho.c Added license header * Update p40_ortho.h Added license header * Update keymap.c Added license header * Update keyboards/pabile/p42/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keymap.c Updated LAYOUT to LAYOUT_default in response to Run failed: PR Lint keyboards - master (0f278a2) * Update p42.h Updated LAYOUT to LAYOUT_default in response to Run failed: PR Lint keyboards - master (0f278a2) * Update p42.h Added license header * Update keyboards/pabile/p42/p42.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/pabile/p42/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * add pabile/p20/ver2 * add missing license header * Update keyboards/pabile/p20/ver2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/pabile/p20/ver1/ver1.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: root Co-authored-by: ridingqwerty Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 3abb60934886289725a18c7ea96b246e70f7af3a Author: Stephen Huan Date: Sat Sep 19 20:30:46 2020 -0400 Add stephen-huan keymap and fix LED problem in the default Plaid keymap (#9306) * change layers, add pinmode to fix LEDs * fix LEDs by setting the pin mode * edit README * edit GPIO documentation, edit keymap * add markov chain * simplify LED logic * undo documentation changes * keymap changes, fix LED enum logic commit 6eab8a0b619b55ca612d9cf048d365b1ba442328 Author: Joakim Tufvegren Date: Sun Sep 20 01:25:20 2020 +0200 [Keyboard] Make WPM sync between halves on Ergodox Infinity (#9526) * Make WPM able to sync between keyboard halves on Ergodox Infinity. * Fix mixed indentation in ergodox_infinity.c. commit 08ef4b4a96e5b6b5bd857a6570fdddd9d6fcaac7 Author: Patricio Gonzalez del Valle Date: Sat Sep 19 20:00:45 2020 -0300 [Keymap] Adds pagondel layout for dz65rgb v2 (#9914) * Adds pagondel layout for dz65rgb v2 * Adds license information * replaces define by enums * Update license year Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 12fe78ee57aca9d8fb9e85c2ee4176284ce26817 Author: jrdsgl Date: Sat Sep 19 13:02:35 2020 -0700 Align RoMac+ vendor and product info (#10349) * Update config.h adding vendor and product info so VIA will recognize it. * Update keyboards/kingly_keys/romac_plus/config.h thank you for this. commiting suggestion. Co-authored-by: Ryan Co-authored-by: Ryan commit bdb1b10e9900c12d21926793b8e1006b2b414e14 Author: Xyverz Date: Sat Sep 19 12:59:45 2020 -0700 Update Xyverz ortho_5x12 keymap (#10346) * Fixing my 5x12 Ortho layout Minor fixes. commit a0efe932394492ddd79212c2e652306aae9cf72d Author: Baris Tosun Date: Sat Sep 19 05:54:08 2020 +0200 Refactored the Katana60 folders under a rominronin parent folder (#10255) * refactored the Katana60 folders under a rominronin parent folder * Update keyboards/rominronin/katana60/info.json removed 'keyboard_folder' line * Update keyboards/rominronin/katana60/info.json removed 'key_count' line * Update keyboards/rominronin/katana60_rev2/config.h removed '#define DESCRIPTION' line * Update keyboards/rominronin/katana60_rev2/rules.mk Removed more attributes * Update keyboards/rominronin/katana60_rev2/rules.mk removed 'FAUXCLICKY_ENABLE' line * Update keyboards/rominronin/katana60_rev2/rules.mk Updated some comments * Update keyboards/rominronin/katana60_rev2/config.h Removed redundant comments * Update keyboards/rominronin/katana60_rev2/config.h removed redundant comments * Update keyboards/rominronin/katana60_rev2/config.h removed redundant comments * Update keyboards/rominronin/katana60/keymaps/default/keymap.c Fixed a non-standard keycode * Update keyboards/rominronin/katana60/keymaps/rominronin/keymap.c Removed deprecated code * Update keyboards/rominronin/katana60/rules.mk removed redundant comments * Update keyboards/rominronin/katana60_rev2/katana60_rev2.c removed redundant code * Update keyboards/rominronin/katana60_rev2/keymaps/rominronin_7u/keymap.c removed redundant code * Update keyboards/rominronin/katana60_rev2/rules.mk removed redundant comments * Update keyboards/rominronin/katana60_rev2/rules.mk updated some comments * Update keyboards/rominronin/katana60_rev2/rules.mk removed redundant code * Update keyboards/rominronin/katana60_rev2/keymaps/rominronin_7u/keymap.c optimised the layers definition * Update keyboards/rominronin/katana60/rules.mk removed redundant code * added the info.json file for every Tsuka60 layout * updated the info.json file details * removed broken keymap file, updated other files * updated the Katana60 rev2 info.json file * split katana60 into revisions * assign unique Vendor/Product ID pairings * modernize codebase #pragma once on included files; rules.mk templating * fix rev2 layout macros * updated the keymaps for correct automated building. * updated the default layout file * updated default rominronin 7u layout file * Update keyboards/rominronin/katana60/rev1/readme.md resized an image * Update keyboards/rominronin/katana60/rev2/readme.md resized an image * remove dead space from rev2 info.json file commit bbfb709a6a5d6429166f7b9b60610613fb647ca5 Author: Ryan Date: Sat Sep 19 13:48:02 2020 +1000 Add STM32F401/F411 to ARM_PROCESSORS (#10362) commit 0140baf7e0b041df841f8782743344a4ebe4ebe1 Author: Ryan Date: Sat Sep 19 13:00:18 2020 +1000 Add STM32F401/F411 to mcu_selection.mk (#10278) * Reorder STM32 MCUs * Add STM32F4xx to mcu_selection.mk * Set MCU for phoenix and tkw/stoutgat/v2/f411 commit b0024470ed347271e29b2de4d0442f855a26345c Author: 4pplet <4pplet@protonmail.com> Date: Sat Sep 19 04:31:44 2020 +0200 [Keyboard] 4pplet keyboards (#10251) * added 4pplet keyboards added 4pplet keyboards * Update keyboards/4pplet/aekiso60_rev_a/aekiso60_rev_a.h Co-Authored-By: Ryan * Update keyboards/4pplet/aekiso60_rev_a/config.h Co-Authored-By: Ryan * Update keyboards/4pplet/aekiso60_rev_a/config.h Co-Authored-By: Ryan * Update keyboards/4pplet/waffling60_rev_a/config.h Co-Authored-By: Ryan * Update keyboards/4pplet/aekiso60_rev_a/rules.mk Co-Authored-By: Ryan * Update keyboards/4pplet/aekiso60_rev_a/rules.mk Co-Authored-By: Ryan * Update keyboards/4pplet/waffling60_rev_a/rules.mk Co-Authored-By: Ryan * Update keyboards/4pplet/waffling60_rev_a/rules.mk Co-Authored-By: Ryan * Update keyboards/4pplet/steezy60_rev_a/config.h Co-Authored-By: Ryan * Delete info.json * Delete info.json * Delete info.json * removed VIA_ENABLE * Update config.h * Update rules.mk * Update steezy60_rev_a.h * Update config.h * Removed VIA_ENABLE * Update keyboards/4pplet/steezy60_rev_a/rules.mk Co-Authored-By: Ryan * Removed VIA_ENABLE * Update config.h * Update config.h * Update config.h * adding fauxpark suggestion * Update keyboards/4pplet/aekiso60_rev_a/config.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/4pplet/aekiso60_rev_a/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * some updates recommended by noroadsleft, still work in progress some updates recommended by noroadsleft, still work in progress * made directorys for revisions per noroadsleft suggestion made directorys for revisions per noroadsleft suggestion * renamed keyboard_pre_init_user to keyboard_pre_init_kb * Update keyboards/4pplet/aekiso60/rev_a/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/4pplet/waffling60/rev_a/rev_a.c Co-Authored-By: Drashna Jaelre * Update keyboards/4pplet/waffling60/rev_a/rev_a.c Co-Authored-By: Drashna Jaelre * started working on refactoring led function for waffling60 * removed LED functionality * Update keyboards/wilba_tech/zeal60/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/wilba_tech/zeal60/rules.mk Co-authored-by: Ryan * Update keyboards/4pplet/waffling60/rev_a/rules.mk Co-authored-by: Ryan * Update keyboards/4pplet/steezy60/rev_a/rules.mk Co-authored-by: Ryan * Update keyboards/4pplet/aekiso60/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/4pplet/aekiso60/rev_a/rules.mk Co-authored-by: Ryan * Update config.h added debounce to prevent stuttering with some switches * Update README.md * Adding masterwork classy_tkl * Update keyboards/masterwork/classy_tkl/rev_a/rev_a.c Co-authored-by: Drashna Jaelre * Update keyboards/masterwork/classy_tkl/rev_a/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/masterwork/classy_tkl/rev_a/rules.mk Co-authored-by: Drashna Jaelre * Update rev_a.c * Update rev_a.c * updated name from masterwork to masterworks * Update keyboards/masterworks/classy_tkl/info.json Co-authored-by: Drashna Jaelre * Update keyboards/masterworks/classy_tkl/info.json Co-authored-by: Drashna Jaelre * Update keyboards/masterworks/classy_tkl/info.json Co-authored-by: Drashna Jaelre * added license header to keymap * Update keyboards/masterworks/classy_tkl/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/masterworks/classy_tkl/rev_a/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/masterworks/classy_tkl/rev_a/rev_a.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/masterworks/classy_tkl/rev_a/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/masterworks/classy_tkl/rev_a/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/masterworks/classy_tkl/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/masterworks/classy_tkl/rev_a/rev_a.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/masterworks/classy_tkl/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit ccbbf1638947f90caa425ae792be71e6383569c6 Author: Rys Sommefeldt Date: Sat Sep 19 01:56:38 2020 +0100 Matrix Noah 6.25U bottom row plus personal keymap using it (#10134) * 6.25U bottom row ISO layout for Matrix Noah * Personal map for Matrix Noah using new 6.25U bottom row ISO * Switch to 65_iso_blocker and add that to info.json * Switch to 65_iso_blocker for the new layout * Fix whitespace issues commit a0305f5e7e1ffc19ef2dba077d000915f2fdf35b Author: fauxpark Date: Sat Sep 19 05:40:25 2020 +1000 Be more specific about Caterina devices, and add LilyPad PID commit c2a0cebf8b8e42323d913c5c4b536578c07e0864 Author: fauxpark Date: Thu Aug 27 13:13:30 2020 +1000 Add Pololu VID commit ef1b050b32b7a6ec5037489503caa92a527f6ab3 Author: fauxpark Date: Mon Jul 13 01:37:31 2020 +1000 Link to docs page in "missing" case commit 4bee445c2f086a31e34135c2a08cf4fbfe7daf94 Author: fauxpark Date: Mon Jul 13 01:33:43 2020 +1000 Split rules back up into bootloaders commit 7921c5d9b8d5726a916a89e01e7aa92d82fed067 Author: fauxpark Date: Mon Jul 13 01:26:46 2020 +1000 A comma would be nice commit 72b1ff5899763cf76b1cc1669c684fbc45cee7c4 Author: fauxpark Date: Mon Jul 13 01:24:28 2020 +1000 Add TMK "FEED" VID to list of deprecated udev rules commit eee6dd35446542c40c0f2a7827d9754aefd248e9 Author: fauxpark Date: Sat Jul 11 21:05:26 2020 +1000 Fix errors commit 510138f525a5ba216a170a0e0e94a4cf940a0c67 Author: fauxpark Date: Sat Jul 11 12:52:36 2020 +1000 Simplify doctor rule checking commit 07e37c857c76154325774d56af53d94d99016cff Author: fauxpark Date: Sat Jul 11 12:37:01 2020 +1000 Update rules in doctor.py commit a21e487fbc8bf81d66f32224477f0db52b34a3f3 Author: fauxpark Date: Fri Jul 10 13:15:37 2020 +1000 Consolidate udev rules into a single file commit 9eeb6048ff507185e3e788f0288c8341c5c14ce2 Author: yossiyossy <70216843+yossiyossy@users.noreply.github.com> Date: Sat Sep 19 04:01:43 2020 +0900 [Keyboard] Add maJIStic keyboard (#10258) * add maJIStic * fix for format * fix directory name * rm old directory of maJIStic * fix for comment * ISO/JIS Enter move to the home row. commit f079dd90ed88fd29b7e5bbdd3496742f3afeff4e Author: holtenc Date: Thu Sep 17 22:17:22 2020 -0500 Meridian initial commit (#10196) * Meridian initial commit * requested changes * Update keyboards/primekb/meridian/config.h Co-authored-by: Ryan * Update keyboards/primekb/meridian/rules.mk Co-authored-by: Ryan * made requested changes * Update meridian.c * Update keyboards/primekb/meridian/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit b846480d5a83171e85dba48422b42aa95e29d31a Author: David Cuthbert Date: Thu Sep 17 15:14:39 2020 -0700 Output an error message if LINK_TIME_OPTIMIZATION_ENABLE is set but LTO_ENABLE is not (#10217) * Output an error message if LINK_TIME_OPTIMIZATION_ENABLE is set but LTO_ENABLE is not. * Update common.mk Specify that LINK_TIME_OPTIMZATION_ENABLE has been renamed, not deprecated. commit abec529e62ed200313af0629377f8bc60ec83367 Author: spotpuff <32026605+spotpuff@users.noreply.github.com> Date: Thu Sep 17 17:55:19 2020 -0400 [Keymap] coppertop and spotpuff keymaps for DZ60 (#10216) * initial keymap commit * Keymap for coppertop commit * removed define for layers/kc_no/kc_trns * Modified keymap to remove definitions and add layer enum * initial keymap commit * Keymap for coppertop commit * removed define for layers/kc_no/kc_trns * Modified keymap to remove definitions and add layer enum * Changed KC_NO and KC_TRNS to 7X and 7_ * Fixed spacing on keymaps * TMO50: use layer_state_set_kb at keyboard level (#10150) * Change TMO to use layer_state_set_kb as is customary at the keyboard level. This also factors out `process_indicator_led` to a separate method. * [Keymap] update dz60:mrsendyyk (#10160) Update DZ60 Personal readme.md and keymap.c * Update readme.md * Update keymap.c * Update keymap.c * Update readme.md * Update readme.md * Update readme.md * Update keymap.c * Update readme.md * Update * Update readme.md * Update keymap.c * Update readme.md * [Keyboard] YMDK NP21 refactor (#10181) * [Keyboard] 1upkeyboards/1up60rgb: fix broken Enter (#10188) The recent change to unnest macros put the enter on the wrong matrix key. On the 1uprgb, the ANSI and ISO enters share the same cell as does the ANSI and ISO backslash. * no idea what this is * Update keyboards/dz60/keymaps/coppertop/keymap.c * Update keyboards/dz60/keymaps/coppertop/keymap.c * Update keyboards/dz60/keymaps/coppertop/keymap.c * Update keyboards/dz60/keymaps/spotpuff/keymap.c * Update keyboards/dz60/keymaps/spotpuff/keymap.c * Update keyboards/dz60/keymaps/spotpuff/keymap.c * Added Trns labels to keymap comments. * Revert "no idea what this is" This reverts commit dd950f9eb3bad365961d2aa6c97c9dfbdd6219db. * Reverted dd950f9eb3bad365961d2aa6c97c9dfbdd6219db * fix vusb submodule * Update keyboards/dz60/keymaps/coppertop/rules.mk * Update keyboards/dz60/keymaps/spotpuff/rules.mk * Update users/spotpuff/rules.mk * Added GNU copyright license text commit bc010d62cab9a632d6338218e648aa37a8814c1d Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Sep 18 04:04:07 2020 +0900 [Docs] Japanese translation of docs/tap_hold.md (#10017) * add tap_hold.md translation * update based on comment * update based on comment * update based on comment commit bc15c4f4ab81c1e2950dfc1c38cf86dc626573c9 Author: TJ Date: Thu Sep 17 12:45:42 2020 -0500 Update led_conf_t example (#10327) commit f37a134f712891db64b1391a250b0d752206f520 Author: Drashna Jaelre Date: Thu Sep 17 00:41:55 2020 -0700 [Keyboard] Convert Corne Keyboard to Split Common (#6001) * [Keyboard] Convert Corne Keyboard to Split Common * Add VIA Support * Makes sure that ol(e)d and new OLED implementation can't coexist * Add licensing header to files * Add changes based on feedback from foostan * Fixes commit f650b03fb77530eb6aa7eab541f6a28c98e0ced6 Author: Dan White Date: Wed Sep 16 22:03:28 2020 -0600 [Keymap] Badger keymaps/userspace (#10239) * Badger keymaps * bug fix - linter * code review feedback and ortholinear bugs * cleanup * backing out suspect bug after doing additional research * code review feedback * code review feedback * changing default badger keymap and small bugfix commit 410d09675a58f1890c24068066bb8eace21c2416 Author: Joel Challis Date: Thu Sep 17 01:45:07 2020 +0100 Fix TWIlib compilation on avr-gcc 10 (#9273) commit e9b3a12c6e43444f5f6a6e3f63b5e4ece80740eb Author: Joel Challis Date: Thu Sep 17 01:42:24 2020 +0100 Fix ssd1306 compilation on avr-gcc 10 (#9267) commit 424eeb8af738697e05446c0949099416955df226 Author: Adam Gwilliam Date: Wed Sep 16 18:57:09 2020 -0500 add VIA support for boardsource/5x12 (#10236) * add via support for boardsource/5x12 * make product id for 5x12 unique (there is already an 0x0512) by setting it to 0x5012 * un-swap the readme's for 3x4 and 5x12 * Update keyboards/boardsource/5x12/config.h update vendor id * Update keyboards/boardsource/5x12/keymaps/via/keymap.c use correct number of layers for VIA * update product id to use same pattern as others * Update keyboards/boardsource/5x12/keymaps/via/readme.md * Update keyboards/boardsource/5x12/keymaps/via/readme.md commit 97122d203bf443eda8ff63865223cc96bcc695f4 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Wed Sep 16 16:16:01 2020 +1000 [Core] DYNAMIC_KEYMAP_EEPROM_MAX_ADDR check (#10315) * add error check * remove quotes * update error message Co-authored-by: Ryan Co-authored-by: Ryan commit 06d4c0a3968f3f0ae0fc5deb36cb4b8de44b1428 Author: vattern Date: Tue Sep 15 08:57:55 2020 +0100 [Keyboard] add Stoutgat v2; move Stoutgat v1 (#10233) * initial add * stoutgat working * Ready for release * Ready for release * Ready for release * Ready for release * Ready for release * fix typos * update flash instructions in readme * update copyright * Update keyboards/tkw/stoutgatv2/keymaps/default/keymap.c * Apply suggestions from code review * Fix typo * Update lib/vusb * Update keyboards/tkw/stoutgatv2/rules.mk * Update desc add v2 * Add ANSI * Move to v1 and v2 folders * fix typo * fix v1 readme * Fix copypasta from v1 keymap * fix missing trailing slash * Delete keymap.json * Apply suggestions from code review Fixed layout and removed erroneous keymap.json commit 0050033acaec3eaccb972d9d87ef64b713b3e7f2 Author: Lasse Bjerre Date: Tue Sep 15 03:41:30 2020 +0200 Add ISO layouts for YMD75 (#10244) * Update rev2.h * Update info.json * Create keymap.c * Add ISO layout to rev1 * Removed redundant keycount * Add fix for rev1 board + additional key * Updated default iso keymap * Add layout with 1.5u keys to the right of spacebar * Fixed rev2 rwkl and added default layout commit b58f9ef1e29c1de848f8896078111e55d6d62a65 Author: Nick Blyumberg Date: Mon Sep 14 21:15:25 2020 -0400 [Keymap] Hub16 AutoHotKey Companion (#10159) * Hub16 AutoHotKey Companion * Revised after PR comments by Drashna * Update keyboards/hub16/keymaps/ahk_companion/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hub16/keymaps/ahk_companion/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hub16/keymaps/ahk_companion/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hub16/keymaps/ahk_companion/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hub16/keymaps/ahk_companion/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hub16/keymaps/ahk_companion/keymap.c Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 02551ae4991d818adb824fe39a82437281ee5306 Author: LSChyi Date: Mon Sep 14 18:33:43 2020 +0800 [Keyboard] add Phoenix keyboard (#10256) * setup keyboard * fit v1 board setting * remove unused def and add ergodox_pretty * add user hooks * add ergodox_pretty to info * apply suggestions * use default split usb timeout commit 6499eb6a3c512ded96443649d66274ce1064df0f Author: undermark5 <31358071+undermark5@users.noreply.github.com> Date: Sun Sep 13 08:28:30 2020 -0500 Fixed typo in vscode docs (#10303) .vscode/c_cpp_properies.json -> .vscode/c_cpp_properties.json commit 2b9f200a2a0f0430e80df75b8a4d5757e6ca0374 Author: Frans de Jonge Date: Sun Sep 13 03:17:47 2020 +0200 [fix] dfu-programmer <0.7 doesn't support --force flag (#10292) Fixes . commit 9e99a9b98c2e57ce5a4ada41446e8555bc05b1ad Author: Darren Meehan Date: Sat Sep 12 20:40:31 2020 +0100 Remove use of sudo in lily58 make docs (#10301) commit e4d46a1c00f60fa97d779f0c468c502416d29f02 Author: binepad <69730862+binepad@users.noreply.github.com> Date: Sat Sep 12 15:41:30 2020 +0530 [Keyboard] add binepad/bn003 (#10276) * ADD BINEPAD/BN003 * Update keyboards/binepad/bn003/config.h * Update keyboards/binepad/bn003/config.h * Update keyboards/binepad/bn003/rules.mk * Update keyboards/binepad/bn003/keymaps/via/keymap.c * Update readme.md added macro pad info * Update keyboards/binepad/bn003/readme.md * Update keyboards/binepad/bn003/bn003.c * Update keyboards/binepad/bn003/config.h * Update keyboards/binepad/bn003/config.h * Update keyboards/binepad/bn003/info.json * Update keyboards/binepad/bn003/rules.mk * Update keyboards/binepad/bn003/rules.mk * Update keyboards/binepad/bn003/rules.mk * Update bn003.c * Update keyboards/binepad/bn003/readme.md * Update keyboards/binepad/bn003/rules.mk * Update keyboards/binepad/bn003/config.h * Update keyboards/binepad/bn003/keymaps/via/rules.mk * Update keyboards/binepad/bn003/rules.mk commit 7141de19d98be604587f269a2dc9a85b0a211e6f Author: TheLibra23 <32517360+TheLibra23@users.noreply.github.com> Date: Sat Sep 12 15:55:52 2020 +0800 added VIA keymap for Keebio Viterbi (#10168) * added via keymap * replaced PRODUCT_ID 0x1157 with PRODUCT_ID 0x2157 replaced product id to distinguish rev2 from rev1. bakingpy gave me permission through discord chat. * Update keyboards/keebio/viterbi/keymaps/via/keymap.c * Update keyboards/keebio/viterbi/keymaps/via/rules.mk * made a simplier keymap.c for via folder Based from the default keymap, removed unnecessary codes. commit c82865efabb4153ca67a804a1ed746dab3073b8d Author: Ben Date: Sat Sep 12 03:19:05 2020 +0200 Add VIA keymap for Plaid-Pad (#10057) * Add via keymap for Plaid-Pad - Add VIA support for the Plaid-Pad - Changes Vendor ID and Product ID (to follow VIA's guidelines) * Add extra encoder pads for rev1.1 * Change Product Id from pp to PP (hex value) * improved readme - detailed informations about rotary encoder, bootloader and firmware * Improved encoder informations in via keymap * Improved encoder infos and code in default keymap * add revision folder for rev1 and rev1.1 * change encoder assignment for defaul a via keymap * Update keyboards/keycapsss/plaid_pad/config.h * change revision number * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/readme.md * add license to header of *.h and *.c files * remove the list of alternate bootloaders - due to the pr checklist * Update keyboards/keycapsss/plaid_pad/rules.mk commit d8d65bbf5f81dd075438e4ce89bda135ebf8f2b9 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Sep 12 05:10:30 2020 +0900 [Docs] Update Japanese translation of feature_split_keyboard.md (#10283) Apply #10242 changes to ja/feature_split_keyboard.md commit 58d7e9fa0ebe90ab26812970a7473aec91f9f31a Author: hidenori Date: Sat Sep 12 05:06:38 2020 +0900 [Keymap] Added ToyoshimaHidenori's keymap for Ergodash mini (#10228) * Add ToyoshimaHidenori's keymap * Remove some dead code and characters * Change the folder name from uppercase to lowercase * Remove uppercase folder commit 6de4a53c7cb9a0d2dc4cbbe5dcbf19604daca465 Author: yulei Date: Fri Sep 11 17:28:23 2020 +0800 [Keyboard] added SQUARE.X by iNETT Studio (#10066) * added SQUARE.X keyboard from the iNETT Studio * split to two sub directories * Apply suggestions from code review * Update keyboards/inett_studio/sqx/universal/universal.h * Apply suggestions from code review * update the matrix control keycodes settings * use the offical macro to the rgb matrix control * fixed led position issue * Apply suggestions from code review * removed the redundant #endif * update default keymap * Apply suggestions from code review * add license header commit 3d3c2e1d3fd3b3ca063491c8f623143db56dada7 Author: Alvaro Muente <40742045+alvaromuente@users.noreply.github.com> Date: Fri Sep 11 02:03:49 2020 -0500 Add VIA support for JJ40 (#10263) * via support * Removing backspaces from jj40 keymap.c * Updating jj40/via/rules.mk commit 3d4f0028d60cebc829ac9c947d1a61cc840d05c0 Author: Callum Oakley Date: Wed Sep 9 23:37:34 2020 +0100 [Keymap] major keymap overhaul (#10185) * experiment with userspace * reorganise * readme * missing oneshot shift from ignored keys * recombine hands in layout macro commit 6e948feb6a33bcd1da45c5a590d0e6c241e1d879 Author: Ryan Date: Thu Sep 10 00:00:27 2020 +1000 Use the force when flashing with dfu-programmer (#10070) commit 076b9d482f271bad14cb31c67aee6226b069e734 Author: Nick Christus <136611+nchristus@users.noreply.github.com> Date: Wed Sep 9 00:33:38 2020 -0500 [Keymap] Added nchristus userspace (#10261) * userspace: added nchristus * userspace: updates per PR review commit 08f6e64137e2a3fe5cf54928b193c3421e71b625 Author: Ramon Imbao Date: Wed Sep 9 13:32:47 2020 +0800 [Keyboard] Add Squishy65 keyboard (#10266) * Add Squishy65 keyboard * Edit info.json * Fix incorrect ISO layout * Add missing license in files * Update keyboards/ramonimbao/squishy65/config.h Co-authored-by: Ryan * Update keyboards/ramonimbao/squishy65/keymaps/via/rules.mk Co-authored-by: Ryan * Update keyboards/ramonimbao/squishy65/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit 4b9c3dc2e5a1d0e16bcb2841fe10337734c2f248 Author: Jan Kolkmeier Date: Wed Sep 9 07:25:13 2020 +0200 add keyboard: bemeier/bmek (revisited) (#10144) * bmek keyboard support * Update keyboards/bemeier/bmek/bmek.h Co-authored-by: Drashna Jaelre * Update keyboards/bemeier/bmek/rules.mk Co-authored-by: Drashna Jaelre * moved shutdown behavior to shutdown hook * removed dynamic macro option statement * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * change layout name in via * move/copy root rules to revs * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Apply suggestions from code review Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit ba3ec0f081373763784d8f092af886b8098d131c Author: boss566y <67247583+boss566y@users.noreply.github.com> Date: Wed Sep 9 00:24:23 2020 -0400 [Keymap] Romac Keymap with VIA and OLED Support (#10249) * Add Personal Keymap with VIA and OLED * Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c Co-authored-by: Ryan * Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c Co-authored-by: Ryan * Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit d3cea9ed930a28b400b38c933cfa5c4f503c7856 Author: Nick Blyumberg Date: Wed Sep 9 00:10:30 2020 -0400 [Keyboard] Added the proper RGB settings to allow via control (#10223) commit 5f00df0c4c181b6c3f779fe86cf40b3987b5c8a1 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Wed Sep 9 06:44:36 2020 +0900 [Docs] Japanese translation of docs/reference_keymap_extras.md (#10138) * add reference_keymap_extras.md translation * update based on comment * update based on comment * update based on comment commit cd73949682dc9bd032a80038dec83d4aa0597cb8 Author: MakotoKurauchi Date: Tue Sep 8 15:20:16 2020 +0900 updated readme.md of yushakobo/quick7 keyboard (#10243) * update "Hardware Availability" * add a section of "How to build" * update "Hardware Supported" commit 4e3a96ff3e14f74eb8e895959868e3b6578af7fe Author: marksard <38324387+marksard@users.noreply.github.com> Date: Tue Sep 8 15:00:19 2020 +0900 Update treadstone48/rev2 info.json (#10241) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Updated treadstone48 info.json file * remove kc define * Nested layout macro 1/2 * Nested layout macro 2/2 commit ae7a076964deeddcd192a25f15256e6cd28b5a41 Author: marksard <38324387+marksard@users.noreply.github.com> Date: Tue Sep 8 14:37:15 2020 +0900 Update marksard/leftover30 info.json (#10240) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Updated leftover30 info.json file commit 78d5224a1d89f97c519fd6410216d6cc408f931f Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Sep 7 22:28:18 2020 -0700 Remove HD44780 References, Part 3 (#10238) * remove HD44780_ENABLE rules: G-H * remove HD44780_ENABLE config: G-H commit 088888937a805c29304753a1f211845744d249e8 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Sep 7 13:15:55 2020 +0900 Replace figures in docs/feature_split_keyboard.md (#10242) * Replace figures in feature_split_keyboard.md * fig update * Update docs/feature_split_keyboard.md Co-authored-by: Ryan Co-authored-by: Ryan commit 9fe3fc4c0410b737748ff8abb9c442508f1f0a0d Merge: 6b1c58629f 28e10eedda Author: Drashna Jaelre Date: Sun Sep 6 21:03:58 2020 -0700 Add Bakeneko 65 (#10234) * Add Bakeneko 65 * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit 6b1c58629fe0284d74a176303d7fad787ebb85a7 Author: Vitja Makarov Date: Mon Sep 7 07:03:16 2020 +0300 [Keyboard] Fix adb_usb/aek layout keypad equal key (#10248) commit 3b1abe0deebfea44d8e00abfa549e6fa10d3bf7a Author: QMK Bot Date: Mon Sep 7 03:50:14 2020 +0000 format code according to conventions [skip ci] commit 3b14c032e0ed61870596a59bbc86857338365bf5 Author: gitdrik <58667795+gitdrik@users.noreply.github.com> Date: Mon Sep 7 05:49:20 2020 +0200 [Keymap] Added Finnish SFS 5966 keymap for planck. (#10200) * Added Finnish SFS 5966 keymap for planck. * Modified comments and added copyright header. commit fb66f0a3fbed3a9060f62cc82306728015930b31 Author: jackytrabbit Date: Mon Sep 7 11:47:52 2020 +0800 [Keyboard] Add VIA support for lazydesigners\bolt (#10218) * Add VIA support for lazydesigners\bolt Add VIA support for lazydesigners\bolt * Update keyboards/lazydesigners/bolt/via/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit 1d8b0ccc813fa2665d78fd3df85b39ef47a8f220 Author: Adam Gwilliam Date: Sun Sep 6 20:10:18 2020 -0500 [Keyboard] add via support for boardsource/4x12 (#10220) Co-authored-by: Adam Gwilliam commit 92e5361fc5637a61754d0e63e7634c867b389fd7 Author: nathanvercaemert <50712356+nathanvercaemert@users.noreply.github.com> Date: Sun Sep 6 20:55:39 2020 -0400 [Keymap] Personal Keymap (nathanvercaemert) Update (#10107) * updates to incorporate combined mouse key acceleration functionality * tab switching in chrome works, updated readme * updated keymap image * updated keymap image Co-authored-by: Nathan Vercaemert commit 8ea8a80c5b0eb4aac35b1f9f993f033bb04f1555 Author: moyi4681 Date: Mon Sep 7 08:55:06 2020 +0800 [Keyboard] add Maja soldered keyboard (#10152) * add maja_soldered keyboard add maja_soldered keyboard * Update info.json * update keymap * Update keyboards/kbdfans/maja_soldered/config.h Co-authored-by: Drashna Jaelre * Update keymap.c * Update keyboards/kbdfans/maja_soldered/rules.mk Co-authored-by: Ryan * Update keyboards/kbdfans/maja_soldered/rules.mk Co-authored-by: Ryan * Update keymap.c * Update keymap.c * Update keymap.c Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 788cbcf8283126eb3d60e71272591efd91e641fe Author: Alvaro Muente <40742045+alvaromuente@users.noreply.github.com> Date: Sun Sep 6 19:52:57 2020 -0500 [Keyboard] Update JJ40 VID and PID (#10215) Co-authored-by: Alvaro commit 28e10eedda4e53243e4e84397b7d3bb26e6d99c1 Author: Koichi Katano <36572567+kkatano@users.noreply.github.com> Date: Mon Sep 7 09:33:12 2020 +0900 Apply suggestions from code review Co-authored-by: Ryan commit 6c3e404839bec5f04e8f0d9eef4f0ac98b16e987 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sun Sep 6 18:04:29 2020 -0400 [Keymap] Add indicator light bootup fanfare (#10158) * Add indicator light bootup fanfare * move fanfare code to new file * fanfare code in new file and remove unused boards * new startup fanfare code * add lock/unlock indicator animation * input key presses before changing lights * remove old code commit f7ccbfcea88e127319a4665a6c8ca67883854030 Author: Purdea Andrei Date: Sun Sep 6 23:13:49 2020 +0300 quantum/debounce: rename debouncing algorithms (#9564) * quantum/debounce: rename debouncing algorithms according to Issue 8763 This is the second attempt at implementation, with no ts_ and cy_ prefixes, since those will be implemented with macros. * Debouncing documentation: Refactor, add some generic info, and merge into a single document commit 8ac9940a76f09d4a47be342fc123306ecbfb27f3 Author: Daniel Rodríguez Rivero Date: Sun Sep 6 22:13:18 2020 +0200 [Keymap] danielo515/redox-1 (#9935) * chore: pulled the latest from master Bring my redox layout from my latest redox branch Bring my latest user stuff from my redox branch * Update users/danielo515/config.h Co-authored-by: Drashna Jaelre * chore: small cleanup Co-authored-by: Drashna Jaelre commit ac24f203cc4141d6d27f27dc173e04fc5edde741 Author: Erovia Date: Sun Sep 6 13:06:12 2020 +0100 Docs/PR_checklist: Reorder, unify and pet-peeves (#10253) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit d0eabd083ebe13b864dd7628b43096c8362d0f29 Author: Maarten Dekkers Date: Sun Sep 6 09:33:43 2020 +0200 [Keyboard] add Plume Keyboards Plume65 (#10176) * Add Plume65 * Changes commit e0b7c70743d9307f3131d827848b79f821abaf69 Author: Maarten Dekkers Date: Sun Sep 6 08:07:34 2020 +0200 [Keyboard] add Solheim68 by Maartenwut (#10190) * Add Solheim68 * Update info.json * Layout rename and config cleanup commit 9bca381b9824da7fb1010a5377c73579af478dea Author: Olivier Li Date: Sat Sep 5 19:51:38 2020 -0400 Unflip < and > for canadian mutlilingual (#10222) Co-authored-by: Olivier Li commit d612d617eec446bb20a45dcbb1e2831361ddc81d Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Sat Sep 5 11:37:05 2020 -0700 [Keyboard] add Pandamic handwired (#10227) * Add pandemic keyboard * Fix default keymap * Add via keymap * Fix via keymap * Fix keymaps and pandamic.h * add info.json * update info.json * Apply suggestions from code review * Update keyboards/handwired/swiftrax/pandamic/info.json * make suggested changes commit 687d05dfb13de08b519e455ef95b8155c2492af6 Author: Ryan Date: Sat Sep 5 23:37:25 2020 +1000 Update file changes action (#10245) commit a8a714c46eba273fc64e3bac37e90338774a9d42 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sat Sep 5 13:53:19 2020 +0900 [Docs] Japanese translation of docs/reference_configurator_support.md (#9879) * add reference_configurator_support.md translation * update based on comment * update based on comment * update based on comment * update based on comment commit 6e32dd123ff0ff49768f43c97bbc10836ff8a629 Author: marksard <38324387+marksard@users.noreply.github.com> Date: Fri Sep 4 20:14:34 2020 +0900 [Keyboard] add rhymestone by marksard (#9708) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Add keyboard the Rhymestone * fixed by PR review * fixed by review * Update keyboards/rhymestone/readme.md fixed * Fixed possible changes to oled_write_P * Change the name of the layout definition * Update keyboards/rhymestone/info.json * Update keyboards/rhymestone/keymaps/default/keymap.c * Update keyboards/rhymestone/keymaps/default/keymap.c * Update keyboards/rhymestone/keymaps/default/keymap.c * Update keyboards/rhymestone/keymaps/default/keymap.c * Update keyboards/rhymestone/keymaps/switch_tester/keymap.c * Update keyboards/rhymestone/keymaps/switch_tester/keymap.c * Update keyboards/rhymestone/rev1/rev1.h * add empty rules.mk in rev1 * Update from other review * Update keyboards/rhymestone/rules.mk * fixed other review * move rhymestone to marksard directory * move rhymestone to marksard directory (Commit the necessary modifications) * remove commit 82a830196f5a71ced413af302ce4dd12ec034782 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Fri Sep 4 20:12:43 2020 +0900 fix link in docs/ja/*.md (#10232) * fix link in docs/ja/feature_split_keyboard.md * fix link in docs/ja/faq_build.md * fix link in docs/ja/faq_general.md * fix link in docs/ja/faq_keymap.md * fix link in docs/ja/how_a_matrix_works.md * fix link in docs/ja/reference_glossary.md commit 6a79d99ea2d4c72200953b35d51bb9b9d784a54b Author: marksard <38324387+marksard@users.noreply.github.com> Date: Fri Sep 4 19:31:36 2020 +0900 [Keyboard] add leftover30 by marksard (#10140) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Add keyboard leftover30 * update keymap * Update keyboards/marksard/leftover30/config.h I guess I was mistaken. Thank you. * Update keyboards/marksard/leftover30/keymaps/default/keymap.c * Update keyboards/marksard/leftover30/leftover30.c * Update keyboards/marksard/leftover30/keymaps/default/keymap.c * Update keyboards/marksard/leftover30/keymaps/default/keymap.c * Update keyboards/marksard/leftover30/keymaps/default/keymap.c * Update keyboards/marksard/leftover30/keymaps/default/keymap.c * Update keyboards/marksard/leftover30/keymaps/default/keymap.c * Update keyboards/marksard/leftover30/keymaps/default/keymap.c * Update keyboards/marksard/leftover30/keymaps/default/keymap.c * Update keyboards/marksard/leftover30/keymaps/default/keymap.c * Update keyboards/marksard/leftover30/keymaps/default/keymap.c * changed user led custom method * Update keyboards/marksard/leftover30/config.h * Update keyboards/marksard/leftover30/config.h * Update keyboards/marksard/leftover30/keymaps/default/rules.mk * Update keyboards/marksard/leftover30/rules.mk * Update from other review * Update keyboards/marksard/leftover30/readme.md * fixed kanji key procedure * Update keyboards/marksard/leftover30/config.h * Update keyboards/marksard/leftover30/config.h * Update keyboards/marksard/leftover30/config.h * fixed by review commit 2e4a75e2bcfc275ba4e5cc8dde6a6761296ede5b Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Sep 4 11:58:03 2020 +0900 [Docs] Japanese translation of docs/serial_driver.md (#10014) * add serial_drive.md translation * update table style * update based on comment * update based on comment commit c3f3b34d7c913df771f9cd6470169798a2ece16f Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Sep 4 11:54:23 2020 +0900 [Docs] Japanese translation of api_*.md (#9992) * add api related translation * update based on comment * update based on comment * update based on comment commit 98278968b75ffe48fdb4c0189658de00b7e4322c Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Sep 4 11:44:39 2020 +0900 [Docs] Japanese translation of docs/reference_glossary.md (#9880) * add reference_glossary.md translation * update based on comment * update based on comment * update based on comment commit 361003934ed069fe0fca5e3e2aaed1af34e68beb Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Sep 4 11:01:37 2020 +0900 [Docs] Japanese translation of docs/quantum_keycodes.md (#10137) * add quantum_keycodes.md translation * update based on comment commit c10b011828bb9ea8682d56ea4dfe78a76d484fdd Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Sep 4 10:56:04 2020 +0900 [Docs] Japanese translation of docs/syllabus.md (#10016) * add syllabus.md translation * update based on comment * update based on comment commit 6eefc20c2ad81bafbfa10421a39165d312783020 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Sep 4 10:50:53 2020 +0900 [Docs] Japanese translation of docs/support.md (#10015) * add support.md translation * update based on comment commit 22821045264c03cb8b25d892f19ef6658f08427e Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Sep 4 03:28:53 2020 +0900 [Docs] Japanese translation of docs/translating.md (#10018) * add translating.md translation * update based on comment * update based on comment commit 9b9587527f7b0db1613b0c71c9f5b1f7b4109a23 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Sep 4 03:25:21 2020 +0900 [Docs] Japanese translation of docs/reference_info_json.md (#9881) * add reference_info_json.md translation * update based on comment * update based on comment commit 461153150bd753291d5b96538ee578246cf4f80e Author: Koichi Katano <36572567+kkatano@users.noreply.github.com> Date: Fri Sep 4 02:02:40 2020 +0900 Add Bakeneko 65 commit c1a6b5f430a46206ce98a3c52284725e80322a98 Author: Koichi Katano <36572567+kkatano@users.noreply.github.com> Date: Fri Sep 4 01:09:36 2020 +0900 [Keyboard] add Bakeneko 60 (#10212) * Add Bakeneko 60 keyboard * Apply suggestions from code review commit 25e93b4b677c85165f6996f3de96f260121f549a Author: QMK Bot Date: Thu Sep 3 11:25:14 2020 +0000 format code according to conventions [skip ci] commit 2f26e14dc627592734769424b09007e02ddb3c09 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Thu Sep 3 18:37:04 2020 +0800 Update ISSI3741 (#9912) * [Driver] bugfix reset the scaling register flag to FALSE * Update drivers/issi/is31fl3741.c Co-authored-by: Ryan * Add CS & SW defines for ISSI3741 * Make IS31FL3741 control register update clearer Co-authored-by: Ryan Co-authored-by: Jumail Mundekkat commit bad589ec59ef47e926dbc5b40e2802e3275d4105 Author: gtips <51393966+gtips@users.noreply.github.com> Date: Thu Sep 3 17:42:09 2020 +0900 [Keyboard] reviung33 (#10162) * [Keyboard] Add keyboard Reviung41 * Modified files * deleted keyboards/reviung41/keymaps/default/config.h * modified keyboards/rebiung41/keymaps/default/keymap.c * modified keyboards/reviung41/readme.md * modified keyboards/reviung41/readme.md * modified keyboards/reviung41/readme.md * Update readme.md Change the image photo of readme.md. * [Keyboard] Add reviung61 * Update readme.md * fix keyboards/reviung61/ and add keymap default_rgb * fix keyboards/reviung61/info.json * fix keyboards/reviung61/info.json * remove keyboards/reviung61/keymaps/default/config.h * [keyboard] Fixed readme.md for reviung39 and 61. * [keyboard] add keyboard reviung33 * fix keyboards/reviung33/rules.mk * modified: keyboards/reving33/config.h * modified: keyboards/reving33/info.json * modified: keyboards/reving33/keymaps/default/keymap.c commit eead2c6087d219b55349c11d9a4091a777b5700d Author: Sendy YK Date: Thu Sep 3 15:36:04 2020 +0700 Update DZ60 Information (#10186) * Remove #define DESCRIPTION * Update readme.md * Update keyboards/readme.md * Update keyboards/readme.md commit 04293bcd5b39cdcc97acd3f05fdec67ba2a57f60 Author: jrdsgl Date: Thu Sep 3 01:34:42 2020 -0700 [Keymap] add sixkeyboard:via (#10172) * Adding VIA support for sixkeyboard * Update keyboards/sixkeyboard/keymaps/via/keymap.c * Update keyboards/sixkeyboard/keymaps/via/keymap.c * Update keyboards/sixkeyboard/keymaps/via/keymap.c * Update keyboards/sixkeyboard/keymaps/via/keymap.c * Update keymap.c added suggested header. left my name out and changed year to 2020. commit e7cc5a35c2b80d081207db940777b7537d30a5cd Author: jotix <69703151+jotix@users.noreply.github.com> Date: Thu Sep 3 05:28:07 2020 -0300 [Keymap] update ortho_4x12 jotix (#10157) * mouse_layout * add_mouse_btns * reset_with_ctrl+esc+bspc * add_mousekeys_on_right * mod-tap-mouse-layer * fn_layer commit 9808bfaf2616afbe837873d962bc214be3705f90 Author: mujimanic <64090325+mujimanic@users.noreply.github.com> Date: Thu Sep 3 03:24:55 2020 -0500 [Keyboard] add Sneakbox Alice Clone (#9792) * Initial Commit for alice clone pcb Initial commit for alice clone pcb * Update keyboards/sneakbox/aliceclone/config.h Change to #pragma once. Thanks. * Update keyboards/sneakbox/aliceclone/config.h * Update keyboards/sneakbox/aliceclone/kb.c * Rename kb.h to aliceclone.h * Update keyboards/sneakbox/aliceclone/keymaps/default/keymap.c * Update keyboards/sneakbox/aliceclone/keymaps/default/keymap.c * Update keyboards/sneakbox/aliceclone/keymaps/default/keymap.c * Update keyboards/sneakbox/aliceclone/keymaps/default/keymap.c * Update keyboards/sneakbox/aliceclone/keymaps/default/keymap.c Got it. Thanks. * Update keyboards/sneakbox/aliceclone/readme.md * Update keyboards/sneakbox/aliceclone/readme.md * Update keyboards/sneakbox/aliceclone/rules.mk * Update keymap.c * Rename kb.c to aliceclone.c * Update keyboards/sneakbox/aliceclone/config.h * Update keyboards/sneakbox/aliceclone/aliceclone.h * Update keyboards/sneakbox/aliceclone/aliceclone.h * Update keyboards/sneakbox/aliceclone/aliceclone.h * Update keyboards/sneakbox/aliceclone/config.h Got it. Thanks. * Update keyboards/sneakbox/aliceclone/readme.md Got it, the parent company folder needs to be added for make to find the source. Forgot that. Thanks. * Update keyboards/sneakbox/aliceclone/config.h * Info.json now reflects QMK configurator metadata Previously, .json represented via metadata. * Changed typo ) to } at end of line 9. * Update keymap.c Updated the spacing of the keymap layout to be more readable. * Update keymap.c Updated this VIA keymap for formatting to make it more readable. * Update keymap.c Updated formatting of the rotary encoder function * Update keymap.c * Update info.json Corrected key layout and aligned for straight keymap, removed rotation references * Update keymap.c Adjusted formatting for key layout for readability * Adjusted formatting for key layout for readability Adjusted formatting for key layout for readability * Added GPLv2 License header * Added GPLv2 license header * Update aliceclone.c * Updated the LAYOUT map LAYOUT map now resembles the actual keymap with correct KXY keys corresponding to switch position. * GPLv2 license header added * Update keyboards/sneakbox/aliceclone/config.h * GPLv2 License Header added * Updated License Header, Added keymap layers Added total of 4 keymap layers, fixed keymap visual formatting. License header GPLv2 * Added extra layers, corrected layer references * Updated formatting for keymap.c LAYOUT * Update keyboards/sneakbox/aliceclone/aliceclone.h Updated * Update keyboards/sneakbox/aliceclone/info.json Updated * Update keyboards/sneakbox/aliceclone/info.json Updated * Update keyboards/sneakbox/aliceclone/info.json Updated formatting * Update keyboards/sneakbox/aliceclone/keymaps/default/keymap.c Reviewed and approved. Thanks. * Update keyboards/sneakbox/aliceclone/keymaps/default/keymap.c Reviewed. Understood. Thanks. * Update keyboards/sneakbox/aliceclone/keymaps/default/keymap.c Got it. Removed. * Update keyboards/sneakbox/aliceclone/keymaps/via/keymap.c Agreed. Thanks for the suggestion. * Update keyboards/sneakbox/aliceclone/readme.md * Update keyboards/sneakbox/aliceclone/readme.md * Update keymap.c tabs spaces formatting * Update keymap.c Tabs and spaces. Remove L3 L4 * syntax in enum layer_names removed comma after "_FN" * Update aliceclone.h renamed LAYOUT_all to LAYOUT * Update keymap.c Updated keymap * Update keymap.c * Update keyboards/sneakbox/aliceclone/readme.md * Update keyboards/sneakbox/aliceclone/keymaps/via/keymap.c * Update keyboards/sneakbox/aliceclone/keymaps/via/keymap.c * Update keyboards/sneakbox/aliceclone/keymaps/via/keymap.c * Update keyboards/sneakbox/aliceclone/keymaps/via/keymap.c * Update keyboards/sneakbox/aliceclone/aliceclone.h * Update keyboards/sneakbox/aliceclone/keymaps/default/keymap.c * Update keyboards/sneakbox/aliceclone/keymaps/default/keymap.c commit 2ab307a9402973fa7b4469d1d41d16d175d8785e Author: Andy Jack Date: Wed Sep 2 02:31:57 2020 -0400 [Keymap] add 40percentclub/mf68:andyjack (#10208) * Initial checkin of my 40percentclub/mf68 keymap * Add gplv2 license header commit 4086729f5e2823c484c2b31bb208c424e2be4c70 Author: t-miyajima <55669223+dvorak55@users.noreply.github.com> Date: Wed Sep 2 15:29:17 2020 +0900 [Keyboard] Add Chavdai40% rev2 (#10210) * add chavdai40 rev2 * add chavdai40 rev2 * change include quantum.h to top of h files commit 4701001524276638992d1ae92b638ca68fd0c410 Author: Matthew Lyon Date: Tue Sep 1 18:01:24 2020 -0700 add centromere:mattly keymap (#10177) * mattly's mirrored centromere layout * Update keyboards/centromere/keymaps/mattly/keymap.c * Update keyboards/centromere/keymaps/mattly/rules.mk commit 6e618baa5737c86d23d974cafe9bfa07efe1d810 Author: 4pplet <4pplet@protonmail.com> Date: Wed Sep 2 02:36:00 2020 +0200 update 4pplet/waffling60 keyboard (#10143) * Update config.h added debounce to prevent stuttering with some switches * Update README.md commit 825ef0bd963a031281748089ea1d603d8963111b Author: Blake Date: Wed Sep 2 01:31:34 2020 +0100 add keebio/bdn9:ghostseven keymap (#10154) Keebio BDN9 Additional Keymap - Rev Encoders commit 58600d3f651706242df1ecf0ef7c71f0d6a8965f Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Wed Sep 2 09:28:55 2020 +0900 (setta21 & getta25) Keymaps Update (#10170) OLED is turned off by default. commit f145696dad27893b11213b314797711541431a9f Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Sep 1 14:45:25 2020 -0700 E85 Hotswap/Soldered Fixes (#10173) * split up the e85 into hotswap and soldered variants * remove layout_all LAYOUT macro for hotswap pcb * add copyright header to to all config files * remove list of alternate bootloaders * spruce up config file * comply with PR check list * Update keyboards/exclusive/e85/hotswap/info.json * Update keyboards/exclusive/e85/hotswap/info.json * Update keyboards/exclusive/e85/hotswap/info.json * Update keyboards/exclusive/e85/rules.mk * Update keyboards/exclusive/e85/config.h * Update keyboards/exclusive/e85/hotswap/config.h * Update keyboards/exclusive/e85/soldered/config.h * remove LAYOUT_all in hotswap and also remove superfluous comments * remove the soldered tsangan map commit 7fe01239ddfa87a0fe7ba26e659972f1040bffc6 Author: Sendy YK Date: Tue Sep 1 23:18:36 2020 +0700 update ai03/soyuz:mrsendyyk keymap (#10161) Update ai03 Soyuz readme.md and keymap.c * Update readme.md * Update readme.md * Update keymap.c * Update keymap.c * Update readme.md * Update readme.md * Update readme.md * Update readme.md commit 32910738fda98f6a7e124ebb3596799d7f1d8dc8 Author: Bradford Date: Tue Sep 1 12:11:16 2020 -0400 add bm60rgb:jbradforddillon keymap (#10133) * Added bm60rgb keymap * Fix copyright commit 4889625015beadefa21d8131b0c5f2ddf899fba0 Author: Bradford Date: Tue Sep 1 12:09:24 2020 -0400 bm60rgb: fixed LED layout; add underglow support (#10132) * Fixed the LED layout for the bm60rgb * Added underglow support commit 744940bbd9ed0c346a3d9259422853b7e4c76a7d Author: Josh Hinnebusch Date: Tue Sep 1 12:05:03 2020 -0400 hineybush/h88: update h88 LED stuff (#10101) * update h88.c * Update keyboards/hineybush/h88/h88.c commit 0bec817479aefd438ccd32b60f66087daa141e5c Author: TheLibra23 <32517360+TheLibra23@users.noreply.github.com> Date: Tue Sep 1 23:55:31 2020 +0800 keebio/viterbi/rev2/: replaced change PRODUCT_ID (#10167) * replaced #define PRODUCT_ID 0x1157 with #define PRODUCT_ID 0x2157 replaced product id to distinguish rev2 from rev1. bakingpy gave me permission through discord chat. commit 80fd81ad6baaf02d49bafca2e219355a100a45b4 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Sep 1 18:31:25 2020 +0900 [Docs] Japanese translation of docs/ref_functions.md (#9878) * add ref_functions.md translation * modify internal link for ja * update based on comment * reflect #9892 change * update based on comment * update based on comment commit d16d8665978b119e271b876de27dd971c77dc431 Author: Joe Wasson Date: Mon Aug 31 22:41:41 2020 -0700 [Keyboard] 1upkeyboards/1up60rgb: fix broken Enter (#10188) The recent change to unnest macros put the enter on the wrong matrix key. On the 1uprgb, the ANSI and ISO enters share the same cell as does the ANSI and ISO backslash. commit 0032cb026b7d4143fd61ed3cb3378eda5bb41292 Author: Ryan Date: Tue Sep 1 15:30:07 2020 +1000 [Keyboard] YMDK NP21 refactor (#10181) commit 854a94f383a3e292f783e845675ea4d8a269d552 Author: Sendy YK Date: Tue Sep 1 12:26:52 2020 +0700 [Keymap] update dz60:mrsendyyk (#10160) Update DZ60 Personal readme.md and keymap.c * Update readme.md * Update keymap.c * Update keymap.c * Update readme.md * Update readme.md * Update readme.md * Update keymap.c * Update readme.md * Update * Update readme.md * Update keymap.c * Update readme.md commit 4a6cfb06c5aafb353ddfa056bfa69ae82b5fc894 Author: Joe Wasson Date: Mon Aug 31 22:19:51 2020 -0700 TMO50: use layer_state_set_kb at keyboard level (#10150) * Change TMO to use layer_state_set_kb as is customary at the keyboard level. This also factors out `process_indicator_led` to a separate method. commit a9a2817f3aff389fecf1b4bced52093a175a5a65 Author: Danilo de Klerk Date: Tue Sep 1 06:44:47 2020 +0200 [Keymap] Add ddeklerk ortho_4x12 layout (#10109) * Add ddeklerk ortho_4x12 layout * Add license header commit 4286b81af016c2a566c06675dd5123fa83b74033 Author: gorbachev Date: Tue Sep 1 00:23:29 2020 -0400 [Keymap] add dmqdesign/spin:gorbachev (#9919) * Add keymap for DQM Design Spin macropad * changes from code review * state -> layer_state * Formatting fixes * Formatting fixes * Formatting fixes * Formatting fixes * Formatting fixes commit fa740c12861f77b1381fa2ee282fd57080c70502 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Tue Sep 1 07:20:19 2020 +0700 [Keyboard] Mechlovin Delphine (#9835) * add * ADD * update * update * update * update * Update rgb_led.c * Update rgb_led.c commit 69804bb243989c06d276581cfdcc9e2f6fb188e6 Author: Félix Sanz Date: Tue Sep 1 00:23:31 2020 +0200 Fixed Spanish keymap extra ES_DIAE symbol (#10211) * Fixed Spanish keymap extra ES_DIAE symbol `ES_DIAE` should be `S(ES_ACUT)` not `S(ES_GRV)` * Update quantum/keymap_extras/keymap_spanish.h Co-authored-by: Ryan Co-authored-by: Ryan commit a3db72df7299140e52f57d082a3742a8b480a226 Author: QMK Bot Date: Sat Aug 29 22:57:48 2020 +0000 format code according to conventions [skip ci] commit 000eb14d789f84afc7dbd33955dbfb6481792f0b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Aug 29 10:48:38 2020 -0700 update "Breaking Changes" doc commit d3721bdff9cc5e0df0323d97b3f37dd57c208c36 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Aug 28 10:08:59 2020 -0700 Revert "Branch point for 2020 Aug 29 Breaking Change" This reverts commit 7259126e8d67e83a9bd48dcf0914be1849d638b5. commit c56b9a1ce97e415b90a0e8d32d84f7799c84bed5 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Aug 27 14:23:22 2020 -0700 Add ChangeLog for 2020 Aug 29 Breaking Changes commit bdd8d2679ba74715b38f958b071fd57eaf092b9d Author: Zach White Date: Thu Aug 27 09:38:04 2020 -0700 Allow joysticks to be used without analog pins (#10169) * Allow joysticks to be used without analog pins * change how analog/digital joysticks are specified commit 629cfc7f5ebd815231c9e3f969170995db1481c6 Author: Ryan Date: Wed Aug 26 18:41:32 2020 +1000 K-Type refactor (#9864) * K-Type refactor * Declare QMK in product name again * Hopefully fix matrix scanning * Maybe this time * Partial (literally) RGB Matrix support * Put RGB_MATRIX_ENABLE into rgb keymap for now * Add ifdefs for RGB config * Set layer 1 to actually be layer 1... * Update keyboards/k_type/readme.md * Put all RGB config in keymap for now * Set SDB high? * Before `rgb_matrix_init()` would be best * User level, not keyboard * Combating dropped keys * Nope * Readme for RGB keymap * Remove custom matrix commit 0f596881b36587a298568192078f9b467c51c109 Author: Ryan Date: Tue Aug 25 19:03:45 2020 +1000 Remove support for Adafruit EZ-Key (#10103) * Remove support for Adafruit EZ-Key * Update docs/ja/feature_bluetooth.md Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 15df82cdf3f5b5d81af2cc235fbfe7643cd044b9 Author: Sergey Vlasov Date: Tue Aug 25 12:02:32 2020 +0300 Fix DMA stream ID calculation in ws2812_pwm (#10008) Some STM32 chips have STM32_DMA1_STREAM1 as the first DMA stream, others (F4xx, F7xx, H7xx) have STM32_DMA1_STREAM0. Instead of those names, use STM32_DMA_STREAM(0), which should always give the first stm32_dma_stream_t structure in the DMA streams array, so that the stream ID would be calculated correctly. commit 1de39e5632a1cc9c4541a6b62b6eb3b360ce8747 Author: Nick Brassel Date: Tue Aug 25 18:58:22 2020 +1000 Define STM32_DMA_REQUIRED when using DMA-based WS2812 driver on STM32. (#10127) commit b89b2030af655132e2708cbdffd7fb1b8e1aaeb4 Author: Ryan Date: Tue Aug 25 18:58:00 2020 +1000 Kiibohd bootloader, take 2 (#10129) commit fa6cf8572736f16d2fe076c21546d08f258e145f Author: Richard Date: Mon Aug 24 07:40:45 2020 -0700 Add a method to read the OLED display buffer from user space (#8777) * Adding extern and declaration * Change to mediated buffer read * Adding raw byte read * Restore write raw... D'Oh * Working struct return * Pack that struct * Remove conditional packing and add example to docs * Cleanup tab/spaces * Update docs/feature_oled_driver.md Prettify formatting * Update drivers/oled/oled_driver.h Prettify formatting commit 92385b3fb617326b129609726020453c8949c7f8 Author: Drashna Jaelre Date: Sat Aug 22 01:21:06 2020 -0700 Better handle LTO_ENABLE (#9832) * Better handle LTO_ENABLE Especially when calling from command line * Replace LINK_TIME_OPTIMIZATION_ENABLE with LTO_ENABLE * Remove long for LTO from show_options.mk commit 3f392c09b60d46d9e4a4d3cc150a26294dea4da7 Author: Ryan Date: Wed Aug 19 22:46:15 2020 +1000 More Bluetooth refactoring (#9905) commit 47f8947bf5aa3ff1cbb484a2d6dc3fa818987700 Author: yiancar Date: Wed Aug 19 02:16:35 2020 +0100 Update vusb to match 3rd endpoint. (#9020) * Update vusb to match 3rd endpoint. - With the addition of https://github.com/qmk/v-usb/pull/1 a 3rd endpoint (endpoint4) becomes available. - We can assign mouse/extrakeys to that endpoint as its a desirable feature and leave rawhid and console to compete for the 2nd endpoint. NOTE: The version of vusb.c in future branch is older than master. Just remember that it will need a #error if both raw_hid and console are enabled at the same time. * Final Fixes * Update tmk_core/protocol/vusb/vusb.c * Update tmk_core/protocol/vusb/vusb.c * Update tmk_core/protocol/vusb/usbconfig.h * Update tmk_core/protocol/vusb/usbconfig.h * Update tmk_core/protocol/vusb/usbconfig.h * Update tmk_core/protocol/vusb/usbconfig.h * Updated vusb submodule to latest commit commit 9ef4526a2f6cdd2e708e7cfc37845a04749665dd Author: Ryan Date: Tue Aug 18 13:02:01 2020 +1000 Remove unused CORTEX_VTOR_INIT (#10053) commit 15b5ff1dc229703c86053ada87f6511a4efbded9 Author: Joel Challis Date: Sun Aug 16 11:13:45 2020 +0100 Remove f072 backlight warning (#10040) * Remove f072 backlight warning * Remove f072 backlight warning from docs commit 21a00b7f020a87af1fbeb31b96a17e0f25a34e96 Author: Joel Challis Date: Sat Aug 15 22:22:11 2020 +0100 ARM backlight - timer implementation (#8291) * Add GPT timer based backlight driver * Update to tim15 to avoid conflict with audio * Update quantum/backlight/backlight_timer.c commit 568cae28ec41acc84a4a60bc3e20120e33ebee89 Author: Greg Wright Date: Sat Aug 15 16:55:13 2020 -0400 #define AUTO_SHIFT_SETUP (#8441) * #define AUTO_SHIFT_SETUP * Clarification Changed `#ifndef` to `#ifdef` and moved enable disable outside AUTO_SHIFT_SETUP * AUTO_SHIFT_NO_SETUp commit 167daa9cf8c6376a1c9b92ae7dfaa8bdac21f62a Author: Nick Brassel Date: Sun Aug 16 06:51:35 2020 +1000 Add ability to dump all makefile variables for the specified target. (#8256) commit d00ac5dfb6388957d51f2666d8bd223bd3529151 Author: Sergey Vlasov Date: Wed Aug 12 18:53:53 2020 +0300 Add `st-flash` flash target (#9964) * Add `st-flash` flash target Add support for flashing the firmware via the `st-flash` utility from the STLink Tools package (https://github.com/stlink-org/stlink). * Add `st-flash` to the `qmk flash -b` output commit ea43bc8972d254e75062ac20472b156fd3d92ddc Author: Danny Date: Wed Aug 12 11:37:34 2020 -0400 Keebio RGB wiring update (#7754) * Change RGB wiring for Levinson * Update RGB wiring for Iris * Update RGB wiring for Nyquist * Update RGB wiring for Quefrency * Update RGB wiring for Viterbi * Update RGB wiring for Fourier * Update RGB wiring for BFO * Handle redefinition of RGBLED_SPLIT commit dba814876413c0e14b2aada3d1ea1d7c380f2760 Author: David Kosorin Date: Tue Aug 11 04:26:34 2020 +0200 Fix Czech keycodes (#9987) commit 12333b7c5e47f935c8e11276caebae464331df8a Author: Ryan Date: Sat Aug 8 10:24:29 2020 +1000 Fix joystick compile issues (#9949) commit e34eca361fdd9ff61b8827fec545202da179648c Author: Tynan Beatty <38031130+tynanbe@users.noreply.github.com> Date: Fri Aug 7 16:43:57 2020 -0500 Noeeprom functions for rgb_matrix (#9487) * Add eeprom_helpers for toggle, mode, sethsv, speed; add set_speed; add noeeprom versions of toggle, step, hue, sat, val, and speed * qmk cformat rgb_matrix * Add rgb_matrix_set_speed and *_noeeprom functions * Do not expose rgb_matrix_*_eeprom_helper functions commit c990dc1e6cdcabbfe280d60e981f9e7cc733d5db Author: Nick Brassel Date: Wed Aug 5 15:11:06 2020 +1000 Add support for hsv->rgb conversion without using CIE curve. (#9856) * Add support for hsv->rgb conversion without using CIE curve. * Modify anavi/macropad8 to disable unicode (was unused), otherwise firmware size is too large. commit 200444f8d2c12ac04fd081745c74020c92d5da16 Author: flehrad <20124416+flehrad@users.noreply.github.com> Date: Fri Jul 31 08:04:49 2020 +1000 [Keyboard] relocating boards by flehrad (#9635) Co-authored-by: flehrad commit 4764aa8711cadc2776fde7641e97e280c4ac55c5 Author: TerryMathews Date: Tue Jul 28 01:34:18 2020 -0400 The Key Company project consolidation (#9547) * Consolidate TKC projects and increase VIA keymap count to 4. * Updated readme files. * Removed config.h via limitation of 2 dynamic keymaps * Reduce dynamic keymaps from 4 to 3 due to EEPROM space limitations. * Update dynamic_keymap.c * Restore 4 dynamic keymaps for VIA in TKC projects. * Update quantum/dynamic_keymap.c commit e6266b19be46c1340209bdd0a6c519452d5b9f2a Author: Drashna Jaelre Date: Mon Jul 27 14:46:39 2020 -0700 Initialize Layer State on startup (#8318) * Initialize Layer State on startup Right now, on startup, the default layer state gets called and set, triggering the callback functions for the default layer state. However, the normal layer state never actually gets initialized. It's set to 0 directly, by default, but the callback functions are never actually called. This creates some inconsistency in the behavior for end users. This adds a simple "clear" that triggers the callback on startup. This should produce more consisten behavior between the two functions and layer masks. * Stupid hack * Fix type casting? * Fix compile issues with magic is disabled commit 4b74f985ec7b14f5517df4e591f0c36b24f85f5c Author: Max Rumpf Date: Sun Jul 26 01:00:33 2020 +0200 Tweak the Christmas animation effect to be less harsh on the eyes (#7648) * Tweak the Christmas animation effect to be less harsh on the eyes * Further improve the tweaked Christmas animation code - Use constants where it makes sense - Instead of complicated math, use a static variable to keep track if it's animating from or to red - Don't use pow (but a simple macro instead) - Using floating point math is necessary for the fraction in the cubic bezier function to work * Update docs for the tweaked Christmas animation effect * Further improve memory usage - Don't use floats, but 32 bit ints instead (where needed) - Replace limits.h with constant * Fix typo commit d4be07dad368c57669c88ead6c093c9e23086855 Author: a-chol Date: Sat Jul 25 14:01:15 2020 +0200 Hid joystick interface (#4226) * add support for hid gamepad interface add documentation for HID joystick Add joystick_task to read analog axes values even when no key is pressed or release. update doc Update docs/feature_joystick.md Manage pin setup and read to maintain matrix scan after analog read * Incorporates patches and changes to HID reporting There are some patches provided by @a-chol incorporated on this commit, and also some changes I made to the HID Report structure. The most interesting is the one dealing with number of buttons: Linux doesn't seem to care, but Windows requires the HID structure to be byte aligned (that's in the spec). So if one declares 8/16/32... buttons they should not have any issues, but this is what happens when you have 9 buttons: ``` bits |0|1|2|3|4|5|6|7| |*|*|*|*|*|*|*|*| axis 0 (report size 8) |*|*|*|*|*|*|*|*| ... |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| axis 6 |*|*|*|*|*|*|*|*| first 8 buttons (report size 1) |*| | | | | | | | last of 9 buttons, not aligned ``` So for that I added a conditonal that will add a number of reports with size 1 to make sure it aligns to the next multiple of 8. Those reports send dummy inputs that don't do anything aside from aligning the data. Tested on Linux, Windows 10 and Street Fighter (where the joystick is recognized as direct-input) * Add save and restore of each pin used in reading joystick (AVR). Allow output pin to be JS_VIRTUAL_AXIS if the axis is connected to Vcc instead of an output pin from the MCU. Fix joystick report id Fix broken v-usb hid joystick interface. Make it more resilient to unusual settings (none multiple of eight button count, 0 buttons or 0 axes) Correct adc reading for multiple axes. Piecewise range conversion for uncentered raw value range. Input, output and ground pin configuration per axis. Documentation fixes * Fix port addressing for joystick analog read * The other required set of changes As per the PR, the changes still holding it up. Add onekey for testing. Fix ARM builds. Fix device descriptor when either axes or buttons is zero. Add compile-time check for at least one axis or button. Move definition to try to fix conflict. PR review comments. qmk cformat * avoid float functions to compute range mapping for axis adc reading * Remove V-USB support for now. Updated docs accordingly. * Update tmk_core/protocol/lufa/lufa.c Co-Authored-By: Ryan * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan * Add support for joystick adc reading for stm32 MCUs. Fix joystick hid report sending for chibios * Fix HID joystick report sending for ChibiOS. Add one analog axis to the onekey:joystick keymap. Fix pin state save and restore during joystick analog read for STM32 MCUs. * Update tmk_core/protocol/chibios/usb_main.c Co-Authored-By: Ryan * Update tmk_core/protocol/lufa/lufa.c Co-Authored-By: Ryan * Add missing mcuconf.h and halconf.h to onekey:joystick keymap. Add suggested fixes from PR. * Switch saveState and restoreState signature to use pin_t type. onekey:joystick : add a second axis, virtual and programmatically animated. * Update docs/feature_joystick.md Co-Authored-By: Ryan * Update docs/feature_joystick.md Co-Authored-By: Ryan * Add PR corrections * Remove halconf.h and mcuconf.h from onekey keymaps * Change ADC_PIN to A0 Co-authored-by: achol Co-authored-by: José Júnior Co-authored-by: a-chol Co-authored-by: Nick Brassel Co-authored-by: Ryan commit 9d3b26a47543d9898a2af2cee5f6ef53b4995e9f Author: Drashna Jaelre Date: Fri Jul 24 20:05:27 2020 -0700 Update features to use Custom Tapping Term when appropriate (#6259) * Update Space Cadet to use Custom Tapping Term functionality * Detect correct keycode for space cadet tapping term * Update tap dancing to use global custom tapping term * Update documentation for Tap Dances * formatting pass * Apply suggestions from code review Co-Authored-By: fauxpark * Update docs/feature_tap_dance.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update for future * Update user keymaps for space cadet * Fix typos * Clean up tapping term stuff * Fix compiler issue if NO_ACTION_TAPPING is enabled Co-authored-by: fauxpark Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 3c74edbc691502228b2d2c4d42d5888311f0ca4c Author: Drashna Jaelre Date: Wed Jul 22 13:57:47 2020 -0700 Disable NKRO on V-USB controllers (#9054) * Disable NKRO on V-USB controllers * not _currently_ supported text Co-authored-by: Ryan Co-authored-by: Ryan commit 686a9d35ffe1cf834673be2991d7bf1025423ae6 Author: Nick Brassel Date: Fri Jul 17 06:19:18 2020 +1000 Re-fix the STM32 dual-bank bootloader stuff. (#9738) * Re-fix the dual-bank bootloader stuff. * Use wait_ms() instead of using nop's for a delay, as ChibiOS is actually running at the time of bootloader jump. commit b0335b273142ead24cb4177893fafdf2fda88810 Author: Pete Sevander Date: Thu Jul 16 15:39:01 2020 +0300 Bigger combo index (#9318) * Add change log * Change combo index from uint8_t to uint16_t commit 93e7a8f74cc2c9c7bc50b413654642a0347a55d2 Author: Nick Brassel Date: Thu Jul 16 16:58:14 2020 +1000 Add dual-bank STM32 bootloader support, given GPIO toggle on BOOT0 to charge RC circuit. (#8778) commit d0abad27abd6d58f88985c1c28463ee51b7a116e Author: dhong44 Date: Thu Jul 16 02:47:43 2020 -0400 Fix the mousekey scrolling (#9174) Mousekey scrolling should have a separate repeat variable to keep track of scrolling acceleration, instead of being tied to mouse movement scolling in mousekeys. The send function should record when the last movement was made since this is when movement is actually sent. Doing this fixes the bug where the initial press of a mousekey scroll button causes a double scroll. Signed-off-by: Daniel Hong commit 86e30c26095bb9fdcb8edc23d7d5e879382087cf Author: Nick Brassel Date: Thu Jul 16 16:44:55 2020 +1000 F303/Proton-C migration. (#9315) commit c6b7a0d386c347f20117943831a0215659d37c47 Author: Nick Brassel Date: Thu Jul 16 16:39:49 2020 +1000 Add support for DMAMUX-capable MCU configuration with WS2812 PWM driver. (#9471) commit 8a4a0c25fdb2c4d0ac3ac8fd5f6ba14b56f4cd28 Author: Ryan Date: Thu Jul 2 13:12:34 2020 +1000 Change analogRead calls to analogReadPin (#9023) * Change analogRead calls to analogReadPin * Add ChangeLog * Update docs, remove mention of `analogRead()` * Retarget changelog for next round commit 60e5733c487cc0435e7d3b913f31ce4acc405d4a Author: Nick Brassel Date: Mon Jun 22 11:22:00 2020 +1000 `qmk cformat` on `develop` (#9501) commit 3b34858b772cda36fa9988e4d45039ff7ff9146a Author: Ryan Date: Wed Jun 17 21:43:20 2020 +1000 Don't compile outputselect.c if Bluetooth is disabled (#9356) commit e7434c874bcd201906e26aa2ef55ddd3de9cd905 Author: Ryan Date: Wed Jun 17 21:42:27 2020 +1000 Remove inclusion of adafruit_ble.h from ssd1306.c (#9355) commit 69e0ad1b2ce43fbf1daa85d22007570430ddf0c7 Author: Ryan Date: Wed Jun 10 06:30:37 2020 +1000 Additional cleanups for V-USB code (#9310) commit a3933bdbe74aa10120da9962b46ee1576450fc07 Author: Nick Brassel Date: Mon Jun 8 12:20:43 2020 +1000 Attempt to fix CI for non-master branches. (#9308) commit 1193e45bf4c8c69e33c054c6eb3d545d5d52fcb5 Author: Ryan Date: Sun Jun 7 15:00:59 2020 +1000 Convert `CONSUMER2BLUEFRUIT()` and `CONSUMER2RN42()` macros to static inline functions (#9055) commit f209f91c7ce073aa0381e79c10219616cb7db523 Author: Ryan Date: Sun Jun 7 15:00:21 2020 +1000 Various tidyups for USB descriptor code (#9005) commit 385d49cc39b57e74203e0c1c78c0789d249e4742 Author: Nick Brassel Date: Sat Jun 6 18:52:19 2020 +1000 Initial work for consolidation of ChibiOS platform files (#8327) * Initial work for consolidation of board files and default ChibiOS configs. * Migrate F401/F411 black pills for testing. * Add early init bootloader jump flag. * Add support for I2C in order to use i2c_scanner keymap. * Add F401/F411 HSE bypass to get things booting. * Exempt "hooked" ChibiOS conf files from updater script. * Fix up ordering for bootloader_defs file check. * Match previous $(KEYBOARD_PATHS) value for Proton-C, updated for all board configs. commit 5cc3ab38c9148cd6bc7ccdba176a88fbb95653b1 Author: Ryan Date: Fri Jun 5 20:56:03 2020 +1000 Remove iWRAP protocol (#9284) commit 3dbbd4cf4466ba36676e028ce78c60bf7ccc4282 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat May 30 13:22:56 2020 -0700 Branch point for 2020 Aug 29 Breaking Change Update readme.md commit 0f9b7b9768e53add15dc7e860efab0464cd7533d Author: Ryan Date: Sat Aug 29 01:03:42 2020 +1000 Add debug logging to `run()` (#9986) commit c9eaf1ac2ba0e9114343815432de524062f4c94f Author: Evgenii <59191442+greenjack-z@users.noreply.github.com> Date: Wed Aug 26 22:36:23 2020 +0300 update info.json file for handwired/zergo (#10117) * Rename keyboards/handwired/zergo/keymap.c to keyboards/handwired/zergo/keymaps/default/keymap.c * Update rules.mk * Update rules.mk * Update bootloader.mk * Update rules.mk * Update bootloader.mk * Update info.json * Update rules.mk * Update zergo.h * Update info.json * Update keymap.c * Update keyboards/handwired/zergo/info.json * Update keyboards/handwired/zergo/keymaps/default/keymap.c commit d949932c08db8e52f117f799280b5dc0b60bac85 Author: Ryan Date: Thu Aug 27 04:15:43 2020 +1000 Fix ChibiOS backlight not turning off on suspend (#10114) * Fix ChibiOS backlight not turning off on suspend * Add missing code for backlight as caps lock too commit 2f9eb4cd22777e369cf220594d2269d6cfa8fcb6 Author: Jonathan Dayton Date: Wed Aug 26 11:55:18 2020 -0500 [Keyboard] For Science (#9607) * Add a compiling layout based on minidox * Add the correct pins * Add old for science code * Update to 2020 standards * Get the keymap working * update config * Update pinout * Fix pins * Make requested changes * Add info.json for configurator * for science - PR comments * Apply suggestions from code review commit bad662b830bc5d93e244aec73d3115a65d7ccf17 Author: Fidel Coria <1coriaF@gmail.com> Date: Wed Aug 26 03:12:19 2020 -0500 [Keyboard] Handwired pteron38 (#10035) * setup handwired pteron38 * Clean up readme * readme follow template * c formatting conventions * remove file size comments from rules.mk * use direct link to imgur image * Apply suggestions from code review * add license commit c3ab20511d7170572d8698f47d3bee1c171919f8 Author: rupa Date: Wed Aug 26 04:09:45 2020 -0400 kbd67/mkiirgb - allow disabling rgb matrix (#10147) * kbd67/mkiirgb - allow disabling rgb matrix wrap rgb matrix funs in defines * kbd67mkiirgb - changes per review remove kb funcs that just call the user version. what's left is all rgb matrix stuff so we can just wrap the whole file. commit 78362b1dc1f446a17c6386ccaafb0fc7cdccd4f6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Aug 25 17:13:06 2020 -0700 Fix Configurator data: underscore33/rev1 Missed this on a previous PR. commit eb84f134c18d51c8e88e69b2ddf7d2bad86530be Author: tominabox1 Date: Tue Aug 25 14:47:16 2020 -0500 [Keyboard] _33 v2 (#9899) * Initial prep for PR * Fixing jsons for revs * Remove old keymap ref in readme * Add Rev1 default layout * Fix extra comma in default r1 keymap * Changed default keymap for r1 to match new split bottom row macro name, updated via keymap readme, updated r1 json to match layout macro name, updated split space macro for r1 * Moved combo configs to default keymaps, removed unused bootloader selections * Update keyboards/underscore33/rev1/rules.mk * Update keyboards/underscore33/rev2/rules.mk * Refactor _33 folder structure * Add VIA keymap to rev1 * Rename macros and product_id as suggested commit b3987d7b3a5627e8ae28d9c6eec687eb0ee76c2b Author: QMK Bot Date: Tue Aug 25 09:47:03 2020 +0000 format code according to conventions [skip ci] commit 1f09fcaa69a42cef6aeb5d18e8b37ce1842980a3 Author: eli <43716450+2-n@users.noreply.github.com> Date: Tue Aug 25 05:29:11 2020 -0400 [Keyboard] Pink Labs e88 (#9865) * Add files via upload * Update readme.md * Update readme.md * Delete info.json * Delete rules.mk * Delete readme.md * Delete f13.h * Delete f13.c * Delete config.h * Delete keymap.c * Delete readme.md * Add files via upload * Update keymap.c * Update config.h * Update config.h * Update rules.mk * Update keyboards/e88/config.h * Update keyboards/e88/readme.md * Update keyboards/e88/keymaps/default/keymap.c * Update keyboards/e88/rules.mk * Update keyboards/e88/rules.mk * Update keyboards/e88/config.h * Update keyboards/e88/rules.mk * Update keyboards/e88/rules.mk * Create info.json * Update config.h * Update keyboards/e88/info.json * Update keyboards/e88/readme.md * Update keyboards/e88/config.h * Update keyboards/e88/info.json commit b338a4d8867f69bd6a92ec92e306715a4ae41740 Author: Drashna Jaelre Date: Tue Aug 25 02:08:09 2020 -0700 Add noeeprom speed function for RGBLIGHT (#9706) * [Docs] Add Speed functions to RGB Light docs * Add noeeprom functions for speed * Fix wording in doc Co-authored-by: Ryan Co-authored-by: Ryan commit 1fd2f2f02227e969d4bde1ae88cd4eaa2f0ab242 Author: Drashna Jaelre Date: Tue Aug 25 02:05:39 2020 -0700 Compiler warning when using WS2812 (#9955) Specifically, when rgb matrix is enabled and using the ws2812 driver, and rgb light is enabled at the same time, print a message about coexistance because it can cause issues, since you cannot change pins/config for the WS2812 driver. commit c9c63806a7a068cbc4d12d5739fdd0b05742241d Author: Ryan Date: Tue Aug 25 19:04:42 2020 +1000 MSYS2: install packages for AVR toolchain (#10078) commit 5460489b5177245371d23b84b94673951866d003 Author: yiancar Date: Tue Aug 25 04:37:01 2020 +0100 [Keyboard] Barleycorn (#10118) * Initial commit * Barleycorn rename * Update readme.md * PR checklist fixes * Update info.json * Update keyboards/barleycorn/rules.mk * Update keyboards/barleycorn/config.h * Update keyboards/barleycorn/rules.mk * Update keyboards/barleycorn/config.h * Update keyboards/barleycorn/info.json * Update keyboards/barleycorn/info.json * Update keyboards/barleycorn/readme.md * Update keyboards/barleycorn/rules.mk * Update keyboards/barleycorn/rules.mk * PR review * Update keyboards/barleycorn/readme.md * Update keyboards/barleycorn/rules.mk * Update keyboards/barleycorn/keymaps/default/readme.md * Update keyboards/barleycorn/keymaps/iso/readme.md * Update keyboards/barleycorn/rules.mk * Update keyboards/barleycorn/readme.md * Update keyboards/barleycorn/rules.mk * Update keyboards/barleycorn/matrix.c * Update keyboards/barleycorn/barleycorn.c * added ansi/iso keymaps! * Update keyboards/barleycorn/info.json commit ecb212106950d4ffc5dca64fc06f031b6b12fcc1 Author: AKiwi92 <69772382+AKiwi92@users.noreply.github.com> Date: Tue Aug 25 04:36:05 2020 +0100 [Keyboard] KiwiKeebs MacroBoard v1.0 (#10080) * KiwiKeebs v.10 QMK * Rename files and folder structure for QMK pull request * Deleted unused files * Added starter keymap * Changes to make pull request compliant * Removed lines for PR error * Error fix in json for PR * Update keyboards/kiwikeebsmacro/kiwikeebsmacro.h * Update keyboards/kiwikeebsmacro/readme.md * Update keyboards/kiwikeebsmacro/keymaps/default/readme.md * Update keyboards/kiwikeebsmacro/keymaps/default/keymap.c * Update keyboards/kiwikeebsmacro/info.json * Update keyboards/kiwikeebsmacro/keymaps/default/keymap.c * Update keyboards/kiwikeebsmacro/config.h * Changed structure to allow for future boards * Update keyboards/kiwikeebs/macro/config.h * Update keyboards/kiwikeebs/macro/info.json * Update keyboards/kiwikeebs/macro/keymaps/default/keymap.c * Update keyboards/kiwikeebs/macro/keymaps/default/keymap.c * Amended rotarty to use kb instead of user * Updated structure after pull request commits * Update keyboards/kiwikeebs/macro/config.h * Update keyboards/kiwikeebs/macro/info.json commit 1272371f157f9730013981ada600d994612378aa Author: Cassandra de la Cruz-Munoz Date: Mon Aug 24 19:56:27 2020 -0400 [Keymap] add miuni32:cassdelacruzmunoz (#10108) * created keymap for miuni32:cassdelacruzmunoz * add license headers * fixed error commit 80d92525db8aee24d1028a977fd3bbb210414877 Author: Pierre Chevalier Date: Mon Aug 24 22:56:48 2020 +0100 Upstream a good default keymap for the Ferris handwired (#9926) * Proper default keymap * Update keyboards/handwired/ferris/keymaps/default/readme.md commit 297bda1c1ff818c0a1419d5e5256c605f5edff3b Author: Josh Hinnebusch Date: Mon Aug 24 17:55:49 2020 -0400 add num lock indicator functionality to hineybush/h10 (#10100) * add num lock indicator functionality to h10 * Update keyboards/hineybush/h10/h10.c commit 5772ac8bf68f5e8e003b4a047494ac3fa2065524 Author: haierwangwei2005 <69899561+haierwangwei2005@users.noreply.github.com> Date: Tue Aug 25 02:55:24 2020 +0800 [Keyboard] 10 ble oled usbhub pad (#10095) * Create rules.mk * Create glcdfonr.c * Create keymap.c * Create keymap.c * Create rules.mk * Add files via upload * Update readme.md * Update readme.md * Update readme.md * Update config.h * Update 10bleoledhub.h * Update 10bleoledhub.c * Update info.json * Update keymap.c * Update keymap.c * Rename glcdfonr.c to glcdfont.c * Update config.h * Update config.h * Update config.h * Update rules.mk * Update 10bleoledhub.c * Update 10bleoledhub.h * Update info.json * Update config.h * Update rules.mk * Update keymap.c * Update keymap.c * Update glcdfont.c * Update keyboards/10bleoledhub/rules.mk * Update keyboards/10bleoledhub/keymaps/via/keymap.c * Update keyboards/10bleoledhub/keymaps/default/keymap.c * Update keyboards/10bleoledhub/config.h * Update keyboards/10bleoledhub/config.h * Update keyboards/10bleoledhub/10bleoledhub.h commit 958e3f85cb91b152c9e22de52a4a5113603d669d Author: Naoki Katahira Date: Tue Aug 25 01:08:35 2020 +0900 Update Lily58 Keymaps and VendorID (#9979) * Update keymaps and venderID * update config.h * Update keyboards/lily58/keymaps/yuchi/keymap.c commit b139d34924499e69746307e618afaaa7cf5ab549 Author: Nick Blyumberg Date: Mon Aug 24 10:49:25 2020 -0400 Update Ortho60 VIA keymap (#10130) * Added the license header and made the layers generic commit 0ea476a3112310f86359b7e2dd7cf93a86d7b6de Author: Chris Alves Date: Mon Aug 24 02:13:11 2020 -0400 [Keymap] chrisae9 dz60 updates (#10098) * Changed keyboard layout and updated some keys * Updated keymap * Updated layout and pictures * Remove old keymap Co-authored-by: chis commit 8937c145140354f656a012ff6d6ec8d0a151ddd7 Author: kakunpc <15257475+kakunpc@users.noreply.github.com> Date: Sun Aug 23 16:27:01 2020 +0900 FIX rabbit_capture_plan info.json (#10139) commit 92da1f0b972fbd3fe08888e04b96e45e44ab1b32 Author: JagdPietr <59313824+JagdPietr@users.noreply.github.com> Date: Sun Aug 23 09:24:09 2020 +0800 [Keyboard] Drakon (#10071) * Drakon60 * Updates * Update: Deletion of XXX in WKL keymap * Update keymap.c * Revert "Updates" This reverts commit b4f97d38777ae3f41d6b20b0da69d90945c1ed8a. * Update keyboards/drakon/info.json * Update keyboards/drakon/info.json * Update keyboards/drakon/info.json * Update keyboards/drakon/config.h * Update keyboards/drakon/config.h * Update keyboards/drakon/rules.mk * Update keyboards/drakon/rules.mk * Update keyboards/drakon/rules.mk * Update keyboards/drakon/rules.mk * Update keyboards/drakon/keymaps/wkl/readme.md * Update keyboards/drakon/keymaps/logo/keymap.c * Update keyboards/drakon/keymaps/default/keymap.c * Update keyboards/drakon/keymaps/wkl/keymap.c * Update keyboards/drakon/config.h * Update keyboards/drakon/config.h * Update keyboards/drakon/keymaps/logo/readme.md * Update keyboards/drakon/config.h * Update keyboards/drakon/readme.md * Update keyboards/drakon/rules.mk * Update keyboards/drakon/drakon.c * Update config.h Deletion as recommended * Update config.h Correction of the deletion * Update config.h Deletion of line as recommended * Update config.h Deleted line as recommended * Update keymap.c Deleted line as recommended * Deletion of File * Delete config.h * Delete config.h * Delete config.h * Update keyboards/drakon/config.h * Update keyboards/drakon/keymaps/wkl/keymap.c * Update keyboards/drakon/keymaps/default/keymap.c * Update keyboards/drakon/keymaps/wkl/keymap.c commit a7cb1ceade0908122862a119e1f50d56a67cb2b8 Author: kakunpc <15257475+kakunpc@users.noreply.github.com> Date: Sun Aug 23 08:18:53 2020 +0900 [Keyboard] Add "rabbit capture plan" keyboard (#9895) * add rabbit_capture_plan * update keymap.c * Update keyboards/rabbit_capture_plan/paw3204.c Co-authored-by: Drashna Jaelre * move bto_to keymap * remove paw3204 Co-authored-by: Drashna Jaelre commit 42eeb315a5424fc576239b7e57061affc2ffa8ab Author: Michael Schwingen Date: Sun Aug 23 01:02:16 2020 +0200 [Keyboard] add support for ModelM USB board (#9846) * add support for ModelM USB board * EMI improvement: remove unnecessary toggling of MOSI pin * address review comments * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mschwingen/modelm/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mschwingen/modelm/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: Drashna Jaelre * Update keyboards/mschwingen/modelm/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * update printf usage * add comment * EMI improvement: remove unnecessary toggling of MOSI signal * remove trailing space * use shorter macros as suggested in review by noroadsleft, re-format table to line up columns * Update keyboards/mschwingen/modelm/config.h Co-authored-by: Ryan * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: Ryan * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: Ryan * Update keyboards/mschwingen/modelm/rules.mk Co-authored-by: Ryan * Update keyboards/mschwingen/modelm/README.md Co-authored-by: Ryan * Update keyboards/mschwingen/modelm/README.md Co-authored-by: Ryan * Apply suggestions from code review use spi_read from core insteads of our own copy Co-authored-by: Ryan * include spi_master.c to use spi_read() * Update keyboards/mschwingen/modelm/README.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply suggestions from code review: correct indenting in keymap Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply suggestions from code review use automatic variant defines from makefile instead of defining our own Co-authored-by: Drashna Jaelre * Update keyboards/mschwingen/modelm/rules.mk: use QUANTUM_LIB_SRC for uart.c Co-authored-by: Drashna Jaelre Co-authored-by: Michael Schwingen Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit ac3dfa742a92de541f86846b94269aab87d55d3c Author: yulei Date: Sun Aug 23 04:45:06 2020 +0800 [Keyboard] added matrix 8xv2.0 additional (#9470) * added matrix 8xv2.0 additional keyboard * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * add copyright and speed up the matrix scanning * Update keyboards/matrix/m20add/rules.mk Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit e02f4798f97f7432e8df55846f8eb496b6ac45d1 Author: myoung34 Date: Sat Aug 22 14:59:24 2020 -0500 [Keyboard] Pterodactyl handwired (#9884) * Working bluetooth fork of dactyl * Refactor thanks to zvecr * Final refactor per PR comments * Pragma once * Update keyboards/handwired/pterodactyl/pterodactyl.h * Update keyboards/handwired/pterodactyl/readme.md * Update keyboards/handwired/pterodactyl/rules.mk * Update keyboards/handwired/pterodactyl/rules.mk * Update keyboards/handwired/pterodactyl/config.h * Update keyboards/handwired/pterodactyl/pterodactyl.h * Update keyboards/handwired/pterodactyl/config.h * Update keyboards/handwired/pterodactyl/pterodactyl.h * update readme * Update keyboards/handwired/pterodactyl/keymaps/default/keymap.c * Update keyboards/handwired/pterodactyl/info.json * Update keyboards/handwired/pterodactyl/readme.md * Update keyboards/handwired/pterodactyl/config.h * Update keyboards/handwired/pterodactyl/info.json * Update keyboards/handwired/pterodactyl/keymaps/default/keymap.c * Update keyboards/handwired/pterodactyl/keymaps/default/keymap.c * Update keyboards/handwired/pterodactyl/keymaps/default/keymap.c * Update keyboards/handwired/pterodactyl/keymaps/default/keymap.c * Update keyboards/handwired/pterodactyl/pterodactyl.h * Update keyboards/handwired/pterodactyl/keymaps/default/keymap.c * Update keyboards/handwired/pterodactyl/matrix.c * Fix/add formatting and info/keymap.json * Update keyboards/handwired/pterodactyl/keymaps/default/keymap.json * lint default/keymap.json * format info.json commit cf4b493c247c1e4f02f10cf62bc499ce2d001380 Author: cBachoo Date: Sat Aug 22 15:40:55 2020 -0400 [Keyboard] Nemui (#10020) * added nemui layout * via support working * added license headers for c and h files * Update keyboards/nemui/keymaps/via/rules.mk * Update keyboards/nemui/nemui.c * Update keyboards/nemui/config.h * Update keyboards/nemui/readme.md * Update keyboards/nemui/rules.mk * removed nemui.json as it was supposed to only be in via repo * Update keyboards/nemui/keymaps/default/keymap.c * Update keyboards/nemui/info.json * Update keyboards/nemui/info.json * Update keyboards/nemui/keymaps/via/keymap.c * Update keyboards/nemui/keymaps/via/keymap.c commit 220b1c9db40d95271dcdd8d8050e46a2a3143c65 Author: Drashna Jaelre Date: Sat Aug 22 07:44:42 2020 -0700 [Keyboard] Add ZSA Moonlander (#9853) commit 346bfb2a052f4e05cc91e55e1317c8529c405ac6 Author: Ikta <48316247+IktaS@users.noreply.github.com> Date: Sat Aug 22 20:06:16 2020 +0700 Update i2c_driver.md (#10131) Update i2c_driver.md to change ARM pin number documentation, line 84 and 85 commit 0f0530c5a4441eecd5941f1f61f74ea89d15e9a2 Author: zeriyoshi Date: Sat Aug 22 17:12:19 2020 +0900 Fix IDOBAO ID80 board configurations. (#9796) * Fix IDOBAO 80 disable console and LEDs. * Re-enabling to IDOBAO80s underglow rgb light * fix define legacy declarements commit 08acb7ab68cbbf14c8892301e53b6a4e124d65ac Author: Nick Blyumberg Date: Sat Aug 22 02:14:52 2020 -0400 Ortho48 VIA keymap (#10128) commit 70ce4ba56f5d805e71c2b1de7334d6492b5e350a Author: Nick Brassel Date: Sat Aug 22 08:42:28 2020 +1000 Revert "Add Kiibohd bootloader type to bootloader.mk (#9908)" (#10126) This reverts commit e2d4cd1a41c667da186891e3dbaf535c6b0717df. commit 1b0272e801d5ed5fb9af6012376e0d23ca678acd Author: Sendy YK Date: Sat Aug 22 04:25:28 2020 +0700 Fixed Soyuz LAYOUT_numpad_5x4 Preview on QMK Configurator (#10123) commit 22ceab9c08c36cd9de5167994867ddb3bdad754d Author: Sendy YK Date: Sat Aug 22 04:24:02 2020 +0700 Fixed DZ60 LAYOUT_60_ansi_arrow Preview on QMK Configurator (#10122) commit 930446fe964d27950f93b5743fd11bbe127c9036 Author: gtips <51393966+gtips@users.noreply.github.com> Date: Fri Aug 21 10:10:05 2020 +0900 Update reviung39 PRODUCT_ID (#10001) commit dd763f2988f0804fc7a0ff03de5c2a1e5a29e450 Author: rupa Date: Thu Aug 20 20:07:09 2020 -0400 [Keymap] userspace and keymap for rupa (#9786) * first iteration of my keymap * * move to userspace * "script" modes * keymap bling * OM and RUPA keys and tryin to micro-optimize in process_records.c * woops swap shifted rupas forgot to add codepoint for OM * Apply suggestions from code review Co-authored-by: Drashna Jaelre * add call to process_record_keymap, per review * fall through to process_record_keymap * license headers Co-authored-by: Drashna Jaelre commit 83c7c66e8caab77bfb97c937c371ceb165c58102 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Thu Aug 20 10:50:43 2020 +0900 [Keyboard] AJisai74 (#10021) * Add keyboard ajisai74 Add ajisai74 keyboard. A 74 keys ANSI/JIS Layout keyboard. Salicylic-acid3 * Update keyboards/ajisai74/keymaps/salicylic/keymap.c * Update keyboards/ajisai74/keymaps/via/keymap.c * Update keyboards/ajisai74/keymaps/via/keymap.c * Update keyboards/ajisai74/rules.mk * Update keyboards/ajisai74/rev1/rev1.h * Update keyboards/ajisai74/keymaps/default/keymap.c * Update keyboards/ajisai74/keymaps/default/keymap.c * Update keyboards/ajisai74/keymaps/jis/keymap.c * Keymap update Fixed an unnecessary symbol at the end of the file. * Update keyboards/ajisai74/readme.md * Update keyboards/ajisai74/rev1/config.h * Delete Rev1 directory I removed the directory because I don't have any plans to update now. * Update keyboards/ajisai74/rules.mk * Added copyright Added copyright to all files. * Update keyboards/ajisai74/ajisai74.h commit ec7abc2ce287eb10ca54cb8631eb132426f27adc Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Aug 19 18:49:31 2020 -0700 [Keyboard] HolySwitch Co Southpaw75 (#10011) * add in drewguy's code with a few additions to the keymap * add VID and PID * fixup defualt keymap * add VIA keymap * thanks to bigchimpo for reminding me to put an Fn key in the default keymap * make sure we have the right gitugithub url for drew * remove description as per PR checklist * append readme with more information * Update keyboards/holyswitch/southpaw75/config.h * Update keyboards/holyswitch/southpaw75/info.json * Update keyboards/holyswitch/southpaw75/southpaw75.h * Update keyboards/holyswitch/southpaw75/info.json commit 0b894ca99c4b4556f386afb7badd6f04b715d086 Author: LucW Date: Thu Aug 20 09:38:52 2020 +0800 [Keymap] update dvorak_42_key keymaps for atreus and ergodox_ez: add VSCode shortcuts (#10054) * remove obsolete cloud9 macros, add vscode macros on the KEYNAV layer * add vscode layer and shortcuts * remove duplicate VSCODE layer and macros * apply review changes commit cdb69da86e482cba7f7980cba946a5409215fe62 Author: Jason Fields Date: Wed Aug 19 14:59:59 2020 -0700 Fix typo in docs/feature_dynamic_macros (#10085) s/completly/completely commit c18cbcc5ad58c902cce6ab4cf44f9899ff5a154c Author: Nick Blyumberg Date: Wed Aug 19 15:31:56 2020 -0400 [Keymap] VIA keymap for Cannonkeys Ortho60 (#10086) * Adding VIA support * Fixed Vendor ID * Update keyboards/cannonkeys/ortho60/config.h * Update keyboards/cannonkeys/ortho60/keymaps/via/keymap.c * Update keyboards/cannonkeys/ortho60/config.h commit c23e6dff78997e51a4aefc83e7fa8ac6d48df5ae Author: fvolpe83 <62909893+fvolpe83@users.noreply.github.com> Date: Wed Aug 19 21:30:00 2020 +0200 [Keymap] xd60:shura30 (#10089) * added my xd60 layout * added my xd60 layout * Update keyboards/xd60/keymaps/shura30/keymap.c * Update keyboards/xd60/keymaps/shura30/keymap.c * Update keyboards/xd60/keymaps/shura30/config.h commit 4f4c6e04d9f1b0700f3ef46d0f08be64f19eb4d0 Author: Evgenii <59191442+greenjack-z@users.noreply.github.com> Date: Wed Aug 19 22:00:36 2020 +0300 Rename keyboards/handwired/zergo/keymap.c to keyboards/handwired/zergo/keymaps/default/keymap.c (#10094) commit 057bc5da80da0fc1056463f82b774bd198d5197e Author: Damien Date: Wed Aug 19 20:21:39 2020 +0200 [Keymap] added dbroqua keymap for kbdfans/kbd6x (#10072) * [kbdfans] Added dbroqua layout for kbd6x Add dbroqua keymap for kbd6x Add dbroqua layout for kbd6x with HHKB style and RGB. * Update keymap.c * Change based on zvecr * Added RESET button commit e4a0a5f4e1e1a561939596fff09380dab8434d79 Author: satt99 Date: Thu Aug 20 03:18:52 2020 +0900 [Keyboard] Vision keyboard by SatT (#9768) * Add vision keyboard * Remove bootloader_defs.h * Update keyboards/satt/vision/readme.md * Change Vendor ID * Update keyboards/satt/vision/config.h * Update keyboards/satt/vision/rules.mk * Fix info.json * Apply suggestions from code review * Add license header * Apply suggestions from code review commit 993d4058a1537f82ee8eb0006e155ac8c8620af1 Author: Sendy YK Date: Thu Aug 20 01:16:10 2020 +0700 60_ansi_arrows Community Layout; mrsendyyk keymaps for dz60 and maartenwut/eon65 (#9993) * Add Layout and Keymap * Add and Update Keymap * Update readme.md * Update keymap.c * Update readme.md * Update * delete * update * Revert "update" This reverts commit 91a3ff800c043094469dd0bb60cc454857b3a2d0. * Update config.h remove `DESCRIPTION` as per PR checklist * Update config.h * Revert "Update config.h" This reverts commit 269df0535efb4548828463eecc3a022c99d98949. * Revert "Update config.h" This reverts commit cad5a3320123da4694f09fb4e3ac08cc75bab1cc. * Update keyboards/dz60/dz60.h * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update dz60.h * Update keymap.c * Update readme.md * Update keymap.c * Update keymap.c * Update readme.md * Update dz60.h * Update keymap.c * Update readme.md * Update readme.md * Update * Update keymap.c * Update keymap.c * Update keymap.c * Update readme.md * Update keymap.c * Update readme.md * Update readme.md * Update keymap.c * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Rename readme.md to README.md * Rename readme.md to README.md * Rename README.md to readme.md * Rename README.md to readme.md * Update rules.mk * Update dz60.h * Update keymap.c * Update readme.md * Update keymap.c * Update readme.md * Update * Update keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update readme.md * Update info.json * Update keyboards/dz60/dz60.h * Update keyboards/dz60/dz60.h * Update keyboards/dz60/rules.mk * Update layouts/community/60_ansi_arrow/mrsendyyk/keymap.c * Update layouts/community/60_ansi_arrow/mrsendyyk/keymap.c * Update layouts/community/60_ansi_arrow/mrsendyyk/keymap.c * Update layouts/community/60_ansi_arrow/readme.md * Update layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c * Update layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c * Update layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c * Update layouts/default/60_ansi_arrow/readme.md * Update layouts/community/60_ansi_arrow/mrsendyyk/readme.md * Update layouts/community/60_ansi_arrow/mrsendyyk/readme.md * Update layouts/community/60_ansi_arrow/readme.md * Update layouts/community/60_ansi_arrow/readme.md * Update layouts/community/60_ansi_arrow/readme.md * Update layouts/community/60_ansi_arrow/readme.md * Update layouts/community/60_ansi_arrow/readme.md * Update keymap.c * Update readme.md * Update keymap.c * Update keymap.c * Update readme.md commit 79f080a43f005293c4442cbd7190533ad878526d Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Wed Aug 19 13:20:22 2020 +1000 [Keyboard] add Xelus Valor (#10079) * praxis avr * rgb * valor initial * rgb limit * readme update * update rules.mk and include valor * update readme * Update rules.mk * update readme and copyright + layout macro * oops didnt save commit d57bd0f65ca18b854dfdfe019f53474d47bf7b53 Author: jackytrabbit Date: Wed Aug 19 10:29:09 2020 +0800 [Keyboard] Add support for keyboard 'Bolt' (#10046) * Add support for keyboard 'Bolt' Add support for keyboard 'Bolt' * Update info.json * Update info.json * Update keyboards/lazydesigners/bolt/config.h Co-authored-by: Joel Challis * Update keyboards/lazydesigners/bolt/rules.mk Co-authored-by: Joel Challis * Update keyboards/lazydesigners/bolt/readme.md Co-authored-by: Joel Challis * Update info.json * Update keyboards/lazydesigners/bolt/info.json Co-authored-by: Ryan * Update keyboards/lazydesigners/bolt/bolt.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/lazydesigners/bolt/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/lazydesigners/bolt/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/lazydesigners/bolt/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/lazydesigners/bolt/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/lazydesigners/bolt/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit d9fe85592365259120d9f9e9cd24c8536ab95b98 Author: Alpha Chen Date: Tue Aug 18 19:21:50 2020 -0700 [Keymap] update kejadlen keymaps (#9954) Standardizing my keymaps under my username, rather than a keymap name. commit df1467c86d2abd08a1d34ac847452e06e51a5478 Author: jotix <69703151+jotix@users.noreply.github.com> Date: Tue Aug 18 22:48:40 2020 -0300 [Keymap] jotix_ortho_4x12_layout (#10075) commit 7c81ae287ce506980f5a858c226ea70c925443e4 Author: kingwangwong <31333140+kingwangwong@users.noreply.github.com> Date: Tue Aug 18 20:18:32 2020 -0500 Changes to thevankeyboards/minivan:king keymap (#10032) * Changes to minivan layout commit 37105225491b08c654e53690e9cf2d2df66d38aa Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Wed Aug 19 08:13:16 2020 +0700 Refactor Adelais PCB (#10069) Enable RGBLIGHT for standard pcb rev2&3 * Update rules.mk * Update rules.mk commit 1ff68165b855e4af3325adb3cf532d78fffb17fb Author: yiancar Date: Wed Aug 19 01:56:40 2020 +0100 [Keyboard] NK87 (#9965) * Initial commit * Fix1 * Final Prettify * Update keyboards/nk87/config.h * Update keyboards/nk87/keymaps/default/keymap.c * Update keyboards/nk87/keymaps/via/keymap.c * Update keyboards/nk87/rules.mk * Remove unnecessary junk * Update keyboards/nk87/readme.md * Update keyboards/nk87/readme.md * Update keyboards/nk87/readme.md * Update keyboards/nk87/keymaps/default/readme.md * Update keyboards/nk87/keymaps/via/readme.md commit 33579efee3195e9c0c8ab180c47699cc765129a4 Author: Yoonbae Cho Date: Wed Aug 19 08:13:55 2020 +0900 Update keymap for Keebio/iris4/rev4 (#10062) commit 588991af6934fc786abf6bbce61efc2c319195de Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Wed Aug 19 08:13:18 2020 +1000 Dawn60 update that breaks travis keyboard builds (#10082) commit 5aa55a715420a4977562c21ae4f76870024e8c42 Author: Adam Gwilliam Date: Tue Aug 18 16:36:46 2020 -0500 add VIA keymap for boardsource/3x4 (#10043) * via keymap for boardsource/3x4 * fix formatting * Apply suggestions from code review fix rules.mk * Update keyboards/boardsource/3x4/rules.mk * use unique product ID * update vendor id to be unique, update product id to make more sense commit 03090d657148dcad87f4ad51bba4a13f078a8083 Author: JesseLeung97 <44124944+JesseLeung97@users.noreply.github.com> Date: Tue Aug 18 17:28:25 2020 -0400 [Keyboard] generic_panda/panda65_01 (#10006) * First commit * Added ChibiOS files * renamed files to remove capital letters * Fixed layout references * fixed image reference * Fixing errors * Fixed config.h * changed second up to fn key * renamed files and added beginning of via compatibility * renamed keyboard * removed vscode files * fixing files for via compatibility * adding via files * working via compatibility * Update readme.md * Update readme.md * First commit * Added ChibiOS files * renamed files to remove capital letters * Fixed layout references * fixed image reference * Fixing errors * Fixed config.h * changed second up to fn key * renamed files and added beginning of via compatibility * renamed keyboard * removed vscode files * fixing files for via compatibility * adding via files * working via compatibility * added license header to via file * preparing for pull request * Fixed firmware according to pull request feedback * fixed readme according to pull request feedback * Updated readme and removed unnecessary layers in default/keymap.c * removed whitespace * updated keymap readme to match suggestion commit f99f46773eb13ba4673240dcf5c8b0e3b4b413fd Author: Evgenii <59191442+greenjack-z@users.noreply.github.com> Date: Wed Aug 19 00:24:50 2020 +0300 [Keyboard] zErgo handwired (#9990) * Create readme.md * Add files via upload * Update readme.md * Create info.json * Update info.json * Update and rename kb.c to zergo.c * Rename kb.h to zergo.h * Add files via upload * Update keymap.c * Update config.h * Update zergo.c * Update zergo.h * Update rules.mk * Update keymap.c * Rename Makefile to makefile * Update zergo.c * Update zergo.h * Update keymap.c * Update config.h * Update config.h * Update zergo.h * Update rules.mk * Update rules.mk * Update config.h * Update keyboards/handwired/zergo/keymap.c * Update keyboards/handwired/zergo/keymap.c * Update keyboards/handwired/zergo/zergo.h * Update keyboards/handwired/zergo/keymap.c * Update keyboards/handwired/zergo/keymap.c * Update keyboards/handwired/zergo/rules.mk * Update keyboards/handwired/zergo/keymap.c * Update readme.md * Update readme.md * Update keyboards/handwired/zergo/readme.md * Update readme.md * Update keyboards/handwired/zergo/config.h * Update keyboards/handwired/zergo/config.h * Update keyboards/handwired/zergo/info.json * Update readme.md * Update keyboards/handwired/zergo/readme.md * Update keyboards/handwired/zergo/readme.md * Delete makefile commit 66de3308e5b17c0c59692b2660f2ce3a33c99863 Author: Blake Date: Tue Aug 18 21:45:33 2020 +0100 [Keyboard] Bento handwired macro pad (#9973) * [Keyboard] Add ghostseven/bento * Correct attribution, Dwin17 * Formatting change * Markdown formating * Update keyboards/ghostseven/bento/info.json * Update keyboards/ghostseven/bento/readme.md * Update keyboards/ghostseven/bento/rev1/config.h * Update keyboards/ghostseven/bento/rev1/rules.mk * Update keyboards/ghostseven/bento/rev1/rules.mk * Update keyboards/ghostseven/bento/rev1/rules.mk * Update keyboards/ghostseven/bento/rev1/rules.mk * Update keyboards/ghostseven/bento/rev1/config.h * Update keyboards/ghostseven/bento/rev1/rev1.c * Update keyboards/ghostseven/bento/rev1/rev1.c * Update keyboards/ghostseven/bento/rev1/config.h * Update keyboards/ghostseven/bento/rev1/rules.mk * Update keyboards/ghostseven/bento/readme.md * Delete config.h * Delete config.h * Update rules.mk * Rename keyboards/ghostseven/bento/readme.md to keyboards/handwired/bento/readme.md * Rename keyboards/ghostseven/bento/rules.mk to keyboards/handwired/bento/rules.mk * Rename keyboards/ghostseven/bento/info.json to keyboards/handwired/bento/info.json * Rename keyboards/ghostseven/bento/bento.h to keyboards/handwired/bento/bento.h * Rename keyboards/ghostseven/bento/bento.c to keyboards/handwired/bento/bento.c * Rename keyboards/ghostseven/bento/rev1/rules.mk to keyboards/handwired/bento/rev1/rules.mk * Rename keyboards/ghostseven/bento/rev1/rev1.h to keyboards/handwired/bento/rev1/rev1.h * Rename keyboards/ghostseven/bento/rev1/rev1.c to keyboards/handwired/bento/rev1/rev1.c * Rename keyboards/ghostseven/bento/rev1/config.h to keyboards/handwired/bento/rev1/config.h * Rename keyboards/ghostseven/bento/keymaps/default/keymap.c to keyboards/handwired/bento/keymaps/default/keymap.c * Update bento.h * Change make location to handwired dir. * added alt keymap submited by cbc02009 * Added mac dev keymap * Licence updates commit 0e542b297ddeff908d5b8f4a28730e2189421720 Author: Nick Blyumberg Date: Tue Aug 18 16:10:43 2020 -0400 Super16 VIA support (#10076) * Added via support for Super16 commit c0df341f5c0db7217838dfb994ccbb6bd2d075fe Author: cole smith <38364556+daysgobye@users.noreply.github.com> Date: Tue Aug 18 13:46:09 2020 -0600 [Keyboard] Boardsource Microdox (#9971) * microdox keyboard workidng * updated readme * cleaned up for pr * Apply suggestions from code review * Apply suggestions from code review * added license headers * Update keyboards/boardsource/microdox/keymaps/default/keymap.c * Update keyboards/boardsource/microdox/rules.mk * Update keyboards/boardsource/microdox/rules.mk * Update keyboards/boardsource/microdox/rules.mk commit 186b1b2ba2550d9a7a864a241e8f9503c37f188b Author: JuanTapMan <68515848+JuanTapMan@users.noreply.github.com> Date: Tue Aug 18 01:25:43 2020 -0700 function96 keyboard added (#10024) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 4237d35e83826d0d8949a45dffa27d6c68d3d4f9 Author: Yu-Xi Lim Date: Tue Aug 18 15:06:19 2020 +0800 [Keyboard] HHKB Lite 2 (#9188) * Initial commit for HHKB Lite 2 * Rearrange keymap * Clean up config * Fix pin assignments * Code and filename cleanup * Add README * Apply suggestions from code review Code cleanup * Update keyboards/hhkb_lite_2/README.md Documentation cleanup * Change Vendor ID to unused * One more LAYOUT * Via keymap for HHKB Lite 2 * Remove redundant keymap.c * Add README for Via keymap * Fix vendorId for Via keymap * Apply suggestions from code review Cleanup based on review feedback * Clean up via keymap makefile rules * Switch to C keymap instead of JSON for Via layout * Move bootmagic key config to main Moved to main keyboard config to be shared by all keymaps. * Address PR feedback * Reformat config comments * Format rules.mk comments * Rename README -> readme * Use `make` instead of `qmk` in examples commit 0d65bbaa44b8b911744b5496fc9d8fca181d6ef5 Author: rate Date: Tue Aug 18 15:46:56 2020 +0900 [Keyboard] Pistachio (#10003) * Add keyboard Pistachio * Update keyboards/pistachio/keymaps/default/keymap.c * Update keyboards/pistachio/keymaps/default/keymap.c * Update keyboards/pistachio/config.h * Fix Build error. * Apply suggestions from code review commit 70acf36d1641cad1337eb714ae56145d949ff423 Author: Wilba Date: Tue Aug 18 16:44:35 2020 +1000 [Keyboard] Added RAMA WORKS M65-B, M65-BX, M10-C, M50-A (#9991) * Added RAMA WORKS M65-B, M65-BX, M10-C, M50-A * Review changes * Review changes * Review changes * Increase layers to 10 for M10-C, M10-B commit c59a81b792ffbe0629183cf1e84f869e9a8d5471 Author: Richard Goulter Date: Tue Aug 18 13:39:17 2020 +0700 [Keyboard] Update bm40hsrgb with RGB Matrix support (#10044) * bm40rgb: copy from kbfirmware.com * bm40rgb: align default keymap * bm40rgb: rename kb.c/h to bm40rgb.c/h * bm40rgb: adjust with changes from the noroadsleft converter * bm40rgb: adjust keyboard to support plant_mit and ortho_4x12 layouts * bm40rgb: Add keyboard readme.md * bm40rgb: add RGB Matrix support * bm40rgb: remove bm40hsrgb layout * Apply suggestions from PR - Fix alignment in keyboards/bm40rgb/bm40rgb.c - Remove redundant DESCRIPTION in keyboards/bm40rgb/config.h - Tidy keyboards/bm40rgb/readme.md - Tidy MANUFACTURER, PRODUCT in keyboards/bm40rgb/config.h - Tidy rules.mk keyboards/bm40rgb/rules.mk - Use PRODUCT_ID computed from SHASUM of keyboard name in keyboards/bm40rgb/config.h - Define LAYOUT_all in keyboards/bm40rgb/bm40rgb.h * Update keyboards/bm40rgb/info.json * Tidy comment * Apply suggestions from code review * Apply suggestions from code review * Revert "bm40rgb: remove bm40hsrgb layout" This reverts commit 1f69a03551321bf8cf736150f1f651127c90585a. * Move the rgbmatrix change over to bm40hsrgb * Wrap g_led_config declaration with commit 3f5f6030f81c6ea8a6bd27b882149e21c5dd3510 Author: markva Date: Tue Aug 18 08:28:47 2020 +0200 [Keyboard] BM60 RGB ISO (#9975) * Add BM60 RGB ISO Keyboard * fixed link to picture * Update keyboards/bm60rgb_iso/bm60rgb_iso.c * Update keyboards/bm60rgb_iso/config.h * Update keyboards/bm60rgb_iso/config.h * Update keyboards/bm60rgb_iso/info.json * Update keyboards/bm60rgb_iso/info.json * Update keyboards/bm60rgb_iso/rules.mk * Delete vscode file * Update my new username * Disable console and commands * Apply suggestions from code review commit b21faf768e49d54bb17a611938f598cabe76994d Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Aug 18 16:12:55 2020 +1000 [Keyboard] AEBoards Constellation (#9972) * open drain * ext65 initial * clean up messy code * clean up init * update docs stm32 only and applies to all 3 driver * fix USE_GPIOIv1 * place documentation at bottom * constellation initial * cleanup * fix ws2812.c * Clean up rules.mk * Update config.h * Update config.h * Update readme.md * Update rules.mk * Update rules.mk * add license header commit 3b09add3494716eed62c562b334a82d6d460365f Author: Yoonbae Cho Date: Tue Aug 18 14:03:55 2020 +0900 [Keymap] yoonbae81 keymap for JJ50 (#10052) * Create keymap for jj50 * Update rules.mk * Update rules.mk * Update * Update keymap.c commit 613e5752d70758d3e0d9a37837efeb2175b74e75 Author: HASU <18438880@qq.com> Date: Tue Aug 18 12:36:16 2020 +0800 latinpad ADD BOOTMAGIC_ENABLE = lite (#10056) * Update rules.mk * Update config.h * Update keyboards/latinpad/config.h commit 4c82a40a0a2bbcff4dd242a872297e7b20398c99 Author: Maarten Dekkers Date: Tue Aug 18 06:33:27 2020 +0200 [Keyboard] Maartenwut GH80-1800 (#9981) * Add GH80-1800 * Update readme.md commit 86ea85e3abb3d249a4403634a4908547894ec926 Author: kaylanm <1063516+kaylanm@users.noreply.github.com> Date: Tue Aug 18 00:26:42 2020 -0400 [Keymap] Add via keymap for singa (#10050) commit 3942b6f3727040dd986aab6fa013886565ee7366 Author: dp Date: Mon Aug 17 03:16:52 2020 -0700 Redox: sync RGB on left and right sides (#10022) commit c72c01afd4ce7c0b3a116034839d1bcc15b1e635 Author: Callum Oakley Date: Mon Aug 17 11:12:40 2020 +0100 [Keymap] Removing #4072 workaround! (#9995) * move media keys in to move layer; rearragne f keys; use send_string for rev5 compatability * remove send_string workaround for #4072 commit cb87f5fbeb2f77179845f20c9d5179a35dceca41 Author: Wilba Date: Mon Aug 17 19:21:02 2020 +1000 [Keyboard] wilba.tech WT65-XT and WT65-XTX (#9999) * Added wilba.tech WT65-XT, WT65-XTX * Review changes * Review changes commit d02301e59d49a15a51eedb3456b289b1d585c22e Author: Joel Challis Date: Mon Aug 17 10:12:45 2020 +0100 Swap git diff logic to github action when running qmk info (#9978) * swap git diff logic to github action * Print out layouts when linting commit b4ae7badd46cb468cb8bef9be99dcf73f4a1e642 Author: nopunin10did Date: Mon Aug 17 05:08:15 2020 -0400 Issue 9942: Add LSA, RSA, RCS, LSA_T, RSA_T, and RCS_T (#9943) * Issue 9942: Add Quantum defines Add codes to quantum_keycodes for LSA, RSA, RCS, and their corresponding _T macros * 9942: Add documentation for new defines Add documentation for new defines in feature request 9942. Also define SAGR and SAGR_T as aliases for RSA and RSA_T. * Update quantum/quantum_keycodes.h * Update docs/keycodes.md * Update docs/keycodes.md * Update docs/keycodes.md * Update docs/keycodes.md commit 2ddcd810201903836404724d27b8d5a628930a22 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Mon Aug 17 04:33:57 2020 -0400 [Keymap] layer indicator lights (#10004) * move caps lock indicator position * use num lock and scroll lock as layer indicators commit 869b648088d3dc97a86e8db445b537ec7eed23fb Author: codecoffeecode Date: Mon Aug 17 01:32:07 2020 -0700 Keymap Updates for DMQ Design SPIN, Boardsource 4x12, and Gingham (#9911) * Updating keymaps for Gingham and DMQ Design SPIN and adding keymap for BoardSource 4x12 * Update keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c commit 00af37a659c8ef4a1de08830536853fb60dc71a6 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Aug 17 17:19:52 2020 +0900 [Docs] Japanese translation of docs/proton_c_conversion.md (#9927) * start translation docs/ja/proton_c_conversion.md * Japanese translation is in progress. * Japanese translation is in progress. * update * Update docs/ja/proton_c_conversion.md * Update docs/ja/proton_c_conversion.md * Update docs/ja/proton_c_conversion.md * Update docs/ja/proton_c_conversion.md * Update docs/ja/proton_c_conversion.md * Update docs/ja/proton_c_conversion.md * Update docs/ja/proton_c_conversion.md * Update docs/ja/proton_c_conversion.md * Update docs/ja/proton_c_conversion.md * update docs/ja/_summary.md: GPIO congtrol commit 792a4802446d0d5b97924bcb305ac0686b4539d8 Author: Maarten Dekkers Date: Mon Aug 17 04:15:30 2020 +0200 [Keyboard] Maartenwut GH80-3700 (#9960) * Add GH80-3700 * Add via keymap * Update gh80_3700.h * Update config.h * LAYOUT_all -> LAYOUT_ortho_6x4 * Update readme.md commit febf27361a6846d4c94cbe4adaeba87bc7726da6 Author: Mike Rix Wolfe <2893679+MikeRixWolfe@users.noreply.github.com> Date: Sun Aug 16 20:44:56 2020 -0500 update mikefightsbears keymap for Lily58 (#9988) commit 3b3a1b2a635fd41808cf58ddf9f33b89f6db3e5e Author: kelvinhall05 <56369403+kelvinhall05@users.noreply.github.com> Date: Sun Aug 16 21:42:26 2020 -0400 [Keyboard] Southpaw75 (#9844) * adding southpaw75 * Added readme.md for Southpaw75 * adding info.json * Update keyboards/southpaw75/rules.mk * Update keyboards/southpaw75/southpaw75.h * Update keyboards/southpaw75/keymaps/default/keymap.c * Update keyboards/southpaw75/config.h * Update keyboards/southpaw75/southpaw75.h * Update keyboards/southpaw75/keymaps/default/keymap.c * Update keyboards/southpaw75/rules.mk * Update keyboards/southpaw75/rules.mk * Update keyboards/southpaw75/config.h * Update keyboards/southpaw75/readme.md * Update keyboards/southpaw75/readme.md * Update config.h * Update keymap.c * Update readme.md * Update southpaw75.c * Update southpaw75.h commit 194dc0984ee3bdaa285125c024b292794fa198d8 Author: Viet Yen Nguyen Date: Mon Aug 17 03:37:42 2020 +0200 [Keyboard] Kinesis + Pro Micro (#9944) * [Keyboard] Kinesis + Pro Micro init - docs for DIY - custom matrix = lite - a near-factory dvorak mapping - optimized debouncing for lower latency * chore: reformatting * chore: update doc * chore: cleanups according to PR feedback * chore: PR feedback * fix: compile error * chore: add include * fix: LEDs hanging after USB disconnect * chore: enable QMK goodies by default * chore: use semantic write pin commit e071206c58916e74117ebbec1ef7ec4ee957ee38 Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Sun Aug 16 21:33:20 2020 -0400 [Keyboard] Wabi handwire (#9704) * cleaning up * got some working bones * working pretty well * really livin' now * all done * copyright adjustments * default keymap * readme * no descrip * remove trailing slashes * remove blank line * remove trailing slashes * clean up readme * clean up rules spacing * bootloader spacing * made quick json from KLE converter * remove postageboard mini references * add actual manu and product values * add make example * rework * remove double bootload define * smoller image * liscensed * correct dimensions * dimensions commit 48bd8263a34bc9d7fdf5bea658e0dd10432a76e3 Author: Ryan Date: Mon Aug 17 08:10:48 2020 +1000 Fix sendstring call in onekey ADC keymap (#10031) commit 249eab34e1945d8a9c4e9cd8a6de6651a2340b1c Author: shela Date: Mon Aug 17 02:58:33 2020 +0900 Update Japanese translation of _summary.md. (#10051) commit 7c7feb44b2af2d7e6ecb452a34499885045d9726 Author: Sendy YK Date: Sun Aug 16 08:26:48 2020 +0700 Add numpad llayout to ai03/soyuz & personal keymap (#10030) * ai03 Soyuz ## Description @ai03-2725 Soyuz: 1. Update `soyuz.h` (Add `LAYOUT_5x4`) 2. Added `keymap.c` 3. Added `readme.md` * Update readme.md * Update readme.md * Update keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update soyuz.h Co-authored-by: Joel Challis * Update keyboards/ai03/soyuz/soyuz.h Co-authored-by: Joel Challis * Update keyboards/ai03/soyuz/keymaps/mrsendyyk/keymap.c Co-authored-by: Joel Challis * Update keyboards/ai03/soyuz/keymaps/mrsendyyk/keymap.c Co-authored-by: Joel Challis * Update rules.mk * Update keymap.c * Update keymap.c * Update keymap.c * Update readme.md * Update rules.mk * Update soyuz.h * Update soyuz.h * Update * Rename readme.md to README.md * Update keymap.c * Rename README.md to readme.md Co-authored-by: Joel Challis commit f64245b10b6e388a7ea7f6aa2ebb37c93409e691 Author: shela Date: Sat Aug 15 21:54:52 2020 +0900 [keymap] Fixed an issue that long pressed alt key does not work on PSN_FN layer. (#10039) commit acc4bedddcb360d2d221d7ca7882baec446457f2 Author: Drashna Jaelre Date: Sat Aug 15 05:18:13 2020 -0700 [Keyboard] Fix Planck/Rev6 compiler issue (#9953) Specifically, don't want to have both RGBLight and RGB Matrix (with WS2812) enabled at the same time. This will cause issues in usage, but apparently not when compiling. Additionally, the led matrix was not encapsulated with preprocessor code. commit c02666c4cbdae772698f2cb252a2a791225f81a9 Author: Ramon Imbao Date: Fri Aug 14 21:56:27 2020 +0800 Add indicator LEDs for GHS.RAR (#10028) * Add indicator LEDs for GHS.RAR * Update keyboards/ghs/rar/rar.c Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 517f6d2c22adb0132e74396c08e21f35ae64118b Author: Ryan Date: Fri Aug 14 08:26:14 2020 +1000 MSYS2: install packages for dfu-programmer, dfu-util, teensy-loader-cli (#10007) commit 156ed69b46b36fa8baaa72721085d632d34ea5be Author: Ibnu Daru Aji Date: Fri Aug 14 05:14:19 2020 +0700 Fixing squiggle's `layout`s in the config.qmk.fm (#10019) * the `layout`s in `info.json` should actually reflects the `layout`s macros in the `rev1/rev1.h`. * fixed complicated's thumb keys. commit 7c7078faf36b9d302186f8dd4b7152ab159df050 Author: Dimiter Geelen Date: Thu Aug 13 02:28:37 2020 +0200 [Keymap] DZ60RGB - Add personal keymap (#9989) * DZ60RGB V1 - Add personal configuration (cherry picked from commit 313ce586e998f5604ed1b559bbe90de381f0b782) * [Keymap] Didel - Add license headers * [Keymap] Didel - Reformat Keymap * [Keymap] Didel - Add named layers commit c957eed04b302459304f08a0d1fd43f7602da94e Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Thu Aug 13 10:24:40 2020 +1000 [Keyboard] AEboards Ext65 rev2 (#9482) * ext65rev2 initial * open drain change and config * pwm * pwm streams * spi * ws2812 spi * oled * enable sleep * keymap and dissable oled * readd oleds * nooled * led_update_kb revised * update and remove board specific files and add to ext65rev2.c * Update OLED usb status * Update keyboards led state * Layer state set kb * Return state * Update keyboards led state * Update OLED usb status * merge master and merge rev folders * add readme * move board_init to only if OLED is enabled * update readme * update rules.mk * Remove OLED from rules.mk * Update config.h * show AEBoards * Update keyboards/aeboards/ext65/rev2/rules.mk commit f1299f32928210b6d7d2abe999e502244dcafd69 Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Wed Aug 12 07:08:41 2020 -0700 fix handwired/swiftrax/cowfish PID and VID (#9922) Co-authored-by: Swiftrax commit ce5cdc6f8a37505333d5695ebcfa31574a7fe3cd Author: KgOfHedgehogs Date: Wed Aug 12 16:05:02 2020 +0200 Add jian/keymaps/via/config.h (#9948) commit e2d4cd1a41c667da186891e3dbaf535c6b0717df Author: Ryan Date: Wed Aug 12 12:28:20 2020 +1000 Add Kiibohd bootloader type to bootloader.mk (#9908) commit 98e1e18f6bcae6977ef56747243158eb94c6bd69 Author: Woongki Sung Date: Sun Aug 9 10:50:48 2020 -0400 [Keyboard] Add Flatbread60, Vaneela, and VaneelaEx by nckiibs (#9817) * creOnic added * made requested changed by a moderator * device name changed * fixed flatbread60 files * add vaneela and vaneelaEX support * Update keyboards/nckiibs/vaneelaex/rules.mk * vaneela rgb disabled * include error fxied * vaneelaex Via keymap fixed * vaneelaex keymap fixed * all fixed except clang part * vaneelaex config.h error fixed, clang fixed * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c done * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c done * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c done * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c done * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/rules.mk done * line endings were fixed as requested * Apply suggestions from code review Thank you! * requests applied and rebased * pics changed * flatbread via fixed * Apply suggestions from code review Thanks! * Apply suggestions from code review Done! * Apply suggestions from code review except VIA keymaps Questions regarding VIA keymaps are pending * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * flatbread via keymap changed * Apply suggestions from code review commit 215b71716a90f1a258645ad4f924609afa9cb886 Author: Andrew Kannan Date: Sun Aug 9 04:40:52 2020 -0400 Cannonkeys via keymap fixes (#9977) commit c7b56bee96b17a84a3de372117394b62191e22ce Author: Drashna Jaelre Date: Sat Aug 8 16:41:10 2020 -0700 [Bug] Fix Swap Hands bug introduced by OSH (#9968) Fixes the handling for the oneshot cleanup, so it only cleans up if it is active. It should not cleanup of SHO is off (eg using a normal oneshot key), nor if it's actively pressed or used. Previous behavior BROKE swap hand key. commit b506c498a789563511f59c8c902e9d9f6a1daaa4 Author: TripTrap Date: Sat Aug 8 20:24:10 2020 +0200 [Keyboard] Dumbo (#9656) * added dumbo keyboard * added my personal keymap * changed picture in readme * removed rev1 folder to reduce clutter and confusion * missed a few changes in last commit, everything should be added now * Apply suggestions from code review Committed all of the suggested changes except for removing the bootloader reference comments in rules.mk as i think it is handy. * Update keyboards/dumbo/rules.mk Removed the bootloader reference as suggested * Apply clean up of info.json * Apply suggestions from noroadsleft to support community layout LAYOUT_SPLIT_3x6_4 in the future_4 commit a536e1bd8f29f82eb5cd4a7db6a4874bd469a076 Author: Maarten Dekkers Date: Sat Aug 8 19:49:21 2020 +0200 [Keyboard] Add Quackfire controller (#9958) * Add Quackfire controller * Comply with PR checklist * Update VIA keymap * Update keyboards/maartenwut/quackfire/readme.md commit 78fef0a46aa29e3fd97ba1723f652c5cd79ad2b3 Author: David Camp Date: Fri Aug 7 13:31:22 2020 -0700 [Keyboard] Add "Selene" to the handwired section (#9920) * Added handwired/selene based on handwired/106_with_trackpoint * now at least parially working * Selene Firmware 1, ready * Updated Readme to align more with Template * Added URL to info.json * Fix status Lights being wired incorrectly * Update keyboards/handwired/selene/config.h * Update keyboards/handwired/selene/keymaps/Bpendragon/keymap.c * Update keyboards/handwired/selene/selene.c * Update keyboards/handwired/selene/selene.h * Changes for PR requested by fauxpark * Adds `default` keymap * Renames `Bpendragon` to `bpendragon` * Removes uneeded descriptors and options * Simplifies return statement in `keymap.c` * Removes trailing slashes from layout in `keymap.c` * Updates `readme.mk` to reflect default keymap * Aligns comments in `rules.mk` * Forced folder name update to lowercase * Apply suggestions from code review commit 245797f6b998fb4f52df61e38151c80b05615740 Author: t-miyajima <55669223+dvorak55@users.noreply.github.com> Date: Sat Aug 8 03:27:20 2020 +0900 [keyboard] Add chavdai40 keyboard (#9820) * On branch add_chavdai40_keyboard Changes to be committed: new file: keyboards/chavdai40/boards/GENERIC_STM32_F042X6/board.c new file: keyboards/chavdai40/boards/GENERIC_STM32_F042X6/board.h new file: keyboards/chavdai40/boards/GENERIC_STM32_F042X6/board.mk new file: keyboards/chavdai40/bootloader_defs.h new file: keyboards/chavdai40/chavdai40.c new file: keyboards/chavdai40/chavdai40.h new file: keyboards/chavdai40/chconf.h new file: keyboards/chavdai40/config.h new file: keyboards/chavdai40/halconf.h new file: keyboards/chavdai40/info.json new file: keyboards/chavdai40/keymaps/42keys-dvorak/config.h new file: keyboards/chavdai40/keymaps/42keys-dvorak/keymap.c new file: keyboards/chavdai40/keymaps/42keys-eucalyn/config.h new file: keyboards/chavdai40/keymaps/42keys-eucalyn/keymap.c new file: keyboards/chavdai40/keymaps/42keys-qwerty/config.h new file: keyboards/chavdai40/keymaps/42keys-qwerty/keymap.c new file: keyboards/chavdai40/keymaps/44keys-dvorak/config.h new file: keyboards/chavdai40/keymaps/44keys-dvorak/keymap.c new file: keyboards/chavdai40/keymaps/44keys-eucalyn/config.h new file: keyboards/chavdai40/keymaps/44keys-eucalyn/keymap.c new file: keyboards/chavdai40/keymaps/44keys-qwerty/config.h new file: keyboards/chavdai40/keymaps/44keys-qwerty/keymap.c new file: keyboards/chavdai40/keymaps/default/config.h new file: keyboards/chavdai40/keymaps/default/keymap.c new file: keyboards/chavdai40/mcuconf.h new file: keyboards/chavdai40/readme.md new file: keyboards/chavdai40/rules.mk * commit suggestions of zvecr and fauxpark, thanks * commit suggestions of fauxpark, thanks * commit suggestions of fauxpark, thanks * commit suggestions of drashna, thanks commit a260cbbea6a0e41931e2c4a50520215d4da93be7 Author: KDon <370490639@qq.com> Date: Sat Aug 8 02:12:14 2020 +0800 [Keyboard] Add kabedon keyboards (#9929) * Add kabedon keyboards * #define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047 * change README.md * Update README.md * Update config.h * Update keymap.c * Update rules.mk * Update rules.mk * Update README.md * Update info.json * Update kabedon980.c * Update keymap.c * Update rules.mk * Update config.h * Update config.h * Update info.json * Update README.md * Update rules.mk * Update README.md * Update kabedon980.c * Update rules.mk * Update rules.mk * Update rules.mk * Update rules.mk * Update rules.mk * Update README.md * Update README.md * Update info.json commit 99905dcfa37b7445497c0ce87b0f94ea66139f31 Author: ai03 Date: Sat Aug 8 02:39:29 2020 +0900 [Keyboard] Add ai03 Vega (#9850) * Make initial set of files * Update keymap * Cleanup rules.mk * Update keyboards/ai03/vega/keymaps/via/keymap.c * Update keyboards/ai03/vega/config.h * Update keyboards/ai03/vega/readme.md * Update keyboards/ai03/vega/readme.md * Update keyboards/ai03/vega/rules.mk * Add license headers * Apply suggestions from code review commit 55102ed9802b5d87d10a8c0300b12a80b73f83f2 Author: Yasuhiro SHIMIZU Date: Sat Aug 8 02:36:32 2020 +0900 update yshrsmz lily58 keymap (#9937) commit 24c898218bedbdddbdc85c9a255a08905de3a1cf Author: Tom Barnes Date: Fri Aug 7 18:26:02 2020 +0100 [Keymap] add mini_bom chorded keymap (#9916) * add mini_bom chorded keymap * Update keymap.c * Update config.h * Update keyboards/centromere/keymaps/mini_bom/config.h * Update keyboards/centromere/keymaps/mini_bom/keymap.c * Update keyboards/centromere/keymaps/mini_bom/rules.mk * Update keyboards/centromere/keymaps/mini_bom/keymap.c commit 7d2cfadb550d931c5062dba78c7388af3d24964b Author: Jan Christoph Ebersbach Date: Fri Aug 7 13:40:41 2020 +0200 handwired/dactyl_manuform/5x6_5: fix broken keyboard and keymap reference (#9921) commit 06f698a4960e1b2320932052ba6b788f64a89ad1 Author: Maarten Dekkers Date: Fri Aug 7 13:13:35 2020 +0200 Fix Eon95 info.json (#9934) commit 395fd7bb561fd0780b4738ce3ed49ae5ebe0b386 Author: TerryMathews Date: Fri Aug 7 06:59:41 2020 -0400 Blocked65: add support for VIA Configurator (#9938) * Update config.h * Create keymap.c * Create rules.mk commit fc8cf8ec82107bc7620f9c2860191661b457e023 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Fri Aug 7 17:46:16 2020 +0700 [Keyboard] Adelais En Ciel rev2 (#9834) * add * update * update * update * Update config.h * delete description config.h & change default folder commit 242336d475126599f68c3a2cb34b88549d1a3be9 Author: Ibnu Daru Aji Date: Fri Aug 7 16:43:08 2020 +0700 keymap for squiggle goldberg. (#9909) commit 4e8af9d41bb5122a398bc8f768bc3931c8aaf9a4 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Aug 7 02:06:14 2020 -0700 Remove HD44780 References, Part 2 (#9918) * remove HD44780_ENABLE rules: C-F * remove HD44780_ENABLE config: C-F commit 871d35aa432f149b67d986b584bb31b80bd1573e Author: Whale Mo Date: Fri Aug 7 13:47:59 2020 +0800 [Keyboard] Add Whale's Split Keyboard(ver.3) (#9859) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 2d8703f6cc61918aaefd3ce04a064a82ab238140 Author: kb-elmo Date: Fri Aug 7 05:47:00 2020 +0200 [Keyboard] add kb-elmo boards (#9898) * add kb-elmo boards * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * fix wrong names * fix VID and UID commit c125d0a7a0daa539d425c6c01ace4175ebffa2f1 Author: Philip (Han) Suh <36554396+phlopsuh@users.noreply.github.com> Date: Thu Aug 6 20:20:11 2020 -0700 [Keyboard] Re-initial commit of ztboards (#9869) * Re-initial commit of ztboards * Added info.json * Made changes to info.json * Update keyboards/ztboards/after/config.h * Update keyboards/ztboards/after/rules.mk * Update keyboards/ztboards/noon/rules.mk * Update keyboards/ztboards/noon/config.h * Update keyboards/ztboards/after/config.h * Update keyboards/ztboards/noon/config.h * Update keyboards/ztboards/after/config.h * Update keyboards/ztboards/after/info.json * Update keyboards/ztboards/noon/info.json * Update noon.h * Update keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update noon.h * Update keymap.c * Update keymap.c * Update noon.h commit 997d1b2bb581fb93c6a42fbfc63c5fdb7e58588b Author: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Fri Aug 7 06:41:15 2020 +0800 Added a via keymap folder for n87 (#9885) * Create Alter folder * Revert "Create Alter folder" This reverts commit 361103b821dbb22957b66cdedb0d11f996def71c. * Added a via keymap folder * Edited files based on requested changes commit db54a7b79e214203b76e7e18e4228f06ce4f02c8 Author: x1 Date: Fri Aug 7 07:32:32 2020 +0900 [Keyboard] Add kudox via compatibility (#9875) * Modify VENDOR_ID of kudox-keyboard series. * Add via support for kudox/rev3. * Add via support for kudox/columner. * Add via support for kudox-game keyboard. * Remove info.json from kudox/rev1. * Revert kudox/rev1/info.json. * Remove redundancy spaces. * Add key_count on kudox/**/info.json. * Remove unsupported items from info.json. * Modify to use rgblight_mode from rgblight_mode_noeeprom * Remove unneed line from info.json * Revert keyboards/kudox/rev1/info.json commit 671d066c84276f884caaca27046a9cf0493afc5f Author: Reibl János Dániel Date: Fri Aug 7 00:30:16 2020 +0200 [Keyboard] Add handwired 12*5 blackpill keyboard (#9855) * Add new handwired keyboard with F401 blackpill * Re-indent * Add README.md * Apply suggestions from code review * Re-indent * Add README.md * Apply suggestions from code review * Fix spacing * Modify keymap Add license header commit b531bd3b04e99e2a46004114997aa791d2699466 Author: vattern Date: Thu Aug 6 23:18:34 2020 +0100 [Keyboard] Add new "stoutgat" keyboard (#9837) * Add new "stoutgat" keyboard Add new 65% ISO keyboard "stoutgat" with dual encoders * Apply suggestions from code review * Update readme with information about the keyboard * Fix erroneous trailing comma in info.json * Fix layout bits for qmk info * Update keyboards/stoutgat/info.json * Update keyboards/stoutgat/stoutgat.h * Fix keymap and macro after updates * Apply suggestions from code review * Update keyboards/stoutgat/info.json * Update keyboards/stoutgat/keymaps/default/keymap.c * Update keyboards/stoutgat/info.json * Update keyboards/stoutgat/readme.md * Fix encoder volume bug * Adding 65_iso and 65_ansi layouts * Update keyboards/stoutgat/config.h * Update keyboards/stoutgat/rules.mk commit 8dc2502177ea24b31190b073f4a0fdef92d73bff Author: Nick Brassel Date: Fri Aug 7 06:16:14 2020 +1000 Add PR checklist document. (#9913) * Add PR checklist document. * Update docs/pr_checklist.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Ryan * Reword the lower/raise/adjust suggestion somewhat for clarity. * Add suggestion from @Didel for coding conventions. Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 547410b65514b14acb37496c89d68618d20d16a6 Author: moyi4681 Date: Fri Aug 7 03:41:45 2020 +0800 [Keyboard] add dztech/bocc keyboard (#9794) * Update readme.md * add bocc keyboard * Update bocc.c * Update keymap.c * Update readme.md * Update config.h * Update keyboards/dztech/bocc/config.h * Update keyboards/dztech/bocc/rules.mk * Update keyboards/dztech/bocc/bocc.c * Update keyboards/dztech/bocc/bocc.c * Update keyboards/dztech/bocc/readme.md * Update keyboards/dztech/bocc/readme.md * Update keyboards/dztech/bocc/rules.mk * Update keyboards/dztech/bocc/rules.mk * Update bocc.c * Update bocc.h * Update bocc.c * Update config.h * Update keymap.c * Update keymap.c * Update keyboards/dztech/bocc/config.h * Update keyboards/dztech/bocc/keymaps/default/keymap.c * Update keyboards/dztech/bocc/bocc.h * Update keyboards/dztech/bocc/info.json * Update keyboards/dztech/bocc/keymaps/default/keymap.c * Update keyboards/dztech/bocc/keymaps/via/keymap.c * Update keyboards/dztech/bocc/keymaps/via/keymap.c * Update keyboards/dztech/bocc/keymaps/via/keymap.c * Update keyboards/dztech/bocc/keymaps/via/keymap.c * Update bocc.h * Update keymap.c * Update keymap.c * Update keymap.c * Update bocc.h * Update keyboards/dztech/bocc/bocc.h commit 1b4f47c8ee099f373dddd5b294e09bd78b39055f Author: Nguyen Minh Hoang Date: Fri Aug 7 02:19:09 2020 +0700 Fix configuration data for keyboard pom_keyboards/tnln95 (#9904) * fix configuration data, comment out unused layout * fix keymap * add info for layout all * change keymap name commit d9fe755f7e1f6c0635780071691af0c0a20c4076 Author: obosob Date: Thu Aug 6 20:08:20 2020 +0100 [Keyboard] Add Arch-36 keyboard (#9688) * Add Arch-36 keyboard * Apply suggestions from code review Update based on PR Review comments * Apply suggestions from code review Update to PR comments * Fix Build * Use full rules.mk template for Arch-36 keyboard * Reduce default firmware size * Update based on PR comments * Fix Copyright statement on arch_36:obosob keymap * Apply suggestions from code review commit c8b721d7c6cf683473bcf3d0af6ec561471b1dcc Author: Danilo de Klerk Date: Thu Aug 6 19:36:26 2020 +0200 split_3x5_3 layout support (#9624) * Add split_3x5_3 support to Minidox * Add split_3x5_3 support to Miniaxe * Add LAYOUT_mini to Centromere This layout macro removes the need or KC_NO keycodes in the keymap. * Add split_3x5_3 support to Centromere * Add split_3x5_3 support to suihankey split * Add LAYOUT_mini to centromere/info.json * Add LAYOUT_mini to crkbd * Add split_3x5_3 support to crkbd * Change mini layout names * Rename main layouts for split_3x6_3 keyboards * Use split_3x5_3 macro for remaining keyboards * Update relevant info.json files * Fix suihankey/split/alpha macro * Add layout aliases for suihankey commit 60d8d8677aa596120e4f3f0926b93b4d5cc0201a Author: sotoba Date: Fri Aug 7 02:18:16 2020 +0900 Update default layout for craftwalk (#9888) * fix cratfwalk default layout commit 0d04d95326e3b4c0ed2e25e16a41434ef086819e Author: russellsherman Date: Thu Aug 6 10:16:34 2020 -0700 [Keymap] Adds OSX layout with additional media keys (#9894) commit 7222df36e7753a1db6e9bbe263377cd8b631b702 Author: Brandon <33381875+brandon-ha@users.noreply.github.com> Date: Thu Aug 6 01:10:52 2020 -0700 Added VIA keymap for bm60rgb (#9897) commit b8438c74e32f503a4af8fd242c1962f149ea8fbf Author: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Thu Aug 6 16:05:06 2020 +0800 [Keymap] Add via keymap folder for N2 keyboard (#9886) * Create Alter folder * Revert "Create Alter folder" This reverts commit 361103b821dbb22957b66cdedb0d11f996def71c. * Add via keymap folder for n2 keyboard commit cb9b81cc103f801febd67dcaf0c86322a2bfddc8 Author: sh-xguitar Date: Thu Aug 6 15:03:27 2020 +0700 [Keyboard] added ASH-XIIX keyboard (#9833) * Create readme.md * Update readme.md * Update readme.md * Create ash_xiix.c * Create ash_xiix.h * Create info.json * Create config.h * Create rules.mk * Create keymap.c * Update keyboards/ash_xiix/rules.mk * Update keyboards/ash_xiix/config.h * Update keyboards/ash_xiix/config.h * Update keyboards/ash_xiix/config.h * Update keyboards/ash_xiix/info.json * Update keyboards/ash_xiix/info.json * Update keyboards/ash_xiix/readme.md * Update readme.md * Update readme.md commit 904c5613f41859ccc07057278b41587224b84871 Author: aerialviews007 Date: Wed Aug 5 17:11:35 2020 -0500 [Keymap] Adding Custom Keymap for Let's Split (#9423) * add * Delete rules.mk * Update keymap.c * Update keymap.c * Update keyboards/lets_split/keymaps/aerialviews007/keymap.c * Update keyboards/lets_split/keymaps/aerialviews007/keymap.c * Update keyboards/lets_split/keymaps/aerialviews007/keymap.c * Update keyboards/lets_split/keymaps/aerialviews007/keymap.c * Update keyboards/lets_split/keymaps/aerialviews007/keymap.c * Update keyboards/lets_split/keymaps/aerialviews007/keymap.c * Update keyboards/lets_split/keymaps/aerialviews007/keymap.c * Update keyboards/lets_split/keymaps/aerialviews007/keymap.c commit 37cbf7bcecef7e7542b41cfde9efc06fffa4e65b Author: Sendy YK <69058604+mrsendyyk@users.noreply.github.com> Date: Thu Aug 6 04:45:57 2020 +0700 [Keymap] Add ANSI with Arrow Layout & RGB Underglow as a Caps Lock Indicator (#9910) * KBDfans DZ60 ANSI with Arrow also RGB Underglow as a Caps Lock Indicator * Change all the KC_NOs to _______ (seven underscores) * change all the KC_NOs to _______ (seven underscores) * Update keymap.c * Update readme.md Update build environment setup link, make instructions link, and make instructions link. commit 4c14b11fc79e51521b6e53453862252b806a5c02 Author: Drashna Jaelre Date: Wed Aug 5 13:29:04 2020 -0700 Add Indicator flag for RGB Matrix (#9933) * Add Indicator flag for RGB Matrix This adds a new flag for the RGB Matrix feature that lets you specify if the LED is an indicator LED, to be used to indicate the system state of the keyboard (eg caps/num/etc lock status, layer indication, modifer status, etc). * Better formatting of table commit 3df52050c12cd5e6286664672efc6f43849d935d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Aug 5 11:43:31 2020 -0700 [Keyboard] Fix Configurator data for Mechlovin Hannah910 rev2 (#9903) * fix Configurator data * rework layout macros * enable 65_ansi_blocker Community Layout support * fix layout macro references in info.json * update rules.mk per fauxpark * update rules.mk per fauxpark II commit 349646bfe0658b1b0236fcc986db714b510114df Author: BeefaloKing <9630438+BeefaloKing@users.noreply.github.com> Date: Tue Aug 4 22:03:29 2020 -0600 Fix RGB_DISABLE_TIMEOUT overflow warning (#9866) (#9874) * Fix RGB_DISABLE_TIMEOUT overflow warning (#9866) * Adjust capitalization (#9874) commit 62c0146419a3a51614e200cfbddef69d14fde6f4 Author: shela Date: Wed Aug 5 12:19:27 2020 +0900 [Keymap] Update my keymap (#9849) commit 7b85962673e40633d9c36e4a36bedd80a601a0ac Author: Jesús David Date: Tue Aug 4 02:10:06 2020 -0500 Add via compatibility to Daisy 40 (#9805) * Add via compatibility to Daisy 40 * Move via config to its own keymap * Use lite bootmagic * Add fourth layer to keymap commit 19795a4dcc4153b647078297a1e11dad1a2d66be Author: gtips <51393966+gtips@users.noreply.github.com> Date: Tue Aug 4 15:23:24 2020 +0900 [Keyboard] Fixed readme.md for reviungs (#9838) * [Keyboard] Add keyboard Reviung41 * Modified files * deleted keyboards/reviung41/keymaps/default/config.h * modified keyboards/rebiung41/keymaps/default/keymap.c * modified keyboards/reviung41/readme.md * modified keyboards/reviung41/readme.md * modified keyboards/reviung41/readme.md * Update readme.md Change the image photo of readme.md. * [Keyboard] Add reviung61 * Update readme.md * fix keyboards/reviung61/ and add keymap default_rgb * fix keyboards/reviung61/info.json * fix keyboards/reviung61/info.json * remove keyboards/reviung61/keymaps/default/config.h * [keyboard] Fixed readme.md for reviung39 and 61. commit 13de2f415fcc9874462335282b9cd067bec1465f Author: moyi4681 Date: Tue Aug 4 13:59:11 2020 +0800 [Keyboard] Add volcano660 (#9795) Co-authored-by: ridingqwerty Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit f047840d0f84033ab6a1cba0e4d5f09abfb6f81f Author: Álvaro A. Volpato Date: Tue Aug 4 02:13:33 2020 -0300 [Keyboard] Add ArcticPCB pre-Alpha support (#8479) * Add initial ArcticPCB support * Added README * Solve info.json comma issue * Apply suggestions from noroadsleft code review Use the LAYOUT_60_tsangan_hhkb Community Layout * Apply suggestions from tzarc * Add license header to arctic.c, arctic.h and config.h * Remove redundant tsangan keymap * Remove tsangan compilation suggestion from readme commit fb297a564487b6779d6abbed9c86817b8ac66da6 Author: Marco Syfrig Date: Tue Aug 4 04:49:26 2020 +0200 [Docs] small text and formatting fixes in vscode manual (#9156) * small text and formatting fixes in vscode manual fix double opening tags for correct formatting expand two points for better understanding * restored , clarified how to open the terminal restored tags that were deleted with the last commit; they are correct as they were to have the whole menu "breadcrumb" nested inside a box clarified how to open the terminal escaped backtick for shortcut Ctrl+` as I’ve added backticks for code on the same line * Update docs/other_vscode.md commit 2c9e210c36a7d145b21bc59350b76b3bacbc3beb Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Tue Aug 4 09:46:55 2020 +0700 [Keyboard] add Hannah910 rev3 (#9710) commit 12fce9b88d8d70463ec32dc94e0abaa987bf389c Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Aug 2 16:43:27 2020 -0700 fix Dactyl-Manuform 5x6_5 compilation (#9902) commit 00b8a12d065cc7b94b908f67c37151939495569a Author: Nguyen Minh Hoang Date: Sat Aug 1 14:05:35 2020 +0700 [Keyboard] POM Keyboards TNLN95 (#9788) * add keyboard tnln95 * keyboard tnln95, fix info * Apply suggestions from code review * keyboard tnln95, fix info (2) * keyboard tnln95, move folder, fix info * keyboard tnln95, fix keymap * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * keyboard tnln95, fix link, comment currently not used pin * Apply suggestions from code review commit f8a24013700d58c1818e9bec7dd6195d0225a474 Author: shela Date: Sat Aug 1 11:08:43 2020 +0900 [Docs] Update Japanese translation of newbs_flashing.md. (#9819) * Update Japanese translation of newbs_flashing.md. * Update docs/ja/newbs_flashing.md commit 3f2521115d7d6e2bb5e221c34a636f9e5af80358 Author: shela Date: Sat Aug 1 10:53:35 2020 +0900 [Docs] Update Japanese translation of newbs_getting_started.md. (#9813) commit 0d405ad38e25641fbdbbeedbc411c1d69a8980b8 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sat Aug 1 10:40:17 2020 +0900 [Docs] Japanese translation of docs/internals_input_callback_reg.md (#9752) * add internals_input_callback_reg.md translation * update based on comment commit 28c78023c5076923043b8ac273e75499909bb94b Author: shela Date: Sat Aug 1 09:57:31 2020 +0900 [Docs] Update Japanese translation of newbs_building_firmware.md. (#9810) * Update Japanese translation of newbs_building_firmware.md. * fix original document version. * Apply suggestions from code review commit ea3f74874fd1d1140223864d861a6b824c3e4eee Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sat Aug 1 09:49:25 2020 +0900 [Docs] Japanese translation of docs/other_vscode.md (#9756) * add other_vscode.md translation * update based on comment * update based on comment * update based on comment commit a88e6903516d69dedf3d86b0d96128b4bcb09140 Author: shela Date: Sat Aug 1 09:25:20 2020 +0900 [Docs] Update Japanese translation of keymap.md. (#9807) * Update Japanese translation of keymap.md. * fix original document version. * Apply suggestions from code review * Update translation commit 0f3e933db98a93afae075ba4150472d5db7e591d Author: shela Date: Sat Aug 1 08:28:29 2020 +0900 [Docs] Update Japanese translation of feature_backlight.md. (#9803) * Update Japanese translation of feature_backlight.md. * fix original document version. * Apply suggestions from code review commit f3b518ae4082bd49335c1b60d2cfe89a500ad878 Author: Kyle <12398294+hartk1213@users.noreply.github.com> Date: Fri Jul 31 16:18:06 2020 -0700 [Keyboard] Added a new handwired 2x3,2x4,2x5 keyboard called the Stream_cheap (#9871) * Added a new handwired 2x3,2x4,2x5 keyboard called the Stream_cheap stream cheap is a diy version of the El Gato Stream deck minus the LCD keys but you can always get relegendable keycaps to change the icon if you want * added missing commas in info.json files * update config to change pin definition * changed keymap.c for 2x4 was trying to add macros and multi key commands to the keymap, i added 2 ctrl commands that have more than one key i.e. ctrl-k-c (visual studio comment hot key) and i added a test string to see how type out a string with the press of a button * testing more changes to the keymap to the 2x5 * Update keyboards/handwired/stream_cheap/2x3/2x3.c * Update keyboards/handwired/stream_cheap/2x3/config.h * Update keyboards/handwired/stream_cheap/2x3/rules.mk * Update keyboards/handwired/stream_cheap/2x5/config.h * Update keyboards/handwired/stream_cheap/2x5/info.json * Update keyboards/handwired/stream_cheap/2x3/config.h * Update keyboards/handwired/stream_cheap/2x3/info.json * Update keyboards/handwired/stream_cheap/2x4/config.h * Update keyboards/handwired/stream_cheap/2x4/info.json * Update keyboards/handwired/stream_cheap/2x4/keymaps/default/keymap.c * Update keyboards/handwired/stream_cheap/2x5/info.json * Update keyboards/handwired/stream_cheap/2x5/config.h * Update keyboards/handwired/stream_cheap/2x5/rules.mk * Update keyboards/handwired/stream_cheap/2x4/2x4.c * Update keyboards/handwired/stream_cheap/2x4/config.h * Update keyboards/handwired/stream_cheap/2x4/info.json * Update keyboards/handwired/stream_cheap/2x5/2x5.c * Update keyboards/handwired/stream_cheap/2x4/rules.mk * removed file as per request of user zvecr * removed line in rules.mk for 2x5 * Update keyboards/handwired/stream_cheap/2x5/keymaps/default/keymap.c * Apply suggestions from code review changes suggested in code review commit b70ac594c6c342357780ffa77f78f4ac67e25c2e Author: eniigmakeyboards Date: Fri Jul 31 17:38:21 2020 -0400 [Keyboard] Eniigma Keyboards ek65 PCB (#9836) * Added initial files * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Reverted image file to imgur link * Update keyboards/eniigmakeyboards/ek65/rules.mk * Update keyboards/eniigmakeyboards/ek65/config.h * Update keyboards/eniigmakeyboards/ek65/config.h * Update keyboards/eniigmakeyboards/ek65/ek65.h * Update keyboards/eniigmakeyboards/ek65/info.json * Fixed image link in Readme * Update keyboards/eniigmakeyboards/ek65/readme.md to remove duplicated image commit a1c89fec72fd448aee5991da1a537aa235878f15 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Sat Aug 1 03:19:47 2020 +0700 [Keyboard] Kanu PCB (#9729) * add Kanu PCB * update * update * update * Update info.json * Update config.h * Update info.json * Update info.json * update * Update rules.mk commit 1a49eb5be12fd5a32d59103427c71ee4869eea49 Author: Jan Christoph Ebersbach Date: Fri Jul 31 22:03:44 2020 +0200 [Keyboard] Add Dactyl Manuform 5x6 with 5 thumb keys (#9659) * [Keyboard] Add Dactyl Manuform 5x6 with 5 thumb keys * fix: remove unused code block * fix: remove unused code block * Remove unused build options commit 5bd239e1c0db98a51ed04b86fa5b1abf2b276bfb Author: Rustam Zagirov Date: Fri Jul 31 17:58:55 2020 +0300 Remove unnecessary break after return from documentation (#9892) commit 53b0ee3f7ee2dba467c1d7066f4e22bf77ae20bc Author: Brandon Schlack Date: Fri Jul 31 04:37:17 2020 -0700 [Keyboard] Add community layouts to Savage65 (#9854) commit 3d2e5bfe6334844176dbcf57c6c84c5ede0952e4 Author: moyi4681 Date: Fri Jul 31 19:20:14 2020 +0800 add kbd67 capslock indicator (#9839) commit 3c7fc3c82ee943638fc978a03f038249d33c25cf Author: shela Date: Fri Jul 31 14:31:34 2020 +0900 [Docs] Update Japanese translation of feature_tap_dance.md. (#9808) * Update Japanese translation of feature_tap_dance.md. * fix original document version. * Update docs/ja/feature_tap_dance.md commit 2ec2f80bfce352e60d58dd5248ab347f7272c5b3 Author: gadzkun Date: Fri Jul 31 11:23:06 2020 +0700 [Keyboard] Add otd_plus keyboard (#9726) commit 6ff08202a5183733b51b35530b65dc6ad11f3824 Author: Ladniy <32298096+Ladniy@users.noreply.github.com> Date: Fri Jul 31 10:59:32 2020 +0800 Add info.json for Jiran keyboard (#9857) Co-authored-by: Joel Challis commit 06cf6982bbac00388a7dafb8db105f9d851e6170 Author: shela Date: Fri Jul 31 08:10:44 2020 +0900 [Docs] Update Japanese translation of feature_ps2_mouse.md. (#9815) commit 1ca7dcb0b244b1074bf341b11f61440df37913fc Author: shela Date: Fri Jul 31 07:22:22 2020 +0900 [Docs] Update Japanese translation of feature_mouse_keys.md. (#9809) * Update Japanese translation of feature_mouse_keys.md. * fix original document version. * Update docs/ja/feature_mouse_keys.md * update based on comment commit 5d0c38794f6c9b15f457127437360e5fc56e0a97 Author: Klesh Wong Date: Fri Jul 31 02:08:17 2020 +0800 [Keyboard] Add new keyboard ks63 handwired (#9712) * [feature] add ks63 split keyboard * [bugfix] unable to compile and some rows are not working * [feature] add info.json / update keymap * [bugfix] keymap and fix slave not working issue * [bugfix] keyboard unaviable on cold boot / unable to reset the board * [misc] fine tune keymap * [misc] fine tune keymap * ... * ... * ... * [misc] adjust brackets position * [misc] add readme link * [misc] comply to coding convention * [misc] add default keymap readme file * Update keyboards/handwired/ks63/README.md * Update keyboards/handwired/ks63/ks63.h * Update keyboards/handwired/ks63/keymaps/default/keymap.c * Update keyboards/handwired/ks63/keymaps/default/keymap.c * Update keyboards/handwired/ks63/keymaps/default/keymap.c * Update keyboards/handwired/ks63/keymaps/default/keymap.c * Update keyboards/handwired/ks63/keymaps/default/keymap.c * Update keyboards/handwired/ks63/keymaps/default/keymap.c * Update keyboards/handwired/ks63/rules.mk * Update keyboards/handwired/ks63/README.md * Update keyboards/handwired/ks63/keymaps/default/keymap.c * [misc] to lowercase filename * Update keyboards/handwired/ks63/rules.mk * Update keyboards/handwired/ks63/rules.mk * Update keyboards/handwired/ks63/config.h commit 83c12a516b3d0c1b603bce28a55bdeba476311df Author: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Fri Jul 31 00:44:29 2020 +0800 [keyboard] Add [n]2 support (#9862) * Create Alter folder * Revert "Create Alter folder" This reverts commit 361103b821dbb22957b66cdedb0d11f996def71c. * Add n2 keyboard * Apply suggestions from code review Edited config.h, keymap.c, readme.md, and rules.mk Co-authored-by: Ryan * Update readme.md Co-authored-by: Ryan commit 08f31f664a9011aa28f8da3de300db475ce3aba7 Author: Croktopus <39040552+Croktopus@users.noreply.github.com> Date: Thu Jul 30 07:52:54 2020 -0700 Timber Wolf - updated via keymap, reduced eeprom writing from backlight code (#9876) Co-authored-by: Ryan commit 9758bcb28b8d5b7915384844bb8b7c2e3e15c8e0 Author: shela Date: Thu Jul 30 16:35:45 2020 +0900 [Docs] Update Japanese translation of feature_macros.md. (#9767) * Update Japanese translation of feature_macros.md. * Update feature_macros.md fix original document version. commit 4f7cd5699e686053620127fefc3b30e237d4aa40 Author: tominabox1 Date: Wed Jul 29 22:25:20 2020 -0500 [Keyboard] Add KPRepublic BM40HSRGB keyboard (#9860) * Initial Commit * Add readme.md's * Add license statements, cleaned up config, readme, and rules. Removed unused features from keymap and added ascii for Adjust layer * Update keyboards/bm40hsrgb/info.json * Update keyboards/bm40hsrgb/config.h commit bf05f773bd53f7bed9ae19eba691b7e7546eef71 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Thu Jul 30 11:44:23 2020 +0900 [Docs] Japanese translation of docs/internals_gpio_control.md (#9751) * add internals_gpio_control.md translation * update based on comment * update based on comment * update based on comment commit de7da0b48f0e3c2fe6e8be914c871f37cd95b1bb Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Thu Jul 30 09:01:34 2020 +0900 [Docs] Japanese translation of docs/other_eclipse.md (#9755) * add other_eclipse.md translation * update based on comment * update based on comment commit b3e7a4e798080563d64527e3fe9d6475ba375d94 Author: Yu Hao Wong <54234367+wongyuhao@users.noreply.github.com> Date: Thu Jul 30 06:15:53 2020 +0800 Added Via keymap to Spaceman 2% Milk (#9484) * added via support to spaceman 2% milk * changed kc trns in layers 1-3 * changed vendor and product ID per creator suggestion commit 0091897cc88caa0f7241def0e5d44539162cf634 Author: kaylanm <1063516+kaylanm@users.noreply.github.com> Date: Wed Jul 29 13:42:40 2020 -0400 Add via configuration for adelheid. (#9830) * Add via configuration for adelheid. * Reformat adelheid VIA keymap. commit 758bf2070687916e6e653d543974cdd2f753fc0a Author: Frothy Date: Wed Jul 29 14:32:48 2020 -0300 Added Via-enabled keymap for Physix (#9825) * Added Via-enabled keymap for Physix * Update keyboards/hineybush/physix/keymaps/via/keymap.c commit ea1c7f185685b2b70dd9930a08b0935ed074984b Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Wed Jul 29 19:02:37 2020 +0900 [Docs] Japanese translation of docs/one_shot_keys.md (#9754) * add one_shot_keys.md translation * update based on comment * update based on comment commit a57b3131534a5b4107cff94e18475019be34c9af Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Wed Jul 29 19:01:42 2020 +0900 [Docs] Japanese translation of docs/mod_tap.md (#9753) * add mod_tap.md translation * update based on comment * update based on comment commit 7ff85e241b8f30c94441316bdd1a0f8594fe839d Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Wed Jul 29 19:00:26 2020 +0900 [Docs] Japanese translation of docs/how_keyboards_work.md (#9683) * add how_keyboards_work.md translation * update based on comment * update based on comment * update based on comment commit 7c7a2be4b0d40cbfb4290d76ead1d80610827939 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Wed Jul 29 18:59:44 2020 +0900 [Docs] Japanese translation of docs/how_a_matrix_works.md (#9682) * add how_a_matrix_works.md translation * update based on comment * update based on comment commit 51dbca2332609ee08b98c1c0ab729b0f08f144f1 Author: chemicalwill <36576135+chemicalwill@users.noreply.github.com> Date: Tue Jul 28 00:42:32 2020 -0500 [Keyboard] add bear_face/v2 (#9642) * [keyboard] bear_face/v2 initial commit * restructured keyboard dir for multiple versions * fixed .json layouts for ISO * reformatted hard tabs to soft tabs * updated readmes * [keyboard] removed top-level info.json, keymaps * [bear_face/v2] changed matrix height, arrow key labels * fixed height 6 instead of 5 * symbols for arrows now directions (i.e. "Left" etc.) * [bear_face/v2] fixed ISO enter in .json * corrected placement for ISO enter * Update rules.mk * DEFAULT_FOLDER = bear_face/v1 * [bear_face] fixed matrix width in info.json * true matrix width is 15 * updated for v1 and v2 info.json * Update keyboards/bear_face/config.h * Update keyboards/bear_face/v1/info.json * Update keyboards/bear_face/v2/info.json * Update keyboards/bear_face/v2/info.json * Update keyboards/bear_face/rules.mk * Fixed default keymap tabs * changed from tabs to spaces commit bcfb70a4cb943fa17c221db55b155abc3598fbdd Author: Leivince John Marte Date: Tue Jul 28 13:39:31 2020 +0800 [Keyboard] PH Arisu (#9612) * Port Arisu to QMK * Update Change name to PH Arisu * Update PH Arisu for PR * Update Bootloader * Using Pro Micro * Update Manufacturer Name * Clean rules.mk * Update keyboards/ph_arisu/config.h * Update keyboards/ph_arisu/config.h * Update keyboards/ph_arisu/config.h * Update keyboards/ph_arisu/config.h * Update keyboards/ph_arisu/keymaps/default/keymap.c * Update keyboards/ph_arisu/keymaps/default/keymap.c * Update keyboards/ph_arisu/keymaps/via/keymap.c * Update keyboards/ph_arisu/rules.mk * https://github.com/qmk/qmk_firmware/pull/9612#discussion_r451659279 Update info.json using converter * Fixed Clean endif * LAYOUT not defined Error on Compile fix * Fix implicit declaration of function 'LAYOUT' * Update VIA keymap change KEYMAP to new LAYOUT method * Update keyboards/ph_arisu/config.h * Update Remove RGB_DI_PIN * Update keyboards/ph_arisu/config.h * Update keyboards/ph_arisu/readme.md * Update keyboards/ph_arisu/readme.md * Update keyboards/ph_arisu/ph_arisu.h * Update keyboards/ph_arisu/ph_arisu.h * Update keyboards/ph_arisu/keymaps/via/keymap.c * Update keyboards/ph_arisu/readme.md * Update keyboards/ph_arisu/config.h * Add MO(1) on Keymaps * Update info.json for QMK configurator support * Add PH Arisu Image * Use Smaller Size Image for Keyboard * Change Image Host to Imgur * Fix Imgur url * Fix Imgur url * Update Change Keyboard Maintainer * Update Change Hardware Support to Pro Micro ATmega32U4 * Update keyboards/ph_arisu/config.h * Update keyboards/ph_arisu/ph_arisu.h * Update keyboards/ph_arisu/keymaps/default/keymap.c * Update keyboards/ph_arisu/keymaps/via/keymap.c * Update keyboards/ph_arisu/readme.md * Update keyboards/ph_arisu/rules.mk * Update Move ph_arisu to nightly_boards directory * Update Readme make command * Update keyboards/nightly_boards/ph_arisu/rules.mk commit 296f267f2b8a0436282aa75b2930ca88456d5a89 Author: Croktopus <39040552+Croktopus@users.noreply.github.com> Date: Mon Jul 27 19:35:59 2020 -0700 Timber Wolf - updated keymaps, fixed info.json (#9787) * updated keymaps, fixed info.json * fixed info.json overlaps * Update keyboards/metamechs/timberwolf/config.h commit 14efd8aa4187406f3323385d0bdabbcb466210e4 Author: TerryMathews Date: Mon Jul 27 22:34:33 2020 -0400 [Keyboard] Initial support for TKC GodSpeed75 (#9723) * Initial support for TKC GodSpeed75 * Correct compile error * Update keyboards/tkc/godspeed75/rules.mk * Update keyboards/tkc/godspeed75/readme.md * Delete bootloader_defs.h * Update keyboards/tkc/godspeed75/keymaps/via/keymap.c * Update keyboards/tkc/godspeed75/readme.md * Update keyboards/tkc/godspeed75/config.h * Update keyboards/tkc/godspeed75/readme.md commit e999ade1003359d7b2a2d95036cd8de848726047 Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Mon Jul 27 22:03:54 2020 -0400 [Keyboard] Numeros macropad (#9725) * First Push * Update config.h * Update numeros.c * Update numeros.h * Update rules.mk * Update keyboards/clawsome/numeros/keymaps/default/keymap.c * Update keyboards/clawsome/numeros/readme.md * Update keyboards/clawsome/numeros/rules.mk * Update keyboards/clawsome/numeros/info.json * Update keyboards/clawsome/numeros/info.json * Update keyboards/clawsome/numeros/rules.mk * Update keyboards/clawsome/numeros/numeros.h * Update keyboards/clawsome/numeros/info.json * Update keyboards/clawsome/numeros/keymaps/default/keymap.c * Update keyboards/clawsome/numeros/numeros.h * Update keyboards/clawsome/numeros/keymaps/default/keymap.c * Update keyboards/clawsome/numeros/numeros.c * Update keyboards/clawsome/numeros/config.h * Update keyboards/clawsome/numeros/rules.mk * Update keyboards/clawsome/numeros/readme.md * Update keyboards/clawsome/numeros/readme.md commit f5fe6fe5cc352760971c374ed097f2fe4ad2427e Author: Krishna Mani <34562820+kmani314@users.noreply.github.com> Date: Mon Jul 27 18:40:57 2020 -0700 [Keyboard] Add akegata denki device one (#9690) * add device one * fix layouts * add other layouts * column fixes, device id changes * layouts cleanup, add readme * add info.json, fix readme * add template readme * add smaller image * fix image links, address requested changes * Apply suggestions from code review * Update keyboards/device_one/keymaps/ansi_split_backspace/keymap.c * add akegata vendor folder * Apply suggestions from code review commit 84cd07b0d3409d1bbb72691fd79c8a9a885363a0 Author: Ladniy <32298096+Ladniy@users.noreply.github.com> Date: Tue Jul 28 08:48:48 2020 +0800 [Keyboard] Jiran keyboard (#9628) * Add jirand folder from local catalog * Add controller into readme * Replace image of PCB * Create rev2 folder for RGB version * Rename keymap folder * Add new rev for RGB light version * Change some keycodes for RGB light * Remove some unnecessary code * Add via keymap * Activate RBG light support * Update some info * Update layout image link * Update keyboards/jiran/config.h * Update keyboards/jiran/keymaps/via/config.h * Update keyboards/jiran/keymaps/default/rules.mk * Update keyboards/jiran/keymaps/default/readme.md * Update keyboards/jiran/keymaps/default/keymap.c * Update keyboards/jiran/rev1/config.h * Update keyboards/jiran/rev1/config.h * Update keyboards/jiran/rules.mk * Update keyboards/jiran/rules.mk * Update keyboards/jiran/rules.mk * Update keyboards/jiran/rev2/config.h * Update keyboards/jiran/rev2/config.h * Update keyboards/jiran/rules.mk * Update keyboards/jiran/rev2/rev1.c * Update keyboards/jiran/rules.mk * Update keyboards/jiran/rules.mk * Update keyboards/jiran/rules.mk * Some fix * Update keyboards/jiran/keymaps/default/keymap.c * Update keyboards/jiran/rev1/config.h * Update keyboards/jiran/rev1/config.h * Update keyboards/jiran/rev2/config.h * Fix default keymap error * Update keyboards/jiran/rules.mk * Update keyboards/jiran/rev2/rules.mk * Update keyboards/jiran/rev1/rules.mk * Update keyboards/jiran/config.h * Update keyboards/jiran/rev1/config.h * Update keyboards/jiran/rev2/config.h * Delete by request * Update keyboards/jiran/config.h * Update keyboards/jiran/keymaps/via/keymap.c * Update keyboards/jiran/rules.mk * Update keyboards/jiran/rules.mk * Update keyboards/jiran/rules.mk * Change some info by request * Update keyboards/jiran/rev1/rev1.h * Remove by request commit 6104609afa666750be49ccfa8df8d3ad87fb4f32 Author: tominabox1 Date: Mon Jul 27 17:10:40 2020 -0500 QAZ Keyboard (#9714) * Initial qaz commit * Enable combos * Improved default keymaps * Fixed configurator json * Via initial * Corrected VIA json * touch * Via fixes * Fixed via matrix * Formatting * Add lighting to qaz * Add rgb animations, add rgb to l2, fix error in via json, enable rgblight by default * Update QAZ readme * Remove VIA json, prep for PR * Correct default bootloader for pro-micro * Remove accidentally added submodules * Change names of layout macros * Move combo defs to keymap folders, fix layout names in info.json * Fixes transposition of comma and dot keys on default keymaps * Update keyboards/qaz/keymaps/default/config.h Co-authored-by: Joel Challis * Update keyboards/qaz/keymaps/default_big_space/config.h Co-authored-by: Joel Challis * Update keyboards/qaz/rules.mk Co-authored-by: Joel Challis * Update keyboards/qaz/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/qaz/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 5cbac94d08257a6149c5717d7f25efab7af9c0fa Author: Michael Stapelberg Date: Mon Jul 27 20:44:05 2020 +0200 [Keyboard] add support for the kinT kinesis keyboard controller (kint2pp variant) (#9687) * branch keyboards/kinesis/kint2pp from keyboards/kinesis/stapelberg Changes will be made in the next commit * [Keyboard] update wiring for kinT (kint2pp variant) * add QMK plumbing * Apply zvecr’s suggestions from code review * Update keyboards/kinesis/kint2pp/config.h * Update keyboards/kinesis/kint2pp/config.h * remove superfluous config.h include commit e937fc451379d773184068fd07b9f0a2aaaa6784 Author: Andrew Kannan Date: Mon Jul 27 14:29:09 2020 -0400 Add Instant65 to QMK (#9804) * Add Instant65 to QMK * Fix via map * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit b0e99c803dba3f8768ad8f0c8df8ce0b3183794a Author: Andrew Kannan Date: Mon Jul 27 12:16:21 2020 -0400 Atlas Updates (#9343) * Update atlas keyboard files and default keyboard layout * Remove wierd LT things * Update keyboards/cannonkeys/atlas/keymaps/via/keymap.c Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 463c97f4c690ae3c0463965648fb4f565305ef74 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Jul 27 20:31:19 2020 +0900 [Docs] Japanese translation of docs/feature_stenography.md (#9525) * add feature_stenography.md translation * update based on comment * Update docs/ja/feature_stenography.md Co-authored-by: shela * Update docs/ja/feature_stenography.md ご指摘ありがとうございます。 「速記プロトコル」で更新しました。 Co-authored-by: s-show Co-authored-by: shela Co-authored-by: s-show commit 98f4cb4f87b1c026713015142c686ebd78fea08f Author: Ryan Date: Mon Jul 27 21:22:14 2020 +1000 Fix Squiggle info.json (#9841) commit 776b0bd2c921b4e479f48c6f83b1e697269355ac Author: codecoffeecode Date: Mon Jul 27 03:00:10 2020 -0700 [keymap] Adding personal keymap for Gingham (#9828) commit f0926f6c2adfc513d3f5c58557827d57d92c9371 Author: Rys Sommefeldt Date: Mon Jul 27 10:59:36 2020 +0100 [keymap] Update rys keymap with 5th semi-secure token and remap layer 1 (#9822) commit 245d355176d6e10b448e14de495d1418e7ddb8de Author: kaylanm <1063516+kaylanm@users.noreply.github.com> Date: Mon Jul 27 05:58:43 2020 -0400 Add via keymap for kbdfans/kbdpad_mk2. (#9829) commit c3a9c8c177b0739bd108f0b2079ee87b8cad27ab Author: Josh Hinnebusch Date: Mon Jul 27 05:57:57 2020 -0400 update sm68 matrix, add via support (#9741) Co-authored-by: Ryan Co-authored-by: hineybush commit 1ef5c639ceac5062b174f2b43225749b0123ca8b Author: kakunpc <15257475+kakunpc@users.noreply.github.com> Date: Mon Jul 27 18:37:00 2020 +0900 Changed the VID/PID for choc_taro keyboards. (#9800) commit d939f1041bc0b703ecb8afc6872523d5394b5463 Author: CalciumNitride <46911478+CalciumNitride@users.noreply.github.com> Date: Mon Jul 27 17:15:49 2020 +0800 Fix Arabica37's default RGBLED NUM (#9797) * adding arabica37 * jp_keymap * update * try refactor to use split_common * fix and update to use split_common * update and adjust * clean up * update * update * fix keymap.c * update * oled logo * fix info.json * remove pro_micro.h * remove KC_ macro * move font file * fix led num commit dfa3017c92db3f9eef240fbc8f06150a8c35c9c9 Author: Dmitry Nosachev Date: Mon Jul 27 00:44:50 2020 +0300 [Keyboard] Add keyboard Zenith Z-150 (#9811) * z150 black pill * z150 docs * z150: json layout * Update keyboards/handwired/z150/keymaps/zyxx/keymap.c Co-authored-by: Joel Challis * Update keyboards/handwired/z150/rules.mk Co-authored-by: Joel Challis * Update keyboards/handwired/z150/rules.mk Co-authored-by: Joel Challis * Update keyboards/handwired/z150/z150.c Co-authored-by: Joel Challis * Update keyboards/handwired/z150/config.h Co-authored-by: Joel Challis * Delete bootloader_defs.h Useless file * Update keyboards/handwired/z150/readme.md Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit b49c5a562d84aeefa331e450419a21bf9b61ea89 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Mon Jul 27 06:42:36 2020 +0900 Added via support for 7sKB (#9799) * Added via support for 7sKB -Changing the VID -Add a keymap via * Update keyboards/7skb/keymaps/via/keymap.c Co-authored-by: Joel Challis * Update keyboards/7skb/rev1/config.h Co-authored-by: Ryan * Change of VID I got a new VID and I'm changing the VID. Co-authored-by: Joel Challis Co-authored-by: Ryan commit 688426b50225b1d5b44f3eeaa9b26816d28ba16e Author: John Helveston Date: Sun Jul 26 17:35:46 2020 -0400 Adding keymaps for iris and kyria keyboards (#9783) * updated iris and kyria keymaps * added symbols I forgot to add to keymap * Update keyboards/keebio/iris/keymaps/jhelvy/keymap.c Co-authored-by: Ryan * condense code Co-authored-by: Ryan * condense code Co-authored-by: Ryan * made another small fix to a missing symbol in my iris keymap Co-authored-by: Ryan commit a6a13f96262ef1e8c91546f24cff5067f8026c23 Author: Brandon Schlack Date: Sun Jul 26 14:32:04 2020 -0700 [Keyboard] Add Keybage folder for RadPad (#9745) * [Keyboard] Initial Keybage/RadPad firmware * [Keyboard] RadPad apply pull request feedback - Change `LAYOUT_***_Encoders` to `LAYOUT_***_encoders` in .h - Remove bootloader comments and unnecessary build options from rules.mk - Use `LTO_ENABLE` - Remove empty config.h from default keymap - Remove trailing ` \` from keymap * [Keyboard] RadPad fix info.json - Change `LAYOUT_***_Encoders` to `LAYOUT_***_encoders` in info.json * [Keyboard] Add host LED status to OLED display * [Keyboard] Use LAYOUT_4x4_encoders, not LAYOUT * [Keyboard] Use LAYOUT_4x4_encoders, not LAYOUT * [Keyboard] Remove DESCRIPTION from config.h commit d2be3a7339fe42629f3616a00708c5e74d84fe61 Author: Drashna Jaelre Date: Sun Jul 26 13:57:37 2020 -0700 Fix Variable Trace handling (#9831) It wants a number, but a number of files have it set to "no", even though it's commented out. This means that if you set it to no, it will cause a compiler error. This sets the default to "no", and checks to make sure it's not set to "no" before processing it, and striping the value from it. commit aaf58155c7c9d8cf5235dd787530873a9c1f87cb Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Jul 26 13:11:16 2020 -0700 Remove HD44780 References, Part 1 (#9052) * remove HD44780_ENABLE rules: 0-9, A-B * remove HD44780_ENABLE config: 0-9, A-B commit 12946d056566b2e7915350c52d07540d0e1c973f Author: Valen Cheung Date: Sun Jul 26 07:45:35 2020 +0800 Keymap update - massdrop/ctrl/responsive_pattern (#8730) * rewrite keyboards/massdrop/ctrl/keymaps/responsive_pattern/keymap.c in respopnse to the last update (#5328) * remove print.h * changed default parameters, modified readme commit 95c742ec276c7ebf2cd996cc3889d3e2d0a2874e Author: QMK Bot Date: Sat Jul 25 22:33:55 2020 +0000 format code according to conventions [skip ci] commit d91987ab9adbf7bba9f47deb6b30a02d28e7195d Author: Joel Challis Date: Sat Jul 25 22:50:56 2020 +0100 Enable OLED support for Teensy 3.2/LC (#7591) * I2C_TIMEOUT is not defined on arm teensy * Work round teensy having different ChibiOS config options * Stash OLED conf files * update comment * update comment * Remove stm32 alias to allow teensy alt mode commit db540e2832b0d3bed6ae2ca3a2c893d9c79a7f5d Author: RJ Bernau Date: Sat Jul 25 22:36:39 2020 +0100 Adding VIA support for Dactyl Manuform 5x7 (#9462) * adding via support for Dactyl Manuform 5x7 * Changing Vendor ID from FEED to 444D (DM) * Update keyboards/handwired/dactyl_manuform/4x6/config.h Fixing typo in Dactyl Manuform 4x6 Product Id Co-authored-by: Joel Challis * Update keyboards/handwired/dactyl_manuform/4x5/config.h Fixing typo in Dactyl Manuform 4x5 Product Id Co-authored-by: Joel Challis Co-authored-by: Roland Bernau Co-authored-by: Joel Challis commit a0b10593dff4b983ce36b7ff9ecb4f8682c592c5 Author: Yoonbae Cho Date: Sun Jul 26 01:44:45 2020 +0900 Keymap for keebio/iris rev.4 supporting VIA (#9749) * Create keymap.c * Create config.h * Update first revision * Enhance keymap * Enhance keymap * Update keymap * Make Via compatable * Support mouse key * Apply reviewer's change requests * Adjust mouse factors * Update config.h commit 65f4b94cda57a6118b99d36ea0b0ca462e56de5e Author: Ingar Almklov Date: Sat Jul 25 18:42:50 2020 +0200 Pinky4: add via support (#9711) * Pinky4: add via support * Pinky4/via: simplify rules.mk * Pinky4/via: use built-in for KC_TRANS, enum for layer _names * Pinky4/via: remove redundant rules * Pinky4/via: remove unnecessary slashes * Pinky4/via: don't override default bootloader commit 70a37b9cf5a52fe2d606157c916a561ed954cfc2 Author: gtips <51393966+gtips@users.noreply.github.com> Date: Sat Jul 25 19:35:47 2020 +0900 [Keyboard] Add keyboard Reviung61 (#9737) * [Keyboard] Add keyboard Reviung41 * Modified files * deleted keyboards/reviung41/keymaps/default/config.h * modified keyboards/rebiung41/keymaps/default/keymap.c * modified keyboards/reviung41/readme.md * modified keyboards/reviung41/readme.md * modified keyboards/reviung41/readme.md * Update readme.md Change the image photo of readme.md. * [Keyboard] Add reviung61 * Update readme.md * fix keyboards/reviung61/ and add keymap default_rgb * fix keyboards/reviung61/info.json * fix keyboards/reviung61/info.json * remove keyboards/reviung61/keymaps/default/config.h commit 208fbce9a79ea1775a0367a0075a680b71928b1e Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sat Jul 25 06:10:00 2020 -0400 Keymap for OSAv2 (#9773) * Add OSAv2 keymap * OSAv2 configs and rules * OSAv2 lighting layers * OSAv2 lighting layers * Fix colors after copy/paste * Use LED indicators instead of RGB commit 21976f47d86e6ef01a2ec097ad1e36f5aada671b Author: Eric Brooks Date: Sat Jul 25 04:41:58 2020 -0500 Added via support for ut472 (#9757) * Added via support for ut472 * removed needless config file updated vendor and product id for ut472 * corrected VENDOR_ID casing for ut472 commit 054021e8757a72de4d3fae1f58944e9c922d22d1 Author: Ibnu Daru Aji Date: Sat Jul 25 16:15:35 2020 +0700 [Keyboard] Squiggle (#9387) * new keyboard for squiggle. * added pic and other layout. * updated readme. * following drashna's suggestions. * removed an empty line and right hand as master. * following fauxpark's suggestions. * following manna-harbour's suggestions. * trying to satisfy PR Lint keyboards * manna-harbour forgot to add it. * following fauxparx's suggestions. * following fauxpark's suggestions. * following fauxpark's suggestions.' ' * following fauxpark's suggestions. * following fauxpark''s suggestions. * upated info.json to represent the actual layouts. * following noroadsleft's suggestions. commit f5c2cd2eb7415418f4d7f87f732b0c6e07afade7 Author: shela Date: Sat Jul 25 09:36:48 2020 +0900 [Docs] Update Japanese translation of custom_quantum_functions.md. (#9760) * Update Japanese translation of custom_quantum_functions.md. * Update custom_quantum_functions.md fix original document version. commit 0e30266711719c0f62aa229606d361601f6898e4 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sat Jul 25 09:34:07 2020 +0900 [Docs] Japanese translation of docs/getting_started_docker.md (#9681) * add getting_started_docker.md translation * fix some typo * update based on comment commit 656a8327f467fc47994afe8174bba417806acd25 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sat Jul 25 09:33:20 2020 +0900 [Docs] Japanese translation of docs/flashing_bootloadhid.md (#9680) * add flashing_bootloadhid.md translation * update based on comment commit 1fed91f272bc12d8f033156700cff331143dc530 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Jul 25 08:38:13 2020 +0900 Japanese documents 'original document' comment fix (#9816) commit 7fe491bb54884fdc52160cb7b64f96083ee44d85 Author: sotoba Date: Sat Jul 25 05:24:58 2020 +0900 [Keyboard] Add "craftWalk" keyboard (#9689) * Add craftWalk keyboard * remove config.h * Update keyboards/craftwalk/config.h * Update keyboards/craftwalk/rules.mk * Update keyboards/craftwalk/rules.mk * Update keyboards/craftwalk/info.json * Update keyboards/craftwalk/rules.mk * Update keyboards/craftwalk/config.h * fix bootloader * Update keyboards/craftwalk/rules.mk * Update keyboards/craftwalk/info.json * Update keyboards/craftwalk/config.h * Update keyboards/craftwalk/config.h * Update keyboards/craftwalk/rules.mk * Update keyboards/craftwalk/rules.mk commit 7675e80f5c3e161021388832a4202652c423de5d Author: shela Date: Sat Jul 25 03:19:46 2020 +0900 [Docs] Update Japanese translation of feature_pointing_device.md. (#9771) * Update Japanese translation of feature_pointing_device.md. * Update docs/ja/feature_pointing_device.md * Update feature_pointing_device.md fix original document version. commit 2b960b8bd7d529f135018827c38a0bccea9b1315 Author: shela Date: Fri Jul 24 18:49:36 2020 +0900 [Docs] Update Japanese translation of feature_userspace.md. (#9775) commit 955047dd7dc13f18f0749efc7c31844cbc210153 Author: shela Date: Fri Jul 24 17:54:34 2020 +0900 [Docs] Update Japanese translation of feature_hd44780.md. (#9766) commit 0a5997b0afaced65ffd4f640c28558792b16ba73 Author: shela Date: Fri Jul 24 17:45:30 2020 +0900 [Docs] Update Japanese translation of faq_build.md. (#9762) commit 0adf03c75422c96962b72bc76cd1b95b91752187 Author: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Fri Jul 24 14:51:54 2020 +0800 [Keyboard] Add N87 Keyboard (#9663) * Add new keyboard, the N87 * Deleted config.h and readme.md on tsangan keymap folder * Edited layout names on keymap.c and n87.h. Disabled audio * Edited files based on requested changes, re-enabled audio on extra data pin B7, enabled audio click, disabled music mode * Updated the wiring matrix for symmetric_standard layout commit 2cebac6f2f7f5a49adf7f2ce8a94c8ba1dbef707 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Jul 23 20:17:38 2020 -0700 [Keyboard] VIA Support: DO60 (#9622) * fix up that vendor ID * add a VIA enabled keymap * use pragma once * clean up indicator leds code * remove unused header commit a50c0049f68f666d1fe49d895743b27d1036ccb3 Author: Koobaczech <67293963+Koobaczech@users.noreply.github.com> Date: Thu Jul 23 23:01:39 2020 -0400 [Keyboard] Add Pandora keyboard (#9592) * Pandora Co-authored-by: Ryan Co-authored-by: Ethan Madden Co-authored-by: Erovia Co-authored-by: Ryan commit e620a7beb2beebee3881f7061eac218beb668e26 Author: Matthew Weldon Date: Thu Jul 23 22:42:56 2020 -0400 [Keyboard] add encoder support to PlaidPad default mappings (#9396) * Add flipped and discrete encoder support default mappings * Fixed typo in readme * Removed flipped layout, fix config.h encoder pin mapping, update readme Co-authored-by: matt commit d699fd1fb4127c9a0c13eaa1348b934ccd639627 Author: Jonathan Rascher Date: Thu Jul 23 10:27:01 2020 -0400 Switch bcat Chrome OS media keys workaround from mouse keys to NKRO (#9790) * Switch Chrome OS mouse keys workaround to NKRO * Add NKRO toggle to keymaps * USE NK_TOGG keycode instead of defining my own commit e38331d94cff278e193f12a9dfab3da956e1daf8 Author: Jonathan Wakely Date: Thu Jul 23 15:25:01 2020 +0100 Update readme.md for cu80 (#9798) commit e85ec9a09a79bc1882d7b6ef4f3f9f0aa6c8b295 Author: shela Date: Thu Jul 23 17:34:42 2020 +0900 Update Japanese translation of _summary.md. (#9777) commit 562b853a8f4a6d0d4e3343a6ab7ba85e7740e3c0 Author: shela Date: Thu Jul 23 17:32:57 2020 +0900 [Docs] Update Japanese translation of feature_split_keyboard.md. (#9780) * Update Japanese translation of feature_split_keyboard.md. * Update docs/ja/feature_split_keyboard.md Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 69abe5b405c917ba0947cdac605bfb6409086365 Author: shela Date: Thu Jul 23 17:30:59 2020 +0900 Update Japanese translation of feature_layers.md. (#9769) commit a9cb3835ca12ab7dc42b4001b862c582a7a6364e Author: shela Date: Thu Jul 23 17:29:02 2020 +0900 Update Japanese translation of feature_encoders.md. (#9765) commit e1f1e1582e4152c1df051bf3159f67a5d2dca596 Author: shela Date: Thu Jul 23 17:27:40 2020 +0900 Update Japanese translation of feature_dynamic_macros.md. (#9764) commit 65f803a1de99d863bdbd92583595368d07aa9b79 Author: shela Date: Thu Jul 23 17:26:12 2020 +0900 Update Japanese translation of feature_dip_switch.md. (#9763) commit 706f1b433cbe32dd094fabffe25caca08f14b481 Author: shela Date: Thu Jul 23 17:23:56 2020 +0900 Update Japanese translation of driver_installation_zadig.md. (#9761) commit 841a2721bc312cebe4a9422a9c55ef435b5e723b Author: shela Date: Thu Jul 23 17:22:10 2020 +0900 Update Japanese translation of config_options.md. (#9759) commit d48e3053b992549edac03d7ae7be011b4d590136 Author: Mark Sherman Date: Thu Jul 23 00:18:21 2020 -0400 Updating comment diagram to match code in lets_split_eh/doxish_dvorak (#9785) commit d7a4b14bc6536cdd4d6317d98eb69993a1ad13ef Author: Michael Krasnitski <42564254+mkrasnitski@users.noreply.github.com> Date: Wed Jul 22 01:55:35 2020 -0400 Fix compilation warning for the DZ60RGB/DZ65RGB when RGB matrix is disabled (#9791) commit 74d3223fb5fdbbc43f65f5a5a9e2bb4b2c52fec6 Author: Sergey Vlasov Date: Wed Jul 22 08:49:01 2020 +0300 Update handwired/onekey/teensy_2pp readme (#9784) In commit 297aad6ebd85 pins for handwired/onekey/teensy_2pp were changed from B2/B1 to F4/F5; update readme.md to match that change. commit 3f0292d726c08d428ce9a16298739f4d2ced1b9f Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Wed Jul 22 11:06:27 2020 +0900 [Docs] Japanese translation of docs/cli_development.md (#9699) * add cli_development.md translation * update based on comment * update based on comment * update based on comment commit 3f96b88e73ea72474d841c1318c62b570f4aaf34 Author: Matthew Lyon Date: Tue Jul 21 17:08:56 2020 -0700 mattly goes windows (#9677) * mattly's userspace and iris * [Keymap] mattly's windows overlays * biton32->get_highest_layer * few more small tweaks commit 5e812cc4bea41688a7dd7cfc228cc5bc0cf23617 Author: dsanchezseco Date: Tue Jul 21 23:45:21 2020 +0200 Add keyboard Punk75 (#9731) * start of punk75 keyboard * preliminary code for the punk75 keyboard * readme * changes to work with USBasp * changed cols and added configurable led * set LED's pin as output * changed led to new port and added rotary encoders * added code for rotary encoders * fixed col pins * fixed encoder orientation * added delay for tap_code so encoder works as intended * added preliminary keymap for mine * personal keymap for punk75 * personal keymap for punk75 * Apply suggestions from code review Co-authored-by: Joel Challis * Apply suggestions from code review Co-authored-by: Ryan * fixed image * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 8c8a320e9251b6f306ab473377280bc23e64b9c0 Author: Alabahuy Date: Wed Jul 22 04:31:16 2020 +0700 Add via support for rart75 (#9746) * Update info.json * Create rules.mk * Create keymap.c commit 43b21cffe068f0591b9c9ecbf677a463a93747a7 Author: ladbahuy <67696967+ladbahuy@users.noreply.github.com> Date: Wed Jul 22 04:30:20 2020 +0700 Update rartpad via keymap (#9747) commit 58c31f563236bb594b17c07b382ee51d3315237a Author: shela Date: Wed Jul 22 01:30:33 2020 +0900 fixed alt text for images. (#9781) commit 1778858e24ddf7527ba37014e991fb95eb9689a3 Author: QMK Bot Date: Tue Jul 21 00:09:52 2020 +0000 format code according to conventions [skip ci] commit 19006c9753e490bf5e0136e59476530e345c4a8a Author: nathanvercaemert <50712356+nathanvercaemert@users.noreply.github.com> Date: Mon Jul 20 19:28:38 2020 -0400 Implemented New MK_COMBINED Functionality (#9557) * implemented new mousekey_combined functionality * minor formatting change to documentation * Update tmk_core/common/mousekey.c Co-authored-by: Ryan * Update tmk_core/common/mousekey.c Co-authored-by: Ryan * Update tmk_core/common/mousekey.c Co-authored-by: Ryan * Update tmk_core/common/mousekey.c Co-authored-by: Ryan * Update docs/feature_mouse_keys.md Co-authored-by: Nick Brassel * Update docs/feature_mouse_keys.md Co-authored-by: Nick Brassel * Update docs/feature_mouse_keys.md Co-authored-by: Nick Brassel * Update docs/feature_mouse_keys.md Co-authored-by: Nick Brassel Co-authored-by: Nathan Vercaemert Co-authored-by: Ryan Co-authored-by: Nick Brassel commit 2e08c72e956748996544a0c3071632427994ed67 Author: Nico Cesar Date: Mon Jul 20 10:41:21 2020 -0400 Update onekey proton_c readme (#9758) A3 won't work. The code says A1 and A2 and it works. prints out an "a" commit 57f408cff59435381f57900c054ba96710a30b3a Author: Joshua Rubin Date: Sun Jul 19 20:25:30 2020 -0600 ensure hhkb runs matrix_init_quantum (#9629) commit c4d778a302462929ba71a4746afa1f21f10922c2 Author: Drashna Jaelre Date: Sat Jul 18 13:24:23 2020 -0700 [Docs] Update ISP Guide (#9748) * [Doc] Update ISP Guide Correct the fuses for Caterina, and make the `:production` command more obvious. * fix casing before fauxpark catches it commit 82dcb173386be1a5dc867401dca63cde6d0e8121 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sat Jul 18 17:47:12 2020 +0900 [Docs] Japanese translation of docs/feature_debounce_type.md (#9524) * add feature_debounce_type.md translation * update based on comment * update based on comment commit a8c230743ae3a5721b291558e6fa0e4aac2bc564 Author: Pierre Chevalier Date: Sat Jul 18 04:57:33 2020 +0100 Write firmware for the Ferris keyboard (#9634) * Write firmware for the Ferris keyboard Took inspiration from the gergoplex and the ergodox_ez firmware for the split matrix with io_expander on the right hand. Cleaned up a lot of bit fiddling on the mcu side by taking inspiration from the `split_custom` in quantum. Still bit fiddling on the mcp side as it is particularly natural to do so with the abstractions provided by the i2c protocol. Would be good to clean that up and abstract away the wiring from the generic i2c code in a similar fashion as quantum and the mcp side behave. One improvement over the ergodox_ez and the gergoplex firmwares is that the wiring is straight forward as opposed to swapping rows and columns in two different places that end up cancelling out for some reason. At this stage, I have flashed this firmware to a board and have verified that all keys are behaving as intended by shorting pins. I still have to solder in some switches and test that everything works correctly at normal typing speeds, but I don't expect any major issues given I'm building up on previous effort, including the debouncing code from the ergodox_ez. * Remove rotation from info.json and label the keys as per default keymap * Comply with minor review feedback points * Use CUSTOM_MATRIX=lite to remove boilerplate * Update keyboards/handwired/ferris/info.json Didn't play nicely in the configurator Co-authored-by: Ryan * Remove MIDI_ENABLE from rules.mk Co-authored-by: Ryan * Remove FAUXCLICKY_ENABLE from rules.mk Co-authored-by: Ryan * Prefer wait_ms over _delay_ms Co-authored-by: Ryan * Remove unused include Co-authored-by: Ryan * Remove unused include Co-authored-by: Ryan * Remove unused include Co-authored-by: Ryan * Remove unused includeh Co-authored-by: Ryan * Use dprint over print and remove include for print.h * Remove all unused includes * Remove unused code * Cleanups thanks to code review * Move more personal settings from the ferris config to the default keymap config These setting happen to be unused in the default keymap at the moment, as it has only one layer with no homerow modifiers and no mouse key; but I would like to keep it there for two reasons: * It can serve as an example to people creating their own keymap * I plan to design a more usable default keymap that uses these features once this PR which adds the Ferris keyboard is merged. * Consolidate mcp logic inside matrix.c Co-authored-by: Ryan commit 3c84157d83ed18f6c31632a4728d6a0be5b68d59 Author: Croktopus <39040552+Croktopus@users.noreply.github.com> Date: Fri Jul 17 11:04:44 2020 -0700 Add timber wolf keyboard (#9353) * added timber wolf keyboard * removed subfolders * fixed keymap names * fixed layout macro references * swapped c6 and c7 functions * Update keyboards/metamechs/timberwolf/config.h Co-authored-by: Erovia * Update readme.md * re-updating readme Co-authored-by: Erovia commit 4989af356eaa62f00b5a020d16e4e7d541b49ee1 Author: floookay <33830863+floookay@users.noreply.github.com> Date: Fri Jul 17 19:51:56 2020 +0200 [keyboard] added Adelheid (#9734) * readded adelheid files * reworked keymaps - moved my personal keymap to a new folder - added a new default keymap * removed unnecessary backslash * reenabled command rule * bumped device number * fixed layout for configurator * applied suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit a2fa12d6313b85822113a80f23ace951b2f9af17 Author: yinxianwei Date: Sat Jul 18 01:46:05 2020 +0800 [keyboard] Add x16 (#9709) * [keyboard] Add x16 * update x16 * Update keyboards/x16/config.h Co-authored-by: Ryan * Update keyboards/x16/readme.md Co-authored-by: Ryan * Update keyboards/x16/rules.mk Co-authored-by: Ryan * Update keyboards/x16/rules.mk Co-authored-by: Ryan * Update keyboards/x16/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit 412c6bf44785e2312821a484a7cd36ce1ec6361a Author: NightlyBoards <65656486+NightlyBoards@users.noreply.github.com> Date: Fri Jul 17 23:46:11 2020 +0800 Add Alter Keyboard (#9579) * Create Alter folder * Revert "Create Alter folder" This reverts commit 361103b821dbb22957b66cdedb0d11f996def71c. * Add Alter keyboard * Fixed keymap.c * Fixed another issue on the keymap.c * Updated the files based on the comments * Edited default keymap and enabled rgbanimations on config.h * Updated the info.json commit 9aa953ecb476b952e9cb16a1812e9e1aef88b8dd Author: Alabahuy Date: Fri Jul 17 22:39:55 2020 +0700 [Keyboard] add rart75 (#9649) * Create config.h * Create info.json * Create rart75.c * Create rart75.h * Create readme.md * Create rules.mk * Create keymap.c * Create keymap.c * Update keymap.c * Update info.json * Update info.json * Update info.json * Update readme.md * Update config.h * Update rules.mk * Update readme.md * Update readme.md commit 9fddb1b5fad6b263750598131af31867e24a077f Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Fri Jul 17 07:41:30 2020 -0700 VIA Support: Skog Lite (#9686) * via support for the skog lite * some code cleanup before submission * Update keyboards/percent/skog_lite/keymaps/via/config.h Co-authored-by: Joel Challis * Update keyboards/percent/skog_lite/keymaps/via/keymap.c Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 07a817d3e5454f9dc3ecd5f7e7b49197bfb36599 Author: Josh Johnson Date: Fri Jul 17 22:35:44 2020 +1000 [keymap] Add VIA support for Hub16 (#9638) * fix encoder switch not staying depressed * add via support * change default keymap * change VID-PID * remove LTO * fix hold bug keeping debouncing commit 56beaf7d3f5bb135fbb516b4824d3e8c3643978f Author: moyi4681 Date: Fri Jul 17 20:26:50 2020 +0800 Update MAJA info.json (#9674) * Update info.json * Update keyboards/kbdfans/maja/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kbdfans/maja/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 3f11f41ec7d96ae848ded3f6a41021b296c7e63a Author: Sid Carter Date: Fri Jul 17 08:16:09 2020 -0400 Keymap addition and updates (Prime_e, ProjectKB PCB, WT60-D) (#9701) * update keymap * update ilpse template as well * fix some key items * move quote the first layer * figure out brackets * update ilpse keymap * update arrow keys on alice * change layers * update layers again * switch to vim keys * add mouse keys Co-authored-by: Khader Syed commit 4e02253aaf79f696e3e3470e8e97a14a5722d328 Author: Maarten Dekkers Date: Fri Jul 17 13:53:37 2020 +0200 [Keyboard] Add PocketType (#9728) * Add PocketType * Add info.json, changes readmes and other stuff * More changes Co-authored-by: Maarten Dekkers commit 2773082d9d1dd3f28ae2b4e43543bd235ec6f81c Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Thu Jul 16 16:20:02 2020 -0400 add default Rebound lighting settings (#9740) * cleaning up * deleting to undelete * add rebound lighting settings commit 19b70b2737517b08beebe28ad5b2d084c9f59bf3 Author: Ryan Date: Fri Jul 17 03:01:34 2020 +1000 MSYS2: Switch to bootloadHID package and bring back avrdude package (#9736) * MSYS2: Switch to bootloadHID package and bring back avrdude package * Update Zadig docs as well commit 61b64bb82a93c6d1441f07655a5e20b59a15fd29 Author: Konstantin Đorđević Date: Thu Jul 16 14:27:55 2020 +0200 Redefine IS_LAYER_ON/OFF() as aliases for existing layer functions (#6352) * Add IS_LAYER_ON_STATE()/IS_LAYER_OFF_STATE() macros * Add docs for IS_LAYER_ON/OFF(_STATE) macros * Remove IS_LAYER_ON/OFF_STATE redefinition in userspace * Run clang-format on quantum/quantum.h * Redefine IS_LAYER_ON/OFF(_STATE) as aliases of existing layer functions Also update relevant doc entries. Needs testing to check if this breaks existing IS_LAYER_ON/OFF usage in certain edge cases (namely calling the macros with 0). * Reformat layer check function docs commit f11437aef392dc44573bf45a738ae758784d2f1b Author: Drashna Jaelre Date: Wed Jul 15 23:45:50 2020 -0700 Allow for user song list (#9281) commit fc133153007e13d0f27112cce5cfec967c1f278e Author: Hedgestock Date: Thu Jul 16 07:50:51 2020 +0200 Fixed CA_DOTA key code (#9722) commit 72d327054744fa142469dbb5406ad61f5ad0a302 Author: Ryan Date: Thu Jul 16 15:49:18 2020 +1000 Remove `DESCRIPTION` (#9732) commit 92d0a71af71973ac3f80398ed4f7f61dd97733b3 Author: Gautham Yerroju Date: Wed Jul 15 22:48:04 2020 -0700 OLED driver function to set pixels (#9713) * Add a function to set individual pixels * Add documentation for oled_write_pixel * use smaller data type for oled_write_pixel * Fix boundary check edge case * Update oled_write_pixel doc Co-authored-by: Ryan Co-authored-by: Ryan commit 08b405e1e93fbd1aa9aa061ce4ee271b6ac9e60c Merge: e8d577c081 13eda1b1a2 Author: Nick Brassel Date: Thu Jul 16 15:15:04 2020 +1000 planck/rev6: Enable WS2812 LED matrix with pwm drivers (#9735) * planck/rev6: Enable WS2812 LED matrix with pwm drivers * Comments and cleanup. * GPL2+ Licensing Co-authored-by: Nick Brassel commit 13eda1b1a28f8ae6c93e08904e3a9c996bbd1efd Author: Riley Inman Date: Wed Jul 15 22:28:28 2020 -0400 planck/rev6: Enable WS2812 LED matrix with pwm drivers commit e8d577c081469608a9c203f97aece82d4253e99e Author: Ryan Date: Wed Jul 15 18:52:02 2020 +1000 Update new keyboard templates (#9636) * Update new keyboard templates * Switch on Bootmagic Lite by default * Remove MIDI_ENABLE and FAUXCLICKY_ENABLE commit ceb3ef955e0a87ca599378fe3c7693667761a482 Author: Jeong Arm Date: Wed Jul 15 17:49:28 2020 +0900 [Keyboard] Update preonic/Kjwon15 layout (#9718) commit bc2ebef876da9b67422c493cecb267906723db4e Author: moyi4681 Date: Wed Jul 15 00:06:16 2020 +0800 Update KBDFANS/MAJA default keymap (#9727) * Update keymap.c * Update keymap.c commit 7bdfbde35d6c6bcdd3b788636e46f75c36a72efd Author: Gaëtan Ark Date: Tue Jul 14 09:42:29 2020 +0200 [Keymap] Added Bépo layout to Kyria (#9272) * Added Ergo 42 * Added bépo layout to the Kyria keyboard * Fixed comment layout, fixed bad quotes * Fixed outdated keys commit 584d38b5f55304871bfac1eac3c8c8125d374529 Author: Drashna Jaelre Date: Mon Jul 13 15:28:42 2020 -0700 Fix RGB Matrix using RGBW WS2812 LEDs (#9705) This should be a pointer, as that is what the function expects. commit 9307762d76f4b36b788daea003e07bd53af5baad Author: ladbahuy <67696967+ladbahuy@users.noreply.github.com> Date: Tue Jul 14 05:25:28 2020 +0700 RARTPAD : add support via (#9702) * Create rules.mk * Create keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update keymap.c commit 1b960381153f69b7b0ed28db51248f674ce0fadb Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sun Jul 12 11:43:43 2020 +0900 [Docs] Japanese translation of docs/coding_conventions_python.md (#9517) * add coding_conventions_python.md translation * update based on comment * update based on comment commit 78f0b5fb02c2419b2a4dd508c423701a48f43e01 Author: Joshua Rubin Date: Sat Jul 11 12:50:57 2020 -0600 [Keyboard] Add g60ble (#8952) * add g60ble Signed-off-by: Joshua Rubin * fixes from review Signed-off-by: Joshua Rubin * bioi/g60ble better comments in rules.mk * bioi/g60ble better comments in rules.mk part 2 * Update keyboards/bioi/g60ble/readme.md * Update keyboards/bioi/g60ble/rules.mk * Update keyboards/bioi/g60ble/rules.mk commit 64603ab647c07f3b7574e59ebbd2f92457588152 Author: shela Date: Sat Jul 11 22:06:33 2020 +0900 fix typo (#9695) commit ca946f61165ba6e7cfa33bee1c5ed895c67c0e74 Author: TerryMathews Date: Sat Jul 11 07:28:53 2020 -0400 Initial support for TKC Alice (#9640) Co-authored-by: Ryan Co-authored-by: Erovia commit 63fe92017ccf49739297a472ed5072a4abd7b1de Author: Brandon Claveria <48102030+swiftrax@users.noreply.github.com> Date: Sat Jul 11 04:28:22 2020 -0700 [keyboard] added swiftrax/cowfish (#9621) Co-authored-by: Joel Challis Co-authored-by: Swiftrax commit 817de51c12fba2f616a24dab05328f107a54536a Author: Randall Mason Date: Sat Jul 11 06:09:40 2020 -0500 Add config for Atreus based on Adafruit Feather BLE (#9140) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Erovia commit 6609197cde9420b1e9e8b2337d939df6475e8a3c Author: ladbahuy <67696967+ladbahuy@users.noreply.github.com> Date: Sat Jul 11 17:54:22 2020 +0700 [keyboard] Add rartpad (#9614) commit 421621fbf13df48a462ce33ffd7988a886f3ec06 Author: QMK Bot Date: Fri Jul 10 22:02:03 2020 +0000 format code according to conventions [skip ci] commit 21610d245ac0a7fe9a8fe76669bbf9b8aec78aab Author: Fredrik Salomonsson Date: Fri Jul 10 15:00:04 2020 -0700 [Keymap] plattfot - Update and fix issue with DBL_TAP (#9666) - Fix typo in the default layout. - Move esc and del to the navi layer. - Fix issue with oneshot layers and double tap aka DBL_TAP. - Add caps lock to the raise layer. Was relying on a broken behavior for the double tap to work with oneshot keys, i.e. the oneshot layer not being cleared after a key press in `process_record_user`, which allowed me to first press an oneshot key, then double tap and then a key. With the behavior fixed, this no longer works. As the oneshot layer will be cleared when double tap is pressed. To make double tap useful again. I changed that any of the layer keys does not clear the double tap. Which allows me for example to first press double tap, then an oneshot key and then a key. So now I'm able to type my double symbols again. commit bdfb1bc2b5e51e2b5f8844a0f6106162931c9ca8 Author: ytkwong <62127507+ytkwong@users.noreply.github.com> Date: Fri Jul 10 17:59:45 2020 -0400 Added VIA compatible rules for Duck Octagon V2 PCB (#9676) * Added keymap and rules to allow VIA compatibility * Update keymap.c * Update rules.mk * Update keyboards/duck/octagon/keymaps/via/keymap.c Co-authored-by: Joel Challis * Update keymap.c * Update keyboards/duck/octagon/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/duck/octagon/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/duck/octagon/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/duck/octagon/keymaps/via/keymap.c Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 76b21a4b90a490c69175bef2dffc6eb6759ac26d Author: Ramon Imbao Date: Sat Jul 11 05:58:41 2020 +0800 Fix missing column for Herringbone (#9679) * Add the missing column to the config * Fix key layout error in info.json commit 027570a21b44b2cba1b917c2eddb804b5dc82173 Author: Jonathan Rascher Date: Fri Jul 10 17:57:49 2020 -0400 Rework bcat Crkbd and Lily58 modifier keys (#9692) * Re-enable mouse keys to fix Chrome OS media keys I'm not sure if there's a bug in Chrome OS, QMK, or both, but EXTRAKEY_ENABLE isn't sufficient for media keys to work on Chrome OS. Instead, MOUSEKEY_ENABLE is also required. * Remove unnecessary SPLIT_USB_DETECT for Lily58 I've since swapped my Lily58 back to Elite-C v2 controllers with working VBUS detection. * Move Crkbd Esc and Ctrl keys; add some shortcuts * Move MC_ALTT to userspace for cross-board support * Sync Lily58 keymap with Crkbd * Fix typos commit bd72a577a2bec7479a909316d1729bad41c0b0e5 Author: KgOfHedgehogs Date: Fri Jul 10 23:56:52 2020 +0200 Update Jian readme.md (#9685) commit aec412598949208b734e9b592d51024b3d4c9504 Author: Joel Challis Date: Fri Jul 10 09:12:40 2020 +0100 Refactor ARM backlight (#7959) commit c272b2422b40129e2313435618edc9dc2e81c6f1 Author: a_p_u_r_o Date: Fri Jul 10 10:44:03 2020 +0900 [Keyboard] Fix inconsistent MATRIX_COLS: 4pplet/steezy60 (#9678) commit c50009d5d4909d55f5511378ba5bf0b4623a0a1c Author: Callum Oakley Date: Fri Jul 10 02:31:18 2020 +0100 [keymap] curly quotes (#9662) Co-authored-by: Erovia commit 823165b9b784feda7546daa83ded9afe0e35ee6f Author: Danilo de Klerk Date: Thu Jul 9 23:19:16 2020 +0200 split_3x6_3 layout support (#9625) commit 9947f1051d66fd4f6d1db290dfdca49f70ae3820 Author: Naoto Takai Date: Fri Jul 10 04:21:22 2020 +0900 Update Nomu30 keyboard (#9599) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Erovia commit c5e255a4172cdd8e813fbd9a86e560dac90dee64 Author: ajp10304 Date: Thu Jul 9 20:18:51 2020 +0100 Create ajp10304 userspace and ortho_4x12 layout. (#9304) commit bae3e03e5f5c74da05d3db71901b196004b105cc Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Thu Jul 9 21:13:32 2020 +0900 [Docs] Japanese translation of docs/coding_conventions_c.md (#9516) * add coding_conventions_c.md translation * update based on comment * update based on comment * update based on comment commit facca2331519d5d56a926f93f0cdf925fe0857da Author: pcoves <33952527+pcoves@users.noreply.github.com> Date: Wed Jul 8 22:57:11 2020 +0200 Add pcoves's userspace (#9354) Co-authored-by: Ryan Co-authored-by: Pablo COVES commit 071e0c2029e7923cbaa6ff721365b2f61cdd08d8 Author: Abi Shalom Date: Wed Jul 8 15:53:29 2020 -0500 Created abishalom keymap (#9669) Co-authored-by: Ryan commit 2b55c419ea72225030c884ce818a571ef0247b42 Author: Steve Purcell Date: Thu Jul 9 08:50:01 2020 +1200 shell.nix improvements, and fix problems on Darwin (#9551) commit 83e1b9ab6eee3ff11b58a905ea2015f92a724cf0 Author: Brandon Date: Wed Jul 8 15:47:35 2020 -0500 Added VIA support to nightmare (#9672) Co-authored-by: Ryan commit ca598c3df6847256bb884479ac10e2dcff22b599 Author: Oskar Holstensson Date: Wed Jul 8 22:45:43 2020 +0200 Changed US_RBRC to KC_RBRC instead of KC_LBRC (#9664) commit 4588c979bdd921ef536d61df44c4f5f3aa7a95c2 Author: Rys Sommefeldt Date: Wed Jul 8 21:43:23 2020 +0100 Reduce peak LED brightness for AoS TKL (#9667) commit 60ee8bddfcd2889c8ae040c06ae639ac6113e795 Author: Ramon Imbao Date: Thu Jul 9 03:03:02 2020 +0800 Fix }] key in matrix for GHS.RAR (#9671) commit 5f9fb01020c50e1da55e53be703d91b659e02120 Author: Guillaume Gérard <1322081+GreatWizard@users.noreply.github.com> Date: Wed Jul 8 20:55:02 2020 +0200 [Keymap Extra] Add French AZERTY (AFNOR - NF Z71-300) (#9644) Co-authored-by: Ryan commit c4960b7579a07858c5f8481b6fd9dc6363060d09 Author: ilikepi2 Date: Wed Jul 8 09:20:24 2020 -0700 Add VIA Functionality for Keyhive Maypad (#9654) Co-authored-by: Ryan commit d4917318cc11990f143f50f6233ed29240410352 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jul 8 09:18:50 2020 -0700 Add layout macros to YD60MQ (#9653) - LAYOUT_60_ansi_split_bs - LAYOUT_60_ansi_split_bs_rshift - LAYOUT_60_ansi_split_rshift - LAYOUT_60_ansi_tsangan - LAYOUT_60_hhkb - LAYOUT_60_iso_split_bs - LAYOUT_60_iso_split_bs_rshift - LAYOUT_60_iso_split_rshift - LAYOUT_60_iso_tsangan commit 047a7f4e333454387c8f46bcee53f7a55d8c5426 Author: boss566y <67247583+boss566y@users.noreply.github.com> Date: Wed Jul 8 09:33:43 2020 -0400 [Keyboard] Added Handwired Redragon Keyboard (#9590) * Added Handwired Redragon Keyboard as well as default and via keymaps * Update keyboards/handwired/boss566y/redragon_vara/info.json Co-authored-by: Joel Challis * Update keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c Co-authored-by: Joel Challis * Update keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c Co-authored-by: Joel Challis * Update keyboards/handwired/boss566y/redragon_vara/keymaps/via/keymap.c Co-authored-by: Joel Challis * Update keyboards/handwired/boss566y/redragon_vara/redragon_vara.c Co-authored-by: Joel Challis * Update keyboards/handwired/boss566y/redragon_vara/redragon_vara.h Co-authored-by: Joel Challis * Update keyboards/handwired/boss566y/redragon_vara/rules.mk Co-authored-by: Joel Challis * Update keyboards/handwired/boss566y/redragon_vara/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/handwired/boss566y/redragon_vara/info.json Co-authored-by: Ryan * Update keyboards/handwired/boss566y/redragon_vara/rules.mk Co-authored-by: Ryan * Update keymap.c Removed defined keycodes from via keymap * Update keymap.c replaced defined keycodes in default keymap * Update readme.md Changed image to one that matches the physical keyboard Co-authored-by: Joel Challis Co-authored-by: Ryan commit c8ab8e0babb9247b420df8b10c16fae6438c38a4 Author: TerryMathews Date: Wed Jul 8 09:25:30 2020 -0400 [Keyboard] Add support for YDKB Chili (#9583) * Add support for YDKB Chili Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Erovia commit 038a86a9b8bcdcc2db03240dec7d730569ff63bf Author: Matthew Tse <1315979+m-tse@users.noreply.github.com> Date: Tue Jul 7 23:40:13 2020 -0400 Add missing bracket for Tap-Hold code sample (#9675) The `TAPPING_TERM_PER_KEY` code sample is missing a closing bracket. This adds it. commit 9ae15e8c79375f2ca2f315d8b24e8c51a6855039 Author: QMK Bot Date: Tue Jul 7 21:43:51 2020 +0000 format code according to conventions [skip ci] commit 666cb44673c3db85e0141189319fc9aed394c56d Author: Dongfeng Yu <60870777+blockader@users.noreply.github.com> Date: Wed Jul 8 04:59:13 2020 +0800 Allowing Pressing the Start Buttons Again to Stop Dynamic Macro Recording (#9446) commit 03c790a0f23fe05f0b0fde84d3a2d3e7987a7f73 Author: Sven Grunewaldt Date: Tue Jul 7 22:47:59 2020 +0200 Add TAP_CODE_DELAY to Mod-Tap (#9422) commit 29b4f83a1fab8b0b1674ba181732790c5cc269c1 Author: Ryan Date: Wed Jul 8 05:31:44 2020 +1000 Un-nest 1up60rgb LAYOUT macros (#9648) commit e6bcc232ed04f91501ab998080b1e738ac67bc37 Author: Erovia Date: Tue Jul 7 19:22:38 2020 +0100 Docs: update ModemManager recommendation (#9328) Instead of modifying the service file provided by the distro, use drop-in functionaly to explicitly specify the policy. commit 5eb4675fda13783e6d1b18b7fbbe54a90a9fe68e Author: Joakim Tufvegren Date: Fri Jun 26 00:32:21 2020 +0200 Allow for building layouts from keymap.json files. commit 0fcefdc0136cb3f6c49a678d07d3430455a008d1 Author: KgOfHedgehogs Date: Mon Jul 6 14:40:23 2020 +0200 Add jian qmk_via layout and LTO_ENABLE to all jian revs (#9606) commit fe744eb1ad2ee982dd94bd389f262a62332934d5 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Mon Jul 6 20:38:41 2020 +0800 [Driver] bugfix reset the scaling register flag to FALSE (#9507) Co-authored-by: Ryan commit 85e20a5cf433c2164e3d0a5c8de8cbd5dfc4c6fe Author: Brennan Vincent Date: Sun Jul 5 12:20:46 2020 -0400 Fix typo in freebsd_install.sh (#9655) commit da5aed6beffeaf67eb6f05bbbe4ca75ecde2ebfb Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sat Jul 4 23:51:37 2020 -0400 [Keymap] Add Alice rev2 to my userspace (#9600) commit acb9cf12c46bfef7f542e44c06351aeced82bd89 Author: Alabahuy Date: Sun Jul 5 10:36:42 2020 +0700 [Keyboard] RART67 : add support via (#9589) commit ade3bdf7e746278057b51c11b2ac8cee366c391f Author: siano Date: Sun Jul 5 05:31:07 2020 +0200 [Keyboard] XD87 Caps Lock LED refactor (#9585) commit 83bc0b9e80ddbc3d494fb5fa348e601e90f08f01 Author: paulgali Date: Sun Jul 5 06:20:22 2020 +0400 [Keyboard] Updated VIA Support for DP60 (#9508) * Updated VIA Support - Added LAYOUT_all Support for VIA compatibility - Updated default dp60\layouts\via\keymap.c to mmirror changes to LAYOUT_all - Rules.mk updated in both base and via directories. Co-authored-by: Ryan Co-authored-by: Joel Challis commit 29ebb99b1f5dff19a2c7dc3c93c7c95e9e9986be Author: yanekm Date: Sat Jul 4 18:50:01 2020 -0400 fixed link to Eclipse instructions (#9647) commit 355f075b5766da18129027128de9cdfbe674f6af Author: QMK Bot Date: Sat Jul 4 15:01:25 2020 +0000 format code according to conventions [skip ci] commit c2ca57c8f4defd8fc7b7911cc1ba1e49f3d483e1 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Jul 4 23:20:49 2020 +0900 add DIP_SWITCH_MATRIX_GRID support (#8772) * dipsw test on helix/rev2/sc/back:five_rows * add peek_matrix() to matrix_common.c * add DIP_SWITCH_MATRIX_GRID support to quantum/dip_switch.c * update docs/feature_dip_switch.md about DIP_SWITCH_MATRIX_GRID * Test end. remove test code. Revert "dipsw test on helix/rev2/sc/back:five_rows" This reverts commit 6d4304c74557597c9fb4d324f79c3ae4793ae874. commit 5c8b23ccffa0083752044f0459e6ac3114ce6e52 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Jul 4 23:04:47 2020 +0900 add SPLIT_HAND_MATRIX_GRID support (#8685) Co-authored-by: Danny commit 13a8d1681ca89b14931b0f9246dad4a4f60705fa Author: Sam Gowland <10119462+SamGowland@users.noreply.github.com> Date: Sat Jul 4 11:51:42 2020 +0100 [Keyboard] Gowla Macro Board (#9643) Co-authored-by: Ryan Co-authored-by: Erovia commit b30d0361c52ac3b0c0ae2c4a6f90d1666a767a86 Author: Olli Date: Sat Jul 4 12:43:52 2020 +0200 Fix “G” in Neo2 keymap (#9645) Fix duplicated “NE_H” definition to use “NE_G” in Neo2 keymap, introduced with commit 44ff14f. commit 063a74b660ee782ad4128907121ece459e417963 Author: kwlodarczy <64139515+kwlodarczy@users.noreply.github.com> Date: Sat Jul 4 05:48:37 2020 +0100 Rotr - Updated README and default keymap (#9598) commit 3ff635b9a8285a45805d8b854a84674e74983376 Author: moseschmiedel <58808540+moseschmiedel@users.noreply.github.com> Date: Sat Jul 4 01:27:56 2020 +0200 Add missing dependency for Void Linux to util/linux-install.sh (#9637) commit 2c98c4dd4e05f02a87154c914319f2b772bf81c9 Author: Ryan Date: Fri Jul 3 19:05:59 2020 +1000 Backlight docs wordsmithing (#9631) commit 8c66c5aa9b08d732329408847dc6cf7645e67ae1 Author: Ramon Imbao Date: Fri Jul 3 17:05:44 2020 +0800 Fix incorrect layout for GHS.rar (#9597) Co-authored-by: Ryan commit b7dc2eb9ab2bb3c6ac9ac8e975728002e0e9d62d Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Fri Jul 3 06:54:15 2020 +1000 Add movement hook to ps2_mouse (#8805) Process mouse movement in the keymap before it is sent to the host. Example uses include filtering noise, adding acceleration, and automatically activating a layer. To use, define the following function in your keymap: void ps2_mouse_moved_user(report_mouse_t *mouse_report); commit 00fc35539d774c43cde383a8d2cc8b254787ce6c Author: Ryan Date: Fri Jul 3 03:08:19 2020 +1000 Make sendstring respect `TAP_CODE_DELAY` (#9623) commit 65c9da5a657744578cf70b520736221209bf793b Author: Dongfeng Yu <60870777+blockader@users.noreply.github.com> Date: Fri Jul 3 01:05:38 2020 +0800 [Keymap] Adding a Custom Keymap for Matrix Noah (#9581) Co-authored-by: Ryan commit d1819f02dfac40408ceb51a59c32eb8e898e8810 Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Fri Jul 3 03:04:55 2020 +1000 Fix sharing of mouse button state from mousekeys to ps2_mouse (#9124) With this change, when ps2_mouse is disabled, mousekeys works as usual. With ps2_mouse enabled, mousekeys button state is shared with ps2_mouse for clicking, dragging, and scrolling, mousekeys clicks are produced by ps2_mouse only, and mouskeys button state is transferred to mousekeys without generating clicks to enable mousekeys dragging. Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit e1cdfdc0e7b177ea8b4f3626959dabf316dd3b0c Author: Jacky Tian Date: Thu Jul 2 08:33:57 2020 -0700 Add xjtian keymap for Planck (#9502) commit 97c18bfbc41c53a7ae7c6d12a676e919fe376153 Author: akscanb Date: Thu Jul 2 08:09:23 2020 -0700 Arisu keymapping, and corresponding via keymap (#9560) Co-authored-by: Ryan Co-authored-by: Erovia Co-authored-by: Will Co-authored-by: Andrew Koh commit 0e76b2766181b2c6b155b9d5bc0143233cf5cdf1 Author: Maarten Dekkers Date: Thu Jul 2 17:02:39 2020 +0200 Add Eon95 (#9334) Co-authored-by: Drashna Jaelre Co-authored-by: Maarten Dekkers commit bd4c66a26b79a97c116a7dfa2b9351312c544dc2 Author: Maarten Dekkers Date: Thu Jul 2 10:19:17 2020 +0200 Eon65 (#9331) Co-authored-by: Maarten Dekkers commit 7c57efaaf9388e003422c8b2c15e4ecd8b10053c Author: Ryan Date: Thu Jul 2 15:47:53 2020 +1000 Fix layouts for FM2U (#9604) * Fix layouts for FM2U * Leave old layout names as deprecated aliases commit d4dc2a577fbf6de948336288c6ca12359b48e50b Author: Sergey Vlasov Date: Wed Jul 1 23:32:21 2020 +0300 Quefrency rev1: Fix default VIA layout options (#9618) Apparently VIA allocates bits in the layout options field from the lowest bit, but starting from the **last** option defined in the JSON file. So the default value 0x06 was actually trying to set the value `3` (`0b11`) for the second-to-last option ("Right Shift"), which had only 3 values defined, and the attempt to set an undefined option value caused the VIA app to hang with a black window. Fix the default layout options so that it works as intended (the "Macropad" and "65% Column" options are set). commit 92839f8a0961584bb695fc54fe157d4238a4cebe Author: Mojitas <47667093+Mojitas@users.noreply.github.com> Date: Wed Jul 1 22:29:06 2020 +0200 Mojito-keymap (#9566) Co-authored-by: Joel Challis Co-authored-by: Ryan commit 907c1c64cfd1e1c132c65a19ef30bb255255c37b Author: Nick Blyumberg Date: Wed Jul 1 02:49:16 2020 -0400 [Keymap] AutoHotKey Companion keymap for Super16 (#9216) * Started AHK Companion Development * Updated the readme * Added AutoHotKey companion file * Updated documentation * Cleaned up the files and revised documentation * Finished the readme.md updates * Fixed the LED issue where the last LED did not reflect the right color commit 8b9e3e9979ffddaa91e022e8ab953be5c7c5283e Author: kakunpc <15257475+kakunpc@users.noreply.github.com> Date: Wed Jul 1 04:04:47 2020 +0900 [Keyboard] Add "choc taro" keyboard (#9556) Co-authored-by: Ryan Co-authored-by: Erovia commit 6600f32d355b7028854f537a5e0ee9d352f539f0 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue Jun 30 17:27:24 2020 +0000 Add VIA support on XiuDi (XD) keyboards (#8829) Co-authored-by: Ryan Co-authored-by: Erovia commit e9fa41631c816e7236210ac9fd9359c603c5ad5e Author: siano Date: Tue Jun 30 19:16:22 2020 +0200 XD87 qmk info fixes (#9601) * Fixed `Nested layout macro detected. Matrix data not available!` * Updated info for XD87 * Layout fixes. commit 91efcfb43a6ec2d6f79c3d1386ba8379ed4e3041 Author: Danilo de Klerk Date: Tue Jun 30 19:14:42 2020 +0200 Add layouts for split 3x5 and 3x6 keyboards (#9562) Co-authored-by: Ryan commit 24f59c2d7268c5e853d496733e844f60adf421b2 Author: Ryan Date: Wed Jul 1 02:53:24 2020 +1000 Add more missing info.json layouts (#9595) commit 398a7e5b3f92f6f657093f0dcce7ac67b43a3c67 Author: unicorn855 Date: Tue Jun 30 13:23:31 2020 +0200 re-added mouse and media keys plus slight changes (#9515) Co-authored-by: Ryan commit 48db3ad6ef1e7c98bce592791972c7beaa2315ef Author: Ramon Imbao Date: Tue Jun 30 10:30:04 2020 +0800 Fix Herringbone keymap typo (#9578) * Change TILD to GRV commit 12b43f55d64695e3cf1e9284af97a7c2fb9b77a8 Author: Alabahuy Date: Tue Jun 30 08:39:07 2020 +0700 [Keyboard] rart67 (#9543) * Create config.h * Create info.json * Create rart67.c * Create rart67.h * Create readme.md * Create rules.mk * Create keymap.c * Update readme.md * Update info.json * Update info.json * Update config.h commit 6d6340a82b3ed61f5dd2a40dac78712d7bd736fd Author: Herpiko Dwi Aguno Date: Tue Jun 30 06:32:59 2020 +0700 [Keyboard] Add UNK keyboard. (#9571) * Add UNK keyboard. * Update keyboards/handwired/unk/info.json * Use KC_NO to block out nonexistent matrix positions. * Update keyboards/handwired/unk/readme.md * Update keyboards/handwired/unk/keymaps/default/keymap.c commit 67beec5e94eefade8d22be10a5308373ddb54118 Author: kwlodarczy <64139515+kwlodarczy@users.noreply.github.com> Date: Mon Jun 29 23:00:36 2020 +0100 [Keyboard] Rotr (#9546) * Add files via upload * Add files via upload Edited code to fix the formatting so that it follows the conventions. * Create README.md * Update config.h * Update keyboards/rotr/config.h * Update keyboards/rotr/config.h * Update keyboards/rotr/config.h * Update keyboards/rotr/kb.h * Update keyboards/rotr/keymaps/default/keymap.c * Update keyboards/rotr/keymaps/default/keymap.c * Update keyboards/rotr/rules.mk * Update keyboards/rotr/keymaps/default/keymap.c * Update keyboards/rotr/kb.c * Delete Makefile * Rename kb.c to rotr.c * Rename kb.h to rotr.h * Update rules.mk * Rename README.md to readme.md * Create info.json * Update keyboards/rotr/keymaps/default/keymap.c * Update keyboards/rotr/readme.md * Update keyboards/rotr/readme.md * Update keyboards/rotr/readme.md * Update keymap.c * Update rotr.c * Update info.json * Update keyboards/rotr/readme.md commit 09a53d1aa302a166cadbe7c75bc6f64a30e30fe3 Author: toraifu Date: Mon Jun 29 16:52:17 2020 -0400 [Keyboard] Fallacy (#9499) * Add Fallacy * Accept suggestions * fixed build error, renamed readme, added keymap specific config to force enable NKRO * remove FORCE_NKRO on VIA keymap, fix header * fix info.json to accurately reflect keymap * remove additional empty layers from default_split_bs keymap * Accept keymap formatting suggestions * remove empty config files at keymap level commit 4f9e5d4cdef8ee0ab5a361407ccd8c55dcc186b7 Author: morbetter <60626808+morbetter@users.noreply.github.com> Date: Mon Jun 29 12:16:14 2020 -0700 Adding VIA support for CannonKeys/Practice60 (#8169) * Adding VIA support for 40percentclub/luddite * Update config.h * Update rules.mk * Delete config.h config.h was created to override the "default" of RGBLED_NUM 8 deleting the file to keep with defaults * Removing block and comment as suggested * Update PRODUCT_ID Changing from: #define PRODUCT_ID 0x0A0C To: #define PRODUCT_ID 0x4C55 // "LU" * Changing Vendor ID Changing Vendor ID from: #define VENDOR_ID 0xFEED To: #define VENDOR_ID 0x3430 // "40" * Adding VIA support to cannonkeys/practice60 Adding VIA support to cannonkeys/practice60 * updated VENDOR_ID to match other CannonKeys boards * changed PRODUCT_ID to be unique * added additional notes to readme.md * keymap.c and config.h for VIA support * Update readme.md * Update keyboards/cannonkeys/practice60/readme.md * Update keyboards/cannonkeys/practice60/readme.md * Update keyboards/cannonkeys/practice60/config.h * Update rules.mk * Update keyboards/cannonkeys/practice60/config.h * Update config.h * Rebased from Master Rebased from Master commit cf17a8eb9550ca5d56344fd479e25112b5ad8bfe Author: Frothy Date: Mon Jun 29 15:58:15 2020 -0300 Add Via support for Hasu FC660C controller (#9563) Co-authored-by: Ryan commit 207b17bc4dd014ac5543546132c55be7d3d90217 Author: Gustavs Gūtmanis Date: Mon Jun 29 21:27:29 2020 +0300 [keymap] adding a new keymap to planck and crkbd (#9374) Co-authored-by: Ryan commit 1baa99c6473473ba3204c9861951e70c10d037cb Author: Reed Date: Mon Jun 29 13:23:13 2020 -0400 [Keymap] Adding my keymaps for ergodox_ez and kyria (#9365) * Trying to fix problems in my kyria steez * repeating last commit..... * repeating last commit on EDIT layer but swapping direction exit * moving the reversed desktop moves to the symbol layers on the same hand, for easier activation * adding mac desktop movement keys to Kyria layout * Adding readmes to my keymaps * Removing a png... * Update keyboards/ergodox_ez/keymaps/rmw/keymap-mac.c removing EPRM case * Apply suggestions from code review Great updates to various old-school or outdated ways I was doing things, removing some commented out code, etc. * Apply suggestions from code review Additional improvements * Moving tapdances.cpp to userspace as tapdances.c * reindenting the Kyria keymap to follow four-spaces convention, turning off oled on my kyria, improving the led handling on the Ergodox. * updating led stuff on the other two versions of the keymap, removing EPRM key from main keymap * Apply suggestions from code review I'm adding these various removals to the config file because it seems that at this time those settings are in harmony with the ergodox_ez defaults. * Moving encoder functions into their own userspace file * Apply suggestions from code review Removing settings that are now defaults, clearing out placeholder custom keycodes (smh) * updating encoder functions. * Moving to LAYOUT_stack for all layers, adding end of file newlines, switching to some shorter keycode aliases * Okay, refactor is well underway. * refactored! Also improved led handling for ergodox and rgb handling for kyria * removing mac/windows swappable version because I don't feel like dealing with it when reflashing is so easy. * moving LAYOUT_stack into kyria.h * moving the alternate default layer down next to QWERTY commit e9e6054ee7eaca4cbd8d1c7566f394559ea8770a Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Mon Jun 29 15:19:09 2020 +0700 [Keyboard] Refactor: add adelais rev.3 (#9496) * Refactor: add adelais rev.3 * update * Update keymap.c * update * update * update commit 4e4a3449a731bce9f6893d18d884af365d0df407 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Jun 29 16:30:16 2020 +0900 [Docs] Japanese translation of docs/compatible_microcontrollers.md (#9518) * add compatible_microcontrollers.md translation * update based on comment * update based on comment commit 7c17b872152ef0055a444eb99f770546b7bc6fec Author: Guillaume Gérard <1322081+GreatWizard@users.noreply.github.com> Date: Mon Jun 29 04:54:50 2020 +0200 Fix WORKMAN layer typo in dudeofawesome planck/preonic (#9576) commit 62ceb46e9df0c495a6c24336425cfaaef9ceb26b Author: Xyverz Date: Sun Jun 28 19:52:23 2020 -0700 Fixed MACLOCK key (#9555) commit 2c0201e80f7d1e477440c3a0cfcb9b90575a002a Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Sun Jun 28 21:37:47 2020 -0400 [Keyboard] Coupe and Sedan keyboards (#9539) * Initial upload - sedan and coupe keyboards * Update coupe.h * Update coupe.h * Update coupe.h * Update sedan.h * Update keyboards/clawsome/coupe/readme.md * Update keyboards/clawsome/sedan/config.h * Update keyboards/clawsome/sedan/config.h * Update keyboards/clawsome/coupe/config.h * Update keyboards/clawsome/sedan/readme.md * Update keyboards/clawsome/sedan/info.json * Update keyboards/clawsome/sedan/readme.md * Update keyboards/clawsome/coupe/readme.md * Update keyboards/clawsome/coupe/info.json * Update keyboards/clawsome/coupe/coupe.h * Update keyboards/clawsome/coupe/info.json * Update keyboards/clawsome/coupe/info.json * Update keyboards/clawsome/coupe/keymaps/default/keymap.c * Update keyboards/clawsome/sedan/info.json * Update keyboards/clawsome/sedan/sedan.h * Update keyboards/clawsome/sedan/rules.mk * Update keyboards/clawsome/sedan/sedan.h * Update keyboards/clawsome/sedan/keymap/default/keymap.c * Update keyboards/clawsome/sedan/keymap/default/keymap.c * Update keyboards/clawsome/coupe/rules.mk * Update keyboards/clawsome/sedan/info.json * Update keyboards/clawsome/sedan/info.json * Rename keymap.c to keymaps.c * Rename keymap.c to keymaps.c * folder name updated * updated keymaps * remove erroneously added files * extend keymap functionality * Update config.h * Update config.h * added URL on line #3 for image of Coupe * Added URL to line #3 * Update keyboards/clawsome/sedan/readme.md * Update keyboards/clawsome/coupe/readme.md commit 51509ec07bb6e442301c5a0b07638cd52ff89e38 Author: mcginnisa Date: Sun Jun 28 15:26:33 2020 -0700 Add DZ60 keymap lint_kid (#9477) * adding dz60 layout lint_kid * adding dz60 layout lint_kid, removed readme * removing wrong commented layout from dz60 lint_kid layout * added readme * Apply suggestions from code review Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit b215bc3aba9bb5feb7edfc7166afdc30cb1a0b1d Author: Guillaume Gérard <1322081+GreatWizard@users.noreply.github.com> Date: Sun Jun 28 23:47:33 2020 +0200 Add workman layout in JJ50 default keymap (#9574) commit 092849622017fcd32c1b3e4708030b1cf2fd6ade Author: Guillaume Gérard <1322081+GreatWizard@users.noreply.github.com> Date: Sun Jun 28 19:45:16 2020 +0200 [Keyboard] Refactor JJ50 keyboard mapping to current standard (#9415) commit a8904d47b745518e9bbab8f20f05828d77f7f42d Author: Ramon Imbao Date: Mon Jun 29 00:12:35 2020 +0800 Add GHS.RAR keyboard (#9561) Co-authored-by: Ryan commit 32a47e7af4a2ce21260aadde5bf7ed8f78293ff9 Author: Ramon Imbao Date: Sun Jun 28 23:22:11 2020 +0800 Add Herringbone keyboard (#9495) Co-authored-by: Ryan Co-authored-by: Erovia commit b27c20d2041a3569f126e7901b9a926c0169fbc6 Author: Miles Goodhew Date: Mon Jun 29 00:38:41 2020 +1000 Added DFU instructions for XD004 board (#9565) commit b87895dc1246065ac05487d5715fab0e734fc5bd Author: Ramon Imbao Date: Sun Jun 28 22:09:14 2020 +0800 Move Wete to ramonimbao folder (#9569) * [Breaking] Move Wete to ramonimbao folder * Delete files * Move files with git instead * Update readme with new directory commit 2344b6865a26298fe8e1bc0c5ea2a6082271ebff Author: Ryan Date: Sun Jun 28 22:21:37 2020 +1000 Fix siemens_tastatur info.json (#9568) commit 3d45861216b59490a88264188abeb33a84185766 Author: Ryan Date: Sun Jun 28 21:51:48 2020 +1000 Fix ordering for new info.jsons (#9567) commit e184da91a662b01eb824329087156bd2507bfad6 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Jun 28 20:27:06 2020 +0900 [Update] Japanese translation of docs/cli.md and docs/cli_commands.md (#9536) * update docs/ja/cli.md * update docs/ja/cli_commands.md * Update docs/ja/cli.md Co-authored-by: shela * update docs/ja/cli_commands.md Co-authored-by: shela commit d36d5ecfad3ea32c11fbf4a251cea7e25caafc28 Author: James Smith <37446827+Klackygears@users.noreply.github.com> Date: Sun Jun 28 07:07:57 2020 -0400 Klackygears add user and handwired brain (#9154) Co-authored-by: Ryan Co-authored-by: Erovia commit 7baeaae9bb92b9501d4bb73149bbed28ad25446b Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Sun Jun 28 11:04:47 2020 +0000 Trinity XT tkl - New Keyboard (#9483) Co-authored-by: Ryan Co-authored-by: Erovia commit c85e010d45616e119b8a2cfe97760384f661755e Author: Ryan Date: Sun Jun 28 20:56:50 2020 +1000 Add missing info.jsons for a few boards (#9549) commit 097df6afdbacf70ee10d84639b3975e6fc0b37ec Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sun Jun 28 12:02:43 2020 +0900 [Docs] Japanese translation of docs/documentation_templates.md (#9523) * add documentation_templates.md translation * update based on comment * update based on comment commit 6574ac52ad93bdd010c323c444f26b951c9227c3 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sun Jun 28 12:00:55 2020 +0900 [Docs] Japanese translation of docs/documentation_best_practices.md (#9522) * add documentation_best_practices.md translation * update based on comment * update based on comment commit 751a1789b59546728c0987d9259b4189cd9f6fe2 Author: myoung34 Date: Sat Jun 27 14:36:08 2020 -0500 Add JD40 keymap for myoung34 (#9545) Co-authored-by: Ryan commit ac7b1d0bf30395f9564a2e64b38ebae63b87b9b8 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Sun Jun 28 04:33:02 2020 +0900 [Update]JISplite89 Readme and LED nums (#9554) 1.Update the URL and photos in the build guide. 2.Changed the number of LEDs. commit 7369e195c21588e00ed5c4d970f1170bab39ae00 Author: jotix <47826561+jotix@users.noreply.github.com> Date: Fri Jun 26 18:04:09 2020 -0300 tap toggle to lower layer (#9542) commit 30f4b4d76349a61173f3eda87c57a3cde1c92aab Author: Pablo Ovelleiro Corral Date: Fri Jun 26 13:19:19 2020 +0200 [Keymap] pinpox keymap for dz60 (#9494) * pinpox keymap for dz60 * Update keyboards/dz60/keymaps/pinpox/rules.mk * Update keyboards/dz60/keymaps/pinpox/keymap.c * Update keyboards/dz60/keymaps/pinpox/rules.mk commit 9236c3a9d026d556ba762c5a631d1f15bc1c20a0 Author: Adam DeHaven Date: Fri Jun 26 06:17:31 2020 -0400 [Keymap] Adding custom keymaps (#9426) * Adding custom keymaps * Update keyboards/kbdfans/kbd75/keymaps/adamdehaven/keymap.c commit c2dd19de514eda3cf00cecdee76b21cfd0d6e2e6 Author: Ryan Date: Fri Jun 26 07:11:39 2020 +1000 Fix error_log complaint about Helix boards (#9528) commit 6d88794960df06059dfa5805b99e271e14270cf2 Author: TerryMathews Date: Thu Jun 25 17:02:27 2020 -0400 M0lly: add support for VIA (#9535) Co-authored-by: Ryan commit 7a710fb426024d2b4591de3c375da54bb78ae363 Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Thu Jun 25 02:09:06 2020 -0400 [Keyboard] adding Rewind keyboard (#9497) * adding rewind * keymap cleanup * keymap cleanup * improve keymap * improved keymap * reduntant * deletions * typos * readme img size and default bootloader commit c8b35b62307072072ee0ad8cbf162a09b9c74a64 Author: jotix <47826561+jotix@users.noreply.github.com> Date: Thu Jun 25 03:08:24 2020 -0300 Jotanck (#9531) * add_adjust_layer * add_adjust_layer commit 995464cb9ca587de53537aee718ff300cf69fac8 Author: shela Date: Thu Jun 25 14:58:36 2020 +0900 [Docs] fix file path (#9540) commit 45c73b13e1c422c11cb4a97d8b81b42b84f2eb53 Author: Xyverz Date: Wed Jun 24 22:57:51 2020 -0700 Minor keymap fix (#9534) Changed bottom-right keys in WOW and DESTINY layers from KC_ENT to KC_RCTL. commit 9b85bd68a45026fb796806342b47ac0176ab6510 Author: Guillaume Gérard <1322081+GreatWizard@users.noreply.github.com> Date: Thu Jun 25 07:52:40 2020 +0200 feat: add dvorak-fr as extra keymap (#9512) commit ce91b36c5dd75a7e09700a2362adeb04021582c4 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Jun 25 14:22:17 2020 +0900 [Update] Japanese Translation of docs/feature_layers.md (#9537) * update docs/ja/feature_layers.md see https://github.com/qmk/qmk_firmware/pull/9492 * update original document's TAG commit 2521b970e5494380ccbdda922ea3f521e76ad01c Author: jotix <47826561+jotix@users.noreply.github.com> Date: Wed Jun 24 20:27:25 2020 -0300 add_adjust_layer (#9532) commit 598c392709141a8d9bff1d8ab12fd50ef4f478ae Author: Rozakiin <6567067+Rozakiin@users.noreply.github.com> Date: Wed Jun 24 19:34:55 2020 +0100 Add VIA support to Noxary 268 (#9449) * Remove "rev1" from readme.md * Update rules.mk to enable bootmagic, mousekeys, console, command Also disable NKRO * Update USB descriptor, replace ifndef with pragma once, remove RGB * Replace ifndef with pragma once * Add commented led code * Add VIA keymap * Update keyboards/noxary/268/268.c Remove commented code * Update keyboards/noxary/268/keymaps/via/readme.md Flip layout image and title * Update keyboards/noxary/268/rules.mk Remove error in comment * Update keyboards/noxary/268/rules.mk Remove HD44780 rule option * Update keyboards/noxary/268/keymaps/via/rules.mk Replace Link_Time_Optimization with LTO * Update keyboards/noxary/268/readme.md Change Noxary link commit 4d218566ccec5b7b9499a351f3acc5442f9f2c6a Author: Pierre Chevalier Date: Wed Jun 24 10:42:20 2020 +0100 [Keymap] Add pierrec83's gherkin keymap (#9465) * [Keymap] Add pierrec83's gherkin keymap Contribute my gherkin keymap upstream as it is semi-stable. It has grown in symbiosis with my Kyria keymap which is already upstream. Add a readme * Remove generated keymap and instructions to generate it as it is done by qmk flash commit a4b2baa2bac2b9cfadd0bcfb78af2a189e36a1ae Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Wed Jun 24 18:10:52 2020 +0900 [Update] Japanese translation of docs/newbs_building_firmware_configurator.md (#9395) * update docs/ja/newbs_building_firmware_configurator.md Following the original changes, docs/ja/newbs_building_firmware_configurator.md was divided into docs/ja/configurator_step_by_step.md and docs/ja/configurator_troubleshooting.md. * Update docs/ja/configurator_step_by_step.md Co-authored-by: shela * Update docs/ja/configurator_step_by_step.md Co-authored-by: shela * Update docs/ja/configurator_step_by_step.md Co-authored-by: shela * Update docs/ja/configurator_step_by_step.md Co-authored-by: shela * Update docs/ja/configurator_step_by_step.md Co-authored-by: shela * Update docs/ja/configurator_troubleshooting.md Co-authored-by: shela * Update docs/ja/configurator_troubleshooting.md Co-authored-by: shela * Update docs/ja/configurator_step_by_step.md Co-authored-by: shela * Update docs/ja/configurator_step_by_step.md Co-authored-by: shela * Update docs/ja/configurator_step_by_step.md Co-authored-by: shela * Update docs/ja/configurator_troubleshooting.md Co-authored-by: shela * Update docs/ja/newbs_building_firmware_configurator.md Co-authored-by: shela * Update docs/ja/configurator_troubleshooting.md Co-authored-by: shela * Update docs/ja/newbs_building_firmware_configurator.md Co-authored-by: shela * Update docs/ja/configurator_step_by_step.md Co-authored-by: shela Co-authored-by: shela commit 4b80ee46f80360f9f14ff8a88f3f610d0cf74544 Author: Joshua Diamond Date: Wed Jun 24 01:35:43 2020 -0400 Add Hebrew keymap aliases (#9383) * Add Hebrew keymap aliases * Use NBSP for internal space in box drawings * Apply suggestions from code review * More whitespace fixes * IL_DVAV, IL_DYOD and IL_VYOD were incorrect * Add IL_DEG, IL_MUL, IL_DIV * Hebrew is now ISO (no more BAE) * Use ISO left shift * Apply suggestions from code review * DYOD and VYOD were reversed in diagram. Oops! commit 9b398a8f31e31cd8aed60a2d90ada306213f70f5 Author: Joshua Diamond Date: Tue Jun 23 22:02:12 2020 -0400 Partial and window screenshots (#9332) commit c30170b868f50e74e52067ea78b184b7ee875be5 Author: 4pplet Date: Wed Jun 24 03:13:21 2020 +0200 [Keyboard] added 4pplet keyboards (#8935) * added 4pplet keyboards added 4pplet keyboards * Update keyboards/4pplet/aekiso60_rev_a/aekiso60_rev_a.h * Update keyboards/4pplet/aekiso60_rev_a/config.h * Update keyboards/4pplet/aekiso60_rev_a/config.h * Update keyboards/4pplet/waffling60_rev_a/config.h * Update keyboards/4pplet/aekiso60_rev_a/rules.mk * Update keyboards/4pplet/aekiso60_rev_a/rules.mk * Update keyboards/4pplet/waffling60_rev_a/rules.mk * Update keyboards/4pplet/waffling60_rev_a/rules.mk * Update keyboards/4pplet/steezy60_rev_a/config.h * Delete info.json * Delete info.json * Delete info.json * removed VIA_ENABLE * Update config.h * Update rules.mk * Update steezy60_rev_a.h * Update config.h * Removed VIA_ENABLE * Update keyboards/4pplet/steezy60_rev_a/rules.mk * Removed VIA_ENABLE * Update config.h * Update config.h * Update config.h * adding fauxpark suggestion * Update keyboards/4pplet/aekiso60_rev_a/config.h * Update keyboards/4pplet/aekiso60_rev_a/rules.mk * some updates recommended by noroadsleft, still work in progress some updates recommended by noroadsleft, still work in progress * made directorys for revisions per noroadsleft suggestion made directorys for revisions per noroadsleft suggestion * renamed keyboard_pre_init_user to keyboard_pre_init_kb * Update keyboards/4pplet/aekiso60/rev_a/config.h * Update keyboards/4pplet/waffling60/rev_a/rev_a.c * Update keyboards/4pplet/waffling60/rev_a/rev_a.c * started working on refactoring led function for waffling60 * removed LED functionality * Update keyboards/wilba_tech/zeal60/rules.mk * Update keyboards/wilba_tech/zeal60/rules.mk * Update keyboards/4pplet/waffling60/rev_a/rules.mk * Update keyboards/4pplet/steezy60/rev_a/rules.mk * Update keyboards/4pplet/aekiso60/keymaps/via/keymap.c * Update keyboards/4pplet/aekiso60/rev_a/rules.mk commit 39b483ad32150dad0ffda37e1b47479dcd162995 Author: Ryan Date: Wed Jun 24 07:36:54 2020 +1000 Fix maja info.json (#9511) commit 88ebf921847e2bf744ff035d8091ad6826d59a1f Author: Ryan Date: Wed Jun 24 03:25:20 2020 +1000 Fix info.json for Suihankey (#9490) commit 8d792cfb5fe671cd35f22c319d1f5b4948f0271b Author: -k Date: Tue Jun 23 03:28:54 2020 -0700 [Keymap] Add personal keymap for Planck (#9424) * Create readme.md * Add personal keymap * Edit readme * Reorganize layouts * Update config.h * Edit beep settings * Apply suggestions from code review * More suggestions from code review commit bd1b51cbd106518882341fdde1c1e7d941840911 Author: Keebz Dot Net <64744703+keebzdotnet@users.noreply.github.com> Date: Tue Jun 23 02:07:15 2020 -0700 Wazowski fixed keymap placement (#9408) - online configurator keys were in the wrong location and needed to be fixed - fixed a key being to high on the y position commit 3028662fa3b86be55e13875e82ec81969fca03be Author: Danny Date: Tue Jun 23 05:05:44 2020 -0400 [Keyboard] Add KBO-5000 keyboard (#9381) * Initial fork of Sinc * Setup keymaps, layouts, and encoders * Add ANSI configurator layout * Add ISO layout for configurator * Add all layout option for configurator * Fix spacing * Remove extra line * Remove unneeded ifdef commit aea2d6845a99973d7a1663382bcc7a0d0e6067e0 Author: Ryan Date: Tue Jun 23 18:40:00 2020 +1000 Fix error_log complaint about Big Series boards (#9510) commit a502ce43c3073325f7273e400f5524a3e8a61cdc Author: moyi4681 Date: Tue Jun 23 16:32:45 2020 +0800 create maja info json (#9472) commit b0e30862d6d9d0d748ee9861e5751d5e9a885bfb Author: Stefano Date: Tue Jun 23 10:28:05 2020 +0200 bm43a stevexyz keymap (#9468) Co-authored-by: Joel Challis Co-authored-by: steve commit 146873fd8e6f3ca08ba1c0a283f70cb2e72c0c83 Author: Brandon Schlack Date: Tue Jun 23 01:27:34 2020 -0700 Add more community layout support to Discipline (#8540) commit b3b617633c0df8e38145d6efb8d64cc4760559ef Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Jun 23 16:42:01 2020 +0900 [Docs] Japanese translation of docs/feature_layers.md (#9252) * add feature_layers.md translation * update based on comment * update based on comment * update based on comment commit 9ae8a451978dac09365a95f1e0173166fca3d096 Author: shela Date: Tue Jun 23 16:24:23 2020 +0900 fixed the layer limit of LT() (#9492) commit a8bb5840ad3e093b82e5c08fd594ab35c554a876 Author: Rozakiin <6567067+Rozakiin@users.noreply.github.com> Date: Tue Jun 23 07:24:33 2020 +0100 Update VIA support for Noxary 268.2 (#9451) * Update readme.md description * Enable bootmagic lite * Update USB descriptor * Add modern led code * Update default keymap for readability * Update default keymap readme with layout image * Add VIA keymap * Update keyboards/noxary/268_2/keymaps/default/readme.md Flip order of layout image and title * Update keyboards/noxary/268_2/keymaps/via/readme.md Flip order of layout image and title * Update keyboards/noxary/268_2/readme.md bullet point keyboard maintainer * Update keyboards/noxary/268_2/readme.md Change list style commit d353fcb99cfe345cde29cb7dc94cceaab82c610b Author: Rozakiin <6567067+Rozakiin@users.noreply.github.com> Date: Tue Jun 23 07:08:36 2020 +0100 Add VIA support to Noxary x268 (#9450) * Update USB descriptors * Update default keymap for readability * Update readme description * Update rules.mk build options, enable bootmagic and mousekey * Add commented modern led code * Add VIA keymap * Update default keymap readme.md layout image * Update keyboards/noxary/x268/rules.mk remove incorrect comment * Update keyboards/noxary/x268/x268.c remove commented setPinOutput(B1) * Update keyboards/noxary/x268/keymaps/default/readme.md Flip order of layout image and title * Update keyboards/noxary/x268/keymaps/via/readme.md Flip order of layout image and title * Update LED function to led_update_kb() commit f0bde7906d35c1955a39251659e80d41caccbc54 Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Tue Jun 23 15:30:05 2020 +1000 Update miryoku (#9442) - Add mouse buttons overlay layer - Change button order - Remove crkbd hardware specifics - Add alternative base layer alphas - Change title - Add logo - Reword intro text - Add dev branch and new commits links - Replace manual toc and remove anchors - Unindent lists - Reduce headings - Update docs - Build keymap as object instead of including .c file - Add kle subset mapping images - Add alternative mapping support - Change default mapping for ortho_4x12 - Add split mapping for ortho_4x12 - Add contact section - Add #pragma once to layout and keyboard config.h commit 24b0cda3e877c28c53c1aca02ef6e0eaa66fad91 Author: Josh Hinnebusch Date: Mon Jun 22 15:25:56 2020 -0400 [Keyboard] add h60 PCB (#9242) * add h60 initial files * add h60 image * updated per PR request * Update keyboards/hineybush/h60/keymaps/default/keymap.c * Update keyboards/hineybush/h60/keymaps/kei/keymap.c * Update keyboards/hineybush/h60/keymaps/via/keymap.c * Update keyboards/hineybush/h60/h60.h * Update keyboards/hineybush/h60/h60.h * Update keyboards/hineybush/h60/rules.mk commit 1ab8f969f6a8a804241a64a8df40c49daab409a7 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Jun 22 20:24:33 2020 +0900 [Update] Japanese Translation of docs/faq_build.md (#9458) * update docs/ja/faq_build.md * update docs/ja/faq_build.md to 0.9.10 * Update docs/ja/faq_build.md Co-authored-by: shela Co-authored-by: shela commit 58af0305f57baa83d7233ff5eee1930396989fca Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Jun 22 20:13:01 2020 +0900 [Update] Japanese translation of newbs.md (#9388) * update docs/ja/newbs.md * Update docs/ja/newbs.md Co-authored-by: shela * Update docs/ja/newbs.md Co-authored-by: shela * Update docs/ja/newbs.md Co-authored-by: shela Co-authored-by: shela commit c7cc20918b0048184d489d691ba60ce9316c15bb Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Jun 22 20:11:49 2020 +0900 [Docs] Japanese translation of docs/feature_userspace.md (#9253) * add feature_userspace.md translation * update based on comment commit 924573ece24589869831b7450468971c4dbe980a Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Jun 22 20:08:26 2020 +0900 [Docs] Japanese translation of docs/feature_macros.md (#9137) * add feature_macros.md translation * update based on comment * update based on comment commit 5f06fce2c5c003cae0cba88c5f152fbff4e072f6 Author: Ryan Date: Mon Jun 22 18:49:47 2020 +1000 Fix info.json for Uni660 (#9489) commit 4b13c4957844dfeca3c72c3c8782708081fc22ed Author: LucW Date: Mon Jun 22 16:45:47 2020 +0800 user keymaps for ergodox_ez/dvorak_42_key / atreus/dvorak_42_key (#9429) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 98642ca02878741531105bd879c0d61110198b62 Author: Drashna Jaelre Date: Mon Jun 22 01:38:58 2020 -0700 Improve keycode handling for RGB (#7677) Co-authored-by: drashna Co-authored-by: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 82dc8faaf30a6b77ec715852c3841fde087b6b07 Author: AlexOConnorHub <43659595+AlexOConnorHub@users.noreply.github.com> Date: Mon Jun 22 03:43:08 2020 -0400 Fixing MIDI for ARM without NKRO enabled (#9466) commit 0b09189087c580bc8d3aa2bd529a08c7633d3e2b Author: Paul Ewers Date: Sun Jun 21 23:11:10 2020 -0700 [Keymap] New custom 'super alt' keymap for the Drop ALT (#9385) * New custom 'super alt' keymap for the Drop ALT * Improvements to 'super alt' keymap based on PR feedback * Fix flickering LED caps lock bug * Code cleanup from PR feedback * Minor keymap layout cleanup commit 3d6d89966614be1e80d9957fb83743934c5eb162 Author: Nick Brassel Date: Mon Jun 22 11:21:48 2020 +1000 `qmk cformat` (#9500) commit cb13dd0a33c153d8cb0a26596489804c012eaae4 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Jun 21 15:47:41 2020 -0700 Enable NKRO on 1up's boards (#9434) * enable NKRO and keep consistent with bootmagic set to lite * Update keyboards/1upkeyboards/1up60hse/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit af4bc251f9d4032abf12d0377b5e948701e82713 Author: Gregorio <38576492+ohchiko@users.noreply.github.com> Date: Mon Jun 22 04:59:43 2020 +0700 Updates on Mixi default keymaps and fixes on configuration (#9467) commit e79fb2c26e62b8820c8bdf7e142a605ccefe24ad Author: shela Date: Mon Jun 22 04:03:35 2020 +0900 [Docs] fix indentation (#9491) commit 3e0f8f9c8bada31c014c09a61b0c7d21e5614329 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Jun 21 21:56:06 2020 +0900 update docs/ja/feature_bootmagic.md (#9459) commit b0a31f0bf3347fa7c6342a369c50c1b1fc7321ca Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Jun 21 21:49:43 2020 +0900 update ja/hardware_keyboard_guidelines.md (#9457) commit a91034b802bd91ec4aa9db963adbd0d2deb2f40b Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Jun 21 21:45:27 2020 +0900 [Update] Change Original TAGs of Japanese translations (#9453) * The TAGs of the original document has been updated to facilitate future verification. * docs/ja/driver_installation_zadig.md * docs/ja/feature_audio.md * docs/ja/feature_auto_shift.md * docs/ja/feature_bluetooth.md * docs/ja/hardware_avr.md * docs/ja/hardware_drivers.md * docs/ja/getting_started_make_guide.md * The TAG of the original document has been updated to facilitate future verification. * The TAG of the original document has been updated to facilitate future verification. * update docs/ja/feature_tap_dance.md commit 2f85f6fbffaf6a7a2b747c7d6064fb86a21d91f6 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Jun 21 20:17:16 2020 +0900 [Docs] Japanese translation of breaking_changes*.md (#8576) * add japanese translation 'docs/ja/breaking_changes.md' Note: this is cherry-pick from umi-umi's translation in PR #7248 * update ja/breaking_changes.md * update ja/breaking_changes.md, add ja/breaking_changes_instructions.md * translating ja/breaking_changes_instructions.md * translating ja/breaking_changes_instructions.md * translated ja/breaking_changes_instructions.md * update ja/breaking_changes.md, ja/breaking_changes_instructions.md Breaking change の訳語を「破壊的な変更」から「互換性を破る変更」に変更。 ただし、文中の用語としては、Breaking change をそのまま使用するむねドキュメントの導入部で 訳注でしめし、文中では、原語のまま使用する。 * update docs/ja/_summary.md * Update docs/ja/breaking_changes.md Co-Authored-By: shela * Update docs/ja/breaking_changes.md Co-Authored-By: shela * Update docs/ja/breaking_changes.md Co-Authored-By: shela * Update docs/ja/breaking_changes.md Co-Authored-By: shela * Update docs/ja/breaking_changes.md Co-Authored-By: shela * Update docs/ja/breaking_changes.md Co-Authored-By: shela * Update docs/ja/breaking_changes.md * update docs/ja/breaking_changes.md * update docs/ja/breaking_changes.md * update docs/ja/breaking_changes.md * update docs/ja/breaking_changes.md * update docs/ja/breaking_changes.md * Update docs/ja/breaking_changes_instructions.md Co-Authored-By: shela * Update docs/ja/breaking_changes_instructions.md Co-Authored-By: shela * update docs/ja/breaking_changes.md * Update docs/ja/breaking_changes_instructions.md Co-Authored-By: shela * Update docs/ja/breaking_changes_instructions.md * Update docs/ja/breaking_changes_instructions.md Co-Authored-By: shela * update docs/ja/breaking_changes_instructions.md * update docs/ja/breaking_changes_instructions.md * The base of the translation of docs/ja/breaking_changes_instructions.md was changed to 0.9.0. * The base of the translation of docs/ja/breaking_changes.md was changed to 0.9.0. * Update docs/ja/breaking_changes.md Co-authored-by: s-show * update docs/ja/breaking_changes.md * Update docs/ja/breaking_changes_instructions.md Co-authored-by: shela * update docs/ja/breaking_changes.md * update docs/ja/breaking_changes.md Co-authored-by: umi-umi <57262844+umi-umi@users.noreply.github.com> Co-authored-by: shela Co-authored-by: s-show commit 32340e14fb8491b9e381b1b5d971a2ee946ded72 Author: Ryan Date: Sun Jun 21 19:54:53 2020 +1000 Update newbs MSYS2 pacman instructions (#9445) commit b7da69ec85c5f3e3981dd4590c52139a1539bc17 Author: AlexOConnorHub <43659595+AlexOConnorHub@users.noreply.github.com> Date: Sun Jun 21 03:10:01 2020 -0400 Adding information to feature_encoders.md (#9486) Co-authored-by: Ryan commit f36112e957e6ce815563766d86f8bbcc278b3f78 Author: cole smith <38364556+daysgobye@users.noreply.github.com> Date: Sat Jun 20 15:13:43 2020 -0700 added keyboard 5x12 to boardsource folder (#9438) * added keyboard 5x12 to boardsource folder * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Ryan commit 30cdf9331a0a5b78ddc9d0aff45ff1168de97ae8 Author: Drashna Jaelre Date: Sat Jun 20 15:07:26 2020 -0700 Change `led` variable in rgb_matrix_drivers to avoid conflicts (#9412) * Change `led` to `led_matrix` in rgb_matrix_drivers Is a minor change that only affects the driver file. However, this will allow somebody to run rgblight along side rgb matrix using the ws2812 driver, as well. Specifically, so you can use the custom driver for rgblight to set a different pin (barring a change to the `ws2812_setleds` function). Courtesy of discord conversion: https://discordapp.com/channels/440868230475677696/568161140534935572/721555623191248906 * Change name to be super specific * Update rgb_matrix_drivers.c commit 8252f378d9b453b0078699363543be501c9b81d8 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Sat Jun 20 17:57:33 2020 -0400 Add velocikey to alice keymap (#9476) commit d7f9e6fcf1e13d77298cb1f5169cea240709c163 Author: siano Date: Sat Jun 20 23:47:09 2020 +0200 Added missing RGB controls on layer 1. (#9481) commit 5c07363054c02d09754a32ff4005c9535eeb6ec8 Author: Joshua Diamond Date: Sat Jun 20 17:39:45 2020 -0400 spidey3 userspace: GUI F-Key lock was affecting some non-F-keys (#9469) commit b6e9ef8dd1f2d9e7f0ea82b60e823bf25f5164b6 Author: Joel Challis Date: Sat Jun 20 22:19:56 2020 +0100 CI: Run 'qmk info' on keyboard changes (#9212) commit e58ab6d326f7d99e9b518ae3b3a9da5045104d63 Author: Thorsten Date: Sat Jun 20 23:03:06 2020 +0200 update shell.nix (#8910) * now uses gcc 8.4 * fixes building boards with adafruit feather (in my case pancake) commit 02781979d6af096e8adb6bb02af7639b73c8f267 Author: Konstantin Đorđević Date: Sat Jun 20 22:58:48 2020 +0200 [Docs] Improve Unicode documentation (#8676) commit 69b484600f672ef9b1368c121512d579f9b7fc98 Author: Ryan Date: Sun Jun 21 06:51:50 2020 +1000 Remove more useless code (#9475) commit de79d55187be24e714e1351810fa81ecad35474e Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Jun 20 13:47:50 2020 -0700 New Keyboard: E8.5 TKL (#9447) Co-authored-by: Ryan commit 580cb2c1dfc4b5b00744a1a6f39107d6e91e1159 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Jun 20 21:02:16 2020 +0900 [Update] Files with Japanese translations related to #8822 (#9455) * The TAG of the original document has been updated to facilitate future verification. * The TAG of the original document has been updated to facilitate future verification. * The TAG of the original document has been updated to facilitate future verification. commit d9eae3ef033d3adce7da1ba3d57cc9480659deb0 Author: MelGeek <65591833+melgeek001365@users.noreply.github.com> Date: Sat Jun 20 12:49:15 2020 +0800 Support IS31FL3741 and IS31FL3741A. (#9201) commit 05e6cc265509af3286ab0e695839e311acc58b55 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jun 19 20:45:25 2020 -0700 Enable Mousekeys for Keebio Quefrency rev1 (#9478) commit 8b572de5236589ea91e2f0cce218298e67b9f5ee Author: QMK Bot Date: Sat Jun 20 03:37:04 2020 +0000 format code according to conventions [skip ci] commit 18e561b82cdb71bed0162b3ce4083a2d269e5336 Author: Joshua Diamond Date: Fri Jun 19 22:59:28 2020 -0400 Fix incorrect delay when setting WS2812 (and similar) leds (#9302) * Fix incorrect delay when setting WS2812 (and similar) leds * Add documentation for WS2812_DELAY_MICROSECONDS * Remove improper cast to uint8_t Co-authored-by: Sergey Vlasov * Remove unneeded cast to uint8_t and correct math Co-authored-by: Sergey Vlasov * microseconds -> µs Co-authored-by: Ryan * Make documentation better match the spec sheet. Co-authored-by: Ryan * Rename macro to match spec sheet * Further correction to the delay maths for the SPI case. Co-authored-by: Joel Challis * Move ws2812_common.h to the drivers directory * Revert "Further correction to the delay maths for the SPI case." This reverts commit e61b56a2cfc7dfec9992a7a3af92afa50e5b8ec0. * Remove ws2812_setleds_pin(); consolidate ws2812.h Co-authored-by: Sergey Vlasov Co-authored-by: Ryan Co-authored-by: Joel Challis commit c7851484457e5ab604962ae7c914b863b8de0cb2 Author: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Fri Jun 19 22:35:32 2020 +0000 STM32 WS2812 Open Drain Configuration (#9414) * update docs stm32 only and applies to all 3 driver * cformat commit b43bdc1c69bb5a57976a159bfc00c4ac1c7c7f8f Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Fri Jun 19 18:27:27 2020 -0400 rebound rev4, consolodated switch matrix from 5x12 to 7x8 (#9314) commit 5a5ecd7dd9729280ef72c5133c4007ef15c3f300 Author: Ryan Date: Fri Jun 19 15:51:50 2020 +1000 Remove rules.mk for gboards/engine and gboards/g (#9444) commit 60be8d9f245c03db60e6297e357fec516b31bc62 Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Thu Jun 18 23:31:51 2020 -0400 [Keyboard] GameBuddy macropad (#9391) * GameBuddy macropad * Update config.h * Update keyboards/clawsome/gamebuddy/config.h * Update keyboards/clawsome/gamebuddy/readme.md * Update keyboards/clawsome/gamebuddy/readme.md * Update keyboards/clawsome/gamebuddy/readme.md * Update readme.md * Update keyboards/clawsome/gamebuddy/rules.mk * Update keyboards/clawsome/gamebuddy/readme.md commit 3f85e90126c37c5ee79be52ae5d764271d4a7734 Author: Ryan Date: Fri Jun 19 13:16:57 2020 +1000 Fix Eon87 info.json (#9460) * Fix Eon87 info.json * Adjust bottom row sizes commit 3eefe31a54df07f5624f49632d986dff9725afe4 Author: Niclas Date: Fri Jun 19 01:32:27 2020 +0000 Keymap: Add custom keymap for Planck (#9417) * Keymap: Add custom keymap for Planck * Fixup buffet's planck keymap commit 7be65f2cd04c90ee5146139509762baa3f286520 Author: Rozakiin <6567067+Rozakiin@users.noreply.github.com> Date: Thu Jun 18 21:14:09 2020 +0100 Add VIA support to Noxary 220 and Update Noxary 280 for readability (#9348) * Update noxary 220 readme.md * Update Noxary 280 readme.md add heading and spelling * Update spelling of Noxary 280 keymap copyright * Update Noxary 280 config.h change product ID and product name, remove commented code * Change MCU name and disable Mousekey * Update Noxary 220 config.h Change vendor ID, Product ID, Product name and desc, remove commented code * Update 220.h change LAYOUT_ortho_6x4 to LAYOUT, change copyrght to Rozakiin * Change LED indicator function update copyright to Rozakiin * Add via keymap * Update Noxary 220 default keymap for readability and numpad codes * Update all Noxary 220 readme.md to conform to QMK templates * Update Noxary 280 readme.md to conform to QMK template * Disable console and command, and enable link time optimisation for VIA * Update Noxary 280 keymaps for better readability * Update keyboards/noxary/220/keymaps/default/keymap.c * Update keyboards/noxary/220/220.h * Update keyboards/noxary/220/keymaps/default/keymap.c * Update keyboards/noxary/220/keymaps/default/keymap.c * Update keyboards/noxary/220/keymaps/via/rules.mk * Update keyboards/noxary/280/keymaps/default/keymap.c * Update keyboards/noxary/280/keymaps/via/rules.mk * Update keyboards/noxary/220/rules.mk * Update keyboards/noxary/280/keymaps/via/keymap.c * Update keyboards/noxary/220/keymaps/default/keymap.c * Update keyboards/noxary/220/keymaps/default/keymap.c * Update keyboards/noxary/220/keymaps/via/keymap.c * Update keyboards/noxary/220/keymaps/via/keymap.c * Update keyboards/noxary/220/keymaps/via/keymap.c * Update keyboards/noxary/220/keymaps/via/keymap.c * Update keyboards/noxary/220/keymaps/via/keymap.c * Update keyboards/noxary/280/config.h * Update keyboards/noxary/220/rules.mk * Update keyboards/noxary/220/config.h * Update keyboards/noxary/280/readme.md Change layout links to ones with background removed commit 016b4be7515797e28b586fca731c092814339f7d Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Fri Jun 19 04:53:16 2020 +0900 Update docs/ja/feature_backlight.md: apply #9043's change (#9454) commit db80209e697770cca0ba44e437efa548247b387f Author: Ryan Date: Fri Jun 19 04:37:47 2020 +1000 Parse version better in `qmk doctor` GCC version checks (#9324) commit 716924de3e07eb4a6f39a9c8da9ba0fc64c7f796 Author: Brad Arnett Date: Thu Jun 18 03:01:22 2020 -0700 [Keyboard] Added ymdk split64 based on walston's work (#9183) * Added ymdk split64 based on walson's work * Commented out features on walston's keymap as it was too big to compile * Update keyboards/ymdk_sp64/config.h * Update keyboards/ymdk_sp64/keymaps/daed/keymap.c * Update keyboards/ymdk_sp64/matrix.c * Update keyboards/ymdk_sp64/matrix.c * Update keyboards/ymdk_sp64/matrix.c * keymap changes * Update keyboards/ymdk_sp64/matrix.c * Update keyboards/ymdk_sp64/matrix.c * Update keyboards/ymdk_sp64/rules.mk * Update keyboards/ymdk_sp64/config.h * Update keyboards/ymdk_sp64/config.h * Update keyboards/ymdk_sp64/readme.md * Update keyboards/ymdk_sp64/rules.mk * Update keyboards/ymdk_sp64/config.h * Update keyboards/ymdk_sp64/rules.mk * Update keyboards/ymdk_sp64/ymdk_sp64.c * Update keyboards/ymdk_sp64/keymaps/walston/rules.mk * Update keyboards/ymdk_sp64/readme.md * Made requested changes and moved keyboard under ymdk directory * Update keyboards/ymdk/ymdk_sp64/keymaps/walston/keymap.c * Update keyboards/ymdk/ymdk_sp64/config.h * Update keyboards/ymdk/ymdk_sp64/config.h * Update keyboards/ymdk/ymdk_sp64/keymaps/default/keymap.c * Update keyboards/ymdk/ymdk_sp64/keymaps/default/keymap.c * updated changes for pr 9183 * updated changes for pr 9183 * updated changes for pr 9183 * Removed redundant "QMK_KEYBOARD_H" include commit d88dca3ca79d908c34fb5bf4af40c52b4cfce7f8 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jun 18 00:15:22 2020 -0700 YMD75: move MCU/Bootloader rules to revision level (#9452) Work-around for an issue with QMK Configurator's API. commit 9c1097e768aed90e4c56a3a18f6c1cc9cac52391 Author: Joshua Diamond Date: Thu Jun 18 03:07:48 2020 -0400 Fix for One Shot Layer not being cleaned up after some actions (#8832) commit f7eb030e917a8fa360ad7cc7bb26d804cf4c5f6c Author: Jason Laqua Date: Thu Jun 18 02:07:34 2020 -0500 Standardize how unicode is processed (fixes #8768) (#8770) Co-authored-by: Konstantin Đorđević commit aae1814319c4992471d074ed18b8b7b4842b0a66 Author: Yasha Mostofi Date: Thu Jun 18 02:06:11 2020 -0500 [Keyboard] Add Via support for Let's Split v2 (#9448) * initial let's split with rgb * Revert default * Add Via keymap * Remove my keymap * Remove trailing slashes commit 78fdd406227f55f8bb2a1891e7fdbcb4b3daf13b Author: Dan Date: Thu Jun 18 01:20:45 2020 -0400 [Keymap] Dcompact for iris (#9406) Co-authored-by: Dan Herrera Co-authored-by: Ryan commit 43b6f031b184432eba647f04bc69ced72ee2dd08 Author: Pierre Chevalier Date: Thu Jun 18 06:18:16 2020 +0100 [Keymap] Add pierrec83's Kyria keymap (#9401) commit 3e27ceee4220a56ec35d5567773cf9cda4b22842 Author: yiancar Date: Thu Jun 18 06:16:26 2020 +0100 [Keyboard] Nebula12 keyboard (#9397) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 67f374029df96bec9f5adc26e23a7d7e1139a129 Author: unicorn855 Date: Thu Jun 18 06:52:33 2020 +0200 [Keyboard] added VIA support for HotDox (#9377) * added VIA support for HotDox * Update keyboards/hotdox/keymaps/via/keymap.c Thank you drashna :) Co-authored-by: Drashna Jaelre Co-authored-by: Drashna Jaelre commit 30fd69886dcf069a4e0d2c02ce18803500fcad2e Author: Gregorio <38576492+ohchiko@users.noreply.github.com> Date: Thu Jun 18 11:39:16 2020 +0700 [Keyboard] Add Mixi (#9364) * [Keyboard] Add Mixi Co-authored-by: Ryan Co-authored-by: Ryan commit ed528403fd768e804887b957891b7a16319ae4dc Author: Maarten Dekkers Date: Thu Jun 18 06:30:34 2020 +0200 [Keyboard] Add Eon87 (#9337) Co-authored-by: Maarten Dekkers commit faae375ccd5207dabea254d4013aeff7cf8d0c10 Author: Ryan Date: Thu Jun 18 14:23:09 2020 +1000 Fix error_log complaint about Preonic layouts (#9443) commit b0fd064491b601b6e3ec56f0b68d0b2271a297b3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jun 17 20:47:52 2020 -0700 Fix Kudox Columner Configurator key ordering (#9427) commit abf466e57df57680d689701de5887f24a5075f65 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jun 17 20:47:25 2020 -0700 Add Configurator layout support for westfoxtrot/prophet (#9428) commit 157319fbd03e6f7a6618111fd03ab3e53317893e Author: KgOfHedgehogs Date: Thu Jun 18 04:17:30 2020 +0200 [Keyboard] Jian keyboard (#8914) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Nick Brassel commit 39ff121d7389fd6575e65ecb54b11bb87777ca38 Author: Dan Date: Wed Jun 17 21:53:36 2020 -0400 Implement game mode layer for dcompact on planck (#9402) commit 8018f4db2d6d2af506ba0f405b7ce0484799db02 Author: Hybrid <62749953+Hybrid2288@users.noreply.github.com> Date: Thu Jun 18 03:32:02 2020 +0200 [Keymap] new keymap for XD75 (#8675) Co-authored-by: grousselle commit 1a159a38ed127fa80762a7c1b8150ba19ac34ddf Author: Ryan Date: Thu Jun 18 10:10:35 2020 +1000 Clean up Tap Dance docs (#9372) * Clean up Tap Dance docs * Add heading IDs for translation commit a0bf235644064e6a63f4df51ae501269bbd68652 Author: Erovia Date: Wed Jun 17 23:45:53 2020 +0100 CLI: Add ATmega328 and ATtiny85 to supported CPUs (#9371) * CLI: Add ATmega328 to supported CPUs Support for ATmega328 was added in #9043. * Update lib/python/qmk/constants.py commit f420741f9bf4dd2527d93962ec2c98e4a04545c2 Author: Ryan Date: Wed Jun 17 17:30:54 2020 +1000 Fix error_log complaint about clueboard/66_hotswap/gen1 layout macro (#9400) * Fix error_log complaint about clueboard/66_hotswap/gen1 layout macro * Remove gen1 info.json in favour of higher level file * Split into revision-specific info.json commit 0b7b74f56a68bdae82e74c61de22f9eae42488d7 Author: yiancar Date: Tue Jun 16 22:02:01 2020 +0100 Nebula65 (#9368) * Initial nebula65 commit * Use PWM driver * Polishing * Remove random rgblight settings * Spelling fix * Update keyboards/nebula65/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/nebula65/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/nebula65/readme.md Co-authored-by: Ryan * Update keyboards/nebula65/readme.md Co-authored-by: Ryan * Clean includes in .h file * Update keyboards/nebula65/readme.md Co-authored-by: Drashna Jaelre * Further cleanup Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 80b2b710da1795940ec519909594bd19872346ec Author: cole smith <38364556+daysgobye@users.noreply.github.com> Date: Tue Jun 16 12:08:30 2020 -0700 added 4x12 (#9411) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 3814dacf27a11e398fe426c4b03b860137b10676 Author: MURAMATSU Atshshi Date: Tue Jun 16 13:46:12 2020 +0900 [Keymap] Add froggy keymap with 106/109 (JP) settings for helix keyboard (#8967) * initial commit for froggy 106 key mode * add mode indicator on OLED * use #pragma once instead of include guard * remove unusable codes * remove audio codes, because helix rev.2 has no audio feature * use set_single_persistent_default_layer * remove eeprom update check commit 7576f6162e662c23a174ed8730c93e22a985e7c9 Author: csc027 Date: Mon Jun 15 10:48:21 2020 +0000 [Keymap] csc027/keymap-updates (#9420) commit e8a02afc8cb2c29f522ec05bbf89a8bcd32dbe26 Author: Thomas Lim Date: Mon Jun 15 06:45:56 2020 -0400 Add VIA support to keebio/nyquist (#9399) commit 357a888d805c21c9cb4917f55d558195e8b85db5 Author: Drashna Jaelre Date: Mon Jun 15 03:41:28 2020 -0700 [Keymap] Drashna's Keymap Update - Display Edition (#9282) OLED Display fixes Add support for RGBLIGHT Layers Add gaming layer to corn and kyria RGBLight Startup Animation fixes and improvements (uses matrix_scan now!) Pimoroni Trackball support added (IT'S RGB!!!) Fix issues due to code changes commit 7f5656996ca2f5a62a148ef9165d0681ba806f07 Author: William Lindvall Date: Mon Jun 15 03:26:58 2020 -0700 [Keymap] Add "shwilliam" Preonic keymap (#9409) Co-authored-by: Ryan commit b008a9afe6f216cebe4c664d5ce59cd6bfe755c3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jun 15 03:11:19 2020 -0700 HID Liberation Device Refactor and Configurator layout support (#9394) commit d8e3294aeaf6d0b2e9400aefdd5bf2ff63d4d981 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jun 15 03:10:15 2020 -0700 [Keyboard] Fix Configurator layout data for handwired/1800fl (#9393) commit a8d073368f0e4cc51109fab50f7c9cb88d843940 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Jun 15 03:09:48 2020 -0700 [Keyboard] Fix Configurator layout data for acheron/elongate (#9392) commit 44d93285d1e5ae0fdaaaab33aa15ffab456b9434 Author: Ryan Date: Mon Jun 15 20:06:10 2020 +1000 Change ?= to = in keyboard rules.mk (#9390) commit 8e0af2f5ba1e094149ce5ce2ac4e25c462f98f23 Author: Reed Date: Mon Jun 15 05:55:00 2020 -0400 [Docs] Fix link to mod_tap.md in the one_shot_keys.md file (#9380) commit da76734fe0aba64140d4d127161cc4390776ffd7 Author: Josh Johnson Date: Mon Jun 15 19:17:30 2020 +1000 [Keyboard] Hub16 keymap bugfix (#9345) commit c029c5b187508755b2030354906a55d1c5349a9e Author: Maarten Dekkers Date: Mon Jun 15 11:09:24 2020 +0200 [Keyboard] Add Eon75 (#9333) Co-authored-by: Drashna Jaelre Co-authored-by: Maarten Dekkers commit 294cfd8d33aea0b2846fd57c0fdfb6475e093c98 Author: jems-lee <30412555+jems-lee@users.noreply.github.com> Date: Sun Jun 14 12:49:36 2020 -0400 Delete trailing period in documentation (#9416) commit 622e94c6cdf6a307ee87b6add974def647979f15 Author: George Mao Date: Sat Jun 13 23:39:57 2020 -0700 [Keyboard] Add S7 Elephant Rev2 Support (#9398) * Add S7 Elephant Rev2 Support * Apply suggestions from code review I tested the changes on my board as well, thanks for the suggestions! * Added a default folder in the makefile so that this would no longer be a breaking change commit ba7f52aaeba878544973952ca3fcce27ab4bb92d Author: cole smith <38364556+daysgobye@users.noreply.github.com> Date: Sat Jun 13 12:08:54 2020 -0700 Boardsource 3x4 info json fix (#9266) * added bordsource 3x4 macro pad * added bordsource 3x4 macro pad * Update keyboards/boardsource/3x4/3x4.h * Update keyboards/boardsource/3x4/3x4.c * Update keyboards/boardsource/3x4/config.h * Update keyboards/boardsource/3x4/config.h * Update keyboards/boardsource/3x4/config.h * Update keyboards/boardsource/3x4/config.h * added link to readme * Update keyboards/boardsource/3x4/keymaps/default/keymap.c * Apply suggestions from code review * changed the layout to refelect the keyboard * Update keyboards/boardsource/3x4/info.json Oh your right my bad. In the future is there an easier way for me to test the info.json and the confiscator before doing my pr? * Apply suggestions from code review * got 3x4 building again * Apply suggestions from code review * applied requested change on readme * Update keyboards/boardsource/3x4/readme.md * Apply suggestions from code review commit 307013a2f868593784446b55f5c29ef9b6072f5c Author: Sid Carter Date: Sat Jun 13 15:03:11 2020 -0400 [Keymap] Personal keymaps for Prime_E, Corne, Space65 and updates (#9234) * initial draft maps * updates to the keymap to enable LED * does one still have to do these shenanigans? * update keymap with lights * update OLED stuff * update corne config * update singav3 pcb config * update ilpse config and map * update prime keymap as well * update the keymap for prime_e * update tapping term and keymap * switch numbers to the raise layer * move nav to lower * add mousekeys as well * some fixes * update keymap * add my layout for space65 * update map * update keymap * add grave key * update config for my keymap * update keymap * switch to newer mechanisms * grave on capslock * cleanup * udpate config * update keymap * Update keyboards/gray_studio/space65/keymaps/madhatter/rules.mk * Update keyboards/gray_studio/space65/keymaps/madhatter/keymap.c * Update keyboards/crkbd/keymaps/madhatter/rules.mk * Update keyboards/crkbd/keymaps/madhatter/rules.mk * Update keyboards/gray_studio/space65/keymaps/madhatter/keymap.c * Update keyboards/crkbd/keymaps/madhatter/keymap.c * Update keyboards/primekb/prime_e/keymaps/madhatter/config.h * Update keyboards/gray_studio/space65/keymaps/madhatter/config.h * Update keyboards/crkbd/keymaps/madhatter/keymap.c * Update keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h * Update keyboards/crkbd/keymaps/madhatter/keymap.c * Update keyboards/crkbd/keymaps/madhatter/keymap.c * Update keyboards/gray_studio/space65/keymaps/madhatter/config.h * Update keyboards/primekb/prime_e/keymaps/madhatter/config.h * Update keyboards/wilba_tech/wt75_b/keymaps/madhatter/config.h * Update keyboards/crkbd/keymaps/madhatter/keymap.c * Update keyboards/crkbd/keymaps/madhatter/keymap.c * Update keyboards/primekb/prime_e/keymaps/madhatter/keymap.c * Update keyboards/crkbd/keymaps/madhatter/readme.md * remove file I don't use commit f68abbf6c8668d68e5eab0be9c537fe1ca5fa79f Author: QMK Bot Date: Sat Jun 13 18:51:08 2020 +0000 format code according to conventions [skip ci] commit 897c4cd1753cb831f8ca74b6d6feaeecd20fd869 Author: qunguyentk <40719920+qunguyentk@users.noreply.github.com> Date: Sun Jun 14 01:48:48 2020 +0700 [Keyboard] Add Batpad 2x4 PCB (#9295) * Add files via upload * Update config.h * Update config.h * Update keyboards/Yncognito/batpad/batpad.c * Update batpad.c * Update keyboards/Yncognito/batpad/keymaps/default/keymap.c * Update keyboards/Yncognito/batpad/batpad.h * Update keyboards/Yncognito/batpad/keymaps/default/keymap.c * Update keyboards/Yncognito/batpad/keymaps/default/keymap.c * Update keyboards/Yncognito/batpad/keymaps/via/keymap.c * Update keyboards/Yncognito/batpad/keymaps/via/keymap.c * Update keyboards/Yncognito/batpad/keymaps/via/keymap.c * Update keyboards/Yncognito/batpad/batpad.c * Rename keyboards/Yncognito/batpad/rules.mk to keyboards/yncognito/batpad/rules.mk * Rename keyboards/Yncognito/batpad/readme.md to keyboards/yncognito/batpad/readme.md * Rename keyboards/Yncognito/batpad/info.json to keyboards/yncognito/batpad/info.json * Rename keyboards/Yncognito/batpad/config.h to keyboards/yncognito/batpad/config.h * Rename keyboards/Yncognito/batpad/batpad.h to keyboards/yncognito/batpad/batpad.h * Rename keyboards/Yncognito/batpad/batpad.c to keyboards/yncognito/batpad/batpad.c * Rename keyboards/Yncognito/batpad/keymaps/default/readme.md to keyboards/yncognito/batpad/keymaps/default/readme.md * Rename keyboards/Yncognito/batpad/keymaps/default/keymap.c to keyboards/yncognito/batpad/keymaps/default/keymap.c * Rename keyboards/Yncognito/batpad/keymaps/default/config.h to keyboards/yncognito/batpad/keymaps/default/config.h * Rename keyboards/Yncognito/batpad/keymaps/via/rules.mk to keyboards/yncognito/batpad/keymaps/via/rules.mk * Rename keyboards/Yncognito/batpad/keymaps/via/keymap.c to keyboards/yncognito/batpad/keymaps/via/keymap.c * Rename keyboards/Yncognito/batpad/keymaps/via/config.h to keyboards/yncognito/batpad/keymaps/via/config.h * Update keyboards/yncognito/batpad/readme.md * Update keyboards/yncognito/batpad/readme.md * Update keyboards/yncognito/batpad/rules.mk * Delete config.h * Delete config.h * Update readme.md * Update keyboards/yncognito/batpad/batpad.c * Update keyboards/yncognito/batpad/readme.md * Update keyboards/yncognito/batpad/keymaps/via/keymap.c * Update keyboards/yncognito/batpad/info.json * Update keyboards/yncognito/batpad/batpad.h commit 1f2807c2deb0f90222090537feca38682c9aa5b5 Author: elmo-space Date: Sat Jun 13 20:45:03 2020 +0200 Add ANSI and ISO layout for KBD67mkII soldered PCB (#9340) * add ansi and iso layouts * fix iso map mistake * fix mistake again... * Update keyboards/kbdfans/kbd67/mkii_soldered/keymaps/iso/keymap.c * rename layout macros to the blocker variants and add ansi_split_bs * Apply suggestions from code review commit b1609133095509e9929d6f9bf7a581a67b077fbd Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Sun Jun 14 01:43:04 2020 +0700 [Keyboard] Add new PCB Infinity87 (#9287) * Add new PCB Infinity87 * Update keymap.c * Update readme.md * Update rules.mk * update * Update info.json commit 867fded9801a84e901bc381d8f523e45544b6119 Author: Maarten Dekkers Date: Sat Jun 13 20:41:53 2020 +0200 [Keyboard] Add OmronTKL (#9346) * Add OmronTKL * Fix column pins commit d1730ec760360b38fd6f5d162a5eb1f22e893b0f Author: Callum Oakley Date: Sat Jun 13 12:11:28 2020 +0100 [keymap] upstreaming a minor keymap update (#9366) commit 4057d44989e2ee83ca3b171bdb1a29bc9f3ae0cd Author: Gautham Yerroju Date: Sat Jun 13 01:24:13 2020 -0700 [Keymap] Add Kyria keymap (#9224) * Add Kyria keymap * clean split hand detection code * rename "joystick" to "thumbstick" * thumbstick overhaul * removed angle correction, seems buggy * save some memory * Remove deprecated config option * Use the correct types for getting host led states * Fix include path * Made .h files for encoder and oled code * Increase speed cap on thumbstick commit 2bfcb6bfc5766ede2b63041af3a163408caa6ad9 Author: Gautham Yerroju Date: Sat Jun 13 01:18:33 2020 -0700 [Keymap] Add custom corne keymap (#9283) * Add custom corne keymap * Clean up rules.mk * Clean up base layer on keymap.c * Clean up lower layer on keymap.c * Clean up raise layer on keymap.c * Clean up adjust layer in keymap.c commit 1f42071238c57aff1ec2d441fe82ae2df4a0853f Author: mcarni Date: Sat Jun 13 09:29:22 2020 +0200 dz60 iso split - cleaned up the readme and replaced normal key with numpad key on numpad layer (#9339) * README cleanup * replaced "normal" numbers with "keypad" numbers: KC_P4 replaced by KC_KP_P4 * replaced "normal" keys on Numpad Layer with the "KeyPad" keys KC_1 replaced by KC_P1 etc. commit 400423d10b53ea9e309e7b014aa4685961f25a4f Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Jun 13 00:16:07 2020 -0700 VIA Support: Noxary 260 (#9349) * add VIA support to noxary 260 * change the layout macro to be 60_ansi as thats going to be the base VIA layout * update readme commit 54ef02dead1663ca7ed91c862f97d9fc1a2b5cb7 Author: Andrew Kannan Date: Sat Jun 13 03:06:38 2020 -0400 Fix project alice indicators (#9342) commit 044b4aaf018522ae326bae71ae5a899930fbdf1b Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sat Jun 13 15:50:19 2020 +0900 [Docs] Japanese translation of docs/feature_split_keyboard.md (#9031) * add feature_split_keyboard.md translation * add header for git * update based on comment * update based on comment commit ccb4b81b3f69ccfc088b63f34599720bb6f382c3 Author: Catriel Müller Date: Thu Jun 11 09:39:56 2020 -0300 Fix my personal keymap // Custom keymap for Kbdfans/kbd67/rev2 with improvements on Accessibility (#9207) Co-authored-by: Ryan commit e2699773879f17e70e05dd043f2231786c6a61ad Author: Adrian Date: Thu Jun 11 13:45:53 2020 +0200 Murcielago: improve default keymap (#9363) * Squashed new default keymap for murcielago commit 0cb4da2c74f126016c8a0597341db441ef16265a Author: Sergey Vlasov Date: Thu Jun 11 14:26:10 2020 +0300 Really fix Ubuntu/Debian setup when $PATH contains spaces (#9370) PR #9307 fixed the immediately visible problem (the command that was added to $HOME/.bashrc was incorrect because of missing quotes around paths with spaces). However, the modified command is still wrong - it captures the value of $PATH at the setup time, and the resulting command written out to $HOME/.bashrc will overwrite $PATH with that captured value, ignoring any changes in the environment. This may be especially important for WSL, where the initial value of $PATH in Linux includes everything which has been added to %PATH% on the Windows side; after adding that command to $HOME/.bashrc the WSL environment will no longer pick up any changes made by newly installed Windows software. Instead of that, use single quotes around the command, so that the environment variables are not expanded at the setup time, and the command that is added to $HOME/.bashrc becomes exactly this: PATH="$HOME/.local/bin:$PATH" This command will use the $HOME and $PATH environment variable values at the time the command is executed, not at the time the QMK setup is performed, so any further updates to $PATH are taken into account. Double quotes also ensure that the command is safe even if the values of those environment variables contain spaces. commit 9b0c7347333967df1e3e3611c0ef85c57f7f0ad7 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Jun 11 04:07:15 2020 -0700 Fix Configurator layout data for clueboard/2x1800/2019 (#9373) commit fffee6ade1ec21bc3221642b8e5d2d3b735bb1b1 Author: George Mao Date: Wed Jun 10 16:12:53 2020 -0700 Fixing Iron165 VIA Keymap (#9298) * Fixing via issues * Fixing whitespace issues on the keymap * Fixed the default via layer 1 keymap, was a little weird before * Removing redundant declarations in via/rules.mk commit 97ddc7ea18fc5438b18b86caa742642eca2224fb Author: neon4272 <50256318+neon4272@users.noreply.github.com> Date: Thu Jun 11 08:46:13 2020 +1000 Fix Ubuntu/Debian setup when $PATH contains spaces (#9307) * Change `echo` to `export` * Add `export` as a note under the `echo` command * Remove note from last commit Co-authored-by: Ryan * Update docs/newbs_getting_started.md Co-authored-by: Ryan * Update docs/newbs_getting_started.md Add 1 line of whitespace under note Co-authored-by: Ryan Co-authored-by: Ryan commit 3afd2d81b8e48378dbb468a35bd6f06bd442a6f9 Author: Nick Brassel Date: Thu Jun 11 08:32:58 2020 +1000 Add documentation for selecting an Arm MCU (#9046) * Initial doco write-up. * Update docs/platformdev_selecting_arm_mcu.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 2543bad250f68190a373563b52464c3f7e642847 Author: precondition <57645186+precondition@users.noreply.github.com> Date: Wed Jun 10 22:27:25 2020 +0000 [Docs] Fixed the hyperlink to `/users/_example/`. (#9326) commit a056d945618342dfdc88f0ea05dfe7a0190a0e0b Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Jun 10 15:26:21 2020 -0700 [keyboard] Project Keyboard Signature 87 (#9062) * preliminary check in, basically a copy from 159's github with a few additions to get it to compile * update readme * fixup the LAYOUT macro labels to be more reasonable * add tkl_ansi LAYOUT macro for community layout support * clean up rules.mk, add community layout suport, and add in bootloader * add a tsangan layout macro * spruce up readme * add VIA keymap * add qmk configurator support * Update keyboards/projectkb/signature87/rules.mk Co-authored-by: Joel Challis * Update keyboards/projectkb/signature87/rules.mk Co-authored-by: Joel Challis * Update keyboards/projectkb/signature87/rules.mk Co-authored-by: Joel Challis * remove unneeded file * Update keyboards/projectkb/signature87/config.h Co-authored-by: Joel Challis * Update keyboards/projectkb/signature87/rules.mk Co-authored-by: Ryan * Update keyboards/projectkb/signature87/config.h Co-authored-by: Joel Challis Co-authored-by: Ryan commit 573d1fbb929b83989e3b5933852282299d87d467 Author: Drashna Jaelre Date: Wed Jun 10 15:18:53 2020 -0700 Include `pointing_device_send` in docs (#9185) commit 437446ba8f636afbc2048aa655fc1c2662fbe2ce Author: Tsan-Kuang Lee <1425438+tsankuanglee@users.noreply.github.com> Date: Wed Jun 10 16:40:17 2020 -0500 Fix one shot swaphands compiler error when NO_ACTION_ONESHOT is defined (#9296) * init * add RETRO_TAP; tap anyway after TAP_TERM, if no interruption * RETRO_TAP works for other types of taps * revert to upstream/master * explain this fork in readme * use one readme.md file instaed * fix the error if NO_ACTION_ONESHOT is defined * restore readme.md to upstream master Co-authored-by: Tsan-Kuang Lee commit 8640b432148d44bc54ebabbc8be42b22b91a3ec4 Author: James Incandenza <64759429+j-inc@users.noreply.github.com> Date: Wed Jun 10 17:39:07 2020 -0400 [Keymap] WPM-responsive OLED animation in personal keymap (#9264) Using the wpm feature, I create a responsive OLED animation that changes based on how fast the user types. As written there are three phases (It's bongo cat!) but can easily be reconfigured and replaced with other images. Multiple byte arrays consume considerable space so choose your usage wisely. When customized, the smaller the byte array used, the better, due to space limitations on most microcontrollers. I made this with no prior knowledge of C, so I'm looking forward to any and all suggested improvements. Credit is owed to obosob for laying the foundation for this little script as well to /u/pixelbenny for graciously providing the bongocat artwork I adapted for the animation. The config.h includes a tweak to the Kyria's LED mapping, so that the order now reflects their physical positions, making animations smoother. Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Simon Schuster Co-authored-by: James Incandenza commit 09fc6cab343dee74cf39db52b9371156abc6ec1e Author: yfuku <30647434+yfuku@users.noreply.github.com> Date: Thu Jun 11 06:38:11 2020 +0900 Add bat43 rev2 (#9319) * add rev2 * Update keyboards/bat43/rev1/rules.mk Co-authored-by: Ryan * Update keyboards/bat43/rev2/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit 7e8dc2e570e21a018b3cfdf860ef03dd8d2a20f3 Author: elmo-space Date: Wed Jun 10 23:33:26 2020 +0200 [Keymap] Add dual layer keymap for xd002 macropad (#9222) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre commit 263536586daebcf09d31ab78a623da9366ebf7f7 Author: Keebz Dot Net <64744703+keebzdotnet@users.noreply.github.com> Date: Wed Jun 10 14:32:03 2020 -0700 [Keyboard] Wazowski 23-19 PCB Support (#9198) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Chris Figueroa commit 7aa4cc9603b8cdb0ea3ede753eff7d07a86a18b0 Author: itsnoteasy Date: Wed Jun 10 22:23:11 2020 +0100 adds support for the atmega328 (#9043) Co-authored-by: Ryan commit e26bc21d1452dcf04332d300a874dacc8d74862d Author: Chandler Date: Wed Jun 10 15:32:19 2020 -0500 fix rgb mode selection and lighting increments for the 1894 (#9336) commit 5c2b46dc47f8e4c0e806b78b58324ac66869d7a8 Author: Danny Date: Wed Jun 10 15:12:02 2020 -0400 Add Sinc keyboard (#8986) * Add Sinc (WIP) * Rename layouts, add keymaps * Set EEPROM VIA layout value * Update QMK Configurator json * Update VIA layout value * Add default folder * Add PR suggestions * Fix keyboard name commit 713d34cda448b19a9e49b1e3eb1dd546d85e002b Author: fluffactually Date: Wed Jun 10 18:45:22 2020 +0100 Add new iris keymap 'fluffactually' (#9325) * Add new iris keymap 'fluffactually' * Keymap suggested changes - layer_state_t commit cce301ae83b85a69c71073273fd8ade4c81226f8 Author: Sergey Vlasov Date: Wed Jun 10 20:43:09 2020 +0300 kbdfans/kbd67/rev2: Fix ISO layout macro (#9329) A user in Discord reported that the right bracket and ISO hash keys on KBD67 rev2 using LAYOUT_65_iso were swapped. When comparing LAYOUT_65_iso with LAYOUT_65_ansi, the problem with a wrong assignment of the right bracket key is obvious — that key is K1D in the ANSI layout macro, but the ISO layout macro had K1E there, and K1D at the position of the ISO hash key. Fix the LAYOUT_65_iso macro by swapping those arguments (and also align the K1D argument for the right bracket key properly). commit 08e08b660c36eb2b9b4e8cc438735f1aa97cfc1b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jun 10 09:34:18 2020 -0700 Add VIA support to KC60 (#9351) * Add VIA support to KC60 * enable Bootmagic Lite commit cff3c3bf284a2d60b1c3cb80e9775580559de739 Author: Adrian Date: Wed Jun 10 18:25:45 2020 +0200 Fixed slave-side keyboard half unresponsiveness (#9360) * Fixed slave-side keyboard half unresponsiveness due to how LUFA handles USB_Disable() * changes to formatting Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit b7cb4111ea1804b90dfe2ab402b1776ae4d07d26 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Wed Jun 10 21:04:39 2020 +0900 [Docs] Japanese translation of docs/feature_wpm.md (#9254) * add feature_wpm.md translation * update based on comment * update based on comment * update based on comment commit 184c362324171a77e108fe29058fa51c438d04b4 Author: Danny Date: Tue Jun 9 22:32:46 2020 -0400 Add BDN9 rev2 (#9017) commit 1d1c0503b669abcf8c059a5962e6819b1376a885 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jun 9 19:22:33 2020 -0700 Gami Studio Lex60: Configurator Layout support (#7726) * Gami Studio Lex60: Configurator Layout support * correct key sizes on bottom row per lukelex * add LAYOUT_60_ansi To test, run `make gami_studio/lex60:default_60_ansi` and flash. * add 60_ansi keymap To test, run `make gami_studio/lex60:60_ansi` and flash. * remove data for 60_ansi layout commit 01e74b0ac65880cc12c816b67ab41e4439b4b7db Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Tue Jun 9 21:04:02 2020 -0400 Sidekick/qmk firmware (#9229) * 5/28/20 * Create readme 2.md * Revert inadvertently changed files * Update keyboards/clawsome/sidekick/config.h Co-authored-by: Nick Brassel * Update keyboards/clawsome/sidekick/rules.mk Co-authored-by: Nick Brassel * Update keyboards/clawsome/sidekick/config.h Co-authored-by: Ryan * Update keyboards/clawsome/sidekick/info.json Co-authored-by: Ryan * Update keyboards/clawsome/sidekick/info.json Co-authored-by: Ryan * Update keyboards/clawsome/sidekick/rules.mk Co-authored-by: Ryan * Update keyboards/clawsome/sidekick/rules.mk Co-authored-by: Ryan * Update keyboards/clawsome/sidekick/rules.mk Co-authored-by: Nick Brassel Co-authored-by: Nick Brassel Co-authored-by: Ryan commit c0cb2ab1c13605a17ce1bcf3835c3aa55edb82f6 Author: Rolf Don Date: Wed Jun 10 02:22:28 2020 +0200 Adding extra supported Boardwalk layout (#9341) * Added ortho layout with 2x2u spacebars commit 7281e86e9870c9006f26ae32247031b7a94daa3b Author: clanghans <66272877+clanghans@users.noreply.github.com> Date: Tue Jun 9 21:11:01 2020 +0200 XD75 clanghans layout (#9313) Co-authored-by: Ryan commit 86812f22e42b493d7021fe4bcb726ac9412b8e55 Author: Maarten Dekkers Date: Tue Jun 9 21:10:00 2020 +0200 [Keyboard] Add nt660 PCB (#9042) * Upload nt660 files * Apply suggestions from code review * Apply suggestions from code review commit b83fb9eb711ea8c7b064a660bc20b62f4d812bd4 Author: Cable Car Designs <17062872+westfoxtrot@users.noreply.github.com> Date: Tue Jun 9 19:37:41 2020 +0100 [Keyboard] add prophet support (#9275) * add prophet support * Update keyboards/westfoxtrot/prophet/config.h * Update keyboards/westfoxtrot/prophet/rules.mk * Update keyboards/westfoxtrot/prophet/config.h * Update keyboards/westfoxtrot/prophet/prophet.c * Update keyboards/westfoxtrot/prophet/readme.md * Update keyboards/westfoxtrot/prophet/readme.md * Update keyboards/westfoxtrot/prophet/keymaps/default/keymap.c * Update keyboards/westfoxtrot/prophet/keymaps/default/keymap.c * Update keyboards/westfoxtrot/prophet/keymaps/via/keymap.c * Update keyboards/westfoxtrot/prophet/keymaps/via/keymap.c * Update keyboards/westfoxtrot/prophet/keymaps/via/keymap.c * Update keyboards/westfoxtrot/prophet/keymaps/via/keymap.c * remove bootloader_defs fixed via keymap * Update keyboards/westfoxtrot/prophet/prophet.h * Update keyboards/westfoxtrot/prophet/keymaps/default/keymap.c * Update keyboards/westfoxtrot/prophet/keymaps/default/keymap.c * Update keyboards/westfoxtrot/prophet/keymaps/via/keymap.c * Update keyboards/westfoxtrot/prophet/keymaps/via/keymap.c * Update keyboards/westfoxtrot/prophet/keymaps/via/keymap.c * changed vendor id * changed prophet.c commit 3736db6081ac75ed425fde5ff52deab78d27b650 Author: Ryan Date: Tue Jun 9 21:28:36 2020 +1000 Add OS compatibility matrix for basic keycodes (#8557) commit b19187c62c397b44ab657d8bac2a2b05c77cc9c9 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue Jun 9 00:04:14 2020 +0900 [Update] Japanese translation of newbs_learn_more_resources.md (#9288) * Updated the Japanese translation of newbs_learn_more_resources.md Updated the Japanese translation of newbs_learn_more_resources.md to 0.9.0. * update docs/ja/newbs_learn_more_resources.md * update ja/newbs_learn_more_resources.md commit 4a7725b3eef1b41ead2b42ab24a6af7fb4b1c93f Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue Jun 9 00:02:32 2020 +0900 [Update] Japanese translation of docs/newbs_testing_debugging.md. (#9286) * Updated the Japanese translation of newbs_testing_debugging.md. Updated the Japanese translation of newbs_testing_debugging.md to 0.9.0. * Update docs/ja/newbs_testing_debugging.md Co-authored-by: s-show * Update docs/ja/newbs_testing_debugging.md Co-authored-by: shela * Update docs/ja/newbs_testing_debugging.md Co-authored-by: shela Co-authored-by: s-show Co-authored-by: shela commit 93a1c5ca1661e163e1d4be6fd61c26194269e6b9 Author: Maarten Dekkers Date: Mon Jun 8 08:57:49 2020 +0200 [Keyboard] Add VIA support for Eon40 (#9330) Co-authored-by: Maarten Dekkers commit 407d6a2b6779aa7ef4f87b53521aef3c3854f824 Author: Ryan Date: Mon Jun 8 15:49:18 2020 +1000 [Keyboard] Fix error_log complaint about handwired/onekey layout macro (#9263) commit d7523c1260d3154a16d223060a24e32d18ebb1a2 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Jun 8 02:26:30 2020 +0900 [Docs] Japanese translation of docs/feature_ps2_mouse.md (#9030) * add feature_ps2_mouse.md translation * update based on comment * update based on comment * update based on comment * update based on comment commit a7f093b40c11d377cfc15057e0873e908605fd80 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Jun 8 02:24:35 2020 +0900 [Docs] Japanese translation of docs/feature_terminal.md (#9033) * add feature_terminal.md translation * add header for git * update based on comment commit b9a38487f390b593eafead0228beedfda375eb32 Author: Pete Johanson Date: Sun Jun 7 04:06:55 2020 -0400 [Docs] Update udev rules to use TAG+="uaccess". (#8750) commit 9f400794c021555e56f09542cf7e2afea5a68e8c Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sun Jun 7 03:08:24 2020 +0900 [Docs] Japanese translation of docs/feature_swap_hands.md (#9032) * add feature_swap_hands.md translation * update based on comment * back to original translation commit 12efb28e138567a5447b9c14b1e5f20839f34687 Author: Frothy Date: Sat Jun 6 12:56:59 2020 -0300 [Keyboard] Add Via config for Clueboard 66 (#9010) * Added Via config for Clueboard 66 * Update keyboards/clueboard/66/keymaps/via/rules.mk Co-authored-by: Ryan * Enabled MouseKeys This required enabling LINK_TIME_OPTIMIZATION_ENABLE * Added 4th layer as per tzarc's recommendation on another PR Co-authored-by: Ryan commit 3972978c8d21dbd9619a8bc708a361858286e9ef Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Fri Jun 5 21:49:34 2020 +0900 The TAGs of the original document has been updated to facilitate future verification. (#9285) commit b327d2040245ba50e8b3560e6a15df659aa51760 Author: Derek Date: Fri Jun 5 05:13:31 2020 -0400 [Keyboard] add Juliet (#9240) Co-authored-by: Ryan Co-authored-by: Derek commit ca451c5aa0948b112db771252de41cb85066556e Author: Chandler Date: Fri Jun 5 04:12:07 2020 -0500 [Keyboard] add 1894 support to qmk (#9238) commit 7a75af83429980c0d59dadc69a7ec64d68a2cbfa Author: Jeremy Bernhardt Date: Fri Jun 5 03:06:58 2020 -0600 [Keyboard] Gboards common - TOGG()/inject.h (#9236) commit d03bc3a9c185f97d3813758e7f6df7c879f42ad0 Author: Joshua Diamond Date: Fri Jun 5 05:01:47 2020 -0400 Major enhancements to spidey3 keymaps and userspace (#9261) * Add Chrome OS specific keys to 75_ansi/spidey3 * Clean up duplicative settings in rules.mk * Refactor spidey3 userspace to use rgb layer blink * Blink green on wakeup * Improve _FN layer indicator * Glyph transformation modes: wide, script, fraktur, and enclosed characters * Add spider unicode glyph * Fix compile error when NO_ACTION_ONESHOT * Add a few more emoji * Further refinement of lighting layer usage * Fix reversed yes/no ack * Lighting layers override RGB off * Fix missing wide and incorrect script numbers * Add LOL and surprise emoji * Add missing break in switch statement * Trim firmware size * Use usage ID definitions in report.h * Some minor whitespace cleanup * Disable some unused features to reduce firmware size * Print version on startup * Seed rand() on first keystroke * Add a key to immediately sleep CrOS * Switch to Bootmagic Lite * Trim down firmware size a little bit more * Make RGBLIGHT_MODE_TWINKLE+4 my default * Scan rate debug / fix version printing Delay printing version on startup (console may not be ready) Better scan rate reporting * Disable locking caps, etc. to save more space * Enable LTO * Better seed for rand() * Set MAX_LAYER for some performance improvement * Another scan rate improvement * Set manufacturer * New startup animation * Add GUI lock for F-keys (for CrOS) * Add visual indication for glyph replacement and F-keys GUI lock * Some cleanup; run cformat on spidey3 userspace * Cycle between debug verbosity options * Fix disable RGB Lighting after wakeup on Mac commit c12e429da28399004dddcf2c67f7cb4bca8d28e4 Author: MakotoKurauchi Date: Fri Jun 5 17:49:16 2020 +0900 [Keymap] add keymap for meishi2 (#9270) * add keymap "led_status" * modified readme * Update keyboards/meishi2/keymaps/led_status/keymap.c * I modified the code to be simple. * Update keyboards/meishi2/keymaps/led_status/keymap.c commit 9219f9e724ed57d4e7488c1db00c5ad08d713585 Author: Abi Shalom Date: Fri Jun 5 03:46:28 2020 -0500 Changes to abishalom Tada68 keymap (#9278) * Changes to abishalom Tada68 keymap * Update keyboards/tada68/keymaps/abishalom/rules.mk commit f4ff225c004702b030f01ea0da98f9e966b7de80 Author: Leon Anavi Date: Fri Jun 5 10:48:58 2020 +0300 [Keyboard] keyboards/anavi: Add ANAVI Macro Pad 8 (#9164) ANAVI Macro Pad 8 is an open source mini mechanical keyboard with 8 keys, backlit, addressable RGB WS2812B LED strip on the back and mini OLED display. Powered by ATmega 32U4 microcontroller and with microUSB connector. Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis Signed-off-by: Leon Anavi commit a68b0ed9a25dcbfd616faabab10a123c3c0710fd Author: itsnoteasy Date: Fri Jun 5 07:55:39 2020 +0100 [Keyboard] Add ortho5by12 keyboard (#9141) * Add files via upload * Update keyboards/ortho5by12/rules.mk * Add files via upload * Add files via upload * Update keyboards/ortho5by12/ortho5by12.h * Update keyboards/ortho5by12/ortho5by12.h * Add files via upload * Add files via upload * Update keyboards/ortho5by12/readme.md * Update keyboards/ortho5by12/readme.md * Update keyboards/ortho5by12/readme.md * Update keyboards/ortho5by12/readme.md * Update keyboards/ortho5by12/readme.md * Update keyboards/ortho5by12/readme.md * Update keyboards/ortho5by12/info.json * Update keyboards/ortho5by12/ortho5by12.h * Apply suggestions from code review * Update rules.mk * Update config.h * Update config.h * Update config.h * Delete rules.mk * Delete config.h * Delete info.json * Delete ortho5by12.c * Delete ortho5by12.h * Delete readme.md * Delete keymap.c commit a2dee4494d27a0a7d6075317a1b41e0ff4db194f Author: Joel Challis Date: Fri Jun 5 01:33:35 2020 +0100 Fix mechlovin/pisces Configurator config (#9290) * Fix mechlovin/pisces Configurator config * Update keyboards/mechlovin/pisces/info.json commit 6cfc3cd940370d80fd44554eb9f669950495e1f9 Author: Josh Hinnebusch Date: Thu Jun 4 19:56:04 2020 -0400 [Keyboard] add hineybush/h10 pcb (#9036) * initial h10 commit * update h10 * update files, add via keymap * edit h10 readme * update per PR requests * add copyright (i think this is what fauxpark wants) * fix comment * remove config.h files * update per PR requests * Update keyboards/hineybush/h10/info.json * Update keyboards/hineybush/h10/info.json commit e84e9a2004cbec490f94d74353864f19dfad89c4 Author: Frothy Date: Thu Jun 4 13:22:29 2020 -0300 Add Via support for Percent Canoe (#9276) * Add Via support for Percent Canoe * Removed unnecessary flags from rules.mk * Changes as per PR * Added 2 additional empty layers (for a total of 4) * Set a unique vendor id for all percent studio boards * Set a unique product id for the canoe * Fixed formatting, removed trailing comma * Fixed PS/PT typo for vendor id * Removed unnecessary variables * Removed unnecessary slashes * Fixed missing layer name commit 232b9dabbe00f41a89ebbae414cd5e39bdd45264 Author: Joel Challis Date: Thu Jun 4 10:07:37 2020 +0100 Fix 'does not have a readme.md' warnings (#9294) commit 7b2c09de5944c20da97b720cc8219d46b6dba9eb Author: Joel Challis Date: Thu Jun 4 09:57:37 2020 +0100 Fix handwired/novem Configurator config (#9291) commit e571f53ae917e12982e87720025f5c5defe73abb Author: Joel Challis Date: Thu Jun 4 09:45:35 2020 +0100 Fix wt60_d and rama_works_u80_a Configurator config (#9292) commit 6fc4f1eddd8df1841dd7b6c59943bc32580cee82 Author: Jesse Leventhal <45154268+jessel92@users.noreply.github.com> Date: Wed Jun 3 19:25:59 2020 -0400 [keyboard] Add two new The Mad Noodle Keypads (#8934) * Adding support for two new The Mad Noodle Keypads (Revised..Again) * Adding support for two new The Mad Noodle Keypads (Revised..Again) * Update keyboards/themadnoodle/ncc1701kbv2/ncc1701kbv2.h Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/noodlepad/noodlepad.h Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/ncc1701kbv2/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/noodlepad/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/noodlepad/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/noodlepad/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/noodlepad/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/noodlepad/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Requested Changes to all files * Revert "Requested Changes to all files" This reverts commit 7f6c708da8edf779664ccc80b8932cad3ad37bf3. * Update keyboards/themadnoodle/ncc1701kbv2/info.json Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/ncc1701kbv2/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/ncc1701kbv2/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/ncc1701kbv2/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/themadnoodle/noodlepad/rules.mk Co-authored-by: Ryan * Update keyboards/themadnoodle/ncc1701kbv2/rules.mk Co-authored-by: Ryan * Update keyboards/themadnoodle/ncc1701kb/rules.mk Co-authored-by: Ryan * Update keyboards/themadnoodle/ncc1701kbv2/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * rework ncc1701kb v1 to vendor/keyboard/revision structure * rework ncc1701kb v2 to vendor/keyboard/revision structure * Update keyboards/themadnoodle/ncc1701kb/v2/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/themadnoodle/noodlepad/config.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/themadnoodle/noodlepad/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/themadnoodle/noodlepad/noodlepad.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/themadnoodle/noodlepad/rules.mk Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * checkedout folder and removed v1 as requested * Update keyboards/themadnoodle/noodlepad/config.h Co-authored-by: Joel Challis * Update keyboards/themadnoodle/ncc1701kb/v2/config.h Co-authored-by: Joel Challis * Updated Noodle Pad Readme Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis commit be73820f7bc4f03e3d095b694f31092187583ac7 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Jun 2 21:59:13 2020 -0700 [Keyboard] New Keyboard: Duck TC-V3 (#8265) Co-Authored-By: Ryan Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-Authored-By: Drashna Jaelre Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 81a2113cbd820151c1529bebd0bc71629d2de66e Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Jun 2 17:07:18 2020 -0700 VIA Support: Waldo 60 (#9151) * pick a sane VID * add the VIA Keymap * update copyright notice * Update keyboards/waldo/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/waldo/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/waldo/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/waldo/keymaps/via/keymap.c Co-authored-by: Ryan * Update keyboards/waldo/keymaps/via/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit d17572b125113928b56e19bfaefae5d13a912f5e Merge: 517d607fa4 406dc2fb2d Author: Joel Challis Date: Wed Jun 3 00:54:53 2020 +0100 Move encoder_read to common location (#9003) commit 517d607fa4292a03fb8a880a07d27cb14020ed1d Author: Joel Challis Date: Wed Jun 3 00:49:52 2020 +0100 [Keyboard] Add zvecr/zv48 (#9227) * Add zv48 keyboard * tidy up rules * correct product name commit 1110fe6c6f86a684ba098d9c87665887278b068a Author: Drashna Jaelre Date: Tue Jun 2 16:32:02 2020 -0700 Move dip switch init to back of the init process (#9233) commit eefc05e07849dec8587faba29f3708172d8c3218 Author: Dan Hertz Date: Tue Jun 2 13:38:56 2020 -0700 Update canoe:dhertz to use new post-init functions (#9257) * Update to use new post-init functions * Update readme so I don't forget reset key again commit f1e09dd388a12536975d0eefeb9fee76b7c4b98c Author: Eduardo Lourenço Pinto Neto Date: Tue Jun 2 17:33:27 2020 -0300 Update keymap.c (#9265) Add Insert on Fn+Del and fix TG to TO for layer switching commit 0def9ed528ff52b3d641bea236766323ecf6c65d Author: jotix <47826561+jotix@users.noreply.github.com> Date: Tue Jun 2 08:51:24 2020 -0300 jotix ortho_4x12 layout (#9209) Co-authored-by: Ryan commit c73125eea7b482724635a2ac2e1c006a8fddfdad Author: Ryan Date: Tue Jun 2 18:53:38 2020 +1000 Void Linux: Switch to cross-arm-none-eabi toolchain (#9228) commit 306d02aa9328630ca97a8b8863286986dba85603 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Tue Jun 2 07:31:14 2020 +0700 Adelais: Fix indicator LED pinout (#9241) * Fix indicator LED pinout Fix indicator LED pinout, active some function commit b8ddfd34ec2fbefefe54346056f56706a35a7a6d Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Jun 2 09:28:41 2020 +0900 [Docs] Japanese translation of docs/feature_mouse_keys.md (#8992) * add feature_mouse_keys.md translation * update based on comment * update based on comment * update based on comment * update based on comment * update based on comment commit 14eccef7bf433558ef9fbadc89dc35035f20cce0 Author: goranzarkovic Date: Mon Jun 1 19:23:25 2020 -0500 Fixing the PRODUCT_ID to match the liminal.json on VIA repo (#9232) commit aab5c44c7d94ace79337ae60b9185b820c390f00 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Tue Jun 2 07:19:56 2020 +0700 Infinity CE PCB: Update rules.mk (#9235) * Update rules.mk Actice NKRO function commit 563d5919b32c99b10e63754c4e5dab0c69a7c5e1 Author: Joshua Diamond Date: Mon Jun 1 20:12:08 2020 -0400 Fix layer mask size for RGBLIGHT_LAYER_BLINK (#9260) commit 0fee906e0938efc0eb9c6ccc3d2411fe932082c9 Author: Fredrik Salomonsson Date: Mon Jun 1 16:35:44 2020 -0700 [Keymap] plattfot - Kyria layout (#9110) * [Keymap] plattfot - Kyria layout Keymap for programming, writing in both English and Swedish and easy navigate a tiling window manager. See README.md for more info * Fix letter case on the headline for the readme As suggested by fauxpark * Update keyboards/kyria/keymaps/plattfot/keymap.c Clean up double tap As suggested by fauxpark * Update led check for render_status As suggested by fauxpark * Update to use get_highest_layer for encoder_update_user As suggested by fauxpark * Missing an apostrophe in the header of the README.md Last minute change. * Removed explicit initialization for _DEFAULT As suggested by drashna * Use smaller image for the README.md As suggested by noroadsleft commit c2fd7f1b5b0999769db1f75e07c82f68fa861a06 Author: Ryan Date: Tue Jun 2 09:29:58 2020 +1000 Fix error_log complaint about Elongate info.json (#9262) commit faa3e62e70912a2a3f75da0fb1812592f32a6871 Author: Joel Challis Date: Mon Jun 1 22:01:45 2020 +0100 Prime_E - Increase number of via layers (#9065) * Prime_E - Increase number of via layers * Fix keymap alignment commit 5f5a6fff8bf18c85add37cfc303c7116e2753792 Author: KOBAYASHI Daisuke Date: Tue Jun 2 05:29:28 2020 +0900 Remove the extra comma in the macro in the community keymap (#9175) commit f1c33423b07886355c7a06c2bc785dcd22c4e10d Author: cole smith <38364556+daysgobye@users.noreply.github.com> Date: Mon Jun 1 13:07:49 2020 -0700 Added new keyboard boardsource/3x4 (#9247) * added bordsource 3x4 macro pad * added bordsource 3x4 macro pad * Update keyboards/boardsource/3x4/3x4.h Co-authored-by: Nick Brassel * Update keyboards/boardsource/3x4/3x4.c Co-authored-by: Nick Brassel * Update keyboards/boardsource/3x4/config.h Co-authored-by: Nick Brassel * Update keyboards/boardsource/3x4/config.h Co-authored-by: Nick Brassel * Update keyboards/boardsource/3x4/config.h Co-authored-by: Nick Brassel * Update keyboards/boardsource/3x4/config.h Co-authored-by: Nick Brassel * added link to readme * Update keyboards/boardsource/3x4/keymaps/default/keymap.c Co-authored-by: Nick Brassel * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: Nick Brassel Co-authored-by: Ryan commit 5f8e8540fb135b416a2d8f8a59df2b29ee9b9443 Author: siano Date: Mon Jun 1 15:24:18 2020 +0200 Mac layout for XD87 (#9251) * Mac layout for XD87 * Rename to mac_underglow * Removed unused file * Fixed missing KC_RGUI * Cleanup * Updated readme. commit 4f6f7b59cfd8de3d31ec30d568a1d19a188e88a9 Author: Kimat Boven Date: Mon Jun 1 15:14:14 2020 +0200 `French (Belgium)` was missing (#9245) commit e2e287ec5f720839efd8f7cecf447763433cda27 Author: Joshua Diamond Date: Mon Jun 1 05:02:28 2020 -0400 Option to allow lighting layers when RGB Lighting is off (#9051) commit dfcd4f0d25bb3db8798ad8bb06da0fab68e7cf25 Author: Kimat Boven Date: Mon Jun 1 06:04:44 2020 +0200 BE_J should map to KC_J (#9243) commit b2271d984dc1fe178ceb0d4dd698ea411c62b18c Author: Joel Challis Date: Mon Jun 1 02:53:43 2020 +0100 Move plaid via keymap to correct location (#9255) commit 8d3fca57a3d288a7d328952c426d055a999412bd Author: Nick Brassel Date: Mon Jun 1 11:53:01 2020 +1000 Fix build when using IGNORE_MOD_TAP_INTERRUPT_PER_KEY. (#9258) commit fced377ac007d27f2650ccffbe0b18abcdcfe23d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat May 30 13:14:59 2020 -0700 2020 May 30 Breaking Changes Update (#9215) * Branch point for 2020 May 30 Breaking Change * Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954) * Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957) * Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958) * Migrate `ACTION_LAYER_MODS` to `LM()` (#8959) * Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968) * Convert V-USB usbdrv to a submodule (#8321) * Unify Tap Hold functions and documentation (#8348) * Changing board names to prevent confusion (#8412) * Move the Keyboardio Model01 to a keyboardio/ subdir (#8499) * Move spaceman keyboards (#8830) * Migrate miscellaneous `fn_actions` entries (#8977) * Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979) * Organizing my keyboards (plaid, tartan, ergoinu) (#8537) * Refactor Lily58 to use split_common (#6260) * Refactor zinc to use split_common (#7114) * Add a message if bin/qmk doesn't work (#9000) * Fix conflicting types for 'tfp_printf' (#8269) * Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480) * Refactor and updates to TKC1800 code (#8472) * Switch to qmk forks for everything (#9019) * audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484) * Audio enable corrections (2/3) (#8903) * Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582) * Audio enable corrections (Part 4) (#8974) * Fix typo from PR7114 (#9171) * Augment future branch Changelogs (#8978) * Revert "Branch point for 2020 May 30 Breaking Change" commit 7b8a013826ad90714a05ea522de53adf964ab3b9 Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Fri May 29 03:02:12 2020 +1000 Fix crkbd slave matrix print to require debug_matrix (#9217) * Fix crkbd slave matrix print to require debug_matrix * Remove redundant include Co-authored-by: Ryan Co-authored-by: Ryan commit 5263dfd46520bd40af1d2b39364436df1c96a111 Author: Drashna Jaelre Date: Thu May 28 01:26:53 2020 -0700 Keyboards/zsa updates (#9214) commit 13206b2f87b1bce87d58cdfdddb1bcc7b58e4a24 Author: Ryan Date: Thu May 28 11:27:14 2020 +1000 Community layout support for KBDpad Mk.I (#9220) * Community layout support for KBDpad Mk.I * Matching spacing commit cb9be8a9dc33a65750ea49505d4971555a45de40 Author: onefiftynine Date: Wed May 27 20:03:02 2020 -0500 Fix projectkb/alice LED indicator (#9226) Keyboard pre initialization code for LED pins. commit a1af8542c74525d7b5c5ff85052e6afa2589a418 Author: squizzler <56064906+squizzler@users.noreply.github.com> Date: Wed May 27 13:23:57 2020 +0100 RSTHD keymap for Minidox (#9178) * Re-add liles after hard reset * repopulate with keymap * Update keyboards/minidox/keymaps/rsthd_combos/keymap.c Updated how the layers are defined to reduce firmware bloat Co-authored-by: Joel Challis * Update keyboards/minidox/keymaps/rsthd_combos/keymap.c Removed unnecessary key codes Co-authored-by: Joel Challis * Update keyboards/minidox/keymaps/rsthd_combos/keymap.c Removed backslash from each line of the layers in accordance with current convention. Co-authored-by: Ryan * Edit of readme Co-authored-by: Joel Challis Co-authored-by: Ryan commit 1a5dc278bc5aadfce220e18d53ff612d6592a12b Author: Zach White Date: Wed May 27 00:43:22 2020 -0700 Fix running qmk info without any arguments (#9218) commit 10c1e1b3abd5c91dd498610c985a9f4873a20288 Author: yttyx Date: Wed May 27 02:17:16 2020 +0100 [Keymap] Update yttyx Planck keymap (#9191) * Normalise layout and README from yttyx niu keymap. * Correct case of README. * Changes following review. Co-authored-by: Nick Willis commit 00c1401d3c3b6d5d672719f21795c10a387d15c8 Author: Ryan Date: Wed May 27 10:52:48 2020 +1000 Documentation for keymap_extras (#9194) commit a9b3c0a807e00e7279bb039abb5d5696ecd6d0c1 Author: halfenergized Date: Wed May 27 07:20:32 2020 +0700 Adding TGR Tris/Tris CE Numpad (#9139) * Add TGR Tris * Update readme.md * Update rules.mk * Update keyboards/tgr/tris/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/tgr/tris/keymaps/via/keymap.c Co-authored-by: Joel Challis * Update keyboards/tgr/tris/keymaps/default/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/tgr/tris/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/tgr/tris/tris.h Co-authored-by: Drashna Jaelre * Update keyboards/tgr/tris/info.json Co-authored-by: Joel Challis * update formatting * Revert "update formatting" This reverts commit ae2d6832673985a874f7f43d42bdb56679d851d6. Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre commit ac447d8acb95658fd58e6504abbc92d7acb21960 Author: Wilba Date: Wed May 27 10:18:13 2020 +1000 ISSI driver compile error fix (#9169) commit a5e749d8cd76959e8103fff47d65725e19460d81 Author: Zach White Date: Tue May 26 15:18:49 2020 -0700 Fix the path for generated keymaps (#9213) commit 4ee623fdd588edb9ac8816040f01d7644a49bd52 Author: Zach White Date: Tue May 26 14:29:48 2020 -0700 Fix compiling json files (#9210) commit 751316c34465ea77e066c3052729b207f3d62e0c Author: Zach White Date: Tue May 26 13:05:41 2020 -0700 [CLI] Add a subcommand for getting information about a keyboard (#8666) You can now use `qmk info` to get information about keyboards and keymaps. Co-authored-by: Erovia commit 5d3bf8a050f3c0beb1f91147dc1ab54de36cbb05 Author: nathanvercaemert <50712356+nathanvercaemert@users.noreply.github.com> Date: Tue May 26 14:46:02 2020 -0400 [Keymap] Contributing Home-Row-Centric-Mousekey Layout (#9195) * adding personal keymap to repository * starting to customize documentation to keymap * updated readme * updated readme commit 6501377070ff20bd061ea85c7ae5517652b6478b Author: Erovia Date: Tue May 26 17:43:33 2020 +0200 CLI: fix `json2c` subcommand and add/fix tests (#9206) Co-authored-by: Zach White commit af2ca136045c0157c5c093fb902dccacd9fa0e32 Author: Leivince John Marte Date: Tue May 26 18:35:06 2020 +0800 [Keymap] Ported ok60 to via (#9179) * Initialize ok60/via * Update vendorId for ok60 to K6 0x4b36 * Update keyboards/ok60/config.h commit 451c472d1d701507d06923a859561a60bfbcfa78 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue May 26 17:14:58 2020 +0900 [Docs] Japanese translation of docs/feature_pointing_device.md (#8993) * add feature_pointing_device.md translation * update based on comment * update based on comment * update based on comment * update based on comment commit bfe76053ba2767e8df1aea1183c8dcaabeaca8c9 Author: yttyx Date: Tue May 26 05:24:16 2020 +0100 [Keymap] Niu keymap and README update (#9190) * - Balance 12 layers now in their final form - Added Plover layer - Updated README to use layout images * Add headings to layer images. * - Remove redundent TO(_BA) from FC layer - Link to new FC layer image from README * Highlight home keys. * Changes following review. commit 9d41281a1d09c8bd3ae1c0a8bd6df95ada899451 Author: Jumail Mundekkat Date: Tue May 26 14:10:48 2020 +1000 [Keyboard] Add Key 65 by Fox Lab (#9116) * Add Key65 Universal PCB * Add ISO layout to universal * Correct universal info.json * Add Key 65 Hotswap * Correct typo in Key 65 Universal * Update readmes * Correct name * Update keyboards/foxlab/key65/hotswap/config.h * Apply suggestions from code review * Invert capslock LED state * Avoid initial capslock LED flash * Apply suggestions from code review * Update rules.mk * Apply suggestions from code review commit ba5e1f1bae1d724ab9b08229c2ce89d8d7714706 Author: Yasuhiro SHIMIZU Date: Tue May 26 12:16:03 2020 +0900 [Keymap] update helix/rev2:yshrsmz keymap (#9047) * update helix keymap * use set_single_persistent_default_layer commit e4823aadec24bca0ecfd1184562d27a49fd20544 Author: Ryan Date: Tue May 26 12:43:14 2020 +1000 Fix capitalisation of "GitHub" (#9184) commit 5c9906eb4fc569cd08d88dcd85ce9afaa5410ffb Author: KOBAYASHI Daisuke Date: Tue May 26 11:26:27 2020 +0900 Add VIA support for kbd67rev1 (#9173) commit f56d333db1a2dc4ec20de410ec9a26e5195e4411 Author: Wilba Date: Tue May 26 12:22:14 2020 +1000 [Keyboard] Added wilba.tech WT60-XT (#9168) * Added wilba.tech WT60-XT * fix indent * Update keyboards/wilba_tech/wt60_xt/readme.md * Update keyboards/wilba_tech/wt60_xt/rules.mk * Update keyboards/wilba_tech/wt60_xt/wt60_xt.c commit d8f76f9e6dd76b20636f7726f98aac9c26d03aa5 Author: yulei Date: Mon May 25 20:16:33 2020 +0800 Added missing shutdown_user() hook (#9180) * add missing shutdown_user() * use reset_keyboard() from quantum commit 6ca00c2152831885e719a31e606bf041601a7a16 Author: gmadrid Date: Mon May 25 00:12:31 2020 -0400 [Keyboard] PDBDOWN should be PCBDOWN. (#9192) commit dc6fe85b87a62ddba13b501a8d81bea9d5ff563b Author: Joel Challis Date: Mon May 25 03:15:27 2020 +0100 [Keyboard] Add zvecr/split_blackpill (#9166) * Add split_blackpill keyboard * Add RGB config * tidy up rules * fix usage of layer_state_t * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Add configurator support commit 883dd2df80edf084d100c61c1b61782bfa5503f9 Author: Drashna Jaelre Date: Sun May 24 15:02:13 2020 -0700 Fix i2c EEPROM compile issue when Console is enabled (#9186) * Fix i2c EEPROM compile issue when Console is enabled * Only use if both console and debugging is enabled commit 2ac3a51d71a05fe46fc6967797b0d34d8fb3fcd8 Author: Drashna Jaelre Date: Sun May 24 15:02:00 2020 -0700 Fix SPI EEPROM compile issue when Console is enabled (#9193) commit f66680d233d1abf61a38d3704a99941c62bfebbc Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun May 24 07:57:59 2020 +0900 Fixed the indentation of the sample code in feature_pointing_device docs (#9177) * Fixed the indentation of the sample code in docs/feature_pointing_device.md sample. * Update docs/feature_pointing_device.md Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 503cf18aedc8166bb5a84e15fb0c6c6da6d47f53 Author: shohart Date: Sat May 23 18:49:05 2020 +0200 ymdk/bface - RGB config and minila layout (#9127) * Fix info about RGB LEDs on the bottom. * Added RGB LEDs support * Added RGB LEDs config options * Added minila layout with RGB keys * Create readme.md * Update keyboards/ymdk/bface/keymaps/minila/keymap.c Co-authored-by: Joel Challis * Update keyboards/ymdk/bface/keymaps/minila/keymap.c Co-authored-by: Joel Challis * Update keyboards/ymdk/bface/keymaps/minila/keymap.c Co-authored-by: Joel Challis * Update keyboards/ymdk/bface/keymaps/minila/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/ymdk/bface/keymaps/minila/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 38d2c8cedf9f9f43b5ba372ffd38ccc7cc96be15 Author: Joe Doh Date: Thu May 21 22:51:36 2020 -0400 [Keymap] dohmain 60_tsangan_hhkb layout (#9157) * initial commit for tsangan_hhkb community layout * keymap.c done * wrote readme * move media keys; add shortcuts * edit to reflect changes in keymap * update readme with imgur link commit 53224e03d62a4d0bd7c9f7e63fd6222ec649a4fa Author: Ckat Date: Thu May 21 23:37:09 2020 +0000 [Keyboard] handwired/k8split (#9133) * New Keyboard: k8split * Apply suggestions from code review * move NKRO rule to keymap scope commit 7ef2ea3d492f07a069b0dbbb2459d6b8149ddf29 Author: Ryan Date: Fri May 22 09:28:55 2020 +1000 Improve the Makefile message a bit more (#9161) commit 9e4037465afe5a6e1888d4bf2a0b80fee9beed99 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu May 21 13:34:28 2020 -0700 [Keyboard] Wolfmark Club WM1 (#9121) * do the basic port for the WM1 * with much help from tzarc, get the addresses correct * make the keymap more closely mirror what the board has * Add QMK Configurator support * update the readme * get indicator leds working * enable RGB underglow * fix up rgb underglow * add notes regarding existence of backlight * Update keyboards/wolfmarkclub/wm1/readme.md * Update keyboards/wolfmarkclub/wm1/rules.mk * Update keyboards/wolfmarkclub/wm1/rules.mk * Update keyboards/wolfmarkclub/wm1/rules.mk * Update keyboards/wolfmarkclub/wm1/rules.mk * Update keyboards/wolfmarkclub/wm1/config.h * Update keyboards/wolfmarkclub/wm1/ld/wm1_f103.ld * Update keyboards/wolfmarkclub/wm1/bootloader_defs.h * Update keyboards/wolfmarkclub/wm1/config.h * Update keyboards/wolfmarkclub/wm1/rules.mk * Update keyboards/wolfmarkclub/wm1/wm1.c * Update keyboards/wolfmarkclub/wm1/wm1.c * Update keyboards/wolfmarkclub/wm1/rules.mk * Update keyboards/wolfmarkclub/wm1/rules.mk * Update keyboards/wolfmarkclub/wm1/readme.md * Update keyboards/wolfmarkclub/wm1/rules.mk * Update keyboards/wolfmarkclub/wm1/rules.mk * Update keyboards/wolfmarkclub/wm1/rules.mk * Update keyboards/wolfmarkclub/wm1/rules.mk * update readme commit fd4f1029771fba4d620ca6cfc9710ccbba421206 Author: Nick Brassel Date: Fri May 22 06:25:03 2020 +1000 Fix build. (#9163) commit 6d84795bc1e4b867725e3ddd906af9e125f71e3b Author: Joel Challis Date: Thu May 21 21:20:46 2020 +0100 Update ARM split keyboard docs (#9160) * Update ARM split keyboard docs * Update docs/serial_driver.md Co-authored-by: Nick Brassel Co-authored-by: Nick Brassel commit 179e5c018fcee9bcb0a7f1907cc96d44ed5cf554 Author: Erovia Date: Thu May 21 21:56:43 2020 +0200 CLI: Rework submodule checking (#9162) commit 5246acb2e4c188198d503856a493b66174486db8 Author: Rys Sommefeldt Date: Thu May 21 20:49:35 2020 +0100 [Keyboard] Add support for Ace of Spades TKL keyboard (#9128) * Add support for Ace of Spades * Fix the F-row mappings * Add the tkl_iso layout * Put KC_PAUS back in place of top layer reset * aholland909 personal keymap for Ace of Spades * Address PR feedback and rename to aos/tkl * Rename keyboard implementation filenames * Remove unnecessary layers * info.json for the configurator commit 02a8c874f885241306a62e8f43d6ed1f0ef1d3ac Author: Thomas Baart Date: Thu May 21 21:43:39 2020 +0200 [Keymap] Kyria: Updated personal keymap, added asapjockey's keymap (#8019) * Updated personal keymap, added asapjockey's keymap * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Fixed layers, brackets * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c * Update keyboards/kyria/keymaps/asapjockey/keymap.c commit dae6f6b39bead1e5a709e7c07d4c3589fa5e1354 Author: ridingqwerty Date: Thu May 21 15:33:20 2020 -0400 Remove broken example from Makefile (#9159) * Remove broken example from Makefile * Correct example in Vagrantfile commit 526c185e7e029387b178e52de7e1c7e4623301ae Merge: c63fd051da b95979560c Author: Joel Challis Date: Thu May 21 19:39:51 2020 +0100 Initial arm serial partially based on old lets split code (#7072) commit c63fd051dade376ec8d44245b3b8058dd5549af6 Author: QMK Bot Date: Thu May 21 17:39:29 2020 +0000 format code according to conventions [skip ci] commit b95979560c9b789d143a51d58446ef5c284c107d Author: zvecr Date: Fri Oct 18 20:06:28 2019 +0100 Initial arm serial partially based on old lets split code commit 65150984bd1f9c301b080652fe60b181765bb9be Author: Joel Challis Date: Thu May 21 18:00:21 2020 +0100 ARM split - Add uart half duplex transport support (#7987) * ARM split - Add uart half duplex transport support * Fix for f103 * initial full duplex pass * partially remove full duplex * Correct speeds within driver docs Co-authored-by: Nick Brassel Co-authored-by: Nick Brassel commit 205321c37740caaffbca69e626a8432fd369d20c Author: Joel Challis Date: Thu May 21 17:59:56 2020 +0100 Slight speed increases for matrix scanning (#9150) commit 1816ad01d0efcc987b5aa7a833331b0f9d903d4f Author: Joel Challis Date: Thu May 21 17:59:01 2020 +0100 Use LUFA funcs for split_util (#8594) commit 9c8f61dfa0dfb3a500ffd12b4a2d1a906a7b669f Author: Ryan Date: Fri May 22 02:24:39 2020 +1000 [Docs] newbs_flashing.md: place bootloader instructions before Toolbox intro (#9077) * newbs_flashing.md: place bootloader instructions before Toolbox intro * Update docs/newbs_flashing.md * More wordsmithing, point ARM users at Discord if all else fails * Link Discord commit d1df576ece12a7627a18e1581eed482cda2dbed5 Author: Nick Brassel Date: Thu May 21 20:31:42 2020 +1000 Allow for overriding RAW endpoint usage page and ID. (#8834) * Allow for overriding RAW endpoint usage page and ID. * Move usb_descriptor_common.h. * Docs update. commit 83ebbf57b349552038d9d9af994eb2e9528ecbc5 Author: Erovia Date: Thu May 21 10:15:18 2020 +0200 Fix submodule check (#9155) commit 8e1f706ac6aed03875ae9c6c00444778654b0380 Author: Parker Coates Date: Wed May 20 19:11:52 2020 -0300 Enable backlight breathing support for the TADA68 (#9145) The factory TMK firmware for the TADA68 supports backlight breathing, so I was surprised when the BL_BRTG key I set up in the online QMK configurator didn't work. As far as I can tell, this was just a simple omission. commit b0c780ed32712d2eb38c69a2b9465a00b861381e Author: Joel Challis Date: Wed May 20 16:28:39 2020 +0100 Fix ChibiOS FPU build logic (#9132) commit 3ad2be52a7098c269d741f8d59a424afdbd7302d Author: Pete Johanson Date: Wed May 20 11:09:13 2020 -0400 CLI: Improve experience when running `qmk setup` on FreeBSD. (#8798) * CLI: Improve experience when running `qmk setup` on FreeBSD. * Install the `avrdude` package as well. * Switch to installing python packages w/ `--user` flag. * Basic getting started sections for FreeBSD. * Update `util/freebsd_install.sh` for root/non-root branches. * Add ID to doc section. Co-Authored-By: skullydazed * Add ID to another docs section. Co-Authored-By: skullydazed * Use `; then` in script for consistency. Co-Authored-By: skullydazed * Updated to use sudo in one shot if available. * Apply suggestions from code review Co-authored-by: Erovia * Style fixes for latest version in master. * Apply suggestions from code review Co-authored-by: Ryan Co-authored-by: skullydazed Co-authored-by: Erovia Co-authored-by: Ryan commit 0fbcb41c8509279751b8676211b8686b1b866508 Author: Joel Challis Date: Wed May 20 05:54:55 2020 +0100 Reintegrate previous docker docs (#9084) commit ddca4227769342171d8b12030207f6de87bcd852 Author: Garret G <45295190+The-Royal@users.noreply.github.com> Date: Tue May 19 20:08:34 2020 -0500 Add VIA Keymap to Liminal Directory (#8965) * add via keymap to liminal keyboard * fix keymap clarifications * Update keyboards/the_royal/liminal/keymaps/via/keymap.c Co-Authored-By: Drashna Jaelre Co-authored-by: TheRoyalSweatshirt Co-authored-by: Garret G <45295190+TheRoyalSweatshirt@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit 82bb7d2852c76c7b2c8970bebd47bbd701d9416d Author: pcoleman Date: Tue May 19 17:01:54 2020 -0500 Adding Chimera Ortho Plus (#9093) * Added Chimera Ortho keymap * Cleaning up the rules * Removing firmware sizes * Modified URLs to point to new locations * Remove _quantum functions from custom matrix.c code * Fix 1 * Update keyboards/chimera_ortho_plus/rules.mk Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/readme.md Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/readme.md Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/config.h Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/config.h Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/chimera_ortho_plus.c Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/chimera_ortho_plus.c Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h Co-authored-by: Ryan * lining up the matrix * Update keyboards/chimera_ortho_plus/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/chimera_ortho_plus/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/chimera_ortho_plus/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/chimera_ortho_plus/config.h Co-authored-by: Ryan Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 1044519f3666667d576fc448be0d7569c1969db7 Author: Kamel Makhloufi <742898+melka@users.noreply.github.com> Date: Tue May 19 23:42:09 2020 +0200 Added custom keymap with french mac layout. (#9115) * Added custom keymap with french mac layout. * Update keyboards/xd60/keymaps/melka/config.h Tested on my branch, seems to work well, thanks @drashna ! Co-authored-by: Drashna Jaelre * Update keyboards/xd60/keymaps/melka/keymap.c Co-authored-by: Ryan * Update keyboards/xd60/keymaps/melka/keymap.c Co-authored-by: Ryan * Update keyboards/xd60/keymaps/melka/keymap.c Co-authored-by: Ryan * Comitted changes from merge request - Removed rules.mk Co-authored-by: Kamel Makhloufi Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 209942366b7da264d349c37ac6f4f69a3484b526 Author: artjomsR Date: Tue May 19 22:05:32 2020 +0100 Art userspace (#9068) * added git codes * started git layer * finished structure for git layer. MOD: replaced mouse with mod keys on right hand * layout changing layer * mod enter. default qwerty layer. removed mods on number layer * workman layout. git log, show. blank enter and bsspace * config layer. toggleable ctrl/alt for OS * removed keymap comments * strings and combos layers. sarcasm and ctrl_ctv. RGB configs * reintroduced enter and bspace. delete backspace as a function. git push -u and checkout -b * string macros * OS specific home/end * OS mac & win keys. N delete global backspace * refactored backspace functions * ctrl lctv macro * base layer toggle fix * whitespace * BS + L for FF and chrome * replaced 1 keycode with userspace * added userspace config * remove comments * add another keycode with a variable * moved all keymaps and codes to common file * ctrl z mod * removed ctrl z * sipmlified OS functions * moved is_win to keyboard level * added mac alt tab * added ctrl tab in mac + clean up variables in art.h * tild string macro. added mac left/right + home/end * mac ctrl backspace * enum layers for default layout * added ergodone keymap * ergodone compiles * clean up * clean up * removed obsolete OS_HOME/END * removed var * added ctrl nav to split75 * ergodone clean up + caps lock fix 75 * fix mac ctrl alt on right handside. added mac alt tab left right * fix ergodone config override * fixed alt left right not working on mac * added OS ctr_alt * mac ctrl del. fix tild * simplified tild macro * git stash apply * send_string_remembering_lenght * shifted strings print * restored KC_BSPACE functionality * moved KC_BSPC * numpad layer on Fn * media lights * ergodone final clean up * ergodone GIT AND MEDIA layers * ergodone GIT LAYER switch * default behaviour for all modified keys on BASE layer * refactored logic for default keycodes * ergodone final layers * ctrl_cav for translation and ctrl_l fix * toggleable layer with numpad * comments * numpad layer * Update users/art/config.h Co-authored-by: Joel Challis * enable dynamic macros for split75 * git branch and develop/master * removed esc from Nav * ergodone: ctrl alt for shift layer * macros and right alt for ergodone * fix ergodone N_backspace not working on git layers * mac language switch with alt+shift * Update users/art/art.c Co-authored-by: Ryan * Update users/art/art.c Co-authored-by: Ryan * Update users/art/art.c Co-authored-by: Ryan * Update keyboards/ergodone/keymaps/art/keymap.c Co-authored-by: Ryan * Update users/art/art.h Co-authored-by: Ryan * flashing leds to indicate current os * using rshift on shifted layers Co-authored-by: Joel Challis Co-authored-by: Ryan commit 494b34b63f84617ddc56ff6dc0395505a33eb24e Author: Shadowtrance Date: Wed May 20 06:28:55 2020 +1000 Add Via support to the YMD09 (#9108) * Add Via support to the YMD09 * Update keyboards/ymdk/ymd09/config.h Co-authored-by: Ryan * Update keyboards/ymdk/ymd09/keymaps/via/rules.mk Co-authored-by: Ryan Co-authored-by: Ryan commit 58e3b01f37b35cdf77fb44f14765b11215104b24 Author: TerryMathews Date: Tue May 19 16:15:16 2020 -0400 Candybar: VIA support for lefty and righty (#9066) * Candybar: VIA support for lefty and righty * Update keyboards/candybar/lefty/config.h Co-authored-by: Ryan * Update keyboards/candybar/righty/config.h Co-authored-by: Ryan * Update keyboards/candybar/lefty/keymaps/via/keymap.c Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Joel Challis commit 6c2008c6883e34aa921223bc841636ee6ae336ad Author: Stefano Date: Tue May 19 22:03:23 2020 +0200 Gherkin 26, 27, 28, 30 keys compatibility (#9136) * Gherkin 26, 27, 28, 30 compatibility * Update readme.md Co-authored-by: stevexyz commit bcedc80ec7b7d82cf8173e2e6c4d60bb32d59498 Author: Ryan Date: Tue May 19 21:39:52 2020 +1000 MSYS2 install: bodge out avrdude package installation for USBaspLoader commit ef5fad137bc2516de0ac5082385377fefc010d4f Author: Drashna Jaelre Date: Tue May 19 04:29:20 2020 -0700 Disable Mousekey Command interface when Constant speed is enabled (#7017) commit 15dd05c40262327ac71d44cd15edaec9046bb6fe Author: Koichi Katano <36572567+kkatano@users.noreply.github.com> Date: Tue May 19 20:22:12 2020 +0900 [Keyboard] Add Bakeneko 80 keyboard (#9118) * Add Bakeneko 80 keyboard * Update keyboards/bakeneko80/rules.mk Co-authored-by: Ryan * Update keyboards/bakeneko80/config.h Co-authored-by: Ryan * Update keyboards/bakeneko80/config.h Co-authored-by: Ryan Co-authored-by: Ryan commit 32d03db3714a73391002480363a982c92fcce007 Author: jja2000 Date: Tue May 19 12:27:43 2020 +0200 [Keymap] Add Via support to ALPS64 (#9041) commit c9d396dd47a1cbecefc45f104a2e7c0ebe2a813e Author: moyi4681 Date: Tue May 19 17:23:07 2020 +0800 [Keyboard] add kbdfans/maja rgb keyboard (#9114) * add kbd67 rev2 via support, kbd67mkiirgb small change add kbd67 rev2 via support, kbd67mkiirgb small change * Update keyboards/kbdfans/kbd67/rev2/keymaps/via/keymap.c * Update keyboards/kbdfans/kbd67/rev2/keymaps/via/keymap.c * define DYNAMIC_KEYMAP_LAYER_COUNT 2 * add kbdfans/maja rgb keyboard * Update keyboards/kbdfans/maja/maja.c * Update keyboards/kbdfans/maja/readme.md * Update keyboards/kbdfans/maja/keymaps/default/keymap.c * Update keyboards/kbdfans/maja/maja.h * Update keyboards/kbdfans/maja/maja.c * Update keyboards/kbdfans/maja/keymaps/default/keymap.c * Update keyboards/kbdfans/maja/keymaps/via/keymap.c * Update keyboards/kbdfans/maja/maja.c * Update keyboards/kbdfans/maja/keymaps/via/keymap.c * Update readme.md * Update readme.md * Update keyboards/kbdfans/maja/rules.mk * Update keyboards/kbdfans/maja/keymaps/via/keymap.c * Update keyboards/kbdfans/maja/rules.mk * Update keyboards/kbdfans/maja/rules.mk * Update keyboards/kbdfans/maja/keymaps/default/keymap.c * Update keyboards/kbdfans/maja/keymaps/via/keymap.c * Update keyboards/kbdfans/maja/config.h * Update keyboards/kbdfans/maja/readme.md commit 2afb29e095eddfab91dcf1fc06be5fb151d2a5f5 Author: Eric Lau Date: Tue May 19 03:19:18 2020 -0600 [Keyboard] Add NumDiscipline Keyboard - Modified Version of Discipline With Numpad (#9112) * NumDiscipline firmware compiled * renamed folder, deleted config.h from default * deleted commented out code * fix readme make example for lowercase foldername * Update keyboards/ericrlau/numdiscipline/rev1/rules.mk * Update product name * Apply suggestions from code review - layout naming and key object ordering commit fcf150bd820195a169a5de2699cfa1f2d4d3d5a3 Author: skullY Date: Mon Apr 20 17:35:40 2020 -0700 Streamline the macos install process commit ee2eb01653a8ba886e75971e710dcc52199935a3 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue May 19 12:37:25 2020 +0900 [Docs] Japanese translation of docs/feature_led_matrix.md (#8991) * add feature_led_matrix.md translation * update based on comment * update based on comment commit 0bece1d44275abe5522eab396efd3acbf2117b44 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue May 19 12:29:04 2020 +0900 [Docs] Japanese translation of docs/feature_layouts.md (#8949) * add feature_layouts.md translation * update based on comment * update based on comment commit be69dd22e8903b9e2f2d14e7c5bdfd3b912ef29e Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue May 19 11:58:04 2020 +0900 [Docs] Japanese translation of docs/feature_thermal_printer.md (#9034) * add feature_thermal_printer.md translation commit b9675d21065b382b4f5652ed17d3c1e7c2e176cb Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue May 19 11:50:32 2020 +0900 [Docs] Japanese translation of docs/feature_velocikey.md (#9035) * add feature_velocikey.md translation * update based on comment * update based on comment commit f689f043b19ebc8e1d20158b70dac9b64282d736 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue May 19 11:43:36 2020 +0900 [Docs] Japanese translation of docs/feature_leader_key.md (#8950) * add feature_leader_key.md translation * update based on comment * set link as lang dir * update based on comment * update based on comment * update based on comment commit 54b04d96651a166088477ccf513fa534b30b2132 Author: Nick Brassel Date: Tue May 19 10:34:00 2020 +1000 Add SPI 25xx EEPROM support. (#8780) commit 4604c70c4c1a0cb2cebc010dba34b04e902bd982 Author: AlisGraveNil <63020540+AlisGraveNil@users.noreply.github.com> Date: Mon May 18 15:45:52 2020 -0400 [Keyboard] Add Bookerboard support (#9097) * 5/14/20 first push for bookerboard * Update rules.mk * Update keyboards/clawsome/bookerboard/rules.mk Co-authored-by: ridingqwerty * Update keyboards/clawsome/bookerboard/keymaps/default/keymap.c Co-authored-by: Joel Challis * Update keyboards/clawsome/bookerboard/config.h Co-authored-by: Ryan * Update keyboards/clawsome/bookerboard/bookerboard.c Co-authored-by: Joel Challis * Update keyboards/clawsome/bookerboard/bookerboard.h Co-authored-by: ridingqwerty * 5/15/20 * 2 * 3 * Update keyboards/clawsome/bookerboard/config.h Co-authored-by: Ryan * Update keyboards/clawsome/bookerboard/config.h Co-authored-by: Ryan * Update keyboards/clawsome/bookerboard/readme.md Co-authored-by: Ryan * Update keyboards/clawsome/bookerboard/readme.md Co-authored-by: Joel Challis * Update keyboards/clawsome/bookerboard/readme.md Co-authored-by: Joel Challis Co-authored-by: ridingqwerty Co-authored-by: Joel Challis Co-authored-by: Ryan commit 010c5b12bd0bc4a53abda6d8f9d77de8a7ef1e8f Author: QMK Bot Date: Mon May 18 13:42:23 2020 +0000 format code according to conventions [skip ci] commit 4adf4d5a8913d95de638bed52f41686a80145a89 Merge: d0e0202b27 fb9425df82 Author: Drashna Jaelre Date: Mon May 18 06:06:31 2020 -0700 Add SofleKeyboard support to QMK firmware. (#8970) * Add SofleKeyboard support to QMK firmware. * Sofle: Remove LAYOUT_kc macro for default layout. Remove unnecessary code. * Fix mistake in the latest commit * Remove duplicated layers for MAC/WIN support * Improve according to suggestion in PR * Add more improvements from PR * Fix a typo in README.md Co-authored-by: Nick Brassel * Remove unneeded break. Co-authored-by: Nick Brassel * Remove unneeded break. Co-authored-by: Nick Brassel * Apply suggestions from code review Remove unneeded breaks. Co-authored-by: Nick Brassel * Apply suggestions from code review Remove unneeded breaks (few more forgotten ones). Co-authored-by: Nick Brassel * Apply suggestions from code review Co-authored-by: Drashna Jaelre * Remove TAPPING_FORCE_HOLD from default keymap. * Add TAP_CODE_DELAY 10. Fix a typo (compilation error) Co-authored-by: Nick Brassel Co-authored-by: Drashna Jaelre commit d0e0202b272a28d6a1e7f0d059396067bb861272 Author: Drashna Jaelre Date: Mon May 18 06:05:35 2020 -0700 Add query functions for RGB Light and RGB Matrix (#8960) * Add additional query functions for RGBLIGHT * Add additional query functions for RGB Matrix * Change names of enable check functions * Fix macro for rgb matrix takeover of rgblight functions * Add documentation for rgb_matrix_get_hsv() * Add *_get_hsv function to rgblight commit fb9425df827400f040c6760eff11c4b980a76a99 Author: Josef Adamcik Date: Mon May 18 13:11:22 2020 +0200 Add TAP_CODE_DELAY 10. Fix a typo (compilation error) commit 22ad35b22575b1ff4a1b68d86a01a25c4a39fa5f Author: Josef Adamčík Date: Mon May 18 12:57:16 2020 +0200 Remove TAPPING_FORCE_HOLD from default keymap. commit f6cec668c7ad623043b0c7796fb599602b41eb75 Author: Josef Adamčík Date: Mon May 18 12:56:08 2020 +0200 Apply suggestions from code review Co-authored-by: Drashna Jaelre commit 2651edc24347c52093f15a83603515c3d215dca1 Author: Josef Adamčík Date: Mon May 18 12:45:38 2020 +0200 Apply suggestions from code review Remove unneeded breaks (few more forgotten ones). Co-authored-by: Nick Brassel commit 2a43989d30818feae5e71c505fda721afa8bf19d Author: Josef Adamčík Date: Mon May 18 12:43:35 2020 +0200 Apply suggestions from code review Remove unneeded breaks. Co-authored-by: Nick Brassel commit 2f5521cd48f692366d04679357c0f92b4bb36442 Author: Josef Adamčík Date: Mon May 18 12:42:32 2020 +0200 Remove unneeded break. Co-authored-by: Nick Brassel commit ac3d2a3810ad600b1d7909f32fd75bbdaaaec318 Author: Josef Adamčík Date: Mon May 18 12:42:17 2020 +0200 Remove unneeded break. Co-authored-by: Nick Brassel commit 178649099328b5f40ac4f58c6116a98ba1abf4c3 Author: Josef Adamčík Date: Mon May 18 12:41:55 2020 +0200 Fix a typo in README.md Co-authored-by: Nick Brassel commit e55d55edc08d5a5ca557e3ff442ca47ccd731067 Author: AbstractKB <49011872+AbstractKB@users.noreply.github.com> Date: Mon May 18 06:29:01 2020 -0400 [Keymap] added my gergo keymap (#8476) * added my gergo keymap * updated personal bfo9000 keymap * fixed redundancy, extended debounce time commit ad014c2539fefec0313fc936f41e50f841e42501 Author: CalciumNitride <46911478+CalciumNitride@users.noreply.github.com> Date: Mon May 18 18:28:00 2020 +0800 [Keyboard] Arabica37 (#8471) * adding arabica37 * jp_keymap * update * try refactor to use split_common * fix and update to use split_common * update and adjust * clean up * update * update * fix keymap.c * update * oled logo * fix info.json * remove pro_micro.h * remove KC_ macro * move font file commit 81698df0560376abfbd57c150cf571d0543e5fdb Author: Frothy Date: Mon May 18 06:40:41 2020 -0300 [Keymap] Add Via keymap for Contra (#9119) * Add Via keymap for Contra * Added Via-enabled keymap * Changed VENDOR_ID from 0xFEED to 0x4354 (CT) * Removed unnecessary RGB mappings * PR changes * Removed empty via/config.h * Changed product ID from 0x6060 to 0x0001 commit fca35a354092d3f706d1d628e695572f9f5579d0 Author: Tracy Wadleigh Date: Mon May 18 01:52:55 2020 -0700 [Keyboard] handwired/twadlee/tp69 (#9013) Includes info.json for custom layout and a minimal default keymap. commit 5d01cc45be72381a60ffdfa6d1b84716d3a18470 Author: powerlemming <47431393+powerlemming@users.noreply.github.com> Date: Mon May 18 04:36:27 2020 -0400 [Keyboard] KBDClack kaishi65 (#9089) * Added kaishi65 keyboard * added kaishi65 * Update readme.md * Updated info.json and keymap * Updated folder structure * Updated readme + keymap * Updated info.json * Update keyboards/KBDClack/kaishi65/readme.md * Update keyboards/KBDClack/kaishi65/kaishi65.c * Update keyboards/KBDClack/kaishi65/readme.md * Deleted \keymaps\config.h * Update keyboards/KBDClack/kaishi65/config.h * Folder name changed * Update keyboards/kbdclack/kaishi65/info.json * Update keyboards/kbdclack/kaishi65/kaishi65.h * Update keyboards/kbdclack/kaishi65/keymaps/default/keymap.c * Update keyboards/kbdclack/kaishi65/rules.mk * Update keyboards/kbdclack/kaishi65/keymaps/default/keymap.c commit eaab0844e88db55667e24c7fd73b9e527d14d812 Author: NekuSoul Date: Mon May 18 04:38:38 2020 +0200 Fix typo in led_config for dztech/dz65rgb (#9122) commit ce842f912e7b369ca3d83c65dd2135e23e87c153 Author: Ryan Date: Mon May 18 06:37:04 2020 +1000 Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) commit cceab93baa5a21e0004b0036bd9b43c1a39d92cd Author: Maxr1998 Date: Thu May 14 01:35:19 2020 +0200 [Pulse4k] Add personal keymap commit 4161573b2829ff1e1f17cb6b37b16d45e785f909 Author: Maxr1998 Date: Thu May 14 01:33:29 2020 +0200 [Pulse4k] Various improvements Rework led adjustment combo (have it defined by keymap now), reformat code, update copyright commit d0e684ef55fdcea2019eebdd0dd54903b3d67af3 Author: Ryan Date: Sun May 17 16:10:54 2020 +1000 DZ60: update to current template & code style (#9113) commit f125406700785333cd14c4ed74eefaa7dd26f235 Author: codecoffeecode Date: Sat May 16 13:47:07 2020 -0700 Adding unit tests for list-keymaps command (#7711) Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-Authored-By: Erovia commit afebb6576c0c3119fbbeb5b52d98ad6492e7c834 Author: Vincent Lee Date: Sat May 16 17:21:35 2020 +0100 [Keymap] Add Via support to the Melody96 (#9050) * Add files needed to The Via support on Melody 96 * Remove manufacture name from product name * replace blank key with Transparent keys * Update keyboards/melody96/rules.mk * Update keyboards/melody96/keymaps/via/keymap.c * Change Product ID to "M" + 96 * Update keyboards/melody96/keymaps/via/rules.mk * add LTO to via's local file * Update keyboards/melody96/rules.mk commit 7f6ba2bf8ae31ad02836d63a2842cefba3f8a5b5 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat May 16 09:16:51 2020 -0700 [Keymap] VIA Support: Exclusive E7-V1 (#9038) * add a VIA Keymap * update VID and PID * update readme * Update keyboards/exclusive/e7v1/readme.md commit 142ebaea4650b81da143210438ec3828d81289e9 Author: Nick Blyumberg Date: Sat May 16 03:35:19 2020 -0400 [Docs] Clarify layer transparency keymap.md (#9081) * Revised the grammar and clarity of the Layer Precedence and Transparency * Update docs/keymap.md * Update docs/keymap.md * Update docs/keymap.md * Update docs/keymap.md * Update docs/keymap.md * Update docs/keymap.md * Update docs/keymap.md commit bbd17def21cbf6df94305da4dd3d3fe51414a94e Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Sat May 16 03:17:02 2020 -0400 [Keyboard] Rebound rev3 (#9101) * more stoof * readme update * reverting keymap * re-adding userspace * new userspace needed * no want 0 under thumb * gettin fancier with my knob * macro fix * had pins for oled ver * wait, these are the right pins * reduntant line * image fix * get highest layer every day * whoops * correct rev name in json * a few good catches * what I had planned commit d89e552419822c565805bd95b992b8e7dfdf47d9 Author: Max Rumpf Date: Sat May 16 08:43:10 2020 +0200 [Phoebe] Keymap improvements (#9092) Enable leader key with some useful macros, use fancier design for keymap previews in code, other smaller tweaks commit 9cf69a199715a2aa7ba2ca7ab8f5553bbeb1dcd5 Author: Konstantin Đorđević Date: Sat May 16 08:36:08 2020 +0200 [Keymap] Update personal userspace and keymaps (#9082) * Replace custom RCTRL implementation with built-in LM Caveat: sends LCtrl instead of RCtrl * Enable VIA support in KBD6X keymap * Disable LTO on ChibiOS boards * Disable locking support and Magic keycodes for all keymaps * Organize and annotate rules.mk and config.h files * Enable Console for Melody96 keymap * L_RANGE_KEYMAP → LAYERS_KEYMAP * Revert "Replace custom RCTRL implementation with built-in LM" This reverts commit 17d706a82d7e31b53cd84efeb9b2ddb9922a2368. * Set DYNAMIC_KEYMAP_LAYER_COUNT to 3 in Doro67 and Wasdat keymaps * Enable Bootmagic Lite for all VIA keymaps commit c6cf1ae4e71f6d520c415e02b6b50f482c936698 Author: Paul Scheikl Date: Sat May 16 07:37:58 2020 +0200 [Keymap] Added the K.O,Y layout for the xd75 and atreus62 boards (#9079) * added koy layout to qmk on xd75 board * added koy keymap for the atreus62 board * reduced time for autoshift * added documentation * changed layer 7 to a tap toggle and adjusted mouse speed a little * Update keyboards/xd75/keymaps/ScheiklP/koy_keys_on_quertz_de_latin1.h * Update keyboards/xd75/keymaps/ScheiklP/koy_keys_on_quertz_de_latin1.h * Update keyboards/xd75/keymaps/ScheiklP/koy_common.h * Update keyboards/atreus62/keymaps/ScheiklP/koy_common.h * Update keyboards/atreus62/keymaps/ScheiklP/koy_keys_on_quertz_de_latin1.h * Update keyboards/atreus62/keymaps/ScheiklP/koy_keys_on_quertz_de_latin1.h * changed keymap to lowercase name to conform with qmk guidelines * Update keyboards/xd75/keymaps/scheiklp/rules.mk remove unnecessary rules * Update keyboards/atreus62/keymaps/scheiklp/rules.mk remove unnecessary rules * moved common files for koy layouts to the users folder and removed empty file * Update keyboards/atreus62/keymaps/scheiklp/keymap.c * Update keyboards/xd75/keymaps/scheiklp/readme.md * Update keyboards/xd75/keymaps/scheiklp/readme.md * Update keyboards/atreus62/keymaps/scheiklp/readme.md * Update keyboards/atreus62/keymaps/scheiklp/readme.md commit 2c9ab8a606cd038785b75f0c2dd5469e63de189d Author: Peter (Rocky) Villano Date: Fri May 15 22:17:24 2020 -0400 [Keymap] adds pvillano's preonic keymap (#9106) * adds pvillano's preonic keymap * Remove unnecessary "\" (tested - ok) commit 0bf60acc4b54c6b3f688263d75c1e5aec2e4338e Author: Wilba Date: Sat May 16 12:02:49 2020 +1000 [Keyboard] Added wilba.tech WT60-C (#9025) commit 6b54f3ce1cf6c7e215f313314ad57a6bf0f58478 Author: Erovia Date: Tue May 12 21:59:09 2020 +0200 CLI: Tune doctor's udev rule checking to match #8750 commit c3aaed8dfb988adaf667f0b821c8cc0389ccac4c Author: Keenan Brock Date: Fri May 15 15:09:22 2020 -0400 [kle2info] Trim the code in `kle2xy` (#8955) * [kle2jinfo] use min/max instead of if This is a slight change. Before, the key_skel would keep the invalid value for future keys. I think this is what was actually intended. * [kle2info] calculate x x is the current_x * key_size + (key_size/2) y is the current_y * key_size + (key_size/2) no reason to track both commit ebc274209e22bbe4e74fc750cf3eb6492283678e Author: Jonathan Arnett Date: Fri May 15 14:14:47 2020 -0400 Update j3rn keymap (#9100) commit 1bdfac8afc60f56297c99c1a4677786d8db4ee18 Author: dlgoodr Date: Fri May 15 13:13:55 2020 -0500 update dlg's tada68 keymap (#9098) commit 9b716b7adac11652dbd18dbcd6207bfd69cbd3d6 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Fri May 15 13:59:25 2020 -0400 stanrc85 userspace and keymap updates (#9103) * Update flash command in userspace * Switch to BackspaceFN on split spacebar commit b591c0c24a93b41b00168d169d71d4ac14f1491d Author: Wilba Date: Fri May 15 21:21:44 2020 +1000 [Keyboard] Added wilba.tech WT80-BC (#9024) * Added WT80-BC * Update keyboards/wilba_tech/wt80_bc/info.json * Update keyboards/wilba_tech/wt80_bc/info.json * Update keyboards/wilba_tech/wt80_bc/rules.mk * Update keyboards/wilba_tech/wt80_bc/rules.mk * Update keyboards/wilba_tech/wt80_bc/rules.mk * Update keyboards/wilba_tech/wt80_bc/wt80_bc.h commit 6ba014a572ef5fb737e14430dd5929d48fc00051 Author: Adrian Date: Fri May 15 12:36:40 2020 +0200 Fixed Murciélago info.json to work with qmk configurator -> wrong assignments (#9095) * fixed json to work with qmk configurator updates to readme * Change spacing of keys * changed overall size of keymap commit 2dd47a3bf4d0d7b86bde0cd51d45d75c76b549c3 Author: Joel Challis Date: Thu May 14 23:17:17 2020 +0100 avoid 'Entering|Leaving directory' messages (#9061) commit 887c1c4e0e6f51dcc22a365fa245fd6f8bc2ba1c Author: Conor Fischer Date: Thu May 14 00:56:52 2020 -0500 Fix bad key labels in ascii art (#9094) commit f66850bfd0f73c5a45da4cf8b075a7444c704b57 Author: Ryan Date: Thu May 14 12:32:43 2020 +1000 Improve stock bootloader list (#9067) * Improve stock bootloader list * Switch version numbers on USB64/128 bootloaders * Unix line endings for PS2AVRGB bootloader * Update PS2AVRGB bootloader to 1.0.1 * Also mention bootloader rule * Didn't need to change the links commit 632285c9820f1c8231eeb0c7dc3ace3002ba0e26 Author: yiancar Date: Thu May 14 01:24:18 2020 +0100 V-USB Interface reorder (#9090) commit 805f5cb72bb04c10327b40ed0c41e3848ad9ca75 Author: Zsolt Parragi Date: Wed May 13 23:36:55 2020 +0200 One shot support for swap hands (#8590) This commits add the SH_OS keycode, which works similarly to one shot layers: * while pressed, the keyboard is swapped * if no keys were pressed while it was pressed, the next key press is swapped SH_OS also supports chaining with one shot layers: OSL(x) + SH_OS + key interprets the key press on the oneshot layer. The ONESHOT_TIMEOUT setting used by one shot keys and layers is also used by oneshot swap hands. In the above chaining scenario the timeout of the oneshot layer is reset when swap hands is activated. Resolves #2682 commit a8a8bf0ff3d6e1c9637079b925b30cf7eb8913fd Author: Joshua Diamond Date: Wed May 13 16:39:05 2020 -0400 Allow expanding from 8 to 32 RGB Lighting Layers (#8941) * Allow 16 lighting layers * Require #define RGBLIGHT_LAYERS_16 to enable 16 layers * Override RGBLIGHT_MAX_LAYERS to set maximum number of lighting layers * Enforce lower bound on RGBLIGHT_MAX_LAYERS Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Fix an error in the check for valid RGBLIGHT_MAX_LAYERS * Don't use bitfield / PACKED, as it causes bloat * Update documentation re: up to 32 lighting layers * Run cformat * Add note about increasing FW size in docs/config_options.md Co-authored-by: Drashna Jaelre * Remove no-longer-valid comment * Add doc note that split sync will be slower Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit fadd3cb4617fe7e48c802c4470a50df36e6c5109 Author: Adrian Date: Wed May 13 22:29:11 2020 +0200 added murcielago keyboard (#8920) * Squashed pull request for murcielago * removed rotation prior to creating info.json commit a41f973f75eff621a352089fa53dde94b095f606 Author: bottilabo Date: Thu May 14 05:22:27 2020 +0900 optimize source code for size. reduce compiled binary size 292 bytes (#8428) * optimize source code for size. reduce compiled binary size 292 bytes * more size optimization commit 7abbc95cd6abab289def05a1e24640a7b04c7333 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed May 13 12:00:37 2020 -0700 Fix incorrect key sizes in Configurator (#9073) * fix key size: exclusive/e6v2/le_bmc * fix key size: exclusive/e6v2/oe_bmc * fix key sizes: flx/lodestone * fix key size: handwired/prime_exl * fix key sizes: massdrop/ctrl commit 30a6f231bfc6b447e9b2c45b39527f0c0b9c909f Author: Hund Date: Wed May 13 20:43:28 2020 +0200 [Keyboard] Added support for Aves 65 (#8880) * First commit. * Apply suggestions from code review Co-Authored-By: Drashna Jaelre Co-Authored-By: Ryan * Update keyboards/aves65/rules.mk Co-Authored-By: Joel Challis * Update keyboards/aves65/aves65.h Co-Authored-By: Joel Challis * Update keyboards/aves65/keymaps/default/keymap.c Co-Authored-By: Joel Challis * Update keyboards/aves65/rules.mk Co-Authored-By: Joel Challis * Changes. * Changes * Changes * Update keyboards/aves65/rules.mk Co-authored-by: Joel Challis Co-authored-by: Hund Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Joel Challis commit 44ff14f290833a72f32c06901826f014d22ea810 Author: Ryan Date: Thu May 14 04:34:55 2020 +1000 Update Neo2 keymap (#9063) commit 741c7d5eec7deb89a0043852ad711917137a5e61 Author: Ryan Date: Thu May 14 04:34:31 2020 +1000 Update Canadian Multilingual keymap and add sendstring LUT (#8786) commit f3c30e80cc4478ec48d49eba793ccca6ed950852 Author: eniigmakeyboards Date: Wed May 13 14:20:39 2020 -0400 Updated rules.mk to allow for audio control in VIA (#9087) commit d846660e0080de38a9d20b05df8d11e9fbfb281f Author: floookay <33830863+floookay@users.noreply.github.com> Date: Wed May 13 20:06:41 2020 +0200 fixed typo for clear lcd screen function in hd44780 docs (#9086) * fixed typo for clear lcd screen function brought to attention by #9085 * fixed typo for clear lcd screen function (ja docs) commit 774384ce310588bd39a162465d90bdb19c87961c Author: Xyverz Date: Tue May 12 17:59:47 2020 -0700 Added defines for RAISE and LOWER (#9083) I like being able to use layers. This fixes my screw-up from my last code overhaul. commit 361ac2f32ac8b906dbb29cd0a6c5f971dad298c3 Author: Alex Ong Date: Mon May 11 10:04:38 2020 +1000 Optimization for scanning less layers. (#8311) * Optimization for scanning less layers. * Rename NUM_LAYERS to MAX_LAYER. commit d15a60d2d318ede79746c09d5beb79ba72037f30 Author: pabile <1162412+pabile@users.noreply.github.com> Date: Sun May 10 12:46:17 2020 +0800 [Keyboard] Add P40, P20 and P18 Keyboards by pabile (#8759) * Add files via upload * removed * Add files via upload * Rename pabile40.c to p40.c * Rename pabile40.h to p40.h * Add files via upload * Update p40.c * Update p40.h * Update README.md * Update README.md * Update README.md * Update README.md * Updated readme file * Updated readme file * Add files via upload * modified: keyboards/pabile/p18/config.h modified: keyboards/pabile/p18/keymaps/default/keymap.c modified: keyboards/pabile/p18/p18.h modified: keyboards/pabile/p18/rules.mk modified: keyboards/pabile/p40/config.h modified: keyboards/pabile/p40/keymaps/default/keymap.c * config update * Delete README.md.save * Delete keymap.c.save * Delete keymaps.c * modified: keyboards/pabile/p18/keymaps/default/keymap.c * Update p18.h * testing layout config * Create info.json * Create info.json * Create readme.md * Update readme.md * Updated description * Updated description * Update config.h updated vendor ID to 0000 * Update keymap.c removed unnecessary comments * Update keyboards/pabile/p18/p18.h * Update keyboards/pabile/p18/p18.h * Update p18.h removed unnecessary comments * Update keyboards/pabile/p18/rules.mk * Update keyboards/pabile/p18/rules.mk * Update config.h updated vendor id and removed unnecessary comments * Update keyboards/pabile/p40/info.json * Update keyboards/pabile/p40/keymaps/default/keymap.c * Update keyboards/pabile/p40/p40.h * Update keyboards/pabile/p40/p40.h * Update keyboards/pabile/p40/p40.h * Update keyboards/pabile/p40/rules.mk * Update keyboards/pabile/p40/rules.mk * Added p20 macropad * Update README.md * Updated VID and PID * Updated VID and PID * Update rules.mk * Update config.h * Update config.h * Update config.h * Update keymap.c * Replaced blank keys with KC_NO * Update keyboards/pabile/p18/keymaps/default/keymap.c * Update keyboards/pabile/p18/p18.h * Update keyboards/pabile/p18/rules.mk * Update keyboards/pabile/p20/keymaps/default/keymap.c * Update keymap.c * Update keymap.c * Update keyboards/pabile/p20/rules.mk * Update keyboards/pabile/p40/info.json * Update keyboards/pabile/p20/p20.h * Updated product ID * Updated product ID * Update keyboards/pabile/p20/config.h * Update keyboards/pabile/p20/p20.h * Update keyboards/pabile/p20/p20.h * Update keyboards/pabile/p20/keymaps/default/keymap.c * Update keyboards/pabile/p18/readme.md * Update keyboards/pabile/p20/README.md * Update keyboards/pabile/p20/rules.mk * Update keyboards/pabile/p20/rules.mk * Update keyboards/pabile/p20/rules.mk * Update keyboards/pabile/p20/rules.mk * Update keyboards/pabile/p40/README.md * Update keyboards/pabile/p40/rules.mk * Update keyboards/pabile/p40/rules.mk * Update keyboards/pabile/p18/rules.mk * Update keyboards/pabile/p18/rules.mk * Update keyboards/pabile/p40/config.h * Update keyboards/pabile/p40/config.h * Update keyboards/pabile/p18/readme.md * Changed to lowercase filename * Rename README.md to readme.md * Update keyboards/pabile/p18/rules.mk commit 73992c68d55430192ea3b11adfabae817393354e Author: Chuck Lauer Vose Date: Sat May 9 20:53:32 2020 -0700 Add one-handed Viterbi layout for gaming (#8963) * Add one-handed Viterbi layout for gaming * fixes for pr feedback * Update keyboards/keebio/viterbi/keymaps/vosechu/config.h Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 8ca4ed9a987f9e7815a813592a0210c4853386e6 Author: Brian Mock Date: Sat May 9 20:14:07 2020 -0700 Fix off by one error with oled_write_raw_P (#9045) commit 640d12d07072139ad3e7dea7c59e86b9b01a6fd6 Author: Zach White Date: Sat May 9 20:08:13 2020 -0700 Improve security of avrdude by eliminating the use of well-known names. (#9026) * Improve security by eliminating the use of well-known names. * Add an additional $ so the shell expands $TMP1 and $TMP2 Co-authored-by: Joel Challis Co-authored-by: Joel Challis commit 3beda5c16edc47d79b2d0c92595f1e959665e417 Author: Xyverz Date: Sat May 9 19:21:32 2020 -0700 [Keymap] Added MACLOCK macro (#9037) * Added MACLOCK macro Added my MACLOCK macro to my Atreus keymap. * Updated comments & readme Documented where in the layout I added the MACLOCK macro. commit fb7fc549233b10901f44d04019b976e7a5c81779 Author: TheFourthCow <63170386+TheFourthCow@users.noreply.github.com> Date: Sat May 9 22:06:44 2020 -0400 [Keymap] added shifted symbols support (#9059) * added shifted symbols to default keymap commit 179c868059734211add698857ca6d71bf9fd9c05 Author: Nick Blyumberg Date: Sat May 9 17:52:58 2020 -0400 [Keymap] Add nblyumberg 1upkeyboards super16 keymap (#8902) * Updated with my super16 version for my keypad * Added my folder to super16 * Set max LED brightness to 50% * Added custom keycodes for enter/shift+enter and copy/paste on one key * Fixed the boot up layer color * Renamed folder * Revert changes to root super16 files * Update keymap config.h and rules.mk files * Restore deleted 15game keymap files * Corrected the hold keycode for CCCV * Removed unnecessary comments * Update keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c Co-Authored-By: ridingqwerty * Update keyboards/1upkeyboards/super16/keymaps/nblyumberg/config.h Co-Authored-By: ridingqwerty * Update keyboards/1upkeyboards/super16/keymaps/nblyumberg/keymap.c Co-Authored-By: ridingqwerty * Rewriting the layer color functionality * Revisions * Fixed the layer switching * Fixed the default layer color problem * Added a function suggested by Drashna but it won't compile * Cleaned up the code for PR * Removed unnecessary define for layer colors Co-authored-by: ridingqwerty commit 7b11dcce106219cdbbbd3ea1e58891ab3dcffc67 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat May 9 14:47:11 2020 -0700 Docs: fix links in feature_hd44780.md (#9053) The referenced site was moved. commit e2fa05c6d26115bed193ab174c13ebdb63d8d543 Author: 1m38 <13414029+1m38@users.noreply.github.com> Date: Sun May 10 02:48:17 2020 +0900 [Keymap] Add Chidori OLED-enabled sample keymap (#8446) * create chidori/oled_sample keymap * Implement OLED enabled keymap * Update readme.md * Update keyboards/chidori/keymaps/oled_sample/keymap.c * Update keyboards/chidori/keymaps/oled_sample/keymap.c * delete chidori:oled_sample/config.h * use oled_write_ln_P to print layer state * delete unnecessary include * merge nested switches in oled_write_layer_state() commit 4c4009c0fd3e55c2eacde302ef08e56a3ff2ab60 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Sat May 9 16:38:19 2020 +0700 [Keyboard] add adelais PCB (#8945) * add adelais PCB * clean up * merger * update * Update readme.md * Update config.h * update * update * move keymap folder * Update info.json * Update info.json * Update info.json Co-authored-by: vuhopkep commit e7860d673b0e671988711a487931f61926dbbd56 Author: QMK Bot Date: Sat May 9 09:31:49 2020 +0000 format code according to conventions [skip ci] commit 2fe7e221ec9e412cc008aa5c03eaf27e35ff62c6 Author: Joshua Diamond Date: Sat May 9 04:56:16 2020 -0400 New RGB Lighting effect: Twinkle (#8887) * Add twinkle RGB Lighting effect * 2nd twinkle algo - double-buffering * Further refinement: Per-LED twinkle * Add documentation for Twinkle RBG Lighting mode * Bias twinkle saturation closer to the set value * Fix whitespace commit e0f548085cc9c29e85122d393e74143eb5de1d4d Author: Joshua Diamond Date: Sat May 9 04:38:33 2020 -0400 Add ability to blink lighting layer for a specified duration (#8760) * Implement momentarily blink of lighting layers * Refactor spidey3 userspace to use rgb layer blink * Remove un-necessary line from example in documentation * Revert "Refactor spidey3 userspace to use rgb layer blink" This reverts commit 831649bb680c41c6d663ae6fa86d13f4f8bebdd8. * Adds a missing bit of documentation about lighting layer blink * Update docs/feature_rgblight.md per suggestions Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update docs/feature_rgblight.md per suggestions Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update docs/feature_rgblight.md per suggestions Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * cformat, as suggested Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 94fc32f43135ac4afb14849c7fb5e99f95455078 Author: Konstantin Đorđević Date: Sat May 9 10:22:02 2020 +0200 Fix bug in UC_RMOD, add shift and audio support for UC_MOD/UC_RMOD(#8674) * Invert UC_MOD/UC_RMOD direction when Shift is held Also use MOD_MASK_SHIFT in process_rgb.c * Allow audio to be played for UC_MOD, UC_RMOD keycodes as well * Fix signedness bug in reverse input mode cycling * Misc formatting in process_unicode_common.c * Address clang-format issues * Make decode_utf8 helper function file-local (static) commit 1f7bbf279c925240630daacd3c29d51719112c3f Author: Andrew Dunai Date: Sat May 9 09:59:50 2020 +0300 [Keyboard] Added D48 keyboard (#8548) * [Keyboard] Added D48 keyboard. * Updated README. * Cleanups. * Moved d48 to handwired/ * Added link to build process album. * Coding conventions cleanups. * Added DS1307 RTC! * Minor cleanups. * Apply suggestions from code review Co-Authored-By: Drashna Jaelre * Minor refactoring. * Readme fix. * Moved leftover keymap-specific code from keyboard space into keymap. * Added encoder button pins to extra matrix row. * Updated README, updated pinout & cleaned up the glcdfont * Apply suggestions from code review Co-Authored-By: Drashna Jaelre * Update config.h * Apply suggestions from code review Co-Authored-By: Ryan * Added default keymap. Refactored existing keymap. * Update keyboards/handwired/d48/README.md Co-Authored-By: Ryan * Apply suggestions from code review Co-Authored-By: Joel Challis * Minor alignment fix. * Update keyboards/handwired/d48/glcdfont_d48.c Co-Authored-By: Ryan * Changes as per PR. * Apply suggestions from code review Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 803610a284ac886eaeb319b4a8d25ffbd2861152 Author: milestogo Date: Fri May 8 23:15:26 2020 -0700 [Keymap] initial user directory for milestogo + babblepaste (#7698) * initial user directory * fix missing endif in vi mode * fix includes per drashna and a few typos. I have not tested the userspace keymap, it is just there to help keep the user space and keymap in sync * move babblepaste docs to md format * clean up block quotes * TIL clang-format - miles2go userspace commit cd0edbb1fba91df97be233e30c145f352eda31c0 Author: OsciX Date: Fri May 8 20:08:19 2020 -0400 [Keyboard] Shambles TKL (#8500) * Add support for the Shambles TKL * Fix Shambles files * Add files via upload * Fix Shambles again * Delete shambles.h.h * Delete shambles.c.c * Add files via upload * Delete Makefile * Apply suggestions from code review * Fix default layout to work with review * Apply suggestions from code review * Add info files * Update readme.md * Update keyboards/shambles/readme.md commit 6919772fb99f34675ee26d202c26af443d6db287 Author: Eriq M. Adams Date: Sat May 9 05:57:11 2020 +0700 Add TENKI keyboard (#9029) * Add TENKI keyboard Add TENKI keyboard, default keymap and via keymap * Minor Update Readme.md Change description of hardware supported * change layout name change layout name from ortho_20 to ortho_5x4 * Fix invalid format in info.json Fix invalid format in info.json * Fix invalid format * Fix formatting Fix formatting tenki.h * Fix formatting in keymap.c Fix formatting in keymap.c * Add new line at EOF info.json Add new line at EOF * Fix formatting * Fix formatting * Update rules.mk Fix Formatting commit fedd8e81d1a0033c11c2a733e31037d36c798c81 Author: tominabox1 Date: Fri May 8 17:54:55 2020 -0500 Add Le Chiffre keyboard (#8995) * Initial * update json, added basic oled config, updated matrix to correct rotary location * disable oled by default * Tuned oled for release * Completed OLED function implementation Correct spelling error in readme * Fixed image in readme * Should not be in this branch * Incorporating recommended changes by zvecr * Update keyboards/le_chiffre/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/le_chiffre/readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit adda5d77707ea8f73d3d717f88802031b3f3fe27 Author: Joel Challis Date: Fri May 8 14:51:00 2020 +0100 Revert "Use nano specs (#8270)" (#9044) This reverts commit c775104b9f60d738fd69166da33972d60034c639. commit d2581884d98a4b02905f0b9249802468c1eb94b4 Author: eniigmakeyboards Date: Thu May 7 15:14:16 2020 -0400 [Keyboard] Eniigma Keyboards ek87 (#8937) * Added ek87 support * Fixed readme * Update keyboards/eniigmakeyboards/ek87/rules.mk * Update keyboards/eniigmakeyboards/ek87/config.h * Update keyboards/eniigmakeyboards/ek87/ek87.c * fixed title * Deleted old files * Added rules.mk file to VIA keymap folder * Update keyboards/eniigmakeyboards/ek87/keymaps/default/keymap.c * Update keyboards/eniigmakeyboards/ek87/keymaps/via/keymap.c * Update keyboards/eniigmakeyboards/ek87/rules.mk * Deleted requested file * Removed VIA line from rules * Update keyboards/eniigmakeyboards/ek87/readme.md * Update keyboards/eniigmakeyboards/ek87/ek87.h * Update keyboards/eniigmakeyboards/ek87/ek87.h * Update keyboards/eniigmakeyboards/ek87/info.json * Update keyboards/eniigmakeyboards/ek87/keymaps/default/keymap.c * Update keyboards/eniigmakeyboards/ek87/keymaps/via/keymap.c * Renamed layouts and removed obsolete ones * Update keyboards/eniigmakeyboards/ek87/rules.mk * Update keyboards/eniigmakeyboards/ek87/rules.mk * Update keyboards/eniigmakeyboards/ek87/ek87.h * Update keyboards/eniigmakeyboards/ek87/ek87.h * Update keyboards/eniigmakeyboards/ek87/info.json * Update keyboards/eniigmakeyboards/ek87/info.json * Update keyboards/eniigmakeyboards/ek87/info.json * Update keyboards/eniigmakeyboards/ek87/info.json * Update keyboards/eniigmakeyboards/ek87/info.json * Update keyboards/eniigmakeyboards/ek87/info.json * Update keyboards/eniigmakeyboards/ek87/info.json commit 58fd782ce05a5f13c05227c02f9b78f10cd4ecb5 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Fri May 8 01:58:36 2020 +0700 [Keyboard] Mechlovin hannah60rgb (#8951) * add new keyboard hannah60rgb * delete line * Delete config.h * Update hannah60rgb.c * Update hannah60rgb.c * update * Update hannah60rgb.c * update Co-authored-by: vuhopkep commit 8e56d10e4e33c045c7835822b267919853fdb1e1 Author: marksard <38324387+marksard@users.noreply.github.com> Date: Fri May 8 03:49:40 2020 +0900 [Keyboard] treadstone48/rev2 (#8719) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Add keyboard firmware of treadstone48 rev.2 * move the rev1-supported keymap. * layout code was updated by review * remove comment bar * remove LTO ifded * Update keyboards/treadstone48/rev2/rev2.h * Update keyboards/treadstone48/rev2/rev2.h commit 43868a5e2075c3477cc1e65301b41e86cea31d75 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Fri May 8 01:17:23 2020 +0700 [Keyboard] Mechlovin Pisces (#8943) * add new keyboard * clean up * Update rules.mk * Update rules.mk * update Co-authored-by: vuhopkep commit db167ecf7947b3312c6f228eebf621491326b120 Author: QMK Bot Date: Thu May 7 18:10:54 2020 +0000 format code according to conventions [skip ci] commit 2b8b1045a1f12f314e1a756dc451afdaf507e519 Author: halfenergized Date: Fri May 8 01:08:37 2020 +0700 Add TGR-910 VIA support (#8985) * Add VIA support * Update readme.md * Update readme.md * Update keyboards/tgr/910/readme.md * Update keyboards/tgr/910/readme.md * Update keyboards/tgr/910/readme.md commit 7a6e52b5d83ff8d97702f1ed3b4d0548fb4e06ee Author: a_p_u_r_o Date: Thu May 7 18:28:01 2020 +0900 Fix inconsistent MATRIX_COLS: basekeys/slice (#9022) commit ae5f7365eae0e25339615908c275bf383dc7b335 Author: marksard <38324387+marksard@users.noreply.github.com> Date: Thu May 7 18:23:26 2020 +0900 [Keyboard] Add keyboard firmware treadstone32lite (#8720) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Add keyboard firmware of treadstone32lite * fixed by the review * I used to set this to a per-keymap setting, so I'll undo it. commit 606438692db8bb935c047bf202e9052f2e1ac037 Author: ai03 Date: Thu May 7 17:44:19 2020 +0900 [Keyboard] Add QUAD-H LB75 keyboard (#8607) * Copy back old files from 9 months ago * Delete unnecessary functions in lb75.c * Remove LCD and MIDI config * Modernize ancient files * Update keymaps as necessary * Move files to vendor folder * Update readme to reflect changes * Modernize makefile * Remove split config * Update keyboards/quad_h/lb75/keymaps/continuous_fnrow/keymap.c * Update keyboards/quad_h/lb75/keymaps/via/keymap.c * Update keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c * Update keyboards/quad_h/lb75/lb75.c * Update lb75.c * Update keyboards/quad_h/lb75/keymaps/continuous_fnrow/keymap.c * Update keyboards/quad_h/lb75/readme.md * Update keyboards/quad_h/lb75/keymaps/via/keymap.c * Update keyboards/quad_h/lb75/keymaps/continuous_fnrow/keymap.c * Update keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c * Update keyboards/quad_h/lb75/keymaps/divided_fnrow/keymap.c * Update keyboards/quad_h/lb75/keymaps/via/keymap.c * Add default keymap as required * Update keyboards/quad_h/lb75/info.json * Update keyboards/quad_h/lb75/info.json * Update keyboards/quad_h/lb75/readme.md * Update keyboards/quad_h/lb75/readme.md commit 5d29a13e22acd08768d256d079ab4b3fed480e12 Author: MakotoKurauchi Date: Thu May 7 16:27:12 2020 +0900 Changed the VID/PID for Helix keyboards (#8989) commit 81c648e9477ee07f2035233bfa5c6e200b415c63 Author: Jonathan Rascher Date: Thu May 7 01:47:55 2020 -0400 More community layout support for legacy KBD67 PCBs (#8933) * Community layout support for KBD67 hotswap * Community layout support for KBD67 rev1 * Community layout support for KBD67 rev2 * Move bcat's KBD67 hotswap layout to community commit 923bad46f93d9dc9b6d8e5c6694a7fdd745e0fde Author: Daniel Racine Date: Thu May 7 00:01:19 2020 -0400 [Keymap] New keymap layout for dztech/dz65rgb/keymaps (#8199) * New keymap layout for dztech/dz65rgb/keymaps * New keymap layout for dztech/dz65rgb/keymaps - Conding conventions fixes * Fix typo in Leader Key table * PR #8199 Feedback Commit #1 * Fixed data types and function names - Simplified accent macros by removing repetition - Added selection wrap macros - readme.md doc updated with changes * PR #8199 second feedback commit - Clarified function names, variables names and comments * Fix: accent output fix _grave <==> _circumflex * dry fixes on led set_color with hsv and led blinking code blocks commit 19513fac5ff7543d116c2808822420d9ac12906f Author: Stefano Date: Thu May 7 01:31:22 2020 +0200 jj28 (jj40 SuperMicro) update (#8885) * jj28 (jj40 SuperMicro) update * Update keyboards/jj40/keymaps/stevexyz/config.h Co-Authored-By: Joel Challis * removed jpegs * Update keyboards/jj40/keymaps/stevexyz/keymap.c Co-authored-by: Joel Challis * Update keyboards/jj40/keymaps/stevexyz/keymap.c Co-authored-by: Joel Challis * Update keyboards/jj40/keymaps/stevexyz/keymap.c Co-authored-by: Joel Challis Co-authored-by: stevexyz Co-authored-by: Joel Challis commit 7bb9c76c807ab4aa58c390a88e0bb5bc81955de2 Author: Alex Daigre Date: Wed May 6 18:03:42 2020 -0500 [Keymap] Custom preonic layout optimised for programming (#8263) * my new layout, draft one, untested. * updated mapping to include more keys * updated layout name to be more descriptive. Updated readme with more information. * added more info to the readme and spellchecked it. * Added the Json for the keyboard layout images and updated the readme to reflect this. * Updated Image link Updated Image link so that it links to the correct place * updated copyright info to include MY name. * Updated copyright attribuatation to include the author of the file I modified. * added the backlighting key back to the adjust layer so that it is usable. * updated the name of the keymap to match my github name. commit 57e67a4cc8a7da94d7ef569ce06f03cdd6be9dd5 Author: Ryan Date: Thu May 7 08:56:12 2020 +1000 Remove old_keymap_files directory from planck (#8917) commit cf3913cd7908d5e94ccb2c1b4db22501e289d6c1 Author: Xyverz Date: Wed May 6 14:14:28 2020 -0700 [Keymap] Xyverz Kinesis keymap update (#9018) * Mitor Tweaks Updating Dvorak keymap to change location of Slash and Backslash to positions more in line with my 12x5 and similar ortho layouts * Fixed readme.md Tidied up the readme and make some minor changes. * Adding atreus config file Adding a config file for my Atreus keyboard. This is to help with the keychatter issues I've been having on my Atreus. * Changes as requested per @zvecr Added `#pragma once` to beginning of config.h file as requested by @zvecr. commit a30cc37c09591d15540be00825b3ff4901ea193e Author: Zach White Date: Wed May 6 09:55:44 2020 -0700 New keyboard: Clueboard 2x1800 2019 (#8721) * Initial support for the 2019 2x1800 * Get all hardware working. * Fix shake to undo * Use the method suggested by @reywood * Remove the unnecessary for loop * changes suggested by @noroadsleft * Fix comma, period, and forward slash keys for clueboard 2x1800 default keymap by @reywood * Call led_set_user at the end of led_set_kb (#6265) * [Keymap] Add default layouts for 2u spacebar (#6266) * make progress on drawing mode * Finish drawing toy mode * Update keyboards/clueboard/2x1800/2019/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/clueboard/2x1800/2019/2019.c Co-Authored-By: Drashna Jaelre * Update keyboards/clueboard/2x1800/2019/2019.c Co-Authored-By: Drashna Jaelre * Update keyboards/clueboard/2x1800/2019/2019.c Co-Authored-By: Drashna Jaelre * Update keyboards/clueboard/2x1800/2019/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/clueboard/2x1800/2019/rules.mk Co-Authored-By: Ryan * remove unnecessary files * Update keyboards/clueboard/2x1800/2019/rules.mk Co-Authored-By: Ryan * apply suggestions * Apply suggestions from code review Co-Authored-By: Ryan Co-authored-by: Sean Dwyer Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit b18c261040f6473fa445e57c80f1c5646797105c Author: Álvaro A. Volpato Date: Wed May 6 13:11:59 2020 -0300 Add Elongate PCB support (#8419) * Working on proto * Start adding VIA support * Apply suggestions from code review Removed redundant comments and fixed typos Co-Authored-By: Ryan Co-Authored-By: Joel Challis * Delete useless config.h As per code review * Delete elongate.c As per code review * Updated readme.md * Update keyboards/acheron/elongate/keymaps/default/keymap.c As per code review Co-Authored-By: Ryan * Apply suggestions from code review Removed RGB_MODE_TEST definition and substituted for RGB_M_T Co-Authored-By: Ryan * Apply suggestions from code review Reverted changes to alice.h Co-Authored-By: Ryan * Update info.json * Update via/keymap.c Co-Authored-By: Ryan * Solve compiling issue for via keymap * Add botmagic support and remoce console_enable Co-Authored-By: Joel Challis * Update keyboards/acheron/elongate/rules.mk Co-authored-by: Ryan * Update keyboards/acheron/elongate/keymaps/via/rules.mk Co-authored-by: Ryan * Update keyboards/acheron/elongate/rules.mk Co-authored-by: Ryan * Update keyboards/acheron/elongate/config.h Co-authored-by: Ryan Co-authored-by: Gondolindrim Co-authored-by: Ryan Co-authored-by: Joel Challis commit bac5d6bc6ade705f1d10f42385e420686bb182d5 Author: TheFourthCow <63170386+TheFourthCow@users.noreply.github.com> Date: Tue May 5 21:29:47 2020 -0400 edit to default funky40 keymap (#9014) commit ab1650606c36f85018257aba65d9c3ff8ec42e71 Author: Juno Nguyen Date: Tue May 5 21:05:16 2020 +0800 [Keymap] Minor keymap update to layouts/community/ortho_4x12/junonum/ (#9021) commit dc00942be158b7ec70ed94f13e78703005888c0f Author: XScorpion2 Date: Tue May 5 07:54:26 2020 -0500 Xulkal Changes (#9004) * Xulkal Changes * Fixing alt keymap commit e8f842e798a76ade8c813f89d9dbf3f3dc1f6cfb Author: halfenergized Date: Tue May 5 05:37:45 2020 +0700 Update TGR 910 VID/PID (#8988) To fix the vendor ID and product ID commit 3745ebc22b686edd05251693479f3f0e7a9e1a06 Author: Jake Happersett Date: Mon May 4 18:09:53 2020 -0400 [Keyboard] Fix Romeo ANSI Split Matrix (#9002) commit d646cba72a6705c5da6292b6dd1cafae5a787740 Author: Ryan Date: Tue May 5 08:05:45 2020 +1000 Remove Bluefruit protocol (#9008) * Remove Bluefruit protocol * Remove dir from doxygen TODO pile commit 15e84f79f177d92e0faeb5e424a48506489eb955 Author: Jeremy Bernhardt Date: Mon May 4 10:49:47 2020 -0600 gBoards Common (#8921) Co-Authored-By: Drashna Jaelre commit 6f30b402a285ddecce9b6f5b002a649f775225d2 Author: skullY Date: Mon May 4 09:25:44 2020 -0700 Revert "Fix conflicting types for 'tfp_printf' (#8269)" This reverts commit e17b55e33ad5b3dcefcf7b828ac99aeb2daeeae2. commit 1ff526dac0e73ea8cce522d0106631e3a748802c Author: QMK Bot Date: Mon May 4 06:59:44 2020 +0000 format code according to conventions [skip ci] commit e17b55e33ad5b3dcefcf7b828ac99aeb2daeeae2 Author: Joel Challis Date: Mon May 4 07:19:51 2020 +0100 Fix conflicting types for 'tfp_printf' (#8269) * Refactor to use mpaland/printf * trim firmware size * remove keymap changes * run clang format * Fixup after rebase * fix up git-submodule command for printf commit f31bf1b2025ece2d61cec10293cbd4e18b537eeb Author: Ryan Date: Mon May 4 00:56:10 2020 +1000 Disable console and command on TGR 910CE (#9011) commit 5f82b0782f90645eee5926691dcc0ec617d0dff4 Author: Joel Challis Date: Sun May 3 01:25:39 2020 +0100 Initial vusb console support (#8559) commit 2e6959ed874f19a5db9ee2b4db08c2bc9ec815d2 Author: Joshua Moses Diamond Date: Sat May 2 20:24:11 2020 -0400 Add some usages needed for ChromeOS hosts (#8996) commit c482a2944bf5b025fd70fa9ee53fc2e12369d327 Author: Joel Challis Date: Sun May 3 00:39:37 2020 +0100 Provide a mechanism for split keyboards to process key press on both halves (#9001) commit 406dc2fb2d1e657db2d7235885722dd86d07ea08 Author: zvecr Date: Sat May 2 22:44:36 2020 +0100 Move encoder_read to common location commit 65c8ac9ac9ad66405eaf65f742bdbdd6a73685c2 Author: Josef Adamcik Date: Sat May 2 10:03:17 2020 +0200 Add more improvements from PR commit e182a38e7c63179f11c94cd7d59f9bac829b85a8 Author: Joel Challis Date: Sat May 2 04:29:55 2020 +0100 Add redirect for old getting started links (#8987) commit fe4581c1a1a9065fe21212d8a6f2fe94fd661008 Author: buzzlighter1 Date: Sat May 2 05:30:20 2020 +0300 Formatting (#8981) commit ddd055b1e2fab07c411ce3b7bbd9f36b5210ba8f Author: JohSchneider Date: Fri May 1 20:30:12 2020 +0000 Audio_Enable, AVR template update (#8901) * Branch point for 2020 May 30 Breaking Change * audio-configuration: template: audio_avr.c does NOT default to C6 not on its own, it needs a pin configured per define in config.h for audio to actually work otherwise only parts of the code are included in the firmware, wasting space and possibly breaking builds because auf hitting the firmware-size limits * audio-configuration: strip comment to bare essentials Co-Authored-By: Ryan * revert future change Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Johannes Co-authored-by: Ryan Co-authored-by: zvecr commit f7324ec68494026c27b9c4af4b34bf4a98d2c75b Author: Joel Challis Date: Fri May 1 17:59:22 2020 +0100 Add xd002 support (#8598) * Add xd002 support * tidy some whitespace * align filename * Update keyboards/xd002/info.json Co-authored-by: Erovia Co-authored-by: Erovia commit 3d760caa85bfd6988584754ee8987d089ca59aa6 Author: Josef Adamcik Date: Fri May 1 16:37:07 2020 +0200 Improve according to suggestion in PR commit 750c7c2bdbfb4b4e9d3a9efe6cb3f95ef0b43c53 Author: Ahmed Elshafey <12426718+ash0x0@users.noreply.github.com> Date: Fri May 1 15:41:58 2020 +0200 [Documentation] Added raw hid documentation page (#7640) * Added raw hid feature documentation page * Update docs/feature_rawhid.md Co-Authored-By: fauxpark * Update docs/feature_rawhid.md Co-Authored-By: fauxpark * Update docs/feature_rawhid.md Co-Authored-By: fauxpark * Update docs/features.md Co-Authored-By: fauxpark * added feature_rawhid.md to _summary.md in docs * fixed _summary.md order * Update docs/feature_rawhid.md Co-Authored-By: fauxpark * Update feature_rawhid.md Removed the useless bit about finding usage page and usage. * Update feature_rawhid.md * Update docs/feature_rawhid.md Co-Authored-By: Nick Brassel * Update docs/feature_rawhid.md Co-Authored-By: Nick Brassel * Update docs/feature_rawhid.md Co-Authored-By: Nick Brassel * Update docs/feature_rawhid.md Co-Authored-By: Nick Brassel * Remove teensy client, small origanization fixes * Fixed merge conflicts Removed features.md Updated _summary.md with new format and added RAW HID entry under Software Features * Added rawhid feature page Messy is what you get when you don't do things right the first time Co-authored-by: fauxpark Co-authored-by: Nick Brassel commit 4846c8eba07b3177cf217cc10ea57a7832929f0b Author: Eriq M. Adams Date: Fri May 1 10:16:59 2020 +0700 Add Via Keymap to Blackplum (#8975) commit 3de4c3ea6a16d64aaf9a86484f57777fe54270ab Author: Josef Adamcik Date: Wed Apr 29 20:16:03 2020 +0200 Remove duplicated layers for MAC/WIN support commit 830bd5460c0ee477f531255a3ec58b55db346ec7 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri May 1 01:43:22 2020 +0900 [Docs] Japanese translation of docs/feature_key_lock.md (#8948) * add feature_key_lock.md translation * update based on comment * set link as lang dir commit 9f54a26dc0c4726fdce1bad39229964223d06c07 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri May 1 01:42:33 2020 +0900 [Docs] Japanese translation of docs/feature_haptic_feedback.md (#8874) * add feature_haptic_feedback.md translation * update based on comment * update based on comment commit 16a15c1cfcbfd0feb2c2cf1383676747e2f97d73 Author: Ryan Date: Thu Apr 30 16:24:47 2020 +1000 QMK-ify some GPIO macros (#8315) commit 37a4b53c4f51b66992e687b5012c83df9cc6b138 Author: Ryan Date: Thu Apr 30 16:24:13 2020 +1000 BACKLIGHT_ON_STATE config.h fixes (#8862) commit a84d23966163a4436309df95bda423d3d0ac4242 Author: Josef Adamcik Date: Wed Apr 29 17:30:04 2020 +0200 Fix mistake in the latest commit commit 41fd60d624c260d75de3d507bbbbaf9d8f977665 Author: Josef Adamcik Date: Wed Apr 29 17:11:16 2020 +0200 Sofle: Remove LAYOUT_kc macro for default layout. Remove unnecessary code. commit 231464c49c2b429293435570243357dcf7e53ecc Author: QMK Bot Date: Wed Apr 29 11:38:51 2020 +0000 format code according to conventions [skip ci] commit d26a14c1699e72ca3e0ae3d4e9871b620a833080 Author: JohSchneider Date: Wed Apr 29 11:04:29 2020 +0000 add 'togglePin' convenience function (#8734) * add 'togglePin' conveniance function for AVR and chibios * drop outmost parantheses Co-Authored-By: Konstantin Đorđević * toggle pin on avrs toggle a pin configured as output by writing the corresponding bit to the PIN register Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * togglepin: add documentation for newly added function * Update docs/internals_gpio_control.md Co-Authored-By: Konstantin Đorđević * on AVR: use PORTD to toggle the output ... since not all MCUs support toggling through writing to PIN Co-Authored-By: Ryan Co-authored-by: Johannes Co-authored-by: Konstantin Đorđević Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: Ryan commit 195be50745e6f476bcef17085fde0cd32760a46b Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Wed Apr 29 12:55:54 2020 +0200 [Keyboard] Vitamins included VIA support (#8876) * Added VIA support * added via support to vitamins included * Added VIA support * added via support to vitamins included * Used actual nkro alias commit 8fdb229b661e2f9d5e493a83c2efa6765f3b5f4d Author: Sergey Vlasov Date: Wed Apr 29 13:52:15 2020 +0300 [Keyboard] id80: Transpose matrix to use faster COL2ROW routines (#8930) * id80: Transpose matrix to use faster COL2ROW routines Even the standard QMK matrix_scan() function can give about 2 times higher scan rate (if compiled with optimizations enabled) if the COL2ROW matrix layout is used instead of ROW2COL. Although the ID80 PCB is wired using the ROW2COL matrix layout, it is possible to transpose the matrix from the QMK standpoint, so that "columns" would correspond to horizontal connections, and "rows" would correspond to (mostly) vertical connections; in this case the matrix could be handled as if it had the COL2ROW layout. The matrix layout change makes the older VIA JSON layout definition incompatible, but the corresponding JSON was not yet accepted to the VIA repository, so it should still be safe to make this change. * id80: Remove obsolete comments commit fd3456f362b3cacbd1506f12280dd42e38e98950 Author: Garret G <45295190+TheRoyalSweatshirt@users.noreply.github.com> Date: Wed Apr 29 05:11:02 2020 -0500 [Keymap] Add VIA Keymap to RoMac+ Directory (#8966) commit 812d80efbdc31b874930b635df48c8f365f5398b Author: QMK Bot Date: Wed Apr 29 08:57:41 2020 +0000 format code according to conventions [skip ci] commit 86c4c4e91de20b3f928300cfab617963c31699f9 Author: Drashna Jaelre Date: Wed Apr 29 01:22:28 2020 -0700 Convert clipping variables in rgblight.c to a structure (#7720) commit 168ba88ada31e9c70e39ee7a592595a7a771afe3 Author: Josef Adamcik Date: Sat Nov 9 17:05:37 2019 +0100 Add SofleKeyboard support to QMK firmware. commit 5f5c2a219c2ae87534d203ef12e61482cac47a70 Author: yd-null Date: Wed Apr 29 14:42:50 2020 +1000 [Keyboard] Add via support for cypher rev5 PCB (#8898) commit e41519823556005d46522a1dd32bc14bde84a5a0 Merge: b17482c3fd 47fc2f8855 Author: Drashna Jaelre Date: Tue Apr 28 21:01:52 2020 -0700 A few final edits to the keymap and readme. (#8845) * A few final edits to the keymap and readme. * Update keyboards/xd75/keymaps/buzzlighter1/readme.md Co-Authored-By: Joel Challis * Update keyboards/xd75/keymaps/buzzlighter1/readme.md Co-Authored-By: Joel Challis * Update keyboards/xd75/keymaps/buzzlighter1/readme.md Co-Authored-By: Joel Challis * Update keyboards/xd75/keymaps/buzzlighter1/readme.md Co-Authored-By: Joel Challis Co-authored-by: Joel Challis commit b17482c3fdca11788c0863465ed4a7e56a13d0f5 Author: Nick Brassel Date: Wed Apr 29 14:01:20 2020 +1000 Add SPI master for ChibiOS/ARM. (#8779) commit 5b4870c046fa81b5574904cd21e2d13da41cf2e4 Author: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Wed Apr 29 01:45:51 2020 +0200 fix sick68 space key handwiring location (#8962) * fix space key handwiring location * fix mechmerlin layout * Revert changes from mechmerlin layout Co-Authored-By: Joel Challis * Update layouts/community/65_ansi/mechmerlin/keymap.c * revert Co-authored-by: Joel Challis commit 374525c99525dbc903c2043e242c8c9d4ea8a68a Author: Joel Challis Date: Wed Apr 29 00:17:54 2020 +0100 Allow some usbconfig.h overrides at the keyboard level (#8647) commit e02a3c559dfff16dd523e1b5ef65bf983f3638db Author: Alexander Hart Date: Tue Apr 28 16:39:08 2020 -0500 Edit Unit Testing Documentation (#8961) commit e1217dae5a659448920a6b0a987f9a2d24ea498c Author: Chris Ko Date: Tue Apr 28 06:10:42 2020 -0400 [Keymap] add chriskopher keymap for usb-usb converter (#8856) commit 485a0b0bc358b32ec042793a5195ced2c4cda7df Author: Eric Gebhart Date: Tue Apr 28 11:58:42 2020 +0200 [Keymap] Added Xd75 and viterbi keymaps,refactored my userspace. (#8776) commit 23cfc4b14564fe6a5da8a6d3823f8f9bc52c2832 Author: HASU Date: Tue Apr 28 17:54:22 2020 +0800 [Keyboard] latinpad(Original:hasupad,RENAMED latinpad) (#8766) Co-Authored-By: ridingqwerty Co-Authored-By: Ryan Co-Authored-By: Joel Challis Co-Authored-By: Drashna Jaelre Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> commit bd639752db58ada94972dc32ed89df2114e6f3bb Author: QMK Bot Date: Tue Apr 28 07:04:07 2020 +0000 format code according to conventions [skip ci] commit aaeef7a833cdbd7d73ab549383127777d2c9a499 Author: Ryan Date: Tue Apr 28 16:23:48 2020 +1000 Add Romanian keymap and sendstring LUT (#8852) commit 0d6614f71f088d98dd67e661b9d50c9f52824f6c Author: TheFourthCow <63170386+TheFourthCow@users.noreply.github.com> Date: Tue Apr 28 00:30:10 2020 -0400 adding info.json for funky40 (#8956) commit d322ec5452835ac7aa23afb91e0eedca0bc0f0f1 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Mon Apr 27 18:17:12 2020 -0700 [Keyboard] TGR 910 CE (#8940) * initial commit for TGR 910 CE * got firmware working on the 910 CE * add VIA support * add iso and all layouts * update information about resetting the board * fixup default keymap to have a second layer * fixup default keymap * add VIA enabled keymap * cleanups and adding community layout support * add caps lock led support and backlight * add qmk configurator support * Update keyboards/tgr/910ce/info.json commit c7449b384013fbd9efb8a25ce1d51b73f988a3fb Author: Garret G <45295190+TheRoyalSweatshirt@users.noreply.github.com> Date: Mon Apr 27 16:35:03 2020 -0500 [Keyboard] Add royal directory and add 2 keyboard releases (#8877) * add royal project folder and 2 released keyboards * fix iso keymap clarification * Apply suggestions from code review * Update keyboards/the_royal/schwann/schwann.h * Update keyboards/the_royal/liminal/liminal.h * Update keyboards/the_royal/schwann/keymaps/default/keymap.c * Apply suggestions from code review new * Update keymap.c * Update keymap.c * Apply suggestions from code review * Update rules.mk * add rules.mk to schwann default * Apply suggestions from code review * add rules.mk to shwann default commit 4c51049b2baf4e686c257f21849159a7908c7275 Author: TheFourthCow <63170386+TheFourthCow@users.noreply.github.com> Date: Mon Apr 27 17:19:06 2020 -0400 [Keyboard] Add Funky40 support (#8942) * Adding all relevant files for the Funky40 This should add all proper files for the funky40 a keyboard I designed for myself, /u/TheFourthcow, a 40% ortholinear with split spacebar. * Second attempt to add all relevant files for the funky40, includes all reccomended changes from my previous pull request * Revised most files for Funky40 including reccomenations from my previous pull request * further modifications made to default funky40 board, compiles on my side with no errors hopefully this one works! * Update keyboards/funky40/readme.mk.mk * Update keyboards/funky40/keymaps/default/readme.md.md * Update keyboards/funky40/keymaps/default/keymap.c * Update keyboards/funky40/keymaps/default/keymap.c * Update keyboards/funky40/keymaps/default/keymap.c * Update keyboards/funky40/config.h * updating readmes and keymap * final update to keymap and readmes should function correctly with updates requested * made changes as requested by noroadsleft to config and readme commit dd60fcda2836a79428a5a1b11f2fcfb1b0ce80ea Author: mpstewart Date: Mon Apr 27 17:05:12 2020 -0400 [Keymap] Add personal layout: dz60:mpstewart (#8938) * mpstewart dz60 layout * Remove macro aliases from keymap * Remove macro aliases from keymap * Update keyboards/dz60/keymaps/mpstewart/keymap.c * Remove macro aliases from keymap * use AG_TOGG instead of AG_SWAP Also some commentary changes, and a change to one of the layout graphics commit fd6b674b4985881797f16dda0d9859caae0521ab Author: Stefano Date: Mon Apr 27 22:11:02 2020 +0200 [Keymap] Gherkin SuperMicro 28 (#8886) * Gherkin SuperMicro 28 * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk * removed jpegs * removed jpegs * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk * removed firmware sizes * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/keymap.c * Update keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk * Update keymap.c commit 2c0deb8a1366fadec9892b762423f5f94357fb03 Author: Erovia Date: Mon Apr 27 21:29:31 2020 +0200 Update and try to clarify the CLI installation on Linux (#8783) * Update and try to clarify the CLI installation on Linux * Update commands, add note for Debian/Ubuntu * Update docs/newbs_getting_started.md Co-Authored-By: Joel Challis Co-authored-by: Joel Challis commit a904371b29e50d0d338b7ff0a9abfdffc5dcb426 Author: Daniel Dylewsky <54324976+ddylewsky@users.noreply.github.com> Date: Mon Apr 27 13:29:27 2020 -0400 [Keymap] Vitamins_included keymap vitavim (#8864) * Add new keymap to vitamins_included, this has four layers. Updated config file to sync rgb between the two halves. * Cleaned up and added documentation for the keymap * Updated the keymaps and documentation. * Update keyboards/vitamins_included/keymaps/vitavim/keymap.c * Update keyboards/vitamins_included/keymaps/vitavim/keymap.c * Update keyboards/vitamins_included/keymaps/vitavim/keymap.c * Update keyboards/vitamins_included/keymaps/vitavim/config.h * Update keyboards/vitamins_included/keymaps/vitavim/keymap.c * Update keyboards/vitamins_included/keymaps/vitavim/keymap.c * Update keyboards/vitamins_included/keymaps/vitavim/keymap.c * Update keyboards/vitamins_included/keymaps/vitavim/keymap.c * Update keyboards/vitamins_included/keymaps/vitavim/keymap.c * Update keyboards/vitamins_included/keymaps/vitavim/keymap.c commit cfdd105d9db4f7c4f30ce24096d2531cd1b9e899 Author: Aplyard <40563350+Aplyard@users.noreply.github.com> Date: Mon Apr 27 20:25:51 2020 +0300 [Keyboard] Aplx2 osu! keyboard (#8847) * Create test.txt * aplx6 * Delete test.txt * fff * Delete ffff * test compile * Create README.md * edited * requests * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/rules.mk * Update keyboards/aplx6/rules.mk * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * pins update * update * update pins * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * initial commit * Update aplx2.h * Update keyboards/aplx2/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx2/README.md * folder change * Update keyboards/handwired/aplx2/README.md * Update keyboards/handwired/aplx2/README.md * latest suggestion * Update keyboards/handwired/aplx2/README.md commit 82ae6ee0079a71979680e47c69de55de5f53e73a Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Apr 27 16:47:15 2020 +0900 [Docs] Japanese translation of docs/feature_grave_esc.md (#8873) * add feature_grave_esc.md translation * update based on comment * update based on comment * update based on comment * update based on comment * update based on comment commit f220e7d713d2f3688da6caf1e4c65fefdc2beea3 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Apr 27 16:43:41 2020 +0900 [Docs] Japanese translation of docs/feature_hd44780.md (#8875) * add feature_hd44780.md translation * update based on comment * update based on comment * update based on comment commit 3cb6fb29359b8fea1087039a4d458c70109fddaf Merge: 6ec3cc029e 5c666398d5 Author: Joel Challis Date: Sun Apr 26 22:23:54 2020 +0100 Merge pull request #8931 from kbrock/kle2info_2 [kle2json] fix rounding in output commit 5c666398d55708915091a08299dc7d493b37db3c Author: Keenan Brock Date: Sun Apr 26 11:34:07 2020 -0400 kle2info: trim down x and y output fixes quirks with float implementation. before: {"label":"Esc", "x":0.66, "y":1.45}, {"label":"!", "x":1.6600000000000001, "y":1.45} after: {"label":"Esc", "x":0.66, "y":1.45}, {"label":"!", "x":1.66, "y":1.45} commit a47915d2d264ac78ae3c694b56aa00650ce12859 Author: Keenan Brock Date: Sun Apr 26 11:32:20 2020 -0400 kle2json: fix invocation error resolves an issue while finding the file path TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str' commit 6ec3cc029ea7f93ddd46b05a703d754231f8a158 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sun Apr 26 23:10:05 2020 +0900 [Docs] Japanese translation of docs/feature_dynamic_macros.md (#8842) * add feature_dynamic_macros.md translation * add header * add header * update based on comment * update based on comment commit 4597f2bcc87ab9eae4fc2ee702a13bb7b5e2fe2a Author: Jonathan Rascher Date: Sun Apr 26 01:01:43 2020 -0500 [Keymap] Make personal keymaps a bit more consistent (#8915) * Move menu key on ergo boards to match staggered * Unify 60_tsangan_hhkb and 60_ansi_split_bs_rshift * Sync KBD67, Quefrency with community layouts * Update ergo KLE images * Update community layout KLE images * Update KLE images/descriptions for remaining keebs commit 52af38da37078ad55095734fe7e4eb2c813b3ca5 Author: Michele Ferri Date: Sun Apr 26 00:45:55 2020 +0200 [Keyboard] Add pimentoso/paddino02 (#8756) * added pimentoso/paddino02 * pimentoso/paddino02 fix config * pimentoso/paddino02 fix right handed keymap * pimentoso/paddino02 fix readme * pimentoso/paddino02 code style * pimentoso/paddino02 code style * pimentoso/paddino02 code style * pimentoso/paddino02 fix readme * pimentoso/paddino02 code style * pimentoso/paddino02 code style commit b2dbc3f515acd20d3ae9390527b13138c0159e5e Merge: 86b62eadc2 84bf82f2c9 Author: Joel Challis Date: Sat Apr 25 23:40:39 2020 +0100 Merge pull request #8896 from Salicylic-acid3/master Correction of the number of LEDs and DEVICE_VER commit 86b62eadc2a30efb9d27633af3be263cd6955661 Merge: 3337eb10b2 182286680a Author: Joel Challis Date: Sat Apr 25 23:16:15 2020 +0100 Merge pull request #8881 from Maartenwut/ta-65-via Add VIA support for ta-65 commit 3337eb10b237c39dee1a0517fdea2a3ec8c6c48b Author: Brandon Schlack Date: Sat Apr 25 14:29:43 2020 -0700 New 65 ANSI Blocker layouts: Split BS, Tsangan (#8793) * Add 65 ANSI Blocker Split BS default layout - Add new 65 ANSI Blocker Split BS layout as many 65 ANSI Blocker layouts also support split backspace * Add 65 ANSI Blocker Tsangan default layout - Add new 65 ANSI Blocker Tsangan layout as many 65 ANSI Blocker layouts also support a split backspace and a 7u bottom row configuration. * Fix file names * Fix 65_ansi_blocker_tsangan keymap * Fix 65_ansi_blocker_split_bs alignment * Fix readme name for 65_ansi_blocker_split_bs * Change 65_ansi_blocker_tsangan to 2u backspace * Change spaces in preview to NBSP * Change more spaces in preview to NBSP (right-alt) commit 32bab55defe016fa945e73668cdf22e34df8fa34 Author: Danny Date: Sat Apr 25 17:26:26 2020 -0400 Add Keebio lighting defaults (#8884) * Set Iris LED/RGB defaults * Add lighting defaults for more boards commit 47fc2f8855bffdaf7c725f17ccc6b8fe8d160e30 Author: buzzlighter1 Date: Sat Apr 25 15:22:05 2020 +0300 Update keyboards/xd75/keymaps/buzzlighter1/readme.md Co-Authored-By: Joel Challis commit ee29b515ecd2f2d4201f441766fd49a76c6237d7 Author: buzzlighter1 Date: Sat Apr 25 15:21:57 2020 +0300 Update keyboards/xd75/keymaps/buzzlighter1/readme.md Co-Authored-By: Joel Challis commit c031e1398215cbfccdd2a947ef7e7f34c42e558f Author: buzzlighter1 Date: Sat Apr 25 15:21:34 2020 +0300 Update keyboards/xd75/keymaps/buzzlighter1/readme.md Co-Authored-By: Joel Challis commit 84bf82f2c95a5b2629223a3c3fb761824e47f46b Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Sat Apr 25 07:30:32 2020 +0900 Update keyboards/7skb/rev1/config.h Co-Authored-By: Ryan commit af262383850531ebaaf5169b24d40da5e7bea4cd Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Sat Apr 25 07:30:18 2020 +0900 Update keyboards/7skb/rev1/config.h Co-Authored-By: Ryan commit 28e5969f780ec4a29ee27f55af60fab88369d1c4 Merge: 59246756e5 5c9c45619e Author: Joel Challis Date: Fri Apr 24 22:42:43 2020 +0100 Merge pull request #8897 from Maartenwut/ta-65-encoder Add encoder support to ta-65 commit 59246756e50fc7f8c7dbeee11547e9157d165250 Merge: 423ce39f18 09caf19389 Author: Joel Challis Date: Fri Apr 24 22:42:13 2020 +0100 Merge pull request #8905 from marhalloweenvt/marhalloweenvt_dev [p1800fl] Adjust info.json to work with QMK Config tool commit 423ce39f18bec98b496b948e435dfb6d95fe79ec Merge: 217debff07 643fc1d806 Author: Joel Challis Date: Fri Apr 24 21:39:41 2020 +0100 Merge pull request #8806 from awkannan/202004_obliterated75 Add Obliterated75 Keyboard commit 217debff073e40b10889b35fd918c3cba0034ecd Merge: 52e9719d09 d0d105b083 Author: Joel Challis Date: Fri Apr 24 21:37:18 2020 +0100 Merge pull request #8807 from danielhklein/uni660rev2 Add uni660 rev2 support commit 52e9719d09e50c64486ee3e93a96b1cceb1e4f25 Merge: 9df367e227 b80340c207 Author: Joel Challis Date: Fri Apr 24 21:35:20 2020 +0100 Merge pull request #8867 from bbeckford/master Configure RGBLIGHT_SLEEP for cospad commit 9df367e227454c6b680ad1831f2ecb300b5a39bb Merge: 8650b9f10c 35ca1c2212 Author: Joel Challis Date: Fri Apr 24 19:52:58 2020 +0100 Fix ISO Enter order in Wasdat info.json (#8891) commit 8650b9f10ced7a9e1502ababe8164635bfc454bc Author: Ryan Date: Sat Apr 25 04:52:27 2020 +1000 VIA keymap for JJ4x4 and general cleanup (#8888) commit 5c9c45619e267e1c43fee483a1a1de54c12989bc Author: Maarten Dekkers Date: Fri Apr 24 19:41:05 2020 +0200 Change keymap encoder code Co-Authored-By: Joel Challis commit 09caf19389cd4b12a2839ecd602552641b554267 Author: marhalloweenvt Date: Sat Apr 25 00:08:14 2020 +0700 Adjust info.json to work with QMK Config tool commit 4baf49191f70e184d6100a9e9d1b68253463f47d Author: marhalloweenvt Date: Fri Apr 24 23:05:57 2020 +0700 [Keyboard] Add p1800fl (#8879) * My commit message * Adjust p1800fl commit 427da3c19c8d59de44fcfc261ca2f865fab9f5be Author: Maarten Dekkers Date: Fri Apr 24 17:59:33 2020 +0200 Update Plain60 VIA keymap (#8882) Co-authored-by: Maarten Dekkers commit 1df8bb3cdbfdee86af579a532c6cfaa5c89fc154 Author: Maarten Dekkers Date: Fri Apr 24 01:40:01 2020 +0200 Update keymap.c Co-Authored-By: Joel Challis commit 99eacdc47acfb933d3ccf4a65cd3e2709102e0e3 Author: Maarten Dekkers Date: Thu Apr 23 22:38:24 2020 +0200 [Keyboard] Add VIA support for Wasdat Code (#8892) * Add VIA keymap Also adds more backlight levels. * Change wasdat code PID * Alias LAYOUT_fullsize_iso to LAYOUT_all * Change VIA layout macro to LAYOUT_all Co-authored-by: Maarten Dekkers commit 5e235d30c760272b4e33e22bfa470e63c2dbaaca Author: Peter Becich Date: Thu Apr 23 13:07:58 2020 -0700 [Keymap] Dvorak for Keeb.io Iris (#8863) * Dvorak keymap for Iris Tested to work with Iris rev. 2 Squashed commit of the following: commit c7a1bcf831e79953e81dda4a014b90daf4f63276 Author: Peter Becich Date: Sat Oct 13 17:34:11 2018 -0700 backtick commit 7a7f6a5fec56446f973a4f145c5f8d002de6cd08 Author: Peter Becich Date: Sun Sep 23 17:27:17 2018 -0700 iris dvorak commit 625461097eb1ba4585a716853999a0f30daffb2b Author: Peter Becich Date: Sun Sep 23 17:22:01 2018 -0700 iris dvorak * dvorak keymap readme * key correction, keymap readme * Apply suggestions from code review Co-Authored-By: Joel Challis * revise backspace key Co-authored-by: Joel Challis commit 6586280bf36f257fc9affa0ee6a4781f796bc918 Author: Ryan Date: Fri Apr 24 05:56:36 2020 +1000 Add missing packages to Linux install scripts (#8895) commit 0722986d7a245526d7ba61a3d94151c54fdca9a4 Author: Marc Date: Thu Apr 23 21:19:01 2020 +0200 Added YD60MQ ISO layout (#8815) commit 22a10cc8a3f7d1ff8ba7f75de49ca0feb6d07f7f Author: Maarten Dekkers Date: Thu Apr 23 20:59:32 2020 +0200 Add encoder to ta-65 default keymap commit b349fa0a570476ac559a672c3af3331134d587b8 Author: Maarten Dekkers Date: Thu Apr 23 20:57:49 2020 +0200 Add encoder to ta-65 commit e98a9578a1aeaa7087a7c237c1fb2c4c4e6b56ae Author: Ramon Imbao Date: Fri Apr 24 02:55:40 2020 +0800 [Keyboard] Add VIA support for Wete, fix layout error (#8802) * Add VIA support for Wete * Fix incorrect layout for ANSI and ISO commit d2b03bf1505ef88d3d7c07e6db7cc439ffef3e01 Author: Salicylic-acid3 Date: Fri Apr 24 02:50:23 2020 +0900 Correction of the number of LEDs and DEVICE_VER. The number of LED is changed from 5 to 6 on one side. DEVICE_VER was changed to a number with no duplicates. commit 35ca1c22120d3a502297ff8fd21f48a05d49a685 Author: fauxpark Date: Fri Apr 24 00:10:01 2020 +1000 Fix ISO Enter order in Wasdat info.json commit ccc8338b0e828f357a8051a729f2ccdbe3129fdb Author: Maarten Dekkers Date: Thu Apr 23 02:01:46 2020 +0200 [Keyboard] Add wasdat code controller (#8858) * Initial keyboard upload * Code cleanup and product name * Fix sequence in info.json layouts commit bafa35ff46e8a6d1d2eaad09ce3757f919aa9ff3 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Apr 23 07:56:22 2020 +0900 fix sample code indent in feature_encoders.md (#8883) commit 182286680aa8395c0af9b7a3a512ca0adf4ee9a7 Author: Maarten Dekkers Date: Wed Apr 22 22:39:53 2020 +0200 Add VIA support for ta-65 commit c1c579c554839b5bea1b23480837d9b67faf87d4 Author: Jonathan Rascher Date: Wed Apr 22 15:26:51 2020 -0500 [Keymap] Clean up my ergo keymaps and userspace (#8857) * Remove more mouse keys settings missed in #8836 * Turn off more unwanted make options * clang-format my userspace * Reword ergo layout docs so Crkbd is canonical * Add a basic readme to my userspace * Tweak Crkbd readme wording and fix typos * Enable SPLIT_USB_DETECT for Lily58 w/ Elite-C bug commit 19bd8aa942519666fa8af298f7b80f6150d268a2 Author: pngu <34752364+itspngu@users.noreply.github.com> Date: Wed Apr 22 14:17:57 2020 +0200 idb 60 Bugfixes / Preparations for Open Source Hardware (#8866) * Added idb 60 keyboard * fixed info.json * implemented revievers' suggested changes * fixed an error * implemented revievers' suggestions * further cleanup * implemented suggested changes * fixed errors * checkout * delete old files * delete old files * preparations for open source hardware files * revert eager debounce mode to default * fix indicator LEDs stuck in "on" mode, rename ESC LED to fn LED (rev 2 PCB will have another LED slot on the right shift FN key) * cleanup * cleanup * lost+found lufa * lost+found lufa * lost+found lufa * lost+found lufa * lost+found lufa * Update keyboards/idb/idb_60/keymaps/pngu/keymap.c Co-Authored-By: Joel Challis * Update idb_60.h * Update idb_60.h * made suggested changes * Update keyboards/idb/idb_60/idb_60.h Co-Authored-By: Joel Challis Co-authored-by: root Co-authored-by: tbrandt Co-authored-by: Joel Challis commit d0d105b0832bf30d176256a9c28eec8dca2e80ba Author: Daniel Klein Date: Tue Apr 21 16:53:49 2020 -0700 split config.h commit c0a57c2a5035eeaeeabe1cb70b4f64d9a66597c3 Author: Daniel Klein Date: Tue Apr 21 16:51:11 2020 -0700 split rev2.h for ansi and iso commit 738c6612ca0c5d0d95195af259abb1b6e3995b9b Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Tue Apr 21 18:25:13 2020 -0400 Rebound: add rev2 and thus rev1 as well (#8630) * add rev2 and thus rev1 as well * nitpicks :) * buncha stuff * back to one rev * back to community layout with errors * I see you've met my typo * remove default48 kemap rules * re-rework into 2 revs * readme changes * whitespace cleanup * default folder * rev1 be default commit 643fc1d806a11499527491852131d55a07cb3cbc Author: Andrew Kannan Date: Tue Apr 21 12:03:42 2020 -0400 Update keyboards/cannonkeys/obliterated75/keymaps/default/keymap.c Co-Authored-By: Ryan commit f78896589e8dcc6ae0dc1acb839212b7aada7c9c Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Tue Apr 21 14:15:29 2020 +0200 Update vitamins included default keymap, enable NKRO, rev2 rgbsplit (#8871) * Update default vitamins_included keymap * Turned on NKRO support * Added NKRO toggle key to keymap * Cleaned up key map to be more up to date with current standards * configured RGBLED_SPLIT commit 837ffd0006ebd3c99d0af96e19a191828dccc1a3 Author: Alex Ong Date: Tue Apr 21 17:41:15 2020 +1000 Update to xealousbrown. (#8215) * Update to xealousbrown. 5-13ms Latency decrease, 4x scan rate improvement. (CUSTOM_MATRIX = lite) is a really great feature! * Updated Readme.md, added an extra speedhack. * More optimizations * Update keyboards/handwired/xealousbrown/rules.mk * Update keyboards/handwired/xealousbrown/rules.mk commit 92a50a386af4bfe8ce69766719d95df1126917ca Author: Nicholas Junker Date: Mon Apr 20 22:55:17 2020 -0400 [Keyboard] DMQ Design SPIN (#8820) * added SPIN keyboard and respective keymaps * Update keyboards/dmqdesign/spin/keymaps/default/keymap.c * Update keyboards/dmqdesign/spin/keymaps/encoderLayers/keymap.c * Update keyboards/dmqdesign/spin/rules.mk * Update keyboards/dmqdesign/spin/spin.c * Update keyboards/dmqdesign/spin/spin.h * Update keyboards/dmqdesign/spin/keymaps/encoderLayers/keymap.c * Update keyboards/dmqdesign/spin/readme.md * Update keyboards/dmqdesign/spin/readme.md * Update keyboards/dmqdesign/spin/spin.h * Update keyboards/dmqdesign/spin/rules.mk * Update keyboards/dmqdesign/spin/config.h * Update keyboards/dmqdesign/spin/keymaps/encoderLayers/keymap.c * Update keyboards/dmqdesign/spin/keymaps/encoderLayers/keymap.c * changed keymap to all lowercase, removed LED typecasts * made encoderLayers all lowercase * fixed the duplicate folder after changing name (hopefully) * fixed the info.json, followed the keyboard support doc * Update keyboards/dmqdesign/spin/info.json * Update keyboards/dmqdesign/spin/info.json * Update keyboards/dmqdesign/spin/info.json * Update keyboards/dmqdesign/spin/info.json commit 357c6009be059b196f15b4c77306ac88a8d13d87 Author: TerryMathews Date: Mon Apr 20 20:27:52 2020 -0400 Wheatfield Blocked65: Update RGBLED num (#8725) Evidently there is a polycarb variant with underglow LEDs. This change should support that without negatively impacting aluminum case variant which only has 2 RGB LEDs on top. commit e916ce5f3e5b3b8b33742607f17c81138efe2948 Author: Sergey Vlasov Date: Tue Apr 21 02:06:48 2020 +0300 Add VIA support to ID80 (#8791) commit 086a7cf80046e43f61193eb7b9ea8dc8a8029c13 Author: Brandon Schlack Date: Mon Apr 20 16:00:01 2020 -0700 CFTKB Mysterium & Discipad VIA support (#8794) * [Keyboard] Add VIA support to Mysterium * [Keyboard] Add VIA support to Discipad commit 99f7fe6bd4ab7bc332fcbe35ef741a4142a73b1f Author: Ryan Date: Tue Apr 21 08:38:34 2020 +1000 Clean up ATSAM ifdefs (#8808) commit d0c3a4c8d58c1b8c60426ea2f1572fe1fe3bcd01 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Apr 21 07:36:04 2020 +0900 [Docs] Japanese translation of docs/feature_encoders.md (#8843) * add feature_encoders.md translation * update based on comment commit 2dca087b04c14197b70ed4295139e0c4a40562d9 Author: Fred Silberberg Date: Mon Apr 20 03:00:14 2020 -0700 Add naked60 layout, clean up my userspace files and rules.mk. (#8848) commit b80340c2076aef8732c05f197dff449d02135eef Merge: cb4a86475e 7e4cf9ace2 Author: Ben Beckford Date: Mon Apr 20 10:58:45 2020 +0100 Merge branch 'master' of https://github.com/bbeckford/qmk_firmware commit cb4a86475e6af91b64dbe09bc6df686ef0ae367c Author: Ben Beckford Date: Mon Apr 20 10:58:36 2020 +0100 Changed default RGBLIGHT_SLEEP for cospad commit 7e4cf9ace2fd954a1a735fcbea75f719bfc3fbc2 Author: huajijam Date: Mon Apr 20 17:54:33 2020 +0800 Fixing DecadePad Numlock LED Bug (#8831) * Fixing Numlock LED Bugs * Change LED CODE to new API commit 0d658e0c95c560138bfc3838720c09a2e9cff893 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Apr 20 14:49:12 2020 +0900 [Docs] Japanese translation of docs/feature_command.md (#8672) * add feature_command.md translation * update based on comment commit 1522d97c2b74577780fe97a52079d0ab68902ed5 Author: Jared Hendry Date: Sun Apr 19 19:58:58 2020 -0400 Add support for YMD75 rev 2 (#8853) commit 2d39a9dcdbdef1202d890a81505e7d33fe04cde0 Author: Konstantin Đorđević Date: Mon Apr 20 00:56:48 2020 +0200 Remove no-longer-necessary LTO checks from keyboards' config.h files (#8773) * Remove no-longer-necessary LTO checks from keyboards' config.h files * Remove unnecessary LTO check in @danielo515's Ergodox EZ keymap * Remove unnecessary USE_Link_Time_Optimization checks from keyboards' config.h files Note: DISABLE_LEADER doesn't seem to be used anywhere commit 33bf4863f58e908f4bff7e8d729341f0fe7c4558 Author: Maarten Dekkers Date: Mon Apr 20 00:29:15 2020 +0200 Fix ta-65 tsangan layouts (#8855) The key next to the spacebar wasn't working, fixed that. Co-authored-by: Maarten Dekkers commit ad547c1fdd2b73c369a2380688b51ccb1a42f20c Author: Maarten Dekkers Date: Mon Apr 20 00:12:19 2020 +0200 Fix Plain60 layout (#8854) Fixes the LAYOUT_60_ansi_split_bs_rshift where the key next to right shift didn't work. Co-authored-by: Maarten Dekkers commit 9b70e53508e844515f2de8841daeaba01e69eb72 Author: Chris Ko Date: Sun Apr 19 18:04:26 2020 -0400 [Docs] Fixed minor typos (#8860) commit 33a5dc4fcf3ed00f7cd87271530bcc416012926f Author: khitsule Date: Mon Apr 20 03:15:12 2020 +1000 [Keymap] Updates to personal keymaps (#8818) * sync with upstream; initial iris design * sync with upstream * update to iris keymap * merge upstream * iris keymap refined * Iris readme update * messed up upstream merge somehow, hopefully fixed * removed extra closing bracket * Apply suggestions from code review Co-Authored-By: Joel Challis * change layers from define to enum per suggestions Co-authored-by: Mysti Woodard Co-authored-by: Joel Challis commit e0fffcde9987dff7502bbf9c7f01144ca2c524f4 Author: Elisiano Petrini Date: Sun Apr 19 13:12:48 2020 -0400 Updated personal preonic keymap (#8851) commit 06bffbd45b9017743bf90cf79efe1de62a49fd2b Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Apr 19 10:11:55 2020 -0700 [Keyboard] VIA Support: Singa x TGR Unikorn 60 (#8838) * add via keymap * change up VID and PID * enabling the RGB just so VIA has access to it commit c261076f8ed4c0d3b7383bec6ef4df12dd9212a6 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Apr 19 10:11:32 2020 -0700 [Keyboard] VIA Support: KBD67mkii SOLDERED (#8837) * add VIA keymap to soldered kbd67mkii * clean up config file commit 51ecd37d7bb6e2c9e6d20856cf2b3f575e8b0995 Author: Erovia Date: Sun Apr 19 18:44:05 2020 +0200 Add VIA support for Minivan (#8849) Co-Authored-By: Joel Challis commit ed5e69093c21649fdd5e6d7c426f4fd8644d7e4f Author: Toshihiro Suzuki Date: Mon Apr 20 00:17:47 2020 +0900 Update my keymaps (#8840) commit 43785126a78b3f34e4205ab8aaa4e70539bdb862 Merge: 8c97b4a3a4 ed910c8e97 Author: Ryan Date: Sun Apr 19 19:18:05 2020 +1000 Merge pull request #8710 from vomindoraan/keymap_extras_fixup commit 8c97b4a3a4e744e6f3646bef1fd73c167a26a8b3 Author: skullydazed Date: Sun Apr 19 00:08:38 2020 -0700 Add a syllabus to guide people who are learning QMK (#8816) commit 0698b15aa5f79a74d1f35af27bfaa4d44e36dbd9 Author: Joel Challis Date: Sun Apr 19 08:08:12 2020 +0100 Update cli CI checkout to v2 (#8823) commit d600631ad178632c0f7e081297d6f73cdc44052a Author: Jonathan Rascher Date: Sat Apr 18 20:41:40 2020 -0500 [Keymap] Rework my Tsangan layout; turn off mousekeys (#8836) * Give Tsangan layout a real Fn2 layer * Disable mouse keys to work around qmk#8323 I don't actually use this feature, so there's no reason for it to be enabled anyway, and it seems to cause spurious wakeups on Windows. commit f3595f65b7080b3276d956544d86bbb7924adaf0 Author: Josh Hinnebusch Date: Sat Apr 18 21:06:28 2020 -0400 [Keyboard] add dual-direction diode capability for hbcp (#8795) * add dual-direction diode capability * update per PR requests Co-authored-by: hineybush commit 23df763a310d739859e070f67b16018652531615 Author: mechanicalguy21 <63573424+mechanicalguy21@users.noreply.github.com> Date: Sat Apr 18 19:58:58 2020 -0500 [Keyboard] Adding Novem keyboard (macropad) and demo layout (#8781) * Adding Novem keyboard (macropad) and demo layout * Making changes suggested during pull request * Removing keyboards/novem/keymaps/default/config.h as suggested during the pull request * Moving keyboard to the handwired folder and changing the build line from readme in order to reflect this new location commit ed910c8e973b8709e6f910271824cfa56adfb7d1 Author: Konstantin Đorđević Date: Sun Apr 19 02:56:52 2020 +0200 Add back deprecated SE_AE keycode commit 7e1c0bd4c093b6a4ff637dc29faef6cfbcbedefe Author: Cody Bender <50554676+cfbender@users.noreply.github.com> Date: Sat Apr 18 18:40:13 2020 -0600 [Keyboard] Add Absinthe keyboard (#8769) * Initial absinthe setup * Update Absinthe files * Add absinthe ANSI layout * Update absinthe keymaps * Update Absinthe for rev3 * Flip encoder pins * Fix rules.mk * Update absinthe files * Fix absinthe ansi config * Add RGB * Change rules for absinthe for firmware size * Fix pins for rev4 * Fix pins and GESC * Remove GESC from ANSI layout * Rebase upstream/master * Update formatting and convention from 8769 feedback * Format rules.mk commit d2b8398f75f8239b135bfb3772153e32d794c291 Author: Spaceman Date: Sat Apr 18 20:20:42 2020 -0400 [Keyboard] Add DGG-56 Handwired (#8740) * Add ddg_56 keyboard * Add ddg_56 default keymap * Fix config.h * Update config.h * Update ddg_56.h * Update keyboards/handwired/ddg_56/readme.md Co-Authored-By: Ryan * Update keyboards/handwired/ddg_56/readme.md Co-Authored-By: Ryan * Update keyboards/handwired/ddg_56/info.json Co-Authored-By: Joel Challis Co-authored-by: Ryan Co-authored-by: Joel Challis commit 195324cc4c7421e277962e0e8100558d20d7538d Author: joseandres42 Date: Sun Apr 19 02:12:36 2020 +0200 Add dvorak's spanish variant to quantum/keymap_extras (#8732) * Added dvorak's spanish variant. * Fixed spacing * Fixed filename typo * Applied fixes and suggestions. * Fixed spacing * Added sendstring_spanish_dvorak.h * Fixed sendstring_spanish.h * Update quantum/keymap_extras/sendstring_spanish_dvorak.h Co-Authored-By: Ryan * Update quantum/keymap_extras/sendstring_spanish.h Co-Authored-By: Ryan * Update quantum/keymap_extras/sendstring_spanish_dvorak.h Co-Authored-By: Ryan Co-authored-by: joseandres42 Co-authored-by: Ryan commit cd5399942bf142e85ef65e4f34252c8a4fd926bc Merge: fd4bbd8d11 09a1917103 Author: Ryan Date: Sun Apr 19 06:58:01 2020 +1000 Merge pull request #8722 from fauxpark/keymap-extras-bepo commit fd4bbd8d11d2626fdef5c23603c10cd16086c437 Merge: f43cb31476 bf38f39c3f Author: Ryan Date: Sun Apr 19 06:57:36 2020 +1000 Update Italian macOS keymaps and add sendstring LUTs (#8701) * Update Italian macOS keymaps and add sendstring LUTs * Wrong letter commit f43cb314767403b8289fc957bd1d3b8250874192 Author: Ryan Date: Sun Apr 19 06:57:05 2020 +1000 Update French and German macOS keymaps and add sendstring LUTs (#8700) commit 89eb3a9e429de9bfc2bd3c0eefc3dc6e3dcfc57d Author: Ryan Date: Sun Apr 19 06:56:49 2020 +1000 Update Swiss French/German keymaps and add sendstring LUTs (#8689) commit 66d94dc22af4fccae2af073c512662ce7eba7d98 Author: skullydazed Date: Sat Apr 18 13:00:56 2020 -0700 Move everything to Python 3.6 (#8835) commit 5a8f59503e41923030249561e9ef56be62de3efa Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Apr 18 12:45:24 2020 -0700 VIA Support: All QMK Winkeyless.kr boards (#8846) commit 7918f7d61d6d3035c9418093623665c9689ab950 Author: skullydazed Date: Sat Apr 18 10:58:59 2020 -0700 Document the Proton C pins for manual Pro Micro conversion (#7043) commit a6bd8fe67b3535874e2cd7ffcc1a098995894345 Author: buzzlighter1 Date: Sat Apr 18 20:32:24 2020 +0300 Update keyboards/xd75/keymaps/buzzlighter1/readme.md Co-Authored-By: Joel Challis commit 55b43f02f0f55c3b233bbbd5f3e52eee2c47cc1a Author: worldspawn00 Date: Sat Apr 18 12:27:47 2020 -0500 fixing Walletburner Neuron layout for configurator (#8839) * fixing layout for configurator adding missing bottom row key to resolve formatting commit db4b11f866477791c15de75a72d6444bdb0e6449 Author: buzzlighter1 Date: Sat Apr 18 18:16:11 2020 +0300 A few final edits to the keymap and readme. commit 46a84ec84a09b33f2df88efb2fc303e77b2d842f Author: Erovia Date: Sat Apr 18 15:29:48 2020 +0200 Load keymap-level rules.mk when compiling keymap.json (#8841) commit 3b5998085c62253a36b3a5c109207646570aa7f4 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Apr 17 11:26:04 2020 -0700 Add info.json for bat43 (#8824) commit 7a9980fd853fdcce430f0dbe85fc25674cf88d36 Author: Andrew Kannan Date: Fri Apr 17 11:04:25 2020 -0400 Apply suggestions from code review Co-Authored-By: Ryan Co-Authored-By: Joel Challis commit bc13dcd349430074d4276da33ec282bdd7833c78 Author: Ryan Date: Fri Apr 17 17:50:58 2020 +1000 Remove Atmel FLIP from install scripts and documentation (#8822) commit 55002338b1310bcc7e581ac1e59957e6579ee271 Author: moyi4681 Date: Thu Apr 16 17:41:56 2020 -0700 add kbd67 rev2 via support, kbd67mkiirgb small change (#8810) * add kbd67 rev2 via support, kbd67mkiirgb small change add kbd67 rev2 via support, kbd67mkiirgb small change * Update keyboards/kbdfans/kbd67/rev2/keymaps/via/keymap.c * Update keyboards/kbdfans/kbd67/rev2/keymaps/via/keymap.c * define DYNAMIC_KEYMAP_LAYER_COUNT 2 commit 99d9250045d989f27d84a938d1402677d6cde9a4 Author: Andrew Kannan Date: Thu Apr 16 16:20:43 2020 -0400 Apply suggestions from code review Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-Authored-By: Ryan commit 4a92dd327c7df11f10cbe85c5eb5868330062f2b Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Apr 16 12:28:49 2020 -0700 [Keyboard] Botanical Keyboards FM2U (#8819) * initial commit for fm2u keyboard * add fm2u keyboard along with VIA keymap * add meme LAYOUT support * minor cleanups * fixup layout macro names commit 7873b49d40cef838268575d5b31a1d377b218787 Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Thu Apr 16 21:04:27 2020 +0200 Keeb.werk nano.slider Improved Default Layout (#8785) * Improved default layout to match improved layout from configurator PR * fixed keycode spacing * Update keyboards/keebwerk/nano_slider/keymaps/default/keymap.c commit fcf2b452636cc3db09b75401372bafddc3085094 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Thu Apr 16 11:57:32 2020 -0400 Update stanrc85 rules for alice/rev1 (#8821) commit 5607af8524b61745c01bdc434857f556cb47d1d9 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Thu Apr 16 11:08:00 2020 +0900 [Docs] Japanese translation of docs/feature_combo.md (#8671) * add feature_combo.md translation * change tiny word * update based on comment * update based on comment commit 5a45627e17d8ed914b5cd2ac5c50d349c88d7d6b Author: Ryan Date: Thu Apr 16 09:32:40 2020 +1000 Remove old setup scripts (#8811) commit 17d0f6338e093f0f000b6a5cd2382d88ccbf1b79 Author: Andrew Kannan Date: Wed Apr 15 18:37:47 2020 -0400 [Keyboard] ProjectKB Alice rev2 (#8718) * Add revision 1 and revision 2 to ProjectKB Alice PCB * Swap SLEEP LED to no * Basic root rules.mk * Apply suggestions from code review * Update keyboards/projectkb/alice/rules.mk commit 484c059d867e93e9374902121c6ce64774d28d7d Author: skullydazed Date: Wed Apr 15 13:49:22 2020 -0700 MILC: Fix setting config values for store_true and store_false (#8813) commit 3cc68543ca8c69048ffc0655d92be238afcee376 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Apr 15 13:31:09 2020 -0700 KC60 Refactor (#8782) commit daf6dedb02d96af789deccc2f96fe281486207c0 Author: MakotoKurauchi Date: Thu Apr 16 02:35:42 2020 +0900 Fix quick7 build command (#8812) commit 7a0d145e277d8d946d277393f70d69dedcad3081 Author: Andrew Kannan Date: Wed Apr 15 12:35:24 2020 -0400 Whitespace changes Co-Authored-By: Ryan commit e990863296c1fafaacccd4e2d7dffd9bdcbba09c Author: Ryan Date: Wed Apr 15 19:03:49 2020 +1000 Miscellaneous stuff: remove clang-complete and autocomplete.sh, fix some rules.mk comments (#8784) commit d06340f665b40e914b6676e79730ccf923fcb658 Author: Daniel Klein Date: Tue Apr 14 21:25:25 2020 -0700 uni660rev2 added commit 4c0065dda7727cf898cb5ce393ba2ae4357bf239 Author: Andrew Kannan Date: Wed Apr 15 00:04:03 2020 -0400 Add new obliterated75 files commit 2ae39ccf380ba3f934295501074c448e60e1c066 Author: MakotoKurauchi Date: Wed Apr 15 10:45:14 2020 +0900 [Keyboard] add new keyboard quick7 (#8670) * add new keyboard quick7 * Update keyboards/yushakobo/quick7/keymaps/default/keymap.c * Update keyboards/yushakobo/quick7/quick7.c * Update keyboards/yushakobo/quick7/rules.mk * Update keyboards/yushakobo/quick7/keymaps/default/keymap.c * Update keyboards/yushakobo/quick7/readme.md * Update keyboards/yushakobo/quick7/rules.mk * Update keyboards/yushakobo/quick7/rules.mk * Deleted unnecessary file. * Comment added. * Update keyboards/yushakobo/quick7/config.h * Update keyboards/yushakobo/quick7/readme.md * Update keyboards/yushakobo/quick7/keymaps/default/keymap.c * Update keyboards/yushakobo/quick7/config.h commit 5185c52b4ae7d9d82052029dd5f70cd7abe081bb Author: Jason Scatena Date: Tue Apr 14 21:38:48 2020 -0400 [Keymap] Added custom layout for KBDFans KBD67 rev2 (#8752) * added v1 of keyboard layout * Update keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/keymap.c * Update keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/keymap.c * Update keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/keymap.c * Update keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/keymap.c * Update keyboards/kbdfans/kbd67/rev2/keymaps/jscatena88/keymap.c * Delete config.h commit c0b99badcb1eb2ee08ef2bfa1d5ec684e845e40b Author: x1 Date: Wed Apr 15 10:24:56 2020 +0900 [keyboard] Add kudox rev3 (#8704) * Add kudox rev3. * Add default keymap for Kudox rev3. * Add JIS keymap for Kudox rev3. * Modified default revision of kudox rev3. * Modified unnecessary codes. commit f9bb9ef0b81cbec4a4e05ce0fa5564ce9481c926 Author: Pete Johanson Date: Tue Apr 14 10:58:00 2020 -0400 CLI: Fix doctor error when can't run `bin/qmk --version`. (#8796) commit 3d9ffd3efb3fbc0662a912d57baf3ba6183c0ee8 Author: Øyvind Wilhelmsen <46304257+oeywil@users.noreply.github.com> Date: Tue Apr 14 13:09:33 2020 +0200 deleted unused keymap (#8797) commit 3cea9fedff027d3ad09416291e0c5d9b0f2116d4 Author: mimkorn Date: Tue Apr 14 13:03:13 2020 +0200 Add missing repository name to qmk setup w/ github (#8792) Using just qmk setup would fail w/ "Could not find repo github.com/, whereas the repo is actually after another slash after the user name. Can consider changing code to add the default forked repo name if slash is not detected in the arg. commit 575d99816e756dec3b69cd53419cf2f7f6415b49 Author: eucalyn Date: Tue Apr 14 07:40:15 2020 +0900 Configure RGBLIGHT_SPLIT for Mint60 (#8788) commit 4bccde37d4148bdf0ee3676c9eed102639cfeb4a Author: Aplyard <40563350+Aplyard@users.noreply.github.com> Date: Mon Apr 13 22:13:41 2020 +0300 [Keyboard] Aplx6 (#8727) * Create test.txt * aplx6 * Delete test.txt * fff * Delete ffff * test compile * Create README.md * edited * requests * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/rules.mk * Update keyboards/aplx6/rules.mk * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md * pins update * update * update pins * Update keyboards/aplx6/README.md * Update keyboards/aplx6/README.md commit f6b40da7f854d461f30a3e525f4e36e51dac5db4 Author: Pavlos Vinieratos Date: Mon Apr 13 20:59:04 2020 +0200 update pvinis keymap (#8746) * update a bunch of stuff Better rules, better config, added encoders, lights, audio. * some fmt * more fmt commit 6fb048fdafe58897f64efa8c4b9455bbcb992110 Author: Pete Johanson Date: Mon Apr 13 16:44:27 2020 +0000 CLI: Use `shutil.which` to detect gmake, instead of OS check. commit 06b571aa53940b278e4359136e4b7d78cf4594f9 Author: Pete Johanson Date: Mon Apr 13 15:55:27 2020 +0000 CLI: Invoke gmake on FreeBSD when using `qmk compile`. * Current makefiles aren't portable, so invoke gmake on FreeBSD. commit 355b693e4e0d801ffc374cfc0e7a450f1d490310 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Apr 14 02:25:57 2020 +0900 [Docs] Japanese translation of docs/feature_dip_switch.md (#8673) * add git_dip_switch.md translation * update based on comment * update based on comment commit f514ad550399fcfa23dad3406b391a2788b18c36 Author: Casey Leask Date: Tue Apr 14 00:45:51 2020 +1000 Fix broken KBD8X MKII Hardware link (#8787) commit 09a1917103f7636cae683aa87ce76e48ebb89032 Author: fauxpark Date: Mon Apr 13 21:15:37 2020 +1000 Slight rename of double angle quote keycodes commit 46e449376163779413b74f81e320a7d7bbd7e13b Author: Nick Brassel Date: Mon Apr 13 17:09:50 2020 +1000 Fix AVR SPI parameter configuration, remove timeouts due to sync protocol. (#8775) commit 157d121c71104abb564643f7b6152d149c01fc20 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Apr 12 23:21:22 2020 -0700 VIA Support: Jane V2 (#8735) * add VIA enabled keymap with some layers taken out for space * get a more sane VID and PID so we don't collide with the other BMC powered boards * small cleanups * Update keyboards/tgr/jane/keymaps/via/keymap.c Co-Authored-By: Ryan * add tkl_ansi_tsangan LAYOUT * add tkl_iso_tsangan LAYOUT Co-authored-by: Ryan commit 7e6b550ebff3accd41fce8ffae706626cd98f755 Author: Gautham Yerroju Date: Sun Apr 12 22:37:23 2020 -0700 Add a simple custom keymap for Gergo. (#8662) * Add a simple custom keymap for Gergo. * update readme, keymap cleanup commit 7f4ce4a8b72c0038a7ffce18db7f98b5219dfd2c Author: Joshua Rubin Date: Sun Apr 12 23:32:46 2020 -0600 Add via support to keebio/bdn9 (#8620) Signed-off-by: Joshua Rubin commit 6452973761597871e9a6fc97981c2f70deb069c8 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Apr 12 22:28:05 2020 -0700 DP60 VIA cleanups (#8697) * some via cleanups for the dp60 firmware * update matrix size commit a2309b306aee4547208d571cf1dad7b0fda53523 Author: codecoffeecode Date: Sun Apr 12 22:22:26 2020 -0700 Adding Niu Mini to VIA (#8702) * porting the niu_mini to via * Wrong values in mk * Updating to unique Vendor ID and Product ID * Addressing zvecr comments * Addressing fauxpark comments Co-Authored-By: Ryan Co-authored-by: Lauren Harris Co-authored-by: Ryan commit 52ac6c4303e4333f9ccb7ecf9dbd691edaad1182 Author: Nick Brassel Date: Mon Apr 13 11:31:40 2020 +1000 Allow trailing whitespace in markdown docs, for formatting purposes. (#8774) commit 05e9ff6554a1be119a585d691067ca2379c1d80d Author: Nick Brassel Date: Mon Apr 13 09:39:38 2020 +1000 Add support for hardware and board initialisation overrides. (#8330) * Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis commit 17bda000f39dd40317160576d0a948d7abb2612f Author: Sergey Vlasov Date: Mon Apr 13 01:55:01 2020 +0300 [Keyboard] Add IDOBAO ID80 (#8728) * id80: New keyboard (IDOBAO ID80) Add initial support for the IDOBAO ID80 keyboard. Most source files were generated by the KBFirmware JSON to QMK Parser (https://noroadsleft.github.io/kbf_qmk_converter/) based on the ID80.json file provided by the keyboard vendor. The only change to rules.mk was to set `COMMAND_ENABLE = no` to make the compiled firmware fit into the available flash space. * id80: Update default keymap to match stock Update the Fn layer in the default keymap to match the stock firmware which was actually flashed into the PCB. * id80: Add Caps Lock indicator support Although the KBFirmware JSON includes information about the MCU pins used for keyboard indicator LEDs, the KBF to QMK converter does not generate the required code automatically. Implement the LED handling code, and at the same time switch from the older `led_set_kb` API to the newer `led_update_kb`. * id80: Remove placeholder functions The provided skeletons for `matrix_scan_kb` and `process_record_kb` did not do anything useful, so remove them. * id80: Use Esc as the Bootmagic Lite activation key The Esc key is not at the (0, 0) position in the ID80 matrix, therefore setting `BOOTMAGIC_LITE_ROW` and `BOOTMAGIC_LITE_COLUMN` is required to use the Esc key for Bootmagic Lite. * id80: Update info.json Replace info.json generated by the KBF to QMK converter with another version generated using http://www.keyboard-layout-editor.com/ and the KLE raw to QMK info.json converter (https://qmk.fm/converter/). The updated info.json has the correct physical layout (the distance between the function key row and the main block is actually 0.25U, but the vendor-provided ID80.json had 0.5U there) and correct key labels (using the stock layout instead of raw matrix locations and pin names). * id80: Enable NKRO The default keymap is updated to have NK_TOGG at Fn+N, like most other keyboards which have NKRO enabled. * id80: Use unique USB vendor/product ID Having an unique USB vendor/product ID is required for VIA support. The vendor ID value is the same as for the `idobo` (ID75) keyboard. * id80: Fix right modifiers in the default keymap For some reason the default keymap converted from the vendor-supplied JSON had the right Shift, Alt and Ctrl keys mapped to the left side modifier keycodes. * id80: Remove empty row 6 (F0) from matrix The matrix layout which was defined in the vendor-supplied ID80.json file had 12 rows which corresponded to the left and right parts of the 6 physical rows. However, the row 6 of the matrix (connected to the F0 pin), which corresponded to the right part of the physical bottom row, was completely empty (all 9 keys of the bottom row were placed in the matrix row for the left part). Keeping this row in the matrix just wastes resources; in particular, when the VIA support is enabled, having a 9×12 matrix with 4 layers leaves only 122 bytes available for dynamic macros, which is less than the recommended minimum of 128 bytes. Removing the unused row reduces the matrix size to 9×11, which leaves 194 bytes of EEPROM space for dynamic macros. * id80: Update row numbers in the LAYOUT macro Update row numbers in the names of the LAYOUT macro parameters after removing a row in the middle. * id80: Set RGBLED_NUM to 20 to match the actual PCB The vendor-supplied ID80.json file specified that the PCB should have 28 RGB LEDs in the chain. However, the actual PCB that was shipped from AliExpress had 20 LEDs in the chain (16 underglow LEDs, and then 4 more LEDs on top of the PCB, to the right of the Enter key location). Update RGBLED_NUM to match the actual PCB. commit 46a69d1f3bb0275819a8f9f2cd0911b77db6eff0 Author: Danny Date: Sun Apr 12 16:09:09 2020 -0400 [Keyboard] Quefrency Rev2 Caps Lock LED, set lighting defaults (#8729) * Add support for Caps Lock LED Currently ignores the fact that led_state is not synced between halves, so caps lock LED doesn't do anything if USB is plugged into right half * Set initial backlight and RGB mode/values on blank EEPROM * Set default VIA layout options * Add backlight/RGB ifdefs * Set bootloaders for each rev commit b56a41800a6acf47a0d4504eb78143dcf152dd13 Author: Derek Date: Sun Apr 12 16:05:46 2020 -0400 [Keyboard] Add handwired Fc200rt qmk board (#8726) * Added handwired Leopold fc200rt * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Delete readme.md * Delete config.h * Update readme.md * Update rules.mk * Update keyboards/handwired/fc200rt_qmk/fc200rt_qmk.c Co-Authored-By: Ryan Co-authored-by: Ryan commit d3c29c9b3c9b1f303ba1c1fd5579d3842d729e5d Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Apr 13 04:44:24 2020 +0900 Bugfix for quantum/dip_switch.c (#8731) * dipsw test on helix/rev2/sc/back:five_rows * bug fix quantum/dip_switch.c * test end. remove test code. Revert "dipsw test on helix/rev2/sc/back:five_rows" This reverts commit 4b13ebb996e1c4997e6deb1fa3b3227db5fa9661. * dipsw test on helix/rev2/sc/back:five_rows * update quantum/dip_switch.c * test end. remove test code. Revert "dipsw test on helix/rev2/sc/back:five_rows" This reverts commit bf99ace095528ad65c531229bcf5ece037dda595. commit 370577e4ed1a714e818bf11cc870e4915f82e93b Author: Konstantin Đorđević Date: Sun Apr 12 20:37:55 2020 +0200 Add *OPT aliases for *ALT keycodes and macros (#8714) commit 6e84247ec2289b66ecbe5ad51643344145587558 Author: George Petri Date: Sun Apr 12 21:33:11 2020 +0300 [Keymap] Add keymap for Nyquist rev3 (#8706) * copy nyquist setup * enable i2c * update colors * update readme * Update keyboards/keebio/nyquist/keymaps/georgepetri3/keymap.c Co-Authored-By: Joel Challis Co-authored-by: Joel Challis commit 5380c29dd79cd819c624e2823237af59da4ba0df Author: QMK Bot Date: Sun Apr 12 18:11:52 2020 +0000 format code according to conventions [skip ci] commit 23f19852b9a8e4810335bcfb2a1da36df97a9eed Author: artjomsR Date: Sun Apr 12 18:37:17 2020 +0100 Added Workman ZXCVM variation (#8686) * Added Workman ZXCVM variation * Update quantum/keymap_extras/keymap_workman_zxcvm.h Co-Authored-By: Konstantin Đorđević * Update quantum/keymap_extras/sendstring_workman_zxcvm.h Co-Authored-By: Ryan * Update quantum/keymap_extras/keymap_workman_zxcvm.h Co-Authored-By: Ryan * Update quantum/keymap_extras/keymap_workman_zxcvm.h Co-Authored-By: Ryan * Update quantum/keymap_extras/sendstring_workman_zxcvm.h Co-Authored-By: Ryan Co-authored-by: Konstantin Đorđević Co-authored-by: Ryan commit 8a5c1e1859b22dff89d6f0200c258857e3f8c2a5 Author: jotix <47826561+jotix@users.noreply.github.com> Date: Sun Apr 12 14:25:09 2020 -0300 [Keyboard] jotpad16 status leds (#8643) * jotpad16 status leds * jotpad16 * readme.md commit 6265b783073e943b8f5b2f7118a2ec8df1fd2ebc Author: Benjamin Smith Date: Sun Apr 12 09:15:31 2020 -0700 [Keyboard] Add handwired BDN9-BLE (#8192) * Add handwired BDN9-BLE * Apply suggestions from code review Co-Authored-By: Ryan * Update keyboards/handwired/bdn9_ble/rules.mk Co-Authored-By: Ryan * Update keyboards/handwired/bdn9_ble/rules.mk Co-Authored-By: Ryan * Update keyboards/handwired/bdn9_ble/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 23124b9fd1d667b3457410b771153361e22ae133 Author: Drashna Jaelre Date: Sun Apr 12 08:27:17 2020 -0700 Fix bug with layer caching in get_event_keycode (#8693) * Fix bug with layer caching in get_event_keycode * Improve naming commit eb7fc7f9d99231e4c59dee2bef8659b089f4846a Author: Andrew Kannan Date: Sun Apr 12 11:08:15 2020 -0400 [Keyboard] Add CannonKeys Atlas keyboard (#8207) * Atlas keyboard * Update info and readme * Update firmware * Apply suggestions from code review * Updates * Add 2x2U layout * Minor cleanup * Fix trailing comma * Remove line * Apply suggestions from code review commit c2df714c3b0c23c2a943bc015281208419253c05 Author: Ryan Date: Sun Apr 12 23:02:14 2020 +1000 Add VIA keymap for Wasdat (#8762) * Add VIA keymap for Wasdat * Enable Bootmagic Lite at keyboard level commit 799b21f8cd6546811652deae23424a3fa603e9b5 Author: Andrew Kannan Date: Sun Apr 12 06:36:03 2020 -0400 [Keyboard] Add CannonKeys Rekt1800 keyboard (#7760) * Add Rekt1800 keyboards * Update keyboards/cannonkeys/rekt1800/config.h * Update keyboards/cannonkeys/rekt1800/info.json * Apply suggestions from code review * Apply suggestions from code review * Remove line * Apply suggestions from code review commit 750179e111dfa35d8023fe9ef785dcbef24f1e55 Author: Joshua Moses Diamond Date: Sun Apr 12 02:22:59 2020 -0400 Fix a couple of typos that were causing confusion (#8767) commit f538b2273a4b9126b5dbfb54218dc40df047b249 Author: James Forcier Date: Sun Apr 12 02:13:45 2020 -0400 Upgrade gcc version/tweak package installs in Gentoo installation (#8757) GCC 4.9.4 is no longer available on Gentoo (or Sabayon), which causes problems when attempting to install on either of these platforms. Since QMK is not particularly sensitive to its GCC version, modify the version restriction to <9 so newer versions of GCC may be installed. Since the toolchain for arm-none-eabi isn't currently installed as part of setup, add that as well. Additionally, drop the Python installation as part of the Gentoo installation process. Python is a core system package on Gentoo and can therefore be assumed to be present; in addition, the slot restriction of 3.5 which was present is also no longer available in Gentoo. Finally, separate the gcc rebuild invocation of `emerge` from the new packages that may need to be installed, and apply the `--noreplace` flag to new packages so that they are not rebuilt if already present. commit 50e85f91e87f7fdb2e64b2d79c49c742f2f6e768 Author: Joel Challis Date: Sun Apr 12 05:53:30 2020 +0100 Fix compile issues with devastatingtkl (#8765) commit 27e7f322a51597423a828396d2783b63462aa446 Author: Andrew Kannan Date: Sat Apr 11 18:21:36 2020 -0400 CannonKeys DB60 (Daughterboard60) PCB (#8208) * Cannonkeys DB60 Keyboard * WhitespacE * Add ISO and make layer names more idiomatic * backlight enable * Remove big backslash from ISO * Apply suggestions from code review Co-Authored-By: Ryan * Update for correct matrix * Apply suggestions from code review Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-Authored-By: Ryan * Update chibios config files * Complete VIA keymap * Remove ugly hack comments * Update keyboards/cannonkeys/db60/rules.mk Co-Authored-By: Joel Challis Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis commit dfdc89296b2d491423ee4c22ed9059d5777fc652 Author: Andrew Kannan Date: Sat Apr 11 18:19:44 2020 -0400 DevastatingTKL Keyboard (#8209) * Save progress * Finished matrix and everything * Apply suggestions from code review Co-Authored-By: Ryan * Update DevastatingTKL * Renames * Add renamed files * Update chibios files and VIA keymap for completion * Some cleanup * Apply suggestions from code review Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cannonkeys/devastatingtkl/rules.mk Co-Authored-By: Joel Challis Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Joel Challis commit 671020af080ccd1feb9a4d633286578e70528c18 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Apr 11 04:42:13 2020 -0700 hineybush Physix Configurator bugfix (#8761) * file linting * fix object order commit b8c3f4c60b1d58cb8261b96c76e1f4cd03c1b0f8 Author: Purdea Andrei Date: Sat Apr 11 14:29:48 2020 +0300 quantum/debounce: Added sym_pk debounce algorithm (#8587) * quantum/debounce: Added sym_pk debounce algorithm * Apply suggestions from code review Co-Authored-By: Ryan * quantum/debounce/sym_pk: delete comments and rename functions following code review * quantum/debounce/sym_pk: Modifications for code readability according to code review * quantum/debounce/sym_pk: Modifications for code readability according to code review (2) * quantum/debounce/sym_pk: code review: cleaner code Co-Authored-By: Nick Brassel Co-authored-by: Ryan Co-authored-by: Nick Brassel commit 511fe643c2ac902e8d42f87bffccdf4aaab700d1 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Apr 11 17:41:12 2020 +0900 [Keymap] fix OLED display on Helix keyboard keymaps default and… (#8737) Since #7773, the mode number of RGBlight is no longer displayed on the Helix OLEDs. I fixed this. commit f7601dba13390947c291b97e23c677b5e3d1f9c4 Author: moyi4681 Date: Fri Apr 10 20:15:23 2020 -0700 change kbd67 rev1 and rev2 default keymaps (#8758) * change kbd67 default keymap commit 89cab95b638e18992c3ee28555ccbf77ed390eae Author: Reid Date: Fri Apr 10 20:43:21 2020 -0500 [Keyboard] Add splitish (#8751) * Added personal minivan keymap, and started work on splitish directory * Merge branch 'splitish' of github.com:RSchneyer/qmk_firmware into splitish Trying to undo attempted fix Added splitish keyboard files, removed personal Minivan keymap * Removed personal Minivan keymaps * Fixed small issue in readme * Added changes based on inital PR feedback * forgot a semicolon * Quick config.h file and default keymap update commit cc38627816b343a2909d50dd0e059daa5986cff9 Author: QMK Bot Date: Sat Apr 11 00:48:16 2020 +0000 format code according to conventions [skip ci] commit 6c2c3c13e903296e6c7b30e56571034ec175d889 Author: Purdea Andrei Date: Sat Apr 11 03:14:28 2020 +0300 Various fixes to how timer differences are calculated (#8585) * tmk_core/common: Fixing TIMER_DIFF macro to calculate difference correctly after the timer wraps. Let's go through an example, using the following macro: If the first timer read is 0xe4 and the second one is 0x32, the timer wrapped. If the timer would have had more bits, it's new value would have been 0x132, and the correct difference in time is 0x132 - 0xe4 = 0x4e old code TIMER_DIFF_8(0x32, 0xe4) = 0xff - 0xe4 + 0x32 = 0x4d, which is wrong. new code TIMER_DIFF_8(0x32, 0xe4) = 0xff + 1 - 0xe4 + 0x32 = 0x4e, which is correct. This also gives a chance for a smart compiler to optimize the code using normal integer overflow. For example on AVR, the following C code: uint8_t __attribute__ ((noinline)) test(uint8_t current_timer, uint8_t start_timer) { return TIMER_DIFF_8(current_timer, start_timer); } With the original code, it gets translated to the following list of instructions: 00004c6e : 4c6e: 98 2f mov r25, r24 4c70: 86 1b sub r24, r22 4c72: 96 17 cp r25, r22 4c74: 08 f4 brcc .+2 ; 0x4c78 4c76: 81 50 subi r24, 0x01 ; 1 4c78: 08 95 ret But with this commit, it gets translated to a single instruction: 00004c40 : 4c40: 86 1b sub r24, r22 4c42: 08 95 ret This unfortunately doesn't always work so nicely, for example the following C code: int __attribute__ ((noinline)) test(uint8_t current_timer, uint8_t start_timer) { return TIMER_DIFF_8(current_timer, start_timer); } (Note: return type changed to int) With the original code it gets translated to: 00004c6e : 4c6e: 28 2f mov r18, r24 4c70: 30 e0 ldi r19, 0x00 ; 0 4c72: 46 2f mov r20, r22 4c74: 50 e0 ldi r21, 0x00 ; 0 4c76: 86 17 cp r24, r22 4c78: 20 f0 brcs .+8 ; 0x4c82 4c7a: c9 01 movw r24, r18 4c7c: 84 1b sub r24, r20 4c7e: 95 0b sbc r25, r21 4c80: 08 95 ret 4c82: c9 01 movw r24, r18 4c84: 84 1b sub r24, r20 4c86: 95 0b sbc r25, r21 4c88: 81 50 subi r24, 0x01 ; 1 4c8a: 9f 4f sbci r25, 0xFF ; 255 4c8c: 08 95 ret Wth this commit it gets translated to: 00004c40 : 4c40: 28 2f mov r18, r24 4c42: 30 e0 ldi r19, 0x00 ; 0 4c44: 46 2f mov r20, r22 4c46: 50 e0 ldi r21, 0x00 ; 0 4c48: 86 17 cp r24, r22 4c4a: 20 f0 brcs .+8 ; 0x4c54 4c4c: c9 01 movw r24, r18 4c4e: 84 1b sub r24, r20 4c50: 95 0b sbc r25, r21 4c52: 08 95 ret 4c54: c9 01 movw r24, r18 4c56: 84 1b sub r24, r20 4c58: 95 0b sbc r25, r21 4c5a: 93 95 inc r25 4c5c: 08 95 ret There is not much performance improvement in this case, however at least with this commit it functions correctly. Note: The following commit will improve compiler output for the latter example. * tmk_core/common: Improve code generation for TIMER_DIFF* macros Because of integer promotion the compiler is having a hard time generating efficient code to calculate TIMER_DIFF* macros in some situations. In the below example, the return value is "int", and this is causing the trouble. Example C code: int __attribute__ ((noinline)) test(uint8_t current_timer, uint8_t start_timer) { return TIMER_DIFF_8(current_timer, start_timer); } BEFORE: (with -Os) 00004c40 : 4c40: 28 2f mov r18, r24 4c42: 30 e0 ldi r19, 0x00 ; 0 4c44: 46 2f mov r20, r22 4c46: 50 e0 ldi r21, 0x00 ; 0 4c48: 86 17 cp r24, r22 4c4a: 20 f0 brcs .+8 ; 0x4c54 4c4c: c9 01 movw r24, r18 4c4e: 84 1b sub r24, r20 4c50: 95 0b sbc r25, r21 4c52: 08 95 ret 4c54: c9 01 movw r24, r18 4c56: 84 1b sub r24, r20 4c58: 95 0b sbc r25, r21 4c5a: 93 95 inc r25 4c5c: 08 95 ret AFTER: (with -Os) 00004c40 : 4c40: 86 1b sub r24, r22 4c42: 90 e0 ldi r25, 0x00 ; 0 4c44: 08 95 ret Note: the example is showing -Os but improvements can be seen at all optimization levels, including -O0. We never use -O0, but I tested it to make sure that no extra code is generated in that case.OA * quantum/debounce: Fix custom wrapping timers in eager_pr and eager_pk debounce algorithms Please see the below simulated sequence of events: Column A is the 16-bit value returned by read_timer(); Column B is the value returned by custom_wrap_timer_read(); Column C is the original code: (timer_read() % MAX_DEBOUNCE) A, B, C 65530, 19, 30 65531, 20, 31 65532, 21, 32 65533, 22, 33 65534, 23, 34 65535, 24, 35 0 25, 0 1, 26, 1 2, 27, 2 3, 28, 3 4, 29, 4 5, 30, 5 read_timer() wraps about every 1.09 seconds, and so debouncing might fail at these times without this commit. * quantum/debounce/eager_pr and eager_pk: modifications for code readability according to code review. * quantum/debounce/eager_pr and eager_pk: modifications for code readability according to code review. (2) commit e4cc642a79492ee5b04223c970a3ae9f0d22fba6 Author: Joshua Moses Diamond Date: Fri Apr 10 20:10:37 2020 -0400 Some refinements of 75_ansi/spidey3 layout (#8581) * First cut at Josh Diamond's KBD75 customizations. Includes: * My unique keymap with ChromeOS specific keys * Use RGB underglow to indicate Caps Lock * Some unicode bindings * Some changes to make debugging easier * Updated spidey3 to be applicable to all 75_ansi boards * Sadly, ChromeOS doesn't pay attention to most consumer codes * Add mac layer; fix flakeyness in CAPS_LOCK underglow. * Make layers.json match the keymap (to the extent possible) * Major cleanup; fix broken debug persistence * Cleanup some whitespace issues * Fix incorrect log message. * Rework layer indication to user RGBLIGHT_LAYERS * Update layouts/community/75_ansi/spidey3/keymap.c Co-Authored-By: Drashna Jaelre * Rename users/spidey3/rgblight.c to layer_rgb.c per suggestion * Refactor to use set_single_persistant_default_layer(). * Use dprint/f to make logging more elegant. * Update users/spidey3/config.h Co-Authored-By: Drashna Jaelre * Update users/spidey3/config.h Co-Authored-By: Drashna Jaelre * Update layouts/community/75_ansi/spidey3/rules.mk Co-Authored-By: Ryan * Update users/spidey3/spidey3.c Co-Authored-By: Ryan * Update users/spidey3/layer_rgb.c Co-Authored-By: Ryan * Update users/spidey3/init.c Co-Authored-By: Ryan * Changes from code review * Numpad layer, various keys for 75_ansi/spidey3 * Add Fn-B to toggle NKRO * Blink rgb to acknowledge some setting changes * Updated media control & reset key location * Minor cleanup Co-authored-by: Joshua Diamond Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit c3c39434324b9aa2739ef03c412e157d3a883947 Author: Keith Long Date: Fri Apr 10 14:53:13 2020 -0700 [Keymap] added vim compatibility, backspace above enter, and general macOS opt… (#8080) * added vim compatibility, backspace above enter, and general macOS optimizations on top of default layout * add space65 macOS keymap for vim users with an optimized bottom row * Update keyboards/projectkb/alice/keymaps/keithlo/keymap.c commit 061ed87b895e70569fa1666e3109a912c4204f51 Author: foxx1337 Date: Fri Apr 10 21:19:34 2020 +0200 Modernize ctrl, shift, alt mods detection (#8724) commit 5c1aca0b88dfa4509ea75c71c1f2f1d38b5e6f84 Author: Spaceman Date: Fri Apr 10 03:44:45 2020 -0400 Fix spaceman naming (#8741) * Fix spaceman naming * Update keyboards/pancake/info.json * Update keyboards/2_milk/info.json commit 6384a2abd8d49f80b28f5a7c0045d39d4c3caa1f Author: Marko Bakan <47256307+obuwunkunubi@users.noreply.github.com> Date: Thu Apr 9 21:45:08 2020 +0200 [Keyboard] obuwunkunubi/spaget handwired (#8738) * adding my keymap * Update keyboards/handwired/obuwunkunubi/spaget/readme.md * Update keyboards/handwired/obuwunkunubi/spaget/readme.md * Update keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk * Update rules.mk * Update keyboards/handwired/obuwunkunubi/spaget/spaget.h * Update keyboards/handwired/obuwunkunubi/spaget/spaget.h * Update keyboards/handwired/obuwunkunubi/spaget/info.json * Update keyboards/handwired/obuwunkunubi/spaget/rules.mk * Update rules.mk * Update keyboards/handwired/obuwunkunubi/spaget/spaget.c * Update keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c * Update keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c * Update keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c * Update keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c * Update keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c * Update keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c * Update keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c * Update keyboards/handwired/obuwunkunubi/spaget/info.json * Update keymap.c * Apply suggestions from code review * Apply suggestions from code review * Update spaget.h * Update keymap.c Updated comments commit 439afc883a94627fd3f742d573fcfdf90ddbb22a Author: Konstantin Đorđević Date: Thu Apr 9 18:54:19 2020 +0200 [Keymap] Update personal userspace and keymaps (#8747) * Update mousekey parameters in userspace * Disable GRAVE_ESC in boards where it isn't used * Tweak MODERN_DOLCH_RED and reset RGB on Shift+Toggle in KBD6X * Disable RGB controls when Fn/Caps indicator lights are on * Use LTO_ENABLE instead of setting -flto directly * Add led_update_keymap, use SS_LCTL instead of SS_LCTRL * Change TAPPING_TOGGLE from 2 to 3 commit 07c75feba3f2c0b4baf1c230750483004e502020 Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Thu Apr 9 18:29:27 2020 +1000 Add PS2_MOUSE_ROTATE to compensate for device orientation (#8650) * Add PS2_MOUSE_ROTATE to compensate for device orientation * fixup! Add PS2_MOUSE_ROTATE to compensate for device orientation * Reformat with IndentPPDirectives: AfterHash as per #6316 commit b5aa5e4338750f6a7d969a30b2fe96f0f5382405 Author: Joshua Rubin Date: Thu Apr 9 01:25:08 2020 -0600 Add RGB support in via to launchpad (#8621) Signed-off-by: Joshua Rubin commit be8443b35b3ec1b6abbe31c6533d22e14df27c4e Author: George Wietor Date: Thu Apr 9 03:16:04 2020 -0400 VIA support for the KBDFans KBD6x (#8680) * Add VIA keymap * Update VID/PID - Update VID/PID to match other KBDfans keyboards - Flesh out keyboard description * add missing newline. whoops. * Update keyboards/kbdfans/kbd6x/keymaps/via/rules.mk Co-Authored-By: Drashna Jaelre * update author / copyright date * Update keyboards/kbdfans/kbd6x/keymaps/via/rules.mk Co-Authored-By: Ryan * Update keyboards/kbdfans/kbd6x/keymaps/via/keymap.c Co-Authored-By: Joel Challis * Update keyboards/kbdfans/kbd6x/kbd6x.h Co-Authored-By: Joel Challis Co-authored-by: George Wietor Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Joel Challis commit 4b10235f6777db3e7a7feab301542a0e78083b20 Author: Konstantin Đorđević Date: Thu Apr 9 03:51:18 2020 +0200 Set the correct RGB LED count on YD60MQ (#8629) * Fix RGB LED count on YD60MQ * Split YD60MQ into 12-LED and 16-LED revisions * Update readmes * Make 12led the default version * Readd base rules.mk, version→variant in readme * Add syntax highlighting to code blocks in readme commit 6ef13f83e2ffff5537c8565972cd007dad548b66 Author: Yan-Fa Li Date: Wed Apr 8 18:20:58 2020 -0700 [Keymap] Updates to personal keymaps (#8665) commit be2f5816b6cf6513591f825df1d0438729b83388 Author: Konstantin Đorđević Date: Thu Apr 9 01:18:30 2020 +0200 Fix compile issues related to NO_ACTION_MACRO/FUNCTION and LTO_ENABLE (#8663) * Define NO_ACTION_MACRO/FUNCTION in header instead of makefile when LTO is enabled Currently, boards and keymaps that define NO_ACTION_MACRO/FUNCTION unconditionally will not compile with LTO_ENABLE (#8604). This fixes the issue by moving the definitions from common.mk to action.h, which enables us to check for previous definitions of those macros (this cannot be done in a makefile). * Remove LTO checks in templates Since now NO_ACTION_MACRO/FUNCTION are defined as needed in action.h (which is included by quantum.h), checking for LTO in keyboard and user code is no longer required. * Update LTO_ENABLE docs commit ff213d5fe1a74f345dd2263c6fb4bc9280f74e0f Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Wed Apr 8 18:56:55 2020 -0400 [Keymap] Userspace update Rgb layers code (#8659) * enable rgblight layers * rgblight layers code * switch to new rgblight layers * testing led positions * fix caps typo * lights and colors working * rules updated for different rgb use * Extra spaces removed commit 3234118e52deba9e87ef20389f22485f24f76a71 Author: Danny Date: Wed Apr 8 14:30:33 2020 -0400 Add Choconum (#8709) * Add Choconum * Disable SPI/I2C, add mem fix * Rename layouts * Nuke unused config.h files * Fix username commit a1ffc40b36038b07c7d8878dce1375e0b9584f8b Author: Jared Giles Date: Wed Apr 8 13:04:39 2020 -0500 Add Via keymap for BM16-A (#8681) * Add Via keymap for BM16-A * Apply suggestions from code review Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-Authored-By: Ryan * Deleted as per noroadsleft Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 8fe5c718b499fb1a19bc5b49c5c91a6fc21d2477 Author: Erovia Date: Sun Apr 5 11:17:12 2020 +0200 Fix edge-case with config Without this check, users can lock themselves out by enabling developer mode, than disabling the dependencies. They wouldn't be able to turn off developer mode as none of the subcommands (including 'config') would work. commit 38f14c4174afe7c576e8bd032f18b1dcceaf9c77 Author: Erovia Date: Mon Mar 23 21:59:44 2020 +0100 Don't hide for devs... commit eb683c8c52df7e3fb6d9829ec15c634e23e9f2ce Author: Erovia Date: Mon Mar 23 17:08:35 2020 +0100 Apply @skullydazed's suggestions, move 'import milc' Only 'import milc' after we are sure that the minimum required modules are available, as it depends on a few of them. commit 21799be1caa72bc8770143e9f83e1b8d55812dfd Author: Erovia Date: Sun Mar 22 22:10:30 2020 +0100 Make dedicated sections for user/dev commands in docs commit 5cfc3ce02e3c8007ac42e8089ecc895771bb3bfb Author: Erovia Date: Sun Mar 22 19:48:30 2020 +0100 Rebase on master, hide some other subcommands The list of hidden subcommands were approved by @skullydazed ;) Currently hidden if 'user.developer' is not True: - cformat - docs - kle2json - pyformat - pytest commit 724f20ed32758b0c5d91ad4b7ba4a9348e152eeb Author: Erovia Date: Thu Feb 20 01:10:56 2020 +0100 Use milc for config check, requirements fixes Use milc's config finding and parsing to check if the user is a developer or not. 'requirements-dev.txt' will now load 'requirements.txt', so no need to run pip twice. Add missing 'yapf' dependency to 'requirements-dev.txt'. commit c61f016fa491502920941fd03cdab6453d126e67 Author: Erovia Date: Wed Nov 27 21:27:06 2019 +0100 CLI: Add development mode support Hide development specific options and don't require dev modules unless `user.developer` is set to `True`. commit ea7e40bae17897fbc613e0965d076a7a25b14ea6 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Wed Apr 8 22:09:20 2020 +0900 Update info.json (#8723) Addressed a key shift in the QMK Configurator. commit 974f83ec4b935a019bcb9c9c1e5ef57598267865 Author: QMK Bot Date: Wed Apr 8 01:38:16 2020 +0000 format code according to conventions [skip ci] commit 400ca2d035d7bdb85c077a53b2cd85cdd04882ab Author: Ryan Date: Wed Apr 8 11:04:31 2020 +1000 spi_master for AVR (#8299) * Change _delay_ms/us() to wait_ms/us() * Switch to platform-agnostic GPIO macros * Add AVR spi_master and migrate Adafruit BLE code * Set verbose back to false * Add clock divisor, bit order and SPI mode configuration for init * Add start and stop functions * Move configuration of mode, endianness and speed to `spi_start()` * Some breaks here would be good * Default Adafruit BLE clock divisor to 4 (2MHz on the Feather 32U4) * Remove mode and divisor enums * Add some docs * No hr at EOF * Add links in sidebar commit e409fb47f27f9cf56479928ed86eb2eb346eec54 Author: DennyTom Date: Tue Apr 7 04:13:17 2020 -0700 DennyTom's buttery_engine (#8138) * Selectively adding pieces * Adding georgi keymap * Adding more files, fixing make * Smaller makefiles * Fixing make rules * README more inline with QMK's guidelines * Turning off buggy assert * Improving documentation based on a user feedback. * Slightly better schema * Resurrected state machine diagram commit 0499f30f59237bbd7c4f204daa9843974d84a639 Author: fauxpark Date: Tue Apr 7 20:50:10 2020 +1000 Update BÉPO keymap and sendstring LUT commit ae74922d1485e3c8e120dbc141d003ed7696b1f9 Author: elmo-space Date: Tue Apr 7 10:43:48 2020 +0200 add via support for kira80 (#8677) * add via support for kira80 * remove redundant raw enable from rules.mk * clean additional layers for via * changed USB Vendor ID commit 3349a8b49bdfad5c6ec33090bc898cd49446f34e Author: artjomsR Date: Tue Apr 7 09:36:54 2020 +0100 [Keyboard] Wheatfield Split75 (#8511) * Added split75 keyboard * tidy up commented out code + removed default * added visual map * proper led functions. more layers for keymap * led functions. moved mod keys to numbers * double tapping toggle + leds on power on * media keys fix * clean up of commented out code and unnecessary functions. readme update. default keymap * removed bootloadHID file * Update keyboards/split75/config.h * Update keyboards/split75/config.h * Update keyboards/split75/config.h * Update keyboards/split75/config.h * removed python flashing script * Update keyboards/split75/keymaps/default/keymap.c * Update keyboards/split75/split75.h * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/keymaps/default/keymap.c * reintroduced empty matrix_scan_user to default keymap * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/usbconfig.h * Update keyboards/ergodone/config.h * Update keyboards/split75/keymaps/art/keymap.c * updated readme file * Update keyboards/split75/usbconfig.h * Update keyboards/split75/rules.mk * Update keyboards/split75/split75.c * code fix after suggestions * defined tapping toggle as double tap * added info.json * Update keyboards/split75/config.h * fix for leds not displaying properly when initialising * Update keyboards/split75/README.md * Update keyboards/split75/keymaps/default/keymap.c * Update keyboards/split75/keymaps/art/keymap.c * changed product description fields * renamed user functions * indentation fix * Update keyboards/split75/usbconfig.h * Update keyboards/split75/usbconfig.h * Update keyboards/split75/usbconfig.h * Update keyboards/split75/usbconfig.h * Update keyboards/split75/usbconfig.h * Update keyboards/split75/split75.c * Update keyboards/split75/split75.c * art keymap update * Update keyboards/split75/config.h * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/split75.c * Update keyboards/split75/keymaps/art/keymap.c * Update keyboards/split75/keymaps/default/keymap.c * Update keyboards/split75/split75.c * Update keyboards/split75/matrix.c * Update keyboards/split75/rules.mk * Update keyboards/split75/split75.c * Update keyboards/split75/split75.c * Update keyboards/split75/split75.c * Update keyboards/split75/config.h * Update keyboards/split75/split75.c * disable underglow on sleep and enabled backlighting * Update keyboards/split75/usbconfig.h * Update keyboards/split75/usbconfig.h * Update keyboards/split75/usbconfig.h * Update keyboards/split75/usbconfig.h * Update keyboards/split75/usbconfig.h * Update keyboards/split75/usbconfig.h * personal keymap update * changed boot animation * consistent whitespace * Tidied up default notes and unnecessary comments * Unique Vendor ID * remove usb config file * corrected manufacturer * Update keyboards/split75/config.h * Update keyboards/split75/README.md * Update keyboards/split75/split75.c * Update keyboards/split75/split75.c * Update keyboards/split75/split75.c * Update keyboards/split75/split75.c * Update keyboards/split75/split75.c * Update keyboards/split75/split75.c * Update keyboards/split75/split75.h * Update keyboards/split75/split75.h * Update keyboards/split75/split75.h * Update keyboards/split75/split75.c * Update keyboards/split75/matrix.c * Update keyboards/split75/matrix.c * Update keyboards/split75/matrix.c * Update keyboards/split75/matrix.c * Update keyboards/split75/split75.h * Personal keymap restore after refactor * Moved to wheatfield folder + updated readme commit b4ef72423ea2b2d314e4373f82bdc955b8d6ec10 Author: skullY Date: Sun Apr 5 19:51:38 2020 -0700 Correctly handle json keymaps with ANY() commit f4b67cde8ae24fdaac70071f793f5c8d0010d959 Author: Konstantin Đorđević Date: Tue Apr 7 06:14:08 2020 +0200 Update C coding conventions to match .clang-format config for i… (#8717) * Update C coding conventions to match current .clang-format config for indenting PP directives * Make indenting guideline clearer commit 0a643be39eb710649560f80c6ce0bc32576813fd Author: Andrew Kannan Date: Tue Apr 7 00:01:11 2020 -0400 Update 072 based CannonKeys boards to rely on core QMK support (#8716) * Swap CannonKeys 072 boards over to rely on core QMK backlight support * Rename keymap * Rename via_tsangan back to via commit 6c8e205fc0e5bc6372f057a257937ec3f88d5b8d Author: Joel Challis Date: Mon Apr 6 21:31:34 2020 +0100 Remove keyboard level ws2812 spi drivers (#7694) commit 79010067539ad2043bd41e9701aa1cde21aec5d1 Author: Joel Challis Date: Mon Apr 6 21:10:30 2020 +0100 Refactor cannonkeys f103 boards to use core backlight (#8089) * Refactor to use core backlight * Remove custom implementation commit 9bfa713421ccd62fe49493b282d02310accf0523 Author: Wilba Date: Tue Apr 7 05:27:44 2020 +1000 Configurable VIA layout options default value (#8707) commit b6fc3ad8e71134d10bf6ed8979bb505f33db92b9 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Tue Apr 7 03:28:42 2020 +0900 Keymap Update jisplit89 (#8708) Fixed wrong Enter key position. commit e0909a31c792d26793100a81e34f51448be13a4d Author: Konstantin Đorđević Date: Mon Apr 6 19:32:40 2020 +0200 GR_DTON → GR_DIAT commit d6bffdf5779f34bd41f734f46d90066b5fedd3f9 Author: Konstantin Đorđević Date: Mon Apr 6 19:09:31 2020 +0200 Small corrections to Belgian, Serbian and Slovenian keymaps commit d1190df10be933c64fee648b41191131313020a2 Author: Pekaso Date: Mon Apr 6 19:47:31 2020 +0900 fix for split-common (#8703) commit bf38f39c3f6c437d289018883ee5ba5ce8495ef5 Author: fauxpark Date: Mon Apr 6 20:15:13 2020 +1000 Wrong letter commit 6add103827ecb9aba8f5293f4db300bd5e75ea99 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Apr 5 22:47:24 2020 -0700 add 60_ansi layout to YD60MQ (#8696) commit 62d1d69ba90300fc6884c43cad57ff9d7863a1d0 Author: fauxpark Date: Mon Apr 6 15:30:36 2020 +1000 Update Italian macOS keymaps and add sendstring LUTs commit 7642075fc3bf1b3484f04619b0b75b942d05e7a2 Author: QMK Bot Date: Sun Apr 5 22:57:28 2020 +0000 format code according to conventions [skip ci] commit ca91dc594bb011f06f2e13018e74b6fd91c07c84 Author: Ryan Date: Mon Apr 6 08:25:07 2020 +1000 V-USB: Remove some stuff from usbconfig.h that should not be configurable (#8656) * V-USB: Remove some stuff from usbconfig.h that should not be configurable * Clean up some ifdefs * And some more * Even more commit 26cb83b8c04029f8882f5d3f537c520dde17126e Author: jotix <47826561+jotix@users.noreply.github.com> Date: Sun Apr 5 19:15:24 2020 -0300 jotix layouts (#8644) * jotix layouts * jotix ortho 4x4 layout * Update layouts/community/ortho_4x4/jotix/keymap.c Co-Authored-By: Drashna Jaelre * jotix Co-authored-by: Drashna Jaelre commit 2392ddb76b3d7e267dfd3ea7bf33eed8a94444f9 Author: Joel Challis Date: Sun Apr 5 22:15:40 2020 +0100 Enable memcore to fix malloc/rand crashes (#8695) commit 6de77141a4f7d45b19a148674beba1beb6711472 Author: Ryan Date: Mon Apr 6 02:11:55 2020 +1000 Doctor: Add avrdude/dfu-util/dfu-programmer version printing (#8678) * Doctor: Add avrdude/dfu-util/dfu-programmer version printing * Extra newline * Iterate through version checking functions commit 6f6c2e1c5c2e619aeec0d64a5a7156aed9fd559d Author: ThePanduuh Date: Sun Apr 5 10:19:36 2020 -0400 updated rules.mk and default keymap of Wonderland for VIA support (#8668) * updated rules.mk and default keymap of Wonderland for VIA support * Restored default keymap and rules.mk, added via keymap folder with modified default keymap and rules.mk, also fixed VendorID in config.h * fixed jargon on layers 3 and 4 of Wonderland VIA keymap * cleaned up via keymap, removed fluff * default keymap for Wonderland restored * removed unnecessary information from rules.mk * made more readable per noroadsleft suggestion Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 48cad94d7e00e8fa234309f80feacaeaa6561f16 Author: Wilba Date: Mon Apr 6 00:18:17 2020 +1000 Added Caps Lock LED handler to wilba.tech PCBs (#8660) commit 90665aeec9c90f62ea3687b037624d9fc04ad380 Author: halfenergized Date: Sun Apr 5 20:48:23 2020 +0700 Add keyboard TGR-910 (#8683) * Add files via upload * Update info.json * Update info.json * Update 910.h * Update 910.h * Update 910.h * Update info.json * Update 910.c * Update 910.h * Update config.h * Update config.h * Update keymap.c * Update rules.mk * Update readme.md * Delete config.h * Delete readme.md commit 845953cc67e33dbd9ac5007ba3b39562f5aea962 Author: Drashna Jaelre Date: Sun Apr 5 01:18:19 2020 -0700 V-USB remote wakeup (#7627) * V-USB remote wakeup Backport from tmk/tmk_keyboard@391c979be751eaf113c8f53c36644a6bb6ff12f6 * Change vusb.c remote wake config as per fauxpark's suggestion commit c3c2eb71e14500117aa974e10fa670fbca893661 Author: Ryan Date: Sun Apr 5 17:56:20 2020 +1000 Add Greek keymap (#8636) * Add Greek keymap * Split left shift (unused), change keycode for dialytika tonos * Update quantum/keymap_extras/keymap_greek.h Co-Authored-By: Konstantin Đorđević * Fix definition for DTON Co-authored-by: Konstantin Đorđević commit 28a6a4a15bc1d2ed8432ac81c37bef5bc0c7515e Author: Ryan Date: Sun Apr 5 17:55:13 2020 +1000 Add Polish keymap (#8637) * Add Polish keymap * Fix wrong AltGr mapping * These are ogoneks, not cedillas * Too many !s * ANSI * Just use BSLS * Move BSLS * Move PIPE * Fix some incorrect names in keymap_slovak.h Thanks to vomindoraan commit ccb37f673a63941da986263880f4545be4c7b0e3 Merge: c5efbc45a1 781308507d Author: Drashna Jaelre Date: Sun Apr 5 00:53:52 2020 -0700 Add Russian keymap (#8638) * Add Russian keymap * Switch to ANSI layout commit c5efbc45a1484669acf5492955106f756413b406 Author: Ryan Date: Sun Apr 5 17:51:10 2020 +1000 Add Korean keymap (#8635) * Add Korean keymap * Switch to ANSI layout * Update quantum/keymap_extras/keymap_korean.h Co-Authored-By: Konstantin Đorđević Co-authored-by: Konstantin Đorđević commit 6a0d3c3517246b169cc9caee996792e23f1f7839 Author: Joshua Rubin Date: Sun Apr 5 01:29:17 2020 -0600 [Keyboard] Add 60_hhkb layout to hhkb (#8618) Signed-off-by: Joshua Rubin commit 2fbbac04bb0c84323e3bb16b4d164d726046967c Author: coseyfannitutti <43188488+coseyfannitutti@users.noreply.github.com> Date: Sun Apr 5 01:38:25 2020 -0400 [Keyboard] romeo - add via layout (#8667) commit 04c81a04c7d0a96818f6fd4087ca21586faa87f1 Author: huajijam Date: Sun Apr 5 13:28:40 2020 +0800 [Keyboard] Add ReverseStudio-DecadePad (#8553) * ADD DecadePad * Fix Key display bug * fix * firmware1 THIS IS A Backup commit * firmware2 * rename all fill with lower case * fix bug * Final Version Fix all bugs * Requested change apply * suggested apply * change apply * via test * Apply change and fix via support problem commit 120fcc58b6454f65616ff08670d74c5b9a5059e1 Author: yfuku <30647434+yfuku@users.noreply.github.com> Date: Sun Apr 5 13:59:49 2020 +0900 [Keyboard] Add bat43 Keyboard (#8648) * carete bat43 dir by new_keyboard.sh * customize * bugfix * fix * remove LAYOUT_kc * Update keyboards/bat43/readme.md * Update keyboards/bat43/rules.mk * Remove unnecessary parts * converted to Kxy format * Update keyboards/bat43/bat43.h commit 2f15cb21260f152b93c0ef76e780bba4f33e1938 Author: skullY Date: Sat Apr 4 11:18:31 2020 -0700 minor tweaks commit 8af156d9769349692f1de522ec365d161aced99a Author: Ross Baquir Date: Thu Apr 2 16:46:26 2020 -0700 Fix saving output from avrdude and dfu-programmer commit 70b501516258ae6b76d6a8b6cd86368ed4b63f11 Author: Ross Baquir Date: Mon Mar 30 17:41:58 2020 -0700 Use version_arg in ESSENTIAL_BINARIES dict commit 3fad3854d67e41464475e5551669a5c683d3c67d Author: Ross Baquir Date: Fri Mar 27 20:09:21 2020 -0700 Fixes #8541 by getting version from -dumpversion then --version as fallback commit 38d7145da280a3fad108327ac849832aa2c75d2f Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Fri Apr 3 22:52:05 2020 -0700 VIA Support: 1upkeyboards Sweet16 (#8652) * update VID and PID to match the rest of 1up's collection * add VIA keymap commit 6e8876be39f829b0327f567d673b23be0f4f28c6 Author: Ethan Durrant <5387347+emdarcher@users.noreply.github.com> Date: Fri Apr 3 14:37:31 2020 -0600 [Keyboard] Lattice60 (#8603) * created initial files for the lattice60 * modifying the keymaps and config * keymap edits and docs * modifying docs and added personal keymap * added pic and website to readme * added layout image for default keymap * updating layout pictures * minor formatting edit * file cleanup * trying to prevent errors with usbconfig * removed usbconfig.h * cleaning up comments * switched to use community hhkb layout commit 0bb2924670918271c35088af23089415653bac1b Author: coseyfannitutti <43188488+coseyfannitutti@users.noreply.github.com> Date: Fri Apr 3 16:26:42 2020 -0400 Discipline - Add ISO compatibility, rawHID enable, via layout (#8627) * Add ISO compatibility, rawHID enable, via layout * Update rules.mk * Update keyboards/coseyfannitutti/discipline/rules.mk * Update keyboards/coseyfannitutti/discipline/keymaps/via/rules.mk * Update rules.mk * Update rules.mk * Update keyboards/coseyfannitutti/discipline/rules.mk * Update rules.mk * update iso layout macros * Update keymap.c commit 2f623daa459eeab29f2bdfe03bc7c2c05e875d45 Author: ai03 Date: Fri Apr 3 20:33:53 2020 +0900 [Keyboard] Add Orbit-X Keyboard (#8605) * Make initial batch of files * Tweak keymap * Mod default keymap * Add via compat * Update default keymap based on real world use * Remove RGB, LCD, MIDI options * Remove unnecessary functons from orbit_x.c * Update readme * Cleanup makefile as necessary * Make the readme file for default keymap not completely empty * Update keyboards/ai03/orbit_x/keymaps/default/keymap.c * Update keyboards/ai03/orbit_x/readme.md * Update keyboards/ai03/orbit_x/info.json commit ebbaba9001c09f904e29b16f9b0458afdefdae2f Author: Joshua Rubin Date: Thu Apr 2 21:32:36 2020 -0600 add 60_tsangan_hhkb layout to GH60 rev. C (#8617) * add 60_tsangan_hhkb layout to gh60 commit 5f35b07102ac7c8296331562f1e8a39d351c9d4a Author: Joshua Rubin Date: Thu Apr 2 21:22:48 2020 -0600 add 60_tsangan_hhkb layout to dz60 rules (#8616) * add 60_tsangan_hhkb layout to dz60 commit 59188bf29d10cdf0500811a68f611ab6a724494f Author: QMK Bot Date: Thu Apr 2 21:59:37 2020 +0000 format code according to conventions [skip ci] commit 9c4bf0ac4aed4ab315f27bfa5d2f54b0dd931138 Author: Joel Challis Date: Thu Apr 2 22:23:57 2020 +0100 Initial support for ATtiny85 (#8632) * Initial support for ATtiny85 * Update mcu selection commit f2901375ce9fbf14e4a95eabf3b6abc7bfbc4300 Author: yiancar Date: Thu Apr 2 22:18:50 2020 +0100 Add VIA to Gingham (#8651) * Add VIA to Gingham - Add VIA keymap - Fix minor typo in config.h - Remove redundunt methods and defines * Update keyboards/gingham/config.h Co-Authored-By: Ryan Co-authored-by: Ryan commit f65e79477f3c5478b37c1434f6d21c3fb3282b58 Author: Takuya Urakawa Date: Fri Apr 3 06:16:49 2020 +0900 Add via keymap to plaid (#8640) * define VID/PID in post_config.h, add via keymap * update readme, set vid/pid for via * update keymap * delete usbconfig.h, update keymap * add status led feature * Apply suggestions from code review Co-Authored-By: Joel Challis * undef vid/pid in keymap Co-authored-by: Joel Challis commit 3094422b337789a3228248721cd7af28840fcc3b Author: chemicalwill <36576135+chemicalwill@users.noreply.github.com> Date: Thu Apr 2 15:00:04 2020 -0500 Fixed info.json (#8653) * Previous info.json had 4 layers instead of 1, incorrect height and width * Added labels for arrows (Up, Down, Left, Right) * Formatted info.json by rows commit 31fd0cbc1ca35ce023fbbc3553a04aa480dc2187 Author: Joel Challis Date: Thu Apr 2 20:46:38 2020 +0100 Fix AVR ws2812 when ADDRESS_BASE is non zero (#8646) * Fix AVR ws2812 when ADDRESS_BASE is non zero * fix port * remove unused function defs commit 2b427f774a6665819306cf716d79355db3f7d169 Author: Ryan Date: Fri Apr 3 02:52:16 2020 +1100 Fix `pgm_read_ptr()` define for ARM (#8658) commit 85444176b2c18fa17396fca7a184b8e28d140a03 Author: Silvio Gulizia Date: Thu Apr 2 14:09:26 2020 +0200 [Keymap] sigul Planck layout updates (#8649) * fix missing music mode legend * edit cleaning for readability and removing unused keys * remove MOUSE from lower, raise and mouse * remove MOUSE keycode * edit with updates Co-authored-by: pisilvio commit 52b48997ebef59b903527bd2d5ab119afb2ac5e9 Author: 2Moons-JP <57225836+2Moons-JP@users.noreply.github.com> Date: Thu Apr 2 16:40:07 2020 +0900 info.json fix for basekeys/slice (#8606) * info.json fix commit 808aab8496607fc9338e53c9894ee4710da101b5 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Thu Apr 2 12:56:59 2020 +0900 add japanese translation (feature part 01) (#8196) * add feature part 01 * update sentences * update sentences * update sentences * update file based on comment * leave ctrl, shift, alt key name as alphabet * update file based on comment * update file based on comment * update file based on comment * update file based on comment * remove unnecessary space on define line * update sentence based on pull request's comment * translate 'breathing' in document * change expression in table * update file based on comment * change the word 'brightness', and update based on comment * update based on comment * update based on comment * add language directory name to each internal link * update based on comment * update based on comment commit 0742f9fc96f65c8215bcb6d6e998e1e06463cdb0 Author: Xyverz Date: Wed Apr 1 16:03:52 2020 -0700 Changes to my Ergodox & Planck keymaps (#8622) * Changes to my Ergodox & Planck keymaps * Fixed Typos Corrected some typos and omissions to my Ergodox layout and readme * Fixed Typos Fixed some typos in my ErgoDox Readme and keymap.c files commit 58a9c84d6bb22c7544231f60acace4a85d6f8dd2 Author: Joel Challis Date: Wed Apr 1 21:06:22 2020 +0100 Strip out features to allow minimum firmware sizes (#8645) commit c217186bea9226f87ef4b8acc926c3f21a0fea85 Author: yiancar Date: Wed Apr 1 17:11:24 2020 +0100 Updated V-USB template to allow usbFunctionWriteOut (#8634) commit 781308507d3a1c086aeb6061e3b550b48148ca4b Author: fauxpark Date: Thu Apr 2 03:10:51 2020 +1100 Switch to ANSI layout commit 2eb6cb0dfd765cd7e841541ee4a75005dbb52df7 Author: spe2 Date: Wed Apr 1 09:04:02 2020 -0600 Add additional minimal "mini" keymap for Centromere (#8579) * Create readme.md * Add files for Centromere * Add keymap files for Centromere * Add default keymap for Centromere * Create keymap directory * Add keymap files * keymap directory cleanup * Keyboard keymap directory cleanup * Update keyboards/centromere/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/centromere/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/centromere/config.h Co-Authored-By: Drashna Jaelre * Update keymap.c * Update keymap.c * Update centromere.c Changed LED control to GPIO functions * Update centromere.h * Update rules.mk * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/keymaps/default_u2/keymap.c Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.h Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.h Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.h Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.c Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.h Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.h Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Apply suggestions from code review Co-Authored-By: fauxpark * Update readme.md * Create keymap.c Add a minimalist keymap for Centromere. * Update keyboards/centromere/keymaps/mini/keymap.c Commit keymap suggestion change Co-Authored-By: ridingqwerty * Update keyboards/centromere/keymaps/mini/keymap.c Co-Authored-By: ridingqwerty * Update keyboards/centromere/keymaps/mini/keymap.c Co-Authored-By: Drashna Jaelre * Update keymap.c Remove QWERTY keymap tone, only QWERTY is used here so additional case unnecessary. * Update keyboards/centromere/keymaps/mini/keymap.c Co-Authored-By: Ryan * Update keyboards/centromere/keymaps/mini/keymap.c Co-Authored-By: Ryan * Update keyboards/centromere/keymaps/mini/keymap.c Co-Authored-By: Ryan * Update keyboards/centromere/keymaps/mini/keymap.c Co-Authored-By: Ryan * Update keyboards/centromere/keymaps/mini/keymap.c Co-Authored-By: ridingqwerty Co-authored-by: Drashna Jaelre Co-authored-by: fauxpark Co-authored-by: ridingqwerty commit 95c5c11d0b909f14696c9c0b2dd30b3bfd406273 Author: Ryan Date: Thu Apr 2 01:49:45 2020 +1100 Miscellaneous cleanups (#8639) * Miscellaneous cleanups * Cast NO_PIN commit b6a09502c626c3a94a859ab0a61d41a41835d611 Author: Joel Challis Date: Wed Apr 1 13:27:16 2020 +0100 Migrate :program logic to :flash (#8631) commit 19621354189066417c42ac840dfc237bf790f09b Author: shela Date: Wed Apr 1 15:05:45 2020 +0900 [Docs] Update Japanese translation of i2c_driver.md (#8523) * Update Japanese translation of i2c_driver.md * Apply a part of suggestions from code review commit d79be051dd80cc1ed7e7d5b46c04139b4a1c0b4f Author: Takuya Urakawa Date: Wed Apr 1 15:04:16 2020 +0900 [Docs] Japanese translation of hardware_*.md (#8278) * add docs/ja/hardware.md * add docs/ja/hardware_avr.md * add docs/ja/hardware_drivers.md * add docs/ja/hardware_keyboard_guidelines.md * update hardware.md * add space around alphabet word * fix link tag * Apply suggestions from code review Co-Authored-By: shela * remove ja/hardware.md * Apply suggestions from code review Co-Authored-By: shela Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * match word matrix with other translations * Apply suggestions from code review Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: shela Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 3fe8d604a4ff1cc3c422ae10caa7e462aaae33f1 Author: fauxpark Date: Wed Apr 1 14:09:34 2020 +1100 Add Russian keymap commit 194bc7a7e1b3eda49acebe6ff1eba9bc6f643edd Author: Ryan Date: Wed Apr 1 14:01:24 2020 +1100 Add Slovak keymap and sendstring LUT (#8561) commit fec4283022b637b33712e85995f46239ab060d92 Author: Ryan Date: Wed Apr 1 14:01:01 2020 +1100 Add Serbian keymaps and sendstring LUT (#8560) * Add Serbian keymaps and sendstring LUT * Apply suggestions from code review Co-Authored-By: Konstantin Đorđević * Fix formatting Co-authored-by: Konstantin Đorđević commit 17af712b7c3190a504110cc38a509c7da8e533a0 Author: Ryan Date: Wed Apr 1 14:00:34 2020 +1100 Add Lithuanian keymap and sendstring LUT (#8562) * Add Lithuanian keymap and sendstring LUT * Add Lithuanian AZERTY commit 712ded1f2f0966e108c87172e5061f9673f398b7 Author: Ryan Date: Wed Apr 1 14:00:02 2020 +1100 Add Latvian keymap and sendstring LUT (#8563) commit c67e30459390982f4f1b47f46c62322f1fe9ba87 Author: Drashna Jaelre Date: Tue Mar 31 16:26:43 2020 -0700 [Keymap] Drashna's Cleanup and RGB Divide (#8506) * Enable External EEPROM on Planck Rev6 * Update KC_MAKE macro to use qmk cli util * Disable additional gradients for rgb matrix * Update analog code for newer methods * Update ergodox layout * Disable Grave Escape * Cleanup OLED code a bit * Remove old unicode code * Seperate RGB Matrix code from RGB Light code in userspace * Massive overhaul an generalization of personal OLED code Now lets hope I NEVER get a keyboard using a 128x32 in a normal orientation. * Super tiny cleanup * Enable Diablo layer on kyria * clang format pass * Additional OLED cleanup commit 8c80475fcc568e04f637ae973086b65a31b5254d Author: Danny Date: Tue Mar 31 18:21:05 2020 -0400 Update Quefrency (#8623) * Add Quefrency Rev. 2 VIA support * Fix matrix mapping * Add Rev. 1 VIA support * Flip encoder pinout * Drop trailing backslashes * Remove layer names * Remove unneeded extern Co-Authored-By: Ryan * Fix bracket alignment Co-Authored-By: Ryan Co-authored-by: Ryan commit 3e18bb914cbdba36b574aaf020afe0e93d3d87fd Author: mcmadhatter Date: Tue Mar 31 23:01:09 2020 +0100 [Keymap] Add support for the Launch Pad in VIA (#8615) * Added via config support for the launchpad Added via config support for the launchpad * Update keyboards/launchpad/keymaps/via/rules.mk Co-Authored-By: Joel Challis * Update keyboards/launchpad/keymaps/via/keymap.c Co-Authored-By: Joel Challis * Update keyboards/launchpad/keymaps/via/keymap.c Co-Authored-By: Ryan * Update keyboards/launchpad/keymaps/via/keymap.c Co-Authored-By: Ryan * Update keyboards/launchpad/keymaps/via/keymap.c Co-Authored-By: Ryan * Update keyboards/launchpad/keymaps/via/keymap.c Co-Authored-By: Ryan * Update keyboards/launchpad/keymaps/via/keymap.c Co-Authored-By: Ryan * Update keyboards/launchpad/keymaps/via/keymap.c Co-Authored-By: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit 4434649c2f33a886d5b4e331b33daa8d1f430f7f Author: chemicalwill <36576135+chemicalwill@users.noreply.github.com> Date: Tue Mar 31 16:46:20 2020 -0500 [Keyboard] added bear_face PCB (#8596) * bear_face initial commit Added bear_face PCB * ATMega32u4-based replacement PCB for the Vortex Race 3 * Default keymap emulates stock board keymap (with a few changes), including layer toggles for QWERTY, COLEMAK, and DVORAK layouts * Suggested changes made * fixed keyboard_pre_init_kb in bear_face.c * removed 'LAYOUTS = 83_ansi' from rules.mk * readme header fixed Co-Authored-By: Ryan * rules.mk formatting fixed Co-Authored-By: Ryan * info.json converted from KLE * Default layers enum added Co-Authored-By: Drashna Jaelre * Specified LAYOUT_83_ansi in info.json from generic LAYOUT Co-Authored-By: Joel Challis * Updated license * Changed license name to username * Changed license email to github profile url Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis commit c6c94eeabcf2681b6f0c72de76ba0b94e4c6d4d3 Author: marksard <38324387+marksard@users.noreply.github.com> Date: Wed Apr 1 06:32:04 2020 +0900 [Keymap] Keymap refactoring in Treadstone48 (#8574) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Refactoring all my keymaps. - Not use tap dance - Remove not use define aliases - Remove not use incluse and extern value. * default keymap extra key was changed * remove rgblight_config Co-authored-by: root commit 2c201ab9ad182aa7692be8ce309dd749c46d9dba Author: Bram de Wilde <36888863+brambozz@users.noreply.github.com> Date: Tue Mar 31 20:55:54 2020 +0200 Update newbs_getting_started.md qmk is not available in the official Arch repositories. It is in the AUR, this install command will work if user has `yay` installed. commit e5b10079cfaf9bd3cfb25781f2847a6ca4590fd4 Author: Silvio Gulizia Date: Tue Mar 31 23:15:16 2020 +0200 [Keymap] Sigul planck (#8546) * remove IT_PIPE duplicate and add IT_GRAD IT_PIPE was declared 2 times, ones as ° and once as |. I changed the first declaration and called it IT_GRAD. I even fixed the definition because the ° in Italian is obtained with LSFT(IT_AACC) * rename IT_GRAD to IT_DEGR * fix missing music mode legend * add missing plus_and_minus * fix missing IT_ACUT definition * change KC_LALT(KC_LSFT to LALT(LSFT * Fix alignment * remove leftover * fix issue generated with chars while pushing * fix typo * add sigul folder in Planck keymaps * fix LCBR and RCBR * fix euro symbol * fix RBRC * change IT_LESS form KC_NUBS to KC_GRAVE * add IT_TILDE and change IT_GRAV to IT_GRAVE * initial commit * add ideas to readme * comment key lock * add a bunch of new features as stated in readme.md * check features added and list to do * add macros on RAISE * add F keys on numbers row on FN layer * flag features added * fix macro formulas * move DESK and SGCOM under D and S * invert IT_EACC and S(IT_EACC) to align the layout with that of the default Planck * invert IT_EACC and S(IT_EACC) to align the layout with that of the default Planck fix spaces for readability * add missing legends for accented vowels * format for readability * move MOUSE button on B (same key that activates it) on MOUSE layer * revert to commit befor I edit it * initial commit * edited to be easier to compare to _ansi.h * remove keymap_italian_osx_iso.h and rename with edits keymap_italian_osx_ansi.h to keymap_italian_osx.h I found out there were no difference at all * fix missing #endif * change the included file from italian.h to italian_osx.h * fix debug key * edit Numapd layer, add enter and bsps * change TAPPING_TOGGLE from 2 to 3 * change italian_osx.h to italian_ansi.h * rename quantum/keymap_extras/keymap_italian_osx.h to quantum/keymap_extras/keymap_italian_ansi.h Now this file is a clone of the keymap_italian.h that appears to be working only for ISO keyboards. It also contains a few improvements for IT_PIPE (defined two times) and IT_ACUT (missing definition). Additionally it redefines LCBR and RCBR to LSFT(IT_LBRC) and LSFT(IT_RBRC) * rename file * redefines IT_BKSL and IT_PIPE based on KC_BKSL * merge new italian * add new osx_iso and osx_ansi version for italian.h and align BKSL to BSLS, fix double definition of PIPE * rename BKSL to BSLS * add FN_D and some comments * add MOUSEKEY configuration * update * edit swap =/+ with ò/ì * merge with master * add MS_B to have _MOUSE when pressing B * move RAISE on _FN * add phone number * remove CONTRA folder * remove CONTRA folder * Update keyboards/planck/keymaps/sigul/keymap.c fix include definition Co-Authored-By: Ryan * remove default planck kemap * remove extern keymap_config_t keymap_config; based on suggestion from @fauxpark, It's not needed as it should already be externed through one of the includes provided by QMK_KEYBOARD_H. Co-Authored-By: Ryan * add user space for user sigul * remove custom config moved to user space sigul * comment tri layers state (moved to user space) * remove tri layers update comment (code moved in user space) * add secrets * move enum and define to userspace * Edit title * move enum and define to sigul.h * add thanks * edit: moving to userspace enum, define and process_records * add enum and defines * add process_records * cleaning code after moving code to user space * add process_records * cleaning code * adding rules to manage secrets * remove secretes * first commit * add macro timer * add keycodes macro * edit custom keycodes order * add strings to send inside the secrets array * remove codes for secrets & change secret to secrets * edit secrets keycodes * edit keycodes names and order * add secrets.h and secrets.c * add #pragma once Co-Authored-By: Joel Challis * Update .gitignore Co-Authored-By: Joel Challis * add local gitignore for secrets * remove secrets * update for secrets * change FN_D to IT_D * remove FN_D definition Co-authored-by: pisilvio Co-authored-by: admin Co-authored-by: Ryan Co-authored-by: Joel Challis commit 854d46f833e57fa3b2b3b29c0230cba8f3e95a6e Author: Joel Challis Date: Tue Mar 31 17:51:52 2020 +0100 Disable console on vusb boards using mouse/extra (#8625) commit bdfdc506da7702960bf3f6167a3a95f1230b0397 Author: Konstantin Đorđević Date: Tue Mar 31 18:28:43 2020 +0200 Rename UC_OSX (and related constants) to UC_MAC (#8589) * Rename UC_OSX (and related constants) to UC_MAC * Update UNICODE_SONG_OSX references to UNICODE_SONG_MAC * Update UC_M_OS references to UC_M_MA * Add UC_OSX alias for backwards compatibility * Add deprecation warning for UC_OSX to Unicode docs * Add UC_M_OS alias for backwards compatibility * Update newly found UC_M_OS and UNICODE_SONG_OSX references * Add legacy UNICODE_MODE_OSX alias, revert changes to user keymaps * Add legacy UNICODE_SONG_OSX alias, revert changes to user keymaps * Replace removed sounds in Unicode song doc examples commit 51a81813b0191d95f3ed774cbc410579e606dc5c Author: Ryan Date: Tue Mar 31 23:17:04 2020 +1100 V-USB: Consolidate usbconfig.h's into a single file (#8584) commit 8566a684bc27d7298b8fcb20e4154bf4a091a5ab Author: shela Date: Tue Mar 31 19:21:47 2020 +0900 Add Japanese translation of cli_commands.md (#8513) commit 28d3c297043e7ec3af79457189cb074609cf11b4 Author: shela Date: Tue Mar 31 19:19:15 2020 +0900 [Docs] Update Japanese translation of cli.md (#8510) * Update Japanese translation of cli.md * Update docs/ja/cli.md Co-Authored-By: s-show Co-authored-by: s-show commit dd5cb648516ae39f79c4e05f98b6be49e29f77a9 Author: shela Date: Tue Mar 31 19:12:54 2020 +0900 [Docs] Update Japanese translation of faq related documents (#8521) * Update Japanese translation of faq related documents * Update docs/ja/faq_general.md Co-Authored-By: s-show Co-authored-by: s-show commit b9a64ec93bcc7acaeb30849a388699bbc4568fbf Author: shela Date: Sun Mar 22 13:06:49 2020 +0900 Update Japanese translation of config_options.md commit c9067dfe4f2962196c4d6c0e68fb6820e30c7bda Author: shela Date: Tue Mar 31 18:02:12 2020 +0900 Update Japanese translation with prefix 'getting' commit 1592d7df24813037aa411e85ca42f137a2807926 Author: Joel Challis Date: Mon Mar 30 22:15:08 2020 +0100 Fix hasu usb converter bootloader (#8613) commit 9acd5e04d556f4111424887ef13be511a9e39cc8 Author: QMK Bot Date: Mon Mar 30 20:52:13 2020 +0000 format code according to conventions [skip ci] commit 0afcb8a36ce9f7b7437380859b095bc96662efae Author: Antosha Date: Mon Mar 30 23:17:04 2020 +0300 Added USSR anthem. (#8588) commit 89a675d57c14b3980ba73198b692d6fb5a62f105 Author: Takuya Urakawa Date: Tue Mar 31 05:15:05 2020 +0900 add hid_raw feature to VUSB (#8380) * rewrite usbhid feature on vusb * Apply suggestions from code review Co-Authored-By: Ryan * fix typo * fix typo again * Update tmk_core/protocol/vusb/vusb.c Co-Authored-By: Ryan * clean up defines Co-authored-by: Ryan commit b892a1429d753d83d179fea26a2c7b84edab840d Author: Sergey Vlasov Date: Mon Mar 30 18:41:26 2020 +0300 Fix inverted backlight for XD87 (#8612) commit e90d66f93ea8b164f38c3679444ee6252182c02d Author: Damien Date: Mon Mar 30 08:51:53 2020 +0200 [Keymap] Cleaning dbroqua's HHKB layout (#8578) * Cleaning dbroqua's HHKB layout Removed _ADJUST layout and integrate move directly on _FN layout. * Update readme.md * use enum commit bfef2c7b0583e5b48bba9a0fd92934b395c0b08d Author: Danny Date: Mon Mar 30 02:47:45 2020 -0400 [Keyboard] Iris via changes (#8597) * Change PID to allow differentiation between Rev. 3 and Rev. 4 * Rebadge thumb keys in macro to show physical wiring better * Add more rules for VIA keymap commit 74c01654c771f120ab29ffabac833497a086eacf Author: George Petri Date: Mon Mar 30 00:14:43 2020 +0300 Update keymap keebio/nyquist (#8602) * format code, add shift color * testing colors * todos, shift on right * changed colors * use rgh layers api * impl shift layer * replace xor with != * moved shift rbg * breathing animation, simplyfy layers * remove breating animation * use tt * minor cleanup * debounce eager, lto * shut down rbg when poweroff * update readme * readme.md fix * more readme.md fix * more readme.md fix commit dc98d44582eac7b4bcdafc21e5c43814aa7959ab Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Mar 30 05:00:47 2020 +0900 [Docs] added the description of the reading order of the rules.mk files. (#8566) * added the description of the reading order of the rules.mk files. * Update docs/hardware_keyboard_guidelines.md Co-Authored-By: Ryan * Update docs/hardware_keyboard_guidelines.md Co-Authored-By: Ryan Co-authored-by: Ryan commit defa1a1dc770c616b6cc79d9df7012e7f0af83a2 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Mon Mar 30 04:42:15 2020 +0900 [Keyboard] Add keyboard jisplit89 (#8501) * Add keyboard jisplit89 Add jisplit89 keyboard. A 89 keys JIS Layout keyboard. Salicylic-acid3 * Update keyboards/jisplit89/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/jisplit89/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/jisplit89/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/jisplit89/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/jisplit89/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/jisplit89/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/jisplit89/readme.md Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> * Update keyboards/jisplit89/rev1/rev1.h Co-Authored-By: shela * Copyright has been updated. Changed signature to Salicylic_acid3 and changed year to 2020. * Update readme Added a note to the build guide. * Remove unnecessary definitions. Remove unnecessary definitions. * Update keyboards/jisplit89/keymaps/default/keymap.c Co-Authored-By: Joel Challis * Update keyboards/jisplit89/keymaps/salicylic/keymap.c Co-Authored-By: Joel Challis * Update keyboards/jisplit89/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/keymaps/salicylic/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/keymaps/salicylic/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/keymaps/salicylic/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/keymaps/default/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/keymaps/default/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/keymaps/salicylic/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/jisplit89/keymaps/salicylic/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Delete config.h Removed to make it more default Co-authored-by: Drashna Jaelre Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-authored-by: shela Co-authored-by: Joel Challis Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit c89c0841468ad23153a9fc9578d344845df31a88 Author: Erovia Date: Sun Mar 29 14:29:44 2020 +0200 CLI: More MSYS2 fixes (#8577) * CLI: More MSYS2 fixes Now I can fully setup and work with qmk_firmware on an MSYS2 installation without any errors or exceptions. * Apply suggestions from code review Co-Authored-By: skullydazed * Some improvements * Remove unnecessary import * Remove slow, unused code Getting the version from GIT was slow on both Windows and Docker. Until we find a better, faster way, this is removed. * remove unused imports * Implement @vomindoraan's suggestions * refine how we pick the shell to use * Apply @fauxpark's suggestions fauxpark investigated the topic of shells in MSYS2 a bit and we come to the conclusion that the safest bet was to just use the user's shell. Anything more just opens up more edge-cases than it solves. Co-Authored-By: Ryan * Use `platform_id` in doctor This will bring it in line with the new code. Co-authored-by: skullydazed Co-authored-by: skullY Co-authored-by: Ryan commit 13fff52f6b629e4345e7ea2296b3d100aa9df245 Author: Casper Weiss Bang Date: Sun Mar 29 00:35:11 2020 +0100 fixed problem with implicit declaration in quantum/rgblight.c (#8406) * Update tmk_core/common/progmem.h Co-Authored-By: Ryan * Update quantum/rgblight.c Co-Authored-By: Ryan * fixed problem with implicit declaration in quantum/rgblight.c (#8381) Co-authored-by: Ryan commit 7bf9d9dc0ace46fa5ef2b159636f808fcd0d7938 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Fri Mar 27 23:57:27 2020 -0400 [keymap] Add Alice keymap and to userspace files (#8571) * convert my 60 keymap to alice * add via to rules for alice * remove split backspace and add backlight keycodes * disable LTO for alice pcb * keymap alignment formatting commit 14079ce6984b359e080c85d9e9b8f7b8eb01437c Author: Ryan Date: Sat Mar 28 13:02:25 2020 +1100 V-USB: Use structs for USB descriptors (#8572) * V-USB: Use structs for USB descriptors * Update usbconfigs * cformat pass commit 05d9a0ff036d91b7dc4e6198f4074161c1c7b633 Author: Ryan Date: Fri Mar 27 22:00:13 2020 +1100 Fix inverted backlight for XD60 (#8575) commit b9d0b1f06478a1b3f596882b33cb9bd84e477bea Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Mar 26 17:54:06 2020 -0700 [Keyboard] MountainBlocks MB17 (#8554) * initial commit * preliminary support for mb17 using the qmk default keymap * add the VIA keymap * add qmk configurator support * code cleanups before submission * Update keyboards/mountainblocks/mb17/rules.mk * Update keyboards/mountainblocks/mb17/info.json * remove file commit ed80874f726631e2fe111f9a50f4d5d2dc7c7963 Author: Drashna Jaelre Date: Thu Mar 26 15:44:06 2020 -0700 Fix IT_APOS backward compatibility define in keymap_italian.h (#8565) * Fix IT_APOS backward compatibility define in keymap_italian.h Found by ZSA. commit 23e942ae4e66008632667f12c30bbb4f0fae31f7 Author: Joel Challis Date: Thu Mar 26 18:21:33 2020 +0000 Enable SLEEP_LED on ATmega32A (#8531) * Port over some AVR backlight logic to SLEEP_LED * Port over some AVR backlight logic to SLEEP_LED - add timer 3 * Port over some AVR backlight logic to SLEEP_LED - clang format * Enable SLEEP_LED within vusb protocol commit c077300e19a9c788b3d30bc65c1198fc88de3d5b Author: Jakub Darowski Date: Thu Mar 26 19:03:37 2020 +0100 [Keymap] BM16a stock layout (#8547) * Stock layout * Added the default readme * Update keyboards/bm16a/keymaps/stock/keymap.c Removed trailing backslashes from layouts * Removed redundant files, renamed stock keymap and changed readme commit 11f12d386bb0074835a58b692370fc46f7024b6f Author: fauxpark Date: Thu Mar 26 23:29:47 2020 +1100 Fix wrong python-pip package for MSYS setup instructions commit 4d76d85d7bef735a56f9e1e275c89f4beaf52a64 Author: Ryan Date: Fri Mar 27 00:11:32 2020 +1100 V-USB: Use manufacturer and product strings from config.h (#7797) * V-USB: Use manufacturer and product strings from config.h * Update board configs commit 981ea87b05b18756e79475b6aa576a4515008960 Author: Ryan Date: Thu Mar 26 16:51:07 2020 +1100 Add Estonian keymap (#8527) commit 65252ebf672b6bd1395b83cfcb037e7d721a1231 Author: Ryan Date: Thu Mar 26 16:50:39 2020 +1100 Add Croatian keymap (#8525) * Add Croatian keymap * Fix comment on HR_DIAE commit 5bd0a5a58546ab950a038fadc41846a5d9a851e5 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Mar 26 13:13:16 2020 +0900 [Docs] added the description of the reading order of the config.h files. (#8545) * added the description of the reading order of the config.h files. * Update docs/hardware_keyboard_guidelines.md * Update docs/hardware_keyboard_guidelines.md * Added a description of post_config.h. * sample bug fix * sample update * Update docs/hardware_keyboard_guidelines.md * Update docs/hardware_keyboard_guidelines.md * update docs/hardware_keyboard_guidelines.md * Update docs/hardware_keyboard_guidelines.md commit 9fbf17b90e9e9bf23797ef524d9dabaa2adfbad5 Author: QMK Bot Date: Thu Mar 26 03:10:16 2020 +0000 format code according to conventions [skip ci] commit 96bfce70009ac15f21e440fd3894e6c11e1b7615 Author: foxx1337 Date: Thu Mar 26 03:34:57 2020 +0100 Add RawHID support to ATSAM (Massdrop boards) (#8530) * Add support for RAW endpoint for arm_atsam This the excellent work from helluvamatt/qmk_firmware in bb6eeb93b. * Reformat arm_atsam RAW endpoint code Co-authored-by: Matt Schneeberger commit d68c4d810634f5ffcb29c38d57b16bc72faf45dc Author: Álvaro A. Volpato Date: Wed Mar 25 23:22:08 2020 -0300 Add KeebsPCB pre-Alpha support (#8485) * Add initial KeebsPCB support * Update readme * Update readme * Correct readme typo * Update keyboards/acheron/keebspcb/config.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply @noroadsleft suggestions from code review Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/acheron/keebspcb/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/acheron/keebspcb/keymaps/default/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Gondolindrim Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 9fb988b6e8102e9b0bd16d3342392f49af0c559e Author: tominabox1 Date: Wed Mar 25 20:53:40 2020 -0500 Add _33 Keyboard folder (#8543) * Add _33 Keyboard folder * Correcting naming convetions and other code convetions * Removed extra spaces * fixed layout callbacks to new lower-case versions * Remove tapping_term, fix RGB pin define. Added blank readme-to be updated. * initial addition of the readme.md * Update readme.md for hardware/pcb availability info * Adding keymap readme * Info.json added * Incorporate Drashna's recommended changes commit 016d417253aa2d905de36108c4badbc3732ad391 Author: elmo-space Date: Wed Mar 25 22:51:05 2020 +0100 add ansi with blocker layout and keymap for KBD67 rev2 PCB (#8538) * add new layout for 65% with blocker and add matching keymap the rev2 pcb gets used in the kbd67 which has a blocker between the left arrow key and the right ctrl key. this layout is missing so far even though it's probably the most used one for this board. * add split backspace layout with blocker * change keycode for backslash * update rules.mk and add missing layouts in info.json * Update keyboards/kbdfans/kbd67/rev2/rules.mk Co-Authored-By: Joel Challis Co-authored-by: Joel Challis commit de58b0765954ed8fc9bb800f389808fb7eee6eda Author: 2Moons-JP <57225836+2Moons-JP@users.noreply.github.com> Date: Wed Mar 25 18:25:10 2020 +0900 Slice Keyboard (#8464) * Adding Slice Keyboard * Update keyboards/basekeys/slice/rev1/config.h Co-Authored-By: Erovia * Update config.h * Update keyboards/basekeys/slice/slice.h Co-Authored-By: Joel Challis * Update keyboards/basekeys/slice/slice.h Co-Authored-By: Joel Challis * Update and rename rev1.c to rev1_rgb.c * Rename rev1.h to rev1_rgb.h * Update keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/slice_font.c Co-Authored-By: Joel Challis * Update keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/slice_font.c Co-Authored-By: Joel Challis * Update keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/_font.c Co-Authored-By: Joel Challis * Update keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/_font.c Co-Authored-By: Joel Challis * slice_font location * Update config.h * Delete slice_font.c * Update config.h * Update keyboards/basekeys/slice/rev1/config.h Co-Authored-By: Joel Challis * Update keyboards/basekeys/slice/rev1_rgb/rules.mk Co-Authored-By: Ryan * Update keyboards/basekeys/slice/rev1_rgb/rules.mk Co-Authored-By: Ryan * Update keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c Co-Authored-By: Ryan * Update keyboards/basekeys/slice/rev1/rules.mk Co-Authored-By: Ryan * Update keyboards/basekeys/slice/rev1/rules.mk Co-Authored-By: Ryan * Update keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c Co-Authored-By: Ryan * Update keyboards/basekeys/slice/keymaps/default/keymap.c Co-Authored-By: Ryan * Update keymap.c * oled rotation, config handedness * OLED and LED functionality removed * Update keyboards/basekeys/slice/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/basekeys/slice/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/basekeys/slice/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keymap.c * Update keymap.c * oled rotation, config handedness * rev1 added EE_HANDS * oled function name * oled function name * oled function name * Update keyboards/basekeys/slice/rev1_rgb/rules.mk Co-Authored-By: Joel Challis * keymap changes * Delete _font.c * keymap changes, VID/PID * Update keyboards/basekeys/slice/rev1/config.h Co-Authored-By: Joel Challis * Update keyboards/basekeys/slice/rev1/config.h Co-Authored-By: Joel Challis * Update keyboards/basekeys/slice/rev1_rgb/config.h Co-Authored-By: Joel Challis * split_util.h used Co-authored-by: Erovia Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 6ceaae30f519b63b4b56e0277dd459cccf2d0729 Author: Joel Challis Date: Wed Mar 25 03:39:53 2020 +0000 Run clang-format manually to fix recently changed files (#8552) commit 5075a1d9e4bdc4af6563f3805f567913e36f7159 Author: Drashna Jaelre Date: Tue Mar 24 18:54:38 2020 -0700 [Docs] Update RGB Matrix docs with function refs (#8367) * [Docs] Update RGB Matrix docs with function refs * Fix up code samples * suggestions by noroadsleft * Fix small typo Co-authored-by: James Young commit 3587e20e7016792846d351925706da04e9442420 Author: くまお工房 <52371962+kumaokobo@users.noreply.github.com> Date: Wed Mar 25 05:02:41 2020 +0900 [Keyboard] Add kudox game rev2 (#8529) * Add Kudox Game rev2. * Add the keymap of Kudox Game a layer for regulating RGB. * Modified rgblight_init when RGBLIGHT_ENABLE=no. * Remove invalid codes. * Modified *init* function right intention of framework. commit 963bba1fc3c1109696ec033e88f39caa3f2ed943 Author: shela Date: Wed Mar 25 03:59:31 2020 +0900 [Docs] Update Japanese translation of custom_quantum_functions.md (#8520) commit 571a589cfa658af8b0ed42687c17954b2f13b266 Author: shela Date: Wed Mar 25 03:51:45 2020 +0900 [Docs] Update Japanese translation of _summary.md (#8508) * Update Japanese translation of _summary.md * Update translation * Update translation commit 3c2d5599b961fc02043002d8f7e0aa8e72b69b12 Author: shela Date: Tue Mar 24 17:05:08 2020 +0900 [Docs] Update Japanese translation of README.md (#8507) * Update Japanese translation of README.md * Apply suggestions from code review * Apply suggestions from code review * Update translation Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 3b05f25221ec9274b6bcc9d2a68085e13c8fcca7 Author: Hoàng Vương Date: Tue Mar 24 14:13:45 2020 +0700 [Keymap] shadowprogr's personal keymap (#8497) * Add personal keymap * Add keymap readme.md * Update keymap commit e05e67187105d4aeaa020f93acaccc4721027843 Author: shela Date: Sun Mar 22 16:54:19 2020 +0900 Update Japanese translation of flashing.md commit 2d5b492550c30903958cabb4ea9dec50ea5c64ec Author: shela Date: Sun Mar 22 17:43:45 2020 +0900 Update Japanese translation of keymap.md commit ad8774d6fad732b4327ea0f6a520e44a394640bd Author: shela Date: Sun Mar 22 13:30:11 2020 +0900 Update Japanese translation of contributing.md commit 297aad6ebd8577e826ea738cde25207a61337dc0 Author: Ryan Date: Tue Mar 24 14:32:23 2020 +1100 Set backlight and RGB pins for AVR onekeys (#8533) * Set backlight and RGB pins for AVR onekeys * Set pin for ADC as well * Define ADC_PIN for F4 blackpills * Use A0 for F4 ADCs * Set ADC pins for F0 and F1 commit 8f69983c58e7c8025d55ccdb31bcf570158f5433 Author: Olivier Date: Tue Mar 24 01:51:49 2020 +0100 [Keymap] Minidox Bepo layout (#8515) * [Keymap] Minidox Bepo layout Todo : Lower Adjust Update Lower E and Lower S on schema * Added config.h * Code review, update config.h Co-Authored-By: Ryan Co-authored-by: dolie Co-authored-by: Ryan commit b779078c608292483b40cb13346ff54485e96823 Author: horza21 <38391766+horza21@users.noreply.github.com> Date: Tue Mar 24 06:26:22 2020 +0800 [Keyboard] Add support for Southpaw Extended 65% (#8465) * Add support for Southpaw Extended 65% * Update keyboards/switchplate/southpaw_65/readme.md * Update keyboards/switchplate/southpaw_65/readme.md * Update keyboards/switchplate/southpaw_65/readme.md * Update keyboards/switchplate/southpaw_65/southpaw_65.c * Update keyboards/switchplate/southpaw_65/rules.mk * Cleaned up keymaps -Removed default2 keymap -Removed default_iso2 keymap -Rename default keymap directory to default_ansi to reflect correct keymap name * Update readme.md for default_ansi keymap directory change * Add layout_all for configurator and correct maximum number of keys supported in readme.md * Update keyboards/switchplate/southpaw_65/info.json Forgot to change name to LAYOUT_all * Update keyboards/switchplate/southpaw_65/info.json * Update keyboards/switchplate/southpaw_65/readme.md * Update keyboards/switchplate/southpaw_65/rules.mk * Add LAYOUT_all keymap * Update keyboards/switchplate/southpaw_65/keymaps/default/keymap.c * Update keyboards/switchplate/southpaw_65/info.json commit b936048b0bf2b5508104e243089e785debc431d0 Author: Xelus22 Date: Mon Mar 23 15:27:00 2020 +1100 [Keyboard] Snap96 Keyboard (#8416) * snap96 * fix readme * small fixes * remove 4th layer * moved via config to via folder * remove suspend * via config.h * kc_nubs * remove kc_trns to define and remove layer 2 * remove merge conflicts * remove define and add 3rd layer for VIA keymap * fix comma Co-authored-by: Xelus22 commit 7e0dc5376f2d57a1b24831c4e25699a2cf2326af Author: spidey3 Date: Mon Mar 23 00:11:41 2020 -0400 [Keymap] Add spidey3 keymap for 75_ansi, and a spidey3 userspace (#8470) * First cut at Josh Diamond's KBD75 customizations. Includes: * My unique keymap with ChromeOS specific keys * Use RGB underglow to indicate Caps Lock * Some unicode bindings * Some changes to make debugging easier * Updated spidey3 to be applicable to all 75_ansi boards * Sadly, ChromeOS doesn't pay attention to most consumer codes * Add mac layer; fix flakeyness in CAPS_LOCK underglow. * Make layers.json match the keymap (to the extent possible) * Major cleanup; fix broken debug persistence * Cleanup some whitespace issues * Fix incorrect log message. * Rework layer indication to user RGBLIGHT_LAYERS * Update layouts/community/75_ansi/spidey3/keymap.c Co-Authored-By: Drashna Jaelre * Rename users/spidey3/rgblight.c to layer_rgb.c per suggestion * Refactor to use set_single_persistant_default_layer(). * Use dprint/f to make logging more elegant. * Update users/spidey3/config.h Co-Authored-By: Drashna Jaelre * Update users/spidey3/config.h Co-Authored-By: Drashna Jaelre * Update layouts/community/75_ansi/spidey3/rules.mk Co-Authored-By: Ryan * Update users/spidey3/spidey3.c Co-Authored-By: Ryan * Update users/spidey3/layer_rgb.c Co-Authored-By: Ryan * Update users/spidey3/init.c Co-Authored-By: Ryan * Changes from code review Co-authored-by: Joshua Diamond Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 6d1af6384227c941d817fee6f7e49537fc78cf2d Author: Ryan Date: Mon Mar 23 11:32:43 2020 +1100 Add Irish keymap (#8528) commit 6c4a744a1b93b1b0943a17b1614259a928aa77bd Author: Ryan Date: Mon Mar 23 11:31:19 2020 +1100 Add Czech keymap (#8526) commit f7722ef9ca485e3bc4f3897bb4ccfafd69b5db82 Author: johannbl Date: Sun Mar 22 20:28:11 2020 -0400 [Keyboard] Added two new layouts for the cospad (#8502) * creation new numpad layout for 23 keys creation of new keymap * Update cospad.h * Update info.json * Update keymap.c * Update keymap.c Added a macro for the "00" key. * added two new keymap. one for each new layout. The new keymaps are based on the default keymap but focus on * Update keyboards/cospad/cospad.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/cospad.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/numpad2/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/numpad2/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/numpad3/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/numpad3/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/numpad3/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keymap.c layout name fix. * Update keyboards/cospad/keymaps/johannbl/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cospad/keymaps/johannbl/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Delete keymap.c * Rename keyboards/cospad/keymaps/johannbl/numpad2/keymap.c to keyboards/cospad/keymaps/johannbl/split_plus_and_zero/keymap.c * Rename keyboards/cospad/keymaps/johannbl/numpad3/keymap.c to keyboards/cospad/keymaps/johannbl/split_zero/keymap.c * Rename keyboards/cospad/keymaps/johannbl/split_plus_and_zero/keymap.c to keyboards/cospad/keymaps/split_plus_and_zero/keymap.c * Rename keyboards/cospad/keymaps/johannbl/split_zero/keymap.c to keyboards/cospad/keymaps/split_zero/keymap.c * Update keyboards/cospad/keymaps/split_plus_and_zero/keymap.c Co-Authored-By: Nick Brassel Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel commit 76cb2b11606e98f1390627331ad753564db63305 Author: QMK Bot Date: Sun Mar 22 14:03:14 2020 +0000 format code according to conventions [skip ci] commit 5117dff6a26aec4eca04fb9787b4f428884739bc Author: Drashna Jaelre Date: Sun Mar 22 06:29:05 2020 -0700 Add Post Processing to process_record (#4892) * Improve process_record system Code based on @colinta's * Rename and better handle functions * Fix incorrect function call to process_record_user * Add documentation for post_process_record * Add both get_event_keycode and get_record_keycode functions And add some comments about these functions * Update code format * Cleanup merge artifacts commit e5d34fd084a7bdde0867749470b27c50e8144eb8 Author: Jeremy Bernhardt Date: Sun Mar 22 07:17:26 2020 -0600 Variable combo (#8120) * keymap(gergo): colemak * added flipped numbers * add STENO_DISABLE_VIRTSER * add STENO_DISABLE_VIRTSER * Added GergoPlex and Faunchpad * push retab * push retab * added variable option for combos * removed accidental commit * removed accidental commit * More accidental deletions! (╯°□°)╯︵ ┻━┻ Co-authored-by: Damien Rajon <145502+pyrho@users.noreply.github.com> commit bfb2f8e0a8f809374fdec102eb02c3bce46a14ee Author: brickbots Date: Sun Mar 22 06:06:16 2020 -0700 Add Word Per Minute calculation feature (#8054) * Add Word Per Minute calculation feature * Fix copyright info * Remove header from quantum.c, setup overloadable keycode inclusion for WPM, update docs * Simplify logic for keycode filtering * Adding link from summary to wpm_feature info * Update docs/feature_wpm.md Typo in function prototype example in docs Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Add WPM transport via i2c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit d8f3c28a3786e7888fe3157c173845107c3ccc95 Author: Joel Challis Date: Sun Mar 22 09:48:17 2020 +0000 Align some ChibiOS build logic (#8461) * Align some ChibiOS build logic * infer more makefile logic * Move bootloader logic to chibios file commit eef0cb2f908d6b6e1a7b67414b95a877b7df0ebb Author: Ryan Date: Sun Mar 22 20:45:27 2020 +1100 Add US International keymap (#8493) * Add US International keymap * Add extra spacing to UK AltGr keycode comments commit 63e4ad13c848571c437c5dd4f4f60bb0ea66f1e5 Author: Ryan Date: Sun Mar 22 20:16:24 2020 +1100 Add Icelandic keymap and sendstring LUT (#8494) commit f9e67338a4f0b038d1f79a9bc06cc9b4289152e3 Author: Ryan Date: Sun Mar 22 19:52:54 2020 +1100 Add Finnish keymap and sendstring LUT (#8495) commit 5f9f62fb8c56edf20a55e025e070ee61dee16860 Author: Joel Challis Date: Sun Mar 22 08:34:23 2020 +0000 Reorder logic within common_features.mk (#8517) * Reorder logic within common_features.mk * Revert haptic logic * Add back path to make tests happy * Update common_features.mk Co-Authored-By: Ryan Co-authored-by: Ryan commit 147bc6ec43a0244682a73eb5c76146608e60afd4 Author: Ryan Date: Sun Mar 22 18:50:37 2020 +1100 Remove BOOTLOADER_SIZE stuff from template (#8516) commit bea62add555e16135755b7434e594624d3623341 Author: shela Date: Sun Mar 22 11:53:58 2020 +0900 [Docs] Trivial documentation fix (#8509) * Trivial documentation fix * fix * fix * fix translation commit d511e52c1f84b439e85c8f9408716c28dcf9c1d0 Author: QMK Bot Date: Sat Mar 21 23:44:27 2020 +0000 format code according to conventions [skip ci] commit 789e19945038c3b98d6e80bc29166d493a8b1056 Author: Joel Challis Date: Sat Mar 21 23:10:39 2020 +0000 Add support for Bootmagic lite when using SPLIT_HAND_PIN (#8347) * Add support for Bootmagic lite when using SPLIT_HAND_PIN * Deduplicate bootmagic_lite logic from within via * Revert location of defaults so that user overrides still work for now * Tidy up code slightly commit a747c1c3dee728f5124a8effb8f52819f643de5f Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Mar 21 15:36:27 2020 -0700 FLX Lodestone: add ANSI and ISO layout data and keymaps (#8481) * Lodestone: add ANSI and ISO layout data and keymaps * rename layout macros LAYOUT_ansi -> LAYOUT_65_ansi_blocker_split_bs LAYOUT_iso -> LAYOUT_65_iso_blocker_split_bs * use four-space indent on the new keymaps * add 65_ansi_blocker and 65_iso_blocker layouts commit a521fc2b6c7dfc6051695a2ddf6e57f0882228f8 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Mar 21 13:11:06 2020 -0700 [Docs] Fixes for feature_rgblight.md (#8514) * remove extra comma that breaks the RGBLight Layers example * linting - use four spaces instead of tabs for indenting - remove trailing spaces commit 8651eef298da1d525a8d6edd987f9e21ef7d3a88 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Mar 21 12:43:27 2020 -0700 Claw44 rev1 Configurator layout support (#8488) commit f4799481cddcc8713ad3bfb80e844acc0981af69 Author: Ryan Date: Sun Mar 22 06:19:01 2020 +1100 Fix formatting for report.h (#8512) commit 675b153525473be15300c9f0250619dcec883297 Author: Wilba Date: Sun Mar 22 04:34:23 2020 +1100 Fix build of Equinox (#8505) * Remove rules.mk from equinox dir * Add explicit rules.mk to rev0 and rev1 dirs commit 5df24246518a12e770cd1020f145963069dc2108 Author: Drashna Jaelre Date: Sat Mar 21 10:17:02 2020 -0700 [Docs] Update layer documentation (#8371) * [Docs] Update layer documentation * Add layer_state_cmp functions * Fix cut/copy/paste issue * Add id tags * Apply noroads corrections * Move Layers section to separate document * Fix ID tag for layers * Use better name for summary/side bar * Fix feature page linkage As well as a small spell error close by * Remove paper analogy for now commit f9c53ca71a7cefbbd9cfcb68861bb5308cc88e4a Author: QMK Bot Date: Sat Mar 21 12:58:19 2020 +0000 format code according to conventions [skip ci] commit 0d189582c124472acc4a47ff7c4c8f1019a226c1 Author: Ryan Date: Sat Mar 21 19:00:44 2020 +1100 Update newbs installation procedure for MSYS2 (#8423) commit c6b667623a49d8dd2f1b74cd0ac0e5531d5d91a8 Author: Takashi Shibusawa Date: Sat Mar 21 15:22:08 2020 +0900 [Keyboard] Palette1202 fix encoder rotate direction (#8489) * revised hardware availability - URL * fixed encoder rotate direction (reversed) commit d96380e65496912e0f68e6531565f4b45efd1623 Author: Joel Challis Date: Sat Mar 21 05:20:04 2020 +0000 Initial arm->chibios pass - simplify some platform logic (#8450) commit 7e80686f1e400010a8a800cc73c4896936f337de Author: Ryan Date: Sat Mar 21 16:19:15 2020 +1100 Tidy up report.h (#8486) * Tidy up report.h * Add link to Review Request 41 for brightness controls commit e967471c4f955cee02c9d459e92e6ffd7844b481 Author: Ryan Date: Sat Mar 21 16:17:43 2020 +1100 Remove ACT_COMMAND (#8487) * Remove ACT_COMMAND * And from action_t as well commit eca3f9d9352bea960673bc6f52ff09e4b0766346 Author: worldspawn00 Date: Sat Mar 21 00:07:39 2020 -0500 fixing matrix layout (#8504) commit 44c62117ee64ab63c43d0b46111370765bfd950d Author: Nick Snyder Date: Fri Mar 20 01:48:55 2020 -0700 Highlight .inc files as .c files (#8496) commit f235822fba663ee98f94a5f6b7fa506d96c09656 Author: Wilba Date: Fri Mar 20 16:36:54 2020 +1100 Add VIA support to Leaf 60 (#8490) commit 5d5ff807c672a893936e1c683f23d4f56f161e83 Author: Ryan Date: Fri Mar 20 12:27:52 2020 +1100 Update JIS keymap and sendstring LUT (#8457) commit 1c7c5daad4ba78ea42d9bb0a1f74dc57733bf1dc Author: Diego Song Date: Thu Mar 19 19:33:13 2020 -0400 VIA Support for GH60 (#8442) * VIA Support: GH60 Rev C and GH60 Satan * Corrected GH60 VIA default keymap * Corrected GH60 VIA default keymap pt 2 * Copied default keymap over via default keymap * Satan GH60 default corrected for VIA * Satan GH60 default corrected for VIA pt 2 * Satan GH60 LTO enable for size * Transparent 4th dynamic layer for GH60 Via support * Update keyboards/gh60/revc/info.json * Update keyboards/gh60/satan/info.json * Update keyboards/gh60/satan/info.json * Removed deprecated JSON keys gh60/revc/info.json * Removed inline comment next to VID for GH60 Satan commit aeab11da8857e5e6d9959993b96782811fbd0a26 Author: tw1t611 Date: Thu Mar 19 04:08:36 2020 +0100 Add tw1t611 ergodash keymap. (#8377) * Add tw1t611 ergodash keymap. * Fix keycodes. Change kc_rctl to kcb rsft. * Change block to enum layers. * Remove blackslahs. * Remove last slash. Align row. * Use new german keymap. * Fix typo. Co-authored-by: Daniel Schindler commit b53934805a41ac26d164d4a055fe787b65ed81c3 Author: jotix <47826561+jotix@users.noreply.github.com> Date: Wed Mar 18 23:32:30 2020 -0300 Jotix (#8480) * jotix ortho_4x12 layout * jotix ortho_4x12 layout * jotix ortho_4x12 layout Co-authored-by: jotix commit 6bfbdc30cab0b088682b5479735ba46cd24516d2 Author: Ryan Date: Thu Mar 19 13:13:05 2020 +1100 Fix missing deprecated keycodes for keymap_swedish (#8483) commit 02eb949479c73e5e68fbc52655da6b951fc305fe Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Mar 18 18:46:52 2020 -0700 VIA Support: PDXKBC Macropad (#8431) * add via support for pdxkbc macropad * add VIA support for the pdxkbc * clean out some commented code * remove unused files * comment the vendor ID * Update keyboards/pdxkbc/keymaps/via/keymap.c Co-Authored-By: Ryan * Update keyboards/pdxkbc/keymaps/via/keymap.c Co-Authored-By: Ryan * Update keyboards/pdxkbc/keymaps/via/keymap.c Co-Authored-By: Ryan * Update keyboards/pdxkbc/keymaps/via/keymap.c Co-Authored-By: Ryan * Update keyboards/pdxkbc/keymaps/via/keymap.c Co-Authored-By: Joel Challis * Update keyboards/pdxkbc/keymaps/via/keymap.c Co-Authored-By: Joel Challis * Update keyboards/pdxkbc/keymaps/via/keymap.c Co-Authored-By: Joel Challis Co-authored-by: Ryan Co-authored-by: Joel Challis commit 3a0f11eb277ab719b312547981a0b0db958fbc87 Author: Ryan Date: Thu Mar 19 12:33:17 2020 +1100 Set MCU for some F103 boards (#8459) commit c2013f0b7c0289f582fd41f1276f174f7d9e3c17 Merge: 19d7cbc858 d235612e48 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Mar 18 18:13:34 2020 -0700 Allow RGBLIGHT_ANIMATIONS to work on keebio/iris configurator builds (#8482) * Allow RGBLIGHT_ANIMATIONS to work on keebio/iris configurator builds * Also align rules.mk commit 19d7cbc8584ed5c0ec1f768a27767496eeae66f8 Author: TerryMathews Date: Wed Mar 18 21:13:12 2020 -0400 M0lly: refactor OLED support and qmk-dfu bootloader (#8475) commit 73f903906ee86e70c301da2f1d70a22f58cdbdf1 Author: Ryan Miguel <45778591+petmaloo@users.noreply.github.com> Date: Thu Mar 19 12:10:28 2020 +1100 VIA support for projectkb/alice (#8474) * Create rules.mk Added rules.mk in keymaps/via * Update rules.mk Added new line at the end of the file * Create via\keymap.c Added keymap.c inside the via directory * Update config.h in projectkb/alice Defined VIA eeprom layout size to 2 bits to allow for 4 layout options commit d235612e480c1c9a028364a8db78d1f2c2576229 Author: zvecr Date: Thu Mar 19 00:57:02 2020 +0000 Also align rules.mk commit 6ad3328b8310475caac160801a4de5a6abd162bd Author: zvecr Date: Thu Mar 19 00:43:20 2020 +0000 Allow RGBLIGHT_ANIMATIONS to work on keebio/iris configurator builds commit 13d736d6ab6180072dabce17491f081fba2a2f38 Author: Flexerm <51996324+Flexerm@users.noreply.github.com> Date: Wed Mar 18 19:56:22 2020 +0000 [Keyboard] FLX Lodestone (#8451) * Add Lodestone PCB Working Firmware for Lodestone PCB tested on physical PCB prototypes. * Update keyboards/flx/lodestone/lodestone.c * Update keyboards/flx/lodestone/keymaps/default/config.h * Update keyboards/flx/lodestone/rules.mk * Update keyboards/flx/lodestone/readme.md * Delete config.h * Update keyboards/flx/lodestone/info.json Suggested by noroadsleft * Update keyboards/flx/lodestone/info.json * Update keyboards/flx/lodestone/info.json Changed maintainer name as suggested. * Update keyboards/flx/lodestone/keymaps/default/readme.md * Update keyboards/flx/lodestone/info.json * Update keyboards/flx/lodestone/rules.mk Changed Link_Time_Optimization to LTO didn't know this was a thing :) * Update keyboards/flx/lodestone/keymaps/default/keymap.c Removed 2 unessisary layers from the default map. * Update keyboards/flx/lodestone/readme.md * Update keyboards/flx/lodestone/info.json * Changed from LAYOUT to LAYOUT_all AS suggested by noroadsleft, changed 4 files to match, and re-testeed on my hardware to confirm working. * Update keyboards/flx/lodestone/config.h Cleaned up Manu, Product and Descriptor as suggested. * Update keyboards/flx/lodestone/readme.md commit 0b810bdff385d78e2b5568d270438b15d678948f Author: QMK Bot Date: Wed Mar 18 19:12:13 2020 +0000 format code according to conventions [skip ci] commit 3f19117124c1190e68db4fe9a8f0e6636281721a Author: yohewi Date: Thu Mar 19 04:09:53 2020 +0900 [Keyboard] uranuma (#8343) * uranuma * Update keyboards/uranuma/keymaps/default/keymap.c * Update keyboards/uranuma/rules.mk * Update keyboards/uranuma/keymaps/default/keymap.c * Update keyboards/uranuma/keymaps/default/keymap.c * Update keyboards/uranuma/keymaps/default/keymap.c * Update keyboards/uranuma/uranuma.h * Update keyboards/uranuma/keymaps/default/keymap.c * Update keyboards/uranuma/keymaps/default/keymap.c * 20200316change commit fe3e5cba6915b49a9a20ca4b0a43b308d1512d53 Author: TerryMathews Date: Wed Mar 18 14:43:25 2020 -0400 [Keyboard] Wheatfield Blocked65% (#8339) * Initial support for Wheatfield Blocked65% * Update keyboards/wheatfield/blocked65/blocked65.c * Update keyboards/wheatfield/blocked65/blocked65.h * Update keyboards/wheatfield/blocked65/blocked65.h * Update keyboards/wheatfield/blocked65/info.json * Update keyboards/wheatfield/blocked65/info.json * Update keyboards/wheatfield/blocked65/keymaps/default/keymap.c * Update keyboards/wheatfield/blocked65/keymaps/default/keymap.c * Update keyboards/wheatfield/blocked65/readme.md * Update keyboards/wheatfield/blocked65/readme.md * Update keyboards/wheatfield/blocked65/rules.mk * Update keyboards/wheatfield/blocked65/keymaps/default/keymap.c commit 6ba383cc5f4d1d00c5c31134d12f9e3289f36f03 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Mar 19 03:37:59 2020 +0900 [Docs] Japanese translation of docs/custom_matrix.md (#8463) * add docs/ja/custom_matrix.md * add original document TAG * update ja/custom_matrix.md * 「マトリクス」to 「マトリックス」 * docs/ja/custom_matrix.md:update section title * update docs/ja/custom_matrix.md * update docs/ja/custom_matrix.md commit d44ca60cb05f93356b89ade46ae23fe96fe12dd6 Author: Derek Date: Wed Mar 18 14:36:22 2020 -0400 [Keyboard] Splitreus62 (#8383) * added splitreus62 * fixed rules.mk * Update keymap.c * Updated RGBLIGHT_ENABLE * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Updated NKRO * added splitreus62 * fixed rules.mk * Update keymap.c * Updated RGBLIGHT_ENABLE * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Updated NKRO * Update config.h * Update keyboards/splitreus62/rules.mk * Update keyboards/splitreus62/splitreus62.c * Update keyboards/splitreus62/splitreus62.h * Update keyboards/splitreus62/readme.md * Update keyboards/splitreus62/rules.mk * Update config.h * Update keyboards/splitreus62/readme.md * Update keyboards/splitreus62/rules.mk * Update keyboards/splitreus62/splitreus62.h * Update keyboards/splitreus62/keymaps/default/keymap.c * Update keyboards/splitreus62/readme.md commit 42b0e95ae6f25914d4069f4e7654ff28876a2724 Author: Naoto Takai Date: Thu Mar 19 03:16:15 2020 +0900 [Keymap] Update default keymap for Choco60 (#8453) * Update default keymap for Choco60 * Update keyboards/choco60/keymaps/default/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit b6316c502499fd245cfb5ad468d7870d229f55d4 Author: Joel Challis Date: Wed Mar 18 18:14:45 2020 +0000 [Keymap] I2C scanner (#8454) * Add i2c scanner keymap * Add bodge for chibios * Fix readme title * make chibios bodge a little cleaner * fix typo in readme commit fc4ef6934dc8596882428d11877d065ca6272129 Author: Ryan Date: Thu Mar 19 05:11:57 2020 +1100 Update Programmer Dvorak keymap and add sendstring LUT (#8456) * Update Programmer Dvorak keymap and add sendstring LUT * Include quantum.h commit 0dff26b5509e91f6b6f5a9eed2762513d69ce567 Author: Brandon Schlack Date: Wed Mar 18 10:45:13 2020 -0700 [Keyboard] Add more community layout support to Polaris (#8468) - Add 60_ansi, 60_ansi_split_bs_rshift layouts commit 76d8558b1a11e93193dec7d444f4d783ab97f1a5 Author: Wilba Date: Thu Mar 19 04:28:13 2020 +1100 VIA support for TKC1800 (#8178) * VIA support for TKC1800 * Fixed VENDOR_ID commit 8123dd264933879d5eb34c82c837e94d860c5c3f Author: Erovia Date: Wed Mar 18 18:10:04 2020 +0100 CLI: Hide json-keymap subcommand, as it's been deprecated. commit 1ec648932f071b05ce16720bb0bd298d04df3556 Author: Frederick Hirsch Date: Wed Mar 18 17:48:00 2020 +0100 [Keymap] Add the fsck layout for iris (#8473) commit 427f7b3a3924ed9804970ca36bd9cb4bbb1c4152 Author: Alfred Maler Date: Wed Mar 18 00:44:55 2020 -0400 [Userspace] alfrdmalr: swap # and @ symbols (#8469) commit c670240503b0af720f0fb729dfa1d07a993e63e7 Author: Ryan Date: Wed Mar 18 11:09:12 2020 +1100 Update UK keymap and sendstring LUT (#8458) commit 59d6b0faab108cc49ca5b3b83d9d169d445f50bd Author: Jann-Niklas Zimmermann Date: Wed Mar 18 00:57:53 2020 +0100 [Keymap] Corodiak's Kyria (#8444) * Add kyria keymap * Delete wrong readme.md * Move layer keys * Refine keymap * Clean up * Add comment * Improve OS depending macros * Update keymap overview * Add review suggestions commit 6f55aa993a4498f411c97025049d92019414af68 Author: Frei <1476684+frei0@users.noreply.github.com> Date: Tue Mar 17 16:43:04 2020 -0700 [docs] Note the need to flash both sides for rgb layers. (#8467) Update feature_rgblight.md to note that for split dual-mcu boards, both sides must be flash to get the new value of the rgblight_layers. https://github.com/qmk/qmk_firmware/pull/7768#issuecomment-600237611 commit e34764502f7fdd0e1104b18fb4ddf77a352ee2a7 Author: Joel Challis Date: Tue Mar 17 21:28:13 2020 +0000 Remove qmk archive generation (#8462) commit 8b0efc21246d8e6671236511b8107a05d739c152 Author: Jon Roberts Date: Tue Mar 17 16:01:54 2020 -0500 [Keymap] New Massdrop ALT keymap for emptyflask (#8460) amended to remove a couple of unnecessary lines, thanks to @zvecr and @fauxpark commit 2f936420ddaffed0d1a22b94b4d666225466193a Author: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Tue Mar 17 21:51:47 2020 +0100 [Keyboard] Add sick68 keyboard (#8400) * add sick68 keyboard * relocate to keyboards/handwired/sick68 * Apply suggestions from code review * delete config.h because was emply * Apply suggestions from code review commit 6698af9c3d0beee60fd8907dffca884a9044e4e7 Author: Erovia Date: Tue Mar 17 17:04:03 2020 +0100 Fix Dimple VIA keymap (#8466) commit 61da6153081a1928ff7883beafa09320f8befef0 Author: Erovia Date: Tue Mar 17 15:34:37 2020 +0100 Add VIA support for LazyDesigners Dimple. (#8447) * Assign unique VID to LazyDesigners' boards * Add VIA support for LazyDesigners Dimple * Apply @fauxpark's suggestions Co-Authored-By: Ryan Co-authored-by: Ryan commit ece14278efe5168ef20298984bff4b1d5eb43e4b Author: QMK Bot Date: Tue Mar 17 01:02:01 2020 +0000 format code according to conventions [skip ci] commit 567bfc97ac4f5066e8a2302c46e3b375efe59792 Author: Joel Challis Date: Tue Mar 17 00:29:52 2020 +0000 ARM - ADC cleanup (#8385) * Update switch to array to allow custom values * Add adc keymap * update docs to reflect alignment of default 10 bit * start conversion to USE_ADCVn * samplerate is hella wrong...stub out for now * basic f1 and f4 functionality * Tidy up current changes * Restore old pinToMux function * Add back sample rate for supported platforms * F0 compile fixes * wordsmithery Co-Authored-By: Ryan * Remove reference to avr only function Co-authored-by: Ryan commit 7aff643031eec0b940b85d9f2a0d7a27fd6d4fa7 Author: Ryan Date: Tue Mar 17 01:32:48 2020 +1100 Update Italian keymap and add sendstring LUT (#8438) commit 7fe4097792e779cc4c74fc6152740fcf91682c15 Author: Ryan Date: Tue Mar 17 01:31:48 2020 +1100 Update German keymap and sendstring LUT (#8437) commit 652f4492d3f02f330fc0b4a1476c07821f3c0cd9 Author: Ryan Date: Tue Mar 17 01:30:57 2020 +1100 Update French keymap and sendstring LUT (#8436) commit 910c466cfefebdd491c200cdd07cbf1a12ebd51d Author: Ryan Date: Tue Mar 17 01:30:17 2020 +1100 Update Brazilian keymap and add sendstring LUT (#8435) commit 19dbcf38149a2ba9a51935aae36c276a6dbd4b01 Author: Joel Challis Date: Mon Mar 16 14:27:19 2020 +0000 Document 'make all:' (#8439) * Document 'make all:' * add cli docs * Apply suggestions from code review Co-Authored-By: skullydazed Co-authored-by: skullydazed commit c89012566c9f542b1bff8f3ffd9dded5175cc41f Author: QMK Bot Date: Mon Mar 16 10:01:22 2020 +0000 format code according to conventions [skip ci] commit 9dfebb9d67a211db3ded762b60ee868299dd406e Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Mar 16 18:26:32 2020 +0900 Remove unnecessary import of rgblight.h in tmk_core/protocol/*/*.c (#8432) * Remove unnecessary import of rgblight.h in tmk_core/protocol/*/*.c * tmk_core/protocol/chibios/main.c * tmk_core/protocol/lufa/lufa.c see #8380 for tmk_core/protocol/vusb/main.c. * Remove '#include "rgblight.h"' from tmk_core/protocol/vusb/main.c. commit 2a31fbf9a6970ed425c2331f25fb7f92648ffcf1 Author: coseyfannitutti <43188488+coseyfannitutti@users.noreply.github.com> Date: Mon Mar 16 00:46:48 2020 -0400 [Keyboard] Add the Romeo keyboard (#8434) * Add Keyboard - Romeo * Update rules.mk * Update readme.md * Update keyboards/coseyfannitutti/romeo/readme.md Co-Authored-By: Joel Challis * Update keyboards/coseyfannitutti/romeo/romeo.c Co-Authored-By: Joel Challis * Update keyboards/coseyfannitutti/romeo/keymaps/default/keymap.c Co-Authored-By: Ryan * Update keyboards/coseyfannitutti/romeo/keymaps/default/keymap.c Co-Authored-By: Ryan * Update keyboards/coseyfannitutti/romeo/readme.md Co-Authored-By: Ryan * Update keyboards/coseyfannitutti/romeo/rules.mk Co-Authored-By: Ryan * Update keyboards/coseyfannitutti/romeo/usbconfig.h Co-Authored-By: Ryan * Update keyboards/coseyfannitutti/romeo/usbconfig.h Co-Authored-By: Ryan * Update keyboards/coseyfannitutti/romeo/usbconfig.h Co-Authored-By: Ryan Co-authored-by: Joel Challis Co-authored-by: Ryan commit cce2420bb24f31ebaee22b4d6e54311ef78668c2 Author: Yann Hodique Date: Sun Mar 15 21:42:10 2020 -0700 [Keymap] fix sigma keymaps build (#8427) handle unicode input properly. commit b272c035ba7fa8555a88c922b3e94c3f3817c4ff Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Mar 15 20:29:11 2020 -0700 [Docs] Random Fixes (#8340) * fix CLI section links in the Summary * fix heading in Pointing Device doc * fix headings in PS/2 Mouse Support doc * add explicit section ids to I2C Master Driver doc * reformat GPIO Controls table Much like the I2C Master Driver doc, I found this a bit less than ideal to read. (The table was actually wider than the space available for it.) Reformatted so each GPIO function is an H3 heading, followed by a paragraph and a table of each architecture's old-style function. * migrate changes from I2C Master Driver doc to Japanese translation * add explicit anchors to I2C Master Driver docs * fix code block language markers The language markers are case-sensitive; using the wrong case means the syntax highlighting doesn't work. Good: ```c Bad: ```C * restore Japanese I2C Master Driver doc to current master Can't update the internal tracking references accurately until the changes to the English doc are committed to master. * add explicit anchors to edited files * change ChibiOS/ARM to ARM/ChibiOS Because ARM/ATSAM is also a thing that exists. * fix code block language markers again Used the wrong markers in a few spots. Also these are apparently always supposed to be lowercase. * add section anchors to cli.md * restore table formatting on GPIO Control doc * remove changes to _summary.md commit 5f1f370463d818a5283a17001ad832073efc45a4 Author: Ryan Date: Mon Mar 16 07:41:34 2020 +1100 Update Belgian keymap and sendstring LUT (#8349) commit 49a2fbea0c4e0a9847c17c2e7c86133a5fa0d77a Author: Ryan Date: Mon Mar 16 07:40:54 2020 +1100 Update Slovenian keymap and add sendstring LUT (#8350) commit 4b1430fd0944461bb9abcf688bfe8bf51fa3eb8a Author: Ryan Date: Mon Mar 16 07:38:05 2020 +1100 Update Norman keymap and sendstring LUT (#8404) commit f1c6fa38950405f24b98702846a018c0cb4066af Author: Ryan Date: Mon Mar 16 07:37:32 2020 +1100 Update Plover keymap (#8405) commit fe1a055391c9c6984a73afdfa86896d5fc94a403 Author: jotix <47826561+jotix@users.noreply.github.com> Date: Sun Mar 15 14:16:30 2020 -0300 [Keymap] Update ortho 4x12 jotix layout (#8425) * ortho 4x12 jotix layout * jotix ortho_4x12 layout commit c18b51e68e6ee28def492f283c67858e6adf9a95 Author: Ryan Date: Mon Mar 16 04:15:42 2020 +1100 msys2_install.sh: wrap requirements.txt in quotes (#8424) commit dc68418660e9ba1d21e391548038652b793790a7 Author: skullydazed Date: Sun Mar 15 07:48:44 2020 -0700 Fix some broken links in the docs (#8394) * fix some broken links * remove duplicate and confusing material from cli.md * Switch brazil to the 2 letter country code * Update docs/_langs.md Co-Authored-By: Ryan Co-authored-by: Ryan commit 499d7c8ce610a3c150c64eaacbca3038f7796cc5 Author: brickbots Date: Sun Mar 15 00:17:48 2020 -0700 [Docs] Update to I2C docs: Clarify address expectation and return values (#8413) * Clarifying docs for i2c * Fix typo * Fix up punctuation * Implementing great suggestions * Update docs/i2c_driver.md * Update docs/i2c_driver.md commit 60b020acabf5f78976203213bfd0097eed7656a4 Author: QMK Bot Date: Sat Mar 14 21:37:29 2020 +0000 format code according to conventions [skip ci] commit b5be96f8bb65d526a744795e8e3777d5ed47a034 Author: brickbots Date: Sat Mar 14 14:04:34 2020 -0700 Adding OLED scroll setup functions (#8386) * Adding scroll setup functions: * Clarifying values stored in oled_scroll_speed commit 7aa21cc287cd92cbfb8f3f7efce3a16058292349 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Mar 14 11:47:29 2020 -0700 VIA Support: Doro 67 (#8399) * add via keymap for doro67 * have more sensible VID and PID * apply the same VIA changes to the regular PCB * Update keyboards/doro67/rgb/keymaps/via/keymap.c * Update keyboards/doro67/regular/config.h * fix some formatting * add via support for multi doro67 commit d597af9e1e15ed54b3f967c52e39a6cc3b980b68 Author: Ryan Date: Sun Mar 15 02:31:15 2020 +1100 Remove pro_micro.h (#8374) * Remove pro_micro.h * Include quantum.h commit 03ed8197175ffe046de050b3c2fd7b70f641cc60 Author: QMK Bot Date: Sat Mar 14 14:08:48 2020 +0000 format code according to conventions [skip ci] commit 141535c9db200348396abe38f66e8679c010767b Author: Wilba Date: Sun Mar 15 00:35:12 2020 +1100 Realign dynamic macros with recent SEND_STRING changes (#8407) commit a92947fcdb44c04996ebd11fb8ab8e5111468af7 Author: NeoTheFox Date: Sat Mar 14 16:32:26 2020 +0300 added olkb_style layout for XD75 (#8409) * added olkb_style layout for XD75 * removed unnecessary config.h * cleaned up empty functions * refactored fuction type for clarity * renamed the layout commit cde5237a8818942b657a31195b603e90c63fff59 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Mar 14 22:25:21 2020 +0900 fix two links on docs/other_eclipse.md (#8417) commit dc79792ab463f614e3aba979dace7d9625b340bf Author: Luís Oliveira Date: Sat Mar 14 00:21:00 2020 +0000 Add Portuguese keymap and sendstring lookup tables (#8390) * Add Portuguese keymap and sendstring lookup tables * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan * Update quantum/keymap_extras/keymap_portuguese.h Co-Authored-By: Ryan Co-authored-by: Ryan commit e6a9f700de40213b3f758dff398d87142c43c389 Author: Andy Jack Date: Fri Mar 13 20:06:54 2020 -0400 Update link for Learn Plover google site (#8410) commit 0fdd37ee19d07d6f15217074dd3291fda4c4cb2f Author: Jonas Avellana <14019120+ninjonas@users.noreply.github.com> Date: Fri Mar 13 17:56:21 2020 -0600 [Keymap] ninjonas keymap updates (#8373) * [keymap(ninjonas)] ninjonas keymap updates * [refactor] switching encoder rotation logic. recent pull seems to have flipped encoder stuff * [keymap(lily58)] added chrome change profile key on RAISE Co-authored-by: Jonas Avellana commit 40e8d60ecd68c1c43e1fc911e993626943930fd0 Author: Ryan Date: Sat Mar 14 10:44:43 2020 +1100 Fix bootloader for Maypad (#8411) commit f81b0e35a6a25a9a6e633dc65a4900bed2458cfb Author: skullydazed Date: Fri Mar 13 15:47:04 2020 -0700 Add decorators for determining keyboard and keymap based on current directory (#8191) * Use pathlib everywhere we can * Improvements based on @erovia's feedback * rework qmk compile and qmk flash to use pathlib * style * Remove the subcommand_name argument from find_keyboard_keymap() * add experimental decorators * Create decorators for finding keyboard and keymap based on current directory. Decorators were inspired by @Erovia's brilliant work on the proof of concept. commit 5e98eaaaff8fde1ce25b9bad6c00a982718cb467 Author: QMK Bot Date: Fri Mar 13 18:44:56 2020 +0000 format code according to conventions [skip ci] commit 9e8767917d628afd3dc43759d1d50151c61944a1 Author: fredizzimo Date: Fri Mar 13 20:09:38 2020 +0200 Fix pressing two keys with the same keycode but different modifiers (#2710) * Fix extra keyboard report during test_fixture teardown * Add tests for pressing two keys with only different modifers * Fix #1708 When two keys that use the same keycode, but different modifiers were pressed at the same time, the second keypress wasn't registered. This is fixed by forcing a key release when we detect a new press for the same keycode. * Fix the NKRO version of is_key_pressed * Fix uninitalized loop variable Co-authored-by: Jack Humbert commit f89439ae09c06d0e85f59af2bc5e020d141f23d6 Author: QMK Bot Date: Fri Mar 13 17:24:38 2020 +0000 format code according to conventions [skip ci] commit 3cd2a27ac0f963bc2023c3004f6f8eff0eb62a81 Author: francislan Date: Fri Mar 13 09:49:44 2020 -0700 Decouple mouse cursor and mouse wheel in accelerated mode (#6685) * Decouples mouse cursor and mouse wheel movements in accelerated mode. * Fixed comment indentation. * Updated docs Co-authored-by: Francis LAN commit 28d94b72484967f12b521e87b2745bc24d792471 Author: Koichi Katano <36572567+kkatano@users.noreply.github.com> Date: Fri Mar 13 11:30:59 2020 +0900 [Keyboard] Add Wallaby (#8398) * Add wallaby * Update readme.md * Update keyboards/wallaby/keymaps/default/keymap.c * Update keyboards/wallaby/rules.mk commit abd8e75cb730c89dfc3982ccda2ae88f5a56768c Author: nickolaij Date: Fri Mar 13 12:22:27 2020 +1000 [Keyboard] Abacus Keyboard ReMerge (#8308) * added abacus keyboard * keymap updates * Update keyboards/abacus/config.h * Update keyboards/abacus/config.h * Update keyboards/abacus/keymaps/default/keymap.c * Update keyboards/abacus/keymaps/default/keymap.c * Update keyboards/abacus/keymaps/default/keymap.c * start cleaning up for merge * cleaned for merge * cleaned * cleaned * Update keyboards/abacus/abacus.h * Update keyboards/abacus/keymaps/default/keymap.c * Update keyboards/abacus/keymaps/default/readme.md * Update keyboards/abacus/readme.md * Update keyboards/abacus/readme.md * Update keyboards/abacus/rules.mk * Update keyboards/abacus/info.json * Update keyboards/abacus/info.json * Update keyboards/abacus/info.json * Update keyboards/abacus/readme.md * Update keyboards/abacus/info.json * Update keyboards/abacus/rules.mk * Update keyboards/abacus/rules.mk commit 904610718332d4526248221edc91be76f012c0e0 Author: James Young Date: Thu Mar 12 17:24:07 2020 -0700 Restore getting_started_github.md doc commit 2b63896466d611bd05912af8b1abb524315a9169 Author: Ryan Date: Fri Mar 13 11:09:30 2020 +1100 Update Swedish keymap and add sendstring LUT (#8365) commit 6734a398117c6877819d673f6b21efb6a42fa97b Author: Ryan Date: Fri Mar 13 11:00:28 2020 +1100 Update Spanish keymap and sendstring LUT (#8364) commit 799acb2802d93913b6e43eda3bad025a2cd35092 Author: skullY Date: Thu Mar 12 11:17:43 2020 -0700 use qmk.path.normpath to locate the output file. commit 18bc5254932a842276627d8f055b6fb1d3345230 Author: TerryMathews Date: Thu Mar 12 15:52:59 2020 -0400 [Keyboard] Candybar update (#8335) * Candybar: split lefty and righty into subprojects. * Update readme.md * Update readme.md * Candybar: Moved STM32 library files into project root folder. * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/candybar/righty/righty.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Candybar: remove Boards directory so project uses one from drivers * Update keyboards/candybar/righty/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update readme.md * Update readme.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 4edb5a5e8c72e3be7fda20069941ea215cb49916 Author: Christopher Janzen Date: Thu Mar 12 14:14:03 2020 -0500 Add new keymap with split shift and split backspace for bananas… (#8395) * Add new keymap with split right shift and split backspace for bananasplit PCB * Remove unecessary config.h * Remove unecessary line breaks Co-Authored-By: Ryan Co-authored-by: Christopher Janzen Co-authored-by: Ryan commit 3b5fd4cc51de4a00a2a24ebab05c1820e815c40c Author: Joel Challis Date: Thu Mar 12 12:11:55 2020 +0000 Enable custom backlight driver for kmac (#8397) commit cd9a430d66088d3dd7a3ba1176c148239644c576 Author: Joel Challis Date: Thu Mar 12 08:27:33 2020 +0000 Force "blank" issue template to end of list (#8387) * force ascii sort of issue templates to add blank to end of list commit 1b267d48405b6e24fbb197cf27f9e42264c66598 Author: Nick Brassel Date: Thu Mar 12 18:17:47 2020 +1100 Fix darkmode (#8393) * Rearrange the custom CSS a bit. * fix css name * add missing quote * Fix up dark mode rendering. (#8392) * Fix up dark mode rendering. * Update index.html * Fix up code blocks * Fix code in page toc * Update docs/qmk_custom_dark.css Co-Authored-By: Ryan Co-authored-by: skullY Co-authored-by: Ryan commit 32d03eef902a1ac9cec53804dcb72ace5c585960 Author: Daniel Rodríguez Rivero Date: Thu Mar 12 03:50:19 2020 +0100 Danielo515/redox (#8232) * feat(build): added script for compiling with docker easily * chore: bring my own build with docker to master * chore: delete a file that does not make sense anymore * feat: first redox for danielo * chore: basic compatibility between redox and my space * refactor: removed some old stuff * feat: added go coding symbols * feat: name control_k and alt_j * chore: reduce combo term * feat: improved first layer of redox * feat: add configurations to the redox * feat: make alt tab more portable * feat: small improvements to redox layout * feat: added leader * refactor: move leader defs to my userspace config * chore: movement modified * feat: more predefined keys and a a new combo * feat: redox alt tab functionality * refactor: move alt_tab processing to a separate file * refactor: early return * refactor: move process record to a separate file * format leader function * chore: backspace on digits layer * feat: add extra combo * feat: added more combos * implement guard proposed by @drashna Co-Authored-By: Drashna Jaelre * chore: include @drashna placeholder suggestion Co-Authored-By: Drashna Jaelre Co-authored-by: Drashna Jaelre commit f2f2afe13ba3ae1da8a546ad85eb9e69ddc70a8a Author: Nick Brassel Date: Thu Mar 12 12:59:55 2020 +1100 Add support for STM32L0/L1 onboard EEPROM. (#8002) * Add support for STM32L0/L1 onboard EEPROM. * Update docs/eeprom_driver.md Co-Authored-By: Joel Challis Co-authored-by: Joel Challis commit 3a3ea03b6ef51698de39e545e9ca1d8e1d093e31 Author: Erkki Halinen Date: Thu Mar 12 01:06:47 2020 +0200 [Keymap] Add Erkhal keymap to PRKL30 (#8355) * Add Erkhal keymap * Fix comment of layer * Update keyboards/handwired/prkl30/keymaps/erkhal/readme.md commit f3afc716cb74e214441bb98c00ba2dca7397f25f Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Mar 12 06:23:31 2020 +0900 fix keyboards/mxss/rgblight.h (#8388) Since #7773 caused a build error for `mxss:default`, I made similar changes to 'keyboards/mxss/rgblight.h' as #7773 did to 'quantum/rgblight.h'. **This commit does not change the build result.** Testing script ```shell # build on versions earlier than PR #7773 git checkout 0.8.24 echo master > /tmp/master_md5.txt make mxss:default:clean make mxss:default md5 mxss_default.hex >> /tmp/master_md5.txt # build on this commit git checkout fix-keyboards-mxss-rgblight.h echo fix-keyboards-mxss-rgblight.h > /tmp/branch_md5.txt make mxss:default:clean make mxss:default md5 mxss_default.hex >> /tmp/branch_md5.txt diff -u /tmp/master_md5.txt /tmp/branch_md5.txt ``` Test result: ``` --- /tmp/master_md5.txt 2020-03-12 05:51:39.000000000 +0900 +++ /tmp/branch_md5.txt 2020-03-12 05:51:49.000000000 +0900 @@ -1,2 +1,2 @@ -master +fix-keyboards-mxss-rgblight.h MD5 (mxss_default.hex) = 3034b2504d0c7fc6bd8bf1dffb6b8486 ``` commit e72562fe6fe3f3669559f88ba11d1074ad0e4ffa Author: Alexander Tulloh Date: Wed Mar 11 18:56:05 2020 +1100 [Keyboard] Oddball keyboard (#8352) * Initial commit of oddball keyboard * Update oddball project url * Update pointer functions to only run on master side * Add unique product version * Capitalise product name * Convert oddball keymap layer flags to enum * Remove commented keyboard boilerplate code * Remove unused keymap config * Fix incorrect layout in info.json * Add markdown link text in readme commit 2b66acf04a82bc571ac5f545be7c43af722d6704 Author: QMK Bot Date: Wed Mar 11 05:11:02 2020 +0000 format code according to conventions [skip ci] commit 5ac6fe18889027b718a8ed8c65482d0ab26b5f36 Author: Drew Mills Date: Tue Mar 10 23:38:39 2020 -0500 Add ADC support for STM32F3 and STM32F0 devices (#7681) * Add ADC support for STM32F3 and STM32F0 devices * Add section about configration options available to the ARM ADC implementation * Fix STM32 typo commit 979ac0d8da29b6edf01db951ee99c31e853da2c6 Author: Zambumon Date: Wed Mar 11 01:44:20 2020 +0100 Add VIA support to Tokyo60. (#8362) * VIA_ENABLE Tokyo60 PCB * Update config.h * Apply suggestions from code review Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 7a89b51018e21e7c317c043ba819d950ff33fff8 Author: elmo-space Date: Tue Mar 10 23:10:14 2020 +0100 fix kira80 matrix mapping and add more preset layouts (#8361) * fix kira80 matrix mapping * add more preset keymaps * remove uselesss rgb mod keys commit 2a05d433c923d715eac829ef9be215e32bbb72b1 Author: skullydazed Date: Tue Mar 10 13:51:19 2020 -0700 Rename qmk json-keymap to qmk json2c (#8372) commit 1aa40dde46ae38e2768fd23e4d7a3bdd8838f724 Author: QMK Bot Date: Tue Mar 10 20:24:13 2020 +0000 format code according to conventions [skip ci] commit 2ffb08843ba59f0af0870335934bdb277fc85620 Author: Nathan Gray Date: Tue Mar 10 12:50:01 2020 -0700 Feature: RGBLight layers (#7768) * New feature: RGBLIGHT_LAYERS This feature allows users to define multiple independent layers of lighting that can be toggled on and off individually, making it easy to use your RGB lighting to indicate things like active keyboard layer & modifier state. * Demonstrate built in functions for layer state checking Also link the video in the docs. * Follow existing pattern for setting rgblight_status flags * Eliminate rgblight_is_static_mode since it's not needed Just check to see if the timer is enabled directly. commit 2a8ccafe6e704eced2d383810e1061613871433e Author: Wilba Date: Wed Mar 11 05:34:19 2020 +1100 Refactor Equinox PCB revisions (#8266) * Refactor Equinox PCB revisions * typo commit 1757960b7bc2ecb5c403217b15d7a842057e3f93 Author: Alvin See Date: Tue Mar 10 02:30:34 2020 -0700 Replace tab indentation with spaces in is0 default keymap. (#8368) commit 668121bbf8daa3ba9d0f42ac7e39701e1b9d2f77 Author: Drashna Jaelre Date: Tue Mar 10 02:23:26 2020 -0700 Fix layer debug calls (#8370) commit 483ab88489b1c96dc84a484741831417307772bf Author: Brett Mandler Date: Tue Mar 10 04:52:39 2020 -0400 [Keymap] Added HHKB Keymap and user config (#8119) * Added my config * Update my keymap * Improve quality of brett.c * Finish cleaning brett.c * Remove QMK_FIRMWARE_H * Update keyboards/hhkb/keymaps/brett/keymap.c Co-Authored-By: Ryan Co-authored-by: Ryan commit dbbab409812ea7c579760e2973399245c21ff843 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue Mar 10 17:46:03 2020 +0900 Refactor rgblight_reconfig.h (#7773) * Moved contents of rgblight_reconfig.h to rgblight_post_config.h. In #3582, rgblight_reconfig.h had to be newly created. Now, the build system of qmk_firmware has a post_cofig feature, so that what was done in rgblight_reconfig.h can now be realized in rgblight_post_config.h. **This commit does not change the build result.** Testing script ```shell # build on master git checkout master echo master > /tmp/master_md5.txt # RGBLIGHT_ENABLE = no make HELIX=verbose helix/rev2:default:clean make HELIX=verbose helix/rev2:default md5 helix_rev2_default.hex >> /tmp/master_md5.txt # RGBLIGHT_ENABLE = yes, with animations make HELIX=verbose helix/rev2/back:default:clean make HELIX=verbose helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/master_md5.txt # RGBLIGHT_ENABLE = yes, without animations make HELIX=verbose,no_ani helix/rev2/back:default:clean make HELIX=verbose,no_ani helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/master_md5.txt # build on refactor_rgblight_reconfig.h git checkout refactor_rgblight_reconfig.h echo refactor_rgblight_reconfig.h > /tmp/branch_md5.txt # RGBLIGHT_ENABLE = no make HELIX=verbose helix/rev2:default:clean make HELIX=verbose helix/rev2:default md5 helix_rev2_default.hex >> /tmp/branch_md5.txt # RGBLIGHT_ENABLE = yes, with animations make HELIX=verbose helix/rev2/back:default:clean make HELIX=verbose helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/branch_md5.txt # RGBLIGHT_ENABLE = yes, without animations make HELIX=verbose,no_ani helix/rev2/back:default:clean make HELIX=verbose,no_ani helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/branch_md5.txt diff -u /tmp/master_md5.txt /tmp/branch_md5.txt ``` Test result: ``` --- /tmp/master_md5.txt 2020-01-03 15:42:22.000000000 +0900 +++ /tmp/branch_md5.txt 2020-01-03 15:42:42.000000000 +0900 @@ -1,4 +1,4 @@ -master +refactor_rgblight_reconfig.h MD5 (helix_rev2_default.hex) = f360032edd522448366d471d8f4f8181 MD5 (helix_rev2_back_default.hex) = 0c663acc6cccc44476b3b969ad22a48f MD5 (helix_rev2_back_default.hex) = e66b1195ff6d38e6e22c975b8ae42fd3 ``` * Expressions that are too long are difficult to read, so wrap them. * Edit the expression again * remove `defined(RGBLIGHT_ANIMATIONS)` in `tmk_core/common/*/suspend.c`, `tmk_core/protocol/*/main.c` move contents of rgblight_reconfig.h to rgblight.h. The following changes were made to rgblight.h. ```diff +#ifdef RGBLIGHT_USE_TIMER void rgblight_task(void); void rgblight_timer_init(void); void rgblight_timer_enable(void); void rgblight_timer_disable(void); void rgblight_timer_toggle(void); +#else +#define rgblight_task() +#define rgblight_timer_init() +#define rgblight_timer_enable() +#define rgblight_timer_disable() +#define rgblight_timer_toggle() +#endif ``` The following changes were made to tmk_core/common/avr/suspend.c, tmk_core/common/chibios/suspend.c, tmk_core/protocol/chibios/main.c, tmk_core/protocol/lufa/lufa.c, tmk_core/protocol/vusb/main.c. ```diff -# ifdef RGBLIGHT_ANIMATIONS rgblight_timer_enable(); -# endif ``` ```diff -#if defined(RGBLIGHT_ANIMATIONS) && defined(RGBLIGHT_ENABLE) +#if defined(RGBLIGHT_ENABLE) rgblight_task(); #endif ``` * remove 'defined(RGBLIGHT_ANIMATIONS)' in tmk_core/common/keyboard.c Co-authored-by: Joel Challis commit 20a0fa9209756288b014f65671bcaab12a028229 Author: Takashi Shibusawa Date: Tue Mar 10 17:38:37 2020 +0900 [Keyboard] Palette1202 (#7736) * added Palette1202 * removed currently unused cords * Update keyboards/palette1202/config.h Co-Authored-By: Drashna Jaelre * Apply suggestions from code review Co-Authored-By: Drashna Jaelre Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update readme.md removed unnecessary horizontal line from readme.md * Update readme.md Fixed style, make command example * Removed spaces * removed unused config.h * fixed defines * fixed send string on rotate encoder * fixed layer numbers for OLED Display * fixed to use existing function to set default layer https://github.com/qmk/qmk_firmware/pull/7736#discussion_r366699616 * flipped rotary encoder directions * Added layer for Clip studio on iOS * Update keyboards/palette1202/rules.mk Co-Authored-By: Ryan * Update keyboards/palette1202/lib/oled_helper.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 2d14d12c7409e8de3f8d465635be115e06ba26f7 Author: MakotoKurauchi Date: Tue Mar 10 17:33:46 2020 +0900 [Keyboard] Helix add split common option (#7718) * is_master, has_usb() move to rev2.[hc] * Do recent helix/rev2 changes to helix/pico as well. helix/pico/matrix.c: remove 'is_master' helix/pico/pico.c: add 'is_master' helix/pico/pico.h: add 'has_usb()' macro helix/pico/split_util.c: remove 'setup_handedness()' 'has_usb()', add 'is_helix_master()' etc * add HELIX=scan option into {rev2/pico}/local_features.mk Made DEBUG_MATRIX_SCAN_RATE easy to use. * Changed rules.mk to link "helix/local_drivers/ssd1306.c" only when OLED_ENABLE = yes. * Added option to use split_common for helix/rev2, helix/pico keyboard. how to build: ### build helix/pico (HelixPico) with helix current codes $ make helix/pico:KEY_MAP $ make helix/pico/back:KEY_MAP ### build helix/rev2 (Helix or Helix beta) with helix current codes $ make helix:KEY_MAP $ make helix/rev2/back:KEY_MAP $ make helix/rev2/under:KEY_MAP $ make helix/rev2/oled:KEY_MAP $ make helix/rev2/oled/back:KEY_MAP $ make helix/rev2/oled/under:KEY_MAP ### build helix/pico (HelixPico) with split_common codes $ make helix/pico/sc:KEY_MAP $ make helix/pico/sc/back:KEY_MAP $ make helix/pico/sc/under:KEY_MAP ### build helix/rev2 (Helix) with split_common codes $ make helix/rev2/sc:KEY_MAP $ make helix/rev2/sc/back:KEY_MAP $ make helix/rev2/sc/under:KEY_MAP $ make helix/rev2/sc/oled:KEY_MAP $ make helix/rev2/sc/oledback:KEY_MAP $ make helix/rev2/sc/oledunder:KEY_MAP * add matrix_slave_scan_user() to helix/rev2/rev2.c, helix/pico/pico.h * Changed 'helix:xulkal' to always use split_common and removed ad hoc code. Added the following line to 'helix/rev2/keymaps/xulkal/rules.mk': SPLIT_KEYBOARD = yes Removed the following ad hoc code from 'users/xulkal/custom_oled.c': #if KEYBOARD_helix_rev2 extern uint8_t is_master; bool is_keyboard_master(void) { return is_master; } #endif * add '#define DIODE_DIRECTION COL2ROW' into helix/{rev2|pico}/config.h This commit does not change the build result. * update helix readme * keyboards/helix/readme.md * keyboards/helix/pico/keymaps/default/readme.md * keyboards/helix/rev2/keymaps/default/readme.md Co-authored-by: mtei <2170248+mtei@users.noreply.github.com> commit 0ba352356deaa741064acc770fa5a8bc57fa8904 Author: marcoSchr <49691247+marcoSchr@users.noreply.github.com> Date: Tue Mar 10 08:30:02 2020 +0100 Enable bootmagic lite for CU80 (#8363) commit a4fd5e2491aa7213d15ef2ff3615b8eb75660e93 Author: Richard Baptist Date: Tue Mar 10 07:40:27 2020 +0100 [Keymap] Update personal keymap (#8354) commit 5e3951b361e6d173b705bd3b2b6df0c543258d98 Author: Ryan Date: Tue Mar 10 06:58:25 2020 +1100 Remove NO_UART defines from config.h for V-USB boards (#8351) commit 5e4fcfac1cdb749d70e743edc44ce185cb4545bf Author: elmo-space Date: Mon Mar 9 20:39:41 2020 +0100 [Keyboard] Add Kira 80 support (#8342) * add kira 80 initial support * Delete config.h * Update keyboards/kira80/keymaps/default/keymap.c * Update keyboards/kira80/readme.md * Update keyboards/kira80/rules.mk * Update keyboards/kira80/usbconfig.h * Update keyboards/kira80/usbconfig.h * Update keyboards/kira80/usbconfig.h * Update keyboards/kira80/usbconfig.h * update readme and fix wrong LED assignment (scrolllock instead of numlock) * Update keyboards/kira80/rules.mk * fix weird double commit * exchange images in readme for smaller versions * Update keyboards/kira80/readme.md * Update keyboards/kira80/readme.md * Update keyboards/kira80/readme.md * Update keyboards/kira80/readme.md * Apply suggestions from code review * Apply suggestions from code review commit 89ef9de98cc54462aa5b7938ec55bdc089541c74 Author: Erkki Halinen Date: Mon Mar 9 11:21:59 2020 +0200 [Keyboard] Add PRKL30 keyboard (#8319) * Add PRKL30 default keymap * Modify readmes, fix info.json url * added layer pictures to readme.md * edited layer pictures * edited layer pictures * edited layer pictures * edited layout pictures * edited layout pictures * Modify default keymap * Add arrows to Raise layer * Add perkele macro and adjust symbols * Add PRKL macro and modify keymap comments * updated layout pictures * edited layut pictures * Add correct minus keycode * Configure Feather config * Update keyboards/handwired/prkl30/keymaps/default/keymap.c * Update keyboards/handwired/prkl30/feather/rules.mk * Update keyboards/handwired/prkl30/feather/config.h * Update keyboards/handwired/prkl30/feather/config.h * Update keyboards/handwired/prkl30/promicro/config.h * Update keyboards/handwired/prkl30/promicro/rules.mk * Update keyboards/handwired/prkl30/feather/config.h * Update keyboards/handwired/prkl30/feather/config.h * Update keyboards/handwired/prkl30/promicro/config.h * Update keyboards/handwired/prkl30/feather/rules.mk * Update keyboards/handwired/prkl30/keymaps/default/keymap.c * Update keyboards/handwired/prkl30/info.json * Update keyboards/handwired/prkl30/info.json * Update keyboards/handwired/prkl30/keymaps/default/keymap.c * Delete unused config * Apply suggestions from code review Commit code review changes * Remove false comments from rules.mk * Change layout to layout_all * Apply suggestions from code review Co-authored-by: Toni Johansson commit 6c8d815f2eec970a685aaf25a977fb2a04f53b8f Author: Ryan Date: Mon Mar 9 15:37:10 2020 +1100 Update Dvorak, Colemak and Workman keycode aliases (#8217) * Update Dvorak, Colemak and Workman keycode aliases * Add missing shifted keycode aliases for Workman commit 2271da00bc246c0791ec7c54bc496691ede71784 Author: Nick Brassel Date: Mon Mar 9 15:36:40 2020 +1100 Move splittest I2C (#8346) commit 6e28ff24baf50373acdc43fd6b2173af5e5e96c7 Author: Christian Gurholt Date: Sun Mar 8 21:58:30 2020 -0600 [Keymap] planck layout for kifinnsson (#8324) * [Keymap] kifinnsson keymap for planck Initial commit for kifinnsson keymap * placeholder macros * extend layer * [Keymap] kifinnsson planck keymap updates commented out placeholder SEND_STRING macros * Update keyboards/planck/keymaps/kifinnsson/keymap.c Remove extern keymap_config_t keymap_config; Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/planck/keymaps/kifinnsson/keymap.c Changed KC_MENU to KC_APP Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Removing COLEMAK set_single_persistent_default_layer as suggested Co-Authored-By: Drashna Jaelre * updated uinit32()_t to layer_state_t() for update_tri_layer_state as suggested Co-Authored-By: Drashna Jaelre * Removing COLEMAK keycode Co-Authored-By: Drashna Jaelre * Removing COLEMAK keycode in _ADJUST layer * Update keymap.c added switch (keycode) back into process_record_user Co-authored-by: Ki Finnsson Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre commit d526117896f51e42d94ad0f1180bcd559fca6f3e Author: moyi4681 Date: Mon Mar 9 10:16:48 2020 +0800 add via support for dztech 60 and 65 pcb (#8334) * add via support for dztech 60 and 65 pcb add via support for dztech 60 and 65 pcb * Update dz60rgb.h * Update dz60rgb.h * Update dz60rgb_ansi.h * Update dz60rgb_wkl.h * Update dz65rgb.h * Update dz60rgb.h * Update dz60rgb_ansi.h * Update dz60rgb_wkl.h * Update dz65rgb.h * Update keyboards/dztech/dz60rgb/dz60rgb.h * Update keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.h * Update keyboards/dztech/dz65rgb/dz65rgb.h * Update keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.h * Update dz60rgb_wkl.h * Update keyboards/dztech/dz65rgb/keymaps/via/keymap.c * Update keyboards/dztech/dz60rgb_wkl/keymaps/via/keymap.c commit cf40c33c907c44753bb145b9f2d5107447422fbc Author: skullydazed Date: Sun Mar 8 09:21:45 2020 -0700 Add gcc version detection to qmk doctor (#8338) commit 4b7a3b2265d476dc3105511c74e25adc13ab8a8a Author: Samuel Li Date: Sun Mar 8 04:26:26 2020 -0400 [Keyboard] New Keyboard: handwired/jtallbean/split_65 (#8275) * New keyboard: split_65 * Updated readme * Update with requested changes * Add writePinLow to prevent flickering * Renamed LAYOUT to LAYOUT_all commit 829906969c4affbe7ba306e59b2fb84d966eba39 Author: Ryan Date: Sun Mar 8 15:43:05 2020 +1100 Update Norwegian keymap and add sendstring LUT (#8300) commit e0d15e6182a331ed27535f81539f2d7243d02bc0 Author: yulei Date: Sat Mar 7 21:19:06 2020 +0800 fixed #8259 (#8333) commit 3a303bd2aec57fd2d4d0f6d3e5583d746367d6e1 Author: Joel Challis Date: Sat Mar 7 12:09:49 2020 +0000 Backlight - Carve out a better location for private driver functionality (#8329) * rename backlight_soft to match rules.mk * rename backlight_soft to match rules.mk - update common_features * Carve out a better location for private driver backlight functionality commit d7ba0ad684a18c07952963427ca89a8e8e7e1903 Author: su8044 <58837515+su8044@users.noreply.github.com> Date: Sat Mar 7 04:53:05 2020 -0500 [Keyboard] Handwired Skeeb Keyboard (#8161) * adding Handwired Skeeb Keyboard * Apply suggestions from fauxpark * Apply more suggestions from fauxpark and small change to layout * Apply more suggestions from noroadsleft and last tap dance commit c4d8e5692837e8c0377d9111b37308f55cf3edba Author: Wilba Date: Sat Mar 7 20:38:08 2020 +1100 Added VIA keymap for Ramaworks M10-A (#8255) * Added VIA keymap for Ramaworks M10-A * change vendor/product in base config.h * #pragma once * Uee LAYOUT() in keymaps commit 5e1ce3988d81b5c60a6224664d45c67ac2ad7cd9 Author: zvecr Date: Sat Mar 7 00:38:14 2020 +0000 Remove unused LED_BREATHING_TABLE commit dd05007f3be17f380c5615a83af7de9db26b58d3 Author: kymok Date: Sat Mar 7 11:27:15 2020 +0900 [Docs] i2c_driver translation to Japanese (#8274) * [WIP] i2c_driver translation to ja * update docs/ja/i2c_driver.md * update docs/ja/i2c_driver.md * align table + remove comment * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * Update docs/ja/i2c_driver.md * add original document commit hash Co-Authored-By: shela commit 2306c974e590d80946aaf948dd477853205bb7a7 Author: QMK Bot Date: Sat Mar 7 01:24:47 2020 +0000 format code according to conventions [skip ci] commit 833c5ae87aa89124451efafdf0cf9fc0400f4b03 Author: brickbots Date: Fri Mar 6 16:52:39 2020 -0800 Buffer based OLED panning, write byte to buffer at arbitrary index (#8055) * Add buffer based single line pan, arbitrary byte write to buffer * Change dirty mask to inverse of OLED_BLOCK_TYPE for future proofing larger buffer sizes * Updating docs to include new functions * Updating to clarify scroll vs pan commit 57de9e65ef58ad72c88830a57e68b1203a3e8f9a Author: swreinehr Date: Fri Mar 6 17:15:44 2020 -0700 Super 16 Puzzle Game (#8306) * 15/16 game with lights for the super 16 * Updated readme with style * adding comments and initial style to keymap trying to make the code look prettier, need to test by redownloading * Final style revisions before pull request * formatting changes, removed config.h * modified rules.mk, works with changes in PR8314 * formatting no number of spaces is enough for a newline, whoops Co-Authored-By: Ryan * Update keyboards/1upkeyboards/super16/keymaps/15game/keymap.c Co-Authored-By: Ryan * Update keyboards/1upkeyboards/super16/keymaps/15game/keymap.c Co-Authored-By: Ryan * Update keyboards/1upkeyboards/super16/keymaps/15game/keymap.c Co-Authored-By: Ryan Co-authored-by: Sam Reinehr Co-authored-by: Ryan commit 6b6e47cbf1fd700010432105843f194cb4cbd895 Author: Chris Alves Date: Fri Mar 6 19:11:41 2020 -0500 DZ60 keyboard layout tuning and README update/fix (#8325) * Added custom dz60 keymap * Update readme.md * Updated pictures in README.md * README.md fixes * Updated mouse layout/ added ` key * Changed bkspc key to del in mod * Changed picture * Updated keymap * Removed default dz60 config.h * Updated Readme * Added Devorak Keymap * Re-added Default Config File * Updated Flash Command * Cleaned Up Custom Config File * Added Lock Security Layer * Updated Readme Picture * Fixed Readme * Re-added keyboard picture * Added home and end button * added insert, pgup, pgdn * final commit before pull request * fixing merge * Added custom dz60 keymap * adding lufa? Co-authored-by: chrisae9 commit 54b6bf5910a3e9f4d13ae888c9d030fec7a586be Author: Anthony Leung Date: Fri Mar 6 19:00:44 2020 -0500 [Keyboard] Add VIA support for neuron (#8264) * add VIA support for neuron * update neuron vendor and product id * update neuron product id Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 73728e9bec6c08b3774a016ae1e1f60e1b098c9c Author: James Young Date: Fri Mar 6 13:10:17 2020 -0800 [Docs] Fix links in Config Options doc commit 4f1a62ca1d8e1cd1528305bda6a315489738c29f Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Fri Mar 6 20:00:17 2020 +0100 [Keyboard] keebwerk. nano. slider support (#7914) * Initial Keeb.werk nano.slider support * fixed open ifdef * Fixed layout macros * Added LTO * Enabled LTO and dissabled console * Added basic slider example * rate limited adc, and fixed send_string * Made slider courser * new-line after each slider print * Switched slider example mirror the stock behavior using midi * switched division to bit-shifting * Apply suggestions from code review * Update keyboards/keebwerk/nano_slider/keymaps/default/keymap.c * Update keyboards/keebwerk/nano_slider/config.h * Update keyboards/keebwerk/nano_slider/config.h * Applied suggestions from code review * Apply suggestions from code review * Added fauxparks info.json * Reverse midi value direction, move to QMKVID * Update keyboards/keebwerk/nano_slider/config.h * Update keyboards/keebwerk/nano_slider/config.h * Update keyboards/keebwerk/nano_slider/keymaps/default/keymap.c * Apply suggestions from code review * Update keyboards/keebwerk/nano_slider/rules.mk * Update keyboards/keebwerk/nano_slider/nano_slider.h * Update keyboards/keebwerk/nano_slider/readme.md * Defined backlight pin and settings commit 4e826ba61f62aac8c74d4231e2aee3b9de7c50c5 Author: Shaun Date: Fri Mar 6 10:42:08 2020 -0800 Correct typo in tap_hold.md (#8326) Correct typo: "reasonal" to "reasonable" commit b438c6f8eab1c1f940c3af3a3fdfc99b34fc3bf2 Author: Nick Brassel Date: Sat Mar 7 03:05:51 2020 +1100 Fix up Arm builds with nix-shell. (#8312) commit bad9468ce1b2700188e1bc30ddfd7f0f9ed435bd Author: QMK Bot Date: Fri Mar 6 13:28:11 2020 +0000 format code according to conventions [skip ci] commit 9810756ee02327673456cb965612eb657700a218 Author: Ryan Date: Fri Mar 6 23:55:15 2020 +1100 Fix typo in uart.c backport and add 32A "support" (#8219) commit 918a85d342aa608deac1650ddd0692dd1717c5e3 Author: Joel Challis Date: Fri Mar 6 12:49:45 2020 +0000 Refactor more backlight to a common location (#8292) * Refactor more backlight to a common location * BACKLIGHT_PIN not defined for custom backlight * align function names commit 116c0e44a1a4999c54019e48337c0e6b92a710f8 Author: Joel Challis Date: Fri Mar 6 12:12:20 2020 +0000 Remove stub backlight functions from clueboard/66/rev4 (#8303) commit 3c0ef04390b3858a0b73707c88e56bb8f65983a9 Author: dr-BEat Date: Fri Mar 6 09:47:52 2020 +0100 [Keymap] Dichotomy keymap by beat (#8279) * Added more led helpers * Working keymap * Added new mouse button an made lower layer toggleable * Small improvement to process_record_user * Removed extra layer buttons * Added Numpad to apply layer * Moved buttons and added toggle for raise button * Added Menu,PrintScreen and Windowslock buttons, and left handmouse * Fixed Scroll Buttons * Turned TAPPING TOGGLE to 2 * Switched Del and Ctrl on left hand * Added Home Button to Mouse layer * Fixed led initialization to avoid red led on boot * Updated formatting to follow guidelines * Used enums instead of defines and used layer_state_t type * Added license * Moved TAPPING settings to keymap config * Fixed small formatting issue in keymap.c * Use GPIO Control instead of lowlevel ports commit fd7b52cc64683683109cfb146670b76782a3c490 Author: QMK Bot Date: Fri Mar 6 02:15:29 2020 +0000 format code according to conventions [skip ci] commit d0d6fb27c485d865aa47d8eb1bc3a6cdf4c3708f Author: Joel Challis Date: Fri Mar 6 01:40:39 2020 +0000 Add f401 and f411 blackpill examples (#7930) * Add f401 and f411 blackpill examples * Add readme files * Align dfu args with core * Add support for RESET keycode * move STM32_BOOTLOADER_ADDRESS to rules * Update conf files to latest ChibiOS * Update conf files to latest ChibiOS commit b368db9e027015ba393e87cee416d8d5b2b56a8c Author: Joel Challis Date: Fri Mar 6 01:39:54 2020 +0000 Refactor fortitude60 to use split_common (#8113) commit 76189d9a282cc32bf2ff88a84a6374ebb8908433 Author: James Young Date: Thu Mar 5 15:52:30 2020 -0800 link the 2020 Feb 29 Breaking Changes changelog from the summary commit 2939751eb35524fcd8399acf64529663f600e9a7 Author: James Young Date: Thu Mar 5 15:32:27 2020 -0800 keycodes.md: hard-code section link id attributes commit 772bacb7703096df3684bf97732f7fdb79a5a3a7 Author: James Young Date: Thu Mar 5 15:23:07 2020 -0800 keycodes.md: don't use section headings as links It prevents the Table of Contents from parsing that heading. commit 961477c791195ebf2d4c1f533807cb46c194d939 Author: skullY Date: Sun Mar 1 08:57:26 2020 -0800 make sure all our redirects are in order commit 6956784ac1ae1a48e42ca0a695b7c666abd52846 Author: skullY Date: Sat Feb 29 21:17:17 2020 -0800 Add more call to action items commit 54c58ea6de61a0f1fefa06e8271e2e11f9027940 Author: skullY Date: Thu Feb 27 20:53:50 2020 -0800 Add explicit id tags to externally linked headers commit a95a314f78fd96aca7cc496b10bd310e28b1b66e Author: James Young Date: Wed Feb 26 22:53:47 2020 -0800 refactor How a Matrix Works doc commit bc31ebd0c479f8eb74dca8c22a09accbcc6fb02e Author: James Young Date: Wed Feb 26 21:34:41 2020 -0800 Hand Wire guide tidying, part 2 commit fbf27e74441c14b7e28e82d48b03fc4434d8af6a Author: James Young Date: Wed Feb 26 17:26:44 2020 -0800 Hand Wire guide tidying commit 8b5ca3d1105be8c9b845782d7e384f83bcb5414b Author: James Young Date: Wed Feb 26 17:10:00 2020 -0800 clean up Firmware Setup section in Hand Wire guide commit 06708b9dc801ef3fbf93c89cdff5166475b13c44 Author: James Young Date: Wed Feb 26 16:35:51 2020 -0800 remove collapsible section for Compiling; redirect to Building Firmware doc commit 772d5264d64f7a2a4e7d881568a1233343ff0c7f Author: James Young Date: Wed Feb 26 15:22:08 2020 -0800 replace QMK Toolbox image in Hand Wire guide Showing a current version of QMK Toolbox commit 994de86121e0b0a548cc05452c21f809323b5e13 Author: James Young Date: Wed Feb 26 15:06:39 2020 -0800 restructure Hand Wire Guide commit 906bdce6cee512e73faa527f01019addf8db6acc Author: James Young Date: Wed Feb 26 14:02:03 2020 -0800 split Hand Wire Preamble to a separate doc commit 3bd65d2173e8f8d136cb159eb980941479ab5906 Author: James Young Date: Tue Feb 25 17:22:08 2020 -0800 CSS updates: ul and pre elements commit d5f34c48103f09cb3cadfc8ee7ae0a760c158ebb Author: James Young Date: Tue Feb 25 17:22:05 2020 -0800 Polish Configurator section commit 503b52652c82add2daf84112c745e3e744c10e77 Author: skullY Date: Tue Feb 25 17:13:33 2020 -0800 Adjust the H2 and H2 margins commit b5030907eb66931ac34f9a042b079890df9cc852 Author: skullY Date: Tue Feb 25 17:03:57 2020 -0800 reduce the line-height of the sidebar commit 8b0fdc82dc48a983d1f29857bdd275a4c1ff241a Author: skullY Date: Tue Feb 25 16:33:56 2020 -0800 rearrange the sidebar a bit commit 8d8d61b3c518d1d40180067643122581848b976e Author: skullY Date: Tue Feb 25 16:33:35 2020 -0800 limit the TOC to H1 and H2 commit f86fd0cd14ad3e00f8efe90b5d454d54f512e2ee Author: skullY Date: Tue Feb 25 15:03:18 2020 -0800 remove line drawing chars commit 12e43230c6c239553d357e83ea5bc6b61521389d Author: skullY Date: Tue Feb 25 14:42:50 2020 -0800 make custom_keycode_names.md a faq entry instead commit 55c5b82638d66762bb41e611fec077663c468ae9 Author: skullY Date: Tue Feb 25 14:29:37 2020 -0800 reduce space on h3s commit 9035c3497e31edba174c3d9be1e3540de702d2b9 Author: skullY Date: Tue Feb 25 13:58:22 2020 -0800 break feature_advanced_keycodes.md up into multiple files commit 5d35098bfc0d8e4c21a8f844fcc7a82866f0ab9e Author: skullY Date: Tue Feb 25 13:43:05 2020 -0800 improve our docsify setup commit 8249a288d70fa078e0174846618d0f3b6fd911f1 Author: skullY Date: Tue Feb 25 13:42:23 2020 -0800 fix numbering commit 45e218ceec1269e5e2751146272637922cd7e9d9 Author: skullY Date: Tue Feb 25 10:58:36 2020 -0800 overhaul the newbs guide commit 86f6405574d75cdc69c32829cb523aa1538ecd77 Author: skullY Date: Tue Feb 25 09:17:24 2020 -0800 More sidebar organization commit 99850aabcad51dd4a46ee10c0f5349a4266084fe Author: skullY Date: Sun Feb 23 22:37:25 2020 -0800 Add API documentation commit 3c98854044066744ad79d8abc27d93951860af6d Author: James Young Date: Thu Feb 20 19:00:42 2020 -0800 update flashing.md - minor typo on intro paragraph (the -> them) - remove note about :check-size target (`make` task now does this automatically) - heading level for Caterina commands section - typo regarding Halfkay (come -> comes) commit 7b1b53054f5563c9378193af86d7fae913f67e68 Author: James Young Date: Thu Feb 20 18:11:26 2020 -0800 update newbs_building_firmware.md Update the text sample for when the compile task completes. commit a701c15d872ad171592335e61e91d7234dbec54a Author: skullY Date: Thu Feb 20 15:50:50 2020 -0800 Rework the newbs guide around the qmk cli commit 1b7fa46f8e0616450bed8bff71bc1cffbca2eac8 Author: skullY Date: Thu Feb 20 14:32:43 2020 -0800 Add dark mode support commit 58fb57bfa71cded29bd38f8cbb8c993b9fe1cba1 Author: James Young Date: Thu Feb 20 14:00:33 2020 -0800 _summary.md: move Auto Shift page to Software Features category commit 6af58fc25eab115e2bd2104a33ffba2b95cb0b3d Author: James Young Date: Thu Feb 20 13:56:30 2020 -0800 clean up links to keycode references in newbs_building_firmware_configurator.md commit e01763b8e5ec47bb93c0b1e233404a74ac79b2f7 Author: James Young Date: Thu Feb 20 13:55:13 2020 -0800 clean up callouts in newbs_building_firmware_configurator.md commit cdb5c074d36fcd97d9704da56a8a850a8889df4a Author: James Young Date: Thu Feb 20 13:53:28 2020 -0800 remove some unnecessary external links Also clean up some trailing whitespace. commit 3f1e47dbcd2a03f791d968f13ded33fde597f1fb Author: skullY Date: Thu Feb 20 13:09:37 2020 -0800 rework the index page commit d1c0710dec8d18d1170709505f4e378abe261ae7 Author: skullY Date: Thu Feb 20 13:07:31 2020 -0800 remove unused docs commit 5b144560827d01b87e11be0e4539b35edca964ef Author: skullY Date: Thu Feb 20 11:57:43 2020 -0800 more wip commit d1c18086d23c1f510ee434e1aa12b203f36e4794 Author: skullY Date: Thu Feb 20 11:06:27 2020 -0800 wip commit 4ef10a424ae1174bc108de9014dfd1f0ff6751e0 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Mar 5 13:51:43 2020 -0800 [Keyboard] add miller/gm-862 keyboard (#8230) * add miller/gm-862 keyboard * Update keyboards/miller/gm862/gm862.c * Update keyboards/miller/gm862/gm862.h * Update keyboards/miller/gm862/gm862.h * Update keyboards/miller/gm862/readme.md * Update keyboards/miller/gm862/readme.md * Update keyboards/miller/gm862/readme.md * Update keyboards/miller/gm862/readme.md * Update config.h * Update keyboards/miller/gm862/config.h * Update keyboards/miller/gm862/readme.md commit 23c31dd9292ba98b460bf9ce0598d393a7338ac0 Author: Ryan Date: Fri Mar 6 06:56:28 2020 +1100 update lily58/rev1:yshrsmz (#8298) * update lily58/rev1:yshrsmz * use pre-shifted keycodes commit 921e18988f0de68b147b8eb041d72f7dc0127831 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Mar 4 21:40:03 2020 -0800 [Keyboard] CapsUnlocked CU80 (#8257) * Initial commit for CU80 * Added iso and ansi to .json * Update keyboards/cu80/config.h Remove "Custom matrix" * Update keyboards/cu80/config.h * Update keyboards/cu80/config.h * Update keyboards/cu80/config.h * Update keyboards/cu80/cu80.h * Update keyboards/cu80/rules.mk * Update keyboards/cu80/keymaps/default/keymap.c * Update keyboards/cu80/rules.mk * Update keyboards/cu80/rules.mk * Update keyboards/cu80/cu80.h * Update keyboards/cu80/readme.md * Update keyboards/cu80/keymaps/default/keymap.c * Update keyboards/cu80/rules.mk * Update keyboards/cu80/rules.mk * Update keyboards/cu80/cu80.h * Update keyboards/cu80/cu80.h * Update keyboards/cu80/cu80.h * Update keyboards/cu80/info.json * Update keyboards/cu80/info.json * Update keyboards/cu80/info.json * Update keyboards/cu80/info.json * Update keyboards/cu80/keymaps/default/keymap.c * Update keyboards/cu80/rules.mk commit 7e30d189e9ec4da37d4dffa9c509b256495676b5 Author: Ryan Date: Thu Mar 5 12:39:50 2020 +1100 Update config.h - Fixed number of RGB LEDs (#8316) There are 18 LEDs, not 16 commit 8fd845430899311663a6bcdeb6a16574cb92fe54 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Mar 4 17:19:26 2020 -0800 [Keymap] Add @cjuniet's keymap/layout/userspace (#8258) * Add Colemak layout * Add status bar for mods & locks with a custom font * Swap DEL and TAB * Fix media keys and add QMK Configurator layout * Add dead grave accent on e commit 8e229f0db65cb7d23d0a64daca2b0a1298eb456d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Mar 4 17:14:36 2020 -0800 [Keymap] Wilba/Singav3 nk65 keymap updates (#8267) * via configurator can't do AG_TOGG with any key - meh * same issue - via can't do AG_TOGG * oops - missed AG_TOGG on the NK65 * add media and mousekeys * Update keyboards/nk65/keymaps/madhatter/keymap.c commit 95ce19f8465f2226413b2b6090407b320b18a041 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Mar 4 16:59:06 2020 -0800 Add RGB lighting through one of the free pins (#8294) commit 9550ab334232b73025e105a9d04f67e57aa3c02f Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Mar 4 16:42:09 2020 -0800 [Keymap] Adding the 4sStylZ xd75 (#8285) * Adding the 4sStylZ xd75 * Update keyboards/xd75/keymaps/4sstylz/keycodes.h * Apply suggestions from code review commit 607e2f6c310f2404933e791561912a0a35587aae Author: Nick Brassel Date: Thu Mar 5 07:26:25 2020 +1100 YD60MQ refactor and Configurator layout support (#8313) * refactor yd60mq.h - four-space indent - use K base32hex notation - rename LAYOUT to LAYOUT_all (with alias for backwards compatibility) * refactor yd60mq.c to use led_update_kb() * align rules.mk to AVR template * refactor default keymap Also correct positions for KC_NUHS and KC_NUBS. * update readme * add Configurator layout support * initialize the Caps Lock LED pin properly commit 2d1081c29638cd84428c40502ab35461403b107e Author: Joel Challis Date: Wed Mar 4 19:46:03 2020 +0000 [Keyboard] Forget to ifdef Super16 led config (#8314) commit 0275098bdde4d92de25483399143d41c896a761e Author: Joel Challis Date: Wed Mar 4 18:19:39 2020 +0000 [Keyboard] Switch to RGB Matrix for Super16 (#8305) commit 0c9171a619b4a7a3f29c076c3da53dc238d08e1f Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Thu Mar 5 01:16:36 2020 +0900 [Keymap] Keymap Update (#8309) * Keymap Update Some key codes have been updated. naked64:salicylic 7skb:default * Keymap Update Some key codes have been updated. KC_GRAVE to KC_GRV 7skb:default commit 23eb9f4fe51b99aa5b93ab223e7464129ad1a4c2 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Mar 4 04:12:00 2020 -0800 New Keyboard: SiddersKB Majbritt (Pronounced My Brit) (#8260) * Initial commit of majbritt * Add QMK and VIA support to majbritt * Change vendor and product id * Change name * Change make path * Move Majbritt into sidderskb directory * Update keyboards/sidderskb/majbritt/majbritt.c Co-Authored-By: Drashna Jaelre Co-Authored-By: Ryan * Update keyboards/sidderskb/majbritt/keymaps/default/config.h Co-Authored-By: Ryan * remove unused file Co-authored-by: Drashna Jaelre Co-authored-by: Ryan commit 31662af342b1ff3715fb3f8f0d0efd6078b58092 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Mar 4 01:22:47 2020 -0800 [Keyboard] VIA Support: Tada68 (#8289) * tada68 via files * change vid and pid based on wilba's recommendaton commit 8c3ff3f32c49c649ef6632d10f8fb15ef60d990d Author: Ryan Date: Wed Mar 4 09:10:39 2020 +1100 [Keyboard] LFK78 refactor (#7835) * Change include guards to pragma once * Clean up default keymaps * Remove some magic numbers and use GPIO macros * Clean up keyboard.[ch] * Tidy up info.json and readme * Align config.h with template * Split up revision code into subfolders * rev C-H has no audio, apparently * Change revc_h to revc and document differences * Turn off Audio on revb for now, for Travis' sake * Split info.json into revision folders * Clean up default keymaps some more commit 910d603c657e4ad81a4e7a4c86a74e2e79aa1eaa Author: Ibnu Daru Aji Date: Wed Mar 4 04:46:11 2020 +0700 [Keymap] new userspace for ibnuda (#8221) * to ease the maintenance for some boards ibnuda has. * followed ridingqwerty's suggestion on 8821. * folloing drashna's suggestion on qmk's 8221. * following drashn's suggestion on qmk's 8211 commit ad96e995afc6a8132a054ccab2b08e3501719159 Author: Jason Thigpen Date: Tue Mar 3 12:45:19 2020 -0800 [Keymap] Add crd's equinox keymap (#8251) commit ed6586e25bd854f445193566150439b25853f831 Author: Alfred Maler Date: Tue Mar 3 13:13:42 2020 -0500 [Keymap] Feature/alfrdmalr/keymap update (#8174) * WIP do not merge * first pass at custom preonic layout * add auto shift and reset via leader key * Update readme * update copyright notice * formatting changes * fix: use MO instead of process_record_user * added backslash and moved grave position * remove extraneous 'j' characer in NUMPAD template * update template formatting * remove process_record_user * swap "!" with "@" * fix readme formatting * update readme layout image * restore settings layer * add windows minimize sequence * fix: switch to correct seq function for three-key sequence * fix: missing semicolon * refactor: move keymap to userspace and generic 5x12 layout * add numlock to numpad layer * add readme * update readme formatting * remove unused wrappers from layout keymap * update readme title to reflect new location * remove alfrdmalr directory from preonic/keymaps * add ortho 4x12 support * add 'trilayer' settings and update keymap * update SYMBOLS layer to SYMBOL * remove minimize sequence * clean up user config * add brightness controls * update settings ascii * moved some symbols around to make vim/linux smoother commit acaecb4f94e3f1dc45cce53b10d1b89052b25ca7 Author: shela Date: Wed Mar 4 00:00:34 2020 +0900 Fix bootloader definition for namecard2x4 (#8301) BOOTLOADER needs to be defined as caterina because namecard2x4 uses avrdude for flasher. commit 53ac4d214f2c153e745cfe3d64f3e8d2ff1422e9 Author: Ryan Date: Tue Mar 3 11:55:42 2020 +1100 Update Hungarian keymap and add sendstring LUT (#8220) commit bff56aa46c7c89d0e5363e3bbcae78341c069c14 Author: Ryan Date: Tue Mar 3 10:56:46 2020 +1100 Remove "ugly hack in usb_main.c" comments (#8296) commit ce30cd2a010b7cad383b34432cc28d808a45266d Author: Danny Date: Mon Mar 2 18:55:57 2020 -0500 Update encoder functions for Iris VIA keymap (#8295) commit 552f8d81b9bff8010b328ee944d50830cfcaea5c Author: Ted M Lin Date: Mon Mar 2 18:43:18 2020 -0500 Reduce PROGMEM usage for sendstring LUT (#8109) * Reduce PROGMEM usage for keycode map Bit-pack the keycode bool array to gain back a small amount of flash space. The trade-off is an increase in runtime instructions when running macros. It does make the code a bit harder to read, as well as maintain. For configs that use send_string() et al, it saves ~100 bytes. * Switch to macro and common definition Rewrite the array declarations so both the unpacked (original) and packed LUT arrays can use the same value definitions. This is done by defining a macro that "knows what to do". This makes the code much easier to read and maintain. * Fix macro typos and improve perf Pack the bits in a more efficient order for extraction. And also fix the copy/paste error in the macro... * Switch fully to packed LUT Some minor reformatting. Compile tested all sendstring_xyz.h to make sure they were converted properly. Also checked that an unconverted version would generate a compile error. * Apply whitespace suggestions from code review Co-Authored-By: Ryan Co-authored-by: Ryan commit abd36de5adbb484695d3500ad790df557d4f5419 Author: Drashna Jaelre Date: Sun Mar 1 22:29:26 2020 -0800 [Docs] Update ISP Flashing guide (#8149) * [Docs] Update ISP Flashing guide * Apply suggestions from code review AKA why you shouldn't write docs at 2am Co-Authored-By: fauxpark Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update workding for planck-qmk-dfu Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit b72a1aa3fec986bfa7e439b68d6b7546ab1e280b Author: Dustin L. Howett Date: Sun Mar 1 21:17:09 2020 -0800 Rewrite the Bathroom Epiphanies Frosty Flake matrix and LED handling (#8243) * Keyboard: revamp frosty-flake leds This commit transitions bpiphany/frosty_flake to led_update_{kb,user} and rewrites the AVR bit twiddling logic to use the standard QMK GPIO API. * Keyboard: rewrite frosty_flake's matrix reader to be a lite custom matrix This commit replaces frosty_flake's custom matrix and debounce logic with a "lite" custom matrix. In addition to being somewhat clearer, this allows a consumer of the flake board to choose their own debouncing algorithm. The one closest to the implementation originally in use is sym_g, but this opens us up to supporting eager_pk and eager_pr. The original matrix code was 18 columns for 8 rows, but using a single row read and unpacking the bits into individual columns. To simplify, I've changed the key layout to be 8C 18R instead of 18C 8R: this lets us use a single read directly into the matrix _and_ drop down to a uint8_t instead of a uint32_t for matrix_row_t. Since we're no longer implementing our own debouncing and row unpacking, we save ~400 bytes on the final firmware image. Fully tested against a CM Storm QFR hosting the flake -- this commit message was written using the new matrix code. Firmware Sizes (assuming stock configuration as of 42d6270f2) Matrix+Debounce Size (bytes) --------------- ------------ original 17740 new + sym_g 17284 new + eager_pr 18106 new + eager_pk 18204 I expect that there are some scanning speed benefits as well. * Keyboard: update frosty_flake's UNUSED_PINS * Keyboard: Remove meaningless weak redefinitions from frosty These are not necessary (and all of them already live somewhere in Quantum). commit 78069d482634b3b727e5d09b526fa24c227cc4e2 Author: Nick Brassel Date: Mon Mar 2 09:36:17 2020 +1100 Add onekey keymap for testing reset to bootloader. (#8288) commit c543ccf07c9b3fa7ce64d19e7d54dc9404591c44 Author: Andrew Kannan Date: Sun Mar 1 16:30:01 2020 -0500 Get the direction right on the S75 encoder (#8287) commit 88356c85c412253ba239e855b7ab0b2431547fab Author: Joel Challis Date: Sun Mar 1 20:22:13 2020 +0000 Prune out pure software pwm && custom driver && remove wrapping BACKLIGHT_PIN (#8041) commit 3dc061ac783df2222d284696a974c3faab8715f9 Author: Andrew Kannan Date: Sun Mar 1 15:16:43 2020 -0500 Make a fix to savage65 and tmov2 for via (#8286) commit 95124bf9331e67a7373ed4e3fc4d14f23e18a85b Author: QMK Bot Date: Sun Mar 1 19:20:09 2020 +0000 format code according to conventions [skip ci] commit e7fb873ee281d93dbf96f369bd3a0a50e766eda3 Author: Joel Challis Date: Sun Mar 1 18:46:40 2020 +0000 Short term fix for conflicting types for 'tfp_printf' (#8157) commit 629950e51bb0f3f12d84520426f93449e0e4e9b7 Author: Joel Challis Date: Sun Mar 1 17:55:43 2020 +0000 Fix recent clang-format breaking quantum.c (#8282) commit 1ec8a7205f1719496e043776edcc972125fc57e3 Author: QMK Bot Date: Sun Mar 1 13:54:25 2020 +0000 format code according to conventions [skip ci] commit ce604e1629cf9efd2d7751ff60e927ad0a09b35a Author: Ryan Date: Mon Mar 2 00:22:21 2020 +1100 Remove duplicate BRTG case (#8277) commit c9e3fa6f702d7b814c408f1476e43ce6cdd8f7d8 Author: Ryan Date: Sun Mar 1 17:56:50 2020 +1100 Clean up includes for glcdfont headers (#7745) * Clean up includes for glcdfont headers * Remove pragma once, most of these are not headers * Missed these commit f513a9193cdde47d1da7f647088beec8f280e4f3 Author: James Young Date: Sat Feb 29 20:46:48 2020 -0800 Fix the Breaking Changes doc again WHAT YEAR IS IT?! commit 21715210e2ac052633b3625861997ee609abd163 Author: s-show Date: Sun Mar 1 13:22:15 2020 +0900 [Docs] translated 'feature_tap_dance.md' to japanese. (#8137) * complete translation. * Update docs/ja/feature_tap_dance.md Update the file based on the suggestions. * Update docs/ja/feature_tap_dance.md Update the file based on the suggestions. * Apply suggestions from code review Update the file based on the suggestions. * Apply suggestions from code review Update the file based on the suggestions (Part 2). * Apply suggestions from code review Update the file based on the suggestions (Part 3). * Apply suggestions from code review Update the file based on the suggestions (Part 3). * Apply suggestions from code review Update the file based on the suggestions (Part 4). * Apply suggestions from code review Update the file based on the suggestions (Part 5). ご提案いただいた修正案は全て確認できました。 続いて、コメント行の調整、「打つ・叩く」の変更、その他の修正を行います。 * fixed typo. * Update the file based on the suggestions (Part 6). * Update the file based on the suggestions (Part 7). * Fixed sentence. * Update docs/ja/feature_tap_dance.md Update the file based on the suggestions (Part 8). * Update the file based on the suggestions (Part 9). Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-Authored-By: shela commit f74c769a19662147ead15dcd14777afe5e53c167 Author: Joel Challis Date: Sun Mar 1 02:05:56 2020 +0000 PWM DMA based RGB Underglow for STM32 (#7928) * Add pwm ws2812 driver * Add docs for pwm ws2812 driver * Update ws2812_pwm for ChibiOS 19 Co-Authored-By: Nick Brassel Co-authored-by: Nick Brassel commit bb472364909aa8ad0ff8efb76a428df2960e1a7c Author: holtenc Date: Sat Feb 29 19:42:50 2020 -0600 Add VIA support to Prime_M. Clean up all files (#8247) * Add VIA support for Prime_L * Update keyboards/primekb/prime_l/v1/config.h * Add prime_exl_plus keyboard * Temporary removal of prime_exl_plus * Add Prime_EXL Plus, including VIA support * Update keyboards/handwired/prime_exl_plus/readme.md * Update keyboards/handwired/prime_exl_plus/readme.md * Update keyboards/handwired/prime_exl_plus/readme.md * Update keyboards/handwired/prime_exl_plus/rules.mk * Update keyboards/handwired/prime_exl_plus/info.json * Update keyboards/handwired/prime_exl_plus/info.json * Update keyboards/handwired/prime_exl_plus/info.json * Update keymap.c * correct spacing of keymaps and layout macro. move indicator logic from user space to keyboard space * further corrections to keymaps and layout macro. * Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c * Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c * Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c * Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c * Update prime_exl_plus.c * small edit to prime_exl_plus.c * Add via support to Prime_M and clean things up * Update rules.mk * Update keyboards/primekb/prime_m/readme.md * Update keyboards/primekb/prime_m/readme.md * Update keyboards/primekb/prime_m/config.h commit f5d1409c26582a2751e36f5fd93c4c19c67b9201 Author: Nick Brassel Date: Sun Mar 1 11:51:38 2020 +1100 Track master branches for lib/chibios, lib/chibios-contrib, lib/ugfx. (#8273) commit d0c3acbe3e58c1ad8bc74a8a53522cbe523eea53 Author: Nick Brassel Date: Sun Mar 1 11:50:49 2020 +1100 Allow for ChibiOS 20.x (master), as well as enabling ChibiOS-Contrib HAL. (#8272) commit c775104b9f60d738fd69166da33972d60034c639 Author: Joel Challis Date: Sun Mar 1 00:49:16 2020 +0000 Use nano specs (#8270) commit 8d9c800da0cfcf109f264b695123b55282bc52df Author: Joel Challis Date: Sat Feb 29 22:45:21 2020 +0000 Unconditionally enable ChibiOS syscalls (#8268) * Enable syscalls all the time * fix whitespace commit cae91510dc488bf81d8497252d58014353093872 Author: James Young Date: Sat Feb 29 12:30:38 2020 -0800 Breaking Changes documentation fixes commit 26eef35f07698d23aafae90e1c230b52e100a334 Author: James Young Date: Sat Feb 29 12:00:00 2020 -0800 2020 February 29 Breaking Changes Update (#8064) commit 85041ff05bf0e5f4ff4535caf6e638491a5614c8 Author: James Young Date: Thu Feb 27 12:03:30 2020 -0800 Update Breaking Changes checklist commit 7eab5ad60fa95502273ed2b3bb75008fb90b44b6 Author: James Young Date: Thu Feb 27 11:17:23 2020 -0800 Update Breaking Changes timeline I've been working from one timeline while the docs said something different. commit ae46e6ace94656ffa3ce12f74022ea62c8786817 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Feb 27 01:40:31 2020 -0800 Fix MCU rule for Wete (#8254) Including the `xB` suffix prevents qmk_compiler (and thus QMK Configurator) from compiling firmware for the Wete. Rolling this change back until we work out a long-term solution for the suffixes. commit 444fd3b1cc07d7f68aa37cbc9e38f2e4ed4d3ea7 Author: Nick Brassel Date: Thu Feb 27 20:38:19 2020 +1100 Add support for delays in send_string. (#8244) commit e18be6910493c132fa84be1f21a579fa9b9e12a9 Author: Brandon Schlack Date: Wed Feb 26 18:19:34 2020 -0800 Add community layout support to KBD67 MKIIRGB v2 (#8249) commit 4667bc554e8af8f5b1fe0f1931209f936812e44f Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Wed Feb 26 10:12:13 2020 +0100 Fixed OS detection such that OSX doesn't take over the world (#8248) commit d52cd8886c2b3d201c8cdb0bf1a45ba98e4d9cf0 Author: holtenc Date: Tue Feb 25 15:21:59 2020 -0600 [Keyboard] Add Prime_EXL Plus to handwired (#8238) * Add VIA support for Prime_L * Update keyboards/primekb/prime_l/v1/config.h * Add prime_exl_plus keyboard * Temporary removal of prime_exl_plus * Add Prime_EXL Plus, including VIA support * Update keyboards/handwired/prime_exl_plus/readme.md * Update keyboards/handwired/prime_exl_plus/readme.md * Update keyboards/handwired/prime_exl_plus/readme.md * Update keyboards/handwired/prime_exl_plus/rules.mk * Update keyboards/handwired/prime_exl_plus/info.json * Update keyboards/handwired/prime_exl_plus/info.json * Update keyboards/handwired/prime_exl_plus/info.json * Update keymap.c * correct spacing of keymaps and layout macro. move indicator logic from user space to keyboard space * further corrections to keymaps and layout macro. * Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c * Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c * Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c * Update keyboards/handwired/prime_exl_plus/prime_exl_plus.c * Update prime_exl_plus.c * small edit to prime_exl_plus.c commit 61b71320f79a663880bd70402d306722c1bbfe3e Author: QMK Bot Date: Tue Feb 25 18:57:18 2020 +0000 format code according to conventions [skip ci] commit b949343b783da729b1dfebd38507cc56a8cd12e3 Author: ridingqwerty Date: Tue Feb 25 13:25:52 2020 -0500 New feature: PERMISSIVE_HOLD_PER_KEY (#7994) * Implement 'PERMISSIVE_HOLD_PER_KEY' * Document 'PERMISSIVE_HOLD_PER_KEY' Co-authored-by: GeorgeKoenig <35542036+GeorgeKoenig@users.noreply.github.com> commit f6111d49bbfeb90fdb86c4595ba339590b364da7 Author: Joel Challis Date: Tue Feb 25 14:10:04 2020 +0000 Split - Avoid race condition during matrix_init_quantum (#8235) * Avoid race condition during matrix_init_quantum * spelling is hard commit 891d28a37954ada620fab3727499fe2e9ee3fe65 Author: Joel Challis Date: Tue Feb 25 11:28:07 2020 +0000 Acheron VIA support (#8204) * Update acheron USB IDs * Add shark via keymap * Update austin via keymap * Fix eeprom build error * 3 layers fit commit bb8d4b4d23ee04f6034f8880b8a9f93fa4673c38 Author: Ryan Date: Tue Feb 25 12:54:51 2020 +1100 `send_unicode_string()`: Add support for code points > 0xFFFF (#8236) commit 93c5307fd60c35780921570ccf41a1806847eb9c Author: Ramon Imbao Date: Tue Feb 25 09:36:30 2020 +0800 [Keyboard] Add Wete (#8229) * [Keyboard] Add Wete * Fix width and height in Wete info.json * Use default board files, core backlight, and disable RTC * Disable I2C, SPI. Minor corrections * Keymap typo update * Add LAYOUT_all to info.json * Remove extra spaces in README, delete matrix_*_kb functions * Fix layout errors in wete.h, and some minor corrections * Actually fix LAYOUT_all in info.json commit 088b64ab3d598574244db5ac67fec889bdc58119 Author: Ryan Date: Tue Feb 25 12:18:11 2020 +1100 Improvements to extrakey HID descriptors (#8156) commit ef8878fba5d3786e3f9c66436da63a560cd36ac9 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Mon Feb 24 12:04:40 2020 -0800 Hineybush h87a lock indicators (#8237) * move lighting code from VIA into the keyboard's .c file so that every keymap can access it * after some serious conversations with default and wkl, they agreed to let me modify their keymaps. They weren't too happy commit f673c965ba79f5354c1634466ef2167304ce9f35 Author: holtenc Date: Mon Feb 24 08:19:27 2020 -0600 Add VIA support for Prime_L (#8233) * Add VIA support for Prime_L * Update keyboards/primekb/prime_l/v1/config.h Co-Authored-By: Drashna Jaelre * Add prime_exl_plus keyboard * Temporary removal of prime_exl_plus Co-authored-by: Drashna Jaelre commit a2c0c1479cbe527cfa223b4957d230bf1e8a431f Author: Josh Johnson Date: Tue Feb 25 01:14:09 2020 +1100 Hub16 - Bug removal + clean up code (#8227) * bugfixes + cleaned up code * typo * Update keyboards/hub16/keymaps/no_mod/keymap.c Co-Authored-By: Ryan Co-authored-by: Ryan commit 20e1c8c571ba1d197421ff14555bf2ab873a080f Author: ai03 Date: Sun Feb 23 21:18:14 2020 -0800 [Keyboard] ai03 Equinox (#8224) Re-attempt to add Equinox with newer Via changes * Add nox * Tweak based on previous pullrequests * Add necessary descriptions * Modernize Via config * Modernize old files with massive blocks of unneeded options * Fix missing bootmagic * Update keyboards/ai03/equinox/equinox.h * Update keyboards/ai03/equinox/keymaps/default/keymap.c * Update keyboards/ai03/equinox/keymaps/via/keymap.c * Update keyboards/ai03/equinox/keymaps/via/readme.md * Update keyboards/ai03/equinox/readme.md * Update keyboards/ai03/equinox/readme.md * Update keyboards/ai03/equinox/readme.md * Update keyboards/ai03/equinox/info.json * Update keyboards/ai03/equinox/keymaps/default/keymap.c * Update keyboards/ai03/equinox/keymaps/default/keymap.c * Update keyboards/ai03/equinox/keymaps/proto_via/keymap.c * Update keyboards/ai03/equinox/keymaps/proto_via/keymap.c * Update keyboards/ai03/equinox/keymaps/proto_via/keymap.c * Update keyboards/ai03/equinox/keymaps/proto_via/keymap.c * Update keyboards/ai03/equinox/keymaps/via/keymap.c * Update keyboards/ai03/equinox/keymaps/via/keymap.c * Update keyboards/ai03/equinox/keymaps/via/keymap.c * Fix indents * Update keyboards/ai03/equinox/keymaps/proto_via/rules.mk * Update keyboards/ai03/equinox/rules.mk commit 40f7981395f4225c48084c005af981bda2f94d50 Author: carlxia Date: Mon Feb 24 11:04:26 2020 +0800 [Keyboard] Add zfrontier/big_switch (#8205) * add zfrontier/big_switch * Update keyboards/zfrontier/big_switch/config.h Co-Authored-By: Ryan * Update keyboards/zfrontier/big_switch/config.h Co-Authored-By: Ryan * Update keyboards/zfrontier/big_switch/keymaps/longtap/keymap.c Co-Authored-By: Ryan * add overriding keymap makefile * Update keyboards/zfrontier/big_switch/keymaps/longtap/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/zfrontier/big_switch/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * remove redundant defines * taplong no longer needed Co-authored-by: Ryan Co-authored-by: Drashna Jaelre commit 156c9c4ec008373f8afa44d76316f554579d079c Author: yiancar Date: Mon Feb 24 00:25:18 2020 +0000 Gingham Update (#8225) commit 371ff9dd6f9c4feada34622d9a43480495b07e50 Author: Ryan Date: Mon Feb 24 10:27:25 2020 +1100 A proper `send_string()` for the Unicode feature (#8155) commit 716c29881c0f91e3998e1fc5c49740bd6e65876f Author: Nick Brassel Date: Mon Feb 24 10:08:00 2020 +1100 Rollback PR #7967 in preference of fixing I2C start/stop properly, in a followup PR. (#8173) commit f76f9c7d2abd1901be45431c5b2ea435c8c472b2 Author: Joel Challis Date: Sun Feb 23 22:03:01 2020 +0000 Add mouse support to SEND_STRING (#8223) * Add mouse support to SEND_STRING * add short forms commit 530c9976382a321d65c0339e0465932bd28f8cb9 Author: Jez Cope Date: Sun Feb 23 20:50:11 2020 +0000 Add link to "Useful functions" in macro docs (#7446) * Add link to "Useful functions" in macro docs Help people find additional features they can activate within a macro * Update docs/feature_macros.md Co-Authored-By: Drashna Jaelre Co-authored-by: skullydazed Co-authored-by: Drashna Jaelre commit b353028ea5e0ac7b69e7fed4f224c7cb07015ec9 Author: Akaash Suresh Date: Sat Feb 22 22:57:19 2020 -0600 New functionality for cformat (#7893) Fixing complexity remove lambda PR review fixes #1 Removing unneccesary string substitution Handle -a and specified files Complexity rewrite, use pathlib commit eb9c2429c69cf034fb3938f0533d15457a2d7820 Author: yiancar Date: Sat Feb 22 15:10:41 2020 +0000 Update main.c (#8198) commit 1327208449826c76be02ba5475ac26177dd24c45 Author: QMK Bot Date: Sat Feb 22 03:41:27 2020 +0000 format code according to conventions [skip ci] commit d99404388f03f32aaffdf71794c6ebb9f3c92a8d Author: Nick Winans Date: Fri Feb 21 21:11:25 2020 -0600 Fix QWIIC OLED for AVR (#7769) * Fix QWIIC OLED for AVR * Change missed width * width to width * height * Fix typo in comment Co-Authored-By: fauxpark * Fix last incorrect uses of LCDWIDTH Co-authored-by: Ryan commit 3157f5f4361fc9b88398da675d2c7feec11957bd Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Fri Feb 21 10:21:02 2020 -0800 VIA Support: KBD75 rev1/rev2 (#8214) * add a VIA keymap for kbd75 * rev2 is a completely different pcb allowing a NEW layout, setting this to have a different product id so users don't get confused when they're able to enable numpad layout on rev1 VIA * Update keyboards/kbdfans/kbd75/rev1/config.h Co-Authored-By: Joel Challis * Update keyboards/kbdfans/kbd75/rev2/config.h Co-Authored-By: Joel Challis Co-authored-by: Joel Challis commit 8d11359886d70a7a75c041ac2d9d3ec88a16b7ee Author: Andrew Kannan Date: Fri Feb 21 12:22:58 2020 -0500 Update TMOv2 for new key (#7759) * Update TMOv2 for new keymap * Update based on PR changes commit a4af41cb13a76d406ac0be8efbfef695539e33b4 Author: Elisiano Petrini Date: Fri Feb 21 11:16:39 2020 -0500 Added custom keymap for preonic (#7548) * Added custom keymap * Update keyboards/preonic/keymaps/elisiano/keymap.c Co-Authored-By: fauxpark * Address PR comments and added CTL_T(KC_ESC) on other layouts as well Co-authored-by: Ryan commit 032fbf3f24ce0d537fbb71e584cdb79780dfb10b Author: Ryan Date: Sat Feb 22 00:40:28 2020 +1100 Add Danish keymap and sendstring LUT (#8218) commit a7d859dab86ee0d741559da68eee14949116fe16 Author: QMK Bot Date: Fri Feb 21 11:04:05 2020 +0000 format code according to conventions [skip ci] commit 1751c3cc25ecc1734976d9790598d64133ee306d Author: Drashna Jaelre Date: Fri Feb 21 02:32:30 2020 -0800 uart.c fix from TMK (#7628) * uart.c fix from TMK Backport from tmk/tmk_keyboard@c41e48a0ab0712d2667feb6b5dd8a4d5491cfcc5 * Avoid deadlock when uart.c is usind in ISR Backport from tmk/tmk_keyboard@55443fabb731459e21b45781c6d951edac5d75f4 commit 67ee050a0e80359b5b58ea1767adfb96b5bdace5 Author: Andrew Kannan Date: Fri Feb 21 05:25:17 2020 -0500 S75 Encoder Fixes (#7758) * S75 Encoder Fixes * Flip encoder pins vs using setting commit 562482c234d464df6bedfaf9eb91ddc516e77ea3 Author: Ryan Date: Fri Feb 21 18:21:38 2020 +1100 Add Turkish keymap aliases and sendstring LUT (#7676) * Add Turkish keymap aliases and sendstring LUT * Split into F and Q layouts commit 66d7fc34b2214282fd822f66abca0905ec5a1ffe Author: Ryan Date: Fri Feb 21 17:12:15 2020 +1100 Add Arm Teensys to mcu_selection.mk (#8026) * Add Arm Teensys to mcu_selection.mk * Roll back halfkeyboard keymap changes * Remove extra newline commit 81423cc8178e760a641655ec8d82ebf78c41c9ef Author: swanmatch Date: Fri Feb 21 14:59:36 2020 +0900 [New keyboard]silverbullet44 (#7950) * make silverbullet44 * comment edit * venderID * Fix parentheses in macros, and in general clean up quantum.h (#5021) * Fix up GPIO macros * Fix up send string macros `string` arguments must not be parenthesized * Fix up miscellaneous macros * Make indentation uniform (4 spaces) * Make #ifdef vs #if defined usage consistent * Reorder standard includes * Revert indentation changes as per review comments * Revert #if defined(__AVR__) → #ifdef __AVR__ change * Change 2 space indent to 4 spaces on a couple of lines * Replace include guard with #pragma once * alt+tab * copy from master:silverbullet44 * adjust for pull request * clang-format * create info.json * Delete new_project.sh * Update keyboards/silverbullet44/keymaps/default/config.h Co-Authored-By: Max Rumpf * Update keyboards/silverbullet44/silverbullet44.c Co-Authored-By: Max Rumpf * Update keyboards/silverbullet44/silverbullet44.h Co-Authored-By: Max Rumpf * Apply suggestions from Maxr1998 * format default keymap * Apply suggestions from Maxr1998 (#2) * Apply suggestions from fauxpark * fix readme.md * Apply suggestion from Maxr1998. (custom_keycode to MO(_ADJUST)) * I became a tricky! Hahaha!! * Add original keymap made by FKML * deleated at config.h * Changed Copyright * Delete // Defines the keycodes used by our macros in process_record_user //enum custom_keycodes { // QMKBEST = SAFE_RANGE, // QMKURL //}; * Delete bool alt_pressed = false; * Delete ADJUST * Delete / * Delete void matrix_scan_user(void) { } void led_set_user(uint8_t usb_led) { } * Change Copyright's year. * Delete adjust * Delete adjust * Delete adjust * 列挙型に変更 * Enclose keymap with ```. * Delete #define _______ KC_TRNS #define XXXXXXX KC_NO * Fix indentation. * Delete some rows. * Aligned columns of ''readme.md''. * I got god's keymap...hahaha:) * Update keyboards/silverbullet44/readme.md Co-Authored-By: fauxpark * Update keyboards/silverbullet44/rules.mk Co-Authored-By: fauxpark Co-authored-by: Konstantin Đorđević Co-authored-by: Max Rumpf Co-authored-by: Ryan commit 7707724dc4864cb4ede738ee9e2c3568df99ced2 Author: Joel Challis Date: Fri Feb 21 03:49:33 2020 +0000 Allow 30us matrix delay to be keyboard/user overridable (#8216) * Allow 30us matrix delay to be configurable via define * Move wait logic to matrix_common * Move wait logic to matrix_common - fix wait includes commit 42d6270f28831e95d1cb9c14a7423d5b1d864d67 Author: holtenc Date: Wed Feb 19 13:12:11 2020 -0600 Merge /prime_l and /prime_l_v2 (#8194) * correct indicator light states. function of indicator lights was inverted. these changes correct that. * flesh out keymaps pre production * Enable extrakey in rules * Prime_BLE initial commit * Initial commit for Prime_L V2 * Update info.json correct key spacing. * update copyright * Update readme.md * Inital commit * updates before PR into QMK master * Drop Prime_EXL Plus from PR. Make requested changes to Prime_L V2 * Rename keyboards/primekb/Prime_l_v2/config.h to keyboards/primekb/prime_l_v2/config.h * Rename keyboards/primekb/prime_l_v2/config.h to keyboards/primekb/Prime_l_v2/config.h * remove directory Prime_l_v2 * re-submit with proper folder name. * Restructure /primekb directory to merge /prime_l and /prime_l_v2 * made changes requested by QMK reviewers * Update keyboards/primekb/prime_l/v1/readme.md * Update keyboards/primekb/prime_l/v1/readme.md * Update keyboards/primekb/prime_l/v1/readme.md commit 19c91414739191158fa0ecdb29f06a99e49f55dc Author: buzzlighter1 Date: Wed Feb 19 22:08:21 2020 +0300 [Keymap] Keymap for XD75 with 7U spacebar EN-RU gamers (#8184) * Create readme.md * Create keymap.c * Create config.h * Create rules.mk * Create layers.json * Update keyboards/xd75/keymaps/buzzlighter1/keymap.c * Update keyboards/xd75/keymaps/buzzlighter1/keymap.c * Delete layers.json commit c4dce3b5a7528594d02339887c85c19ba14e93e9 Author: asymy Date: Wed Feb 19 13:50:25 2020 +0000 Add VIA support for kbd8x mk2 (#8168) * added via keymap for kbd8x mkii * adding via to kbd8x mk2 * modified via kbd8x mk2 keymap * enable LTO kbd8x mk2 via keymap Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * removed backticks kbd8x mk2 via keymap Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 443bd9804110e0babc361f1014cd25e64cbb40c6 Author: Jonathan Rascher Date: Wed Feb 19 07:45:13 2020 -0600 Move Grave/Tilde and some lesser used keys on my ergo boards (#8200) * Move Grave/Tilde keys to more convenient places * Move Ins/Del and some other keys around * Update KLE images commit 419002a63b1824e6da61d802bcb6f6ab5b35def6 Author: Blake C. Lewis Date: Wed Feb 19 03:12:52 2020 -0600 [Keyboard] KC60SE cleanup (#8171) * coding style cleanup, enable/disable misconfigured/broken features * add SCLN missing, compile with backlight PWM warning * edit json * new info.json from KLE * new info.json from KLE using QMK converter * changes notes * notes in pull request * missing line in comments * line wrap * Update keyboards/kc60se/config.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/keymaps/default/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/kc60se.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * comment back in rules.mk * add 2 iso layouts and keymaps, 1 ansi kemap, compiled and tested * keymaps and info * Delete keymap.c not ready, I need to get a few iso characters corrected * Delete keymap.c not ready, need to get a few iso character define correctly * Update info.json Bspc to Backspace * no unicode * gui_on and gui_off in readme * Update keyboards/kc60se/rules.mk Co-Authored-By: fauxpark * remove is_command * Update keyboards/kc60se/config.h remove comment Co-Authored-By: fauxpark * Update keyboards/kc60se/config.h Co-Authored-By: fauxpark * Update keyboards/kc60se/readme.md Co-Authored-By: fauxpark * remove \\ in keymaps * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/kc60se.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/kc60se.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/kc60se.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/kc60se.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kc60se/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * set led pin b2 to output mode in matrix_init_kb(), toggle it in led_update_kb() * Update config.h I had commented FORCE_NKRO out.. WHy did it com back? Co-authored-by: Check your git settings! Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan commit 1566f0a9978b7799741d9499228d525aa5019258 Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Tue Feb 18 21:05:20 2020 +0100 Made windows driver installation accept y as All to allow CI (#8189) * Made windows driver installation accept y as all to allow CI * Fix some formatting * Made None default commit 8225b172b984b18510e856c81f75ec137e0abc19 Author: gtips <51393966+gtips@users.noreply.github.com> Date: Tue Feb 18 13:34:23 2020 +0900 Change the image photo of /keyboards/reviung41/readme.md (#8195) * Update readme.md Change the image photo of readme.md. commit 0f500eb336690f5052cb76a7ee77c2c18c20a779 Author: Jumail Mundekkat Date: Tue Feb 18 14:05:22 2020 +1100 MxSS RGB Handler Touchup (#8105) * Minor fix to improve front LED brightness config * Updated rgblight.c commit 675ac4ac4a8e9d4a53eb947628a034bc78fcc553 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Feb 17 18:04:43 2020 -0800 Centromere Configurator layout support and readme update (#8190) * Add Configurator layout data * update readme commit 79d5903b6c5fff57712f02bc6fee888fcde414ce Author: Wilba Date: Tue Feb 18 12:54:13 2020 +1100 dynamic keymap sanity check (#8181) commit a2081171de25099b0e6be6faa08954ceff2a953b Author: Joel Challis Date: Tue Feb 18 00:54:15 2020 +0000 [keyboard] Austin (#8176) * Add austin keyboard * Update to use spi ws2812 driver * remove rgb commit c66930445f7d5941eb847568288046d51f853786 Author: skullydazed Date: Mon Feb 17 11:42:11 2020 -0800 Use pathlib everywhere we can (#7872) * Use pathlib everywhere we can * Update lib/python/qmk/path.py Co-Authored-By: Erovia * Update lib/python/qmk/path.py Co-Authored-By: Erovia * Improvements based on @erovia's feedback * rework qmk compile and qmk flash to use pathlib * style * Remove the subcommand_name argument from find_keyboard_keymap() Co-authored-by: Erovia commit 58724f8dcb9eccb1c132b8ddab422790ddd26be0 Author: shela Date: Tue Feb 18 04:10:16 2020 +0900 [Docs] Update Japanese translation of cli.md (#8188) commit e7e38fe80e78e0f68de50b06bb05d0a66322afae Author: Mike Tsao Date: Mon Feb 17 11:08:13 2020 -0800 Conform Gherkin defaults to original TMK keymap (#8186) * Conform defaults to original TMK keymap * fix swapped PGUP/PGDN (thanks noroadsleft) * Another typo commit 0d3f0889c58e10f6c1e56d958e9ad85ea82d5a08 Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Mon Feb 17 12:18:49 2020 +0100 Fix os detection in OSX python 3.8 (#8187) * Fix os detection in osx python 3.8 * oops commit 79e6b7866988f3cfc1c5b6746e5f400b50704ce8 Author: Jonas Avellana <14019120+ninjonas@users.noreply.github.com> Date: Mon Feb 17 02:30:03 2020 -0700 [Keymap] ninjonas keymap updates (#8170) * [keymap] ninjonas keymap updates * [refactor(kyria)] updating keymap for numpad layer to be transparent rather than ignores * [keymap(lily58)] added numpad layer * [keymap(crkbd)] added numpad layer activated through tapdance * [fix(8170)] fixing code review changes requested by noroadsleft * [fix(8170)] updating comments and .md files to use 'Cmd' instead of  and ⌘ commit 5e79da9f321a7b50fc82201ad51b1f1bfa0e0114 Author: shela Date: Mon Feb 17 18:03:49 2020 +0900 [Docs] Update Japanese translation (#8129) * Update Japanese translation * Update Japanese translation Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit bbe8180ad904cd432b6f97e9662231fa0548ad0e Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Mon Feb 17 17:50:26 2020 +0900 [Docs] add japanese translation (detail guide part) (#7722) * add detail-guide part * some updates for easy reading * some updates for easy reading * some updates for easy reading * some updates for easy reading * some updates for easy reading * some updates for easy reading * some updates for easy reading * some updates for easy reading * update file based on comment * update file based on comment * update file based on comment * update git command in header * update files based on comments, and update git command in header * update file based on comment * update file based on comment * update file based on comment * update file based on comment * update file based on comment * update file based on comment * update file based on comment * update file based on comment Co-Authored-By: shela Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit eabdef3b4d304e668fcd9711c0e661a64cc96ba6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Feb 16 12:14:19 2020 -0800 [Keyboard] Add Panc40 by Panc Interactive (#8175) * Add Panc40 by Panc Interactive * Fix LAYOUT_sebright macro commit e279b0a1a243638f811184284013288921e1a123 Author: fauxpark Date: Mon Feb 17 06:45:42 2020 +1100 Clean up some remaining rules.mk bootloader stuff (#8165) commit de462761c996eb83a447fb9f668cd254d4284849 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Feb 16 11:42:03 2020 -0800 [Keyboard] VIA Support: DZ60RGB ANSI V1/V2 (#8159) * add dz60 via support * use the correct DZ vendor id dervied from dz60 * differentiate product ID of v2 board commit 17ff5512757e05cd3b4e27066c24ac697fa8da9c Author: Joel Challis Date: Sun Feb 16 19:37:21 2020 +0000 Convert f072 backlight build error to message (#8177) commit e208cb46ae4f0c276e1c85a83fcf50e141ae60d1 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Feb 16 11:29:36 2020 -0800 [Keyboard] Correct Chidori Configurator layout data (#8180) commit 89c3355fd8bbdc97f3b5fb67c54661de1e7f2307 Author: spe2 Date: Sat Feb 15 22:05:20 2020 -0700 [Keyboard] Add configs for Centromere keyboard (#7467) * Create readme.md * Add files for Centromere * Add keymap files for Centromere * Add default keymap for Centromere * Create keymap directory * Add keymap files * keymap directory cleanup * Keyboard keymap directory cleanup * Update keyboards/centromere/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/centromere/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/centromere/config.h Co-Authored-By: Drashna Jaelre * Update keymap.c * Update keymap.c * Update centromere.c Changed LED control to GPIO functions * Update centromere.h * Update rules.mk * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/keymaps/default_u2/keymap.c Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.h Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.h Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.h Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.c Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.h Co-Authored-By: fauxpark * Update keyboards/centromere/centromere.h Co-Authored-By: fauxpark * Update keyboards/centromere/rules.mk Co-Authored-By: fauxpark * Apply suggestions from code review Co-Authored-By: fauxpark Co-authored-by: Drashna Jaelre Co-authored-by: fauxpark commit 58101cbb73a16678280d8a0cea275d680b603e58 Author: skullY Date: Sat Feb 15 15:05:59 2020 -0800 fix list_keymaps for python 3.5 commit 512261b3437820294dc2915dcb837bb488d53253 Author: Erovia Date: Sat Jan 25 22:30:57 2020 +0100 Pathlib-ify qmk.keymap.list_keymaps() commit 3db41817e0aa72e1406e29a4fb5f82db0c2a6cf1 Author: Erovia Date: Sun Jan 12 12:36:41 2020 +0100 Code cleanup, use pathlib, use pytest keyboard Clean up checks and logics that are unnecessary due to MILC updates. Use pathlib instead of os.path for readability. Use the 'pytest' keyboard for the tests. Add community layout for 'handwired/onekey/pytest' so we can test community layouts. commit 8eeab1112aa1ca7336f88867a9a2ab680ae94b53 Author: Erovia Date: Tue Jan 7 21:54:21 2020 +0100 Fix commandline parsing and flake8 findings, rebase Fixed commandline and config parsing. Thx @xplusplus. Rebased on master and fixed merge conflicts. commit 988bfffca2715df3f227c462533d350ecbeac6c0 Author: Erovia Date: Mon Oct 28 09:23:06 2019 +0100 Major rework, no regex/globbing, more walking Instead of using regexes and globbing to find the rules.mk and keymap.c files, walk the directory tree to find them. Also, do away with the concept of revision. commit 8ff72d9517132fe82c6e2d1dc8fc56f7cab4b6a0 Author: Erovia Date: Sun Oct 27 19:38:17 2019 +0100 Fix merging community and base keymaps commit 4445e0a459ce891d6e51a252030f665fea355b41 Author: Erovia Date: Thu Oct 24 22:22:44 2019 +0200 Return only the unique keymaps commit 3ed1223678d3ec40f4cceecd320dd1112cdfb157 Author: Erovia Date: Thu Oct 24 20:33:58 2019 +0200 Drop bs4 dependency, update docs, minor improvements commit d257a98cb80a90f116072c882753039b10a5e042 Author: Erovia Date: Mon Oct 14 18:35:12 2019 +0200 Fix regex for parsing rules.mk files I don't know why it couldn't put it together before... ¯\_(ツ)_/¯ commit f8002828cac83272e5804bf705e20d07ac64e7a0 Author: Erovia Date: Sun Oct 13 19:16:19 2019 +0200 Add test for list_keymaps commit 26f53d38d932a21be9edfc3d55e585c21050c3a2 Author: Erovia Date: Sun Oct 13 19:07:22 2019 +0200 Another major refactoring, add documentation Move all useful functions to the qmk module and use the cli subcommand as a wrapper around it. Add both inline comments and documentation. commit f96085af3877a8c42d0767d13d47c239ce08ef0f Author: Erovia Date: Fri Oct 11 17:15:29 2019 +0200 Fix output format commit e46cc2db8c4668b05ed873f57a54785ed56e2415 Author: Erovia Date: Thu Oct 10 22:58:52 2019 +0200 Try to figure out revision, drop -rv/--revision argument commit c3b168e6fd8d414f95401dba471bdf6c12240d89 Author: Erovia Date: Thu Oct 10 18:54:12 2019 +0200 Fix help message. commit 62c1bcba71245e64be9a4813d749c0f04805fbcb Author: Erovia Date: Wed Oct 9 20:53:18 2019 +0200 Get all buildable keymaps for each revision The command now return all keymaps that's buildable for a keyboard/revision. If the base directory of a keyboard does not contain a 'rules.mk' file, nothing is returned. If the base directory contains a 'keymaps' directory, those keycaps will be returned for every revision. commit 057c7d0ffeae617ef8bf2e4ca083fed30e689f27 Author: Erovia Date: Wed Oct 9 10:14:53 2019 +0200 Major update to work better with revisions Find the community keymaps supported by each revision. commit 1d3271999aa19fbde65ae39f8685511b70b2844d Author: Erovia Date: Wed Oct 9 08:10:59 2019 +0200 Add bs4 to requirements.txt UnicodeDammit is needed from bs4 for reading files. commit 409c610543ffb62677d1162be868a2e44913a943 Author: Erovia Date: Tue Oct 8 21:50:21 2019 +0200 CLI: add support for list_keymaps List all the available keymaps for a given keyboard commit 348266bd5b6c6c79c292e3df9442a19d99873b5c Author: morbetter <60626808+morbetter@users.noreply.github.com> Date: Fri Feb 14 11:31:48 2020 -0800 Adding VIA support for 40percentclub/luddite (#8158) * Adding VIA support for 40percentclub/luddite * Update config.h * Update rules.mk * Delete config.h config.h was created to override the "default" of RGBLED_NUM 8 deleting the file to keep with defaults * Removing block and comment as suggested * Update PRODUCT_ID Changing from: #define PRODUCT_ID 0x0A0C To: #define PRODUCT_ID 0x4C55 // "LU" * Changing Vendor ID Changing Vendor ID from: #define VENDOR_ID 0xFEED To: #define VENDOR_ID 0x3430 // "40" commit eb1f99c5f971ce939d18e236ac85edaf0de00401 Author: Yan-Fa Li Date: Fri Feb 14 11:03:35 2020 -0800 [keymap] Update audio controls on community (#8163) * Update audio controls on community * Add rules for various boards * TKL support commit 4eed0331bf0876db0d557f86c7d4ef599ff0e6c4 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Feb 14 00:42:57 2020 -0800 Just60 Configurator layout support and thinxer keymap (#7761) * Just60 Configurator layout support * adds thinxer keymap, which is the default keymap with QMK DFU bootloader commit 66177aa5e04bd4fbde758907412ce2c902430367 Author: Brandon Schlack Date: Thu Feb 13 22:22:31 2020 -0800 Add community layout support to Mysterium (#8164) commit ac0947c9e8fc97797880cf96c983a718e6ada4a9 Author: fauxpark Date: Fri Feb 14 17:20:18 2020 +1100 Convert two handwired default keymaps to Dynamic Macro feature (#8166) commit 806cd392e70b81bbefdc06f111d2562ead4094ba Author: Morton Jonuschat Date: Thu Feb 13 19:30:32 2020 -0800 [osx_neo2] Bugfixes and improvements to Ergodox macOS Neo2 keymap (#8154) * Use TAPPING_TERM constant (and redefine value to 200ms) * change TAPPING_TOGGLE to 2 to require two taps to lock in layer 4 * add support for Shift-Command 3/4/5 key combinations that are used in macOS Catalina * avoid false positive tap detecion for RMOD3 when the whole sequence of pressing RMOD3, tapping another key and releasing RMOD3 took less than TAPPING_TERM milliseconds. * replace SEND_STRING with tap_code()/tap_code16(), saving ~860 bytes in compiled firmware size. commit 9241d11dc5f98a862fb58cb0c125d14451568e78 Author: Keelhauler <41901381+Keelhauler@users.noreply.github.com> Date: Thu Feb 13 14:35:53 2020 -0600 [Keymap] Add personal keymap (#7338) * Copy default config * Copy and edit Preonic keymap layers * Update README commit 31aadc8725d836f57a983e84ac2b2bc58ddf21d5 Author: QMK Bot Date: Thu Feb 13 20:09:39 2020 +0000 format code according to conventions [skip ci] commit 014ad1d747d1688dc12a690282deae00a8efb88c Author: Joel Challis Date: Thu Feb 13 19:39:22 2020 +0000 Fix RESET keycode on some STM32F072 keyboards (#8134) * Add f072 board files with 'enter_bootloader_mode_if_requested' support * rename default f072 board file to GENERIC_STM32_F072XB * Remove board files * Add bootloader def * Update generic f072 board paths * Revert wrong deletion commit 1a77abfe64f08a0b72f4f328418b4f4dc138ac8d Author: fauxpark Date: Fri Feb 14 06:36:21 2020 +1100 Define backlight pin for Quefrency Rev2 (#8141) commit 667b29b77c71cb0a0f8b4298900304c08b13e410 Author: Joel Challis Date: Wed Feb 12 10:54:05 2020 +0000 Align split_common/matrix.c with matrix.c (#8153) commit 7740470a94ef10de3cedbe57c38d9f06c06a618d Author: QMK Bot Date: Wed Feb 12 06:50:23 2020 +0000 format code according to conventions [skip ci] commit eaf32621aa0c067b2cab203e5e8e58c7c07a4ff4 Author: fauxpark Date: Wed Feb 12 17:19:39 2020 +1100 Align VUSB HID descriptors with LUFA/ChibiOS (#7675) * Align VUSB HID descriptors with LUFA/ChibiOS * Wrap send_system and send_consumer in ifdefs too * Offset system usages to match LUFA/ChibiOS commit f318d6fffcda102b9063effb5403598d4bbf1213 Author: Rys Sommefeldt Date: Wed Feb 12 04:33:29 2020 +0000 VIA support for the Think6.5 (#8118) * VIA support for Think6.5 * VIA support for Think6.5 Hotswap * VIA works better with separate layout options * Remove the colours used to help develop it in KLE * Pay better attention to the JSON linter * Update Think6.5 PRODUCT and remove VIA JSON defs commit 177666cbc8d6f9859773f8fc0232ba4b3a1f9a97 Author: Rys Sommefeldt Date: Wed Feb 12 04:33:05 2020 +0000 VIA support for Graystudio Space65 (#8126) * VIA support for Graystudio Space65 * Update Space65 PRODUCT and remove VIA JSON def commit 9456832a3bba4dd766a26a6286e78d3e88e4efce Author: Ted M Lin Date: Tue Feb 11 16:38:20 2020 -0500 Fix out of bound OLED font access (#8145) * Fix out of bound OLED font access The default font is 1344 bytes, or a total of 224 glyphs (each 6-bytes wide). OLED_FONT_END defaults to 224, which if used will then index off the end of the font array. So either the documentation or code is wrong. Instead of figuring out the rewording of the documentation, just change the OLED_FONT_END default value to 223, to match the documentation and code. * Add static assert to check array size Build bomb if the font array size doesn't match to the defines. commit 78e060f55adef8de358ba4bf7f5d5854a70dd421 Author: IFo Hancroft Date: Tue Feb 11 22:44:09 2020 +0200 VIA Support for the Idobo (ID75) (#8146) * VIA Support for the Idobo (ID75) * Implemented the requested PR changes * Readme was pointing to the wrong board * Fixed Product ID * Fixed Manufacturer name * Better Vendor ID Using the two 8-bit ASCII values from the keyboard name. * Removed Bootmagic Lite as enabled anyway by VIA commit c53d4ecf3250aacdd226e8cd7d45f7af9788873a Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Feb 11 10:07:06 2020 -0800 VIA Support: Duck Eagle V2 (#8133) * add via keymap * Update keyboards/duck/eagle_viper/v2/keymaps/via/keymap.c commit 6a165c41cb6e861efdcb737db966c4e4a0c72599 Author: ymzcdg <49898694+ymzcdg@users.noreply.github.com> Date: Wed Feb 12 02:05:23 2020 +0800 [Docs] doc update zh-cn (#8147) * update zh-cn translate Timestamp was added at the end of the document, it can help me manage version easier. * fix _summary.md to utf-8 * fix _summary.md with vscode commit 387c486e570cc94d6798a8f326dcfe7fdeb7891f Author: Jonathan Rascher Date: Tue Feb 11 11:47:16 2020 -0600 Rename Polaris Tsangan layout to 60_tsangan_hhkb and enable community layout support (#8144) * Rename Polaris Tsangan layout to 60_tsangan_hhkb commit a624c439a436c7cdcedbdbe50db4c26da117251f Author: a_p_u_r_o Date: Wed Feb 12 00:02:18 2020 +0900 [Keyboard] Fixed inconsistent MATRIX_ROWS and MATRIX_COLS: wsk/gothic50 (#8150) commit fba99715551e2f106f550dd49984cd38cd8c73f4 Author: Joel Challis Date: Tue Feb 11 14:59:58 2020 +0000 Align max backlight level in docs (#8142) commit 310b2f1be43a9faa8599f143b459ae43e55393a4 Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Tue Feb 11 10:37:15 2020 +0100 use replace() over rename() to have cross-platform overwriting (#8148) commit 1fed214490e00e83b958a239c7cb97e98eec763b Author: Jonathan Rascher Date: Mon Feb 10 21:11:09 2020 -0600 Tweak my TAPPING_TERM and be more futureproof (#8143) * Explicitly undef things I override in keymaps * Reduce TAPPING_TERM back to default commit f4c1e066ba4064bf2c20c9ced84fd11aa1c274ae Author: dnsnrk Date: Tue Feb 11 03:05:25 2020 +0100 [Keymap] User keymap for KBDfans KBD67 MKII RGB (hot-swap) (#7697) * initial custom keymap * initial code for caps lock LED * added debounce overrides * override caps lock handler * finished up on CAPS LOCK LED customization * lowered debounce * layer lightning fx * Added layer tap-toggle * reformatting * refined keymap * copyright and more clean-up * increased DEBOUNCE * initial custom keymap * initial code for caps lock LED * added debounce overrides * override caps lock handler * finished up on CAPS LOCK LED customization * lowered debounce * layer lightning fx * Added layer tap-toggle * reformatting * refined keymap * copyright and more clean-up * increased DEBOUNCE * added readme and some more clean-up * incorporated pull request feedback commit 4b7d46ced0ba6e97bc8100d91bd2466db947d7b3 Author: a_p_u_r_o Date: Tue Feb 11 10:22:37 2020 +0900 [Keyboard] Use DIRECT_PINS instead of empty MATRIX_ROW_PINS: sixshooter (#8130) * [Keyboard] Use DIRECT_PINS instead of empty MATRIX_ROW_PINS: sixshooter * [Keyboard] Reform the matrix into 2x3: sixshooter commit cabe4dfa72ce0ec24e7991e90977d27e97e5a95d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Feb 10 17:14:19 2020 -0800 [Keyboard] VIA Support for Boardwalk (#8124) * initial commit of VIA Support * update PRODUCT (and MANUFACTURER) per VIA docs Reference: https://caniusevia.com/docs/configuring_qmk#change-product Updated MANUFACTURER so it matches what the PRODUCT says. * enable Link Time Optimization per mechmerlin * revert change to USB Product Name * add two empty layers to via keymap VIA keymaps need four layers in flash. * correct the layer indexes Start from 0, not 1. commit 5279571e415ef5da07551655a500911551d20efc Author: Joel Challis Date: Mon Feb 10 20:58:55 2020 +0000 Remove zvecr dz60 keymap (#8140) commit 9398c11b5190372e11cfe20222a9c872710dd86c Author: Nick Brassel Date: Tue Feb 11 07:52:40 2020 +1100 Remove tzarc's Luddite keymap. (#8139) commit 89c528e443561731eb3cf4ed3d49002545421afe Author: Josh Johnson Date: Tue Feb 11 00:16:27 2020 +1100 [Keyboard] Add support for Hub16 (#7794) Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-Authored-By: fauxpark commit 8f333138f5cc76ecc7538100ce93af5e228f0eb0 Author: ai03 Date: Mon Feb 10 00:53:16 2020 -0800 [Keyboard] Add support for Polaris (#8123) * Drop in old files * Make a blank template keyboard to refresh ancient files to latest config * Update keymaps files to new format * Remove chunks of config asked for removal in previous pullreqs * Remove split pin option from config * Update rules.mk to latest version * Remove unused functions from polaris.c * Add via keymap * Build basic tsangan keymap; add QMK configurator info * Remove temporary template * Update keyboards/ai03/polaris/config.h * Update keyboards/ai03/polaris/readme.md * Update keyboards/ai03/polaris/readme.md * Update keyboards/ai03/polaris/readme.md * Update rules.mk * Fixes as per pullreq * Update keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c * Update keyboards/ai03/polaris/polaris.h * Update keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c * Update keyboards/ai03/polaris/info.json * Update keyboards/ai03/polaris/keymaps/testing/readme.md commit 35c4dbe688f2db07426990c5980e9c70b4ff5667 Author: madhogs <59648482+madhogs@users.noreply.github.com> Date: Mon Feb 10 07:53:12 2020 +0000 New iso layout and keymap for dz60 with 4th row all 1u (#7830) * Added new iso layout and keymap for dz60 with all 4th row keys 1u in size commit c3200aa8fcf86122736846017ca7b125ac225842 Author: Ted Lin <49993528+tedlinsonos@users.noreply.github.com> Date: Sun Feb 9 23:50:45 2020 -0500 Compile error if ONESHOT_TIMEOUT defined but oneshot disabled (#8100) * Compile error if ONESHOT_TIMEOUT defined but oneshot disabled When ONESHOT_TIMEOUT and NO_ACTION_ONESHOT are both defined, this code fails to compile. Wrap the one usage of ONESHOT_TIMEOUT that is inconsistent with the rest so all usages are properly wrapped by a check of NO_ACTION_ONESHOT. * Run file through clang-format Co-authored-by: Ted M Lin commit 6052aa499e6fa6f2601d71b18301a76218944463 Author: fauxpark Date: Mon Feb 10 04:19:08 2020 +1100 Use FIRMWARE_FORMAT for "Checking file size" message (#8121) commit 2fe288d01d1f15cd2bcfcf6f4282f728da6ea7be Author: nopunin10did Date: Sat Feb 8 22:54:10 2020 -0500 [Keymap] Adding ergodash/rev1:nopunin10did (#8098) * Adding ergodash/rev1:nopunin10did * Update keyboards/ergodash/rev1/keymaps/nopunin10did/keymap.c * Update keyboards/ergodash/rev1/keymaps/nopunin10did/keymap.c * Update keyboards/ergodash/rev1/keymaps/nopunin10did/readme.md commit b6e23f974bf92a2e2342ede43e98ecfd24a84f51 Author: Erovia Date: Sat Feb 8 23:58:28 2020 +0100 Update the flash cli command to use the user config (#8125) commit 174a15d07d7321e762e51584e985bb73fe01e99b Author: fauxpark Date: Thu Feb 6 11:30:45 2020 +1100 Remove PJRC USB stack commit 5ab0eeb513f50a14e51467bf76a19997b75d65fb Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Feb 8 10:25:50 2020 -0800 [Keyboard] Boardwalk Refactor (#8122) * refactor keymaps Create one keymap for each layout macro. * remove config.h for default keymap There's nothing in it. * update readme - use the new list format - use a smaller version of the keyboard photo (does the readme really need a 14MP image on it?) commit 75e7018f72a716ca2809e337d524966c7c4137a8 Author: Joel Challis Date: Sat Feb 8 12:43:55 2020 +0000 CI: Add workflow for CLI testing (#7357) Create GitHub Actions cli test workflow and remove travis runs of 'qmk pytest' commit 8fe29f2784b1c14a75694a908b8a5116d9517b97 Author: holtenc Date: Fri Feb 7 22:03:44 2020 -0600 Add Prime_L V2 and Prime_EXL Plus (#8111) * correct indicator light states. function of indicator lights was inverted. these changes correct that. * flesh out keymaps pre production * Enable extrakey in rules * Prime_BLE initial commit * Initial commit for Prime_L V2 * Update info.json correct key spacing. * update copyright * Update readme.md * Inital commit * updates before PR into QMK master * Drop Prime_EXL Plus from PR. Make requested changes to Prime_L V2 * Rename keyboards/primekb/Prime_l_v2/config.h to keyboards/primekb/prime_l_v2/config.h * Rename keyboards/primekb/prime_l_v2/config.h to keyboards/primekb/Prime_l_v2/config.h * remove directory Prime_l_v2 * re-submit with proper folder name. commit dd6f92541d0a860c23d0f465cb45631c5097a2d1 Author: worldspawn00 Date: Fri Feb 7 21:42:29 2020 -0600 [Keyboard] adding keyboard: neuron (#7980) * neuron * Update keyboards/walletburner/neuron/neuron.h Co-Authored-By: ridingqwerty * Update keyboards/walletburner/neuron/neuron.h Co-Authored-By: ridingqwerty * Update keyboards/walletburner/neuron/config.h Co-Authored-By: ridingqwerty * Update keyboards/walletburner/neuron/config.h Co-Authored-By: ridingqwerty * Update keyboards/walletburner/neuron/config.h Co-Authored-By: ridingqwerty * Update keyboards/walletburner/neuron/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/walletburner/neuron/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/walletburner/neuron/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/walletburner/neuron/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/walletburner/neuron/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/walletburner/neuron/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/walletburner/neuron/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/walletburner/neuron/readme.md Co-Authored-By: Drashna Jaelre * Committed review suggestions * Corrected bootloader to use atmel-dfu * One last tweak to correct MANUFACTURER Co-authored-by: ridingqwerty Co-authored-by: Drashna Jaelre commit 610cf729af9e4499702b88091a2f06ec0235d0b4 Author: worldspawn00 Date: Fri Feb 7 21:42:03 2020 -0600 [Keyboard] adding keyboard: pain27 (#7977) * pain27 * Applied review suggestions * Correct DEBOUNCE verbiage, remove .ini files * Readme tweaks Co-authored-by: ridingqwerty commit 96a4388c437cedb7143c83df22cbf31090899611 Author: worldspawn00 Date: Fri Feb 7 21:39:44 2020 -0600 [Keyboard] adding keyboard: sl40 (#7978) * sl40 * Amended with collaborator suggestions Co-authored-by: ridingqwerty commit a86a8a236aaf3e21f0bbfa36feb1b3acc19b9947 Author: worldspawn00 Date: Fri Feb 7 21:38:20 2020 -0600 [Keyboard] adding keyboard: houndstooth (#7981) * houndstooth * Amended with collaborator suggestions * LAYOUT fixup, left crud in keymap * Fix missing comma in keymap.c * Correct RGBLIGHT_ENABLE to no Co-authored-by: ridingqwerty commit f44a89ca77e63188d3e7102cd5b49352d07fa4c9 Author: worldspawn00 Date: Fri Feb 7 21:37:46 2020 -0600 [Keyboard] adding keyboard: kodachi50 (#7976) * kodachi50 * Amendeded with collaborator suggestions * Add a missing key to layer 2 top row Co-authored-by: ridingqwerty commit a1a88b8ac778b2b22be127eb2409ae7b338f7e7e Author: worldspawn00 Date: Fri Feb 7 21:34:37 2020 -0600 [Keyboard] adding keyboard: gothic70 (#7982) * gothic70 * Update keyboards/wsk/gothic70/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/wsk/gothic70/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/wsk/gothic70/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/wsk/gothic70/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/wsk/gothic70/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic70/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic70/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic70/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic70/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic70/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic70/config.h Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic70/keymaps/default/keymap.c Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Update keyboards/wsk/gothic70/keymaps/default/keymap.c Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Update keyboards/wsk/gothic70/keymaps/default/keymap.c Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Update keyboards/wsk/gothic70/keymaps/default/keymap.c Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Update keyboards/wsk/gothic70/keymaps/default/keymap.c Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Update keyboards/wsk/gothic70/keymaps/default/keymap.c Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Update keyboards/wsk/gothic70/config.h Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Update keyboards/wsk/gothic70/keymaps/default/keymap.c Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Update keyboards/wsk/gothic70/keymaps/default/keymap.c Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Update keyboards/wsk/gothic70/keymaps/default/keymap.c Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Committed review suggestions * Small indicator LED layer function tweak * Fixing layout for configurator Co-authored-by: Drashna Jaelre Co-authored-by: ridingqwerty Co-authored-by: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> commit df029f9660ff95b8d627b50af4dd539b31f02f26 Author: worldspawn00 Date: Fri Feb 7 21:32:14 2020 -0600 [Keyboard] adding keyboard: gothic50 (#7983) * gothic50 * Update keyboards/wsk/gothic50/config.h Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic50/config.h Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic50/config.h Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic50/config.h Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic50/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic50/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic50/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic50/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic50/rules.mk Co-Authored-By: ridingqwerty * Update keyboards/wsk/gothic50/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/wsk/gothic50/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/wsk/gothic50/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/wsk/gothic50/readme.md Co-Authored-By: Drashna Jaelre * Update keyboards/wsk/gothic50/rules.mk Co-Authored-By: ridingqwerty * Updated with collaborator suggestions * Fixing layout for configurator Co-authored-by: ridingqwerty Co-authored-by: Drashna Jaelre commit b62829031de1ae2e5e1efaa35606981c04c443c3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Feb 7 19:15:35 2020 -0800 [Keyboard] YMDK NP21: matrix and keymap refactor (#8112) * YMDK NP21: matrix and keymap refactor - refactored layout macros - LAYOUT_ortho_6x4 orients the keyboard with the USB port to the back instead of to the right - LAYOUT uses the previous sideways orientation (included for backwards compatibility) - removed redundant includes from ymdk_np21.h - added a readme for the default keymap * add Configurator layout support commit 43c0a9293e74bc0f20c8b4324ea532dff56d9c50 Author: Mehmet Denizhan Erdem Date: Sat Feb 8 06:07:05 2020 +0300 [Keymap] Added keymap for keebio/nyquist (#8108) * my custom keymap for nyquist rev3 * Formatted keymap and added readme commit 4962b743d2123bc0c00330b9e1a2ce687dad5414 Author: Joel Challis Date: Sat Feb 8 03:03:51 2020 +0000 [Keyboard] Port SPLIT_USB_DETECT to lily58 (#8107) * remove unused files * Port SPLIT_USB_DETECT to lily58 commit ea2fcb5b082df66778db869f74d50b1147eea7d7 Author: Max Rumpf Date: Sat Feb 8 03:54:41 2020 +0100 [Keymap] Phoebe/Maxr1998 keymap: enable space cadet with curly braces (#8096) * Phoebe/Maxr1998 keymap: enable space cadet with curly braces * Revert space cadet for left shift, open curly brace on right shift commit fd2ac4b4d59c6208bf9f851df19e387fd598c94b Author: Yasuhiro SHIMIZU Date: Sat Feb 8 11:53:54 2020 +0900 [Keymap] add lily58 yshrsmz keymap (#8095) * add lily58 yshrsmz keymap * apply requested changes * remove more backslashes * remove more backslashes * update rules.mk commit 7182e9a8ad5e5baa36be5c032c16923396838b3f Author: esinlayo Date: Fri Feb 7 18:52:02 2020 -0800 [Keyboard] Remove i2c write command when reading columns on Ergodox EZ (#8092) * Remove i2c write command when reading cols on Ergodox EZ * Comment on mcp23018 address state during read_cols commit 3b1f29a5d6d171c7c659eb0d76fff806a52ac1cf Author: fauxpark Date: Sat Feb 8 13:50:42 2020 +1100 [Keyboard] Misc tidyups for Chidori (#8091) commit 707c04b4ab588967c803114d7d88ef3fdd934967 Author: Alfred Maler Date: Fri Feb 7 21:42:04 2020 -0500 [Keymap] Add users/alfrdmalr and switch to layouts (#8030) * WIP do not merge * first pass at custom preonic layout * add auto shift and reset via leader key * Update readme * update copyright notice * formatting changes * fix: use MO instead of process_record_user * added backslash and moved grave position * remove extraneous 'j' characer in NUMPAD template * update template formatting * remove process_record_user * swap "!" with "@" * fix readme formatting * update readme layout image * restore settings layer * add windows minimize sequence * fix: switch to correct seq function for three-key sequence * fix: missing semicolon * refactor: move keymap to userspace and generic 5x12 layout * add numlock to numpad layer * add readme * update readme formatting * remove unused wrappers from layout keymap * update readme title to reflect new location * remove alfrdmalr directory from preonic/keymaps * clean up user config commit be05de6a3de19e5641692651ef03ae16f3bf653e Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Feb 7 18:16:44 2020 -0800 XD84: Configurator bugfix for ISO layout (#8117) * switch to debug linting * move ISO Enter to its proper location commit 889eb51fb576cd875ed0f9d199e512d0dfba9607 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Feb 7 18:09:55 2020 -0800 ZJ68: complete Configurator layout support (#8116) Only LAYOUT_all had its layout data present; the data for LAYOUT_65_ansi and LAYOUT_65_ansi_split_bs was missing. commit e77188458f136da3e25ce066e80b21d38f6e8cdc Author: Cody Bender <50554676+cfbender@users.noreply.github.com> Date: Fri Feb 7 13:48:37 2020 -0700 Add QMK Compile Context Sensitivity (#6884) * Add context sensitive compile, without config check * Initial full working state. Plan to refactor * Refactor loop for simplicity, add comments * Update docs/cli.md with qmk compile examples * Simplify path for keyboard derivation * Update path to use path.join instead of concat * Refactor keyboard path, the skully way * Add in keymap folder support * Add /layouts compile support * Update docs/cli.md with empty compile in layouts * Add comments to compile.py * Update docs for clarity, and fix compile error typo * Fix config option compile * Fix layout compile and failure mode * Add rules.mk check * Fix variable names for global config * Add in_layout priority * Remove default fallback in favor of throw, update docs * Add keymap folder context * Fix formatting * Add os import * Convert to create_make_command * Fix Travis lint errors * Remove blank line with whitespace * Add blank lines for readability * Remove unnecessary config logic * Update Docs to add flash Co-Authored-By: skullydazed * Shift config precedence to MILC Co-authored-by: skullydazed commit 774cbbf879eaec2149413917cb970054e4c1bf59 Merge: c93093569e 75d4ff7d51 Author: Joel Challis Date: Fri Feb 7 13:59:18 2020 +0000 Refactor ergo42 to use split_common (#7925) * Initial refactor of ergo42 to split common * Prevent fallthrough for DIODE_DIRECTION commit c93093569ecd6024c43e9b0d2e8881e0f768c940 Author: Joel Challis Date: Fri Feb 7 13:58:55 2020 +0000 Refactor mint60 to use split_common (#8084) commit fb6f5811571dfd033eecfe3073a58fd131b3b5c4 Author: Marius Rugan Date: Fri Feb 7 11:13:53 2020 +0100 jj4x4: README update (#7854) * Updates README jj4x4 * Update keyboards/jj4x4/README.md * Update keyboards/jj4x4/README.md * Update keyboards/jj4x4/README.md * Update keyboards/jj4x4/README.md * Update keyboards/jj4x4/README.md commit e43d143ab09cea268079edae10f14c554b39aa59 Author: worldspawn00 Date: Thu Feb 6 23:28:08 2020 -0600 [Keyboard] adding keyboard: tkl30 (#7979) * tkl30 * Amended with collaborator suggestions * s/DEBOUNCING_DELAY/DEBOUNCE/ * Used noroadsleft's PID suggestion * Committed noroadsleft's keymap formatting and rules.mk suggestions * LAYOUT formatting and readme suggestions commit a73c38112dedaeeb837fb9d388f17becd8480f95 Author: fauxpark Date: Fri Feb 7 15:54:14 2020 +1100 Move Grave Escape, Lock and Leader keycodes into their own sect… (#8093) commit e3444084fb11b1c53a3fc24a064f7c501214cb8b Author: ridingqwerty Date: Thu Feb 6 21:58:16 2020 -0500 Committing fix to info.json for wsk/jerkin (#8110) commit d84eb14b3a8516c2a16b69d09dc31e3a9f21122b Author: Ted M Lin Date: Thu Feb 6 20:53:43 2020 -0500 Use function for KEYCODE2 routines instead of macro. (#8101) * Option to use function for KEYCODE2 routines. Convert the KEYCODE2SYSTEM and KEYCODE2CONSUMER macros to functions, defaulting to using the macros. The function form allows the compiler to optimize the switch statement itself, over the macro nested ternaries. To enable this feature, #define USE_KEYCODE2_FUNCTION. Testing against a random selection of avr-based keyboards, this increased available flash by ~500 bytes. For arm-based keyboards, the available flash increased by ~400 bytes. * Replace macro with function entirely. As zvecr states, go bold and just commit to using the function instead of the macro. * Reformat whitespace now that functional review is done Verified against clang-format output. commit fe814be287bc0591df87549ea6233eae2177e062 Author: worldspawn00 Date: Thu Feb 6 09:55:55 2020 -0600 [keyboard] adding keyboard: jerkin (#7975) * jerkin * Update config.h * Apply suggestions from code review Co-Authored-By: Drashna Jaelre Co-Authored-By: Akaash Suresh * Update rules.mk * Apply suggestions from code review * Missing closing parenthesis in one of the suggestions. * Finalize collaborator suggestions * One final tweak to standardize MANUFACTURER Co-authored-by: ridingqwerty Co-authored-by: Drashna Jaelre Co-authored-by: Akaash Suresh commit 6a0e155afe607c75bfffe3f10fb73c9337942f52 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Feb 6 05:38:41 2020 -0800 Ergosaurus Configurator support bugfix (#8104) Corrected the layout macro name in `info.json`. commit 917eebcfac33b81021fa40cef7a5ef8ab3cf73a2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Feb 6 05:33:43 2020 -0800 Xelus Dawn60: layout macro update and Configurator layout support (#8102) * fix layout macro and update keymaps K2D switch position is actually physically on the top row, as the right half of a split Backspace. * add QMK Configurator layout support commit de288adb97936f22c92f5e7d70f075a17d6cf5f9 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Feb 5 14:51:58 2020 -0800 VIA Support: 1upkeyboards 1up60rgb (#8097) * add VIA keymap to 1up60rgb * change VID to align with other 1up boards commit 78ae77f3073107ed016b0c8ed760f0817e97c30e Author: plikki <30385247+plikki@users.noreply.github.com> Date: Wed Feb 5 21:42:22 2020 +0100 [Keymap] User keymap for AKB/Raine (#8081) * Adding my keymap Adding a personalized keymap to the Raine keyboard. This diffirentiates itself by being useble with nordic characters even when the bottom row has blockers. Also added ASCII art to help visualize what you are doing when programming the board. * Update Readme.md Ned image of the board * Update Readme.md Forgot a space in Readme * Update Readme.md And another missed space * Update keymap.c Renoved Definetion that is not used * Update Readme.md * Remove files for renaming * Adding files after renaming Was unable to get Girthub to push renamed files/folders. Therefore removeing and adding them again. commit b015c37922fa1085cf4128059c11167362768db5 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Feb 5 12:34:08 2020 -0800 VIA Support: KBD67 mkii v1/v2 (#8085) * add the via keymap * get an appropriate unused VID * fix formatting up a bit * Update keyboards/kbdfans/kbd67/mkiirgb/v1/config.h * Update keyboards/kbdfans/kbd67/mkiirgb/v2/config.h commit ae7b208d32322167793976f24aa2a42228c3dad3 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Feb 5 10:29:52 2020 -0800 fixup keymap for 65_ansi_blocker (#8099) commit 9fe0c87e9aee518f4bdbc839cb451d69f2a3ad18 Author: KamoNanban <35567743+KamoNanban@users.noreply.github.com> Date: Thu Feb 6 02:14:00 2020 +0900 [Keyboard] manta60 (#8068) * manta60_update * Update config.h * Update config.h * Update config.h * Fixed info and readme * Fixed config.h * Fixed rules.mk * Fixed keymap.c * Update keyboards/manta60/rules.mk Co-Authored-By: Drashna Jaelre * Fixed keymap.c * Fixed rules.mk * Update rules.mk * Update keyboards/manta60/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/manta60/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/manta60/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/manta60/keymaps/default/keymap.c Co-Authored-By: fauxpark Co-authored-by: Drashna Jaelre Co-authored-by: fauxpark commit b32a9a201dfd02fa6cd131011319bfd1e99e0af5 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Thu Feb 6 00:12:53 2020 +0700 [Keyboard] add Infinity CE (#8067) * add new pcb Inffinity CE * update * Update config.h PID change, rgb version will be release * Update config.h * Update infinityce.c commit fb980cf0320dfd5ce46086113df69415e332aad4 Author: Ibnu Daru Aji Date: Wed Feb 5 23:53:28 2020 +0700 [Keyboard] Added Atreus Pro Micro variant (#8059) * new alternative controller. * following suggestions at qmk's 8059. * forgot to replace some underscores and keycodes. * following drashna's suggestions at qmk's 8059. * following zvecr's suggestion in qmk's 8059. * following noroadsleft's suggestion at qmk's 8059. commit d3286af398c76749cc57d807ff3513d6547e9a9a Author: Daniel H Klein Date: Tue Feb 4 21:30:31 2020 -0800 Add Uni660 Keyboard (#8018) * UniGo66 keyboard added * UniGo66 keyboard added * case correction of unigo66 files * create sirius folder * Update keyboards/sirius/unigo66/rules.mk Co-Authored-By: danielhklein * Update keyboards/sirius/unigo66/keymaps/danielhklein/keymap.c Co-Authored-By: danielhklein * Update keyboards/sirius/unigo66/keymaps/default/config.h Co-Authored-By: danielhklein * Update keyboards/sirius/unigo66/keymaps/danielhklein/config.h Co-Authored-By: danielhklein * debugging * correct keymap to layout * readme * remove common config * suggested changes to config.h * default keymap cleanup * bug fixes * add uni660 keyboard * remove zip * remove redundant rules.mk * remove redundant via keymap * Update keyboards/sirius/uni660/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/sirius/uni660/config.h Co-Authored-By: Drashna Jaelre * remove unnecessary functions * fix if * add back via keymap, remove old eeprom code * Update keyboards/sirius/uni660/uni660.h Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.h Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.h Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/rules.mk Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/rules.mk Co-Authored-By: fauxpark * changes requested for qmk * Update keyboards/sirius/uni660/rules.mk Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/rules.mk Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/rules.mk Co-Authored-By: fauxpark * debouncing and other minor changes * Update keyboards/sirius/uni660/uni660.c Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.c Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.c Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.c Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.h Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.h Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.h Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.h Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.h Co-Authored-By: fauxpark * Update keyboards/sirius/uni660/uni660.h Co-Authored-By: fauxpark Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: fauxpark commit aed18a5ff3b9eae14464aca2efb2a3ed029aea49 Author: ENDO Katsuhiro Date: Wed Feb 5 13:47:59 2020 +0900 [Keyboard] Add a new keyboard Chidori. (#7496) * [Keyboard] Add a new keyboard Chidori. * Update keyboards/chidori/info.json * Update keyboards/chidori/keymaps/default/keymap.c * Update keyboards/chidori/chidori.h * Update keyboards/chidori/keymaps/extended/keymap.c * Update keyboards/chidori/keymaps/extended/keymap.c * Update keyboards/chidori/keymaps/extended/keymap.c * Update keyboards/chidori/keymaps/extended/keymap.c * Update keyboards/chidori/keymaps/extended/keymap.c * Update keyboards/chidori/keymaps/extended/keymap.c * Update keyboards/chidori/keymaps/extended/keymap.c * Update keyboards/chidori/readme.md * Update keyboards/chidori/readme.md * Update keyboards/chidori/readme.md * Update keyboards/chidori/readme.md * Update keyboards/chidori/rules.mk * Update keyboards/chidori/rules.mk * Update keyboards/chidori/rules.mk * Update keyboards/chidori/rules.mk * Update keyboards/chidori/rules.mk * Update keyboards/chidori/rules.mk * Update keyboards/chidori/rules.mk * Update keyboards/chidori/rules.mk * Update keyboards/chidori/rules.mk * Update rules.mk * Delete unnecesarry lines. * Changes layer keys handing. commit 307be48de9a24a182420a6c42222906132035ea2 Author: Joel Challis Date: Wed Feb 5 03:37:04 2020 +0000 Reduce SPLIT_USB_TIMEOUT by 500ms (#7637) * Update SPLIT_USB_TIMEOUT -500ms * Align keyboard level SPLIT_USB_TIMEOUT defaults * Align keyboard level SPLIT_USB_TIMEOUT_POLL * Review fixes commit a557a5b2c5e62c20e037fbca56dc902a20cd6ff8 Author: Joel Challis Date: Wed Feb 5 02:59:20 2020 +0000 [Keyboard] Refactor deltasplit75 to use split_common (#8083) * Refactor deltasplit75 to use split_common * Refactor deltasplit75 to use split_common - small tidy up commit a6b0a74d95535be1d3c0cd1b6c836ed2dea1b150 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Feb 4 18:51:09 2020 -0800 Add RESET key for default keymap in Satisfaction 75 (#8088) commit 393937b43fe37a9faceb3a40e5f6fcc604659fb0 Author: Joel Challis Date: Wed Feb 5 02:49:10 2020 +0000 Relocate grave keycode processing (#8082) * Relocate grave keycode processing * Tidy up code * Refactor grave -> grave_esc commit efe8bd8e9218f67a0845ccfa3eef7b074aebf7dc Author: fauxpark Date: Wed Feb 5 13:41:19 2020 +1100 [Keyboard] LFKPad refactor (#8079) commit 74e3cad72829f673b6398dc18257f9d05bdaa3fe Author: fauxpark Date: Wed Feb 5 13:30:57 2020 +1100 Remove entries for Minidox eep files from gitignore (#8077) commit 0010d0c45e4aba8225249e230b3d23337e8378f4 Author: Drashna Jaelre Date: Tue Feb 4 18:28:47 2020 -0800 Add Midi Endpoint task to ChibiOS main (#8071) commit 8a749a7a8e0c47488b19bb92ac5b35bc60f66dd8 Author: Jesse Leventhal <45154268+jessel92@users.noreply.github.com> Date: Tue Feb 4 20:56:50 2020 -0500 Encoder brush size (#8087) * Added brush size to encoder knob as new keymap * Encoder keymap added commit 964ed177165072572112abfbdbba3317ed13170c Author: ridingqwerty Date: Tue Feb 4 14:17:10 2020 -0500 ridingqwerty: userspace update (#8076) * Userspace overhaul * Remove testing directory * Minorca keymap tweaks commit 50554ca270ae4c58dfa156ae4960e06a7ec6ef31 Author: Jonas Avellana <14019120+ninjonas@users.noreply.github.com> Date: Mon Feb 3 18:50:50 2020 -0700 Ninjonas userspace (#8070) * [keymap(kyria)] moved OLED & encoder implementation to separate classes * [feat] created logic to cycle through hue wheel when starting keyboard * [feat] created logic to cycle through hue wheel and return to user's default color * [refactor] updating OLED layout for crkbd & lily58 * [refactor] updating OLED layout for crkbd & lily58 * [fix(8070)] updating encoder.c logic based off drashna's code review * [refactor(8070)] added key to send  + Shift + M commit c6f389b527e04e11e62a11e329f8f52b67a47d63 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Mon Feb 3 13:37:01 2020 -0800 Merlin's userspace updates (#8074) commit 5780c94423615ba51343cd88ae55cf5fdaffb6df Author: skullydazed Date: Mon Feb 3 09:04:58 2020 -0800 Improve the functionality of qmk.questions (#8020) * wip * tested and working * remove unused import * Update lib/python/qmk/questions.py Co-Authored-By: Erovia * fix flake8 errors Co-authored-by: Erovia commit acef512730479d5489a1ddd3b598c899efd8784e Author: Mike Rix Wolfe Date: Sun Feb 2 15:11:17 2020 -0600 [Keymap] Add User Keymap for FC660C (#8062) * add my keymaps * tri layer keymap * update tri layer * update tri layer * cleaning up * formatting * move to correct location * lily58: move caps off mod key in sublayer * Update keyboards/lily58/keymaps/mikefightsbears/rules.mk * Update keyboards/lily58/keymaps/mikefightsbears/rules.mk * Update keyboards/lily58/keymaps/mikefightsbears/rules.mk * Update keyboards/lily58/keymaps/mikefightsbears/rules.mk * remove unnecessary trailing whacks * remove unneeded file * swap spacebar * update code for comments in PR * add fc660c keymap * rm readme * move layer key * remove inconvenient alternate keys * swap format * add them media keys * add rules mk * swap caps and ctrl * remove unneeded config * use gesc instead of esc commit fa9c74c6a2301c8f0f12727eb730e213b3d7453c Author: QMK Bot Date: Sun Feb 2 20:47:40 2020 +0000 format code according to conventions [skip ci] commit b2ce2f8a34fba72e4b4ac2fba0ec11431b0acb0c Author: fauxpark Date: Mon Feb 3 07:17:05 2020 +1100 Dedupe extrakey report struct, and send functions in V-USB & LUFA (#7993) * Dedupe extrakey report struct, and send functions in V-USB & LUFA * Doc comment for consistency * Wrap it in ifdef to prevent unused function error * Do the same for ATSAM commit 5b91c3e0a0dc8152f69130cf047f3df0d0f94421 Author: Joel Challis Date: Sun Feb 2 16:33:17 2020 +0000 Fix cformat processing files within ignore folders (#8063) commit 1877736fa40dcf023f67fe05661b516187c08c82 Author: fauxpark Date: Mon Feb 3 00:24:29 2020 +1100 Update dirty submodule make message (#8065) commit c096be3831f5d9e21fd0da6d3e265a603820c35b Author: James Young Date: Sat Feb 1 21:36:59 2020 -0800 [Docs] future branch housekeeping commit 4888a118c363ed73d913ef8c70eb643dd3ea8bd0 Author: QMK Bot Date: Sun Feb 2 02:40:30 2020 +0000 format code according to conventions [skip ci] commit e036b94a215157bb45913a22267d709ec5c6ef5f Author: fauxpark Date: Sun Feb 2 13:10:57 2020 +1100 Align ATSAM HID descriptors with LUFA/ChibiOS (#7651) * Align ATSAM HID descriptors with LUFA/ChibiOS * Don't hardcode raw endpoint size commit 1a79f14e4390d088fcf6b26fe3b62549875c3e71 Author: QMK Bot Date: Sat Feb 1 09:46:34 2020 +0000 format code according to conventions [skip ci] commit 4e6d1ae0eaafb64d04ae6a5e00d2ef41623248cf Author: Pavel Župa Date: Sat Feb 1 10:17:28 2020 +0100 Fix timer_elapsed() overflow issue for STM32F103 and other ChibiOS boards (#7595) * fixed strange space cadet timer owerflow on STM32F103 * Moved elapsed time fix to timer.c commit 1858c3ed117b8c6b446ad28a7a2f0b8de39b1d71 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Feb 1 00:42:42 2020 -0800 Skog Lite: disable Console; update info.json (#8058) * disable Console to save firmware space * rules.mk templating Add comments regarding the rules, to more closely match the ps2avrgb template. * update info.json This board has a quite interesting take on the standard TKL; why not show it off? commit 8e550fc11a59326cb759593418ce1a062392daaf Author: Nick Brassel Date: Thu Jan 23 05:26:52 2020 +1100 Add thread safety around i2c_master for ChibiOS/ARM. commit 1aee492c0f88b1a96fabdf750a03ed128d9d844a Author: Jonas Avellana <14019120+ninjonas@users.noreply.github.com> Date: Fri Jan 31 23:38:05 2020 -0700 [keymap(kyria), refactor] created kyria keymap. refactored ninjonas userspace (#8053) * [keymap(kyria), refactor] created kyria keymap. refactored ninjonas userspace and keyboards * [fix(#8053)] removed redundant code based off Duckle29's code review * [fix(#8053)] fixing typos * [refactor(#8053)] updating oled timeout * [fix(8053) resolved code review issues identified by noroadsleft commit fdabf524f2c0047ec920b88ace07096009cdd759 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Sat Feb 1 10:02:29 2020 +0700 [Keyboard] add Hannah910 V2 PCB and VIA support (#8024) * add Hannah910 V2 and VIA support add rev.2 pcb and via support * Update config.h * update * Create config.h * Update * update * update * Move keymap folder * add more layer and edit readme.md * readme.md update * update * update * Update hannah910.h commit e565948ffdb9127c1202a69774931a55a71fa529 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Fri Jan 31 12:33:08 2020 -0800 Noxary 280 Backwards LED Fix (#8057) * fix logic and update to newest led_update_kb routine commit 5c5a05212e5f050587b7ed7070d34a13dd9cc293 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Fri Jan 31 11:55:11 2020 -0800 [Keyboard] VIA Support: 1upkeyboards 1up60hte (#8052) * update the vendor id for 1upkeyboards 1up60hte * add the via keymap and rules file * fix typo * move the LTO to the keyboard's rules.mk * Update keyboards/1upkeyboards/1up60hte/config.h commit b28ee6b039841c387685ea54c8206cc6c2a6cb8a Author: Nick Brassel Date: Sat Jan 4 12:21:08 2020 +1100 Fix misunderstanding of CPPFLAGS and CXXFLAGS. commit 6544bd2e65664307f9572cc8110b55df250b0302 Author: Jorge Noguera Date: Fri Jan 31 01:22:25 2020 -0300 [Keymap] Customized layouts for the Keebio/Quefrency65 (#7947) * Created the yoryer layout for the Quefrency 65% * added rgb control layer * Required changes to resolve PR #7947 issues * - Updated the layer list as an enum - Removed .gitignore file from keymap folder * Removed the .gitignore from keymap folder commit f31411af17655337d30abba1ef1d14a2eb1bbb2b Author: takashiski Date: Fri Jan 31 13:21:33 2020 +0900 [Keymap] add new keymap (xd75 atomic style japanese layout) (#7944)i * init jp * update * update * update * update * Update keyboards/xd75/keymaps/atomic_style_jp/keymap.c Co-Authored-By: Drashna Jaelre * remove config.h * remove ____T___ Co-authored-by: Drashna Jaelre commit 479c6a68cf1bed01380599045a25a37b9847569a Author: ai03 Date: Thu Jan 30 18:14:19 2020 -0800 [Keyboard] Add support for Southpaw Full Size (#8029) * Begin work on spfs, migrating ancient config * QMK breaks if there's a dash in the board name * Update info.json * Make indicator LEDs work * Build a readme * Change title to match official GB thread name * Add an ANSI WKL layout for simplicity * Adjustments as per pullreq recommendations * Remove unused functions from other keymap commit eb309be6f009a9f3923ea49cec3653b75ec47e69 Author: xyzz <1065521+xyzz@users.noreply.github.com> Date: Thu Jan 30 19:30:41 2020 -0500 Improve VIRTSER performance (#7528) commit 4139de3cc9c56a157d78e1e418893d08e3f23bde Author: Joel Challis Date: Thu Jan 30 23:44:40 2020 +0000 Fix AVR boards which were overriding backlight without setting… (#8044) * Add backlight custom driver to all boards not declaring it but overriding backlight * Apply suggestions from code review Co-Authored-By: fauxpark * Apply suggestions from code review Co-Authored-By: fauxpark * Remove old tmk references from show_options.mk Co-authored-by: fauxpark commit 7514f5124ac81ce1db51eb07a287f82d6a9bf10c Author: Jason Dunsmore Date: Thu Jan 30 17:25:16 2020 -0600 [Keymap] Update keymap for user jasondunsmore (#8047) commit 31e4583f4a171823cfa639cc6a9795e892c0455f Author: Yatara <43754086+yatara-cc@users.noreply.github.com> Date: Thu Jan 30 23:37:23 2020 +0100 [Keyboard] Add support for Drink Me (#8039) * Add initial configuration and keymaps for Yatara Drink Me. * Apply suggestions from code review * Apply suggestions from code review * Add transparent layers in VIA layout so there are four layers in total. Amend closing bracket indentation in keymap.c files. commit 17a089d21b261777f4fa48af34b6e012d69d3945 Author: ridingqwerty Date: Thu Jan 30 17:10:23 2020 -0500 Trim firmware size changes from default rules.mk, part 4 (#8046) * Trim firmware size changes from default-ish rules.mk files * Trim sizes from westfoxtrot boards commit db2f1874935ed71e5897b16ee01b7424ac44fb6e Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Jan 30 11:37:00 2020 -0800 Documentation: KBD75 (#8038) * update kbd75 readme * update bmini readme * update wkl.kr readme * Update keyboards/kbdfans/kbd75/readme.md * Update keyboards/kbdfans/kbd75/readme.md commit d2e1cc4d48e5c74453f9ab1a344490f895b2e236 Author: ridingqwerty Date: Thu Jan 30 14:13:49 2020 -0500 Trim firmware sizes from default rules.mk, part 3 (#8045) commit 0f7d294ac304d6ef8fb6d83c1da80bb4c753a01f Author: ridingqwerty Date: Thu Jan 30 13:47:48 2020 -0500 Remove filesize changes from default-ish rules.mk files, sans handwired (#8040) commit c66a4a983106f6a895088dd02d0e8fe92dfd1559 Author: Alberto Grespan Date: Thu Jan 30 06:52:35 2020 -0400 [Keyboard] WhiteFox vanilla layout (#8043) * Add the Whitefox vanilla layout Initial commit for whitefox vanilla keymap Fix the mapped layout to match vanilla Cleanup vanilla default Rework the info file Remove vanilla keymap as we don't really need this commit e57af8db0d9088d819f76cddbd6da851ccd1eab4 Author: Joel Challis Date: Thu Jan 30 10:48:30 2020 +0000 Fix 'Makefile:560: keyboards//rev1/rules.mk: No such file or directory' (#8042) commit 0968cf8b00ee1ee98edcd37b83573a327b2e8e29 Author: Addison Cole <36283115+addisoncole@users.noreply.github.com> Date: Thu Jan 30 01:45:27 2020 -0800 Updates cKeys/theDora README with explicit flashing instructions (#8016) * adds to theDora readme for more explicit directions on flashing, with links and how to enter bootloader mode. * fmt * Corrects language of steps for loading firmware * Update keyboards/ckeys/thedora/readme.md commit 0f9982c53e9dc9b1f35384842ef93e86378d169b Author: Bryan Arendt Date: Thu Jan 30 04:18:45 2020 -0500 [Keyboard] Adds ogre ergo single (#8012) * Adds ogre ergo single (non-split) version * use generic pids commit 6d5812a86c7eaa3e84d8a69126aa04195713be62 Author: Cody Bender <50554676+cfbender@users.noreply.github.com> Date: Thu Jan 30 02:16:11 2020 -0700 [Keyboard] Add Ergosaurus Support (#8013) Initialize config * Update matrix size * Update Keymap * Rename files to remove hyphen * Rename board and folders * Fix ergosaurus.h typo * Fix ergosaurus.h layout matrix * Update column pins * Fixed ergosaurus * Add Reggie layout * Update Ergo keymap * Update with fixes from PR #8013 * Fix KeyHive link * Remove config.h and extra whitespace from README * Update PID, README and rules spacing * Update rules.mk commit 1249594cf0b09a45f28593c75f9d8f413ccf0424 Author: Joel Challis Date: Wed Jan 29 22:33:15 2020 +0000 Refactor minidox to use split_common (#7924) * Initial refactor of minidox to split_common * post rebase fixes commit e04c5edaaef88a94c3a0fca257fcc3d2e8e50bda Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Wed Jan 29 17:23:55 2020 -0500 Userspace and keymap updates (#8037) * Add PGUP,PGDN to keymaps * Enable VIA support on userspace for 1up60hse * Enable DZ60 VIA in rules * Enable Romac VIA in rules commit 66fe3001e4355d69f5fb8f08ceab9dab793777ef Author: ridingqwerty Date: Wed Jan 29 12:51:25 2020 -0500 Trim firmware sizes from default rules.mk, part 1 (#8027) * Removed reference to firmware size in 0-9,a-f board-level and default keymap 'rules.mk' files * Correct some 'rules.mk' in boards buried under vendor folders * PR8027 patch Co-authored-by: GeorgeKoenig <35542036+GeorgeKoenig@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 7149557bb48a488f86f2f6da79bf4b88a0ed8222 Author: moseschmiedel <58808540+moseschmiedel@users.noreply.github.com> Date: Wed Jan 29 16:17:45 2020 +0100 Add German programming layout for Lets Split (#8014) * Add German programming layout for Lets Split * Update copyright in config.h * Add Hash-Symbol to keymap * Change to fit suggestions in PR * Changes as requested, but broken. * Fix layer switching issue commit 2abc0e17e7142f058b39998e16d0896286bd8e1f Author: Danny Date: Tue Jan 28 17:13:57 2020 -0500 [Keyboard] Add Quefrency Rev 2 (#8001) * Add Quefrency Rev. 2 * Add encoder support * Add RGB LED mapping info * Add diode direction * Revert removal of default folder for CI purposes * Remove unneeded lines * Rename ISO layout macros commit 197a401be6585b0b9aad3ca02ec1829e894e9a62 Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Tue Jan 28 22:21:00 2020 +0100 Qmk doctor os check to support newer msys2/w10 installations (#8031) * Fixed OS detection on newer MSYS installations * made OS sting lower case commit 4a208b89516f02f4ff7e17861aabbe1b5af13f81 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Jan 28 13:04:50 2020 -0800 [Keyboard] 1up60hse VIA Support (#7992) * add VIA support for 1up60hse * choose a vendor and product id that is not taken * add mousekey_enable set to no as per Wilba's recommendation * Update keyboards/1upkeyboards/1up60hse/keymaps/via/readme.md * Update keyboards/1upkeyboards/1up60hse/keymaps/via/readme.md * add a fourth layer * might as well remove the config file as we are not including the one thing that was in it commit 1e90f5c71cbc0f97cdd01089e394ec0ddc8980c8 Author: coseyfannitutti <43188488+coseyfannitutti@users.noreply.github.com> Date: Tue Jan 28 15:38:27 2020 -0500 Mysterium firmware fix (#8032) * Update config.h * Update rules.mk * Update usbconfig.h * Update config.h * Update rules.mk * Update usbconfig.h commit 0d80c7bd598c1296d31554fe8c82843415696a18 Author: Max Rumpf Date: Tue Jan 28 18:08:39 2020 +0100 [Keyboard] Fix Pulse4k info.json LAYOUT name (#7965) * Fix Pulse4k info.json LAYOUT name * Add missing functions to fix configurator Add empty encoder functions to the keyboard code, as the configurator doesn't see the keymap defined functions at first. To be able to override these functions, they are marked as 'weak'. * Rework encoder functions another time Default implementation is now provided as part of the keyboard, but they can still be overriden within the keymap (template is commented out by default) commit 4d06d2835c87f3eed694493fb749527032a78ec2 Author: Nick Brassel Date: Fri Jan 3 09:58:34 2020 +1100 Move CORTEX_ENABLE_WFI_IDLE=TRUE to rules.mk files. commit 92c62352cf869a4099eb821b9e7d56d303bbec7b Author: Samuel Jahnke <118westmaine@gmail.com> Date: Mon Jan 27 20:47:36 2020 -0500 [Keymap] Finalize Keymap Planck/Samuel (#8005) * indent and layout changes * finalizations * use layout macros here instead of the raw matrix arrays commit 1f0404e3c547613211235b8593a4ee701d644bae Author: Rafael Azevedo Date: Mon Jan 27 20:42:46 2020 -0500 [Keymap] Added gaming layout and read me (#7996) * Added gaming layout and read me * Code format changes and spelling fixes for PR * Moved keymap to different folder commit ee88feb7598e9f4b70a8e9cb839f4dc303ce9604 Author: shela Date: Tue Jan 28 10:18:12 2020 +0900 [Docs] Update Japanese translation (#8015) commit eb5e513d262921600c7c17cc1e8f34b49bccddfb Author: Flexerm <51996324+Flexerm@users.noreply.github.com> Date: Tue Jan 28 01:05:29 2020 +0000 [Keyboard] FLX Virgo, cleaned up layouts and added VIA keymap (#7997) * Reworked for VIA support Reworked for VIA support and tidying up of older code. * Fixed naming issues, and prepared for VIA compat Via compat added * Improve layouts, tidy code, via keymap Added support for VIA and cleaned up some code and layouts. * Implimented suggestions by MechMerlin * Fix capitalisation Mistake raised by Drashna now fixed. * Tidy comments as requested by noroadsleft * Tidy comments as requested by fauxpark commit a539bd63fead3d35e7d9095a4e5b636e358cbe35 Author: dohq Date: Tue Jan 28 09:23:24 2020 +0900 Fix/remove missing package (#7897) * [fix] yay instead pacman install bootloadhid * [fix] add needed option * [mod] output red color * [fix] overwrite avr-gcc package * [mod] disable install bootloadhid from aur and check already installed * Apply suggestions from code review Co-Authored-By: Joel Challis * Update util/linux_install.sh Co-Authored-By: Joel Challis Co-authored-by: Joel Challis commit 1b7a003d842c76cd141af726c13e2af1a4458bac Author: Daniel Rodríguez Rivero Date: Mon Jan 27 23:42:38 2020 +0100 [Keymap] update to Danielo515 keymaps (#8004) * feat(build): added script for compiling with docker easily * chore: bring my own build with docker to master * feat: merge ergodox ez into latest maste * chore: remove my build with docker file * chore: remove my changes to process_leader * feat: more modular user danielo515 * Apply suggestions from @ridingqwerty Co-Authored-By: ridingqwerty * chore: more suggestions implemented * chore: add my basic details * Apply suggestions from @drashna Co-Authored-By: Drashna Jaelre * fix: more @drashna fixes * feat: @fauxpark optimization * fix: some more @drashna improvements Co-Authored-By: Drashna Jaelre * chore: small improvement on layout * fix: some more @drashna improvements * chore: remove some F dance Co-authored-by: ridingqwerty Co-authored-by: Drashna Jaelre commit 0804f0a5dd08ed0807a67793ef329fa49ed5b16f Merge: 7342c335d2 6efcfaa264 Author: Joel Challis Date: Mon Jan 27 22:40:32 2020 +0000 Merge pull request #7995 from zvecr/feature/split_arm_i2c_remove Remove compilation of i2c for arm split commit 7342c335d287bf63c7615c5d752157ef5a790e0c Merge: 50855593ff 992656e753 Author: Joel Challis Date: Mon Jan 27 22:39:30 2020 +0000 Refactor stm32duino f103 keyboards to use new central board config files (#7706) * Create central board for bluepill * Remove duplicate board files * Refactor to use new central board config files * Fix cannonkeys f103 boards commit 50855593ffcf7b6a780fa5f9c28fe6783264b5e2 Author: Joel Challis Date: Mon Jan 27 22:38:55 2020 +0000 Migrate common ld scripts to common location (#7887) * Migrate common ld scripts to common location * Remove duplicate ld scripts * Update build to look at common ld location commit 9a0245b7784e11b34c5f44bcd2079af2e19ab654 Author: Joel Challis Date: Mon Jan 27 22:31:54 2020 +0000 Fix boards which were overriding backlight without setting custom (#7970) commit 43d2a0e167fe01b3bf7c793f421a238dc8109dc6 Author: Bryan Arendt Date: Mon Jan 27 13:14:50 2020 -0500 [Keyboard] Adds ogre ergo split (#8011) * Adds ogre ergo split * remove uneeded line breaks commit 212aeee202f1031395f56a087441c6da030afdd4 Author: skullydazed Date: Sun Jan 26 22:32:11 2020 -0800 Revert "Clueboard Rev4 Updates aka Volcano 660 (#7942)" This reverts commit e0a0430c31bd9fabab93e8933e9988e0d3f66434. commit 5fb95c5f94d6c939dfea2fc716ef818d6242b918 Author: Michael F. Lamb Date: Sun Jan 26 20:26:40 2020 -0800 create users/datagrok (#7653) * users/datagrok: add shared functions * users/datagrok: improve base-layer selection feature * users/datagrok: add README.md commit 05d6e6ca78087969d7a47862341d10b6b555c37e Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Mon Jan 27 05:04:39 2020 +0100 Ensure setPinInput actually sets input high-Z (#6237) * Ensure setPinInput actually sets input high-z * Fixed _PIN_ADDRESS Macro arguments as recommended by vomindoraan * Fixed instances of setInput to use new behavour * Changed kmac matrix to use input with pullups * Update keyboards/gh60/revc/revc.h Co-Authored-By: fauxpark * Fixed input state for unselect_rows * fixed merge conflict * Updated all instances of older uses of setPinInput() * Fixed naming mistake Co-authored-by: fauxpark commit 992656e753263577e70c272ccc068bd619aee43b Author: zvecr Date: Tue Dec 24 00:55:19 2019 +0000 Fix cannonkeys f103 boards commit ee86be9dca3a4f370672562b551cc8af928f0152 Author: zvecr Date: Tue Dec 24 00:17:46 2019 +0000 Refactor to use new central board config files commit 98e55557052f30f4c621568247526cc4d5d41026 Author: zvecr Date: Tue Dec 24 00:14:48 2019 +0000 Remove duplicate board files commit d3abebb601e4e45f8c0b44c34d3c80dbf5bb9203 Author: zvecr Date: Tue Dec 24 00:10:50 2019 +0000 Create central board for bluepill commit 645c5fabf24411fe65d2172a3509c26e053651a2 Author: Jumail Mundekkat Date: Mon Jan 27 09:06:56 2020 +1100 Add VIA support to MxSS, plus minor tweaks (#7809) * Add VIA support to mxss and general cleanup * Add support for RGB test for FLEDs * Add LAYOUT_all to allow for more configuration * Remove blank layers * Updated readme * Improve use of EEPROM * Credit where its due * Use the latest iteration of rgblight code * Keep the RGB timer running if the front LED is in RGB mode * Fix RGB breathing animation * Better supported RGB animation Only thing not working is alternating, but that's not too important * Abstract front LED handlers from main kb code * Add support for indicator LED color changing * Remove debug statement * Persist indicator LED colors * Mark custom sections in rgblight.c * Light commenting * Fix up keymaps * Add/update comments * Remove bloat from default hex * Tidy a stray tab * Out with the old, in with the new * Out with the old, in with the new * Add LAYER_STATE_8BIT for VIA keymap commit 7f7b6b08e8afdd09f83b180e4c03b04f9a531035 Author: yiancar Date: Sun Jan 26 07:05:22 2020 +0000 [Keyboard] Initial commit for mc76k (#8000) * Initial commit for mc76k * Update config.h commit 72d7661b30d139077087dac723efb3582dc1011e Author: James Young Date: Sat Jan 25 16:07:08 2020 -0800 suggestions by skullydazed commit d0d106cef75b4121374020fca633e8fc2628cef0 Author: James Young Date: Sat Jan 25 14:03:26 2020 -0800 change Instructions listing in Docs summary commit d603e94f6814bdd8fc0d4e87dce9abec0a9cef37 Author: James Young Date: Sat Jan 25 13:53:24 2020 -0800 add Breaking Change PR Instructions doc commit 9ff61601e31585b924a3b3ff3738a30c520acc65 Author: Lucas Moreira Date: Sat Jan 25 17:43:57 2020 -0500 [Keymap] crkbd/kidbrazil adding layer dependent RGB & better idle timeout. (#7901) * Added KidBrazil custom keymap for CRKBD -Custom Font -Custom OLED output * Added missing readme * Oled Timeout Update for KidBrazil Keymap (#1) * Setup Oled timeout based on simple timer * Cleaned up comments and added timeout for LEDs * Fixed some small errors * Updated oled timout with matrix scan * Updated oled timout with matrix scan * Update withou eeprom * Update timer code * Use process user instead of keymap * Added ifdef to protect oledtimer * Updated with half timeout state for logo * Removed middle tier timer * Final cleanup of unused files * Updated code as per suggestions & requests * Second round of revisions * Updated keymap to better handle LED timeout - Added boolean to hold LED state - Added init function to set rgb to known state - Modified RGB_TOG to work with noeeprom commands * Finished adding the timeout for OLED and testing on CRKBD * Updated documentation * fixed the timeout logic so it works as intended * Added initial limits to color settings * Added layer reset as part of the iddle timeout process * Split Keymap into more manageable files * Finalizing RGB Layer status on CRKBD - Refactored OLED timeout to deal only with oled - If user remains iddle on game layer for too long it will switch to default - LED / OLED iddle working - Minor changes to _SYM layer - Removed some rgb controls from keyboard due to layer dependent RGB colors * Update keyboards/crkbd/keymaps/kidbrazil/keymap.c Used suggestion from Drashna to replace EEPROM_RESET with shorter version. Co-Authored-By: Drashna Jaelre * Update keyboards/crkbd/keymaps/kidbrazil/keymap.c Co-Authored-By: Drashna Jaelre * Implemented drashna's comment Co-authored-by: Drashna Jaelre commit 09370a95dbc95334fe7335478b108e1a844a2578 Author: QMK Bot Date: Sat Jan 25 22:04:42 2020 +0000 format code according to conventions [skip ci] commit e9ffc5347690ad2212d7217e406fb6018ed17079 Author: George Harris Date: Sat Jan 25 22:35:39 2020 +0100 Fix unaligned access with LTO (#7801) Forces 4 byte alignment for USB input & output buffers to prevent unaligned accesses by chibios with LTO enabled commit 480a391929de9e66d36c84df900c49297c7dfec0 Author: fauxpark Date: Sun Jan 26 07:43:43 2020 +1100 [Keyboard] Daisy refactor (#7985) commit 154336ee2747eafee23a13073203cd984dc999b5 Author: yohewi Date: Sat Jan 25 12:33:04 2020 +0900 [Keyboard] numatreus (#7929) * Add files via upload * Delete NumAtreus * 20190405 * 20190405 * Delete keymap.c * Delete config.h * Delete keymap.c * Delete rules.mk * Delete rules_default.mk * Delete readme.md * Delete NumAtreus.c * Delete NumAtreus.h * Delete config.h * Delete info.json * 20190404 * Add files via upload * Add files via upload * 20190405 * Delete NumAtreus * 20190406 * 20190407 * 20190408 * 20190408 * 20190410 * Update readme.md * Update readme.md * Add files via upload 大文字小文字の修正をしました。 * Update readme.md * Update readme.md * Update readme.md * Delete NumAtreus.c * Delete NumAtreus.h * Add files via upload * 20200118 * 20200118_default * update * readme * Delete rules.mk * Delete readme.md * Delete numatreus.h * Delete config.h * Delete info.json * Delete info.json_txt * Delete numatreus.c * Delete config.h * Delete keymap.c * Delete rules.mk * Delete keymap.c * Delete keymap.c * del * update * update * Update keyboards/numatreus/config.h * Update keyboards/numatreus/config.h * Update keyboards/numatreus/config.h * Update keyboards/numatreus/keymaps/hdbx/keymap.c * Update keyboards/numatreus/rules.mk * Update keyboards/numatreus/rules.mk * Update keyboards/numatreus/rules.mk * Update keyboards/numatreus/rules.mk * Update keyboards/numatreus/keymaps/hdbx/keymap.c * Update keyboards/numatreus/keymaps/like_jis/config.h * Update keyboards/numatreus/keymaps/like_jis/keymap.c * Update keyboards/numatreus/readme.md * Update keyboards/numatreus/readme.md * Update keyboards/numatreus/readme.md * Update keyboards/numatreus/readme.md * Update keyboards/numatreus/readme.md * Update keyboards/numatreus/readme.md * 20190119_Modified * 20200119_Modified * 20200119_uranuma * Update keyboards/numatreus/keymaps/hdbx/keymap.c * Update keyboards/numatreus/keymaps/default/keymap.c * Update keyboards/numatreus/keymaps/default/keymap.c * Update keyboards/numatreus/rules.mk * Update keyboards/numatreus/rules.mk * Update keyboards/numatreus/rules.mk * Delete info.json_txt * 20200121_Modified * 20200121_Modified * 20200121_Modified * 20200121_Modified * 20200122 * Update keyboards/numatreus/config.h * 20200122_Modified * Update keyboards/uranuma/rules.mk * Update keyboards/numatreus/keymaps/like_jis/keymap.c * Update keyboards/uranuma/rules.mk * Update keyboards/uranuma/rules.mk * Update keyboards/uranuma/rules.mk * Update keyboards/uranuma/rules.mk * Update keyboards/numatreus/keymaps/like_jis/keymap.c * Update keyboards/numatreus/keymaps/like_jis/keymap.c * Update keyboards/numatreus/keymaps/like_jis/keymap.c * Update keyboards/numatreus/keymaps/like_jis/keymap.c * Update keyboards/numatreus/keymaps/like_jis/keymap.c * Update keyboards/numatreus/keymaps/like_jis/keymap.c * Update keyboards/uranuma/config.h * Update keyboards/uranuma/readme.md * Update keyboards/uranuma/readme.md * Update keyboards/uranuma/readme.md * 20200122 * Delete config.h * Delete uranuma.h * Delete uranuma.c * Delete rules.mk * Delete readme.md * Delete keymap.c * Delete info.json * Update keyboards/numatreus/rules.mk commit d4ccb2e0e6bd7ab976533ec2c0d62a8042bb5bc6 Author: Joel Challis Date: Sat Jan 25 02:57:30 2020 +0000 Fix printf buffer overflow when cols>16 (#7998) commit 5e65af3a76252bea6556d26add3061dea4918cc2 Author: skullydazed Date: Fri Jan 24 11:31:16 2020 -0800 Beef up how `qmk doctor` works. (#7375) * Beef up how `qmk doctor` works. * improve the `git submodule status` parsing. h/t @erovia * Fix whitespace and imports * yapf * Add documentation for the new doctor functionality * Replace type_unchanged() with str() * remove unused modules * Update lib/python/qmk/cli/doctor.py Co-Authored-By: Erovia Co-authored-by: Erovia commit 6efcfaa264e7df8ccfcf5ba6e33e4e648de664ae Author: zvecr Date: Fri Jan 24 14:11:01 2020 +0000 Remove compilation of i2c for arm split commit e4a0f841e19b4ddf86711cf79dc521d2f6f5e4ae Author: Joel Challis Date: Fri Jan 24 13:50:51 2020 +0000 Update split serial code to use driver pattern (#7990) * Move avr serial code to drivers * Update src+= serial.c to driver pattern commit 4867a9b1e6ba4ae2e4ba6f6049c75646d251d5a3 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri Jan 24 01:09:55 2020 -0800 [Keyboard] HS60 v2 ISO: fix Configurator key ordering (#7958) * white-space formatting * reorder the objects commit 9a9eaa8100b1ec5f11c383b8251093d5ddaccc9b Author: Wilba Date: Fri Jan 24 16:03:04 2020 +1100 Added VIA support to Noxary 280 (#7960) * Added VIA support to Noxary 280 * Added VIA support to Noxary 280 * Review changes commit 339e29d5af943ddcfaf4aa335c3d1489dfb0017b Author: Xelus22 Date: Fri Jan 24 13:28:25 2020 +1000 Add VIA support to TMO50 (#7986) * via compatible * disable mousekey * remove unnecessary space commit b56899976924043a9563c12987218abd78baf13d Author: fauxpark Date: Fri Jan 24 14:24:10 2020 +1100 Fix LED configuration for PS2AVRGB boards (#7989) * Fix LED configuration for PS2AVRGB boards * Undo backlight on state changes commit fe50883c1568b1914fcadbe0c7f029c3f9fd99f4 Author: QMK Bot Date: Fri Jan 24 02:15:29 2020 +0000 format code according to conventions [skip ci] commit d13ada11622977bcc0b530212b4405229805016d Author: Nick Brassel Date: Wed Nov 6 08:04:50 2019 +1100 Add customisable EEPROM driver selection (#7274) - uprintf -> dprintf - Fix atsam "vendor" eeprom. - Bump Kinetis K20x to 64 bytes, too. - Rollback Kinetis to 32 bytes as partitioning can only be done once. Add warning about changing the value. - Change RAM-backed "fake" EEPROM implementations to match eeconfig's current usage. - Add 24LC128 by request. commit 6ff093efbee21d3f64f5b4bfdbc66d4648490523 Author: Akaash Suresh Date: Mon Jan 20 23:17:04 2020 -0600 Local Changes commit c3835262d84687f655a77c6479900a7b432e404d Author: Max Rumpf Date: Wed Jan 22 23:46:00 2020 +0100 [Keymap] Phoebe keymap improvements (#7963) * [Phoebe] Allow to input pipe characters with only one modifier * [Phoebe] Update RGB animations commit 1a40af74dacf6719c00baf252ffe1318358ab829 Author: yiancar Date: Wed Jan 22 21:28:42 2020 +0000 HS60 EEPROM size fix (#7968) commit 9e6e01cabb5045dcc61ff82aa0a2820f2aacdd69 Author: yiancar Date: Wed Jan 22 20:44:12 2020 +0000 eeprom size fix (#7969) commit a561443fcacc75ce6b389bd0831af85a2d104f11 Author: Cable Car Designs <17062872+westfoxtrot@users.noreply.github.com> Date: Wed Jan 22 17:45:32 2020 +0000 [Keyboard] added support for new rev of cypher PCB (#7636) * cleanup of existing branches to resync with upstream. removed old cyp… …her files, added new cypher files. commit e0a0430c31bd9fabab93e8933e9988e0d3f66434 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Jan 21 20:14:14 2020 -0800 Clueboard Rev4 Updates aka Volcano 660 (#7942) * fix audio enable repetition * remove RGB LED support as this board has no RGB LB LEDs * use pragma once * this board has no backlight support * enable COMMAND_ENABLE * comment cleanups * setting bootmagic to lite as the first board thathat has this PCB has a solid bottom. If someone forgets to put in a RESET key on their keymap, they are not going to have fun resetting the board * Update keyboards/clueboard/66/rev4/rules.mk Co-Authored-By: fauxpark * Update keyboards/clueboard/66/rev4/rules.mk Co-Authored-By: fauxpark * Update keyboards/clueboard/66/rev4/rules.mk Co-Authored-By: fauxpark * Update keyboards/clueboard/66/rev4/rules.mk Co-Authored-By: fauxpark * convert the palset and palclear routines to setpinoutput and writepinlow * remove scankb * restore original guards instead of pragma once Co-authored-by: fauxpark commit 49c3a1cda5c84eb4e2fa358328d9d9a603103ba3 Author: Brett Inman Date: Tue Jan 21 19:58:17 2020 -0800 Swap two columns to fix Skog Lite (#7940) * Swap two cols to fix skog lite * Fix readme * Suggested formatting Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit ba264c69c28dd36ab8bd7eda1ba19ecf51eae6a9 Author: fauxpark Date: Wed Jan 22 13:21:47 2020 +1100 [Keyboard] Cospad refactor (#7957) * Cospad refactor * Add num lock indicator code * Add led_init_ports() * Revert change to matrix position blanks * Define BACKLIGHT_ON_STATE explicitly, in anticipation of PR6749 commit 8e500c36709d6b3c1d1906db22d635ea55f74e70 Author: Joel Challis Date: Wed Jan 22 02:21:14 2020 +0000 Align cformat rules with current CI implementation (#7936) * Align cformat rules with current CI implementation * Optimise file walking commit bf4611c7b7ef681e4fd35aab2b9a7ac4f5c36e5a Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Tue Jan 21 21:18:18 2020 -0500 [Keymap] adding personal rebound keymap (#7956) commit f7730567509619e31742ce0a2aa5ae7cfe21d23e Author: yiancar Date: Tue Jan 21 23:09:50 2020 +0000 [Keyboard] HS60 Refactor (Keymap restructure to be more standardized) (#7847) * Keymap restructure to be more standardized * made bootmagic lite default * Dividing keymaps * Update keyboards/hs60/v2/v2.c commit b70500806ab047907b161ed6fa0dc32ba8a91784 Author: Wilba Date: Wed Jan 22 08:28:12 2020 +1100 [Keyboard] Added WT60-B, WT60-BX (wilba.tech THERMAL) (#7948) * Added WT60-B, WT60-BX * Review changes commit 9b6b54cdaae43e976ea4a5e5d01ec25309c7496b Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Jan 21 13:26:01 2020 -0800 [Keyboard] Think 6.5 Soldered Matrix Fix (#7952) * both backspace and left shift matrix positions off by one * update the led_update routine * update readme * Update keyboards/gray_studio/think65/solder/solder.c commit 37db6012a7f6828c23b42587ca9d0a4f5d73ff35 Author: dsanchezseco Date: Tue Jan 21 18:12:07 2020 +0100 keymap, fixed rgb effect name and deactivate oled (#7953) * added rgblight controls to planck keymap * fixed knight ridder offset to face me * no oled for crkbd 'till fixed * fixed RGB effect name commit 6f176dfc7c23eda3ecba79fd90456a6b987b4d39 Author: Dmitrijs Minajevs Date: Tue Jan 21 07:48:13 2020 -0800 Add VIA support to DZ60 (#7814) * Add DZ60 to VIA * Changed vendor id from 'KF' to 'DZ' * Capitalize hex * Fix Via_layout_options size setting * Update keyboards/dz60/keymaps/via/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit dee1d68dde08dfcf792639e78e11629a7fbf8f9d Author: QMK Bot Date: Tue Jan 21 14:48:06 2020 +0000 format code according to conventions [skip ci] commit 123ae73efc9e59e91f8e73c0c5e8f4df687daeef Author: fauxpark Date: Wed Jan 22 01:17:33 2020 +1100 Fix lock LEDs for ChibiOS when using shared endpoints (#7877) * Fix lock LEDs for ChibiOS when using shared endpoints * Tweak comments * Doesn't need to be uint16 anymore commit 2566992c9af58ad25c909cd454531df94714dfdf Author: fauxpark Date: Wed Jan 22 01:07:53 2020 +1100 Add DIODE_DIRECTION to Getta25 (#7951) commit 5f35203d1bc89b3d6dd7e94cada3c4e4c23f61ab Author: Alfred Maler Date: Tue Jan 21 02:01:09 2020 -0500 [Keymap] Feature/preonic/rev3/alfrdmalr (#7870) * WIP do not merge * first pass at custom preonic layout * add auto shift and reset via leader key * Update readme * update copyright notice * formatting changes * fix: use MO instead of process_record_user * added backslash and moved grave position * remove extraneous 'j' characer in NUMPAD template * update template formatting * remove process_record_user * swap "!" with "@" * fix readme formatting * update readme layout image commit c23b73530f6683b52775ad6415fa201597f15f4f Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Tue Jan 21 07:40:33 2020 +0900 [Keyboard] Add keyboard Getta25 (#7497) * [Keyboard] Add keyboard Getta25 Add Getta25 keyboard. A 25 keys Tenkey. Salicylic-acid3 * Update keyboards/getta25/info.json * Update keyboards/getta25/readme.md * Update keyboards/getta25/readme.md * Update keyboards/getta25/readme.md * Update keyboards/getta25/info.json * Update keyboards/getta25/info.json * Update keyboards/getta25/info.json * Update keyboards/getta25/info.json * Update keyboards/getta25/keymaps/oled/glcdfont.c * Update keyboards/getta25/keymaps/oled/glcdfont.c * Keymap Update Remove unnecessary code blocks * Update keyboards/getta25/keymaps/oled/keymap.c * Update keyboards/getta25/keymaps/oled/keymap.c * Update keyboards/getta25/keymaps/oled/keymap.c commit 61dbb9267936f5b3dc6a4c804dc773ab79d9c309 Author: clovervidia Date: Mon Jan 20 13:49:15 2020 -0500 Invert Num Lock LED state (#7945) commit e3d59a72f9c5a462066439bb5396484bd39ab739 Author: QMK Bot Date: Mon Jan 20 18:48:28 2020 +0000 format code according to conventions [skip ci] commit 484a9b12bc3961fc0dd9481d3cb734959db42191 Author: Wilba Date: Tue Jan 21 05:18:25 2020 +1100 Add VIA support for QMK backlight, QMK RGBLight (#7911) * Add VIA support for QMK backlight, QMK RGBLight * clang-format changes commit ce81c4f89b61560ee35436b351b27fd23568c32f Author: Akaash Suresh Date: Mon Jan 20 10:59:55 2020 -0600 curry layout (#7943) commit ef8a4e5aaf27fa21556a75c58ae4d033d6329cf7 Author: fauxpark Date: Mon Jan 20 18:05:51 2020 +1100 Remove all references to "CUSTOM_MATRIX" as a diode direction (#7937) commit 1f86e8ae9ac5035c7dd359880b4534f5145a215f Author: Erovia Date: Sun Jan 12 14:56:11 2020 +0100 Fix attribute heritance for long commands. This is needed for inheritance to work with commands that have dashes in their names. commit e7f6e90a22306903fd38a39c95639776a9e07b5b Author: Erovia Date: Sun Jan 12 11:21:49 2020 +0100 Fix commandline arg merging, small improvements Commandline args should be merged with the submodule's config. Compare config values to None instead of False, so empty lines and False can be used as values. commit 20290a1cffc074ae41a550fa6468cb2ed1dd3027 Author: Erovia Date: Sun Nov 24 20:24:47 2019 +0100 MILC: Fix/complete attribute heritance If an undefined attribute of a submodule is accessed, fall back to same attribute of the submodule's parent. commit 80d329bb554f69630cda0376a51314698ad0ccdd Author: Spaceman Date: Sun Jan 19 21:07:30 2020 -0500 [Keyboard] Addition Eagle II keyboard (#7927) * add EagleII Keyboard * Update eagleii.c * Update eagleii.h * Update keymap.c * Update eagleii.h * Update keymap.c * Update keyboards/handwired/eagleii/config.h * Update keyboards/handwired/eagleii/config.h * Update keyboards/handwired/eagleii/rules.mk * Update config.h * Update rules.mk * Update eagleii.h * Update eagleii.h * Update keymap.c * Update info.json * Update keyboards/handwired/eagleii/rules.mk * Update keyboards/handwired/eagleii/rules.mk * Create readme.md * Update keyboards/handwired/eagleii/readme.md * Update keyboards/handwired/eagleii/config.h * Update keyboards/handwired/eagleii/readme.md * Update keyboards/handwired/eagleii/readme.md commit 251a69ea3d63ac8783e30b6e03e3866b9579af72 Author: Maarten Dekkers Date: Mon Jan 20 01:23:03 2020 +0100 [Keyboard] Add mx5160 keyboard (#7142) * Add mx5160 keyboard * Make necessary changes for merging rules.mk cleanup, QMK's built in alias for KC_TRNS and change readme blurb * Add info.json as well * Update readme, info.json * Change layout name, update led function * Fix info.json * Update rules.mk commit 31c0fe69f6f0b9e3a88e7f4cc6388727aecbeb08 Author: fauxpark Date: Mon Jan 20 09:05:54 2020 +1100 [Docs] Misc cleanups for OLED documentation (#7864) commit 65f7bfcc8dbd47557846047457191d871faffff4 Author: Joel Challis Date: Sun Jan 19 21:59:57 2020 +0000 Fix unknown key 'IndentPPDirectives' on CI (#7933) commit 4da241968cb9374f680e0133e5a1c828643df52b Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Sun Jan 19 16:08:09 2020 -0500 [Keyboard] Rebound keyboard add (#7886) * create Rebound keyboard * proofread * update decade * layer enums * revert enum layer changes * line spacing and such * product ID and punctuation * terminating terminating slashes * layer enums * remove slashes * rules change, rgb and spacing * plural layouts rgb rulez commit dd2b793c0c288509de7ca9d2e16c2cb4e3f8d267 Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Sun Jan 19 16:07:35 2020 -0500 [Keyboard] Rebound keyboard add (#7886) * create Rebound keyboard * proofread * update decade * layer enums * revert enum layer changes * line spacing and such * product ID and punctuation * terminating terminating slashes * layer enums * remove slashes * rules change, rgb and spacing * plural layouts rgb rulez commit ef33befa06f13384c06405174eb370d11a31491f Author: Takuya Urakawa Date: Mon Jan 20 03:54:04 2020 +0900 [Keyboard] Add Tartan keyboard (#7917) * first commit * update keymap and key layout * Update for release * Update keyboards/tartan/config.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/keymaps/default/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/keymaps/default/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/keymaps/default/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/keymaps/test/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/keymaps/test/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Delete tartan/keymaps/test * Update keyboards/tartan/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Delete tartan/keymaps/default/config.h * Update keyboards/tartan/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tartan/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Delete unneccesary settings * Fix tartan/rules.mk * Delete unnecessary code from tartan.c * Rearrange layout order in tartan.h * Update keyboards/tartan/usbconfig.h Co-Authored-By: fauxpark * Update keyboards/tartan/usbconfig.h Co-Authored-By: fauxpark * Update usb config * Update keyboards/tartan/usbconfig.h Co-Authored-By: fauxpark * Delete unused defines * Update keyboards/tartan/usbconfig.h Co-Authored-By: fauxpark * Update keyboards/tartan/usbconfig.h Co-Authored-By: fauxpark * Update keyboards/tartan/usbconfig.h Co-Authored-By: fauxpark Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: fauxpark commit 2bddfb986dfaa3cf6a3689d993f88bb2e693d725 Author: fauxpark Date: Sun Jan 19 22:21:03 2020 +1100 Remove tmk_core gitignore and gitmodules commit 667045b4928badaedb38f535d885a46ff8a454fb Author: Joel Challis Date: Sun Jan 19 16:30:34 2020 +0000 Run clang-format manually to fix recently changed files (#7934) * Run clang-format manually to fix recently changed files * Run clang-format manually to fix recently changed files - revert template files * Run clang-format manually to fix recently changed files - format off for ascii_to_keycode_lut commit f5209aa4e941c7f3a942ef4a7e256ab432ec98ce Author: fauxpark Date: Sun Jan 19 18:00:32 2020 +1100 Remove custom backlight code for PS2AVRGB boards (#7775) * Remove custom backlight code for PS2AVRGB boards * Remove custom driver setting * BACKLIGHT_BREATHING goes in config.h, not here * Don't need to include backlight.c again here either * Turn on backlight for Canoe * Disable console on a few boards due to oversize commit eb5d267e637db4c2c639932b8c8176bf47dff78f Author: fauxpark Date: Sun Jan 19 14:11:57 2020 +1100 Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards (#7915) * Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards * Define diode direction for failing boards * Matching parentheses * Put onekey diode directions in top level config commit eaed517c0bfb10c9169457ba2a187c0c4b0eef2e Merge: ba628a28bc dff4f13c19 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jan 18 17:00:09 2020 -0800 Added keymap for Space65 (#7562) * Initial commit * Modified keymap and updated readme. * fixed numbering in readme * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Made requested changes in PR. * Rename README.md to readme.md * swapped media control keys * updated right alt key to apply shift key for emacs * updated R_Alt to remove shift * Updated readme * add layout 2 and rename existing folder to layout 4 - renamed existing folder with directional layout to layout 4 - udpated existing readme - Added layout_60_2 * update flash script per pull request review * Added keymap profile to space65 - This keymap profile is for MacOS with VIM key bindings - See readme for more information * Update keyboards/gray_studio/space65/keymaps/billiams/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/gray_studio/space65/keymaps/billiams/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/gray_studio/space65/keymaps/billiams/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/gray_studio/space65/keymaps/billiams/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/gray_studio/space65/keymaps/billiams/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * remove unnecessary code from keymap * updated keys and cleaned up readme Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit ba628a28bcf09421739922d8eeef05e6ca9e9b6b Author: Joel Challis Date: Sun Jan 19 00:59:09 2020 +0000 Move rgblight and backlight task to common location (#7733) commit a1452db98abc2a95bac30a5f36d514748cc9851d Author: Rob Haswell Date: Sat Jan 18 20:11:33 2020 +0000 Configuration values for starting HSV and speed (#7740) * Define default HSV and speed for RGB matrix. * Documentation for configuration values RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT and RGB_MATRIX_STARTUP_VAL. * Document RGB_MATRIX_STARTUP_SPD. * Preserve the ordering. commit 9b9a0f0bcb791e3652627a642f19f7cebd30955d Author: M. de Verteuil Date: Sat Jan 18 14:24:56 2020 -0500 [Keymap] Added mverteuil keymaps and userspace common code (#7876) * Added mverteuil content - Userspace - Knops keymap - Preonic keymaps * Simplified and replaced some magic numbers * Convert tabs to spaces * Clean up LED handling, better animation, better layer init * Use get_highest_layer per @drashna suggestion * Reorder prototypes/reformat * Simplified/more expessive and fixed initial layer LED * Remove changes to git ignored files commit 6b17067b1571bd19023e175980b8d74765ce7cfe Author: Nathan Gray Date: Fri Jan 17 20:26:30 2020 -0800 [Keyboard] Fix the order of underglow LEDs on ergodash/rev1 (#7791) On the v1.2 PCB the slave half leds go in reverse order compared to the master half. With this change, the leds are all in order from left to right, so animations like Knight Rider look like you'd expect. commit 055e940f0653ab057f3b95053f1be44c44799664 Author: fauxpark Date: Sat Jan 18 15:01:17 2020 +1100 [Keyboard] Wasdat matrix cleanup (#7909) * Wasdat matrix cleanup * Use _custom functions * More deduping, and signature fix commit 3dd43d9cabce8f2b749cf439f9dae5123800d37f Author: Hybrid65 <47335616+Hybrid65@users.noreply.github.com> Date: Fri Jan 17 21:56:13 2020 -0600 [Keyboard] Support for a Southpaw Keyboard KVT (#7892) * Support for KVT This branch adds support for the southpaw keyboard KVT * Updated readme.md and keymap.c * Update readme.md * Update keyboards/kv/revT/readme.md Co-Authored-By: fauxpark * Update keyboards/kv/revT/readme.md Co-Authored-By: fauxpark * Update keyboards/kv/revT/readme.md Co-Authored-By: fauxpark * Update keyboards/kv/revT/readme.md Co-Authored-By: fauxpark * Update keyboards/kv/revT/rules.mk Co-Authored-By: fauxpark * Update keyboards/kv/revT/rules.mk Co-Authored-By: fauxpark * Update keyboards/kv/revT/readme.md Co-Authored-By: fauxpark * Update keyboards/kv/revT/readme.md Co-Authored-By: fauxpark * Updated from suggestions from pull request * Update readme.md * Update rules.mk * Update rules.mk * Update rules.mk * Update rules.mk * Update rules.mk * Update revT.c * Update readme.md * changing T to lowercase * Change revT to revt * edit * Update keyboards/kv/revt/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update readme.md Co-authored-by: fauxpark Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 6e710426a4cf7020b3649e5a1b43d37e607fbcc6 Author: Joel Challis Date: Sat Jan 18 01:56:33 2020 +0000 Add docs for 'CUSTOM_MATRIX = lite' (#7906) * Add some docs to cover 'CUSTOM_MATRIX = lite' * Apply suggestions from code review Co-Authored-By: fauxpark * Add 'SRC += matrix.c' docs * Update docs/custom_matrix.md Co-Authored-By: fauxpark Co-authored-by: fauxpark commit d11238f748554d66718b8fc13caa6e3da93fdf16 Author: Jeremy Bernhardt Date: Fri Jan 17 15:15:58 2020 -0600 switching to you know whats up mode (#7921) commit 95c24bbaf8ed2b3c9ee79226dea782dc84764c56 Author: ridingqwerty Date: Fri Jan 17 15:49:23 2020 -0500 Implement and document TAPPING_FORCE_HOLD_PER_KEY (#7859) * Implement and document TAPPING_FORCE_HOLD_PER_KEY * Added "record" parameter to "get_tapping_force_hold" * Correct typo -- remove 'IGNORE_' from 'IGNORE_TAPPING_FORCE_HOLD_PER_KEY' Co-authored-by: GeorgeKoenig <35542036+GeorgeKoenig@users.noreply.github.com> commit 1b0854fdca06d24324eecbb565702bbd337ef339 Author: Drashna Jaelre Date: Fri Jan 17 12:33:08 2020 -0800 Cleanup check for PERMISSIVE_HOLD (#7861) * Fix bug in PERMISSIVE_HOLD check caused by #5009 (aka, me) * Remove check for per key commit 75d4ff7d51160690558cf4bee1bae057f847b706 Author: zvecr Date: Fri Jan 17 18:55:24 2020 +0000 Prevent fallthrough for DIODE_DIRECTION commit 952e805edb5b5c42a8bbe35b6689c28943a53858 Author: zvecr Date: Fri Jan 17 18:50:58 2020 +0000 Initial refactor of ergo42 to split common commit 1fcd0b25783d188576f54146632f42806d22d489 Author: Callum Oakley Date: Fri Jan 17 15:59:07 2020 +0000 move caps because it can be triggered accidentally by sequences such as '("' (#7923) Thanks! commit 619ee543b8093f643585870db87bad06630c39d4 Author: Ben Date: Fri Jan 17 09:30:32 2020 +0100 [Keyboard] Add Plaid-Pad 4x4 numpad (#7900) * Add Plaid-Pad code * Move ENCODER_ENABLE under Build Options * Update keyboards/keycapsss/plaid_pad/info.json * Update keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c * Update keyboards/keycapsss/plaid_pad/plaid_pad.h * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/readme.md * Update keyboards/keycapsss/plaid_pad/readme.md * Update keyboards/keycapsss/plaid_pad/readme.md * Update keyboards/keycapsss/plaid_pad/usbconfig.h * Update keyboards/keycapsss/plaid_pad/usbconfig.h * Update keyboards/keycapsss/plaid_pad/usbconfig.h * Update keyboards/keycapsss/plaid_pad/usbconfig.h * Update keyboards/keycapsss/plaid_pad/config.h * Update keyboards/keycapsss/plaid_pad/usbconfig.h * Update keyboards/keycapsss/plaid_pad/usbconfig.h * Update keyboards/keycapsss/plaid_pad/usbconfig.h * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/config.h * Update keyboards/keycapsss/plaid_pad/config.h * Update keyboards/keycapsss/plaid_pad/usbconfig.h * Update keyboards/keycapsss/plaid_pad/usbconfig.h * Update keyboards/keycapsss/plaid_pad/config.h commit b6d8840915b9f323cad95186b8ac269bd559b9f7 Author: Josh Hinnebusch Date: Fri Jan 17 02:15:08 2020 -0500 [Keyboard] add VIA support for hiney PCBs (#7910) * add VIA support for hiney PCBs * update LED per request * update LED text per request * remove extra stuff commit d6e6feb3770e9ce465df137c944398ed19fd5797 Author: Xyverz Date: Thu Jan 16 14:34:25 2020 -0800 Further changes to HHKB keymap (#7918) * Changes to HHKB Keymap for useability * Changes to HHKB Keymap for useability * Added KC_GRV to _FL. commit 919d69266ea487db4016e092c329f4bd667bf6fd Author: Rys Sommefeldt Date: Thu Jan 16 18:06:42 2020 +0000 [Keyboard] Graystudio Space65 ISO UK layout and keymap (#7912) * ISO UK layout for Graystudio Space65 * Quick line on how to build it in the readme * Update ASCII art layout guide to match reality * Whoops, space is actually K47, not K46 * Rename to 65_iso_blocker and remove uk designation commit 1e670f5e679f691c5cade1f9b43d743a1f8e26dc Author: fauxpark Date: Fri Jan 17 00:32:09 2020 +1100 Remove `KEYMAP_SECTION_ENABLE` (#7882) commit bf397fdd9fe5adfea67cc7650c5eba53086f8a63 Author: Maarten Dekkers Date: Thu Jan 16 00:53:09 2020 +0100 [Keyboard] Add Eon40 keyboard (#7885) * Add Eon40 files * Make required changes * Add missing comma * Update rules.mk commit 5153580698740739e3071683c2cba7eeb6ccde04 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jan 15 09:38:17 2020 -0800 [Keyboard] Xbows Knight: Configurator layout polishing (#7903) commit 3a69232213643ca77f81f3e6c359bb3ce9b2ecee Author: Ahmed Elshafey <12426718+ash0x0@users.noreply.github.com> Date: Wed Jan 15 07:34:41 2020 +0200 [Keymap] Massdrop ctrl keymap (#7639) * RGB config overhaul Changing RGB config from setrgb to sethsv, trying out different color values. * Merged changes * Various changes and a couple additions Added Git Layer with git macros for most operations and LED config to show the macro keys on layer. Activated with FN+3. Added VIM Layer, this is a normal keycode layer with no macros for now but it has LED config that highlights the navigation and edit keys in VIM. Added a sticky CTRL and sticky SHIFT layers. I have no idea why I did this actually, it's mildly useful but oneshot and tapdance would be better, will be removed in later commit. Changed the LED config from setrgb to sethsv and the key by key LED config to array. Some code improvements in process_record_user. Better way to manage string macros using char array. Inspired by drashna's secret macros. * Various keymap changes and added documentation Updated massdrop/ctrl endgame keymap: Added layers for git and vim. Better LED config method, using ledmap, similar to what's used in many other keymaps. Improved process_record_user() mainly with reduced conditionals. Cleaned things up in the header and config. Added pretty much all qmk feature headers to rules and config, commented out to be enabled if desired. Firmware size should be considered. Not many features added in this commit. Shifting for a while to work on implementing raw hid for the keyboard and expanding qmk terminal. Added documentation.md for massdrop/ctrl at keyboard level to house all related information for future use. Added documentation for raw hid in docs, added the doc to feature index. Need some review for this documentation and suggested additions/changes. * Some fixes Fixed keymap documentation to include changes. Removed useless double tap keys and simplified layer maps. * Fixed error in keymap * Removed documentation changes. Will present in another PR * Update keyboards/massdrop/ctrl/DOCUMENTATION.md Co-Authored-By: fauxpark * Update DOCUMENTATION.md * Update keymap.c fixed mouse layout incomplete arrow cluster * Update keyboards/massdrop/ctrl/keymaps/endgame/keymap.c Fixed Git layer led config Co-Authored-By: totolouis * Update DOCUMENTATION.md Remove raw hid details * Update rules.mk Remove useless stuff * fixed malformed led map causing compile fail, indentation fixes * Update keyboards/massdrop/ctrl/keymaps/endgame/config.h switch from TG_NKRO to NK_TOGG Co-Authored-By: fauxpark * Update keymap.c Switching from TG_NKRO to NK_TOGG * Added yakuake layout * Update keyboards/massdrop/ctrl/keymaps/endgame/keymap.c Change biton32(layer_state) to get_highest_layer() Co-Authored-By: fauxpark * Update keymap.c Change from biton32 to get_highest_layer * Fixed custom LED not toggling off Co-authored-by: fauxpark Co-authored-by: totolouis commit 2a6cb426efc8544a5a1de59106357ccef127e6b1 Author: Xyverz Date: Tue Jan 14 21:01:58 2020 -0800 Hhkb keymap (#7907) * Initial commit of HHKB layout. * Moved keymap to the correct location. This keymap is for a hasu alt controller-equipped HHKB, so the keymap was in the wrong place. Added comments to the keymap. commit 2081c5e40e5ff92e1c028bba084c446db1e8684a Author: Joel Challis Date: Wed Jan 15 04:51:43 2020 +0000 Fix CUSTOM_MATRIX lite matrix_scan return code (#7908) commit 48cac9e3c8710ae3e27c66fbd7043f38e7c6535e Author: Joel Challis Date: Wed Jan 15 01:58:32 2020 +0000 Migrate more custom matrix 'lite' code to core (#7863) * Migrate more custom matrix lite code to core * Align function names * fix up MATRIX_MASKED commit 537b8713e5bc9690dca3c1ad8733132892d48ea2 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jan 14 17:31:17 2020 -0800 XD68 Configurator Layout Support and Minor Refactor (#7904) * XD68: QMK Configurator layout support * elevate backlight breathing settings to keyboard level * remove empty keymap config.h files * rules.mk templating * keymap polishing - four-space indent - keycode alignment commit 61cd180163cbe1324bde25abcc95d0c380459b70 Author: Joel Challis Date: Tue Jan 14 22:03:48 2020 +0000 Add ws2812 driver type define (#7888) commit b69b1ad4fcd9f011153973f2ccec004ea004ecb6 Author: yiancar Date: Tue Jan 14 22:03:01 2020 +0000 Fix NK65 indicator code after refactoring (#7902) commit bb652314beb34fe4680d58d05a4538e5772f97be Author: Sascha Grunert Date: Tue Jan 14 22:45:55 2020 +0100 Update personal keymap (#7898) Signed-off-by: Sascha Grunert commit 9b4052e5a356732441c9349976af7e444698c539 Author: Adi M Date: Tue Jan 14 13:44:59 2020 -0800 Adi's KBD67 layout (#7896) * Add files via upload * Rename keyboards/kbdfans/kbd67/rev2/keymaps/keymap.c to keyboards/kbdfans/kbd67/rev2/keymaps/adi/keymap.c * Rename keyboards/kbdfans/kbd67/rev2/keymaps/readme.md to keyboards/kbdfans/kbd67/rev2/keymaps/adi/readme.md * Update readme.md * Update readme.md * Update keyboards/kbdfans/kbd67/rev2/keymaps/adi/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kbdfans/kbd67/rev2/keymaps/adi/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kbdfans/kbd67/rev2/keymaps/adi/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 58d27cf404b2a7e02f4adf17eaba9163aac3abf7 Author: skullY Date: Mon Jan 13 21:27:12 2020 -0800 Add a note explaining how to run tests commit 44168baaa74190bb78216c27500101a75516fad6 Author: skullY Date: Mon Jan 13 21:24:55 2020 -0800 Add a section on python tests commit c7b2d60a2391f64cf2fd1e18266e2df1086815ca Author: fauxpark Date: Wed Jan 15 01:02:13 2020 +1100 Move Space Cadet keycodes to their own section in keycode reference (#7889) commit c58f7857bdeb5b0c4edbf03abefb9d659c2f3cbd Author: Koichi Katano <36572567+kkatano@users.noreply.github.com> Date: Tue Jan 14 19:31:21 2020 +0900 [Keyboard] Add Yurei PCB (#7880) * Add yurei * Implement keyboard * Update readme.md * Update config.h * Update info.json * Update info.json * Update keyboards/yurei/config.h * Delete config.h * Update rules.mk * Update yurei.c * Update keymap.c * Update keyboards/yurei/yurei.h * Update keyboards/yurei/keymaps/default/keymap.c * Update keyboards/yurei/info.json * Update keyboards/yurei/rules.mk commit e80fdbf3dc2ed7c2db39b2ac48abd67519fecb02 Author: yiancar Date: Tue Jan 14 08:31:21 2020 +0000 NK65 Bootmagic lite for default (#7895) commit 83be1aed7631efdeccf9fbcd5d702b3048f08fd7 Author: xyzz <1065521+xyzz@users.noreply.github.com> Date: Mon Jan 13 18:08:14 2020 -0500 chibios/usb_main: re-check USB status in send_keyboard after sleeping the thread (#7784) * chibios/usb_main: re-check USB status in send_keyboard after sleeping the thread * change send_keyboard to only have 1 exit point commit c293d9049a53a9589152571e9322899155b5b623 Author: fauxpark Date: Tue Jan 14 08:49:31 2020 +1100 Tidy up dztech keyboard.c/h and readmes (#7664) * Tidy up dztech keyboard.c/h and readmes * Use new lock LED function * Undo changes to led flags * Fix make examples * Update readmes some more * Clarify filetypes * Format as list commit f609e125e4a2ba4aa6a95d3afb8026fd2e68a6e0 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Mon Jan 13 13:28:35 2020 -0800 Merlin's LAYOUT_65_ansi keymap (#7879) * add my own user keymap for LAYOUT_65_ansi for my new NK65 * remove unneeded config commit 94ea13e73de3f41c724406c9ec38760109037651 Author: Maarten Dekkers Date: Mon Jan 13 21:16:27 2020 +0100 [Keyboard] Add minitomic keyboard (#7140) * Add minitomic keyboard * Small change to readme * Make changes necessary for merging Remove extra comma in info.json, move caps lock led status from keymap to keyboard, removes unused keys on full space bar layout, cleans up rules.mk and update readme blurb. * Update readme.md * Update led function, fix spacing and remove custom keycodes Removes the custom keycodes in default keymap, fixes spacing in keymap and minitomic.c and puts the new led function in as well commit 240e1ef6fd4b3356f3d21a50b0a0ad6c0673b1dd Author: marksard <38324387+marksard@users.noreply.github.com> Date: Tue Jan 14 03:06:40 2020 +0900 [Keyboard] Rebuild treadstone48 rev1 firmware (#7856) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * I re-created treastone48 keyboard firmware from ./util/new_keyboard.sh After that I use common OLED_DRIVER, RGB_LIGHT and SPLIT_KEYBOARD options. And then check all keymap. * Modified by PR review commit 1b8cb95f2e56acf09bb66e779b800ae14aa074e5 Author: csc027 Date: Mon Jan 13 17:41:13 2020 +0000 [Keymap] csc027/macro-sync-keymap (#7873) * Basic functionality to synchronize the strings and enums using C preprocessor macros. * Updated all the custom convenience macros to work. * Removed some duplicate update_tri_layer calls. * Simplified the convenience accelerator macros for synchronizing enums and strings by removing the short enum names. * Updated the CUSTOM_MACROS macro to use SS_LCTL instead of SS_LCTRL. * Fixed a bug where the right side of the convenience layer in the Iris keymap was incorrectly listed twice. * Removed the tenkey from the convenience layer. Added Windows 10 virtual desktop shortcuts to the convenience layer. * Fixed a bug where the macro range was not set correctly. * Added sigil values for the keycode enum so that additions to the sync macros will not require changes to the process_record_user ranges. * Hacked send_string_P to work with ChibiOS boards. * Switched to using I2C for the Iris keyboard. * Finished a comment. * Updated comments to explain that for non-AVR MCUs, the PROGMEM macro doesn't do anything. * Updated the synchronization macros to use the more descriptive "NAME" instead of "CALL". Moved the Control-Alt-Delete chord macro to the synchronization macro. * Simplified the custom macros by consolidating the macros into a context change macro instead of using alt-tab and minimize macros. * Fixed a formatting issue where several tabs were used instead of 4 spaces. * Added more comments to explain the synchronization macros. * Simplified the PARAMS macro, since any parameters could be passed with a space by the declarer instead. * Consolidated the synchronization macros into a single list. Simplified the synchronization mechanism. * Removed the overloading macro, since it is no longer needed. * Updated the convenience layer comments to reflect the changes made. * Renamed the git_macros pointer table to custom_macros, since it no longer solely consists of git macros. * Clarified that the send_string_P function's use of pgm_read_byte is different for AVR and non-AVR compilation targets. commit 390a4fdc9d9a7c65c202d69eb40fbfcfcb070bb0 Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Mon Jan 13 12:40:00 2020 -0500 [Keymap] fixed conflicts and made sure keymaps compiled, and some newer (older) keymaps snuck in (#7828) * hope this works * Some new things crept in * remove nonsense config file * spacing fix * more spacing * quick revert of mysterious file * file revert take two * take three * take four * deleted unneeded lines * brought back not-unneeded line * whitespace delete commit 1034df577d2931292802e00c61dc9133c67dcabd Author: Xelus22 Date: Tue Jan 14 03:36:12 2020 +1000 [Keyboard] Dawn60 bug fix [URGENT] (#7881) commit 869ce2f500ce48afdb2880c686aae2e522d0ec75 Author: Michael Firmin Date: Mon Jan 13 11:34:12 2020 -0500 Update Levinson Readme to reflect changes to directory structure (#7883) Updates the example make commands in the Levinson readme to keebio/levinson/... instead of levinson/... Also updated the example to rev3 (the current version of the board) commit af03ff145d914dd5fc7edb17ebe574e42554bd92 Author: Joel Challis Date: Mon Jan 13 03:49:01 2020 +0000 Remove backlight_init_ports from duck/orion/v3 (#7878) commit be7d70b15c4b3db4ae2aa2ea7c67caa48c9ef50b Author: John M Daly Date: Sun Jan 12 22:48:24 2020 -0500 Enable RGB underglow on the CO60 and SteamVan, switch backlight code to QMK built-in code (#7874) * Add: RGB underglow support using SPI to SteamVan and CO60 * Update: Switch to QMK's baclight implementation for CO60 and SteamVan * Fix: Remove now unnecessary backlighting code from keyboard files commit b89e35bdd33b3953711de8b0be64c76b64e9701b Author: Joel Challis Date: Mon Jan 13 01:30:56 2020 +0000 Relocate common backlight functionally (#7273) commit 2ce3025be2fd28c7ea3f2fd33c7aba7277ff668b Author: Xelus22 Date: Mon Jan 13 10:11:02 2020 +1000 [Keyboard] Dawn60 Keyboard (#7832) * dawn60_proper * change default * changes * master merge and via keymap * rgb underglow better * rename of folder * rename folder complete * rename * dawn60/underglow specifics * dawn60 specific * simplify * requested changes * small errors * layouts remove * remove parentheses and update rules.mk * fix error message commit ff5742da9ff468a7e2743c23c2e8551503792401 Author: Joel Challis Date: Sun Jan 12 22:21:42 2020 +0000 Fix KEYBOARD_SHARED_EP on ChibiOS (#7860) commit 5cb83dd5d7c60f4f19905a6e35f30b6bbfe562be Author: Jonathan Rascher Date: Sun Jan 12 16:10:21 2020 -0600 Personal keymap updates for the new year (#7871) * Update keymaps for split ergo boards * Update keymaps for 60% boards commit b187139f64abe11b0a4c614f727d8bf2784af298 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Jan 12 10:51:22 2020 -0800 [Keyboard] Reviung41: Configurator layout support (#7852) commit 9bbce7a231a5354dad4773faf23c3d3c508243f7 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Jan 12 10:50:52 2020 -0800 [Keyboard] IDB 60: Configurator bugfix (#7851) * info.json: use debug linting Changes the white space, mostly. * info.json: correct file structure * readme.md: templating commit 21d6cb18edea93ab83d21872397fce5b5622cfa8 Author: xyzz <1065521+xyzz@users.noreply.github.com> Date: Sun Jan 12 13:42:32 2020 -0500 [Keyboard] Add Xiaomi MK02 (#7825) * [Keyboard] Added xiaomi/mk02 * keyboards/xiaomi/mk02: cleanup * keyboards/xiaomi/mk02: add linker script * update readme * update * remove via (crashes during startup) * LAYOUT => LAYOUT_tkl_ansi * Change vid/pid * Add a warning to the readme commit 09b4457bf218ebc8703ba0e154eeb809e312a373 Author: Mike Rix Wolfe Date: Sun Jan 12 05:42:55 2020 -0600 Add user keymaps for KBD67MKII/Lily58 (#7671) * add my keymaps * tri layer keymap * update tri layer * update tri layer * cleaning up * formatting * move to correct location * lily58: move caps off mod key in sublayer * Update keyboards/lily58/keymaps/mikefightsbears/rules.mk Co-Authored-By: fauxpark * Update keyboards/lily58/keymaps/mikefightsbears/rules.mk Co-Authored-By: fauxpark * Update keyboards/lily58/keymaps/mikefightsbears/rules.mk Co-Authored-By: fauxpark * Update keyboards/lily58/keymaps/mikefightsbears/rules.mk Co-Authored-By: fauxpark * remove unnecessary trailing whacks * remove unneeded file * swap spacebar * update code for comments in PR Co-authored-by: fauxpark commit b6917c782fab724c181576164a7512089e54e36e Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Jan 11 23:11:06 2020 -0800 [Keyboard] KPRepublic BM60 RGB (#7842) * initial commit from script * edit all generated files with my name and some basic notes * implement RGB Matrix support * cleanups, file removals, and readme edits * Update keyboards/bm60hsrgb/config.h * rename to bm60rgb * update included library and info.json keyboard name * Update keyboards/bm60rgb/keymaps/default/readme.md commit 08cd99683999eb8fa009116a80255c185fdb9a4b Author: Jonathan Rascher Date: Sat Jan 11 19:09:04 2020 -0600 Add Lily58 serial to LIB_SRC to avoid LTO issue (#7868) This code is timing sensitive and seems to break with LTO enabled (at least on avr-gcc 8.3.0... it worked on older gcc versions). This is the same workaround as #7558 applied for the Helix. commit 8b9d4fd341c57d1bc38a18a96d213248e9afcc52 Author: Adi M Date: Sat Jan 11 17:01:48 2020 -0800 Adi's DZ65RGB layout (#7845) * Adi's DZ65RGB layout * Update keyboards/dztech/dz65rgb/keymaps/adi_dz65rgb_ansi/readme.md Co-Authored-By: fauxpark * Rename layers.JSON to layers.json * Update readme.md * Update keyboards/dztech/dz65rgb/keymaps/adi_dz65rgb_ansi/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dztech/dz65rgb/keymaps/adi_dz65rgb_ansi/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dztech/dz65rgb/keymaps/adi_dz65rgb_ansi/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dztech/dz65rgb/keymaps/adi_dz65rgb_ansi/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Delete layers.json * Update keyboards/dztech/dz65rgb/keymaps/adi_dz65rgb_ansi/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dztech/dz65rgb/keymaps/adi_dz65rgb_ansi/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dztech/dz65rgb/keymaps/adi_dz65rgb_ansi/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Rename keyboards/dztech/dz65rgb/keymaps/adi_dz65rgb_ansi/readme.md to keyboards/dztech/dz65rgb/keymaps/adi/readme.md * Rename keyboards/dztech/dz65rgb/keymaps/adi_dz65rgb_ansi/keymap.c to keyboards/dztech/dz65rgb/keymaps/adi/keymap.c Co-authored-by: fauxpark Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit 81ec3b5f81b3b8f83b763782fffd71ffe3540f56 Author: skullY Date: Sat Jan 11 12:15:28 2020 -0800 yapf and style commit 8f47e62b36cae15f989aaaa93caf05d4de258fb7 Author: Erovia Date: Thu Nov 7 19:53:03 2019 +0100 Make the udev rules easier to read and manage commit e905d86fc5ba839595ba8472f99f74250b053a47 Author: Erovia Date: Wed Oct 30 08:39:38 2019 +0100 Fix Pro Micro's and its bootloader's name commit c6f47b5bd76eaa1b64cd4bc97dc0f59ed4d99eb7 Author: Erovia Date: Thu Oct 24 18:50:35 2019 +0200 CLI: Rework ModemManager check and add udev check commit 70309bef3d47916f1b988aacc2fac598bd1f9d22 Author: yiancar Date: Sat Jan 11 17:25:27 2020 +0000 [Keyboard] NK65 Refactor (#7862) * Nk65 Refractor - Changed Via keymap to via instead of default_via - Moved Caps/Layer indicator code outside of wilba_tech rgb. This is so they can more easily be modified * Update keyboards/nk65/nk65.c commit 2d051d8de3787de889ff0f0301153dbb4e2e1272 Author: AbstractKB <49011872+AbstractKB@users.noreply.github.com> Date: Fri Jan 10 15:25:10 2020 -0500 [Keymap] Updated keymaps (#7834) commit 578f54ee94e8d1db733f842b5db9edee47486c08 Author: Daniel Shields <1530706+shieldsd@users.noreply.github.com> Date: Fri Jan 10 17:51:19 2020 +0000 [Keymap] Add additional dynamic macro key to dshields keymaps. (#7853) commit 7d7bb5bf82cd6527ec779254ccc21270f3eeecb9 Author: Patrick Fruh <809734+kaeltis@users.noreply.github.com> Date: Fri Jan 10 15:17:45 2020 +0100 added ymdk ymd09 keyboard (#7831) * added ymdk ymd09 keyboard * lowercase github username * change rgb keymap to make more sense * fixed number of LEDs * remove configuration for non-existant backlight * use official template and change file permissions * disable unnecessary nkro * Apply suggestions from code review Co-Authored-By: Joel Challis * with easy reset via bootmagic lite, remove RESET from layout Co-authored-by: Joel Challis commit b1b52c37c7e6f198052aa7f1da77db73f893ac9b Author: Seth Barberee Date: Fri Jan 10 03:52:36 2020 -0600 [Keymap] Update my iris keymap for LTO and rgbled split (#7849) commit af77912d2d6b426201d75c84e8836d6d5d8c45c5 Author: pngu <34752364+itspngu@users.noreply.github.com> Date: Fri Jan 10 09:57:49 2020 +0100 [Keyboard] Changes to support latest release of VIA, moved files to "idb" folder in "keymaps" in preparation of adding more boards, made changes to LAYOUT_ macros (#7798) * make vendor folder for idb keyboards * set default debounce to eager_pk, clean up vendor/product ID * refactoring for VIA * made changes to support latest release of VIA, added default keymap that's in line with the most popular configuration * Made suggested formatting changes * rebase to get rid of lufa files * removed idb_60.json that's only meant for via itself * Update keyboards/idb/idb_60/keymaps/via/rules.mk * Update keyboards/idb/idb_60/readme.md * Update keyboards/idb/idb_60/readme.md * Update keyboards/idb/idb_60/readme.md * Update keyboards/idb/idb_60/rules.mk * Update keyboards/idb/idb_60/config.h * Update keyboards/idb/idb_60/readme.md * made suggested formatting changes * fixing lufa * Update keyboards/idb/idb_60/rules.mk * Update keyboards/idb/idb_60/config.h * made suggested changes commit 9397bffd014c1b7f8db28675c840499f9003098b Author: fauxpark Date: Fri Jan 10 18:50:56 2020 +1100 Fix a couple of USB VIDs for the API (#7848) commit 7f388b65530b06779089be6cb4ddc56b2ecb36ff Author: zk-phi Date: Fri Jan 10 16:48:06 2020 +0900 Add per-key IGNORE_MOD_TAP_INTERRUPT feature (#7838) * Implement IGNORE_MOD_TAP_INTERRUPT_PER_KEY - Add configurable option IGNORE_MOD_TAP_INTERRUPT_PER_KEY - Add function get_ignore_mod_tap_interrupt iff the option is enabled Unless IGNORE_MOD_TAP_INTERRUPT_PER_KEY is defined, this patch does not affect the resulting binary. * Add documentation for IGNORE_MOD_TAP_INTERRUPT_PER_KEY commit e34af631c2c4b0c9406dead907bf74b460ee9f7f Author: Joel Challis Date: Fri Jan 10 01:31:01 2020 +0000 Refactor f103,f072,f042 based keyboards to use new MCU selection defaults (#7705) * refactor keyboards using ST_STM32F072B_DISCOVERY to use 'MCU = STM32F072' * refactor keyboards using GENERIC_STM32_F042X6 to use 'MCU = STM32F042' * refactor keyboards using GENERIC_STM32_F103 to use 'MCU = STM32F103' commit 5a02cc00a43cbeb9cc6ad94811acfb861d8f3929 Author: shela Date: Fri Jan 10 09:44:16 2020 +0900 Fix docker script and document (#7786) Fixed error when keyboard parameter is omitted in interactive mode. commit 886eb98e2ae070019dc8032d93d4c751d3588a67 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Jan 9 14:28:56 2020 -0800 KBD67 MKII Notes Update (#7824) * add readme to each of the mkii versions * update the most parent of kbd67 readmes to have history of the new versions * fix up the parent readme for the two types of boards * Update keyboards/kbdfans/kbd67/mkiirgb/readme.md Co-Authored-By: fauxpark * Update keyboards/kbdfans/kbd67/mkiirgb/readme.md Co-Authored-By: fauxpark * Update keyboards/kbdfans/kbd67/mkiirgb/readme.md Co-Authored-By: fauxpark * Update keyboards/kbdfans/kbd67/mkiirgb/readme.md Co-Authored-By: fauxpark * fixup readmes Co-authored-by: fauxpark commit 2cd338cf7ee5671e6fc9ede213c5b13594551e09 Author: bottilabo Date: Fri Jan 10 06:21:58 2020 +0900 Fix matrix_scan_user is not called at stm32 env(projectkb/alice etc..) which using cannonkeys/stm32f072 (#7821) commit caa70df816033c30dbbbf4c5a90d803c7bb1dfde Author: Akaash Suresh Date: Thu Jan 9 13:57:54 2020 -0600 [Keymap] Userspace refactor, adding leader key functionality (#7790) * Userspace refactor * Fixed missed ifdef * tapcode16, adjust layout * glcdfont changes from #7745 * Modify Keymaps, add workman * RGB & OLED update commit 71de09d7510213d707ca1056c6e0eca840678d37 Author: James Young Date: Thu Jan 9 10:55:46 2020 -0800 Update Breaking Changes doc timeline commit d3bd1d893b6f7caebe821b5811104a9981d8f084 Author: fauxpark Date: Thu Jan 9 21:19:24 2020 +1100 Ensure `PROGMEM` is present on default keymaps (#7836) commit d2e6a4bf5eb1b99bf0d90d9271cffd285d408c2a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Jan 8 15:47:33 2020 -0800 Handwired Minorca Refactor (#7833) * update config.h - use #pragma once include guard - update USB Device Descriptor strings * update minorca.c - remove matrix_init_kb function (same as QMK default) * update minorca.h - use #pragma once include guard - update matrix identifiers * update info.json - update matrix identifiers - change to four-space indent * update rules.mk - remote firmware size impact notes - disable RGBLIGHT_ENABLE (no RGB config present) - templating * update readme.md - templating * update keymaps/default/rules.mk - remove firmware size impact numbers - templating * update keymaps/rgb/rules.mk - remote firmware size impact notes - templating * update keymaps/rgb/readme.md - fix header * remove keymaps/default/rules.mk - identical to keyboard's rules.mk * elevate Bootmagic configurations to keyboard level * update keymaps/rgb/config.h - use #pragma once include guard - remove redundant config.h include * update keymaps/rgb/rules.mk - remove redundant rules * update keymaps/rgb/readme.md - change RGB function list to a table - make wiring call-out a header * remove keymaps/default/config.h - it's blank now * update minorca.h - use four-space indent * add Teensy 2.0 to readme commit fe860131dd60e38d95e12da3d5ecaf22f82aa344 Author: yulei Date: Wed Jan 8 16:11:45 2020 +0800 [Keyboard] fixed hhkb keymap issue on e6_rgb (#7684) * fixed hhkb keymap issue and added allleds configuration * fixed layout mismatch * add more matrix control * remove redundent define in rules.mk * turn NKRO on * remove allled macro, adding readme in allleds mode, add via support * add two more layers for via * update readme file * Update keyboards/exclusive/e6_rgb/keymaps/allleds/readme * Update keyboards/exclusive/e6_rgb/keymaps/allleds/readme.md commit 4a09679d740a68ba0cf3020cdaf4d010bd2beca5 Author: yiancar Date: Wed Jan 8 05:36:43 2020 +0000 [Keyboard] add Allison Numpad (#7823) * add Allison Numpad * alternative layout commit 331bbd602d8f83b86adcdef0a28c8330e955051e Author: Kenny Greulich Date: Tue Jan 7 21:23:03 2020 -0800 [Keymap] added custom keymap and config for dz60rgb v1 (#7808) commit 9086d720e089d838214d65449e555b1f30665636 Author: Perry Huynh Date: Tue Jan 7 21:21:52 2020 -0800 [Keyboard] add VIA support to Kyuu (#7804) * add VIA support to Kyuu * update keymap file to follow indenting guidelines * add missing newline to rules.mk * remove unnecessary backslashes and reindent default keymap commit 8fa64568f01604bde0bb5eb1923e25483af03424 Author: fauxpark Date: Wed Jan 8 12:47:43 2020 +1100 [Keyboard] Update Wasdat config (#7826) commit fdc144d215b59a5bc3f3283b159895ec42ccba0b Author: Lucas Moreira Date: Tue Jan 7 20:28:06 2020 -0500 [Keymap] Improvements to KidBrazil keymap to better handle OLED/LED Matrix timeout. (#7688) * Added KidBrazil custom keymap for CRKBD -Custom Font -Custom OLED output * Added missing readme * Oled Timeout Update for KidBrazil Keymap (#1) * Setup Oled timeout based on simple timer * Cleaned up comments and added timeout for LEDs * Fixed some small errors * Updated oled timout with matrix scan * Updated oled timout with matrix scan * Update withou eeprom * Update timer code * Use process user instead of keymap * Added ifdef to protect oledtimer * Updated with half timeout state for logo * Removed middle tier timer * Final cleanup of unused files * Updated code as per suggestions & requests * Second round of revisions * Updated keymap to better handle LED timeout - Added boolean to hold LED state - Added init function to set rgb to known state - Modified RGB_TOG to work with noeeprom commands * Finished adding the timeout for OLED and testing on CRKBD * Updated documentation * fixed the timeout logic so it works as intended * Update keyboards/crkbd/keymaps/kidbrazil/README.md commit ee70d496f44f43b5fd0e7b3a94db4dc467725e1e Author: yiancar Date: Wed Jan 8 01:26:04 2020 +0000 [Keyboard] add Allison keyboard (#7818) * Initial commit * Cosmetic Fixes * Delete config.h commit 0027a0a94874302644fa466ff074091ecc9c7b0b Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Jan 7 16:17:01 2020 -0800 Tada68 Fixes and Minor Refactoring (#7820) * fix ANSI layout macro reference * update ISO layout macro and enable 65_iso community layout support - rename to LAYOUT_65_iso (with LAYOUT_iso alias for backwards compatibility) - rename position k2c to k1d (electrical position) * rules.mk templating * tada68.h: use #pragma once include guard * config.h: use #pragma once include guard * make product id unique * update info.json * update readme * cleanup default keymap - keycode alignment - layout macro reference - four-space indent * remove matrix_*_user functions from tada68.h commit 0c86cfeaed23377862356326c0f26191f74d899f Author: Jesse Leventhal <45154268+jessel92@users.noreply.github.com> Date: Tue Jan 7 17:29:45 2020 -0500 [Keyboard] Added NCC-1701-KB 3x3 Keypad with Encoder and Keymap (#7819) * Added NCC-1701-KB Keypad and Keymap * Update keyboards/ncc1701kb/config.h * Update keyboards/ncc1701kb/config.h * Update keyboards/ncc1701kb/config.h * Update keyboards/ncc1701kb/config.h * Update keyboards/ncc1701kb/ncc1701kb.h * Update keyboards/ncc1701kb/readme.md * Update keyboards/ncc1701kb/readme.md * Update keyboards/ncc1701kb/readme.md * Fixed changes rules.mk bootloader * Fixed rules.mk Build Options * Recomended fauxpark changes/fixes * Update keyboards/ncc1701kb/ncc1701kb.h * Update keyboards/ncc1701kb/ncc1701kb.h * Update keyboards/ncc1701kb/readme.md * Update keyboards/ncc1701kb/readme.md commit b69457a192374522de9662a219165ddfdd83afc2 Author: Xyverz Date: Tue Jan 7 13:54:08 2020 -0800 More minor tweaks. (#7813) Made the MACLOCK key easier tu use by putting it on right thumb cluster as well. commit cf30c5d17f2a447e7e43a4af8941ac0271c5b44c Author: Rob Haswell Date: Tue Jan 7 21:25:17 2020 +0000 RGB matrix effect - left-right gradient (#7742) * Left-right gradient. * Update the comment to match the new functionality. * CPP does integer division so this round is not necessary. * The x-range is actually 224, update comment and use bit-shifting again. * Update docs with gradient left-right effect and associated "DISABLE" option. commit 957b8f553caa654a971e3b63cf2c4281b92cf601 Author: Robert Snyder Date: Tue Jan 7 16:23:47 2020 -0500 [Keyboard] add info.json for dactyl_promicro (#6993) * add info.json for dactyl_promicro * tabs to spaces reformat dactyl_promicro to match the LAYOUT_6x6 changed the default map to match dactyl commit 004ef3fad783832a5b61baa331b45ef5ce67fb9b Author: Karol Samborski Date: Tue Jan 7 08:57:58 2020 +0100 [Keymap] New levinson keymap (#7613) * Vim oriented scheme * Meta on both sides * Removed unused staff * Changed dynamic macro codes to the built ones * Fixed formatting commit 10d18820d2f182dd83b69a6f024edbdf8d5d4328 Author: gtips <51393966+gtips@users.noreply.github.com> Date: Tue Jan 7 15:23:32 2020 +0900 [Keyboard] Add keyboard Reviung41 (#7807) * [Keyboard] Add keyboard Reviung41 * Modified files * deleted keyboards/reviung41/keymaps/default/config.h * modified keyboards/rebiung41/keymaps/default/keymap.c * modified keyboards/reviung41/readme.md * modified keyboards/reviung41/readme.md * modified keyboards/reviung41/readme.md commit 6486c7809c06ef52f305528135ee4d97f5daf1b8 Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Mon Jan 6 23:36:00 2020 -0500 Making keymaps based on userspace (#7812) * hope this works * TF working with userspace * rules for tf * Fixed changed default files * delete old keymap * revert tf68 default to default Co-authored-by: Akaash Suresh commit 37d7fd12e2fea0dd50dd8ff0a4772e4cad7f0a27 Author: Juno Nguyen Date: Tue Jan 7 12:35:08 2020 +0800 Juno (#7652) * Added community layout juno and junonum; removed poorly maintained variants of juno; added junonum-a47. * Added community layout juno and junonum; removed poorly maintained variants of juno; added junonum-a47. * updated layout type for juno * Performing requested changes; renaming a47; fine-tuning of codes in community layout keymaps. * Fine tuning to requested changes. * Further tuning to suggestion. * Update layouts/community/ortho_4x12/juno/keymap.c Co-Authored-By: fauxpark * Update layouts/community/ortho_4x12/juno/keymap.c Co-Authored-By: fauxpark * Update keyboards/maartenwut/atom47/keymaps/junonum_a47/keymap.c Co-Authored-By: fauxpark * Update keyboards/maartenwut/atom47/keymaps/junonum_a47/keymap.c Co-Authored-By: fauxpark Co-authored-by: fauxpark commit 5f795d8382e67c68f46cdf6e079c635c3986f939 Author: Yan-Fa Li Date: Mon Jan 6 15:29:27 2020 -0800 Add an 65_ansi community layout (#7793) * Add an 65_ansi community layout - fix quoting because of comma in config.h * Enable LAYOUT_65_ansi for tada68 * cleanups * Update keyboards/tada68/tada68.h Co-Authored-By: fauxpark Co-authored-by: fauxpark commit 00d3061e02fa5fedaa6e6cebd310d4e716ffffee Author: Drashna Jaelre Date: Mon Jan 6 01:49:49 2020 -0800 [Keymap] Cleanup of Drashna code (#7800) * ifdef rgb stuff like a madman for RGB Coexistance * Re-enable RGB Light on Planck * fix RGB Coexistance issue * Tweak feature settings for Ergodox EZ Glow * Their powers combine, and I am Captain RGB This one is for noroadsleft and yan. * Limit brightness when both RGB features are enabled * Change shutdown method * Add RGB Coexistience stuff to keymap * disable RGBLIGHT_SLEEP until a solution can be found * Disable Unicode on the kyria * Fix up Iris rev defines * Fix up community layouts to compile properly * Cleanup rgb stuff * Merge ergodox keymaps * Update CCCV macro to use tap_code16 * Enable Solenoid on C39 Because josh couldn't * Enable RGB Light, not Matrix on rev6 keymap * Only enable LTO on non-ARM boards * Clean up Bootmagic OLED display * Enable RGBLIGHT_SPLIT on kyria Not that it does anything * Add hotkey for discord commit b3b115bcc4466b0320a6725c8e994a9ef4186328 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Jan 6 16:43:11 2020 +0900 [Docs] Update check commands in Japanese documents (#7787) The Japanese documents included a sample command to check the original document changes. But there was something wrong, so I fixed it. commit f2c61f8840241c0091ad7fcc3f3daa8082111842 Author: Josh Hinnebusch Date: Sun Jan 5 17:28:53 2020 -0500 h75_singa changes (#7799) commit 12c6f9a412a940021e2f98fe29e4cbf62c03ddbd Author: Wilba Date: Sun Jan 5 19:18:36 2020 +1100 [Keyboard] Added VIA support to Efreet (#7788) * Added Efreet * Review changes commit a68f514a8a82a19b078315fd068db592cd811f19 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jan 4 17:06:24 2020 -0800 [Keyboard] Add QMK support for Red Scarf I numberpads (#7767) * Add support for Red Scarf I numberpads * update info.json for configurator * Update keyboards/redscarf_i/redscarf_i.c Co-Authored-By: fauxpark * Update keyboards/redscarf_i/redscarf_i.h Co-Authored-By: fauxpark * Update keyboards/redscarf_i/redscarf_i.h Co-Authored-By: fauxpark * Update keyboards/redscarf_i/rules.mk Co-Authored-By: fauxpark * Update keyboards/redscarf_i/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/redscarf_i/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/redscarf_i/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/redscarf_i/keymaps/4x5_ortho/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/redscarf_i/keymaps/4x5_ortho/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/redscarf_i/keymaps/4x6_ortho/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/redscarf_i/keymaps/4x6_ortho/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/redscarf_i/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/redscarf_i/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_i/rules.mk Co-Authored-By: fauxpark * rename keymaps, add default * final touches! i think we're there * remove .gitignore from keymaps directory * remove unused custom keycodes from ortho_custom_4x5 keymap * remove ortho_custom_5x4 keymap (identical to ortho_5x4 keymap) * remove firmware size impacts from rules.mk * change "MCU selection" to "MCU name" in rules.mk * complete matrix array for LAYOUT_ortho_5x4 macro Probably not needed, but I like when it's complete. * add numpad layout macros * correct info.json data * update readme Co-Authored-By: Ben Weakley <2173281+Defying@users.noreply.github.com> * rename ortho keymaps to rows by columns per QMK convention * rules.mk templating * change uint32_t to layer_state_t per drashna * use led_update_kb() per drashna Co-authored-by: Ben Weakley <2173281+Defying@users.noreply.github.com> Co-authored-by: fauxpark commit 59c783df488cc8bcd9b8c92e9b27692c1e1761ed Author: Hung DO Date: Sun Jan 5 08:04:49 2020 +0700 [Keyboard] Add support for db63 hotswap rbg (#7771) * correct the matrix pin for db63 * first correct layout * adding RGB support for db63 * adding backlighting keycode * enable back extension * update readme for the bootloader * correct the capslock pin * update correct info.json and layout following suggestion * editing contact * Update keyboards/db/db63/README.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/db/db63/README.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit d4b15cd93af0609fef6e345bd1d2259f8dee62a8 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Jan 4 16:44:45 2020 -0800 [Keyboard] GH60 rev. C: fix LAYOUT_60_iso key sequence in QMK Configurator (#7792) ISO Enter's key object was out of sequence. commit 2908f1f96361435a4ba4a5baec8e3f45308963bf Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Sat Jan 4 15:51:33 2020 -0500 [Keymap] Rossman360 Userspace add (#7779) * create userspace * add early macro support, but gtg * attempt to create userspace. * all changes suggested commit dcb7ca3f7910420cfa85ba659d48285b3633a978 Author: Joel Challis Date: Sat Jan 4 20:29:44 2020 +0000 Move some common matrix code to a common location (#7699) * Move some common matrix code to a common location * Refactor some 'custom_matrix_helper' logic to use custom matrix lite * Fix build for kinesis/stapelberg - abuse of vpath was picking up matrix.c from core when custom matrix was enabled * Add validation for CUSTOM_MATRIX commit c1feeaa57f28c781e39996e5d4eea3a31f083439 Author: James Young Date: Sat Jan 4 12:24:51 2020 -0800 Update Breaking Changes doc for 2020-02-29 merge commit 6e520a721dc093244473bb786a1058d655f75406 Author: shela Date: Sat Jan 4 15:57:59 2020 +0900 [Docs] fix installation commands for macos (#7785) * [Docs] fix installation commands for macos * Update docs/getting_started_build_tools.md commit 8b80cf853bd8896dd7f86f8c80290826583abccc Author: shela Date: Sat Jan 4 15:57:03 2020 +0900 [Docs] Update Japanese translation (#7783) * [Docs] Update translation * Apply suggestions from code review * Update docs/ja/config_options.md * Update docs/ja/newbs_building_firmware.md Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 0f43c2652555fc2c4adc07eed856cd0633a8e1fb Author: Jason Thigpen Date: Fri Jan 3 16:38:59 2020 -0800 [Keymap] crd's personal keymap for hotswap leaf60 (#7777) commit 2c1417246789383829145bdfc51b3b3921a99341 Author: csc027 Date: Fri Jan 3 14:12:53 2020 -0800 [Keymap] Added csc027 keymaps for keebio/iris and planck (#7472) * Added csc027 user folder and keymaps for both keebio/iris and planck * Moved the git_macros variable out of the process_record_user function. * Updated the usb_led code to use the new led_update_user instead of the led_set_user function. * Update users/csc027/defines.h Removed the "_______" macro definition in defines.h, since it has already been defined in QMK. * Update users/csc027/defines.h Removed the "XXXXXXX" macro definition in defines.h, since it has already been defined in QMK. * Update users/csc027/csc027.c Simplified several keyboard macro definitions in the csc027.c file by switching from SS_LCTRL to SS_LCTL in their definitions. * Condensed both the planck and iris rules files to the minimal set of declarations. commit 320822d75b785401809f45007320e6fb6885b3fd Author: Wilba Date: Sat Jan 4 07:52:00 2020 +1100 VIA Configurator Refactor (#7268) * VIA Refactor * Remove old code * review changes * review changes * Fix cannonkeys/satisfaction75/prototype:via build * Add via.h to quantum.h * Move backlight init to after backlight config load * Merge branch 'master' into via_refactor_pr * Update user's rules.mk to new way of enabling VIA * Added id_switch_matrix_state * Review changes commit b36259566546eb884cc241bcfadb671051e5e75e Merge: 48eda75c83 2dc0fd2b50 Author: ridingqwerty Date: Fri Jan 3 15:08:59 2020 -0500 Merge pull request #7776 from hineybush/hbcp small hbcp changes commit 2dc0fd2b500f01b36bc9ec74b87795707d503c48 Author: hineybush Date: Fri Jan 3 14:32:54 2020 -0500 small hbcp changes commit 48eda75c838b786d688bb5066de851ee86937ad6 Merge: 3951f331c0 2a7c715bc6 Author: ridingqwerty Date: Fri Jan 3 13:37:09 2020 -0500 Merge pull request #7762 from CurryFurious/userspace_curry Adding custom userspace & 2 keymaps commit 3951f331c07a66a833d6266ccddfab5fc207e22a Merge: 983026ad8b abca0ccf4a Author: ridingqwerty Date: Fri Jan 3 11:12:55 2020 -0500 Merge pull request #7772 from Rossman360/dev_branch add Levinson keymap commit 2a7c715bc6f5774a4fa73a0a83f8c3bd44f19e22 Author: Akaash Suresh Date: Fri Jan 3 08:47:18 2020 -0600 Fixed formatting and added font file commit abca0ccf4a28caea94fa87e16e08ce0709f80ad5 Author: Rossman360 Date: Fri Jan 3 03:19:53 2020 -0500 remove head commit a1788a839804d37cf3619f39945cc790ca90203d Author: Rossman360 Date: Fri Jan 3 03:15:43 2020 -0500 remove unneccesary line commit 2f338c060847f352a6307e0438a2be32793bfe27 Author: Rossman360 Date: Fri Jan 3 01:54:13 2020 -0500 more cleanup commit c87d88be4d699754f133fb9e953199603367a4ae Author: Rossman360 Date: Fri Jan 3 01:51:08 2020 -0500 cleanup commit ee5bf0376786bbdeb14e71bc137933bdea273608 Author: Rossman360 Date: Fri Jan 3 01:46:42 2020 -0500 Add Levinson keymap commit 983026ad8bb1226e6929f6a59ecafea1e43f31aa Author: Rossman360 <53881724+Rossman360@users.noreply.github.com> Date: Fri Jan 3 02:22:21 2020 -0500 [Keymap] adding tf68 keymap, my first pull request. expecting there's lots of bad practice, sorry (#7763) * adding tf68 keymap * had tf keymap in wrong folder * added tragicforce readme * cleaned up code * more cleanup * indent love and layer name change commit 3fd8f160c3b3394f2e06643347143e46d880aa69 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Fri Jan 3 07:47:27 2020 +0900 [Docs] Added description of LIB_SRC to docs/config_options.md (#7765) And LINK_TIME_OPTIMIZATION_ENABLE move to 'Build Options' section. commit 474f7f399c707a61448b353c5d614cefa47ff69a Author: Tom Saleeba Date: Fri Jan 3 09:10:13 2020 +1030 [Keyboard] add initial ergoslab directory (#7730) * feat: add initial ergoslab directory * fix: address all comments from noroadsleft * fix: address comment from drashna * feat: add swap hands config to ergoslab * chore: change ergoslab image to real photo * re commit 61173dce5d85eb778b43a0af76c42eb217ac49ca Author: Josh Hinnebusch Date: Thu Jan 2 17:35:05 2020 -0500 [Keyboard] adjust h87a RGB settings (#7751) * update VID and PID for h87a * update default RGB underglow pattern * update comments * Update keyboards/hineybush/h87a/h87a.c * Update keyboards/hineybush/h87a/h87a.c * Update keyboards/hineybush/h87a/h87a.c commit 5b8f1327d810d7b345b8b99d4062a0aebb650f8c Author: CurryFurious Date: Thu Jan 2 16:26:09 2020 -0600 Removing unnecessary struct definitions Removed userspace_config unused variables, and removed _NUMLOCK as it isn't used anywhere. commit dd04079098a17e22693e83de227001fe548c1606 Author: Casper Weiss Bang Date: Thu Jan 2 22:06:46 2020 +0100 Fixed a small typo (#7743) commit f08ffc271534ebe2bc4ea794bf95159c006688ad Author: Legonut Date: Thu Jan 2 16:03:19 2020 -0500 [Keyboard] Updates for Sol 2 (#7746) Add Numpad to keymap Fix OLED rotation Add LED locations for Starfighter case commit 2406c04d89a8a289b131c43759beca593cc9520c Author: Gergely Peidl Date: Thu Jan 2 21:03:47 2020 +0100 [Keymap] Personal keymap for Let's Split keyboard. (#7702) * Add Initial layout configuration. * Set arduino pro micro's built in RX LED as Numlock * Enable Autoshift feautre. * Remove DVORAK layout. * Add Numpad, update default layer. * Update AutoShift timeout. * Beautify ASCII Art. * Update keymap. * Add Initial verison of RGB lighting. * Add Tap dance, hungarian letters. .Xmodmap example: https://github.com/geripgeri/dotfiles/commit/09f058753dd10e4ff8ab2aac7274b5600c466392 * Update RGB to use only noeeprom functions. * Change default rgb led color. * Add `pragma once`. * Emojis added. * Add tap dance for hungarian letters, multimedia control, slash/backslash. * Remove audio related code. * Add Gaming layer. * Remove unnecessary code, update copyright. * Add readme.md * Implement code review suggestions. * Implement code review suggestions #2 commit 156d319604b398dbc3d2290cd9e277dd19da8b96 Author: fauxpark Date: Fri Jan 3 06:50:25 2020 +1100 Remove remnants of custom matrix from Skog rules.mk (#7764) commit 5404d6baef45e5eda0d080376ee31791fc05b16f Author: hvp <32483282+hvpkod@users.noreply.github.com> Date: Thu Jan 2 20:31:54 2020 +0100 [Keymap] Hvp baseline19 (#7690) * Added my UT47.2 Swedish layout with tap dance function. * Move tap dance over to user space * Removed config_common from config file * Changes to workspace with new support for code16. Tested ok * Swedish support * Added code16 version of tapdance to userprofile. * Created 4th layer and updated readme file. Removed ascii rep of layout. * Tabdance updates * Removed duplicated RGB keys. * Added hvp minivan config * Fixed tapdance key maps * Added Planck 1 space base hvp layout * Start of hvp xd75 layout. Way to many keys * Added working config ink test for atreus62 * fixed smaller layout changes * Updated tap dance with option 5 * Added better thump keys * Created lets split layout * Removed not used modes * Updated to correct url * Readme file * Atreus62 readme * Cleanup of keymap file * Added tap dance * Fixed missed adjustment * Added hvp planck setup * Update ascii * will this work better? * removed ascii * Planck 1 space setup * Fixed ascii local * Added Corne setup * Changes for lets split * Atreus62 config * Added Lily58 * Setup corne * Setup planck * Updated lets split * UT47 setup * Setup a The Vanboard. * Alt Ctrl * #define D_NAVI MT(MOD_LCTL | MOD_LSFT, KC_D) * Fix D_NAVI & plank midi * Fixed PR comments * Added pragma * Moved def to user space * Removed not used endif * Added def to users space * Added rules to van * Removed not used part of config * Removed not used layout * Removed not needed comments * Remove not needed keymap_config_t * Removed broken ascii from readme files and removed not needed rules * Added spaces to readme file * Removed xd75 from branch commit 291ef064a7dd47e91eaa438b8dd1116aee58cdff Author: Akaash Suresh Date: Thu Jan 2 12:19:07 2020 -0600 Formatting commit a0a6e24788ebbe8f78ff6bf3644eb263f9b8d765 Author: Akaash Suresh Date: Thu Jan 2 12:13:39 2020 -0600 Added license and readme commit 3650d59afe69484c7d8c489763e04ddd3d79c03b Author: Akaash Suresh Date: Thu Jan 2 11:52:23 2020 -0600 Merge upstream/master with userspace commit 53757f97059ce02a1af31aae456b168954f5232e Author: marhalloweenvt Date: Thu Jan 2 23:57:47 2020 +0700 [Keyboard] Add p65rgb PCB (#7753) * [Keyboard] Add new keyboard Symmetry60 * Add new keyboard Symmetry60 * Fix Typo * Update keyboards/handwired/symmetry60/config.h * Update keyboards/handwired/symmetry60/readme.md * Update keyboards/handwired/symmetry60/readme.md * Update keyboards/handwired/symmetry60/readme.md * Update keyboards/handwired/symmetry60/rules.mk * Update keyboards/handwired/symmetry60/symmetry60.h * Update keyboards/handwired/symmetry60/symmetry60.h * Update keyboards/handwired/symmetry60/symmetry60.h * Update readme.md * Update keymap.c * Update keymap.c * Update keymap.c * Update rules.mk * Update symmetry60.c * Update keyboards/handwired/symmetry60/rules.mk * Add ColorLice * Update ColorLice - Adjust info.json to support Configurator - Adjust layout name to fit with info.json - Seperate 2 feature: RGB Switch and RGB Underglow * Update new way of control lock leds * Remove #ifndef COLORLICE_H * Update make example * Revert Helix * Revert Helix * Revert Helix * Revert Helix * Update keyboards/handwired/colorlice/colorlice.h * Update keyboards/handwired/colorlice/colorlice.h * Update default keymap * Revert Helix * Update keyboards/handwired/colorlice/readme.md * Update keyboards/handwired/colorlice/rules.mk * Update keyboards/handwired/colorlice/colorlice.c * Update keyboards/handwired/colorlice/colorlice.c * Remove unnecessary function * Update keyboards/handwired/colorlice/colorlice.c * Adjust rules option for working with Configurator - Move RGB_MATRIX_ENABLE and RGBLIGHT_ENABLE to keyboard rule. - Add RGB_DI_PIN in keyboard config * Update keyboards/helix/rev2/keymaps/default/keymap.c * Update keyboards/handwired/colorlice/readme.md * Update keymap for Colorlice * Adjust rules.mk to use space indent * Update ColorLice to work with QMK online configurator - Delete rgb_underglow keymap - Move config from keymap layer to keyboard layer - Tweak a little layout so it can appear default layout on QMK config * Update keyboards/handwired/colorlice/rules.mk * Update keyboards/handwired/colorlice/rules.mk * Add p65rgb * Update keyboards/handwired/p65rgb/config.h * Update p65rgb.c * Update keymap.c * Update rules.mk commit 8ec0b378bc5cd0f0154e24c4a765f91b60791f2c Author: xyzz <1065521+xyzz@users.noreply.github.com> Date: Thu Jan 2 07:49:53 2020 -0500 Fix typo in action.c (#7757) commit 2557bc8e6f6e61352fa5875646d861126c42a3b0 Author: fauxpark Date: Thu Jan 2 17:45:41 2020 +1100 Remove custom matrix from PS2AVRGB boards (#7396) * Remove custom matrix from PS2AVRGB boards * Add custom backlight.c to SRC for bminiex, for now * Add missing DIODE_DIRECTIONs commit b83e3ae556239b4aa6f2c4db20535c536692eb3b Author: Drashna Jaelre Date: Wed Jan 1 22:42:04 2020 -0800 [Keyboard] Ergodox EZ - Re-init ISSI driver on reconnect (#7731) commit dff4f13c195ff8b799e886ec671d40d1448b55b9 Author: William Chang Date: Wed Jan 1 22:31:00 2020 -0800 updated keys and cleaned up readme commit 77f66cc5e1e2a4624305526d6ff9ffee60e17588 Author: Jianfei Wang Date: Thu Jan 2 14:28:05 2020 +0800 [Keyboard] add Just60 keyboard (#7752) * [Keyboard] add Just60 keyboard * [Keyboard] just60: fixes per suggestions * Update keyboards/just60/rules.mk * Update keyboards/just60/readme.md * Update keyboards/just60/rules.mk * [Keyboard] just60: add keymap specific bootloader * Revert "[Keyboard] just60: add keymap specific bootloader" This reverts commit 0357e0a6f40233eec43f42c32fb405f60e7fbb1c. commit 86815edc3140d926e272abf9a4c48b7ba0b4fd3b Author: Benjamin Smith Date: Wed Jan 1 20:19:41 2020 -0800 [Keyboard] Change cKeys Washington keyboard to use atmel-dfu bootloader (#7756) commit 45482d612c760c6b727b138629b8f60bf90cb122 Author: Xyverz Date: Wed Jan 1 20:01:37 2020 -0800 Update Kinesis keymap (#7741) * Update Kinesis keymap Added a MACLOCK macro to lock my mac easier * Updated readme.md commit 91013d452f97f791961dc3541fb2e1ac05aaa6fa Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Thu Jan 2 11:06:55 2020 +0900 [Docs] add japanese translation (faq part) (#7464) * add faq part * add faq part * add faq part * add faq part * add faq part * update for link * update for a punctuation * update files based on comments * restore removed git diff header * correct pathname on git diff header * update files based on comments * update files based on comments * update files based on comments * update files based on comments * update file based on comment * update file based on comment * update file based on comment Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-Authored-By: shela Co-Authored-By: satt99 <39004890+satt99@users.noreply.github.com> commit c4061f003ccba195cb19b4c51db61a1f65f29039 Author: Arda Kılıçdağı Date: Wed Jan 1 20:44:22 2020 +0300 [Keyboard] Aranck handwired keyboard to support community MIT layouts, also minor optimisations done (#7737) * Aranck now supports community MIT layouts, also minor optimisations done * Update keyboards/handwired/aranck/keymaps/turkishish/readme.md * Update keyboards/handwired/aranck/readme.md commit 59b017381c96ce5fd200d4db590accf8cbea9313 Author: shikamiya <46595896+shikamiya@users.noreply.github.com> Date: Wed Jan 1 19:07:54 2020 +0900 Add creation of new keyboard in child directory (#6018) * Add creation of new chlid keyboard * Add creation of new keyboard's parent directories * Remove redundant message and if statement * Divide creating new keyboard directory from copying template files * Fix variables of year placeholder * Fix filename of keyboard.[ch] commit 680ebef0869b7860017a80bd601faac61227cd28 Author: Joel Challis Date: Tue Dec 31 17:26:40 2019 +0000 SPI DMA based RGB Underglow for STM32 (#7674) * Initial stash of ws2812 spi driver * Update comment, add sync backup plan * Add testing notes to spi ws2812 driver * Align RGBW error messages commit 7ba6456c0b2e041bb9f97dbed265c5b8b4b12192 Author: Drashna Jaelre Date: Tue Dec 31 08:33:49 2019 -0800 Use White channel on RGBW LEDs (#7678) * Use White channel on RGBW LEDs Co-authored-by: kwerdenker * Manually apply white channel to array * Move where convert_rgb_to_rgbw is called * Fix type for rgbw led struct * Add changes to Ergodox EZ can revert if deemed necessary * Revert "Add changes to Ergodox EZ" This reverts commit aa44db198d40d758ca10470eb94615513592d1dd. * Revert "Fix type for rgbw led struct" This reverts commit c5c744cba040201cc0d124400773cf13f8a2cf22. * Revert "Move where convert_rgb_to_rgbw is called" This reverts commit cd7f17caf6dd30731c54b3be54490fe4519444f9. * Revert changes and fix up functions * Enable white channel for Ergodox EZ as well * Only run conversion of rgblight is enabled Co-authored-by: kwerdenker commit a52e55ec09c587ca58a156a6c174d51e0ad228b4 Author: Drashna Jaelre Date: Tue Dec 31 06:33:54 2019 -0800 [Docs] Update macOS related issues in docs (#7744) * [Docs] Update macOS related issues in docs * Update faq_build.md * Apply suggestions from code review Co-Authored-By: fauxpark Co-authored-by: fauxpark commit d1ed98f58b67909af2425690dd11d0a85621d098 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue Dec 31 02:15:23 2019 +0900 [Docs] remove docs/ja/newbs_best_practices.md (#7739) 'docs/ja/newbs_best_practices.md' has been replaced by 'docs/ja/newbs_git_*.md'. commit 91c8a9314aed50d4220ce18e7f3f1e0476e44286 Author: Lukas Klingsbo Date: Mon Dec 30 16:34:12 2019 +0100 Dactyl manuform layout optimized for Swedish (#7724) * Dactyl manuform layout optimized for Swedish * Layers as enum commit f6bdb6afba80f451f9866517aafc507f1f15c091 Author: Sid Carter Date: Mon Dec 30 10:29:36 2019 -0500 New PCB - Curiosity - Alice Layout PCB (#7725) * add new keyboard * update config to use * confirm config that works * fix the keymaps and what not * default keymap update * update readme * update and remove unncessary files * update IDs and remove unused definitions * update readme * add new keyboard * update config to use * confirm config that works * fix the keymaps and what not * default keymap update * update readme * update and remove unncessary files * update IDs and remove unused definitions * update readme * remove unused stuff * update default keymap and add my own with layer indicator LEDs * update README * add crd's layout as part of the default as well * some specific space fixes * update readme for flashing * remove code and use mcu selection instead. yay! * remove vlk from default and enable velocikeys in madhatter * remove BL_ from default * and remove BL_ from madhatter as well * Update keyboards/cheshire/curiosity/keymaps/crd/keymap.c Co-Authored-By: fauxpark Co-authored-by: Khader Syed <35927972+chapter63@users.noreply.github.com> Co-authored-by: fauxpark commit 559ef215638e82de75e3e9221baf4909990f4f53 Author: fauxpark Date: Mon Dec 30 07:53:23 2019 +1100 Add LUFA mass storage `BOOTLOADER` "support" (#7729) commit 64263bbb0255df756dc30467ee6643054d325597 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Dec 29 11:16:24 2019 -0800 [Keyboard] Orion Locking Indicator LED Support (#7683) * add indicator lighting support thanks to Keebology tracing * set the correct number of underglow LEDs * add comments and skeletal structure for layer indicator LEDs * add backlight areas pins * update readme * we can't turn leds on based on zones, so we use multiple backlight pin support instead to turn them ALL on and control them. * add comments to backlight setting * make a more useful default keymap that can also be used for testing * add duck orion to list * add indicator led support * update readme * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre * Update keyboards/duck/orion/v3/matrix.c Co-Authored-By: Drashna Jaelre * add the appropriate header files * fix indent so Drashna will not die * Update keyboards/duck/orion/v3/v3.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/duck/orion/v3/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/duck/orion/v3/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/duck/orion/v3/readme.md Co-Authored-By: fauxpark * Update keyboards/duck/orion/v3/readme.md Co-Authored-By: fauxpark * Update keyboards/duck/orion/v3/readme.md Co-Authored-By: fauxpark Co-authored-by: Drashna Jaelre Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: fauxpark commit 8af1501328711ba806785861b183786cb5cbb80a Author: fauxpark Date: Mon Dec 30 05:21:58 2019 +1100 Clean up ISSI driver includes (#7734) * Clean up ISSI driver includes * Missed an endif commit 25aaeb4f401fedee00e90e9fe27bdea5fed778d6 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Dec 29 16:38:33 2019 +0900 Japanese translation of docs/newbs_git_*.md (#7689) * update docs/ja/newbs.md * update docs/ja/_summary.md * Translate docs/newbs_git_best_practices.md into Japanese. * Translate docs/newbs_git_using_your_master_branch.md into Japanese. * Translate docs/newbs_git_resolving_merge_conflicts.md into Japanese. * Translate docs/newbs_git_resynchronize_a_branch.md into Japanese. * Update docs/ja/newbs_git_using_your_master_branch.md * Update docs/ja/newbs_git_resynchronize_a_branch.md * Update docs/ja/newbs_git_resynchronize_a_branch.md * Update docs/ja/newbs_git_resynchronize_a_branch.md * Update docs/ja/newbs_git_resynchronize_a_branch.md * Update docs/ja/newbs_git_resynchronize_a_branch.md * update ja/newbs_git_resynchronize_a_branch.md * update ja/newbs_git_resynchronize_a_branch.md * Update docs/ja/newbs_git_best_practices.md * Update docs/ja/_summary.md * Update docs/ja/newbs_git_resynchronize_a_branch.md * update ja/newbs_git_resynchronize_a_branch.md * update ja/newbs_learn_more_resources.md * Update docs/ja/newbs_git_resynchronize_a_branch.md * Update docs/ja/newbs_git_resynchronize_a_branch.md Co-Authored-By: shela commit 36d913e1b135a2885678c7ee239572121bebca55 Author: codecoffeecode Date: Sat Dec 28 18:15:32 2019 -0800 [Keymap] Adding keymap for KBDFans Kbd67 MKII RGB (#7712) * Adding keymap for Kbd67 MKIIRGB * "addressing comments by fauxpark" commit 250a99ff1b7e7b143e6b008001f97793b331a9a6 Author: Joel Challis Date: Sat Dec 28 19:18:52 2019 +0000 Add rules.mk defaults for f103,f072,f042 (#7704) * Add rules.mk defaults for f103,f072,f042 * Add rules.mk defaults for f103,f072,f042 - remove comment * Add rules.mk defaults for f103,f072,f042 - align USE_FPU * Reset MCU to avoid build issues * Move essential config values to top and remove ability for override * Align DFU_SUFFIX_ARGS order with DFU_ARGS commit c329a0ec8ef894aadec3eb11ee44b136955cb1ca Author: yiancar Date: Sat Dec 28 08:06:42 2019 +0000 [Keyboard] Doppelganger (#7682) * Initial commit * Update info.json * Update doppelganger.c * Update keyboards/doppelganger/readme.md * Update keyboards/doppelganger/readme.md * Update keyboards/doppelganger/readme.md * Update keyboards/doppelganger/rules.mk * Update keyboards/doppelganger/rules.mk * Update keyboards/doppelganger/rules.mk * Update keyboards/doppelganger/rules.mk * More fixes my g:) * Update keyboards/doppelganger/rules.mk * Update keyboards/doppelganger/rules.mk * More prettying * Update rules.mk * Minor spacing * Init pins * Update rules.mk * Update keyboards/doppelganger/info.json commit 26a823082b17ee30aa8a0c5e39a32d854449ce15 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sat Dec 28 07:31:23 2019 +0900 [Docs] Fix minor differences in docs/newbs_git_resynchronize_a_branch.md (#7728) commit 80e73b6210dbcd3bf48c72006df935661435c43d Author: shela Date: Sat Dec 28 05:09:32 2019 +0900 [Docs] Update Japanese translation (#7693) * [Docs] Update translation * Update docs/ja/contributing.md * Update docs/ja/contributing.md Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit b359830ea2f92010a8c5459cbb610857fe5d6675 Author: fauxpark Date: Fri Dec 27 14:31:48 2019 +1100 Fix file encoding for zh-cn/custom_quantum_functions.md (#7665) commit c32d0857104eb07ee99258387f118fc63385343c Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Dec 26 19:01:57 2019 -0800 [Keyboard] Kyria Configurator Fixes (#7719) * Fix key object order info.json: Reorder the key objects into the order required by kyria.h * linting info.json: fix indent depth and trailing whitespaces * Minimize visual footprint info.json: Subtract 0.25 from each Y value to minimize the keyboard dimensions when rendered commit a14339e75215ba5562483f25260683c64abaaf85 Author: Josh Hinnebusch Date: Thu Dec 26 12:39:09 2019 -0500 Add h75-singa ver. (#7667) * add h75_singa * delete some stuff * update to remove extra crap commit cfbb848e03a113c65dd7fb01133a2049dbef6542 Author: Josh Hinnebusch Date: Thu Dec 26 12:38:10 2019 -0500 Add LZ PhysiX PCB (#7668) * add physix PCB * update info.json and default keymap per LZ * update make example in readme * remove extra stuff * remove excess newlines commit 12baca129545bbd194fc95e542abfd6fcf552f47 Author: Jonathan Rascher Date: Thu Dec 26 09:46:18 2019 -0600 Initial Crkbd layout (#7716) commit 4edc8fc3c70c30dbcc927dbfc8570369cbc325d6 Author: Martin Karlsson Date: Thu Dec 26 16:45:14 2019 +0100 K-Nunmpad17 (#7708) * Initial commit for K-Nunmpad * Changed layoutname Corrected the files according to drashnas suggestions. * Some names have been changed * Some code thats not been used has been removed * Fixed rules.mk When adding the commnity layout, tapdancing broke. This was fixed with rules.mk was changed in the k-numpad and karlssn keymap. * Cleanup according fauxpark Cleaned up the readme.md and the rules.mk according to feedback from fauxpark. commit e5501d48155a7c2855d4c30249e8d2d40b7c621a Author: fauxpark Date: Wed Dec 25 19:17:02 2019 +1100 Make the keyboard beep when Audio is enabled and `\a` is encountered in a sendstring commit 46e2b6e43d6667cc20bcccf34c71dc60048ac9b2 Author: Drashna Jaelre Date: Wed Dec 25 09:54:47 2019 -0800 Turn off RGB Matrix LEDs when keyboard sleeps (#7713) commit 9aedb620c51e61b0ec654ffaeb0eac2d8839b0b4 Author: zvecr Date: Tue Dec 24 20:27:58 2019 +0000 Add backwards compatibility for oled_write_raw_P on ARM commit 7494490d6d8966596434c0f6dcdd9d0a6600dfba Author: Toshihiro Suzuki Date: Mon Dec 23 12:58:51 2019 +0900 Update toshi0383 keymap (#7700) * minor update for reviung39:toshi0383 * update zinc:toshi0383 commit 70661645917cc9a8e492abb82828c55cf137b834 Author: Drashna Jaelre Date: Sun Dec 22 05:50:08 2019 -0800 Completely remove i2c_transmit_receive function (#7686) * Add i2c_transmit_receive function This function is listed in the ARM header file, but doesn't actually exist. * Remove i2c_transmit_receive function * Update DRV2605L read function to use i2c_readReg on both arm and avr commit 0e2ff9b384fa2ec10d2555ef2e87915f453cecab Author: XScorpion2 Date: Sat Dec 21 23:39:26 2019 -0600 Readded lost pgm_read_word code to encoder array lookups (#7577) commit 376419a4f7e0489111a9ac24acc847342fe9d64d Author: Joel Challis Date: Sat Dec 21 18:22:49 2019 +0000 Add central location for ChibiOS defines (#7542) * Add central location for chibios defines * Add central location for chibios defines - actually add files this time.... * Add Copyright header * Update include order to resolve i2cv1 build errors commit 05b479d349aafb8298b43fcbfcddc4440336de9c Author: Ryan Date: Sat Dec 21 22:01:28 2019 +1100 Add TADA68 keymap/rules/config for QMK bootloader (#7679) * Add TADA68 keymap/rules/config for QMK bootloader * Remove extraneous #DEFINEs * use #pragma rather than include guards Co-Authored-By: fauxpark * Remove obselete #endif Co-Authored-By: fauxpark * #undefine DESCRIPTION before redefining Co-Authored-By: fauxpark * Remove obselete #define Co-Authored-By: fauxpark Co-authored-by: fauxpark commit 52c18ef0265a8bb4b521b787f425c906a9180ef9 Author: shela Date: Sat Dec 21 20:00:22 2019 +0900 [Docs] fix docs (#7642) * [Docs] recurse-submodules option is need now * [Docs] `tmk_core` folder is correct * [Docs] fix typo * [Docs] package scope has changed * [Docs] Fix menu differences * Update docs/arm_debugging.md Co-Authored-By: fauxpark * Update docs/arm_debugging.md Co-Authored-By: fauxpark * fix typo Co-authored-by: fauxpark commit d47809575662d3587924c306579f0b7e8c8809f1 Merge: adf4acf596 3f696664d6 Author: Joel Challis Date: Fri Dec 20 17:37:40 2019 +0000 Merge pull request #7663 from fauxpark/dztech-config-h Tidy up dztech config.h commit adf4acf5967e9dd50eac1583ead1fa796487882c Author: Yan-Fa Li Date: Thu Dec 19 21:50:59 2019 -0800 [Keyboard] Clueboard 60 fix col 11 12 mixup (#7685) * Fix reversed col 11 and 12 - the two columns are reversed in the matrix * Fix gui * Fix reversed col 11 and 12 - the two columns are reversed in the matrix commit 3f696664d67c96e5e39d426c1a10feba9fe2e3d4 Author: fauxpark Date: Thu Dec 19 08:30:51 2019 +1100 Missed these LTO blocks commit e4c257fb01ac58230d982cf554bd1e73dd2b7d8a Merge: b4bda14f3c 593bfc86a1 Author: Joel Challis Date: Wed Dec 18 19:38:16 2019 +0000 Merge pull request #7672 from ihotsuno/patch-1 I corrected my name. commit 593bfc86a10f8a5e59465eb4440ecc2c9cee66b7 Author: ihotsuno <52576847+ihotsuno@users.noreply.github.com> Date: Thu Dec 19 03:13:27 2019 +0900 I corrected my name. commit b4bda14f3c73a3550ea3c415d76cac3ada63b7ab Merge: f42dd61b8d 3c190f8927 Author: Joel Challis Date: Wed Dec 18 15:42:56 2019 +0000 Merge pull request #7666 from fauxpark/docs-edit-page Improve docs "Edit Document" footer commit f42dd61b8d29f71af2ce479064c64c96fef55ad4 Author: Eric Defore Date: Wed Dec 18 03:59:12 2019 -0500 [Keymap] Added userspace for d4mation. Included their keymap for the Atreus62 (#7483) * Added userspace for d4mation. Included their keymap for the Atreus62 * Do not assign layer numbers manually * Remove some unneeded things per @drashna's recommendation * Fix some single line comments I missed * Update unicode macros to use send_unicode_hex_string() instead of process_unicode() * OBetter check for Unicode Enabled. Moved some checks into macros.c * Use eeconfig_init_user() to set default unicode input mode commit b2405fccce1d9dd33e72d2b43a941e9b6bbd1f0d Author: Rys Sommefeldt Date: Wed Dec 18 08:46:49 2019 +0000 [Keymap] Custom user keymap for Think6.5 with LED range control (#7603) * ISO layout for the soldered Think6.5 PCB * Think6.5 personal layout readme * Add personal Think6.5 user map with LED group cycling * Add default case to process_record_user * Make the ASCII diagram match the layer properly * Relocate KC_NUHS to the home row for consistency * Add LAYOUT_65_iso_badge to info.json * Wire up the badge LEDs as capslock LEDs * Remove unused keymap variable commit 3415dcef6fbd7e3ed96159747e2b428780642b3a Author: Lucas Moreira Date: Wed Dec 18 03:37:56 2019 -0500 [Keymap] CRKBD Custom Keymap - KidBrazil (#7630) * Added KidBrazil custom keymap for CRKBD -Custom Font -Custom OLED output * Added missing readme * Oled Timeout Update for KidBrazil Keymap (#1) * Setup Oled timeout based on simple timer * Cleaned up comments and added timeout for LEDs * Fixed some small errors * Updated oled timout with matrix scan * Updated oled timout with matrix scan * Update withou eeprom * Update timer code * Use process user instead of keymap * Added ifdef to protect oledtimer * Updated with half timeout state for logo * Removed middle tier timer * Final cleanup of unused files * Updated code as per suggestions & requests * Second round of revisions commit 7048b9403472464e3b2c9eea4ffbaf5be9538785 Author: x1 Date: Wed Dec 18 17:02:57 2019 +0900 [Keymap] Add pico 70 keys keymap (#7654) * Move pico/rev1 to pico/65keys. * Add pico/70keys. * Remove unneeded codes. * Modified valid 70 keys keymap for jis. commit 3c190f8927f8676febb5e247908d2bdfd574a54b Author: fauxpark Date: Wed Dec 18 14:01:13 2019 +1100 Improve docs "Edit Document" footer commit d23e81b1f00e2a98b2543d0340870efb835d643b Author: fauxpark Date: Wed Dec 18 10:23:26 2019 +1100 Tidy up dztech config.h commit 1ac99586a6035bb36fd8a9479b443e636a3abf87 Author: fauxpark Date: Wed Dec 18 10:15:47 2019 +1100 Tidy up dztech default keymaps and info.json (#7608) commit cfb4c9bb61b4c0f48e0a3a81d0d95bc1ffc7a592 Merge: 78ffc4f7fe 98c8a30764 Author: Joel Challis Date: Tue Dec 17 23:09:20 2019 +0000 Merge pull request #7657 from fauxpark/dztech-rules-cleanup Tidy up dztech rules.mk commit 78ffc4f7fe1b9e86398d1eb8d95f23316a87b1a6 Author: Arda Kılıçdağı Date: Wed Dec 18 01:41:41 2019 +0300 Heisenberg handwired keyboard added (#7643) * Chotanck keyboard added * Chotanck renamed to Heisenberg * Further updates to Heisenberg Keyboard done * Update keyboards/handwired/heisenberg/info.json Co-Authored-By: fauxpark * Update keyboards/handwired/heisenberg/rules.mk Co-Authored-By: fauxpark * Update keyboards/handwired/heisenberg/readme.md Co-Authored-By: fauxpark commit 1646717b4b11141dd75367751421269c5df5c600 Author: Nygel Lyndley Date: Tue Dec 17 22:38:22 2019 +0000 [Keyboard] Added Filco Majestouch TKL Pegasus Hoof ISO Layout (#7647) * [keymap] Added Filco Majestouch TKL Pegasus Hoof ISO Layout * - add rules definition * Revert "- add rules definition" This reverts commit 59bfbe83883fbf2337b9541aa2875e935064a1f4. * - fixed incorrect variable naming commit 67054fc3806953feb34adbf9a272fcfcaace6d0f Author: Øyvind Wilhelmsen <46304257+oeywil@users.noreply.github.com> Date: Tue Dec 17 23:06:48 2019 +0100 Ported J80 to QMK (#7488) * ported J80 to QMK * added default ISO layout * removed optional override functions * set bootmagic to lite * removed comment * added tkl_ansi and tkl_iso layouts * updated vendor and device name * set ANSI layout as default and split iso to separate folder * removed empty file * Update keyboards/J80/info.json Added comma Co-Authored-By: fauxpark * Update keyboards/J80/keymaps/default/keymap.c Removed backslash Co-Authored-By: fauxpark * Update keyboards/J80/keymaps/default/keymap.c Removed backslash. Co-Authored-By: fauxpark * removed comments and backslash, fixed JSON formatting * Rename J80.h to j80.h * Rename keyboards/J80 to keyboards/j80 * renamed folder to lowercase * added key definition for reset key * added define for KC_NO to underscores * Added backlight and lock LED support * Fixed BACKLIGHT_PIN * Fixed typo * Added define for bootmagic lite and description in readme * Update keyboards/j80/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/j80/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/j80/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/j80/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/j80/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/j80/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/j80/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/j80/j80.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/j80/j80.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/j80/keymaps/default/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Apply suggestions from code review Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Added full right shift layouts commit 4ebecc424e7f4beeb6985faf0ed9199823fa648f Author: Dmitry Nosachev Date: Tue Dec 17 08:42:03 2019 +0300 [Keyboard] Magnavox Videowriter conversion with Pro Micro (#7634) * Magnavox Videowriter convertion * Magnavox Videowriter: readme, images * Update keyboards/handwired/videowriter/info.json * Update keyboards/handwired/videowriter/README.md * Update keyboards/handwired/videowriter/README.md * Update keyboards/handwired/videowriter/info.json * Update keyboards/handwired/videowriter/info.json * Update keyboards/handwired/videowriter/info.json * Update keyboards/handwired/videowriter/info.json * Update keyboards/handwired/videowriter/info.json * suggested changes * suggested changes * fix comment symbol * Update keyboards/handwired/videowriter/rules.mk * Update keyboards/handwired/videowriter/rules.mk * Update keyboards/handwired/videowriter/rules.mk commit a860da891497afc536d6248fad35dff5fb782472 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Dec 17 14:01:46 2019 +0900 [Docs] add japanese translation (basic part) (#7461) * add basic part * update cli * update cli * correct links to ja document * update files based on comments * update for a postpositional particle * update for a punctuation * update files based on comments * update files based on comments * update files based on comments * update files based on comments * update files based on comments * update files based on comments * update files based on comments Co-Authored-By: shela Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> commit 98c8a307645c8661db97f22b192adb3f26752d2b Author: fauxpark Date: Tue Dec 17 10:50:26 2019 +1100 Tidy up dztech rules.mk commit ae40fc498b185d3d23908780a3d3425eb5ff05b5 Author: Joel Challis Date: Mon Dec 16 20:27:53 2019 +0000 Relocate RGB keycode processing (#7508) * Move rgb keycode logic to process_keycode * Fixes for rgb matrix * Fixes for mxss * Fix inc/dec logic, add comments * Fix return RAINBOW_SWIRL logic * stop external use of rgb helper functions * merge fix * Fix 'defined but not used' when all animations are disabled commit 0082ecf1f3328eb45a865bf50d3f44ca632d9f7b Author: Yan-Fa Li Date: Mon Dec 16 11:26:02 2019 -0800 Move kwerdenker's personal keymap from RGB (#7645) * Move kwerdenker's personal keymap from RGB Talked to Maartenwut about making RGB an actual template instead of kwerdenker's keymap. Free'd up B7 so it can be used for audio in agreement with MW. He's considering adding a speaker footprint to next rev of plain60, and only B7 can be used with Audio. RGB uses bitbang driver so it doesn't really make any difference if it's pin B0. - RGB should be a template for other people to modify, not a personal keymap - change default pin to B0 to free up B7 for audio use - rename RGB to kwerdenker * Add RGB keycodes to FN layer * don't use uppercase in keymap names - doesn't work properly on MacOS or Windows * Add an audio specific keymap * Enum instead of define * Suggested change to keymap - maintain compatibility with old keymap commit 7cddcce23798937bf7373c7cb289a0a510fb1232 Author: Joel Challis Date: Mon Dec 16 19:20:33 2019 +0000 Remove QMK_KEYBOARD_CONFIG_H from boards (#7635) commit adb72b60b0ea151ad12df03b1d6659fad464c400 Merge: bc2157eea8 3d54b1adf0 Author: Joel Challis Date: Mon Dec 16 16:39:54 2019 +0000 Merge pull request #7276 from zvecr/feature/backlight_driver_config Convert backlight to follow driver rules pattern commit bc2157eea8aa99970a3785439efe5823fc76b0b4 Merge: f3bf301825 94e2a39d72 Author: Joel Challis Date: Mon Dec 16 16:35:08 2019 +0000 Software backlight improvements (#7255) * Update software backlight to precalculated duty patterns * Update default backlight state to match avr pwm * Move function to make diff look nicer commit f3bf301825db5fd8bfa369d26584a64f5d640ecb Author: Joel Challis Date: Mon Dec 16 16:33:48 2019 +0000 Disable usb on slave half to resolve random 'lockup' (#7649) commit 85f4c3ebb456c2d6feebf8934ab014436d7f8f17 Author: Drashna Jaelre Date: Mon Dec 16 08:31:59 2019 -0800 [Core] Optimize matrix processing (#7621) Backport of tmk/tmk_keyboard@ad6059adc7039a54d1db75da783068654906a679 commit 853b99954ed021d52ae4d7afe17651437fce4df9 Author: Boy_314 <32818287+Boy-314@users.noreply.github.com> Date: Mon Dec 16 02:27:10 2019 -0500 [Keymap] boy_314's satisfaction75 layout (#7638) * added boy_314's satisfaction75 layout * added readme * updated NKRO toggle, removed unecessary code * Update keyboards/cannonkeys/satisfaction75/keymaps/boy_314/config.h Co-Authored-By: Drashna Jaelre commit 74dc65ab2efd315eaf1b954b782289d5be3c0721 Author: randlor <57689764+randlor@users.noreply.github.com> Date: Mon Dec 16 05:33:04 2019 +0000 [Keyboard] XD68 65% ATMega32U4 based (#7395) * First working draft * Updated readme.md * Fixed url * Typo fix * RGB + Backlight working * Fixed matrix for ISO NUHS * ISO matrix working * Adding ANSI default layout * First release commit * Removed reference to deprecated layout * Changes from PR #7395 review * Additional changes as requested for PR #7395 * Additional changes from @noroadsleft review * Replaced ifndef/endif with pragma * Adding yanfali's recommended changes commit 3eb82e047079230e55d3aeff901c4d0dce69fb3a Author: Yan-Fa Li Date: Sun Dec 15 14:03:23 2019 -0800 [keyboard] Plain60 cleanups (#7644) * Change plain60 to bootmagic lite - it's easier to reset and maintain a keyboard with lite - remove obsolete size comments * Add RESET on a layer to default keymap * Use _FN * Maintain compatibility with keymap * Fix thinko commit ad7ba08ac830a793b6a1aaefb2d420dd140de2e6 Author: Josh Hinnebusch Date: Sun Dec 15 16:47:32 2019 -0500 update default h88 keymap (#7646) commit 876e5444331be78637497903ba31a03b29de8b1d Author: Zach Date: Sun Dec 15 14:27:42 2019 -0500 [Keyboard] Add ymd67 keyboard (#7631) * [Keyboard] Add ymd67 keyboard * Apply suggestions from code review * Apply more suggestions from code review commit b54722cc639c5c1c6a4ed8e09e881a1c7a2806a2 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Dec 15 03:16:31 2019 +0900 Change newbs.md to link to the new newbs_git_best_practices.md instead of newbs_best_practices.md. (#7633) commit 94e2a39d7257357f432a323674d4ed405856c3ae Author: zvecr Date: Sat Dec 14 17:25:32 2019 +0000 Move function to make diff look nicer commit f6b9604f4a9e7a97ce2ce06a151c46f577b4133c Author: zvecr Date: Sat Dec 14 17:24:17 2019 +0000 Update default backlight state to match avr pwm commit 037467781422b8a7c021d4f17d7bcce14aec57b7 Author: Drashna Jaelre Date: Sat Dec 14 04:00:09 2019 -0800 core: Fix variable init and header include (#7626) tmk backport from tmk/tmk_keyboard@325a99acd9c81f60519b6e594b2bf5d1e478ac56 commit 3d54b1adf072938c46efba89e31b2afef407db85 Author: zvecr Date: Wed Nov 6 00:06:36 2019 +0000 Convert backlight to follow driver rules pattern - update docs commit d4c23d881fcd9fafcd3ea678614f006203b64e71 Author: zvecr Date: Tue Nov 5 23:44:43 2019 +0000 Convert backlight to follow driver rules pattern commit 1f26101f0e5a9377a5016a0e49e46b6dae465fed Author: Drashna Jaelre Date: Fri Dec 13 18:06:18 2019 -0800 remove SERIAL_SOFT_DEBUG macro (#7625) SERIAL_SOFT_DEBUG can be defined in the `config.h` Backported from tmk/tmk_keyboard@c74eee6327c5995456ba004d70b9663cf485d9f8 x commit 80c2e2674181191a41c4ca2c774d1a95b8a75838 Author: Joel Challis Date: Sat Dec 14 01:29:54 2019 +0000 Fix ChibiOS USB config for chips which support OTGv1 (#7564) * Align endpoint config as per rest of file (fixes #4783) * Add comments about explicit order use * Update tmk_core/protocol/chibios/usb_main.c Co-Authored-By: fauxpark commit 707d449ba0f69acbc0580e6f898fa2203ec992ba Author: Sid Carter Date: Fri Dec 13 12:14:11 2019 -0500 Project Keyboard Alice PCB - Indicator LEDs and keymap update (#7442) * allow main functions to be overridden * update keymap to toggle keys and cleanup a bit * allow main functions to be overridden * update keymap to toggle keys and cleanup a bit * get them lights working with the new setup * disable console on my keymap, cause ARM and Linux, for now * update keymap * add home and end to the navigation * thought this was redundant - update keyboards/projectkb/alice/alice.c Co-Authored-By: fauxpark commit ba13127c045d653929b554d2444ce31caba59502 Author: starcalleramethyst <58349097+starcalleramethyst@users.noreply.github.com> Date: Fri Dec 13 11:12:45 2019 -0600 New RGBKB Zen Rev1 keymap (#7609) * adding my zen 1 keymap updated layers and custom keycodes * added slack + paste defined custom keycode S_H_P and added to layer 3 * added custom keycodes defined and inserted T_H_B and T_H_T * enabled tap dance adjusted rules to include tap dance * tap dance enumeration and timing added a TD key to send space on press and . on double tap. added tapping term to set tap detection time. * added custom keycode added E_SS to print string * added mouskey + enum keycode added in mousekey to rules. added custom code DC_C to double click and copy. * updated custom keycode string added a space into the output string for S_H_P * removed colemak layer colemak commented out, started adjusting MOs * added 1 key copy paste used from https://github.com/qmk/qmk_firmware/blob/master/users/drashna/process_records.c#L116-L130 * updated rgb and copyright line * updated tapcode KC_CCCV * Update keyboards/rgbkb/zen/rev1/keymaps/starcaller_v1.1/config.h Co-Authored-By: Drashna Jaelre * updated keymap folder name to my username commit 20d3a979f1999fcc27a47e4f32533fb8e8b633a0 Author: Noan Mousy <4sstylz@protonmail.ch> Date: Fri Dec 13 15:39:10 2019 +0100 Adding Backlight on the handwired AEK64 keyboard (#7629) * Implementing backlight with breathing * Rework of my personal keymap and adding some macros. commit 2d1c985ff44ecfe54fe82021e0326b3c7b07db9f Author: Drashna Jaelre Date: Fri Dec 13 03:36:37 2019 -0800 core: Fix build config in protocol.mk (#7620) Backports commits from tmk_keyboard commit e4818cf7323bb8f437db625903ebe471deaab335 Author: Sid Carter Date: Fri Dec 13 04:32:06 2019 -0500 [Keymap] Personal keymap for the E6.5 (#7623) * add new layout mirroring all my other layouts * add rgb and other keys on fnm layer commit a1b53b45ca266c720756c0be87aeab6b5dec7915 Author: nrtkbb Date: Fri Dec 13 16:28:45 2019 +0900 [Keyboard] Add uzu42 info.json (#7617) * Add uzu42 info.json * Made corrections provided by noroadsleft. commit 09c7304bd98fcf39deddbabc16f6a3f0b5391b9c Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Fri Dec 13 13:59:00 2019 +0900 [Docs] update git command and directory name of documents (#7619) commit 58b2c72d53649afc02e15077e827aa0926a09b40 Author: moyi4681 Date: Thu Dec 12 20:58:06 2019 -0800 [Keyboard] add kbd67mkiirgb v2 keyboard (#7618) commit 627d6c154c1bbcdefcd88aaa912fe9cde1817256 Author: Max Rumpf Date: Fri Dec 13 05:56:35 2019 +0100 [Keyboard][Phoebe] Send backslash on AltGr + ? (#7616) commit 4fbb53e817b82e2bd3d699ca27766b4d4af0112a Author: kakunpc <15257475+kakunpc@users.noreply.github.com> Date: Fri Dec 13 13:56:17 2019 +0900 [Keyboard][angel64] fix info.json (#7615) commit ab78386e021037bda9855bae444564a8ceff8404 Author: Bart Riemens Date: Fri Dec 13 04:18:53 2019 +0100 [Keyboard] Add Exclusive E7-V1 SE keyboard and keymaps (#7598) * Updated based on feeback in PR #7598 commit f5638e54f51360095640fff621315997e23be30d Author: yulei Date: Fri Dec 13 10:44:14 2019 +0800 update dp60 configuration (#7561) * update dp60 configuration * disable rgb underglow to avoid firmware overflow * cleanup rules.mk * Update keyboards/dp60/keymaps/allleds/rules.mk Co-Authored-By: fauxpark * Update keyboards/dp60/keymaps/allleds/rules.mk Co-Authored-By: fauxpark * Update keyboards/dp60/keymaps/allleds/rules.mk Co-Authored-By: fauxpark * Update keyboards/dp60/keymaps/allleds/rules.mk Co-Authored-By: fauxpark * Update keyboards/dp60/keymaps/allleds/rules.mk Co-Authored-By: fauxpark * cleanup all rules.mk commit 77efa1c620251c9c151dd89d9d0bd256fd146d71 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Dec 12 18:12:44 2019 -0800 [Keyboard] Fluorite: add Configurator layout data (#7612) commit a037cedfdc0bdb5737586ab4b4ef7086e53029b7 Author: yulei Date: Fri Dec 13 09:20:04 2019 +0800 fixed I2C driver support for stm32f4 (#7526) * correct i2c driver for stm32f4 * update pin mode definitions * update macro definition commit df78593b1ba800223c049f3f61df6ad4bf4abe7c Author: Lukas Alexandre Date: Thu Dec 12 20:45:56 2019 +0100 [Keyboard] Added Lex60 keyboard (#7600) commit 45e71aedf030d80e62c491c4a906fdf88ccaec0c Author: Ethan Beyer Date: Thu Dec 12 05:53:39 2019 -0500 [Keymap] My DZ60 Layout and files (#7537) * I don't know if this is how my keyboard is laid out or not * testing, still broken * name change * I think this is the layout I will try to use to start * it compiles! * added norman layout! * media keys * Moved backlight functions to KEYB Moved Delete off of Backspace and to the < key * more changes to layout, move Norman to 1 so it was moddable by FCTN * swapped volume and media, I use volume a lot more than media * Eh, it's still all in flux. * I don't want the entire function layer full of dead keys, after all... * moves escape to the caps lock key and caps lock to the functions layer * update my readme for posterity * Updates bonfire dz60 for better escape control * WIP commit -- this is not working yet * updates keymap for GAME layer adds info to README adds visual keyboard layout map in json and jpg for reference * updates readme for visual keymap insertion * removes my layout from the parent folder and keeps it localized * updates the C code to be more readable * finished the HELD_ESCAPE code * finishes v6.1.0 * updates layout names to match repo code style per @mechmerlin Apply suggestions from code review * updates to code style per suggestions by @mechmerlin * Update global-functions.c updates some personal documentation * updates hold time for escape on gaming layer * updates several aspects of the code based on PR requests * moves a variable commit bbad6e1ae7c68b4bf19c9d13f7347ce2b664fed6 Author: Max Rumpf Date: Thu Dec 12 04:39:04 2019 +0100 [Keyboard][Phoebe] Update default keymap, fix LAYOUT macro (#7604) * fix LAYOUT macro * Phoebe: Update default keymap * Replace XXXXXXX macro with the previous key instead commit efb21c00ce8090303456dc9c22665a69c3fc298a Author: Joel Challis Date: Wed Dec 11 19:39:30 2019 +0000 Fix FORCE_NKRO handling (#7601) commit 071eb2478f039e21effb981a8a98e6181238b53b Author: Joel Challis Date: Wed Dec 11 19:36:00 2019 +0000 Remove mbed files (#7605) * Remove mbed files * Remove mbed files - fix comment * Remove mbed logic blocks commit 770a4ee7291095aaa6548d3e988633bf2ae6e6c0 Author: fauxpark Date: Thu Dec 12 06:33:10 2019 +1100 [Docs] Remove some outdated FAQ items (#7607) commit ccda62616d422ae6df810b6fd68fc8e61002e278 Author: kakunpc <15257475+kakunpc@users.noreply.github.com> Date: Thu Dec 12 03:40:00 2019 +0900 [Keyboard] update angel64 (#7545) * add angel64 rev1 * update angel64 * fix keymap.c commit 698d0dbda8a4b081103b4a382baa1f99e3f77ceb Author: fauxpark Date: Wed Dec 11 12:26:40 2019 +1100 Use `clock_prescale_set()` from avr-libc (#7540) * Use `clock_prescale_set()` from avr-libc * Remove outdated FAQ info commit 1af31a0523b3fd4c82f27bd07b130a8f4669049a Author: Duncan Elliot <42836473+dmelliot@users.noreply.github.com> Date: Wed Dec 11 10:31:39 2019 +1100 Update feature support for Proton C (#7596) Added a couple of entries for some features not currently supported on Proton C. commit a8153774b52382c50673b62c8be06d0ee07c8ba2 Author: fauxpark Date: Wed Dec 11 09:27:40 2019 +1100 [Docs] Fix docs fallback for pt-br (#7602) commit 10e8ed7430653a50a9859301f1ac25894341c197 Author: Igor Hideki Trindade Date: Tue Dec 10 14:19:12 2019 -0400 [Docs] add README translation in portuguese (#7016) * add README translation in portuguese * add lang in menu * Update docs/pt-br/README.md * Update docs/pt-br/README.md * Update docs/pt-br/README.md * Update docs/pt-br/README.md * Update docs/pt-br/README.md * Update docs/pt-br/README.md * Update docs/pt-br/README.md * Update docs/pt-br/_summary.md * Update sumary links * Update README Co-Authored-By: Álvaro A. Volpato commit cde56a7eee2cc07a3702d756592096e482d1b928 Author: MudkipMao Date: Mon Dec 9 21:51:15 2019 -0800 [Keyboard] Think6.5 Default Keymap Cleanup (#7594) commit 8551ab3daf97e62f7b679ed7d8042141300566e3 Author: yulei Date: Tue Dec 10 13:41:39 2019 +0800 [Keyboard] update m12og keymap to readable version (#7581) * add m12og keyboards * update readme.md * update to latest code suggestions * Update keyboards/matrix/m12og/readme.md Co-Authored-By: fauxpark * Update keyboards/matrix/m12og/readme.md Co-Authored-By: fauxpark * Update keyboards/matrix/m12og/readme.md Co-Authored-By: fauxpark * Update keyboards/matrix/m12og/readme.md Co-Authored-By: fauxpark * Update keyboards/matrix/m12og/readme.md Co-Authored-By: fauxpark * Update keyboards/matrix/m12og/rules.mk Co-Authored-By: fauxpark * update keymap to readable version * fixed incosist of info.json and keymap commit b0bee465aade65c7155efec69d0c8090a7e8a61a Author: Benjamin Smith Date: Mon Dec 9 21:40:04 2019 -0800 [Keyboard] Add cKeys Washington keyboard (#7570) * Add cKeys Washington keyboard * Add suggested changes * Fix encoder direction * Remove unneeded file * Update config.h * Update washington.c commit 7085066f0860087fa140241d25b29ad5f60c8179 Author: Jason Nedell Date: Mon Dec 9 19:01:05 2019 -0700 [Keyboard] Fix 2U backspace key in ansi_blocker layout for GrayStudio Space65 keyboard (#7593) * Fix ansi_blocker layout Reposition unused keycode * Update keymap matrix hex code Use match hex code so number matches matrix position Update spacing * Realign keymap to match physical hardware commit e4dd9e13934700d996d9a2d52cc529943656fc12 Author: fauxpark Date: Tue Dec 10 11:00:27 2019 +1100 [Keyboard] Remove `PREVENT_STUCK_MODIFIERS` from config.h files (#7592) commit 9c6a7522d788227151aad09a22868c0749bee17c Author: Josh Hinnebusch Date: Mon Dec 9 18:32:48 2019 -0500 [Keyboard] update default h87a keymap for fn functionality (#7589) * update default h87a keymap for fn functionality * Update keyboards/hineybush/h87a/keymaps/default/keymap.c commit 01653a5f9611473045c48ee3fd2bf0e87bb1aed1 Author: Yan-Fa Li Date: Mon Dec 9 13:31:51 2019 -0800 [Keymap] ergotravel updates (#7588) * Update rules.mk so it compiles again * Updates * Update keyboards/ergotravel/keymaps/yanfali/rules.mk * Update keyboards/ergotravel/keymaps/yanfali/rules.mk * Update keyboards/ergotravel/keymaps/yanfali/rules.mk commit 5acb7e37072d924cf38c8f43ec89aa9b8e2e8541 Author: marhalloweenvt Date: Tue Dec 10 00:44:07 2019 +0700 [Keyboard] Adjust ColorLice to work with QMK configurator (#7572) * [Keyboard] Add new keyboard Symmetry60 * Add new keyboard Symmetry60 * Fix Typo * Update keyboards/handwired/symmetry60/config.h * Update keyboards/handwired/symmetry60/readme.md * Update keyboards/handwired/symmetry60/readme.md * Update keyboards/handwired/symmetry60/readme.md * Update keyboards/handwired/symmetry60/rules.mk * Update keyboards/handwired/symmetry60/symmetry60.h * Update keyboards/handwired/symmetry60/symmetry60.h * Update keyboards/handwired/symmetry60/symmetry60.h * Update readme.md * Update keymap.c * Update keymap.c * Update keymap.c * Update rules.mk * Update symmetry60.c * Update keyboards/handwired/symmetry60/rules.mk * Add ColorLice * Update ColorLice - Adjust info.json to support Configurator - Adjust layout name to fit with info.json - Seperate 2 feature: RGB Switch and RGB Underglow * Update new way of control lock leds * Remove #ifndef COLORLICE_H * Update make example * Revert Helix * Revert Helix * Revert Helix * Revert Helix * Update keyboards/handwired/colorlice/colorlice.h * Update keyboards/handwired/colorlice/colorlice.h * Update default keymap * Revert Helix * Update keyboards/handwired/colorlice/readme.md * Update keyboards/handwired/colorlice/rules.mk * Update keyboards/handwired/colorlice/colorlice.c * Update keyboards/handwired/colorlice/colorlice.c * Remove unnecessary function * Update keyboards/handwired/colorlice/colorlice.c * Adjust rules option for working with Configurator - Move RGB_MATRIX_ENABLE and RGBLIGHT_ENABLE to keyboard rule. - Add RGB_DI_PIN in keyboard config * Update keyboards/helix/rev2/keymaps/default/keymap.c * Update keyboards/handwired/colorlice/readme.md * Update keymap for Colorlice * Adjust rules.mk to use space indent * Update ColorLice to work with QMK online configurator - Delete rgb_underglow keymap - Move config from keymap layer to keyboard layer - Tweak a little layout so it can appear default layout on QMK config * Update keyboards/handwired/colorlice/rules.mk * Update keyboards/handwired/colorlice/rules.mk commit 6c834dea7b506db480ae7a96f3b35f955824d4ec Author: Ethan Durrant <5387347+emdarcher@users.noreply.github.com> Date: Sun Dec 8 23:31:30 2019 -0700 [Keyboard] Adding Navi10 macropad (#7556) * working on keymap and files for the navi10 * fixing and modifying tap dance keys and layers * cleanup, and adding my separate keymap * edited and simplified the default keymap * cleaned up files and added support for future rev2 board * readme edits * moved rev0 specific keymap to it's own folder * added revision data to the config files * added DEFAULT_FOLDER * added note on compiling for a specific revision * documentation and readme edits * moved keymaps around and cleaned up * added photo * formatting and cleanup * fixing whitespace * moving the tap dance enable to keymap folders commit b3c7864990be0a80177aa35b32fb000419696636 Author: Joel Challis Date: Mon Dec 9 05:19:58 2019 +0000 Enable bitbang ws2812 for f4 (#7571) commit 8984f24f7c1d6d4b847577a9ff08ee8e481a7a29 Author: yulei Date: Mon Dec 9 13:15:45 2019 +0800 [Keyboard] add Matrix 8XV1.2 og ISO/ANSI keyboard (#7567) * add m12og keyboards * update readme.md * update to latest code suggestions * Update keyboards/matrix/m12og/readme.md Co-Authored-By: fauxpark * Update keyboards/matrix/m12og/readme.md Co-Authored-By: fauxpark * Update keyboards/matrix/m12og/readme.md Co-Authored-By: fauxpark * Update keyboards/matrix/m12og/readme.md Co-Authored-By: fauxpark * Update keyboards/matrix/m12og/readme.md Co-Authored-By: fauxpark * Update keyboards/matrix/m12og/rules.mk Co-Authored-By: fauxpark commit 294caf1ff1cd8bf46954ce1c673b59ce7c96ae51 Author: Zach White Date: Sun Dec 8 16:31:48 2019 -0800 Also fix flash commit 033c7af292730fab4a4b147de0fc5b33460379e1 Author: Zach White Date: Sun Dec 8 16:16:01 2019 -0800 Fix compiling json files commit 15e5f57952a985d910a9b66a738ee1f71dbfa5c2 Author: ashtneoi Date: Sun Dec 8 11:00:26 2019 -0800 Add JSON keymap to prereq list of C keymap This ensures the C keymap is rebuilt when the JSON keymap changes. commit 051faf4b64e17d43b9ca9b2269bdda3bb03d8549 Merge: 2d94e02ea1 013ac11c95 Author: William Chang Date: Sun Dec 8 10:41:53 2019 -0800 Merge branch 'feature/billiams_space65' of github.com:billiams/qmk_firmware into feature/billiams_space65 commit 2d94e02ea1e0c3baf91669e7c326dfc4c503d8c9 Author: William Chang Date: Sun Dec 8 10:39:26 2019 -0800 remove unnecessary code from keymap commit 013ac11c958feb1fc9e1fff491bf1ec6807873ac Author: William Chang Date: Sun Dec 8 10:34:24 2019 -0800 Update keyboards/gray_studio/space65/keymaps/billiams/keymap.c Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> commit dc2ed13a1ccd96fdeb7b01ae1b39bf3e313ed901 Author: William Chang Date: Sun Dec 8 10:33:06 2019 -0800 Update keyboards/gray_studio/space65/keymaps/billiams/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> commit 6e463c8084f61202be3bc7a748ab9eeca9e6bfe8 Author: William Chang Date: Sun Dec 8 10:32:55 2019 -0800 Update keyboards/gray_studio/space65/keymaps/billiams/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> commit 3cd7cb81d4835c0b7acb79db6b96abfb4a344ea1 Author: William Chang Date: Sun Dec 8 10:32:38 2019 -0800 Update keyboards/gray_studio/space65/keymaps/billiams/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> commit d5e0f217980f9c1cdae627af5530154f845aa660 Author: William Chang Date: Sun Dec 8 10:31:33 2019 -0800 Update keyboards/gray_studio/space65/keymaps/billiams/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> commit 4b11c2b55257e067d3907ce094614fd779d2217e Author: Yan-Fa Li Date: Sun Dec 8 08:22:25 2019 -0800 [Keyboard] instant60: Enable bootmagic lite to make eeprom reset easier (#7566) commit 201c5bfa5cdce723f148b6e9a276219c8f2e8613 Author: XScorpion2 Date: Sun Dec 8 01:51:42 2019 -0600 Updated slave encoder sync to reduce dropped pulses - v2 (#7505) * Updated slave encoder sync to reduce dropped pulses * Fixing encoder direction * Encoder behavior fixes, tested * Update keyboards/rgbkb/sol/keymaps/xulkal/rules.mk To make fauxpark happy Co-Authored-By: fauxpark * Update custom_encoder.c * Update rules.mk * Iris r4 fix * More fixes for Iris & Kira * Fix for right master encoders commit 34f302e1a5b301d62001d7f5f35d0039b14bad5d Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Dec 7 23:46:16 2019 -0800 [Keyboard] rebuild info.json for ep tf_longeboye (#7560) commit 722c196b08df6c9dcbb6eb6eed0bb9732609c511 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Sun Dec 8 16:44:54 2019 +0900 [Keyboard] Added workaround for serial.c/LTO issue for helix/rev2 and helix/pico. (#7558) commit c6ebb59a8beb3e66f9f83a31b9f9a2b5cdb17baa Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Dec 7 23:41:44 2019 -0800 [Keyboard] EP96: fix info.json key sequence (#7557) * ep/96 info.json: debug linting * ep/96 info.json: fix key sequence ISO Enter, Numpad Plus and Numpad Enter were out of order. commit 4808b930dbb9b45903e53da6738e7273dab20c6d Author: Alper Cugun Date: Sun Dec 8 08:33:48 2019 +0100 [Keymap] Added my customized 40% layout (#7555) * Formatting of Contra readme. * Initial version of my custom keymap * Move TODOs to readme * Add comment * Nuke Plover layer * Port changes to other layers * Finished work on my own layout for now * Add layout image * Processed comments from review commit c74295de88e33322db8dcf861608c61db036b9ee Author: fauxpark Date: Sun Dec 8 18:32:43 2019 +1100 Set proper AVR part for USBasp avrdude flashing (#7552) * Set proper AVR part for USBasp avrdude flashing * Remove `PROGRAM_CMD` stuff from rules.mk as they should not be needed anymore * Missed the Plaid readme * Remove PROGRAM_CMD from Mysterium commit a7209533a35f77b18997b250e16917d5ae666933 Author: marhalloweenvt Date: Sun Dec 8 14:11:21 2019 +0700 [Keyboard] Add new keyboard ColorLice (#7536) * [Keyboard] Add new keyboard Symmetry60 * Add new keyboard Symmetry60 * Fix Typo * Update keyboards/handwired/symmetry60/config.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/symmetry60/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/symmetry60/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/symmetry60/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/symmetry60/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/handwired/symmetry60/symmetry60.h Co-Authored-By: Drashna Jaelre * Update keyboards/handwired/symmetry60/symmetry60.h Co-Authored-By: Drashna Jaelre * Update keyboards/handwired/symmetry60/symmetry60.h Co-Authored-By: Drashna Jaelre * Update readme.md * Update keymap.c * Update keymap.c * Update keymap.c * Update rules.mk * Update symmetry60.c * Update keyboards/handwired/symmetry60/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Add ColorLice * Update ColorLice - Adjust info.json to support Configurator - Adjust layout name to fit with info.json - Seperate 2 feature: RGB Switch and RGB Underglow * Update new way of control lock leds * Remove #ifndef COLORLICE_H * Update make example * Revert Helix * Revert Helix * Revert Helix * Revert Helix * Update keyboards/handwired/colorlice/colorlice.h Co-Authored-By: Joel Challis * Update keyboards/handwired/colorlice/colorlice.h Co-Authored-By: Joel Challis * Update default keymap * Revert Helix * Update keyboards/handwired/colorlice/readme.md Co-Authored-By: Joel Challis * Update keyboards/handwired/colorlice/rules.mk Co-Authored-By: Joel Challis * Update keyboards/handwired/colorlice/colorlice.c Co-Authored-By: Drashna Jaelre * Update keyboards/handwired/colorlice/colorlice.c Co-Authored-By: Drashna Jaelre * Remove unnecessary function * Update keyboards/handwired/colorlice/colorlice.c Co-Authored-By: Drashna Jaelre * Adjust rules option for working with Configurator - Move RGB_MATRIX_ENABLE and RGBLIGHT_ENABLE to keyboard rule. - Add RGB_DI_PIN in keyboard config * Update keyboards/helix/rev2/keymaps/default/keymap.c Co-Authored-By: Joel Challis * Update keyboards/handwired/colorlice/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keymap for Colorlice * Adjust rules.mk to use space indent commit 3d78e6078e402bf0fe476adeed8ac16033f916c0 Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Sun Dec 8 18:08:12 2019 +1100 [Keymap] Display logo for caps lock indication on crkbd using old OLED driver (#7535) * Display logo for caps lock indication on crkbd using old OLED driver * Add emacs read-only mode file variable to generated files * use LTO_ENABLE instead of EXTRAFLAGS This enables the same option, and disables action_macros, and action_functions, both of which seem to break when LTO is enabled. And this is a lot simpler to use. Co-Authored-By: Drashna Jaelre commit e676278474b853fb16187e605c037930c4927144 Author: hmkemppainen Date: Sun Dec 8 04:18:05 2019 +0200 fix instructions for oneshot layer handling on key release (#7554) * fix instructions for oneshot layer handling on key release * use ONESHOT_OTHER_KEY_PRESSED instead of ONESHOT_PRESSED Co-Authored-By: Drashna Jaelre commit 730a736ef049832988e1dc28228cd1d692d359f0 Author: fauxpark Date: Sun Dec 8 12:59:47 2019 +1100 Set proper ASCII character for KC_NUHS in iWRAP code (#7434) commit a8320f20f76782789b274f7a8c3e3ad4278a075c Author: fauxpark Date: Sun Dec 8 12:11:29 2019 +1100 Improve support and docs for ADC driver (#7191) * Improve support and docs for ADC driver * Comment ADC channels * Move to Makers and Modders section, and fix usage instructions * Flesh out intro * Superscript 328P note * Fix pin_to_mux LUT * Support USB64/1287 as well * analogReadPin() defaults to 0V mux on invalid pin * Update pinToMux() function documentation * Dot * Accept (some of) the `qmk cformat` changes * Do clang-format properly * More wording tweaks * Link to encoder docs commit 1290039d7e5be1985d183e93d65cca18e828e8f8 Author: William Chang Date: Sat Dec 7 12:50:41 2019 -0800 Added keymap profile to space65 - This keymap profile is for MacOS with VIM key bindings - See readme for more information commit f275ffbdfc1cbd1965cd3546b45a7838012321da Author: osjuga <43299093+osjuga@users.noreply.github.com> Date: Sat Dec 7 07:19:18 2019 -0500 Minor grammar and filename fixes in docs (#7559) Grammar in coding_conventions_c.md and coding_conventions_python.md `rule.mk` to `rules.mk` in feature_haptic_feedback.md and feature_rgb_matrix.md commit 36a6e269bfff8b557a92e3c5e7a4a104d0dfe5f7 Author: Eric Bunton Date: Sat Dec 7 07:17:13 2019 -0500 Port SPLIT_USB_DETECT to helix/rev2 (#7385) * Port SPLIT_USB_DETECT to helix/rev2 * Remove debug toggles. * Rename is_keyboard_master to has_usb in split_util commit e7541faadc27b53efc8421757a6354654f1a22b4 Author: William Chang Date: Fri Dec 6 17:05:36 2019 -0800 update flash script per pull request review commit e8efc46e744f1a6188b2a98abf2e281f65e9f308 Author: Gregory Gubarev Date: Fri Dec 6 23:25:05 2019 +0400 [Docs] Creating RU version of getting_started_introduction (#7224) * Creating RU version of getting_started_introduction * Update docs/ru-ru/getting_started_introduction.md Update "предполагается" * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md * Update docs/ru-ru/getting_started_introduction.md Co-Authored-By: Nikita Titov commit 1b08a19e3eac229630d5d3889ffa0828a17cb506 Author: Gregory Gubarev Date: Fri Dec 6 23:16:00 2019 +0400 [Docs] Create RU ver of becoming_a_qmk_collaborator (#7226) * Create RU ver of becoming_a_qmk_collaborator * Updated * Updated - collaborator to соавтор * Update docs/ru-ru/becoming_a_qmk_collaborator.md * Update docs/ru-ru/becoming_a_qmk_collaborator.md * Update docs/ru-ru/becoming_a_qmk_collaborator.md * Update docs/ru-ru/becoming_a_qmk_collaborator.md * Update docs/ru-ru/becoming_a_qmk_collaborator.md * Update docs/ru-ru/becoming_a_qmk_collaborator.md * Update docs/ru-ru/becoming_a_qmk_collaborator.md Co-Authored-By: Nikita Titov commit 419128bfa14f2c612ceac89f6a4a19c4372227b7 Author: Danny Date: Fri Dec 6 13:01:51 2019 -0500 [Keyboard] Fix missing item in Ergodicity macro (#7553) commit 2d256f48d01c33c7e8eafa58db65afbba5fbdc03 Author: coseyfannitutti <43188488+coseyfannitutti@users.noreply.github.com> Date: Fri Dec 6 04:03:30 2019 -0500 Add keyboard - MYSTERIUM (#7547) * Create config.h * Create info.json * Create keymap.c * Create keymap.c * Create mysterium.c * Create mysterium.h * Create readme.md * Create rules.mk * Create usbconfig.h * Update keyboards/coseyfannitutti/mysterium/readme.md Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/readme.md Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/readme.md Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/usbconfig.h Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/usbconfig.h Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/usbconfig.h Co-Authored-By: fauxpark * Update mysterium.c * Update rules.mk * Update usbconfig.h * Update keyboards/coseyfannitutti/mysterium/rules.mk Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/rules.mk Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/rules.mk Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/rules.mk Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/rules.mk Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/rules.mk Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/rules.mk Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/rules.mk Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/rules.mk Co-Authored-By: fauxpark * Update rules.mk * Update keyboards/coseyfannitutti/mysterium/usbconfig.h Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/mysterium/rules.mk Co-Authored-By: fauxpark * Update config.h * Update info.json * Update keymap.c * Update mysterium.h * Update rules.mk commit 380e05ad6e1a64d635d723523b7d46ab32423b1c Author: arlenk <33534303+arlenk@users.noreply.github.com> Date: Fri Dec 6 03:42:33 2019 -0500 Update getting_started_make_guide.md (#7538) * Update getting_started_make_guide.md clarifying that NO_PRINT and USER_PRINT should not be used at the same time. * Update docs/getting_started_make_guide.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> commit de4eb79c6ad386ad7f7de4fa842a06c5028a8c6c Author: Joel Challis Date: Fri Dec 6 08:27:04 2019 +0000 Fix breathing toggle when rgb is disabled (#7550) commit be47f91bc44709101d68ce9ea589062f5288a79c Author: jotix <47826561+jotix@users.noreply.github.com> Date: Thu Dec 5 15:08:27 2019 +0000 Jotix (#7549) * jotix_layout_adjustment * TT(_LOWER) * config.h * jotix_layout * jotix_layout commit 8030c17d6315c13cadb3f84e88525d9bc19d500a Author: squirrelsRduck Date: Thu Dec 5 04:04:54 2019 -0500 [Keymap] Dactyl Manuform computer scientist's layout with split RGB enabled (#7519) * Added my Dactyl Manuform layout * Added my Dactyl Manuform layout * finalized key layout, added reset code, no LED yet * finalized key layout, added reset code, no LED yet * enabled RGB backlight * enabled RGB backlight * enabled RGB backlight * supporting split rgb * supporting split rgb * supporting split rgb * added media controls * allowing ctrl/command to fallthrough from mouse layer so we can ctrl scroll to zoom in/out * addressed PR comments, and make a couple last minute adjustments to the layout, to add in the Forwards Delete keycode * decreased brightness even more commit 9c8e66dc05148b6890eef05b51a5be6adfaf0246 Author: Ahmed Elshafey <12426718+ash0x0@users.noreply.github.com> Date: Thu Dec 5 11:03:03 2019 +0200 [Keymap] Added Massdrop ctrl keymap (#7491) * massdrop ctrl endgame keymap first commit * massdrop ctrl endgame keymap update Added double dance functions to toggle mouse layer while keeping LGUI key functionality. Added led config and related functionality. Added RGB indicators for effective keys on layers. Fixed RGB timeout ignoring user set LED flags. At current state, layer RGB indicators ignore RGB brightness value, will add toggle key later to toggle between current keyboard brightness and max brightness as it's nice to have the indicator RGB at max brightness but still too bright at times. * updated documentation and added RGB indicator for ctrl and shift in function layer * Update keyboards/massdrop/ctrl/keymaps/endgame/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/massdrop/ctrl/keymaps/endgame/keymap.c Co-Authored-By: Drashna Jaelre * Various fixes and changes. Removed backslashed at end of layouts, better looking. Changed layout names from macro definitions to enum. Replaced MOD_BIT with MOD_MASK macros. commit 3ad389de55aa73eef4542807488a70a19639df11 Author: fauxpark Date: Thu Dec 5 19:44:39 2019 +1100 Add short aliases for Magic keycodes (#7541) * Add short alias for `MAGIC_TOGGLE_NKRO` * Add aliases for the other Bootmagic keycodes * Replace long form in default keymaps commit 66040506a7cece73ad1e3f892aa3effab97ec7f9 Author: Jeong Arm Date: Thu Dec 5 02:47:59 2019 +0900 [Keymap] [preonic/kjwon15] Support led key (#7543) commit d598f01cb7b9d4d9e8fc7bbc951b70be7726a468 Author: Joel Challis Date: Tue Dec 3 19:48:55 2019 +0000 Relocate magic keycode processing (#7512) * Move magic keycode processing to own file * Save some bytes * Update comments * Update define to one thats not already used... * Fix audio commit 1718dfa658dbe8ad144100b561794c5596ac5f08 Author: Joel Challis Date: Tue Dec 3 19:39:21 2019 +0000 Increase matrix scanning speed on xd84 (#7517) * Increase matrix scanning speed * Fix func name in failure output commit 1c8208ad9a0d1a8cd423aea3ffb0aa5e370e1541 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Dec 3 08:49:31 2019 -0800 Add J-01 ISO Support (#7527) * Add ISO support * Update keyboards/jae/j01/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> commit 583be4a5f386c11c02a88f8e0869ec6a773cba7f Author: MakotoKurauchi Date: Wed Dec 4 00:51:18 2019 +0900 Helix default keymap update (#7465) * add RGBRST key into helix/pico:default keymap ADJUST layer * update helix/rev2:default keymap's OLED display contents * add RGBRST key to HELIX_ROWS == 4 ADJUST layer * add CAPS key to RAISE, LOWER layer * add layer status display on slave side oled * add RGB LED status display on both side oled * save stack memory size commit 24507ddca86069e1b1e87148a0c052bd47731476 Author: halvves Date: Tue Dec 3 03:35:29 2019 -0600 [Keymap] add halvves kumo (minivan) keymap (#7534) * [Keymap] add halvves kumo (minivan) keymap * adjust tapping * remove RGBLIGHT_TIMER commit 3152bf572b702109b9b01757ffe900d7f4387faf Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Dec 2 18:47:02 2019 -0800 [Docs] Restructure of Git Best Practices doc (#7231) * Add "Resynchronizing an Out-of-Sync Git Branch" doc * Update (Git) Best Practices doc title and filename * Rename Branch Resync doc * fork Best Practices doc into multiple files * Add the doc list to Git Best Practices doc * Update sidebar * Update internal references * Update sidebar - add subsection * Update Your Fork's Master page title * title case on Git Best Practices main doc * ... and in the Resynchronizing a Branch doc * Please read Part 1 I worked really hard on this, okay? * Please use branches, too. * suggestions by mtei * change note about adding multiple files * note that the name given the remote repo is arbitrary * suggestions by fauxpark * Git Best Practices -> Best Git Practices Reads more naturally. * rephrase hint block regarding remote name * rework the resynchronization instructions per mtei * use hint boxes for reference to Part 1 doc I may be addicted to hint boxes. I'm sorry fauxpark. :cry: * add some clarity about the upstream repo * wordsmithing per mtei * restyle the shell code blocks Makes them more consistent to the other docs in this section. commit 96d4ba84c245066ae0ccd0f8216d7f11f80e5d98 Author: kevin-b-lockwood <57274670+kevin-b-lockwood@users.noreply.github.com> Date: Mon Dec 2 12:03:35 2019 -0800 [Keyboard] Add handwired/floorboard (#7478) * added handwired/plonk * Update readme.md * Update readme.md * Update info.json * Update config.h * Update readme.md * Update keyboards/handwired/plonk/rules.mk Co-Authored-By: fauxpark * Update rules.mk * Update plonk.c * Update plonk.h * Update keymap.c * Delete config.h * Update keyboards/handwired/plonk/config.h Co-Authored-By: fauxpark * Update rules.mk * Update info.json * Update keyboards/handwired/plonk/readme.md Co-Authored-By: fauxpark * Update rules.mk * Renamed the Plonk to the Floorboard. Another homage, just subtler this time. * removed old plonk files * Update config.h commit 680924777be7739b249bf0dc3b60a3185134bc94 Author: Joule-Flow Date: Mon Dec 2 20:47:55 2019 +0100 [Keyboard] Added tr60w keyboard (#7450) * Added tr60w configurations. I based these files on the fox-lab/qmk_firmware repository. After checking both licenses, which are identical, I added those files into this feature branch. For transparency reasons I'll add the url to the fox-lab repository. https://github.com/fox-lab/qmk_firmware * Using #pragma once in config.h. * Removed '#define CCONFIG_H' from config.h. * Changed PRODUCT_ID to '0x4140'. * Renamed setting to 'DEBOUNCE'. * Removed key combination, due to already default implementation. * Removed 'PREVENT_STUCK_MODIFIERS', defaulted by QMK. * Removed not uneccessary '#endif' statement. * Renamed include to 'QMK_KEYBOARD_H'. * Changed keymap structure according to pull request suggestion. * Removed 'void matrix_init_user(void)'. * Removed 'void matrix_scan_user(void)'. * Removed 'bool process_record_user(...)'. * Removed non-standard configuration in favor for 'led_update_kb'. * Using default setup based on 'MCU' setting. * Replaced Build Option configuration with suggested information. * Fixed include statements as requested. * Changed 'KEYMAP' to suggestion. * Removed obsolete '#endif' statement. * Added readme.md file. * Updated readme.md with further information. * Reverted include statement, to check if this caused ci error. * Revert "Reverted include statement." This reverts commit ebd992dc01133169be38ae7201bb00b4d01cc737. * Fixed wrong mapped key * Fixed include as per suggestion. * Replaced 'KC_TRNS' with '_______'for readability. * Added personal keymap.c file. * Updated the readme.md file according to template/avr/readme.md. * Fixed Link to Image. * Updated readme.md as per request. * Updated rules.mk, as per suggestion. Set 'BOOTMAGIC_ENABLE = lite'. commit 75c8a79d0e087d99299b1b273d343aacb8bed0b8 Author: Matt Valentine-House Date: Mon Dec 2 19:41:20 2019 +0000 [Keymap] Ruby influenced Redox keymap (#7531) commit da1a527c90b1adab02b2dfbe6f9da40c4d8e069e Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Tue Dec 3 04:12:02 2019 +0900 [Docs] add japanese translations (#7454) * for initial commit * for initial commit * for initial commit * Update led_update_kb example (#7451) * Update led_update_kb example * Update comment to explain pin behavior * wordsmith * wordsmithing 2 * Remove CR when computing BOOTLOADER_SIZE. (#7453) * Set up language fallback for docs, and update translation guidelines (#7403) * Set up language fallback for docs, and update translation guidelines * Title Case * Add ID example * Link to emoji flag cheatsheet * Move docs preview section to contributing.md * Point to docs preview in the readme * [Keyboard] Added Cans12er keyboard (#7455) * added cans12er keyboard * updated readme Updated the readme to conform with the provided template from the qmk_firmware githubpage * Update keyboards/cans12er/README.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Changed configuration Changed the configuration based on the Change Request from PR #7455 made by github user noroadsleft * [Keyboard] Update ATmega32A readme files to match template (#7462) * Update atmega32a readme files to match template * Update atmega32a readme files to match template - fixes * Apply suggestions from code review * update files based on comments * update files based on comments * update files based on comments * update files based on comments * update files based on comments * update files based on comments * update files based on comments Co-Authored-By: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Co-Authored-By: shela commit bf962821b383b94813c3c7ebae7782c28398f1cf Author: Danny Date: Mon Dec 2 12:10:09 2019 -0500 Remove check for EH define (#7525) Its use in lets_split_eh was factored out in https://github.com/qmk/qmk_firmware/pull/6411 commit ce5678b8196d91bfba5d2fde8428ecd884f5e67b Author: skullY Date: Sun Dec 1 21:03:53 2019 -0800 Remove eeprom_f4 due to conflicting license commit d9cf6c6730715ff3e80367d77a5b5ade21ef05ba Author: ihotsuno <52576847+ihotsuno@users.noreply.github.com> Date: Mon Dec 2 07:50:47 2019 +0900 [Keyboard] 140% keyboard fluorite keymaps (#7473) * fluorite keymaps * Update config.h * Update fluorite.c I corrected the points that were pointed out. * Update fluorite.h I corrected the points that were pointed out. * Update config.h I corrected the points that were pointed out. * Update keymap.c I corrected the points that were pointed out. * Update keyboards/fluorite/config.h thanks! * Update keyboards/fluorite/readme.md thanks! * Update keyboards/fluorite/rules.mk thanks! * Update keyboards/fluorite/rules.mk thanks! * Update keyboards/fluorite/rules.mk thanks! * Update keyboards/fluorite/rules.mk thanks! * Update keyboards/fluorite/rules.mk thanks! * Update keyboards/fluorite/readme.md thanks! * Update keyboards/fluorite/readme.md thanks! * Update keyboards/fluorite/rules.mk thanks! * Update keyboards/fluorite/rules.mk thanks! * Update keyboards/fluorite/rules.mk thanks! * Update keymap.c I corrected the points that were pointed out. * Update fluorite.c I corrected the points that were pointed out. * Update rules.mk I corrected the points that were pointed out. * Update keyboards/fluorite/rules.mk Thanks! * Update keyboards/fluorite/rules.mk Thanks! * Update keymap.c I corrected the points that were pointed out. * Update fluorite.h I corrected the points that were pointed out. * Update keymap.c I corrected the points that were pointed out. * Update keymap.c I corrected the points. c:165:68 XDXXXXX >> XXXXXXX Reverted,because error log. ADJUST, * Update keymap.c I corrected the points that were pointed out. * Update readme.md link added * Update readme.md photo link added * Update readme.md link Modify * Update keyboards/fluorite/readme.md Thanks! * Update keyboards/fluorite/readme.md Thanks! commit b386ccc78608fa004f51ed245fc14cf5fbd0877c Author: iKirin Date: Sun Dec 1 22:56:38 2019 +0100 Fix install for Linux Ubuntu (#7520) * Fix linux install for Ubuntu. It failed due to sh not supporting [ and pip being seperate from python3 * Adapted install function according to feedback * Fix style commit 0ed492978aea83205b73127472c3667c601d515b Author: skullY Date: Sat Nov 23 10:42:39 2019 -0800 Add pep8-naming to our python linting commit a2c6257942275eb874f79527e1ff13410bc42fb6 Author: John Helveston Date: Sun Dec 1 15:54:57 2019 -0500 [Keymap] Added jhelvy keymaps for keebio/iris and lily58 (#7447) * Added jhelvy keymaps for keebio/iris and lily58 * Fixed keymap image link for Iris * Update keyboards/keebio/iris/keymaps/jhelvy/keymap.c * Fixed keymap image url for lily58 * Update keyboards/lily58/keymaps/jhelvy/keymap.c * Removed numbers in parentheticals in lily58 rules * Removed unnecessary rules commit a14c9a057a58ab2713f65f86601acd875d8fc3e6 Author: QMK Bot Date: Sun Dec 1 16:23:14 2019 +0000 format code according to conventions [skip ci] commit c9838fea12beb377448ccbee6e29348e0d2ee531 Author: yulei Date: Mon Dec 2 00:20:45 2019 +0800 [Keyboard] fixed noah info.json (#7518) * fixed noah info.json * fixed iso keymap and adding default iso keymaps * keymap cleanup * verified through the qmk configurator preview mode * modify encoding from utf-8 bom to urf-8 commit dfe18b40aa9bcfa86a62a770c5dfd54cdbfe34c6 Author: Drashna Jaelre Date: Sun Dec 1 06:35:30 2019 -0800 [Keyboard] Update Lets Split Sockets to use LTO_ENABLE (#7516) commit f0991420040b8c43529bd1d863c1987fcb8850e4 Author: fauxpark Date: Sun Dec 1 00:01:41 2019 +1100 Add _summary.md for Russian docs with proper language prefix (#7514) commit d98ed28e7c9920140fea9d84ed10b5c70521c287 Author: Drashna Jaelre Date: Sat Nov 30 04:54:57 2019 -0800 [Keyboard] Fix calls in handwired/jotanck (#7515) The C file for this keyboard was calling `keyboard_pre_init_user`. Which is wrong. This fixes that behavior. commit beb9f3ab713442a0ef712d782d895c0fbd88277f Author: hvp <32483282+hvpkod@users.noreply.github.com> Date: Sat Nov 30 08:39:54 2019 +0100 [Keymap] Added my UT47.2 Swedish layout with tap dance function. (#6861) * Added my UT47.2 Swedish layout with tap dance function. * Move tap dance over to user space * Removed config_common from config file commit 77c04d148e6fd1bc0858373317b522aae2bf7784 Author: fauxpark Date: Sat Nov 30 11:44:18 2019 +1100 Specify Arm GCC 8 in macOS install script (#7509) commit 90c74701aad2cac28dd40c54b0a5e150ba3eed60 Author: fauxpark Date: Sat Nov 30 10:50:36 2019 +1100 [Keyboard] Add community layout support for DZ60RGB WKL (#7503) * Add community layout support for DZ60RGB WKL * info.json would be good too commit ede67df6bd752658e57fb855e742bf8a8aa39cd2 Author: yulei Date: Sat Nov 30 07:48:55 2019 +0800 [Keyboard] fixed noah info.json (#7502) * fixed noah info.json * fixed iso keymap and adding default iso keymaps * keymap cleanup * verified through the qmk configurator preview mode commit 27bf464dc373cbc68fd166520776648e3465e014 Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Sat Nov 30 10:48:11 2019 +1100 [Keymap] Add RGB keycodes to keymap, enable RGB_MATRIX on crkbd (#7499) commit fb02593bd4d58c8d046673ed872d972544640a2a Author: fauxpark Date: Sat Nov 30 10:45:22 2019 +1100 Use os.chdir for `qmk docs` instead of a custom HTTP request handler (#7493) commit c0dbd81b2b652a3b44f5bbb22ee0ddaff8ed68ea Author: Callum Oakley Date: Fri Nov 29 22:10:01 2019 +0000 [keymap] personal keymap tweaks (#7510) * replace home and end with cmd-left and cmd-right for iOS compatability * tab left and right with cmd-shift-bracket instead of ctrl-tab for Blink compatability * cmd-up and cmd-down instead of pg-up pg-down for blink shell compatability * Revert "cmd-up and cmd-down instead of pg-up pg-down for blink shell compatability" This reverts commit e976af9f11f77933f272edc22faf971445a65717. * reorganised symbol layer * update link in readme commit 385454e6026e25b48bd15f76c237f88955f07088 Author: Nick Brassel Date: Sat Nov 30 00:01:22 2019 +1100 Fix output file permissions when using docker build. (#7378) commit 7164e8eeb530e02cb7b648db81907cf941c23257 Author: fauxpark Date: Fri Nov 29 09:14:04 2019 +1100 Add yet another dictionary for the QMK Firmware docs sidebar heading (#7504) commit f9521ffa21c71ed1d5c5e3c72a0d193594d0430f Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Fri Nov 29 09:00:29 2019 +1100 Add shift-to-invert to remaining directional RGB_* keycode pairs (#7484) * Add shift-to-invert to remaining directional RGB_* keycode pairs RGB_MODE_FORWARD / RGB_MODE_REVERSE invert their functions when shift is held. This change adds the same capabilities to the remaining directional RGB_* keycode pairs. This improves consistency and provides full RGB control in a keymap containing only one keycode from each pair. * remove redundant variable * fix typo * Fix more typos Flyspell is on now I swear! commit 2048df883200589c20dfc581e39e03703edf0b23 Author: Joel Challis Date: Thu Nov 28 21:59:59 2019 +0000 Compile out some keycode processing when features are disabled (#7506) commit 99f3321e2634547b57ec07f0d1d8b107670be824 Author: Joel Challis Date: Thu Nov 28 21:59:14 2019 +0000 Fix processing of RGB keycodes on slave half (#7404) commit 235da6973d34c3cffc4bd8f8cd0b9c8537d6b811 Author: Joel Challis Date: Thu Nov 28 15:29:11 2019 +0000 Install bootloadHid as part of qmk_install (#7463) * Install bootloadHid on macos * Install bootloadHid on windows * Highlight bootloadHID is now installed in docs * Update udev rules for bootloadHID * Install bootloadHid on some distros * fix caterina udev filename commit 5c41fa606202f4750a20083bc2b7ad04d8ff8ae2 Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Thu Nov 28 01:55:29 2019 -0500 [Keymap] Userspace updates (#7500) * Convert macro to use new QMK CLI and other cleanup * use \n instead of ss enter commit 99a58aa2b8d1e03fe5caa63c64445af6bd64f0b4 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Nov 27 18:50:35 2019 -0800 [Keyboard] New Keyboard: J-01 (#7494) * initial commit * create the appropriate LAYOUT macro * ANSI FOREVER * Update keyboards/jae/j01/config.h Changing it to use the Esc key for bootmagic lite * Update keyboards/jae/j01/readme.md * Update keyboards/jae/j01/readme.md * Update keyboards/jae/j01/info.json * Update keyboards/jae/j01/readme.md * Update keyboards/jae/j01/info.json * remove file as per fauxpark comments commit 4ae87ab40aa9d7c0c13aef77038e5b3ba3eb1dfc Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed Nov 27 14:16:18 2019 -0800 Community Layout support (and minor tidying) for KBD8X MK2 (#7449) * Community Layout support for KBD8X MK2 - add LAYOUT_tkl_ansi and LAYOUT_tkl_iso layout macros - add default_tkl_iso keymap, using new layout macro - rename ansi_625 keymap to default_tkl_ansi, using new layout macro - change keymaps to four-space indent - update info.json - remove firmware size impacts from rules.mk * remove empty functions * rename the ANSI and ISO keymaps per fauxpark commit 7e6270587754fcd669360ecdac894245e0d0d61d Author: XScorpion2 Date: Wed Nov 27 16:04:30 2019 -0600 Revert split encoder fixes until able to repro a better fix (#7498) Temporarily removing to avoid disabling split keyboards with Rotary Encoders, irisv3/4 and Sol, while @XScorpion2 works on a more permanent fix. commit 1604f79623c9f3b061dac54ff9f3b657b4246519 Author: Yan-Fa Li Date: Wed Nov 27 14:00:23 2019 -0800 clean up quantum.c (#7485) * idea * progress * more stuff * wip * wip * last couple of keycodes you can move safely * Update quantum/quantum.c Co-Authored-By: fauxpark * Put back RGB_MODE_BREATHE commit 265c415f5e13b32fd14f06d8af4ae2498ba9059b Author: yulei Date: Wed Nov 27 23:54:02 2019 +0800 adding noah keyboard (#7432) * adding noah keyboard * Update keyboards/matrix/noah/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/matrix/noah/noah.c Co-Authored-By: Drashna Jaelre commit 2b318ba01b6e504bfe5f300f8459afc849e104b7 Author: heliarmk Date: Wed Nov 27 08:51:32 2019 +0800 [Keyboard] add keyboard wm1 (#7466) * add new keyborad wm1 * 删除print信息 * add info.json and modified the default keymap.c * add keyboard name and maintainer in info.json * add readme.md file for new keyboard * add default/keymap/readme.md * modified the main readme file * change keyboard name from wm1 to wm1_hotswap * update readme * update imgur link in readme * update readme to add more pic and subtopic * change wm1 keyboard pic to direct show up * add copyright to config.h * modified the info.json to change the label * set the debug config to no in rule.mk * rename wn1.c wm1.h to wm1_hotswap.c, wm1_hotswap.h * fix spelling mistake * update the rule.mk to new version * fix the LED operation in wm1_hotswap.c * delete the definition of kc_trns * change layout to conform to electrical position * delete backslashes in keymap.c * update info.json according to the layout * change the return of led_update_kb * delete unused comments in rule.mk * delete unused definition in wm1_hotswap.h * add a if statement to support user override func * fix comment in rules.mk commit 2f3adc3e240fcb408d89b4501d6b4cdc5fe7350a Author: Stephen Tudor Date: Tue Nov 26 18:23:29 2019 -0500 Adjust Fn key and right arrow cluster of GH60/Satan keymap (#7490) commit 57581ad7334748249e2a0c63d144ad9e76eef746 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Nov 26 13:45:18 2019 -0800 Fix typos in stale.yml (#7489) commit b663a5b2486eb47909956b77d6dd13e08400f2fe Author: Kemmel-Dev Date: Tue Nov 26 19:28:44 2019 +0100 [Keymap] added a KBD67v2 layout that allows swapping of num/sym keys and f-rows (#7469) commit f6ffa28b270815f0a9c6fc2095ec65c437776709 Author: moyi4681 Date: Tue Nov 26 10:02:42 2019 -0800 [Keyboard] change xbows/knight pins of capslock Indicator (#7486) commit 170261328e3b83409dfb3a6b2bd07980d0c75495 Author: fauxpark Date: Tue Nov 26 18:22:13 2019 +1100 Add language prefixes to docs sidebar entries and readmes (#7406) * Add language prefixes to docs sidebar entries and readmes * Remove prefix where it doesn't belong commit 5a6737a778cfa828e4fdb5d382a84a41e5210d8e Author: fauxpark Date: Tue Nov 26 18:16:58 2019 +1100 Send string keycode tweaks (#7471) commit a2cedf4555ab417d849cbacf9562fd92407d5d71 Author: Thomas Baart Date: Tue Nov 26 07:51:58 2019 +0100 [Keymap] Added keymap for Tessachka (#7457) * Added keymap for Tessachka * Update keyboards/kyria/keymaps/tessachka/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/kyria/keymaps/tessachka/rules.mk Co-Authored-By: Drashna Jaelre commit 397897180b2d6da69badfc438773668312e54d2a Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Tue Nov 26 13:46:03 2019 +0900 [Keyboard] Add keyboard 7skb (#7468) * Add keyboard 7skb Add 7skb keyboard. A 63 keys HHKB Layout keyboard. Salicylic-acid3 * Update keyboards/7skb/keymaps/default/keymap.c * Update keyboards/7skb/keymaps/default/keymap.c * Update keyboards/7skb/keymaps/default/keymap.c * Update keyboards/7skb/keymaps/salicylic/keymap.c * Update keyboards/7skb/readme.md * Update keyboards/7skb/readme.md * Update keyboards/7skb/readme.md * keymap update Remove extra parts * Delete rules.mk * Update keyboards/7skb/rev1/rev1.c commit 36cde567abf6330887ac7175d1b1442f907f4fc1 Author: fauxpark Date: Tue Nov 26 14:51:40 2019 +1100 [Core] Remove PROGRAM_CMD in mcu_selection.mk for 32A (#7482) commit 572d3329eb4baf9b46de3342f93a622d821a4774 Author: Martin Kauppinen Date: Mon Nov 25 22:38:23 2019 +0100 [Keyboard] Add hand swap config matrix for preonic rev 3 (#7460) * Add hand swap config matrix for preonic rev 3 * Refactor hand swap config matrix into revision source files commit c0fe8dbfb4ea7b36cc2c5ba65d943c2cbec84244 Author: yiancar Date: Mon Nov 25 20:33:52 2019 +0000 IS31FL3733 Dirty page fix (#7079) * IS31FL3733 Dirty page fix Function IS31FL3733_update_led_control_registers was never setting update register to false. As a result the led on/off page was being written every transaction even when it was not modified. This is ineficient and causes lots of bandwidth use. -> Fix the IS31FL3733_update_led_control_registers. -> After testing it was evident that failed I2C transactions could corrupt the Led on/off register. -> Update IS31FL3733_write_pwm_buffer and IS31FL3733_write_register functions to return 0 upon succesful tranmission and 1 if any of the transmitions within the function fail. -> Modify IS31FL3733_update_pwm_buffers function so if any of the IS31FL3733_write_pwm_buffer transuction fails, the g_led_control_registers_update_required register is set to true forcing a rewrite of the led on/off register in case it was corrupted. * Minor comment update * Upsie:) * Update is31fl3733.c * Return fix * more return fix * type change * more boolian logic reversal:) commit f0f161e5724375b7a289699703d86d6de2adae8d Author: Joel Challis Date: Mon Nov 25 20:33:02 2019 +0000 Remove vusb 'reset to bootloader' hid message due to security implications (#7456) commit 3a7085dee4389bfc3356336180b44d294cf0738a Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Nov 25 09:37:08 2019 +0900 fix link in docs/translating.md (#7474) commit 583094aa26edc4171bad84f22ce948c840797e6e Author: yynmt <45400583+yynmt@users.noreply.github.com> Date: Sun Nov 24 18:35:03 2019 +0900 Add RGB LED for Dozen0 (#7458) * enable rgb led. * add layer for default keymap * Update keymap.c * Update rules.mk * Update rules.mk * fix keymaps remove backslashes. commit f4fb0e16173e05799ccf7375a679b031f7cecf03 Author: Rob Rogers Date: Sun Nov 24 01:37:09 2019 -0600 [Keyboard] Add candybar lefty layout (#7286) * Add left number pad layout to candybar keyboard * successfully builds * Rename new layout to LAYOUT_lefty and add corresponding LAYOUT_righty as alias for LAYOUT * merge * Add lefty keymap * Add lefty layout to info.json * Added LAYOUT_righty to info.json and corrected some misplaced braces * Update keyboards/candybar/info.json * removed redundant sections as suggested. commit 6a8c0a6468f4e4ce48a59152418a226d0f027497 Author: Joel Challis Date: Sun Nov 24 04:42:20 2019 +0000 [Keyboard] Update ATmega32A readme files to match template (#7462) * Update atmega32a readme files to match template * Update atmega32a readme files to match template - fixes * Apply suggestions from code review commit d14573620d3e964730af960aab3c05a5d061796f Author: Can Baytok Date: Sun Nov 24 01:56:18 2019 +0100 [Keyboard] Added Cans12er keyboard (#7455) * added cans12er keyboard * updated readme Updated the readme to conform with the provided template from the qmk_firmware githubpage * Update keyboards/cans12er/README.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Changed configuration Changed the configuration based on the Change Request from PR #7455 made by github user noroadsleft commit 9ea9806d67dd3dfd775cf854b9becd35f3cdc748 Author: fauxpark Date: Sun Nov 24 03:07:15 2019 +1100 Set up language fallback for docs, and update translation guidelines (#7403) * Set up language fallback for docs, and update translation guidelines * Title Case * Add ID example * Link to emoji flag cheatsheet * Move docs preview section to contributing.md * Point to docs preview in the readme commit 7874f297b384893a842e5d5cd953264eb3561b7c Author: a_p_u_r_o Date: Sun Nov 24 01:01:03 2019 +0900 Remove CR when computing BOOTLOADER_SIZE. (#7453) commit 3541f01a72c4bf2e284d6c96b9697d29c68a47bd Author: Yan-Fa Li Date: Sat Nov 23 07:37:25 2019 -0800 Update led_update_kb example (#7451) * Update led_update_kb example * Update comment to explain pin behavior * wordsmith * wordsmithing 2 commit eae21eed743d8bb9fd961f91d97a92f0f94247fe Author: Hilary B. Brenum Date: Fri Nov 22 14:40:18 2019 -0800 [Keymap] Adding hbbisenieks keymap for keebio/iris (#7440) * hbbisenieks keymap * fixed right encoder * changes suggested during pr commit e62ab7e259d4f33c639a9433264c1cbfb6381cb5 Author: Yan-Fa Li Date: Fri Nov 22 12:55:45 2019 -0800 Allow overriding of all functions in wonderland.c (#7198) * f * Allow overriding of all functions in wonderland.c - needed for custom LED functions in keymap.c * Example of layer indication via LEDs optimize * Use newer led_update_kb and led_update_user hooks - these allow overriding without use of __attribute((weak))__ * Update led documentation a bit - clarify some of the wording around how to use led_update_user * Update led_update_user example * Update audio example to be complete * trailing spaces smh * spaces * spaces * smh * Less code is good * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark * Update docs/custom_quantum_functions.md Co-Authored-By: fauxpark commit 0270d4d5a17690ddf85676a1d4721d06fc690739 Author: dsanchezseco Date: Fri Nov 22 19:26:45 2019 +0100 [Keymap] changed knight ridder offset to face me on planck (#7445) * added rgblight controls to planck keymap * fixed knight ridder offset to face me commit 7e9ed2acbfafd3146f884aa047ea8a7619a0a119 Author: Joel Challis Date: Fri Nov 22 17:02:55 2019 +0000 Fix clang-format logic within CI (#7386) commit 66d473437110508af747b6ca09517bfad6c50d0b Author: Drashna Jaelre Date: Thu Nov 21 23:09:02 2019 -0800 Improve and streamline MSYS2 installation (#7232) * Make MSYS force install * Cleanup msys script * Update to gcc 8.3 for arm and avr And cleanup install scripts for both * Fix path and scripts * Fix links * No confirmation for msys * Tweak arm function since file structure changed * Fix spacing and wording Co-Authored-By: fauxpark * Only use MSYS2's make binary Co-Authored-By: fauxpark * Some wordsmithing Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Add "disable download timeout" for download issues in MSYS Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> * Clean up URL for arm gcc download Co-Authored-By: Joel Challis * add pip Co-Authored-By: fauxpark commit 6cf574396adfb08f7fe7fe6f7ce68387fd474018 Author: Drashna Jaelre Date: Thu Nov 21 22:40:29 2019 -0800 [Keyboard] Update default keymaps to use `layer_state_t` (#7444) * Update default keymaps to use `layer_state_t` * Convert binon32 as get_highest_layer in default keymaps commit f0a9c10b6d70424ed43d624f5fdb6d5f8388953f Author: dsanchezseco Date: Fri Nov 22 07:15:40 2019 +0100 [Keymap] added rgblight controls to planck keymap (#7439) commit 78954a0d3e09bd7e15779c5abbf27d428ec1b33c Author: fauxpark Date: Fri Nov 22 15:25:19 2019 +1100 [Keyboard] Add three missing layouts (#7441) * Add three missing default layouts * Add layout support to tragicforce68 * Not really 68% * Fix dumb mistake * Update info.json too * Apply suggestions from code review commit 02412156d55796c1a94a56ff49640609999a97e2 Author: fauxpark Date: Fri Nov 22 14:11:28 2019 +1100 Add 4-character aliases for sendstring keycodes (#7409) * Add 4-character aliases for sendstring keycodes * Remove pointless mail keycode redefinition * Forgot brightness keycodes commit e70fef03c106b25858e0a1e6784fb6cddcb1f086 Author: Thomas Baart Date: Thu Nov 21 22:03:47 2019 +0100 Updated Kyria readme.md with relocated build guide (#7438) commit 7e7eb69edffca39b51e8fdcd5eaa76262e16eaf4 Author: Erovia Date: Thu Nov 21 21:52:00 2019 +0100 MILC: Add support for hidden subcommands (#7034) * MILC: Add support for hidden subcommands Subcommands with 'hidden=True' will not show up in the help output, but will work as any other subcommands. * Hide those hidden submodules, for real now * Rebase on latest MILC commit f0790a722d5a586e3621487b554fd217839c24c0 Author: Drashna Jaelre Date: Thu Nov 21 11:02:39 2019 -0800 Change label for stale bot (#7429) * Change label for stale bot * Reword things to be more concise and clear * git add . -- that's how this works, right? Co-Authored-By: fauxpark * Remove Discussion label from issue templates commit 57815dbc3be3ff49495d4347595b5c3e080c51c9 Author: fauxpark Date: Thu Nov 21 22:50:23 2019 +1100 [Keymap] Clean up & improve default layouts (#7428) * Clean up & improve default layouts * Add newline at EOF in readmes * Oops commit 5d76b5f6551ade03285e27a5d3ea6fcf09ae0810 Author: moyi4681 Date: Thu Nov 21 03:19:10 2019 -0800 [Keyboard] dztech rgb pcb v2 support (#7423) * dztech rgb pcb v2 support dztech rgb pcb v2 support * Update config.h * Update rules.mk * Update rules.mk * Update rules.mk * Update keyboards/dztech/dz60rgb/v2/rules.mk Co-Authored-By: fauxpark * Update keyboards/dztech/dz60rgb/v2/rules.mk Co-Authored-By: fauxpark * Update keyboards/dztech/dz60rgb_ansi/v2/rules.mk Co-Authored-By: fauxpark * Update keyboards/dztech/dz60rgb_ansi/v2/rules.mk Co-Authored-By: fauxpark * Update keyboards/dztech/dz60rgb_wkl/v2/rules.mk Co-Authored-By: fauxpark * Update keyboards/dztech/dz60rgb_wkl/v2/rules.mk Co-Authored-By: fauxpark commit 84065e1d7458ad6b0a04a82fed4dfc69a4ded2b2 Author: Tim Schumacher Date: Thu Nov 21 06:07:33 2019 -0500 [Keymap] Add DZ60, Levinson keymaps, twschum user files (#7358) * Adds layout for DZ60rev2 plate B, options 4 and 10 * Use KC_TRANS for layer keys * Format layer0 with visual key size layout * Add RGB controls; add start description; add KC_LOCK * Update comments on rules.mk for DZ60 * Gets keymap compiling * Fix wiring for shift on row 3 * Hold a with other key to send Ctrl-A before other key * Adds compile-time defined mac-compatability media keycodes * Adds logic in place for capturing taps (w/ timeout) * Add send_keys(...) which can send up to 64 nested keycodes * Implement send_keys callable with n repeats * Tweaks some of the keymap * Add reset keycode; add disable to custom shortcuts * Adds a special "off" layer where bonus mod goes to layer 0, every other key KC_NO * Adjust timeout; mousekey settings * Changes layout of Home,End,PgUp/Dn on the dedicated arrow keys L1/L2 * PoC on rgb lighted layer indication * Refactors color table defines * Adds logic for controlling layer lights * Only change state on one side of the event lol * Switch back to Tapping Toggle for layer 4 * Add custom config file for keyboard; TT and mousekey settings * Code cleanup; starting to refactor special ctrl tapping keys functions * Move defines and reak out functions * Remove debugging light * Adjust keymaps; add enter * Adds a couple custom macros * Add simplified version of keymap to help debug issues * Adds basi numpad configuration for levinson keyboard half * Use ANSI ctrl key as layer 1 for better one hand (`) * Adapt to new 8bit hue from #5547; layer enum use everywhere * Move custom code out to users/ space * Flip col pins, move key assignments to "left hand" * Update readme * Implement placeholder macros * Notes * Reduce tapping time for SFT_T(/) * Adds vim features; refactors things * Adds fork of the vim features written by xton * Use correct backspace keycode * Add VIM_ESC * Add "OFF" to the RGB/HSV definitions * Clean up rules, use new "OFF" definition * Add windows KC_CALCULATOR key to numpad * Reformat layers with better guide; change layer names * Add sleep key * Change timeout delay * Add a "code paste" which surrounds a ^V with ``` * Try removing shift tap on rshift / * Update macros * Update the "code paste" macro * Update keymap with reset, calc, equals * Update keyboards/dz60/keymaps/twschum_b_4_10_simple/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/dz60/keymaps/twschum_b_4_10/keymap.c Co-Authored-By: Drashna Jaelre * Update users/twschum/twschum.c Co-Authored-By: Drashna Jaelre * Update users/twschum/twschum.c Co-Authored-By: Drashna Jaelre * Revert quantum/rgblight_list.h * Better name for split space layout; rename KEYMAP->LAYOUT * Rename KEYMAP->LAYOUT * Use simpler :flash command * Clean up layout files * Use qmk's MOD_MASK_CTRL * Sync lufa submodule * Cleanup from noroadsleft's PR comments * Modernize vim layer code commit 90bb7db48e658624c6c4609c832ac1451e4db98b Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Nov 21 19:36:38 2019 +0900 [Docs] Update japanese translation of newbs.md and related documents. (#7431) * Update japanese translation of newbs.md and related documents. * document link id change * add `ja/` in each link `[xxx](yyy.md)` --> `[xxx](ja/yyy.md)` * copy docs/ja/_summary.md from umi-umi's #7248 and fix it commit e54aadf24a93efd89e93d4cdf7bb164a21716e14 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Thu Nov 21 18:02:15 2019 +0900 [Docs] fix broken link in docs/newbs_best_practices.md (#7430) commit 6bcaf01c3f4625c536f25ca5ab75fa0e136a598d Author: William Chang Date: Wed Nov 20 23:03:47 2019 -0800 add layout 2 and rename existing folder to layout 4 - renamed existing folder with directional layout to layout 4 - udpated existing readme - Added layout_60_2 commit e7f4d56592b3975c38af329e77b4efd9108495e8 Merge: 71493b2f9b 8416a94ad2 Author: William Chang Date: Wed Nov 20 22:17:07 2019 -0800 Merge remote-tracking branch 'upstream/master' commit 8416a94ad27b3ff058576f09f35f0704a8b39ff3 Author: x1 Date: Thu Nov 21 14:48:30 2019 +0900 [Keyboard] Add pico as a new keyboard (#7419) * Add keyboards/ pico as a new keyboad. * Add keyboards/pico rev1. * Add keyboards/pico keymaps/default. * Add keyboards/pico keymaps/jis. * Remove unneeded code of rules.mk. * Revert rules.mk and remove some comments. commit ecc73553214e40293361af2570eddc5122bef255 Author: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Thu Nov 21 12:25:55 2019 +1100 [Keymap] Add ALGR and kle image, expand and correct documentation (#7426) commit baf6715a7ebfb382031a641f58ebf85c99445605 Author: moyi4681 Date: Wed Nov 20 17:22:27 2019 -0800 [Keyboard] knight malposition fix (#7422) knight malposition fix commit f7c8e7ff70267d8dc345fc254a8d59ee668bb5cd Author: fauxpark Date: Thu Nov 21 12:21:23 2019 +1100 Add info.json files for all default layouts (#7425) * Add info.json files for all default layouts * Update layouts/default/60_hhkb/layout.json * Fix layout.json spacing and info.json dimensions commit 6776703d8fb376dad07196450f576c62c73c9365 Author: Yan-Fa Li Date: Wed Nov 20 16:38:51 2019 -0800 Postage Board MCU (#7424) * Postage Board MCU * Fix keymap * Postage mini * Update readme * R2 * Update readme * flip * better image of r1 * Add a DEFAULT_FOLDER to keep zed and ci happy * Update keyboards/handwired/postageboard/readme.md Co-Authored-By: fauxpark * Update keyboards/handwired/postageboard/readme.md Co-Authored-By: fauxpark * Fix keyboard name commit f7bdc54c697ff24bec1bd0781666ac05401bafb2 Author: skullydazed Date: Wed Nov 20 14:54:18 2019 -0800 Add flake8 to our test suite and fix all errors (#7379) * Add flake8 to our test suite and fix all errors * Add some documentation commit d2115f7d1c3a314e997ec6800b6741d83115d6be Author: Joel Challis Date: Wed Nov 20 22:32:16 2019 +0000 Allow 'make all:' to not build EVERYTHING (#7402) commit e6b9980bd45c186f7360df68c24b6e05a80c10dc Author: Drashna Jaelre Date: Wed Nov 20 14:31:36 2019 -0800 Remove keymap_config extern from default keymaps (#7399) * Remove keymap_config extern from default keymaps * Revert unicode Apparently VSCode does not like unicode, I didn't actually edit these lines, so it must have been automatic... :( Co-Authored-By: fauxpark commit 46606e1ea572aaa85f3063db8ff1f93eeb97d6ac Author: kakunpc <15257475+kakunpc@users.noreply.github.com> Date: Thu Nov 21 06:16:38 2019 +0900 [Keyboard] Add "thedogkeyboard" (#7401) * add the dog keyboard * set rgbled * fix info.json and readme.md * Update keyboards/thedogkeyboard/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/thedogkeyboard/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/thedogkeyboard/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/thedogkeyboard/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * update thedogkeyboard commit 0a5125a535ff5ee33fdb01853d32adcfd6b0860c Author: trinity1561 <47289299+trinity1561@users.noreply.github.com> Date: Wed Nov 20 16:11:00 2019 -0500 [Keyboard] Update e65.c to fix Caps Lock indicator (#7405) * Update e65.c Fixing Caps Lock LED indicator * Update e65.c Using new LED functions (led_update_kb) commit eb91c962886b1bb52c2d457a574cba09e2a8b0f0 Author: Drashna Jaelre Date: Wed Nov 20 12:37:24 2019 -0800 [Keymap] All about (ARM) RGB and OLEDs (drashna keymaps) (#7354) * Add Kyria Keymap * Enable all RGBLIGHT Animations for ARM and high capacity AVR * Reduce GNUC version for __has_include * Cleanup Ortho 4x12 Community layout * Update Collide 39 keymap * Cleanup Keymaps * Enable full 30 LEDs for Ergodox * Change EEPROM Load timing * Use RGB Matrix on Planck Rev6 * Use correct keymap swap * Enable everything for ARM * Only enable rgb sleep on avr until crash is fixed * Add additional Kyria keymap config * Overhaul Kyria OLED display * Improve kyria keymap based on usage * Minor tweaks to rules * Update OLED code to truncate properly * Fix RGB Light layer indication * Switch all of biton32 to get_highest_layer function * Fix OLED Keylogger display * Run qmk cformat over all of my user files * Slight tweak to kyria based on usage * Move around LALT_T config * Add comments about base wrappers to keymaps * Another cformat pass * Temp fix for VUSB boards and NKRO * Convert tabs to spaces in rules.mk files * Only enable RGBLight if it's enabled * Add Encoder Flip setting * Update OLED font file commit 8e8986b2506ca4cdd2339a441314a0838e3a4329 Author: Drashna Jaelre Date: Wed Nov 20 12:17:52 2019 -0800 Add auto-handling of stale PRs/Issues (#7197) * Add auto-handling of stale PRs/Issues This adds the configuration for probot-stale, so that PRs and Issues can be automatically pruned without intervention by collaborators. This marks PRs with `awaiting changes` label after 45 days, and then closes any PR with "Awaiting changes" after 30 days. Unless they have `awaiting review`, `breaking_changes`, `in progress` or `on hold` labels. This marks issues as `solved` after 90 days, and then closes them 30 days afterwards. Unless they have `bug`, `discussion, `to do`, `in progress` or `on hold` labels. * Cleanup the text some * Update .github/stale.yml Co-Authored-By: fauxpark commit b90edb75a3540a9efa9fb2e37a5a610163d889a4 Author: kuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com> Date: Wed Nov 20 12:02:56 2019 -0800 [Docs] Start of German translation of documentation (#6909) * Initial commit * Fix links so that they point to the german translation * minor changes to the wording of some sentences * correctly capitalize second person pronouns * Fix links so that they point to the german translation * minor changes to the wording of some sentences * correctly capitalize second person pronouns * Translate newbs_learn_more_resources.md * Clear up some phrases * Add newbs_building_firmware.md, fix spelling * Add newbs_building_firmware.md, fix spelling * Update docs/de/_summary.md Danke * Update docs/de/README.md * Update docs/de/_summary.md Ich wollte es kuerzer halten damit die Navigationsleiste nicht zu breit wird, aber das ist halt die deutsche Sprache :) * Update docs/de/newbs.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs.md * Update docs/de/newbs_learn_more_resources.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs.md * Update docs/de/newbs.md * Update docs/de/newbs.md * Update docs/de/README.md * Update docs/de/README.md * Update docs/de/README.md * Update docs/de/README.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_learn_more_resources.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_learn_more_resources.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_learn_more_resources.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_getting_started.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Update docs/de/newbs_building_firmware.md * Apply suggestions from code review * Add translation of newbs_flashing.md * Apply suggestions from code review Danke * Add translation of Zadig-guide * Translate newbs_testing_debugging.md to german Co-Authored-By: Max Rumpf Co-Authored-By: geisterfurz007 commit 3b9a139c0768069aea87aad0bea329acfe6fac67 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Wed Nov 20 22:48:05 2019 +0900 fix feature_advanced_keycodes.md's link (#7421) docs/feature_advanced_keycodes.md has: ``` [Tap Dance](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys) ``` change to: ``` [Tap Dance](feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys) ``` commit acd02e4469ac2befd981da8349a05ef7e2c949fa Author: ashpil Date: Tue Nov 19 22:06:16 2019 -0800 [Keyboard] Add support for Model M USB C Controller (#7393) * added usb c model m * added readme * Update keyboards/ashpil/modelm_usbc/rules.mk * Update keyboards/ashpil/modelm_usbc/rules.mk * Update keyboards/ashpil/modelm_usbc/rules.mk * Update keyboards/ashpil/modelm_usbc/rules.mk * Update keyboards/ashpil/modelm_usbc/rules.mk * Update keyboards/ashpil/modelm_usbc/rules.mk * cleaned up code * removed combo from keymap * added reset to default * Update keyboards/ashpil/modelm_usbc/rules.mk * bootmagic and simplifying default * Update rules.mk * removed duplicates * updated readme * Update keyboards/ashpil/modelm_usbc/README.md * Update modelm_usbc.h * Update keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c * Update keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c * Update keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c * full support for either ANSI or ISO * Update keyboards/ashpil/modelm_usbc/info.json * Update keyboards/ashpil/modelm_usbc/info.json * Update keyboards/ashpil/modelm_usbc/info.json * Resize the ISO Enter key * ANSI Enter and Left Shift keys resize commit 8725f37de7b7b3aa8a13fadaa2e5746a08781f9f Author: Campbell Barton Date: Wed Nov 20 16:17:08 2019 +1100 [Keymap] Update to qwerty_code_friendly (#7416) - Move space to thumb cluster. - Make L1 and L2 symmetrical. - Add App & Menu keys. commit 831696611aaa000330f14ef35df02e163dbc548d Author: moyi4681 Date: Tue Nov 19 18:02:23 2019 -0800 [Keyboard] dz60rgb_wkl malposition fix (#7418) fix malposition combile in config.qmk.fm commit 03e50e6dc9f661cdce4156279f1229af80b91b8e Author: angelbirth Date: Wed Nov 20 07:21:19 2019 +0700 ASH-1800 (#7031) * my custom layout * asd * use qmk-dfu * :) * ganti keymap lagi * my custom layout * asd * use qmk-dfu * :) * ganti keymap lagi * my custom layout * asd * use qmk-dfu * :) * ganti keymap lagi * Add handwired2x2 project, define pins for atmega328p in config_common.h * Add USB IDs * my custom KBD75 layout * renaldi danang's numpad * my redox keymap * reynaldi danang's numpad * asdasd * ASH-1800 * added description and layer 1 * added requested changes from fauxpark * forgot to include this * USB descriptor parameter: - assign product id - assign description edit formatting on readme.md * update USB descriptor: change manufacturer * review from fauxpark and noroadsleft * remove extra files * removed unnecessary comment * minor cleanup commit 25e9853efe28e8897cd9128d7515d3f60f482aad Author: Erovia Date: Tue Nov 19 22:00:45 2019 +0100 [Core] Fix ps2avrgb template (#7412) commit c1c27b83aa9a3a57da43749854ee3c5182e63826 Author: Erovia Date: Tue Nov 19 21:56:01 2019 +0100 [Keyboard] Add support for the THE30 keyboard (#7390) commit bb87bdec82433053eef68caa5fe4a03083a13e9c Author: くまお工房 <52371962+kumaokobo@users.noreply.github.com> Date: Wed Nov 20 05:51:47 2019 +0900 [Keyboard] Add Kudox column-staggered layout. (#7400) * Add Kudox columner layout. * Remove an extra comma from info.json. commit 687a24f2980e6e490ac8e43104f4176b033c9243 Author: Mihai Olteanu Date: Tue Nov 19 15:41:35 2019 +0200 Fix typo and code indentation (#7410) commit 23f828a2f3021f8167c4e17eac7cbe4683824ca5 Author: shela Date: Tue Nov 19 17:38:50 2019 +0900 [Docs] Fix Japanese country flag (#7407) commit 9c58da6b121ca36f616f8a9a78dd4c2234bd5942 Author: skullydazed Date: Mon Nov 18 14:54:50 2019 -0800 Improve a number of things about how MILC operates (#7344) * Pull in updates for MILC * Remove the shadow argparser * Make it easier to reason about arguments and how they're translated into the config tree * Populate self.config during init to support setting user.qmk_home for the global CLI * Remove the short argument -c so that we can unambiguously determine the config file location without doing full argument processing * Remove the --save-config option as it's a little confusing anyway * Use Pathlib for path manipulation * Fix commands with no arguments commit b608bddc5edae7ccce8108d9c7777437160f3cb3 Author: moyi4681 Date: Mon Nov 18 00:25:35 2019 -0800 knight Indicator light fix (#7398) * knight Indicator light fix * Update knight.c * Update knight.c * Update knight.c * Update knight.c commit cee8df3edf8494eb53d7208ba17dbb90b8516f25 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Mon Nov 18 10:09:57 2019 +0900 [Docs] Modified the description about setting debug_enable in `docs/faq_debug.md`. (#7394) commit e58dd1a09a908934e7de1ed839f58634f20bc9fb Author: Luiz Correia Date: Sun Nov 17 21:10:16 2019 -0300 [Keyboard] Add abnt2 layout to gh60 (#7371) * [keymap] Add abnt2 format to gh60 * Fix typing errors * Change key names to capitals * Fix layout define * Apply suggestions from code review * Fix layout define again I used a k * Remove layer variable * Update keyboards/dz60/keymaps/default_abnt2/readme.md * Make changes from noroadsleft commit a91c0c476507cb8c12840abb59bff34ab0de3c03 Author: zvecr Date: Sun Nov 17 14:02:26 2019 +0000 Run clang-format manually to fix recently changed files commit 6b18ca2875ceb38011f32f2d17238ba55ce7ad67 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun Nov 17 08:12:57 2019 -0800 Add Community Layout: 60_abnt2 (#7381) * Add Community Layout: 60_abnt2 Add a 60% version of the standard keyboard layout used in Brazil. * Enable 60_abnt2 support for DZ60 * fix the indenting in the Community Layout keymap commit 7b6c8e89cacceb7e4e751c174e8c4e32489a7b29 Author: Erovia Date: Sun Nov 17 17:04:44 2019 +0100 Doc fix to conform with #7221 (#7392) commit 46d0fe44f357f0435d3335cbe5e361324d4236f6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat Nov 16 12:46:35 2019 -0800 [Keyboard] Cutie Club Wraith: Configurator Bugfix for LAYOUT_iso (#7376) * debug lint info.json Because I need to debug this file. * move ISO Enter to the proper location in sequence * add key counts because I like having them commit 634b277b0710245ec1fbf167e20929aa8f28c020 Author: Robert Akhmerov Date: Sat Nov 16 20:20:49 2019 +0300 [Docs] Explain Tap Dance interruption (#5520) commit 7891de7f6d64431cedbd580a3f7863533dc8be88 Author: QMK Bot Date: Sat Nov 16 07:10:19 2019 +0000 format code according to conventions [skip ci] commit 897888db419239f013561b155de5993b1966820e Author: jorgemanzo Date: Fri Oct 4 23:38:34 2019 -0700 Add CLI command for flashing a keyboard A new CLI subcommand was added, flash, which behaves very similar to the already present compile CLI comamnd, but with the added ability to target a bootloader. The command is used like so: qmk flash [-h] [-b] [-kb KEYBOARD] [-km KEYMAP] [-bl BOOTLOADER] [filename]. A -kb and -km is expected, or a configurator export JSON filename. A bootloader can be specified using -bl , and if left unspecified, the target is assumed to be :flash. -bl can be used to list the available bootloaders. If -km is provided, but no -kb , then a message is printed suggesting the user to run qmk list_keyboards. commit 4f5b34af565d00e069d3f37b3faa8091608ed21f Author: jotix <47826561+jotix@users.noreply.github.com> Date: Fri Nov 15 22:22:48 2019 -0300 [Keymap] add_mouse_keys (#7372) commit b94f6cb116f1628f6d14ff3b1365bcbae6792dea Author: Joel Challis Date: Sat Nov 16 00:07:21 2019 +0000 Port SPLIT_USB_DETECT to crkbd (#7195) commit 0f0c73f14a8ffb83a79b51582c0e7465c2411749 Author: XScorpion2 Date: Fri Nov 15 17:01:50 2019 -0600 Updated slave encoder sync to reduce dropped pulses (#7325) * Updated slave encoder sync to reduce dropped pulses * Fixing encoder direction * Encoder behavior fixes, tested * Update keyboards/rgbkb/sol/keymaps/xulkal/rules.mk To make fauxpark happy Co-Authored-By: fauxpark * Update custom_encoder.c * Update rules.mk commit f6b5f6db7665512cece0223ce4d19c5b17455ef4 Author: Drashna Jaelre Date: Fri Nov 15 14:27:46 2019 -0800 Improvements to Solenoid feature (#7369) * Error out when Solenid pin is not defined Instead of defaulting to a (literally) random pin, error out instead. Because this pin may be used, or because that pin may not be exposed, or may not exist. * Remove 'SOLENOID_ACTIVE' setting since it's not used * Update documentation commit 381b73fcac169338a1dcf433694108a29870a57e Author: Richard Baptist Date: Fri Nov 15 22:12:34 2019 +0100 Fix the RGB_MATRIX_RAINBOW_PINWHEELS animation (#7365) The internal naming was `PINWHEELS` instead of `RAINBOW_PINWHEELS` causing a mismatch between animation definition and the function. commit ad36bb37dd775de5132a68fbd6ad9cdf73b0c070 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Sat Nov 16 03:20:57 2019 +0900 [Keyboard] Add keyboard Nafuda (#7367) * [Keyboard] Add keyboard Nafuda Add Nafuda keyboard. A 7 keys keyboard. Salicylic-acid3 * Update keyboards/nafuda/info.json * Update keyboards/nafuda/readme.md * Update keyboards/nafuda/readme.md * Update keyboards/nafuda/nafuda.h * Update keyboards/nafuda/readme.md * Update keyboards/nafuda/rules.mk * Update keyboards/nafuda/rules.mk * Update keyboards/nafuda/rules.mk * Update keyboards/nafuda/rules.mk * info.json Update * Update keyboards/nafuda/rules.mk commit 1c9e4502181dc36ed9853dec4341765c87530240 Author: moyi4681 Date: Fri Nov 15 16:01:51 2019 +0800 [Keyboard] kbdfans keyboards NKRO enable (#7364) commit 700bea41f8ba2729efbaa60502d7b1edcb9cb525 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu Nov 14 22:10:54 2019 -0800 [Keyboard] fix DZ60RGB info.json (#7362) * fix DZ60RGB info.json JSON was invalid. * correct metadata per moyi4681 commit 43889326fcaa6623e264e95aeeb279a8540938bb Author: Sid Carter Date: Thu Nov 14 21:30:29 2019 -0500 Adding new pcb with default keymap and personal keymap (#7314) * adding new pcb with default keymap and personal keymap * Update keyboards/leeku/finger65/readme.md Co-Authored-By: fauxpark * Change to newer DEBOUNCE format Co-Authored-By: fauxpark * switch to pragma Co-Authored-By: fauxpark * remove unused define keyboards/leeku/finger65/config.h Co-Authored-By: fauxpark * some cleanup after debounce and other changes * Remove no_suspend_power_down from keyboards/leeku/finger65/rules.mk Co-Authored-By: fauxpark * move to newer format and remove unused stuff * ensure default has no leds for now * change default layout name * clean up the keymap a bit * want grave not tilde * a minor change and cleanup * more stuff removed cause I don't care for LEDs * remove some remaining stuff * add RGBLED stuff * Update keyboards/leeku/finger65/usbconfig.h Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/usbconfig.h Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/usbconfig.h Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/usbconfig.h Co-Authored-By: fauxpark * update USB information * Update keyboards/leeku/finger65/usbconfig.h Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/rules.mk Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/rules.mk Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/rules.mk Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/rules.mk Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/keymaps/madhatter/keymap.c Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/keymaps/madhatter/keymap.c Co-Authored-By: fauxpark * cleanup and conform to existing standard * Update keyboards/leeku/finger65/rules.mk Co-Authored-By: fauxpark * remove stuff that doesn't work * add a JSON for the QMK configurator * list the layouts only available * let's just make it the 65 ansi layout with split backspace, eh? * remove extra space * Update keyboards/leeku/finger65/readme.md Co-Authored-By: fauxpark * Update keyboards/leeku/finger65/readme.md Co-Authored-By: fauxpark * update readme * remove redundant title * Monica Bellucci ruined my life * I'm having a RELIGIOUS EXPERIENCE ... and I don't take any DRUGS * Update keyboards/leeku/finger65/rules.mk Co-Authored-By: fauxpark * add a URL to the username * fix readme and make it simpler with links this time * Update keyboards/leeku/finger65/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/leeku/finger65/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * incorporate suggested changes * update usb stuff for some stuff coming in the future * update layout for LAYOUT_ALL * USB power changes commit f98750de6edf97559ed53be4b5b5c1b4851acf3e Author: fauxpark Date: Fri Nov 15 13:25:40 2019 +1100 [Core] Cleanup rules.mk for F303 keyboards (#7306) * Cleanup rules.mk for F303 keyboards * Fix small typo commit c19e4da8af6954c70760ef3803fbf729d007c1d8 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Fri Nov 15 11:22:55 2019 +0900 [Docs] Japanese translation of docs/ja/newbs_best_practices.md (#7337) * Mark same as in new document #7231 * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * comment out the same marks * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * update docs/ja/newbs.md, docs/ja/newbs_best_practices.md * update docs/ja/newbs_best_practices.md * update docs/ja/newbs_best_practices.md * update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * update docs/ja/*.md's comment * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md * Update docs/ja/newbs_best_practices.md Co-Authored-By: shela commit 519df78cdbf7211b9e1ac6b961b0e10bb5164914 Author: fauxpark Date: Fri Nov 15 10:21:53 2019 +1100 Set device version from config.h for V-USB boards (#7316) commit 30473357290747be06e9200a7d9c751738a3b0a1 Author: fauxpark Date: Fri Nov 15 10:21:22 2019 +1100 Add support for configurable polling interval and power usage o… (#7336) * Add support for custom polling interval and power usage on V-USB boards * Use 1ms as default for now commit a2eb962704f1e87ed862a18650520df7a0fc5da8 Author: jotix <47826561+jotix@users.noreply.github.com> Date: Thu Nov 14 19:46:53 2019 -0300 capslock_led (#7359) commit 1cf63a193be50b14ecd33ee1c6eb5e470640e084 Author: Drashna Jaelre Date: Thu Nov 14 12:00:51 2019 -0800 Move Ergodox EZ RGB Light code to custom driver (#7309) * Move Ergodox EZ RGB code to custom driver Also implements full addressing of Ergodox EZ's LED Strip, as written by seebs Co-authored-by: Seebs * Make Clipping range accessible for custom drivers * Remove RGBW_BB_TWI from driver and docs * Revert changes to clipping range support * Use just rgblight_set instead of full custom driver * Convert to i2c_master commands * Rename rgblight driver and clean up includes commit 8dc9764f31ce3326b2f5fd1a3bea216e86cf4734 Author: Jake Waksbaum Date: Thu Nov 14 15:00:36 2019 -0500 Fix shell.nix by pinning nixpkgs (#6213) commit 426c03eda0deb62d916498fbdd671c7d3532b9e4 Author: moyi4681 Date: Fri Nov 15 03:55:46 2019 +0800 [Keyboard] add kbdmini; dztech, kbdfans keyboards cleanup (#7223) * add kbdmini, dztech and kbdfans keyboards small fix * Caps lock indicator moved from keymap * Update dz65rgb.c * fix error * fix matthewrobo keymap error * Update keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c Co-Authored-By: fauxpark * Update keyboards/dztech/dz60rgb/dz60rgb.c Co-Authored-By: fauxpark * Update keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c Co-Authored-By: fauxpark * Update keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c Co-Authored-By: fauxpark * Update keyboards/dztech/dz65rgb/dz65rgb.c Co-Authored-By: fauxpark * wrap all of the g_led_config stuff and rgb matrix functions in ifdefs wrap all of the g_led_config stuff and rgb matrix functions in ifdefs commit 5edd4b99fe4db7371a04fc554bb8f4672ccae707 Author: fauxpark Date: Fri Nov 15 06:37:18 2019 +1100 [Docs] Encourage newbs to not download the repo as a zip (#7353) * Encourage newbs to not download the repo as a zip * Tweak wording and remove Russian translation of deprecated Vista+ instructions commit 872744f5ab515c2169ac43e54148d845f483ebaf Author: Drashna Jaelre Date: Thu Nov 14 10:54:34 2019 -0800 Update debounce docs (#7355) commit 44df08746a97d7177a9ad918e4d5da3a5cf437d3 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Nov 14 10:52:55 2019 -0800 [Keyboard] Add TG4x (#7351) * initial commit * add pins and matrix * add an appropriate keymap * set bootloader to caterina * add QMK Configurator support * turn on RGB and link time optimization * add rgb pin * update readme on rgb underglow info * Update keyboards/tg4x/readme.md Co-Authored-By: fauxpark * Update keyboards/tg4x/readme.md Co-Authored-By: fauxpark * Update keyboards/tg4x/readme.md Co-Authored-By: fauxpark * setting product id to 1 to match original code commit 661462218b54044bb41a55be70df2c2d2ac25242 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Nov 14 03:12:50 2019 -0800 [Keyboard] Add FLX Virgo (#7352) * help flex get his board into QMK * Put my name everywhere it matters * Update keyboards/flx/virgo/config.h Co-Authored-By: fauxpark * Update keyboards/flx/virgo/rules.mk Co-Authored-By: fauxpark * Update keyboards/flx/virgo/readme.md Co-Authored-By: fauxpark * Update keyboards/flx/virgo/readme.md Co-Authored-By: fauxpark * Update keyboards/flx/virgo/config.h Co-Authored-By: fauxpark * Update keyboards/flx/virgo/config.h Co-Authored-By: fauxpark * Update keyboards/flx/virgo/readme.md Co-Authored-By: fauxpark * add product and vendor id * update readme with better description and img * use fauxpark suggestion for led update commit 1f332968a5c0f6de1f375a4977955925a90084c2 Author: QMK Bot Date: Thu Nov 14 08:08:07 2019 +0000 format code according to conventions [skip ci] commit d50d6f678f49de7e3626827052876283b84c927f Author: alittlepeace Date: Thu Nov 14 02:04:57 2019 -0600 Adding verd layout to RSII (#7296) * verd verd * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keymap.c * Update keymap.c * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update rules.mk * Update rules.mk * Delete tests.txt * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update config.h * Update verd.h * Update keymap.c * Update keymap.c * Update readme.md * Update matrix.c * Update readme.md * Update verd.h * Update verd.c * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/config.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/config.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keymap.c * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keymap.c * Update verd.h * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keymap.c * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.c Co-Authored-By: fauxpark * Update keymap.c * Update verd.c * Update config.h * Update verd.h added regular non split 0 * Update keymap.c * Update keyboards/redscarf_iiplus/verd/rules.mk Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update rules.mk * Update rules.mk * Update rules.mk * Update keymap.c * Update keymap.c * Update keymap.c * Update rules.mk * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keymap.c * Update keymap.c * Update keyboards/redscarf_iiplus/verd/readme.md Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/matrix.c Co-Authored-By: fauxpark * Update info.json * Update info.json * Update info.json * Update keyboards/redscarf_iiplus/verd/verd.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/verd.h Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark * Update keyboards/redscarf_iiplus/verd/keymaps/alittlepeace/keymap.c Co-Authored-By: fauxpark commit 28d3f03e431f368fdae83a16b868b3102cc56927 Author: Daniel Barber Date: Wed Nov 13 22:26:40 2019 -0500 Add my custom layouts for GH60, DZ60 and Minivan (#7278) Co-Authored-By: fauxpark commit 1b2e666490bc8fcfe50a52869df7cd1de7e5aac1 Author: Luiz Correia Date: Wed Nov 13 18:48:32 2019 -0300 [Keyboard] Added abnt2 layout to dz60 (#7340) * [keymap] Added abnt2 format to dz60 * [layout] added LAYOUT_60_iso_abnt2 to dz60 * Fix error: macro passed 63 arguments & takes 62 * Change BR_QUOTE to KC_GRV * Clean dz60.h * Apply suggestions from code review Accepted suggested from noroadsleft * Applied suggested changes * Update info.js with abnt2 layout * Update keyboards/dz60/info.json * Update keyboards/dz60/info.json * Rename the keymap to default_abnt2 commit f2346be13d06af5b460e10689fc4bb98902081b2 Author: Simon Aronsson Date: Wed Nov 13 22:46:36 2019 +0100 [Keyboard] add Little Keyboards as a seller of helix pcbs outside of japan (#7249) * add lkb as a seller of helix pcbs outside of japan * Update keyboards/helix/readme.md commit fc867422a3d8f72eca2589b450f46da48e891fee Author: fauxpark Date: Thu Nov 14 05:13:27 2019 +1100 Update ARM GCC on macOS to 8.3 (#7318) commit 9dc5432a3e16ca4ee42d84cacbcfa7aeee97d2f9 Author: fauxpark Date: Wed Nov 13 19:38:37 2019 +1100 [Keyboard] XT converter: add config_common.h include and fix E0 collision (#7341) commit 7e8f239c2e15091bca82f69c3982e585814c0f70 Author: Joel Challis Date: Wed Nov 13 07:53:05 2019 +0000 [CI] Revert to previous logic for branch name and changes (#7343) commit 6449bd25518b8d6e44040ae709ff6f51b7db5433 Author: Calvin Moody Date: Wed Nov 13 02:10:54 2019 -0500 [Keymap] update calbatr0ss layout (#7342) commit 1cd7afaff1b1fff300d6a8097ece10870656e0c6 Author: XScorpion2 Date: Wed Nov 13 01:02:58 2019 -0600 [Keymap] Added Xulkal ALT Keymap (#7332) * Added Xulkal ALT Keymap * Hadron compile fix * Keymap fix commit 12ea2e3649459a008e4ebb8efa8ba82005ffc218 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Wed Nov 13 16:01:14 2019 +0900 [Keyboard] Add keyboard Setta21 (#7320) * [Keyboard] Add keyboard Setta21 Add Setta21 keyboard. A 21 keys Tenkey. Salicylic-acid3 * Update keyboards/setta21/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/info.json Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/rev1/rev1.h Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/setta21/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Keymap Update Removed the keymap matrix_init_user. Changed the declaration of DRIVER_LED_TOTAL. * Update keyboards/setta21/readme.md Co-Authored-By: fauxpark * Update keyboards/setta21/readme.md Co-Authored-By: fauxpark * Update keyboards/setta21/readme.md Co-Authored-By: fauxpark * Update keyboards/setta21/readme.md Co-Authored-By: fauxpark * Update keyboards/setta21/rev1/rev1.h Co-Authored-By: fauxpark * Update keyboards/setta21/rules.mk Co-Authored-By: fauxpark * Update keyboards/setta21/rules.mk Co-Authored-By: fauxpark * Update keyboards/setta21/rules.mk Co-Authored-By: fauxpark * Update keyboards/setta21/rules.mk Co-Authored-By: fauxpark * Update keyboards/setta21/rev1/rev1.c Co-Authored-By: fauxpark * Update keyboards/setta21/rev1/rev1.h Co-Authored-By: fauxpark * Update Keymap Removed OLED sleep timer in keymap. * Update keyboards/setta21/rev1/rev1.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> commit a4c2a9b083d82d9e7d7fe3a68c0d51ae2280495f Author: QMK Bot Date: Wed Nov 13 05:24:56 2019 +0000 format code according to conventions [skip ci] commit 7329c2d02d38f40a23d38f789de34057fd2acd42 Author: Cody Bender <50554676+cfbender@users.noreply.github.com> Date: Tue Nov 12 21:55:41 2019 -0700 Add cli convert subcommand, from raw KLE to JSON (#6898) * Add initial pass at KLE convert * Add cli log on convert * Move kle2xy, add absolute filepath arg support * Add overwrite flag, and context sensitive conversion * Update docs/cli.md * Fix converter.py typo * Add convert unit test * Rename to kle2qmk * Rename subcommand * Rename subcommand to kle2json * Change tests to cover rename * Rename in __init__.py * Update CLI docs with new subcommand name * Fix from suggestions in PR #6898 * Help with cases of case sensitivity * Update cli.md * Use angle brackets to indicate required option * Make the output text more accurate commit 00fb1bd1f0550645997b61870d7d092494265a60 Author: skullY Date: Tue Nov 12 17:08:55 2019 -0800 Make generating keymap.c from JSON more reliable commit 79edb7c5942108774e667c172550a1519c5543ac Author: skullY Date: Tue Nov 12 17:27:08 2019 -0800 Small CLI cleanups * yapf changes * Fix the cformat test * Make the normpath test work when run from / * `qmk config`: Mark `--read-only` as arg_only commit d1b6c11b7f4cc24c50d2b640a94925acf6450da6 Author: skullY Date: Tue Nov 12 17:21:33 2019 -0800 When checking program returncodes treat both 0 and 1 as installed commit 5421ba11dedd9912967b1fa5ed1f664687221143 Author: skullY Date: Tue Nov 12 17:17:12 2019 -0800 Add support for newer versions of clang-format, if installed commit b252cce18fd474562510be5fc1e401287d747cd3 Author: marhalloweenvt Date: Tue Nov 12 12:04:35 2019 +0700 [Keyboard] Add new keyboard Symmetry60 (#7327) * [Keyboard] Add new keyboard Symmetry60 * Add new keyboard Symmetry60 * Fix Typo * Update keyboards/handwired/symmetry60/config.h Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/symmetry60/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/symmetry60/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/symmetry60/readme.md Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/symmetry60/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/handwired/symmetry60/symmetry60.h Co-Authored-By: Drashna Jaelre * Update keyboards/handwired/symmetry60/symmetry60.h Co-Authored-By: Drashna Jaelre * Update keyboards/handwired/symmetry60/symmetry60.h Co-Authored-By: Drashna Jaelre * Update readme.md * Update keymap.c * Update keymap.c * Update keymap.c * Update rules.mk * Update symmetry60.c * Update keyboards/handwired/symmetry60/rules.mk Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> commit 3f6426ff5f14d1cdac9af935aaf175d3dbca3592 Author: Stephen Hogsten Date: Mon Nov 11 18:27:20 2019 -0800 disable deprecated actions (#7211) * disable deprecated actions * wrap no action with link time optimization test * fix link time optimization check commit e75919960fc53d16b6d8281018689aec3e62da1b Author: stanrc85 <47038504+stanrc85@users.noreply.github.com> Date: Mon Nov 11 20:32:09 2019 -0500 [Keymap] minor config changes (#7334) commit af683fc2cac2811fa54dfca74f4cedc4278d0ba1 Author: Xyverz Date: Mon Nov 11 15:11:56 2019 -0800 [Keymap] Added macro (#7331) Added MACLOCK macro, which sends CMD+CTRL+Q to perform a screen lock on macs running Mojave or newer. commit 80713a8a5802dfc28fe0c602ae73b40e3de800d4 Author: Takeshi ISHII <2170248+mtei@users.noreply.github.com> Date: Tue Nov 12 07:27:48 2019 +0900 Japanese translation of newbs.md and related documents. (#7300) * add docs/ja/newbs.md * Update docs/ja/newbs.md * Updated newbs.md * Updated newbs.md * add docs/ja/newbs_learn_more_resources.md * Update docs/ja/newbs.md * update link info 他人まかせ :-) * add docs/ja/newbs_testing_debugging.md * Update docs/ja/newbs_testing_debugging.md * Update docs/ja/newbs_testing_debugging.md * add docs/ja/newbs_building_firmware.md * update docs/ja/newbs_building_firmware.md * Update docs/ja/newbs_testing_debugging.md * Update docs/ja/newbs_building_firmware.md * Update docs/ja/newbs_building_firmware.md * Japanese translation of docs/newbs_getting_started.md * renamed: docs/QMK入門.md -> docs/ja/newbs_getting_started.md * update docs/ja/newbs_getting_started.md * add ja/newbs_best_practices.md There are no plans to translate this file. With the completion of #7231, I will open a new PR. * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * add docs/ja/newbs_flashing.md * add docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * update docs/ja/newbs_flashing.md * change original log format * update docs/ja/newbs_flashing.md * Update docs/ja/newbs_getting_started.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_building_firmware_configurator.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * Update docs/ja/newbs_flashing.md * copy docs/_langs.md and docs/index.html from #7248 Co-Authored-By: shela Co-Authored-By: takashiski Co-Authored-By: Takuya Urakawa commit f48986dda29f9ca4a88d4b4da9ba00dd7864914e Author: Joel Challis Date: Mon Nov 11 21:06:14 2019 +0000 Remove force of debug on within rgblight - causes lockups waiting for hid_listen (#7330) commit 543e612003b17d5542102957aa53ea2d5c6727ed Author: Josh Hinnebusch Date: Mon Nov 11 12:27:57 2019 -0500 [Keyboard] add sm68 (#7279) * add sm68 * update rules.mk to decrease final size (hopefully) * update rules.mk * update json * update per PR comments * remove custom keycodes from keymap * update layout names in keymap * change layout names * Update keyboards/hineybush/sm68/info.json Co-Authored-By: fauxpark * Update keyboards/hineybush/sm68/info.json Co-Authored-By: fauxpark * Update keyboards/hineybush/sm68/info.json Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * update readme commit 1d550552cab30ef49b5935bdd31bf2f659255c19 Author: Jonathan Cameron Date: Mon Nov 11 09:26:14 2019 -0800 [Keyboard] Added French layer to handwired/2x5keypad (#7313) * Added new 2x5 Keypad with 3 LEDs to indicate the selected layer. By Jonathan Cameron. * Minor refactor from suggestions from qmk team * Added * Moved to 'handwired' directory * Update readme.md * Update readme.md * Update readme.md * Update keyboards/handwired/2x5keypad/readme.md Co-Authored-By: fauxpark * Switch to image offsite * Moved image offsite * Update keyboards/handwired/2x5keypad/keymaps/default/keymap.h Co-Authored-By: fauxpark * Update keyboards/handwired/2x5keypad/2x5keypad.h Co-Authored-By: fauxpark * Moved functions into .c file per suggestions * Cosmetic * Fixed function called, per suggestions. * Update keyboards/handwired/2x5keypad/2x5keypad.h Ok Co-Authored-By: fauxpark * Moved LED functions to the top level since they can be used it various flavors * Declare those moved LED functions! * Update keyboards/handwired/2x5keypad/config.h Co-Authored-By: Drashna Jaelre * First cut at French support * Added French layer (green) for accented and special French characters * Added french layer * Fixed typo * Updated to get more reasonable tap function commit b2b947f815dd4930b12851faf1b42ceb12aab6ee Author: Xyverz Date: Mon Nov 11 00:02:01 2019 -0800 [Keymap] Sol rework (#7317) * Added WOW layer * Initial commit for this branch. Still a work in progress. * Added Rorschach keyboard layout. * Simplified keymap Removed the media layer to help simplify things. Also corrected some keymap mistakes in the Qwerty and Colemak layers. * Added ErgoTravel keymap. * reverted to previous layout. * Added Sol keyboard layout. * Minor changes to keymap. * more changes * Added sol graphic by Kagerufu and Cardiactuna * Added colemak layer because I can. * more changes to sol layout * Streamlined Sol layout * minor tweaks to sol layout * further revisions to sol keymap. * Removing deprecated #include statements from my keymaps * Standardizing keymap `include` lines. * Minor change to keymap. Swapped ESC with GRV on all alpha layers. * Tweaks to Atreus62 Keymap Added a layer for FPS RPG Loot Shooters. * Fixed readme.md for Atreus keymap. Replaced "Keymap" with "Layer" in illustrations for continuity's sake * More readme.md clean-up More clarification in the Atreus readme file. * Next verse, same as the first. * Changes to Sol layout Bringing my Sol layout more in line with my other Orthos. * Fixed keymap GUI. Replaced left-hand "RGUI" with "LGUI" on all layers as it should be. * Added ALPS64 keymap * Formatting corrections * fixes to config.h and keymap.c * Fixed errors This commit fixes a pathing issue in keyboards/orthodox/keymaps/xyverz/config.h and removes an stupid comma at the end of each LAYOUT stanza in keyboards/rgbkb/sol/keymaps/xyverz/keymap.c left there by me. * Fixed orthodox keymap config.h file I hope this one fixes the problem. *sigh* * Making suggested changes for PR#6192 Thanks to noroadsleft, fauxpark, and drashna. Still have more work to do, but at least these suggestions have been applied. * Fixing build errors Travis has shown me the error of my ways... * More fixes and corrections Those pesky semicolons... * More Fixes. * Removing unneeded code snippet. * fixed omitted semicolons * Code updates to my keymaps Updating the code for my Iris, Atreus62, and Atreus keymaps. * Fixed Atreus62 Keymap I forgot to add in the aliases for LOWER, RAISE, and ADJUST. * Added userspace Also made changes to Atreus62 Keymap to turn the red LEDs off on the ProMicro * Fixing code that disables LEDs on ProMicros Also tidied up my ErgoTravel keymap. * Moving userspace to new branch Moving my userspace to a new branch for the sake of keeping things clean on the master branch. * Added F13-F15 to Atreus62 Layout. * Update readme.md. * Updated Phantom keymap to current keymap standards * Phantom keymap updates Further updates - tidying and removing cruft. Thank you zvecr on Discord for the help! * Standards Updates Bringing my Kinesis keymap up to current code standards * Adding a readme * Bring GH60 code to standard * Utilizing layouts for 60_ansi and tkl_ansi Moving my GH60 and Phantom keymaps into layouts/community/ * Alps64 layout removal Removing my Alps64 keymap now that I've setup my 60_ansi layout. * Moved Clueboard layout to community/66_ansi. * Additions to 66_ansi config.h * Bringing keymaps up to standard. * More updates to keymaps. * Syntax updates * Revert "Syntax updates" This reverts commit a892b2d9fcc0d4ba8fc22d676d5414120cc2c183. * Moved WIP keymaps Moved my WIP keymaps to my wip_keymaps branch to keep my master clean * Updates requested by noroadsleft * more changes per noroadsleft More fixes as requested by noroadsleft. Further tidy-up and standardization of my keymap code. * Reworked Sol Keymap Reworking the Sol keymap to bring it more or less up to current standards and to accurately depict the correct layer on the OLED display. * Final tweaks to sol keymap ... for now. commit 54d8251f6f82886c0a83d76d2ecb8bee930611c4 Author: tarnjotsingh <26198161+tarnjotsingh@users.noreply.github.com> Date: Sun Nov 10 21:45:03 2019 +0000 [Keymap] UK ISO keymap for DZ60 (#7322) * New custom ISO keymap for DZ60 * New custom ISO keymap for DZ60 * Adding relative path for keymap image * Removed reference to PNG and updated the README accordingly. * Improving on the README some more after reading up on the guidelines for keymaps commit e87434aa32de977f6e6672abff80386a10d65fb6 Author: T.Shinohara Date: Mon Nov 11 02:15:38 2019 +0900 [Keymap] Shino3/shiro Add Mac Keymaps (#7319) * add keyboard new macro pad "Kuro" * change main readme.md * remove not used code from default/keymap.c * Remove unnecessary code * Supports info.json * removed back slash and not used functions. * update at product link. add japanese messages. * Merge All * [Shiro]Add MacKeymap commit 1d4287cb9535a8ba7ab5d2aa0846167f34fc5b67 Author: Joel Challis Date: Sun Nov 10 17:02:46 2019 +0000 Fix chibios when mouse and nkro disabled (#7312) commit 60e4921378d879eed110f801328e9642f35fa1e9 Author: Drashna Jaelre Date: Sat Nov 9 07:51:39 2019 -0800 Unify RGB and RGBW commands (#7297) * Fix unicode in comments Co-Authored-By: fauxpark * Remove separate RGBW implementation for a unified function * Set White to 0 in RGBW LEDs This is just to get this working, later, proper brightness can be handled elsewhere. * Use us instead of nanoseconds(?) since it renders correctly on web * Remove RGBW function from arm/ws2812.h * Remove RGBW function from arm/ws2812.c * Formatting changes * Add doc info commit 78205e64a7053746b1491c0d39dbb300a55f3248 Author: fauxpark Date: Sat Nov 9 15:17:36 2019 +1100 [Keyboard] Fix readme make examples for some Kingly Keys boards (#7308) commit f3f1bb166a283d1894afbeb2a81efa2da97de5c2 Author: codecoffeecode Date: Fri Nov 8 20:15:16 2019 -0800 [Keymap] Adding keymaps for Niu Mini and BDN9 (#7299) * niu-mini * fix * media controls were off by one * Adding some function keys * bdn9 and some other stuff * Fixed mouse functions on bdn9 -- the acceleration related macros are NOT optional * ported over foo to codecoffeecode niu_mini keymap * removing foobar * removing foobar, moving config changes to my folder only * limiting rule changes to my folder * Simplifying config.h and rules.mk * not really sure why this didn't commit the first time but... * Fixed up the Niu Mini * Update keyboards/keebio/bdn9/keymaps/codecoffeecode/config.h Adding missed #pragma once to the top of my config.h for bdn9 Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Switching from SEND_STRING() to tap_code16 * Simplifying -> didn't need macros for Ctrl+(Home|End) commit 63d899d1adef561490620e3b69cc2c0d25f29c74 Author: Drashna Jaelre Date: Fri Nov 8 20:09:54 2019 -0800 [GitHub] Update issue templates (#7303) * Update issue templates * Create config.yml * Update bug_report.md * Update other_issues.md * Update feature_request.md * Wordsmithing and type fixes commit 2b30776dd0f6dc6571fb741113bc71cea578b971 Author: Ivan Smirnov Date: Fri Nov 8 19:17:21 2019 -0800 [Keymap] Add issmirnov {user, ergodox, levinson} files. (#7239) * Add issmirnov {user, ergodox, levinson} files. There are enough interesting QMK tricks in these layouts that it seems worth it to share with the broader community. Big thanks to Drashna for inspiration, as well as all the wonderful creators of QMK documentation. Some highlights: - Common layout shared between levinson and ergodox_ez - TAP_TOG macro for fast layer switching - Autogenerated keymaps ascii art with git hooks I will do my best to do periodic rolls here, but the source of truth will always be https://github.com/issmirnov/qmk-keebs * Incorporate review feedback. - Remove CLEAR_EEPROM in favor of built in EEP_RST - Remove custom handlers for audio on bootup and shutdown - Remove plethora of unneeded includes - Remove deprecated and dupliated config options HUGE thanks to drashna for the review! * Apply suggestions from code review Huge thanks to drashna@ for a very thorough review and the very useful suggestions. Co-Authored-By: Drashna Jaelre * Remove unclear optimization This was an artifact from some other keymap I saw. commit 5414ff709f2ab6f47b722a70aa2c4d18bed7c458 Author: fauxpark Date: Sat Nov 9 13:34:25 2019 +1100 [Doc] Tidy up compatible MCUs docs (#7295) * Tidy up compatible MCUs docs * ARM chips should have USB * 32KB soft lower limit applies to ARM as well * NXP is the manufacturer name, not Kinetis * Units commit 26ce66e30675ebc785ac3e2e6bd1deeb479cb7e1 Author: Rys Sommefeldt Date: Sat Nov 9 02:30:44 2019 +0000 [Keyboard] Update COD67 support to complete it and add a personal map (#7291) * Update docs for default keymap * Update COD67 docs with fixes and macOS details * Add a personal COD67 2-layer map with RGB control * Enable RGB, NKRO and change firmware format to bin * Swap k0D and k48 to fix backspace on the top row * Add RGB config and tidy up a bit * Finish default map because merlin was full of bbq * Whoops, rogue tabs * Typo fix in the main COD67 readme * Remove empty function defs in keymap * Swap how the backspace key relocation happens * Fix PRODUCT_ID and add a link to software PWM docs * Disable NKRO and bootmagic and enable mouse keys * Better header guard * Whoops, forgot to remote the #endif commit c1970e284d9718a62a973442ec9f0801365cff60 Author: Joel Challis Date: Sat Nov 9 02:23:26 2019 +0000 Fix LAYER_STATE_8BIT compile issues (#7304) commit 20753706337630c6be4757e322b7da90f5f030cf Author: Gregory Gubarev Date: Sat Nov 9 04:30:20 2019 +0400 [Docs] Create RU ver of getting_started_github (#7225) * Create RU ver of getting_started_github * Update docs/ru-ru/getting_started_github.md * Update docs/ru-ru/getting_started_github.md * Update docs/ru-ru/getting_started_github.md * Update docs/ru-ru/getting_started_github.md * Update docs/ru-ru/getting_started_github.md * Update docs/ru-ru/getting_started_github.md * Update docs/ru-ru/getting_started_github.md * Update docs/ru-ru/getting_started_github.md * Update docs/ru-ru/getting_started_github.md * Update * Updated first frase * Update docs/ru-ru/getting_started_github.md * Update docs/ru-ru/getting_started_github.md * Update docs/ru-ru/getting_started_github.md * Updated Co-Authored-By: Nikita Titov Co-Authored-By: nabokovas commit 31eee6b05db4d4ae9c36514c8e00e32c093a9f50 Author: Joel Challis Date: Fri Nov 8 21:43:30 2019 +0000 Initial firmware for Retro75 (#7294) * Initial firmware for Retro75 * Update readme to match new template guidelines commit 680d401faf03737b01f595b8800c211c0d130db6 Author: Jonathan Rascher Date: Fri Nov 8 15:43:02 2019 -0600 Support RGBLIGHT_SLEEP when ChibiOS boards suspend (#7280) Copypasta from the AVR suspend implementation with a Teensy-specific hack removed commit 6fd88c15565f88ce1e595358ea98ecc1121fa26b Author: Daniel Shields <1530706+shieldsd@users.noreply.github.com> Date: Fri Nov 8 18:31:36 2019 +0000 [Keymap] Remove dynamic macro customization now it's a core feature. (#7301) commit 0483327fa66396879155f3e9c10247ce54dfe18e Author: tw1t611 Date: Fri Nov 8 05:49:45 2019 +0100 [Keymap] Tw1t611 (#7282) * Add tw1t611 keymap. * Add underglow commit cec391df70197a63b12a69c0e08927ecb156e341 Author: Drashna Jaelre Date: Thu Nov 7 15:49:51 2019 -0800 [Keyboard] Enable RGB Light on ARM OLKB Keyboards (#7293) * Enable RGBLight on Planck Rev6 * Enable RGBLight on Preonic Rev3 All hail zvecr! commit d96f0584a2b76f3a53608715e91b6ad79bc9e14f Author: Yan-Fa Li Date: Thu Nov 7 15:48:41 2019 -0800 [Keyboard] Hadron v3 Enable RGB (#7292) - bitbang age is upon us. All hail zvecr commit 0f249990a9cd294d63ffe40eec1b96a276c138e8 Author: Derek Date: Thu Nov 7 10:51:06 2019 -0500 [Keyboard] Add UA62 keyboard (#7290) * Added UA62 Added UA62 Keyboard * Update readme.md * Made changes based on code review Updated files. * Rename UA62.c to ua62.c * Rename UA62.h to ua62.h * Rename keyboards/UA62/readme.md to keyboards/ua62/readme.md * Rename keyboards/UA62/keymaps/default/keymap.c to keyboards/ua62/keymaps/default/keymap.c * Rename keyboards/UA62/config.h to keyboards/ua62/config.h * Update and rename keyboards/UA62/info.json to keyboards/ua62/info.json * Rename keyboards/UA62/rules.mk to keyboards/ua62/rules.mk * Rename keyboards/UA62/ua62.c to keyboards/ua62/ua62.c * Rename keyboards/UA62/ua62.h to keyboards/ua62/ua62.h * Update keyboards/ua62/readme.md commit 1ea0cac998cab60c8b2aa64ba4bd995acbece4b4 Author: Joel Challis Date: Thu Nov 7 13:10:29 2019 +0000 ARM - ws2812 bitbang (#7173) * Initial ARM bitbang ws2812 driver * Unify chibios platform to run rgblight_task * Remove 'avr only' comments from ws2812 docs * Remove 'avr only' comments from ws2812 docs * Unify chibios platform to run rgblight_task - review comments * Remove debug flags from keymap * Add comments from review * Add defines for STM32L0XX * Attempt to get arm ws2812 working on multiple gcc versions commit b9610091f520f7f20d20964101ae28f7b5f77de2 Author: fauxpark Date: Thu Nov 7 19:36:31 2019 +1100 [Keyboard] Fix `led_init_ports()` for Wasdat (#7288) commit 002adadf58fa7ad05edae7036bcf638251170894 Author: Josh Hinnebusch Date: Wed Nov 6 01:30:13 2019 -0500 [Keyboard] update hbcp keymaps (#7275) * update hbcp keymaps * update hbcp info.json file * update readme * update hbcp "hiney" keymap commit 95309e9af5c58cd0f468ac1fadfcef3ff52aaa6a Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue Nov 5 22:12:21 2019 -0800 [Keymap] Updates to noroadsleft keymap for KC60 (2019-11-05) (#7265) * Rename layers_keymap to layer_names * Update Escape and Left Control keys - change KC_GESC to KC_ESC - change KC_LCTL to MT(MOD_LCTL, KC_GRV) * Disable features I don't use Makes the firmware lean. Why? Because I can. :D * Update the readme files * Add KC_F13 through KC_F24 emulation ... and update the readme files accordingly. * Update rules/config - Swap EXTRAFLAGS for LINK_TIME_OPTIMIZATION_ENABLE - remove NO_ACTION_MACRO and NO_ACTION_FUNCTION - Re-enable COMMAND * concatenate full-length and short layer names * enable dynamic macros * update readme files commit dfb78d2a086daa2ceb3fd043afce03785abfa23a Author: fauxpark Date: Wed Nov 6 11:42:16 2019 +1100 New and improved lock LED callbacks (#7215) * New and improved lock LED callbacks * Include stdbool * Update documentation * Use full function signatures and add keyboard-level example commit ed0575fc8aacdfdd83a31fc98df2b1cad2e977f4 Author: buztard Date: Tue Nov 5 21:05:42 2019 +0100 [Keyboard] Remove RGB_MATRIX_SPLIT_RIGHT from crkbd (#7267) The need for this was dropped in 947e61eaebf168c0c60be34914141cff9a69e599 commit 7c0edbe800c4c5ee7fee870f7355f895bb714e4c Author: fauxpark Date: Wed Nov 6 06:50:18 2019 +1100 Set `git submodule update` depth to 50 (#7269) commit 25d1901d7a275e05b29630b877f0fa41224a91db Author: zvecr Date: Tue Oct 29 23:57:21 2019 +0000 Update software backlight to precalculated duty patterns commit fc51a4a1076c5f6f102024f1520e33634bc45dc4 Author: fauxpark Date: Tue Nov 5 18:19:21 2019 +1100 Fix typo in ARM I2C copyright header (#7264) commit 8b832c494cd6d50e4f9c8384ce54733308eda95f Author: Tsan-Kuang Lee <1425438+tsankuanglee@users.noreply.github.com> Date: Tue Nov 5 01:14:15 2019 -0600 [Keyboard] add keymap beautifier for Ergodox EZ (#4393) * add beautifier * add example * Update keyboards/ergodox_ez/util/keymap_beautifier.py Co-Authored-By: tsankuanglee <1425438+tsankuanglee@users.noreply.github.com> * Update keyboards/ergodox_ez/util/keymap_beautifier.py Co-Authored-By: tsankuanglee <1425438+tsankuanglee@users.noreply.github.com> * works for regular layout * all planned features implemented * add justification switch * docker support * doc and starting script * clean up the container after done commit dcb2d63302fefe1b37b8ca606ce7241ae8655389 Author: x1 Date: Tue Nov 5 16:07:31 2019 +0900 [Keyboard] Add Kudox Rev2 (#7253) * Add a directory as rev2 in keybords/kudox. * Modified default keymap of Kudox. * Modified JIS keymap of Kudox. * Changed kudox default from rev1 to rev2. * Modified a keymap of kudox/x1. * Move keyboards/kudox/keymaps to keyboards/kudox/rev1/. * Remove keyboards/kudox/info.json. * Modified kudox's READMEs. * Remove unnecessary codes. commit dc1137129d063975b3191853dc96d0095fcf94d6 Author: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon Nov 4 23:05:51 2019 -0800 [Keyboard] Add LAYOUT_60_iso to XD60 (#7263) * refactor iso keymap - remove redundant action_layer.h include - use enum for layer management - QMK coding conventions (four-space indent) * add LAYOUT_60_iso macro * enable 60_iso community layout for both revisions * swap KC_HOME to KC_RSFT * update ISO keymap readme * update default keymap readme `make` command no longer valid. * refactor keyboard readme Update to reflect current QMK template. * add LAYOUT_60_iso data to info.json * use #pragma once in header files commit 1244d0e266dad4170ed0c63e68e00c74c87367b2 Author: fauxpark Date: Tue Nov 5 18:04:58 2019 +1100 Un-clang-format usb_descriptor.h (#7216) Preserves readability of the file, making it easier to understand and modify. commit 542cb0a8ce3f324c6bd46751d733daf86384a8f6 Author: Drashna Jaelre Date: Mon Nov 4 22:59:13 2019 -0800 [Core] Convert Dynamic Macro to a Core Feature (#5948) * Convert Dynamic Macro to a Core Feature This imports the code from Dynamic Macro into the core code, and handles it, as such. This deprecates the old method but does not remove it, for legacy support. This way, no existing user files need to be touched. Additionally, this reorganizes the documentation to better reflect the changes. Also, it adds user hooks to the feature so users can customize the existing functionality. Based heavily on and closes #2976 * Apply suggestions from code review Co-Authored-By: fauxpark Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Cleanup based on feedback * Add short-form keycodes and document them - add short-form keycodes to quantum/quantum_keycodes.h - document the new aliases in docs/feature_dynamic_macros.md * Add Dynamic Macros section and keycodes to docs/keycodes.md * Make anti-nesting optional * Add documentation for DYNAMIC_MACRO_NO_NESTING option * Fix Merge artifacts * Fix formatting typo in docs Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Remove DYNAMIC_MACRO_RANGE as it's not needed * Fix includes and layer var type commit 0e664f92c4d61d685259607d7257c53f60da5fc0 Author: Jonathan Rascher Date: Tue Nov 5 00:37:54 2019 -0600 Switch Quefrency to serial for independent halves (#7262) commit d382eeeb9d3b795c16533c5f64ab1455e774f925 Author: Joel Challis Date: Tue Nov 5 00:18:57 2019 +0000 CI - Fix change detection (#7038) * Fix travis change detection * Fix travis change detection - add back python ignore commit efa28d0f5cca55b0dfecaddd0860ec3dfeab8bb0 Author: fauxpark Date: Tue Nov 5 11:05:03 2019 +1100 Convert some PS2AVRGB boards to I2C WS2812 driver (#7241) * Convert some PS2AVRGB boards to I2C WS2812 driver * Fix Travis failure for bface commit 0a9a69394e132c3d00eddffd2e345f48113e56c4 Author: Christopher Date: Tue Nov 5 01:02:42 2019 +0100 Fixes #7256: USB descriptor to identify correctly as MIDI device. (#7258) commit 31fe2e085902b80c0cc89fbce3d592e1db041530 Author: Drashna Jaelre Date: Mon Nov 4 15:53:40 2019 -0800 [Keyboard] Reduce compiled size of Panc60 keyboard (#7260) commit 29630e6e49487cbf97fa57f47b399d4d5866fe13 Author: Drashna Jaelre Date: Mon Nov 4 15:35:47 2019 -0800 [Core] Add short form LTO_ENABLE (#7259) For drashna's sanity's sake commit a836c85e54bfb06cd685a5444eea377374cebea3 Author: Drashna Jaelre Date: Mon Nov 4 13:59:15 2019 -0800 Update keymap.c commit 511fa5f8156b188c591ee760b7d246939c260451 Author: Daniel Shields <1530706+shieldsd@users.noreply.github.com> Date: Mon Nov 4 21:47:52 2019 +0000 [Keymap] Add new LED/RGB key codes (#7254) commit a510e5212b32a1150a11670358fc8fe309ab1f09 Author: Gregory Gubarev Date: Tue Nov 5 01:44:49 2019 +0400 [Docs] Create RU ver getting_started_getting_help (#7227) * Create RU ver getting_started_getting_help * uodate RU ver of getting_started_getting_help * Update docs/ru-ru/getting_started_getting_help.md Co-Authored-By: nabokovas Co-Authored-By: Nikita Titov commit 2b83b908ddb035e4b23281d96cc69828e0b0e676 Author: Jerry Cooke Date: Mon Nov 4 21:44:20 2019 +0000 [Keymap] Add keymap for user jerryhcooke (#7251) * Add keymap for user jerryhcooke Created a new keymap with encoder changing per layer * Added readme * Update readme.md * Update readme.md * Update readme.md * Update keyboards/keebio/iris/keymaps/jerryhcooke/keymap.c Co-Authored-By: Drashna Jaelre * Update keymap.c * Fixed Formatting Ran automatic C formatting as suggested * Update rules.mk Fixed linespacing commit 25d4c0c810727b4feae148ad26fd210ab99398ff Author: Thomas Baart Date: Mon Nov 4 00:43:26 2019 +0100 [Keyboard] Add the Kyria keyboard (#7222) * Added raw api for sending data directly to the buffer * Added default keymap variant * Applied proposed OLED display fix * Keymap progress * Keymap progress * Fixed inconsistent tabs * Fixed oled_write_raw apis * Updated keymap * Personal keymap * Added functionality to own keymap * Fixed spacing and build error * Keymap changes * Revert "Updated split encoders so indexes are based on left hand encoders first (#6382)" This reverts commit 46c49ae4e639509ceb6e81c460855d2eb89086b8. * Updated keymaps and configs * Revert "Revert "Updated split encoders so indexes are based on left hand encoders first (#6382)"" This reverts commit f6a85fe1aa9acd2ef77a5ed0ad8f39834cc366d7. * Update keyboards/kyria/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/kyria/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/kyria/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/kyria/rev1/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/kyria/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/kyria/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/kyria/rev1/rev1.h Co-Authored-By: Drashna Jaelre * Update keyboards/kyria/rev1/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/kyria/readme.md Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/thomasbaart/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/rev1/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/kyria/readme.md Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/thomasbaart/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/thomasbaart/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/rules.mk Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/thomasbaart/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/thomasbaart/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/thomasbaart/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/thomasbaart/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/thomasbaart/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/thomasbaart/keymap.c Co-Authored-By: fauxpark * Update keyboards/kyria/keymaps/thomasbaart/keymap.c Co-Authored-By: fauxpark * Processed keymap feedback * Reverted OLED raw API functionality commit 3a215195ed3a12464df7169e7b68bfe0763e95b1 Author: fauxpark Date: Mon Nov 4 09:43:13 2019 +1100 Convert remaining PS2AVRGB boards to I2C WS2812 driver (#7245) * Convert remaining PS2AVRGB boards to I2C WS2812 driver * Add back functions to make the custom matrices happy commit a4d138645fdb5043cd76bc135eea48453cc50dff Author: Joel Challis Date: Sun Nov 3 22:42:21 2019 +0000 [Keyboard] Fix v60_type_r compile failures (#7250) commit 363cdb5fc00519a4eb45a4401b93451949c59d6a Author: fauxpark Date: Mon Nov 4 09:35:43 2019 +1100 Remove duplicate pro_micro.h (#7246) commit be6562a22335b85e9904c0f7cc748943c9e809a7 Author: Thomas Baart Date: Sun Nov 3 23:34:47 2019 +0100 Adds raw write functions to the OLED driver (#7237) * Added oled_write_raw and oled_write_raw_P functions to the OLED driver * Added oled_write_raw method calls to feature_oled_driver.md commit 732d1dd4f6f9ec060b4b8332309c82ebb6c3ca25 Author: Jonathan Rascher Date: Sun Nov 3 16:30:15 2019 -0600 Fix KBDPad MKI backlight, Num Lock LEDs; clean up firmware a bit (#6883) * Update keyboard kit URL * Replace custom RGB driver with new one from #7183 * Replace backlight with standard impl * Remove some unnecessary default settings * Disable COMMAND since docs want it off by default (There's no working IS_COMMAND set for this board anyway, so it's already a nop.) commit e9c44e396d21df990b1d08e8b4c30e288797dffe Author: Drashna Jaelre Date: Sun Nov 3 09:52:01 2019 -0800 Smallish overhaul of Auto-Shift feature (#6067) * Fix edge case when using One Shot Layer with Auto Shift, and it not triggering the cleanup * Remove junk code (no longer used) * Replace `(un)register_code` calls with `tap_code` where appropriate * Fixed up Switch check to be more readable (less verbose) * Simplified modifier check (if it comes back non-zero, there are mods) * Add additional function calls for autoshift settings * Made all variables static, since there are function calls to get their status * Fixed up documentation * Re-add special characters that were missed * formatting pass commit 38353688f2cf2d077a0e16b9a3f2b054fffc74c0 Author: Rys Sommefeldt Date: Sun Nov 3 17:46:13 2019 +0000 [Keymap] Add personal JC65 v32a layout (#7244) * Add personal JC65 v32a layout * Update keyboards/jc65/v32a/keymaps/rys/keymap.c Co-Authored-By: fauxpark commit bed98091aa4e2b555e092760d49856e38f2c9657 Author: Xavier Hahn Date: Sun Nov 3 17:02:44 2019 +0100 French translation - FAQ section (#6995) * Translated faq.md and added all other files (copy from English) * Translated driver_installation_zadig.md in French * Translated faq_build.md in French * Translated faq_debug in French * Translateed faq_general.md in French * Translated first part of faq_keymap.md * Renamed docs/fr-FR folder to docs/fr-fr * Finished translation of faq_keymap.md * Update faq_build.md * Review (#3) * Review * Update docs/fr-fr/faq_keymap.md * Update docs/fr-fr/faq_debug.md * Fix some PR comments Co-Authored-By: Noan Mousy <4sstylz@protonmail.ch> Co-Authored-By: Wermeille Bastien commit 1249da4e8eab0be8618a5ea6a718eb757684f244 Author: Joel Challis Date: Sat Nov 2 21:21:00 2019 +0000 Use task driven PWM for CTPC until ARM can provide automatic configuration (#6928) * Use task driven PWM for CTPC until ARM can provide automatic configuration * Update CTPC docs to cover backlight commit 4531cc874e1bb8602fede9dc038b692673521590 Author: Joel Challis Date: Sat Nov 2 21:20:03 2019 +0000 Initial migration of software PWM backlight (#6709) * Initial migration of software PWM backlight * First pass at backlight driver docs * Correct driver name in docs * Run backlight_task when using BACKLIGHT_PINS * Resolve backlight docs TODOs commit ff8d43694659b36ea5215a4183d43f58fc7f01e9 Author: umi <57262844+umi-umi@users.noreply.github.com> Date: Sat Nov 2 22:11:36 2019 +0900 correct description (#7240) commit e6cc9cc78d40af1386f9a116d5fcc95c20233110 Author: fauxpark Date: Sat Nov 2 13:06:03 2019 +1100 Template updates (#7221) * Template updates * Flesh out info.json & keymap.c, and turn double spaces section into a list * Add enum to demonstrate layer naming * Semicolon commit 1f6cb53fb34867827c487e523f7134bab1acab04 Author: Jonathan Rascher Date: Fri Nov 1 20:48:58 2019 -0500 [Keymap] Moar personal keymap and userspace tweaks (#7238) * Enable link-time optimization * Make RGB static gradient ranges shorter * Shift Quefrency media keys to the right * Shift KBD67 media keys to the right * Move some 60% keys from function to adjust layer * Set "extra" Lily58 keys to browser back/forward * Remove Instant60 EEPROM hack after #6968 * Remove unnecessary bits from macropad keymaps * Update KLE images commit f5cf5b950f04659ae7faf1534650092023adb468 Author: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Sat Nov 2 08:47:26 2019 +0700 [Keyboard] Add Hannah910 (#7234) * Add new PCB Hannah910 a replace pcb for tgr910 keyboard * Update readme.md * update commit 3546932a8b25ea199f33b8a39c49ccaa5f7ca3c9 Author: worthlessowl <53881082+worthlessowl@users.noreply.github.com> Date: Sat Nov 2 07:19:04 2019 +0700 [Keyboard] Owlet60 keymap removal, matrix.c and owlet60.h fix (#7235) commit f8ce91b62484f874c314c26293b47a037f7a1068 Author: Jonathan Dayton Date: Fri Nov 1 01:42:22 2019 -0500 [Keymap] Add Planck-style RoPro keymap (#7230) * Copy the default layout * Copy Planck keymap layers * Update README * Update copyright name commit 671030f0ae25e25541c0824688a6ed9ec0bd8f2e Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Thu Oct 31 19:18:57 2019 -0700 [Keyboard] HBCP info.json typo fix (#7228) Fixing a typo on a suggestion I made that got committed to the PR. commit ea8822e26713753e694e51ede6e2a668d52b0173 Author: asdftemp <53125463+asdftemp@users.noreply.github.com> Date: Thu Oct 31 22:17:24 2019 +0100 [Keyboard] Added slash keyboard (#7042) * feat(slash): added slash keyboard * fix(slash): fixed typo in readme * Improvements after review * disabled debug and print to reduce firmware size * Fixes after review * fixed hardware list in readme.md commit aba90329b2b88c892a81c35761ff4c428003f0f9 Author: Josh Hinnebusch Date: Thu Oct 31 17:14:37 2019 -0400 [Keyboard] Add h88 PCB (#7201) * add initial h88 files * add h88 PCB * update VID and PID * add GUI key to base WKL keymap file * Update keyboards/hineybush/h88/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/hineybush/h88/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/hineybush/h88/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/hineybush/h88/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/hineybush/h88/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/hineybush/h88/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hineybush/h88/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hineybush/h88/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hineybush/h88/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hineybush/h88/keymaps/default/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hineybush/h88/keymaps/wkl/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hineybush/h88/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hineybush/h88/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * update per PR requests * update copyright year in files commit 77861fcbc0d363368e5d4b057e0f5b035c66ea62 Author: Josh Hinnebusch Date: Thu Oct 31 17:05:48 2019 -0400 [Keyboard] Add hbcp (#7101) * add initial hbcp files * adjust hbcp keymaps * update per PR requested changes * add info.json * update LED stuff in regards to my personal keymap * update to new LED pin manipulation code * update info.json * Update keyboards/hineybush/hbcp/hbcp.c Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/hbcp.c Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/hbcp.c Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/hbcp.c Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/readme.md Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/rules.mk Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/rules.mk Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/rules.mk Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/rules.mk Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/rules.mk Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/rules.mk Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/rules.mk Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/rules.mk Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/hbcp.c Co-Authored-By: Joel Challis * Update keyboards/hineybush/hbcp/hbcp.c Co-Authored-By: Joel Challis * update per pull request suggestions * Update keyboards/hineybush/hbcp/hbcp.c Co-Authored-By: Joel Challis * update per PR request, update default keymap * Update keyboards/hineybush/hbcp/keymaps/hiney/keymap.c Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/keymaps/hiney/keymap.c Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/keymaps/hiney/keymap.c Co-Authored-By: fauxpark * Update keyboards/hineybush/hbcp/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hineybush/hbcp/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/hineybush/hbcp/keymaps/hiney/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * update per PR requests * Update keyboards/hineybush/hbcp/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * add RGB defs to hiney/config.h commit f4c8057a1c5296c108afcbc57df842f36b7daad4 Author: michizhou <33012425+michizhou@users.noreply.github.com> Date: Thu Oct 31 15:39:50 2019 -0400 [Docs] Add Spanish translation for hardware documentation (#7161) * Add Spanish translation for hardware documentation * Finished Spanish translations for hardware docs * Resolved errors in Spanish page translations * Corrected misspelled folder name in documentation Co-Authored-By: Karey Higuera Co-Authored-By: José Ignacio Amelivia Santiago commit bc7f1dd296d2bb4e0716b68883ee8f17c8a5f458 Author: José Ignacio Amelivia Santiago Date: Thu Oct 31 20:36:33 2019 +0100 [Docs] Spanish translation (#7068) * add all translation docs to translating.md * Adding Spanish folder and README.md * Adding Spanish to the langs file * Adding a Spanish summary file * Small corrections on the Spanish README file * Adding Spanish newbs.md * Translate some newbs documentation * Adding the translated newbs getting started file * Adding the building firmware file * Adding a translated building firmware with configurator file * Adding the flashing guide * Adding the newbs_testing_debugging file * Apply suggestions from code review * QMK Configurator -> Configurador QMK Co-Authored-By: Karey Higuera commit 1acafc94f40154db009d5ed55bca204c2399c0a8 Author: yiancar Date: Thu Oct 31 16:19:57 2019 +0000 Correct ARM STM32 I2C frequency. (#7080) It was beleaved that this setting result in a 400Khz I2C bus. This was incorrect, actual frequency measure with a logic analyzer was around 150Khz. This is derived from the excel sheet linked in the .h file. Also confirmed with the ST IDE. commit 2ce6adff2b0b4f049b3bd8b4169cda977c057fa5 Author: fauxpark Date: Fri Nov 1 00:11:36 2019 +1100 Miscellaneous rules.mk cleanups (#7212) * Miscellaneous rules.mk cleanups * Put back ARM bootloader rules commit 742e83e102f5d91087672ae3f91e433a74bd51dd Author: Guy Khmelnitsky Date: Thu Oct 31 11:47:07 2019 +0200 [Docs] Add he-IL (Hebrew) Translation (#7001) * Add he-IL (Hebrew) Translation * Add Hebrew to SUMMARY * Try RTL * Add RTL text * Lowercase folder names * Update lowercase folder in Summary * Adding getting_started_introduction.md * Add Proton C Conversion translation * Add Becoming a QMK Collaborator Translation * Add FAQ translation * Add Hardware translation * Documentation Best Practices translation * Add FAQ General translation * Align docs RTL * Add Becoming a QMK Collaborator Translation * Translate Getting Started - Getting Help * Translate Getting Started With Github * Code sections should be alligned to the left * Code sections should be alligned to the left * Code sections should be alligned to the left * Revert "Code sections should be alligned to the left" This reverts commit d0c46e90c4915ceebe7c5182aca2b75afad25df0. * Add Markdown aligned to the left * Update quantum_keycodes.md * Update proton_c_conversion.md * Translate Newbs Learn More Resourses commit 934fa5183e95ad98e2e744c48e524308e940f799 Author: moyi4681 Date: Thu Oct 31 14:00:46 2019 +0800 [Keyboard] add xbows woody and knight keyboards (#7112) * add xbows knight and woody keyboards add xbows knight and woody keyboards * Update rules.mk * Update keyboards/xbows/knight/readme.md Co-Authored-By: MechMerlin <30334081+mechmerlin@users.noreply.github.com> * Update knight.c * Update keyboards/xbows/knight/keymaps/default/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/xbows/knight/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/xbows/knight/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/xbows/knight/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/xbows/woody/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/xbows/knight/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update rules.mk * Update keymap.c * Update keyboards/xbows/woody/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/xbows/knight/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keymap.c * Update keyboards/xbows/knight/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/xbows/knight/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/xbows/woody/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/xbows/woody/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 74252e03cfd2ee3d7ba823fb4c3ce522f43e79a0 Author: fauxpark Date: Thu Oct 31 16:50:45 2019 +1100 Fix "could not find module" error message formatting (#7219) commit 22812aee5c207c35010c4b5478af6039c4f2b1ef Author: Joel Challis Date: Thu Oct 31 05:30:21 2019 +0000 rgblight_task logic fixes (#7214) commit bd55396a45338b82bf8f26afa05b054c1079286d Author: XScorpion2 Date: Thu Oct 31 00:12:15 2019 -0500 [Keyboard] Legonut Sol R2 Release (#7213) * Merge remote-tracking branch 'legonut/sol_r2_release' into master_update2 * Update keyboards/rgbkb/sol/readme.md Co-Authored-By: fauxpark commit e176ab11ab2cc6bfe46ed43da32a48d41532241f Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed Oct 30 22:02:08 2019 -0700 [Keyboard] Complete info.json for Sticc14 handwired (#7208) commit 878039c59c2c4eae5b2556ad526418ca9a9c9ab3 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed Oct 30 22:01:23 2019 -0700 [Keyboard] Complete info.json for Chiron handwired (#7207) commit c4730ba00f643e9dd1b5bb68f67c9c359a934280 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed Oct 30 21:59:54 2019 -0700 [Keyboard] Fix info.json for Aranck handwired (#7206) commit 3e77e2aeac10e9305e4f7879e1cb237edf37866b Author: davidwed Date: Thu Oct 31 05:57:53 2019 +0100 [Keyboard] KBDfans/KBD75: Set "RGBLIGHT_SLEEP" as default (#7205) commit 6a75d109794df2541f54abebddb80a3c070ab0f0 Author: lf Date: Wed Oct 30 21:56:59 2019 -0700 [Docs] Fix dunder names being accidentally bolded (#7217) * Fix dunder names being accidentally bolded * Update docs/coding_conventions_python.md Co-Author: fauxpark * Change all the "names to avoid" to use backticks commit 096a49c3dc3a1674a8cc95987c97e922c0c769a4 Author: ai03 Date: Wed Oct 30 17:10:40 2019 -0700 [Keyboard] Add KBD67 MKII Solderable PCB Variant (#7202) * Clone 8x source to begin * Start replacing stuff * Get things compiling * Rename files * Move board files to match MKII RGB files * Adjust readme * Adjust main keymap to be functional * Make defualt keymap more basic; add personal keymap * Remove unnecessary trailing slashes from keymap * Remove unused functions from keymaps * Remove obsolete build flags * Adjust comments as requested * Apply suggestions from code review Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Adjust as suggested * Fix broken compile following applying suggestions commit dfdd9e821bfce93324ea68d8652008509137e0d9 Author: Rico Sta. Cruz Date: Thu Oct 31 05:53:48 2019 +1100 [Docs] Update getting_started_vagrant.md (#7203) commit f183af14adbdea0789bf85bda46b81139e4524a8 Author: kuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com> Date: Tue Oct 29 23:59:44 2019 -0700 [Keymap] Update keymap for kuchosauronad0 (#6902) * Add RGB * Add Plover layer commit 455a0c597854b417c4dc02a462433043bddfa830 Author: Andrew Kannan Date: Wed Oct 30 02:45:58 2019 -0400 [Keyboard] New CannonKeys boards and EEPROM fixes (#6968) * Add Iron165 * CannonKeys new boards and cleanup * Tmo50 info json * Update readme for TMOv2 * update via keymap tmo * info json again * Apply suggestions from code review Co-Authored-By: Drashna Jaelre * Address PR comments * More changes for rules files cleanup * info.json fixed? * Fix Savage65 matrix * Apply suggestions from code review Thanks noroadsleft for the improvements! Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Bump eeprom version * Apply suggestions from code review Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 674fcc474c162f44fadfa8a796134751d80ee639 Author: kuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com> Date: Tue Oct 29 22:52:24 2019 -0700 [Keymap] Update to Userspace kuchosauronad0 (#6899) * Add Plover layer, remove unused layers * Add rgb indicator for success/failed sequences * Add RGB effects * Add RGB * Add effects for start and end of a leader sequence * Add PLOVER layer * Add RGB * Add RBG * Minor clean up * Minor clean up * Minor clean up * Minor clean up * Rename rgb_light to rgblight_user and fix all references to it * Remove unnecessary guards Remove unnecessary matrix_scan in rgb post_init function * remove trailing newline commit b1c2bf071bcfd0d5badf79656f523dd8f5146f25 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Oct 29 22:33:46 2019 -0700 [Keyboard] Think 6.5 (#7199) * generated files * create the physical and electrical matrix, thanks noroadsleft * add an appropriate keymap * add qmk configurator support * add readme * add keyboard configuration and rules * move over the think6.5 to the gray_studio directory * move to hotswap in anticipation of non hotswap pcb support * update readme to have the correct make path * rename to hotswap * add community layout support by using the LAYOUT_65_ansi_blocker LAYOUT macro name * thanks to cygnus for pointing out the solder json file to me. This commit is pretty much the same as the hotswap as it uses the same pins and switch matrix. * update readme to state that LAYOUT_65_ansi_blocker works for both hotswap and solder. * wrong pound include * add LED support. Soldered PCB only supports caps lock LED * add readme notes for indicator led * Update keyboards/gray_studio/think65/hotswap/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/gray_studio/think65/hotswap/rules.mk Co-Authored-By: fauxpark * Update keyboards/gray_studio/think65/hotswap/rules.mk Co-Authored-By: fauxpark * Update keyboards/gray_studio/think65/solder/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/gray_studio/think65/solder/rules.mk Co-Authored-By: fauxpark * Update keyboards/gray_studio/think65/solder/rules.mk Co-Authored-By: fauxpark commit e258b10d71049645c2e6ce50f652ce3f11578603 Author: Angelo Gazzola Date: Wed Oct 30 05:34:19 2019 +0100 [Keyboard] Add 42 keyboard (#7071) * [Keyboard] Add 42 keyboard * Apply suggested fixes * Remove 42.c * Move keyboard to handwired folder commit b47c10bf6f152d7a5c35fc4f7478aa69e91fb081 Author: fauxpark Date: Wed Oct 30 15:27:25 2019 +1100 Cleanup rules.mk for 32U4 keyboards, T-Z (#7190) * Cleanup rules.mk for 32U4 keyboards, T-Z * Use atmel-dfu in place of lufa-ms until it exists commit 3817ff7cc00910c0bd6f638064580a70f9b156c1 Author: Danny Date: Tue Oct 29 19:56:12 2019 -0400 [Keyboard] Move Nyquist/Iris rules.mk files, update READMEs (#7196) * Migrate Nyquist rules.mk files to be version specific and update flash command * Migrate Iris rules.mk files to be version specific and update flash command commit 606813b72dc8645d59afb51775e6554b6c97769d Author: Steve Purcell Date: Wed Oct 30 12:39:38 2019 +1300 Remove obsolete note about media keys in MacOS (#6631) * Remove obsolete note about media keys in MacOS KC_MNXT and KC_MPRV work fine on MacOS, so this note is obsolete. * Document behaviour of MEDIA_FAST_FORWARD/MEDIA_REWIND codes on MacOS * Small typo fix, and make OS-dependent keycode claim less absolute * Update docs/keycodes_basic.md Co-Authored-By: fauxpark commit 64b7cfe735339193ae78fe0f13029b0e027af7a7 Author: Joel Challis Date: Tue Oct 29 22:53:11 2019 +0000 Refactor ps2avrgb i2c ws2812 to core (#7183) * Refactor ps2avrgb i2c ws2812 to core * Refactor jj40 to use ws2812 i2c driver * Refactor ps2avrgb template to use ws2812 i2c driver * Add ws2812 stub files * clang-format and driver config * Add ws2812 driver docs * Fix default config values * Update tmk_core/protocol/vusb/main.c Co-Authored-By: Drashna Jaelre commit 908aede957a66e65d37601fa67548c369137b57b Author: Spaceman Date: Tue Oct 29 18:43:01 2019 -0400 Update feature_bluetooth.md (#7193) * Update feature_bluetooth.md * Update feature_bluetooth.md * Update docs/feature_bluetooth.md Co-Authored-By: Joel Challis * Update docs/feature_bluetooth.md Co-Authored-By: fauxpark commit cb3b5563e402dc1c14d8f34f731b17bdd956ea82 Author: Wermeille Bastien Date: Tue Oct 29 23:42:19 2019 +0100 [Docs] Fix some misspells in French documentation (#7171) * Fix some spelling mistakes * Fix some misspell in french documentation * Small misspell fix in French in ChangeLog commit d62469013512cf8ffe775ec8aa941f32e1d7c7d3 Author: Toshihiro Suzuki Date: Wed Oct 30 07:41:37 2019 +0900 [Keymap] Add keymaps for myself (#7141) * [zinc] add toshi0383 qwerty layout * Add dvorak like keymap * update keymap * update keymap * update * Add my keymap for reviung39 * cleanup * fix RESET button position * add rgb_mod to raise * Update keyboards/reviung39/keymaps/toshi0383/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/zinc/keymaps/toshi0383/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/zinc/keymaps/toshi0383/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * remove unnecessary code * improve comment * Update keyboards/reviung39/keymaps/toshi0383/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/zinc/keymaps/toshi0383/keymap.c Co-Authored-By: Drashna Jaelre * remove unused function * cleanup * refactor using MO commit f1640165667bd416cd9b0680d4852988df686edc Author: Dominic Fleckner Date: Tue Oct 29 21:33:09 2019 +0100 [Docs] Translated "CLI" documentation to German (#7178) * Translated "CLI" documentation to German > * Weise den User an, die Umgebungs-Variable `QMK_HOME` zu setzen, um die Firmware-Quelle anders einzustellen als `~/qmk_firmware`. - I wasn't quite sure with this translation, as I didn't understand the context in the original English docs. - The link to the CLI Configuration page is currently not working, due to it being missing in German. * Update docs/de/cli.md - typo * Update docs/de/cli.md - added Installation option into documentation * Update docs/de/cli.md - changed article for CLI * Update docs/de/cli.md Spelling * Update docs/de/cli.md Spelling * Update docs/de/cli.md de-anglicization * Update docs/de/cli.md Spelling * Update docs/de/cli.md Synonym * Update docs/de/cli.md Added Installation option * Cleaned up installation option duplicate Co-Authored-By: kuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com> commit 0e6f78547eca1e7bbb093265e79c26a301e6635a Author: Drashna Jaelre Date: Tue Oct 29 13:15:03 2019 -0700 [Docs] Update flashing information to include :flash target (#6999) * Update Newbs Flashing guide For the newbs that want to start flashing * Update flashing docs * Misc flashing * Attempt at flashing in french Lets hope I didn't butcher this too badly with machine transations * Update docs/feature_userspace.md * Apply language suggestions from code review * Apply suggestions from code review * Apply additional fr lang suggestions from code review * Apply suggestions from code review Co-Authored-By: fauxpark Co-Authored-By: Noan Mousy <4sstylz@protonmail.ch> Co-Authored-By: Xavier Hahn Co-Authored-By: Vincent LE GOFF commit 476f5566132032af227a4fa95ceab56f4f3e06f7 Author: Christoffer Holmberg Date: Tue Oct 29 10:39:15 2019 +0200 [Keymap] Update layout for my nyquist (#7188) * Add layer for gaming without fancy Shift & Ctrl keys * Add default layer select to ARRW layer * Define layers with an enum to save fw space commit e0e26957d43018998c405783a2609b99f0e098a7 Author: St. John Johnson Date: Mon Oct 28 18:24:36 2019 -0700 Fix the CLI docs (#6979) - Sort the commands alphabetically - Add missing `json_keymap` - Correct underscore to dash commit afc5cb7f0abafd75c178b188a5fc1b9138fba956 Author: Jonathan Rascher Date: Mon Oct 28 20:08:48 2019 -0500 Fix Lily58 build with link-time optimization (#7181) commit e48fdebe5a351772c4f34b201130271a42c1496d Author: Joel Challis Date: Tue Oct 29 01:00:03 2019 +0000 Reduce duplication for ARM/AVR ws2812 RGB Matrix driver (#7180) * Reduce duplication for ARM/AVR ws2812 rgb_matrix driver * Reduce duplication for ARM/AVR ws2812 rgb_matrix driver - Fix setled_all use of r,g,b commit 1b06ea0c863b493215d80400f00797ceb0eabc3d Author: Chris Alves Date: Mon Oct 28 20:25:11 2019 -0400 [Keymap] Added new custom keymap for the DZ60 (#6948) * Added custom dz60 keymap * Update readme.md * Updated pictures in README.md * README.md fixes * Updated mouse layout/ added ` key * Changed bkspc key to del in mod * Changed picture * Updated keymap * Removed default dz60 config.h * Updated Readme * Added Devorak Keymap * Re-added Default Config File * Updated Flash Command * Cleaned Up Custom Config File * Added Lock Security Layer * Updated Readme Picture commit c7a8cab8831f18778e4d46e3c6bfe36803656986 Author: J.Flanagan Date: Mon Oct 28 18:57:16 2019 -0500 [Keyboard] Add M0116b keyboard (#7162) * initial commit restart of m0116b development * initial commit restart of m0116b development * Major and minor changes for new PCB design Changed matrix_row_pins and matrix_sol_pins to match new PCB design Changed layout matrix to match new PCB design Minor changes to settings in rules.mk Minor changes to readme.md files * Update rules.mk Changed settings in rules.mk * major and minor changes added a default keymap (copy of the m0116 keymap, just to have a default option) changes to the info.json * initial commit restart of m0116b development * Major and minor changes for new PCB design Changed matrix_row_pins and matrix_sol_pins to match new PCB design Changed layout matrix to match new PCB design Minor changes to settings in rules.mk Minor changes to readme.md files * Update rules.mk Changed settings in rules.mk * major and minor changes added a default keymap (copy of the m0116 keymap, just to have a default option) changes to the info.json * Update keyboards/sck/m0116b/keymaps/default/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/keymaps/default/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/keymaps/m0116/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/keymaps/m0116/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/keymaps/m0118/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/m0116b.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/m0116b.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/m0116b/keymaps/m0118/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Requested changes Changes per requests * Changes to keymaps Changes as discussed corrected location of custom_keycodes declaration and changed custom keycode in keymap per request and discussion. commit 947e61eaebf168c0c60be34914141cff9a69e599 Author: Drashna Jaelre Date: Mon Oct 28 16:29:00 2019 -0700 [Keyboard] Change Corne RGB Matrix split handling (#7117) * [Keyboard] Change Corne RGB Matrix split handling This uses the "is_master" detection to set the led matrix, rather than a define at compile time. This means that the same hex can be used for both halves, not just one or the other. The caveat is that this costs ~240 bytes to do. However, I feel that this is a good trade-off, not just lazy. * Update documentation for RGB Matrix on the Corne commit a0964532594958c06a5f39900a59dd04201a2eee Author: Yan-Fa Li Date: Mon Oct 28 16:26:59 2019 -0700 [Keyboard] Fix matrix for Tsangan (#7159) - 1st mod after space bar was wrong position commit e376aa284d3e7f7a321113769e2168aa5417e824 Author: Christoffer Holmberg Date: Tue Oct 29 01:26:13 2019 +0200 [Keymap] Layout update for my ergodox (#7187) * Add KC_ESC to normal location and move SE_HALF to ARRW layer * Add `<` and `>` to SYMB layer as standalone keys commit 4fef3b23e4d9507cf5d6f26a845f5230d057827e Author: Nikita Titov Date: Tue Oct 29 02:22:58 2019 +0300 [Docs] started Russian translation of Newbs Guide (partial) (#6967) * started Russian translation * added translation of some newbs docs * do not translate firmware word in name and transliterate names keeping original ones in brackets * addressed review comments * addressed more review comments Co-Authored-By: nabokovas commit f19c8b2d5daedcbf833fe8320f290cad9d9f0b83 Author: Xyverz Date: Mon Oct 28 16:09:01 2019 -0700 [Keymap] Updating keymaps (#7170) * Added WOW layer * Initial commit for this branch. Still a work in progress. * Added Rorschach keyboard layout. * Simplified keymap Removed the media layer to help simplify things. Also corrected some keymap mistakes in the Qwerty and Colemak layers. * Added ErgoTravel keymap. * reverted to previous layout. * Added Sol keyboard layout. * Minor changes to keymap. * more changes * Added sol graphic by Kagerufu and Cardiactuna * Added colemak layer because I can. * more changes to sol layout * Streamlined Sol layout * minor tweaks to sol layout * further revisions to sol keymap. * Removing deprecated #include statements from my keymaps * Standardizing keymap `include` lines. * Minor change to keymap. Swapped ESC with GRV on all alpha layers. * Tweaks to Atreus62 Keymap Added a layer for FPS RPG Loot Shooters. * Fixed readme.md for Atreus keymap. Replaced "Keymap" with "Layer" in illustrations for continuity's sake * More readme.md clean-up More clarification in the Atreus readme file. * Next verse, same as the first. * Changes to Sol layout Bringing my Sol layout more in line with my other Orthos. * Fixed keymap GUI. Replaced left-hand "RGUI" with "LGUI" on all layers as it should be. * Added ALPS64 keymap * Formatting corrections * fixes to config.h and keymap.c * Fixed errors This commit fixes a pathing issue in keyboards/orthodox/keymaps/xyverz/config.h and removes an stupid comma at the end of each LAYOUT stanza in keyboards/rgbkb/sol/keymaps/xyverz/keymap.c left there by me. * Fixed orthodox keymap config.h file I hope this one fixes the problem. *sigh* * Making suggested changes for PR#6192 Thanks to noroadsleft, fauxpark, and drashna. Still have more work to do, but at least these suggestions have been applied. * Fixing build errors Travis has shown me the error of my ways... * More fixes and corrections Those pesky semicolons... * More Fixes. * Removing unneeded code snippet. * fixed omitted semicolons * Code updates to my keymaps Updating the code for my Iris, Atreus62, and Atreus keymaps. * Fixed Atreus62 Keymap I forgot to add in the aliases for LOWER, RAISE, and ADJUST. * Added userspace Also made changes to Atreus62 Keymap to turn the red LEDs off on the ProMicro * Fixing code that disables LEDs on ProMicros Also tidied up my ErgoTravel keymap. * Moving userspace to new branch Moving my userspace to a new branch for the sake of keeping things clean on the master branch. * Added F13-F15 to Atreus62 Layout. * Update readme.md. * Updated Phantom keymap to current keymap standards * Phantom keymap updates Further updates - tidying and removing cruft. Thank you zvecr on Discord for the help! * Standards Updates Bringing my Kinesis keymap up to current code standards * Adding a readme * Bring GH60 code to standard * Utilizing layouts for 60_ansi and tkl_ansi Moving my GH60 and Phantom keymaps into layouts/community/ * Alps64 layout removal Removing my Alps64 keymap now that I've setup my 60_ansi layout. * Moved Clueboard layout to community/66_ansi. * Additions to 66_ansi config.h * Bringing keymaps up to standard. * More updates to keymaps. * Syntax updates * Revert "Syntax updates" This reverts commit a892b2d9fcc0d4ba8fc22d676d5414120cc2c183. * Moved WIP keymaps Moved my WIP keymaps to my wip_keymaps branch to keep my master clean * Updates requested by noroadsleft * more changes per noroadsleft More fixes as requested by noroadsleft. Further tidy-up and standardization of my keymap code. commit 8ab7f1f39e715c824cc0e1391aa9a469b2a18438 Author: fauxpark Date: Tue Oct 29 09:54:05 2019 +1100 Fix formatting for sendstring LUTs (#7176) commit 917ab71c52111c5ca89382eba74e08e616264d59 Author: Yadunand Prem Date: Tue Oct 29 09:13:07 2019 +1100 Clean macos install script (#7186) commit 6d7c6d4fd6a4af8e0355b5d10c68db3274c1a7f8 Author: fauxpark Date: Tue Oct 29 06:08:00 2019 +1100 Cleanup rules.mk for 32U4 keyboards, R-S (#7182) commit 8bc90ee20c79e5166283cd2df738ea8ec63e4c69 Author: Joel Challis Date: Mon Oct 28 19:05:27 2019 +0000 Fix travis build failures for namecard2x4 (#7189) commit 1971f22285ad1b46be1ea41e99966bc10217ad9f Author: Adam Perlman Date: Mon Oct 28 14:10:25 2019 -0400 Update split i2c docs for example of when pull-ups are required (#7143) commit 24cf6dc7f4b61cd1b2752499bcb014aa2a545655 Author: Arda Kılıçdağı Date: Mon Oct 28 21:04:37 2019 +0300 aranck handwired keyboard added (#7151) * aranck handwired keyboard added * layer enum updated * layout optimisations and general fixes done * Readme updated * Readme updated * Readme updated commit 84ac03bbab7cfc6cef6aa4e22360b92bdf044c6c Author: J.Flanagan Date: Mon Oct 28 12:57:15 2019 -0500 [Keyboard] Add NEISO Macro Pad (#7163) * Initial Commit Initial commit of the N-E-ISO Pad * Changes to keymap.c Minor Changes to keymap.c * Major Changes Changes to config.h, neiso.c, neiso.h, readme.md, rules.mk, info.json * Updated readme.md Changed wording of redme.md * Initial Commit Initial commit of the N-E-ISO Pad * Changes to keymap.c Minor Changes to keymap.c * Major Changes Changes to config.h, neiso.c, neiso.h, readme.md, rules.mk, info.json * Updated readme.md Changed wording of redme.md * Update keyboards/sck/neiso/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/neiso/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/neiso/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/sck/neiso/neiso.h Co-Authored-By: fauxpark * Changes per request Removed lines 55-60 from default/keymap.c per request commit 5777177cec2c76f79b4930dacb390b0f4681bc85 Author: Yan-Fa Li Date: Mon Oct 28 09:47:48 2019 -0700 [keyboard] yanfali fruity60 prototype (#7021) * initial commit * README * Unique id * info.json * layotus * br * Move to handwired * cleanup * Disable command for fruity out of flash space * Old compiler turn off command commit 92be2439ec280c46c4babb60087a93b96b6e94ab Author: Jonathan Rascher Date: Sun Oct 27 21:53:49 2019 -0500 Couple more minor Lily58 keymap tweaks (#7175) * Move grave/tilde and backslash/pipe to left hand * Shift media keys to be aligned with home row * Update KLE images * Mention new media key location in readme * Turn off a couple more features for explicitness commit d5316e9714e6bd661ece1bf364dce1e9fd79988c Author: Yadunand Prem Date: Mon Oct 28 13:41:22 2019 +1100 Update URL for `60-keyboard.hwdb` (#7185) commit 85688f926a19f27e47d9136c1612fbd2f751372e Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Sun Oct 27 10:10:50 2019 +0900 [Keyboard] Add keyboard Naked64 (#7144) * [Keyboard] Add keyboard Naked64 Add Naekd64 keyboard. A 64 keys Ortholinear + Alice Layout keyboard. Salicylic-acid3 * Update keyboards/naked64/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/rev1/rev1.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/rev1/rev1.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/default_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/default_with_setta21/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/default_with_setta21/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/default_with_setta21/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/rev1/rev1.h Co-Authored-By: fauxpark * Update keyboards/naked64/keymaps/salicylic/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/naked64/keymaps/default_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/default_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/default_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/default_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Modify info.json and rule.mk rule.mk modifies comments. info.json is changed to Layout without angle. * Update info.json Puts the keys in the correct sequence. commit 40de65eac4e8d039470b91a678cd1f7fc83fc929 Author: fauxpark Date: Sat Oct 26 16:10:03 2019 +1100 Backslash-escape pipe character in keycode lists (#7157) commit 5d34e70cf773531536dda363fc43c60146e3d97c Author: fauxpark Date: Sat Oct 26 12:32:18 2019 +1100 Cleanup rules.mk for 32U4 keyboards, N-Q (#7147) commit 006ec86786da874938f54e9b1d0f4a5f049de546 Author: fauxpark Date: Sat Oct 26 12:23:11 2019 +1100 [Keyboard] Fix Print Screen key for XT to USB converter (#7039) * Fix Print Screen key for XT to USB converter * While I'm here, get rid of led.c as it does absolutely nothing * Fix info.json too * "]" key is 1.25U and stepped on the Model F XT commit 19f73483d872b43b72374f2dacbb96ff1742624e Author: Gouty Date: Sat Oct 26 02:16:17 2019 +0100 [Docs] Fixed internal links on Handwire page (#7154) Some of the links were not playing nice on docs.qmk.fm, I think this fixes it. commit 50202bc2227e1e0eb2e05b79c226d64d7f7c24a3 Author: Rys Sommefeldt Date: Sat Oct 26 02:14:21 2019 +0100 [Keymap] Align top and bottom layers to make it easier to map between them (#7153) commit a30ccc025efe2e84cd4c9b8a0cbb3358b8d4dba8 Author: Rys Sommefeldt Date: Sat Oct 26 02:07:49 2019 +0100 [Keymap] Personal layout for the RAMA M6-A (#7152) commit d03303ab74ab631c95b1da7c2fb67d06ff62bac5 Author: Joel Challis Date: Sat Oct 26 00:27:17 2019 +0100 Revert "Initial actions/labeler config (#7091)" (#7156) This reverts commit 32fdf4805ae8d76649fa821275cc2333c5e8bba9. commit ad5ead24c38a5ffe06017bd3f83b67ac65f75714 Author: Michael B. Hix Date: Fri Oct 25 15:48:57 2019 -0700 [Keyboard] musl/add-chiron-keyboard (#7146) * Add the Chiron keyboard * Add link to case repo * Update keyboards/handwired/chiron/readme.md Co-Authored-By: fauxpark * Update keyboards/handwired/chiron/keymaps/default/config.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/chiron/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Clean up rules.mk for the configurator commit b2a63293763d14c7d9192367fa1890885227766e Author: Ethan Madden Date: Fri Oct 25 15:34:55 2019 -0700 [Keymap] Fix some formatting, add blink on lock example (#7145) * Double backspace + changed layer detection * Blink on capslock * updated with feedback from @drashna commit 3fd919c53661e53018d9121683c74716af54f43e Author: Gouty Date: Fri Oct 25 19:48:59 2019 +0100 [Docs] Update hand wire guide (#7044) * Reorganised Hand Wire Guide Added some images and put the "Matrix" section in a hidden
section * Actually adding images this time removed .jpg from .gitignore * Hand wire guide updated Incomplete, but started making the guide more general. Will continue to add images (in imgur as requested) * Removed some more images from gitignore * testing image changes (temporary) * Update hand_wire.md * added techniques table * Tweaking the table * Finished soldering guide * Fixed some links, change image scaling * More of the same * resizing images * updated images * Update hand_wire.md * Resizing images * Update hand_wire.md * Update hand_wire.md * Create ribbon_cable.jpg * Minor updates to links * Updated firmware and flashing guidelines * Updated images to imgur links and re-added images to gitignore * Implemented requested changes. Improved wording * Added handwire helpers info and split KB info * Update hand_wire.md * Removed "the" from "the QMK toolbox" * Fixed handwire helper table and image size * Fixed a heading commit 0f30a4d2ca7a7fa1eea54aa10104b5114d0b3f96 Author: Daniel Shields <1530706+shieldsd@users.noreply.github.com> Date: Fri Oct 25 19:16:46 2019 +0100 Save a few bytes with build options and rgb effect removal. (#7149) commit 32fdf4805ae8d76649fa821275cc2333c5e8bba9 Author: Joel Challis Date: Fri Oct 25 14:34:54 2019 +0100 Initial actions/labeler config (#7091) * Initial actions/labeler config * Initial actions/labeler config - add extra from review commit 581a8fa0580628d3c2c248bfe966d433f5460ab7 Author: QMK Bot Date: Fri Oct 25 06:31:02 2019 +0000 format code according to conventions [skip ci] commit 23048798dd4e089c6f636a198cb246f41e6aef73 Author: Álvaro A. Volpato Date: Fri Oct 25 08:27:43 2019 +0200 [Keyboard] Add SharkPCB rev Alpha support (#7090) * Add SharkPCB rev Alpha support * Solve PWM pin assignment - Solve PWM pin configuration for the SharkPCB rev.Alpha, which backlight pin is B0 * Update shark.c copyright name * Update shark.h copyright section * Apply suggestions from code review Suggestions from @zvecr and @drashna were accepted and applied for neater code. Also fixed typos and removed unused comments. See [pull request](https://github.com/qmk/qmk_firmware/pull/7090/files#diff-70c0a1f44287ae5810170b4180cdaa5d) for more information. Co-Authored-By: Joel Challis Co-Authored-By: Drashna Jaelre * Update PRODUCT_ID into config.h * Update metadata info.json Fields "keyboard_name", "keyboard_folder", "url", "maintainer" were updated commit e8453bbc1218a2cb40d4eac6cb543bd0c45d3de9 Author: Theodore S Lindsey Date: Thu Oct 24 14:16:24 2019 -0700 copied atreus astar to mirrored, set PCBDOWN flag (#7137) * copied atreus astar to mirrored, set PCBDOWN flag * re-pointed include * mirrored layout will always be true here commit 71d64c85d627fb6a6d3ba04f1de6f3bfe3873ff8 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Thu Oct 24 13:55:31 2019 -0700 [Keyboard] reviung34: Configurator layout fix (#7138) commit 323635da064f9b92cf08fd46c1c4a229ca5af0ad Author: Erkki Halinen Date: Thu Oct 24 23:53:26 2019 +0300 [Keyboard] Add support for Sticc14 macropad (#7134) * Push Sticc14 default keymap * Update READMEs to conform to guidelines * Requested changes * Requested changes Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/sticc14/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/sticc14/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Remove useless enum and function overrides commit e96cac0814995e2a0735708727cbab599d6cf5f1 Author: fauxpark Date: Fri Oct 25 07:50:13 2019 +1100 Cleanup rules.mk for 32U4 keyboards, L-M (#7120) * Cleanup rules.mk for 32U4 keyboards, L-M * Move some stuff to keyboard level commit 335dd0271e344fec1a0f086b34da6f8ae0d8bd60 Author: Drashna Jaelre Date: Thu Oct 24 12:08:29 2019 -0700 Fix Tap Dance name for consistency and to match docs (#7136) commit a5a31a5fc0f14f4f66cf362ee85747be159e364d Author: Erovia Date: Sun Oct 13 20:23:11 2019 +0200 MILC: Use dashes instead of underscores for subcommands The subcommand functions' name follows the Python convention of using snake case, but looks odd on the command line. Fix it by converting underscores to dashes, eg.: list_keyboards -> list-keyboards. commit 4da9d2ef6f3f3a91738a209f8e692d7294ef70d5 Author: J.Flanagan Date: Wed Oct 23 23:36:40 2019 -0500 [Keyboard] Add GTM Pad macropad (#7123) * initial commit begin development of Grand Theft Macro Pad (2key2crawl clone) * Minor Changes Changes to readme.md Changes to config.h matrix pins Changes to gtm.h layout Changes to rules.mk * initial commit begin development of Grand Theft Macro Pad (2key2crawl clone) * Minor Changes Changes to readme.md Changes to config.h matrix pins Changes to gtm.h layout Changes to rules.mk * Update keyboards/sck/gtm/readme.md Co-Authored-By: fauxpark * Update keyboards/sck/gtm/readme.md Co-Authored-By: fauxpark * Update keyboards/sck/gtm/rules.mk Co-Authored-By: fauxpark * Update keyboards/sck/gtm/rules.mk Co-Authored-By: fauxpark * Update keyboards/sck/gtm/rules.mk Co-Authored-By: fauxpark * Update keyboards/sck/gtm/rules.mk Co-Authored-By: fauxpark * Update keyboards/sck/gtm/rules.mk Co-Authored-By: fauxpark * Update keyboards/sck/gtm/rules.mk Co-Authored-By: fauxpark * Update keyboards/sck/gtm/rules.mk Co-Authored-By: fauxpark * Update keyboards/sck/gtm/rules.mk Co-Authored-By: fauxpark * Changes to gtm.h Changes to layout to be correct for matrix_cols and matrix_col_pins * Minor Changes Removed rotary encoder index in keymaps per suggestion commit 9160405d39d82ba787bac07ab569aa74d86d5082 Author: skullydazed Date: Wed Oct 23 21:14:00 2019 -0700 Support for the upcoming 1UP Keyboards Sweet 16 rev2 (#7125) * Support for the upcoming 1up Keyboards Sweet 16 rev2 * Update keyboards/1upkeyboards/sweet16/rev1/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/1upkeyboards/sweet16/rev1/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/1upkeyboards/sweet16/rev2/promicro/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/1upkeyboards/sweet16/rev2/proton_c/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/1upkeyboards/sweet16/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/1upkeyboards/sweet16/rev1/rev1.c Co-Authored-By: fauxpark * Update keyboards/1upkeyboards/sweet16/rev1/rev1.c Co-Authored-By: fauxpark * Update keyboards/1upkeyboards/sweet16/rev1/rev1.c Co-Authored-By: fauxpark * Update keyboards/1upkeyboards/sweet16/rev1/rev1.c Co-Authored-By: fauxpark * Update keyboards/1upkeyboards/sweet16/rev1/rev1.c Co-Authored-By: fauxpark * Update keyboards/1upkeyboards/sweet16/rev1/rev1.c Co-Authored-By: fauxpark * Update keyboards/1upkeyboards/sweet16/rules.mk Co-Authored-By: fauxpark * Update keyboards/1upkeyboards/sweet16/rules.mk Co-Authored-By: fauxpark * Update keyboards/1upkeyboards/sweet16/rules.mk Co-Authored-By: fauxpark * Update keyboards/1upkeyboards/sweet16/rules.mk Co-Authored-By: fauxpark * Update keyboards/1upkeyboards/sweet16/rev1/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/1upkeyboards/sweet16/rev2/promicro/rules.mk Co-Authored-By: Drashna Jaelre * tweak readme wording per @noroadsleft * Change rev to V * remove extraneous info.json files commit 23f89ff7cf4bce42d46e99183a977c5c74384c57 Author: vuhopkep Date: Thu Oct 24 06:38:44 2019 +0700 [Keyboard] add new keyboard hnah40rgb (#7083) * add new keyboard hnah40rgb * update * Update hnah40rgb.c * update commit e264f0151da0025dbb53dfc5a70bce13105a04d8 Author: Eriq M. Adams Date: Thu Oct 24 06:34:44 2019 +0700 [Keyboard] Blackplum a.k.a IMKG68 - new 68% mechanical keyboard (#7122) * Add blackplum firmware blackplum firmware * Delete blackplum.c * Delete blackplum.h * Delete config.h * Delete info.json * Delete rules.mk * Delete keymap.c * Update readme.md * Delete readme.md * Add Blackplum * Add image: blackplum layout * Update readme.md * Update readme.md * remove _WINLCK layer, replaced with custom_keycodes * change #define LAYOUT_68 to #define LAYOUT_68_ansi * change DEBOUNCING_DELAY to DEBOUNCE, remove IS_COMMAND() * change keyboard_name, maintainer, url, width height * change some comments * Update readme * LAYOUTS = 68_ansi * update layout_68_ansi * Change LAYOUT_68 to LAYOUT_68_ansi Co-Authored-By: fauxpark * Fix Bug * remove extern keymap_config_t keymap_config; * Update config.h * Update config.h * Update config.h * Update keyboards/blackplum/rules.mk Co-Authored-By: fauxpark * Update rules.mk * Update rules.mk * Update readme.md * Update readme.md commit b62ee65c6d809bd10b4cd98c835a4a501a39b880 Author: skullydazed Date: Wed Oct 23 14:18:12 2019 -0700 Support for the Clueboard California macropad (#7127) * Support for the Clueboard California macropad * Update keyboards/clueboard/california/config.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 68cf2725aa30eaa18db9c6149e5e361860db01d7 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Thu Oct 24 02:18:59 2019 +0900 [Keyboard] Naked48/60 Configurator bugfix (#7131) Support for QMK configurator of keyboard Naked48 / 60. Related: Pull request to configurator [Keyboard] Add keyboard Naked48 / 60 # 549 commit 6d95082cbf11728bbd035d533ef3efebcf29f933 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed Oct 23 08:44:20 2019 -0700 [Keyboard] 1up60rgb: fix LAYOUT_60_iso json tree (#7126) ISO Enter was out of sequence. commit 6799937a3c2a13d3973e635656b22da9699cf462 Author: Pentti Laitinen <2406748+cyky@users.noreply.github.com> Date: Wed Oct 23 10:54:14 2019 +0300 [Keymap] Updating Nordic ergo keymap (#7107) * Update ergodox infinity nordic_ergo keymap - Add missing important keys to base layer. - Move arrow keys around as the original position was not optimal. - Fix some code styling issues. * Fix indentation to 4 spaces * More code style fixes - Formated the methods in the nordic ergo keymap. * Fix QMK code style issues - Change layer defines to enums. - Split enums to multi-line. - Remove non required switch case. commit 51bf3ba3e623d69cf4ad9e9045cf10526e70be15 Author: just-another-jxliu Date: Tue Oct 22 13:03:39 2019 -0700 Fix held key getting stuck when NKRO is toggled (#6570) * Fix held key getting stuck when NKRO is toggled * Updated file to latest qmk version and added fix to cases MAGIC_UNHOST_NKRO & MAGIC_HOST_NKRO as well. * Revert merged quantum.c commit c8fd0156186ed08f88ff73a73c00a58004bf217a Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Tue Oct 22 10:59:56 2019 -0700 [Keyboard] Owlet60 Updates (#7103) * Owlet60 updates Co-Authored-By: noroadsleft * fix url in info.json commit 737bca8e5134086dd52eb4ec6ca5ca034e9c5bd9 Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Wed Oct 23 02:54:53 2019 +0900 [Keyboard] Keyboard Naked60 Update (#7106) * [Keyboard] Keyboard Naked60 Update Support for SPLIT_KEYBOARD Keymap updates * Update keyboards/naked60/readme.md Co-Authored-By: Joel Challis * Update keyboards/naked60/rev1/config.h Co-Authored-By: Joel Challis * Update keyboards/naked60/rev1/rev1.h Co-Authored-By: Joel Challis * Update keyboards/naked60/rev1/rev1.h Co-Authored-By: Joel Challis commit d99f6e95e15075ecab28090e1361e2581b70a517 Author: Michael Guterl Date: Tue Oct 22 10:41:14 2019 -0700 [Keymap] Add userspace and personal keymaps (#7093) * Add Planck keymap and custom keycodes to userspace * Add Preonic keymap and extract common ortho layers and keycodes * Add Leaf60 WKL keymap * Add M60-A keymap * Add Levinson keymap * Fix links in personal readmes * Use flash target * Remove duplicate definition Co-Authored-By: fauxpark * Remove superfluous line endings * Planck and preonic encoder should have the same behavior * Use higher level API Co-Authored-By: fauxpark * Use layouts to reduce planck/levinson duplication * Update flash instructions for levinson commit e214f2826e6cbb03f988916eeed10f250b77408c Author: fauxpark Date: Wed Oct 23 00:44:50 2019 +1100 Add ISO layout macro for KBD67 rev2 (#7113) commit d60b193932d86a01230679905106d9ae016e7a24 Author: Josh Hinnebusch Date: Tue Oct 22 09:39:15 2019 -0400 update VID and PID for h87a (#7100) commit 454c99d128af8b21d3d54d3c376eb684db73faa0 Author: Reid Sox-Harris Date: Tue Oct 22 06:37:29 2019 -0700 add bdn9/eosti keymap (#7105) commit f87908228ab0bcd5302feb5701443b8af708d947 Author: Max Rumpf Date: Tue Oct 22 14:47:43 2019 +0200 Remove apostrophe from various abbreviations' plural forms (#7050) While this was historically a valid possibility, nowadays, it reads kinda weird, and the [Oxford Dictionaries Online suggests to avoid it](https://english.stackexchange.com/a/56010). Thus, I removed it everywhere I found it. commit 2ee961c9e873d577e711431ae0960aa21629525e Author: fauxpark Date: Tue Oct 22 15:43:18 2019 +1100 Cleanup rules.mk for 32U4 keyboards, I-K (#7097) * Cleanup rules.mk for 32U4 keyboards, I-K * Clean up ivy rules.mk commit c44aff5f18b287bae718c934a9943eae97585cba Author: Deckweiss Date: Tue Oct 22 06:34:43 2019 +0200 [Keyboard] Added layout, configured bluetooth (Hacked Motospeed handwired) (#7084) * Added more intuitive layout with bluetooth commands commit 4b47abc737359a5f9c7cb8d22e33427698812e03 Author: halvves Date: Mon Oct 21 20:38:53 2019 -0700 [Keymap] add halvves let's split keymap (#7063) * add halvves let's split keymap * [cr] - review requests from @fauxpark * cleanup spacing, add transparent for spaces in util layer * [cr] - use new core funcs / @fauxpark & @drashna * enable EE_HANDS * [cr] - switch to definable mask for layer state (@drashna) commit 0ab8edb5237ef5a6aeab18c57643e01c7bf2da0a Author: Adam Perlman Date: Mon Oct 21 23:37:33 2019 -0400 [Keymap] Ergodox EZ and dactyl-manuform keymaps for rishka (#7051) * Setup keymaps and userspace for Rishka * Creates a keymap for Ergodox Ez, bdn9 and Dactyl Manuform 5x6 * Update bdn9 config with suggested change * Add pragma to other header files * Apply suggestions from code review Co-Authored-By: fauxpark * Updates from review from fauxpark * Updates from review Swap to keyboard_post_init, layer_state_t and use layer state for encoder * Updates from review Swap to keyboard_post_init, layer_state_t and use layer state for encoder * Add missing change from review commit 80ded60cad8d7ec8b46f5e3acd7948275ead5f2e Author: kuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com> Date: Mon Oct 21 20:05:33 2019 -0700 Add a short explanation to Zadig the troubleshooting section (#7110) * Add a short explanation to the troubleshooting section While translating I noticed that the troubleshooting section could use a little bit more explanation. @Yanfali was so kind to chime in on this on discord and explained that this was ment for people who accidently forget to put their board in bootloader mode, so I added this as a possible common mistake. Also fixed the spelling of Msys2 to MSYS2 and Halfkay to HalfKay as these are the official spellings they use themselves. * Update driver_installation_zadig.md * Update driver_installation_zadig.md English is hard. * Update docs/driver_installation_zadig.md Co-Authored-By: fauxpark * Update docs/driver_installation_zadig.md Co-Authored-By: fauxpark commit f033d8113d627c6950dc87936dfdb70e2b1ebf5f Author: Arda Kılıçdağı Date: Tue Oct 22 05:27:26 2019 +0300 [Keyboard] 40percentclub 4 pack macropad keyboard (#7088) * 4 pack macropad layout added * Update keyboards/40percentclub/4pack/keymaps/default/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/40percentclub/4pack/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/40percentclub/4pack/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/40percentclub/4pack/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/40percentclub/4pack/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * remove unnecessary comments, remove firmware impact numbers, align comments * remove unnecessary readme paragraphs * pinout changed with direct pins instead of matrix * typo fixed on led method name * leds are now handled by backlight feture, led.c removed, info.json added, flash instructions updated commit 267be40793457722cb8a7ab0b3c6c5654e433f9e Author: Rys Sommefeldt Date: Tue Oct 22 02:48:45 2019 +0100 [Keymap] Personal layout for the Wonderland (#7095) commit af03c5f7faa93a59d602ffad368868fc361f25e1 Author: fauxpark Date: Tue Oct 22 12:01:03 2019 +1100 Change V60 Polestar RGB timer to 3 (#7099) commit 165020a670b44ecb8f173d1fba7167952cbd0a4b Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Mon Oct 21 16:34:37 2019 -0700 Naked60 Configurator bugfix (#7108) * remove extra commas * fix label for comma key * switch to debug linting (one key per line) commit 97b8ade1aa7dd96027d10dc92da2a2ccbde61b8c Author: fauxpark Date: Mon Oct 21 16:38:22 2019 +1100 [Keyboard] Use GPIO macros for E6 LED in Planck and Preonic default keymaps (#7098) commit 1533483bb2d1278d2c2528cf289392aa2a4f15e0 Author: Catriel Müller Date: Sun Oct 20 16:55:36 2019 -0300 [Keymap] catrielmuller keymap for the dztech/dz65rgb (#7015) * Catriel Müller - Dz65rgb personal keymap * - Removed backslashes - Changed IS_LED_ON to IS_HOST_LED_ON - Removed empty unused hooks commit 3dbf08b655ac1f14bc7a5ae2b8cd8ae385063640 Author: fauxpark Date: Mon Oct 21 06:51:37 2019 +1100 Cleanup rules.mk for 32U4 keyboards, H (#7030) * Cleanup rules.mk for 32U4 keyboards, H * Change some boards incorrectly assumed to be halfkay commit bc073b817a155a3148fbc95f982877a623e5f28e Author: Sid Carter Date: Sun Oct 20 15:26:41 2019 -0400 [Keymap] updates to madhatter keymap - project keyboard alice pcb (#7092) * change arrows keys around * move arrows and layer tap * mouse keys and other mods * add readme and add media keys too commit 233a1e9bcd3328b28b6fc303a70da84e35342d0b Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Mon Oct 21 04:03:46 2019 +0900 [Keyboard] Keyboard Naked48 Update (#7085) * Keyboard Naked48 Update Support for SPLIT_KEYBOARD Readme updates Keymap updates Support for RGB matrix (salicylic keymap) * Keymap Update Change KC_NO to KC_TRANSPARENT. Update the old part. commit a41066beedebefc12245c3eee4bb90116c11f7cd Author: Jonathan Rascher Date: Sun Oct 20 13:41:36 2019 -0500 [Keymap] Assorted personal keymap and layout updates (#7082) * Enable PERMISSIVE_HOLD and TAPPING_FORCE_HOLD * Fix indentation in userspace * Shuffle around more Lily58 symbol keys * Reformat KBD67 keymap and KLE images * Fix Lily58 lower layer image * Reformat Quefrency keymap and KLE images * Fix KBD67 KLE images... again * Add KLE links for Quefrency * Reformat 60% layouts and KLE images * Move Super key back to right half of Lily58 * Move Lily58 ins/del out of the way of numbers * Fix bottom row of Lily58 KLE image commit a4c008fe90940169abb653eb17558be205a645a9 Author: Romain Gehrig Date: Sun Oct 20 20:20:01 2019 +0200 [Keymap] Romain's Preonic layout (#7067) * Add customized preonic layout * Add a README detailing a bit the differences from the default preonic layout * Apply suggestions from code review Co-Authored-By: fauxpark * Remove unnecessary end-of-line backslashes * Import fix for startup sound (thanks @drashna) * Remove unnecessary layers and keycodes * Bring back the _QWERTY layer code Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 4c90277236395e076afa57bb11b83c80fdbf381e Author: Reid Sox-Harris Date: Sun Oct 20 11:12:23 2019 -0700 [Keymap] add iris/eosti keymap (#7056) commit 3d53ea439c277e49cd4149a6caea727304f41ace Author: Yet Another Developer <50936645+yet-another-developer@users.noreply.github.com> Date: Mon Oct 21 02:07:57 2019 +0800 [Keymap] Ergodash keymap for yet-another-developer (#7046) * Initialize ergodash rev 1 keymap ./util/new_keymap.sh ergodash/rev1 yet-another-developer * Add user space configurations referenced from drashna * Start community layout for ergodash in ortho_5x14 * Remove unused layers * Add userspace layers * Add Userspace gitignore Hide Secrets * Remove userspace unused drashna features * Scrap default keymap and follow drashna's template * Add code referenced from kuchosauronad0 * Make sure that the author is named Developer * Replace middle keys del and bksp with curly brace * Reduce ONESHOT_TIMEOUT from 3sec to 2sec * Remove adjust key AG_SWAP * Disable UNICODEMAP_ENABLE, remove code causing build fail * Increase TAPPING_TERM to 240 Reason: Because Space is also LOWER, space sometimes not registering. PS: I dont want to #define RETRO_TAPPING yet * Update KC_MAKE to use :flash * Remove TAP_ONCE, use tap_code Signed-off-by: Developer * Remove redundant code implementation of keyboard_post_init_user https://github.com/qmk/qmk_firmware/pull/7046 users/yet-another-developer/leader.c ``` static bool has_ran_yet; if (!has_ran_yet) { has_ran_yet = true; startup_user(); ``` Comment for lines +11 – +14 @drashna: Not needed anymore. You can use keyboard_post_init_user now. Signed-off-by: Developer commit f64d9b06215bb08d7f77aeba126c0804fffd0064 Author: Harry Wada Date: Sun Oct 20 09:33:58 2019 -0500 Fix detection of ModemManager (#7076) commit 8baed70ed10fadd480511425d0f1b0bbf2d2f109 Author: Alan Berndt Date: Sat Oct 19 06:56:03 2019 -0700 Add pok3r-like keymap for dz60. (#7078) * Add pok3r-like keymap for dz60. * Replace KC_TRNS with underscores commit 9bfacc7c76237600ac0a05003fd87ae98e0b0221 Author: vuhopkep Date: Sat Oct 19 08:18:39 2019 +0700 [Keyboard] update encoder function, info.json data (#7035) * update encoder function, info.json data * Update rules.mk commit c26faed2b60e59293f631e041619567f23a93406 Author: tominabox1 Date: Fri Oct 18 20:15:57 2019 -0500 [Keymap] Tominabox1 userspace creation (#7014) * rebaselined the whole fork and added cool matrix animations * Updated dfu bootloader rules, oleds working on test map * Moving test branch into main moving my _test branch files into the main since the repo is now in the dev branch, don't see any reason to keep separate folders. * Update keymap.c Adding DOT to number layer * added LED sleeping * working on getting matrix rgb to sleep upon usb suspend uploading to github for qmk staff help * Added master sleep on usb suspend Unfortunately the sleep function does not work on the slave side so will probably revert this change later * bringing hhkb config up to current with other tominabox1 configs * Update config.h since master side is the only one that sleeps, going to disable this for now. * testing oled stuff * Update rules.mk * tinkering with oled still * Finally fixed custom image with corne doug * Adding keymap to dimple instead of screwing up the upstream references. * Changed oled image to peepo ggers * working on oled sleep * Update keymap.c * fixes oled wake/sleep issues * Adding :b: and BEPIS macros * Update .gitignore * Cleaning up and improving documentation * Update keymap.c * Adding my minivan keymap * Fixed error on keymap * fixed OLEDs not turning on and moved tapping term to the keymap file * Changed tapping term from 200 to 250 * Revised Fkey layers, arrows, question mark locations * Update keymap.c * tweaked tapping term and types on CRKBD, revised layout on HHKB * Update keymap.c * general code cleanup, keymap displays * Set up userspace for common keymap elements * tapping term stuff for shift * testing * Fixed new tapdance for accessing number and fkey layers * Update tominabox1.h * stuff * fixing function calls for userspace * cleaning up crkbd config and moving stuff to userspace * finally fixed oled lightup issues * cleaning up a few maps and rules * Removing permissive hold and returning spacefn to all boards. * Settting up wrapper keymaps for Dimple, Minivan, and Corne Wrappers * small tweaks * Update wrappers.h * finishing wrappers on Minivan and Dimple * Revised tapping term definition Providing additional tapping term config for CRKBD only. * Code cleanup and documentation * Update readme.md * Update readme.md * Wrapers and continued code cleanup and documentation * moved oled py scripts to user folder * completed wrapper implementation of CRKBD * added matrix startup mode - not working yet pending upstream changes * removed unused code in tominabox1.c * Fixing custom keycodes and tap dance indices fixed custom keycodes and tap dance indices Adding beginning of dimple RGB matrix definition changed oled on corne to scrolling matrix thing Added copy pasta * Secondary layer tweaks Swapping hands of numbers and symbols as well as tweaking tapping terms accordingly * Update tominabox1.c Continued refinement of tapping term to support better right hand symbol access. * Fixes from pr 7014 Removed gitignore data from qmk master Reverted changes to Drashna's crkbd keymap Accepted changes to crkbd keymap Added ignore to hhkb keymap - I think I need this because Teensy. Will revisit another time * Removing hhkb keymap for rework * Adding back hhkb keymap Re-adding hhkb folder with ignores * Reverting changes to Dimple default totally did not intend to modify these * Update keymap.c Reverting changes to Drashna's corne map * Accepting recommended changes * Reduced tap hold caps delay moved bootmagic enable to general usage Revised tapping terms Removed unused keycode defs * bootmagic * Update rules.mk * Fixed permissions (support 7014) and bootmagic addition Fixed permissions on Drashna's keymap and Dimple default keymap files. Adding bootmagic to my crkbd config. * Fixing permissions commit b23f6011c34dcb471c312655f7af37c0a0f5f779 Author: Amber Holly Date: Sat Oct 19 02:14:49 2019 +0100 Remove build option firmware size impacts (#6947) * Update rules.mk template to remove build option size impacts * Add rules.mk cleaning script * Update all rules.mk files to remove build option firmware size impact messages * Remove references to feature filesize in documentation * Revert "Update all rules.mk files to remove build option firmware size impact messages" This reverts commit 7cfe70976bcc223bf47c960b2e6af8596df80a32. * Fix regex in cleanup script and exclude keymaps/ directories * Update quantum/template/avr/rules.mk Fixed missing tabs/spaces. Co-Authored-By: fauxpark commit 1b1e0977e020b3b381f874144aed31d0664d88d2 Author: Endemoniada Date: Sat Oct 19 02:37:16 2019 +0200 [Keymap] Mekberg kbd6x keymap (#7061) * First draft of my layout * Improved layout and cleanup of files * Update keymap and add rules * Add keymap.h with permissive_hold setting * Rename keymap.h to correct name config.h * Add next/prev and special lock key to Fn layer * Use correct modifier in MY_LOCK command * Removed unnecessary filler defines * Add build instructions to README * Move RGB controls to more logical up/down key positions, move next/prev controls, remove del from Fn layer * Fix wrong placeholders and fix up formatting * Remove unused code * Clarify comments on custom defines * Update keyboards/kbdfans/kbd6x/keymaps/mekberg/rules.mk Co-Authored-By: fauxpark commit d263579781bd550e0ef21a5a102f790afd588c7c Author: KL1RL Date: Fri Oct 18 16:36:22 2019 -0800 [Keymap] Initial commit of KL1RL keyboard layout (#7060) * Inital commit * Add changes suggest by fauxpark. Tested for normal function commit 5c1b7fb5021646d05014a89ec1b8ccf458e4f50e Author: Yang Li Date: Sat Oct 19 08:22:54 2019 +0800 Add python-pip as package dependency for archlinux (#7041) commit 5b311965f86a0f833bfe9149436b98d640fa4eef Author: Andy Smith Date: Sat Oct 19 01:21:40 2019 +0100 [Keymap] Custom Planck layout for the Planck (#7036) * Version 1 of keymappings * Adding updated keymappings * Adding hash/pound symbol to layer * Removing broken macros * Adding to readme. Amending value of pound sign * Changing language in readme * Addressing PR comments. Removing unneeded code, corrected syntax * Removing commented out code and fixing white space issues * Small clean up to readme commit 22cc56bc975a8fde45fd08a7ed20897cf3a465c8 Author: Drashna Jaelre Date: Fri Oct 18 16:59:03 2019 -0700 [Docs] Fix incorrect spacing on Coding Conventions page (#7058) commit de5cadd63669119a6ba83757780dc66bb8f2816c Author: Yan-Fa Li Date: Fri Oct 18 10:32:43 2019 -0700 Caps lock indicator moved from keymap (#7070) - to keyboard so it works in configurator commit f66b2b1f2742e7d782302c5da0b5ee09312c3dc6 Author: Yan-Fa Li Date: Fri Oct 18 07:18:40 2019 -0700 Add a via compatible keymap (#7062) * Add a via compatible keymap * Disable VIA on default for configurator - use the via keymap if you want via support * Move wilba dep to keymap avoid breaking community - moves via specific includes into the _via keymap - fixes configurator builds commit 5dc91ddc60f0fd1f277345ccf20e17a8ab684cca Author: Joel Challis Date: Thu Oct 17 23:37:37 2019 +0100 SPLIT - Remove NO_USB_STARTUP_CHECK requirement for usb detection (#7053) * Avoid NO_USB_STARTUP_CHECK - Disable USB as checks seem to enable it somehow * Update quantum/split_common/split_util.c Co-Authored-By: fauxpark * Also remove NO_USB_STARTUP_CHECK from vitamins_included/rev1 commit 550435c1c9766e143a054a3943dfcac1d92ac408 Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Thu Oct 17 19:53:06 2019 +0200 [Keyboard] Move vitamins included rev1 to split_common (#7052) * Initial work to move to split_common * Fixed serial pin commit abfd6ed9613013d3c9f15da8b575a902d9bcf274 Author: Joel Challis Date: Thu Oct 17 17:48:58 2019 +0100 Move tmk_core/common/backlight to quantum/backlight (#6710) * Move tmk_core/common/backlight to quantum/backlight * Add guards to backlight inclusion * Add guards to backlight inclusion * Update backlight guards on clueboard/60 * Use full paths to avoid vpath issues commit e3a21348c3879c11072c7c42d3b4d04b022f4fe2 Author: Drashna Jaelre Date: Wed Oct 16 13:11:22 2019 -0700 [Keymap] Drashna's Hardware Features Experimentations (#6920) * Change RGBLight pin for Planck Light Move it to A0, so that the SPI? pins are available for BT hackery * Add QMK DFU bootloader info * Add Solenoid * Disable annoying white LED on bottom * Enable Solenoid on Corne * Remove bounds for animations * Increase debounce for Ergodox EZ to reduce repeat key issues * Set swap hands key to be a hold-tap key This way, it's not ANNOYING and doesn't swap the hands inteniontally * Move MT Alt in Corne keymap * Re-Add fine tuned control of secrets * Squash mods to single row * Add LRA settings to haptic feedback settings for Rev6 * Fix issue with non-Planck EZ keymaps * Add 40 Percent Nano with Analog Joystick * Add Collide39 keymap * Fix OLED printing to be more flavorful * Fix up Iris GamePad and come cleanup * Expand OLED char map further * Add modded characters to keylogger * Here be dragons Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Fix up rules for community layouts * Some more OLED tweaks * Add mod mask check function * Change QMK DFU Audio pin to be correct * Use manual STM config instead of CTPC for Collide 39 commit 7662ee71f0d1df7cee03a563f52dba21854fd0be Author: Jonathan Rascher Date: Wed Oct 16 14:08:45 2019 -0500 [Keymap] Various improvements to my Lily58 keymap (#7045) * Fix off-by-one error in Lily58 function keys * Swap number and symbol layers * Move grave/tilde to the left of brackets/braces * Add KLE links * Move function keys to Raise layer * Move symbols nearer to home row * Add readme for Lily58 layout commit 881f27b461189e6a02ecbaee0b5bcb3d85fc2b76 Author: MakotoKurauchi Date: Thu Oct 17 03:01:49 2019 +0900 [Keyboard] Cleanup helix rules options (#6952) * add temporary test shell-spript * Use LINK_TIME_OPTIMIZATION_ENABLE instead of Link_Time_Optimization No change in build result. * Helix config.h use '#pragma once' No change in build result. * Helix helix.h,rev?/rev?.h,pico/pico.h use '#pragma once' No change in build result. * Use drivers/avr/pro_micro.h instead of keyboards/helix/pro_micro.h No change in build result. * remove keyboards/helix/{rev2|pico}/serial_config.h No change in build result. * 'HELIX_ROWS' macro is now referenced only in rev1/config.h and rev2/config.h. No change in build result. * The contents of helix/rules.mk were distributed to subdirectories. This is a preparation to create a new subdirectory for helix code using split_common. No change in build result. remove 'USE_I2C = yes', 'SUBPROJECT_rev1 = no' from keyboards/helix/rules.mk. follow code move from keyboards/helix/rules.mk to keyboards/helix/{rev1,rev2,pico}/rules.mk. ---- SRC += i2c.c SRC += serial.c SRC += ssd1306.c CUSTOM_MATRIX = yes --- * helix/{i2c.[ch], serial.[ch], ssd1306.[ch]} move into helix/local_drivers/ No change in build result. * Simplified 'helix/pico/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK. No change in build result. * add keyboards/helix/pico/local_features.mk * add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/pico/rules.mk * remove HELIX_CUSTOMISE_MSG from keyboards/helix/pico/keymaps/*/rules.mk * remove HELIX= process from keyboards/helix/pico/keymaps/*/rules.mk * remove convert code(helix to standaerd) from keyboards/helix/pico/keymaps/*/rules.mk * add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/pico/keymaps/*/rules.mk * Simplified 'helix/rev2/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK. No change in build result. * add keyboards/helix/rev2/local_features.mk * add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/rev2/rules.mk * remove HELIX_CUSTOMISE_MSG from keyboards/helix/rev2/keymaps/*/rules.mk * remove HELIX= process from keyboards/helix/rev2/keymaps/*/rules.mk * remove convert code(helix to standaerd) from keyboards/helix/rev2/keymaps/*/rules.mk * add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/rev2/keymaps/*/rules.mk * Added helix keyboard build NEW method. No change in build result. ## Helix build $ make helix:default ## no oled, no backlight, no underglow $ make helix/rev2/back:default ## no oled, with backlight, no underglow $ make helix/rev2/under:default ## no oled, no backlight, with underglow $ make helix/rev2/oled:default ## with oled, no backlight, not underglow $ make helix/rev2/oled/back:default ## with oled, with backlight, no underglow $ make helix/rev2/back/oled:default ## with oled, with backlight, no underglow $ make helix/rev2/oled/under:default ## with oled, no backlight, with underglow $ make helix/rev2/under/oled:default ## with oled, no backlight, with underglow ## Helix pico build $ make helix/pico:default ## no oled, no backlight, no underglow $ make helix/pico/back:default ## no oled, with backlight, no underglow $ make helix/pico/under:default ## no oled, no backlight, with underglow $ make helix/pico/oled:default ## with oled, no backlight, not underglow * add temporary test shell-spript * test end remove test script. Revert "add temporary test shell-spript" This reverts commit 5dac20cd0f8b4bc192edb2313652c1635f829657. * test end remove test script. Revert "add temporary test shell-spript" This reverts commit ec49f63b2dc0f2b3fe8c1c36ffa615cee2f7e3ed. * Extended the 'HELIX=' option. add keyword 'verbose', 'no_ani'. No change in build result. * update keyboards/helix/{rev2,pico}/keymaps/default/readme.md * rename KEYBOARD_TOP_DIR to HELIX_TOP_DIR in rules.mk * update keyboards/helix/{rev2,pico}/keymaps/default/readme_jp.md * rm keyboards/helix/pico/oled/rules.mk * update helix's readmes. All the ':avrdude' was replaced with ':flash'. * remove F_CPU, ARCH, F_USB, INTERRUPT_CONTROL_ENDPOINT from helix/rules.mk No change in build result. commit 81f36ab74dca703c46e1d94e6d5b63365449e9d7 Author: Manassarn "Noom" Manoonchai Date: Thu Oct 17 00:48:37 2019 +0700 [Keymap] Add narze keymap for usb-usb converter (#6881) * Revert raise/backspace mod tap to just backspace * Initialize usb_usb/narze * Modify keys * Add readme * Support Right shift to ) * Add Dev layer * Use Dev layer on holding z key * Add Dev layer for Ergodox * Update keyboards/converter/usb_usb/keymaps/narze/README.md Fix the command & close the code block as suggested Co-Authored-By: Drashna Jaelre * Reduce rules commit 7677e8adde5a47a112a3b84fbd526133106b2d88 Author: Endemoniada Date: Wed Oct 16 19:48:00 2019 +0200 [Keymap] Add Endemoniada keymaps (#6875) * Add dz60 keymap * Add my TADA68 layout * Fix descriptions and formatting * Formatting fixes * Add readme file * Formatting * move caps lock to correct key, add F-keys to both layers * Add readme for dz60 * First draft of custom Let's Split layout * Some more keys * Finalized keymap * Added a bunch of custom shortcuts to make layout easier to read * Add PERMISSIVE_HOLD option to modtap behavior * Add lock and sleep shortcuts, formatting * Minor fixes and adjustments * Add PERMISSIVE_HOLD option, add sleep/lock shortcuts, minor fixes * Add sleep/lock shortcuts, minor fixes * fixups * Major simplification of lets_split layout into more standard raise/lower/special layers * Remove layer songs, add to readme * Formatting * Switch a few keys around for reachability * Add windows/mac specific layers * simplify layers * Update README * Fix legends * Invert numpad and put Del in upper right corner * Disable arrow keys on Raise, add build instructions * Move dz60 keymap to its own branch * Remove redundant configuration * Change volume and sleep keycodes to standard * Removing empty rules.mk * Changing layer defines to enum * Adding comment to explain reason for swapping KC_TRNS and KC_NO fillers commit 162dd3fe19a9c3bf15d63013bf51a49877de0bc9 Author: hvp <32483282+hvpkod@users.noreply.github.com> Date: Wed Oct 16 19:44:43 2019 +0200 [Keymap] Corne keyap with tap dance Swedish support (#6857) * Adding profile for Corne with tap dance Swedish support. * Remove extern keymap_config_t keymap_config as no longer needed * Changed to use tap_code over register_code * Removed persistent_default_layer_set * Moved macros to hvp user space ink tap dance code * Removed not used functions * Moved to an ifbased include statement * Removed not needed characters commit 9b07098dbd63fcd7b69eadfa91b5b01724e80e78 Author: nrtkbb Date: Thu Oct 17 02:42:06 2019 +0900 [Keyboard] Add uzu42 keyboard (#6842) * initial commit * OLEDに表示するロゴをuzuのものに差し替えた * delete undefault keymaps * delete info.json * delete pro_micro.h * remove USE_Link_Time_Optimization check * Moved constant defined for each keymap.c to rev1.h * update layer_state_reader.c * Rename Uzu42 to uzu42 * remove bootloader.h include * LAYOUT_kc to LAYOUT * delete keymap level rules.mk * update readme.md * remove persistent_default_layer_set function. * try refactor to use split_common and use OLED driver * Revert "try refactor to use split_common and use OLED driver" This reverts commit 5a9afceacb450ca9eca8a146b64c24d0e0925dd8. * Update keyboards/uzu42/rev1/config.h Co-Authored-By: fauxpark * Update keyboards/uzu42/rev1/rev1.h Co-Authored-By: fauxpark * Update keyboards/uzu42/rev1/rev1.h Co-Authored-By: fauxpark * Update keyboards/uzu42/rules.mk Co-Authored-By: fauxpark * Remove lines already defined in QMK * Update keyboards/uzu42/rules.mk Co-Authored-By: fauxpark * Update keyboards/uzu42/rules.mk Co-Authored-By: fauxpark * Update keyboards/uzu42/rules.mk Co-Authored-By: fauxpark * replaced comment block * Update keyboards/uzu42/config.h Co-Authored-By: Drashna Jaelre * Revert "Revert "try refactor to use split_common and use OLED driver"" This reverts commit a7849216f49a411558d4cfdcfbf3e202defe892a. * fix setting for RGBLED * The default of OLED_DRIVER_ENABLE has been changed to no. * Delete unuse block. * Remove unnecessary keycode definitions. * Remove unuse custom keycode. * Remove not needed code. * Remove not called code. * Remove code overwritten by the core. * Remove LAYOUT_kc macro. * Moved the definition of the layer block to keymap.c. * Removed unuse variable. * Remove code overwritten by the core too. * incorporate layer changes * Moved src rule to keymap from rev1. * Removed rgb_state_reader.c from lib folder and the code move to the keymap.c * Removed layer_state_reader.c from lib folder and the code move to the keymap.c * Removed logo_reader.c from lib folder and the code move to the keymap.c * Removed keylogger.c from lib folder and the code move to the keymap.c * Moved glcdfont_uzu42.c from lib folder to the default keymaps folder. * Removed unused files. commit f360c27f9302b1f916985dc32f68657ec22b3b9c Author: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Thu Oct 17 02:26:43 2019 +0900 [Keyboard] Add keyboard Naked60 (#6527) * Add Naked60 * readme Update * Update keyboards/naked60/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Updated keymaps Changed the alias. * updated rule.mk Unnecessary part was deleted and explanation was added to the boot loader. * Update keyboards/naked60/rules.mk Co-Authored-By: fauxpark * Update keyboards/naked60/rules.mk Co-Authored-By: fauxpark * Update keyboards/naked60/rev1/rev1.h Co-Authored-By: fauxpark * Update keyboards/naked60/rev1/rev1.h Co-Authored-By: fauxpark * Update keyboards/naked60/rev1/config.h Co-Authored-By: fauxpark * Update keyboards/naked60/rev1/config.h Co-Authored-By: fauxpark * Updated keymaps rules.mk. Cleaned up declarations in rules.mk. * Updated keymap Changed remaining aliases. * Update rev1.c Cleaned up declarations in rev1.c. * Update readme The appearance has been adjusted. * Update keyboards/naked60/keymaps/default/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/default_with_nafuda/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/default_with_nafuda/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/salicylic/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/salicylic/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/salicylic_with_nafuda/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/salicylic_with_setta21/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/rev1/rev1.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/default_with_nafuda/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/salicylic/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/default_with_nafuda/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/default_with_setta21/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/naked60/keymaps/default_with_setta21/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Updated keymaps The appearance has been adjusted. Unnecessary rules.mk was deleted. * Update keyboards/naked60/readme.md Co-Authored-By: fauxpark * Update readme Changed to markdown format. * Update keyboards/naked60/keymaps/default/readme.md Co-Authored-By: fauxpark * Update keyboards/naked60/keymaps/salicylic/readme.md Co-Authored-By: fauxpark * Update keyboards/naked60/keymaps/salicylic/readme.md Co-Authored-By: fauxpark commit 2fc3494fd967bb2d8ffba3dcd33fa4a7ef1066ed Author: Duncan Elliot <42836473+dmelliot@users.noreply.github.com> Date: Wed Oct 16 19:22:28 2019 +1100 [Keyboard] Update formatting of README for usb_usb (#7037) Minor updates to make the README a little more readable. commit 63f4806d7a67100fdf37b5f557ceb9d0982c0775 Author: fauxpark Date: Wed Oct 16 10:02:09 2019 +1100 Fix bug in `do_code16()` (#6935) * Fix bug in `do_code16()` * Remove qk_ mods functions commit 45225190794b438129d5b27d4fe5b756fdf2efc4 Author: Catriel Müller Date: Tue Oct 15 19:29:33 2019 -0300 Milk 2% - Unicode Keymap Fix and Improvements (#7013) * - Enabled Unicode Feature to fix the build - Added TapDance Feature to improve the functionality of the Keyboard - Added the ability to switch between the Unicodes Modes - Added more Emojis thanks to the tap dance feature * Fix Format commit feb116c4f33d1c4f451f3eecbf3d8f80be80e557 Author: Drashna Jaelre Date: Tue Oct 15 15:21:05 2019 -0700 [Docs] Replace Switch Hitter link with Wayback Machine link (#7009) * [Docs] Replace Switch Hitter link with Wayback Machine link * Add QMK Configurator link as well To appease yan commit 5a3aefed8d7fa2d86ff3d292915b42a3444048d0 Author: theVDude Date: Tue Oct 15 18:13:13 2019 -0400 Fix small hiccup in snake animation (#6858) commit eac6ccff98f0c9793d459a7f45b5e7fbf8462343 Author: Deckweiss Date: Wed Oct 16 00:10:23 2019 +0200 Added uart config for using rn42 with at90usb1286 (#6582) * Added uart config for using rn42 with at90usb1286 * Updated quantum/config_common.h Co-Authored-By: fauxpark * Update quantum/config_common.h Co-Authored-By: fauxpark * Update quantum/config_common.h Co-Authored-By: fauxpark commit 2ac4197b73221a49cfb7c9a44c4674d757ad7aba Author: Joel Challis Date: Tue Oct 15 13:33:06 2019 +0100 Add binary support to tinyprintf (#7024) commit cc5edb9eeb2d30400dee278a6f20991389f68afe Author: Joel Challis Date: Tue Oct 15 13:32:52 2019 +0100 Port DEBUG_MATRIX_SCAN_RATE to core (#7029) * Port DEBUG_MATRIX_SCAN_RATE to core * Remove duplicate DEBUG_MATRIX_SCAN_RATE implementations * Remove duplicate DEBUG_MATRIX_SCAN_RATE implementation from handwired/xealous * Add console logic from ergodox_ez commit e1de0d74a6f6c4bdc762b32fb78e449aed0fcecb Author: Joel Challis Date: Mon Oct 14 17:57:53 2019 +0100 Move running pytest to travis_test (#7005) commit 6560dffc05131c05655f8e0d74cc65c5918894fa Author: makenova Date: Sun Oct 13 19:26:03 2019 -0500 update one shot keys link (#7020) commit e796d7b49ebe8d0398853abb0d2dfa86396aa630 Author: Joel Challis Date: Mon Oct 14 00:05:41 2019 +0100 Update splittest/teensy_2 to use SPLIT_USB_DETECT (#7028) commit 2e7cd98c0644dc0f7f2a5cab5da7b0e019bd0810 Author: fauxpark Date: Sun Oct 13 09:57:57 2019 +1100 Cleanup rules.mk for 32U4 keyboards, G (#6971) * Cleanup rules.mk for 32U4 keyboards, G * Update keyboards/gray_studio/cod67/rules.mk commit a48468590ab83e808191c0e20c236d7eb6c13f0d Author: Joel Challis Date: Sat Oct 12 23:23:36 2019 +0100 Remove i2c logic for STM32F103xB in favour of USE_I2CV1 (#6926) * Remove i2c logic for STM32F103xB in favour of USE_I2CV1 * Remove i2c logic for STM32F103xB in favour of USE_I2CV1 commit 23178d73fc94d28c10029171f205d4815e516270 Author: Leo Batyuk Date: Sat Oct 12 07:08:03 2019 +0200 [Keymap] Add soundmonster's keymap for crkbd (#6964) * Add soundmonster's layout for crkbd * Incorporate feedback from review * Remove unneeded base layer-related code commit bb43010170a955053868376d5dcfd3abba5b16c9 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Fri Oct 11 22:04:00 2019 -0700 Fix broken link to ps2avrgb flashing instructions (#7011) commit 7becbfb44a7ed11593a1c322cda0dd9825c483d4 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Fri Oct 11 21:44:38 2019 -0700 [Keyboard] New Keyboard: BM43A (#6997) * new keyboard bm43a * Thanks to noroads for generating this with his online tool * add QMK Configurator support thanks to noroads * turn on bootmagic lite * update readme * remove unneeded comments commit 076d8babbbd762f9a316a26144d966238b9b71cc Author: fauxpark Date: Sat Oct 12 15:41:58 2019 +1100 [CLI] `qmk docs` graceful shutdown on Ctrl+C (#6989) commit c54d2cbe02f1c9c1743aa4d68ed3451a2398eab1 Author: Leivince John Marte Date: Sat Oct 12 12:38:49 2019 +0800 [Keymap] Feature/keymap/projectkb/alice/devinceble (#6986) * Added KBD6X Vimwarrior HHKB TOFU Personal Layout * Added Readme.md for Vimwarrior HHKB Tofu Keymap * Added DZ60 Vimwarrior WKL Tofu Keymap * Update Rename keymaps to devinceble_hhkb_tofu and devinceble_wkl_tofu * Update rules.mk Added BOOTLOADER config. * [Keymap] Added Devinceble Personal Keymap for ProjectKeyboard Alice * Update Remove Backslashes commit e47ab6a5752e16bd3b4288153798c12af1bee3d5 Author: Wilba Date: Sat Oct 12 15:37:03 2019 +1100 [Keyboard] wilba.tech PCB refactoring (#6982) * Cleanup * Refactor VIA rules.mk * WT mono backlight refactor, VIA support * Added WT75-C * Fixed compile error * Cleanup rules.mk * Review changes * Review changes commit 22aa2ce6b2f3bda51aca84d8f707c17f0301ff3b Author: Laurent Lao <32573725+laurentlaurent@users.noreply.github.com> Date: Sat Oct 12 00:35:53 2019 -0400 [Keymap] laurentlaurent's preonic keymap (#6977) * Removed ugfx binary because of antivirus * Created laurent's keymap * Made QWERTY Mac and QWERTY Windows * Rev 1.0, added _PUNC, _NAV, _EXTRA * REV 1.1, Dynamic macros start/stop now plays a sound, Lower acts like backspace on tap * Formatting fixes * Added Intellisense macro, fixed formatting * Improved ergonomics/muscle mem on punctuation lay * Added Raise Tap to Backspace * Mirrored Ergodox, added One-Handed * Added layers in README.md, added Caps lock, Scroll lock * Moved Caps to better location * Added ErgoDox link * Edit Readme.md with more layer switching information * Modified _PUNC for muscle memory * Reverted .gitignore and .vscode settings.json to reflect master * Improved formatting according to PR review * QMK_KEYBOARD_H def for Intellisense fixed->rev3.h * .gitignore diff fix * Fixing settings.json diff * Update settings.json * Update keyboards/preonic/keymaps/laurentlaurent/keymap.c Co-Authored-By: fauxpark commit 76378d74f522f53eebc05907d44c839455a0336b Author: Joel Challis Date: Sat Oct 12 04:25:43 2019 +0100 ARM split - detect USB to select master/slave (#6424) * Initial split refactor to allow usb master detection * Add split USB detect docs * Add SPLIT_USB_DETECT demo mode limitation * fix rebase issues * clang-format commit 64c075ed2c2e2ddb2da9321bf17ed911d758a9b2 Author: Joel Challis Date: Fri Oct 11 12:11:47 2019 +0100 Fix CONVERT_TO_PROTON_C_RXLED pins (#7007) commit 094aa7c24b1d7d8fbea8404c93c2a3e99106d65b Author: Olivierko Date: Thu Oct 10 23:52:16 2019 +0200 added new layout and Olivierko keymap for dz60 (#6996) * - added new layout for dz60 - created personal keymap using new layout * - changes based on pr feedback from @noroadsleft * - further readme formatting * Apply suggestions from code review applied changes based on review feedback Co-Authored-By: fauxpark * - readme formatting * Apply suggestions from code review Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 918f13a4ac7cc71f266fa294d093b9c46f61ae77 Author: Leivince John Marte Date: Fri Oct 11 05:48:03 2019 +0800 Fix/projectkb/alice/right spacebar layout size from 2.25 to 2.7… (#6984) * Added KBD6X Vimwarrior HHKB TOFU Personal Layout * Added Readme.md for Vimwarrior HHKB Tofu Keymap * Added DZ60 Vimwarrior WKL Tofu Keymap * Update Rename keymaps to devinceble_hhkb_tofu and devinceble_wkl_tofu * Update rules.mk Added BOOTLOADER config. * [Keymap] Added devinceble keymap for TADA68 * Fix projectkb/alice Right Spacebar Size to 2.75 not a bug though but confusing * Update Right Alt for Layout Fix commit 5156a7e05c44e996a3a9c1e590964a5c4d333dd9 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Thu Oct 10 07:58:38 2019 -0700 fix DZ60 info.json (#7000) commit ed1bf3afa25d7e7674df7e8618dfaf243de3058b Author: fauxpark Date: Thu Oct 10 21:48:37 2019 +1100 Prevent clang-format messing up placeholder tokens within keyboard templates (#6790) * Use .template file extension for keyboard template files * Filter out .template files completely before passing to clang-format * Undo file extension stuff; just ignore quantum/template dir commit 528ddb79871b76d026c4b2ca8b1debf9feb1e751 Author: Jono Warren <34277641+Micro-Biology@users.noreply.github.com> Date: Wed Oct 9 23:55:27 2019 +0100 [Keyboard] Added new layout for DZ60 and keymap (#6854) * Added new layout Added my preferred layout * Added my keymap * Update info.json Added LAYOUT_60_stand_stag_all * Update README.md Removed image from the keymap I based this layout from. * Update keyboards/dz60/keymaps/iso_vim_arrow_split_rs/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dz60/keymaps/iso_vim_arrow_split_rs/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dz60/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dz60/dz60.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dz60/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dz60/keymaps/iso_vim_arrow_split_rs/keymap.c Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/dz60/dz60.h Co-Authored-By: fauxpark * Update rules.mk Removed verbose rules.mk commit da3ff89fac34117400bd19f0da8ac8b420827c15 Author: Xavier Hahn Date: Thu Oct 10 00:45:41 2019 +0200 [Docs] French translation - Breaking Changes section (#6966) * Translated breaking_changes.md in French * Translated ChangeLog/20190830.md to French * Update docs/fr-FR/breaking_changes.md Co-Authored-By: Max Rumpf * Fix comments from @zekth Co-Authored-By: Vincent LE GOFF commit e58343596af5f749c5bc07aab3a897c6b6b5ac99 Author: Drashna Jaelre Date: Wed Oct 9 15:23:57 2019 -0700 Keyboard/ergodox debounce (#6994) * Set default debounce to 30 Lower debounce causes issues, and even 15 isn't lowe enough for the EZ * Cleanup ergodox ez matrix commit 4e23c700f19c8bf0da1fe810721fb02731591f49 Author: Gary Zhao Date: Wed Oct 9 12:05:31 2019 -0700 [Keymap] Adding garyjzhao's Iris keymap (#6980) * Added Gary's user files * Added Gary's Iris Keymap files * Added Gary's Iris Keymap files * updated readme * removed comments * Cleaned up code even more commit 531ff70e0d6e5c7ac1a49d72d73b28bdd93b73eb Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Oct 9 11:03:33 2019 -0700 [Keyboard] Satisfaction75 Configurator support (info.json) (#6833) * add configurator support for rev1 s75 * add configurator support for prototype * Update keyboards/cannonkeys/satisfaction75/prototype/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cannonkeys/satisfaction75/rev1/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cannonkeys/satisfaction75/rev1/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cannonkeys/satisfaction75/rev1/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cannonkeys/satisfaction75/rev1/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cannonkeys/satisfaction75/rev1/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * fixup layouts * Update keyboards/cannonkeys/satisfaction75/rev1/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cannonkeys/satisfaction75/rev1/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 3cb216f3816b9f0b2403ae5f015a6af3febc866b Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Oct 9 10:23:38 2019 -0700 [Keyboard] New Keyboard: Exent (#6985) * initial commit * thank you mr keebs for making this easy. Added 65_ansi macro made from mrkeebs kle2qmk tool. * split backspace requires an additional row * change k43 to k42 * add in split space bar support for LAYOUT_all * add QMK Configurator support * make default keymap more usable * update readme * Update keyboards/exent/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/exent/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/exent/keymaps/default/keymap.c Co-Authored-By: fauxpark * Update keyboards/exent/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 23cac6a606adc52a5956d878bbc9606b8cfdca88 Author: Leivince John Marte Date: Thu Oct 10 00:58:39 2019 +0800 [Keymap] Feature/keymap/tada68 (#6983) * Added KBD6X Vimwarrior HHKB TOFU Personal Layout * Added Readme.md for Vimwarrior HHKB Tofu Keymap * Added DZ60 Vimwarrior WKL Tofu Keymap * Update Rename keymaps to devinceble_hhkb_tofu and devinceble_wkl_tofu * Update rules.mk Added BOOTLOADER config. * [Keymap] Added devinceble keymap for TADA68 * Update Reduce down rules.mk to just MOUSEKEY_ENABLE commit 1f2ad80c169f407ce56df97a31c480255636ce96 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed Oct 9 07:09:57 2019 -0700 Gray Studio Space65 Configurator Layout fix (#6987) - LAYOUT_65_ansi_blocker data was actually LAYOUT's data. - added actual LAYOUT_65_ansi_blocker data commit db3d4a92aefef5023ac7002d6b2c1c9969492931 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed Oct 9 06:48:29 2019 -0700 Kingly Keys Little Foot Configurator layout fix (#6988) * fix Kingly Keys Little Foot info.json Was missing a closing curly bracket. * clean up the indenting White-space-only change. commit 8da25dd6e36bdd8a21bcd6dbb619a42549b396c9 Author: Ethan Durrant <5387347+emdarcher@users.noreply.github.com> Date: Tue Oct 8 23:01:56 2019 -0600 [Docs] removed unneeded line of code in Tap Dance documentation (#6981) commit 8991d9ab3a53d8180ef85abba014fee57980da65 Author: shu_numata Date: Wed Oct 9 13:59:11 2019 +0900 [Docs] Fix missing link in readme (#6958) commit 1c07d4e7efd4d0bc3c9baa876987690de56ac715 Author: Max Rumpf Date: Wed Oct 9 06:55:44 2019 +0200 [Docs] Clean up docs/newbs_flashing.md (#6973) * [Docs] Clean up docs/newbs_flashing.md See #6930 * Fix typo commit 0ea4e861753dec47533b7f56f850d766b496c133 Author: Xavier Hahn Date: Tue Oct 8 22:27:45 2019 +0200 [Docs] French translation of QMK Basics (#6925) * Adds the files that will be translated * Start translate cli_configuration.md in French * Translated cli.md in French * Translated getting_started_getting_help.md in French * /getting_started_github.md * Translated first part of contributing.md in French * Finish translation of contributing.md * Translated the getting_started_introduction.md in French * Corrected issues from @zekth review Co-Authored-By: Vincent LE GOFF commit 4335b97a072cef1a5814d8a07368c25fc175a93d Author: fauxpark Date: Wed Oct 9 05:47:37 2019 +1100 Reorder Raw HID interface to match what the USB spec expects (#6801) commit 89fe8d2d8727574f6d1fa8f56a0ab35aa4b0245c Author: Pittyolo Date: Tue Oct 8 20:26:17 2019 +0200 [Keymap] Adding my keymaps for Preonic and XD75 (#6874) * Added my keymaps * Update to readmes * Update keyboards/preonic/keymaps/pitty/config.h Thanks! Co-Authored-By: Drashna Jaelre * Update keyboards/preonic/keymaps/pitty/config.h Thanks! Co-Authored-By: Drashna Jaelre * Update keyboards/preonic/keymaps/pitty/config.h Thanks! Co-Authored-By: Drashna Jaelre * Update config.h * Update keyboards/preonic/keymaps/pitty/keymap.c Thanks! Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Removed copyrighted material * Update keyboards/xd75/keymaps/pitty/keymap.c Thanks! Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update config.h * Update config.h * Update config.h * Update keymap.c * Update keymap.c * Update config.h * Update keymap.c * Update keyboards/preonic/keymaps/pitty/config.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/preonic/keymaps/pitty/config.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 9fe7b406cb43e334d588e69b14c3fa41ae4c4925 Author: Garret G <45295190+TheRoyalSweatshirt@users.noreply.github.com> Date: Tue Oct 8 13:24:20 2019 -0500 [Keyboard] Move existing boards to Kingly_Keys and add more boards (#6879) * try to fix and orginize to Kingly_Keys subfolder and add various keyboard support * fixed layout nomenclature and rules.mk pref * modified readme for smd_milk * fixed layout name in little_foot.h * Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * remove old stand-alone keyboard folders * Fixed missing comma in littlefoot keymap * remove OLED code in romac_plus.c * Update rules.mk * Update readme.md * Apply suggestions from code review Co-Authored-By: fauxpark * Update rules.mk * Update rules.mk * Update keymap.c * Update keymap.c * Update keymap.c * fix little_foot.h layouts, delete smd_milk readme.md * Fix ALpha Edits * Fix ALpha Edits p.2 * update little_foot.h * fix little_foot.h p.2 * Update keyboards/kingly_keys/little_foot/little_foot.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/kingly_keys/little_foot/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Update keyboards/kingly_keys/romac_plus/keymaps/default/keymap.c Co-Authored-By: Drashna Jaelre * Modify config.h for cleaned up PCB. commit 19584b92c559b134401be1efa7a5f199eda12f89 Author: dsanchezseco Date: Tue Oct 8 20:16:38 2019 +0200 [Keymap] keymaps for planck and crkbd (#6895) * using similar keymaps (with vim in mind) for planck and crkbd * changed to rgb matrix and lower max brightness to prevent unresponsiveness * readme and default rgb mode * disable all the not wanted effects and activate the framebuffer ones * changed effects * changed custom keycodes to defines * fixed comment commit 2707652c9877e5fc7dd67670f8e14962c31baf42 Author: fauxpark Date: Wed Oct 9 05:06:26 2019 +1100 [Docs] CLI command to serve docs locally (#6956) * CLI command to serve docs locally * Document it * Default port * Use `with` and subclass `SimpleHTTPRequestHandler` to set working dir * Apply suggestions from code review Co-Authored-By: skullydazed * Update docs/cli.md commit e7d95701bf12998a61c5d2143891b24939ebbe52 Author: Xavier Hahn Date: Tue Oct 8 19:45:34 2019 +0200 [Docs] French translation of Complete Newbs Guide (#6901) * Translated _summary.md + newbs.md * Translated news_best_practices.md in French * Translated newbs_building_firmware_configurator.md in French * Translated the file newbs_building_firmware.md in French * Translated page newbs_flashing.md in French * Translated the page newbs_getting_started.md in French * Translated the page newbs_learn_more_resources.md in French * Translated the page newbs_testing_debugging.md in French * Change translation of split from 'séparé' to 'scindé' * Adding the lang file for gitbook and some others tranme other translation * Correcting typos after Gimly's review * Some others sections on the summary * Fix first comments from @zekth * Fix some issues from @4sStylZ * Fix other issues from @4sStylZ * Fix weird phrase * Replaced all uses of 'téléverser' by 'flash' * Replaced all planches by board * Fix other PR comments * Fix comment commit 5e43f87956c36a609d49ab696c939f2547d076dc Author: yiancar Date: Tue Oct 8 17:03:51 2019 +0100 [Keyboard] RGB updates on NK65 and HS60 (#6795) * RGB update commit * Convert caps lock indicator check to IS_LED_ON * ISSI3733 minor change commit d00326ecb3f7e3b6703f9f0656c1f5a917da086b Author: lucwastiaux Date: Tue Oct 8 23:43:54 2019 +0800 [Keymap] modify ergodox_ez / dvorak_42_key layout (#6832) * add macros for windows 10 workspace switching * change debounce settings * add comment * remove debounce commit 49fdd386b23da8eed43241a85023461b11571526 Author: kuchosauronad0 <22005492+kuchosauronad0@users.noreply.github.com> Date: Mon Oct 7 20:08:05 2019 -0700 [Docs] Clean up docs/newbs_building_firmware.md (#6930) * Clean up the blocks in the second section so that macOS & Windows are in the same block with the command * As suggested by fauxpark commit e2ec5790b71c18d02b79fdc9979e94b3fadba2a3 Author: Ethan Durrant <5387347+emdarcher@users.noreply.github.com> Date: Mon Oct 7 20:28:48 2019 -0600 [Docs] updated and cleaned up documentation for Tap Dance (#6949) commit 8fe15fa17af87c9430afde7fe30c323033a18f02 Author: Yan-Fa Li Date: Mon Oct 7 19:23:59 2019 -0700 [Keymap] Overly greedy community keymap build userspace (#6969) - this fixes breakage in instant60 pcb sorry @upas commit 403c139b34fe97f61eedb4a3cc4772d58bce0efc Author: Drashna Jaelre Date: Mon Oct 7 19:08:14 2019 -0700 [Docs] Add AVR and ARM examples to GPIO Commands (#6942) * [Docs] Add AVR and ARM examples to GPIO Commands Add examples for reference for people not as well versed in microcontroller coding, such as myself. * Apply suggestions from code review Co-Authored-By: fauxpark Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit dc5876a8e62aa0f627aee85bca3a78a94f94fc5d Author: Lukas Werling Date: Tue Oct 8 02:18:18 2019 +0200 [Keymap] katana60: Fix = key in default keymap (#6941) The top-right key should be = and not the shifted pseudo-key +. This matches the sample layout from the picture in the readme [0]. [0]: https://i.imgur.com/xVkODOu.jpg commit 93767540e1d60dd27542f86b91d49f813b65807f Author: Janne Peippo Date: Tue Oct 8 03:15:59 2019 +0300 [Keymap] Add new TADA68 keymap (#6938) * Add new TADA68 keymap * Remove unnecessary backlashes * Change from MacOS specific to generic volume keycodes commit 5bb3fe7a3517e426ba3827a5b889e69bd222bf10 Author: Max Rumpf Date: Mon Oct 7 19:54:17 2019 +0200 Remove unanswered/unnecessary FAQ item As discussed in #6957, closes #6957 commit 3e22af92ee67e77e4089771ab4d45dc37df38c53 Author: fauxpark Date: Tue Oct 8 08:50:10 2019 +1100 [Docs] Add an important note about modifying user code (#6959) * Add an important note about modifying user code * Update docs/contributing.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 2c51d1422309d389346022711b4cbc54a8c42f79 Author: NoshBar Date: Mon Oct 7 23:35:28 2019 +0200 [Keyboard] Cannon Keys Satisfaction75: Fix buffer sizes for sprintfs. (#6954) sprintf always adds a NULL terminator at the end of the buffer it works on. A few places made just enough space for the resulting string, but not the terminator. So this just adds one to the buffer size to make room for it. commit 6bed2394866f0b98ac9b13a82999c875abc9e44a Author: Yan-Fa Li Date: Mon Oct 7 13:31:11 2019 -0700 [Keymap] Community layout for hhkb (#6961) commit c2709a7ca4a139af0606b085d21a0af460dbf87e Author: Dylan Khor Date: Mon Oct 7 15:35:37 2019 -0400 [Keymap] Clean up / adjust khord let's split keymap (#6951) Remove unneeded lines and change right side mouse buttons on raise layer back to media control commit 26fe4e44d56e19a2c045e2558856fdcecd361737 Author: Diego <921798+diegor2@users.noreply.github.com> Date: Mon Oct 7 15:57:35 2019 -0300 [Keymap] Fix talljoe-gherkin keymap typo (#6950) commit b5b057ad95951c6bc343705a4b9d05161e464b92 Author: Ethan Durrant <5387347+emdarcher@users.noreply.github.com> Date: Mon Oct 7 12:42:12 2019 -0600 [Keymap] MF68 keymap LED pins fixed (#6946) * fixing LED pins to accurately use the Pro Micro LEDs * fixing trailing whitespace commit f04e58dad6f56cdbd5d369c9e00405dcdb47c8ea Author: Dan McClain Date: Mon Oct 7 14:32:30 2019 -0400 [CLI] Add `qmk list_keyboards` (#6927) `list_keyboards` replicates the `make list-keyboards` by globbing for all paths that include `rules.mk` and then removing the paths that include `keymaps`. This basis of this cli command could be reused in the future as a util, but is not done so here since this would be the only place that would use it currently Resolves #6911 commit d9b056486bf62f4751999d926fb3f8aad6d0c821 Author: Jesper Nellemann Jakobsen Date: Mon Oct 7 20:17:08 2019 +0200 [Keymap] Move brightness controls one key over (#6945) I forgot to count the extra ISO-only key next to left shift when initially adding these brightness controls. commit 2881f53dd49d3fe70fefe9f05a618ac713c8529b Author: Jonas Avellana <14019120+ninjonas@users.noreply.github.com> Date: Mon Oct 7 11:42:03 2019 -0600 [Keymap] updating ninjonas userspace (#6903) * [refactor] updating ninjonas layout blocks and standardized LOWER & ADJUST * [feat] added new macro M_TERM to open MacOS terminal app * [feat] introducing mod-tap functionality on keymap * [fix] fixing oled turning on when it feels like it. thanks @drashna for helping * [feat] updating OLED to rotate logo 180 degrees * [feat] updating keymaps to reflect VSCode frequent habits * [refactor] converting crkbd modifier keys to layer blocks * [fix(#6903)] converting _delay_ms to wait_ms on launching terminal macro commit d0ef1397491d8e57ef3b72b3aa6af959cd3eb5c6 Author: Erdem Efe Erol <33372714+iTechsTR@users.noreply.github.com> Date: Mon Oct 7 02:39:23 2019 +0300 [Docs] Typo fix for feature_hd44780.md (#6917) * Typo fix Fixed a typo. * Update feature_hd44780.md * Update feature_hd44780.md commit 60cd12f8a4ac82b1dcb2c8ec0f0231c2004507ce Author: Erovia Date: Sun Oct 6 20:15:17 2019 +0200 Dimple: Fix Caps Lock LED behaviour (#6936) * Dimple: Fix Caps Lock LED behaviour * Dimple: fix helper functions and cleanup unnecessary code commit c73d6f6ac8904395557b857a1cac551c6dd5fe9c Author: Erdem Efe Erol <33372714+iTechsTR@users.noreply.github.com> Date: Sun Oct 6 17:56:35 2019 +0300 [Docs] Removed dead link (#6922) Removed an old link and fixed a typo commit f73f71db9c65385d968cebf7471389a99ead6ba5 Author: Janne Peippo Date: Sun Oct 6 17:44:02 2019 +0300 [Keymap] Add new Cyclops keymap (#6923) commit 345d3cc046bb75c10b454c7b0d5bbf8675862e37 Author: Daniel Klug Date: Sat Oct 5 23:58:23 2019 -0700 [Keymap] dactyl_left (#6775) * [keymap] dactyl_left Special layout for the left side of the ergodox dactyl. * [keymap] dactyl_left Special layout for the left side of the ergodox dactyl. * Updated readme.md * Update keyboards/handwired/dactyl_left/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/dactyl_left/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/dactyl_left/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/dactyl_left/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/handwired/dactyl_left/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Addressing changes for PR removed layers.json and 15-24 from rules.mk * Updating keymap for better a default Hopefully this works as a starting point commit 78f01eef2e4586f59b56703d0a4f1a57a1af40a1 Author: St. John Johnson Date: Sat Oct 5 23:41:15 2019 -0700 Use `keymap` instead of `username` variable for `qmk new_keymap` (#6885) Username is not defined and this causes `qmk new_keymap` to error. This appears to have originated from a partial update in https://github.com/qmk/qmk_firmware/pull/6708/files#diff-d5208bcbc79aa428556a743b6ff41086. This change completes the migration from `username` to `keymap` commit f3f7f941dc7627ea8cdeb00b73c72bff3739de15 Author: Kaiede <41651119+Kaiede@users.noreply.github.com> Date: Sat Oct 5 19:59:16 2019 -0700 [Keyboard] Whitefox Aria Layout Support (#6915) * [Keyboard] Add Whitefox Aria Layout * [Keyboard] Add Whitefox Aria to info.json * [Keyboard] Apply Whitefox.h Suggestions from Review Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 60267fe2ca2c5373231a8f3d3bff43527fbbb7bf Author: Max Rumpf Date: Sun Oct 6 01:44:22 2019 +0200 [Keyboard] Add Phoebe, a keyboard by Maxr1998 (#6870) * Add Phoebe, a keyboard by Maxr1998 * Improve include-guard * Remove unused functions * Remove unused extern * Add image * Some more fixes commit 18a0e6fedc9b88209029979f52b7952328b095fd Author: Josh Benavides Date: Sun Oct 6 09:24:31 2019 +1000 [Keymap] Add HHKB-based keymap for DZ60 (#6907) * Created personal keymap for dz60 hhkb layout. * Renamed directory joooosh to joooosh_hhkb... Removed redundant KC_TRNS alias #define... Updated to use KC_TRNS alias defined in QMK_KEYBOARD_H. commit 8cf1491d04f96f3ab4bedac408c434e8e50adf7d Author: gtips <51393966+gtips@users.noreply.github.com> Date: Sun Oct 6 08:10:27 2019 +0900 [Keyboard] Add keyboard Reviung34 (#6847) commit c23581d985430c2571af958c4aca43499737fb72 Author: Jonathan Rascher Date: Sat Oct 5 14:40:08 2019 -0500 [Keymap] Initial personal keymap for Lily58 (#6908) * Initial Lily58 keymap * Still not sure if these thumb key placements are optimal or not. I might want to move space (enter) one key to the left (right), respectively. * Also unsure how I feel about Esc on a mod tap key with Ctrl... might move it back to its own key and relocate the = key. * Missing bindings for Print Screen, Scroll Lock, Pause/Break. * Make Lily58 layout support operation without numrow * Move some Lily58 modifiers around * Move nav keys to more consistent locations * Rebinding shift on Raise is stupid * Don't stomp Ctrl on the Lower layer * Tweak bottom row a little bit commit 03c132b33124630ab64e7f6370be9419e7a26b04 Author: Matthew Lyon Date: Sat Oct 5 12:22:52 2019 -0700 [Keymap] finally committing my updates (#6904) commit 3e20697a33ddb5ce22e91dc786b8de3ff3c74f0c Author: Nikita Titov Date: Sat Oct 5 22:04:46 2019 +0300 removed deprecated option for Travis (#6896) commit b91874454d0a34335409590808c54ff062e2e3ed Author: Colai <1r00t@users.noreply.github.com> Date: Sat Oct 5 20:56:11 2019 +0200 [Keymap] dz60 Iso de 5x1u split right shift (#6889) * add ISO-DE layout with 5x1u and split right shift * cleaning up * renamed readme.md and layout. added underglow * change layout name in info.json * rename readme.md * renamed layout in comment. added rgb keys to visualisation * change Layout name in dz60.h visualization commit e02383fa1ff5f4b901e2819f2e2d37bac1cabbf5 Author: Leivince John Marte Date: Sun Oct 6 02:17:36 2019 +0800 [Keymap] Added KBD6X Vimwarrior HHKB TOFU Personal Keymap (#6878) * Added KBD6X Vimwarrior HHKB TOFU Personal Layout * Added Readme.md for Vimwarrior HHKB Tofu Keymap * Added DZ60 Vimwarrior WKL Tofu Keymap * Update Rename keymaps to devinceble_hhkb_tofu and devinceble_wkl_tofu * Update rules.mk Added BOOTLOADER config. commit e8b65d01709c2ebdf50c0aa95963d200fa4fa4c6 Author: fauxpark Date: Sun Oct 6 05:09:35 2019 +1100 Cleanup rules.mk for 32U4 keyboards, A-F (#6804) * Cleanup rules.mk for 32U4 keyboards, A-F * Put back stuff in VIA keymaps commit 19b60c273ab63c250db748e5eead6baba88cd0d8 Author: J.Flanagan Date: Sat Oct 5 12:44:55 2019 -0500 [Keyboard] Add OSA keyboard (#6849) * initial commit restart of osa development * minor changes Minor changes mostly changing naming and comment out rgb modes * initial commit restart of osa development * minor changes Minor changes mostly changing naming and comment out rgb modes * more minor changes comment out some functions correct some spelling errors change some of the descriptive text * Minor Changes Minor changers per PR requests * Minor Changes Minor changes per PR suggestions * Major Changes Per PR suggestion from noroadsleft: - changed macro to LAYOUT_all in info.json, dualsplit/keymap.c and ocm/keymap.c, and osa.h - added osa.h macros for other layouts per suggestion and used suggested naming - changed naming of layout macros to correspond to macros and naming in default/keymap.c, dualsplit/keymap.c, ocm/keymap.c, splitbs/keymap.c, and splitrs/keymap.c - removed duplicate layers from all keymaps and edited per suggestions - compiled each keymap to check for and correct any potential errors. all compiled with no errors * Minor Change - fixed imgur image link in readme.md to be correct format * Minor Changes changes to macro layouts in osa.h changes to dualsplit/keymap.c - added arrows to layer 1 * Changes - Made changes to info.json to match osa.h - changes to osa.c enabling indicator LEDs - changed "dualsplit" directory name to "all" to match keymap naming in osa.h, info.json, and keymap.c - minor changes to all/keymap.c * Update keyboards/sck/osa/rules.mk Co-Authored-By: fauxpark * Update keyboards/sck/osa/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Changes to info.json - revert to info.json from version in b3b49c3 per requested changes commit dbce3f648b342418f79de977068f2005d534cff7 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Oct 5 10:19:49 2019 -0700 Budget96 Production PCB Fix (#6900) * production version of the PCB has the top two right most keys swapped around. There are only 6 protos in existence and one of them is mine so we can just do this. * update readme by adding backticks commit 38aefaf78e3d9f17ef561f031679a02c9fba869c Author: Joel Challis Date: Sat Oct 5 16:57:00 2019 +0100 ARM - Initial backlight support (#6487) * Move AVR backlight to own file, add borrowed ARM implementation * Tiny fix for backlight custom logic * Remove duplicate board from rebase * Fix f303 onekey example * clang-format * clang-format * Remove backlight keymap debug * Initial pass of ARM backlight docs * Initial pass of ARM backlight docs - resolve todos * fix rules validation logic * Add f072 warning * Add f072 warning * tidy up breathing in backlight keymap * tidy up breathing in backlight keymap * add missing break to backlight keymap commit 60b2a9a5ea88321629e970e936652cc1ba786b80 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Fri Oct 4 22:06:57 2019 -0700 [Keyboard] Preliminary Support for Duck Orion V3 (#6892) * initial commit * fixup init_rows and read_rows routine * fixup matrix based on Marcus's tracing info * add a temporary keymap * add notes * use a standard tkl ansi keymap * turn on that last column * backslash and backspace row left to fix * reorg from backslash to pgdn * got the matrix done but the backspace location at K4N is still suspect * add reset info into readme * add qmk configurator support * add community layout support * remove uneeded keymap readme * add a new column just for the reset switch * change copyright dates * add cautionary message to readme as we don't know about the lighting condition yet * Update keyboards/duck/orion/v3/v3.c Co-Authored-By: fauxpark * Update keyboards/duck/orion/v3/v3.c Co-Authored-By: fauxpark * Update keyboards/duck/orion/v3/v3.c Co-Authored-By: fauxpark * change bootloader comments commit 537623c9db15e29889c1c78e55ebcbba13edbabb Author: hvp <32483282+hvpkod@users.noreply.github.com> Date: Sat Oct 5 07:04:08 2019 +0200 [Keymap] Added my version of the alpha28 layout. Usable. (#6862) * Added my version of the alpha28 layout. Usable. * Added enum. Test ok commit ec053c8283a58de59954f6fe9a9438ef29a24918 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Fri Oct 4 22:03:10 2019 -0700 [Keyboard] Percent Skog Lite (#6882) * initial commit of skog_lite * add layout macro from misterkeeb's tool * add default keymap * add pins used * rgb support * add tkl ansi community support * update readmes * add new layouts and configurator support commit c5ffd182c8daeaa0b50c45f4f959b5615ae2a6e6 Author: Louis Orleans Date: Fri Oct 4 20:32:52 2019 -0700 [Keymap] update my keymap for Infinity Ergodox (#6864) * 🎉 Building simple flasher * 🎉 Flashing works * 🎨 Cleaning up * 🐛 Being more specific with board identity * 🐛 Flashing correct keymap * 🎉 Adding keymap * ✨ Updating keymap * 🚨 RGB * ⏪ Revert "🚨 RGB" This reverts commit 9ceabfb267f8daedaad929231229c703abc12ec4. * ✨ Improvements to flasher * ✨ Layout tweaks * 💄 Messing around with LCD * 💄 Enabling LCD backlight matching * 🔧 Updating layout * 🐛 Fixing console logging * 🎨 Cleaning up indentation * 🔧 Adding editorconfig * ✨ Adding game layer * 💄 Changing numpad layout * ✨🔥 redoing entire layout It's now more similar to the Planck default layout * ✨ add workman and dvorak layouts * 🐛 fix numpad * 🐛 fix layer orders * 🐛 fix layer toggling * 🐛 fix tri-layer switching * 🐛 fix LCD colors for adjustment layers * 🔥 remove old flasher project * 🔥 remove simple_visualizer * 💄 update LCD colors * 📝 fix layout comments * 💄 swapping 2u buttons * 🔥🔧 removing editorconfig * 🚨 using 2 spaces * 📝 add README * ⏪ Revert "💄 Enabling LCD backlight matching" This reverts commit 51577903dfdc9fea5d33e9ab8cfa9b854e7ae19e. * ⏪ Revert "💄 Messing around with LCD" This reverts commit fdd9acdae514a3e0e4a7153225053680744980e5. * 🐛 fix thumb inconsistency in QWERTY * 🐛 fix media keys * ✨ add F# shortcuts to vertical 1.5u buttons * ✨ hold enter for RShift * ✨ hold for numpad * 🎨 remove unnecessary breaks * 🎨 reoganizing layers * ✨ add Colmak layer * 🚧🔧 add basic config * ✨ use more standard numpad layout * 💄 change layer orders * ✨ add caps lock on adjust layer * 🔥 disable space cadet * 📝 update README * 🔨 use userspace config * 🎨 clean up a bit * 🐛 undefine tapping toggle from base config * 🔨 rename LED functions * 💩 someone commited Windows line endings * ✨ left hand thumb is space * ♻️ extract layers def to new file * 🔥 remove unnecessary hooks * ✨💄 set LCD text and color by layer * 💄 update keymap removing layer buttons that I don't really use * ✨ set backlight to full brightness on boot * 🔥 remove unnecessary includes commit 93bce832555f0f34b2b9a681a7d5d0dbe4462a26 Author: Griffin J Rademacher Date: Fri Oct 4 15:56:01 2019 -0400 [Keymap] :world_map: Adds massdrop/alt/favorable-mutation keymap (#6893) Features: * Tap space for space, hold for cmd * Tap caps lock for esc, hold for ctrl * Dedicated key for entering default mode of yabai window manager * Who needs arrow keys, anyways??? * Method for clearing all stuck-down mods commit b0b433f3cf3d20ddcd10a2897646208c785e26c9 Author: Dimitri Krassovski Date: Fri Oct 4 22:00:14 2019 +0300 [Keyboard] Match dactyl-manufom 4x5 layout in doc to actual (#6867) * Match doc layout to actual Raise and Lower were swapped, and there is no "10" button :) * Make mouse button 2 really 2, not a clone of MB1 commit 3e6f7bc6bfacda10a731efdda9f669dca8b4a221 Author: vuhopkep Date: Sat Oct 5 01:55:54 2019 +0700 [Keyboard] Add Stella keyboard (#6848) * Add Stella keyboard Tenkeyless keyboard for VGS Community * Update keymap.c * update commit f166a22c98c6c2e055cbd81b2a309417b92b4f2a Author: Max Rumpf Date: Fri Oct 4 20:22:30 2019 +0200 [Keyboard] Add image for Pulse 4k (#6869) commit 41b9be560d68a69a0c87d90e94700082e1cbbd3a Author: fauxpark Date: Fri Oct 4 09:24:47 2019 +1000 Wrap util.h functions in `extern "C"` (#6762) commit 4f01c8623fe48da0c3a4ef98f63af442c1978816 Author: Richard Baptist Date: Thu Oct 3 21:34:00 2019 +0200 Clean up default crkbd keymap (#6887) * Put spacing into CRKBD keymap * Change KC_NO to XXXXXXX This makes it easier to see at a glance that the key does nothing commit 9067dc817aefb7fe43d23a995604555642c6c897 Author: Ayman Bagabas Date: Tue Oct 1 20:56:16 2019 -0400 Fix qmk doctor 'bytes-like object is required' on linux This fixes the following issue related to encoding on linux systems. Add `universal_newlines=True` to subprocess. ☒ a bytes-like object is required, not 'str' Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/milc.py", line 564, in __call__ return self.__call__() File "/usr/local/lib/python3.7/site-packages/milc.py", line 569, in __call__ return self._entrypoint(self) File "$HOME/qmk_firmware/lib/python/qmk/cli/doctor.py", line 56, in doctor for line in mm_check.stdout.split('\n'): TypeError: a bytes-like object is required, not 'str' commit afb93b7f481a46e3980905e635d5a1d45a0ad678 Author: Silvio Gulizia Date: Thu Oct 3 02:27:01 2019 +0200 Fix quantum keymapextra italian (#6779) * remove IT_PIPE duplicate and add IT_GRAD IT_PIPE was declared 2 times, ones as ° and once as |. I changed the first declaration and called it IT_GRAD. I even fixed the definition because the ° in Italian is obtained with LSFT(IT_AACC) * rename IT_GRAD to IT_DEGR * add missing plus_and_minus * fix missing IT_ACUT definition * change KC_LALT(KC_LSFT to LALT(LSFT * Fix alignment * remove leftover * fix issue generated with chars while pushing * fix typo * fix LCBR and RCBR * fix euro symbol * fix RBRC * change IT_LESS form KC_NUBS to KC_GRAVE * add IT_TILDE and change IT_GRAV to IT_GRAVE * add missing legends for accented vowels * format for readability * revert to commit befor I edit it * initial commit * edited to be easier to compare to _ansi.h * remove keymap_italian_osx_iso.h and rename with edits keymap_italian_osx_ansi.h to keymap_italian_osx.h I found out there were no difference at all * fix missing #endif * rename quantum/keymap_extras/keymap_italian_osx.h to quantum/keymap_extras/keymap_italian_ansi.h Now this file is a clone of the keymap_italian.h that appears to be working only for ISO keyboards. It also contains a few improvements for IT_PIPE (defined two times) and IT_ACUT (missing definition). Additionally it redefines LCBR and RCBR to LSFT(IT_LBRC) and LSFT(IT_RBRC) * rename file * redefines IT_BKSL and IT_PIPE based on KC_BKSL * add new osx_iso and osx_ansi version for italian.h and align BKSL to BSLS, fix double definition of PIPE commit 99f5d6c56d0e3b28ed208acdeae16cea5d563725 Author: Konstantin Đorđević Date: Thu Oct 3 01:46:27 2019 +0200 Update personal userspace and keymaps (#6876) * Align bottom row in KBD6X keymap to match LAYOUT macro * Remove TAP_HOLD_CAPS_DELAY override in userspace * Change default USB polling rate to 1000 Hz * Move media controls to nav cluster on Wasdat * Add dz60:konstantin_b keymap commit de386e5972597e89bda99022d30591ae2f6087b5 Author: Erik Doffagne Date: Wed Oct 2 22:41:32 2019 +0200 Fixed typos in documentation (#6871) * Fixed typos in documentation * Update docs/arm_debugging.md Co-Authored-By: fauxpark * Update docs/arm_debugging.md Co-Authored-By: fauxpark commit 482ec79e5997b7ecab5102a0536fa3908ab68d02 Author: Richard Baptist Date: Wed Oct 2 18:39:43 2019 +0200 [Keymap] Add personal CRKBD keymap (#6843) * Add personal keymap * Additional readme note * Fix typo's in readme * Additional layer key info in readme * Update keyboards/crkbd/keymaps/rpbaptist/config.h Co-Authored-By: Drashna Jaelre * Update keyboards/crkbd/keymaps/rpbaptist/rules.mk Co-Authored-By: Drashna Jaelre * Update keyboards/crkbd/keymaps/rpbaptist/keymap.c Co-Authored-By: fauxpark * Remove redundant config * Remove disabling of NO_ACTION_MACRO and NO_ACTION_FUNCTION * Remove layer keycode macros * Use layer_state_t instead of uint32_t Co-Authored-By: Drashna Jaelre * Use get_highest_layer instead of biton32 Co-Authored-By: Drashna Jaelre * OLED_ROTATION_90 instead of 180 Co-Authored-By: Drashna Jaelre * Use get_highest_layer instead of biton32 Co-Authored-By: Drashna Jaelre * Use get_highest_layer instead of biton32 Co-Authored-By: Drashna Jaelre * Revert "OLED_ROTATION_90 instead of 180" This reverts commit f14a4353ab6719c6e4e8974a4d17f8b91940de56. It messed up the logo on slave * Use IS_LED_ON function to check LED status Co-Authored-By: fauxpark commit fa8359fa1af7177a4818dd31f37cb5f8fe14f362 Author: Anton Lindström Date: Wed Oct 2 14:11:39 2019 +0200 [Keymap] Add antonlindstrom iris keymap (#6853) This adds a keymap for the Iris keymap for antonlindstrom. The keymap is based on the swedish keymap and thus contains the åäö characters. commit 0c5b3826d15015ec8aaee0b87a7a485f17158c6b Author: worthlessowl <53881082+worthlessowl@users.noreply.github.com> Date: Wed Oct 2 11:26:39 2019 +0700 [Keyboard] Add Owlet60 Keyboard to qmk_firmware/keyboards/handwired (#6803) * first commit, skeleton code, not sure if working * Owlet 60 working firmware, json not sure * use json from kle to qmk converter * deleted temporary text from owlet60.h * owlet60 working oled and led firmware * moved owlet60 to handwired * updated readme.md * Revert "owlet60 working oled and led firmware" This reverts commit 27f9465aabd62d9ee445b477a02af348160532c1. * Revert "moved owlet60 to handwired" This reverts commit 9b8e8344fc303ddc4dcc3b023d4e9d05b89d5800. * revert changes, moved owlet60 to handwired, updated copyright blurb * fixed readme.md * removed duplicate items * resolve merge artifact * Update keyboards/handwired/owlet60/readme.md Co-Authored-By: fauxpark * check out merge artifacts with qmk master * Update keyboards/handwired/owlet60/matrix.c Co-Authored-By: fauxpark * Update keyboards/handwired/owlet60/matrix.c Co-Authored-By: fauxpark * Update keyboards/handwired/owlet60/matrix.c Co-Authored-By: fauxpark * Update keyboards/handwired/owlet60/matrix.c Co-Authored-By: fauxpark * removed redundant rule on oled_testing/rules.mk, refactored mux switching code on matrix.c commit da5b4ec7332d305dc6a2b07c1ac74aa3088f8bd5 Author: Ethan Durrant <5387347+emdarcher@users.noreply.github.com> Date: Tue Oct 1 13:50:54 2019 -0600 editing fn layer and minimizing the Caps layer (#6850) commit 68072e931a1e67ce2d6f71be5efff559305072d6 Author: Jack Humbert Date: Tue Oct 1 13:51:23 2019 -0400 Expose zh-cn docs, delete bad zh docs, add docs for adding translations (#6855) * expose zh-cn docs, delete bad zh docs, add docs for adding translations * Update docs/translating.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/translating.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * update for python 3 commit c7b28bffc13d405bea2e0c0243437920659232f2 Author: Amber Holly Date: Tue Oct 1 02:34:12 2019 +0100 [Keyboard] Add Wraith keyboard (#6810) * start wraith firmware * completed initial setup * added amber keymap to wraith * fixed LEDs, wrote readme files * reverted bootloader type after troubleshooting * decapitalised files and directory as per qmk standards * Update Wraith keyboard folder - Add timer keymap with documentation - Remove boilerplate in rules.mk, ready for pull request - Update info.json with ISO and ANSI layouts, ready for QMK Configurator * Add Wraith image to readme.md * Fix Wraith keyboard's QMK Configurator support - Update info.json - Add layout macros in wraith.h - Update keymap.c files to use LAYOUT_all - Fix readme formatting commit c47fa31a0031a911eb4d97a043fe32792a57eba6 Author: fauxpark Date: Tue Oct 1 10:45:44 2019 +1000 Port drivers.txt changes from the Toolbox (#6786) commit edf8552970fab2bd025933e0244ce9acb37f0712 Author: Jan Christoph Ebersbach Date: Mon Sep 30 21:28:51 2019 +0200 [Keyboard] Signum 3 0 enable kinetic speed (#6740) * Enable kinetic speed * Update keymap commit ab3fba2cdf69f61a6cb5525c092e5a2f461c925b Author: Simon R Date: Mon Sep 30 19:59:34 2019 +0200 [Keyboard][Fix] budget96 RGB light-switches (#6840) Adding code to make the RGB switching work. Taken from the singa (singa.c). Signed-off-by: Simon R commit c6c7aec85dcdccf48fc968e18c1dd8a288540b38 Author: kakunpc <15257475+kakunpc@users.noreply.github.com> Date: Tue Oct 1 02:57:01 2019 +0900 [Keymap] update hecomi/kakunpc keymap (#6839) * update hecomi alpha/kakunpc keymap * remove unused define. commit 8c1b8cf3a39773e9b89158f4ff49effcabe729d8 Author: Jordan Egstad Date: Mon Sep 30 10:55:02 2019 -0700 [Keymap] Adds Egstad Preonic Profile (#6837) * setup local build config, created npm build script to speed things up * removed some profiles and gutted readme * began configuring default and lower layout * lower: fixed right arrow and added music toggle * began configuring default and lower layout * changed startup song * updated comment typos * I did that thing where i basically refactored everything :) * Converted 2U key to 1U's * Reorganized and tidied up * Reorganized and tidied up * space now changes layers * updated numbpad * updated readme * removed unwanted files * addressed change requests commit cffe671a61e8187b39a508556c7a5b5f04835d24 Author: Jonas Avellana <14019120+ninjonas@users.noreply.github.com> Date: Mon Sep 30 11:50:27 2019 -0600 [Keymap] Updating crkbd RGB keymap implementation & ninjonas userspace updates (#6834) * [keymap] Updating crkbd RGB implementation & ninjonas userspace updates * [chore] adding process_record_oled method to process_records.h commit f418efcaf5d681e87bd23b4d28621b87ff61fcb9 Author: Homerow Co <30292003+homerow-co@users.noreply.github.com> Date: Mon Sep 30 03:49:59 2019 +0200 [Keymap] correct keebs keymap for wonderland (#6838) commit 714cf021a420d3b3927fcd2961646d189997ddce Author: fougner Date: Mon Sep 30 00:33:48 2019 +0200 [Keyboard] support tkl_iso community layout (#6778) * support tkl_iso community layout * fix comments from review * fix review comments * LAYOUT is an alias for LAYOUT_all * add keymap default_iso * revert changes to default keymap commit 5d41db6308a3b9a44376a288072db5c0359b46d9 Author: Homerow Co <30292003+homerow-co@users.noreply.github.com> Date: Sun Sep 29 04:10:02 2019 +0200 correct default keymap for wonderland (#6835) tested commit 20a16d29fe50f30b8309e68790c628832dc4906c Author: kakunpc <15257475+kakunpc@users.noreply.github.com> Date: Sun Sep 29 03:59:33 2019 +0900 [Keyboard] update angel17 (#6831) commit 17794e0b2502371eaf155328d4e4195aef703163 Author: Joel Challis Date: Fri Sep 27 21:33:55 2019 +0100 ARM split - Add support for dfu-util EE_HANDS flashing (#6543) * Initial stab at some fake dfu-util-split-left behaviour * Apply suggestions from code review Co-Authored-By: fauxpark * Clang format fixes * Fake eeprom init for both left and right hand commit 92cb0b6f2f9487aff42ad1de5d4a9b81e24e836c Author: Flutterlice Date: Fri Sep 27 18:58:05 2019 +0500 [Keymap] Personal xd75 keymap "Odyssey" (#6830) commit 9496d11b06c384322c6b39699cad8acd5d91f047 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Fri Sep 27 06:56:28 2019 -0700 [Keyboard] cKeys theDora: Configurator fix (#6828) Make the layout actually match the orientation. commit 0f7be8b458f29737c01cb3fdc91be0f68d962565 Author: Yan-Fa Li Date: Thu Sep 26 10:12:49 2019 -0700 [Keymap] Use 75_ansi and community layout for xd84 (#6821) * Use 75_ansi and community layout for xd84 - work around flash issues by disabling most of the animations * Remove rules.mk commit 178ceba73508b8a1fe2a38e89d4e4710e284f23b Author: Zachary J. Slater Date: Thu Sep 26 04:37:26 2019 -1000 Minor link fix in Clueboard README (#6823) Small change to fix the README link to go to the actual 66_hotswap instead of just the 66%. commit d143ddc06265652b2e9eb01e454ead135169712d Author: Yan-Fa Li Date: Wed Sep 25 21:35:54 2019 -0700 [Keymap] Port personal keymap to 60_tsangan_hhkb (#6820) * Port personal keymap to 60_tsangan_hhkb - add 60_tsangan_hhkb layout to plain60 - Fix bug in split rs in plain60 - use community and user based layout for 60_tsangan_hhkb - set up audio for plain60 only * Add LAYOUT_60_ansi_split_bs_rshift commit b3d41d9d6dd2af73e526c3c83ad9b623c97bfc38 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed Sep 25 21:34:37 2019 -0700 [Keyboard] Reviung39: Configurator layout support (#6819) commit e6d8a6111b9397c55f37cbbe50c12eea7712f7fc Author: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Thu Sep 26 06:34:01 2019 +0200 [Keyboard] Added QMK-DFU config to Vitamins Included rev2 (#6818) commit 297a7fe0d1a62ff2623ea432e33106f5a57788a5 Author: Jeong Arm Date: Thu Sep 26 13:32:14 2019 +0900 [Keymap] Add preonic/kjwon15 layout (#6812) * Add my custom keymap * Remove del key on left, Add pscr * Move Audio MOD key to pass ctrl * Change startup song * Enable clicky sound * Swap alt and gui * Fix semitones * Add mouse layer * Change startup song Additionally, fixup 5 halftones * Add ctrl key to ctrl+click * Move media keys to restore raise number keys * Move mouse key layer switch * Swap media keys as normal * Fix music map * Move mouse speed limit to correct position * Move prtscr * Align keycodes * Add ctrl/esc, swap smart space keys * Change colemak, dvorak into custom layout * Fix pure mode (left space) * Fix mouse mode interrupt * Add Middle mouse click * Add Lefthand mouse scroll * Temporarily disable mouse speed * Rename custom layout to kjwon15 * Change readme * Apply suggestions from code review Co-Authored-By: fauxpark * Apply suggestions from code review * Apply suggestions from code review Co-Authored-By: fauxpark * Update from default keymap's function commit ff854565ce012a325ad04b09a7bcb7c8bb9d43c5 Author: Jonas Avellana <14019120+ninjonas@users.noreply.github.com> Date: Wed Sep 25 22:28:06 2019 -0600 [Keymap] ninjonas keymap for crkbd & ninjonas userspace updates (#6797) * [keymap(crkbd)] introducing crkbd keymap on ninjonas profile * [keymap(crkbd)] introducing crkbd keymap on ninjonas profile * [refactor(crkbd)] reducing file size by selecting RGB animations * [refactor(crkbd)] added shiftit key * [refactor(crkbd)] added shiftit key * [chore(crkbd)] adding SLEEP_LED_ENABLE on rules.mk * [refactor(crkbd)] added keylog & removed static rainbow RGB * [feat(crkbd)] introduced em-dash '—' keymap * [feat(crkbd)] added screenshot functionality * [refactor(lily58,pinky3)] moving media keys * [refactor(lily58)] Added emdash key * [chore] removing NUMBERS & FUNCTIONS layers as they're useless * [chore] removing NUMBERS & FUNCTIONS layers as they're useless * [chore(crkbd,lily48)] Updating README.md * [feat] added K_LAPP & K_RAPP to mimic command + tab * [feat] added K_LAPP & K_RAPP to mimic command + tab * [fix(#6797)] resolving changes requested by @drashna * [fix(#6797)] first cut on using QMK OLED Driver * [fix(#6797)] cleaning up rules.mk * [fix(#6797)] making scrolling logo work * [fix(#6797)] Using OLED Driver for Lily58 * [fix(#6797)] Moved OLED driver implementation to ninjonas userspace * [fix(#6797)] Bringing back crkbd & lily58 logos * [fix(#6797)] Turning off OLED based off @drashna's workaround in #5982 * [fix(#6797)] whoops! forgot to checkin crkbd/config.h * [fix(#6797)] fixing issue with OLED randomly turning on * [fix(#6797)] using default glcdfont.c for lily58 & crkbd * [fix(#6797)] Using LINK_TIME_OPTIMIZATION_ENABLE rather than EXTRAFLAGS as per code review * [fix(#6797)] updating M_MALL macro as per code review by @fauxpark commit 2a948e77715f0bd11d4b80315cf84c68890014d4 Author: Cody Bender <50554676+cfbender@users.noreply.github.com> Date: Wed Sep 25 15:20:20 2019 -0600 [Keyboard] Add Crossed Keys/Keyhive Nightmare (#6796) * initial draft of nightmare files * fixed pins * fixed MT keycodes * updated READMEs * updated title in main readme * updated for split space * added OPT_TAB * fixed layer 1 keymap * Add DEL to keymap * Update Bootmagic pins * Update Keymap * Fix missing ) * Update Up arrow on keymap * Add hosted image for Nightmare render * Update info.json for Nightmare layout * Resolve suggestions from drashna * Add split space layout in nightmare.h and info.json commit 983c93fe81d6379b10867648617e1213a33d05fe Author: senseored <39708654+senseored@users.noreply.github.com> Date: Wed Sep 25 22:20:33 2019 +0200 [Keymap] Added two different Swedish layouts for the Niu Mini 40% and Preonic 50%. (#6793) * added preonic keymap senseored * added niu_mini/tobias * Changed readme's to explain that these are swedish layouts * Apply suggestions from code review Co-Authored-By: Drashna Jaelre * Update keyboards/niu_mini/keymaps/tobias/keymap.c Co-Authored-By: Drashna Jaelre * Made changes according to drashna's suggestions * Changed to tap_code(KC_NLCK) * Added #define RGBLIGHT_SLEEP * Added #define RGBLIGHT_SLEEP * Removed include config.h commit dccafb64e65bfe2516eba422609750e9c27775e7 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed Sep 25 13:17:29 2019 -0700 [Keyboard] Subatomic refactor (#3194) * Refactor: matrix * New readme file * Configurator support * change info.json to debug linting * use an enum to manage the layers * readme cleanup file header, docs links * use #pragma once in keyboard header file * use new-style OLKB layout macro naming scheme * fix layout macro references in keymap.c * correct Keyboard Maintainer commit 475f832b0f434615b9b32ca3f600c4b770d6e1e5 Author: Amber Holly Date: Wed Sep 25 21:06:57 2019 +0100 [Keyboard] Add Efreet keyboard (#6811) * start wraith firmware * completed initial setup * added amber keymap to wraith * fixed LEDs, wrote readme files * reverted bootloader type after troubleshooting * decapitalised files and directory as per qmk standards * Update Wraith keyboard folder - Add timer keymap with documentation - Remove boilerplate in rules.mk, ready for pull request - Update info.json with ISO and ANSI layouts, ready for QMK Configurator * Add Efreet keyboard * Remove unnecessary keyboard folders * Enable community layout support for Efreet - Rename LAYOUT macro to LAYOUT_ortho_4x12 - Add layout macro named LAYOUT_planck_mit - Remove unnecessary magic key command, as we are using the default - Fix readme.md formatting for GitHub * Fix community layout support for Efreet - Fix 2u spacebar keycodes in LAYOUT_planck_mit to denote absence of switch - Turn on Community Layouts in rules.mk * Update default keymap.c to use community layout commit a76a79b8275740e218a31e1e45ec22bfeb80d3ba Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed Sep 25 13:00:27 2019 -0700 [Keyboard] Rabbit68: Configurator layout support (#6809) commit f8e4f7ea80a1e94a6e205f9bc790fc2f3a4a2ce3 Author: Manassarn "Noom" Manoonchai Date: Thu Sep 26 02:57:49 2019 +0700 [Keymap] Add Z-layer to narze layouts (#6806) * Revert raise/backspace mod tap to just backspace * Add Dev layer * Use Dev layer on holding z key * Add Dev layer for Ergodox commit 0850a8cb634febb92314af5a65a11e58b123e86f Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Sep 25 12:55:27 2019 -0700 65 ansi blocker everywhere (everywhere I can find) (#6805) * e6.5 actually already had a 65_ansi_blocker LAYOUT macro, so just had to enable in rules. * Add the 65_ansi_blocker LAYOUT macro and enable in rules.mk * rename LAYOUT macro in .h and in the keymap.c as it was only a default keymap. Also enable in rules.mk * rename but also had to define the existing LAYOUT macro as the new one to prevent breakage of existing keymaps * add 65_ansi_blocker support for vinta * forgot to update the info.json on these * add new default layout 65_ansi_blocker support to alt * add 65_ansi_blocker support * undo changes commit c61d7d7cb001498e6edf09a9ebc6124c1fe6ed97 Author: Yaotian Feng Date: Wed Sep 25 14:52:17 2019 -0400 [Keyboard] Added support for ErgoDox with STM32 Microcontroller (#5398) * Began Work On STM32 Ergodox Changes to be committed: new file: keyboards/ergodox_stm32/config.h new file: keyboards/ergodox_stm32/rules.mk * test * Now it compile. Not linking thou * Screw this Linker. It links now! * Blinkly Keyboard * bootloader test code * Working on matrix / i2c stuff * Progress (LED Blink) * Progress on MCP_23017 Status Flag * [WIP] * update * Works! Remeber to change back the bootloader address when the new bootloadrer is ready. * Time to go debug the i2c * Finally, it now works with PCB Rev 1.0.2 * updated for rev.2 pcb * minor compilation fix * Why when debugger is enabled then everything works. * Remeber to call init functions. * Update arm i2c driver to support STM32F103 series device. * fix include once header. Replaced with #pragma once. * complication test commit eac4ce972d951855ee168705b46bc9421a4d4deb Author: ishtob Date: Wed Sep 25 13:05:48 2019 -0400 [Keymap] update personal keymap (#6817) commit 00abe5d8edf801cad351bf428a24532ed80f652c Author: Daniel Shields Date: Wed Sep 25 17:21:07 2019 +0100 [Keymap] Various enhancements for dshields user space and keymaps. (#6816) - Add oneshot mod/layer unlocking - Fix Planck rev 3 backlight breathing - Fix Planck rev 6 build with arm gcc 9.2.0 - General code clean up commit 0f9e2659c96370377e36ddab0508498e151bfc62 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Sep 25 09:18:09 2019 -0700 [Keyboard] Add additional LAYOUT macros to Noxary 260 (#6815) * add default LAYOUT_60_ansi * add LAYOUT_60_hhkb support * add tsangan_hhkb support * add ISO support and rename LAYOUT to LAYOUT_all * formatting * add community layouts support * remove unneeded code * missed a LAYOUT rename * add link time optimization to reduce firmware size for some people's keymaps commit acec007dfad0bfc0334a5cff2207f90ddd9b0089 Author: Brad Date: Wed Sep 25 04:01:58 2019 -0500 [Keymap] add keymap broswen for kbd75 (#6814) commit 6c37798aaca1b950426b7053c79f76c7b435a762 Author: Sid Carter Date: Wed Sep 25 04:54:32 2019 -0400 [Keymap] New keymap for the DZ65RGB (#6792) * new keymap for my chocolate tofu65 with dz65rgb * consistent with a tada68 layout * remove extra layer, add swap keycodes and mouse keycodes * fix the tabs and spaces * fix the left shift commit df9388fb8acb4fe762befc87bebe6d95efbddcab Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Tue Sep 24 11:36:23 2019 -0700 Bathroom Epiphanies Pegasus Hoof: add LAYOUT_tkl_jis data to QMK Configurator (#6802) * Bathroom Epiphanies Pegasus Hoof: add LAYOUT_tkl_jis data * use normal English labels commit 460da06ce4039019765586e7d980e47d18719f30 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Sep 24 11:26:17 2019 -0700 [Keyboard] KBD67 Mk.II RGB info.json missing a column (#6807) * looks like configurator layout was missing a column * add a key count commit 494fc518129725b0cc9d62d4d23877ae0ed2e6e7 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Tue Sep 24 11:01:40 2019 -0700 Merlin's Community Layout Updates (#6798) * readme updates for 60_ansi and split variations * add new community layout for mechmerlin for the new default layout 65_ansi_blocker * change path now that kbd67 has been updated * fix up spacing commit ad8dbd5ca5390ad9e441943b705684fce521bc15 Author: Joel Challis Date: Tue Sep 24 15:24:12 2019 +0100 ARM split - Add bootmagic/magic keycodes for setting handedness (#6545) * Add docs on bootmagic/magic keycodes for setting handedness * Clang format fixes * Maintain backwards compatibility * Maintain backwards compatibility commit 237147ca236b0e942fc14e73010479a2785bf764 Author: fauxpark Date: Tue Sep 24 17:59:17 2019 +1000 Cleanup rules.mk for 32U4 keyboards, 0-9 (#6789) commit 37b6a2abbd96eaf3d6d724ac09c789d54a67d962 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Mon Sep 23 23:34:59 2019 -0700 Refactor the KBD67 Mk.II RGB (#6799) * move kbd67mkiirgb into kbd67 directory as mkiirgb * rename files * rename LAYOUT to LAYOUT_65_ansi_blocker * add support for default layout * update readme for new build target * update parent readme with the fourth variant commit efb7f3cc3a5844a8da40ce78c64f7da88e39766c Author: QMK Bot Date: Tue Sep 24 01:18:18 2019 +0000 format code according to conventions [skip ci] commit 61b5d0e0c5921d9c3ee1cbbc1f80a9b3dcc6b880 Author: mikethetiger <30720424+mikethetiger@users.noreply.github.com> Date: Mon Sep 23 20:14:55 2019 -0500 [Keymap] mikethetiger's milk keymap (#6611) * Added my Preonic keymap * Update keyboards/preonic/keymaps/mikethetiger/keymap.c Co-Authored-By: mikethetiger <30720424+mikethetiger@users.noreply.github.com> * Update keyboards/preonic/keymaps/mikethetiger/keymap.c Co-Authored-By: mikethetiger <30720424+mikethetiger@users.noreply.github.com> * Added my Preonic keymap * Added my Preonic keymap * mikethetigers lets slpit eh keymap * mikethetiger's milk keymap * Update rules.mk * Update keyboards/thevankeyboards/minivan/keymaps/mikethetiger/keymap.c Co-Authored-By: fauxpark * Update rules.mk Better? commit 8eb0aefb60aef8d5a88b8b7789c094be7ec194ee Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Mon Sep 23 15:56:24 2019 -0700 [Keyboard] 65_ansi_blocker support for Doro67 (#6791) * rename LAYOUT to LAYOUT_65_blocker_ansi * rename LAYOUT macro * enable LAYOUT_65_blocker_ansi community layout support and remove uneeded lines of code * rename LAYOUT to LAYOUT_65_blocker_ansi * rename LAYOUT macro * enable LAYOUT_65_blocker_ansi community layout support * enable LAYOUT_65_blocker_ansi support * fix rename mess up * add QMK Configurator support with the new rename * rename blocker_ansi to ansi_blocker as it rolls off the tongue easier commit ced8c554e6360badafe3882b69451a33015c265c Author: Callum Hart Date: Mon Sep 23 23:49:55 2019 +0100 [Keyboard] Fix pinout on the copenhagen clickpad (#6788) commit e41feddf57412f1b228c23b1866718cb9c8cd83b Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sun Sep 22 13:50:18 2019 -0700 New Default Layout: 65_blocker_ansi (#6782) * initial commit * rename 65_ansi to 65_blocker_ansi * remove one key to account for blocker commit d569f0877155efc752994f8a21f5cf001f9d6ae6 Author: skullydazed Date: Sun Sep 22 13:25:33 2019 -0700 Configuration system for CLI (#6708) * Rework how bin/qmk handles subcommands * qmk config wip * Code to show all configs * Fully working `qmk config` command * Mark some CLI arguments so they don't pollute the config file * Fleshed out config support, nicer subcommand support * sync with installable cli * pyformat * Add a test for subcommand_modules * Documentation for the `qmk config` command * split config_token on space so qmk config is more predictable * Rework how subcommands are imported * Document `arg_only` * Document deleting from CLI * Document how multiple operations work * Add cli config to the doc index * Add tests for the cli commands * Make running the tests more reliable * Be more selective about building all default keymaps * Update new-keymap to fit the new subcommand style * Add documentation about writing CLI scripts * Document new-keyboard * Update docs/cli_configuration.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/cli_development.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Address yan's comments. * Apply suggestions from code review suggestions from @noahfrederick Co-Authored-By: Noah Frederick * Apply suggestions from code review Co-Authored-By: Noah Frederick * Remove pip3 from the test runner commit 2f49cae9bcbdd94431659727ef75cfd30f557da8 Author: XScorpion2 Date: Sun Sep 22 09:52:33 2019 -0500 Fixing wrapping math logic for timer_expired functions (#6746) commit 29d7f9b1632fb15a7849762aa27b7f81af29c2b2 Author: Burak Can Date: Sun Sep 22 14:32:52 2019 +0300 Correct casing for DS_Store in .gitignore (#6787) commit e05b32d8941c90f5af8da85f29190c45e917bbd3 Author: Francis St-Amour Date: Sat Sep 21 14:59:18 2019 -0400 add python3 to shell.nix (#6774) commit 0e96068d2352a1895ee1426b90bd54e4e055a672 Author: skullydazed Date: Sat Sep 21 11:58:06 2019 -0700 Update the breaking changes process so we always have a future branch (#6785) commit 42bf60751e1b1b65083e89b8b248ff282b3d5213 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Sat Sep 21 11:32:08 2019 -0700 [Keyboard] fix OLKB layout macro aliases (#6761) commit fd19795879a92287faa93eb3900ce8d10f89ace3 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Sep 21 11:27:53 2019 -0700 [Keyboard] Move more percent boards into the percent directory (#6781) * move canoe into percent directory * update readme for new make path * move skog into percent directory * update readme for new path and new instructions * update readme * fix error in naming commit f069e9fc09859baf03d940b6db47e95c50a24936 Author: Drashna Jaelre Date: Sat Sep 21 11:22:27 2019 -0700 Generalize Tap Dance Layer functions (#6629) * made tapdance dual_role general * updated original dual_role functionality * added toggling layer example * Fix dual role and add alias * Update docs about new layer tap dances * Fix up based on feedback commit 63a0b1241d204873cd5156a959e913c602b0c386 Author: Daniel Shields Date: Sat Sep 21 19:04:27 2019 +0100 [Keymap] Move common code and configuration to userspace for dshields keymaps. (#6537) commit 75c97477874b9354a90b8b4eca2d3b1ecfc15435 Author: Benjamin Date: Sat Sep 21 10:13:44 2019 -0700 [Keymap] Bonta keymap for massdrop/ALT (#6391) * Added new bonta keymap. * Added a note. * Made map more mac like. commit 2df3799e3d3fe60ff6ed6159cd935d4356be70c3 Author: fauxpark Date: Sat Sep 21 17:00:58 2019 +1000 Add list-keymaps make target (#5563) commit ea96c4b787f07d64a497700e07c2a842324fe4f5 Author: jlquinn Date: Sat Sep 21 02:59:16 2019 -0400 [Keyboard] Update Stapelberg readme.md (#5557) Previously suggested parts are hard to find or non-existent. Update with available part numbers. commit 7f65323e101a911fb64abc49ff3c81f8ed7656a7 Author: Sorixelle <38685302+Sorixelle@users.noreply.github.com> Date: Sat Sep 21 16:55:51 2019 +1000 Add support for Void Linux systems to the qmk_install.sh script (#5526) * Add support for Void Linux systems to the qmk_install.sh script * Fix typos + grammatical edits in comments * Sort distributions by alphabetical order in linux_install.sh * Revert previous commit and sort Void packages in alphabetical order * Fix permissions on `util/linux_install.sh` commit 3642a82d37e8c4fb34b9ee60606ab831d642c9ec Author: fauxpark Date: Sat Sep 21 15:11:15 2019 +1000 Add support for 328P hardware backlight on B1/B2 (#6776) commit c7d0262be7f3bc2c709fd45bd41327433285a11e Author: coseyfannitutti <43188488+coseyfannitutti@users.noreply.github.com> Date: Sat Sep 21 01:07:21 2019 -0400 [Keyboard] Add Discipad, Update Zadig doc for USBaspLoader (#6771) * add discipad * Update driver_installation_zadig.md * Update keyboards/coseyfannitutti/discipad/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/coseyfannitutti/discipad/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update rules.mk * Update keyboards/coseyfannitutti/discipad/rules.mk Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update docs/driver_installation_zadig.md Co-Authored-By: fauxpark * Update keyboards/coseyfannitutti/discipad/discipad.c Co-Authored-By: fauxpark * Update docs/driver_installation_zadig.md Co-Authored-By: fauxpark * Update docs/driver_installation_zadig.md Co-Authored-By: fauxpark * Update rules.mk * Update discipad.c * Update driver_installation_zadig.md * Update config.h commit de4a47f1cc28c4ef66e7560eac2a50f717070ae2 Author: fauxpark Date: Sat Sep 21 15:06:32 2019 +1000 Cleanup rules.mk for 32A and 328P keyboards (#6767) commit beb4a12c9d06d30cc0f544ca52e618898fbb5302 Author: Konstantin Đorđević Date: Fri Sep 20 02:29:23 2019 +0200 Add reset instructions for boards that use Command to the Zadig driver installation guide (#6770) * Add reset instructions for boards that use Command to the Zadig driver installation guide * -> → → * Apply suggestions from code review Replace shorthand keycode names with full names Co-Authored-By: fauxpark commit 59000f491f83432b320a810630126c0af5baa1d5 Author: Brian Lou Date: Thu Sep 19 19:38:42 2019 -0400 [Keymap] Added my personal keymaps for dz60 and TMO50. (#6772) * Added ottodokto keymaps for dz60 and tmo50. * moved placement of keymaps to proper directory * fixed accidental deletion of semicolon for tmo50 map * fix to use short form codes Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit 44c5be0a3e56c814120ea4e622907b2f0ba92c9a Author: fauxpark Date: Fri Sep 20 02:55:14 2019 +1000 Cleanup rules.mk for 16U2 and 32U2 keyboards (#6768) * Cleanup rules.mk for 16U2 and 32U2 keyboards * Add back Tap Dance build option commit f34299efd7c5be439b0991d46c26de6c8709a2d9 Author: fauxpark Date: Fri Sep 20 02:55:03 2019 +1000 Cleanup rules.mk for USB64 and USB128 keyboards (#6769) commit 911b8915cc89c040db3c6075a1a547003b0ab37f Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu Sep 19 09:42:33 2019 -0700 DRV2605L Continuous Haptic Feedback Support (#6461) * provide means to turn on RTP mode and set the amplitude * new keycode HPT_CONT to turn RTP off/on * introduce new keycodes HPT_CONI, and HPT_COND for Haptic Continuous Increase and Decrease * support for continuous mode amplitude increase and decrease * code cleanup * update docs to reference new keycodes and functionality * don't touch the keymaps * add function prototypes * add proper guards * cleanup guards * remove extra reserved commit 7a5a2591ebc797d9670366a45396afed48c5fc6f Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Wed Sep 18 18:42:53 2019 -0700 [Keyboard] 1up60hte cleanup + bugfix (#6763) * move caps lock led to keyboard level so even QMK Configurator users have access to it * set bootloader correctly to atmel-dfu * clean up extra carriage return commit 7142b604058483a99a5fd476d5c95aa6ac52a1f8 Author: Alex Mayer Date: Wed Sep 18 21:38:56 2019 -0400 [Keymap] Update Planck Layer Diagram To Match Layer (#6712) commit 095b88bca528a827029c92b2e4053061223f4f9d Author: XScorpion2 Date: Wed Sep 18 20:32:38 2019 -0500 Smoother Linear Light Table (#6764) commit 46c49ae4e639509ceb6e81c460855d2eb89086b8 Author: XScorpion2 Date: Wed Sep 18 19:56:11 2019 -0500 Updated split encoders so indexes are based on left hand encoders first (#6382) * Updated encoder.c so that split encoders are indexed based on left hand encoders first. This ensures when swapping master sides that code logic based on encoder index doesn't change. PR Review fixes * Removed extra define commit e5aa28455ec6c377cc9117b07dfa7d3951e6d610 Author: Andrew Kannan Date: Wed Sep 18 20:41:46 2019 -0400 [Keyboard] 201909 s75 custom encoder (#6745) * Handle custom encoder configuration * Whitespace changes * Undo broken stuff * more * Remove printfs * fix the dumb bug commit 6f5f943bb91185e9dacc499fcc97550348223e90 Author: Adrien Tétar <1250894+adrientetar@users.noreply.github.com> Date: Wed Sep 18 20:14:49 2019 +0200 [Keyboard] Introduce AT-AT 660M (#6729) * Introduce AT-AT 660M * PR feedback Co-Authored-By: fauxpark * Add dfu-util args * Add URL commit 7d8dea30a460da2c3e163713252e53c43211c123 Author: vuhopkep Date: Wed Sep 18 13:36:05 2019 +0700 [Keyboard] add personal fullsize pcb hnah108 (#6759) * add personal fullsize pcb hnah108 * Update keymap.c commit 37c29961379f39dd60f173b4b82df41a4f80b078 Author: Drashna Jaelre Date: Tue Sep 17 16:50:04 2019 -0700 [Keyboard] Fix compile issues for OLKB Default keymaps (#6751) commit 54503168c93b6322975e3144c929cffe6c74d36c Author: fauxpark Date: Wed Sep 18 09:48:58 2019 +1000 Update bootloader.mk (#6698) commit 23186d32a36e5ca114e71fc2807c5e4a133edfa7 Author: fougner Date: Tue Sep 17 19:37:01 2019 +0200 [Keyboard] xd87: add capslock led support (#6758) commit 12cdcd5e104353d757def68d8b51e6a15760eaa8 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Tue Sep 17 10:36:18 2019 -0700 [Keyboard] Freyr: Configurator bugfixes (#6756) - rebuild LAYOUT_all tree (key count mismatch) - correct keyboard dimensions and key positioning - complete key object labels - debug linting (one key object per line; changes white space only) commit 86d59f1034785b9cd8cc2bfcce7016cd97d041e9 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Tue Sep 17 10:34:52 2019 -0700 [Keyboard] KBD75 refactor (#6755) * convert codebase to #pragma once * fix file includes - quantum.h is included at keyboard level, redundant at revision level - keyboard-level path is accessible at revision level, remove relative pathing * duplicate common layout macros from rev1 to rev2 Add the layout macros supported by both rev1 and rev2 to rev2.h directly, which exposes these layouts to QMK Configurator. * enable community layout support (75_ansi, 75_iso) * add LAYOUT_75_iso layout data It needs its own tree because its keys are in a different order from LAYOUT_iso_1u even though the physical layout is the same. * minimize rules.mk files (use QMK defaults) * use atmel-dfu bootloader rule * fix typo on rev1 info.json commit c427023b31f544771391b4cd22d797ee14cadac3 Author: XScorpion2 Date: Tue Sep 17 12:28:02 2019 -0500 [Keymap][Xulkal] User code update (#6752) * Updating rgb menu behavior * Fixing toggle keycode to work how I want it * Enabling auto scroll timeout commit 2493eecc7b318193263dc410fae9a010a6dde574 Author: Jason Thigpen Date: Tue Sep 17 10:27:07 2019 -0700 [Keymap] Fix e65 7u WK layout and add crd's personal keymap (#6750) * Add e65 keymap for crd * Fix e65 7u wk layout commit bb3569dce39ef43b78d3da06d832311d16cbbe5f Author: Drew Smathers Date: Tue Sep 17 10:24:15 2019 -0700 [Keymap] idobo/drewdobo keymap v1 (#6744) commit b364a40e60ae13c17cfaa49172e187ff7a25d5e7 Author: vuhopkep Date: Wed Sep 18 00:23:13 2019 +0700 [Keyboard] Correct info.json data for vn66 (#6741) * Correct info.json data for vn66 * update .json file data * Update info.json commit d137fdea780a37395f397f9641fc7ebd2c7f27a0 Author: Ethan Durrant <5387347+emdarcher@users.noreply.github.com> Date: Tue Sep 17 11:19:16 2019 -0600 [Keyboard] Adding YMDK "Bface" keyboard (#6731) * making a new board setup for ymdk bface clone * removing extra keymaps that copied over * documentation and edits for new ymdk_bface board * cleaning up config and keymaps * removed extra keymap and working on READMEs * readme edits * shorter aliexpress link in ymdk_bface readme * added images to readmes and edited the keymaps * more flashing directions * Mac directions formatting * editing and creating the all layout * cleanign up ymdk_bface keymaps * fixed typos in layout * removed tabs * cleaned up the LED and Backlight configuration. * adding more to info.josn and cleaning up readme * fixing JSON typos * made a ymdk folder and moved the bface into it. * fixing file names for the new folder structure commit ab48ffd5c5923b822e789bb3b18d8a16654da91a Author: Noan Mousy <4sstylz@protonmail.ch> Date: Tue Sep 17 19:17:03 2019 +0200 [Keyboard] Adding AEK64 keyboard (#6725) * Adding AEK64 keyboard * Deleting useless layout definition * Resolving many code review issues * Documenting my 4sStylZ keymap * Adding default keymap * Apply suggestions from code review Code review corrections Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Co-Authored-By: fauxpark * Update keyboards/handwired/aek64/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Correcting the NKRO implementation commit 32b2486c6b894894d0782eb46cc2d97542c92ea2 Author: IanGC Date: Tue Sep 17 13:15:07 2019 -0400 [Keymap] Plaid Keymap for Programmers (#6706) * map programmer qwerty * clarify and fix typo * finishing touches * use qmk s templates for readme * update copyright notice * remove unnecessary code Co-Authored-By: Drashna Jaelre * remove unnecessary code Co-Authored-By: Drashna Jaelre * Update keyboards/plaid/keymaps/thehalfdeafchef/keymap.c Co-Authored-By: Drashna Jaelre * fix documentation * reformat code * Apply suggestions from code review Co-Authored-By: Drashna Jaelre commit 55432d0d91d68150de249d540c06f38239f175b4 Author: Wilba Date: Wed Sep 18 02:59:34 2019 +1000 [Keyboard] Fixed EEPROM start address for firmware using VIA (#6757) commit 59af2cbe640191345175bf34fd65f78ab1036647 Author: Andrew Kannan Date: Mon Sep 16 22:37:51 2019 -0400 Add Chimera65 Keyboard (#6670) * Add chimera board * info json start * Update keyboards/cannonkeys/chimera65/config.h Co-Authored-By: Drashna Jaelre * Apply suggestions from code review Co-Authored-By: Drashna Jaelre Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/cannonkeys/chimera65/config.h Co-Authored-By: Drashna Jaelre commit 7c1bb9decf00a19cdf85ab33830dcc9002bfc671 Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Mon Sep 16 08:20:44 2019 -0700 Percent Studio Booster: Configurator fix (#6743) commit 140c08e521084410ccb239848a3253b13c12683d Author: Xerpocalypse <31947786+Xerpocalypse@users.noreply.github.com> Date: Sun Sep 15 21:32:34 2019 -0700 [Keymap] Added Xerpocalypse's layout (#6732) * Added Xerpocalypse's layout + Number row and symbols are switched compared to default TMO50 layout + Right-hand spacebar acts as backspace and a hold-layer for layer 2. * Update keyboards/tmo50/keymaps/xerpocalypse/keymap.c Removed unnecessary #define Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/tmo50/keymaps/xerpocalypse/keymap.c Changed keymap to use KC_UNDS instead of custom-defined keycode Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> commit a9c1a5a87348f7079c073241f5333ed4051fbde6 Author: Michael Torres Date: Mon Sep 16 00:13:44 2019 -0400 remove accidental characters in default preonic keymap (#6748) commit 3b4b54f6ed0361e41bd1fb9463539e7b871e6b68 Author: xster Date: Sun Sep 15 02:22:02 2019 -0700 Clarify the backlight_level API doc slightly (#6733) * Clarify the backlight_level API doc slightly * review commit 9c280089aaeb15d99773145bf05b7a1cee7a3ec2 Author: vuhopkep Date: Sun Sep 15 16:13:19 2019 +0700 add VN66 keyboard (#6722) * add VN66 keyboard * update * Update readme.md * Update readme.md * add hnah108 personal pcb * delete hnah108 * Update vn66.c commit 38a0a6a092aaef1c01b700a5109de98e50058bcb Author: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Sat Sep 14 20:16:26 2019 -0700 [Keyboard] TheVanKeyboards Caravan: Configurator layout support (#6737) commit 8294a0de2c573a6b4ea536a9be11fd78e486ff5a Author: GreenShadowMaker <39226745+GreenShadowMaker@users.noreply.github.com> Date: Sat Sep 14 20:15:56 2019 -0700 [Keymap] style cleanup of GreenShadowMaker's keymap (#6736) commit 65c4b6cff19814a3f7ebdfbbaa86485becf79658 Author: xster Date: Sat Sep 14 20:14:16 2019 -0700 [Keymap] Yet another xd75 keymap (#6734) * add a keymap for xd75 * add colors, change some keys, add reactive modifier hold, key press * add readme * permissive hold commit 9508b3f333dbd56ca5a91044874daa47f7be1902 Author: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Sat Sep 14 20:03:11 2019 -0700 [Keyboard] Alps64 Refactor (#6723) * get rid of custom matrix that is no longer being used * remove _kc LAYOUT * remove ifdefs and replace with pragma once * cleanup rules and use bootmagic lite * get rid of led.c * Update keyboards/alps64/alps64.c Co-Authored-By: Drashna Jaelre * remove unneeded configurations commit 6c871408dfe971dce72910a0868b564eb8e76e27 Author: Drashna Jaelre Date: Sat Sep 14 19:59:44 2019 -0700 [Keyboard] Fix default keymaps for OLKB boards to play Startup Sound (#6721) * Fix Planck default keymap to play sounds on rev6 The dip_switch_update callback was overriding the default startup sound. This should prevent that from happening, and still allow it to play sounds, or stop them, when appropriate. * Fix Preonic default keymap to play sounds on Rev 3 The dip_switch_update callback was overriding the default startup sound. This should prevent that from happening, and still allow it to play sounds, or stop them, when appropriate. commit 265d8abee16ef73bcaf8cdc70a8e0532fbfb0fda Author: Drashna Jaelre Date: Sat Sep 14 19:57:07 2019 -0700 Fix enables for Haptic Feedback (#6707) * Fix enables for Haptic Feedback If you enabled bothe DRV2605 and SOLENOID, it would only enable one of these, not both. This fixes the check so that you can enable both options. * Fix check for haptic feature commit d13e0b5cfc354c60da32d1c22c6930c75945937f Author: Fedde Schaeffer Date: Sun Sep 15 04:55:23 2019 +0200 [Keymap] Fix Georgi's RZ key in NKRO fake-steno mode (#6701) It was sending a comma keypress, while I believe that the targeted stenography software (at least on systems that generally use US-International keyboard layout) expects a single-quote/apostrophe key. commit a4581e6620677e16e506e459de5a53407be4a04f Author: m47ch4n Date: Sun Sep 15 11:53:52 2019 +0900 [Keymap] Added m47ch4n keymap (#6673) * Add m47ch4n's keymap * Modify keymap * Format m47ch4n keymap.c using clang-format * Modify layer updater * Fix wrong key repeating bug * Add readme and QMK Configurator json * Fix layer updateter * Add Raise layer * Add kana keys commit 0cbe1eb433726f32885433835cd633c65199393a Author: J.Flanagan Date: Sat Sep 14 16:03:14 2019 -0500 [Keyboard] Add 2key2crawl (#6727) * adding working 2key2crawl Adding working 2key2crawl files edited files in accordance with original PR comments * Changes Changes and updates * Update readme.md * Update config.h removed IS_COMMAND block that was missed in previous commit * Changes to vol/keymap.c Removed unneccesary function commit 71493b2f9bbd5f3d18373c518fa14ccafcbf48fc Merge: 86ad4988fe da1f05fbc1 Author: William Chang Date: Sat Jul 13 10:18:33 2019 -0700 Merge branch 'master' of https://github.com/qmk/qmk_firmware commit 86ad4988fe7ff64916127509d84f44c56fa097aa Merge: 10975bd4c0 8d8f2d09cc Author: William Chang Date: Fri May 10 16:45:29 2019 -0700 Merge branch 'master' of https://github.com/billiams/qmk_firmware commit 10975bd4c08a598eed2c74dab0d3187fbbf4b8f5 Merge: 9ce186860e febaf9dec4 Author: William Chang Date: Fri May 10 16:44:13 2019 -0700 fixed conflict in readme commit 8d8f2d09cc228a459be8348c5ce61327e9862be8 Merge: 9ce186860e 7b0200660e Author: William Chang Date: Thu May 9 21:18:39 2019 -0700 Merge pull request #2 from billiams/feature/billiams Updated readme commit 9ce186860e78d5afe350636cb7445e18c2577f33 Merge: 57a6ea11df 4b2d3288d0 Author: William Chang Date: Thu May 9 21:16:15 2019 -0700 Merge branch 'qmk-master' commit 4b2d3288d013b1a71ea25402224c4a8225a099e9 Merge: 57a6ea11df bce391a663 Author: William Chang Date: Thu May 9 21:16:06 2019 -0700 resolved conflicts commit 7b0200660ee23b4bec278747ec010d16575bce42 Author: William Chang Date: Thu May 9 20:59:11 2019 -0700 Updated readme commit 57a6ea11df685d84a1ea07953e88f224ce2b24f7 Author: William Chang Date: Thu Apr 25 10:38:18 2019 -0700 updated R_Alt to remove shift commit 89e8e0d2774064362fa5e73d19df3b1e760d7016 Author: William Chang Date: Thu Apr 25 10:27:04 2019 -0700 updated right alt key to apply shift key for emacs commit d7c5cf6e5bfe0be17173f42aabdd981036c4c940 Merge: a41e6804fc da1dc28d31 Author: William Chang Date: Mon Apr 22 14:56:41 2019 -0700 Merge branch 'master' of https://github.com/billiams/qmk_firmware commit a41e6804fcf97ac85a1b21c923df12a2fcaf9f7a Author: William Chang Date: Mon Apr 22 14:56:30 2019 -0700 swapped media control keys commit da1dc28d31f1d48d558ad88bd2b5b5cdd4fa15cb Author: William Chang Date: Sat Apr 20 17:06:32 2019 -0700 Rename README.md to readme.md commit b42ca9bc5fd13b2d5d3cefa8f329d78611bea53f Merge: 42cb78f98e dc3a8ddb6b Author: William Chang Date: Sat Apr 20 17:03:57 2019 -0700 Merge branch 'master' of https://github.com/billiams/qmk_firmware commit 42cb78f98eb3ab0e4de638ec8e0db99fcab8d4a4 Author: William Chang Date: Sat Apr 20 17:01:18 2019 -0700 Made requested changes in PR. commit dc3a8ddb6be228d5385b1d10982715c6072d740b Author: William Chang Date: Sat Apr 20 13:59:07 2019 -0700 Update README.md commit 472060d3338b509f82fc4c1cfaa6c0483109dfed Author: William Chang Date: Sat Apr 20 13:11:16 2019 -0700 Update README.md commit 5b80e10b8239b038719355441989ef392572cdd6 Author: William Chang Date: Sat Apr 20 13:07:59 2019 -0700 Update README.md commit 7f8b0906c60e3d659089bfe7ab4ea7dfa65eb9a4 Author: William Chang Date: Sat Apr 20 13:06:40 2019 -0700 Update README.md commit fa73d43818e3e2a7dcd4b0982ca1e7a33b25c499 Author: William Chang Date: Sat Apr 20 13:05:34 2019 -0700 Update README.md commit 5a86db22592cc23d42803e08fc83e0e22f100cc8 Author: William Chang Date: Sat Apr 20 13:04:48 2019 -0700 Update README.md commit a5337b349552da25009f05fff127cd2228329912 Author: William Chang Date: Sat Apr 20 12:43:05 2019 -0700 fixed numbering in readme commit cd379c69a03d339e1eb87646824c2b49cb4db982 Author: William Chang Date: Sat Apr 20 12:41:28 2019 -0700 Modified keymap and updated readme. commit 156fd4e9693e05fb12933bddb49e1a387fa1fab3 Author: William Chang Date: Sat Apr 20 12:09:47 2019 -0700 Initial commit --- .gitattributes | 1 + .github/workflows/api.yml | 3 +- .github/workflows/cli.yml | 6 +- .github/workflows/develop_api.yml | 3 +- .github/workflows/docs.yml | 2 +- .github/workflows/format.yaml | 57 +- .github/workflows/lint.yml | 2 +- .gitignore | 89 +- .travis.yml | 38 - .vscode/settings.json | 4 + CODE_OF_CONDUCT.md | 24 - Dockerfile | 5 +- Makefile | 63 +- Vagrantfile | 6 +- bin/qmk | 48 +- bootloader.mk | 47 +- build_json.mk | 14 - build_keyboard.mk | 69 +- build_layout.mk | 4 - build_test.mk | 15 +- common.mk | 3 + common_features.mk | 203 +- data/mappings/info_config.json | 58 +- data/mappings/info_rules.json | 14 +- data/mappings/keyboard_aliases.json | 564 +++ data/schemas/api_keyboard.jsonschema | 44 +- data/schemas/definitions.jsonschema | 107 + data/schemas/keyboard.jsonschema | 453 +- data/schemas/keymap.jsonschema | 24 + .../template => data/templates}/avr/config.h | 0 data/templates/avr/readme.md | 27 + data/templates/avr/rules.mk | 22 + .../templates}/base/info.json | 0 .../templates}/base/keyboard.c | 0 .../templates}/base/keyboard.h | 0 .../templates}/base/keymaps/default/keymap.c | 0 .../templates}/base/keymaps/default/readme.md | 0 .../templates}/base_nrf/info.json | 0 .../base_nrf/keymaps/default/config.h | 0 .../base_nrf/keymaps/default/keymap.c | 0 .../base_nrf/keymaps/default/readme.md | 0 .../templates}/base_nrf/template.h | 0 .../template => data/templates}/nrf/config.h | 0 .../templates}/nrf/ld/nrf52840_ao.ld | 0 .../template => data/templates}/nrf/readme.md | 0 .../template => data/templates}/nrf/rules.mk | 0 .../templates}/nrf/template.c | 0 .../templates}/ps2avrgb/config.h | 0 data/templates/ps2avrgb/readme.md | 28 + data/templates/ps2avrgb/rules.mk | 19 + docs/ChangeLog/20200829.md | 2 +- docs/ChangeLog/20201128.md | 2 +- docs/ChangeLog/20210529.md | 227 + docs/ChangeLog/20210828.md | 557 ++ docs/_summary.md | 12 +- docs/adc_driver.md | 154 +- docs/breaking_changes.md | 33 +- docs/breaking_changes_history.md | 2 + docs/chibios_upgrade_instructions.md | 56 + docs/cli_commands.md | 119 +- docs/cli_development.md | 4 +- docs/cli_tab_complete.md | 27 + docs/compatible_microcontrollers.md | 6 + docs/config_options.md | 61 +- docs/configurator_architecture.md | 61 + docs/configurator_diagram.drawio | 1 + docs/configurator_diagram.svg | 3 + docs/contributing.md | 2 +- docs/custom_quantum_functions.md | 10 +- docs/de/README.md | 1 - docs/de/cli.md | 8 +- docs/driver_installation_zadig.md | 87 +- docs/easy_maker.md | 31 + docs/eeprom_driver.md | 3 + docs/es/README.md | 1 - docs/es/hardware_avr.md | 38 +- docs/faq_debug.md | 2 +- docs/faq_keymap.md | 4 +- docs/feature_advanced_keycodes.md | 39 +- docs/feature_audio.md | 150 +- docs/feature_auto_shift.md | 27 + docs/feature_backlight.md | 22 +- docs/feature_bootmagic.md | 143 +- docs/feature_combo.md | 292 +- docs/feature_command.md | 2 +- docs/feature_debounce_type.md | 21 +- docs/feature_digitizer.md | 35 + docs/feature_dip_switch.md | 19 +- docs/feature_encoders.md | 32 +- docs/feature_haptic_feedback.md | 26 +- docs/feature_joystick.md | 5 +- docs/feature_key_overrides.md | 229 + docs/feature_layers.md | 4 +- docs/feature_leader_key.md | 13 + docs/feature_led_indicators.md | 2 + docs/feature_led_matrix.md | 324 +- docs/feature_midi.md | 260 + docs/feature_oled_driver.md | 56 +- docs/feature_ps2_mouse.md | 38 +- docs/feature_rgb_matrix.md | 330 +- docs/feature_rgblight.md | 70 +- docs/feature_split_keyboard.md | 157 +- docs/feature_st7565.md | 274 + docs/feature_stenography.md | 15 + docs/feature_swap_hands.md | 2 +- docs/feature_tap_dance.md | 166 +- docs/feature_unicode.md | 2 +- docs/feature_velocikey.md | 2 +- docs/feature_wpm.md | 63 +- docs/flashing.md | 80 +- docs/flashing_bootloadhid.md | 4 +- docs/fr-fr/README.md | 7 +- docs/fr-fr/breaking_changes.md | 1 - docs/fr-fr/cli.md | 8 +- docs/fr-fr/contributing.md | 2 +- docs/fr-fr/driver_installation_zadig.md | 4 +- docs/fr-fr/faq_build.md | 2 +- docs/fr-fr/faq_debug.md | 8 +- docs/fr-fr/faq_keymap.md | 4 +- docs/fr-fr/flashing.md | 60 +- docs/fr-fr/newbs_flashing.md | 6 +- docs/getting_started_make_guide.md | 6 +- docs/getting_started_vagrant.md | 2 +- docs/hand_wire.md | 2 +- docs/hardware_avr.md | 38 +- docs/hardware_keyboard_guidelines.md | 4 +- docs/he-il/README.md | 1 - docs/ja/README.md | 1 - docs/ja/_summary.md | 22 +- docs/ja/api_docs.md | 4 +- docs/ja/api_overview.md | 4 +- docs/ja/breaking_changes.md | 1 - docs/ja/cli_commands.md | 14 +- docs/ja/cli_configuration.md | 2 +- docs/ja/cli_development.md | 4 +- docs/ja/coding_conventions_c.md | 4 +- docs/ja/compatible_microcontrollers.md | 6 + docs/ja/config_options.md | 24 +- docs/ja/contributing.md | 6 +- docs/ja/custom_quantum_functions.md | 12 +- docs/ja/data_driven_config.md | 123 + docs/ja/documentation_templates.md | 4 +- docs/ja/faq_build.md | 76 +- docs/ja/faq_debug.md | 181 +- docs/ja/faq_general.md | 4 +- docs/ja/faq_keymap.md | 4 +- docs/ja/faq_misc.md | 107 + docs/ja/feature_advanced_keycodes.md | 170 +- docs/ja/feature_bootmagic.md | 2 +- docs/ja/feature_debounce_type.md | 17 - docs/ja/feature_dip_switch.md | 18 +- docs/ja/feature_encoders.md | 10 +- docs/ja/feature_haptic_feedback.md | 19 +- docs/ja/feature_layers.md | 8 +- docs/ja/feature_led_matrix.md | 6 +- docs/ja/feature_macros.md | 2 +- docs/ja/feature_pointing_device.md | 10 +- docs/ja/feature_ps2_mouse.md | 6 +- docs/ja/feature_rawhid.md | 6 +- docs/ja/feature_stenography.md | 4 +- docs/ja/feature_swap_hands.md | 6 +- docs/ja/feature_tap_dance.md | 172 +- docs/ja/feature_userspace.md | 4 +- docs/ja/getting_started_docker.md | 18 +- docs/ja/getting_started_github.md | 4 +- docs/ja/getting_started_make_guide.md | 34 +- docs/ja/getting_started_vagrant.md | 12 +- docs/ja/hardware_avr.md | 44 +- docs/ja/hardware_keyboard_guidelines.md | 23 +- docs/ja/how_a_matrix_works.md | 4 +- docs/ja/internals_gpio_control.md | 23 +- docs/ja/keycodes_basic.md | 261 + docs/ja/mod_tap.md | 45 +- docs/ja/newbs.md | 22 +- .../newbs_building_firmware_configurator.md | 6 +- docs/ja/newbs_flashing.md | 26 +- docs/ja/newbs_getting_started.md | 166 +- docs/ja/newbs_learn_more_resources.md | 28 +- docs/ja/newbs_testing_debugging.md | 99 +- docs/ja/one_shot_keys.md | 6 +- docs/ja/other_eclipse.md | 26 +- docs/ja/other_vscode.md | 5 +- docs/ja/proton_c_conversion.md | 4 +- docs/ja/ref_functions.md | 6 +- docs/ja/reference_configurator_support.md | 6 +- docs/ja/reference_glossary.md | 4 +- docs/ja/reference_info_json.md | 4 - docs/ja/tap_hold.md | 30 +- docs/ja/understanding_qmk.md | 4 +- docs/keycodes.md | 274 +- docs/keycodes_magic.md | 36 + docs/ko-kr/README.md | 1 - docs/mod_tap.md | 13 +- docs/newbs_flashing.md | 2 +- docs/newbs_getting_started.md | 24 +- docs/one_shot_keys.md | 5 +- docs/other_eclipse.md | 28 +- docs/other_vscode.md | 18 +- docs/pr_checklist.md | 10 + docs/pt-br/README.md | 1 - docs/ref_functions.md | 2 +- docs/reference_configurator_support.md | 2 - docs/reference_glossary.md | 2 +- docs/reference_info_json.md | 4 - docs/reference_keymap_extras.md | 155 +- docs/ru-ru/README.md | 1 - docs/serial_driver.md | 157 +- docs/syllabus.md | 3 +- docs/tap_hold.md | 108 +- docs/understanding_qmk.md | 1 + docs/unit_testing.md | 10 +- docs/ws2812_driver.md | 36 +- docs/zh-cn/README.md | 1 - docs/zh-cn/custom_quantum_functions.md | 6 +- doxygen-todo | 1 - drivers/avr/i2c_master.c | 224 - drivers/avr/i2c_slave.c | 86 - drivers/avr/i2c_slave.h | 30 - drivers/avr/serial.c | 563 --- drivers/avr/serial.h | 62 - drivers/avr/spi_master.c | 182 - drivers/avr/spi_master.h | 57 - drivers/chibios/serial.c | 290 -- drivers/chibios/serial.h | 62 - drivers/chibios/serial_usart.c | 237 - drivers/chibios/spi_master.c | 148 - drivers/chibios/spi_master.h | 78 - drivers/chibios/ws2812_spi.c | 112 - drivers/eeprom/eeprom_i2c.c | 23 +- drivers/eeprom/eeprom_spi.c | 7 +- drivers/haptic/solenoid.c | 1 + drivers/lcd/st7565.c | 496 ++ drivers/lcd/st7565.h | 219 + drivers/{apa102 => led}/apa102.c | 0 drivers/{apa102 => led}/apa102.h | 0 drivers/led/aw20216.c | 141 + drivers/led/aw20216.h | 253 + drivers/{ => led}/issi/is31fl3218.c | 0 drivers/{ => led}/issi/is31fl3218.h | 0 drivers/{ => led}/issi/is31fl3731-simple.c | 0 drivers/{ => led}/issi/is31fl3731-simple.h | 3 +- drivers/{ => led}/issi/is31fl3731.c | 0 drivers/{ => led}/issi/is31fl3731.h | 3 +- drivers/{ => led}/issi/is31fl3733.c | 2 +- drivers/{ => led}/issi/is31fl3733.h | 3 +- drivers/{ => led}/issi/is31fl3736.c | 0 drivers/{ => led}/issi/is31fl3736.h | 3 +- drivers/{ => led}/issi/is31fl3737.c | 43 +- drivers/{ => led}/issi/is31fl3737.h | 3 +- drivers/{ => led}/issi/is31fl3741.c | 0 drivers/{ => led}/issi/is31fl3741.h | 3 +- drivers/oled/glcdfont.c | 2 +- drivers/oled/oled_driver.c | 725 --- drivers/oled/oled_driver.h | 32 +- drivers/oled/ssd1306_sh1106.c | 779 +++ drivers/qwiic/micro_oled.c | 29 +- drivers/sensors/adns5050.c | 193 + drivers/sensors/adns5050.h | 79 + drivers/sensors/adns9800.c | 219 + .../adns/adns.h => drivers/sensors/adns9800.h | 0 .../sensors}/adns9800_srom_A6.h | 0 drivers/sensors/pimoroni_trackball.c | 201 + drivers/sensors/pimoroni_trackball.h | 37 + drivers/sensors/pmw3360.c | 271 + drivers/sensors/pmw3360.h | 85 + .../sensors}/pmw3360_firmware.h | 0 drivers/serial.h | 46 + keyboards/0_sixty/rules.mk | 2 +- keyboards/0xc7/61key/61key.c | 17 + keyboards/0xc7/61key/61key.h | 43 + keyboards/0xc7/61key/config.h | 152 + keyboards/0xc7/61key/info.json | 76 + keyboards/0xc7/61key/keymaps/default/keymap.c | 34 + keyboards/0xc7/61key/keymaps/via/keymap.c | 48 + .../61key}/keymaps/via/rules.mk | 0 keyboards/0xc7/61key/readme.md | 27 + keyboards/0xc7/61key/rules.mk | 25 + keyboards/0xcb/1337/1337.c | 7 - keyboards/0xcb/1337/1337.h | 2 + keyboards/0xcb/1337/config.h | 23 +- keyboards/0xcb/1337/gfxfont.c | 277 + keyboards/0xcb/1337/keymaps/conor/keymap.c | 185 + .../via => 0xcb/1337/keymaps/conor}/rules.mk | 0 keyboards/0xcb/1337/keymaps/default/keymap.c | 137 +- keyboards/0xcb/1337/keymaps/jakob/keymap.c | 185 + .../via => 0xcb/1337/keymaps/jakob}/rules.mk | 0 keyboards/0xcb/1337/keymaps/via/keymap.c | 156 +- keyboards/0xcb/1337/readme.md | 12 +- keyboards/0xcb/1337/rules.mk | 5 +- keyboards/0xcb/static/config.h | 70 + keyboards/0xcb/static/gfxfont.c | 277 + keyboards/0xcb/static/info.json | 105 + .../0xcb/static/keymaps/bongocat/keymap.c | 297 ++ .../0xcb/static/keymaps/bongocat/rules.mk | 2 + .../0xcb/static/keymaps/default/keymap.c | 190 + keyboards/0xcb/static/keymaps/via/keymap.c | 197 + .../static}/keymaps/via/rules.mk | 0 keyboards/0xcb/static/readme.md | 27 + keyboards/0xcb/static/rules.mk | 27 + keyboards/0xcb/static/static.c | 17 + keyboards/0xcb/static/static.h | 66 + .../10bleoledhub/keymaps/default/keymap.c | 15 +- keyboards/10bleoledhub/keymaps/via/keymap.c | 17 +- keyboards/10bleoledhub/rules.mk | 5 +- keyboards/1upkeyboards/1up60hse/1up60hse.c | 27 - keyboards/1upkeyboards/1up60hse/config.h | 20 - keyboards/1upkeyboards/1up60hse/rules.mk | 10 +- keyboards/1upkeyboards/1up60hte/1up60hte.h | 40 +- keyboards/1upkeyboards/1up60hte/info.json | 151 +- .../1up60hte/keymaps/default/keymap.c | 26 +- .../1up60hte/keymaps/hhkb/keymap.c | 26 +- .../1up60hte/keymaps/via/keymap.c | 52 +- keyboards/1upkeyboards/1up60hte/readme.md | 12 +- keyboards/1upkeyboards/1up60hte/rules.mk | 35 +- .../1up60rgb/keymaps/default/keymap.c | 42 +- .../1up60rgb/keymaps/iso/keymap.c | 42 +- .../1up60rgb/keymaps/raffle/keymap.c | 2 +- .../1up60rgb/keymaps/tsangan/keymap.c | 42 +- keyboards/1upkeyboards/1up60rgb/rules.mk | 9 +- keyboards/1upkeyboards/super16/config.h | 20 - .../super16/keymaps/default/keymap.c | 16 - keyboards/1upkeyboards/super16/rules.mk | 10 +- .../sweet16/keymaps/default/keymap.c | 3 +- .../sweet16/keymaps/ridingintraffic/keymap.c | 76 +- .../sweet16/keymaps/switchtester/rules.mk | 2 +- keyboards/1upkeyboards/sweet16/rules.mk | 2 +- keyboards/1upkeyboards/sweet16/v1/rules.mk | 7 - .../sweet16/v2/promicro/promicro.c | 4 +- .../1upkeyboards/sweet16/v2/promicro/rules.mk | 7 - .../1upkeyboards/sweet16/v2/proton_c/rules.mk | 3 + keyboards/2key2crawl/keymaps/default/keymap.c | 4 +- keyboards/2key2crawl/keymaps/tabs/keymap.c | 4 +- keyboards/2key2crawl/keymaps/vol/keymap.c | 3 +- keyboards/2key2crawl/rules.mk | 9 +- keyboards/30wer/rules.mk | 10 +- keyboards/3w6/info.json | 56 + keyboards/3w6/keymaps/default/keymap.c | 69 + .../keymaps/manna-harbour_miryoku/config.h | 32 + .../keymaps/manna-harbour_miryoku/keymap.c | 17 + keyboards/3w6/readme.md | 45 + keyboards/3w6/rev1/config.h | 63 + keyboards/3w6/rev1/matrix.c | 258 + keyboards/3w6/rev1/readme.md | 32 + keyboards/3w6/rev1/rev1.c | 17 + keyboards/3w6/rev1/rev1.h | 44 + keyboards/3w6/rev1/rules.mk | 29 + keyboards/3w6/rev2/config.h | 63 + .../rev2/keymaps/default_pimoroni/config.h | 21 + .../rev2/keymaps/default_pimoroni/keymap.c | 70 + .../default_pimoroni/pimoroni_trackball.c | 177 + .../default_pimoroni/pimoroni_trackball.h | 35 + .../rev2/keymaps/default_pimoroni/rules.mk | 3 + keyboards/3w6/rev2/matrix.c | 256 + keyboards/3w6/rev2/readme.md | 38 + keyboards/3w6/rev2/rev2.c | 17 + keyboards/3w6/rev2/rev2.h | 44 + keyboards/3w6/rev2/rules.mk | 29 + keyboards/40percentclub/25/25.c | 29 +- keyboards/40percentclub/25/config.h | 20 - keyboards/40percentclub/25/info.json | 4 +- .../40percentclub/25/keymaps/default/keymap.c | 15 - .../40percentclub/25/keymaps/macro/keymap.c | 16 - keyboards/40percentclub/25/rules.mk | 12 +- keyboards/40percentclub/4pack/4pack.c | 23 - keyboards/40percentclub/4pack/config.h | 20 - .../4pack/keymaps/default/keymap.c | 3 - keyboards/40percentclub/4pack/rules.mk | 10 +- keyboards/40percentclub/4x4/4x4.c | 28 - keyboards/40percentclub/4x4/4x4.h | 13 - keyboards/40percentclub/4x4/config.h | 20 - .../4x4/keymaps/default/keymap.c | 16 - keyboards/40percentclub/4x4/rules.mk | 12 +- keyboards/40percentclub/5x5/5x5.c | 28 - keyboards/40percentclub/5x5/config.h | 20 - keyboards/40percentclub/5x5/info.json | 2 +- .../5x5/keymaps/default/keymap.c | 17 - keyboards/40percentclub/5x5/rules.mk | 12 +- keyboards/40percentclub/6lit/6lit.c | 29 +- keyboards/40percentclub/6lit/config.h | 20 - keyboards/40percentclub/6lit/info.json | 4 +- .../6lit/keymaps/default/keymap.c | 16 - .../40percentclub/6lit/keymaps/macro/keymap.c | 16 - keyboards/40percentclub/6lit/rules.mk | 12 +- keyboards/40percentclub/foobar/config.h | 20 - keyboards/40percentclub/foobar/foobar.c | 29 +- keyboards/40percentclub/foobar/info.json | 4 +- .../foobar/keymaps/default/keymap.c | 16 - .../foobar/keymaps/macro/keymap.c | 16 - keyboards/40percentclub/foobar/rules.mk | 10 +- .../gherkin/keymaps/midi/rules.mk | 2 +- .../gherkin/keymaps/steno/rules.mk | 2 +- .../gherkin/keymaps/stevexyz/rules.mk | 2 +- keyboards/40percentclub/gherkin/rules.mk | 9 +- keyboards/40percentclub/half_n_half/config.h | 20 - .../40percentclub/half_n_half/half_n_half.c | 27 - .../half_n_half/keymaps/default/keymap.c | 12 - keyboards/40percentclub/half_n_half/rules.mk | 10 +- keyboards/40percentclub/i75/config.h | 20 - keyboards/40percentclub/i75/i75.c | 27 - .../i75/keymaps/default/keymap.c | 12 - keyboards/40percentclub/i75/promicro/rules.mk | 7 - keyboards/40percentclub/i75/rules.mk | 3 +- keyboards/40percentclub/i75/teensy2/rules.mk | 7 - keyboards/40percentclub/luddite/rules.mk | 9 +- .../mf68/keymaps/andyjack/rules.mk | 2 +- .../mf68/keymaps/delivrance/keymap.c | 26 +- .../mf68/keymaps/factory/keymap.c | 59 - .../mf68/keymaps/mf68_ble/keymap.c | 37 +- keyboards/40percentclub/mf68/mf68.c | 7 - keyboards/40percentclub/mf68/mf68.h | 17 - keyboards/40percentclub/mf68/rules.mk | 10 +- keyboards/40percentclub/nano/info.json | 2 +- .../nano/keymaps/drashna/keymap.c | 8 +- keyboards/40percentclub/nano/nano.c | 4 - keyboards/40percentclub/nano/rules.mk | 10 +- keyboards/40percentclub/nein/config.h | 20 - keyboards/40percentclub/nein/info.json | 2 +- keyboards/40percentclub/nein/rules.mk | 10 +- keyboards/40percentclub/nori/config.h | 20 - .../40percentclub/nori/keymaps/macro/keymap.c | 16 - keyboards/40percentclub/nori/nori.c | 27 - keyboards/40percentclub/nori/nori.h | 15 +- keyboards/40percentclub/nori/rules.mk | 12 +- keyboards/40percentclub/sixpack/config.h | 7 +- keyboards/40percentclub/sixpack/info.json | 2 +- .../sixpack/keymaps/via/keymap.c | 4 - keyboards/40percentclub/sixpack/rules.mk | 4 +- .../tomato/keymaps/default/keymap.c | 44 - keyboards/40percentclub/tomato/rules.mk | 9 +- .../ut47/keymaps/nordic/keymap.c | 10 +- keyboards/40percentclub/ut47/rules.mk | 10 +- keyboards/40percentclub/ut47/ut47.c | 20 - keyboards/40percentclub/ut47/ut47.h | 15 - keyboards/45_ats/keymaps/default/keymap.c | 35 +- keyboards/45_ats/keymaps/via/keymap.c | 35 +- keyboards/45_ats/rules.mk | 2 +- keyboards/4by3/rules.mk | 7 - .../4pplet/aekiso60/keymaps/default/keymap.c | 29 +- .../4pplet/aekiso60/keymaps/via/keymap.c | 56 +- keyboards/4pplet/aekiso60/rev_a/rev_a.h | 23 +- keyboards/4pplet/aekiso60/rev_a/rules.mk | 10 +- keyboards/4pplet/bootleg/rev_a/rules.mk | 2 +- keyboards/4pplet/eagle_viper_rep/info.json | 78 + .../eagle_viper_rep/keymaps/default/keymap.c | 34 + .../eagle_viper_rep/keymaps/via/keymap.c | 55 + .../eagle_viper_rep}/keymaps/via/rules.mk | 0 keyboards/4pplet/eagle_viper_rep/readme.md | 19 + .../4pplet/eagle_viper_rep/rev_a/chconf.h | 23 + .../4pplet/eagle_viper_rep/rev_a/config.h | 72 + .../4pplet/eagle_viper_rep/rev_a/halconf.h | 25 + .../4pplet/eagle_viper_rep/rev_a/mcuconf.h | 34 + .../4pplet/eagle_viper_rep/rev_a/readme.md | 19 + .../4pplet/eagle_viper_rep/rev_a/rev_a.c | 108 + .../4pplet/eagle_viper_rep/rev_a/rev_a.h | 41 + .../4pplet/eagle_viper_rep/rev_a/rules.mk | 23 + keyboards/4pplet/steezy60/rev_a/rules.mk | 10 +- keyboards/4pplet/waffling60/rev_a/rules.mk | 10 +- keyboards/4pplet/waffling60/rev_b/rules.mk | 2 +- keyboards/6ball/6ball.c | 4 - keyboards/6ball/rules.mk | 10 +- .../7c8/framework/keymaps/default/keymap.c | 5 +- .../7c8/framework/keymaps/steven/keymap.c | 7 +- keyboards/7c8/framework/keymaps/via/keymap.c | 3 +- keyboards/7c8/framework/rules.mk | 10 +- keyboards/7skb/keymaps/salicylic/keymap.c | 2 +- keyboards/7skb/rules.mk | 10 +- keyboards/7splus/keymaps/salicylic/keymap.c | 2 +- keyboards/7splus/rules.mk | 2 +- keyboards/8pack/rules.mk | 11 +- keyboards/9key/9key.c | 4 - keyboards/9key/keymaps/bcat/keymap.c | 21 +- keyboards/9key/rules.mk | 11 +- keyboards/abacus/config.h | 20 - keyboards/abacus/keymaps/unicodemap/keymap.c | 14 +- keyboards/abacus/rules.mk | 10 +- keyboards/absinthe/keymaps/default/keymap.c | 3 +- keyboards/absinthe/keymaps/via/keymap.c | 70 + keyboards/absinthe/keymaps/via/rules.mk | 2 + keyboards/absinthe/rules.mk | 10 +- .../ellipse/keymaps/abstractkb/keymap.c | 21 +- .../abstract/ellipse/keymaps/default/keymap.c | 21 +- keyboards/abstract/ellipse/rev1/config.h | 20 - keyboards/abstract/ellipse/rev1/rev1.c | 27 - keyboards/abstract/ellipse/rev1/rules.mk | 10 +- keyboards/acekeyboard/titan60/config.h | 6 +- keyboards/acekeyboard/titan60/info.json | 60 +- .../titan60/keymaps/default/keymap.c | 42 +- .../acekeyboard/titan60/keymaps/iso/keymap.c | 35 + .../titan60/keymaps/tsangan/keymap.c | 35 + .../titan60/keymaps/utilitarian/keymap.c | 35 + .../acekeyboard/titan60/keymaps/via/keymap.c | 60 +- keyboards/acekeyboard/titan60/readme.md | 5 +- keyboards/acekeyboard/titan60/rules.mk | 2 +- keyboards/acekeyboard/titan60/titan60.h | 137 +- keyboards/acheron/arctic/rules.mk | 5 +- keyboards/acheron/austin/keymaps/via/rules.mk | 2 +- keyboards/acheron/austin/rules.mk | 6 +- keyboards/acheron/elongate/config.h | 19 - keyboards/acheron/elongate/rules.mk | 10 +- keyboards/acheron/keebspcb/rules.mk | 6 +- keyboards/acheron/lasgweloth/rules.mk | 5 +- keyboards/acheron/shark/config.h | 20 - .../acheron/shark/keymaps/ajp10304/readme.md | 2 +- keyboards/acheron/shark/keymaps/via/rules.mk | 2 +- keyboards/acheron/shark/rules.mk | 6 +- keyboards/acheron/shark/shark.c | 35 - keyboards/acr60/acr60.c | 43 +- keyboards/acr60/acr60.h | 173 +- keyboards/acr60/config.h | 24 +- keyboards/acr60/info.json | 473 +- keyboards/acr60/keymaps/default/keymap.c | 93 +- keyboards/acr60/keymaps/mitch/keymap.c | 38 +- keyboards/acr60/readme.md | 22 +- keyboards/acr60/rules.mk | 9 +- keyboards/adelheid/config.h | 20 - keyboards/adelheid/rules.mk | 2 +- keyboards/adkb96/adkb96.c | 2 +- keyboards/adkb96/adkb96.h | 21 - keyboards/adkb96/rev1/rev1.c | 14 - keyboards/adkb96/rules.mk | 10 +- keyboards/aeboards/aegis/rules.mk | 10 +- keyboards/aeboards/constellation/config.h | 47 - .../aeboards/constellation/constellation.c | 3 +- .../aeboards/constellation/constellation.h | 21 +- .../aeboards/constellation/rev1/config.h | 48 + .../constellation/{ => rev1}/info.json | 0 .../aeboards/constellation/rev1/readme.md | 20 + keyboards/aeboards/constellation/rev1/rev1.c | 18 + keyboards/aeboards/constellation/rev1/rev1.h | 36 + .../aeboards/constellation/rev1/rules.mk | 22 + .../aeboards/constellation/rev2/config.h | 61 + .../aeboards/constellation/rev2/halconf.h | 27 + .../aeboards/constellation/rev2/info.json | 85 + .../aeboards/constellation/rev2/mcuconf.h | 27 + .../aeboards/constellation/rev2/readme.md | 20 + keyboards/aeboards/constellation/rev2/rev2.c | 21 + keyboards/aeboards/constellation/rev2/rev2.h | 35 + .../aeboards/constellation/rev2/rules.mk | 23 + keyboards/aeboards/constellation/rules.mk | 23 +- .../aeboards/ext65/keymaps/default/keymap.c | 2 +- keyboards/aeboards/ext65/keymaps/via/keymap.c | 2 +- keyboards/aeboards/ext65/keymaps/via/rules.mk | 2 + keyboards/aeboards/ext65/rev1/rules.mk | 10 +- keyboards/aeboards/ext65/rev2/config.h | 4 + keyboards/aeboards/ext65/rev2/halconf.h | 2 + keyboards/aeboards/ext65/rev2/mcuconf.h | 2 + keyboards/aeboards/ext65/rev2/rev2.c | 2 +- keyboards/aeboards/ext65/rev2/rules.mk | 5 +- .../breeze/keymaps/eithanshavit/keymap.c | 2 +- keyboards/afternoonlabs/breeze/rev0/rules.mk | 2 +- keyboards/afternoonlabs/breeze/rev1/config.h | 2 +- keyboards/afternoonlabs/breeze/rev1/readme.md | 4 +- keyboards/afternoonlabs/breeze/rev1/rules.mk | 6 +- .../gust/keymaps/default/keymap.c | 6 +- .../gust/keymaps/default/readme.md | 2 +- keyboards/afternoonlabs/gust/rev1/config.h | 4 +- keyboards/afternoonlabs/gust/rev1/info.json | 12 + keyboards/afternoonlabs/gust/rev1/readme.md | 6 +- keyboards/afternoonlabs/gust/rev1/rev1.h | 6 +- keyboards/afternoonlabs/gust/rev1/rules.mk | 8 +- keyboards/afternoonlabs/oceanbreeze/config.h | 22 + .../oceanbreeze/keymaps/default/keymap.c | 71 + .../oceanbreeze/keymaps/default/readme.md | 5 + .../afternoonlabs/oceanbreeze/oceanbreeze.c | 17 + .../afternoonlabs/oceanbreeze/oceanbreeze.h | 21 + .../afternoonlabs/oceanbreeze/rev1/config.h | 49 + .../afternoonlabs/oceanbreeze/rev1/info.json | 86 + .../afternoonlabs/oceanbreeze/rev1/readme.md | 15 + .../afternoonlabs/oceanbreeze/rev1/rev1.c | 17 + .../afternoonlabs/oceanbreeze/rev1/rev1.h | 44 + .../afternoonlabs/oceanbreeze/rev1/rules.mk | 23 + .../afternoonlabs/southern_breeze/config.h | 22 + .../southern_breeze/keymaps/default/keymap.c | 72 + .../southern_breeze/keymaps/default/readme.md | 3 + .../southern_breeze/keymaps/default/rules.mk | 9 + .../southern_breeze/keymaps/via/keymap.c | 86 + .../southern_breeze/keymaps/via/readme.md | 3 + .../southern_breeze/keymaps/via/rules.mk | 10 + .../southern_breeze/rev1/config.h | 49 + .../southern_breeze/rev1/info.json | 84 + .../southern_breeze/rev1/readme.md | 15 + .../afternoonlabs/southern_breeze/rev1/rev1.c | 17 + .../afternoonlabs/southern_breeze/rev1/rev1.h | 41 + .../southern_breeze/rev1/rules.mk | 23 + .../southern_breeze/southern_breeze.c | 17 + .../southern_breeze/southern_breeze.h | 21 + .../afternoonlabs/summer_breeze/config.h | 22 + .../summer_breeze/keymaps/default/keymap.c | 71 + .../summer_breeze/keymaps/default/readme.md | 3 + .../summer_breeze/keymaps/default/rules.mk | 9 + .../summer_breeze/keymaps/via/keymap.c | 86 + .../summer_breeze/keymaps/via/readme.md | 3 + .../summer_breeze/keymaps/via/rules.mk | 10 + .../afternoonlabs/summer_breeze/rev1/config.h | 49 + .../summer_breeze/rev1/info.json | 94 + .../summer_breeze/rev1/readme.md | 15 + .../afternoonlabs/summer_breeze/rev1/rev1.c | 17 + .../afternoonlabs/summer_breeze/rev1/rev1.h | 41 + .../afternoonlabs/summer_breeze/rev1/rules.mk | 23 + .../summer_breeze/summer_breeze.c | 17 + .../summer_breeze/summer_breeze.h | 21 + keyboards/ai03/andromeda/andromeda.c | 17 + keyboards/ai03/andromeda/andromeda.h | 35 + keyboards/ai03/andromeda/config.h | 43 + keyboards/ai03/andromeda/info.json | 12 + .../ai03/andromeda/keymaps/default/keymap.c | 33 + keyboards/ai03/andromeda/keymaps/via/keymap.c | 65 + .../andromeda}/keymaps/via/rules.mk | 0 keyboards/ai03/andromeda/readme.md | 12 + keyboards/ai03/andromeda/rules.mk | 25 + keyboards/ai03/equinox/rev0/rules.mk | 10 +- keyboards/ai03/equinox/rev1/rules.mk | 10 +- keyboards/ai03/lunar/config.h | 20 - keyboards/ai03/lunar/keymaps/default/keymap.c | 12 - keyboards/ai03/lunar/lunar.c | 6 - keyboards/ai03/lunar/rules.mk | 10 +- keyboards/ai03/orbit/config.h | 20 - keyboards/ai03/orbit/keymaps/default/keymap.c | 17 - keyboards/ai03/orbit/orbit.c | 16 - keyboards/ai03/orbit/rules.mk | 10 +- keyboards/ai03/orbit_x/rules.mk | 10 +- keyboards/ai03/polaris/rules.mk | 10 +- keyboards/ai03/quasar/config.h | 20 - .../ai03/quasar/keymaps/default/keymap.c | 16 - keyboards/ai03/quasar/quasar.c | 35 - keyboards/ai03/quasar/rules.mk | 10 +- keyboards/ai03/soyuz/keymaps/default/keymap.c | 16 - keyboards/ai03/soyuz/rules.mk | 9 +- keyboards/ai03/soyuz/soyuz.c | 27 - keyboards/ai03/vega/rules.mk | 5 +- keyboards/ai03/voyager60_alps/config.h | 2 +- keyboards/ai03/voyager60_alps/rules.mk | 2 +- keyboards/ajisai74/keymaps/salicylic/keymap.c | 2 +- keyboards/ajisai74/rules.mk | 2 +- keyboards/akb/eb46/eb46.c | 27 - keyboards/akb/eb46/rules.mk | 10 +- keyboards/akb/raine/rules.mk | 10 +- keyboards/akegata_denki/device_one/rules.mk | 6 +- keyboards/al1/al1.c | 1 + keyboards/al1/al1.h | 58 +- keyboards/al1/config.h | 112 +- keyboards/al1/info.json | 221 +- keyboards/al1/keymaps/default/keymap.c | 45 +- keyboards/al1/keymaps/default/readme.md | 1 - keyboards/al1/keymaps/splitbs/keymap.c | 59 +- keyboards/al1/matrix.c | 275 +- keyboards/al1/readme.md | 11 +- keyboards/al1/rules.mk | 22 +- keyboards/aleblazer/zodiark/info.json | 81 +- .../zodiark/keymaps/default/config.h | 2 +- .../zodiark/keymaps/default/keymap.c | 9 +- .../zodiark/keymaps/slimoled/config.h | 2 +- .../zodiark/keymaps/slimoled/keymap.c | 9 +- .../aleblazer/zodiark/keymaps/via/config.h | 2 +- .../aleblazer/zodiark/keymaps/via/encoder.c | 3 +- .../aleblazer/zodiark/keymaps/via/oled.c | 2 +- keyboards/aleblazer/zodiark/readme.md | 4 +- keyboards/aleblazer/zodiark/rules.mk | 5 +- keyboards/aleth42/keymaps/default/keymap.c | 3 +- keyboards/aleth42/keymaps/via/keymap.c | 5 +- keyboards/aleth42/rev0/rules.mk | 2 +- keyboards/aleth42/rev1/rules.mk | 2 +- keyboards/alf/dc60/config.h | 20 - keyboards/alf/dc60/keymaps/default/keymap.c | 16 - keyboards/alf/dc60/rules.mk | 10 +- keyboards/alf/x11/config.h | 20 - keyboards/alf/x11/rules.mk | 10 +- keyboards/alf/x2/keymaps/default/keymap.c | 16 +- keyboards/alf/x2/rules.mk | 9 +- keyboards/alfredslab/swift65/solder/config.h | 68 + keyboards/alfredslab/swift65/solder/info.json | 81 + .../swift65/solder/keymaps/default/keymap.c | 35 + .../swift65/solder/keymaps/default/readme.md | 3 + .../swift65/solder/keymaps/via/keymap.c | 49 + .../swift65/solder/keymaps/via/readme.md | 3 + .../swift65/solder}/keymaps/via/rules.mk | 0 keyboards/alfredslab/swift65/solder/readme.md | 20 + keyboards/alfredslab/swift65/solder/rules.mk | 22 + keyboards/alfredslab/swift65/solder/solder.c | 17 + keyboards/alfredslab/swift65/solder/solder.h | 33 + keyboards/allison/config.h | 20 - keyboards/allison/rules.mk | 10 +- keyboards/allison_numpad/config.h | 20 - keyboards/allison_numpad/info.json | 67 +- keyboards/allison_numpad/rules.mk | 10 +- keyboards/alpha/keymaps/default/keymap.c | 6 - keyboards/alpha/rules.mk | 9 +- keyboards/alpine65/rules.mk | 5 +- keyboards/alps64/rules.mk | 9 +- keyboards/alu84/alu84.c | 29 - keyboards/alu84/alu84.h | 34 +- keyboards/alu84/config.h | 42 +- keyboards/alu84/info.json | 111 +- keyboards/alu84/keymaps/default/keymap.c | 131 +- keyboards/alu84/keymaps/turbomech/config.h | 9 +- keyboards/alu84/keymaps/turbomech/keymap.c | 103 +- keyboards/alu84/keymaps/turbomech/rules.mk | 14 +- keyboards/alu84/readme.md | 21 +- keyboards/alu84/rules.mk | 34 +- keyboards/amag23/amag23.c | 17 + keyboards/amag23/amag23.h | 32 + keyboards/amag23/config.h | 50 + keyboards/amag23/info.json | 36 + keyboards/amag23/keymaps/default/keymap.c | 40 + keyboards/amag23/keymaps/default/readme.md | 14 + keyboards/amag23/keymaps/qwert/keymap.c | 40 + keyboards/amag23/keymaps/qwert/readme.md | 14 + keyboards/amag23/readme.md | 27 + keyboards/amag23/rules.mk | 19 + keyboards/amj40/keymaps/fabian/rules.mk | 2 +- .../amj40/keymaps/jetpacktuxedo/rules.mk | 2 +- keyboards/amj40/keymaps/myee/rules.mk | 2 +- keyboards/amj40/rules.mk | 2 +- keyboards/amj60/amj60.c | 16 + keyboards/amj60/amj60.h | 158 +- keyboards/amj60/config.h | 82 +- keyboards/amj60/info.json | 381 +- keyboards/amj60/keymaps/default/keymap.c | 75 +- .../amj60/keymaps/iso_split_rshift/build.sh | 42 - .../amj60/keymaps/iso_split_rshift/keymap.c | 113 - .../amj60/keymaps/iso_split_rshift/readme.md | 30 - .../amj60/keymaps/iso_split_rshift/rules.mk | 20 - .../keymaps/iso_split_rshift/updatemerge.sh | 4 - keyboards/amj60/keymaps/maximized/keymap.c | 55 - keyboards/amj60/readme.md | 22 +- keyboards/amj60/rules.mk | 36 +- keyboards/amj96/amj96.c | 27 - keyboards/amj96/config.h | 20 - keyboards/amj96/keymaps/default/keymap.c | 16 - keyboards/amj96/rules.mk | 10 +- keyboards/amjkeyboard/amj66/amj66.c | 27 - keyboards/amjkeyboard/amj66/rules.mk | 10 +- keyboards/amjpad/keymaps/max/keymap.c | 37 - keyboards/amjpad/rules.mk | 10 +- keyboards/anavi/macropad2/config.h | 69 - keyboards/anavi/macropad2/info.json | 16 - .../macropad2/keymaps/copypaste/keymap.c | 30 - .../anavi/macropad2/keymaps/default/keymap.c | 30 - .../anavi/macropad2/keymaps/jitsi/keymap.c | 36 - .../anavi/macropad2/keymaps/mute/keymap.c | 23 - .../anavi/macropad2/keymaps/mute/rules.mk | 2 - .../macropad2/keymaps/tap_dance/keymap.c | 35 - .../anavi/macropad2/keymaps/volume/keymap.c | 23 - .../anavi/macropad2/keymaps/volume/rules.mk | 2 - .../anavi/macropad2/keymaps/zoom/keymap.c | 37 - keyboards/anavi/macropad2/macropad2.c | 18 - keyboards/anavi/macropad2/macropad2.h | 35 - keyboards/anavi/macropad2/readme.md | 49 - keyboards/anavi/macropad2/rules.mk | 34 - keyboards/anavi/macropad8/config.h | 2 +- .../anavi/macropad8/keymaps/default/config.h | 19 + .../anavi/macropad8/keymaps/default/keymap.c | 2 +- .../anavi/macropad8/keymaps/git/config.h | 23 + .../anavi/macropad8/keymaps/git/keymap.c | 144 + .../anavi/macropad8/keymaps/kicad/keymap.c | 4 +- .../anavi/macropad8/keymaps/kodi/keymap.c | 2 +- .../anavi/macropad8/keymaps/obs/keymap.c | 2 +- .../anavi/macropad8/keymaps/zoom/keymap.c | 2 +- keyboards/anavi/macropad8/rules.mk | 13 +- keyboards/angel17/alpha/alpha.c | 35 - keyboards/angel17/alpha/config.h | 20 - keyboards/angel17/alpha/rules.mk | 10 +- keyboards/angel17/keymaps/default/keymap.c | 16 - keyboards/angel17/rev1/config.h | 20 - keyboards/angel17/rev1/rev1.c | 35 - keyboards/angel17/rev1/rules.mk | 10 +- keyboards/angel17/rules.mk | 10 +- keyboards/angel64/alpha/alpha.c | 35 - keyboards/angel64/alpha/config.h | 20 - .../angel64/alpha/keymaps/default/keymap.c | 2 +- keyboards/angel64/rev1/config.h | 20 - .../angel64/rev1/keymaps/default/keymap.c | 2 +- .../angel64/rev1/keymaps/kakunpc/keymap.c | 2 +- keyboards/angel64/rev1/rev1.c | 35 - keyboards/angel64/rules.mk | 13 +- keyboards/anomalykb/a65i/a65i.c | 17 + keyboards/anomalykb/a65i/a65i.h | 101 + keyboards/anomalykb/a65i/config.h | 46 + keyboards/anomalykb/a65i/info.json | 397 ++ .../a65i/keymaps/ansi_splitbs/keymap.c | 61 + .../anomalykb/a65i/keymaps/default/keymap.c | 61 + keyboards/anomalykb/a65i/keymaps/iso/keymap.c | 61 + .../a65i/keymaps/iso_splitbs/keymap.c | 61 + keyboards/anomalykb/a65i/keymaps/via/config.h | 19 + keyboards/anomalykb/a65i/keymaps/via/keymap.c | 61 + .../a65i}/keymaps/via/rules.mk | 0 keyboards/anomalykb/a65i/readme.md | 17 + keyboards/anomalykb/a65i/rules.mk | 22 + keyboards/aos/tkl/rules.mk | 10 +- keyboards/aozora/hotswap/config.h | 45 + keyboards/aozora/hotswap/hotswap.c | 17 + keyboards/aozora/hotswap/hotswap.h | 34 + keyboards/aozora/hotswap/info.json | 83 + .../aozora/hotswap/keymaps/default/keymap.c | 35 + keyboards/aozora/hotswap/readme.md | 17 + keyboards/aozora/hotswap/rules.mk | 23 + keyboards/aplyard/aplx6/rev1/rules.mk | 10 +- .../aplx6/rev2/keymaps/default/keymap.c | 67 +- keyboards/aplyard/aplx6/rev2/rules.mk | 5 +- keyboards/arabica37/keymaps/default/keymap.c | 2 +- keyboards/arabica37/keymaps/default/rules.mk | 3 +- keyboards/arabica37/rev1/rules.mk | 10 +- keyboards/arch_36/config.h | 2 + keyboards/arch_36/keymaps/default/keymap.c | 128 +- keyboards/arch_36/keymaps/obosob/config.h | 2 +- keyboards/arch_36/keymaps/obosob/keymap.c | 580 +-- keyboards/arch_36/rules.mk | 5 +- keyboards/ares/ares.h | 33 +- keyboards/ares/config.h | 4 +- keyboards/ares/info.json | 228 +- keyboards/ares/keymaps/default/keymap.c | 36 +- keyboards/ares/readme.md | 6 +- keyboards/ares/rules.mk | 31 +- keyboards/arisu/config.h | 20 - keyboards/arisu/keymaps/stanrc85/keymap.c | 50 + keyboards/arisu/keymaps/stanrc85/rules.mk | 1 + keyboards/arisu/rules.mk | 3 +- .../1x4p1/keymaps/default/keymap.c | 3 +- .../1x4p1/keymaps/via/keymap.c | 3 +- keyboards/arrayperipherals/1x4p1/rules.mk | 2 +- keyboards/ash1800/config.h | 20 - keyboards/ash1800/rules.mk | 10 +- keyboards/ash_xiix/rules.mk | 2 +- keyboards/ashpil/modelm_usbc/rules.mk | 10 +- keyboards/at101_bh/keymaps/default/keymap.c | 29 +- keyboards/at101_bh/rules.mk | 9 +- keyboards/at_at/660m/rules.mk | 5 +- keyboards/atomic/atomic.c | 20 +- keyboards/atomic/atomic.h | 28 +- keyboards/atomic/config.h | 57 +- keyboards/atomic/info.json | 173 +- keyboards/atomic/keymaps/abienz.c | 18 - keyboards/atomic/keymaps/abienz/keymap.c | 19 + keyboards/atomic/keymaps/default/keymap.c | 12 +- keyboards/atomic/keymaps/michelle.c | 169 - keyboards/atomic/keymaps/michelle/keymap.c | 25 + keyboards/atomic/keymaps/pvc/keymap.c | 12 +- keyboards/atomic/keymaps/pvc/rules.mk | 2 +- keyboards/atomic/keymaps/twolayer.c | 63 - keyboards/atomic/keymaps/twolayer/keymap.c | 46 + keyboards/atomic/rules.mk | 28 +- keyboards/atreus/astar/rules.mk | 7 - keyboards/atreus/astar_mirrored/rules.mk | 7 - keyboards/atreus/feather/rules.mk | 7 - keyboards/atreus/keymaps/erlandsona/keymap.c | 15 +- keyboards/atreus/keymaps/khitsule/keymap.c | 24 - .../keymaps/manna-harbour_miryoku/config.h | 22 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + .../atreus/keymaps/replicaJunction/config.h | 56 +- .../atreus/keymaps/replicaJunction/keymap.c | 135 +- .../replicaJunction/kle/base-layer.txt | 34 - .../keymaps/replicaJunction/kle/e-layer.txt | 34 - .../keymaps/replicaJunction/kle/fn-layer.txt | 35 - .../keymaps/replicaJunction/kle/i-layer.txt | 34 - .../keymaps/replicaJunction/kle/r-layer.txt | 34 - .../replicaJunction/kle/space-layer.txt | 34 - .../atreus/keymaps/replicaJunction/readme.md | 102 +- .../atreus/keymaps/replicaJunction/rules.mk | 34 +- .../atreus/keymaps/ridingqwerty/rules.mk | 7 +- keyboards/atreus/keymaps/xk/rules.mk | 2 +- keyboards/atreus/promicro/rules.mk | 7 - keyboards/atreus/rules.mk | 3 +- keyboards/atreus/teensy2/rules.mk | 7 - keyboards/atreus62/atreus62.h | 21 +- keyboards/atreus62/keymaps/194h/keymap.c | 2 +- keyboards/atreus62/keymaps/atreus52/README.md | 10 - keyboards/atreus62/keymaps/atreus52/config.h | 16 - keyboards/atreus62/keymaps/atreus52/keymap.c | 88 - keyboards/atreus62/keymaps/atreus52/rules.mk | 4 - keyboards/atreus62/rules.mk | 11 +- keyboards/atxkb/1894/rules.mk | 10 +- keyboards/aves65/aves65.c | 17 + keyboards/aves65/aves65.h | 138 + keyboards/aves65/info.json | 632 ++- keyboards/aves65/keymaps/default/keymap.c | 62 +- keyboards/aves65/keymaps/via/keymap.c | 58 + .../{bm16s => aves65}/keymaps/via/rules.mk | 0 keyboards/aves65/rules.mk | 16 +- keyboards/axolstudio/helpo/rules.mk | 4 +- keyboards/axolstudio/yeti/rules.mk | 2 +- keyboards/baguette/baguette.c | 20 - keyboards/baguette/config.h | 20 - keyboards/baguette/keymaps/default/keymap.c | 18 - keyboards/baguette/keymaps/iso/keymap.c | 18 - keyboards/baguette/rules.mk | 10 +- keyboards/bakeneko60/rules.mk | 2 +- keyboards/bakeneko65/bakeneko65.c | 17 - keyboards/bakeneko65/config.h | 109 - keyboards/bakeneko65/info.json | 313 -- .../bakeneko65/keymaps/default/readme.md | 1 - keyboards/bakeneko65/readme.md | 17 - keyboards/bakeneko65/rev2/config.h | 109 + keyboards/bakeneko65/rev2/info.json | 313 ++ .../{ => rev2}/keymaps/default/keymap.c | 0 .../bakeneko65/rev2/keymaps/default/readme.md | 1 + .../{ => rev2}/keymaps/via/keymap.c | 0 .../rev2}/keymaps/via/rules.mk | 0 keyboards/bakeneko65/rev2/readme.md | 17 + keyboards/bakeneko65/rev2/rev2.c | 17 + .../bakeneko65/{bakeneko65.h => rev2/rev2.h} | 0 keyboards/bakeneko65/rev2/rules.mk | 24 + keyboards/bakeneko65/rev3/config.h | 109 + keyboards/bakeneko65/rev3/info.json | 12 + .../bakeneko65/rev3/keymaps/default/keymap.c | 38 + .../bakeneko65/rev3/keymaps/default/readme.md | 1 + .../bakeneko65/rev3/keymaps/via/keymap.c | 54 + .../rev3}/keymaps/via/rules.mk | 0 keyboards/bakeneko65/rev3/readme.md | 17 + keyboards/bakeneko65/rev3/rev3.c | 17 + keyboards/bakeneko65/rev3/rev3.h | 33 + keyboards/bakeneko65/rev3/rules.mk | 22 + keyboards/bakeneko65/rules.mk | 24 - keyboards/bakeneko80/config.h | 19 - keyboards/bakeneko80/rules.mk | 10 +- keyboards/bantam44/rules.mk | 12 +- keyboards/barleycorn/readme.md | 2 +- keyboards/barleycorn/rules.mk | 4 +- keyboards/barleycorn_smd/rules.mk | 2 +- keyboards/barracuda/info.json | 2 +- keyboards/barracuda/rules.mk | 4 +- .../basekeys/slice/keymaps/default/keymap.c | 2 +- .../keymaps/default_split_left_space/keymap.c | 2 +- keyboards/basekeys/slice/rev1/rules.mk | 9 +- .../rev1_rgb/keymaps/2moons_rgb/keymap.c | 2 +- .../slice/rev1_rgb/keymaps/via/keymap.c | 2 +- keyboards/basekeys/slice/rev1_rgb/rules.mk | 14 +- keyboards/basekeys/trifecta/config.h | 4 +- .../trifecta/keymaps/default/keymap.c | 3 +- .../basekeys/trifecta/keymaps/via/keymap.c | 5 +- keyboards/basekeys/trifecta/rules.mk | 2 +- keyboards/basketweave/config.h | 2 +- .../basketweave/keymaps/default/keymap.c | 3 +- keyboards/basketweave/keymaps/via/keymap.c | 79 + .../keymaps/via/rules.mk | 0 keyboards/basketweave/rules.mk | 4 +- keyboards/bastardkb/scylla/config.h | 57 + keyboards/bastardkb/scylla/info.json | 71 + .../bastardkb/scylla/keymaps/cykedev/config.h | 42 + .../bastardkb/scylla/keymaps/cykedev/keymap.c | 198 + .../bastardkb/scylla/keymaps/cykedev/rules.mk | 4 + .../bastardkb/scylla/keymaps/default/keymap.c | 60 + .../scylla/keymaps/german_gaming/keymap.c | 90 + .../scylla/keymaps/german_gaming/readme.md | 24 + .../scylla/keymaps/german_gaming/rules.mk | 1 + .../bastardkb/scylla/keymaps/xyverz/config.h | 33 + .../bastardkb/scylla/keymaps/xyverz/keymap.c | 100 + keyboards/bastardkb/scylla/readme.md | 22 + keyboards/bastardkb/scylla/rules.mk | 26 + keyboards/bastardkb/scylla/scylla.c | 61 + keyboards/bastardkb/scylla/scylla.h | 42 + keyboards/bastardkb/skeletyl/config.h | 55 + keyboards/bastardkb/skeletyl/info.json | 49 + .../skeletyl/keymaps/default/keymap.c | 70 + keyboards/bastardkb/skeletyl/readme.md | 17 + keyboards/bastardkb/skeletyl/rules.mk | 33 + keyboards/bastardkb/skeletyl/skeletyl.c | 81 + keyboards/bastardkb/skeletyl/skeletyl.h | 38 + keyboards/bastardkb/tbk/rules.mk | 2 +- keyboards/bastardkb/tbkmini/config.h | 13 +- keyboards/bastardkb/tbkmini/rules.mk | 9 +- keyboards/bastardkb/tbkmini/tbkmini.c | 43 +- keyboards/bat43/config.h | 20 - keyboards/bat43/rules.mk | 10 +- keyboards/bear_face/rules.mk | 3 +- keyboards/beatervan/rules.mk | 3 +- keyboards/bemeier/bmek/rev1/rules.mk | 2 +- keyboards/bemeier/bmek/rev2/rules.mk | 2 +- keyboards/bemeier/bmek/rev3/rules.mk | 2 +- keyboards/bfake/rules.mk | 11 +- .../bigseries/1key/keymaps/default/keymap.c | 37 - .../bigseries/1key/keymaps/tester/keymap.c | 37 - keyboards/bigseries/1key/rules.mk | 10 +- .../bigseries/2key/keymaps/default/keymap.c | 41 - .../bigseries/2key/keymaps/lock/keymap.c | 41 - .../bigseries/2key/keymaps/tester/keymap.c | 41 - keyboards/bigseries/2key/rules.mk | 10 +- .../bigseries/3key/keymaps/default/keymap.c | 37 - .../bigseries/3key/keymaps/tester/keymap.c | 41 - keyboards/bigseries/3key/rules.mk | 10 +- keyboards/bigseries/4key/4key.c | 6 - .../bigseries/4key/keymaps/default/keymap.c | 37 - .../bigseries/4key/keymaps/tester/keymap.c | 41 - keyboards/bigseries/4key/rules.mk | 10 +- keyboards/binepad/bn003/rules.mk | 2 +- keyboards/bioi/g60/rules.mk | 8 +- keyboards/bioi/g60ble/rules.mk | 9 +- keyboards/bioi/morgan65/rules.mk | 8 +- keyboards/bioi/s65/rules.mk | 2 +- keyboards/blackplum/rules.mk | 8 +- keyboards/blank_tehnologii/manibus/rules.mk | 2 +- keyboards/blockey/config.h | 20 - keyboards/blockey/keymaps/default/keymap.c | 16 - keyboards/blockey/rules.mk | 10 +- keyboards/bm16a/bm16a.c | 43 - keyboards/bm16a/config.h | 214 - keyboards/bm16a/readme.md | 15 - keyboards/bm16a/rules.mk | 33 - keyboards/bm16s/readme.md | 13 - keyboards/bm16s/rules.mk | 28 - keyboards/bm40hsrgb/config.h | 52 - keyboards/bm40hsrgb/keymaps/signynt/rules.mk | 7 - .../bm40hsrgb/keymaps/signynt_2_loud/rules.mk | 7 - .../keymaps/signynt_2_quiet/rules.mk | 7 - keyboards/bm40hsrgb/readme.md | 21 - keyboards/bm40hsrgb/rules.mk | 26 - keyboards/bm43a/bm43a.c | 51 - keyboards/bm43a/config.h | 72 - keyboards/bm43a/keymaps/stevexyz/readme.md | 25 - keyboards/bm43a/keymaps/stevexyz/rules.mk | 8 - keyboards/bm43a/readme.md | 16 - keyboards/bm43a/rules.mk | 31 - keyboards/bm60poker/config.h | 70 - keyboards/bm60poker/readme.md | 15 - keyboards/bm60poker/rules.mk | 25 - keyboards/bm60rgb/config.h | 58 - keyboards/bm60rgb/info.json | 79 - keyboards/bm60rgb/keymaps/default/keymap.c | 34 - keyboards/bm60rgb/keymaps/via/keymap.c | 47 - keyboards/bm60rgb/readme.md | 13 - keyboards/bm60rgb/rules.mk | 37 - keyboards/bm60rgb_iso/config.h | 72 - keyboards/bm60rgb_iso/info.json | 77 - keyboards/bm60rgb_iso/readme.md | 19 - keyboards/bm60rgb_iso/rules.mk | 25 - keyboards/bm68rgb/bm68rgb.c | 59 - keyboards/bm68rgb/config.h | 144 - keyboards/bm68rgb/keymaps/default/keymap.c | 52 - keyboards/bm68rgb/readme.md | 24 - keyboards/bm68rgb/rules.mk | 27 - keyboards/boardrun/bizarre/rules.mk | 2 +- keyboards/boardrun/classic/rules.mk | 2 +- keyboards/boardsource/3x4/config.h | 22 +- keyboards/boardsource/3x4/rules.mk | 9 +- keyboards/boardsource/4x12/config.h | 20 - keyboards/boardsource/4x12/rules.mk | 10 +- keyboards/boardsource/5x12/config.h | 20 - keyboards/boardsource/5x12/rules.mk | 10 +- keyboards/boardsource/beiwagon/beiwagon.c | 38 + keyboards/boardsource/beiwagon/beiwagon.h | 32 + keyboards/boardsource/beiwagon/config.h | 121 + keyboards/boardsource/beiwagon/info.json | 28 + .../beiwagon/keymaps/default/keymap.c | 47 + .../beiwagon/keymaps/default/readme.md | 1 + .../boardsource/beiwagon/keymaps/via/keymap.c | 47 + .../beiwagon/keymaps/via/readme.md | 1 + .../beiwagon}/keymaps/via/rules.mk | 0 keyboards/boardsource/beiwagon/readme.md | 21 + keyboards/boardsource/beiwagon/rules.mk | 24 + .../boardsource/holiday/spooky/info.json | 2 +- .../holiday/spooky/keymaps/default/keymap.c | 3 +- .../holiday/spooky/keymaps/rip_mx/keymap.c | 64 +- .../holiday/spooky/keymaps/rip_mx/rules.mk | 3 +- .../spooky/keymaps/rip_my_wallet/keymap.c | 64 +- .../spooky/keymaps/rip_my_wallet/rules.mk | 3 +- keyboards/boardsource/holiday/spooky/rules.mk | 4 +- .../microdox/keymaps/cole/keymap.c | 26 +- .../microdox/keymaps/cole/rules.mk | 3 +- .../boardsource/microdox/keymaps/via/keymap.c | 2 +- .../boardsource/microdox/keymaps/via/rules.mk | 3 +- keyboards/boardsource/microdox/rules.mk | 4 +- keyboards/boardsource/technik_o/config.h | 121 + keyboards/boardsource/technik_o/info.json | 64 + .../technik_o/keymaps/default/keymap.c | 53 + .../technik_o/keymaps/default/readme.md | 1 + .../technik_o/keymaps/via/keymap.c | 53 + .../technik_o/keymaps/via/readme.md | 1 + .../technik_o}/keymaps/via/rules.mk | 0 keyboards/boardsource/technik_o/readme.md | 21 + keyboards/boardsource/technik_o/rules.mk | 25 + keyboards/boardsource/technik_o/technik_o.c | 38 + keyboards/boardsource/technik_o/technik_o.h | 31 + keyboards/boardsource/technik_s/config.h | 121 + keyboards/boardsource/technik_s/info.json | 58 + .../technik_s/keymaps/default/keymap.c | 53 + .../technik_s/keymaps/default/readme.md | 1 + .../technik_s/keymaps/via/keymap.c | 53 + .../technik_s/keymaps/via/readme.md | 1 + .../technik_s/keymaps/via}/rules.mk | 0 keyboards/boardsource/technik_s/readme.md | 22 + keyboards/boardsource/technik_s/rules.mk | 25 + keyboards/boardsource/technik_s/technik_s.c | 38 + keyboards/boardsource/technik_s/technik_s.h | 31 + keyboards/boardsource/the_mark/config.h | 9 +- keyboards/boardsource/the_mark/rules.mk | 2 +- keyboards/boardsource/the_mark/the_mark.c | 21 +- .../boardwalk/keymaps/mcallaster/keymap.c | 2 +- keyboards/boardwalk/keymaps/niclake/keymap.c | 15 +- keyboards/boardwalk/keymaps/niclake/rules.mk | 2 +- keyboards/boardwalk/rules.mk | 10 +- keyboards/bop/bop.c | 17 + keyboards/bop/bop.h | 35 + keyboards/bop/config.h | 52 + keyboards/bop/info.json | 138 + keyboards/bop/keymaps/default/keymap.c | 46 + keyboards/bop/keymaps/via/keymap.c | 78 + keyboards/bop/keymaps/via/rules.mk | 3 + keyboards/bop/readme.md | 16 + keyboards/bop/rules.mk | 23 + keyboards/boston/info.json | 27 +- keyboards/boston/keymaps/default/keymap.c | 26 +- .../boston/keymaps/rgb-light-layers/keymap.c | 70 +- keyboards/boston/rules.mk | 5 +- keyboards/boston_meetup/2019/2019.c | 3 +- keyboards/boston_meetup/2019/config.h | 20 - .../2019/keymaps/default/keymap.c | 7 - keyboards/boston_meetup/2019/rules.mk | 6 +- keyboards/botanicalkeyboards/fm2u/rules.mk | 10 +- keyboards/box75/rules.mk | 5 +- keyboards/bpiphany/frosty_flake/config.h | 5 + .../bpiphany/frosty_flake/frosty_flake.h | 30 +- .../frosty_flake/keymaps/QFR_JM/rules.mk | 2 +- .../frosty_flake/keymaps/default/rules.mk | 3 +- .../frosty_flake/keymaps/nikchi/rules.mk | 2 +- .../frosty_flake/keymaps/tkl/rules.mk | 2 +- keyboards/bpiphany/frosty_flake/rules.mk | 10 +- .../kitten_paw/keymaps/default/keymap.c | 16 - .../kitten_paw/keymaps/ickerwx/keymap.c | 154 +- keyboards/bpiphany/kitten_paw/rules.mk | 10 +- keyboards/bpiphany/pegasushoof/2013/2013.c | 34 - keyboards/bpiphany/pegasushoof/2013/2013.h | 18 +- keyboards/bpiphany/pegasushoof/2015/2015.c | 33 - keyboards/bpiphany/pegasushoof/2015/2015.h | 36 +- keyboards/bpiphany/pegasushoof/2015/matrix.c | 12 + .../pegasushoof/keymaps/blowrak/keymap.c | 8 +- .../pegasushoof/keymaps/blowrak/rules.mk | 2 +- .../pegasushoof/keymaps/citadel/rules.mk | 2 +- .../pegasushoof/keymaps/default/rules.mk | 3 +- .../pegasushoof/keymaps/default_jis/rules.mk | 3 +- keyboards/bpiphany/pegasushoof/rules.mk | 10 +- keyboards/bpiphany/sixshooter/rules.mk | 10 +- keyboards/bpiphany/sixshooter/sixshooter.c | 20 - keyboards/bpiphany/tiger_lily/config.h | 9 +- .../tiger_lily/keymaps/default/rules.mk | 3 +- .../tiger_lily/keymaps/default_ansi/rules.mk | 3 +- .../bpiphany/tiger_lily/keymaps/via/config.h | 18 + .../bpiphany/tiger_lily/keymaps/via/keymap.c | 40 + .../bpiphany/tiger_lily/keymaps/via/rules.mk | 13 + keyboards/bpiphany/tiger_lily/rules.mk | 10 +- keyboards/bpiphany/unloved_bastard/config.h | 20 - keyboards/bpiphany/unloved_bastard/info.json | 2 +- .../keymaps/default_ansi/keymap.c | 16 - .../keymaps/default_iso/keymap.c | 16 - keyboards/bpiphany/unloved_bastard/rules.mk | 10 +- keyboards/bt66tech/bt66tech60/rules.mk | 2 +- keyboards/bthlabs/geekpad/config.h | 20 - keyboards/bthlabs/geekpad/geekpad.c | 27 - keyboards/bthlabs/geekpad/rules.mk | 10 +- keyboards/buildakb/potato65/rules.mk | 2 +- keyboards/buildakb/potato65hs/config.h | 63 + keyboards/buildakb/potato65hs/info.json | 84 + .../potato65hs/keymaps/default/keymap.c | 39 + .../potato65hs/keymaps/default/readme.md | 3 + .../buildakb/potato65hs/keymaps/via/keymap.c | 54 + .../buildakb/potato65hs/keymaps/via/readme.md | 3 + .../potato65hs}/keymaps/via/rules.mk | 0 keyboards/buildakb/potato65hs/potato65hs.c | 17 + keyboards/buildakb/potato65hs/potato65hs.h | 33 + keyboards/buildakb/potato65hs/readme.md | 24 + keyboards/buildakb/potato65hs/rules.mk | 24 + keyboards/business_card/alpha/alpha.c | 35 - keyboards/business_card/alpha/config.h | 20 - .../alpha/keymaps/default/keymap.c | 6 +- keyboards/business_card/alpha/rules.mk | 13 +- keyboards/business_card/beta/beta.c | 35 - keyboards/business_card/beta/config.h | 20 - .../beta/keymaps/default/keymap.c | 10 +- keyboards/business_card/beta/rules.mk | 13 +- keyboards/business_card/business_card.c | 35 - keyboards/business_card/rules.mk | 10 +- keyboards/butterstick/butterstick.c | 30 - keyboards/butterstick/rules.mk | 7 - keyboards/c39/keymaps/drashna/config.h | 4 + keyboards/c39/keymaps/drashna/keymap.c | 47 +- keyboards/c39/keymaps/drashna/rules.mk | 7 +- keyboards/c39/keymaps/kuchosauronad0/rules.mk | 2 +- keyboards/c39/rules.mk | 10 +- keyboards/caffeinated/serpent65/chconf.h | 25 + keyboards/caffeinated/serpent65/config.h | 109 + keyboards/caffeinated/serpent65/info.json | 87 + .../serpent65/keymaps/default/keymap.c | 48 + .../serpent65/keymaps/default/readme.md | 1 + .../serpent65/keymaps/via/keymap.c | 64 + .../serpent65/keymaps/via/readme.md | 1 + .../serpent65}/keymaps/via/rules.mk | 0 keyboards/caffeinated/serpent65/readme.md | 23 + keyboards/caffeinated/serpent65/rules.mk | 22 + keyboards/caffeinated/serpent65/serpent65.c | 16 + keyboards/caffeinated/serpent65/serpent65.h | 52 + keyboards/cannonkeys/aella/aella.c | 1 + keyboards/cannonkeys/aella/aella.h | 19 + keyboards/cannonkeys/aella/chconf.h | 31 + keyboards/cannonkeys/aella/config.h | 63 + keyboards/cannonkeys/aella/info.json | 12 + .../cannonkeys/aella/keymaps/default/keymap.c | 48 + .../cannonkeys/aella/keymaps/via/keymap.c | 71 + .../aella}/keymaps/via/rules.mk | 0 keyboards/cannonkeys/aella/readme.md | 10 + keyboards/cannonkeys/aella/rules.mk | 28 + keyboards/cannonkeys/an_c/config.h | 2 + keyboards/cannonkeys/an_c/rules.mk | 13 +- keyboards/cannonkeys/atlas/config.h | 2 + keyboards/cannonkeys/atlas/rules.mk | 7 +- keyboards/cannonkeys/atlas_alps/rules.mk | 2 +- keyboards/cannonkeys/balance/balance.c | 27 + keyboards/cannonkeys/balance/balance.h | 33 + keyboards/cannonkeys/balance/chconf.h | 31 + keyboards/cannonkeys/balance/config.h | 71 + keyboards/cannonkeys/balance/halconf.h | 31 + keyboards/cannonkeys/balance/info.json | 106 + .../balance/keymaps/default/keymap.c | 46 + .../cannonkeys/balance/keymaps/via/keymap.c | 56 + .../balance}/keymaps/via/rules.mk | 0 keyboards/cannonkeys/balance/mcuconf.h | 34 + keyboards/cannonkeys/balance/readme.md | 10 + keyboards/cannonkeys/balance/rules.mk | 29 + keyboards/cannonkeys/bluepill/keyboard.c | 20 - keyboards/cannonkeys/bluepill/ws2812.c | 133 - keyboards/cannonkeys/chimera65/rules.mk | 7 +- keyboards/cannonkeys/db60/config.h | 4 +- keyboards/cannonkeys/db60/db60.h | 82 +- keyboards/cannonkeys/db60/hotswap/config.h | 21 + keyboards/cannonkeys/db60/hotswap/hotswap.h | 63 + keyboards/cannonkeys/db60/hotswap/readme.md | 12 + keyboards/cannonkeys/db60/hotswap/rules.mk | 1 + keyboards/cannonkeys/db60/j02/config.h | 21 + keyboards/cannonkeys/db60/j02/j02.h | 77 + keyboards/cannonkeys/db60/j02/readme.md | 12 + keyboards/cannonkeys/db60/j02/rules.mk | 1 + .../cannonkeys/db60/keymaps/via/keymap.c | 4 +- keyboards/cannonkeys/db60/readme.md | 17 +- keyboards/cannonkeys/db60/rev2/config.h | 21 + keyboards/cannonkeys/db60/rev2/readme.md | 12 + keyboards/cannonkeys/db60/rev2/rev2.h | 77 + keyboards/cannonkeys/db60/rev2/rules.mk | 1 + keyboards/cannonkeys/db60/rules.mk | 13 +- keyboards/cannonkeys/devastatingtkl/config.h | 2 + keyboards/cannonkeys/devastatingtkl/rules.mk | 11 +- keyboards/cannonkeys/instant60/config.h | 2 + keyboards/cannonkeys/instant60/rules.mk | 13 +- keyboards/cannonkeys/instant65/config.h | 2 + keyboards/cannonkeys/instant65/rules.mk | 11 +- keyboards/cannonkeys/iron165/rules.mk | 7 +- keyboards/cannonkeys/obliterated75/config.h | 2 + keyboards/cannonkeys/obliterated75/rules.mk | 12 +- keyboards/cannonkeys/onyx/rules.mk | 11 +- keyboards/cannonkeys/ortho48/ortho48.h | 4 +- keyboards/cannonkeys/ortho48/rules.mk | 6 +- keyboards/cannonkeys/ortho60/ortho60.h | 4 +- keyboards/cannonkeys/ortho60/rules.mk | 6 +- keyboards/cannonkeys/ortho75/info.json | 2 +- keyboards/cannonkeys/ortho75/ortho75.c | 4 +- keyboards/cannonkeys/ortho75/rules.mk | 6 +- keyboards/cannonkeys/practice60/rules.mk | 6 +- keyboards/cannonkeys/practice65/rules.mk | 6 +- keyboards/cannonkeys/rekt1800/rules.mk | 11 +- keyboards/cannonkeys/sagittarius/config.h | 2 + keyboards/cannonkeys/sagittarius/rules.mk | 7 +- .../satisfaction75/bootloader_defs.h | 5 - keyboards/cannonkeys/satisfaction75/config.h | 12 + .../cannonkeys/satisfaction75/i2c_master.c | 124 - keyboards/cannonkeys/satisfaction75/rules.mk | 13 +- .../satisfaction75/satisfaction75.c | 10 +- keyboards/cannonkeys/savage65/config.h | 2 + keyboards/cannonkeys/savage65/rules.mk | 13 +- keyboards/cannonkeys/tmov2/config.h | 2 + keyboards/cannonkeys/tmov2/rules.mk | 13 +- keyboards/cannonkeys/tsukuyomi/config.h | 2 + keyboards/cannonkeys/tsukuyomi/rules.mk | 13 +- keyboards/cannonkeys/vicious40/chconf.h | 31 + keyboards/cannonkeys/vicious40/config.h | 70 + keyboards/cannonkeys/vicious40/halconf.h | 27 + keyboards/cannonkeys/vicious40/info.json | 12 + .../vicious40/keymaps/default/keymap.c | 52 + .../cannonkeys/vicious40/keymaps/via/keymap.c | 60 + .../vicious40}/keymaps/via/rules.mk | 0 keyboards/cannonkeys/vicious40/mcuconf.h | 28 + keyboards/cannonkeys/vicious40/readme.md | 12 + keyboards/cannonkeys/vicious40/rules.mk | 28 + keyboards/cannonkeys/vicious40/vicious40.c | 17 + keyboards/cannonkeys/vicious40/vicious40.h | 33 + keyboards/capsunlocked/cu65/cu65.h | 14 + keyboards/capsunlocked/cu65/info.json | 77 + .../cu65/keymaps/default/keymap.c | 24 +- .../capsunlocked/cu65/keymaps/iso/keymap.c | 26 +- .../cu65/keymaps/iso_split_bs/keymap.c | 61 + .../cu65/keymaps/iso_split_bs/readme.md | 1 + keyboards/capsunlocked/cu65/rules.mk | 6 +- keyboards/capsunlocked/cu7/config.h | 72 + keyboards/capsunlocked/cu7/cu7.c | 14 + keyboards/capsunlocked/cu7/cu7.h | 36 + keyboards/capsunlocked/cu7/info.json | 22 + .../capsunlocked/cu7/keymaps/default/keymap.c | 42 + .../cu7/keymaps/default/readme.md | 1 + keyboards/capsunlocked/cu7/readme.md | 15 + keyboards/capsunlocked/cu7/rules.mk | 23 + keyboards/capsunlocked/cu80/v2_ansi/config.h | 33 +- keyboards/capsunlocked/cu80/v2_ansi/info.json | 236 +- .../cu80/v2_ansi/keymaps/default/keymap.c | 4 +- .../cu80/v2_ansi/keymaps/via/keymap.c | 4 +- keyboards/capsunlocked/cu80/v2_ansi/readme.md | 3 +- .../capsunlocked/cu80/v2_ansi/rgb/config.h | 35 + .../capsunlocked/cu80/v2_ansi/rgb/info.json | 8 + .../capsunlocked/cu80/v2_ansi/rgb/readme.md | 3 + .../capsunlocked/cu80/v2_ansi/rgb/rules.mk | 4 + keyboards/capsunlocked/cu80/v2_ansi/rules.mk | 17 +- keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c | 30 + .../capsunlocked/cu80/v2_ansi_rgb/config.h | 55 - .../capsunlocked/cu80/v2_ansi_rgb/info.json | 100 - .../cu80/v2_ansi_rgb/keymaps/default/keymap.c | 38 - .../v2_ansi_rgb/keymaps/default/readme.md | 3 - .../cu80/v2_ansi_rgb/keymaps/via/keymap.c | 55 - .../capsunlocked/cu80/v2_ansi_rgb/readme.md | 18 - .../capsunlocked/cu80/v2_ansi_rgb/rules.mk | 28 - .../cu80/v2_ansi_rgb/v2_ansi_rgb.c | 67 - .../cu80/v2_ansi_rgb/v2_ansi_rgb.h | 46 - keyboards/capsunlocked/cu80/v2_iso/config.h | 32 +- keyboards/capsunlocked/cu80/v2_iso/info.json | 238 +- .../cu80/v2_iso/keymaps/default/keymap.c | 2 +- .../cu80/v2_iso/keymaps/via/keymap.c | 2 +- keyboards/capsunlocked/cu80/v2_iso/readme.md | 3 +- .../capsunlocked/cu80/v2_iso/rgb/config.h | 34 + .../capsunlocked/cu80/v2_iso/rgb/info.json | 8 + .../capsunlocked/cu80/v2_iso/rgb/readme.md | 3 + .../capsunlocked/cu80/v2_iso/rgb/rules.mk | 4 + keyboards/capsunlocked/cu80/v2_iso/rules.mk | 17 +- keyboards/capsunlocked/cu80/v2_iso/v2_iso.c | 24 + .../capsunlocked/cu80/v2_iso_rgb/config.h | 52 - .../capsunlocked/cu80/v2_iso_rgb/info.json | 101 - .../cu80/v2_iso_rgb/keymaps/default/keymap.c | 38 - .../cu80/v2_iso_rgb/keymaps/default/readme.md | 3 - .../cu80/v2_iso_rgb/keymaps/via/keymap.c | 55 - .../capsunlocked/cu80/v2_iso_rgb/readme.md | 18 - .../capsunlocked/cu80/v2_iso_rgb/rules.mk | 28 - .../capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.c | 64 - .../capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.h | 46 - keyboards/carbo65/carbo65.c | 21 + keyboards/carbo65/carbo65.h | 34 + keyboards/carbo65/config.h | 80 + keyboards/carbo65/info.json | 12 + keyboards/carbo65/keymaps/default/keymap.c | 32 + keyboards/carbo65/keymaps/default/readme.md | 5 + keyboards/carbo65/keymaps/via/keymap.c | 46 + keyboards/carbo65/keymaps/via/readme.md | 5 + .../{xd96 => carbo65}/keymaps/via/rules.mk | 0 keyboards/carbo65/readme.md | 32 + keyboards/carbo65/rules.mk | 27 + keyboards/cassette42/common/oled_helper.c | 2 +- keyboards/cassette42/common/oled_helper.h | 4 +- keyboards/cassette42/keymaps/default/keymap.c | 15 +- keyboards/cassette42/rules.mk | 5 +- keyboards/catch22/rules.mk | 9 +- keyboards/centromere/centromere.c | 10 +- .../centromere/keymaps/default_u2/rules.mk | 7 - keyboards/centromere/rules.mk | 10 +- keyboards/cest73/tkm/config.h | 55 + keyboards/cest73/tkm/info.json | 128 + keyboards/cest73/tkm/keymaps/default/keymap.c | 79 + keyboards/cest73/tkm/readme.md | 22 + keyboards/cest73/tkm/rules.mk | 22 + keyboards/cest73/tkm/tkm.c | 16 + keyboards/cest73/tkm/tkm.h | 66 + keyboards/charue/sunsetter/chconf.h | 31 + keyboards/charue/sunsetter/config.h | 38 + keyboards/charue/sunsetter/info.json | 441 ++ .../charue/sunsetter/keymaps/default/keymap.c | 26 + .../sunsetter/keymaps/default_all/keymap.c | 26 + .../sunsetter/keymaps/default_iso/keymap.c | 26 + .../charue/sunsetter/keymaps/via/keymap.c | 44 + .../charue/sunsetter/keymaps/via/rules.mk | 1 + keyboards/charue/sunsetter/mcuconf.h | 28 + keyboards/charue/sunsetter/readme.md | 19 + keyboards/charue/sunsetter/rules.mk | 25 + keyboards/charue/sunsetter/sunsetter.c | 18 + keyboards/charue/sunsetter/sunsetter.h | 114 + keyboards/chavdai40/bootloader_defs.h | 5 - keyboards/chavdai40/rev1/rules.mk | 7 +- keyboards/chavdai40/rev2/rules.mk | 7 +- keyboards/checkerboards/axon40/axon40.c | 17 + keyboards/checkerboards/axon40/axon40.h | 33 + keyboards/checkerboards/axon40/config.h | 56 + keyboards/checkerboards/axon40/info.json | 12 + .../axon40/keymaps/default/config.h | 20 + .../axon40/keymaps/default/keymap.c | 86 + .../axon40/keymaps/default/readme.md | 2 + .../axon40/keymaps/npspears/config.h | 20 + .../axon40/keymaps/npspears/keymap.c | 85 + .../checkerboards/axon40/keymaps/via/keymap.c | 109 + .../checkerboards/axon40/keymaps/via/rules.mk | 1 + keyboards/checkerboards/axon40/readme.md | 15 + keyboards/checkerboards/axon40/rules.mk | 22 + .../candybar_ortho/candybar_ortho.c | 17 + .../candybar_ortho/candybar_ortho.h | 67 + .../checkerboards/candybar_ortho/config.h | 55 + .../checkerboards/candybar_ortho/info.json | 18 + .../candybar_ortho/keymaps/2x3u/config.h | 20 + .../candybar_ortho/keymaps/2x3u/keymap.c | 83 + .../candybar_ortho/keymaps/7u/config.h | 20 + .../candybar_ortho/keymaps/7u/keymap.c | 83 + .../candybar_ortho/keymaps/default/config.h | 20 + .../candybar_ortho/keymaps/default/keymap.c | 83 + .../candybar_ortho/keymaps/default/readme.md | 2 + .../candybar_ortho/keymaps/via/config.h | 20 + .../candybar_ortho/keymaps/via/keymap.c | 83 + .../candybar_ortho/keymaps/via/readme.md | 2 + .../candybar_ortho/keymaps/via/rules.mk | 2 + .../checkerboards/candybar_ortho/readme.md | 13 + .../checkerboards/candybar_ortho/rules.mk | 22 + keyboards/checkerboards/g_idb60/config.h | 48 + keyboards/checkerboards/g_idb60/g_idb60.c | 18 + keyboards/checkerboards/g_idb60/g_idb60.h | 36 + keyboards/checkerboards/g_idb60/info.json | 12 + .../g_idb60/keymaps/default/config.h | 24 + .../g_idb60/keymaps/default/keymap.c | 85 + .../g_idb60/keymaps/via/config.h | 22 + .../g_idb60/keymaps/via/keymap.c | 85 + .../g_idb60/keymaps/via/rules.mk | 1 + keyboards/checkerboards/g_idb60/readme.md | 15 + keyboards/checkerboards/g_idb60/rules.mk | 22 + keyboards/checkerboards/nop60/config.h | 64 + keyboards/checkerboards/nop60/info.json | 155 + .../checkerboards/nop60/keymaps/7u/config.h | 25 + .../checkerboards/nop60/keymaps/7u/keymap.c | 85 + .../nop60/keymaps/default/config.h | 23 + .../nop60/keymaps/default/keymap.c | 83 + .../checkerboards/nop60/keymaps/via/config.h | 22 + .../checkerboards/nop60/keymaps/via/keymap.c | 100 + .../checkerboards/nop60/keymaps/via/rules.mk | 1 + keyboards/checkerboards/nop60/nop60.c | 18 + keyboards/checkerboards/nop60/nop60.h | 49 + keyboards/checkerboards/nop60/readme.md | 13 + keyboards/checkerboards/nop60/rules.mk | 22 + .../checkerboards/quark_squared/config.h | 55 + .../checkerboards/quark_squared/info.json | 15 + .../quark_squared/keymaps/2u/config.h | 19 + .../quark_squared/keymaps/2u/keymap.c | 80 + .../quark_squared/keymaps/default/config.h | 19 + .../quark_squared/keymaps/default/keymap.c | 80 + .../quark_squared/keymaps/via/config.h | 19 + .../quark_squared/keymaps/via/keymap.c | 102 + .../quark_squared/keymaps/via/rules.mk | 1 + .../quark_squared/quark_squared.c | 17 + .../quark_squared/quark_squared.h | 46 + .../checkerboards/quark_squared/readme.md | 15 + .../checkerboards/quark_squared/rules.mk | 27 + .../checkerboards/ud40_ortho_alt/config.h | 55 + .../checkerboards/ud40_ortho_alt/info.json | 24 + .../ud40_ortho_alt/keymaps/2x3u_alt/config.h | 19 + .../ud40_ortho_alt/keymaps/2x3u_alt/keymap.c | 80 + .../ud40_ortho_alt/keymaps/600u/config.h | 19 + .../ud40_ortho_alt/keymaps/600u/keymap.c | 80 + .../ud40_ortho_alt/keymaps/600u_alt/config.h | 19 + .../ud40_ortho_alt/keymaps/600u_alt/keymap.c | 80 + .../ud40_ortho_alt/keymaps/700u/config.h | 19 + .../ud40_ortho_alt/keymaps/700u/keymap.c | 80 + .../ud40_ortho_alt/keymaps/default/config.h | 19 + .../ud40_ortho_alt/keymaps/default/keymap.c | 80 + .../ud40_ortho_alt/keymaps/default/readme.md | 4 + .../ud40_ortho_alt/keymaps/npspears/config.h | 19 + .../ud40_ortho_alt/keymaps/npspears/keymap.c | 80 + .../ud40_ortho_alt/keymaps/npspears/readme.md | 4 + .../ud40_ortho_alt/keymaps/via/keymap.c | 100 + .../ud40_ortho_alt/keymaps/via/rules.mk | 1 + .../checkerboards/ud40_ortho_alt/readme.md | 17 + .../checkerboards/ud40_ortho_alt/rules.mk | 24 + .../ud40_ortho_alt/ud40_ortho_alt.c | 17 + .../ud40_ortho_alt/ud40_ortho_alt.h | 81 + keyboards/cherrybstudio/cb1800/cb1800.c | 14 + keyboards/cherrybstudio/cb1800/cb1800.h | 38 + keyboards/cherrybstudio/cb1800/config.h | 63 + keyboards/cherrybstudio/cb1800/info.json | 128 + .../cb1800/keymaps/default/keymap.c | 36 + .../cb1800/keymaps/default/readme.md | 1 + .../cherrybstudio/cb1800/keymaps/via/keymap.c | 56 + .../cherrybstudio/cb1800/keymaps/via/rules.mk | 2 + keyboards/cherrybstudio/cb1800/readme.md | 26 + keyboards/cherrybstudio/cb1800/rules.mk | 22 + keyboards/cherrybstudio/cb87/cb87.c | 14 + keyboards/cherrybstudio/cb87/cb87.h | 73 + keyboards/cherrybstudio/cb87/config.h | 63 + keyboards/cherrybstudio/cb87/info.json | 295 ++ .../cb87/keymaps/default/keymap.c | 34 + .../cb87/keymaps/default/readme.md | 1 + .../cherrybstudio/cb87/keymaps/via/keymap.c | 50 + .../cherrybstudio/cb87/keymaps/via/rules.mk | 2 + keyboards/cherrybstudio/cb87/readme.md | 26 + keyboards/cherrybstudio/cb87/rules.mk | 24 + keyboards/cheshire/curiosity/rules.mk | 5 +- keyboards/chidori/config.h | 20 - .../chidori/keymaps/oled_sample/keymap.c | 2 +- .../chidori/keymaps/oled_sample/rules.mk | 3 +- keyboards/chidori/rules.mk | 12 +- keyboards/chili/config.h | 20 - keyboards/chili/rules.mk | 10 +- keyboards/chimera_ergo/chimera_ergo.h | 15 - keyboards/chimera_ergo/rules.mk | 12 +- keyboards/chimera_ls/chimera_ls.h | 13 - keyboards/chimera_ls/rules.mk | 12 +- keyboards/chimera_ortho/chimera_ortho.h | 14 - .../chimera_ortho/keymaps/dcompact/config.h | 9 - .../chimera_ortho/keymaps/dcompact/keymap.c | 119 - .../chimera_ortho/keymaps/dcompact/readme.md | 45 - .../chimera_ortho/keymaps/gordon/keymap.c | 363 -- keyboards/chimera_ortho/rules.mk | 12 +- keyboards/chimera_ortho_plus/rules.mk | 12 +- keyboards/chlx/merro60/config.h | 58 + keyboards/chlx/merro60/info.json | 509 ++ keyboards/chlx/merro60/keymaps/ansi/keymap.c | 35 + .../chlx/merro60/keymaps/default/keymap.c | 35 + keyboards/chlx/merro60/keymaps/hhkb/keymap.c | 35 + keyboards/chlx/merro60/keymaps/iso/keymap.c | 35 + .../chlx/merro60/keymaps/tsangan/keymap.c | 35 + keyboards/chlx/merro60/keymaps/via/keymap.c | 51 + keyboards/chlx/merro60/keymaps/via/rules.mk | 3 + keyboards/chlx/merro60/merro60.c | 19 + keyboards/chlx/merro60/merro60.h | 214 + keyboards/chlx/merro60/readme.md | 20 + keyboards/chlx/merro60/rules.mk | 24 + keyboards/choc_taro/config.h | 20 - keyboards/choc_taro/rules.mk | 10 +- keyboards/choco60/rev1/rules.mk | 2 +- keyboards/choco60/rev2/config.h | 3 +- keyboards/choco60/rev2/rules.mk | 2 +- keyboards/christmas_tree/christmas_tree.c | 4 - keyboards/christmas_tree/rules.mk | 11 +- keyboards/ck60i/ck60i.c | 6 +- keyboards/ck60i/info.json | 82 + keyboards/ck60i/rules.mk | 5 +- keyboards/ckeys/handwire_101/config.h | 24 +- keyboards/ckeys/handwire_101/handwire_101.c | 43 +- keyboards/ckeys/handwire_101/handwire_101.h | 23 +- keyboards/ckeys/handwire_101/info.json | 42 +- .../handwire_101/keymaps/default/config.h | 3 - .../handwire_101/keymaps/default/keymap.c | 326 +- keyboards/ckeys/handwire_101/rules.mk | 11 +- keyboards/ckeys/nakey/config.h | 20 - .../ckeys/nakey/keymaps/default/keymap.c | 16 - keyboards/ckeys/nakey/nakey.c | 27 - keyboards/ckeys/nakey/rules.mk | 10 +- keyboards/ckeys/obelus/obelus.c | 17 - keyboards/ckeys/obelus/rules.mk | 11 +- keyboards/ckeys/thedora/config.h | 20 - .../ckeys/thedora/keymaps/default/keymap.c | 3 +- keyboards/ckeys/thedora/readme.md | 3 +- keyboards/ckeys/thedora/rules.mk | 8 +- keyboards/ckeys/thedora/thedora.c | 27 - keyboards/ckeys/washington/config.h | 20 - .../ckeys/washington/keymaps/default/keymap.c | 7 +- keyboards/ckeys/washington/rules.mk | 13 +- keyboards/claw44/keymaps/oled/keymap.c | 2 +- keyboards/claw44/keymaps/oled/rules.mk | 3 +- keyboards/claw44/rev1/rev1.h | 13 - keyboards/claw44/rev1/rules.mk | 4 +- keyboards/claw44/rules.mk | 9 +- keyboards/clawsome/bookerboard/rules.mk | 10 +- keyboards/clawsome/coupe/rules.mk | 3 +- keyboards/clawsome/doodle/config.h | 45 + keyboards/clawsome/doodle/doodle.c | 17 + keyboards/clawsome/doodle/doodle.h | 27 + keyboards/clawsome/doodle/info.json | 20 + .../clawsome/doodle/keymaps/default/keymap.c | 25 + keyboards/clawsome/doodle/rules.mk | 22 + keyboards/clawsome/fightpad/rules.mk | 2 +- keyboards/clawsome/gamebuddy/config.h | 36 - keyboards/clawsome/gamebuddy/gamebuddy.c | 16 - keyboards/clawsome/gamebuddy/info.json | 41 - keyboards/clawsome/gamebuddy/rules.mk | 24 - keyboards/clawsome/gamebuddy/v1_0/config.h | 36 + keyboards/clawsome/gamebuddy/v1_0/info.json | 41 + .../{ => v1_0}/keymaps/default/keymap.c | 0 .../clawsome/gamebuddy/{ => v1_0}/readme.md | 0 keyboards/clawsome/gamebuddy/v1_0/rules.mk | 23 + keyboards/clawsome/gamebuddy/v1_0/v1_0.c | 16 + .../gamebuddy/{gamebuddy.h => v1_0/v1_0.h} | 0 keyboards/clawsome/gamebuddy/v1_m/config.h | 45 + keyboards/clawsome/gamebuddy/v1_m/info.json | 41 + .../gamebuddy/v1_m/keymaps/default/keymap.c | 29 + keyboards/clawsome/gamebuddy/v1_m/readme.md | 13 + keyboards/clawsome/gamebuddy/v1_m/rules.mk | 22 + keyboards/clawsome/gamebuddy/v1_m/v1_m.c | 16 + keyboards/clawsome/gamebuddy/v1_m/v1_m.h | 33 + keyboards/clawsome/hatchback/config.h | 45 + keyboards/clawsome/hatchback/hatchback.c | 17 + keyboards/clawsome/hatchback/hatchback.h | 43 + keyboards/clawsome/hatchback/info.json | 102 + .../hatchback/keymaps/default/keymap.c | 30 + keyboards/clawsome/hatchback/readme.md | 14 + keyboards/clawsome/hatchback/rules.mk | 22 + keyboards/clawsome/luggage_rack/config.h | 45 + keyboards/clawsome/luggage_rack/info.json | 26 + .../luggage_rack/keymaps/default/keymap.c | 29 + .../clawsome/luggage_rack/luggage_rack.c | 17 + .../clawsome/luggage_rack/luggage_rack.h | 38 + keyboards/clawsome/luggage_rack/readme.md | 13 + keyboards/clawsome/luggage_rack/rules.mk | 22 + keyboards/clawsome/numeros/rules.mk | 2 +- keyboards/clawsome/roadster/rules.mk | 2 +- keyboards/clawsome/sedan/config.h | 4 +- .../clawsome/sedan/keymaps/default/keymap.c | 2 +- keyboards/clawsome/sedan/rules.mk | 3 +- keyboards/clawsome/sidekick/rules.mk | 3 +- keyboards/clawsome/suv/config.h | 45 + keyboards/clawsome/suv/info.json | 120 + .../clawsome/suv/keymaps/default/keymap.c | 30 + keyboards/clawsome/suv/readme.md | 13 + keyboards/clawsome/suv/rules.mk | 22 + keyboards/clawsome/suv/suv.c | 17 + keyboards/clawsome/suv/suv.h | 41 + keyboards/clueboard/2x1800/2019/2019.c | 11 +- keyboards/clueboard/2x1800/2019/2019.h | 3 +- .../ibm_5291 => clueboard/2x1800/2021}/.noci | 0 keyboards/clueboard/2x1800/2021/2021.c | 154 + keyboards/clueboard/2x1800/2021/2021.h | 18 + keyboards/clueboard/2x1800/2021/config.h | 96 + keyboards/clueboard/2x1800/2021/font.h | 156 + keyboards/clueboard/2x1800/2021/info.json | 425 ++ .../2x1800/2021/keymaps/default/keymap.json | 18 + .../2x1800/2021/keymaps/default_4u/keymap.c | 28 + .../2x1800/2021/keymaps/default_4u/readme.md | 1 + .../2x1800/2021/keymaps/default_7u/keymap.c | 49 + .../2x1800/2021/keymaps/default_7u/readme.md | 1 + .../2x1800/2021/keymaps/signboard/config.h | 20 + .../2x1800/2021/keymaps/signboard/keymap.c | 50 + .../2x1800/2021/keymaps/signboard/readme.md | 1 + keyboards/clueboard/2x1800/2021/max7219.c | 318 ++ keyboards/clueboard/2x1800/2021/max7219.h | 87 + keyboards/clueboard/2x1800/2021/readme.md | 17 + keyboards/clueboard/2x1800/2021/rules.mk | 1 + keyboards/clueboard/60/60.c | 8 - keyboards/clueboard/60/config.h | 6 - .../clueboard/66/keymaps/magicmonty/keymap.c | 30 +- .../clueboard/66/keymaps/tetris/keymap.c | 126 +- keyboards/clueboard/66/rev4/config.h | 6 - keyboards/clueboard/66/rev4/rev4.c | 8 +- keyboards/clueboard/66_hotswap/gen1/config.h | 26 - keyboards/clueboard/66_hotswap/gen1/gen1.c | 4 +- .../66_hotswap/gen1/keymaps/66_ansi/keymap.c | 52 + .../{ => gen1}/keymaps/66_ansi/readme.md | 0 .../66_hotswap/gen1/keymaps/default/keymap.c | 139 + .../{ => gen1}/keymaps/default/readme.md | 0 .../{ => gen1}/keymaps/json/keymap.json | 0 .../66_hotswap/keymaps/66_ansi/keymap.c | 36 - .../66_hotswap/keymaps/default/keymap.c | 123 - .../prototype/keymaps/66_ansi/keymap.c | 52 + .../prototype/keymaps/66_ansi/readme.md | 11 + .../prototype/keymaps/default/keymap.c | 139 + .../prototype/keymaps/default/readme.md | 8 + .../clueboard/card/keymaps/default/keymap.c | 10 - .../clueboard/card/keymaps/default/rules.mk | 3 +- .../card/keymaps/rgb_effects/keymap.c | 14 - .../card/keymaps/rgb_effects/rules.mk | 3 +- keyboards/cmm_studio/saka68/hotswap/rules.mk | 2 +- keyboards/cmm_studio/saka68/solder/rules.mk | 2 +- keyboards/coarse/cordillera/config.h | 1 + keyboards/coarse/cordillera/rules.mk | 5 +- .../{peiorisboards => coarse}/ixora/chconf.h | 0 .../{peiorisboards => coarse}/ixora/config.h | 0 .../{peiorisboards => coarse}/ixora/halconf.h | 0 .../{peiorisboards => coarse}/ixora/info.json | 0 .../{peiorisboards => coarse}/ixora/ixora.c | 0 .../{peiorisboards => coarse}/ixora/ixora.h | 0 .../coarse/ixora/keymaps/default/keymap.c | 30 + .../ixora/keymaps/wntrmln/keymap.c | 0 keyboards/coarse/ixora/readme.md | 22 + keyboards/coarse/ixora/rules.mk | 21 + keyboards/{ => coarse}/vinta/chconf.h | 0 keyboards/{ => coarse}/vinta/config.h | 0 keyboards/{ => coarse}/vinta/halconf.h | 0 keyboards/{ => coarse}/vinta/info.json | 0 .../coarse/vinta/keymaps/default/keymap.c | 39 + keyboards/coarse/vinta/readme.md | 22 + keyboards/coarse/vinta/rules.mk | 23 + keyboards/coarse/vinta/vinta.c | 1 + keyboards/{ => coarse}/vinta/vinta.h | 0 keyboards/cocoa40/cocoa40.c | 27 - keyboards/cocoa40/rules.mk | 10 +- keyboards/comet46/comet46.h | 14 - .../comet46/keymaps/default-rgbled/keymap.c | 2 +- keyboards/comet46/keymaps/satt/keymap.c | 82 +- keyboards/comet46/rules.mk | 12 +- keyboards/compound/compound.c | 18 + keyboards/compound/compound.h | 38 + keyboards/compound/config.h | 48 + keyboards/compound/info.json | 79 + keyboards/compound/keymaps/default/keymap.c | 40 + keyboards/compound/keymaps/via/keymap.c | 49 + keyboards/compound/keymaps/via/rules.mk | 1 + keyboards/compound/readme.md | 30 + keyboards/compound/rules.mk | 22 + keyboards/contra/contra.h | 13 - keyboards/contra/keymaps/dana/rules.mk | 2 +- keyboards/contra/keymaps/deastiny/keymap.c | 6 +- .../contra/keymaps/losinggeneration/rules.mk | 2 +- keyboards/contra/keymaps/maxr1998/keymap.c | 8 +- keyboards/contra/rules.mk | 10 +- keyboards/converter/a1200/a1200.c | 16 + keyboards/converter/a1200/a1200.h | 47 + keyboards/converter/a1200/info.json | 112 + .../converter/a1200/keymaps/default/keymap.c | 39 + keyboards/converter/a1200/miss1200/config.h | 62 + keyboards/converter/a1200/miss1200/rules.mk | 22 + keyboards/converter/a1200/readme.md | 55 + keyboards/converter/a1200/teensy2pp/config.h | 61 + keyboards/converter/a1200/teensy2pp/rules.mk | 22 + keyboards/converter/adb_usb/rules.mk | 9 +- keyboards/converter/hp_46010a/rules.mk | 11 +- keyboards/converter/ibm_5291/config.h | 39 - keyboards/converter/ibm_5291/ibm_5291.c | 3 - keyboards/converter/ibm_5291/ibm_5291.h | 69 - keyboards/converter/ibm_5291/info.json | 96 - .../ibm_5291/keymaps/default/keymap.c | 233 - .../keymaps/kbdbabel_doc_ibm5291_kbd.pdf | Bin 13054 -> 0 bytes keyboards/converter/ibm_5291/matrix.c | 284 -- keyboards/converter/ibm_5291/matrix.csv | 96 - keyboards/converter/ibm_5291/readme.md | 72 - keyboards/converter/ibm_5291/rules.mk | 38 - .../ibm_terminal/keymaps/default/rules.mk | 4 +- .../keymaps/dsanchezseco/keymap.c | 58 + .../keymaps/dsanchezseco/rules.mk | 1 + .../ibm_terminal/keymaps/priyadi/rules.mk | 3 +- keyboards/converter/ibm_terminal/rules.mk | 11 +- keyboards/converter/m0110_usb/rules.mk | 9 +- .../modelm101/keymaps/default/keymap.c | 16 - keyboards/converter/modelm101/modelm101.c | 21 - keyboards/converter/modelm101/rules.mk | 10 +- keyboards/converter/modelm_ssk/config.h | 76 + keyboards/converter/modelm_ssk/info.json | 457 ++ .../modelm_ssk/keymaps/default/keymap.c | 114 + .../modelm_ssk/keymaps/default/readme.md | 1 + .../modelm_ssk/keymaps/tiltowait/config.h | 21 + .../modelm_ssk/keymaps/tiltowait/keymap.c | 116 + .../modelm_ssk/keymaps/tiltowait/readme.md | 11 + keyboards/converter/modelm_ssk/modelm_ssk.c | 19 + keyboards/converter/modelm_ssk/modelm_ssk.h | 45 + keyboards/converter/modelm_ssk/readme.md | 55 + keyboards/converter/modelm_ssk/rules.mk | 23 + .../keymaps/default/keymap.c | 20 - .../numeric_keypad_IIe/numeric_keypad_IIe.c | 27 - .../converter/numeric_keypad_IIe/rules.mk | 10 +- keyboards/converter/palm_usb/rules.mk | 10 +- keyboards/converter/periboard_512/config.h | 32 + keyboards/converter/periboard_512/info.json | 128 + .../periboard_512/keymaps/default/keymap.c | 56 + .../converter/periboard_512/periboard_512.c | 17 + .../converter/periboard_512/periboard_512.h | 39 + keyboards/converter/periboard_512/readme.md | 21 + keyboards/converter/periboard_512/rules.mk | 22 + keyboards/converter/siemens_tastatur/config.h | 4 +- .../siemens_tastatur/keymaps/default/keymap.c | 4 - keyboards/converter/siemens_tastatur/rules.mk | 2 +- .../siemens_tastatur/siemens_tastatur.c | 28 - keyboards/converter/sun_usb/rules.mk | 10 +- keyboards/converter/usb_usb/ble/rules.mk | 3 +- .../converter/usb_usb/keymaps/narze/README.md | 2 +- keyboards/converter/usb_usb/rules.mk | 9 +- keyboards/converter/usb_usb/usb_usb.h | 129 +- keyboards/converter/xt_usb/config.h | 63 +- keyboards/converter/xt_usb/info.json | 450 +- .../converter/xt_usb/keymaps/default/config.h | 1 - .../converter/xt_usb/keymaps/default/keymap.c | 27 +- keyboards/converter/xt_usb/matrix.c | 81 +- keyboards/converter/xt_usb/rules.mk | 35 +- keyboards/converter/xt_usb/xt_usb.h | 90 +- keyboards/cool836a/rules.mk | 2 +- .../copenhagen_click/click_pad_v1/config.h | 20 - .../click_pad_v1/keymaps/default/keymap.c | 8 - .../copenhagen_click/click_pad_v1/rules.mk | 10 +- keyboards/coseyfannitutti/discipad/config.h | 20 - keyboards/coseyfannitutti/discipad/rules.mk | 12 +- keyboards/coseyfannitutti/discipline/config.h | 20 - .../coseyfannitutti/discipline/discipline.h | 12 +- .../coseyfannitutti/discipline/info.json | 616 ++- .../discipline/keymaps/noroadsleft/config.h | 20 + .../discipline/keymaps/noroadsleft/keymap.c | 72 + .../discipline/keymaps/noroadsleft/rules.mk | 1 + keyboards/coseyfannitutti/discipline/rules.mk | 12 +- keyboards/coseyfannitutti/mullet/config.h | 20 - keyboards/coseyfannitutti/mullet/mullet.c | 7 - keyboards/coseyfannitutti/mullet/rules.mk | 10 +- keyboards/coseyfannitutti/mulletpad/config.h | 22 +- .../coseyfannitutti/mulletpad/mulletpad.c | 7 - keyboards/coseyfannitutti/mulletpad/rules.mk | 10 +- keyboards/coseyfannitutti/mysterium/config.h | 20 - .../mysterium/keymaps/ansi_7u/keymap.c | 2 +- .../mysterium/keymaps/default/keymap.c | 2 +- .../mysterium/keymaps/iso/keymap.c | 2 +- .../mysterium/keymaps/via/keymap.c | 2 +- .../coseyfannitutti/mysterium/mysterium.h | 10 +- keyboards/coseyfannitutti/mysterium/rules.mk | 12 +- keyboards/coseyfannitutti/romeo/config.h | 20 - keyboards/coseyfannitutti/romeo/rules.mk | 12 +- keyboards/cospad/config.h | 223 - keyboards/cospad/info.json | 172 - keyboards/cospad/keymaps/detrus/keymap.c | 367 -- keyboards/cospad/readme.md | 18 - keyboards/cospad/rules.mk | 32 - keyboards/cozykeys/bloomer/bloomer.c | 17 + keyboards/cozykeys/bloomer/bloomer.h | 23 + keyboards/cozykeys/bloomer/config.h | 53 + keyboards/cozykeys/bloomer/readme.md | 23 + keyboards/cozykeys/bloomer/v2/config.h | 29 + keyboards/cozykeys/bloomer/v2/info.json | 100 + .../bloomer/v2/keymaps/default/keymap.c | 48 + .../bloomer/v2/keymaps/default/readme.md | 10 + keyboards/cozykeys/bloomer/v2/readme.md | 5 + keyboards/cozykeys/bloomer/v2/rules.mk | 22 + keyboards/cozykeys/bloomer/v2/v2.c | 17 + keyboards/cozykeys/bloomer/v2/v2.h | 38 + keyboards/cozykeys/bloomer/v3/config.h | 29 + keyboards/cozykeys/bloomer/v3/info.json | 103 + .../bloomer/v3/keymaps/default/keymap.c | 48 + .../bloomer/v3/keymaps/default/readme.md | 10 + keyboards/cozykeys/bloomer/v3/readme.md | 5 + keyboards/cozykeys/bloomer/v3/rules.mk | 22 + keyboards/cozykeys/bloomer/v3/v3.c | 17 + keyboards/cozykeys/bloomer/v3/v3.h | 36 + keyboards/cozykeys/speedo/v2/rules.mk | 2 +- keyboards/cozykeys/speedo/v3/rules.mk | 2 +- keyboards/craftwalk/rules.mk | 2 +- keyboards/crawlpad/keymaps/default/keymap.c | 37 - keyboards/crawlpad/rules.mk | 9 +- keyboards/crazy_keyboard_68/rules.mk | 2 +- keyboards/crbn/crbn.c | 4 +- keyboards/crbn/keymaps/via/keymap.c | 45 + .../genesis => crbn}/keymaps/via/rules.mk | 0 keyboards/crbn/rules.mk | 2 +- keyboards/crin/config.h | 38 + keyboards/crin/crin.c | 18 + keyboards/crin/crin.h | 112 + keyboards/crin/info.json | 411 ++ keyboards/crin/keymaps/default/keymap.c | 63 + keyboards/crin/keymaps/via/keymap.c | 63 + keyboards/crin/keymaps/via/rules.mk | 1 + keyboards/crin/readme.md | 24 + keyboards/crin/rules.mk | 25 + keyboards/crkbd/config.h | 21 +- keyboards/crkbd/crkbd.c | 3 +- keyboards/crkbd/keymaps/armand1m/config.h | 3 + keyboards/crkbd/keymaps/armand1m/keymap.c | 137 +- keyboards/crkbd/keymaps/armand1m/readme.md | 31 +- keyboards/crkbd/keymaps/armand1m/rules.mk | 3 +- keyboards/crkbd/keymaps/curry/rules.mk | 4 +- keyboards/crkbd/keymaps/davidrambo/config.h | 84 + keyboards/crkbd/keymaps/davidrambo/keymap.c | 126 + keyboards/crkbd/keymaps/davidrambo/readme.md | 1 + keyboards/crkbd/keymaps/davidrambo/rules.mk | 3 + keyboards/crkbd/keymaps/default/keymap.c | 9 +- keyboards/crkbd/keymaps/default/rules.mk | 3 +- keyboards/crkbd/keymaps/devdev/config.h | 117 + keyboards/crkbd/keymaps/devdev/keymap.c | 410 ++ keyboards/crkbd/keymaps/devdev/rules.mk | 5 + keyboards/crkbd/keymaps/dsanchezseco/keymap.c | 19 +- keyboards/crkbd/keymaps/dsanchezseco/rules.mk | 2 +- keyboards/crkbd/keymaps/edvorakjp/config.h | 26 +- keyboards/crkbd/keymaps/edvorakjp/keymap.c | 121 +- keyboards/crkbd/keymaps/edvorakjp/oled.c | 107 +- keyboards/crkbd/keymaps/edvorakjp/oled.h | 25 +- keyboards/crkbd/keymaps/edvorakjp/rules.mk | 15 +- keyboards/crkbd/keymaps/gotham/config.h | 2 +- keyboards/crkbd/keymaps/gotham/keymap.c | 12 +- keyboards/crkbd/keymaps/gotham/oled.c | 2 +- keyboards/crkbd/keymaps/gotham/rules.mk | 3 +- keyboards/crkbd/keymaps/hvp/config.h | 2 + keyboards/crkbd/keymaps/hvp/keymap.c | 40 +- keyboards/crkbd/keymaps/hvp/rules.mk | 5 +- keyboards/crkbd/keymaps/jarred/config.h | 1 + keyboards/crkbd/keymaps/jarred/keymap.c | 33 +- keyboards/crkbd/keymaps/jarred/rules.mk | 7 +- keyboards/crkbd/keymaps/kidbrazil/config.h | 5 +- keyboards/crkbd/keymaps/kidbrazil/keymap.c | 24 +- keyboards/crkbd/keymaps/kidbrazil/layer.c | 1 + keyboards/crkbd/keymaps/kidbrazil/rules.mk | 6 +- keyboards/crkbd/keymaps/like_jis/config.h | 45 - keyboards/crkbd/keymaps/like_jis/keymap.c | 291 -- .../crkbd/keymaps/like_jis/oled_helper.c | 83 - .../crkbd/keymaps/like_jis/oled_helper.h | 35 - keyboards/crkbd/keymaps/like_jis/rules.mk | 32 - keyboards/crkbd/keymaps/madhatter/config.h | 1 + keyboards/crkbd/keymaps/madhatter/keymap.c | 14 +- keyboards/crkbd/keymaps/madhatter/rules.mk | 3 + .../keymaps/manna-harbour_miryoku/config.h | 16 - .../keymaps/manna-harbour_miryoku/keymap.c | 1 - keyboards/crkbd/keymaps/mcrown/config.h | 86 + keyboards/crkbd/keymaps/mcrown/glcdfont.c | 35 + keyboards/crkbd/keymaps/mcrown/keymap.c | 141 + keyboards/crkbd/keymaps/mcrown/mcrown.h | 109 + keyboards/crkbd/keymaps/mcrown/oled.c | 354 ++ keyboards/crkbd/keymaps/mcrown/oled.h | 34 + keyboards/crkbd/keymaps/mcrown/readme.md | 13 + keyboards/crkbd/keymaps/mcrown/rules.mk | 19 + keyboards/crkbd/keymaps/ninjonas/config.h | 10 +- keyboards/crkbd/keymaps/ninjonas/keymap.c | 4 +- keyboards/crkbd/keymaps/ninjonas/rules.mk | 3 +- keyboards/crkbd/keymaps/oled_sample/keymap.c | 12 +- keyboards/crkbd/keymaps/oled_sample/rules.mk | 3 +- keyboards/crkbd/keymaps/omgvee/config.h | 51 - keyboards/crkbd/keymaps/omgvee/keymap.c | 242 - keyboards/crkbd/keymaps/omgvee/readme.md | 18 - keyboards/crkbd/keymaps/omgvee/rules.mk | 32 - keyboards/crkbd/keymaps/oo/config.h | 28 + keyboards/crkbd/keymaps/oo/keymap.c | 166 + keyboards/crkbd/keymaps/oo/readme.md | 19 + keyboards/crkbd/keymaps/oo/rules.mk | 2 + keyboards/crkbd/keymaps/rarick/config.h | 48 + keyboards/crkbd/keymaps/rarick/glcdfont.c | 233 + keyboards/crkbd/keymaps/rarick/keymap.c | 177 + keyboards/crkbd/keymaps/rarick/rules.mk | 14 + keyboards/crkbd/keymaps/rjhilgefort/keymap.c | 10 +- keyboards/crkbd/keymaps/rjhilgefort/rules.mk | 3 +- keyboards/crkbd/keymaps/rpbaptist/config.h | 4 +- keyboards/crkbd/keymaps/rpbaptist/keymap.c | 23 +- keyboards/crkbd/keymaps/rpbaptist/rules.mk | 5 +- keyboards/crkbd/keymaps/rs/config.h | 2 +- keyboards/crkbd/keymaps/rs/keymap.c | 30 +- keyboards/crkbd/keymaps/rs/oled.c | 2 +- keyboards/crkbd/keymaps/rs/rules.mk | 4 +- keyboards/crkbd/keymaps/snowe/config.h | 55 + .../crkbd/keymaps/snowe/keycode_aliases.h | 81 + keyboards/crkbd/keymaps/snowe/keymap.c | 190 + keyboards/crkbd/keymaps/snowe/rules.mk | 26 + keyboards/crkbd/keymaps/soundmonster/config.h | 4 +- keyboards/crkbd/keymaps/soundmonster/keymap.c | 22 +- keyboards/crkbd/keymaps/soundmonster/rules.mk | 3 +- keyboards/crkbd/keymaps/sulrich/README.md | 72 + keyboards/crkbd/keymaps/sulrich/config.h | 36 + keyboards/crkbd/keymaps/sulrich/keymap.c | 156 + keyboards/crkbd/keymaps/sulrich/rules.mk | 3 + keyboards/crkbd/keymaps/thefrey/README.md | 16 - keyboards/crkbd/keymaps/thefrey/config.h | 45 - keyboards/crkbd/keymaps/thefrey/keymap.c | 243 - keyboards/crkbd/keymaps/thumb_ctrl/config.h | 2 +- keyboards/crkbd/keymaps/thumb_ctrl/keymap.c | 43 +- keyboards/crkbd/keymaps/thumb_ctrl/rules.mk | 7 +- keyboards/crkbd/keymaps/vayashiko/config.h | 42 + keyboards/crkbd/keymaps/vayashiko/keymap.c | 182 + .../keymaps/{thefrey => vayashiko}/rules.mk | 0 keyboards/crkbd/keymaps/via/config.h | 40 + keyboards/crkbd/keymaps/via/keymap.c | 176 + keyboards/crkbd/keymaps/via/rules.mk | 6 + .../keymaps/vlukash_trackpad_left/config.h | 1 + .../keymaps/vlukash_trackpad_left/keymap.c | 58 +- .../keymaps/vlukash_trackpad_left/rules.mk | 3 + .../keymaps/vlukash_trackpad_right/keymap.c | 41 +- keyboards/crkbd/keymaps/vxid/config.h | 1 + keyboards/crkbd/keymaps/vxid/keymap.c | 32 +- keyboards/crkbd/keymaps/vxid/rules.mk | 7 +- keyboards/crkbd/keymaps/xyverz/keymap.c | 9 +- keyboards/crkbd/keymaps/xyverz/rules.mk | 3 +- keyboards/crkbd/{rev1/legacy => lib}/i2c.c | 2 +- keyboards/crkbd/{rev1/legacy => lib}/i2c.h | 0 keyboards/crkbd/post_config.h | 43 + keyboards/crkbd/readme.md | 8 +- keyboards/crkbd/rev1/common/common.c | 19 - keyboards/crkbd/rev1/common/common.h | 24 - keyboards/crkbd/rev1/common/config.h | 28 - .../crkbd/rev1/common/keymaps/via/config.h | 46 - .../crkbd/rev1/common/keymaps/via/keymap.c | 174 - .../crkbd/rev1/common/keymaps/via/rules.mk | 5 - keyboards/crkbd/rev1/common/rules.mk | 3 +- keyboards/crkbd/rev1/config.h | 16 +- keyboards/crkbd/rev1/legacy/config.h | 22 - keyboards/crkbd/rev1/legacy/legacy.c | 19 - keyboards/crkbd/rev1/legacy/legacy.h | 23 - keyboards/crkbd/rev1/legacy/matrix.c | 397 -- keyboards/crkbd/rev1/legacy/post_config.h | 27 - keyboards/crkbd/rev1/legacy/rules.mk | 11 +- keyboards/crkbd/rev1/legacy/serial.c | 589 --- keyboards/crkbd/rev1/legacy/serial.h | 84 - keyboards/crkbd/rev1/legacy/serial_config.h | 22 - .../rev1/legacy/serial_config_simpleapi.h | 23 - keyboards/crkbd/rev1/legacy/split_scomm.c | 111 - keyboards/crkbd/rev1/legacy/split_scomm.h | 42 - keyboards/crkbd/rev1/legacy/split_util.c | 127 - keyboards/crkbd/rev1/legacy/split_util.h | 37 - keyboards/crkbd/rev1/legacy/ssd1306.c | 357 -- keyboards/crkbd/rev1/legacy/ssd1306.h | 90 - keyboards/crkbd/rev1/rev1.c | 45 +- keyboards/crkbd/rev1/rev1.h | 27 - keyboards/crkbd/rev1/rules.mk | 4 +- keyboards/crkbd/rules.mk | 44 +- keyboards/cu24/config.h | 20 - keyboards/cu24/rules.mk | 10 +- keyboards/cu75/cu75.c | 15 +- keyboards/cu75/cu75.h | 16 - keyboards/cu75/keymaps/default/keymap.c | 16 - keyboards/cu75/keymaps/default/rules.mk | 3 +- keyboards/cu75/keymaps/iso/keymap.c | 16 - keyboards/cu75/keymaps/iso/rules.mk | 3 +- keyboards/cu75/rules.mk | 7 - keyboards/cu80/rules.mk | 10 +- keyboards/custommk/genesis/config.h | 42 - keyboards/custommk/genesis/genesis.c | 36 - keyboards/custommk/genesis/genesis.h | 48 - keyboards/custommk/genesis/info.json | 16 - .../custommk/genesis/keymaps/via/keymap.c | 51 - keyboards/custommk/genesis/readme.md | 4 +- keyboards/custommk/genesis/rev1/config.h | 65 + keyboards/custommk/genesis/rev1/info.json | 16 + .../{ => rev1}/keymaps/default/keymap.c | 0 .../{ => rev1}/keymaps/default/readme.md | 0 .../{ => rev1}/keymaps/numpad/keymap.c | 0 .../{ => rev1}/keymaps/numpad/readme.md | 0 .../genesis/rev1/keymaps/via/keymap.c | 51 + .../genesis/{ => rev1}/keymaps/via/readme.md | 0 .../genesis/rev1}/keymaps/via/rules.mk | 0 keyboards/custommk/genesis/rev1/readme.md | 19 + keyboards/custommk/genesis/rev1/rev1.c | 38 + keyboards/custommk/genesis/rev1/rev1.h | 48 + .../ckofy => custommk/genesis/rev1}/rules.mk | 0 keyboards/custommk/genesis/rev2/config.h | 66 + keyboards/custommk/genesis/rev2/info.json | 76 + .../genesis/rev2/keymaps/default/keymap.c | 76 + .../genesis/rev2/keymaps/default/readme.md | 6 + .../genesis/rev2/keymaps/numpad/keymap.c | 89 + .../genesis/rev2/keymaps/numpad/readme.md | 3 + .../genesis/rev2/keymaps/via/keymap.c | 167 + .../genesis/rev2/keymaps/via/readme.md | 3 + .../genesis/rev2/keymaps/via/rules.mk | 2 + keyboards/custommk/genesis/rev2/readme.md | 19 + keyboards/custommk/genesis/rev2/rev2.c | 39 + keyboards/custommk/genesis/rev2/rev2.h | 66 + keyboards/custommk/genesis/rev2/rules.mk | 23 + keyboards/custommk/genesis/rules.mk | 6 +- keyboards/cutie_club/borsdorf/rules.mk | 5 +- keyboards/cutie_club/giant_macro_pad/config.h | 48 + .../giant_macro_pad/giant_macro_pad.c | 17 + .../giant_macro_pad/giant_macro_pad.h | 72 + .../cutie_club/giant_macro_pad/info.json | 432 ++ .../giant_macro_pad/keymaps/default/keymap.c | 453 ++ .../giant_macro_pad/keymaps/via/config.h | 19 + .../giant_macro_pad/keymaps/via/keymap.c | 43 + .../giant_macro_pad/keymaps/via/rules.mk | 1 + .../cutie_club/giant_macro_pad/readme.md | 13 + keyboards/cutie_club/giant_macro_pad/rules.mk | 22 + keyboards/cutie_club/wraith/config.h | 20 - .../wraith/keymaps/default/keymap.c | 9 - .../cutie_club/wraith/keymaps/timer/keymap.c | 9 - keyboards/cutie_club/wraith/rules.mk | 10 +- keyboards/cx60/config.h | 58 + keyboards/cx60/cx60.c | 15 + keyboards/cx60/cx60.h | 33 + keyboards/cx60/info.json | 12 + keyboards/cx60/keymaps/default/keymap.c | 49 + keyboards/cx60/keymaps/default/readme.md | 1 + keyboards/cx60/keymaps/via/keymap.c | 50 + keyboards/cx60/keymaps/via/readme.md | 1 + keyboards/cx60/keymaps/via/rules.mk | 2 + keyboards/cx60/keymaps/via_caps/config.h | 20 + keyboards/cx60/keymaps/via_caps/keymap.c | 80 + keyboards/cx60/keymaps/via_caps/readme.md | 1 + keyboards/cx60/keymaps/via_caps/rules.mk | 2 + keyboards/cx60/readme.md | 15 + keyboards/cx60/rules.mk | 22 + keyboards/cybergear/macro25/LICENSE | 339 ++ keyboards/cybergear/macro25/config.h | 23 + keyboards/cybergear/macro25/info.json | 25 + .../macro25/keymaps/default/keymap.c | 27 + .../cybergear/macro25/keymaps/via/keymap.c | 39 + .../cybergear/macro25/keymaps/via/rules.mk | 1 + keyboards/cybergear/macro25/macro25.c | 17 + keyboards/cybergear/macro25/macro25.h | 27 + keyboards/cybergear/macro25/readme.md | 15 + keyboards/cybergear/macro25/rules.mk | 22 + keyboards/daisy/config.h | 222 - keyboards/daisy/keymaps/default/keymap.c | 83 - keyboards/daisy/keymaps/via/keymap.c | 102 - keyboards/daisy/readme.md | 15 - keyboards/daisy/rules.mk | 30 - keyboards/daji/seis_cinco/rules.mk | 7 +- keyboards/db/db63/rules.mk | 11 +- keyboards/dc01/arrow/rules.mk | 10 +- keyboards/dc01/left/config.h | 22 +- keyboards/dc01/left/matrix.c | 5 +- keyboards/dc01/left/rules.mk | 10 +- keyboards/dc01/numpad/rules.mk | 10 +- keyboards/dc01/right/rules.mk | 10 +- keyboards/dekunukem/duckypad/rules.mk | 10 +- keyboards/delikeeb/flatbread60/config.h | 175 + .../flatbread60/flatbread60.c | 0 .../flatbread60/flatbread60.h | 0 .../flatbread60/info.json | 0 .../flatbread60/keymaps/default/keymap.c | 0 .../flatbread60/keymaps/default/readme.md | 0 .../flatbread60/keymaps/via/keymap.c | 0 .../flatbread60/keymaps/via/rules.mk | 0 keyboards/delikeeb/flatbread60/readme.md | 19 + keyboards/delikeeb/flatbread60/rules.mk | 22 + keyboards/delikeeb/vaguettelite/config.h | 119 + keyboards/delikeeb/vaguettelite/info.json | 15 + .../vaguettelite/keymaps/default/keymap.c | 135 + .../vaguettelite/keymaps/default/readme.md | 1 + .../keymaps/default_625u_universal/keymap.c | 135 + .../keymaps/default_625u_universal/readme.md | 1 + .../vaguettelite/keymaps/noclew/keymap.c | 155 + .../vaguettelite/keymaps/noclew/readme.md | 1 + .../vaguettelite/keymaps/via/keymap.c | 136 + .../vaguettelite/keymaps/via/rules.mk | 1 + keyboards/delikeeb/vaguettelite/readme.md | 19 + keyboards/delikeeb/vaguettelite/rules.mk | 23 + .../delikeeb/vaguettelite/vaguettelite.c | 17 + .../delikeeb/vaguettelite/vaguettelite.h | 57 + keyboards/delikeeb/vanana/config.h | 24 + keyboards/delikeeb/vanana/info.json | 12 + .../delikeeb/vanana/keymaps/default/keymap.c | 162 + .../delikeeb/vanana/keymaps/default/readme.md | 1 + .../delikeeb/vanana/keymaps/via/keymap.c | 81 + .../delikeeb/vanana/keymaps/via/rules.mk | 2 + keyboards/delikeeb/vanana/readme.md | 19 + keyboards/delikeeb/vanana/rev1/config.h | 100 + keyboards/delikeeb/vanana/rev1/rev1.c | 17 + keyboards/delikeeb/vanana/rev1/rev1.h | 40 + keyboards/delikeeb/vanana/rev1/rules.mk | 2 + keyboards/delikeeb/vanana/rev2/config.h | 100 + keyboards/delikeeb/vanana/rev2/rev2.c | 17 + keyboards/delikeeb/vanana/rev2/rev2.h | 41 + keyboards/delikeeb/vanana/rev2/rules.mk | 2 + keyboards/delikeeb/vanana/rules.mk | 25 + .../{nckiibs => delikeeb}/vaneela/config.h | 0 .../{nckiibs => delikeeb}/vaneela/info.json | 0 .../vaneela/keymaps/default/keymap.c | 0 .../vaneela/keymaps/default/readme.md | 0 .../vaneela/keymaps/via/keymap.c | 0 .../delikeeb/vaneela/keymaps/via/rules.mk | 1 + keyboards/delikeeb/vaneela/readme.md | 19 + keyboards/delikeeb/vaneela/rules.mk | 22 + .../{nckiibs => delikeeb}/vaneela/vaneela.c | 0 .../{nckiibs => delikeeb}/vaneela/vaneela.h | 0 keyboards/delikeeb/vaneelaex/config.h | 162 + .../{nckiibs => delikeeb}/vaneelaex/info.json | 0 .../vaneelaex/keymaps/default/keymap.c | 0 .../vaneelaex/keymaps/default/readme.md | 0 .../vaneelaex/keymaps/via/keymap.c | 0 .../delikeeb/vaneelaex/keymaps/via/rules.mk | 1 + keyboards/delikeeb/vaneelaex/readme.md | 20 + keyboards/delikeeb/vaneelaex/rules.mk | 22 + .../vaneelaex/vaneelaex.c | 0 .../vaneelaex/vaneelaex.h | 0 keyboards/delikeeb/waaffle/config.h | 24 + .../delikeeb/waaffle/keymaps/default/keymap.c | 149 + .../waaffle/keymaps/default/readme.md | 1 + .../delikeeb/waaffle/keymaps/via/keymap.c | 78 + .../delikeeb/waaffle/keymaps/via/rules.mk | 1 + keyboards/delikeeb/waaffle/readme.md | 22 + keyboards/delikeeb/waaffle/rev3/config.h | 137 + .../delikeeb/waaffle/rev3/elite_c/rules.mk | 6 + keyboards/delikeeb/waaffle/rev3/info.json | 19 + .../delikeeb/waaffle/rev3/pro_micro/rules.mk | 6 + keyboards/delikeeb/waaffle/rev3/rev3.c | 17 + keyboards/delikeeb/waaffle/rev3/rev3.h | 44 + keyboards/delikeeb/waaffle/rev3/rules.mk | 24 + keyboards/delilah/config.h | 56 + keyboards/delilah/delilah.c | 16 + keyboards/delilah/delilah.h | 28 + keyboards/delilah/info.json | 12 + keyboards/delilah/keymaps/default/keymap.c | 43 + keyboards/delilah/keymaps/via/keymap.c | 43 + keyboards/delilah/keymaps/via/rules.mk | 1 + keyboards/delilah/readme.md | 22 + keyboards/delilah/rules.mk | 19 + keyboards/deltasplit75/rules.mk | 10 +- keyboards/dichotomy/rules.mk | 12 +- keyboards/dinofizz/fnrow/v1/chconf.h | 35 + keyboards/dinofizz/fnrow/v1/config.h | 36 + keyboards/dinofizz/fnrow/v1/halconf.h | 51 + keyboards/dinofizz/fnrow/v1/info.json | 78 + .../fnrow/v1/keymaps/default/keymap.c | 22 + .../fnrow/v1/keymaps/default/readme.md | 1 + .../dinofizz/fnrow/v1/keymaps/via/keymap.c | 34 + .../dinofizz/fnrow/v1/keymaps/via/rules.mk | 1 + keyboards/dinofizz/fnrow/v1/mcuconf.h | 28 + keyboards/dinofizz/fnrow/v1/readme.md | 28 + keyboards/dinofizz/fnrow/v1/rules.mk | 25 + keyboards/dinofizz/fnrow/v1/v1.c | 36 + keyboards/dinofizz/fnrow/v1/v1.h | 25 + keyboards/diverge3/config.h | 20 - keyboards/diverge3/rules.mk | 10 +- .../divergetm2/keymaps/xtonhasvim/keymap.c | 2 +- keyboards/divergetm2/rules.mk | 10 +- keyboards/dk60/dk60.c | 1 - keyboards/dk60/rules.mk | 2 +- keyboards/dm9records/ergoinu/ergoinu.c | 4 - .../ergoinu/keymaps/default/keymap.c | 3 - .../ergoinu/keymaps/default/rules.mk | 3 +- .../ergoinu/keymaps/default_jis/keymap.c | 3 - .../ergoinu/keymaps/default_jis/rules.mk | 3 +- keyboards/dm9records/ergoinu/rules.mk | 10 +- keyboards/dm9records/plaid/config.h | 20 - .../plaid/keymaps/brickbots/keymap.c | 6 +- .../plaid/keymaps/thehalfdeafchef/keymap.c | 2 +- keyboards/dm9records/plaid/plaid.c | 27 - keyboards/dm9records/plaid/plaid.h | 18 +- keyboards/dm9records/plaid/rules.mk | 12 +- keyboards/dm9records/tartan/config.h | 20 - keyboards/dm9records/tartan/rules.mk | 12 +- .../spin/keymaps/codecoffeecode/keymap.c | 3 +- .../dmqdesign/spin/keymaps/default/keymap.c | 7 +- .../spin/keymaps/encoderlayers/keymap.c | 3 +- .../dmqdesign/spin/keymaps/gorbachev/keymap.c | 5 +- .../dmqdesign/spin/keymaps/gorbachev/rules.mk | 3 +- .../spin/keymaps/spidey3_pad/keymap.c | 15 +- .../spin/keymaps/spidey3_pad/rules.mk | 2 +- keyboards/dmqdesign/spin/keymaps/via/keymap.c | 69 + keyboards/dmqdesign/spin/keymaps/via/rules.mk | 1 + keyboards/dmqdesign/spin/rules.mk | 9 +- keyboards/do60/rules.mk | 10 +- keyboards/donutcables/budget96/rules.mk | 11 +- keyboards/donutcables/scrabblepad/config.h | 143 +- .../scrabblepad/keymaps/default/keymap.c | 87 +- .../scrabblepad/keymaps/default/readme.md | 2 +- .../scrabblepad/keymaps/random/keymap.c | 13 - .../scrabblepad/keymaps/via/keymap.c | 92 + .../scrabblepad/keymaps/via/readme.md | 5 + .../scrabblepad}/keymaps/via/rules.mk | 0 keyboards/donutcables/scrabblepad/rules.mk | 28 +- .../donutcables/scrabblepad/scrabblepad.c | 29 +- .../donutcables/scrabblepad/scrabblepad.h | 3 +- .../duckboard/keymaps/default/keymap.c | 7 +- keyboards/doodboard/duckboard/rules.mk | 5 +- .../duckboard_r2/keymaps/default/keymap.c | 7 +- .../duckboard_r2/keymaps/via/keymap.c | 7 +- keyboards/doodboard/duckboard_r2/rules.mk | 5 +- keyboards/doppelganger/config.h | 20 - keyboards/doppelganger/rules.mk | 10 +- .../doro67/multi/keymaps/konstantin/rules.mk | 2 +- keyboards/doro67/multi/rules.mk | 11 +- keyboards/doro67/regular/rules.mk | 10 +- keyboards/doro67/rgb/rules.mk | 10 +- keyboards/dozen0/config.h | 20 - keyboards/dozen0/dozen0.c | 27 - keyboards/dozen0/keymaps/default/keymap.c | 8 - keyboards/dozen0/rules.mk | 10 +- keyboards/dp60/dp60.c | 2 +- keyboards/dp60/dp60.h | 4 +- keyboards/dp60/info.json | 427 +- keyboards/dp60/rules.mk | 10 +- keyboards/draculad/config.h | 69 + keyboards/draculad/draculad.c | 18 + keyboards/draculad/draculad.h | 40 + keyboards/draculad/info.json | 59 + keyboards/draculad/keymaps/default/keymap.c | 227 + keyboards/draculad/keymaps/pimoroni/config.h | 25 + keyboards/draculad/keymaps/pimoroni/keymap.c | 327 ++ keyboards/draculad/keymaps/pimoroni/rules.mk | 7 + keyboards/draculad/readme.md | 31 + keyboards/draculad/rules.mk | 28 + keyboards/draytronics/daisy/config.h | 112 + keyboards/draytronics/daisy/daisy.c | 19 + keyboards/draytronics/daisy/daisy.h | 33 + keyboards/draytronics/daisy/info.json | 28 + .../daisy/keymaps/default/keymap.c | 52 + keyboards/draytronics/daisy/readme.md | 20 + keyboards/draytronics/daisy/rules.mk | 23 + keyboards/draytronics/elise/config.h | 70 + keyboards/draytronics/elise/elise.c | 18 + keyboards/draytronics/elise/elise.h | 135 + keyboards/draytronics/elise/info.json | 621 +++ .../elise/keymaps/blake_iso/keymap.c | 68 + .../elise/keymaps/default/keymap.c | 67 + .../elise/keymaps/default_iso/keymap.c | 68 + keyboards/draytronics/elise/readme.md | 32 + keyboards/draytronics/elise/rules.mk | 24 + keyboards/draytronics/scarlet/readme.md | 4 +- keyboards/draytronics/scarlet/rules.mk | 4 +- keyboards/dubba175/rules.mk | 2 +- keyboards/duck/eagle_viper/info.json | 19 - keyboards/duck/eagle_viper/readme.md | 7 - keyboards/duck/eagle_viper/rules.mk | 3 - keyboards/duck/eagle_viper/v2/info.json | 364 ++ keyboards/duck/eagle_viper/v2/readme.md | 13 +- keyboards/duck/eagle_viper/v2/rules.mk | 22 +- keyboards/duck/eagle_viper/v2/v2.c | 4 - keyboards/duck/eagle_viper/v2/v2.h | 21 +- keyboards/duck/jetfire/config.h | 20 - keyboards/duck/jetfire/jetfire.c | 10 - .../duck/jetfire/keymaps/default/keymap.c | 16 - keyboards/duck/jetfire/rules.mk | 10 +- keyboards/duck/lightsaver/lightsaver.c | 4 - keyboards/duck/lightsaver/rules.mk | 10 +- keyboards/duck/octagon/v1/rules.mk | 10 +- keyboards/duck/octagon/v1/v1.c | 4 - keyboards/duck/octagon/v2/rules.mk | 10 +- keyboards/duck/octagon/v2/v2.c | 4 - keyboards/duck/orion/v3/rules.mk | 10 +- keyboards/duck/orion/v3/v3.c | 4 - keyboards/duck/tcv3/rules.mk | 10 +- keyboards/duck/tcv3/tcv3.c | 6 +- keyboards/ducky/one2mini/1861st/1861st.h | 70 + .../1861st/boards/NUC123SD4AN0/board.c | 57 + .../1861st/boards/NUC123SD4AN0/board.h | 961 ++++ .../1861st/boards/NUC123SD4AN0/board.mk | 5 + keyboards/ducky/one2mini/1861st/chconf.h | 23 + keyboards/ducky/one2mini/1861st/config.h | 56 + keyboards/ducky/one2mini/1861st/info.json | 222 + keyboards/ducky/one2mini/1861st/mcuconf.h | 51 + keyboards/ducky/one2mini/1861st/readme.md | 29 + keyboards/ducky/one2mini/1861st/rules.mk | 35 + .../ducky/one2mini/keymaps/ansi/keymap.c | 56 + .../ducky/one2mini/keymaps/ansi/readme.md | 1 + .../ducky/one2mini/keymaps/default/config.h | 25 + .../ducky/one2mini/keymaps/default/keymap.c | 56 + .../ducky/one2mini/keymaps/default/readme.md | 1 + keyboards/ducky/one2mini/keymaps/iso/keymap.c | 56 + .../ducky/one2mini/keymaps/iso/readme.md | 1 + keyboards/ducky/one2mini/readme.md | 7 + keyboards/ducky/one2mini/rules.mk | 1 + keyboards/dumbo/keymaps/default/keymap.c | 5 +- keyboards/dumbo/keymaps/default/rules.mk | 3 +- keyboards/dumbo/keymaps/trip-trap/keymap.c | 5 +- keyboards/dumbo/keymaps/trip-trap/rules.mk | 3 +- keyboards/dumbo/rules.mk | 2 +- .../dumbpad/v0x/keymaps/default/keymap.c | 3 +- keyboards/dumbpad/v0x/rules.mk | 2 +- keyboards/dumbpad/v0x/templates/keymap.c | 3 +- .../v0x_dualencoder/keymaps/default/keymap.c | 3 +- keyboards/dumbpad/v0x_dualencoder/rules.mk | 2 +- .../v0x_dualencoder/templates/keymap.c | 3 +- .../v0x_right/keymaps/default/keymap.c | 3 +- keyboards/dumbpad/v0x_right/rules.mk | 2 +- .../dumbpad/v0x_right/templates/keymap.c | 3 +- .../dumbpad/v1x/keymaps/default/keymap.c | 3 +- .../dumbpad/v1x/keymaps/imchipwood/keymap.c | 95 + .../dumbpad/v1x/keymaps/numpad_media/keymap.c | 88 + keyboards/dumbpad/v1x/rules.mk | 2 +- keyboards/dumbpad/v1x/templates/keymap.c | 3 +- .../v1x_dualencoder/keymaps/default/keymap.c | 3 +- keyboards/dumbpad/v1x_dualencoder/rules.mk | 2 +- .../v1x_dualencoder/templates/keymap.c | 3 +- .../v1x_right/keymaps/default/keymap.c | 3 +- keyboards/dumbpad/v1x_right/rules.mk | 2 +- .../dumbpad/v1x_right/templates/keymap.c | 3 +- .../durgod/boards/DURGOD_STM32_F070/board.h | 22 + .../durgod/boards/DURGOD_STM32_F070/board.mk | 12 + .../DURGOD_STM32_F070}/bootloader_defs.h | 0 .../durgod/boards/DURGOD_STM32_F070/chconf.h | 28 + .../DURGOD_STM32_F070}/mcuconf.h | 0 keyboards/durgod/dgk6x/config.h | 93 + keyboards/durgod/dgk6x/dgk6x.c | 73 + keyboards/durgod/dgk6x/dgk6x.h | 47 + keyboards/durgod/dgk6x/galaxy/config.h | 37 + keyboards/durgod/dgk6x/galaxy/galaxy.c | 142 + keyboards/durgod/dgk6x/galaxy/galaxy.h | 40 + keyboards/durgod/dgk6x/galaxy/info.json | 102 + .../dgk6x/galaxy/keymaps/default/keymap.json | 42 + .../dgk6x/galaxy/keymaps/default/readme.md | 14 + .../dgk6x/galaxy/keymaps/via/keymap.json | 138 + .../durgod/dgk6x/galaxy/keymaps/via/readme.md | 14 + .../durgod/dgk6x/galaxy/keymaps/via/rules.mk | 1 + keyboards/durgod/dgk6x/galaxy/readme.md | 26 + keyboards/durgod/dgk6x/galaxy/rules.mk | 1 + keyboards/durgod/dgk6x/hades/config.h | 37 + keyboards/durgod/dgk6x/hades/hades.c | 123 + keyboards/durgod/dgk6x/hades/hades.h | 39 + keyboards/durgod/dgk6x/hades/info.json | 85 + .../dgk6x/hades/keymaps/default/keymap.json | 38 + .../dgk6x/hades/keymaps/default/readme.md | 14 + .../dgk6x/hades/keymaps/via/keymap.json | 122 + .../durgod/dgk6x/hades/keymaps/via/readme.md | 14 + .../durgod/dgk6x/hades/keymaps/via/rules.mk | 1 + keyboards/durgod/dgk6x/hades/readme.md | 26 + keyboards/durgod/dgk6x/hades/rules.mk | 1 + keyboards/durgod/dgk6x/halconf.h | 22 + keyboards/durgod/dgk6x/mcuconf.h | 28 + keyboards/durgod/dgk6x/readme.md | 55 + keyboards/durgod/dgk6x/rules.mk | 31 + keyboards/durgod/dgk6x/venus/config.h | 37 + keyboards/durgod/dgk6x/venus/info.json | 78 + .../dgk6x/venus/keymaps/default/keymap.json | 38 + .../dgk6x/venus/keymaps/default/readme.md | 11 + .../dgk6x/venus/keymaps/via/keymap.json | 122 + .../durgod/dgk6x/venus/keymaps/via/readme.md | 12 + .../durgod/dgk6x/venus/keymaps/via/rules.mk | 1 + keyboards/durgod/dgk6x/venus/readme.md | 26 + keyboards/durgod/dgk6x/venus/rules.mk | 1 + keyboards/durgod/dgk6x/venus/venus.c | 115 + keyboards/durgod/dgk6x/venus/venus.h | 37 + keyboards/durgod/galaxy/readme.md | 3 + keyboards/durgod/galaxy/rules.mk | 1 + keyboards/durgod/hades/readme.md | 3 + keyboards/durgod/hades/rules.mk | 1 + keyboards/durgod/k310/base/readme.md | 6 + keyboards/durgod/k310/base/rules.mk | 1 + keyboards/durgod/k310/readme.md | 4 + keyboards/durgod/k310/rules.mk | 1 + keyboards/durgod/k320/base/readme.md | 6 + keyboards/durgod/k320/base/rules.mk | 1 + keyboards/durgod/k320/board.h | 23 - keyboards/durgod/k320/chconf.h | 43 - keyboards/durgod/k320/config.h | 53 - keyboards/durgod/k320/info.json | 920 ---- keyboards/durgod/k320/k320.c | 42 - keyboards/durgod/k320/k320.h | 81 - .../durgod/k320/keymaps/default/keymap.c | 95 - .../durgod/k320/keymaps/default/readme.md | 14 - .../durgod/k320/keymaps/default_iso/keymap.c | 72 - .../durgod/k320/keymaps/default_iso/readme.md | 7 - .../k320/keymaps/default_iso_mac/keymap.c | 71 - .../k320/keymaps/default_iso_mac/readme.md | 6 - .../default_toggle_mac_windows/keymap.c | 367 -- .../default_toggle_mac_windows/readme.md | 64 - .../durgod/k320/keymaps/kuenhlee/keymap.c | 150 - .../durgod/k320/keymaps/moults31/config.h | 20 + .../durgod/k320/keymaps/moults31/keymap.c | 84 + .../durgod/k320/keymaps/moults31/readme.md | 10 + .../k320/keymaps/moults31}/rules.mk | 0 keyboards/durgod/k320/keymaps/via/config.h | 20 - keyboards/durgod/k320/keymaps/via/keymap.c | 81 - keyboards/durgod/k320/keymaps/via/readme.md | 12 - keyboards/durgod/k320/readme.md | 56 +- keyboards/durgod/k320/rules.mk | 28 +- keyboards/durgod/k3x0/config.h | 56 + keyboards/durgod/k3x0/halconf.h | 22 + keyboards/durgod/k3x0/k310/base/config.h | 23 + keyboards/durgod/k3x0/k310/base/readme.md | 27 + keyboards/durgod/k3x0/k310/base/rules.mk | 1 + keyboards/durgod/k3x0/k310/config.h | 36 + keyboards/durgod/k3x0/k310/info.json | 351 ++ keyboards/durgod/k3x0/k310/k310.h | 78 + keyboards/durgod/k3x0/k310/readme.md | 10 + keyboards/durgod/k3x0/k310/rules.mk | 4 + keyboards/durgod/k3x0/k320/base/config.h | 23 + keyboards/durgod/k3x0/k320/base/readme.md | 27 + keyboards/durgod/k3x0/k320/base/rules.mk | 1 + keyboards/durgod/k3x0/k320/config.h | 33 + keyboards/durgod/k3x0/k320/info.json | 415 ++ keyboards/durgod/k3x0/k320/k320.h | 92 + .../k3x0/k320/keymaps/kuenhlee/keymap.c | 145 + .../k320/keymaps/kuenhlee/readme.md | 0 .../{ => k3x0}/k320/keymaps/kuenhlee/rules.mk | 0 keyboards/durgod/k3x0/k320/readme.md | 10 + keyboards/durgod/k3x0/k320/rules.mk | 4 + keyboards/durgod/k3x0/k3x0.c | 96 + keyboards/durgod/k3x0/k3x0.h | 47 + .../durgod/k3x0/keymaps/chimera/keymap.c | 373 ++ .../durgod/k3x0/keymaps/chimera/readme.md | 65 + .../durgod/k3x0/keymaps/chimera/rules.mk | 1 + .../durgod/k3x0/keymaps/default/keymap.json | 26 + .../durgod/k3x0/keymaps/default/readme.md | 16 + .../k3x0/keymaps/default_mac/keymap.json | 26 + .../durgod/k3x0/keymaps/default_mac/readme.md | 8 + keyboards/durgod/k3x0/keymaps/typhon/keymap.c | 373 ++ .../durgod/k3x0/keymaps/typhon/readme.md | 65 + keyboards/durgod/k3x0/keymaps/typhon/rules.mk | 2 + keyboards/durgod/k3x0/keymaps/via/keymap.c | 92 + keyboards/durgod/k3x0/keymaps/via/readme.md | 6 + keyboards/durgod/k3x0/keymaps/via/rules.mk | 1 + keyboards/durgod/k3x0/readme.md | 51 + keyboards/durgod/k3x0/rules.mk | 28 + keyboards/durgod/venus/readme.md | 3 + keyboards/durgod/venus/rules.mk | 1 + keyboards/dz60/dz60.h | 27 + keyboards/dz60/info.json | 68 + keyboards/dz60/keymaps/LEdiodes/rules.mk | 2 +- keyboards/dz60/keymaps/billypython/rules.mk | 2 +- keyboards/dz60/keymaps/coppertop/rules.mk | 2 +- keyboards/dz60/keymaps/default_abnt2/keymap.c | 2 +- keyboards/dz60/keymaps/gk64/keymap.c | 18 + keyboards/dz60/keymaps/hailbreno/rules.mk | 2 +- keyboards/dz60/keymaps/iso_de_andys8/rules.mk | 2 +- keyboards/dz60/keymaps/iso_de_root/rules.mk | 2 +- keyboards/dz60/keymaps/iso_vim_arrow/rules.mk | 2 +- .../keymaps/iso_vim_arrow_split_rs/rules.mk | 2 +- keyboards/dz60/keymaps/jdelkins/config.h | 54 + keyboards/dz60/keymaps/jdelkins/keymap.c | 356 ++ keyboards/dz60/keymaps/jdelkins/rules.mk | 7 + keyboards/dz60/keymaps/kifinnsson/rules.mk | 2 +- keyboards/dz60/keymaps/konstantin_b/rules.mk | 2 +- keyboards/dz60/keymaps/krusli/rules.mk | 2 +- keyboards/dz60/keymaps/marianas/customLogic.c | 36 +- keyboards/dz60/keymaps/marianas/customLogic.h | 2 +- keyboards/dz60/keymaps/marianas/rules.mk | 2 +- keyboards/dz60/keymaps/niclake/config.h | 18 + keyboards/dz60/keymaps/niclake/keymap.c | 82 + keyboards/dz60/keymaps/niclake/readme.md | 12 + keyboards/dz60/keymaps/niclake/rules.mk | 3 + .../dz60/keymaps/olligranlund_iso/keymap.c | 87 +- .../dz60/keymaps/olligranlund_iso/readme.md | 4 +- .../dz60/keymaps/olligranlund_iso/rules.mk | 3 + .../dz60/keymaps/olligranlund_iso_v2/keymap.c | 113 + .../keymaps/olligranlund_iso_v2/readme.md | 6 + .../dz60/keymaps/olligranlund_iso_v2/rules.mk | 3 + keyboards/dz60/keymaps/pinpox/rules.mk | 2 +- .../dz60/keymaps/split_space_arrows/rules.mk | 2 +- keyboards/dz60/keymaps/spotpuff/rules.mk | 2 +- .../dz60/keymaps/twschum_b_4_10/rules.mk | 2 +- keyboards/dz60/keymaps/xtonhasvim/keymap.c | 2 +- keyboards/dz60/rules.mk | 2 +- keyboards/dztech/bocc/config.h | 2 +- keyboards/dztech/bocc/rules.mk | 2 +- keyboards/dztech/dz60rgb/dz60rgb.c | 2 +- .../dztech/dz60rgb/keymaps/default/keymap.c | 9 +- .../dz60rgb/keymaps/mechmaster48/README.md | 15 + .../dz60rgb/keymaps/mechmaster48/keymap.c | 79 + .../dztech/dz60rgb/keymaps/moults31/keymap.c | 42 + .../dztech/dz60rgb/keymaps/moults31/readme.md | 11 + .../dztech/dz60rgb/keymaps/moults31/rules.mk | 1 + .../dztech/dz60rgb/keymaps/piv3rt/config.h | 56 + .../dztech/dz60rgb/keymaps/piv3rt/keymap.c | 230 + .../dztech/dz60rgb/keymaps/piv3rt/rules.mk | 1 + keyboards/dztech/dz60rgb/keymaps/via/config.h | 21 + keyboards/dztech/dz60rgb/readme.md | 5 +- keyboards/dztech/dz60rgb/v1/config.h | 2 +- keyboards/dztech/dz60rgb/v1/rules.mk | 6 +- keyboards/dztech/dz60rgb/v2/config.h | 2 +- keyboards/dztech/dz60rgb/v2/rules.mk | 10 +- keyboards/dztech/dz60rgb/v2_1/config.h | 79 + keyboards/dztech/dz60rgb/v2_1/rules.mk | 30 + keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c | 2 +- .../dz60rgb_ansi/keymaps/bingocaller/config.h | 27 + .../dz60rgb_ansi/keymaps/bingocaller/keymap.c | 128 + .../keymaps/bingocaller/readme.md | 51 + keyboards/dztech/dz60rgb_ansi/v1/config.h | 2 +- keyboards/dztech/dz60rgb_ansi/v1/rules.mk | 6 +- keyboards/dztech/dz60rgb_ansi/v2/config.h | 2 +- keyboards/dztech/dz60rgb_ansi/v2/rules.mk | 10 +- keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c | 2 +- keyboards/dztech/dz60rgb_wkl/readme.md | 5 +- keyboards/dztech/dz60rgb_wkl/v1/config.h | 2 +- keyboards/dztech/dz60rgb_wkl/v1/rules.mk | 6 +- keyboards/dztech/dz60rgb_wkl/v2/config.h | 2 +- keyboards/dztech/dz60rgb_wkl/v2/rules.mk | 10 +- keyboards/dztech/dz60rgb_wkl/v2_1/config.h | 79 + keyboards/dztech/dz60rgb_wkl/v2_1/rules.mk | 28 + keyboards/dztech/dz65rgb/config.h | 17 +- keyboards/dztech/dz65rgb/dz65rgb.c | 132 +- keyboards/dztech/dz65rgb/dz65rgb.h | 41 +- .../dztech/dz65rgb/keymaps/haervig/keymap.c | 36 + .../dztech/dz65rgb/keymaps/haervig/rules.mk | 3 + .../dztech/dz65rgb/keymaps/jumper149/config.h | 63 + .../dztech/dz65rgb/keymaps/jumper149/keymap.c | 120 + .../dz65rgb/keymaps/jumper149/readme.md | 24 + .../keymaps/jumper149/rgb_matrix_user.inc | 700 +++ .../dztech/dz65rgb/keymaps/jumper149/rules.mk | 1 + keyboards/dztech/dz65rgb/keymaps/via/config.h | 21 + keyboards/dztech/dz65rgb/readme.md | 14 +- keyboards/dztech/dz65rgb/v1/config.h | 19 +- keyboards/dztech/dz65rgb/v1/readme.md | 16 + keyboards/dztech/dz65rgb/v1/rules.mk | 6 +- keyboards/dztech/dz65rgb/v1/v1.c | 123 + keyboards/dztech/dz65rgb/v1/v1.h | 34 + keyboards/dztech/dz65rgb/v2/config.h | 17 +- keyboards/dztech/dz65rgb/v2/readme.md | 16 + keyboards/dztech/dz65rgb/v2/rules.mk | 10 +- keyboards/dztech/dz65rgb/v2/v2.c | 123 + keyboards/dztech/dz65rgb/v2/v2.h | 34 + keyboards/dztech/dz65rgb/v3/config.h | 57 + keyboards/dztech/dz65rgb/v3/readme.md | 19 + keyboards/dztech/dz65rgb/v3/rules.mk | 26 + keyboards/dztech/dz65rgb/v3/v3.c | 125 + keyboards/dztech/dz65rgb/v3/v3.h | 35 + keyboards/dztech/dz96/rules.mk | 2 +- keyboards/dztech/volcano660/readme.md | 12 - keyboards/e88/rules.mk | 2 +- keyboards/ealdin/quadrant/quadrant.c | 5 +- keyboards/ealdin/quadrant/rules.mk | 2 +- keyboards/earth_rover/rules.mk | 2 +- .../rev1/keymaps/default/keymap.c | 33 +- .../isometria_75/rev1/keymaps/via/keymap.c | 43 +- keyboards/ebastler/isometria_75/rev1/rules.mk | 5 +- keyboards/eco/eco.h | 14 - keyboards/eco/keymaps/bcat/keymap.c | 9 +- keyboards/eco/keymaps/default/rules.mk | 3 +- keyboards/eco/keymaps/fsck/rules.mk | 2 +- keyboards/eco/keymaps/hexwire/keymap.c | 116 - keyboards/eco/keymaps/hexwire/rules.mk | 22 - keyboards/eco/keymaps/that_canadian/rules.mk | 2 +- keyboards/eco/keymaps/xyverz/rules.mk | 2 +- keyboards/eco/rules.mk | 12 +- keyboards/edc40/rules.mk | 2 +- keyboards/edda/config.h | 46 + keyboards/edda/edda.c | 50 + keyboards/edda/edda.h | 47 + keyboards/edda/info.json | 156 + keyboards/edda/keymaps/default/keymap.c | 40 + keyboards/edda/keymaps/via/keymap.c | 53 + keyboards/edda/keymaps/via/rules.mk | 1 + keyboards/edda/readme.md | 21 + keyboards/edda/rules.mk | 24 + keyboards/edi/hardlight/mk1/config.h | 109 + .../edi/hardlight/mk1/keymaps/.gitignore | 1 + .../hardlight/mk1/keymaps/default/config.h | 20 + .../hardlight/mk1/keymaps/default/keymap.c | 115 + keyboards/edi/hardlight/mk1/mk1.c | 18 + keyboards/edi/hardlight/mk1/mk1.h | 41 + keyboards/edi/hardlight/mk1/readme.md | 19 + keyboards/edi/hardlight/mk1/rules.mk | 23 + keyboards/eek/rules.mk | 2 +- keyboards/efreet/rules.mk | 2 +- keyboards/eggman/keymaps/default/keymap.c | 8 +- keyboards/eggman/rules.mk | 2 +- keyboards/emajesty/eiri/rules.mk | 2 +- keyboards/emi20/config.h | 57 + keyboards/emi20/emi20.c | 17 + keyboards/emi20/emi20.h | 33 + keyboards/emi20/info.json | 37 + keyboards/emi20/keymaps/default/keymap.c | 74 + keyboards/emi20/readme.md | 18 + keyboards/emi20/rules.mk | 22 + keyboards/emptystring/NQG/rules.mk | 10 +- keyboards/eniigmakeyboards/ek60/config.h | 42 + keyboards/eniigmakeyboards/ek60/ek60.c | 18 + keyboards/eniigmakeyboards/ek60/ek60.h | 135 + keyboards/eniigmakeyboards/ek60/info.json | 72 + .../ek60/keymaps/default/keymap.c | 28 + .../ek60/keymaps/via/keymap.c | 49 + .../ek60/keymaps/via/rules.mk | 1 + keyboards/eniigmakeyboards/ek60/readme.md | 11 + keyboards/eniigmakeyboards/ek60/rules.mk | 24 + keyboards/eniigmakeyboards/ek65/rules.mk | 2 +- keyboards/eniigmakeyboards/ek87/config.h | 19 - keyboards/eniigmakeyboards/ek87/rules.mk | 10 +- keyboards/ep/40/40.c | 27 - keyboards/ep/40/rules.mk | 10 +- keyboards/ep/96/96.c | 27 - keyboards/ep/96/config.h | 20 - keyboards/ep/96/keymaps/default/keymap.c | 12 - keyboards/ep/96/rules.mk | 10 +- keyboards/ep/comsn/hs68/hs68.c | 27 - keyboards/ep/comsn/hs68/rules.mk | 10 +- keyboards/ep/comsn/mollydooker/config.h | 20 - .../mollydooker/keymaps/default/keymap.c | 8 - keyboards/ep/comsn/mollydooker/mollydooker.c | 27 - keyboards/ep/comsn/mollydooker/rules.mk | 10 +- keyboards/ep/comsn/tf_longeboye/rules.mk | 10 +- .../ep/comsn/tf_longeboye/tf__longeboye.c | 27 - keyboards/epoch80/config.h | 47 + keyboards/epoch80/epoch80.c | 17 + keyboards/epoch80/epoch80.h | 157 + keyboards/epoch80/info.json | 736 +++ keyboards/epoch80/keymaps/default/keymap.c | 36 + keyboards/epoch80/keymaps/iso/keymap.c | 36 + keyboards/epoch80/keymaps/tsangan/keymap.c | 36 + keyboards/epoch80/keymaps/via/keymap.c | 52 + keyboards/epoch80/keymaps/via/rules.mk | 1 + keyboards/epoch80/keymaps/wkl/keymap.c | 36 + keyboards/epoch80/readme.md | 20 + keyboards/epoch80/rules.mk | 24 + keyboards/ergo42/ergo42.c | 2 +- keyboards/ergo42/ergo42.h | 16 - keyboards/ergo42/info.json | 2 +- keyboards/ergo42/keymaps/hdbx/keymap.c | 4 +- keyboards/ergo42/keymaps/shinze/keymap.c | 8 +- keyboards/ergo42/rules.mk | 12 +- keyboards/ergoarrows/info.json | 170 +- .../ergoarrows/keymaps/salicylic/keymap.c | 2 +- keyboards/ergoarrows/rules.mk | 2 +- keyboards/ergodash/ergodash.h | 35 +- keyboards/ergodash/mini/mini.c | 7 - .../ergodash/rev1/keymaps/m47ch4n/keymap.c | 2 +- .../keymaps/yet-another-developer/rules.mk | 2 +- keyboards/ergodash/rev1/rev1.c | 7 - keyboards/ergodash/rules.mk | 10 +- keyboards/ergodone/config.h | 81 - keyboards/ergodone/i2cmaster.h | 178 - keyboards/ergodone/keymaps/default/keymap.c | 199 - keyboards/ergodone/keymaps/erovia/keymap.c | 229 - keyboards/ergodone/readme.md | 33 - keyboards/ergodone/rules.mk | 38 - keyboards/ergodone/twimaster.c | 208 - keyboards/ergodox_ez/config.h | 2 +- keyboards/ergodox_ez/ergodox_ez.c | 185 +- .../ergodox_ez/keymaps/bepo_tm_style/keymap.c | 14 +- .../ergodox_ez/keymaps/bepo_tm_style/rules.mk | 3 +- .../keymaps/bpruitt-goddard/keymap.c | 4 +- .../keymaps/bpruitt-goddard/rules.mk | 5 +- .../keymaps/colemak_es_osx/keymap.c | 6 +- keyboards/ergodox_ez/keymaps/default/keymap.c | 156 +- .../ergodox_ez/keymaps/default_osx/keymap.c | 5 - .../ergodox_ez/keymaps/ericgebhart/keymap.c | 2 +- .../ergodox_ez/keymaps/hacker_dvorak/config.h | 2 +- .../ergodox_ez/keymaps/hacker_dvorak/rules.mk | 2 - .../hacker_dvorak/user/layer_set_state_user.c | 2 +- .../keymaps/heartrobotninja/rules.mk | 2 +- .../ergodox_ez/keymaps/ifohancroft/config.h | 23 + .../ergodox_ez/keymaps/ifohancroft/keymap.c | 157 + .../ergodox_ez/keymaps/ifohancroft/readme.md | 19 + .../ergodox_ez/keymaps/ifohancroft/rules.mk | 4 + keyboards/ergodox_ez/keymaps/lukaus/keymap.c | 194 +- .../keymaps/nathanvercaemert/keymap.c | 6 +- keyboards/ergodox_ez/keymaps/nfriend/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/nfriend/rules.mk | 2 +- .../ergodox_ez/keymaps/rgb_layer/keymap.c | 2 +- keyboards/ergodox_ez/keymaps/skug/keymap.c | 13 +- keyboards/ergodox_ez/keymaps/stamm/keymap.c | 4 +- keyboards/ergodox_ez/keymaps/testing/keymap.c | 2 +- keyboards/ergodox_ez/rules.mk | 12 +- .../keymap_beautifier/KeymapBeautifier.py | 13 +- keyboards/ergodox_infinity/config.h | 53 +- keyboards/ergodox_infinity/ergodox_infinity.c | 353 +- keyboards/ergodox_infinity/ergodox_infinity.h | 4 + .../ergodox_infinity/keymaps/default/keymap.c | 8 +- .../ergodox_infinity/keymaps/narze/keymap.c | 8 +- .../ergodox_infinity/keymaps/narze/readme.md | 17 +- .../ergodox_infinity/keymaps/narze/rules.mk | 2 +- keyboards/ergodox_infinity/led.c | 26 - keyboards/ergodox_infinity/matrix.c | 184 - keyboards/ergodox_infinity/rules.mk | 37 +- keyboards/ergodox_infinity/visualizer.c | 3 +- keyboards/ergodox_stm32/rules.mk | 2 +- keyboards/ergosaurus/config.h | 50 +- keyboards/ergosaurus/keymaps/via/keymap.c | 51 + .../bolt => ergosaurus/keymaps}/via/rules.mk | 0 keyboards/ergosaurus/rules.mk | 10 +- keyboards/ergoslab/rev1/rev1.c | 2 +- keyboards/ergoslab/rules.mk | 10 +- keyboards/ergotaco/ergotaco.h | 2 - keyboards/ergotaco/keymaps/default/keymap.c | 8 - keyboards/ergotaco/rules.mk | 7 - keyboards/ergotravel/ergotravel.h | 15 - keyboards/ergotravel/keymaps/ckofy/config.h | 39 - keyboards/ergotravel/keymaps/ckofy/keymap.c | 179 - .../keymaps/jpconstantineau/config.h | 38 - .../keymaps/jpconstantineau/keymap.c | 128 - .../keymaps/manna-harbour_miryoku/config.h | 22 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + keyboards/ergotravel/keymaps/rs/keymap.c | 32 +- keyboards/ergotravel/keymaps/viet/config.h | 38 - keyboards/ergotravel/keymaps/viet/keymap.c | 326 -- keyboards/ergotravel/keymaps/viet/rules.mk | 4 - keyboards/ergotravel/keymaps/yanfali/rules.mk | 2 +- keyboards/ergotravel/rev1/rev1.c | 21 - keyboards/ergotravel/rules.mk | 3 +- .../ericrlau/numdiscipline/rev1/config.h | 20 - .../ericrlau/numdiscipline/rev1/rules.mk | 12 +- keyboards/esca/getawayvan/chconf.h | 61 + keyboards/esca/getawayvan/config.h | 77 + keyboards/esca/getawayvan/getawayvan.c | 17 + keyboards/esca/getawayvan/getawayvan.h | 33 + keyboards/esca/getawayvan/halconf.h | 37 + keyboards/esca/getawayvan/info.json | 12 + keyboards/esca/getawayvan/keymaps/7u/keymap.c | 44 + .../esca/getawayvan/keymaps/default/keymap.c | 45 + .../esca/getawayvan/keymaps/via/keymap.c | 44 + .../esca/getawayvan/keymaps/via/rules.mk | 1 + keyboards/esca/getawayvan/readme.md | 12 + keyboards/esca/getawayvan/rules.mk | 23 + keyboards/esca/getawayvan_f042/chconf.h | 27 + keyboards/esca/getawayvan_f042/config.h | 76 + .../esca/getawayvan_f042/getawayvan_f042.c | 17 + .../esca/getawayvan_f042/getawayvan_f042.h | 33 + keyboards/esca/getawayvan_f042/halconf.h | 37 + keyboards/esca/getawayvan_f042/info.json | 12 + .../esca/getawayvan_f042/keymaps/7u/keymap.c | 44 + .../getawayvan_f042/keymaps/default/keymap.c | 44 + keyboards/esca/getawayvan_f042/readme.md | 12 + keyboards/esca/getawayvan_f042/rules.mk | 23 + keyboards/espectro/rules.mk | 9 +- keyboards/eve/meteor/rules.mk | 11 +- keyboards/evil80/rules.mk | 11 +- keyboards/evolv/evolv.c | 6 +- keyboards/evolv/rules.mk | 5 +- .../evyd13/atom47/keymaps/LEdiodes/keymap.c | 57 +- .../evyd13/atom47/keymaps/default/keymap.c | 70 +- .../evyd13/atom47/keymaps/evyd13/keymap.c | 87 +- .../atom47/keymaps/junonum_a47/keymap.c | 47 +- keyboards/evyd13/atom47/keymaps/via/keymap.c | 44 + keyboards/evyd13/atom47/keymaps/via/rules.mk | 1 + keyboards/evyd13/atom47/readme.md | 23 +- keyboards/evyd13/atom47/rev2/config.h | 24 +- keyboards/evyd13/atom47/rev2/info.json | 69 +- keyboards/evyd13/atom47/rev2/rev2.c | 44 +- keyboards/evyd13/atom47/rev2/rev2.h | 42 +- keyboards/evyd13/atom47/rev2/rules.mk | 4 +- keyboards/evyd13/atom47/rev3/config.h | 26 +- keyboards/evyd13/atom47/rev3/info.json | 122 +- keyboards/evyd13/atom47/rev3/rev3.c | 37 +- keyboards/evyd13/atom47/rev3/rev3.h | 54 +- keyboards/evyd13/atom47/rev3/rules.mk | 2 - keyboards/evyd13/atom47/rev4/config.h | 58 + keyboards/evyd13/atom47/rev4/info.json | 114 + keyboards/evyd13/atom47/rev4/rev4.c | 18 + keyboards/evyd13/atom47/rev4/rev4.h | 51 + keyboards/evyd13/atom47/rev4/rules.mk | 7 + keyboards/evyd13/atom47/rev5/config.h | 164 + keyboards/evyd13/atom47/rev5/info.json | 63 + keyboards/evyd13/atom47/rev5/rev5.c | 153 + keyboards/evyd13/atom47/rev5/rev5.h | 38 + keyboards/evyd13/atom47/rev5/rules.mk | 2 + keyboards/evyd13/atom47/rules.mk | 34 +- keyboards/evyd13/eon40/config.h | 20 - keyboards/evyd13/eon40/rules.mk | 10 +- keyboards/evyd13/eon65/config.h | 20 - keyboards/evyd13/eon65/rules.mk | 10 +- keyboards/evyd13/eon75/config.h | 20 - keyboards/evyd13/eon75/rules.mk | 10 +- keyboards/evyd13/eon87/config.h | 20 - keyboards/evyd13/eon87/rules.mk | 10 +- keyboards/evyd13/eon95/config.h | 20 - keyboards/evyd13/eon95/rules.mk | 10 +- keyboards/evyd13/gh80_1800/rules.mk | 2 +- keyboards/evyd13/gh80_3700/gh80_3700.c | 8 - keyboards/evyd13/gh80_3700/rules.mk | 2 +- keyboards/evyd13/gud70/config.h | 150 + keyboards/evyd13/gud70/gud70.c | 22 + keyboards/evyd13/gud70/gud70.h | 73 + keyboards/evyd13/gud70/info.json | 252 + .../evyd13/gud70/keymaps/default/keymap.c | 37 + .../evyd13/gud70/keymaps/evyd13/keymap.c | 31 + keyboards/evyd13/gud70/readme.md | 20 + keyboards/evyd13/gud70/rules.mk | 22 + keyboards/evyd13/minitomic/config.h | 20 - keyboards/evyd13/minitomic/rules.mk | 10 +- keyboards/evyd13/mx5160/config.h | 20 - keyboards/evyd13/mx5160/rules.mk | 10 +- keyboards/evyd13/nt660/config.h | 20 - keyboards/evyd13/nt660/rules.mk | 10 +- keyboards/evyd13/nt750/rules.mk | 2 +- keyboards/evyd13/nt980/rules.mk | 2 +- keyboards/evyd13/omrontkl/config.h | 20 - keyboards/evyd13/omrontkl/rules.mk | 10 +- .../plain60/keymaps/kwerdenker/keymap.c | 6 +- .../plain60/keymaps/kwerdenker/rules.mk | 2 +- keyboards/evyd13/plain60/rules.mk | 10 +- keyboards/evyd13/pockettype/config.h | 20 - keyboards/evyd13/pockettype/pockettype.c | 6 - keyboards/evyd13/pockettype/rules.mk | 9 +- .../evyd13/quackfire/keymaps/default/keymap.c | 28 +- keyboards/evyd13/quackfire/rules.mk | 2 +- keyboards/evyd13/solheim68/rules.mk | 2 +- .../evyd13/ta65/keymaps/default/keymap.c | 3 +- keyboards/evyd13/ta65/rules.mk | 10 +- keyboards/evyd13/ta65/ta65.c | 12 - keyboards/evyd13/wasdat/config.h | 20 - .../evyd13/wasdat/keymaps/default/keymap.c | 28 +- .../wasdat/keymaps/default_iso/keymap.c | 28 +- .../evyd13/wasdat/keymaps/konstantin/rules.mk | 2 +- keyboards/evyd13/wasdat/keymaps/via/keymap.c | 84 +- keyboards/evyd13/wasdat/rules.mk | 10 +- keyboards/evyd13/wasdat_code/config.h | 20 - .../wasdat_code/keymaps/default/keymap.c | 28 +- .../wasdat_code/keymaps/default_iso/keymap.c | 28 +- keyboards/evyd13/wasdat_code/rules.mk | 10 +- keyboards/evyd13/wonderland/rules.mk | 10 +- .../exclusive/e65/keymaps/masterzen/keymap.c | 2 +- keyboards/exclusive/e65/rules.mk | 9 +- keyboards/exclusive/e6_rgb/e6_rgb.c | 2 +- keyboards/exclusive/e6_rgb/rules.mk | 10 +- keyboards/exclusive/e6v2/le/rules.mk | 10 +- keyboards/exclusive/e6v2/le_bmc/rules.mk | 12 +- keyboards/exclusive/e6v2/oe/oe.c | 21 - keyboards/exclusive/e6v2/oe/rules.mk | 10 +- keyboards/exclusive/e6v2/oe_bmc/rules.mk | 12 +- .../exclusive/e7v1/keymaps/masterzen/keymap.c | 2 +- keyboards/exclusive/e7v1/rules.mk | 9 +- keyboards/exclusive/e7v1se/config.h | 20 - keyboards/exclusive/e7v1se/e7v1se.c | 33 - keyboards/exclusive/e7v1se/rules.mk | 10 +- keyboards/exclusive/e85/config.h | 20 - keyboards/exclusive/e85/rules.mk | 2 +- keyboards/exent/config.h | 81 +- keyboards/exent/exent.h | 81 +- keyboards/exent/info.json | 243 +- keyboards/exent/keymaps/default/config.h | 19 - keyboards/exent/keymaps/default/keymap.c | 42 +- keyboards/exent/keymaps/default/readme.md | 1 - keyboards/exent/keymaps/via/keymap.c | 67 +- keyboards/exent/readme.md | 4 +- keyboards/exent/rules.mk | 31 +- keyboards/eyeohdesigns/babyv/babyv.c | 17 + keyboards/eyeohdesigns/babyv/babyv.h | 71 + keyboards/eyeohdesigns/babyv/config.h | 60 + keyboards/eyeohdesigns/babyv/info.json | 22 + .../eyeohdesigns/babyv/keymaps/1u/keymap.c | 45 + .../eyeohdesigns/babyv/keymaps/1u2u/keymap.c | 44 + .../eyeohdesigns/babyv/keymaps/2u1u/keymap.c | 45 + .../babyv/keymaps/default/keymap.c | 44 + .../babyv/keymaps/melonbred/keymap.c | 62 + keyboards/eyeohdesigns/babyv/readme.md | 21 + keyboards/eyeohdesigns/babyv/rules.mk | 22 + keyboards/eyeohdesigns/readme.md | 13 + keyboards/eyeohdesigns/sprh/config.h | 44 + keyboards/eyeohdesigns/sprh/info.json | 15 + .../sprh/keymaps/default/keymap.c | 49 + .../eyeohdesigns/sprh/keymaps/split/keymap.c | 49 + keyboards/eyeohdesigns/sprh/readme.md | 21 + keyboards/eyeohdesigns/sprh/rules.mk | 23 + keyboards/eyeohdesigns/sprh/sprh.c | 16 + keyboards/eyeohdesigns/sprh/sprh.h | 55 + .../ez_maker/directpins/promicro/config.h | 20 + .../ez_maker/directpins/promicro/info.json | 49 + .../promicro/keymaps/default/keymap.json | 19 + .../ez_maker/directpins/promicro/promicro.c | 17 + .../ez_maker/directpins/promicro/promicro.h | 19 + .../ez_maker/directpins/promicro/readme.md | 19 + .../directpins/promicro}/rules.mk | 0 .../ez_maker/directpins/proton_c/info.json | 60 + .../proton_c/keymaps/default/keymap.json | 25 + .../proton_c/keymaps/default/readme.md | 1 + .../ez_maker/directpins/proton_c/proton_c.c | 17 + .../ez_maker/directpins/proton_c/proton_c.h | 19 + .../ez_maker/directpins/proton_c/readme.md | 19 + .../directpins/proton_c}/rules.mk | 0 keyboards/ez_maker/directpins/readme.md | 5 + .../ez_maker/directpins/teensy_2/config.h | 20 + .../ez_maker/directpins/teensy_2/info.json | 52 + .../teensy_2/keymaps/default/keymap.json | 20 + .../ez_maker/directpins/teensy_2/readme.md | 19 + .../directpins/teensy_2}/rules.mk | 0 .../ez_maker/directpins/teensy_2/teensy2.c | 17 + .../ez_maker/directpins/teensy_2/teensy2.h | 19 + .../ez_maker/directpins/teensy_2pp/config.h | 20 + .../ez_maker/directpins/teensy_2pp/info.json | 67 + .../teensy_2pp/keymaps/default/keymap.json | 28 + .../ez_maker/directpins/teensy_2pp/readme.md | 19 + .../directpins/teensy_2pp}/rules.mk | 0 .../ez_maker/directpins/teensy_2pp/teensy2.c | 17 + .../ez_maker/directpins/teensy_2pp/teensy2.h | 19 + .../ez_maker/directpins/teensy_32/chconf.h | 53 + .../ez_maker/directpins/teensy_32/config.h | 23 + .../ez_maker/directpins/teensy_32/halconf.h | 27 + .../ez_maker/directpins/teensy_32/info.json | 53 + .../teensy_32/keymaps/default/keymap.json | 22 + .../ez_maker/directpins/teensy_32/mcuconf.h | 51 + .../ez_maker/directpins/teensy_32/readme.md | 19 + .../ez_maker/directpins/teensy_32/rules.mk | 2 + .../ez_maker/directpins/teensy_lc/chconf.h | 53 + .../ez_maker/directpins/teensy_lc/config.h | 23 + .../ez_maker/directpins/teensy_lc/halconf.h | 27 + .../ez_maker/directpins/teensy_lc/info.json | 53 + .../teensy_lc/keymaps/default/keymap.json | 22 + .../ez_maker/directpins/teensy_lc/mcuconf.h | 51 + .../ez_maker/directpins/teensy_lc/readme.md | 19 + .../ez_maker/directpins/teensy_lc/rules.mk | 5 + keyboards/facew/rules.mk | 11 +- keyboards/fallacy/indicators.c | 4 +- keyboards/fallacy/rules.mk | 5 +- keyboards/fc660c/matrix.c | 1 + keyboards/fc660c/rules.mk | 9 +- keyboards/fc980c/config.h | 9 +- keyboards/fc980c/keymaps/via/keymap.c | 41 + .../titan65 => fc980c}/keymaps/via/rules.mk | 0 keyboards/fc980c/matrix.c | 1 + keyboards/fc980c/rules.mk | 9 +- keyboards/feels/feels65/config.h | 36 + keyboards/feels/feels65/feels65.c | 16 + keyboards/feels/feels65/feels65.h | 95 + keyboards/feels/feels65/info.json | 391 ++ .../feels/feels65/keymaps/default/keymap.c | 34 + keyboards/feels/feels65/keymaps/via/keymap.c | 49 + keyboards/feels/feels65/keymaps/via/rules.mk | 1 + keyboards/feels/feels65/readme.md | 13 + keyboards/feels/feels65/rules.mk | 24 + keyboards/felix/config.h | 20 - keyboards/felix/rules.mk | 10 +- keyboards/ferris/0_1/matrix.c | 77 +- keyboards/ferris/0_1/readme.md | 17 + keyboards/ferris/0_1/rules.mk | 2 +- keyboards/ferris/0_2/0_2.c | 17 + keyboards/ferris/0_2/0_2.h | 43 + keyboards/ferris/0_2/bling/bling.c | 77 + keyboards/ferris/0_2/bling/config.h | 34 + keyboards/ferris/0_2/bling/readme.md | 16 + keyboards/ferris/0_2/bling/rules.mk | 2 + keyboards/ferris/0_2/chconf.h | 40 + keyboards/ferris/0_2/compact/config.h | 23 + keyboards/ferris/0_2/compact/readme.md | 17 + .../boy_314 => ferris/0_2/compact}/rules.mk | 0 keyboards/ferris/0_2/config.h | 80 + keyboards/ferris/0_2/halconf.h | 30 + keyboards/ferris/0_2/high/config.h | 23 + keyboards/ferris/0_2/high/readme.md | 17 + .../v1/.noci => ferris/0_2/high/rules.mk} | 0 keyboards/ferris/0_2/matrix.c | 255 + keyboards/ferris/0_2/mcuconf.h | 36 + keyboards/ferris/0_2/mini/config.h | 23 + keyboards/ferris/0_2/mini/readme.md | 18 + .../{kyria/.noci => ferris/0_2/mini/rules.mk} | 0 keyboards/ferris/0_2/readme.md | 16 + keyboards/ferris/0_2/rules.mk | 28 + keyboards/ferris/keymaps/default/config.h | 8 + keyboards/ferris/keymaps/default/keymap.json | 4 +- keyboards/ferris/keymaps/madhatter/rules.mk | 2 +- keyboards/ferris/keymaps/pierrec83/config.h | 8 + .../ferris/keymaps/pierrec83/keymap.json | 4 +- keyboards/ferris/keymaps/test/config.h | 28 + keyboards/ferris/keymaps/test/keymap.c | 13 + keyboards/ferris/keymaps/test/readme.md | 5 + keyboards/ferris/keymaps/test/rules.mk | 1 + keyboards/ferris/readme.md | 11 +- keyboards/ferris/sweep/readme.md | 18 + keyboards/ferris/sweep/rules.mk | 2 +- keyboards/ffkeebs/siris/config.h | 48 + keyboards/ffkeebs/siris/info.json | 73 + .../ffkeebs/siris/keymaps/default/keymap.c | 63 + keyboards/ffkeebs/siris/keymaps/via/keymap.c | 63 + .../siris}/keymaps/via/rules.mk | 0 keyboards/ffkeebs/siris/readme.md | 13 + keyboards/ffkeebs/siris/rules.mk | 23 + keyboards/ffkeebs/siris/siris.c | 17 + keyboards/ffkeebs/siris/siris.h | 37 + keyboards/fjlabs/bks65/rules.mk | 2 +- keyboards/fjlabs/bks65solder/bks65solder.c | 14 + keyboards/fjlabs/bks65solder/bks65solder.h | 46 + keyboards/fjlabs/bks65solder/config.h | 108 + keyboards/fjlabs/bks65solder/info.json | 165 + .../bks65solder/keymaps/default/keymap.c | 39 + .../fjlabs/bks65solder/keymaps/via/keymap.c | 54 + .../fjlabs/bks65solder/keymaps/via/rules.mk | 1 + keyboards/fjlabs/bks65solder/readme.md | 19 + keyboards/fjlabs/bks65solder/rules.mk | 28 + keyboards/fjlabs/bolsa65/rules.mk | 2 +- keyboards/fjlabs/kf87/config.h | 122 + keyboards/fjlabs/kf87/info.json | 105 + .../fjlabs/kf87/keymaps/default/keymap.c | 41 + keyboards/fjlabs/kf87/keymaps/via/keymap.c | 61 + keyboards/fjlabs/kf87/keymaps/via/rules.mk | 1 + keyboards/fjlabs/kf87/kf87.c | 14 + keyboards/fjlabs/kf87/kf87.h | 34 + keyboards/fjlabs/kf87/readme.md | 15 + keyboards/fjlabs/kf87/rules.mk | 26 + keyboards/fjlabs/ldk65/rules.mk | 2 +- keyboards/fjlabs/midway60/config.h | 105 + keyboards/fjlabs/midway60/info.json | 81 + .../fjlabs/midway60/keymaps/default/keymap.c | 39 + .../fjlabs/midway60/keymaps/via/keymap.c | 58 + .../fjlabs/midway60/keymaps/via/rules.mk | 1 + keyboards/fjlabs/midway60/midway60.c | 14 + keyboards/fjlabs/midway60/midway60.h | 32 + keyboards/fjlabs/midway60/readme.md | 20 + keyboards/fjlabs/midway60/rules.mk | 25 + keyboards/fjlabs/polaris/config.h | 105 + keyboards/fjlabs/polaris/info.json | 83 + .../fjlabs/polaris/keymaps/default/keymap.c | 39 + keyboards/fjlabs/polaris/keymaps/via/keymap.c | 58 + keyboards/fjlabs/polaris/keymaps/via/rules.mk | 1 + keyboards/fjlabs/polaris/polaris.c | 14 + keyboards/fjlabs/polaris/polaris.h | 32 + keyboards/fjlabs/polaris/readme.md | 14 + keyboards/fjlabs/polaris/rules.mk | 25 + keyboards/fjlabs/ready100/config.h | 110 + keyboards/fjlabs/ready100/info.json | 82 + .../fjlabs/ready100/keymaps/default/keymap.c | 40 + .../fjlabs/ready100/keymaps/via/keymap.c | 58 + .../fjlabs/ready100/keymaps/via/rules.mk | 1 + keyboards/fjlabs/ready100/readme.md | 19 + keyboards/fjlabs/ready100/ready100.c | 14 + keyboards/fjlabs/ready100/ready100.h | 32 + keyboards/fjlabs/ready100/rules.mk | 28 + keyboards/flehrad/bigswitch/rules.mk | 9 +- keyboards/flehrad/downbubble/config.h | 20 - .../downbubble/keymaps/default/keymap.c | 12 - keyboards/flehrad/downbubble/rules.mk | 10 +- .../flehrad/numbrero/keymaps/default/keymap.c | 10 - keyboards/flehrad/numbrero/rules.mk | 9 +- .../flehrad/snagpad/keymaps/default/keymap.c | 45 - .../flehrad/snagpad/keymaps/via/keymap.c | 45 - keyboards/flehrad/snagpad/rules.mk | 9 +- keyboards/flehrad/tradestation/config.h | 15 + keyboards/flehrad/tradestation/info.json | 40 +- .../tradestation/keymaps/default/keymap.c | 76 +- .../keymaps/tradestation/keymap.c | 27 + keyboards/flehrad/tradestation/rules.mk | 11 +- keyboards/flehrad/tradestation/tradestation.c | 15 + keyboards/flehrad/tradestation/tradestation.h | 15 + keyboards/fleuron/config.h | 20 - keyboards/fleuron/fleuron.c | 27 - keyboards/fleuron/keymaps/default/keymap.c | 12 - keyboards/fleuron/rules.mk | 13 +- keyboards/fluorite/config.h | 20 - keyboards/fluorite/rules.mk | 10 +- keyboards/flx/lodestone/rules.mk | 10 +- keyboards/flx/virgo/rules.mk | 10 +- keyboards/flx/virgo/virgo.c | 14 - keyboards/flxlb/zplit/config.h | 90 + keyboards/flxlb/zplit/info.json | 64 + .../flxlb/zplit/keymaps/default/config.h | 28 + .../flxlb/zplit/keymaps/default/keymap.c | 80 + keyboards/flxlb/zplit/keymaps/via/config.h | 28 + keyboards/flxlb/zplit/keymaps/via/keymap.c | 81 + keyboards/flxlb/zplit/keymaps/via/rules.mk | 1 + keyboards/flxlb/zplit/readme.md | 13 + keyboards/flxlb/zplit/rules.mk | 24 + keyboards/flxlb/zplit/zplit.c | 17 + keyboards/flxlb/zplit/zplit.h | 37 + keyboards/flygone60/rev3/config.h | 60 + keyboards/flygone60/rev3/info.json | 80 + .../flygone60/rev3/keymaps/default/keymap.c | 70 + .../flygone60/rev3/keymaps/default/readme.md | 1 + keyboards/flygone60/rev3/keymaps/via/keymap.c | 86 + keyboards/flygone60/rev3/keymaps/via/rules.mk | 2 + keyboards/flygone60/rev3/readme.md | 19 + keyboards/flygone60/rev3/rev3.c | 17 + keyboards/flygone60/rev3/rev3.h | 41 + keyboards/flygone60/rev3/rules.mk | 24 + keyboards/foostan/cornelius/info.json | 67 +- .../foostan/cornelius/keymaps/hvp/config.h | 20 + .../foostan/cornelius/keymaps/hvp/keymap.c | 66 + .../foostan/cornelius/keymaps/hvp/readme.md | 1 + .../cornelius/keymaps/hvp}/rules.mk | 0 keyboards/foostan/cornelius/rules.mk | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 23 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + keyboards/for_science/rules.mk | 2 +- keyboards/forever65/config.h | 71 + keyboards/forever65/info.json | 169 + keyboards/forever65/keymaps/default/keymap.c | 27 + keyboards/forever65/keymaps/via/keymap.c | 48 + keyboards/forever65/keymaps/via/rules.mk | 1 + keyboards/forever65/readme.md | 15 + keyboards/forever65/rules.mk | 1 + keyboards/fortitude60/fortitude60.h | 16 - keyboards/fortitude60/rules.mk | 10 +- keyboards/four_banger/rules.mk | 9 +- keyboards/foxlab/key65/hotswap/rules.mk | 10 +- keyboards/foxlab/key65/universal/rules.mk | 10 +- keyboards/foxlab/leaf60/hotswap/config.h | 20 - .../leaf60/hotswap/keymaps/default/keymap.c | 12 - keyboards/foxlab/leaf60/hotswap/rules.mk | 10 +- keyboards/foxlab/leaf60/universal/config.h | 20 - .../leaf60/universal/keymaps/default/keymap.c | 12 - keyboards/foxlab/leaf60/universal/rules.mk | 10 +- keyboards/foxlab/time80/rules.mk | 4 +- keyboards/foxlab/time_re/hotswap/config.h | 64 + keyboards/foxlab/time_re/hotswap/hotswap.c | 17 + keyboards/foxlab/time_re/hotswap/hotswap.h | 34 + keyboards/foxlab/time_re/hotswap/info.json | 103 + .../time_re/hotswap/keymaps/default/keymap.c | 36 + .../time_re/hotswap/keymaps/via/keymap.c | 52 + .../time_re/hotswap/keymaps/via/rules.mk | 1 + keyboards/foxlab/time_re/hotswap/readme.md | 19 + keyboards/foxlab/time_re/hotswap/rules.mk | 22 + keyboards/foxlab/time_re/universal/config.h | 64 + keyboards/foxlab/time_re/universal/info.json | 103 + .../universal/keymaps/default/keymap.c | 36 + .../time_re/universal/keymaps/via/keymap.c | 52 + .../time_re/universal/keymaps/via/rules.mk | 1 + keyboards/foxlab/time_re/universal/readme.md | 19 + keyboards/foxlab/time_re/universal/rules.mk | 22 + .../foxlab/time_re/universal/universal.c | 17 + .../foxlab/time_re/universal/universal.h | 34 + keyboards/fr4/southpaw75/rules.mk | 2 +- keyboards/fr4/unix60/rules.mk | 2 +- keyboards/fractal/rules.mk | 10 +- keyboards/freyr/rules.mk | 2 +- keyboards/friedrich/config.h | 45 + keyboards/friedrich/friedrich.c | 17 + keyboards/friedrich/friedrich.h | 43 + keyboards/friedrich/info.json | 64 + keyboards/friedrich/keymaps/default/keymap.c | 33 + keyboards/friedrich/keymaps/via/keymap.c | 47 + keyboards/friedrich/keymaps/via/rules.mk | 1 + keyboards/friedrich/readme.md | 21 + keyboards/friedrich/rules.mk | 22 + keyboards/frooastboard/config.h | 52 + keyboards/frooastboard/frooastboard.c | 17 + keyboards/frooastboard/frooastboard.h | 27 + keyboards/frooastboard/info.json | 44 + .../frooastboard/keymaps/default/keymap.c | 47 + .../frooastboard/keymaps/safe_mode/keymap.c | 43 + keyboards/frooastboard/keymaps/via/config.h | 30 + keyboards/frooastboard/keymaps/via/keymap.c | 27 + .../keymaps/via/rules.mk | 0 keyboards/frooastboard/readme.md | 19 + keyboards/frooastboard/rules.mk | 22 + keyboards/ft/mars80/rules.mk | 11 +- keyboards/function96/chconf.h | 31 - keyboards/function96/config.h | 52 - keyboards/function96/function96.c | 17 - keyboards/function96/halconf.h | 27 - keyboards/function96/info.json | 12 - keyboards/function96/mcuconf.h | 28 - keyboards/function96/readme.md | 13 - keyboards/function96/rules.mk | 19 - keyboards/function96/v1/config.h | 52 + keyboards/function96/v1/info.json | 12 + .../{ => v1}/keymaps/default/keymap.c | 0 .../{ => v1}/keymaps/default/readme.md | 0 keyboards/function96/v1/mcuconf.h | 27 + keyboards/function96/v1/readme.md | 13 + keyboards/function96/v1/rules.mk | 22 + keyboards/function96/v1/v1.c | 17 + .../function96/{function96.h => v1/v1.h} | 0 keyboards/function96/v2/config.h | 52 + keyboards/function96/v2/info.json | 554 ++ .../v2/keymaps/ansi_splitspace/keymap.c | 44 + .../v2/keymaps/ansi_splitspace/readme.md | 3 + .../function96/v2/keymaps/default/keymap.c | 36 + .../function96/v2/keymaps/default/readme.md | 3 + keyboards/function96/v2/keymaps/iso/keymap.c | 36 + keyboards/function96/v2/keymaps/iso/readme.md | 3 + .../v2/keymaps/iso_splitspace/keymap.c | 44 + .../v2/keymaps/iso_splitspace/readme.md | 3 + keyboards/function96/v2/mcuconf.h | 27 + keyboards/function96/v2/readme.md | 13 + keyboards/function96/v2/rules.mk | 22 + keyboards/function96/v2/v2.c | 17 + keyboards/function96/v2/v2.h | 104 + keyboards/funky40/rules.mk | 10 +- keyboards/gami_studio/lex60/rules.mk | 10 +- keyboards/gboards/g/keymap_combo.h | 6 +- keyboards/geekboards/macropad_v2/config.h | 7 +- keyboards/geekboards/macropad_v2/rules.mk | 5 +- keyboards/geekboards/tester/config.h | 4 +- .../tester/keymaps/default/keymap.c | 12 - keyboards/geekboards/tester/rules.mk | 10 +- keyboards/geekboards/tester/tester.c | 24 +- keyboards/geminate60/geminate60.h | 28 +- keyboards/geminate60/info.json | 56 +- keyboards/geminate60/keymaps/default/keymap.c | 56 +- keyboards/geminate60/keymaps/via/keymap.c | 85 +- keyboards/geminate60/readme.md | 5 +- keyboards/geminate60/rules.mk | 5 +- keyboards/generic_panda/panda65_01/rules.mk | 5 +- keyboards/genone/eclipse_65/rules.mk | 2 +- keyboards/genone/g1_65/config.h | 48 + keyboards/genone/g1_65/g1_65.c | 17 + keyboards/genone/g1_65/g1_65.h | 37 + keyboards/genone/g1_65/info.json | 12 + .../genone/g1_65/keymaps/default/keymap.c | 37 + keyboards/genone/g1_65/keymaps/via/keymap.c | 53 + .../g1_65}/keymaps/via/rules.mk | 0 keyboards/genone/g1_65/readme.md | 18 + keyboards/genone/g1_65/rules.mk | 24 + keyboards/georgi/georgi.h | 2 - keyboards/georgi/rules.mk | 7 - keyboards/gergo/gergo.c | 2 +- keyboards/gergo/gergo.h | 2 - keyboards/gergo/keymaps/drashna/keymap.c | 52 +- .../keymaps/manna-harbour_miryoku/config.h | 22 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + keyboards/gergo/keymaps/oled/keymap.c | 2 +- keyboards/gergo/keymaps/oled/rules.mk | 3 +- keyboards/gergo/rules.mk | 11 +- keyboards/getta25/keymaps/oled/keymap.c | 14 +- keyboards/getta25/keymaps/oled/rules.mk | 3 +- keyboards/getta25/rules.mk | 14 +- .../ggkeyboards/genesis/hotswap/config.h | 50 + .../ggkeyboards/genesis/hotswap/hotswap.c | 22 + .../ggkeyboards/genesis/hotswap/hotswap.h | 39 + .../ggkeyboards/genesis/hotswap/info.json | 101 + .../genesis/hotswap/keymaps/default/keymap.c | 53 + .../genesis/hotswap/keymaps/via/keymap.c | 53 + .../genesis/hotswap}/keymaps/via/rules.mk | 0 .../ggkeyboards/genesis/hotswap/readme.md | 15 + .../ggkeyboards/genesis/hotswap/rules.mk | 25 + keyboards/ggkeyboards/genesis/solder/config.h | 49 + .../ggkeyboards/genesis/solder/info.json | 103 + .../genesis/solder/keymaps/default/keymap.c | 53 + .../genesis/solder/keymaps/via/keymap.c | 53 + .../genesis/solder/keymaps/via/rules.mk | 1 + .../ggkeyboards/genesis/solder/readme.md | 15 + keyboards/ggkeyboards/genesis/solder/rules.mk | 25 + keyboards/ggkeyboards/genesis/solder/solder.c | 22 + keyboards/ggkeyboards/genesis/solder/solder.h | 38 + keyboards/gh60/revc/keymaps/bluezio/keymap.c | 6 +- keyboards/gh60/revc/keymaps/dbroqua/keymap.c | 71 +- .../gh60/revc/keymaps/dbroqua_7U/keymap.c | 33 +- .../gh60/revc/keymaps/default_abnt2/keymap.c | 2 +- .../gh60/revc/keymaps/robotmaxtron/keymap.c | 100 +- keyboards/gh60/revc/keymaps/sethbc/keymap.c | 39 +- keyboards/gh60/revc/rules.mk | 12 +- keyboards/gh60/satan/keymaps/abhixec/rules.mk | 2 +- .../gh60/satan/keymaps/addcninblue/rules.mk | 3 +- .../satan/keymaps/admiralStrokers/rules.mk | 4 +- keyboards/gh60/satan/keymaps/ben_iso/rules.mk | 2 +- keyboards/gh60/satan/keymaps/bri/keymap.c | 6 +- keyboards/gh60/satan/keymaps/chaser/keymap.c | 41 +- keyboards/gh60/satan/keymaps/chaser/rules.mk | 2 +- keyboards/gh60/satan/keymaps/colemak/rules.mk | 2 +- keyboards/gh60/satan/keymaps/dbroqua/keymap.c | 71 +- keyboards/gh60/satan/keymaps/default/rules.mk | 3 +- .../gh60/satan/keymaps/dende_iso/keymap.c | 6 +- .../gh60/satan/keymaps/dende_iso/rules.mk | 2 +- keyboards/gh60/satan/keymaps/denolfe/keymap.c | 104 +- keyboards/gh60/satan/keymaps/denolfe/rules.mk | 2 +- .../gh60/satan/keymaps/dkrieger/rules.mk | 2 +- keyboards/gh60/satan/keymaps/fakb/rules.mk | 2 +- .../gh60/satan/keymaps/gipsy-king/rules.mk | 2 +- keyboards/gh60/satan/keymaps/isoHHKB/keymap.c | 39 +- keyboards/gh60/satan/keymaps/isoHHKB/rules.mk | 2 +- .../satan/keymaps/iso_split_rshift/rules.mk | 2 +- keyboards/gh60/satan/keymaps/lepa/rules.mk | 2 +- keyboards/gh60/satan/keymaps/midi/rules.mk | 2 +- .../satan/keymaps/olligranlund_iso/rules.mk | 2 +- keyboards/gh60/satan/keymaps/sethbc/keymap.c | 40 +- keyboards/gh60/satan/keymaps/sethbc/rules.mk | 2 +- keyboards/gh60/satan/keymaps/smt/rules.mk | 2 +- .../gh60/satan/keymaps/stanleylai/keymap.c | 40 +- keyboards/gh60/satan/keymaps/unxmaal/keymap.c | 39 - keyboards/gh60/satan/keymaps/unxmaal/rules.mk | 2 +- keyboards/gh60/satan/rules.mk | 10 +- keyboards/gh60/v1p3/rules.mk | 2 +- keyboards/gh80_3000/rules.mk | 9 +- keyboards/ghs/rar/config.h | 20 - keyboards/ghs/rar/rules.mk | 10 +- keyboards/gingham/config.h | 20 - keyboards/gingham/rules.mk | 12 +- keyboards/gkeyboard/gkb_m16/rules.mk | 2 +- keyboards/{naked60 => gmmk}/.noci | 0 keyboards/gmmk/pro/ansi/ansi.c | 241 + keyboards/gmmk/pro/ansi/ansi.h | 52 + keyboards/gmmk/pro/ansi/config.h | 23 + keyboards/gmmk/pro/ansi/info.json | 111 + .../gmmk/pro/ansi/keymaps/alexmarmon/keymap.c | 66 + .../pro/ansi/keymaps/alexmarmon/readme.md | 7 + .../gmmk/pro/ansi/keymaps/andrebrait/config.h | 22 + .../gmmk/pro/ansi/keymaps/andrebrait/keymap.c | 287 ++ .../pro/ansi/keymaps/andrebrait/readme.md | 23 + .../gmmk/pro/ansi/keymaps/andrebrait/rules.mk | 3 + .../gmmk/pro/ansi/keymaps/default/keymap.c | 72 + .../gmmk/pro/ansi/keymaps/jackkenney/keymap.c | 66 + .../gmmk/pro/ansi/keymaps/jonavin/config.h | 39 + .../gmmk/pro/ansi/keymaps/jonavin/keymap.c | 163 + .../gmmk/pro/ansi/keymaps/jonavin/readme.md | 61 + .../pro/ansi/keymaps/jonavin/rgb_matrix_map.h | 144 + .../gmmk/pro/ansi/keymaps/jonavin/rules.mk | 11 + .../gmmk/pro/ansi/keymaps/mike1808/.gitignore | 1 + .../gmmk/pro/ansi/keymaps/mike1808/README.md | 19 + .../gmmk/pro/ansi/keymaps/mike1808/config.h | 31 + .../gmmk/pro/ansi/keymaps/mike1808/encoder.c | 111 + .../gmmk/pro/ansi/keymaps/mike1808/encoder.h | 35 + .../gmmk/pro/ansi/keymaps/mike1808/fun.c | 49 + .../gmmk/pro/ansi/keymaps/mike1808/keymap.c | 127 + .../gmmk/pro/ansi/keymaps/mike1808/mike1808.c | 68 + .../gmmk/pro/ansi/keymaps/mike1808/mike1808.h | 111 + .../ansi/keymaps/mike1808/process_record.c | 119 + .../ansi/keymaps/mike1808/process_record.h | 26 + .../keymaps/mike1808/rgb_matrix_ledmaps.c | 71 + .../keymaps/mike1808/rgb_matrix_ledmaps.h | 100 + .../gmmk/pro/ansi/keymaps/mike1808/rules.mk | 25 + .../gmmk/pro/ansi/keymaps/mike1808/utils.c | 64 + .../gmmk/pro/ansi/keymaps/mike1808/utils.h | 32 + .../gmmk/pro/ansi/keymaps/paddlegame/config.h | 24 + .../gmmk/pro/ansi/keymaps/paddlegame/keymap.c | 471 ++ .../pro/ansi/keymaps/paddlegame/paddlegame.h | 46 + .../pro/ansi/keymaps/paddlegame/readme.md | 18 + .../ansi/keymaps/paddlegame/rgb_matrix_map.h | 181 + .../gmmk/pro/ansi/keymaps/paddlegame/rules.mk | 4 + .../pro/ansi/keymaps/stickandgum/config.h | 75 + .../pro/ansi/keymaps/stickandgum/keymap.c | 300 ++ .../pro/ansi/keymaps/stickandgum/readme.md | 63 + .../pro/ansi/keymaps/stickandgum/rules.mk | 2 + keyboards/gmmk/pro/ansi/keymaps/via/keymap.c | 89 + keyboards/gmmk/pro/ansi/keymaps/via/rules.mk | 1 + .../pro/ansi/keymaps/wholesomeducky/keymap.c | 57 + .../gmmk/pro/ansi/keymaps/willwm/keymap.c | 73 + .../gmmk/pro/ansi/keymaps/willwm/keymap.json | 181 + .../gmmk/pro/ansi/keymaps/willwm/readme.md | 22 + .../gmmk/pro/ansi/keymaps/willwm/rules.mk | 2 + keyboards/gmmk/pro/ansi/readme.md | 37 + keyboards/gmmk/pro/ansi/rules.mk | 25 + keyboards/gmmk/pro/config.h | 78 + keyboards/gmmk/pro/halconf.h | 7 + keyboards/gmmk/pro/iso/config.h | 23 + keyboards/gmmk/pro/iso/info.json | 112 + keyboards/gmmk/pro/iso/iso.c | 243 + keyboards/gmmk/pro/iso/iso.h | 52 + .../gmmk/pro/iso/keymaps/default/keymap.c | 72 + keyboards/gmmk/pro/iso/keymaps/via/keymap.c | 91 + keyboards/gmmk/pro/iso/keymaps/via/rules.mk | 1 + keyboards/gmmk/pro/iso/readme.md | 37 + keyboards/gmmk/pro/iso/rules.mk | 25 + keyboards/gmmk/pro/keymaps/moults31/keymap.c | 92 + keyboards/gmmk/pro/mcuconf.h | 6 + keyboards/gmmk/pro/pro.c | 16 + keyboards/gmmk/pro/pro.h | 25 + keyboards/gon/nerd60/config.h | 8 +- keyboards/gon/nerd60/info.json | 295 +- keyboards/gon/nerd60/keymaps/default/keymap.c | 12 +- keyboards/gon/nerd60/keymaps/mauin/keymap.c | 118 +- keyboards/gon/nerd60/keymaps/mauin/rules.mk | 2 +- keyboards/gon/nerd60/keymaps/via/keymap.c | 52 + keyboards/gon/nerd60/keymaps/via/rules.mk | 3 + keyboards/gon/nerd60/nerd60.h | 80 +- keyboards/gon/nerd60/rules.mk | 17 +- keyboards/gon/nerdtkl/config.h | 7 +- .../gon/nerdtkl/keymaps/gam3cat/keymap.c | 2 +- .../gon/nerdtkl/keymaps/gam3cat/rules.mk | 3 +- keyboards/gon/nerdtkl/keymaps/via/keymap.c | 58 + keyboards/gon/nerdtkl/keymaps/via/rules.mk | 3 + keyboards/gon/nerdtkl/rules.mk | 10 +- keyboards/gorthage_truck/config.h | 60 + keyboards/gorthage_truck/gorthage_truck.c | 29 + keyboards/gorthage_truck/gorthage_truck.h | 77 + keyboards/gorthage_truck/info.json | 210 + keyboards/gorthage_truck/keymaps/10u/keymap.c | 42 + .../gorthage_truck/keymaps/10u/readme.md | 1 + keyboards/gorthage_truck/keymaps/7u/keymap.c | 42 + keyboards/gorthage_truck/keymaps/7u/readme.md | 1 + .../gorthage_truck/keymaps/default/keymap.c | 42 + .../gorthage_truck/keymaps/default/readme.md | 1 + keyboards/gorthage_truck/readme.md | 19 + keyboards/gorthage_truck/rules.mk | 24 + keyboards/gowla/rules.mk | 10 +- keyboards/gray_studio/cod67/cod67.c | 27 - .../cod67/keymaps/default/keymap.c | 16 - keyboards/gray_studio/cod67/rules.mk | 13 +- keyboards/gray_studio/hb85/rules.mk | 11 +- keyboards/gray_studio/space65/config.h | 20 - .../space65/keymaps/default/keymap.c | 12 - .../gray_studio/space65/keymaps/iso/keymap.c | 28 +- keyboards/gray_studio/space65/rules.mk | 10 +- .../gray_studio/think65/hotswap/rules.mk | 10 +- .../solder/keymaps/dangjoeltang/keymap.c | 232 + .../solder/keymaps/dangjoeltang/readme.md | 9 + .../gray_studio/think65/solder/readme.md | 12 +- keyboards/gray_studio/think65/solder/rules.mk | 10 +- keyboards/gray_studio/think65/solder/solder.c | 7 - .../grid600/press/keymaps/default/keymap.c | 12 - keyboards/grid600/press/rules.mk | 10 +- keyboards/gskt00/keymaps/default/keymap.c | 45 - keyboards/gskt00/rules.mk | 9 +- keyboards/gvalchca/ga150/config.h | 48 + keyboards/gvalchca/ga150/ga150.c | 17 + keyboards/gvalchca/ga150/ga150.h | 37 + keyboards/gvalchca/ga150/info.json | 82 + .../gvalchca/ga150/keymaps/default/keymap.c | 39 + .../gvalchca/ga150/keymaps/default/readme.md | 1 + keyboards/gvalchca/ga150/keymaps/via/keymap.c | 48 + keyboards/gvalchca/ga150/keymaps/via/rules.mk | 1 + keyboards/gvalchca/ga150/readme.md | 15 + keyboards/gvalchca/ga150/rules.mk | 24 + keyboards/gvalchca/spaccboard/config.h | 48 + keyboards/gvalchca/spaccboard/info.json | 214 + .../spaccboard/keymaps/default/keymap.c | 39 + .../spaccboard/keymaps/default/readme.md | 1 + .../gvalchca/spaccboard/keymaps/via/keymap.c | 48 + .../gvalchca/spaccboard/keymaps/via/rules.mk | 1 + keyboards/gvalchca/spaccboard/readme.md | 14 + keyboards/gvalchca/spaccboard/rules.mk | 24 + keyboards/gvalchca/spaccboard/spaccboard.c | 17 + keyboards/gvalchca/spaccboard/spaccboard.h | 66 + keyboards/h0oni/hotduck/config.h | 74 + keyboards/h0oni/hotduck/hotduck.c | 18 + keyboards/h0oni/hotduck/hotduck.h | 37 + keyboards/h0oni/hotduck/info.json | 85 + .../h0oni/hotduck/keymaps/default/keymap.c | 52 + keyboards/h0oni/hotduck/keymaps/via/keymap.c | 52 + .../hotduck}/keymaps/via/rules.mk | 0 keyboards/h0oni/hotduck/readme.md | 12 + keyboards/h0oni/hotduck/rules.mk | 22 + keyboards/hadron/hadron.h | 9 +- keyboards/hadron/ver2/rules.mk | 11 +- keyboards/hadron/ver2/ver2.c | 25 - keyboards/hadron/ver3/config.h | 20 - .../hadron/ver3/keymaps/default/keymap.c | 7 - keyboards/hadron/ver3/keymaps/ishtob/keymap.c | 2 +- keyboards/hadron/ver3/rules.mk | 6 +- keyboards/hadron/ver3/ver3.c | 7 +- keyboards/hadron/ver3/ver3.h | 2 +- keyboards/halberd/config.h | 20 - keyboards/halberd/halberd.c | 27 - keyboards/halberd/keymaps/default/keymap.c | 12 - keyboards/halberd/rules.mk | 10 +- keyboards/halfcliff/config.h | 69 + keyboards/halfcliff/halfcliff.c | 92 + keyboards/halfcliff/halfcliff.h | 58 + keyboards/halfcliff/info.json | 88 + keyboards/halfcliff/keymaps/default/keymap.c | 109 + keyboards/halfcliff/keymaps/default/readme.md | 1 + keyboards/halfcliff/keymaps/via/keymap.c | 112 + keyboards/halfcliff/keymaps/via/readme.md | 1 + keyboards/halfcliff/keymaps/via/rules.mk | 1 + keyboards/halfcliff/matrix.c | 277 + keyboards/halfcliff/readme.md | 19 + keyboards/halfcliff/rules.mk | 29 + keyboards/hand88/rules.mk | 5 +- .../handwired/108key_trackpoint/rules.mk | 10 +- .../keymaps/default_tapdance/keymap.c | 38 +- keyboards/handwired/2x5keypad/rules.mk | 9 +- keyboards/handwired/3dp660/config.h | 8 +- keyboards/handwired/3dp660/rules.mk | 2 +- keyboards/handwired/412_64/412_64.c | 28 - keyboards/handwired/412_64/config.h | 20 - .../handwired/412_64/keymaps/default/keymap.c | 16 - keyboards/handwired/412_64/rules.mk | 12 +- keyboards/handwired/42/rules.mk | 10 +- .../handwired/6key/keymaps/default/keymap.c | 33 +- keyboards/handwired/6key/rules.mk | 2 +- keyboards/handwired/6macro/rules.mk | 2 +- .../handwired/aek64/keymaps/default/keymap.c | 2 +- keyboards/handwired/aek64/rules.mk | 9 +- keyboards/handwired/aim65/rules.mk | 2 +- keyboards/handwired/amigopunk/amigopunk.c | 17 + keyboards/handwired/amigopunk/amigopunk.h | 35 + keyboards/handwired/amigopunk/config.h | 57 + keyboards/handwired/amigopunk/info.json | 93 + .../amigopunk/keymaps/default/keymap.c | 92 + keyboards/handwired/amigopunk/readme.md | 19 + keyboards/handwired/amigopunk/rules.mk | 25 + keyboards/handwired/angel/rules.mk | 2 +- keyboards/handwired/aplx2/rules.mk | 10 +- keyboards/handwired/aranck/aranck.c | 27 - keyboards/handwired/aranck/config.h | 20 - keyboards/handwired/aranck/rules.mk | 10 +- .../arrow_pad/keymaps/pad_21/rules.mk | 2 +- .../arrow_pad/keymaps/pad_24/rules.mk | 2 +- keyboards/handwired/arrow_pad/rules.mk | 10 +- keyboards/handwired/atreus50/atreus50.h | 13 - .../atreus50/keymaps/ajp10304/config.h | 16 + .../atreus50/keymaps/ajp10304/keymap.c | 16 + .../atreus50/keymaps/ajp10304/readme.md | 2 +- keyboards/handwired/atreus50/rules.mk | 10 +- keyboards/handwired/axon/axon.c | 18 + keyboards/handwired/axon/axon.h | 85 + keyboards/handwired/axon/config.h | 48 + keyboards/handwired/axon/info.json | 192 + .../handwired/axon/keymaps/default/keymap.c | 43 + keyboards/handwired/axon/readme.md | 23 + keyboards/handwired/axon/rules.mk | 22 + keyboards/handwired/bdn9_ble/rules.mk | 10 +- .../handwired/bento/keymaps/cbc02009/keymap.c | 3 +- .../handwired/bento/keymaps/default/keymap.c | 3 +- .../handwired/bento/keymaps/mac/keymap.c | 5 +- keyboards/handwired/bento/rev1/rules.mk | 2 +- keyboards/handwired/bigmac/rules.mk | 2 +- keyboards/handwired/bolek/bolek.c | 17 + keyboards/handwired/bolek/bolek.h | 43 + keyboards/handwired/bolek/config.h | 150 + keyboards/handwired/bolek/info.json | 49 + .../handwired/bolek/keymaps/default/keymap.c | 32 + .../handwired/bolek/keymaps/default/readme.md | 1 + keyboards/handwired/bolek/readme.md | 17 + keyboards/handwired/bolek/rules.mk | 22 + .../handwired/boss566y/redragon_vara/rules.mk | 10 +- keyboards/handwired/brain/rules.mk | 3 +- keyboards/handwired/cans12er/rules.mk | 10 +- keyboards/handwired/chiron/rules.mk | 10 +- keyboards/handwired/ck4x4/rules.mk | 7 +- keyboards/handwired/cmd60/cmd60.c | 7 - keyboards/handwired/cmd60/rules.mk | 10 +- .../handwired/co60/keymaps/all_keys/keymap.c | 16 - .../handwired/co60/keymaps/default/keymap.c | 16 - keyboards/handwired/co60/rev1/rev1.c | 30 - keyboards/handwired/co60/rev1/rules.mk | 10 +- keyboards/handwired/co60/rev6/config.h | 6 - keyboards/handwired/co60/rev6/rules.mk | 6 +- keyboards/handwired/co60/rev7/config.h | 6 - keyboards/handwired/co60/rev7/rules.mk | 6 +- keyboards/handwired/colorlice/config.h | 2 +- keyboards/handwired/colorlice/rules.mk | 12 +- .../handwired/concertina/64key/info.json | 32 +- .../handwired/concertina/64key/readme.md | 52 +- keyboards/handwired/concertina/64key/rules.mk | 2 +- .../handwired/consolekeyboard/18key/rules.mk | 2 +- .../handwired/consolekeyboard/20key/rules.mk | 2 +- .../handwired/consolekeyboard/27key/rules.mk | 2 +- .../handwired/consolekeyboard/30key/rules.mk | 2 +- keyboards/handwired/curiosity/rules.mk | 2 +- .../handwired/d48/keymaps/anderson/keymap.c | 5 +- .../handwired/d48/keymaps/default/keymap.c | 5 +- keyboards/handwired/d48/rules.mk | 8 +- keyboards/handwired/dactyl/dactyl.c | 3 +- keyboards/handwired/dactyl/dactyl.h | 10 +- keyboards/handwired/dactyl/i2cmaster.h | 178 - .../handwired/dactyl/keymaps/default/keymap.c | 9 - .../handwired/dactyl/keymaps/default/rules.mk | 1 + .../handwired/dactyl/keymaps/dvorak/rules.mk | 1 + keyboards/handwired/dactyl/matrix.c | 101 +- keyboards/handwired/dactyl/rules.mk | 15 +- keyboards/handwired/dactyl/twimaster.c | 207 - keyboards/handwired/dactyl_left/config.h | 20 - keyboards/handwired/dactyl_left/dactyl_left.c | 35 - .../dactyl_left/keymaps/default/keymap.c | 6 - keyboards/handwired/dactyl_left/rules.mk | 10 +- keyboards/handwired/dactyl_manuform/4x5/4x5.c | 22 - keyboards/handwired/dactyl_manuform/4x5/4x5.h | 93 +- .../handwired/dactyl_manuform/4x5/config.h | 7 +- .../handwired/dactyl_manuform/4x5/info.json | 105 +- .../4x5/keymaps/default/config.h | 7 +- .../4x5/keymaps/default/keymap.c | 186 +- .../4x5/keymaps/ibnuda/keymap.c | 43 +- .../keymaps/manna-harbour_miryoku/config.h | 25 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + .../handwired/dactyl_manuform/4x5/rules.mk | 33 +- keyboards/handwired/dactyl_manuform/4x6/4x6.c | 13 - keyboards/handwired/dactyl_manuform/4x6/4x6.h | 45 +- .../handwired/dactyl_manuform/4x6/config.h | 4 +- .../handwired/dactyl_manuform/4x6/info.json | 119 +- .../4x6/keymaps/default/config.h | 6 +- .../4x6/keymaps/default/keymap.c | 106 +- .../handwired/dactyl_manuform/4x6/rules.mk | 33 +- keyboards/handwired/dactyl_manuform/5x6/5x6.c | 22 - keyboards/handwired/dactyl_manuform/5x6/5x6.h | 56 +- .../handwired/dactyl_manuform/5x6/config.h | 6 +- .../handwired/dactyl_manuform/5x6/info.json | 143 +- .../5x6/keymaps/default/config.h | 6 +- .../5x6/keymaps/default/keymap.c | 71 +- .../keymaps/manna-harbour_miryoku/config.h | 26 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + .../5x6/keymaps/swedish/keymap.c | 11 +- .../handwired/dactyl_manuform/5x6/rules.mk | 33 +- .../dactyl_manuform/5x6_2_5/5x6_2_5.c | 17 + .../dactyl_manuform/5x6_2_5/5x6_2_5.h | 44 + .../dactyl_manuform/5x6_2_5/config.h | 57 + .../dactyl_manuform/5x6_2_5/info.json | 92 + .../5x6_2_5/keymaps/default/config.h | 24 + .../5x6_2_5/keymaps/default/keymap.json | 525 ++ .../dactyl_manuform/5x6_2_5/readme.md | 13 + .../dactyl_manuform/5x6_2_5/rules.mk | 23 + .../handwired/dactyl_manuform/5x6_5/5x6_5.c | 1 - .../handwired/dactyl_manuform/5x6_5/5x6_5.h | 45 +- .../handwired/dactyl_manuform/5x6_5/config.h | 7 +- .../handwired/dactyl_manuform/5x6_5/info.json | 130 +- .../5x6_5/keymaps/333fred/keymap.c | 3 +- .../5x6_5/keymaps/333fred/rules.mk | 3 +- .../5x6_5/keymaps/cykedev/config.h | 59 + .../5x6_5/keymaps/cykedev/keymap.c | 153 + .../5x6_5/keymaps/cykedev/rules.mk | 6 + .../handwired/dactyl_manuform/5x6_5/rules.mk | 26 +- .../5x6_right_trackball/5x6_right_trackball.c | 225 - .../5x6_right_trackball/5x6_right_trackball.h | 73 - .../5x6_right_trackball/config.h | 72 - .../5x6_right_trackball/info.json | 75 - .../keymaps/default/config.h | 22 - .../keymaps/default/keymap.c | 17 - .../keymaps/default/rules.mk | 4 - .../keymaps/drashna/config.h | 41 - .../keymaps/drashna/keymap.c | 228 - .../keymaps/drashna/rules.mk | 9 - .../5x6_right_trackball/pmw3360.c | 225 - .../5x6_right_trackball/pmw3360.h | 103 - .../5x6_right_trackball/pointer_transport.c | 540 -- .../5x6_right_trackball/post_config.h | 33 - .../5x6_right_trackball/rules.mk | 30 - keyboards/handwired/dactyl_manuform/5x7/5x7.c | 22 - keyboards/handwired/dactyl_manuform/5x7/5x7.h | 54 +- .../handwired/dactyl_manuform/5x7/config.h | 6 +- .../handwired/dactyl_manuform/5x7/info.json | 163 +- .../5x7/keymaps/default/config.h | 6 +- .../5x7/keymaps/default/keymap.c | 122 +- .../dactyl_manuform/5x7/keymaps/via/config.h | 6 +- .../dactyl_manuform/5x7/keymaps/via/keymap.c | 198 +- .../handwired/dactyl_manuform/5x7/rules.mk | 33 +- keyboards/handwired/dactyl_manuform/6x6/6x6.c | 22 - keyboards/handwired/dactyl_manuform/6x6/6x6.h | 63 +- .../handwired/dactyl_manuform/6x6/config.h | 6 +- .../handwired/dactyl_manuform/6x6/info.json | 169 +- .../6x6/keymaps/default/config.h | 6 +- .../6x6/keymaps/default/keymap.c | 73 +- .../handwired/dactyl_manuform/6x6/rules.mk | 33 +- keyboards/handwired/dactyl_manuform/config.h | 30 +- .../dactyl_manuform/dactyl_manuform.h | 41 +- .../dactyl_manuform/dmote/62key/62key.c | 4 - .../dactyl_manuform/dmote/62key/62key.h | 46 +- .../dactyl_manuform/dmote/62key/config.h | 9 +- .../dactyl_manuform/dmote/62key/info.json | 126 +- .../dmote/62key/keymaps/default/keymap.c | 140 +- keyboards/handwired/dactyl_manuform/rules.mk | 34 - .../dactyl_promicro/dactyl_promicro.c | 11 - keyboards/handwired/dactyl_promicro/rules.mk | 10 +- keyboards/handwired/dactyl_rah/rules.mk | 2 +- keyboards/handwired/daishi/daishi.c | 21 - keyboards/handwired/daishi/daishi.h | 2 - .../handwired/daishi/keymaps/default/keymap.c | 19 +- keyboards/handwired/daishi/rules.mk | 10 +- keyboards/handwired/datahand/info.json | 96 + .../datahand/keymaps/default/keymap.c | 4 - keyboards/handwired/datahand/matrix.c | 19 +- keyboards/handwired/datahand/rules.mk | 10 +- keyboards/handwired/ddg_56/rules.mk | 8 +- keyboards/handwired/dtisaac01/config.h | 95 + keyboards/handwired/dtisaac01/dtisaac01.c | 17 + keyboards/handwired/dtisaac01/dtisaac01.h | 49 + keyboards/handwired/dtisaac01/info.json | 100 + .../dtisaac01/keymaps/default/keymap.c | 47 + .../dtisaac01/keymaps/default/readme.md | 1 + keyboards/handwired/dtisaac01/readme.md | 19 + keyboards/handwired/dtisaac01/rules.mk | 22 + keyboards/handwired/eagleii/rules.mk | 9 +- keyboards/handwired/elrgo_s/config.h | 58 + keyboards/handwired/elrgo_s/elrgo_s.c | 17 + keyboards/handwired/elrgo_s/elrgo_s.h | 38 + keyboards/handwired/elrgo_s/info.json | 59 + .../elrgo_s/keymaps/default/config.h | 22 + .../elrgo_s/keymaps/default/keymap.c | 58 + keyboards/handwired/elrgo_s/readme.md | 28 + keyboards/handwired/elrgo_s/rules.mk | 23 + keyboards/handwired/ergocheap/chconf.h | 57 + keyboards/handwired/ergocheap/config.h | 67 + keyboards/handwired/ergocheap/ergocheap.c | 16 + keyboards/handwired/ergocheap/ergocheap.h | 41 + keyboards/handwired/ergocheap/halconf.h | 37 + keyboards/handwired/ergocheap/info.json | 82 + .../ergocheap/keymaps/default/keymap.c | 40 + .../handwired/ergocheap/keymaps/via/keymap.c | 56 + .../handwired/ergocheap/keymaps/via/rules.mk | 1 + keyboards/handwired/ergocheap/mcuconf.h | 28 + keyboards/handwired/ergocheap/readme.md | 15 + keyboards/handwired/ergocheap/rules.mk | 25 + keyboards/handwired/evk/v1_3/info.json | 189 +- keyboards/handwired/evk/v1_3/rules.mk | 2 +- keyboards/handwired/evk/v1_3/v1_3.c | 14 - keyboards/handwired/fc200rt_qmk/rules.mk | 10 +- .../handwired/fivethirteen/fivethirteen.c | 7 - keyboards/handwired/fivethirteen/rules.mk | 10 +- keyboards/handwired/floorboard/config.h | 20 - keyboards/handwired/floorboard/rules.mk | 6 +- keyboards/handwired/frankie_macropad/config.h | 155 + .../frankie_macropad/frankie_macropad.c | 17 + .../frankie_macropad/frankie_macropad.h | 39 + .../handwired/frankie_macropad/info.json | 25 + .../frankie_macropad/keymaps/default/config.h | 19 + .../frankie_macropad/keymaps/default/keymap.c | 41 + .../keymaps/default/readme.md | 1 + .../handwired/frankie_macropad/readme.md | 21 + keyboards/handwired/frankie_macropad/rules.mk | 24 + keyboards/handwired/frenchdev/frenchdev.h | 3 - .../frenchdev/keymaps/default/keymap.c | 15 +- keyboards/handwired/frenchdev/rules.mk | 11 +- keyboards/handwired/freoduo/rules.mk | 6 +- keyboards/handwired/fruity60/fruity60.c | 35 - keyboards/handwired/fruity60/rules.mk | 10 +- keyboards/handwired/gamenum/rules.mk | 10 +- keyboards/handwired/hacked_motospeed/config.h | 20 - .../hacked_motospeed/hacked_motospeed.c | 27 - .../hacked_motospeed/keymaps/default/keymap.c | 12 - keyboards/handwired/hacked_motospeed/rules.mk | 10 +- keyboards/handwired/heisenberg/config.h | 20 - keyboards/handwired/heisenberg/rules.mk | 10 +- .../hexon38/keymaps/default/keymap.c | 2 - keyboards/handwired/hexon38/rules.mk | 9 +- .../hnah108/keymaps/default/keymap.c | 3 +- keyboards/handwired/hnah108/rules.mk | 2 +- keyboards/handwired/hnah40/config.h | 20 - keyboards/handwired/hnah40/hnah40.c | 27 - keyboards/handwired/hnah40/rules.mk | 12 +- keyboards/handwired/hnah40rgb/config.h | 2 +- keyboards/handwired/hnah40rgb/rules.mk | 9 +- keyboards/handwired/ibm122m/config.h | 20 - keyboards/handwired/ibm122m/ibm122m.c | 27 - .../ibm122m/keymaps/default/keymap.c | 17 - keyboards/handwired/ibm122m/rules.mk | 10 +- keyboards/handwired/ibm_wheelwriter/rules.mk | 2 +- keyboards/handwired/jn68m/jn68m.c | 21 - .../handwired/jn68m/keymaps/default/keymap.c | 12 - keyboards/handwired/jn68m/rules.mk | 10 +- keyboards/handwired/jopr/jopr.c | 4 - keyboards/handwired/jopr/rules.mk | 9 +- keyboards/handwired/jot50/jot50.c | 5 - .../handwired/jot50/keymaps/default/keymap.c | 3 - keyboards/handwired/jot50/rules.mk | 11 +- keyboards/handwired/jotanck/jotanck.c | 4 - keyboards/handwired/jotanck/rules.mk | 11 +- keyboards/handwired/jotpad16/jotpad16.c | 5 - keyboards/handwired/jotpad16/rules.mk | 11 +- .../handwired/jtallbean/split_65/config.h | 20 - .../handwired/jtallbean/split_65/rules.mk | 10 +- keyboards/handwired/juliet/config.h | 20 - keyboards/handwired/juliet/rules.mk | 10 +- keyboards/handwired/k8split/rules.mk | 10 +- keyboards/handwired/k_numpad17/rules.mk | 10 +- keyboards/handwired/kbod/kbod.c | 27 - .../handwired/kbod/keymaps/default/rules.mk | 3 +- keyboards/handwired/kbod/rules.mk | 10 +- keyboards/handwired/ks63/rules.mk | 2 +- keyboards/handwired/lagrange/info.json | 104 +- keyboards/handwired/lagrange/rules.mk | 2 +- keyboards/handwired/lagrange/transport.c | 81 +- keyboards/handwired/leftynumpad/rules.mk | 2 +- keyboards/handwired/lovelive9/lovelive9.c | 6 - keyboards/handwired/lovelive9/rules.mk | 10 +- .../handwired/magicforce61/magicforce61.c | 7 - keyboards/handwired/magicforce61/rules.mk | 10 +- .../handwired/magicforce68/magicforce68.c | 7 - keyboards/handwired/magicforce68/rules.mk | 10 +- keyboards/handwired/marauder/config.h | 71 + keyboards/handwired/marauder/info.json | 108 + .../marauder/keymaps/default/keymap.c | 29 + .../handwired/marauder/keymaps/orvia/keymap.c | 198 + .../handwired/marauder/keymaps/orvia/rules.mk | 4 + .../handwired/marauder/keymaps/via/keymap.c | 52 + .../handwired/marauder/keymaps/via/rules.mk | 1 + keyboards/handwired/marauder/marauder.c | 20 + keyboards/handwired/marauder/marauder.h | 44 + keyboards/handwired/marauder/readme.md | 18 + keyboards/handwired/marauder/rules.mk | 26 + .../handwired/mechboards_micropad/config.h | 20 - .../keymaps/default/keymap.c | 8 - .../mechboards_micropad/mechboards_micropad.c | 27 - .../handwired/mechboards_micropad/rules.mk | 10 +- .../minorca/keymaps/ridingqwerty/rules.mk | 2 +- keyboards/handwired/minorca/rules.mk | 10 +- .../ms_sculpt_mobile/keymaps/default/keymap.c | 16 - .../ms_sculpt_mobile/keymaps/default/rules.mk | 3 +- .../keymaps/milestogo/rules.mk | 2 +- keyboards/handwired/ms_sculpt_mobile/rules.mk | 13 +- keyboards/handwired/myskeeb/rules.mk | 13 +- keyboards/handwired/nicekey/rules.mk | 9 +- .../not_so_minidox/keymaps/mtdjr/config.h | 5 - .../not_so_minidox/keymaps/mtdjr/keymap.c | 56 - .../handwired/not_so_minidox/not_so_minidox.h | 18 - keyboards/handwired/not_so_minidox/rules.mk | 10 +- keyboards/handwired/novem/rules.mk | 10 +- keyboards/handwired/numpad20/numpad20.c | 7 - keyboards/handwired/numpad20/rules.mk | 10 +- .../spaget/keymaps/default/keymap.c | 7 +- .../handwired/obuwunkunubi/spaget/rules.mk | 13 +- .../handwired/oem_ansi_fullsize/config.h | 159 + .../handwired/oem_ansi_fullsize/info.json | 122 + .../keymaps/default/keymap.c | 30 + .../keymaps/default/readme.md | 1 + .../oem_ansi_fullsize/oem_ansi_fullsize.c | 17 + .../oem_ansi_fullsize/oem_ansi_fullsize.h | 72 + .../handwired/oem_ansi_fullsize/readme.md | 49 + .../handwired/oem_ansi_fullsize/rules.mk | 24 + keyboards/handwired/oem_iso_fullsize/rules.mk | 2 +- .../handwired/onekey/blackpill_f401/chconf.h | 1 - .../handwired/onekey/blackpill_f401/config.h | 8 +- .../handwired/onekey/blackpill_f401/halconf.h | 1 - .../handwired/onekey/blackpill_f401/mcuconf.h | 1 + .../handwired/onekey/blackpill_f401/readme.md | 4 +- .../handwired/onekey/blackpill_f401/rules.mk | 9 +- .../handwired/onekey/blackpill_f411/chconf.h | 1 - .../handwired/onekey/blackpill_f411/config.h | 8 +- .../handwired/onekey/blackpill_f411/halconf.h | 1 - .../handwired/onekey/blackpill_f411/mcuconf.h | 1 + .../handwired/onekey/blackpill_f411/readme.md | 4 +- .../handwired/onekey/blackpill_f411/rules.mk | 9 +- .../onekey/blackpill_f411_tinyuf2/chconf.h | 21 + .../onekey/blackpill_f411_tinyuf2/config.h | 33 + .../onekey/blackpill_f411_tinyuf2/halconf.h | 22 + .../onekey/blackpill_f411_tinyuf2/mcuconf.h | 25 + .../onekey/blackpill_f411_tinyuf2/readme.md | 9 + .../onekey/blackpill_f411_tinyuf2/rules.mk | 7 + keyboards/handwired/onekey/bluepill/chconf.h | 1 - keyboards/handwired/onekey/bluepill/config.h | 8 +- keyboards/handwired/onekey/bluepill/halconf.h | 1 - keyboards/handwired/onekey/bluepill/mcuconf.h | 1 - keyboards/handwired/onekey/bluepill/readme.md | 2 +- keyboards/handwired/onekey/config.h | 32 +- keyboards/handwired/onekey/elite_c/config.h | 2 + keyboards/handwired/onekey/elite_c/readme.md | 2 +- keyboards/handwired/onekey/elite_c/rules.mk | 7 - keyboards/handwired/onekey/info.json | 2 +- .../handwired/onekey/keymaps/console/keymap.c | 20 + .../onekey/keymaps/digitizer/keymap.c | 38 + .../onekey/keymaps/digitizer/rules.mk | 1 + .../onekey/keymaps/joystick/rules.mk | 2 +- .../handwired/onekey/keymaps/oled/keymap.c | 2 +- .../handwired/onekey/keymaps/oled/readme.md | 2 +- .../handwired/onekey/keymaps/oled/rules.mk | 3 +- .../handwired/onekey/keymaps/quine/rules.mk | 2 +- keyboards/handwired/onekey/onekey.c | 2 +- keyboards/handwired/onekey/promicro/config.h | 2 + keyboards/handwired/onekey/promicro/rules.mk | 7 - keyboards/handwired/onekey/proton_c/config.h | 10 +- keyboards/handwired/onekey/proton_c/readme.md | 2 +- keyboards/handwired/onekey/proton_c/rules.mk | 3 + keyboards/handwired/onekey/readme.md | 16 +- keyboards/handwired/onekey/rules.mk | 21 +- .../handwired/onekey/stm32f0_disco/chconf.h | 1 - .../handwired/onekey/stm32f0_disco/config.h | 10 +- .../handwired/onekey/stm32f0_disco/halconf.h | 1 - .../handwired/onekey/stm32f0_disco/mcuconf.h | 1 - .../handwired/onekey/stm32f0_disco/readme.md | 2 +- .../handwired/onekey/stm32f0_disco/rules.mk | 2 + keyboards/handwired/onekey/teensy_2/config.h | 2 + keyboards/handwired/onekey/teensy_2/readme.md | 2 +- keyboards/handwired/onekey/teensy_2/rules.mk | 7 - .../handwired/onekey/teensy_2pp/config.h | 2 + .../handwired/onekey/teensy_2pp/readme.md | 2 +- .../handwired/onekey/teensy_2pp/rules.mk | 7 - keyboards/handwired/onekey/teensy_32/chconf.h | 1 - keyboards/handwired/onekey/teensy_32/config.h | 2 + .../handwired/onekey/teensy_32/halconf.h | 1 - keyboards/handwired/onekey/teensy_lc/chconf.h | 1 - keyboards/handwired/onekey/teensy_lc/config.h | 2 + .../handwired/onekey/teensy_lc/halconf.h | 1 - keyboards/handwired/ortho5x13/ortho5x13.c | 7 - keyboards/handwired/ortho5x13/ortho5x13.h | 15 - keyboards/handwired/ortho5x13/rules.mk | 10 +- keyboards/handwired/ortho5x14/info.json | 2 +- keyboards/handwired/ortho5x14/readme.md | 2 +- keyboards/handwired/ortho5x14/rules.mk | 2 +- keyboards/handwired/owlet60/config.h | 20 - .../owlet60/keymaps/default/keymap.c | 12 - .../owlet60/keymaps/oled_testing/keymap.c | 14 +- .../owlet60/keymaps/oled_testing/rules.mk | 3 +- keyboards/handwired/owlet60/owlet60.c | 37 - keyboards/handwired/owlet60/rules.mk | 12 +- keyboards/handwired/p1800fl/config.h | 71 - keyboards/handwired/p1800fl/info.json | 99 - .../p1800fl/keymaps/default/keymap.c | 41 - keyboards/handwired/p1800fl/readme.md | 15 - keyboards/handwired/p1800fl/rules.mk | 30 - keyboards/handwired/p65rgb/config.h | 2 +- keyboards/handwired/p65rgb/rules.mk | 11 +- .../pilcrow/keymaps/default/keymap.c | 16 - .../pilcrow/keymaps/default/rules.mk | 3 +- keyboards/handwired/pilcrow/pilcrow.c | 27 - keyboards/handwired/pilcrow/rules.mk | 10 +- .../handwired/pill60/blackpill_f401/rules.mk | 8 +- .../handwired/pill60/blackpill_f411/rules.mk | 8 +- .../handwired/pill60/keymaps/default/keymap.c | 35 +- keyboards/handwired/pill60/rules.mk | 5 +- .../handwired/postageboard/mini/rules.mk | 10 +- keyboards/handwired/postageboard/r1/rules.mk | 10 +- .../prime_exl/keymaps/default/keymap.c | 5 - .../handwired/prime_exl/keymaps/via/keymap.c | 7 +- keyboards/handwired/prime_exl/prime_exl.c | 28 - keyboards/handwired/prime_exl/rules.mk | 10 +- keyboards/handwired/prime_exl_plus/rules.mk | 10 +- keyboards/handwired/prkl30/feather/rules.mk | 9 +- .../handwired/prkl30/keymaps/default/keymap.c | 3 +- .../handwired/prkl30/keymaps/erkhal/keymap.c | 3 +- keyboards/handwired/prkl30/promicro/rules.mk | 9 +- keyboards/handwired/promethium/config.h | 339 +- .../promethium/keymaps/default/rules.mk | 2 +- .../promethium/keymaps/priyadi/rules.mk | 2 +- keyboards/handwired/promethium/promethium.c | 13 - keyboards/handwired/promethium/rules.mk | 11 +- keyboards/handwired/pterodactyl/matrix.c | 2 +- keyboards/handwired/pterodactyl/pterodactyl.c | 2 +- keyboards/handwired/pterodactyl/rules.mk | 2 +- .../handwired/pteron/keymaps/FSund/keymap.c | 22 +- .../pteron/keymaps/alzafacon/config.h | 22 + .../pteron/keymaps/alzafacon/keymap.c | 120 + .../pteron/keymaps/alzafacon/readme.md | 4 + .../pteron/keymaps/alzafacon/rules.mk | 2 + keyboards/handwired/pteron/rules.mk | 9 +- keyboards/handwired/pteron38/rules.mk | 2 +- keyboards/handwired/pteron44/rules.mk | 2 +- .../has_template/keymaps/nocpp/keymap.c | 4 +- keyboards/handwired/qc60/proto/proto.c | 4 - keyboards/handwired/qc60/qc60.h | 16 - keyboards/handwired/qc60/rules.mk | 10 +- .../handwired/reddot/keymaps/default/keymap.c | 8 +- keyboards/handwired/reddot/reddot.c | 6 - keyboards/handwired/reddot/rules.mk | 27 +- keyboards/handwired/retro_refit/rules.mk | 12 +- keyboards/handwired/riblee_f401/rules.mk | 6 +- keyboards/handwired/riblee_f411/rules.mk | 9 +- .../handwired/rs60/keymaps/default/keymap.c | 12 +- keyboards/handwired/rs60/rs60.h | 4 +- keyboards/handwired/rs60/rules.mk | 9 +- keyboards/handwired/selene/rules.mk | 5 +- keyboards/handwired/sick68/config.h | 20 - .../handwired/sick68/keymaps/default/keymap.c | 15 - keyboards/handwired/sick68/rules.mk | 10 +- keyboards/handwired/sick_pad/rules.mk | 5 +- keyboards/handwired/slash/rules.mk | 10 +- keyboards/handwired/sono1/rules.mk | 2 +- .../space_oddity/keymaps/default/keymap.c | 40 - keyboards/handwired/space_oddity/rules.mk | 9 +- keyboards/handwired/split89/config.h | 163 + keyboards/handwired/split89/info.json | 12 + .../split89/keymaps/default/keymap.c | 42 + .../split89/keymaps/default/readme.md | 6 + keyboards/handwired/split89/readme.md | 18 + keyboards/handwired/split89/rules.mk | 24 + keyboards/handwired/split89/split89.c | 17 + keyboards/handwired/split89/split89.h | 50 + .../handwired/splittest/promicro/rules.mk | 7 - keyboards/handwired/splittest/rules.mk | 3 +- .../handwired/splittest/teensy_2/rules.mk | 7 - .../steamvan/keymaps/default/keymap.c | 16 - keyboards/handwired/steamvan/rev1/config.h | 6 - keyboards/handwired/steamvan/rev1/rules.mk | 6 +- keyboards/handwired/sticc14/config.h | 20 - keyboards/handwired/sticc14/rules.mk | 10 +- keyboards/handwired/sticc14/sticc14.c | 35 - .../handwired/stream_cheap/2x3/readme.md | 3 + keyboards/handwired/stream_cheap/2x3/rules.mk | 4 +- keyboards/handwired/stream_cheap/2x4/2x4.h | 4 +- keyboards/handwired/stream_cheap/2x4/config.h | 16 +- .../stream_cheap/2x4/keymaps/via/keymap.c | 21 + .../stream_cheap/2x4/keymaps/via/rules.mk | 1 + .../2x4/keymaps/via/stream_cheap_2x4.json | 24 + .../handwired/stream_cheap/2x4/readme.md | 3 + keyboards/handwired/stream_cheap/2x4/rules.mk | 3 +- .../handwired/stream_cheap/2x5/readme.md | 3 + keyboards/handwired/stream_cheap/2x5/rules.mk | 2 +- keyboards/handwired/stream_cheap/readme.md | 1 + keyboards/handwired/swiftrax/astro65/config.h | 10 +- keyboards/handwired/swiftrax/astro65/rules.mk | 2 +- keyboards/handwired/swiftrax/bebol/rules.mk | 2 +- keyboards/handwired/swiftrax/beegboy/rules.mk | 2 +- keyboards/handwired/swiftrax/cowfish/rules.mk | 10 +- keyboards/handwired/swiftrax/equator/config.h | 44 + .../handwired/swiftrax/equator/equator.c | 17 + .../handwired/swiftrax/equator/equator.h | 51 + .../handwired/swiftrax/equator/info.json | 15 + .../swiftrax/equator/keymaps/default/keymap.c | 34 + .../swiftrax/equator/keymaps/via/keymap.c | 48 + .../swiftrax/equator/keymaps/via/rules.mk | 1 + .../handwired/swiftrax/equator/readme.md | 13 + keyboards/handwired/swiftrax/equator/rules.mk | 22 + .../swiftrax/joypad/keymaps/default/keymap.c | 3 +- .../swiftrax/joypad/keymaps/via/keymap.c | 3 +- keyboards/handwired/swiftrax/joypad/rules.mk | 2 +- .../koalafications/keymaps/default/keymap.c | 30 +- .../koalafications/keymaps/via/keymap.c | 30 +- .../swiftrax/koalafications/rules.mk | 5 +- keyboards/handwired/swiftrax/nodu/info.json | 7 +- .../swiftrax/nodu/keymaps/default/keymap.c | 22 +- .../swiftrax/nodu/keymaps/via/keymap.c | 34 +- keyboards/handwired/swiftrax/nodu/nodu.h | 12 +- keyboards/handwired/swiftrax/nodu/rules.mk | 4 +- .../pandamic/keymaps/default/keymap.c | 7 +- .../swiftrax/pandamic/keymaps/via/keymap.c | 11 +- .../handwired/swiftrax/pandamic/rules.mk | 2 +- .../the_galleon/keymaps/default/keymap.c | 42 +- .../swiftrax/the_galleon/keymaps/via/keymap.c | 42 +- .../handwired/swiftrax/the_galleon/rules.mk | 5 +- keyboards/handwired/swiftrax/unsplit/rules.mk | 2 +- keyboards/handwired/swiftrax/walter/config.h | 51 + keyboards/handwired/swiftrax/walter/info.json | 317 ++ .../swiftrax/walter/keymaps/default/keymap.c | 42 + .../swiftrax/walter/keymaps/via/keymap.c | 57 + .../swiftrax/walter/keymaps/via/rules.mk | 1 + keyboards/handwired/swiftrax/walter/readme.md | 13 + keyboards/handwired/swiftrax/walter/rules.mk | 23 + keyboards/handwired/swiftrax/walter/walter.c | 17 + keyboards/handwired/swiftrax/walter/walter.h | 78 + .../handwired/symmetric70_proto/config.h | 150 - .../symmetric70_proto/debug_config.h | 33 + .../symmetric70_proto/local_features.mk | 108 + .../handwired/symmetric70_proto/matrix.c | 226 - .../matrix_debug/gpio_extr.h | 10 + .../symmetric70_proto/matrix_debug/matrix.c | 329 ++ .../symmetric70_proto/matrix_debug/readme.md | 200 + .../symmetric70_proto/matrix_fast/cpp_map.h | 53 + .../symmetric70_proto/matrix_fast/gpio_extr.h | 28 + .../symmetric70_proto/matrix_fast/matrix.c | 234 + .../matrix_fast/matrix_config_expand.c | 234 + .../matrix_fast/matrix_extension_74hc15x.c | 72 + .../matrix_fast/matrix_extr.h | 36 + .../symmetric70_proto/matrix_fast/readme.md | 168 + .../matrix_fast/test_config.h | 21 + .../matrix_fast/test_config_74hc157.h | 28 + .../matrix_fast/test_config_direct.h | 34 + .../symmetric70_proto/promicro/config.h | 157 + .../symmetric70_proto/promicro/fast/config.h | 52 + .../symmetric70_proto/promicro/fast/readme.md | 1 + .../symmetric70_proto/promicro/fast/rules.mk | 6 + .../promicro/normal/config.h | 41 + .../promicro/normal/readme.md | 1 + .../promicro/normal/rules.mk | 6 + .../symmetric70_proto/promicro/readme.md | 27 + .../symmetric70_proto/promicro/rules.mk | 22 + .../symmetric70_proto/proton_c/config.h | 165 + .../symmetric70_proto/proton_c/fast/config.h | 44 + .../symmetric70_proto/proton_c/fast/readme.md | 1 + .../symmetric70_proto/proton_c/fast/rules.mk | 6 + .../proton_c/normal/config.h | 36 + .../proton_c/normal/readme.md | 1 + .../proton_c/normal/rules.mk | 6 + .../symmetric70_proto/proton_c/proton_c.c | 12 + .../symmetric70_proto/proton_c/readme.md | 26 + .../symmetric70_proto/proton_c/rules.mk | 23 + .../handwired/symmetric70_proto/readme.md | 16 +- .../handwired/symmetric70_proto/rules.mk | 27 - keyboards/handwired/symmetry60/rules.mk | 10 +- keyboards/handwired/t111/rules.mk | 3 +- keyboards/handwired/tennie/config.h | 22 +- .../tennie/keymaps/default/readme.md | 68 - keyboards/handwired/tennie/rules.mk | 10 +- keyboards/handwired/tennie/tennie.c | 24 - keyboards/handwired/terminus_mini/config.h | 20 - .../terminus_mini/keymaps/default/keymap.c | 13 - .../terminus_mini/keymaps/default/rules.mk | 3 +- keyboards/handwired/terminus_mini/rules.mk | 10 +- .../handwired/terminus_mini/terminus_mini.c | 27 - keyboards/handwired/trackpoint/rules.mk | 10 +- keyboards/handwired/trackpoint/trackpoint.c | 4 - .../tractyl_manuform/4x6_right/4x6_right.c | 67 + .../tractyl_manuform/4x6_right/4x6_right.h | 47 + .../tractyl_manuform/4x6_right/config.h | 91 + .../tractyl_manuform/4x6_right/info.json | 75 + .../4x6_right/keymaps/default/keymap.c | 62 + .../4x6_right/keymaps/drashna/config.h | 36 + .../4x6_right/keymaps/drashna/keymap.c | 217 + .../4x6_right/keymaps/drashna/rules.mk | 9 + .../4x6_right}/readme.md | 0 .../tractyl_manuform/4x6_right/rules.mk | 33 + .../tractyl_manuform/5x6_right/5x6_right.c | 39 + .../tractyl_manuform/5x6_right/5x6_right.h | 55 + .../tractyl_manuform/5x6_right/config.h | 52 + .../tractyl_manuform/5x6_right/f411/chconf.h | 38 + .../tractyl_manuform/5x6_right/f411/config.h | 108 + .../tractyl_manuform/5x6_right/f411/f411.c | 25 + .../tractyl_manuform/5x6_right/f411/f411.h | 19 + .../tractyl_manuform/5x6_right/f411/halconf.h | 24 + .../tractyl_manuform/5x6_right/f411/mcuconf.h | 37 + .../tractyl_manuform/5x6_right/f411/readme.md | 24 + .../tractyl_manuform/5x6_right/f411/rules.mk | 13 + .../tractyl_manuform/5x6_right/info.json | 75 + .../5x6_right/keymaps/default/keymap.c | 63 + .../5x6_right/keymaps/drashna/config.h | 36 + .../5x6_right/keymaps/drashna/keymap.c | 409 ++ .../keymaps/drashna/rgblight_breathe_table.h | 117 + .../5x6_right/keymaps/drashna/rules.mk | 14 + .../tractyl_manuform/5x6_right/readme.md | 21 + .../tractyl_manuform/5x6_right/rules.mk | 27 + .../5x6_right/teensy2pp/config.h | 54 + .../5x6_right/teensy2pp/rules.mk | 5 + .../5x6_right/teensy2pp/teensy2pp.h | 19 + keyboards/handwired/tractyl_manuform/config.h | 45 + .../handwired/tractyl_manuform/post_config.h | 96 + .../handwired/tractyl_manuform/readme.md | 159 + .../handwired/tractyl_manuform/tm_sync.c | 87 + .../tractyl_manuform/tractyl_manuform.c | 213 + .../tractyl_manuform/tractyl_manuform.h | 61 + keyboards/handwired/traveller/config.h | 130 +- keyboards/handwired/traveller/info.json | 112 +- .../traveller/keymaps/default/keymap.c | 404 +- .../traveller/keymaps/default/readme.md | 2 - keyboards/handwired/traveller/readme.md | 40 +- keyboards/handwired/traveller/rules.mk | 41 +- keyboards/handwired/traveller/traveller.c | 61 +- keyboards/handwired/traveller/traveller.h | 39 +- .../tritium_numpad/keymaps/blu/keymap.c | 22 +- keyboards/handwired/tritium_numpad/rules.mk | 12 +- keyboards/handwired/twadlee/tp69/config.h | 19 - keyboards/handwired/twadlee/tp69/rules.mk | 3 +- keyboards/handwired/unicomp_mini_m/config.h | 59 + keyboards/handwired/unicomp_mini_m/info.json | 462 ++ .../unicomp_mini_m/keymaps/default/keymap.c | 106 + .../unicomp_mini_m/keymaps/default/readme.md | 1 + keyboards/handwired/unicomp_mini_m/readme.md | 127 + keyboards/handwired/unicomp_mini_m/rules.mk | 22 + .../handwired/unicomp_mini_m/unicomp_mini_m.c | 16 + .../handwired/unicomp_mini_m/unicomp_mini_m.h | 49 + keyboards/handwired/unk/rules.mk | 10 +- keyboards/handwired/videowriter/rules.mk | 10 +- keyboards/handwired/wabi/rules.mk | 2 +- keyboards/handwired/woodpad/rules.mk | 2 +- .../handwired/wulkan/keymaps/default/keymap.c | 28 +- keyboards/handwired/wulkan/rules.mk | 6 +- keyboards/handwired/wulkan/wulkan.c | 5 - keyboards/handwired/xealous/rev1/rev1.c | 4 - keyboards/handwired/xealous/rules.mk | 14 +- keyboards/handwired/xealousbrown/config.h | 7 + keyboards/handwired/xealousbrown/matrix.c | 9 +- keyboards/handwired/xealousbrown/readme.md | 5 +- keyboards/handwired/xealousbrown/rules.mk | 4 +- .../handwired/xealousbrown/xealousbrown.c | 15 +- keyboards/handwired/z150/rules.mk | 3 +- keyboards/handwired/zergo/rules.mk | 2 +- keyboards/hardlineworks/otd_plus/config.h | 4 +- keyboards/hardlineworks/otd_plus/otd_plus.c | 11 - keyboards/hardlineworks/otd_plus/rules.mk | 2 +- keyboards/hecomi/alpha/config.h | 20 - keyboards/hecomi/alpha/rules.mk | 10 +- keyboards/hecomi/hecomi.c | 27 - keyboards/hecomi/hecomi.h | 20 - keyboards/hecomi/keymaps/default/keymap.c | 12 - keyboards/hecomi/rules.mk | 10 +- keyboards/heliar/wm1_hotswap/rules.mk | 10 +- keyboards/helix/pico/keymaps/default/config.h | 1 - keyboards/helix/pico/keymaps/mtei/keymap.c | 241 +- keyboards/helix/pico/local_features.mk | 3 +- keyboards/helix/pico/pico.c | 5 - keyboards/helix/pico/pico.h | 12 - keyboards/helix/rev1/rev1.c | 18 - keyboards/helix/rev1/rev1.h | 39 - keyboards/helix/rev2/config.h | 4 +- .../helix/rev2/keymaps/default/oled_display.c | 4 +- keyboards/helix/rev2/keymaps/default/rules.mk | 2 +- .../helix/rev2/keymaps/edvorakjp/config.h | 25 +- .../helix/rev2/keymaps/edvorakjp/keymap.c | 42 +- .../rev2/keymaps/edvorakjp/keymap_4rows.c | 63 +- .../rev2/keymaps/edvorakjp/keymap_5rows.c | 75 +- .../rev2/keymaps/edvorakjp/keymap_xrows.h | 16 +- keyboards/helix/rev2/keymaps/edvorakjp/oled.c | 112 +- keyboards/helix/rev2/keymaps/edvorakjp/oled.h | 21 +- .../helix/rev2/keymaps/edvorakjp/rules.mk | 1 + .../helix/rev2/keymaps/five_rows/config.h | 2 + .../helix/rev2/keymaps/five_rows/keymap.c | 325 +- .../rev2/keymaps/five_rows/oled_display.c | 4 +- .../helix/rev2/keymaps/five_rows/rules.mk | 23 +- .../helix/rev2/keymaps/five_rows_jis/keymap.c | 4 +- .../helix/rev2/keymaps/fraanrosi/config.h | 5 +- .../helix/rev2/keymaps/fraanrosi/rules.mk | 3 + .../helix/rev2/keymaps/froggy_106/keymap.c | 6 +- keyboards/helix/rev2/keymaps/xulkal/rules.mk | 3 +- keyboards/helix/rev2/local_features.mk | 31 +- keyboards/helix/rev2/rev2.c | 5 - keyboards/helix/rev2/rev2.h | 29 - keyboards/helix/rev3_4rows/config.h | 22 +- .../helix/rev3_4rows/keymaps/default/keymap.c | 17 +- .../helix/rev3_4rows/keymaps/via/keymap.c | 17 +- keyboards/helix/rev3_4rows/oled_display.c | 2 +- keyboards/helix/rev3_4rows/rev3_4rows.c | 5 +- keyboards/helix/rev3_4rows/rules.mk | 5 +- keyboards/helix/rev3_5rows/config.h | 22 +- .../helix/rev3_5rows/keymaps/default/keymap.c | 17 +- .../rev3_5rows/keymaps/five_rows/config.h | 8 +- .../rev3_5rows/keymaps/five_rows/keymap.c | 325 +- .../keymaps/five_rows/oled_display.c | 14 +- .../rev3_5rows/keymaps/five_rows/rules.mk | 4 +- .../helix/rev3_5rows/keymaps/via/keymap.c | 17 +- keyboards/helix/rev3_5rows/oled_display.c | 2 +- keyboards/helix/rev3_5rows/rev3_5rows.c | 5 +- keyboards/helix/rev3_5rows/rules.mk | 5 +- keyboards/helix/rules.mk | 10 +- keyboards/hhkb/ansi/keymaps/cinaeco/rules.mk | 2 +- .../hhkb/ansi/keymaps/shela/keymap_jis2us.h | 6 +- keyboards/hhkb/ansi/matrix.c | 1 + keyboards/hhkb/ansi/rules.mk | 12 +- keyboards/hhkb/jp/matrix.c | 1 + keyboards/hhkb/jp/rules.mk | 12 +- keyboards/hhkb_lite_2/rules.mk | 2 +- keyboards/hid_liber/config.h | 20 - keyboards/hid_liber/keymaps/bakageta/rules.mk | 2 +- keyboards/hid_liber/rules.mk | 10 +- .../hidtech/bastyl/keymaps/nstickney/keymap.c | 70 + keyboards/hidtech/bastyl/rules.mk | 2 +- keyboards/hifumi/rules.mk | 10 +- keyboards/hineybush/h10/rules.mk | 3 +- keyboards/hineybush/h60/rules.mk | 3 +- keyboards/hineybush/h660s/rules.mk | 2 +- keyboards/hineybush/h75_singa/config.h | 20 - keyboards/hineybush/h75_singa/rules.mk | 10 +- keyboards/hineybush/h87a/h87a.c | 20 - .../hineybush/h87a/keymaps/default/keymap.c | 12 - .../hineybush/h87a/keymaps/gam3cat/keymap.c | 2 +- .../hineybush/h87a/keymaps/gam3cat/rules.mk | 3 +- .../hineybush/h87a/keymaps/peott-fr/keymap.c | 27 + keyboards/hineybush/h87a/rules.mk | 10 +- keyboards/hineybush/h88/h88.c | 20 - .../hineybush/h88/keymaps/default/keymap.c | 14 - keyboards/hineybush/h88/rules.mk | 10 +- keyboards/hineybush/hbcp/hbcp.c | 33 - .../hineybush/hbcp/keymaps/default/keymap.c | 8 - keyboards/hineybush/hbcp/rules.mk | 10 +- .../hineyg80/keymaps/default/keymap.c | 16 - .../hineybush/hineyg80/keymaps/wkl/keymap.c | 16 - keyboards/hineybush/hineyg80/rules.mk | 10 +- keyboards/hineybush/physix/config.h | 20 - keyboards/hineybush/physix/rules.mk | 10 +- keyboards/hineybush/sm68/config.h | 20 - keyboards/hineybush/sm68/rules.mk | 10 +- keyboards/hineybush/sm68/sm68.c | 33 - keyboards/holyswitch/southpaw75/rules.mk | 2 +- keyboards/honeycomb/rules.mk | 12 +- keyboards/hotdox/hotdox.h | 3 - keyboards/hotdox/keymaps/default/keymap.c | 6 - keyboards/hotdox/keymaps/imchipwood/keymap.c | 151 + keyboards/hotdox/keymaps/via/keymap.c | 6 - keyboards/hotdox/rules.mk | 10 +- keyboards/hp69/config.h | 4 + keyboards/hp69/keymaps/via/keymap.c | 12 +- keyboards/hp69/rules.mk | 6 +- keyboards/hs60/v1/config.h | 2 +- keyboards/hs60/v1/keymaps/ansi/keymap.c | 12 - keyboards/hs60/v1/keymaps/default/keymap.c | 12 - keyboards/hs60/v1/rules.mk | 10 +- keyboards/hs60/v1/v1.c | 18 +- .../hs60/v2/ansi/keymaps/default/keymap.c | 12 - keyboards/hs60/v2/ansi/keymaps/via/keymap.c | 12 - keyboards/hs60/v2/ansi/rules.mk | 10 +- .../hs60/v2/hhkb/keymaps/default/keymap.c | 12 - keyboards/hs60/v2/hhkb/keymaps/via/keymap.c | 12 - keyboards/hs60/v2/hhkb/rules.mk | 10 +- .../hs60/v2/iso/keymaps/default/keymap.c | 12 - keyboards/hs60/v2/iso/keymaps/via/keymap.c | 12 - keyboards/hs60/v2/iso/rules.mk | 10 +- .../hub16/keymaps/ahk_companion/keymap.c | 3 +- keyboards/hub16/keymaps/default/keymap.c | 3 +- keyboards/hub16/keymaps/macro/keymap.c | 3 +- keyboards/hub16/keymaps/peepeetee/config.h | 57 + keyboards/hub16/keymaps/peepeetee/keymap.c | 209 + keyboards/hub16/keymaps/peepeetee/rules.mk | 1 + keyboards/hub16/keymaps/via/keymap.c | 3 +- keyboards/hub16/rules.mk | 4 +- keyboards/hub20/config.h | 76 +- keyboards/hub20/hub20.c | 155 +- keyboards/hub20/hub20.h | 90 + keyboards/hub20/info.json | 50 + keyboards/hub20/keymaps/default/keymap.c | 3 +- .../hub20/keymaps/left_hand_numpad/keymap.c | 60 + keyboards/hub20/keymaps/macro/keymap.c | 3 +- .../hub20/keymaps/right_hand_numpad/keymap.c | 62 + keyboards/hub20/keymaps/via/keymap.c | 3 +- keyboards/hub20/rules.mk | 13 +- keyboards/ianklug/grooveboard/config.h | 158 + keyboards/ianklug/grooveboard/grooveboard.c | 17 + keyboards/ianklug/grooveboard/grooveboard.h | 33 + keyboards/ianklug/grooveboard/info.json | 17 + .../grooveboard/keymaps/default/keymap.c | 28 + .../grooveboard/keymaps/default/readme.md | 1 + .../ianklug/grooveboard/keymaps/via/keymap.c | 37 + .../ianklug/grooveboard/keymaps/via/readme.md | 1 + .../ianklug/grooveboard/keymaps/via/rules.mk | 2 + keyboards/ianklug/grooveboard/readme.md | 21 + keyboards/ianklug/grooveboard/rules.mk | 22 + keyboards/id67/config.h | 70 + keyboards/id67/id67.c | 17 + keyboards/id67/id67.h | 36 + keyboards/id67/info.json | 87 + keyboards/id67/keymaps/default/keymap.c | 38 + keyboards/id67/keymaps/via/keymap.c | 51 + keyboards/id67/keymaps/via/rules.mk | 2 + keyboards/id67/readme.md | 19 + keyboards/id67/rules.mk | 29 + keyboards/id80/ansi/keymaps/msf/config.h | 24 + keyboards/id80/ansi/keymaps/msf/keymap.c | 59 + keyboards/id80/ansi/keymaps/msf/readme.md | 4 + .../ansi/keymaps/msf}/rules.mk | 0 keyboards/id80/config.h | 3 +- keyboards/id80/id80.c | 20 - keyboards/id80/info.json | 187 +- keyboards/id80/keymaps/rverst/keymap.c | 80 + keyboards/id80/keymaps/rverst/readme.md | 23 + keyboards/id80/keymaps/rverst/rverst.json | 499 ++ keyboards/id80/rules.mk | 10 +- keyboards/id87/config.h | 2 +- keyboards/id87/id87.c | 17 - keyboards/id87/rules.mk | 2 +- keyboards/idb/idb_60/info.json | 2 +- keyboards/idb/idb_60/rules.mk | 9 +- keyboards/idobo/config.h | 20 - keyboards/idobo/idobo.c | 27 - keyboards/idobo/keymaps/default/keymap.c | 12 - keyboards/idobo/keymaps/gkbd_75/config.h | 21 + keyboards/idobo/keymaps/gkbd_75/keymap.c | 35 + keyboards/idobo/keymaps/gkbd_75/readme.md | 7 + keyboards/idobo/keymaps/gkbd_orthon/config.h | 20 + keyboards/idobo/keymaps/gkbd_orthon/keymap.c | 78 + keyboards/idobo/keymaps/gkbd_orthon/readme.md | 11 + keyboards/idobo/keymaps/pathnirvana/config.h | 24 + keyboards/idobo/keymaps/pathnirvana/keymap.c | 44 + keyboards/idobo/keymaps/pathnirvana/rules.mk | 3 + keyboards/idobo/rules.mk | 10 +- keyboards/illuminati/is0/config.h | 20 - keyboards/illuminati/is0/is0.c | 35 - .../is0/keymaps/ctrlaltdel/keymap.c | 16 - .../illuminati/is0/keymaps/default/keymap.c | 12 - keyboards/illuminati/is0/rules.mk | 10 +- keyboards/illusion/rosa/config.h | 58 + keyboards/illusion/rosa/info.json | 214 + .../illusion/rosa/keymaps/default/keymap.c | 33 + .../illusion/rosa/keymaps/default/readme.md | 1 + keyboards/illusion/rosa/keymaps/oggi/keymap.c | 40 + .../illusion/rosa/keymaps/oggi/readme.md | 1 + .../rosa/keymaps/split_bs_rshift/keymap.c | 40 + .../rosa/keymaps/split_bs_rshift/readme.md | 1 + .../rosa/keymaps/split_rshift/keymap.c | 40 + .../rosa/keymaps/split_rshift/readme.md | 1 + keyboards/illusion/rosa/keymaps/via/keymap.c | 56 + keyboards/illusion/rosa/keymaps/via/readme.md | 1 + keyboards/illusion/rosa/keymaps/via/rules.mk | 2 + keyboards/illusion/rosa/readme.md | 14 + keyboards/illusion/rosa/rosa.c | 18 + keyboards/illusion/rosa/rosa.h | 76 + keyboards/illusion/rosa/rules.mk | 24 + keyboards/ilumkb/primus75/rules.mk | 2 +- .../{dztech => ilumkb}/volcano660/config.h | 0 .../{dztech => ilumkb}/volcano660/info.json | 0 .../volcano660/keymaps/default/keymap.c | 0 .../volcano660/keymaps/via/keymap.c | 0 .../ilumkb/volcano660/keymaps/via/rules.mk | 2 + keyboards/ilumkb/volcano660/readme.md | 12 + .../{dztech => ilumkb}/volcano660/rules.mk | 0 .../volcano660/volcano660.c | 0 .../volcano660/volcano660.h | 0 keyboards/inett_studio/sqx/hotswap/hotswap.c | 2 +- keyboards/inett_studio/sqx/hotswap/rules.mk | 2 +- keyboards/inett_studio/sqx/universal/rules.mk | 2 +- .../inett_studio/sqx/universal/universal.c | 2 +- keyboards/infinity60/config.h | 14 - keyboards/infinity60/keymaps/default/keymap.c | 20 +- .../infinity60/keymaps/jpetermans/keymap.c | 101 +- keyboards/infinity60/led/config.h | 23 + keyboards/infinity60/led/readme.md | 3 + keyboards/infinity60/led/rules.mk | 3 + keyboards/infinity60/rev1/config.h | 25 + keyboards/infinity60/rev1/readme.md | 2 + .../{xd002/.noci => infinity60/rev1/rules.mk} | 0 keyboards/infinity60/rules.mk | 6 +- keyboards/irene/config.h | 150 + keyboards/irene/info.json | 77 + keyboards/irene/irene.c | 17 + keyboards/irene/irene.h | 43 + keyboards/irene/keymaps/default/keymap.c | 33 + keyboards/irene/keymaps/via/keymap.c | 33 + keyboards/irene/keymaps/via/rules.mk | 1 + keyboards/irene/readme.md | 20 + keyboards/irene/rules.mk | 22 + keyboards/iriskeyboards/config.h | 154 + keyboards/iriskeyboards/info.json | 17 + keyboards/iriskeyboards/iriskeyboards.c | 17 + keyboards/iriskeyboards/iriskeyboards.h | 45 + .../iriskeyboards/keymaps/default/keymap.c | 48 + .../iriskeyboards/keymaps/default/readme.md | 1 + keyboards/iriskeyboards/keymaps/via/keymap.c | 65 + keyboards/iriskeyboards/keymaps/via/readme.md | 1 + keyboards/iriskeyboards/keymaps/via/rules.mk | 2 + keyboards/iriskeyboards/readme.md | 21 + keyboards/iriskeyboards/rules.mk | 22 + keyboards/iron180/iron180.h | 2 +- keyboards/iron180/mcuconf.h | 1 - keyboards/iron180/rules.mk | 5 +- keyboards/ivy/keymaps/default/keymap.c | 4 - keyboards/ivy/rev1/rev1.c | 4 - keyboards/ivy/rules.mk | 11 +- keyboards/j80/rules.mk | 11 +- keyboards/jacky_studio/bear_65/bear_65.c | 20 + keyboards/jacky_studio/bear_65/config.h | 10 + .../bear_65/keymaps/stanrc85/keymap.c | 68 + .../bear_65/keymaps/stanrc85/rules.mk | 1 + keyboards/jacky_studio/bear_65/rules.mk | 5 +- .../jacky_studio/s7_elephant/rev1/rules.mk | 2 +- .../jacky_studio/s7_elephant/rev2/rules.mk | 2 +- keyboards/jae/j01/config.h | 20 - keyboards/jae/j01/j01.c | 14 - keyboards/jae/j01/rules.mk | 10 +- keyboards/jagdpietr/drakon/drakon.c | 119 +- keyboards/jagdpietr/drakon/rules.mk | 5 +- keyboards/jc65/v32a/rules.mk | 11 +- keyboards/jc65/v32a/v32a.h | 17 - keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c | 2 +- keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk | 3 +- keyboards/jc65/v32u4/rules.mk | 10 +- keyboards/jd40/jd40.h | 14 - keyboards/jd40/rules.mk | 12 +- keyboards/jd45/jd45.h | 12 - keyboards/jd45/keymaps/justin/keymap.c | 80 - keyboards/jd45/keymaps/mjt/config.h | 79 - keyboards/jd45/keymaps/mjt/keymap.c | 82 - keyboards/jd45/keymaps/mjt/readme.md | 12 - keyboards/jd45/keymaps/mjt/rules.mk | 17 - keyboards/jd45/keymaps/mjt6u/rules.mk | 2 +- keyboards/jd45/rules.mk | 11 +- keyboards/jian/handwired/handwired.c | 2 +- keyboards/jian/handwired/rules.mk | 7 - keyboards/jian/keymaps/advanced/keymap.c | 2 +- keyboards/jian/nsrev2/nsrev2.c | 2 +- keyboards/jian/nsrev2/rules.mk | 7 - keyboards/jian/rev1/rev1.c | 2 +- keyboards/jian/rev1/rules.mk | 7 - keyboards/jian/rev2/rev2.c | 2 +- keyboards/jian/rev2/rules.mk | 7 - keyboards/jiran/rules.mk | 2 +- .../jisplit89/keymaps/salicylic/keymap.c | 2 +- keyboards/jisplit89/rules.mk | 3 +- keyboards/jj40/jj40.h | 82 - keyboards/jj40/keymaps/ajp10304/readme.md | 119 - keyboards/jj40/keymaps/fun40/rules.mk | 21 - keyboards/jj40/keymaps/like_jis/config.h | 49 - keyboards/jj40/keymaps/like_jis/keymap.c | 200 - keyboards/jj40/keymaps/like_jis/rules.mk | 5 - keyboards/jj40/keymaps/oscillope/rules.mk | 14 - keyboards/jj40/keymaps/skewwhiffy/keymap.c | 219 - keyboards/jj40/keymaps/stevexyz/rules.mk | 19 - keyboards/jj40/keymaps/waples/rules.mk | 10 - keyboards/jj40/readme.md | 21 - keyboards/jj40/rules.mk | 37 - keyboards/jj4x4/readme.md | 39 - keyboards/jj4x4/rules.mk | 34 - keyboards/jj50/keymaps/abstractkb/keymap.c | 135 - .../keymaps/abstractkb_gergomatch/keymap.c | 135 - keyboards/jj50/readme.md | 21 - keyboards/jj50/rules.mk | 27 - .../jkdlab/binary_monkey/binary_monkey.c | 19 + .../jkdlab/binary_monkey/binary_monkey.h | 28 + keyboards/jkdlab/binary_monkey/config.h | 42 + keyboards/jkdlab/binary_monkey/info.json | 16 + .../binary_monkey/keymaps/ascii/keymap.c | 70 + .../binary_monkey/keymaps/default/keymap.c | 30 + keyboards/jkdlab/binary_monkey/readme.md | 21 + keyboards/jkdlab/binary_monkey/rules.mk | 22 + keyboards/jm60/jm60.h | 2 - keyboards/jm60/rules.mk | 2 +- keyboards/jnao/rules.mk | 10 +- keyboards/jones/v03/config.h | 2 +- .../jones/v03/keymaps/default_jp/keymap.c | 3 +- keyboards/jones/v03/rules.mk | 2 +- keyboards/jones/v03_1/config.h | 2 +- .../jones/v03_1/keymaps/default_ansi/keymap.c | 3 +- .../jones/v03_1/keymaps/default_jp/keymap.c | 3 +- keyboards/jones/v03_1/rules.mk | 2 +- keyboards/just60/rules.mk | 10 +- keyboards/k_type/i2c_master.c | 150 + keyboards/k_type/i2c_master.h | 127 + keyboards/k_type/is31fl3733-dual.c | 236 + keyboards/k_type/is31fl3733-dual.h | 251 + keyboards/k_type/k_type-rgbdriver.c | 57 + keyboards/k_type/k_type.c | 206 +- .../k_type/keymaps/andrew-fahmy/config.h | 52 + .../k_type/keymaps/andrew-fahmy/keymap.c | 60 + .../k_type/keymaps/andrew-fahmy/rules.mk | 1 + keyboards/k_type/keymaps/rgb/config.h | 25 +- keyboards/k_type/keymaps/rgb/keymap.c | 4 +- keyboards/k_type/keymaps/rgb/readme.md | 4 +- keyboards/k_type/mcuconf.h | 3 + keyboards/k_type/rules.mk | 11 +- keyboards/kabedon/kabedon78s/rules.mk | 2 +- keyboards/kabedon/kabedon980/rules.mk | 2 +- keyboards/kabedon/kabedon98e/chconf.h | 28 + keyboards/kabedon/kabedon98e/config.h | 64 + keyboards/kabedon/kabedon98e/halconf.h | 26 + keyboards/kabedon/kabedon98e/info.json | 114 + keyboards/kabedon/kabedon98e/kabedon98e.c | 16 + keyboards/kabedon/kabedon98e/kabedon98e.h | 42 + .../kabedon98e/keymaps/default/keymap.c | 108 + .../kabedon/kabedon98e/keymaps/via/keymap.c | 108 + .../kabedon/kabedon98e/keymaps/via/rules.mk | 1 + keyboards/kabedon/kabedon98e/mcuconf.h | 27 + keyboards/kabedon/kabedon98e/readme.md | 17 + keyboards/kabedon/kabedon98e/rules.mk | 24 + keyboards/kagamidget/config.h | 20 - keyboards/kagamidget/kagamidget.c | 27 - keyboards/kagamidget/keymaps/default/keymap.c | 16 - keyboards/kagamidget/rules.mk | 10 +- keyboards/kb_elmo/67mk_e/67mk_e.c | 17 + keyboards/kb_elmo/67mk_e/67mk_e.h | 105 + keyboards/kb_elmo/67mk_e/config.h | 44 + keyboards/kb_elmo/67mk_e/info.json | 440 ++ .../kb_elmo/67mk_e/keymaps/default/keymap.c | 33 + keyboards/kb_elmo/67mk_e/keymaps/via/keymap.c | 47 + keyboards/kb_elmo/67mk_e/keymaps/via/rules.mk | 2 + keyboards/kb_elmo/67mk_e/readme.md | 21 + keyboards/kb_elmo/67mk_e/rules.mk | 24 + keyboards/kb_elmo/aek2_usb/config.h | 5 +- .../kb_elmo/aek2_usb/keymaps/via/keymap.c | 8 + .../kb_elmo/aek2_usb/keymaps/via/rules.mk | 1 + keyboards/kb_elmo/aek2_usb/rules.mk | 4 +- keyboards/kb_elmo/elmopad/rules.mk | 4 +- keyboards/kb_elmo/m0110a_usb/rules.mk | 4 +- keyboards/kb_elmo/m0116_usb/rules.mk | 4 +- keyboards/kb_elmo/noah_avr/info.json | 110 +- .../kb_elmo/noah_avr/keymaps/default/keymap.c | 4 +- keyboards/kb_elmo/noah_avr/noah_avr.h | 125 +- keyboards/kb_elmo/noah_avr/rules.mk | 4 +- keyboards/kb_elmo/qez/config.h | 44 + keyboards/kb_elmo/qez/info.json | 128 + .../kb_elmo/qez/keymaps/default/keymap.c | 37 + keyboards/kb_elmo/qez/keymaps/via/keymap.c | 43 + keyboards/kb_elmo/qez/keymaps/via/rules.mk | 2 + keyboards/kb_elmo/qez/qez.c | 17 + keyboards/kb_elmo/qez/qez.h | 57 + keyboards/kb_elmo/qez/readme.md | 24 + keyboards/kb_elmo/qez/rules.mk | 22 + keyboards/kb_elmo/sesame/rules.mk | 4 +- keyboards/kb_elmo/twelvekey/config.h | 46 + keyboards/kb_elmo/twelvekey/info.json | 24 + .../twelvekey/keymaps/default/keymap.c | 24 + .../kb_elmo/twelvekey/keymaps/via/keymap.c | 39 + .../kb_elmo/twelvekey/keymaps/via/rules.mk | 1 + keyboards/kb_elmo/twelvekey/readme.md | 19 + keyboards/kb_elmo/twelvekey/rules.mk | 25 + keyboards/kb_elmo/twelvekey/twelvekey.c | 17 + keyboards/kb_elmo/twelvekey/twelvekey.h | 37 + keyboards/kbdclack/kaishi65/config.h | 20 - keyboards/kbdclack/kaishi65/rules.mk | 10 +- keyboards/kbdfans/bella/rgb/config.h | 4 +- keyboards/kbdfans/bella/rgb/rgb.c | 2 +- keyboards/kbdfans/bella/rgb/rules.mk | 4 +- keyboards/kbdfans/bella/rgb_iso/config.h | 4 +- keyboards/kbdfans/bella/rgb_iso/rgb_iso.c | 2 +- keyboards/kbdfans/bella/rgb_iso/rules.mk | 4 +- keyboards/kbdfans/bella/soldered/rules.mk | 2 +- keyboards/kbdfans/kbd19x/config.h | 20 - .../kbdfans/kbd19x/keymaps/default/keymap.c | 16 - keyboards/kbdfans/kbd19x/rules.mk | 10 +- keyboards/kbdfans/kbd4x/config.h | 20 - keyboards/kbdfans/kbd4x/kbd4x.c | 27 - keyboards/kbdfans/kbd4x/kbd4x.h | 13 - .../kbdfans/kbd4x/keymaps/default/keymap.c | 13 - keyboards/kbdfans/kbd4x/rules.mk | 10 +- keyboards/kbdfans/kbd66/config.h | 20 - keyboards/kbdfans/kbd66/kbd66.c | 27 - keyboards/kbdfans/kbd66/keymaps/ansi/keymap.c | 16 - .../kbdfans/kbd66/keymaps/default/keymap.c | 16 - keyboards/kbdfans/kbd66/keymaps/iso/keymap.c | 16 - keyboards/kbdfans/kbd66/rules.mk | 10 +- keyboards/kbdfans/kbd67/hotswap/config.h | 24 +- keyboards/kbdfans/kbd67/hotswap/hotswap.c | 27 - .../hotswap/keymaps/brandonschlack/rules.mk | 2 +- .../kbd67/hotswap/keymaps/default/keymap.c | 12 - .../hotswap/keymaps/stevanmilic/rules.mk | 2 +- .../kbd67/hotswap/keymaps/via/keymap.c | 46 + .../kbd67/hotswap/keymaps/via/rules.mk | 2 + keyboards/kbdfans/kbd67/hotswap/rules.mk | 10 +- .../kbd67/mkii_soldered/mkii_soldered.c | 32 - .../kbdfans/kbd67/mkii_soldered/rules.mk | 10 +- .../kbd67/mkiirgb/keymaps/default/keymap.c | 14 - .../mkiirgb/keymaps/pascalpfeil/config.h | 32 + .../mkiirgb/keymaps/pascalpfeil/keymap.c | 48 + .../mkiirgb/keymaps/pascalpfeil/rules.mk | 2 + keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c | 134 +- keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.h | 38 +- keyboards/kbdfans/kbd67/mkiirgb/readme.md | 6 +- keyboards/kbdfans/kbd67/mkiirgb/v1/config.h | 4 +- keyboards/kbdfans/kbd67/mkiirgb/v1/rules.mk | 5 +- keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c | 104 + keyboards/kbdfans/kbd67/mkiirgb/v1/v1.h | 32 + keyboards/kbdfans/kbd67/mkiirgb/v2/config.h | 4 +- keyboards/kbdfans/kbd67/mkiirgb/v2/rules.mk | 10 +- keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c | 122 + keyboards/kbdfans/kbd67/mkiirgb/v2/v2.h | 32 + keyboards/kbdfans/kbd67/mkiirgb/v3/config.h | 75 + keyboards/kbdfans/kbd67/mkiirgb/v3/readme.md | 13 + keyboards/kbdfans/kbd67/mkiirgb/v3/rules.mk | 28 + keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c | 127 + keyboards/kbdfans/kbd67/mkiirgb/v3/v3.h | 33 + keyboards/kbdfans/kbd67/rev1/config.h | 20 - .../kbd67/rev1/keymaps/default/config.h | 2 +- .../kbd67/rev1/keymaps/default/keymap.c | 12 - keyboards/kbdfans/kbd67/rev1/rules.mk | 10 +- keyboards/kbdfans/kbd67/rev2/config.h | 17 +- keyboards/kbdfans/kbd67/rev2/info.json | 155 +- .../kbd67/rev2/keymaps/default/keymap.c | 12 - .../kbd67/rev2/keymaps/rouge8/keymap.c | 12 +- .../kbd67/rev2/keymaps/tucznak/rules.mk | 2 +- keyboards/kbdfans/kbd67/rev2/rev2.c | 13 +- keyboards/kbdfans/kbd67/rev2/rev2.h | 21 +- keyboards/kbdfans/kbd67/rev2/rules.mk | 12 +- keyboards/kbdfans/kbd6x/config.h | 20 - .../kbdfans/kbd6x/keymaps/default/keymap.c | 14 - .../kbdfans/kbd6x/keymaps/konstantin/rules.mk | 2 +- keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c | 26 +- keyboards/kbdfans/kbd6x/keymaps/othi/rules.mk | 2 +- .../kbdfans/kbd6x/keymaps/peott-fr/keymap.c | 23 + .../kbdfans/kbd6x/keymaps/wanleg/rules.mk | 2 +- keyboards/kbdfans/kbd6x/rules.mk | 10 +- keyboards/kbdfans/kbd75/keymaps/adit/keymap.c | 36 - .../kbdfans/kbd75/keymaps/edulpn/keymap.c | 2 +- .../kbd75/keymaps/noroadsleft/config.h | 3 + .../kbd75/keymaps/noroadsleft/keymap.c | 134 +- .../kbd75/keymaps/noroadsleft/rules.mk | 2 +- .../kbdfans/kbd75/keymaps/tucznak/rules.mk | 2 +- keyboards/kbdfans/kbd75/rev1/rules.mk | 9 +- keyboards/kbdfans/kbd75/rev2/rules.mk | 9 +- keyboards/kbdfans/kbd8x/rules.mk | 9 +- keyboards/kbdfans/kbd8x_mk2/config.h | 20 - .../kbdfans/kbd8x_mk2/keymaps/ansi_7/keymap.c | 16 - .../kbd8x_mk2/keymaps/default/keymap.c | 16 - .../kbd8x_mk2/keymaps/iso_625/keymap.c | 16 - .../kbdfans/kbd8x_mk2/keymaps/iso_7/keymap.c | 16 - .../kbdfans/kbd8x_mk2/keymaps/tester/keymap.c | 16 - keyboards/kbdfans/kbd8x_mk2/rules.mk | 10 +- keyboards/kbdfans/kbdmini/config.h | 31 +- keyboards/kbdfans/kbdmini/info.json | 68 + keyboards/kbdfans/kbdmini/kbdmini.c | 158 +- keyboards/kbdfans/kbdmini/kbdmini.h | 10 +- .../kbdfans/kbdmini/keymaps/default/keymap.c | 13 +- keyboards/kbdfans/kbdmini/readme.md | 6 +- keyboards/kbdfans/kbdmini/rules.mk | 25 +- keyboards/kbdfans/kbdpad/mk1/rules.mk | 11 +- keyboards/kbdfans/kbdpad_mk2/config.h | 20 - .../kbdpad_mk2/keymaps/default/keymap.c | 16 - .../keymaps/iracing_replay/keymap.c | 156 + .../keymaps/iracing_replay/readme.md | 17 + .../keymaps/iracing_replay}/rules.mk | 0 .../kbdpad_mk2/keymaps/tester/keymap.c | 16 - keyboards/kbdfans/kbdpad_mk2/rules.mk | 10 +- keyboards/kbdfans/maja/config.h | 4 +- keyboards/kbdfans/maja/maja.c | 2 +- keyboards/kbdfans/maja/rules.mk | 10 +- keyboards/kbdfans/maja_soldered/rules.mk | 2 +- keyboards/kc60/keymaps/noroadsleft/config.h | 3 + keyboards/kc60/keymaps/noroadsleft/keymap.c | 203 +- keyboards/kc60/keymaps/noroadsleft/readme.md | 130 +- .../kc60/keymaps/noroadsleft/readme_ch1.md | 48 - .../kc60/keymaps/noroadsleft/readme_ch2.md | 36 - .../kc60/keymaps/noroadsleft/readme_ch3.md | 40 - .../kc60/keymaps/noroadsleft/readme_ch4.md | 110 - .../kc60/keymaps/noroadsleft/readme_git.md | 79 - keyboards/kc60/keymaps/stanleylai/keymap.c | 38 +- keyboards/kc60/keymaps/stanleylai/rules.mk | 2 +- keyboards/kc60/keymaps/wigguno/rules.mk | 2 +- keyboards/kc60/rules.mk | 2 +- keyboards/kc60se/config.h | 20 - keyboards/kc60se/rules.mk | 10 +- keyboards/keebio/bdn9/keymaps/bcat/keymap.c | 33 +- .../bdn9/keymaps/brandonschlack/keymap.c | 3 +- .../bdn9/keymaps/codecoffeecode/keymap.c | 3 +- .../keebio/bdn9/keymaps/default/keymap.c | 3 +- keyboards/keebio/bdn9/keymaps/eosti/keymap.c | 3 +- .../keebio/bdn9/keymaps/ghostseven/keymap.c | 3 +- .../keebio/bdn9/keymaps/hbbisenieks/keymap.c | 3 +- .../keebio/bdn9/keymaps/mousepad/keymap.c | 15 +- keyboards/keebio/bdn9/keymaps/rishka/keymap.c | 3 +- keyboards/keebio/bdn9/keymaps/test/keymap.c | 13 +- keyboards/keebio/bdn9/keymaps/via/keymap.c | 3 +- .../bdn9/keymaps/vosechu-browser/keymap.c | 3 +- .../keebio/bdn9/keymaps/vosechu-ksp/keymap.c | 5 +- keyboards/keebio/bdn9/rev1/rules.mk | 10 +- keyboards/keebio/bdn9/rev2/rules.mk | 6 +- .../bfo9000/keymaps/abstractkb/keymap.c | 14 +- .../keymaps/insertsnideremarks/keymap.c | 60 +- .../keymaps/insertsnideremarks/rules.mk | 2 +- .../bfo9000/keymaps/tuesdayjohn/keymap.c | 48 +- .../bfo9000/keymaps/tuesdayjohn/rules.mk | 2 +- keyboards/keebio/bfo9000/rules.mk | 10 +- keyboards/keebio/choconum/config.h | 20 - keyboards/keebio/choconum/rules.mk | 6 +- keyboards/keebio/chocopad/chocopad.h | 14 - .../keebio/chocopad/keymaps/khord/config.h | 6 - .../keebio/chocopad/keymaps/khord/keymap.c | 59 +- keyboards/keebio/chocopad/rules.mk | 9 +- keyboards/keebio/dilly/dilly.h | 12 - .../keebio/dilly/keymaps/bakingpy/config.h | 3 - .../keebio/dilly/keymaps/bakingpy/keymap.c | 106 - keyboards/keebio/dilly/keymaps/delmo/config.h | 10 - keyboards/keebio/dilly/keymaps/delmo/keymap.c | 105 - .../keebio/dilly/keymaps/pletcher/config.h | 11 - .../keebio/dilly/keymaps/pletcher/keymap.c | 95 - .../keebio/dilly/keymaps/pletcher/rules.mk | 2 - keyboards/keebio/dilly/rules.mk | 9 +- .../keebio/dsp40/keymaps/default/keymap.c | 3 +- keyboards/keebio/dsp40/keymaps/via/keymap.c | 3 +- keyboards/keebio/dsp40/rev1/rules.mk | 5 +- keyboards/keebio/ergodicity/config.h | 20 - .../ergodicity/keymaps/default/keymap.c | 12 - keyboards/keebio/ergodicity/rules.mk | 10 +- keyboards/{xd60/rev2 => keebio/foldkb}/.noci | 0 keyboards/keebio/foldkb/config.h | 19 + keyboards/keebio/foldkb/foldkb.c | 17 + keyboards/keebio/foldkb/foldkb.h | 23 + keyboards/keebio/foldkb/info.json | 89 + .../keebio/foldkb/keymaps/default/keymap.c | 51 + keyboards/keebio/foldkb/keymaps/via/keymap.c | 65 + keyboards/keebio/foldkb/keymaps/via/rules.mk | 3 + keyboards/keebio/foldkb/readme.md | 19 + keyboards/keebio/foldkb/rev1/config.h | 58 + keyboards/keebio/foldkb/rev1/rev1.c | 26 + keyboards/keebio/foldkb/rev1/rev1.h | 40 + keyboards/keebio/foldkb/rev1/rules.mk | 3 + keyboards/keebio/foldkb/rules.mk | 26 + keyboards/keebio/fourier/fourier.h | 14 - .../fourier/keymaps/jennetters/config.h | 28 - .../fourier/keymaps/jennetters/keymap.c | 146 - .../keebio/fourier/keymaps/valgrahf/config.h | 31 - .../keebio/fourier/keymaps/valgrahf/keymap.c | 69 - keyboards/keebio/fourier/rules.mk | 10 +- keyboards/keebio/iris/iris.h | 28 +- .../iris/keymaps/antonlindstrom/keymap.c | 18 +- keyboards/keebio/iris/keymaps/boo/config.h | 26 + keyboards/keebio/iris/keymaps/boo/keymap.c | 250 + keyboards/keebio/iris/keymaps/boo/rules.mk | 3 + .../keebio/iris/keymaps/broswen/config.h | 52 - .../keebio/iris/keymaps/broswen/keymap.c | 125 - .../keebio/iris/keymaps/broswen/rules.mk | 8 - .../iris/keymaps/compilation-error/config.h | 21 + .../iris/keymaps/compilation-error/keymap.c | 149 + .../iris/keymaps/compilation-error/rules.mk | 1 + keyboards/keebio/iris/keymaps/csc027/config.h | 5 + .../keebio/iris/keymaps/davidrambo/keymap.c | 140 +- .../keebio/iris/keymaps/dbroqua/config.h | 27 - .../keebio/iris/keymaps/dbroqua/keymap.c | 124 - .../keebio/iris/keymaps/dbroqua/rules.mk | 2 - .../keebio/iris/keymaps/dcompact/keymap.c | 3 +- keyboards/keebio/iris/keymaps/ddone/keymap.c | 5 +- keyboards/keebio/iris/keymaps/ddone/rules.mk | 2 +- .../keebio/iris/keymaps/default/keymap.c | 3 +- .../keebio/iris/keymaps/drashna/keymap.c | 80 +- .../keebio/iris/keymaps/drashna/rules.mk | 3 +- .../keebio/iris/keymaps/drashna_lp/config.h | 50 - .../keebio/iris/keymaps/drashna_lp/keymap.c | 1 - .../keebio/iris/keymaps/drashna_lp/rules.mk | 7 - .../keebio/iris/keymaps/drashna_old/config.h | 47 - .../keebio/iris/keymaps/drashna_old/keymap.c | 1 - .../keebio/iris/keymaps/drashna_old/rules.mk | 4 - .../iris/keymaps/dvp-zjpxshade/config.h | 41 - .../iris/keymaps/dvp-zjpxshade/keymap.c | 138 - .../iris/keymaps/dvp-zjpxshade/rules.mk | 3 - .../keebio/iris/keymaps/edvorakjp/config.h | 5 +- .../keebio/iris/keymaps/edvorakjp/keymap.c | 117 +- .../keebio/iris/keymaps/edvorakjp/rules.mk | 2 +- keyboards/keebio/iris/keymaps/fabian/config.h | 39 - keyboards/keebio/iris/keymaps/fabian/keymap.c | 179 - keyboards/keebio/iris/keymaps/fate/config.h | 40 - keyboards/keebio/iris/keymaps/fate/keymap.c | 125 - keyboards/keebio/iris/keymaps/fate/readme.md | 23 - keyboards/keebio/iris/keymaps/fate/rules.mk | 7 - .../iris/keymaps/fluffactually/config.h | 4 +- .../iris/keymaps/fluffactually/keymap.c | 54 +- .../iris/keymaps/fluffactually/readme.md | 19 +- keyboards/keebio/iris/keymaps/gary/keymap.c | 36 +- keyboards/keebio/iris/keymaps/hag/config.h | 41 - keyboards/keebio/iris/keymaps/hag/keymap.c | 295 -- keyboards/keebio/iris/keymaps/hag/rules.mk | 3 - .../keebio/iris/keymaps/hbbisenieks/config.h | 3 + .../keebio/iris/keymaps/hbbisenieks/keymap.c | 74 +- .../keebio/iris/keymaps/hexwire/config.h | 38 - .../keebio/iris/keymaps/hexwire/keymap.c | 142 - .../keebio/iris/keymaps/hexwire/rules.mk | 3 - .../iris/keymaps/jasondunsmore/keymap.c | 36 +- .../keebio/iris/keymaps/jennetters/config.h | 38 - .../keebio/iris/keymaps/jennetters/keymap.c | 206 - .../keebio/iris/keymaps/jennetters/readme.md | 10 - .../keebio/iris/keymaps/jennetters/rules.mk | 1 - .../keebio/iris/keymaps/jerryhcooke/keymap.c | 3 +- keyboards/keebio/iris/keymaps/jhelvy/keymap.c | 3 +- .../keebio/iris/keymaps/khitsule/keymap.c | 3 +- .../keebio/iris/keymaps/lewisridden/config.h | 41 - .../keebio/iris/keymaps/lewisridden/keymap.c | 136 - .../keebio/iris/keymaps/lewisridden/rules.mk | 3 - .../keymaps/manna-harbour_miryoku/config.h | 23 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + keyboards/keebio/iris/keymaps/mnil/config.h | 29 + keyboards/keebio/iris/keymaps/mnil/keymap.c | 94 + keyboards/keebio/iris/keymaps/mnil/readme.md | 2 + keyboards/keebio/iris/keymaps/mnil/rules.mk | 1 + .../keebio/iris/keymaps/mojitas/keymap.c | 2 - keyboards/keebio/iris/keymaps/mtdjr/config.h | 51 - keyboards/keebio/iris/keymaps/mtdjr/keymap.c | 63 - keyboards/keebio/iris/keymaps/mtdjr/rules.mk | 4 - .../keebio/iris/keymaps/nstickney/README.md | 47 - .../keebio/iris/keymaps/nstickney/config.h | 50 +- .../keebio/iris/keymaps/nstickney/keymap.c | 140 +- .../keebio/iris/keymaps/nstickney/rules.mk | 1 - .../iris/keymaps/olligranlund_nordic/config.h | 22 +- .../iris/keymaps/olligranlund_nordic/keymap.c | 26 +- .../keymaps/olligranlund_nordic/readme.md | 2 +- .../iris/keymaps/olligranlund_nordic/rules.mk | 4 +- .../keymaps/olligranlund_nordic_v2/config.h | 31 + .../keymaps/olligranlund_nordic_v2/keymap.c | 127 + .../keymaps/olligranlund_nordic_v2/readme.md | 8 + .../keymaps/olligranlund_nordic_v2/rules.mk | 4 + keyboards/keebio/iris/keymaps/osiris/keymap.c | 50 +- keyboards/keebio/iris/keymaps/pvinis/keymap.c | 3 +- .../keebio/iris/keymaps/rdhaene/config.h | 24 - .../keebio/iris/keymaps/rdhaene/keymap.c | 145 - .../keebio/iris/keymaps/rdhaene/rules.mk | 3 - keyboards/keebio/iris/keymaps/rs/keymap.c | 36 +- .../keebio/iris/keymaps/s1carii/config.h | 34 - .../keebio/iris/keymaps/s1carii/keymap.c | 144 - .../keebio/iris/keymaps/s1carii/readme.md | 9 - .../keebio/iris/keymaps/s1carii/rules.mk | 2 - keyboards/keebio/iris/keymaps/saviof/config.h | 39 - keyboards/keebio/iris/keymaps/saviof/keymap.c | 107 - keyboards/keebio/iris/keymaps/saviof/rules.mk | 3 - .../keebio/iris/keymaps/sethBarberee/config.h | 30 +- .../keebio/iris/keymaps/sethBarberee/keymap.c | 183 +- .../keebio/iris/keymaps/sethBarberee/rules.mk | 6 +- .../keebio/iris/keymaps/swedish/config.h | 41 - .../keebio/iris/keymaps/swedish/keymap.c | 109 - .../keebio/iris/keymaps/swedish/rules.mk | 3 - .../iris/keymaps/transmogrified/Readme.md | 9 - .../iris/keymaps/transmogrified/config.h | 46 - .../iris/keymaps/transmogrified/keymap.c | 421 -- .../iris/keymaps/transmogrified/rules.mk | 3 - keyboards/keebio/iris/keymaps/via/keymap.c | 3 +- keyboards/keebio/iris/keymaps/vyolle/rules.mk | 2 +- keyboards/keebio/iris/keymaps/xyverz/keymap.c | 87 +- .../keebio/iris/keymaps/yanfali/config.h | 43 - .../keebio/iris/keymaps/yanfali/keymap.c | 144 - .../keebio/iris/keymaps/yanfali/readme.md | 17 - .../keebio/iris/keymaps/yanfali/rules.mk | 3 - keyboards/keebio/iris/rev1/rev1.c | 9 +- keyboards/keebio/iris/rev1/rules.mk | 10 +- keyboards/keebio/iris/rev1_led/rev1_led.c | 9 +- keyboards/keebio/iris/rev1_led/rules.mk | 10 +- keyboards/keebio/iris/rev2/rev2.c | 2 +- keyboards/keebio/iris/rev2/rules.mk | 12 +- keyboards/keebio/iris/rev3/rev3.c | 2 +- keyboards/keebio/iris/rev3/rules.mk | 11 +- keyboards/keebio/iris/rev4/rules.mk | 14 +- keyboards/keebio/iris/rev5/config.h | 83 + keyboards/keebio/iris/rev5/rev5.c | 14 + keyboards/keebio/iris/rev5/rev5.h | 42 + keyboards/keebio/iris/rev5/rules.mk | 24 + .../keebio/kbo5000/keymaps/default/keymap.c | 3 +- keyboards/keebio/kbo5000/keymaps/iso/keymap.c | 3 +- keyboards/keebio/kbo5000/keymaps/via/keymap.c | 3 +- keyboards/keebio/kbo5000/keymaps/via/rules.mk | 1 - keyboards/keebio/kbo5000/rules.mk | 12 +- .../keebio/laplace/keymaps/bakingpy/keymap.c | 61 - keyboards/keebio/laplace/laplace.h | 14 - keyboards/keebio/laplace/rules.mk | 10 +- .../levinson/keymaps/bakingpy2u/config.h | 21 - .../levinson/keymaps/bakingpy2u/keymap.c | 203 - .../levinson/keymaps/bakingpy2u/rules.mk | 2 - .../levinson/keymaps/issmirnov/keymap.c | 2 +- .../keebio/levinson/keymaps/jyh/config.h | 29 - .../keebio/levinson/keymaps/jyh/keymap.c | 127 +- .../keebio/levinson/keymaps/jyh2/rules.mk | 2 +- .../levinson/keymaps/ksamborski/rules.mk | 2 +- .../keymaps/losinggeneration/rules.mk | 2 +- .../keebio/levinson/keymaps/omgvee/config.h | 26 - .../keebio/levinson/keymaps/omgvee/keymap.c | 185 - .../keebio/levinson/keymaps/omgvee/readme.md | 21 - .../keebio/levinson/keymaps/omgvee/rules.mk | 11 - .../keebio/levinson/keymaps/steno/rules.mk | 2 +- .../levinson/keymaps/treadwell/keymap.c | 62 +- .../keebio/levinson/keymaps/valgrahf/config.h | 25 - .../keebio/levinson/keymaps/valgrahf/keymap.c | 63 - .../keebio/levinson/keymaps/valgrahf/rules.mk | 3 - .../levinson/keymaps/xtonhasvim/keymap.c | 2 +- keyboards/keebio/levinson/levinson.c | 2 +- keyboards/keebio/levinson/levinson.h | 16 - keyboards/keebio/levinson/rev1/rev1.c | 21 - keyboards/keebio/levinson/rules.mk | 10 +- keyboards/keebio/nyquist/info.json | 3 - .../keebio/nyquist/keymaps/DivergeJM/rules.mk | 2 +- .../keebio/nyquist/keymaps/bakingpy/README.md | 116 - .../keymaps/bakingpy/Underglow Pinouts.md | 20 - .../keebio/nyquist/keymaps/bakingpy/config.h | 34 - .../keebio/nyquist/keymaps/bakingpy/keymap.c | 216 - .../keymaps/bakingpy/keymap_converter.py | 39 - .../keymaps/bakingpy/keymap_to_readme.rb | 40 - .../keebio/nyquist/keymaps/bakingpy/rules.mk | 2 - .../nyquist/keymaps/danielhklein/rules.mk | 2 +- .../nyquist/keymaps/georgepetri/rules.mk | 2 +- .../nyquist/keymaps/georgepetri3/rules.mk | 2 +- .../nyquist/keymaps/losinggeneration/rules.mk | 2 +- .../keebio/nyquist/keymaps/mtdjr/config.h | 36 - .../keebio/nyquist/keymaps/mtdjr/keymap.c | 64 - .../keebio/nyquist/keymaps/mtdjr/rules.mk | 2 - .../keebio/nyquist/keymaps/peott-fr/keymap.c | 104 + .../keebio/nyquist/keymaps/pitty/keymap.c | 2 +- .../keebio/nyquist/keymaps/skug/keymap.c | 18 +- keyboards/keebio/nyquist/nyquist.h | 32 - keyboards/keebio/nyquist/rev1/rev1.c | 21 - keyboards/keebio/nyquist/rev1/rev1.h | 32 + keyboards/keebio/nyquist/rev1/rules.mk | 11 +- keyboards/keebio/nyquist/rev2/rev2.h | 32 + keyboards/keebio/nyquist/rev2/rules.mk | 11 +- keyboards/keebio/nyquist/rev3/rev3.h | 17 + keyboards/keebio/nyquist/rev3/rules.mk | 11 +- keyboards/keebio/quefrency/info.json | 369 -- .../keebio/quefrency/keymaps/bcat/config.h | 26 +- .../keebio/quefrency/keymaps/bcat/keymap.c | 19 +- .../quefrency/keymaps/bfiedler/config.h | 33 + .../quefrency/keymaps/bfiedler/keymap.c | 70 + .../quefrency/keymaps/bfiedler/rules.mk | 3 + .../quefrency/keymaps/bjohnson/rules.mk | 2 +- .../quefrency/keymaps/default65/keymap.c | 3 +- .../quefrency/keymaps/default65macro/keymap.c | 3 +- .../keebio/quefrency/keymaps/draevin/keymap.c | 3 +- .../quefrency/keymaps/georgepetri/keymap.c | 8 +- .../keebio/quefrency/keymaps/jonavin/config.h | 45 + .../keebio/quefrency/keymaps/jonavin/keymap.c | 156 + .../quefrency/keymaps/jonavin/readme.md | 37 + .../keebio/quefrency/keymaps/jonavin/rules.mk | 9 + .../keebio/quefrency/keymaps/via/keymap.c | 3 +- .../keebio/quefrency/keymaps/via/rules.mk | 1 - keyboards/keebio/quefrency/quefrency.h | 17 +- keyboards/keebio/quefrency/readme.md | 2 +- keyboards/keebio/quefrency/rev1/info.json | 472 ++ keyboards/keebio/quefrency/rev2/config.h | 5 - keyboards/keebio/quefrency/rev2/info.json | 839 +++ keyboards/keebio/quefrency/rev2/rev2.h | 2 - keyboards/keebio/quefrency/rev3/config.h | 5 - keyboards/keebio/quefrency/rev3/info.json | 839 +++ keyboards/keebio/quefrency/rev3/rev3.c | 2 +- keyboards/keebio/quefrency/rev3/rev3.h | 2 - keyboards/keebio/quefrency/rev4/config.h | 60 + keyboards/keebio/quefrency/rev4/info.json | 839 +++ keyboards/keebio/quefrency/rev4/readme.md | 18 + keyboards/keebio/quefrency/rev4/rev4.c | 17 + keyboards/keebio/quefrency/rev4/rev4.h | 200 + keyboards/keebio/quefrency/rev4/rules.mk | 4 + keyboards/keebio/quefrency/rules.mk | 6 +- .../keymaps/insertsnideremarks/keymap.c | 2 +- .../keymaps/insertsnideremarks/rules.mk | 2 +- .../rorschach/keymaps/tuesdayjohn/keymap.c | 8 +- .../rorschach/keymaps/tuesdayjohn/rules.mk | 2 +- keyboards/keebio/rorschach/rev1/rev1.c | 13 - keyboards/keebio/rorschach/rorschach.h | 16 - keyboards/keebio/rorschach/rules.mk | 10 +- .../keebio/sinc/keymaps/default/keymap.c | 3 +- keyboards/keebio/sinc/keymaps/iso/keymap.c | 3 +- .../keebio/sinc/keymaps/sethBarberee/config.h | 30 + .../keebio/sinc/keymaps/sethBarberee/keymap.c | 72 + .../keebio/sinc/keymaps/sethBarberee/rules.mk | 3 + keyboards/keebio/sinc/keymaps/via/keymap.c | 3 +- keyboards/keebio/sinc/keymaps/via/rules.mk | 1 - keyboards/keebio/sinc/rev1/config.h | 5 +- keyboards/keebio/sinc/rev1/rev1.c | 9 - keyboards/keebio/sinc/rev2/config.h | 67 + keyboards/keebio/sinc/rev2/rev2.c | 40 + keyboards/keebio/sinc/rev2/rev2.h | 235 + keyboards/keebio/sinc/rev2/rules.mk | 3 + keyboards/keebio/sinc/rules.mk | 12 +- keyboards/keebio/sinc/sinc.h | 3 + .../keebio/stick/keymaps/default/keymap.c | 3 +- keyboards/keebio/stick/keymaps/via/keymap.c | 3 +- keyboards/keebio/stick/rules.mk | 4 +- keyboards/keebio/tragicforce68/rules.mk | 14 +- .../keebio/tragicforce68/tragicforce68.c | 7 - .../keebio/tragicforce68/tragicforce68.h | 17 - keyboards/keebio/tukey/rules.mk | 10 +- .../keebio/viterbi/keymaps/bakingpy/README.md | 116 - .../keebio/viterbi/keymaps/bakingpy/config.h | 33 - .../keebio/viterbi/keymaps/bakingpy/keymap.c | 215 - .../keebio/viterbi/keymaps/drashna/rules.mk | 3 +- .../viterbi/keymaps/drashna_old/config.h | 25 - .../viterbi/keymaps/drashna_old/keymap.c | 1 - .../viterbi/keymaps/drashna_old/rules.mk | 4 - .../keebio/viterbi/keymaps/dwallace/config.h | 43 - .../keebio/viterbi/keymaps/dwallace/keymap.c | 223 - .../keebio/viterbi/keymaps/fido/config.h | 45 - .../keebio/viterbi/keymaps/fido/keymap.c | 73 - .../keebio/viterbi/keymaps/fido/rules.mk | 1 - .../keebio/viterbi/keymaps/mike808/config.h | 38 - .../keebio/viterbi/keymaps/mike808/keymap.c | 157 - .../keebio/viterbi/keymaps/mike808/rules.mk | 1 - keyboards/keebio/viterbi/rev2/rules.mk | 2 + keyboards/keebio/viterbi/rules.mk | 18 +- keyboards/keebio/viterbi/viterbi.h | 16 - keyboards/keebio/wavelet/rules.mk | 10 +- keyboards/keebio/wavelet/wavelet.c | 15 +- keyboards/keebio/wavelet/wavelet.h | 15 - keyboards/keebio/wtf60/config.h | 67 + keyboards/keebio/wtf60/info.json | 15 + .../keebio/wtf60/keymaps/60_ansi/keymap.c | 34 + .../keebio/wtf60/keymaps/default/keymap.c | 34 + keyboards/keebio/wtf60/keymaps/via/keymap.c | 48 + keyboards/keebio/wtf60/keymaps/via/rules.mk | 2 + keyboards/keebio/wtf60/readme.md | 17 + keyboards/keebio/wtf60/rules.mk | 25 + keyboards/keebio/wtf60/wtf60.c | 1 + keyboards/keebio/wtf60/wtf60.h | 49 + keyboards/keebsforall/freebird60/rules.mk | 2 +- keyboards/keebwerk/mega/ansi/ansi.c | 2 +- keyboards/keebwerk/mega/ansi/rules.mk | 9 +- keyboards/keebwerk/nano_slider/config.h | 20 - keyboards/keebwerk/nano_slider/rules.mk | 9 +- keyboards/keebzdotnet/fme/config.h | 54 + keyboards/keebzdotnet/fme/fme.c | 17 + keyboards/keebzdotnet/fme/fme.h | 32 + keyboards/keebzdotnet/fme/info.json | 31 + .../keebzdotnet/fme/keymaps/default/keymap.c | 31 + .../keebzdotnet/fme/keymaps/via/config.h | 19 + .../keebzdotnet/fme/keymaps/via/keymap.c | 31 + .../keebzdotnet/fme/keymaps/via/rules.mk | 2 + keyboards/keebzdotnet/fme/readme.md | 19 + keyboards/keebzdotnet/fme/rules.mk | 22 + keyboards/keebzdotnet/wazowski/config.h | 20 - keyboards/keebzdotnet/wazowski/rules.mk | 10 +- keyboards/kelowna/rgb64/config.h | 51 + keyboards/kelowna/rgb64/info.json | 77 + .../kelowna/rgb64/keymaps/default/keymap.c | 38 + keyboards/kelowna/rgb64/keymaps/via/keymap.c | 47 + keyboards/kelowna/rgb64/keymaps/via/rules.mk | 1 + keyboards/kelowna/rgb64/readme.md | 17 + keyboards/kelowna/rgb64/rgb64.c | 16 + keyboards/kelowna/rgb64/rgb64.h | 31 + keyboards/kelowna/rgb64/rules.mk | 24 + keyboards/keybage/radpad/config.h | 2 +- .../keybage/radpad/keymaps/default/keymap.c | 5 +- keyboards/keybage/radpad/rules.mk | 5 +- .../atreus/keymaps/ardumont/keymap.c | 137 + .../atreus/keymaps/ardumont/readme.md | 23 + .../keymaps/manna-harbour_miryoku/config.h | 22 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + .../atreus/keymaps/replicaJunction/config.h | 51 + .../atreus/keymaps/replicaJunction/keymap.c | 94 + .../atreus/keymaps/replicaJunction/readme.md | 6 + .../atreus/keymaps/replicaJunction/rules.mk | 29 + keyboards/keyboardio/atreus/rules.mk | 2 +- .../model01/keymaps/tw1t611/keymap.c | 12 +- keyboards/keyboardio/model01/matrix.c | 11 + keyboards/keyboardio/model01/model01.c | 13 - keyboards/keyboardio/model01/rules.mk | 10 +- .../keycapsss/kimiko/keymaps/default/keymap.c | 5 +- .../keycapsss/kimiko/keymaps/default/rules.mk | 3 +- keyboards/keycapsss/kimiko/rules.mk | 2 +- keyboards/keycapsss/o4l_5x12/rules.mk | 2 +- keyboards/keycapsss/plaid_pad/config.h | 7 +- .../plaid_pad/keymaps/default/keymap.c | 23 +- .../keycapsss/plaid_pad/keymaps/oled/config.h | 22 + .../plaid_pad/keymaps/oled/glcdfont.c | 250 + .../keycapsss/plaid_pad/keymaps/oled/keymap.c | 229 + .../plaid_pad/keymaps/oled/readme.md | 29 + .../keycapsss/plaid_pad/keymaps/oled/rules.mk | 3 + .../keycapsss/plaid_pad/keymaps/via/keymap.c | 21 +- keyboards/keycapsss/plaid_pad/plaid_pad.h | 3 - keyboards/keycapsss/plaid_pad/readme.md | 19 +- keyboards/keycapsss/plaid_pad/rev1/config.h | 3 + keyboards/keycapsss/plaid_pad/rev2/config.h | 3 + keyboards/keycapsss/plaid_pad/rev3/config.h | 25 + keyboards/keycapsss/plaid_pad/rev3/rev3.c | 17 + keyboards/keycapsss/plaid_pad/rev3/rev3.h | 20 + keyboards/keycapsss/plaid_pad/rev3/rules.mk | 3 + keyboards/keycapsss/plaid_pad/rules.mk | 4 +- keyboards/keychron/q1/config.h | 63 + keyboards/keychron/q1/q1.c | 35 + keyboards/keychron/q1/q1.h | 26 + keyboards/keychron/q1/readme.md | 21 + keyboards/keychron/q1/rev_0100/config.h | 31 + keyboards/keychron/q1/rev_0100/info.json | 93 + .../q1/rev_0100/keymaps/default/keymap.c | 64 + .../keychron/q1/rev_0100/keymaps/via/keymap.c | 64 + .../keychron/q1/rev_0100/keymaps/via/rules.mk | 2 + keyboards/keychron/q1/rev_0100/readme.md | 1 + keyboards/keychron/q1/rev_0100/rev_0100.c | 143 + keyboards/keychron/q1/rev_0100/rev_0100.h | 37 + keyboards/keychron/q1/rev_0100/rules.mk | 25 + keyboards/keychron/q1/rev_0102/config.h | 31 + keyboards/keychron/q1/rev_0102/info.json | 101 + .../q1/rev_0102/keymaps/default/keymap.c | 64 + .../keychron/q1/rev_0102/keymaps/via/keymap.c | 64 + .../keychron/q1/rev_0102/keymaps/via/rules.mk | 2 + keyboards/keychron/q1/rev_0102/readme.md | 1 + keyboards/keychron/q1/rev_0102/rev_0102.c | 143 + keyboards/keychron/q1/rev_0102/rev_0102.h | 37 + keyboards/keychron/q1/rev_0102/rules.mk | 25 + keyboards/keyhive/maypad/config.h | 20 - .../keyhive/maypad/keymaps/default/keymap.c | 13 - keyboards/keyhive/maypad/maypad.c | 35 - keyboards/keyhive/maypad/rules.mk | 10 +- keyboards/keyprez/bison/bison.c | 35 + keyboards/keyprez/bison/bison.h | 99 + keyboards/keyprez/bison/config.h | 158 + keyboards/keyprez/bison/info.json | 308 ++ .../keyprez/bison/keymaps/default/keymap.c | 226 + .../keyprez/bison/keymaps/default/readme.md | 1 + .../bison/keymaps/default_6_6/keymap.c | 226 + .../bison/keymaps/default_6_6/readme.md | 1 + .../bison/keymaps/default_6_8/keymap.c | 226 + .../bison/keymaps/default_6_8/readme.md | 1 + .../bison/keymaps/default_8_6/keymap.c | 226 + .../bison/keymaps/default_8_6/readme.md | 1 + keyboards/keyprez/bison/readme.md | 21 + keyboards/keyprez/bison/rules.mk | 25 + keyboards/keyprez/corgi/config.h | 63 + keyboards/keyprez/corgi/corgi.c | 17 + keyboards/keyprez/corgi/corgi.h | 46 + keyboards/keyprez/corgi/info.json | 66 + .../keyprez/corgi/keymaps/default/keymap.c | 156 + .../keyprez/corgi/keymaps/default/readme.md | 1 + keyboards/keyprez/corgi/readme.md | 22 + keyboards/keyprez/corgi/rules.mk | 23 + keyboards/keyprez/rhino/config.h | 115 + keyboards/keyprez/rhino/info.json | 187 + .../keyprez/rhino/keymaps/default/keymap.c | 116 + .../keyprez/rhino/keymaps/default/readme.md | 1 + .../keyprez/rhino/keymaps/default_7u/keymap.c | 117 + .../rhino/keymaps/default_7u/readme.md | 1 + .../rhino/keymaps/default_ergo/keymap.c | 124 + .../rhino/keymaps/default_ergo/readme.md | 1 + keyboards/keyprez/rhino/readme.md | 22 + keyboards/keyprez/rhino/rhino.c | 32 + keyboards/keyprez/rhino/rhino.h | 80 + keyboards/keyprez/rhino/rules.mk | 23 + .../twokey/keymaps/default/keymap.c | 56 +- keyboards/keysofkings/twokey/rules.mk | 2 +- .../kikoslab/kl90/keymaps/default/keymap.c | 59 +- keyboards/kikoslab/kl90/keymaps/via/keymap.c | 59 +- keyboards/kikoslab/kl90/rules.mk | 5 +- keyboards/kindakeyboards/conone65/rules.mk | 4 +- keyboards/kinesis/alvicstep/alvicstep.c | 17 - keyboards/kinesis/alvicstep/config.h | 3 +- keyboards/kinesis/config.h | 2 - keyboards/kinesis/keymaps/carpalx/rules.mk | 2 +- keyboards/kinesis/keymaps/default/keymap.c | 18 +- keyboards/kinesis/keymaps/default/rules.mk | 3 +- .../kinesis/keymaps/default_pretty/keymap.c | 18 +- .../kinesis/keymaps/default_pretty/rules.mk | 3 +- keyboards/kinesis/keymaps/dvorak/keymap.c | 2 +- keyboards/kinesis/keymaps/dvorak/rules.mk | 2 +- .../keymaps/insertsnideremarks/keymap.c | 38 +- .../keymaps/insertsnideremarks/rules.mk | 2 +- keyboards/kinesis/keymaps/jwon/keymap.c | 174 + keyboards/kinesis/keymaps/jwon/readme.md | 8 + keyboards/kinesis/keymaps/jwon/rules.mk | 3 + keyboards/kinesis/keymaps/milestogo/rules.mk | 2 +- keyboards/kinesis/keymaps/peott-fr/keymap.c | 28 + keyboards/kinesis/keymaps/stapelberg/keymap.c | 69 + .../kinesis/keymaps/stapelberg/readme.md | 27 + keyboards/kinesis/keymaps/stapelberg/rules.mk | 3 + .../kinesis/keymaps/tuesdayjohn/keymap.c | 40 +- .../kinesis/keymaps/tuesdayjohn/rules.mk | 2 +- keyboards/kinesis/keymaps/tw1t611/keymap.c | 12 +- keyboards/kinesis/keymaps/tw1t611/rules.mk | 2 +- keyboards/kinesis/keymaps/xyverz/rules.mk | 2 +- keyboards/kinesis/kinesis.h | 6 + keyboards/kinesis/kint2pp/config.h | 12 +- keyboards/kinesis/kint2pp/rules.mk | 3 + keyboards/kinesis/kint36/chconf.h | 28 + keyboards/kinesis/kint36/config.h | 72 + .../kinesis/kint36/keymaps/kzar/config.h | 19 + .../kinesis/kint36/keymaps/kzar/keymap.c | 405 ++ .../kinesis/kint36/keymaps/kzar/readme.md | 9 + .../kinesis/kint36/keymaps/kzar/rules.mk | 5 + keyboards/kinesis/kint36/kint36.c | 26 + keyboards/kinesis/kint36/kint36.h | 92 + keyboards/kinesis/kint36/mcuconf.h | 65 + keyboards/kinesis/kint36/readme.md | 3 + keyboards/kinesis/kint36/rules.mk | 6 + keyboards/kinesis/kint41/chconf.h | 33 + keyboards/kinesis/kint41/config.h | 105 + keyboards/kinesis/kint41/kint41.c | 52 + keyboards/kinesis/kint41/kint41.h | 92 + keyboards/kinesis/kint41/mcuconf.h | 22 + keyboards/kinesis/kint41/readme.md | 3 + keyboards/kinesis/kint41/rules.mk | 12 + keyboards/kinesis/nguyenvietyen/config.h | 2 +- keyboards/kinesis/nguyenvietyen/rules.mk | 2 +- keyboards/kinesis/rules.mk | 10 +- keyboards/kinesis/stapelberg/config.h | 1 + keyboards/kineticlabs/emu/hotswap/config.h | 42 + keyboards/kineticlabs/emu/hotswap/hotswap.c | 17 + keyboards/kineticlabs/emu/hotswap/hotswap.h | 37 + keyboards/kineticlabs/emu/hotswap/info.json | 100 + .../emu/hotswap/keymaps/default/keymap.c | 37 + .../emu/hotswap/keymaps/via/keymap.c | 55 + .../emu/hotswap/keymaps/via/rules.mk | 2 + keyboards/kineticlabs/emu/hotswap/readme.md | 21 + keyboards/kineticlabs/emu/hotswap/rules.mk | 24 + keyboards/kineticlabs/emu/soldered/config.h | 42 + keyboards/kineticlabs/emu/soldered/info.json | 282 ++ .../emu/soldered/keymaps/default/keymap.c | 37 + .../emu/soldered/keymaps/via/keymap.c | 55 + .../emu/soldered/keymaps/via/rules.mk | 2 + .../emu/soldered/keymaps/wkl/keymap.c | 37 + keyboards/kineticlabs/emu/soldered/readme.md | 21 + keyboards/kineticlabs/emu/soldered/rules.mk | 24 + keyboards/kineticlabs/emu/soldered/soldered.c | 17 + keyboards/kineticlabs/emu/soldered/soldered.h | 69 + keyboards/kingly_keys/ave/config.h | 6 + .../ave/ortho/keymaps/default/config.h | 12 - .../ave/ortho/keymaps/default/keymap.c | 3 +- keyboards/kingly_keys/ave/ortho/rules.mk | 2 +- .../ave/staggered/keymaps/default/config.h | 12 - .../ave/staggered/keymaps/default/keymap.c | 3 +- keyboards/kingly_keys/ave/staggered/rules.mk | 2 +- keyboards/kingly_keys/little_foot/rules.mk | 9 +- .../romac/keymaps/boss566y/keymap.c | 4 +- .../romac/keymaps/boss566y/rules.mk | 3 +- keyboards/kingly_keys/romac/rules.mk | 9 +- .../romac_plus/keymaps/default/keymap.c | 4 +- keyboards/kingly_keys/romac_plus/rules.mk | 13 +- .../ropro/keymaps/default/keymap.c | 7 +- .../ropro/keymaps/jdayton3/keymap.c | 3 +- keyboards/kingly_keys/ropro/rules.mk | 10 +- keyboards/kingly_keys/smd_milk/rules.mk | 9 +- .../kingly_keys/soap/keymaps/default/keymap.c | 7 +- keyboards/kingly_keys/soap/rules.mk | 10 +- keyboards/kira75/config.h | 20 - keyboards/kira75/keymaps/default/keymap.c | 16 - keyboards/kira75/kira75.c | 27 - keyboards/kira75/rules.mk | 10 +- keyboards/kira80/config.h | 2 +- keyboards/kira80/keymaps/ansi/keymap.c | 2 +- keyboards/kira80/keymaps/ansi_wkl/keymap.c | 2 +- keyboards/kira80/keymaps/default/keymap.c | 2 +- keyboards/kira80/keymaps/iso/keymap.c | 2 +- keyboards/kira80/keymaps/via/keymap.c | 2 +- keyboards/kira80/kira80.c | 2 +- keyboards/kira80/kira80.h | 2 +- keyboards/kira80/rules.mk | 11 +- keyboards/kiwikeebs/macro/config.h | 2 +- keyboards/kiwikeebs/macro/info.json | 2 +- .../kiwikeebs/macro/keymaps/default/keymap.c | 20 +- .../kiwikeebs/macro/keymaps/via/keymap.c | 34 + .../kiwikeebs/macro/keymaps/via/rules.mk | 1 + keyboards/kiwikeebs/macro/macro.c | 6 +- keyboards/kiwikeebs/macro/readme.md | 19 + keyboards/kiwikeebs/macro/rules.mk | 4 +- keyboards/kiwikeebs/macro_v2/config.h | 108 + keyboards/kiwikeebs/macro_v2/info.json | 19 + .../macro_v2/keymaps/default/keymap.c | 44 + .../kiwikeebs/macro_v2/keymaps/via/keymap.c | 34 + .../kiwikeebs/macro_v2/keymaps/via/rules.mk | 1 + keyboards/kiwikeebs/macro_v2/macro_v2.c | 29 + keyboards/kiwikeebs/macro_v2/macro_v2.h | 35 + keyboards/kiwikeebs/macro_v2/readme.md | 19 + keyboards/kiwikeebs/macro_v2/rules.mk | 21 + keyboards/kiwikeebs/readme.md | 19 - keyboards/kiwikey/kawii9/keymaps/via/keymap.c | 39 + keyboards/kiwikey/kawii9/keymaps/via/rules.mk | 1 + keyboards/kiwikey/kawii9/rules.mk | 5 +- keyboards/kiwikey/wanderland/config.h | 146 + keyboards/kiwikey/wanderland/info.json | 150 + .../wanderland/keymaps/default/keymap.c | 39 + .../wanderland/keymaps/default/readme.md | 3 + .../wanderland/keymaps/stanrc85/config.h | 18 + .../wanderland/keymaps/stanrc85/keymap.c | 85 + .../wanderland/keymaps/stanrc85/rules.mk | 2 + .../kiwikey/wanderland/keymaps/via/keymap.c | 47 + .../kiwikey/wanderland/keymaps/via/readme.md | 3 + .../kiwikey/wanderland/keymaps/via/rules.mk | 1 + keyboards/kiwikey/wanderland/readme.md | 17 + keyboards/kiwikey/wanderland/rules.mk | 22 + keyboards/kiwikey/wanderland/wanderland.c | 17 + keyboards/kiwikey/wanderland/wanderland.h | 77 + keyboards/kmac/config.h | 22 +- keyboards/kmac/keymaps/default/keymap.c | 6 - .../kmac/keymaps/default_tkl_ansi/keymap.c | 6 - .../keymaps/default_tkl_ansi_wkl/keymap.c | 6 - keyboards/kmac/rules.mk | 10 +- keyboards/kmac_pad/config.h | 102 + keyboards/kmac_pad/info.json | 35 + keyboards/kmac_pad/keymaps/default/keymap.c | 143 + keyboards/kmac_pad/keymaps/default/readme.md | 61 + keyboards/kmac_pad/kmac_pad.c | 29 + keyboards/kmac_pad/kmac_pad.h | 37 + keyboards/kmac_pad/matrix.c | 111 + keyboards/kmac_pad/readme.md | 56 + keyboards/kmac_pad/rules.mk | 29 + keyboards/kmini/keymaps/default/keymap.c | 13 +- keyboards/kmini/kmini.c | 25 - keyboards/kmini/rules.mk | 10 +- .../keymaps/{ortho => default}/keymap.c | 0 .../keymaps/{ortho => default}/readme.md | 0 .../knobgoblin/keymaps/moults31/keymap.c | 170 + .../knobgoblin/keymaps/moults31/readme.md | 3 + .../knobgoblin/keymaps/moults31/rules.mk | 3 + keyboards/knobgoblin/keymaps/via/keymap.c | 8 +- keyboards/knobgoblin/knobgoblin.c | 57 +- keyboards/knobgoblin/rules.mk | 5 +- keyboards/knops/mini/config.h | 20 - .../mini/keymaps/default-gsm-newbs/keymap.c | 42 +- keyboards/knops/mini/keymaps/default/keymap.c | 108 +- keyboards/knops/mini/keymaps/knops/keymap.c | 14 +- .../knops/mini/keymaps/mverteuil/keymap.c | 4 +- keyboards/knops/mini/mini.c | 28 - keyboards/knops/mini/rules.mk | 10 +- keyboards/kona_classic/config.h | 20 - keyboards/kona_classic/keymaps/ansi/keymap.c | 12 - keyboards/kona_classic/keymaps/ansi/rules.mk | 3 +- .../kona_classic/keymaps/ansi_arrows/keymap.c | 12 - .../kona_classic/keymaps/ansi_arrows/rules.mk | 3 +- .../keymaps/ansi_arrows_lcap/keymap.c | 12 - .../keymaps/ansi_arrows_lcap/rules.mk | 3 +- .../kona_classic/keymaps/ansi_split/keymap.c | 12 - .../kona_classic/keymaps/ansi_split/rules.mk | 3 +- .../keymaps/ansi_split_arrows/keymap.c | 12 - .../keymaps/ansi_split_arrows/rules.mk | 3 +- .../kona_classic/keymaps/default/keymap.c | 12 - .../kona_classic/keymaps/default/rules.mk | 3 +- keyboards/kona_classic/keymaps/iso/keymap.c | 12 - keyboards/kona_classic/keymaps/iso/rules.mk | 3 +- .../kona_classic/keymaps/iso_arrows/keymap.c | 12 - .../kona_classic/keymaps/iso_arrows/rules.mk | 3 +- .../kona_classic/keymaps/iso_split/keymap.c | 12 - .../kona_classic/keymaps/iso_split/rules.mk | 3 +- .../keymaps/iso_split_arrows/keymap.c | 12 - .../keymaps/iso_split_arrows/rules.mk | 3 +- keyboards/kona_classic/rules.mk | 10 +- keyboards/kopibeng/xt65/config.h | 108 + keyboards/kopibeng/xt65/info.json | 240 + .../kopibeng/xt65/keymaps/default/keymap.c | 48 + keyboards/kopibeng/xt65/keymaps/via/keymap.c | 57 + keyboards/kopibeng/xt65/keymaps/via/rules.mk | 1 + keyboards/kopibeng/xt65/readme.md | 17 + keyboards/kopibeng/xt65/rules.mk | 22 + keyboards/kopibeng/xt65/xt65.c | 17 + keyboards/kopibeng/xt65/xt65.h | 65 + keyboards/kprepublic/bm16a/bm16a.c | 16 + keyboards/{ => kprepublic}/bm16a/bm16a.h | 0 keyboards/kprepublic/bm16a/config.h | 194 + keyboards/{ => kprepublic}/bm16a/info.json | 0 .../bm16a/keymaps/default/config.h | 0 .../bm16a/keymaps/default/keymap.c | 0 .../bm16a/keymaps/default/readme.md | 0 .../bm16a/keymaps/factory/keymap.c | 0 .../bm16a/keymaps/factory/readme.md | 0 .../bm16a/keymaps/via/keymap.c | 0 .../bm16a/keymaps/via/readme.md | 0 .../kprepublic/bm16a/keymaps/via/rules.mk | 2 + keyboards/kprepublic/bm16a/readme.md | 15 + keyboards/kprepublic/bm16a/rules.mk | 25 + keyboards/{ => kprepublic}/bm16s/bm16s.h | 0 keyboards/{ => kprepublic}/bm16s/config.h | 0 keyboards/{ => kprepublic}/bm16s/info.json | 0 .../bm16s/keymaps/default/keymap.c | 0 .../bm16s/keymaps/media/keymap.c | 0 .../bm16s/keymaps/via/keymap.c | 0 .../bm16s/keymaps/via/readme.md | 0 .../kprepublic/bm16s/keymaps/via/rules.mk | 2 + keyboards/kprepublic/bm16s/readme.md | 13 + keyboards/kprepublic/bm16s/rules.mk | 21 + .../{ => kprepublic}/bm40hsrgb/bm40hsrgb.c | 11 + .../{ => kprepublic}/bm40hsrgb/bm40hsrgb.h | 0 keyboards/kprepublic/bm40hsrgb/config.h | 57 + .../{ => kprepublic}/bm40hsrgb/info.json | 0 .../bm40hsrgb/keymaps/default/keymap.c | 0 .../bm40hsrgb/keymaps/default/readme.md | 0 .../bm40hsrgb/keymaps/gabustoledo/config.h | 91 + .../bm40hsrgb/keymaps/gabustoledo/keymap.c | 125 + .../bm40hsrgb/keymaps/gabustoledo/readme.md | 47 + .../bm40hsrgb/keymaps/gabustoledo/rules.mk | 5 + .../bm40hsrgb/keymaps/signynt/config.h | 0 .../bm40hsrgb/keymaps/signynt/keymap.c | 0 .../bm40hsrgb/keymaps/signynt/readme.md | 0 .../bm40hsrgb/keymaps/signynt/rules.mk | 7 + .../bm40hsrgb/keymaps/signynt_2_loud/config.h | 0 .../bm40hsrgb/keymaps/signynt_2_loud/keymap.c | 0 .../keymaps/signynt_2_loud/readme.md | 0 .../bm40hsrgb/keymaps/signynt_2_loud/rules.mk | 7 + .../keymaps/signynt_2_quiet/config.h | 0 .../keymaps/signynt_2_quiet/keymap.c | 0 .../keymaps/signynt_2_quiet/readme.md | 0 .../keymaps/signynt_2_quiet/rules.mk | 7 + .../bm40hsrgb/keymaps/via/keymap.c | 0 .../bm40hsrgb/keymaps/via/readme.md | 0 .../kprepublic/bm40hsrgb/keymaps/via/rules.mk | 2 + keyboards/kprepublic/bm40hsrgb/readme.md | 21 + keyboards/kprepublic/bm40hsrgb/rules.mk | 26 + keyboards/kprepublic/bm43a/bm43a.c | 16 + keyboards/{ => kprepublic}/bm43a/bm43a.h | 0 keyboards/kprepublic/bm43a/config.h | 75 + keyboards/{ => kprepublic}/bm43a/info.json | 0 .../bm43a/keymaps/default/config.h | 0 .../bm43a/keymaps/default/keymap.c | 0 .../bm43a/keymaps/default/readme.md | 0 .../bm43a/keymaps/stevexyz/keymap.c | 0 .../bm43a/keymaps/stevexyz/readme.md | 25 + .../bm43a/keymaps/stevexyz/rules.mk | 8 + keyboards/kprepublic/bm43a/readme.md | 15 + keyboards/kprepublic/bm43a/rules.mk | 23 + .../{ => kprepublic}/bm60poker/bm60poker.c | 0 .../{ => kprepublic}/bm60poker/bm60poker.h | 0 keyboards/kprepublic/bm60poker/config.h | 73 + .../{ => kprepublic}/bm60poker/info.json | 0 .../bm60poker/keymaps/default/keymap.c | 0 .../bm60poker/keymaps/ipetepete/keymap.c | 0 .../bm60poker/keymaps/ipetepete/readme.md | 0 .../bm60poker/keymaps/ipetepete/rules.mk | 0 .../bm60poker/keymaps/via/keymap.c | 0 .../kprepublic/bm60poker/keymaps/via/rules.mk | 2 + keyboards/kprepublic/bm60poker/readme.md | 13 + keyboards/kprepublic/bm60poker/rules.mk | 25 + keyboards/{ => kprepublic}/bm60rgb/bm60rgb.c | 27 - keyboards/{ => kprepublic}/bm60rgb/bm60rgb.h | 2 +- keyboards/kprepublic/bm60rgb/config.h | 62 + keyboards/kprepublic/bm60rgb/info.json | 81 + .../bm60rgb/keymaps/default/keymap.c | 34 + .../bm60rgb/keymaps/default/readme.md | 0 .../bm60rgb/keymaps/jbradforddillon/keymap.c | 0 .../bm60rgb/keymaps/jbradforddillon/readme.md | 0 .../kprepublic/bm60rgb/keymaps/via/keymap.c | 47 + .../bm60rgb/keymaps/via/readme.md | 0 .../kprepublic/bm60rgb/keymaps/via/rules.mk | 1 + keyboards/kprepublic/bm60rgb/readme.md | 13 + keyboards/kprepublic/bm60rgb/rules.mk | 31 + .../bm60rgb_iso/bm60rgb_iso.c | 0 .../bm60rgb_iso/bm60rgb_iso.h | 0 keyboards/kprepublic/bm60rgb_iso/config.h | 75 + keyboards/kprepublic/bm60rgb_iso/info.json | 77 + .../bm60rgb_iso/keymaps/default/keymap.c | 0 .../bm60rgb_iso/keymaps/default/readme.md | 0 .../keymaps/iso_nordic_sleepmode/config.h | 0 .../keymaps/iso_nordic_sleepmode/keymap.c | 0 .../keymaps/iso_nordic_sleepmode/readme.md | 0 keyboards/kprepublic/bm60rgb_iso/readme.md | 19 + keyboards/kprepublic/bm60rgb_iso/rules.mk | 25 + keyboards/kprepublic/bm65iso/bm65iso.c | 59 + keyboards/kprepublic/bm65iso/bm65iso.h | 34 + keyboards/kprepublic/bm65iso/config.h | 72 + keyboards/kprepublic/bm65iso/info.json | 85 + .../bm65iso/keymaps/deadolus/config.h | 27 + .../bm65iso/keymaps/deadolus/keymap.c | 283 ++ .../bm65iso/keymaps/deadolus/keymap.h | 63 + .../bm65iso/keymaps/deadolus/readme.md | 20 + .../bm65iso/keymaps/deadolus/rules.mk | 4 + .../bm65iso/keymaps/default/keymap.c | 36 + .../kprepublic/bm65iso/keymaps/via/keymap.c | 52 + .../kprepublic/bm65iso/keymaps/via/readme.md | 1 + .../kprepublic/bm65iso/keymaps/via/rules.mk | 1 + keyboards/kprepublic/bm65iso/readme.md | 24 + keyboards/kprepublic/bm65iso/rules.mk | 27 + keyboards/kprepublic/bm68rgb/bm68rgb.c | 44 + keyboards/{ => kprepublic}/bm68rgb/bm68rgb.h | 0 keyboards/kprepublic/bm68rgb/config.h | 126 + keyboards/{ => kprepublic}/bm68rgb/info.json | 0 .../bm68rgb/keymaps/default/keymap.c | 52 + .../bm68rgb/keymaps/default/readme.md | 0 .../bm68rgb/keymaps/peepeetee/config.h | 132 + .../bm68rgb/keymaps/peepeetee/keymap.c | 303 ++ .../bm68rgb/keymaps/peepeetee/keymap.h | 63 + .../bm68rgb/keymaps/peepeetee/readme.md | 1 + .../kprepublic/bm68rgb/keymaps/via/keymap.c | 55 + .../kprepublic/bm68rgb/keymaps/via/readme.md | 1 + .../kprepublic/bm68rgb/keymaps/via/rules.mk | 1 + keyboards/kprepublic/bm68rgb/readme.md | 24 + keyboards/kprepublic/bm68rgb/rules.mk | 27 + keyboards/kprepublic/cospad/config.h | 203 + keyboards/{ => kprepublic}/cospad/cospad.c | 0 keyboards/{ => kprepublic}/cospad/cospad.h | 31 + keyboards/kprepublic/cospad/info.json | 198 + .../cospad/keymaps/default/keymap.c | 0 .../kprepublic/cospad/keymaps/detrus/keymap.c | 367 ++ .../keymaps/split_plus_and_zero/keymap.c | 0 .../cospad/keymaps/split_zero/keymap.c | 0 .../cospad/keymaps/via/keymap.c | 0 .../kprepublic/cospad/keymaps/via/rules.mk | 1 + keyboards/kprepublic/cospad/readme.md | 18 + keyboards/kprepublic/cospad/rules.mk | 24 + keyboards/{ => kprepublic}/jj40/config.h | 0 keyboards/{ => kprepublic}/jj40/info.json | 0 keyboards/{ => kprepublic}/jj40/jj40.c | 0 keyboards/kprepublic/jj40/jj40.h | 66 + .../jj40/keymaps/ajp10304/readme.md | 119 + .../jj40/keymaps/cockpit/keymap.c | 0 .../jj40/keymaps/cockpit/readme.md | 0 .../jj40/keymaps/default/keymap.c | 0 .../jj40/keymaps/fun40/config.h | 0 .../jj40/keymaps/fun40/keymap.c | 0 .../jj40/keymaps/fun40/readme.md | 0 .../kprepublic/jj40/keymaps/fun40/rules.mk | 21 + .../jj40/keymaps/krusli/config.h | 0 .../jj40/keymaps/krusli/keymap.c | 0 .../jj40/keymaps/krusli/numpad.txt | 0 .../jj40/keymaps/krusli/readme.md | 0 .../jj40/keymaps/krusli/rules.mk | 0 .../jj40/keymaps/oscillope/config.h | 0 .../jj40/keymaps/oscillope/keymap.c | 0 .../jj40/keymaps/oscillope/rules.mk | 11 + .../jj40/keymaps/skewwhiffy/keymap.c | 219 + .../jj40/keymaps/stevexyz/config.h | 0 .../jj40/keymaps/stevexyz/keymap.c | 0 .../jj40/keymaps/stevexyz/readme.md | 0 .../kprepublic/jj40/keymaps/stevexyz/rules.mk | 19 + .../jj40/keymaps/suzuken/config.h | 0 .../jj40/keymaps/suzuken/keymap.c | 0 .../jj40/keymaps/via/keymap.c | 0 .../jj40/keymaps/via/rules.mk | 0 .../jj40/keymaps/waples/config.h | 0 .../jj40/keymaps/waples/keymap.c | 0 .../jj40/keymaps/waples/readme.md | 0 .../kprepublic/jj40/keymaps/waples/rules.mk | 10 + keyboards/kprepublic/jj40/readme.md | 21 + keyboards/kprepublic/jj40/rules.mk | 29 + keyboards/{ => kprepublic}/jj4x4/config.h | 0 keyboards/{ => kprepublic}/jj4x4/info.json | 0 keyboards/{ => kprepublic}/jj4x4/jj4x4.c | 0 keyboards/{ => kprepublic}/jj4x4/jj4x4.h | 0 .../jj4x4/keymaps/default/keymap.c | 0 .../jj4x4/keymaps/via/keymap.c | 0 .../kprepublic/jj4x4/keymaps/via/rules.mk | 1 + keyboards/kprepublic/jj4x4/readme.md | 39 + keyboards/kprepublic/jj4x4/rules.mk | 26 + keyboards/{ => kprepublic}/jj50/config.h | 0 keyboards/{ => kprepublic}/jj50/info.json | 0 keyboards/{ => kprepublic}/jj50/jj50.c | 0 keyboards/{ => kprepublic}/jj50/jj50.h | 0 .../jj50/keymaps/abstractkb/config.h | 0 .../jj50/keymaps/abstractkb/keymap.c | 135 + .../jj50/keymaps/abstractkb/readme.md | 0 .../keymaps/abstractkb_gergomatch/config.h | 0 .../keymaps/abstractkb_gergomatch/keymap.c | 135 + .../keymaps/abstractkb_gergomatch/readme.md | 0 .../jj50/keymaps/archetype/README.md | 0 .../jj50/keymaps/archetype/config.h | 0 .../jj50/keymaps/archetype/keymap.c | 0 .../jj50/keymaps/archetype/rules.mk | 0 .../jj50/keymaps/default/README.md | 0 .../jj50/keymaps/default/keymap.c | 0 .../jj50/keymaps/yoonbae81/config.h | 0 .../jj50/keymaps/yoonbae81/keymap.c | 0 .../jj50/keymaps/yoonbae81/rules.mk | 0 keyboards/kprepublic/jj50/readme.md | 21 + keyboards/kprepublic/jj50/rules.mk | 20 + keyboards/ktec/daisy/config.h | 202 + keyboards/{ => ktec}/daisy/daisy.c | 0 keyboards/{ => ktec}/daisy/daisy.h | 0 keyboards/{ => ktec}/daisy/info.json | 0 keyboards/ktec/daisy/keymaps/default/keymap.c | 83 + .../daisy/keymaps/default/readme.md | 0 keyboards/ktec/daisy/keymaps/via/keymap.c | 102 + .../{ => ktec}/daisy/keymaps/via/readme.md | 0 keyboards/ktec/daisy/keymaps/via/rules.mk | 1 + keyboards/ktec/daisy/readme.md | 15 + keyboards/ktec/daisy/rules.mk | 22 + keyboards/ktec/ergodone/config.h | 81 + keyboards/{ => ktec}/ergodone/ergodone.c | 0 keyboards/{ => ktec}/ergodone/ergodone.h | 3 - keyboards/{ => ktec}/ergodone/expander.c | 28 +- keyboards/{ => ktec}/ergodone/expander.h | 0 keyboards/{ => ktec}/ergodone/info.json | 0 .../{ => ktec}/ergodone/keymaps/art/keymap.c | 0 .../ktec/ergodone/keymaps/default/keymap.c | 193 + .../ergodone/keymaps/default/readme.md | 0 .../ergodone/keymaps/eozaki/keymap.c | 0 .../ergodone/keymaps/eozaki/readme.md | 0 .../ergodone/keymaps/erovia/config.h | 0 .../ktec/ergodone/keymaps/erovia/keymap.c | 229 + .../ergodone/keymaps/erovia/readme.md | 0 .../ergodone/keymaps/erovia/rules.mk | 0 .../ergodone/keymaps/kloki/keymap.c | 0 .../ergodone/keymaps/kloki/readme.md | 0 .../{ => ktec}/ergodone/keymaps/vega/keymap.c | 0 .../{ => ktec}/ergodone/keymaps/vega/rules.mk | 0 keyboards/ktec/ergodone/keymaps/via/config.h | 18 + keyboards/ktec/ergodone/keymaps/via/keymap.c | 196 + keyboards/ktec/ergodone/keymaps/via/readme.md | 5 + keyboards/ktec/ergodone/keymaps/via/rules.mk | 2 + keyboards/{ => ktec}/ergodone/matrix.c | 0 keyboards/ktec/ergodone/readme.md | 28 + keyboards/ktec/ergodone/rules.mk | 30 + .../{ => ktec}/staryu/backlight_staryu.h | 0 keyboards/{ => ktec}/staryu/config.h | 0 keyboards/{ => ktec}/staryu/info.json | 0 .../staryu/keymaps/default/README.md | 0 .../staryu/keymaps/default/keymap.c | 0 .../staryu/keymaps/default}/rules.mk | 0 .../staryu/keymaps/krusli/README.md | 0 .../{ => ktec}/staryu/keymaps/krusli/keymap.c | 0 keyboards/ktec/staryu/readme.md | 15 + keyboards/ktec/staryu/rules.mk | 23 + keyboards/{ => ktec}/staryu/staryu.c | 0 keyboards/{ => ktec}/staryu/staryu.h | 0 keyboards/kudox/rev1/rev1.c | 21 - keyboards/kudox/rules.mk | 10 +- keyboards/kudox_game/rev1/rev1.c | 21 - keyboards/kudox_game/rules.mk | 10 +- keyboards/kv/revt/rules.mk | 6 +- keyboards/kwub/bloop/bloop.c | 17 + keyboards/kwub/bloop/bloop.h | 76 + keyboards/kwub/bloop/config.h | 63 + keyboards/kwub/bloop/info.json | 45 + keyboards/kwub/bloop/keymaps/crispyy/keymap.c | 39 + keyboards/kwub/bloop/keymaps/default/keymap.c | 39 + .../kwub/bloop/keymaps/default/readme.md | 1 + .../kwub/bloop/keymaps/kevin_hhkb/keymap.c | 39 + keyboards/kwub/bloop/keymaps/via/keymap.c | 55 + keyboards/kwub/bloop/keymaps/via/readme.md | 1 + keyboards/kwub/bloop/keymaps/via/rules.mk | 1 + keyboards/kwub/bloop/readme.md | 24 + keyboards/kwub/bloop/rules.mk | 22 + keyboards/ky01/config.h | 146 + keyboards/ky01/info.json | 102 + keyboards/ky01/keymaps/default/keymap.c | 41 + keyboards/ky01/keymaps/via/keymap.c | 60 + keyboards/ky01/keymaps/via/rules.mk | 2 + keyboards/ky01/ky01.c | 17 + keyboards/ky01/ky01.h | 38 + keyboards/ky01/readme.md | 22 + keyboards/ky01/rules.mk | 22 + keyboards/kyria/keymaps/asapjockey/config.h | 47 - keyboards/kyria/keymaps/asapjockey/keymap.c | 312 -- keyboards/kyria/keymaps/asapjockey/rules.mk | 5 - keyboards/kyria/keymaps/benji/config.h | 34 - keyboards/kyria/keymaps/benji/keymap.c | 246 - keyboards/kyria/keymaps/benji/rules.mk | 3 - keyboards/kyria/keymaps/cjuniet/config.h | 37 - keyboards/kyria/keymaps/cjuniet/rules.mk | 6 - keyboards/kyria/keymaps/corodiak/config.h | 45 - keyboards/kyria/keymaps/corodiak/rules.mk | 4 - keyboards/kyria/keymaps/cwebster2/config.h | 55 - keyboards/kyria/keymaps/cwebster2/keymap.c | 397 -- keyboards/kyria/keymaps/cwebster2/rules.mk | 5 - keyboards/kyria/keymaps/default/config.h | 33 - keyboards/kyria/keymaps/default/keymap.c | 219 - keyboards/kyria/keymaps/default/rules.mk | 3 - keyboards/kyria/keymaps/drashna/config.h | 36 - keyboards/kyria/keymaps/drashna/keymap.c | 237 - keyboards/kyria/keymaps/drashna/rules.mk | 21 - keyboards/kyria/keymaps/ghidalgo93/config.h | 41 - keyboards/kyria/keymaps/ghidalgo93/keymap.c | 245 - keyboards/kyria/keymaps/ghidalgo93/rules.mk | 4 - keyboards/kyria/keymaps/gotham/config.h | 48 - keyboards/kyria/keymaps/gotham/keymap.c | 126 - keyboards/kyria/keymaps/gotham/rules.mk | 21 - keyboards/kyria/keymaps/j-inc/config.h | 45 - keyboards/kyria/keymaps/j-inc/keymap.c | 369 -- keyboards/kyria/keymaps/j-inc/rules.mk | 18 - keyboards/kyria/keymaps/jhelvy/config.h | 33 - keyboards/kyria/keymaps/jhelvy/keymap.c | 201 - keyboards/kyria/keymaps/jhelvy/rules.mk | 8 - keyboards/kyria/keymaps/kejadlen/config.h | 47 - keyboards/kyria/keymaps/kejadlen/rules.mk | 5 - keyboards/kyria/keymaps/mattir/config.h | 55 - keyboards/kyria/keymaps/mattir/keymap.c | 291 -- keyboards/kyria/keymaps/mattir/rules.mk | 4 - keyboards/kyria/keymaps/mattir2/rules.mk | 4 - keyboards/kyria/keymaps/ninjonas/config.h | 37 - keyboards/kyria/keymaps/ninjonas/oled.c | 209 - keyboards/kyria/keymaps/ninjonas/rules.mk | 6 - keyboards/kyria/keymaps/pierrec83/config.h | 65 - keyboards/kyria/keymaps/pierrec83/rules.mk | 5 - keyboards/kyria/keymaps/plattfot/README.md | 168 - keyboards/kyria/keymaps/plattfot/config.h | 40 - keyboards/kyria/keymaps/plattfot/keymap.c | 436 -- keyboards/kyria/keymaps/plattfot/rules.mk | 5 - keyboards/kyria/keymaps/rmw/config.h | 36 - keyboards/kyria/keymaps/rmw/keymap.c | 199 - keyboards/kyria/keymaps/rmw/rules.mk | 4 - keyboards/kyria/keymaps/shinze/config.h | 32 - keyboards/kyria/keymaps/shinze/keymap.c | 247 - keyboards/kyria/keymaps/shinze/rules.mk | 3 - keyboards/kyria/keymaps/tessachka/config.h | 29 - keyboards/kyria/keymaps/tessachka/keymap.c | 241 - keyboards/kyria/keymaps/tessachka/rules.mk | 3 - keyboards/kyria/keymaps/thomasbaart/config.h | 47 - keyboards/kyria/keymaps/thomasbaart/keymap.c | 358 -- keyboards/kyria/keymaps/thomasbaart/rules.mk | 5 - keyboards/kyria/keymaps/winternebs/config.h | 31 - keyboards/kyria/keymaps/winternebs/keymap.c | 725 --- keyboards/kyria/keymaps/winternebs/rules.mk | 12 - keyboards/kyria/kyria.h | 82 - keyboards/kyria/readme.md | 21 - keyboards/kyria/rev1/config.h | 64 - keyboards/kyria/rev1/rev1.c | 17 - keyboards/kyria/rev1/rev1.h | 43 - keyboards/kyria/rev1/rules.mk | 3 - keyboards/kyria/rules.mk | 34 - keyboards/labyrinth75/rules.mk | 2 +- keyboards/laptreus/laptreus.h | 15 - keyboards/laptreus/rules.mk | 10 +- keyboards/latin17rgb/config.h | 32 +- keyboards/latin17rgb/latin17rgb.c | 2 +- keyboards/latin17rgb/rules.mk | 2 +- keyboards/latin47ble/rules.mk | 2 +- keyboards/latin60rgb/config.h | 79 + keyboards/latin60rgb/info.json | 73 + keyboards/latin60rgb/keymaps/default/keymap.c | 40 + keyboards/latin60rgb/keymaps/via/keymap.c | 40 + keyboards/latin60rgb/keymaps/via/rules.mk | 2 + keyboards/latin60rgb/latin60rgb.c | 124 + keyboards/latin60rgb/latin60rgb.h | 34 + keyboards/latin60rgb/readme.md | 14 + keyboards/latin60rgb/rules.mk | 25 + keyboards/latin64ble/rules.mk | 2 +- keyboards/latin6rgb/config.h | 106 + keyboards/latin6rgb/info.json | 19 + keyboards/latin6rgb/keymaps/default/keymap.c | 28 + keyboards/latin6rgb/keymaps/via/keymap.c | 28 + keyboards/latin6rgb/keymaps/via/rules.mk | 2 + keyboards/latin6rgb/latin6rgb.c | 49 + keyboards/latin6rgb/latin6rgb.h | 30 + keyboards/latin6rgb/readme.md | 14 + keyboards/latin6rgb/rules.mk | 29 + keyboards/latinpad/config.h | 6 - keyboards/latinpad/keymaps/default/keymap.c | 9 +- keyboards/latinpad/keymaps/via/keymap.c | 9 +- keyboards/latinpad/keymaps/via/rules.mk | 1 + keyboards/latinpad/rules.mk | 12 +- keyboards/latinpadble/info.json | 8 +- .../latinpadble/keymaps/default/keymap.c | 41 +- keyboards/latinpadble/keymaps/via/keymap.c | 43 +- keyboards/latinpadble/rules.mk | 36 +- keyboards/lattice60/rules.mk | 12 +- .../launchpad/keymaps/brandonschlack/rules.mk | 2 +- keyboards/launchpad/keymaps/default/keymap.c | 4 - keyboards/launchpad/keymaps/drashna/rules.mk | 2 +- keyboards/launchpad/rev1/rev1.c | 8 - keyboards/launchpad/rules.mk | 11 +- .../bolt/{ => keymaps}/via/keymap.c | 0 .../lazydesigners/bolt/keymaps/via/rules.mk | 2 + keyboards/lazydesigners/bolt/rules.mk | 2 +- keyboards/lazydesigners/cassette8/cassette8.c | 17 + keyboards/lazydesigners/cassette8/cassette8.h | 28 + keyboards/lazydesigners/cassette8/config.h | 58 + keyboards/lazydesigners/cassette8/info.json | 21 + .../cassette8/keymaps/default/keymap.c | 34 + .../cassette8/keymaps/via/keymap.c | 34 + .../cassette8/keymaps/via/rules.mk | 2 + keyboards/lazydesigners/cassette8/readme.md | 21 + keyboards/lazydesigners/cassette8/rules.mk | 22 + keyboards/lazydesigners/dimple/rules.mk | 9 +- keyboards/lazydesigners/dimpleplus/rules.mk | 2 +- keyboards/lazydesigners/the30/rules.mk | 10 +- keyboards/lazydesigners/the40/info.json | 66 +- .../the40/keymaps/ortho/keymap.c | 41 + .../lazydesigners/the40/keymaps/via/keymap.c | 40 +- keyboards/lazydesigners/the40/readme.md | 9 +- keyboards/lazydesigners/the40/rules.mk | 2 +- keyboards/lazydesigners/the40/the40.h | 24 +- keyboards/lazydesigners/the50/rules.mk | 9 +- keyboards/lazydesigners/the60/config.h | 37 - keyboards/lazydesigners/the60/info.json | 79 - keyboards/lazydesigners/the60/readme.md | 19 +- keyboards/lazydesigners/the60/rev1/config.h | 37 + keyboards/lazydesigners/the60/rev1/info.json | 79 + .../the60/{ => rev1}/keymaps/default/keymap.c | 0 .../{ => rev1}/keymaps/default/readme.md | 0 keyboards/lazydesigners/the60/rev1/readme.md | 18 + keyboards/lazydesigners/the60/rev1/rev1.c | 2 + .../the60/{the60.h => rev1/rev1.h} | 0 keyboards/lazydesigners/the60/rev1/rules.mk | 17 + keyboards/lazydesigners/the60/rev2/config.h | 51 + keyboards/lazydesigners/the60/rev2/info.json | 471 ++ .../the60/rev2/keymaps/default/keymap.c | 49 + .../the60/rev2/keymaps/via/keymap.c | 49 + .../the60/rev2/keymaps/via/rules.mk | 2 + keyboards/lazydesigners/the60/rev2/readme.md | 21 + keyboards/lazydesigners/the60/rev2/rev2.c | 1 + keyboards/lazydesigners/the60/rev2/rev2.h | 125 + keyboards/lazydesigners/the60/rev2/rules.mk | 22 + keyboards/lazydesigners/the60/rules.mk | 24 - keyboards/lazydesigners/the60/the60.c | 2 - keyboards/lck75/keymaps/via/keymap.c | 53 + keyboards/lck75/keymaps/via/rules.mk | 2 + keyboards/lck75/lck75.c | 16 +- keyboards/lck75/rules.mk | 10 +- keyboards/le_chiffre/config.h | 2 +- keyboards/le_chiffre/keymaps/default/keymap.c | 5 +- keyboards/le_chiffre/keymaps/via/keymap.c | 5 +- keyboards/le_chiffre/le_chiffre.c | 2 + keyboards/le_chiffre/rules.mk | 11 +- .../bigknob/keymaps/default/keymap.c | 39 +- keyboards/leafcutterlabs/bigknob/rules.mk | 2 +- .../leeku/finger65/keymaps/madhatter/keymap.c | 2 +- keyboards/leeku/finger65/rules.mk | 12 +- .../keymaps/DE_programming/keymap.c | 6 +- .../lets_split/keymaps/DE_simple/keymap.c | 4 +- .../lets_split/keymaps/OLED_sample/rules.mk | 2 +- .../lets_split/keymaps/bbaserdem/keymap.c | 1 - .../keymaps/bbaserdem_right/rules.mk | 4 +- .../lets_split/keymaps/cpeters1982/keymap.c | 2 +- .../keymaps/heartrobotninja/rules.mk | 2 +- keyboards/lets_split/keymaps/mjt/rules.mk | 2 +- keyboards/lets_split/keymaps/mtdjr/config.h | 43 - keyboards/lets_split/keymaps/mtdjr/keymap.c | 55 - keyboards/lets_split/keymaps/mtdjr/rules.mk | 2 - keyboards/lets_split/keymaps/piemod/rules.mk | 2 +- keyboards/lets_split/keymaps/pyrol/rules.mk | 2 +- keyboards/lets_split/keymaps/via/config.h | 2 + keyboards/lets_split/keymaps/xk/rules.mk | 2 +- keyboards/lets_split/lets_split.c | 2 +- keyboards/lets_split/lets_split.h | 17 - keyboards/lets_split/rev1/rev1.c | 14 - keyboards/lets_split/rev2/rev2.c | 22 - keyboards/lets_split/rules.mk | 10 +- keyboards/lets_split/sockets/config.h | 5 - keyboards/lets_split/sockets/sockets.c | 21 - .../keymaps/mikethetiger/keymap.c | 4 +- keyboards/lets_split_eh/lets_split_eh.c | 2 +- keyboards/lets_split_eh/lets_split_eh.h | 17 - keyboards/lets_split_eh/rules.mk | 11 +- .../lfk65_hs/keymaps/default/keymap.c | 20 +- keyboards/lfkeyboards/lfk65_hs/lfk65_hs.c | 11 - keyboards/lfkeyboards/lfk65_hs/lfk65_hs.h | 15 - keyboards/lfkeyboards/lfk78/config.h | 20 - .../lfk78/keymaps/ca178858/keymap.c | 10 +- .../lfk78/keymaps/ca178858/rules.mk | 2 +- keyboards/lfkeyboards/lfk78/rules.mk | 10 +- .../lfk87/keymaps/ca178858/keymap.c | 14 +- .../lfk87/keymaps/ca178858/rules.mk | 2 +- .../lfk87/keymaps/default/keymap.c | 24 +- .../lfk87/keymaps/default/rules.mk | 3 +- .../lfkeyboards/lfk87/keymaps/gbchk/keymap.c | 12 +- .../lfkeyboards/lfk87/keymaps/gbchk/rules.mk | 2 +- .../lfkeyboards/lfk87/keymaps/iso/keymap.c | 20 +- .../lfkeyboards/lfk87/keymaps/iso/rules.mk | 3 +- keyboards/lfkeyboards/lfk87/lfk87.c | 4 +- keyboards/lfkeyboards/lfk87/lfk87.h | 14 - keyboards/lfkeyboards/lfk87/rules.mk | 3 +- keyboards/lfkeyboards/lfkpad/config.h | 20 - .../lfkpad/keymaps/pascalpfeil/config.h | 30 + .../lfkpad/keymaps/pascalpfeil/keymap.c | 73 + .../lfkpad/keymaps/pascalpfeil/rules.mk | 2 + keyboards/lfkeyboards/lfkpad/lfkpad.c | 102 - keyboards/lfkeyboards/lfkpad/lfkpad.h | 36 - keyboards/lfkeyboards/lfkpad/rules.mk | 12 +- .../mini1800/keymaps/ca178858/keymap.c | 10 +- .../mini1800/keymaps/ca178858/rules.mk | 2 +- .../mini1800/keymaps/default/keymap.c | 22 +- .../mini1800/keymaps/default/rules.mk | 3 +- keyboards/lfkeyboards/mini1800/mini1800.c | 4 +- keyboards/lfkeyboards/mini1800/mini1800.h | 14 - .../smk65/keymaps/default/keymap.c | 4 +- .../lfkeyboards/smk65/keymaps/iso/keymap.c | 4 +- keyboards/lfkeyboards/smk65/revb/revb.c | 8 +- keyboards/lfkeyboards/smk65/revb/revb.h | 16 - keyboards/lfkeyboards/smk65/rules.mk | 2 +- keyboards/lily58/keymaps/barabas/keymap.c | 8 +- keyboards/lily58/keymaps/bcat/config.h | 16 + keyboards/lily58/keymaps/bcat/keymap.c | 9 +- keyboards/lily58/keymaps/chuan/keymap.c | 7 +- keyboards/lily58/keymaps/curry/rules.mk | 4 +- keyboards/lily58/keymaps/cykedev/keymap.c | 4 +- keyboards/lily58/keymaps/cykedev/rules.mk | 4 +- keyboards/lily58/keymaps/datadavd/config.h | 53 + keyboards/lily58/keymaps/datadavd/keymap.c | 266 + keyboards/lily58/keymaps/datadavd/rules.mk | 6 + keyboards/lily58/keymaps/default/keymap.c | 8 +- keyboards/lily58/keymaps/default/rules.mk | 7 +- keyboards/lily58/keymaps/domnantas/keymap.c | 4 +- keyboards/lily58/keymaps/drasbeck/keymap.c | 13 +- keyboards/lily58/keymaps/drasbeck/rules.mk | 5 +- keyboards/lily58/keymaps/gaston/config.h | 26 + keyboards/lily58/keymaps/gaston/keymap.c | 58 + keyboards/lily58/keymaps/gaston/readme.md | 67 + keyboards/lily58/keymaps/gaston/rules.mk | 9 + keyboards/lily58/keymaps/lily58l/keymap.c | 9 +- .../keymaps/manna-harbour_miryoku/config.h | 23 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + .../lily58/keymaps/mikefightsbears/keymap.c | 12 +- .../lily58/keymaps/mikefightsbears/rules.mk | 4 +- keyboards/lily58/keymaps/muuko/keymap.c | 2 +- keyboards/lily58/keymaps/muuko/rules.mk | 3 +- keyboards/lily58/keymaps/narze/config.h | 58 + keyboards/lily58/keymaps/narze/keymap.c | 467 ++ keyboards/lily58/keymaps/narze/readme.md | 13 + keyboards/lily58/keymaps/narze/rules.mk | 13 + keyboards/lily58/keymaps/ninjonas/rules.mk | 3 +- keyboards/lily58/keymaps/via/keymap.c | 6 +- keyboards/lily58/keymaps/via/rules.mk | 3 +- keyboards/lily58/keymaps/yshrsmz/keymap.c | 8 +- keyboards/lily58/keymaps/yshrsmz/rules.mk | 2 +- keyboards/lily58/keymaps/yuchi/keymap.c | 8 +- keyboards/lily58/keymaps/yuchi/rules.mk | 4 +- keyboards/lily58/lily58.c | 4 - keyboards/lily58/rev1/config.h | 2 + keyboards/lily58/rev1/matrix.c | 357 -- keyboards/lily58/rev1/rev1.c | 7 - keyboards/lily58/rev1/serial_config.h | 4 - keyboards/lily58/rev1/split_util.c | 100 - keyboards/lily58/rules.mk | 13 +- keyboards/lily58/serial.c | 589 --- keyboards/linworks/fave87/config.h | 55 + keyboards/linworks/fave87/fave87.c | 16 + keyboards/linworks/fave87/fave87.h | 129 + keyboards/linworks/fave87/info.json | 501 ++ .../linworks/fave87/keymaps/default/keymap.c | 35 + .../linworks/fave87/keymaps/via/keymap.c | 35 + .../linworks/fave87/keymaps/via/rules.mk | 1 + keyboards/linworks/fave87/readme.md | 18 + keyboards/linworks/fave87/rules.mk | 22 + keyboards/linworks/whale75/info.json | 804 +-- .../linworks/whale75/keymaps/default/keymap.c | 19 +- .../linworks/whale75/keymaps/via/keymap.c | 39 +- keyboards/linworks/whale75/rules.mk | 7 +- keyboards/linworks/whale75/whale75.c | 26 + keyboards/linworks/whale75/whale75.h | 143 +- keyboards/littlealby/mute/rules.mk | 2 +- .../lizard_trick/tenkey_plusplus/config.h | 2 +- .../tenkey_plusplus/keymaps/default/keymap.c | 15 +- .../tenkey_plusplus/keymaps/macro/keymap.c | 25 +- .../lizard_trick/tenkey_plusplus/rules.mk | 2 +- keyboards/lm_keyboard/lm60n/config.h | 152 + keyboards/lm_keyboard/lm60n/info.json | 542 ++ .../lm60n/keymaps/default/keymap.c | 35 + .../lm60n/keymaps/default/readme.md | 1 + .../lm_keyboard/lm60n/keymaps/via/keymap.c | 51 + .../lm_keyboard/lm60n/keymaps/via/readme.md | 1 + .../lm_keyboard/lm60n/keymaps/via/rules.mk | 2 + keyboards/lm_keyboard/lm60n/lm60n.c | 17 + keyboards/lm_keyboard/lm60n/lm60n.h | 204 + keyboards/lm_keyboard/lm60n/readme.md | 18 + keyboards/lm_keyboard/lm60n/rules.mk | 22 + keyboards/longnald/corin/rules.mk | 2 +- keyboards/ls_60/chconf.h | 24 + keyboards/ls_60/config.h | 52 + keyboards/ls_60/info.json | 78 + keyboards/ls_60/keymaps/default/keymap.c | 39 + keyboards/ls_60/keymaps/via/keymap.c | 47 + keyboards/ls_60/keymaps/via/rules.mk | 1 + keyboards/ls_60/ls_60.c | 31 + keyboards/ls_60/ls_60.h | 30 + keyboards/ls_60/readme.md | 17 + keyboards/ls_60/rules.mk | 23 + keyboards/lucid/alexa/alexa.c | 14 + keyboards/lucid/alexa/alexa.h | 32 + keyboards/lucid/alexa/config.h | 105 + keyboards/lucid/alexa/info.json | 85 + .../lucid/alexa/keymaps/default/keymap.c | 39 + keyboards/lucid/alexa/keymaps/via/keymap.c | 58 + keyboards/lucid/alexa/keymaps/via/rules.mk | 1 + keyboards/lucid/alexa/readme.md | 13 + keyboards/lucid/alexa/rules.mk | 28 + keyboards/lucid/kbd8x_hs/rules.mk | 2 +- keyboards/lucid/phantom_hs/rules.mk | 2 +- .../phantom_solder/keymaps/default/keymap.c | 20 +- .../lucid/phantom_solder/keymaps/via/keymap.c | 35 +- .../lucid/phantom_solder/phantom_solder.h | 6 +- keyboards/lucid/phantom_solder/rules.mk | 2 +- keyboards/lucid/scarlet/config.h | 102 + keyboards/lucid/scarlet/info.json | 105 + .../lucid/scarlet/keymaps/default/keymap.c | 41 + keyboards/lucid/scarlet/keymaps/via/keymap.c | 61 + keyboards/lucid/scarlet/keymaps/via/rules.mk | 1 + keyboards/lucid/scarlet/readme.md | 11 + keyboards/lucid/scarlet/rules.mk | 25 + keyboards/lucid/scarlet/scarlet.c | 14 + keyboards/lucid/scarlet/scarlet.h | 34 + keyboards/lyra/config.h | 19 + keyboards/lyra/keymaps/default/config.h | 30 + keyboards/lyra/keymaps/default/keymap.c | 48 + keyboards/lyra/keymaps/default/rules.mk | 1 + keyboards/lyra/keymaps/via/config.h | 30 + keyboards/lyra/keymaps/via/keymap.c | 55 + keyboards/lyra/keymaps/via/rules.mk | 2 + keyboards/lyra/lyra.c | 89 + keyboards/lyra/lyra.h | 23 + keyboards/lyra/readme.md | 20 + keyboards/lyra/rev1/config.h | 50 + keyboards/lyra/rev1/info.json | 90 + keyboards/lyra/rev1/rev1.c | 17 + keyboards/lyra/rev1/rev1.h | 39 + keyboards/lyra/rev1/rules.mk | 27 + keyboards/m10a/keymaps/gam3cat/keymap.c | 2 +- keyboards/m10a/keymaps/gam3cat/rules.mk | 3 +- keyboards/m10a/rules.mk | 3 +- keyboards/m3n3van/config.h | 65 + keyboards/m3n3van/info.json | 57 + keyboards/m3n3van/keymaps/default/keymap.json | 25 + .../m3n3van/keymaps/matthewdias/keymap.c | 52 + keyboards/m3n3van/keymaps/via/keymap.c | 59 + keyboards/m3n3van/keymaps/via/rules.mk | 1 + keyboards/m3n3van/m3n3van.c | 18 + keyboards/m3n3van/m3n3van.h | 48 + keyboards/m3n3van/readme.md | 21 + keyboards/m3n3van/rules.mk | 23 + keyboards/m65/config.h | 33 + keyboards/m65/info.json | 83 + keyboards/m65/keymaps/default/config.h | 20 + keyboards/m65/keymaps/default/keymap.c | 113 + keyboards/m65/keymaps/default/readme.md | 13 + keyboards/m65/keymaps/dk/config.h | 20 + keyboards/m65/keymaps/dk/keymap.c | 114 + keyboards/m65/keymaps/dk/readme.md | 13 + keyboards/m65/keymaps/uk/config.h | 20 + keyboards/m65/keymaps/uk/keymap.c | 114 + keyboards/m65/keymaps/uk/readme.md | 13 + keyboards/m65/m65.c | 19 + keyboards/m65/m65.h | 34 + keyboards/m65/readme.md | 22 + keyboards/m65/rev1/chconf.h | 29 + keyboards/m65/rev1/config.h | 32 + keyboards/m65/rev1/mcuconf.h | 27 + .../ssd1306.c => keyboards/m65/rev1/readme.md | 0 keyboards/m65/rev1/rules.mk | 22 + keyboards/majistic/rules.mk | 2 +- keyboards/makrosu/config.h | 70 + keyboards/makrosu/info.json | 21 + keyboards/makrosu/keymaps/default/keymap.c | 122 + keyboards/makrosu/keymaps/via/keymap.c | 122 + keyboards/makrosu/keymaps/via/rules.mk | 1 + keyboards/makrosu/makrosu.c | 16 + keyboards/makrosu/makrosu.h | 20 + keyboards/makrosu/readme.md | 14 + keyboards/makrosu/rules.mk | 23 + keyboards/manta60/rules.mk | 2 +- keyboards/manyboard/macro/config.h | 53 + keyboards/manyboard/macro/info.json | 29 + .../manyboard/macro/keymaps/default/keymap.c | 75 + .../manyboard/macro/keymaps/via/keymap.c | 75 + .../manyboard/macro/keymaps/via/rules.mk | 1 + keyboards/manyboard/macro/macro.c | 17 + keyboards/manyboard/macro/macro.h | 31 + keyboards/manyboard/macro/readme.md | 15 + keyboards/manyboard/macro/rules.mk | 23 + .../leftover30/keymaps/default/keymap.c | 4 +- keyboards/marksard/leftover30/rules.mk | 2 +- .../marksard/rhymestone/common/oled_helper.c | 2 +- .../marksard/rhymestone/common/oled_helper.h | 2 +- .../rhymestone/keymaps/default/keymap.c | 2 +- .../rhymestone/keymaps/default/rules.mk | 2 +- .../rhymestone/keymaps/switch_tester/rules.mk | 2 +- keyboards/marksard/rhymestone/rev1/config.h | 2 +- keyboards/marksard/rhymestone/rev1/rev1.c | 48 - keyboards/marksard/rhymestone/rules.mk | 2 +- keyboards/massdrop/alt/alt.c | 21 + keyboards/massdrop/alt/config.h | 19 +- keyboards/massdrop/alt/config_led.c | 5 +- .../massdrop/alt/keymaps/ewersp/README.md | 14 +- .../massdrop/alt/keymaps/ewersp/keymap.c | 134 +- .../massdrop/alt/keymaps/hlmtre/keymap.c | 131 + .../massdrop/alt/keymaps/jdelkins/config.h | 23 + .../massdrop/alt/keymaps/jdelkins/keymap.c | 504 ++ .../alt/keymaps/jdelkins/rgb_matrix.h | 94 + .../massdrop/alt/keymaps/jdelkins/rules.mk | 17 + .../massdrop/alt/keymaps/jdelkins_ss/config.h | 20 + .../massdrop/alt/keymaps/jdelkins_ss/keymap.c | 280 ++ .../alt/keymaps/jdelkins_ss/rgb_matrix.h | 94 + .../massdrop/alt/keymaps/jdelkins_ss/rules.mk | 12 + .../massdrop/alt/keymaps/pregame/config.h | 4 +- .../massdrop/alt/keymaps/pregame/rules.mk | 4 +- .../alt/keymaps/urbanvanilla/config.h | 2 +- keyboards/massdrop/alt/matrix.c | 182 - keyboards/massdrop/alt/rules.mk | 6 +- keyboards/massdrop/ctrl/config.h | 18 +- keyboards/massdrop/ctrl/config_led.c | 5 +- keyboards/massdrop/ctrl/ctrl.c | 21 + .../massdrop/ctrl/keymaps/default/keymap.c | 8 - .../massdrop/ctrl/keymaps/default_md/keymap.c | 8 - .../massdrop/ctrl/keymaps/endgame/config.h | 2 +- .../massdrop/ctrl/keymaps/endgame/keymap.c | 2 +- .../massdrop/ctrl/keymaps/endgame/keymap.h | 1 - .../massdrop/ctrl/keymaps/endgame/rules.mk | 2 - .../ctrl/keymaps/matthewrobo/config.h | 2 +- .../ctrl/keymaps/matthewrobo/rules.mk | 2 - keyboards/massdrop/ctrl/matrix.c | 182 - keyboards/massdrop/ctrl/rules.mk | 6 +- .../masterworks/classy_tkl/rev_a/rules.mk | 5 +- keyboards/matchstickworks/southpad/config.h | 100 + keyboards/matchstickworks/southpad/info.json | 39 + .../southpad/keymaps/default/keymap.c | 27 + keyboards/matchstickworks/southpad/readme.md | 23 + keyboards/matchstickworks/southpad/rules.mk | 22 + keyboards/matchstickworks/southpad/southpad.c | 16 + keyboards/matchstickworks/southpad/southpad.h | 44 + keyboards/matrix/cain_re/rules.mk | 2 +- keyboards/matrix/falcon/config.h | 72 + keyboards/matrix/falcon/falcon.c | 28 + keyboards/matrix/falcon/falcon.h | 51 + keyboards/matrix/falcon/info.json | 145 + .../matrix/falcon/keymaps/default/keymap.c | 32 + keyboards/matrix/falcon/keymaps/via/keymap.c | 46 + keyboards/matrix/falcon/keymaps/via/rules.mk | 2 + keyboards/matrix/falcon/readme.md | 25 + keyboards/matrix/falcon/rules.mk | 24 + keyboards/matrix/m12og/config.h | 37 - keyboards/matrix/m12og/info.json | 15 - keyboards/matrix/m12og/m12og.c | 21 - keyboards/matrix/m12og/m12og.h | 42 - keyboards/matrix/m12og/readme.md | 18 +- .../matrix/m12og/rev1/boards/m12og_v1/board.c | 50 + .../matrix/m12og/rev1/boards/m12og_v1/board.h | 142 + .../m12og/rev1/boards/m12og_v1/board.mk | 5 + keyboards/matrix/m12og/rev1/chconf.h | 40 + keyboards/matrix/m12og/rev1/config.h | 54 + keyboards/matrix/m12og/rev1/halconf.h | 26 + keyboards/matrix/m12og/rev1/info.json | 99 + .../m12og/rev1/keymaps/default/keymap.c | 50 + keyboards/matrix/m12og/rev1/ld/m12og_v1.ld | 85 + keyboards/matrix/m12og/rev1/matrix.c | 96 + keyboards/matrix/m12og/rev1/mcuconf.h | 209 + keyboards/matrix/m12og/rev1/readme.md | 26 + keyboards/matrix/m12og/rev1/rev1.c | 27 + keyboards/matrix/m12og/rev1/rev1.h | 37 + keyboards/matrix/m12og/rev1/rules.mk | 26 + keyboards/matrix/m12og/rev2/config.h | 38 + keyboards/matrix/m12og/rev2/info.json | 15 + .../m12og/{ => rev2}/keymaps/default/keymap.c | 0 .../m12og/{ => rev2}/keymaps/iso/keymap.c | 0 .../matrix/m12og/rev2/keymaps/via/keymap.c | 57 + .../matrix/m12og/rev2/keymaps/via/rules.mk | 1 + keyboards/matrix/m12og/rev2/readme.md | 16 + keyboards/matrix/m12og/rev2/rev2.c | 21 + keyboards/matrix/m12og/rev2/rev2.h | 57 + keyboards/matrix/m12og/rev2/rules.mk | 19 + keyboards/matrix/m12og/rules.mk | 26 - keyboards/matrix/m20add/rgb_ring.c | 4 +- keyboards/matrix/m20add/rules.mk | 4 +- keyboards/matrix/noah/matrix.c | 11 + keyboards/matrix/noah/noah.c | 10 +- keyboards/matrix/noah/rules.mk | 2 +- keyboards/maxipad/promicro/rules.mk | 7 - keyboards/maxipad/rules.mk | 3 +- keyboards/maxipad/teensy2/rules.mk | 7 - .../maxr1998/phoebe/keymaps/default/keymap.c | 14 +- keyboards/maxr1998/phoebe/rules.mk | 11 +- .../maxr1998/pulse4k/keymaps/default/keymap.c | 12 - keyboards/maxr1998/pulse4k/pulse4k.c | 4 +- keyboards/maxr1998/pulse4k/rules.mk | 11 +- keyboards/mb44/config.h | 61 + keyboards/mb44/info.json | 202 + keyboards/mb44/keymaps/2u1u_space/keymap.c | 60 + keyboards/mb44/keymaps/2u_space/keymap.c | 60 + keyboards/mb44/keymaps/3u_space/keymap.c | 68 + keyboards/mb44/keymaps/default/keymap.c | 62 + keyboards/mb44/keymaps/via/keymap.c | 58 + keyboards/mb44/keymaps/via/rules.mk | 1 + keyboards/mb44/mb44.c | 17 + keyboards/mb44/mb44.h | 84 + keyboards/mb44/readme.md | 15 + keyboards/mb44/rules.mk | 23 + keyboards/mc_76k/rules.mk | 10 +- keyboards/mechkeys/mk60/config.h | 20 - .../mechkeys/mk60/keymaps/default/keymap.c | 12 - keyboards/mechkeys/mk60/rules.mk | 10 +- .../mechllama/g35/keymaps/default/keymap.c | 2 +- keyboards/mechllama/g35/rules.mk | 10 +- .../adelais/keymaps/brandonschlack/keymap.c | 3 +- .../adelais/keymaps/default/keymap.c | 5 +- .../mechlovin/adelais/keymaps/via/keymap.c | 5 +- keyboards/mechlovin/adelais/rgb_led/readme.md | 16 + .../mechlovin/adelais/rgb_led/rev1/config.h | 4 +- .../mechlovin/adelais/rgb_led/rev2/config.h | 6 +- .../mechlovin/adelais/rgb_led/rev2/rev2.c | 2 +- keyboards/mechlovin/adelais/rules.mk | 5 +- .../mechlovin/adelais/standard_led/config.h | 17 + .../mechlovin/adelais/standard_led/halconf.h | 27 + .../mechlovin/adelais/standard_led/mcuconf.h | 36 + .../mechlovin/adelais/standard_led/readme.md | 16 + .../adelais/standard_led/rev4/config.h | 25 + .../adelais/standard_led/rev4/readme.md | 16 + .../adelais/standard_led/rev4/rules.mk | 1 + .../mechlovin/adelais/standard_led/rules.mk | 1 + keyboards/mechlovin/delphine/rgb_led/config.h | 4 +- .../mechlovin/delphine/rgb_led/rgb_led.c | 2 +- keyboards/mechlovin/delphine/rules.mk | 2 +- keyboards/mechlovin/hannah60rgb/rev1/config.h | 4 +- keyboards/mechlovin/hannah60rgb/rev1/rev1.c | 7 - keyboards/mechlovin/hannah60rgb/rev2/config.h | 4 +- keyboards/mechlovin/hannah60rgb/rev2/rev2.c | 2 +- keyboards/mechlovin/hannah60rgb/rules.mk | 5 +- keyboards/mechlovin/hannah65/hannah65.h | 2 - .../mechlovin/hannah65/mechlovin9/config.h | 5 - .../mechlovin/hannah65/mechlovin9/readme.md | 15 - keyboards/mechlovin/hannah65/rev1/config.h | 5 - .../mechlovin/hannah65/rev1/haus/config.h | 22 + .../mechlovin/hannah65/rev1/haus/readme.md | 23 + .../mechlovin/hannah65/rev1/haus/rules.mk | 0 keyboards/mechlovin/hannah65/rev1/readme.md | 19 + keyboards/mechlovin/hannah65/rev1/rules.mk | 1 + keyboards/mechlovin/hannah65/rules.mk | 7 +- keyboards/mechlovin/hannah910/config.h | 20 - keyboards/mechlovin/hannah910/hannah910.c | 6 +- keyboards/mechlovin/hannah910/rev1/rules.mk | 10 +- keyboards/mechlovin/hannah910/rev2/rules.mk | 2 +- keyboards/mechlovin/hannah910/rev3/config.h | 2 +- keyboards/mechlovin/hannah910/rev3/rules.mk | 2 +- keyboards/mechlovin/hex4b/config.h | 64 + keyboards/mechlovin/hex4b/hex4b.c | 17 + keyboards/mechlovin/hex4b/hex4b.h | 38 + keyboards/mechlovin/hex4b/info.json | 96 + .../mechlovin/hex4b/keymaps/default/keymap.c | 28 + .../mechlovin/hex4b/keymaps/default/readme.md | 1 + .../mechlovin/hex4b/keymaps/via/keymap.c | 52 + .../mechlovin/hex4b/keymaps/via/rules.mk | 1 + keyboards/mechlovin/hex4b/readme.md | 21 + keyboards/mechlovin/hex4b/rules.mk | 25 + keyboards/mechlovin/hex6c/config.h | 65 + keyboards/mechlovin/hex6c/hex6c.c | 17 + keyboards/mechlovin/hex6c/hex6c.h | 35 + keyboards/mechlovin/hex6c/info.json | 128 + .../mechlovin/hex6c/keymaps/default/keymap.c | 41 + .../mechlovin/hex6c/keymaps/default/readme.md | 1 + .../mechlovin/hex6c/keymaps/via/keymap.c | 69 + .../mechlovin/hex6c/keymaps/via/rules.mk | 1 + keyboards/mechlovin/hex6c/readme.md | 21 + keyboards/mechlovin/hex6c/rules.mk | 22 + keyboards/mechlovin/infinity87/config.h | 81 +- keyboards/mechlovin/infinity87/infinity87.h | 13 +- .../mechlovin/infinity87/keymaps/via/rules.mk | 3 +- keyboards/mechlovin/infinity87/rev1/config.h | 31 + keyboards/mechlovin/infinity87/rev1/readme.md | 16 + keyboards/mechlovin/infinity87/rev1/rev1.c | 17 + keyboards/mechlovin/infinity87/rev1/rev1.h | 27 + .../infinity87/rev1/rogue87/config.h | 21 + .../infinity87/rev1/rogue87/info.json | 99 + .../rev1/rogue87/keymaps/default/keymap.c | 27 + .../rev1/rogue87/keymaps/default/readme.md | 1 + .../rev1/rogue87/keymaps/via/keymap.c | 53 + .../rev1/rogue87/keymaps/via/readme.md | 1 + .../rev1/rogue87/keymaps/via/rules.mk | 2 + .../infinity87/rev1/rogue87/readme.md | 19 + .../infinity87/rev1/rogue87/rogue87.h | 34 + .../infinity87/rev1/rogue87/rules.mk | 1 + .../infinity87/rev1/rouge87/config.h | 21 + .../infinity87/rev1/rouge87/info.json | 101 + .../rev1/rouge87/keymaps/default/keymap.c | 27 + .../rev1/rouge87/keymaps/default/readme.md | 1 + .../rev1/rouge87/keymaps/via/keymap.c | 53 + .../rev1/rouge87/keymaps/via/readme.md | 1 + .../rev1/rouge87/keymaps/via/rules.mk | 2 + .../infinity87/rev1/rouge87/readme.md | 19 + .../infinity87/rev1/rouge87/rouge87.h | 35 + .../infinity87/rev1/rouge87/rules.mk | 1 + keyboards/mechlovin/infinity87/rev1/rules.mk | 10 + .../infinity87/rev1/standard/config.h | 40 + .../infinity87/{ => rev1/standard}/info.json | 0 .../infinity87/rev1/standard/readme.md | 15 + .../infinity87/rev1/standard}/rules.mk | 0 keyboards/mechlovin/infinity87/rev2/config.h | 48 + keyboards/mechlovin/infinity87/rev2/info.json | 105 + keyboards/mechlovin/infinity87/rev2/matrix.c | 442 ++ keyboards/mechlovin/infinity87/rev2/readme.md | 23 + keyboards/mechlovin/infinity87/rev2/rev2.c | 53 + keyboards/mechlovin/infinity87/rev2/rev2.h | 19 + keyboards/mechlovin/infinity87/rev2/rules.mk | 19 + .../mechlovin/infinity87/rgb_rev1/config.h | 51 + .../mechlovin/infinity87/rgb_rev1/info.json | 105 + .../mechlovin/infinity87/rgb_rev1/readme.md | 21 + .../mechlovin/infinity87/rgb_rev1/rgb_rev1.c | 159 + .../mechlovin/infinity87/rgb_rev1/rgb_rev1.h | 19 + .../mechlovin/infinity87/rgb_rev1/rules.mk | 9 + keyboards/mechlovin/infinity87/rules.mk | 16 +- keyboards/mechlovin/infinity88/rules.mk | 5 +- keyboards/mechlovin/infinityce/infinityce.c | 7 - keyboards/mechlovin/infinityce/rules.mk | 10 +- keyboards/mechlovin/kanu/kanu.c | 4 - keyboards/mechlovin/kanu/rules.mk | 2 +- keyboards/mechlovin/mechlovin9/config.h | 30 + .../{hannah65 => }/mechlovin9/info.json | 0 .../mechlovin9/keymaps/default/keymap.c | 0 .../mechlovin9/keymaps/default/readme.md | 0 .../mechlovin9/keymaps/via/keymap.c | 0 .../mechlovin/mechlovin9/keymaps/via/rules.mk | 1 + keyboards/mechlovin/mechlovin9/mechlovin9.c | 17 + .../{hannah65 => }/mechlovin9/mechlovin9.h | 2 +- keyboards/mechlovin/mechlovin9/readme.md | 17 + keyboards/mechlovin/mechlovin9/rev1/config.h | 42 + keyboards/mechlovin/mechlovin9/rev1/readme.md | 17 + keyboards/mechlovin/mechlovin9/rev1/rules.mk | 10 + keyboards/mechlovin/mechlovin9/rev2/config.h | 44 + keyboards/mechlovin/mechlovin9/rev2/readme.md | 17 + keyboards/mechlovin/mechlovin9/rev2/rules.mk | 8 + keyboards/mechlovin/mechlovin9/rules.mk | 18 + keyboards/mechlovin/olly/jf/config.h | 74 + keyboards/mechlovin/olly/jf/info.json | 119 + keyboards/mechlovin/olly/jf/jf.c | 39 + keyboards/mechlovin/olly/jf/jf.h | 35 + .../olly/jf/keymaps/default/keymap.c | 52 + .../olly/jf/keymaps/default/readme.md | 1 + .../mechlovin/olly/jf/keymaps/via/config.h | 22 + .../mechlovin/olly/jf/keymaps/via/keymap.c | 68 + .../mechlovin/olly/jf/keymaps/via/readme.md | 1 + .../mechlovin/olly/jf/keymaps/via/rules.mk | 2 + keyboards/mechlovin/olly/jf/matrix.c | 462 ++ keyboards/mechlovin/olly/jf/readme.md | 23 + keyboards/mechlovin/olly/jf/rules.mk | 28 + keyboards/mechlovin/pisces/rules.mk | 10 +- keyboards/mechlovin/serratus/config.h | 89 + keyboards/mechlovin/serratus/info.json | 105 + .../serratus/keymaps/default/keymap.c | 27 + .../serratus/keymaps/default/readme.md | 1 + .../mechlovin/serratus/keymaps/via/keymap.c | 52 + .../mechlovin/serratus/keymaps/via/readme.md | 1 + .../mechlovin/serratus/keymaps/via/rules.mk | 2 + keyboards/mechlovin/serratus/matrix.c | 388 ++ keyboards/mechlovin/serratus/readme.md | 21 + keyboards/mechlovin/serratus/rules.mk | 25 + keyboards/mechlovin/serratus/serratus.c | 17 + keyboards/mechlovin/serratus/serratus.h | 35 + keyboards/mechlovin/th1800/config.h | 53 + keyboards/mechlovin/th1800/info.json | 119 + .../mechlovin/th1800/keymaps/default/keymap.c | 29 + .../th1800/keymaps/default/readme.md | 1 + .../mechlovin/th1800/keymaps/via/keymap.c | 56 + .../mechlovin/th1800/keymaps/via/readme.md | 2 + .../mechlovin/th1800/keymaps/via/rules.mk | 1 + keyboards/mechlovin/th1800/readme.md | 23 + keyboards/mechlovin/th1800/rules.mk | 25 + keyboards/mechlovin/th1800/th1800.c | 17 + keyboards/mechlovin/th1800/th1800.h | 36 + keyboards/mechlovin/tmkl/config.h | 4 +- keyboards/mechlovin/tmkl/rules.mk | 5 +- keyboards/mechmini/v1/info.json | 49 +- .../mechmini/v1/keymaps/default/keymap.c | 59 +- keyboards/mechmini/v1/rules.mk | 9 +- keyboards/mechmini/v1/v1.h | 50 +- .../v2/keymaps/2u_space_ortho/keymap.c | 81 +- .../mechmini/v2/keymaps/625_space/keymap.c | 37 +- keyboards/mechmini/v2/keymaps/arkag/config.h | 16 + keyboards/mechmini/v2/keymaps/arkag/keymap.c | 17 +- keyboards/mechmini/v2/keymaps/arkag/rules.mk | 5 +- .../mechmini/v2/keymaps/default/keymap.c | 40 - .../v2/keymaps/lbibass_625_space/rules.mk | 2 +- .../v2/keymaps/lbibass_split_space/rules.mk | 2 +- keyboards/mechmini/v2/keymaps/ortho/keymap.c | 81 +- .../v2/keymaps/spacebarracecar/keymap.c | 2 +- .../v2/keymaps/spacebarracecar/rules.mk | 2 +- .../mechmini/v2/keymaps/split_space/keymap.c | 37 +- .../mechmini/v2/keymaps/wsturgiss/keymap.c | 10 +- .../mechmini/v2/keymaps/wsturgiss/rules.mk | 2 +- keyboards/mechmini/v2/rules.mk | 9 +- keyboards/mechstudio/dawn/info.json | 11 +- keyboards/mechstudio/dawn/rules.mk | 2 +- keyboards/mechstudio/ud_40_ortho/rules.mk | 2 +- keyboards/mechwild/bde/lefty/rules.mk | 2 +- keyboards/mechwild/bde/righty/rules.mk | 2 +- .../mercutio/keymaps/bongocat/keymap.c | 53 +- .../mercutio/keymaps/bongocat/rules.mk | 3 +- .../mercutio/keymaps/default/keymap.c | 55 +- .../mechwild/mercutio/keymaps/fancy/keymap.c | 55 +- .../mercutio/keymaps/jonavin/config.h | 32 + .../mercutio/keymaps/jonavin/keymap.c | 286 ++ .../mercutio/keymaps/jonavin/readme.md | 62 + .../mercutio/keymaps/jonavin/rules.mk | 8 + .../mechwild/mercutio/keymaps/via/keymap.c | 55 +- keyboards/mechwild/mercutio/rules.mk | 7 +- keyboards/mechwild/murphpad/config.h | 94 + keyboards/mechwild/murphpad/info.json | 20 + .../murphpad/keymaps/default/keymap.c | 147 + .../murphpad/keymaps/jonavin/config.h | 23 + .../murphpad/keymaps/jonavin/keymap.c | 343 ++ .../keymaps/jonavin/layout_landscape.h | 43 + .../murphpad/keymaps/jonavin/readme.md | 65 + .../murphpad/keymaps/jonavin/rules.mk | 5 + .../mechwild/murphpad/keymaps/via/keymap.c | 145 + .../mechwild/murphpad/keymaps/via/rules.mk | 2 + .../mechwild/murphpad/lib/murphpadfont.c | 244 + keyboards/mechwild/murphpad/murphpad.c | 17 + keyboards/mechwild/murphpad/murphpad.h | 48 + keyboards/mechwild/murphpad/readme.md | 19 + keyboards/mechwild/murphpad/rules.mk | 25 + keyboards/mechwild/obe/config.h | 149 + keyboards/mechwild/obe/f401/halconf.h | 22 + keyboards/mechwild/obe/f401/mcuconf.h | 22 + keyboards/mechwild/obe/f401/rules.mk | 5 + keyboards/mechwild/obe/f411/halconf.h | 22 + keyboards/mechwild/obe/f411/mcuconf.h | 23 + keyboards/mechwild/obe/f411/rules.mk | 5 + keyboards/mechwild/obe/info.json | 86 + .../mechwild/obe/keymaps/default/keymap.c | 43 + keyboards/mechwild/obe/keymaps/via/keymap.c | 57 + keyboards/mechwild/obe/keymaps/via/rules.mk | 2 + keyboards/mechwild/obe/obe.c | 33 + keyboards/mechwild/obe/obe.h | 43 + keyboards/mechwild/obe/readme.md | 19 + keyboards/mechwild/obe/rules.mk | 21 + keyboards/mehkee96/rules.mk | 11 +- keyboards/meira/featherble/config.h | 23 +- keyboards/meira/keymaps/default/keymap.c | 12 - keyboards/meira/matrix.c | 2 +- keyboards/meira/meira.c | 5 - keyboards/meira/meira.h | 20 +- keyboards/meira/promicro/config.h | 24 +- keyboards/meira/rules.mk | 12 +- keyboards/meishi/config.h | 20 - keyboards/meishi/keymaps/default/keymap.c | 16 - keyboards/meishi/meishi.c | 27 - keyboards/meishi/rules.mk | 10 +- keyboards/meishi2/config.h | 20 - keyboards/meishi2/keymaps/default/keymap.c | 13 - keyboards/meishi2/meishi2.c | 35 - keyboards/meishi2/rules.mk | 12 +- keyboards/melgeek/mj61/config.h | 32 + keyboards/melgeek/mj61/mj61.c | 107 - keyboards/melgeek/mj61/rev1/config.h | 31 - keyboards/melgeek/mj61/rev1/rev1.c | 124 + keyboards/melgeek/mj61/rev1/rules.mk | 7 +- keyboards/melgeek/mj61/rev2/config.h | 39 + keyboards/melgeek/mj61/rev2/rev2.c | 134 + keyboards/melgeek/mj61/rev2/rules.mk | 27 + keyboards/melgeek/mj63/config.h | 2 +- keyboards/melgeek/mj63/rev1/rev1.c | 8 +- keyboards/melgeek/mj63/rev1/rules.mk | 5 +- keyboards/melgeek/mj63/rev2/rev2.c | 2 +- keyboards/melgeek/mj63/rev2/rules.mk | 5 +- keyboards/melgeek/mj64/config.h | 2 +- keyboards/melgeek/mj64/rev1/rev1.c | 2 +- keyboards/melgeek/mj64/rev1/rules.mk | 5 +- keyboards/melgeek/mj64/rev2/rev2.c | 2 +- keyboards/melgeek/mj64/rev2/rules.mk | 5 +- keyboards/melgeek/mj64/rev3/rev3.c | 2 +- keyboards/melgeek/mj64/rev3/rules.mk | 5 +- keyboards/melgeek/mj65/config.h | 2 +- keyboards/melgeek/mj65/rev3/rev3.c | 2 +- keyboards/melgeek/mj65/rev3/rules.mk | 5 +- keyboards/melgeek/mj6xy/config.h | 40 + keyboards/melgeek/mj6xy/info.json | 3461 +++++++++++++ .../melgeek/mj6xy/keymaps/60_ansi/keymap.c | 35 + .../mj6xy/keymaps/60_ansi_7u_spc/keymap.c | 35 + .../keymaps/60_ansi_7u_spc_split_bs/keymap.c | 35 + .../mj6xy/keymaps/60_ansi_arrow/keymap.c | 35 + .../keymaps/60_ansi_arrow_3u_spc/keymap.c | 35 + .../60_ansi_arrow_3u_spc_split_bs/keymap.c | 35 + .../keymaps/60_ansi_arrow_6u_spc/keymap.c | 35 + .../60_ansi_arrow_6u_spc_split_bs/keymap.c | 36 + .../60_ansi_arrow_split_3u_spc/keymap.c | 35 + .../keymaps/60_ansi_arrow_split_bs/keymap.c | 35 + .../60_ansi_arrow_split_bs_3u_spc/keymap.c | 35 + .../mj6xy/keymaps/60_ansi_split_bs/keymap.c | 35 + .../melgeek/mj6xy/keymaps/60_iso/keymap.c | 35 + .../keymap.c | 39 + .../keymap.c | 39 + .../60_iso_1u_lshift_split_bs_rshift/keymap.c | 39 + .../60_iso_1u_lshift_split_rshift/keymap.c | 39 + .../mj6xy/keymaps/60_iso_7u_spc/keymap.c | 35 + .../keymaps/60_iso_7u_spc_split_bs/keymap.c | 35 + .../60_iso_7u_spc_split_bs_rshift/keymap.c | 39 + .../60_iso_7u_spc_split_rshift/keymap.c | 39 + .../mj6xy/keymaps/60_iso_arrow/keymap.c | 35 + .../keymaps/60_iso_arrow_3u_spc/keymap.c | 35 + .../60_iso_arrow_3u_spc_split_bs/keymap.c | 35 + .../keymaps/60_iso_arrow_6u_spc/keymap.c | 35 + .../60_iso_arrow_6u_spc_split_bs/keymap.c | 35 + .../60_iso_arrow_split_3u_spc/keymap.c | 35 + .../keymaps/60_iso_arrow_split_bs/keymap.c | 35 + .../60_iso_arrow_split_bs_3u_spc/keymap.c | 35 + .../mj6xy/keymaps/60_iso_split_bs/keymap.c | 35 + .../keymaps/60_iso_split_bs_rshift/keymap.c | 39 + .../keymaps/60_iso_split_rshift/keymap.c | 39 + .../melgeek/mj6xy/keymaps/64_ansi/keymap.c | 35 + .../mj6xy/keymaps/64_ansi_3u_spc/keymap.c | 35 + .../keymaps/64_ansi_3u_spc_split_bs/keymap.c | 35 + .../mj6xy/keymaps/64_ansi_6u_spc/keymap.c | 35 + .../keymaps/64_ansi_6u_spc_split_bs/keymap.c | 35 + .../keymaps/64_ansi_split_3u_spc/keymap.c | 35 + .../mj6xy/keymaps/64_ansi_split_bs/keymap.c | 35 + .../keymaps/64_ansi_split_bs_3u_spc/keymap.c | 35 + .../melgeek/mj6xy/keymaps/64_iso/keymap.c | 35 + .../mj6xy/keymaps/64_iso_3u_spc/keymap.c | 35 + .../keymaps/64_iso_3u_spc_split_bs/keymap.c | 35 + .../mj6xy/keymaps/64_iso_6u_spc/keymap.c | 35 + .../keymaps/64_iso_6u_spc_split_bs/keymap.c | 35 + .../keymaps/64_iso_split_3u_spc/keymap.c | 35 + .../mj6xy/keymaps/64_iso_split_bs/keymap.c | 35 + .../keymaps/64_iso_split_bs_3u_spc/keymap.c | 35 + .../melgeek/mj6xy/keymaps/default/keymap.c | 35 + keyboards/melgeek/mj6xy/keymaps/via/keymap.c | 49 + keyboards/melgeek/mj6xy/keymaps/via/rules.mk | 2 + keyboards/melgeek/mj6xy/mj6xy.c | 17 + keyboards/melgeek/mj6xy/mj6xy.h | 693 +++ keyboards/melgeek/mj6xy/readme.md | 17 + keyboards/melgeek/mj6xy/rev3/config.h | 52 + keyboards/melgeek/mj6xy/rev3/rev3.c | 18 + keyboards/melgeek/mj6xy/rev3/rules.mk | 26 + keyboards/melgeek/mojo68/config.h | 51 + keyboards/melgeek/mojo68/info.json | 85 + .../melgeek/mojo68/keymaps/default/keymap.c | 35 + keyboards/melgeek/mojo68/keymaps/via/keymap.c | 49 + keyboards/melgeek/mojo68/keymaps/via/rules.mk | 2 + keyboards/melgeek/mojo68/mojo68.c | 17 + keyboards/melgeek/mojo68/mojo68.h | 35 + keyboards/melgeek/mojo68/readme.md | 15 + keyboards/melgeek/mojo68/rev1/config.h | 39 + keyboards/melgeek/mojo68/rev1/rev1.c | 161 + keyboards/melgeek/mojo68/rev1/rules.mk | 25 + keyboards/melgeek/mojo75/config.h | 2 +- keyboards/melgeek/mojo75/rev1/rev1.c | 2 +- keyboards/melgeek/mojo75/rev1/rules.mk | 5 +- keyboards/melgeek/z70ultra/config.h | 2 +- keyboards/melgeek/z70ultra/rev1/rules.mk | 5 +- keyboards/melgeek/z70ultra/z70ultra.c | 2 +- .../melody96/keymaps/konstantin/rules.mk | 2 +- keyboards/melody96/rules.mk | 9 +- keyboards/meme/config.h | 20 - keyboards/meme/meme.c | 27 - keyboards/meme/rules.mk | 10 +- keyboards/merge/iso_macro/config.h | 2 +- .../merge/iso_macro/keymaps/default/keymap.c | 35 +- .../merge/iso_macro/keymaps/via/keymap.c | 35 +- keyboards/merge/iso_macro/rules.mk | 2 +- keyboards/merge/uc1/config.h | 47 + keyboards/merge/uc1/info.json | 17 + keyboards/merge/uc1/keymaps/default/keymap.c | 41 + keyboards/merge/uc1/keymaps/default/readme.md | 5 + keyboards/merge/uc1/keymaps/via/keymap.c | 54 + keyboards/merge/uc1/keymaps/via/rules.mk | 2 + keyboards/merge/uc1/readme.md | 14 + keyboards/merge/uc1/rules.mk | 23 + keyboards/merge/uc1/uc1.c | 17 + keyboards/merge/uc1/uc1.h | 27 + keyboards/merge/um70/config.h | 63 + keyboards/merge/um70/info.json | 21 + keyboards/merge/um70/keymaps/default/keymap.c | 183 + .../merge/um70/keymaps/default/readme.md | 5 + keyboards/merge/um70/keymaps/default/rules.mk | 2 + keyboards/merge/um70/keymaps/via/config.h | 20 + keyboards/merge/um70/keymaps/via/keymap.c | 187 + keyboards/merge/um70/keymaps/via/rules.mk | 6 + keyboards/merge/um70/readme.md | 14 + keyboards/merge/um70/rules.mk | 26 + keyboards/merge/um70/um70.c | 77 + keyboards/merge/um70/um70.h | 97 + keyboards/mesa/mesa_tkl/config.h | 2 +- keyboards/mesa/mesa_tkl/rules.mk | 2 +- keyboards/meson/keymaps/default/keymap.c | 12 - keyboards/meson/meson.c | 35 - keyboards/meson/rules.mk | 10 +- keyboards/metamechs/timberwolf/config.h | 8 - keyboards/metamechs/timberwolf/info.json | 767 ++- keyboards/metamechs/timberwolf/rules.mk | 9 +- keyboards/metamechs/timberwolf/timberwolf.c | 5 +- .../ludmila/keymaps/default/keymap.c | 3 +- keyboards/mexsistor/ludmila/rules.mk | 2 +- keyboards/miller/gm862/config.h | 4 +- keyboards/miller/gm862/gm862.c | 2 +- keyboards/miller/gm862/rules.mk | 10 +- keyboards/millipad/config.h | 94 + keyboards/millipad/info.json | 26 + keyboards/millipad/keymaps/default/keymap.c | 42 + keyboards/millipad/keymaps/default/readme.md | 1 + keyboards/millipad/millipad.c | 17 + keyboards/millipad/millipad.h | 35 + keyboards/millipad/readme.md | 29 + keyboards/millipad/rules.mk | 23 + keyboards/mini_elixivy/config.h | 108 + keyboards/mini_elixivy/info.json | 27 + keyboards/mini_elixivy/keymaps/ansi/keymap.c | 66 + keyboards/mini_elixivy/keymaps/ansi/readme.md | 2 + .../mini_elixivy/keymaps/default/keymap.c | 66 + .../mini_elixivy/keymaps/default/readme.md | 2 + keyboards/mini_elixivy/keymaps/iso/keymap.c | 66 + keyboards/mini_elixivy/keymaps/iso/readme.md | 2 + keyboards/mini_elixivy/mini_elixivy.c | 28 + keyboards/mini_elixivy/mini_elixivy.h | 78 + keyboards/mini_elixivy/readme.md | 24 + keyboards/mini_elixivy/rules.mk | 25 + keyboards/miniaxe/config.h | 20 - keyboards/miniaxe/keymaps/default/keymap.c | 9 - keyboards/miniaxe/keymaps/underglow/keymap.c | 9 - keyboards/miniaxe/miniaxe.c | 27 - keyboards/miniaxe/rules.mk | 10 +- keyboards/minidox/keymaps/bepo/keymap.c | 14 +- keyboards/minidox/keymaps/tw1t611/keymap.c | 8 +- keyboards/minidox/rules.mk | 10 +- keyboards/minim/rules.mk | 2 +- keyboards/minimacro5/keymaps/default/keymap.c | 3 +- keyboards/minimacro5/keymaps/devdev/keymap.c | 124 + keyboards/minimacro5/keymaps/devdev/rules.mk | 2 + .../minimacro5/keymaps/kabraxcis/keymap.c | 3 +- keyboards/minimacro5/keymaps/media/keymap.c | 3 +- keyboards/minimacro5/keymaps/voaraq/keymap.c | 3 +- keyboards/minimacro5/rules.mk | 2 +- keyboards/mint60/config.h | 20 - keyboards/mint60/rules.mk | 10 +- keyboards/mio/rules.mk | 2 +- .../misonoworks/chocolatebar/chocolatebar.c | 50 + .../misonoworks/chocolatebar/chocolatebar.h | 32 + keyboards/misonoworks/chocolatebar/config.h | 63 + keyboards/misonoworks/chocolatebar/info.json | 71 + .../chocolatebar/keymaps/default/keymap.c | 53 + .../chocolatebar/keymaps/via/keymap.c | 53 + .../chocolatebar/keymaps/via/rules.mk | 2 + keyboards/misonoworks/chocolatebar/readme.md | 16 + keyboards/misonoworks/chocolatebar/rules.mk | 25 + keyboards/misonoworks/karina/info.json | 56 +- keyboards/misonoworks/karina/karina.h | 17 +- .../karina/keymaps/default/keymap.c | 38 +- .../karina/keymaps/voltex/keymap.c | 38 +- keyboards/misonoworks/karina/readme.md | 8 +- keyboards/misonoworks/karina/rules.mk | 2 +- keyboards/misterknife/knife66/rules.mk | 5 +- keyboards/misterknife/knife66_iso/rules.mk | 5 +- keyboards/mitosis/keymaps/datagrok/rules.mk | 2 +- keyboards/mitosis/keymaps/mjt/rules.mk | 4 +- keyboards/mitosis/mitosis.c | 2 +- keyboards/mitosis/rules.mk | 12 +- keyboards/miuni32/keymaps/adam-lee/rules.mk | 2 +- keyboards/miuni32/keymaps/default/keymap.c | 44 - keyboards/miuni32/keymaps/ht_156/rules.mk | 2 +- keyboards/miuni32/keymaps/kifinnsson/rules.mk | 2 +- keyboards/miuni32/miuni32.c | 27 - keyboards/miuni32/rules.mk | 10 +- keyboards/mixi/keymaps/default/keymap.c | 11 +- keyboards/mixi/keymaps/via/keymap.c | 11 +- keyboards/mixi/rules.mk | 9 +- keyboards/mnk1800s/config.h | 76 + keyboards/mnk1800s/info.json | 100 + keyboards/mnk1800s/keymaps/default/keymap.c | 32 + keyboards/mnk1800s/keymaps/default/readme.md | 5 + keyboards/mnk1800s/keymaps/via/keymap.c | 46 + keyboards/mnk1800s/keymaps/via/readme.md | 5 + keyboards/mnk1800s/keymaps/via/rules.mk | 1 + keyboards/mnk1800s/mnk1800s.c | 16 + keyboards/mnk1800s/mnk1800s.h | 34 + keyboards/mnk1800s/readme.md | 32 + keyboards/mnk1800s/rules.mk | 25 + keyboards/mnk50/config.h | 76 + keyboards/mnk50/info.json | 172 + keyboards/mnk50/keymaps/default/keymap.c | 30 + keyboards/mnk50/keymaps/default/readme.md | 5 + keyboards/mnk50/keymaps/via/keymap.c | 42 + keyboards/mnk50/keymaps/via/readme.md | 5 + keyboards/mnk50/keymaps/via/rules.mk | 1 + keyboards/mnk50/mnk50.c | 16 + keyboards/mnk50/mnk50.h | 71 + keyboards/mnk50/readme.md | 32 + keyboards/mnk50/rules.mk | 27 + keyboards/mode/eighty/m80h/rules.mk | 5 +- keyboards/mode/eighty/m80s/rules.mk | 5 +- keyboards/model_v/config.h | 62 + keyboards/model_v/info.json | 153 + keyboards/model_v/keymaps/default/keymap.c | 41 + keyboards/model_v/keymaps/via/keymap.c | 48 + keyboards/model_v/keymaps/via/rules.mk | 1 + keyboards/model_v/model_v.c | 18 + keyboards/model_v/model_v.h | 61 + keyboards/model_v/readme.md | 20 + keyboards/model_v/rules.mk | 22 + keyboards/mokey/mokey64/config.h | 44 + keyboards/mokey/mokey64/info.json | 79 + .../mokey/mokey64/keymaps/default/keymap.c | 32 + keyboards/mokey/mokey64/keymaps/via/keymap.c | 29 + keyboards/mokey/mokey64/keymaps/via/rules.mk | 1 + keyboards/mokey/mokey64/mokey64.c | 17 + keyboards/mokey/mokey64/mokey64.h | 48 + keyboards/mokey/mokey64/readme.md | 21 + keyboards/mokey/mokey64/rules.mk | 24 + keyboards/molecule/adns.c | 254 + keyboards/molecule/adns.h | 36 + keyboards/molecule/adns9800_srom_A6.h | 3081 ++++++++++++ keyboards/molecule/config.h | 159 + keyboards/molecule/info.json | 57 + keyboards/molecule/keymaps/default/keymap.c | 69 + keyboards/molecule/keymaps/default/readme.md | 1 + keyboards/molecule/molecule.c | 17 + keyboards/molecule/molecule.h | 41 + keyboards/molecule/readme.md | 21 + keyboards/molecule/rules.mk | 27 + keyboards/momoka_ergo/config.h | 131 + keyboards/momoka_ergo/info.json | 90 + .../momoka_ergo/keymaps/default/keymap.c | 58 + .../momoka_ergo/keymaps/default/readme.md | 1 + keyboards/momoka_ergo/momoka_ergo.c | 17 + keyboards/momoka_ergo/momoka_ergo.h | 56 + keyboards/momoka_ergo/readme.md | 29 + keyboards/momoka_ergo/rules.mk | 23 + keyboards/monarch/config.h | 79 + keyboards/monarch/halconf.h | 28 + keyboards/monarch/info.json | 18 + keyboards/monarch/keymaps/default/keymap.c | 44 + keyboards/monarch/keymaps/iso/keymap.c | 44 + keyboards/monarch/keymaps/via/config.h | 18 + keyboards/monarch/keymaps/via/keymap.c | 90 + keyboards/monarch/keymaps/via/rules.mk | 1 + keyboards/monarch/mcuconf.h | 31 + keyboards/monarch/monarch.c | 15 + keyboards/monarch/monarch.h | 69 + keyboards/monarch/readme.md | 15 + keyboards/monarch/rules.mk | 28 + keyboards/monstargear/xo87/rgb/config.h | 4 +- keyboards/monstargear/xo87/rgb/rules.mk | 2 +- .../monstargear/xo87/solderable/info.json | 102 +- .../xo87/solderable/keymaps/default/keymap.c | 30 +- .../xo87/solderable/keymaps/via/keymap.c | 64 +- .../monstargear/xo87/solderable/rules.mk | 2 +- .../monstargear/xo87/solderable/solderable.h | 12 +- keyboards/montex/config.h | 64 + keyboards/montex/info.json | 45 + keyboards/montex/keymaps/default/keymap.c | 67 + keyboards/montex/keymaps/via/keymap.c | 52 + keyboards/montex/keymaps/via/rules.mk | 2 + keyboards/montex/montex.c | 17 + keyboards/montex/montex.h | 35 + keyboards/montex/readme.md | 21 + keyboards/montex/rules.mk | 22 + keyboards/montsinger/rebound/rev1/rules.mk | 10 +- keyboards/montsinger/rebound/rev2/rules.mk | 10 +- .../rebound/rev3/keymaps/default/keymap.c | 3 +- .../rebound/rev3/keymaps/rossman360/keymap.c | 6 +- .../rebound/rev3/keymaps/rossman360/rules.mk | 2 +- keyboards/montsinger/rebound/rev3/rules.mk | 10 +- .../rebound/rev4/keymaps/default/keymap.c | 3 +- .../rebound/rev4/keymaps/rossman360/keymap.c | 5 +- .../rebound/rev4/keymaps/rossman360/rules.mk | 2 +- .../rebound/rev4/keymaps/via/keymap.c | 3 +- .../rebound/rev4/keymaps/via/rules.mk | 1 + keyboards/montsinger/rebound/rev4/rules.mk | 12 +- keyboards/montsinger/rewind/rules.mk | 10 +- keyboards/moon/rules.mk | 10 +- keyboards/moonlander/config.h | 4 +- keyboards/moonlander/keymaps/default/config.h | 2 +- keyboards/moonlander/keymaps/default/keymap.c | 2 +- keyboards/moonlander/keymaps/drashna/keymap.c | 82 +- keyboards/moonlander/keymaps/drashna/rules.mk | 2 +- .../moonlander/keymaps/jjerrell/config.h | 27 + .../moonlander/keymaps/jjerrell/keymap.c | 117 + .../moonlander/keymaps/jjerrell/readme.md | 3 + .../moonlander/keymaps/jjerrell/rules.mk | 1 + .../keymaps/manna-harbour_miryoku/config.h | 24 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + keyboards/moonlander/matrix.c | 160 +- keyboards/moonlander/moonlander.c | 15 +- keyboards/moonlander/moonlander.h | 2 +- keyboards/moonlander/readme.md | 18 +- keyboards/moonlander/rules.mk | 6 +- keyboards/mountainblocks/mb17/rules.mk | 10 +- keyboards/mschwingen/modelm/rules.mk | 2 +- keyboards/mt40/config.h | 20 - keyboards/mt40/mt40.h | 16 - keyboards/mt40/rules.mk | 12 +- keyboards/mt64rgb/keymaps/default/keymap.c | 32 +- keyboards/mt64rgb/keymaps/via/keymap.c | 31 +- keyboards/mt64rgb/mt64rgb.c | 2 +- keyboards/mt64rgb/rules.mk | 4 +- keyboards/mt84/keymaps/default/config.h | 19 + keyboards/mt84/keymaps/default/keymap.c | 30 +- keyboards/mt84/mt84.c | 40 +- keyboards/mt84/rules.mk | 4 +- keyboards/mt980/rules.mk | 9 +- .../murcielago/rev1/keymaps/default/keymap.c | 15 +- .../murcielago/rev1/keymaps/via/keymap.c | 15 +- keyboards/murcielago/rev1/rules.mk | 10 +- keyboards/mxss/keymaps/default/keymap.c | 16 - keyboards/mxss/mxss.c | 9 +- keyboards/mxss/rules.mk | 26 +- keyboards/mysticworks/wyvern/rules.mk | 2 +- keyboards/nack/config.h | 12 +- keyboards/nack/info.json | 67 +- keyboards/nack/keymaps/default/keymap.c | 42 +- .../nack/keymaps/farfalleflickan/keymap.c | 203 + .../nack/keymaps/farfalleflickan/keymap.h | 116 + .../nack/keymaps/farfalleflickan/readme.md | 1 + keyboards/nack/keymaps/pastapojken/keymap.c | 199 - keyboards/nack/keymaps/pastapojken/keymap.h | 122 - keyboards/nack/keymaps/pastapojken/readme.md | 1 - keyboards/nack/mcuconf.h | 1 - keyboards/nack/nack.c | 2 +- keyboards/nack/nack.h | 4 +- keyboards/nack/readme.md | 4 +- keyboards/nack/rules.mk | 7 +- keyboards/nafuda/nafuda.c | 4 - keyboards/nafuda/rules.mk | 14 +- keyboards/naiping/np64/chconf.h | 24 + keyboards/naiping/np64/config.h | 52 + keyboards/naiping/np64/info.json | 84 + .../naiping/np64/keymaps/default/keymap.c | 41 + keyboards/naiping/np64/keymaps/via/keymap.c | 54 + keyboards/naiping/np64/keymaps/via/rules.mk | 1 + keyboards/naiping/np64/np64.c | 16 + keyboards/naiping/np64/np64.h | 31 + keyboards/naiping/np64/readme.md | 17 + keyboards/naiping/np64/rules.mk | 25 + keyboards/naiping/nphhkb/chconf.h | 24 + keyboards/naiping/nphhkb/config.h | 52 + keyboards/naiping/nphhkb/info.json | 76 + .../naiping/nphhkb/keymaps/default/keymap.c | 40 + keyboards/naiping/nphhkb/keymaps/via/keymap.c | 51 + keyboards/naiping/nphhkb/keymaps/via/rules.mk | 1 + keyboards/naiping/nphhkb/nphhkb.c | 16 + keyboards/naiping/nphhkb/nphhkb.h | 32 + keyboards/naiping/nphhkb/readme.md | 17 + keyboards/naiping/nphhkb/rules.mk | 25 + keyboards/naiping/npminila/chconf.h | 24 + keyboards/naiping/npminila/config.h | 51 + keyboards/naiping/npminila/info.json | 79 + .../naiping/npminila/keymaps/default/keymap.c | 39 + .../naiping/npminila/keymaps/via/keymap.c | 47 + .../naiping/npminila/keymaps/via/rules.mk | 1 + keyboards/naiping/npminila/npminila.c | 16 + keyboards/naiping/npminila/npminila.h | 30 + keyboards/naiping/npminila/readme.md | 17 + keyboards/naiping/npminila/rules.mk | 23 + keyboards/naked48/keymaps/default/keymap.c | 4 - keyboards/naked48/keymaps/salicylic/config.h | 3 +- keyboards/naked48/keymaps/salicylic/keymap.c | 4 +- .../keymaps/salicylic_with_nafuda/keymap.c | 4 +- .../keymaps/salicylic_with_setta21/keymap.c | 4 +- keyboards/naked48/rev1/rev1.c | 11 - keyboards/naked48/rules.mk | 14 +- keyboards/naked60/config.h | 3 +- keyboards/naked60/keymaps/default/keymap.c | 4 - keyboards/naked60/keymaps/salicylic/keymap.c | 4 +- .../keymaps/salicylic_with_nafuda/keymap.c | 10 +- .../keymaps/salicylic_with_setta21/keymap.c | 6 +- keyboards/naked60/keymaps/via/config.h | 23 + keyboards/naked60/keymaps/via/keymap.c | 62 + keyboards/naked60/keymaps/via/rules.mk | 1 + keyboards/naked60/naked60.c | 17 + keyboards/naked60/naked60.h | 17 + keyboards/naked60/rev1/config.h | 10 +- keyboards/naked60/rev1/rev1.c | 21 +- keyboards/naked60/rev1/rev1.h | 17 + keyboards/naked60/rules.mk | 31 +- keyboards/naked64/keymaps/default/keymap.c | 4 - keyboards/naked64/keymaps/salicylic/keymap.c | 2 +- .../keymaps/salicylic_with_setta21/keymap.c | 2 +- keyboards/naked64/rev1/rev1.c | 4 - keyboards/naked64/rules.mk | 14 +- .../namecard2x4/keymaps/brainfuck/keymap.c | 2 +- .../namecard2x4/keymaps/default/keymap.c | 17 - keyboards/namecard2x4/namecard2x4.c | 27 - keyboards/namecard2x4/rev1/config.h | 20 - keyboards/namecard2x4/rev2/config.h | 20 - keyboards/namecard2x4/rules.mk | 10 +- keyboards/navi10/keymaps/devdev/config.h | 35 + keyboards/navi10/keymaps/devdev/keymap.c | 263 + keyboards/navi10/keymaps/devdev/rules.mk | 2 + keyboards/navi10/rev0/rules.mk | 10 +- keyboards/navi10/rev2/rules.mk | 10 +- keyboards/navi10/rev3/rules.mk | 10 +- .../ncc1701kb/keymaps/brushsize/keymap.c | 11 +- keyboards/ncc1701kb/keymaps/default/keymap.c | 11 +- keyboards/ncc1701kb/rules.mk | 11 +- keyboards/nckiibs/flatbread60/config.h | 175 - keyboards/nckiibs/flatbread60/readme.md | 19 - keyboards/nckiibs/flatbread60/rules.mk | 22 - keyboards/nckiibs/vaneela/readme.md | 19 - keyboards/nckiibs/vaneela/rules.mk | 22 - keyboards/nckiibs/vaneelaex/config.h | 162 - keyboards/nckiibs/vaneelaex/readme.md | 20 - keyboards/nckiibs/vaneelaex/rules.mk | 22 - keyboards/nebula12/bootloader_defs.h | 5 - keyboards/nebula12/config.h | 2 + keyboards/nebula12/rules.mk | 10 +- keyboards/nebula68/rules.mk | 9 +- keyboards/neito/config.h | 58 + keyboards/neito/info.json | 86 + keyboards/neito/keymaps/default/keymap.c | 66 + keyboards/neito/keymaps/olli_works/keymap.c | 66 + keyboards/neito/keymaps/olli_works/rules.mk | 2 + keyboards/neito/keymaps/via/keymap.c | 66 + keyboards/neito/keymaps/via/rules.mk | 2 + keyboards/neito/neito.c | 17 + keyboards/neito/neito.h | 37 + keyboards/neito/readme.md | 24 + keyboards/neito/rules.mk | 23 + keyboards/nek_type_a/keymaps/default/keymap.c | 12 - keyboards/nek_type_a/nek_type_a.c | 27 - keyboards/nek_type_a/rules.mk | 10 +- keyboards/nemui/rules.mk | 5 +- keyboards/neokeys/g67/hotswap/rules.mk | 2 +- keyboards/neokeys/g67/soldered/rules.mk | 2 +- keyboards/neopad/config.h | 34 + keyboards/neopad/readme.md | 25 + keyboards/neopad/rev1/config.h | 41 + keyboards/neopad/rev1/info.json | 16 + .../neopad/rev1/keymaps/default/keymap.c | 154 + keyboards/neopad/rev1/readme.md | 5 + keyboards/neopad/rev1/rev1.c | 61 + keyboards/neopad/rev1/rev1.h | 26 + keyboards/neopad/rev1/rules.mk | 25 + keyboards/neopad/rules.mk | 1 + keyboards/neson_design/n6/config.h | 67 + keyboards/neson_design/n6/info.json | 163 + .../neson_design/n6/keymaps/default/keymap.c | 34 + .../neson_design/n6/keymaps/via/keymap.c | 48 + .../neson_design/n6/keymaps/via/rules.mk | 2 + keyboards/neson_design/n6/n6.c | 317 ++ keyboards/neson_design/n6/n6.h | 75 + keyboards/neson_design/n6/readme.md | 21 + keyboards/neson_design/n6/rules.mk | 23 + keyboards/newgame40/newgame40.c | 4 - keyboards/newgame40/rules.mk | 10 +- keyboards/nibiria/stream15/rules.mk | 5 +- .../hailey/keymaps/default/keymap.c | 3 +- .../hailey/keymaps/via/keymap.c | 3 +- keyboards/nightingale_studios/hailey/rules.mk | 5 +- keyboards/nightly_boards/adellein/adellein.c | 7 +- keyboards/nightly_boards/adellein/rules.mk | 2 +- keyboards/nightly_boards/alter/rev1/rules.mk | 10 +- keyboards/nightly_boards/n2/rules.mk | 2 +- keyboards/nightly_boards/n40_o/n40_o.c | 7 +- keyboards/nightly_boards/n40_o/rules.mk | 2 +- keyboards/nightly_boards/n60_s/n60_s.c | 5 +- keyboards/nightly_boards/n60_s/rules.mk | 2 +- keyboards/nightly_boards/n87/config.h | 20 - keyboards/nightly_boards/n87/rules.mk | 9 +- keyboards/nightly_boards/n9/config.h | 93 + keyboards/nightly_boards/n9/info.json | 23 + .../n9/keymaps/default/keymap.c | 24 + .../nightly_boards/n9/keymaps/via/keymap.c | 39 + .../nightly_boards/n9/keymaps/via/rules.mk | 2 + keyboards/nightly_boards/n9/n9.c | 18 + keyboards/nightly_boards/n9/n9.h | 29 + keyboards/nightly_boards/n9/readme.md | 18 + keyboards/nightly_boards/n9/rules.mk | 21 + keyboards/nightly_boards/octopad/octopad.c | 7 +- keyboards/nightly_boards/octopad/rules.mk | 2 +- keyboards/nightly_boards/ph_arisu/rules.mk | 2 +- keyboards/nightmare/config.h | 20 - keyboards/nightmare/nightmare.c | 35 - keyboards/nightmare/rules.mk | 10 +- keyboards/nimrod/rules.mk | 2 +- keyboards/niu_mini/keymaps/default/keymap.c | 45 - keyboards/niu_mini/keymaps/edvard/keymap.c | 194 + keyboards/niu_mini/keymaps/edvard/readme.md | 5 + keyboards/niu_mini/keymaps/tucznak/rules.mk | 2 +- keyboards/niu_mini/niu_mini.c | 2 +- keyboards/niu_mini/niu_mini.h | 15 - keyboards/niu_mini/rules.mk | 11 +- keyboards/nix_studio/oxalys80/config.h | 80 + keyboards/nix_studio/oxalys80/info.json | 297 ++ .../oxalys80/keymaps/default/keymap.c | 36 + .../oxalys80/keymaps/default/readme.md | 1 + .../nix_studio/oxalys80/keymaps/via/keymap.c | 52 + .../nix_studio/oxalys80/keymaps/via/readme.md | 1 + .../nix_studio/oxalys80/keymaps/via/rules.mk | 1 + keyboards/nix_studio/oxalys80/oxalys80.c | 26 + keyboards/nix_studio/oxalys80/oxalys80.h | 45 + keyboards/nix_studio/oxalys80/readme.md | 43 + keyboards/nix_studio/oxalys80/rules.mk | 24 + keyboards/nk1/config.h | 93 + keyboards/nk1/info.json | 12 + keyboards/nk1/keymaps/default/keymap.c | 21 + keyboards/nk1/keymaps/default/readme.md | 1 + keyboards/nk1/keymaps/via/keymap.c | 21 + keyboards/nk1/keymaps/via/readme.md | 1 + keyboards/nk1/keymaps/via/rules.mk | 1 + keyboards/nk1/nk1.c | 17 + keyboards/nk1/nk1.h | 25 + keyboards/nk1/readme.md | 32 + keyboards/nk1/rules.mk | 24 + keyboards/nk65/config.h | 5 +- keyboards/nk65/keymaps/default/keymap.c | 12 - keyboards/nk65/keymaps/via/keymap.c | 12 - keyboards/nk65/nk65.c | 2 +- keyboards/nk65/rules.mk | 10 +- keyboards/nk87/config.h | 2 +- keyboards/nk87/nk87.c | 2 +- keyboards/nk87/rules.mk | 9 +- keyboards/nknl7en/info.json | 4 +- keyboards/nknl7en/keymaps/salicylic/keymap.c | 2 +- keyboards/nknl7en/rules.mk | 2 +- keyboards/nknl7jp/keymaps/salicylic/keymap.c | 2 +- keyboards/nknl7jp/rules.mk | 2 +- keyboards/nomu30/rev1/rules.mk | 10 +- keyboards/nomu30/rev2/rules.mk | 10 +- keyboards/nopunin10did/jabberwocky/config.h | 53 + keyboards/nopunin10did/jabberwocky/info.json | 127 + .../nopunin10did/jabberwocky/jabberwocky.c | 17 + .../nopunin10did/jabberwocky/jabberwocky.h | 65 + .../jabberwocky/keymaps/default/keymap.c | 38 + .../jabberwocky/keymaps/nopunin10did/keymap.c | 49 + .../jabberwocky/keymaps/nopunin10did/rules.mk | 2 + .../jabberwocky/keymaps/via/keymap.c | 46 + .../jabberwocky/keymaps/via/rules.mk | 2 + keyboards/nopunin10did/jabberwocky/readme.md | 28 + keyboards/nopunin10did/jabberwocky/rules.mk | 22 + keyboards/nopunin10did/railroad/rev0/rules.mk | 2 +- keyboards/novelpad/config.h | 20 - keyboards/novelpad/rules.mk | 9 +- keyboards/noxary/220/config.h | 20 - keyboards/noxary/220/rules.mk | 10 +- keyboards/noxary/260/config.h | 20 - keyboards/noxary/260/rules.mk | 10 +- keyboards/noxary/268/keymaps/ansi/keymap.c | 45 +- keyboards/noxary/268/keymaps/default/keymap.c | 47 +- keyboards/noxary/268/keymaps/iso/keymap.c | 45 +- keyboards/noxary/268/rules.mk | 10 +- keyboards/noxary/268_2/config.h | 20 - keyboards/noxary/268_2/rules.mk | 10 +- keyboards/noxary/268_2_rgb/rules.mk | 2 +- keyboards/noxary/280/config.h | 20 - keyboards/noxary/280/rules.mk | 10 +- keyboards/noxary/378/378.c | 18 + keyboards/noxary/378/378.h | 36 + keyboards/noxary/378/chconf.h | 30 + keyboards/noxary/378/config.h | 71 + keyboards/noxary/378/info.json | 94 + keyboards/noxary/378/keymaps/default/keymap.c | 27 + keyboards/noxary/378/keymaps/via/keymap.c | 48 + keyboards/noxary/378/keymaps/via/rules.mk | 1 + keyboards/noxary/378/mcuconf.h | 24 + keyboards/noxary/378/readme.md | 15 + keyboards/noxary/378/rules.mk | 25 + keyboards/noxary/vulcan/rules.mk | 2 +- keyboards/noxary/x268/config.h | 20 - keyboards/noxary/x268/rules.mk | 10 +- keyboards/np12/config.h | 45 + keyboards/np12/info.json | 26 + keyboards/np12/keymaps/default/keymap.c | 59 + keyboards/np12/keymaps/default/readme.md | 6 + keyboards/np12/keymaps/via/keymap.c | 59 + keyboards/np12/keymaps/via/rules.mk | 1 + keyboards/np12/np12.c | 17 + keyboards/np12/np12.h | 31 + keyboards/np12/readme.md | 24 + keyboards/np12/rules.mk | 23 + .../nibble/keymaps/default/keymap.c | 3 +- .../nullbitsco/nibble/keymaps/iso/keymap.c | 3 +- .../nullbitsco/nibble/keymaps/oled/keymap.c | 5 +- .../nullbitsco/nibble/keymaps/oled/rules.mk | 3 +- .../keymaps/oled_bongocat/animation_frames.h | 404 ++ .../nibble/keymaps/oled_bongocat/keymap.c | 461 +- .../nibble/keymaps/oled_bongocat/readme.md | 2 + .../nibble/keymaps/oled_bongocat/rules.mk | 6 +- .../nibble/keymaps/oled_status/config.h | 21 + .../nibble/keymaps/oled_status/glcdfont.c | 245 + .../nibble/keymaps/oled_status/keymap.c | 105 + .../nibble/keymaps/oled_status/oled_display.c | 119 + .../nibble/keymaps/oled_status/oled_display.h | 41 + .../nibble/keymaps/oled_status/readme.md | 29 + .../nibble/keymaps/oled_status/rules.mk | 8 + .../nibble/keymaps/snailmap/keymap.c | 542 ++ .../nibble/keymaps/snailmap/readme.md | 36 + .../nibble/keymaps/snailmap/rules.mk | 5 + .../nullbitsco/nibble/keymaps/via/keymap.c | 3 +- keyboards/nullbitsco/nibble/rules.mk | 3 +- .../scramble/keymaps/default/keymap.c | 5 +- .../nullbitsco/scramble/keymaps/oled/keymap.c | 7 +- .../nullbitsco/scramble/keymaps/oled/rules.mk | 3 +- .../nullbitsco/scramble/keymaps/via/keymap.c | 7 +- keyboards/nullbitsco/scramble/rules.mk | 4 +- keyboards/numatreus/keymaps/hdbx/keymap.c | 2 +- keyboards/numatreus/rules.mk | 11 +- keyboards/ocean/gin_v2/config.h | 51 + keyboards/ocean/gin_v2/gin_v2.c | 15 + keyboards/ocean/gin_v2/gin_v2.h | 37 + keyboards/ocean/gin_v2/info.json | 74 + .../ocean/gin_v2/keymaps/default/keymap.c | 32 + keyboards/ocean/gin_v2/keymaps/via/keymap.c | 46 + keyboards/ocean/gin_v2/keymaps/via/rules.mk | 2 + keyboards/ocean/gin_v2/readme.md | 24 + keyboards/ocean/gin_v2/rules.mk | 22 + keyboards/ocean/slamz/config.h | 50 + keyboards/ocean/slamz/info.json | 12 + .../ocean/slamz/keymaps/default/keymap.c | 25 + keyboards/ocean/slamz/keymaps/via/keymap.c | 46 + keyboards/ocean/slamz/keymaps/via/rules.mk | 2 + keyboards/ocean/slamz/readme.md | 23 + keyboards/ocean/slamz/rules.mk | 22 + keyboards/ocean/slamz/slamz.c | 15 + keyboards/ocean/slamz/slamz.h | 31 + keyboards/ocean/stealth/config.h | 51 + keyboards/ocean/stealth/info.json | 12 + .../ocean/stealth/keymaps/default/keymap.c | 33 + keyboards/ocean/stealth/keymaps/via/keymap.c | 33 + keyboards/ocean/stealth/keymaps/via/rules.mk | 2 + keyboards/ocean/stealth/readme.md | 23 + keyboards/ocean/stealth/rules.mk | 22 + keyboards/ocean/stealth/stealth.c | 15 + keyboards/ocean/stealth/stealth.h | 25 + keyboards/ocean/sus/config.h | 51 + keyboards/ocean/sus/info.json | 28 + keyboards/ocean/sus/keymaps/default/keymap.c | 45 + keyboards/ocean/sus/keymaps/via/keymap.c | 45 + keyboards/ocean/sus/keymaps/via/rules.mk | 2 + keyboards/ocean/sus/readme.md | 24 + keyboards/ocean/sus/rules.mk | 22 + keyboards/ocean/sus/sus.c | 15 + keyboards/ocean/sus/sus.h | 31 + keyboards/ocean/wang_ergo/config.h | 51 + keyboards/ocean/wang_ergo/info.json | 10 + .../ocean/wang_ergo/keymaps/default/keymap.c | 24 + .../ocean/wang_ergo/keymaps/via/keymap.c | 45 + .../ocean/wang_ergo/keymaps/via/rules.mk | 2 + keyboards/ocean/wang_ergo/readme.md | 24 + keyboards/ocean/wang_ergo/rules.mk | 22 + keyboards/ocean/wang_ergo/wang_ergo.c | 15 + keyboards/ocean/wang_ergo/wang_ergo.h | 31 + keyboards/ocean/wang_v2/config.h | 51 + keyboards/ocean/wang_v2/info.json | 12 + .../ocean/wang_v2/keymaps/default/keymap.c | 45 + keyboards/ocean/wang_v2/keymaps/via/keymap.c | 45 + keyboards/ocean/wang_v2/keymaps/via/rules.mk | 2 + keyboards/ocean/wang_v2/readme.md | 24 + keyboards/ocean/wang_v2/rules.mk | 22 + keyboards/ocean/wang_v2/wang_v2.c | 15 + keyboards/ocean/wang_v2/wang_v2.h | 31 + keyboards/oddball/adns/adns.c | 219 - keyboards/oddball/config.h | 20 - .../oddball/optical_sensor/optical_sensor.h | 2 +- keyboards/oddball/rules.mk | 5 +- keyboards/oddball/v1/rules.mk | 2 +- keyboards/oddball/v2/rules.mk | 2 +- keyboards/oddball/v2_1/rules.mk | 2 +- keyboards/oddforge/vea/rules.mk | 6 +- keyboards/odelia/rules.mk | 2 +- keyboards/ogre/ergo_single/rules.mk | 10 +- keyboards/ogre/ergo_split/rules.mk | 10 +- keyboards/ogurec/config.h | 56 + keyboards/ogurec/info.json | 88 + keyboards/ogurec/keymaps/dack/config.h | 19 + keyboards/ogurec/keymaps/dack/keymap.c | 97 + keyboards/ogurec/keymaps/dack/readme.md | 3 + keyboards/ogurec/keymaps/default/config.h | 19 + keyboards/ogurec/keymaps/default/keymap.c | 76 + keyboards/ogurec/keymaps/default/readme.md | 1 + .../keymaps/default/rules.mk | 0 keyboards/ogurec/left_pm/left_pm.h | 49 + keyboards/ogurec/left_pm/readme.md | 13 + keyboards/ogurec/left_pm/rules.mk | 0 keyboards/ogurec/ogurec.c | 16 + keyboards/ogurec/ogurec.h | 24 + keyboards/ogurec/readme.md | 27 + keyboards/ogurec/right_pm/readme.md | 13 + keyboards/ogurec/right_pm/right_pm.h | 49 + keyboards/ogurec/right_pm/rules.mk | 0 keyboards/ogurec/rules.mk | 23 + keyboards/ok60/info.json | 3 + keyboards/ok60/ok60.h | 14 + keyboards/ok60/rules.mk | 14 +- keyboards/omnikey_bh/rules.mk | 9 +- keyboards/omnikeyish/rules.mk | 9 +- keyboards/opendeck/32/rev1/config.h | 2 +- keyboards/opendeck/32/rev1/rev1.c | 2 +- keyboards/opendeck/32/rev1/rules.mk | 2 +- keyboards/opus/rules.mk | 2 +- keyboards/orange75/keymaps/default/keymap.c | 31 +- keyboards/orange75/rules.mk | 9 +- keyboards/org60/keymaps/default/keymap.c | 5 - keyboards/org60/rules.mk | 10 +- keyboards/ortho5by12/rules.mk | 12 +- keyboards/orthocode/config.h | 93 + keyboards/orthocode/info.json | 89 + keyboards/orthocode/keymaps/default/keymap.c | 175 + keyboards/orthocode/orthocode.c | 16 + keyboards/orthocode/orthocode.h | 36 + keyboards/orthocode/readme.md | 17 + keyboards/orthocode/rules.mk | 26 + keyboards/orthodox/keymaps/drashna/keymap.c | 78 +- keyboards/orthodox/keymaps/drashna/rules.mk | 3 +- keyboards/orthodox/keymaps/rfvizarra/keymap.c | 2 +- keyboards/orthodox/orthodox.h | 15 - keyboards/orthodox/rev1/rev1.c | 15 +- keyboards/orthodox/rev1/rules.mk | 7 - keyboards/orthodox/rev3/config.h | 4 +- keyboards/orthodox/rev3/rev3.c | 15 +- keyboards/orthodox/rev3/rules.mk | 7 - keyboards/orthodox/rev3_teensy/config.h | 2 +- keyboards/orthodox/rev3_teensy/rev3_teensy.c | 15 +- keyboards/orthodox/rev3_teensy/rules.mk | 7 - keyboards/orthodox/rules.mk | 3 +- keyboards/otaku_split/rev0/config.h | 20 - .../otaku_split/rev0/keymaps/default/keymap.c | 18 - .../otaku_split/rev0/keymaps/sample/keymap.c | 12 - keyboards/otaku_split/rev0/rev0.c | 35 - keyboards/otaku_split/rev0/rules.mk | 10 +- keyboards/otaku_split/rev1/config.h | 20 - .../otaku_split/rev1/keymaps/default/keymap.c | 19 - .../otaku_split/rev1/keymaps/sample/keymap.c | 12 - keyboards/otaku_split/rev1/rev1.c | 35 - keyboards/otaku_split/rev1/rules.mk | 10 +- keyboards/owl8/config.h | 156 + keyboards/owl8/info.json | 30 + keyboards/owl8/keymaps/default/keymap.c | 68 + keyboards/owl8/keymaps/default/readme.md | 1 + keyboards/owl8/keymaps/via/keymap.c | 123 + keyboards/owl8/keymaps/via/readme.md | 1 + keyboards/owl8/keymaps/via/rules.mk | 1 + keyboards/owl8/owl8.c | 17 + keyboards/owl8/owl8.h | 38 + keyboards/owl8/readme.md | 19 + keyboards/owl8/rules.mk | 24 + keyboards/owlab/jelly_epoch/hotswap/config.h | 65 + keyboards/owlab/jelly_epoch/hotswap/hotswap.c | 18 + keyboards/owlab/jelly_epoch/hotswap/hotswap.h | 38 + keyboards/owlab/jelly_epoch/hotswap/info.json | 94 + .../hotswap/keymaps/default/keymap.c | 37 + .../jelly_epoch/hotswap/keymaps/via/keymap.c | 53 + .../jelly_epoch/hotswap/keymaps/via/rules.mk | 2 + keyboards/owlab/jelly_epoch/hotswap/readme.md | 21 + keyboards/owlab/jelly_epoch/hotswap/rules.mk | 22 + keyboards/owlab/jelly_epoch/soldered/config.h | 65 + .../owlab/jelly_epoch/soldered/info.json | 267 + .../soldered/keymaps/default/keymap.c | 37 + .../jelly_epoch/soldered/keymaps/via/keymap.c | 53 + .../jelly_epoch/soldered/keymaps/via/rules.mk | 2 + .../owlab/jelly_epoch/soldered/readme.md | 21 + keyboards/owlab/jelly_epoch/soldered/rules.mk | 22 + .../owlab/jelly_epoch/soldered/soldered.c | 18 + .../owlab/jelly_epoch/soldered/soldered.h | 70 + keyboards/owlab/voice65/hotswap/config.h | 90 + keyboards/owlab/voice65/hotswap/halconf.h | 21 + keyboards/owlab/voice65/hotswap/hotswap.c | 449 ++ keyboards/owlab/voice65/hotswap/hotswap.h | 46 + keyboards/owlab/voice65/hotswap/info.json | 81 + .../voice65/hotswap/keymaps/default/keymap.c | 50 + .../voice65/hotswap/keymaps/via/keymap.c | 51 + .../voice65/hotswap/keymaps/via/rules.mk | 2 + keyboards/owlab/voice65/hotswap/mcuconf.h | 22 + keyboards/owlab/voice65/hotswap/readme.md | 21 + keyboards/owlab/voice65/hotswap/rules.mk | 28 + keyboards/owlab/voice65/soldered/config.h | 89 + keyboards/owlab/voice65/soldered/halconf.h | 21 + keyboards/owlab/voice65/soldered/info.json | 442 ++ .../voice65/soldered/keymaps/default/keymap.c | 50 + .../voice65/soldered/keymaps/via/keymap.c | 50 + .../voice65/soldered/keymaps/via/rules.mk | 2 + keyboards/owlab/voice65/soldered/mcuconf.h | 22 + keyboards/owlab/voice65/soldered/readme.md | 21 + keyboards/owlab/voice65/soldered/rules.mk | 28 + keyboards/owlab/voice65/soldered/soldered.c | 454 ++ keyboards/owlab/voice65/soldered/soldered.h | 116 + keyboards/pabile/p18/keymaps/default/keymap.c | 9 +- keyboards/pabile/p18/rules.mk | 10 +- .../pabile/p20/ver1/keymaps/default/keymap.c | 29 +- keyboards/pabile/p20/ver1/rules.mk | 2 +- keyboards/pabile/p20/ver2/rules.mk | 2 +- keyboards/pabile/p40/rules.mk | 10 +- keyboards/pabile/p40_ortho/rules.mk | 2 +- keyboards/pabile/p42/rules.mk | 2 +- keyboards/paladin64/keymaps/default/keymap.c | 45 - keyboards/paladin64/rules.mk | 9 +- keyboards/palette1202/config.h | 2 +- .../palette1202/keymaps/default/keymap.c | 13 +- .../palette1202/keymaps/key-check/keymap.c | 9 +- keyboards/palette1202/lib/oled_helper.c | 2 +- keyboards/palette1202/lib/oled_helper.h | 6 +- keyboards/palette1202/palette1202.c | 3 +- keyboards/palette1202/rules.mk | 13 +- keyboards/panc40/rules.mk | 10 +- keyboards/panc60/rules.mk | 11 +- keyboards/pandora/keymaps/default/keymap.c | 8 +- keyboards/pandora/keymaps/via/keymap.c | 8 +- keyboards/pandora/rules.mk | 4 +- keyboards/pdxkbc/config.h | 20 - keyboards/pdxkbc/keymaps/default/keymap.c | 6 - keyboards/pdxkbc/rules.mk | 10 +- keyboards/pearl/keymaps/cijanzen/rules.mk | 2 +- keyboards/pearl/rules.mk | 11 +- keyboards/pearlboards/pandora/config.h | 79 + keyboards/pearlboards/pandora/info.json | 12 + .../pandora/keymaps/default/keymap.c | 84 + .../pearlboards/pandora/keymaps/via/keymap.c | 98 + .../pearlboards/pandora/keymaps/via/rules.mk | 1 + keyboards/pearlboards/pandora/pandora.c | 17 + keyboards/pearlboards/pandora/pandora.h | 38 + keyboards/pearlboards/pandora/readme.md | 17 + keyboards/pearlboards/pandora/rules.mk | 26 + keyboards/peej/lumberjack/config.h | 41 + keyboards/peej/lumberjack/info.json | 73 + .../peej/lumberjack/keymaps/default/keymap.c | 70 + .../peej/lumberjack/keymaps/via/keymap.c | 50 + .../peej/lumberjack/keymaps/via/rules.mk | 1 + keyboards/peej/lumberjack/lumberjack.c | 30 + keyboards/peej/lumberjack/lumberjack.h | 38 + keyboards/peej/lumberjack/readme.md | 16 + keyboards/peej/lumberjack/rules.mk | 24 + keyboards/peej/tripel/config.h | 38 + keyboards/peej/tripel/info.json | 82 + .../peej/tripel/keymaps/default/keymap.c | 54 + keyboards/peej/tripel/keymaps/via/keymap.c | 50 + keyboards/peej/tripel/keymaps/via/rules.mk | 1 + keyboards/peej/tripel/left/left.h | 38 + keyboards/peej/tripel/left/readme.md | 21 + keyboards/peej/tripel/left/rules.mk | 1 + keyboards/peej/tripel/middle/middle.h | 38 + keyboards/peej/tripel/middle/readme.md | 21 + keyboards/peej/tripel/middle/rules.mk | 1 + keyboards/peej/tripel/right/readme.md | 21 + keyboards/peej/tripel/right/right.h | 38 + keyboards/peej/tripel/right/rules.mk | 1 + keyboards/peej/tripel/rules.mk | 24 + .../ixora/keymaps/default/keymap.c | 42 - keyboards/peiorisboards/ixora/readme.md | 22 - keyboards/peiorisboards/ixora/rules.mk | 18 - .../tone/keymaps/default/keymap.c | 33 + .../tone/keymaps/default/readme.md | 2 + keyboards/peranekofactory/tone/readme.md | 19 + keyboards/peranekofactory/tone/rev1/config.h | 159 + keyboards/peranekofactory/tone/rev1/info.json | 12 + keyboards/peranekofactory/tone/rev1/readme.md | 19 + keyboards/peranekofactory/tone/rev1/rev1.c | 17 + keyboards/peranekofactory/tone/rev1/rev1.h | 35 + keyboards/peranekofactory/tone/rev1/rules.mk | 23 + keyboards/peranekofactory/tone/rev2/config.h | 159 + keyboards/peranekofactory/tone/rev2/info.json | 12 + keyboards/peranekofactory/tone/rev2/readme.md | 19 + keyboards/peranekofactory/tone/rev2/rev2.c | 17 + keyboards/peranekofactory/tone/rev2/rev2.h | 35 + keyboards/peranekofactory/tone/rev2/rules.mk | 23 + keyboards/peranekofactory/tone/rules.mk | 1 + keyboards/percent/booster/booster.c | 35 - keyboards/percent/booster/rules.mk | 10 +- keyboards/percent/canoe/rules.mk | 11 +- keyboards/percent/canoe_gen2/config.h | 2 +- .../percent/canoe_gen2/keymaps/via/rules.mk | 1 + keyboards/percent/canoe_gen2/rules.mk | 2 +- keyboards/percent/skog/rules.mk | 11 +- keyboards/percent/skog_lite/rules.mk | 11 +- keyboards/phantom/rules.mk | 2 +- keyboards/phase_studio/titan65/config.h | 51 - .../phase_studio/titan65/hotswap/config.h | 51 + .../phase_studio/titan65/hotswap/hotswap.c | 51 + .../titan65/{titan65.h => hotswap/hotswap.h} | 0 .../phase_studio/titan65/hotswap/info.json | 80 + .../{ => hotswap}/keymaps/default/keymap.c | 0 .../{ => hotswap}/keymaps/via/keymap.c | 0 .../titan65/hotswap/keymaps/via/rules.mk | 2 + .../titan65/{ => hotswap}/readme.md | 0 .../phase_studio/titan65/hotswap/rules.mk | 26 + keyboards/phase_studio/titan65/info.json | 80 - keyboards/phase_studio/titan65/rules.mk | 27 +- .../phase_studio/titan65/soldered/config.h | 45 + .../phase_studio/titan65/soldered/info.json | 83 + .../titan65/soldered/keymaps/default/keymap.c | 36 + .../titan65/soldered/keymaps/via/keymap.c | 51 + .../titan65/soldered/keymaps/via/rules.mk | 2 + .../phase_studio/titan65/soldered/readme.md | 24 + .../phase_studio/titan65/soldered/rules.mk | 24 + .../phase_studio/titan65/soldered/soldered.c | 17 + .../phase_studio/titan65/soldered/soldered.h | 91 + keyboards/phase_studio/titan65/titan65.c | 51 - keyboards/phoenix/rules.mk | 6 +- keyboards/pico/rules.mk | 10 +- keyboards/picolab/frusta_fundamental/config.h | 57 + .../frusta_fundamental/frusta_fundamental.c | 17 + .../frusta_fundamental/frusta_fundamental.h | 44 + .../picolab/frusta_fundamental/info.json | 84 + .../keymaps/default/keymap.c | 41 + .../keymaps/default/readme.md | 3 + .../frusta_fundamental/keymaps/via/keymap.c | 51 + .../frusta_fundamental/keymaps/via/rules.mk | 2 + .../picolab/frusta_fundamental/readme.md | 15 + keyboards/picolab/frusta_fundamental/rules.mk | 22 + keyboards/pimentoso/paddino02/rev1/rules.mk | 2 +- .../pimentoso/paddino02/rev2/left/rules.mk | 2 +- .../pimentoso/paddino02/rev2/right/rules.mk | 2 +- keyboards/pimentoso/touhoupad/config.h | 52 + keyboards/pimentoso/touhoupad/info.json | 26 + .../touhoupad/keymaps/default/keymap.c | 33 + .../touhoupad/keymaps/default/readme.md | 1 + keyboards/pimentoso/touhoupad/readme.md | 19 + keyboards/pimentoso/touhoupad/rules.mk | 22 + keyboards/pimentoso/touhoupad/touhoupad.c | 16 + keyboards/pimentoso/touhoupad/touhoupad.h | 28 + keyboards/pinky/pinky.c | 27 - keyboards/pinky/rules.mk | 2 +- keyboards/pisces/config.h | 70 + keyboards/pisces/info.json | 16 + keyboards/pisces/keymaps/default/config.h | 20 + keyboards/pisces/keymaps/default/keymap.c | 62 + keyboards/pisces/keymaps/default/readme.md | 1 + keyboards/pisces/keymaps/via/config.h | 20 + keyboards/pisces/keymaps/via/keymap.c | 62 + keyboards/pisces/keymaps/via/readme.md | 1 + keyboards/pisces/keymaps/via/rules.mk | 1 + keyboards/pisces/pisces.c | 27 + keyboards/pisces/pisces.h | 41 + keyboards/pisces/readme.md | 24 + keyboards/pisces/rules.mk | 25 + keyboards/pistachio/config.h | 51 +- keyboards/pistachio/keymaps/rate/keymap.c | 69 + keyboards/pistachio/keymaps/via/keymap.c | 78 + keyboards/pistachio/keymaps/via/rules.mk | 1 + keyboards/pistachio/pistachio.h | 42 +- keyboards/pistachio/readme.md | 13 +- keyboards/pistachio/rev1/config.h | 67 + keyboards/pistachio/rev1/readme.md | 17 + keyboards/pistachio/rev1/rev1.c | 18 + keyboards/pistachio/rev1/rev1.h | 58 + keyboards/pistachio/rev1/rules.mk | 23 + keyboards/pistachio/rev2/config.h | 71 + keyboards/pistachio/rev2/readme.md | 17 + keyboards/pistachio/rev2/rev2.c | 19 + keyboards/pistachio/rev2/rev2.h | 58 + keyboards/pistachio/rev2/rules.mk | 23 + keyboards/pistachio/rules.mk | 24 +- keyboards/pistachio_mp/config.h | 4 +- keyboards/pistachio_mp/info.json | 44 +- .../pistachio_mp/keymaps/default/keymap.c | 3 +- keyboards/pistachio_mp/keymaps/via/keymap.c | 76 + keyboards/pistachio_mp/keymaps/via/readme.md | 1 + keyboards/pistachio_mp/keymaps/via/rules.mk | 1 + keyboards/pistachio_mp/rules.mk | 2 +- keyboards/pistachio_pro/config.h | 108 + keyboards/pistachio_pro/info.json | 108 + .../pistachio_pro/keymaps/default/keymap.c | 123 + .../pistachio_pro/keymaps/default/readme.md | 1 + keyboards/pistachio_pro/keymaps/rate/keymap.c | 125 + .../pistachio_pro/keymaps/rate/readme.md | 1 + keyboards/pistachio_pro/keymaps/via/keymap.c | 141 + keyboards/pistachio_pro/keymaps/via/readme.md | 1 + keyboards/pistachio_pro/keymaps/via/rules.mk | 1 + keyboards/pistachio_pro/lib/bme280.c | 255 + keyboards/pistachio_pro/lib/bme280.h | 22 + keyboards/pistachio_pro/lib/glcdfont.c | 232 + keyboards/pistachio_pro/matrix.c | 151 + keyboards/pistachio_pro/pistachio_pro.c | 17 + keyboards/pistachio_pro/pistachio_pro.h | 42 + keyboards/pistachio_pro/readme.md | 21 + keyboards/pistachio_pro/rules.mk | 29 + .../pizza65/keymaps/iso_blocker/keymap.c | 4 +- .../keymaps/iso_blocker_doublebs/keymap.c | 10 +- keyboards/pizzakeyboards/pizza65/pizza65.h | 16 +- keyboards/pizzakeyboards/pizza65/rules.mk | 5 +- keyboards/pkb65/config.h | 68 + keyboards/pkb65/info.json | 77 + keyboards/pkb65/keymaps/default/keymap.c | 40 + keyboards/pkb65/keymaps/via/keymap.c | 53 + keyboards/pkb65/keymaps/via/rules.mk | 2 + keyboards/pkb65/pkb65.c | 20 + keyboards/pkb65/pkb65.h | 38 + keyboards/pkb65/readme.md | 16 + keyboards/pkb65/rules.mk | 22 + keyboards/planck/config.h | 3 +- keyboards/planck/ez/config.h | 27 +- keyboards/planck/ez/ez.c | 4 +- keyboards/planck/ez/ez.h | 23 +- keyboards/planck/ez/glow/config.h | 5 +- keyboards/planck/ez/glow/glow.c | 18 + keyboards/planck/ez/glow/glow.h | 18 + keyboards/planck/ez/readme.md | 18 +- keyboards/planck/ez/rules.mk | 8 +- keyboards/planck/info.json | 196 +- keyboards/planck/keymaps/ab/rules.mk | 2 +- keyboards/planck/keymaps/abishalom/keymap.c | 6 +- keyboards/planck/keymaps/adamtabrams/config.h | 39 + keyboards/planck/keymaps/adamtabrams/keymap.c | 279 + .../planck/keymaps/adamtabrams/readme.md | 89 + keyboards/planck/keymaps/adamtabrams/rules.mk | 13 + keyboards/planck/keymaps/ajp10304/readme.md | 2 +- keyboards/planck/keymaps/alexey/rules.mk | 2 +- keyboards/planck/keymaps/altgr/rules.mk | 2 +- keyboards/planck/keymaps/am/keymap.c | 2 +- .../planck/keymaps/andylikescandy/keymap.c | 6 +- .../planck/keymaps/angerthosenear/rules.mk | 2 +- keyboards/planck/keymaps/atreus/keymap.c | 6 +- keyboards/planck/keymaps/austin/rules.mk | 2 +- keyboards/planck/keymaps/basic/rules.mk | 2 +- keyboards/planck/keymaps/bone2planck/keymap.c | 16 +- keyboards/planck/keymaps/bone2planck/rules.mk | 2 +- keyboards/planck/keymaps/buffet/rules.mk | 2 +- keyboards/planck/keymaps/buhearns/rules.mk | 2 +- keyboards/planck/keymaps/cbbrowne/rules.mk | 3 +- .../planck/keymaps/charlesrocket/keymap.c | 7 +- keyboards/planck/keymaps/charlie/rules.mk | 2 +- keyboards/planck/keymaps/circuit/rules.mk | 2 +- keyboards/planck/keymaps/copface/rules.mk | 2 +- keyboards/planck/keymaps/corvec/keymap.c | 66 +- keyboards/planck/keymaps/corvec/rules.mk | 1 - keyboards/planck/keymaps/csc027/config.h | 28 + keyboards/planck/keymaps/csc027/rules.mk | 2 +- keyboards/planck/keymaps/daniel/rules.mk | 2 +- .../planck/keymaps/danielhklein/rules.mk | 2 +- keyboards/planck/keymaps/david/rules.mk | 2 +- keyboards/planck/keymaps/davidrambo/keymap.c | 39 +- keyboards/planck/keymaps/dc/rules.mk | 2 +- .../keymaps/dear_vehicle_owner/keymap.c | 6 +- keyboards/planck/keymaps/default/keymap.c | 6 +- keyboards/planck/keymaps/deft/keymap.c | 2 +- keyboards/planck/keymaps/dlaroe/rules.mk | 2 +- keyboards/planck/keymaps/dodger/config.h | 4 + keyboards/planck/keymaps/dodger/keymap.c | 237 +- keyboards/planck/keymaps/dodger/rules.mk | 1 + .../planck/keymaps/dr_notsokind/rules.mk | 2 +- .../planck/keymaps/dsanchezseco/keymap.c | 2 +- .../planck/keymaps/dvorak2space/rules.mk | 3 +- keyboards/planck/keymaps/dzobert/rules.mk | 2 +- keyboards/planck/keymaps/eshesh2/keymap.c | 3 +- keyboards/planck/keymaps/espynn/rules.mk | 2 +- .../planck/keymaps/experimental/rules.mk | 2 +- keyboards/planck/keymaps/fabian/keymap.c | 7 +- keyboards/planck/keymaps/gabriel/rules.mk | 2 +- keyboards/planck/keymaps/gitdrik/keymap.c | 6 +- keyboards/planck/keymaps/grant24/keymap.c | 6 +- keyboards/planck/keymaps/gunp/config.h | 56 +- keyboards/planck/keymaps/gunp/keymap.c | 363 +- keyboards/planck/keymaps/gunp/readme.md | 100 +- keyboards/planck/keymaps/gunp/rules.mk | 32 +- .../planck/keymaps/gunp/upload-and-make.sh | 16 - keyboards/planck/keymaps/hiea/rules.mk | 2 +- keyboards/planck/keymaps/hieax/rules.mk | 2 +- keyboards/planck/keymaps/hvp/keymap.c | 12 +- keyboards/planck/keymaps/impossible/rules.mk | 2 +- keyboards/planck/keymaps/ishtob/rule.mk | 19 - keyboards/planck/keymaps/ishtob/rules.mk | 18 + keyboards/planck/keymaps/jacob/rules.mk | 2 +- keyboards/planck/keymaps/jasperla/keymap.c | 2 +- keyboards/planck/keymaps/jdelkins/config.h | 61 + keyboards/planck/keymaps/jdelkins/keymap.c | 510 ++ keyboards/planck/keymaps/jdelkins/readme.md | 13 + keyboards/planck/keymaps/jdelkins/rules.mk | 4 + keyboards/planck/keymaps/jeebak/rules.mk | 2 +- .../planck/keymaps/jetpacktuxedo/keymap.c | 8 +- keyboards/planck/keymaps/jhenahan/rules.mk | 2 +- keyboards/planck/keymaps/joe/rules.mk | 2 +- keyboards/planck/keymaps/johannes/rules.mk | 2 +- keyboards/planck/keymaps/kanbara/config.h | 31 + keyboards/planck/keymaps/kanbara/keymap.c | 199 + keyboards/planck/keymaps/kanbara/readme.md | 118 + keyboards/planck/keymaps/kanbara/rules.mk | 9 + keyboards/planck/keymaps/kuatsure/config.h | 33 + keyboards/planck/keymaps/kuatsure/keymap.c | 318 ++ keyboards/planck/keymaps/kuatsure/readme.md | 1 + keyboards/planck/keymaps/kuatsure/rules.mk | 6 + keyboards/planck/keymaps/kyle/rules.mk | 2 +- keyboards/planck/keymaps/lae3/rules.mk | 2 +- keyboards/planck/keymaps/leo/rules.mk | 2 +- keyboards/planck/keymaps/lja83/config.h | 25 + keyboards/planck/keymaps/lja83/keymap.c | 363 ++ keyboards/planck/keymaps/lja83/readme.md | 2 + keyboards/planck/keymaps/lja83/rules.mk | 1 + keyboards/planck/keymaps/lucas/keymap.c | 12 +- keyboards/planck/keymaps/lucas/rules.mk | 2 +- keyboards/planck/keymaps/lukas/rules.mk | 2 +- keyboards/planck/keymaps/luke/rules.mk | 2 +- keyboards/planck/keymaps/max/rules.mk | 2 +- keyboards/planck/keymaps/mgalisa/keymap.c | 7 +- .../planck/keymaps/mikethetiger/keymap.c | 8 +- keyboards/planck/keymaps/mjuma/keymap.c | 3 +- keyboards/planck/keymaps/mnil/config.h | 23 + keyboards/planck/keymaps/mnil/keymap.c | 60 + keyboards/planck/keymaps/mnil/readme.md | 2 + keyboards/planck/keymaps/mollat/rules.mk | 2 +- keyboards/planck/keymaps/motform/config.h | 35 - keyboards/planck/keymaps/motform/keymap.c | 116 +- keyboards/planck/keymaps/motform/readme.md | 5 +- keyboards/planck/keymaps/motform/rules.mk | 1 - keyboards/planck/keymaps/msiu/keymap.c | 8 +- keyboards/planck/keymaps/muzfuz/keymap.c | 10 +- keyboards/planck/keymaps/mwpeterson/keymap.c | 2 +- keyboards/planck/keymaps/narze/keymap.c | 14 +- keyboards/planck/keymaps/narze/readme.md | 17 +- keyboards/planck/keymaps/narze/rules.mk | 2 +- keyboards/planck/keymaps/navi/keymap.c | 9 +- keyboards/planck/keymaps/neo2planck/keymap.c | 12 +- keyboards/planck/keymaps/neo2planck/rules.mk | 2 +- keyboards/planck/keymaps/nick/keymap.c | 5 +- keyboards/planck/keymaps/nico/rules.mk | 2 +- .../planck/keymaps/not-quite-neo/rules.mk | 2 +- keyboards/planck/keymaps/orthodeluxe/rules.mk | 2 +- keyboards/planck/keymaps/oryx/config.h | 29 +- keyboards/planck/keymaps/oryx/keymap.c | 457 +- keyboards/planck/keymaps/oryx/rules.mk | 5 +- keyboards/planck/keymaps/pascamel/keymap.c | 8 +- keyboards/planck/keymaps/pevecyan/keymap.c | 12 +- keyboards/planck/keymaps/pickle_jr/keymap.c | 6 +- keyboards/planck/keymaps/pickle_jr/rules.mk | 2 +- keyboards/planck/keymaps/piemod/rules.mk | 2 +- keyboards/planck/keymaps/premek/rules.mk | 2 +- keyboards/planck/keymaps/priyadi/rules.mk | 3 +- keyboards/planck/keymaps/ptillemans/keymap.c | 6 +- keyboards/planck/keymaps/pvc/rules.mk | 2 +- keyboards/planck/keymaps/raffle/keymap.c | 14 +- keyboards/planck/keymaps/rai-suta/rules.mk | 2 +- keyboards/planck/keymaps/readme.md | 4 +- keyboards/planck/keymaps/rjhilgefort/keymap.c | 6 +- keyboards/planck/keymaps/rodhaene/rules.mk | 3 +- keyboards/planck/keymaps/rootiest/config.h | 146 + keyboards/planck/keymaps/rootiest/keymap.c | 1928 +++++++ keyboards/planck/keymaps/rootiest/readme.md | 37 + keyboards/planck/keymaps/rootiest/rules.mk | 27 + keyboards/planck/keymaps/sdothum/rules.mk | 2 +- keyboards/planck/keymaps/sgoodwin/rules.mk | 3 +- keyboards/planck/keymaps/sigul/keymap.c | 29 +- keyboards/planck/keymaps/skug/keymap.c | 20 +- keyboards/planck/keymaps/smittey/keymap.c | 40 +- keyboards/planck/keymaps/snowkuma/keymap.c | 10 +- keyboards/planck/keymaps/snowkuma/rules.mk | 2 +- .../planck/keymaps/spacebarracecar/keymap.c | 2 +- .../planck/keymaps/spacebarracecar/rules.mk | 2 +- .../planck/keymaps/synth_sample/keymap.c | 5 +- .../planck/keymaps/synth_wavetable/keymap.c | 5 +- keyboards/planck/keymaps/tak3over/rules.mk | 2 +- .../planck/keymaps/thermal_printer/rules.mk | 2 +- keyboards/planck/keymaps/tk/keymap.c | 63 +- keyboards/planck/keymaps/tom/keymap.c | 8 +- keyboards/planck/keymaps/tong92/rules.mk | 2 +- keyboards/planck/keymaps/ttys0/config.h | 24 + keyboards/planck/keymaps/ttys0/keymap.c | 280 ++ keyboards/planck/keymaps/ttys0/readme.md | 5 + keyboards/planck/keymaps/ttys0/rules.mk | 4 + keyboards/planck/keymaps/tylerwince/keymap.c | 11 +- keyboards/planck/keymaps/unagi/keymap.c | 8 +- keyboards/planck/keymaps/via/keymap.c | 97 + keyboards/planck/keymaps/via/readme.md | 8 + keyboards/planck/keymaps/via/rules.mk | 5 + keyboards/planck/keymaps/vifon/rules.mk | 3 +- keyboards/planck/keymaps/vxid/keymap.c | 2 +- keyboards/planck/keymaps/winternebs/keymap.c | 11 +- keyboards/planck/keymaps/yale/rules.mk | 2 +- keyboards/planck/keymaps/zach/rules.mk | 2 +- keyboards/planck/keymaps/zrichard/rules.mk | 2 +- keyboards/planck/light/config.h | 3 +- keyboards/planck/light/light.c | 12 +- keyboards/planck/light/light.h | 20 +- keyboards/planck/light/rules.mk | 12 +- keyboards/planck/planck.c | 6 +- keyboards/planck/planck.h | 4 +- keyboards/planck/rev1/config.h | 1 + keyboards/planck/rev1/rev1.h | 18 +- keyboards/planck/rev1/rules.mk | 11 +- keyboards/planck/rev2/config.h | 1 + keyboards/planck/rev2/rev2.h | 18 +- keyboards/planck/rev2/rules.mk | 11 +- keyboards/planck/rev3/config.h | 1 + keyboards/planck/rev3/rev3.h | 18 +- keyboards/planck/rev3/rules.mk | 11 +- keyboards/planck/rev4/config.h | 1 + keyboards/planck/rev4/rev4.h | 18 +- keyboards/planck/rev4/rules.mk | 11 +- keyboards/planck/rev5/config.h | 1 + keyboards/planck/rev5/rev5.h | 18 +- keyboards/planck/rev5/rules.mk | 11 +- keyboards/planck/rev6/config.h | 23 +- keyboards/planck/rev6/rev6.c | 17 - keyboards/planck/rev6/rev6.h | 18 +- keyboards/planck/rev6/rules.mk | 8 +- keyboards/planck/thk/config.h | 46 + keyboards/planck/thk/info.json | 116 + keyboards/planck/thk/keymaps/thk/keymap.c | 241 + keyboards/planck/thk/keymaps/thk/readme.md | 3 + keyboards/planck/thk/readme.md | 28 + keyboards/planck/thk/rules.mk | 44 + keyboards/planck/thk/thk.c | 18 + keyboards/planck/thk/thk.h | 49 + keyboards/playkbtw/ca66/rules.mk | 9 +- keyboards/playkbtw/helen80/helen80.h | 2 +- keyboards/playkbtw/helen80/rules.mk | 6 +- .../playkbtw/pk60/keymaps/default/keymap.c | 38 +- keyboards/playkbtw/pk60/rules.mk | 9 +- keyboards/plexus75/rules.mk | 2 +- keyboards/ploopyco/mouse/config.h | 3 + .../ploopyco/mouse/keymaps/drashna/config.h | 7 +- .../ploopyco/mouse/keymaps/drashna/keymap.c | 4 + .../ploopyco/mouse/keymaps/drashna/rules.mk | 1 + keyboards/ploopyco/mouse/mouse.c | 27 +- keyboards/ploopyco/mouse/mouse.h | 2 +- keyboards/ploopyco/mouse/readme.md | 14 + keyboards/ploopyco/mouse/rules.mk | 4 +- keyboards/ploopyco/pmw3360.c | 225 - keyboards/ploopyco/pmw3360.h | 103 - keyboards/ploopyco/pmw3360_firmware.h | 300 -- keyboards/ploopyco/trackball/config.h | 4 +- keyboards/ploopyco/trackball/info.json | 1 + keyboards/ploopyco/trackball/readme.md | 16 +- keyboards/ploopyco/trackball/rules.mk | 4 +- keyboards/ploopyco/trackball/trackball.c | 22 +- keyboards/ploopyco/trackball/trackball.h | 2 +- keyboards/ploopyco/trackball_mini/config.h | 58 + keyboards/ploopyco/trackball_mini/info.json | 19 + .../trackball_mini/keymaps/default/keymap.c | 28 + .../trackball_mini/keymaps/default/readme.md | 3 + .../keymaps/drag_scroll/keymap.c | 66 + .../keymaps/drag_scroll/readme.md | 5 + .../trackball_mini/keymaps/via/config.h | 21 + .../trackball_mini/keymaps/via/keymap.c | 30 + .../trackball_mini/keymaps/via/rules.mk | 1 + keyboards/ploopyco/trackball_mini/readme.md | 86 + .../ploopyco/trackball_mini/rev1_001/config.h | 40 + .../trackball_mini/rev1_001/readme.md | 1 + .../trackball_mini/rev1_001/rev1_001.h | 22 + .../ploopyco/trackball_mini/rev1_001/rules.mk | 0 .../ploopyco/trackball_mini/rev1_002/config.h | 40 + .../trackball_mini/rev1_002/readme.md | 1 + .../trackball_mini/rev1_002/rev1_002.h | 22 + .../ploopyco/trackball_mini/rev1_002/rules.mk | 0 keyboards/ploopyco/trackball_mini/rules.mk | 32 + .../ploopyco/trackball_mini/trackball_mini.c | 266 + .../ploopyco/trackball_mini/trackball_mini.h | 63 + keyboards/ploopyco/trackball_nano/config.h | 47 + keyboards/ploopyco/trackball_nano/info.json | 13 + .../trackball_nano/keymaps/default/keymap.c | 23 + .../trackball_nano/keymaps/default/readme.md | 1 + .../trackball_nano/keymaps/maddie/keymap.c | 79 + .../trackball_nano/keymaps/maddie/readme.md | 1 + keyboards/ploopyco/trackball_nano/readme.md | 54 + .../ploopyco/trackball_nano/rev1_001/config.h | 37 + .../trackball_nano/rev1_001/readme.md | 1 + .../trackball_nano/rev1_001/rev1_001.h | 22 + .../ploopyco/trackball_nano/rev1_001/rules.mk | 0 keyboards/ploopyco/trackball_nano/rules.mk | 32 + .../ploopyco/trackball_nano/trackball_nano.c | 207 + .../ploopyco/trackball_nano/trackball_nano.h | 51 + keyboards/plume/plume65/rules.mk | 2 +- keyboards/plut0nium/0x3e/0x3e.c | 18 + keyboards/plut0nium/0x3e/0x3e.h | 36 + keyboards/plut0nium/0x3e/config.h | 114 + keyboards/plut0nium/0x3e/info.json | 75 + .../plut0nium/0x3e/keymaps/default/keymap.c | 157 + .../plut0nium/0x3e/keymaps/default/readme.md | 1 + keyboards/plut0nium/0x3e/readme.md | 18 + keyboards/plut0nium/0x3e/rules.mk | 19 + keyboards/plut0nium/readme.md | 4 + keyboards/plx/config.h | 39 + keyboards/plx/info.json | 12 + keyboards/plx/keymaps/default/keymap.c | 49 + keyboards/plx/keymaps/via/config.h | 19 + keyboards/plx/keymaps/via/keymap.c | 50 + keyboards/plx/keymaps/via/rules.mk | 1 + keyboards/plx/plx.c | 17 + keyboards/plx/plx.h | 43 + keyboards/plx/readme.md | 19 + keyboards/plx/rules.mk | 22 + .../louhi/keymaps/default/keymap.c | 3 +- keyboards/pohjolaworks/louhi/rules.mk | 2 +- keyboards/poker87c/config.h | 75 + keyboards/poker87c/info.json | 207 + keyboards/poker87c/keymaps/default/keymap.c | 37 + keyboards/poker87c/keymaps/via/keymap.c | 52 + keyboards/poker87c/keymaps/via/rules.mk | 1 + keyboards/poker87c/poker87c.c | 19 + keyboards/poker87c/poker87c.h | 53 + keyboards/poker87c/readme.md | 13 + keyboards/poker87c/rules.mk | 24 + keyboards/poker87d/config.h | 75 + keyboards/poker87d/info.json | 208 + keyboards/poker87d/keymaps/default/keymap.c | 40 + keyboards/poker87d/keymaps/via/keymap.c | 58 + keyboards/poker87d/keymaps/via/rules.mk | 1 + keyboards/poker87d/poker87d.c | 19 + keyboards/poker87d/poker87d.h | 53 + keyboards/poker87d/readme.md | 13 + keyboards/poker87d/rules.mk | 24 + keyboards/polilla/rev1/rules.mk | 5 +- keyboards/polycarbdiet/s20/rules.mk | 2 +- keyboards/pom_keyboards/tnln95/rules.mk | 2 +- keyboards/portal_66/config.h | 109 + keyboards/portal_66/info.json | 312 ++ keyboards/portal_66/keymaps/default/keymap.c | 38 + keyboards/portal_66/keymaps/default/readme.md | 1 + keyboards/portal_66/keymaps/via/keymap.c | 54 + keyboards/portal_66/keymaps/via/rules.mk | 1 + keyboards/portal_66/portal_66.c | 17 + keyboards/portal_66/portal_66.h | 75 + keyboards/portal_66/readme.md | 18 + keyboards/portal_66/rules.mk | 24 + keyboards/pos78/rules.mk | 2 +- keyboards/preonic/config.h | 3 +- keyboards/preonic/keymaps/0xdec/rules.mk | 2 +- keyboards/preonic/keymaps/AlexDaigre/keymap.c | 6 +- keyboards/preonic/keymaps/arkag/config.h | 30 + keyboards/preonic/keymaps/arkag/keymap.c | 77 + keyboards/preonic/keymaps/arkag/readme.md | 1 + keyboards/preonic/keymaps/arkag/rules.mk | 17 + keyboards/preonic/keymaps/bucktooth/rules.mk | 2 +- keyboards/preonic/keymaps/cranium/keymap.c | 6 +- keyboards/preonic/keymaps/davidrambo/config.h | 20 + keyboards/preonic/keymaps/davidrambo/keymap.c | 179 + keyboards/preonic/keymaps/davidrambo/rules.mk | 3 + keyboards/preonic/keymaps/default/keymap.c | 9 +- keyboards/preonic/keymaps/dlaroe/rules.mk | 2 +- keyboards/preonic/keymaps/drasbeck/keymap.c | 12 +- .../preonic/keymaps/dudeofawesome/rules.mk | 2 +- keyboards/preonic/keymaps/egstad/keymap.c | 16 +- keyboards/preonic/keymaps/elisiano/keymap.c | 6 +- keyboards/preonic/keymaps/fsck/keymap.c | 6 +- keyboards/preonic/keymaps/jacwib/rules.mk | 2 +- keyboards/preonic/keymaps/keelhauler/keymap.c | 6 +- keyboards/preonic/keymaps/kinesis/rules.mk | 2 +- keyboards/preonic/keymaps/kjwon15/keymap.c | 6 +- keyboards/preonic/keymaps/kuatsure/keymap.c | 2 + .../preonic/keymaps/laurentlaurent/keymap.c | 6 +- .../preonic/keymaps/mechmaster48/config.h | 46 + .../preonic/keymaps/mechmaster48/keymap.c | 256 + .../preonic/keymaps/mechmaster48/readme.md | 14 + .../preonic/keymaps/mechmaster48/rules.mk | 1 + keyboards/preonic/keymaps/mguterl/keymap.c | 6 +- .../preonic/keymaps/mikethetiger/keymap.c | 20 +- keyboards/preonic/keymaps/muzfuz/keymap.c | 6 +- keyboards/preonic/keymaps/mverteuil/keymap.c | 6 +- .../preonic/keymaps/mverteuil_2x2u/keymap.c | 6 +- keyboards/preonic/keymaps/pezhore/keymap.c | 6 +- keyboards/preonic/keymaps/pitty/keymap.c | 12 +- keyboards/preonic/keymaps/senseored/keymap.c | 26 +- keyboards/preonic/keymaps/seph/rules.mk | 2 +- .../preonic/keymaps/that_canadian/Makefile | 22 - .../preonic/keymaps/that_canadian/rules.mk | 22 + keyboards/preonic/keymaps/ttys0/config.h | 29 + keyboards/preonic/keymaps/ttys0/keymap.c | 283 ++ keyboards/preonic/keymaps/ttys0/readme.md | 3 + keyboards/preonic/keymaps/ttys0/rules.mk | 2 + keyboards/preonic/keymaps/via/config.h | 33 + keyboards/preonic/keymaps/via/keymap.c | 199 + keyboards/preonic/keymaps/via/readme.md | 1 + keyboards/preonic/keymaps/via/rules.mk | 4 + keyboards/preonic/keymaps/xulkal/keymap.c | 6 +- keyboards/preonic/keymaps/zach/rules.mk | 2 +- keyboards/preonic/rev1/config.h | 1 + keyboards/preonic/rev1/rev1.c | 2 +- keyboards/preonic/rev1/rules.mk | 11 +- keyboards/preonic/rev2/config.h | 1 + keyboards/preonic/rev2/rev2.c | 2 +- keyboards/preonic/rev2/rules.mk | 11 +- keyboards/preonic/rev3/chconf.h | 29 + keyboards/preonic/rev3/config.h | 35 +- keyboards/preonic/rev3/mcuconf.h | 30 + keyboards/preonic/rev3/rev3.c | 19 +- keyboards/preonic/rev3/rules.mk | 10 +- keyboards/primekb/meridian/config.h | 2 + keyboards/primekb/meridian/rules.mk | 5 +- .../primekb/prime_e/keymaps/default/keymap.c | 5 - .../primekb/prime_e/keymaps/peott-fr/keymap.c | 97 + .../primekb/prime_e/keymaps/via/keymap.c | 7 +- keyboards/primekb/prime_e/prime_e.c | 6 - keyboards/primekb/prime_e/rules.mk | 9 +- keyboards/primekb/prime_l/rules.mk | 10 +- keyboards/primekb/prime_m/rules.mk | 12 +- .../primekb/prime_o/keymaps/default/keymap.c | 12 - .../keymaps/reasonsandreasons/rules.mk | 2 +- .../prime_o/keymaps/spacebarracecar/keymap.c | 2 +- .../prime_o/keymaps/spacebarracecar/rules.mk | 2 +- keyboards/primekb/prime_o/prime_o.c | 27 - keyboards/primekb/prime_o/rules.mk | 10 +- .../primekb/prime_r/keymaps/default/keymap.c | 10 - keyboards/primekb/prime_r/prime_r.c | 27 - keyboards/primekb/prime_r/rules.mk | 9 +- keyboards/program_yoink/config.h | 2 +- .../ortho/keymaps/default/keymap.c | 12 +- .../ortho/keymaps/ortho_split/keymap.c | 12 +- keyboards/program_yoink/program_yoink.c | 5 +- keyboards/program_yoink/rules.mk | 2 +- .../staggered/keymaps/default/keymap.c | 8 +- .../staggered/keymaps/split_bar/keymap.c | 12 +- .../staggered/keymaps/via/config.h | 22 + .../staggered/keymaps/via/keymap.c | 68 + .../staggered/keymaps/via/readme.md | 1 + .../staggered/keymaps/via/rules.mk | 1 + keyboards/projectcain/vault45/config.h | 152 + keyboards/projectcain/vault45/info.json | 60 + .../vault45/keymaps/default/config.h | 24 + .../vault45/keymaps/default/keymap.c | 59 + .../vault45/keymaps/default/readme.md | 1 + .../vault45/keymaps/default/rules.mk | 2 + keyboards/projectcain/vault45/readme.md | 21 + keyboards/projectcain/vault45/rules.mk | 22 + keyboards/projectcain/vault45/vault45.c | 35 + keyboards/projectcain/vault45/vault45.h | 40 + keyboards/projectkb/alice/config.h | 3 + keyboards/projectkb/alice/halconf.h | 2 + keyboards/projectkb/alice/mcuconf.h | 2 + keyboards/projectkb/alice/rev1/config.h | 2 + keyboards/projectkb/alice/rev1/rules.mk | 6 +- keyboards/projectkb/alice/rev2/config.h | 2 + keyboards/projectkb/alice/rev2/rules.mk | 6 +- keyboards/projectkb/signature87/rules.mk | 7 +- keyboards/prototypist/j01/config.h | 70 + keyboards/prototypist/j01/info.json | 95 + keyboards/prototypist/j01/j01.c | 17 + keyboards/prototypist/j01/j01.h | 35 + .../prototypist/j01/keymaps/default/keymap.c | 39 + .../prototypist/j01/keymaps/default/readme.md | 1 + .../prototypist/j01/keymaps/via/keymap.c | 56 + .../prototypist/j01/keymaps/via/readme.md | 1 + .../prototypist/j01/keymaps/via/rules.mk | 1 + keyboards/prototypist/j01/readme.md | 13 + keyboards/prototypist/j01/rules.mk | 23 + keyboards/pteron36/config.h | 155 + keyboards/pteron36/info.json | 15 + keyboards/pteron36/keymaps/default/keymap.c | 35 + keyboards/pteron36/keymaps/via/keymap.c | 84 + keyboards/pteron36/keymaps/via/readme.md | 1 + keyboards/pteron36/keymaps/via/rules.mk | 2 + keyboards/pteron36/pteron36.c | 17 + keyboards/pteron36/pteron36.h | 59 + keyboards/pteron36/readme.md | 31 + keyboards/pteron36/rules.mk | 27 + keyboards/puck/rules.mk | 10 +- keyboards/punk75/keymaps/default/keymap.c | 3 +- .../punk75/keymaps/dsanchezseco/keymap.c | 3 +- keyboards/punk75/keymaps/via/keymap.c | 3 +- keyboards/punk75/rules.mk | 4 +- keyboards/pursuit40/rules.mk | 2 +- keyboards/q4z/config.h | 54 + keyboards/q4z/info.json | 55 + keyboards/q4z/keymaps/default/config.h | 23 + keyboards/q4z/keymaps/default/keymap.c | 101 + keyboards/q4z/keymaps/default/readme.md | 1 + .../jitsi => q4z/keymaps/default}/rules.mk | 0 keyboards/q4z/keymaps/rjboone/config.h | 25 + keyboards/q4z/keymaps/rjboone/keymap.c | 107 + keyboards/q4z/keymaps/rjboone/readme.md | 1 + .../zoom => q4z/keymaps/rjboone}/rules.mk | 0 keyboards/q4z/q4z.c | 16 + keyboards/q4z/q4z.h | 34 + keyboards/q4z/readme.md | 20 + keyboards/q4z/rules.mk | 22 + keyboards/qaz/rules.mk | 2 +- keyboards/quad_h/lb75/rules.mk | 10 +- keyboards/quantrik/kyuu/config.h | 20 - .../quantrik/kyuu/keymaps/default/keymap.c | 12 - keyboards/quantrik/kyuu/kyuu.c | 27 - keyboards/quantrik/kyuu/rules.mk | 10 +- keyboards/quark/keymaps/ajp10304/keymap.c | 201 + keyboards/quark/keymaps/ajp10304/readme.md | 118 + .../keymaps/ajp10304}/rules.mk | 0 keyboards/quark/rules.mk | 2 +- .../qvex/lynepad/keymaps/default/keymap.c | 3 +- keyboards/qvex/lynepad/rules.mk | 2 +- keyboards/qwertyydox/config.h | 20 - keyboards/qwertyydox/rev1/rev1.c | 21 - keyboards/qwertyydox/rules.mk | 3 +- keyboards/rabbit/rabbit68/config.h | 20 - keyboards/rabbit/rabbit68/rabbit68.c | 35 - keyboards/rabbit/rabbit68/rules.mk | 10 +- keyboards/rabbit_capture_plan/rules.mk | 4 +- keyboards/rainkeeb/keymaps/default/keymap.c | 3 +- keyboards/rainkeeb/keymaps/via/keymap.c | 3 +- keyboards/rainkeeb/rules.mk | 5 +- keyboards/ramonimbao/aelith/rules.mk | 4 +- keyboards/ramonimbao/chevron/chevron.c | 17 + keyboards/ramonimbao/chevron/chevron.h | 75 + keyboards/ramonimbao/chevron/config.h | 152 + keyboards/ramonimbao/chevron/info.json | 185 + .../chevron/keymaps/default/keymap.c | 42 + .../ramonimbao/chevron/keymaps/iso/keymap.c | 42 + .../ramonimbao/chevron/keymaps/via/keymap.c | 84 + .../ramonimbao/chevron/keymaps/via/rules.mk | 1 + keyboards/ramonimbao/chevron/readme.md | 20 + keyboards/ramonimbao/chevron/rules.mk | 26 + .../herringbone/pro/keymaps/default/keymap.c | 5 +- .../herringbone/pro/keymaps/iso/keymap.c | 5 +- .../herringbone/pro/keymaps/via/keymap.c | 5 +- keyboards/ramonimbao/herringbone/pro/rules.mk | 7 +- keyboards/ramonimbao/herringbone/v1/config.h | 20 - keyboards/ramonimbao/herringbone/v1/rules.mk | 4 +- keyboards/ramonimbao/mona/info.json | 431 -- keyboards/ramonimbao/mona/mona.c | 17 - keyboards/ramonimbao/mona/readme.md | 19 - keyboards/ramonimbao/mona/rules.mk | 23 +- keyboards/ramonimbao/mona/{ => v1}/config.h | 0 keyboards/ramonimbao/mona/v1/info.json | 431 ++ .../mona/{ => v1}/keymaps/default/keymap.c | 0 .../mona/{ => v1}/keymaps/iso/keymap.c | 0 .../mona/{ => v1}/keymaps/via/keymap.c | 0 .../ramonimbao/mona/v1/keymaps/via/rules.mk | 1 + keyboards/ramonimbao/mona/v1/readme.md | 19 + keyboards/ramonimbao/mona/v1/rules.mk | 22 + keyboards/ramonimbao/mona/v1/v1.c | 17 + keyboards/ramonimbao/mona/{mona.h => v1/v1.h} | 0 keyboards/ramonimbao/mona/v1_1/config.h | 62 + keyboards/ramonimbao/mona/v1_1/info.json | 505 ++ .../mona/v1_1/keymaps/default/keymap.c | 34 + .../ramonimbao/mona/v1_1/keymaps/iso/keymap.c | 34 + .../ramonimbao/mona/v1_1/keymaps/via/keymap.c | 48 + .../ramonimbao/mona/v1_1/keymaps/via/rules.mk | 1 + keyboards/ramonimbao/mona/v1_1/readme.md | 20 + keyboards/ramonimbao/mona/v1_1/rules.mk | 22 + keyboards/ramonimbao/mona/v1_1/v1_1.c | 17 + keyboards/ramonimbao/mona/v1_1/v1_1.h | 113 + keyboards/ramonimbao/squishy65/rules.mk | 5 +- keyboards/ramonimbao/squishyfrl/chconf.h | 24 + keyboards/ramonimbao/squishyfrl/config.h | 157 + keyboards/ramonimbao/squishyfrl/halconf.h | 23 + keyboards/ramonimbao/squishyfrl/info.json | 254 + .../squishyfrl/keymaps/default/keymap.c | 33 + .../squishyfrl/keymaps/default/readme.md | 3 + .../squishyfrl/keymaps/iso/keymap.c | 33 + .../squishyfrl/keymaps/via/config.h | 20 + .../squishyfrl/keymaps/via/keymap.c | 33 + .../squishyfrl/keymaps/via/rules.mk | 1 + keyboards/ramonimbao/squishyfrl/mcuconf.h | 24 + keyboards/ramonimbao/squishyfrl/readme.md | 18 + keyboards/ramonimbao/squishyfrl/rules.mk | 25 + keyboards/ramonimbao/squishyfrl/squishyfrl.c | 17 + keyboards/ramonimbao/squishyfrl/squishyfrl.h | 91 + keyboards/ramonimbao/squishytkl/chconf.h | 24 + keyboards/ramonimbao/squishytkl/config.h | 165 + keyboards/ramonimbao/squishytkl/halconf.h | 23 + keyboards/ramonimbao/squishytkl/info.json | 411 ++ .../squishytkl/keymaps/default/keymap.c | 36 + .../squishytkl/keymaps/default/readme.md | 3 + .../squishytkl/keymaps/iso/keymap.c | 36 + .../squishytkl/keymaps/jis/keymap.c | 38 + .../squishytkl/keymaps/via/config.h | 25 + .../squishytkl/keymaps/via/keymap.c | 65 + .../squishytkl/keymaps/via/rules.mk | 1 + keyboards/ramonimbao/squishytkl/mcuconf.h | 24 + keyboards/ramonimbao/squishytkl/readme.md | 18 + keyboards/ramonimbao/squishytkl/rules.mk | 26 + keyboards/ramonimbao/squishytkl/squishytkl.c | 17 + keyboards/ramonimbao/squishytkl/squishytkl.h | 135 + keyboards/ramonimbao/tkl_ff/config.h | 152 + keyboards/ramonimbao/tkl_ff/info.json | 304 ++ .../tkl_ff/keymaps/default/keymap.c | 27 + .../ramonimbao/tkl_ff/keymaps/iso/keymap.c | 27 + .../ramonimbao/tkl_ff/keymaps/via/keymap.c | 51 + .../ramonimbao/tkl_ff/keymaps/via/rules.mk | 1 + keyboards/ramonimbao/tkl_ff/readme.md | 20 + .../ramonimbao/tkl_ff}/rules.mk | 0 keyboards/ramonimbao/tkl_ff/tkl_ff.c | 17 + keyboards/ramonimbao/tkl_ff/tkl_ff.h | 93 + keyboards/ramonimbao/wete/config.h | 2 + keyboards/ramonimbao/wete/halconf.h | 2 + .../ramonimbao/wete/keymaps/jis/keymap.c | 2 +- .../ramonimbao/wete/keymaps/via/rules.mk | 2 +- keyboards/ramonimbao/wete/mcuconf.h | 2 + keyboards/ramonimbao/wete/rules.mk | 5 +- keyboards/rart/rart45/rules.mk | 4 +- .../rart/rart4x4/keymaps/default/keymap.c | 11 +- keyboards/rart/rart4x4/keymaps/via/keymap.c | 15 +- keyboards/rart/rart4x4/rules.mk | 2 +- keyboards/rart/rart67/rules.mk | 10 +- keyboards/rart/rart75/keymaps/ansi/keymap.c | 3 +- .../rart/rart75/keymaps/default/keymap.c | 3 +- keyboards/rart/rart75/keymaps/via/keymap.c | 3 +- keyboards/rart/rart75/rules.mk | 10 +- keyboards/rart/rart75m/config.h | 61 + keyboards/rart/rart75m/info.json | 101 + .../rart/rart75m/keymaps/default/keymap.c | 53 + keyboards/rart/rart75m/keymaps/via/keymap.c | 54 + keyboards/rart/rart75m/keymaps/via/rules.mk | 1 + keyboards/rart/rart75m/rart75m.c | 57 + keyboards/rart/rart75m/rart75m.h | 36 + keyboards/rart/rart75m/readme.md | 24 + keyboards/rart/rart75m/rules.mk | 26 + .../rart/rartand/keymaps/default/keymap.c | 6 +- keyboards/rart/rartand/keymaps/via/keymap.c | 6 +- keyboards/rart/rartand/rules.mk | 7 +- keyboards/rart/rartland/config.h | 76 + keyboards/rart/rartland/info.json | 239 + .../rart/rartland/keymaps/default/keymap.c | 49 + keyboards/rart/rartland/keymaps/via/keymap.c | 49 + keyboards/rart/rartland/keymaps/via/rules.mk | 2 + keyboards/rart/rartland/rartland.c | 56 + keyboards/rart/rartland/rartland.h | 88 + keyboards/rart/rartland/readme.md | 19 + keyboards/rart/rartland/rules.mk | 31 + .../rart/rartlice/keymaps/default/keymap.c | 4 +- keyboards/rart/rartlice/keymaps/via/keymap.c | 4 +- keyboards/rart/rartlice/rules.mk | 5 +- keyboards/rart/rartlite/rules.mk | 2 +- .../rart/rartpad/keymaps/default/keymap.c | 16 +- .../rart/rartpad/keymaps/numpad/keymap.c | 15 +- keyboards/rart/rartpad/keymaps/via/keymap.c | 19 +- keyboards/rart/rartpad/rules.mk | 9 +- keyboards/readme.md | 2 +- keyboards/rect44/info.json | 57 + keyboards/rect44/rules.mk | 2 +- keyboards/redox/keymaps/finex/keymap.c | 4 +- keyboards/redox/keymaps/german/keymap.c | 4 +- keyboards/redox/keymaps/italian/keymap.c | 14 +- keyboards/redox/keymaps/jeherve/config.h | 10 +- keyboards/redox/keymaps/jeherve/keymap.c | 295 +- keyboards/redox/keymaps/jeherve/readme.md | 5 +- keyboards/redox/keymaps/media_ch/config.h | 26 + keyboards/redox/keymaps/media_ch/keymap.c | 86 + keyboards/redox/keymaps/media_ch/readme.md | 6 + keyboards/redox/keymaps/media_ch/rules.mk | 2 + keyboards/redox/keymaps/tw1t611/keymap.c | 12 +- keyboards/redox/media/config.h | 60 + keyboards/redox/media/media.c | 18 + keyboards/redox/media/media.h | 46 + keyboards/redox/media/readme.md | 57 + keyboards/redox/media/rules.mk | 0 keyboards/redox/redox.h | 6 +- keyboards/redox/rev1/rev1.c | 21 - keyboards/redox/rules.mk | 10 +- keyboards/redox_w/keymaps/italian/keymap.c | 14 +- .../keymaps/manna-harbour_miryoku/config.h | 23 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + keyboards/redox_w/redox_w.c | 4 +- keyboards/redox_w/rules.mk | 12 +- keyboards/redscarf_i/rules.mk | 10 +- keyboards/redscarf_iiplus/verb/config.h | 20 - keyboards/redscarf_iiplus/verb/rules.mk | 10 +- keyboards/redscarf_iiplus/verc/config.h | 20 - keyboards/redscarf_iiplus/verc/rules.mk | 10 +- keyboards/redscarf_iiplus/verd/config.h | 20 - keyboards/redscarf_iiplus/verd/rules.mk | 10 +- keyboards/retro_75/config.h | 20 - keyboards/retro_75/rules.mk | 6 +- keyboards/reversestudio/decadepad/rules.mk | 10 +- keyboards/reviung33/rules.mk | 2 +- keyboards/reviung34/config.h | 20 - .../reviung34/keymaps/default_rgb/config.h | 31 + .../reviung34/keymaps/default_rgb/keymap.c | 69 + .../reviung34/keymaps/default_rgb/readme.md | 1 + .../keymaps/default_rgb}/rules.mk | 0 .../reviung34/keymaps/default_rgb2u/config.h | 31 + .../reviung34/keymaps/default_rgb2u/keymap.c | 68 + .../reviung34/keymaps/default_rgb2u/readme.md | 3 + .../keymaps/default_rgb2u}/rules.mk | 0 keyboards/reviung34/reviung34.c | 35 - keyboards/reviung34/rules.mk | 10 +- keyboards/reviung39/config.h | 20 - .../reviung39/keymaps/default_s/keymap.c | 8 +- keyboards/reviung39/keymaps/via/keymap.c | 53 + keyboards/reviung39/keymaps/via/rules.mk | 3 + keyboards/reviung39/reviung39.c | 35 - keyboards/reviung39/rules.mk | 10 +- keyboards/reviung41/config.h | 20 - .../reviung41/keymaps/ciutadellla/config.h | 29 + .../reviung41/keymaps/ciutadellla/keymap.c | 333 ++ .../reviung41/keymaps/ciutadellla/rules.mk | 10 + keyboards/reviung41/rules.mk | 10 +- keyboards/reviung5/config.h | 145 + keyboards/reviung5/info.json | 18 + keyboards/reviung5/keymaps/default/keymap.c | 34 + keyboards/reviung5/keymaps/default/readme.md | 1 + .../reviung5/keymaps/default_lre/keymap.c | 55 + .../reviung5/keymaps/default_lre/readme.md | 3 + .../reviung5/keymaps/default_rre/keymap.c | 55 + .../reviung5/keymaps/default_rre/readme.md | 4 + keyboards/reviung5/readme.md | 19 + keyboards/reviung5/reviung5.c | 17 + keyboards/reviung5/reviung5.h | 33 + keyboards/reviung5/rules.mk | 23 + keyboards/reviung61/rules.mk | 2 +- keyboards/rgbkb/common/common_oled.c | 101 + keyboards/rgbkb/common/common_oled.h | 21 + keyboards/rgbkb/common/glcdfont.c | 240 + keyboards/rgbkb/common/touch_encoder.c | 310 ++ keyboards/rgbkb/common/touch_encoder.h | 54 + keyboards/rgbkb/mun/.noci | 0 keyboards/rgbkb/mun/config.h | 106 + keyboards/rgbkb/mun/halconf.h | 18 + keyboards/rgbkb/mun/keymaps/default/config.h | 23 + keyboards/rgbkb/mun/keymaps/default/keymap.c | 252 + keyboards/rgbkb/mun/keymaps/via/config.h | 30 + keyboards/rgbkb/mun/keymaps/via/keymap.c | 252 + keyboards/rgbkb/mun/keymaps/via/rules.mk | 1 + keyboards/rgbkb/mun/keymaps/xulkal2/config.h | 42 + keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c | 246 + keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk | 4 + keyboards/rgbkb/mun/matrix.c | 62 + keyboards/rgbkb/mun/mcuconf.h | 21 + keyboards/rgbkb/mun/mun.c | 25 + keyboards/rgbkb/mun/mun.h | 16 + keyboards/rgbkb/mun/readme.md | 15 + keyboards/rgbkb/mun/rev1/config.h | 12 + keyboards/rgbkb/mun/rev1/info.json | 101 + keyboards/rgbkb/mun/rev1/readme.md | 15 + keyboards/rgbkb/mun/rev1/rev1.c | 122 + keyboards/rgbkb/mun/rev1/rev1.h | 43 + keyboards/rgbkb/mun/rev1/rules.mk | 0 keyboards/rgbkb/mun/rules.mk | 46 + keyboards/rgbkb/pan/keymaps/default/keymap.c | 33 +- keyboards/rgbkb/pan/pan.c | 99 +- keyboards/rgbkb/pan/rev1/32a/rules.mk | 2 +- keyboards/rgbkb/pan/rev1/proton_c/rules.mk | 5 +- keyboards/rgbkb/pan/rev1/rules.mk | 3 + keyboards/rgbkb/pan/rules.mk | 5 +- .../rgbkb/sol/keymaps/brianweyer/keymap.c | 27 +- .../rgbkb/sol/keymaps/brianweyer/rules.mk | 2 +- .../rgbkb/sol/keymaps/danielhklein/keymap.c | 5 +- keyboards/rgbkb/sol/keymaps/default/keymap.c | 7 +- keyboards/rgbkb/sol/keymaps/default/readme.md | 2 +- .../rgbkb/sol/keymaps/kageurufu/keymap.c | 3 +- keyboards/rgbkb/sol/keymaps/xulkal/rules.mk | 2 +- keyboards/rgbkb/sol/keymaps/xyverz/keymap.c | 9 +- keyboards/rgbkb/sol/keymaps/xyverz/rules.mk | 7 +- keyboards/rgbkb/sol/rev1/rules.mk | 4 +- keyboards/rgbkb/sol/rev2/config.h | 38 +- keyboards/rgbkb/sol/rev2/post_rules.mk | 2 +- keyboards/rgbkb/sol/rev2/rules.mk | 6 +- keyboards/rgbkb/sol/rules.mk | 7 - keyboards/rgbkb/sol/sol.h | 21 - keyboards/rgbkb/zen/rev1/rev1.c | 21 - keyboards/rgbkb/zen/rev1/rules.mk | 1 - .../rgbkb/zen/rev2/keymaps/default/keymap.c | 5 +- keyboards/rgbkb/zen/rev2/rev2.c | 2 +- keyboards/rgbkb/zen/rev2/rules.mk | 4 +- keyboards/rgbkb/zen/rules.mk | 10 +- .../rgbkb/zygomorph/keymaps/5x6pad/rules.mk | 2 +- .../rgbkb/zygomorph/keymaps/default/keymap.c | 3 +- .../rgbkb/zygomorph/keymaps/default/readme.md | 3 +- .../rgbkb/zygomorph/keymaps/default/rules.mk | 2 +- .../zygomorph/keymaps/default_oled/keymap.c | 5 +- .../zygomorph/keymaps/default_oled/rules.mk | 3 +- .../zygomorph/keymaps/kageurufu/keymap.c | 3 +- .../zygomorph/keymaps/kageurufu/rules.mk | 2 +- .../rgbkb/zygomorph/keymaps/xulkal/rules.mk | 16 +- keyboards/rgbkb/zygomorph/rev1/config.h | 4 +- keyboards/rgbkb/zygomorph/rev1/rev1.c | 102 +- keyboards/rgbkb/zygomorph/rules.mk | 10 +- keyboards/ristretto/config.h | 50 + keyboards/ristretto/info.json | 65 + keyboards/ristretto/keymaps/default/keymap.c | 53 + keyboards/ristretto/readme.md | 18 + keyboards/ristretto/ristretto.c | 63 + keyboards/ristretto/ristretto.h | 31 + keyboards/ristretto/rules.mk | 26 + .../rocketboard_16/keymaps/default/keymap.c | 5 +- keyboards/rocketboard_16/keymaps/via/keymap.c | 5 +- keyboards/rocketboard_16/rules.mk | 5 +- .../katana60/rev1/keymaps/default/keymap.c | 16 - keyboards/rominronin/katana60/rev1/rules.mk | 2 +- keyboards/rominronin/katana60/rev2/rules.mk | 2 +- keyboards/roseslite/keymaps/default/keymap.c | 20 +- keyboards/roseslite/keymaps/via/keymap.c | 40 +- keyboards/roseslite/roseslite.h | 20 +- keyboards/roseslite/rules.mk | 2 +- keyboards/rotr/rotr.c | 4 +- keyboards/rotr/rules.mk | 10 +- keyboards/rpiguy9907/southpaw66/config.h | 4 +- keyboards/rpiguy9907/southpaw66/rules.mk | 2 +- keyboards/rubi/config.h | 65 + keyboards/rubi/info.json | 31 + keyboards/rubi/keymaps/default/keymap.c | 89 + keyboards/rubi/keymaps/default/readme.md | 4 + keyboards/rubi/keymaps/via/keymap.c | 84 + keyboards/rubi/keymaps/via/rules.mk | 2 + keyboards/rubi/lib/calc.c | 261 + keyboards/rubi/lib/encoder.c | 115 + keyboards/rubi/lib/glcdfont.c | 246 + keyboards/rubi/lib/oled.c | 268 + keyboards/rubi/lib/oled.h | 32 + keyboards/rubi/readme.md | 23 + keyboards/rubi/rubi.c | 79 + keyboards/rubi/rubi.h | 102 + keyboards/rubi/rules.mk | 29 + keyboards/runes/vaengr/config.h | 147 + keyboards/runes/vaengr/info.json | 72 + .../runes/vaengr/keymaps/default/keymap.c | 56 + .../runes/vaengr/keymaps/default/readme.md | 13 + keyboards/runes/vaengr/keymaps/via/keymap.c | 56 + keyboards/runes/vaengr/keymaps/via/rules.mk | 2 + keyboards/runes/vaengr/readme.md | 23 + keyboards/runes/vaengr/rules.mk | 22 + keyboards/runes/vaengr/vaengr.c | 17 + keyboards/runes/vaengr/vaengr.h | 41 + keyboards/runner3680/5x8/keymaps/JIS/keymap.c | 2 +- keyboards/runner3680/rules.mk | 10 +- keyboards/ryanbaekr/rb86/config.h | 150 + keyboards/ryanbaekr/rb86/info.json | 15 + .../ryanbaekr/rb86/keymaps/default/keymap.c | 36 + .../ryanbaekr/rb86/keymaps/default/readme.md | 1 + keyboards/ryanbaekr/rb86/keymaps/via/keymap.c | 54 + keyboards/ryanbaekr/rb86/keymaps/via/rules.mk | 2 + keyboards/ryanbaekr/rb86/rb86.c | 17 + keyboards/ryanbaekr/rb86/rb86.h | 37 + keyboards/ryanbaekr/rb86/readme.md | 15 + keyboards/ryanbaekr/rb86/rules.mk | 23 + keyboards/ryloo_studio/m0110/rules.mk | 2 +- keyboards/sam/s80/rules.mk | 2 +- keyboards/sam/sg81m/info.json | 137 +- keyboards/sam/sg81m/keymaps/default/keymap.c | 22 +- keyboards/sam/sg81m/keymaps/via/keymap.c | 54 +- keyboards/sam/sg81m/rules.mk | 2 +- keyboards/sam/sg81m/sg81m.h | 11 +- keyboards/sanctified/dystopia/config.h | 39 + keyboards/sanctified/dystopia/dystopia.c | 17 + keyboards/sanctified/dystopia/dystopia.h | 35 + keyboards/sanctified/dystopia/info.json | 17 + .../dystopia/keymaps/default/keymap.c | 34 + .../sanctified/dystopia/keymaps/via/keymap.c | 48 + .../sanctified/dystopia/keymaps/via/rules.mk | 1 + keyboards/sanctified/dystopia/readme.md | 16 + keyboards/sanctified/dystopia/rules.mk | 23 + keyboards/satt/vision/keymaps/satt/keymap.c | 2 +- .../satt/vision/keymaps/satt/keymap_jis2us.h | 6 +- keyboards/satt/vision/rules.mk | 5 +- keyboards/sawnsprojects/satxri6key/config.h | 77 + keyboards/sawnsprojects/satxri6key/info.json | 20 + .../satxri6key/keymaps/default/keymap.c | 34 + .../satxri6key/keymaps/default/readme.md | 1 + .../satxri6key/keymaps/default/rules.mk | 4 + .../satxri6key/keymaps/via/keymap.c | 164 + .../satxri6key/keymaps/via/rules.mk | 5 + keyboards/sawnsprojects/satxri6key/readme.md | 15 + keyboards/sawnsprojects/satxri6key/rules.mk | 21 + .../sawnsprojects/satxri6key/satxri6key.c | 31 + .../sawnsprojects/satxri6key/satxri6key.h | 27 + .../scarletbandana/keymaps/default/keymap.c | 12 - keyboards/scarletbandana/rules.mk | 10 +- keyboards/scatter42/rules.mk | 2 +- keyboards/sck/gtm/keymaps/default/keymap.c | 4 +- keyboards/sck/gtm/keymaps/tabs/keymap.c | 4 +- keyboards/sck/gtm/keymaps/vol/keymap.c | 3 +- keyboards/sck/gtm/rules.mk | 9 +- keyboards/sck/m0116b/config.h | 20 - keyboards/sck/m0116b/keymaps/default/keymap.c | 12 - keyboards/sck/m0116b/keymaps/m0116/keymap.c | 12 - keyboards/sck/m0116b/keymaps/m0118/keymap.c | 12 - keyboards/sck/m0116b/m0116b.c | 35 - keyboards/sck/m0116b/rules.mk | 10 +- keyboards/sck/neiso/config.h | 20 - keyboards/sck/neiso/neiso.c | 14 - keyboards/sck/neiso/rules.mk | 10 +- keyboards/sck/osa/config.h | 20 - keyboards/sck/osa/keymaps/all/keymap.c | 44 - keyboards/sck/osa/keymaps/default/keymap.c | 44 - keyboards/sck/osa/rules.mk | 10 +- keyboards/scythe/config.h | 20 - keyboards/scythe/rules.mk | 10 +- keyboards/scythe/scythe.c | 27 - keyboards/seigaiha/config.h | 105 + keyboards/seigaiha/info.json | 83 + keyboards/seigaiha/keymaps/default/keymap.c | 32 + keyboards/seigaiha/keymaps/default/readme.md | 5 + keyboards/seigaiha/keymaps/via/keymap.c | 48 + keyboards/seigaiha/keymaps/via/readme.md | 5 + keyboards/seigaiha/keymaps/via/rules.mk | 1 + keyboards/seigaiha/matrix.c | 123 + keyboards/seigaiha/readme.md | 23 + keyboards/seigaiha/rules.mk | 29 + keyboards/seigaiha/seigaiha.c | 45 + keyboards/seigaiha/seigaiha.h | 35 + keyboards/sekigon/grs_70ec/config.h | 154 + keyboards/sekigon/grs_70ec/ec_switch_matrix.c | 151 + keyboards/sekigon/grs_70ec/ec_switch_matrix.h | 38 + keyboards/sekigon/grs_70ec/grs_70ec.c | 38 + keyboards/sekigon/grs_70ec/grs_70ec.h | 49 + keyboards/sekigon/grs_70ec/info.json | 83 + .../sekigon/grs_70ec/keymaps/default/keymap.c | 41 + keyboards/sekigon/grs_70ec/matrix.c | 119 + keyboards/sekigon/grs_70ec/readme.md | 19 + keyboards/sekigon/grs_70ec/rules.mk | 26 + keyboards/sendyyeah/75pixels/75pixels.c | 17 + keyboards/sendyyeah/75pixels/75pixels.h | 38 + keyboards/sendyyeah/75pixels/config.h | 42 + keyboards/sendyyeah/75pixels/info.json | 88 + .../75pixels/keymaps/default/keymap.c | 57 + .../sendyyeah/75pixels/keymaps/via/keymap.c | 57 + .../sendyyeah/75pixels/keymaps/via/rules.mk | 1 + keyboards/sendyyeah/75pixels/readme.md | 19 + keyboards/sendyyeah/75pixels/rules.mk | 24 + keyboards/sendyyeah/bevi/bevi.c | 17 + keyboards/sendyyeah/bevi/bevi.h | 38 + keyboards/sendyyeah/bevi/config.h | 42 + keyboards/sendyyeah/bevi/info.json | 97 + .../sendyyeah/bevi/keymaps/default/keymap.c | 50 + keyboards/sendyyeah/bevi/keymaps/via/keymap.c | 50 + keyboards/sendyyeah/bevi/keymaps/via/rules.mk | 1 + keyboards/sendyyeah/bevi/readme.md | 19 + keyboards/sendyyeah/bevi/rules.mk | 22 + .../sendyyeah/pix/keymaps/default/keymap.c | 5 +- keyboards/sendyyeah/pix/keymaps/via/keymap.c | 5 +- keyboards/sendyyeah/pix/rules.mk | 5 +- keyboards/senselessclay/had60/config.h | 114 + keyboards/senselessclay/had60/had60.c | 17 + keyboards/senselessclay/had60/had60.h | 35 + keyboards/senselessclay/had60/info.json | 81 + .../had60/keymaps/default/keymap.c | 38 + .../senselessclay/had60/keymaps/had/keymap.c | 38 + .../senselessclay/had60/keymaps/iso/keymap.c | 38 + .../senselessclay/had60/keymaps/via/keymap.c | 51 + .../senselessclay/had60/keymaps/via/rules.mk | 1 + keyboards/senselessclay/had60/readme.md | 21 + keyboards/senselessclay/had60/rules.mk | 20 + .../number_pad/keymaps/default/keymap.c | 43 - keyboards/sentraq/number_pad/number_pad.c | 27 - keyboards/sentraq/number_pad/rules.mk | 10 +- keyboards/sentraq/s60_x/default/default.c | 27 - keyboards/sentraq/s60_x/default/default.h | 18 - keyboards/sentraq/s60_x/default/rules.mk | 10 +- .../s60_x/keymaps/ansi_qwertz/rules.mk | 2 +- .../sentraq/s60_x/keymaps/bluebear/rules.mk | 2 +- .../sentraq/s60_x/keymaps/custom/keymap.c | 26 - .../sentraq/s60_x/keymaps/custom/readme.md | 15 - .../sentraq/s60_x/keymaps/dbroqua/keymap.c | 131 +- keyboards/sentraq/s60_x/keymaps/hasu/keymap.c | 180 - .../sentraq/s60_x/keymaps/hasu/readme.md | 4 - keyboards/sentraq/s60_x/keymaps/hhkb/keymap.c | 47 - .../sentraq/s60_x/keymaps/hhkb/readme.md | 26 - keyboards/sentraq/s60_x/keymaps/iso/keymap.c | 44 - keyboards/sentraq/s60_x/keymaps/iso/readme.md | 28 - keyboards/sentraq/s60_x/keymaps/jpec/keymap.c | 81 - .../sentraq/s60_x/keymaps/jpec/readme.md | 1 - .../sentraq/s60_x/keymaps/plain/keymap.c | 24 - .../sentraq/s60_x/keymaps/plain/readme.md | 16 - .../sentraq/s60_x/keymaps/poker/keymap.c | 181 - .../sentraq/s60_x/keymaps/poker/readme.md | 31 - .../sentraq/s60_x/keymaps/poker_bit/keymap.c | 111 - .../sentraq/s60_x/keymaps/poker_bit/readme.md | 31 - .../sentraq/s60_x/keymaps/poker_set/keymap.c | 178 - .../sentraq/s60_x/keymaps/poker_set/readme.md | 31 - .../sentraq/s60_x/keymaps/spacefn/keymap.c | 49 - .../sentraq/s60_x/keymaps/spacefn/readme.md | 27 - keyboards/sentraq/s60_x/rgb/rgb.h | 18 - keyboards/sentraq/s60_x/rgb/rules.mk | 10 +- keyboards/sentraq/s65_plus/rules.mk | 10 +- keyboards/sentraq/s65_x/rules.mk | 10 +- keyboards/sentraq/s65_x/s65_x.c | 17 - keyboards/sergiopoverony/creator_pro/config.h | 49 + .../sergiopoverony/creator_pro/creator_pro.c | 33 + .../sergiopoverony/creator_pro/creator_pro.h | 33 + .../sergiopoverony/creator_pro/info.json | 22 + .../creator_pro/keymaps/default/keymap.c | 123 + .../creator_pro/keymaps/default/readme.md | 5 + .../creator_pro/keymaps/via/keymap.c | 123 + .../creator_pro/keymaps/via/rules.mk | 1 + .../sergiopoverony/creator_pro/readme.md | 27 + keyboards/sergiopoverony/creator_pro/rules.mk | 23 + keyboards/setta21/info.json | 21 +- keyboards/setta21/keymaps/salicylic/config.h | 3 +- keyboards/setta21/keymaps/salicylic/keymap.c | 28 +- keyboards/setta21/keymaps/salicylic/rules.mk | 3 +- keyboards/setta21/rev1/rev1.c | 4 - keyboards/setta21/rules.mk | 14 +- keyboards/shambles/rules.mk | 10 +- keyboards/shiro/config.h | 20 - keyboards/shiro/keymaps/default/keymap.c | 8 +- keyboards/shiro/rules.mk | 10 +- keyboards/shiro/shiro.c | 35 - keyboards/shk9/rules.mk | 4 +- .../sidderskb/majbritt/keymaps/via/keymap.c | 34 - keyboards/sidderskb/majbritt/majbritt.c | 21 - keyboards/sidderskb/majbritt/readme.md | 13 - .../sidderskb/majbritt/{ => rev1}/config.h | 0 .../sidderskb/majbritt/{ => rev1}/info.json | 0 .../{ => rev1}/keymaps/default/keymap.c | 0 .../{ => rev1}/keymaps/default/readme.md | 0 keyboards/sidderskb/majbritt/rev1/readme.md | 13 + keyboards/sidderskb/majbritt/rev1/rev1.c | 21 + .../majbritt/{majbritt.h => rev1/rev1.h} | 0 keyboards/sidderskb/majbritt/rev1/rules.mk | 22 + keyboards/sidderskb/majbritt/rev2/config.h | 48 + keyboards/sidderskb/majbritt/rev2/info.json | 12 + .../majbritt/rev2/keymaps/default/keymap.c | 55 + .../majbritt/rev2/keymaps/default/readme.md | 1 + keyboards/sidderskb/majbritt/rev2/readme.md | 13 + keyboards/sidderskb/majbritt/rev2/rev2.c | 17 + keyboards/sidderskb/majbritt/rev2/rev2.h | 41 + keyboards/sidderskb/majbritt/rev2/rules.mk | 24 + keyboards/sidderskb/majbritt/rules.mk | 30 - keyboards/signum/3_0/elitec/rules.mk | 9 +- keyboards/silverbullet44/config.h | 20 - keyboards/silverbullet44/rules.mk | 10 +- keyboards/singa/rules.mk | 11 +- keyboards/sirius/uni660/rev1/rev1.c | 2 +- keyboards/sirius/uni660/rev1/rules.mk | 4 +- keyboards/sirius/uni660/rev2/rev2.c | 2 +- keyboards/sirius/uni660/rev2/rules.mk | 4 +- keyboards/sirius/unigo66/readme.md | 19 +- keyboards/sirius/unigo66/rules.mk | 31 +- keyboards/sirius/unigo66/unigo66.h | 149 +- keyboards/sixkeyboard/config.h | 4 +- keyboards/sixkeyboard/info.json | 2 +- .../sixkeyboard/keymaps/default/keymap.c | 2 +- keyboards/sixkeyboard/keymaps/via/keymap.c | 8 +- keyboards/sixkeyboard/rules.mk | 13 +- keyboards/sixkeyboard/sixkeyboard.h | 2 +- keyboards/skeletn87/hotswap/config.h | 60 + keyboards/skeletn87/hotswap/hotswap.c | 17 + keyboards/skeletn87/hotswap/hotswap.h | 43 + keyboards/skeletn87/hotswap/info.json | 100 + .../hotswap/keymaps/default/keymap.c | 37 + .../skeletn87/hotswap/keymaps/via/keymap.c | 55 + .../skeletn87/hotswap/keymaps/via/rules.mk | 2 + keyboards/skeletn87/hotswap/readme.md | 21 + keyboards/skeletn87/hotswap/rules.mk | 24 + keyboards/skeletn87/soldered/config.h | 60 + keyboards/skeletn87/soldered/info.json | 375 ++ .../soldered/keymaps/default/keymap.c | 37 + .../skeletn87/soldered/keymaps/iso/keymap.c | 37 + .../soldered/keymaps/tsangan/keymap.c | 37 + .../skeletn87/soldered/keymaps/via/keymap.c | 55 + .../skeletn87/soldered/keymaps/via/rules.mk | 2 + keyboards/skeletn87/soldered/readme.md | 21 + keyboards/skeletn87/soldered/rules.mk | 24 + keyboards/skeletn87/soldered/soldered.c | 17 + keyboards/skeletn87/soldered/soldered.h | 109 + keyboards/skergo/config.h | 53 + keyboards/skergo/info.json | 85 + keyboards/skergo/keymaps/default/keymap.c | 36 + keyboards/skergo/keymaps/via/keymap.c | 49 + keyboards/skergo/keymaps/via/rules.mk | 2 + keyboards/skergo/readme.md | 15 + keyboards/skergo/rules.mk | 25 + keyboards/skergo/skergo.c | 17 + keyboards/skergo/skergo.h | 33 + keyboards/slz40/rules.mk | 2 +- keyboards/smallice/config.h | 90 + keyboards/smallice/info.json | 12 + keyboards/smallice/keymaps/default/keymap.c | 32 + keyboards/smallice/keymaps/default/readme.md | 3 + keyboards/smallice/keymaps/via/keymap.c | 44 + keyboards/smallice/keymaps/via/readme.md | 3 + keyboards/smallice/keymaps/via/rules.mk | 2 + keyboards/smallice/readme.md | 21 + keyboards/smallice/rules.mk | 22 + keyboards/smallice/smallice.c | 17 + keyboards/smallice/smallice.h | 40 + keyboards/smk60/rules.mk | 10 +- keyboards/snampad/config.h | 20 - keyboards/snampad/keymaps/default/keymap.c | 12 - keyboards/snampad/rules.mk | 10 +- keyboards/snampad/snampad.c | 27 - .../aliceclone/keymaps/default/keymap.c | 19 +- .../sneakbox/aliceclone/keymaps/via/keymap.c | 35 +- keyboards/sneakbox/aliceclone/rules.mk | 2 +- keyboards/sneakbox/ava/ava.c | 36 + keyboards/sneakbox/ava/ava.h | 59 + keyboards/sneakbox/ava/config.h | 72 + keyboards/sneakbox/ava/info.json | 29 + .../sneakbox/ava/keymaps/default/keymap.c | 40 + keyboards/sneakbox/ava/keymaps/via/keymap.c | 55 + keyboards/sneakbox/ava/keymaps/via/rules.mk | 1 + keyboards/sneakbox/ava/readme.md | 15 + keyboards/sneakbox/ava/rules.mk | 23 + .../disarray/ortho/keymaps/default/keymap.c | 7 +- .../disarray/ortho/keymaps/via/keymap.c | 13 +- keyboards/sneakbox/disarray/ortho/rules.mk | 2 +- .../sneakbox/disarray/staggered/config.h | 2 +- .../staggered/keymaps/default/keymap.c | 13 +- .../disarray/staggered/keymaps/via/keymap.c | 33 +- .../sneakbox/disarray/staggered/rules.mk | 2 +- keyboards/sofle/keymaps/default/keymap.c | 5 +- keyboards/sofle/keymaps/default/rules.mk | 3 +- keyboards/sofle/keymaps/devdev/config.h | 130 + keyboards/sofle/keymaps/devdev/keymap.c | 572 +++ keyboards/sofle/keymaps/devdev/rules.mk | 8 + keyboards/sofle/keymaps/helltm/config.h | 21 + keyboards/sofle/keymaps/helltm/keymap.c | 675 +++ keyboards/sofle/keymaps/helltm/readme.md | 32 + keyboards/sofle/keymaps/helltm/rules.mk | 7 + keyboards/sofle/keymaps/killmaster/config.h | 64 + keyboards/sofle/keymaps/killmaster/keymap.c | 403 ++ keyboards/sofle/keymaps/killmaster/readme.md | 19 + keyboards/sofle/keymaps/killmaster/rules.mk | 4 + .../keymaps/manna-harbour_miryoku/config.h | 23 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + keyboards/sofle/keymaps/rgb_default/config.h | 130 + keyboards/sofle/keymaps/rgb_default/keymap.c | 572 +++ keyboards/sofle/keymaps/rgb_default/rules.mk | 8 + keyboards/sofle/keymaps/via/encoder.c | 31 +- keyboards/sofle/keymaps/via/oled.c | 32 +- keyboards/sofle/keymaps/via/rules.mk | 5 +- keyboards/sofle/rev1/readme.md | 27 + keyboards/sofle/rev1/rev1.c | 86 + keyboards/sofle/rev1/rules.mk | 3 +- keyboards/sofle/rules.mk | 5 + keyboards/sofle/sofle.c | 41 + keyboards/soup10/rules.mk | 2 +- keyboards/southpole/keymaps/default/keymap.c | 6 - keyboards/southpole/rules.mk | 9 +- keyboards/sowbug/68keys/bootloader_defs.h | 10 - keyboards/sowbug/68keys/config.h | 4 +- keyboards/sowbug/68keys/info.json | 2 +- keyboards/sowbug/68keys/rules.mk | 39 +- keyboards/sowbug/ansi_tkl/bootloader_defs.h | 10 - keyboards/sowbug/ansi_tkl/config.h | 4 +- keyboards/sowbug/ansi_tkl/info.json | 2 +- .../sowbug/ansi_tkl/keymaps/default/keymap.c | 2 +- .../sowbug/ansi_tkl/keymaps/sowbug/keymap.c | 48 + keyboards/sowbug/ansi_tkl/rules.mk | 39 +- keyboards/soy20/rules.mk | 2 +- keyboards/space_space/config.h | 50 - .../space_space/keymaps/big_space/keymap.c | 131 - .../space_space/keymaps/default/keymap.c | 133 - keyboards/space_space/readme.md | 8 +- keyboards/space_space/rev1/config.h | 54 + keyboards/space_space/{ => rev1}/info.json | 0 .../{ => rev1}/keymaps/big_space/config.h | 0 .../rev1/keymaps/big_space/keymap.c | 130 + .../{ => rev1}/keymaps/big_space/rules.mk | 0 .../{ => rev1}/keymaps/default/config.h | 0 .../space_space/rev1/keymaps/default/keymap.c | 132 + .../{ => rev1}/keymaps/default/rules.mk | 0 .../space_space/{ => rev1}/keymaps/readme.md | 0 keyboards/space_space/rev1/readme.md | 18 + keyboards/space_space/rev1/rev1.c | 17 + keyboards/space_space/rev1/rev1.h | 45 + keyboards/space_space/rev1/rules.mk | 23 + keyboards/space_space/rev2/config.h | 59 + keyboards/space_space/rev2/info.json | 92 + .../rev2/keymaps/big_space/config.h | 27 + .../rev2/keymaps/big_space/keymap.c | 81 + .../rev2/keymaps/big_space/rules.mk | 1 + .../space_space/rev2/keymaps/default/config.h | 27 + .../space_space/rev2/keymaps/default/keymap.c | 77 + .../space_space/rev2/keymaps/default/rules.mk | 1 + .../rev2/keymaps/qpockets/config.h | 27 + .../rev2/keymaps/qpockets/keymap.c | 75 + .../rev2/keymaps/qpockets/rules.mk | 1 + keyboards/space_space/rev2/readme.md | 18 + keyboards/space_space/rev2/rev2.c | 35 + keyboards/space_space/rev2/rev2.h | 49 + keyboards/space_space/rev2/rules.mk | 23 + keyboards/space_space/rules.mk | 24 +- keyboards/space_space/space_space.c | 17 - keyboards/space_space/space_space.h | 48 - .../spaceman/2_milk/keymaps/emoji/keymap.c | 24 +- .../2_milk/keymaps/mikethetiger/rules.mk | 2 +- keyboards/spaceman/2_milk/rules.mk | 9 +- keyboards/spaceman/pancake/feather/rules.mk | 37 - keyboards/spaceman/pancake/pancake.c | 16 - keyboards/spaceman/pancake/promicro/rules.mk | 33 - keyboards/spaceman/pancake/readme.md | 12 - .../spaceman/pancake/{ => rev1}/config.h | 0 .../pancake/{ => rev1}/feather/config.h | 0 .../spaceman/pancake/rev1/feather/rules.mk | 30 + .../spaceman/pancake/{ => rev1}/info.json | 0 .../{ => rev1}/keymaps/default/keymap.c | 0 .../{ => rev1}/keymaps/default/readme.md | 0 .../pancake/{ => rev1}/keymaps/via/keymap.c | 0 .../pancake/rev1/keymaps/via/rules.mk | 2 + .../pancake/{ => rev1}/promicro/config.h | 0 .../spaceman/pancake/rev1/promicro/rules.mk | 26 + keyboards/spaceman/pancake/rev1/readme.md | 13 + keyboards/spaceman/pancake/rev1/rev1.c | 16 + .../pancake/{pancake.h => rev1/rev1.h} | 0 keyboards/spaceman/pancake/rev2/config.h | 34 + keyboards/spaceman/pancake/rev2/info.json | 62 + .../pancake/rev2/keymaps/default/keymap.c | 84 + .../pancake/rev2/keymaps/default/readme.md | 3 + keyboards/spaceman/pancake/rev2/readme.md | 12 + keyboards/spaceman/pancake/rev2/rev2.c | 54 + keyboards/spaceman/pancake/rev2/rev2.h | 31 + keyboards/spaceman/pancake/rev2/rules.mk | 26 + keyboards/spaceman/yun65/rules.mk | 9 +- keyboards/spacetime/config.h | 20 - keyboards/spacetime/keymaps/default/keymap.c | 16 - .../spacetime/keymaps/kyleterry/keymap.c | 2 +- keyboards/spacetime/rev1/rev1.c | 24 - keyboards/spacetime/rev1/rules.mk | 2 +- keyboards/spacetime/rev2/rev2.c | 20 - keyboards/spacetime/rev2/rules.mk | 3 +- keyboards/spacetime/rules.mk | 12 +- keyboards/spacey/config.h | 110 + keyboards/spacey/info.json | 87 + keyboards/spacey/keymaps/default/keymap.c | 47 + keyboards/spacey/keymaps/default/readme.md | 1 + keyboards/spacey/readme.md | 19 + keyboards/spacey/rules.mk | 23 + keyboards/spacey/spacey.c | 29 + keyboards/spacey/spacey.h | 41 + keyboards/sparrow62/rules.mk | 2 +- keyboards/specskeys/config.h | 151 + keyboards/specskeys/info.json | 108 + keyboards/specskeys/keymaps/default/keymap.c | 38 + keyboards/specskeys/keymaps/default/readme.md | 1 + keyboards/specskeys/readme.md | 41 + keyboards/specskeys/rules.mk | 25 + keyboards/specskeys/specskeys.c | 17 + keyboards/specskeys/specskeys.h | 44 + keyboards/spiderisland/split78/rules.mk | 4 +- keyboards/splitish/rules.mk | 9 +- keyboards/splitkb/kyria/.noci | 0 keyboards/{ => splitkb}/kyria/config.h | 0 keyboards/{ => splitkb}/kyria/info.json | 0 .../splitkb/kyria/keymaps/asapjockey/config.h | 47 + .../splitkb/kyria/keymaps/asapjockey/keymap.c | 313 ++ .../splitkb/kyria/keymaps/asapjockey/rules.mk | 6 + .../splitkb/kyria/keymaps/benji/config.h | 34 + .../kyria/keymaps/benji/glcdfont.c | 0 .../splitkb/kyria/keymaps/benji/keymap.c | 247 + .../splitkb/kyria/keymaps/benji/readme.md | 246 + .../splitkb/kyria/keymaps/benji/rules.mk | 4 + .../splitkb/kyria/keymaps/cjuniet/config.h | 37 + .../kyria/keymaps/cjuniet/default.json | 0 .../kyria/keymaps/cjuniet/keymap.c | 0 .../splitkb/kyria/keymaps/cjuniet/rules.mk | 7 + .../splitkb/kyria/keymaps/corodiak/config.h | 45 + .../kyria/keymaps/corodiak/keymap.c | 0 .../splitkb/kyria/keymaps/corodiak/rules.mk | 5 + .../splitkb/kyria/keymaps/cwebster2/config.h | 55 + .../splitkb/kyria/keymaps/cwebster2/keymap.c | 410 ++ .../splitkb/kyria/keymaps/cwebster2/rules.mk | 6 + .../splitkb/kyria/keymaps/default/config.h | 32 + .../splitkb/kyria/keymaps/default/keymap.c | 217 + .../splitkb/kyria/keymaps/default/readme.md | 249 + .../splitkb/kyria/keymaps/default/rules.mk | 4 + .../splitkb/kyria/keymaps/drashna/config.h | 43 + .../splitkb/kyria/keymaps/drashna/keymap.c | 165 + .../splitkb/kyria/keymaps/drashna/rules.mk | 23 + .../splitkb/kyria/keymaps/ghidalgo93/config.h | 41 + .../splitkb/kyria/keymaps/ghidalgo93/keymap.c | 246 + .../splitkb/kyria/keymaps/ghidalgo93/rules.mk | 5 + .../kyria/keymaps/gotham/README.md | 0 .../splitkb/kyria/keymaps/gotham/config.h | 48 + .../kyria/keymaps/gotham/encoder_utils.c | 0 .../kyria/keymaps/gotham/encoder_utils.h | 0 .../kyria/keymaps/gotham/keycodes.h | 0 .../splitkb/kyria/keymaps/gotham/keymap.c | 127 + .../kyria/keymaps/gotham/oled_utils.c | 0 .../kyria/keymaps/gotham/oled_utils.h | 0 .../splitkb/kyria/keymaps/gotham/rules.mk | 22 + .../kyria/keymaps/gotham/thumbstick.c | 0 .../kyria/keymaps/gotham/thumbstick.h | 0 .../splitkb/kyria/keymaps/j-inc/config.h | 45 + .../splitkb/kyria/keymaps/j-inc/keymap.c | 376 ++ .../splitkb/kyria/keymaps/j-inc/rules.mk | 19 + .../splitkb/kyria/keymaps/jhelvy/config.h | 33 + .../splitkb/kyria/keymaps/jhelvy/keymap.c | 202 + .../splitkb/kyria/keymaps/jhelvy/rules.mk | 9 + .../splitkb/kyria/keymaps/kejadlen/config.h | 47 + .../kyria/keymaps/kejadlen/keymap.c | 0 .../splitkb/kyria/keymaps/kejadlen/rules.mk | 5 + .../keymaps/manna-harbour_miryoku/config.h | 37 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + .../splitkb/kyria/keymaps/mattir/config.h | 55 + .../splitkb/kyria/keymaps/mattir/keymap.c | 292 ++ .../kyria/keymaps/mattir/readme.md | 0 .../splitkb/kyria/keymaps/mattir/rules.mk | 5 + .../kyria/keymaps/mattir2/config.h | 0 .../kyria/keymaps/mattir2/keymap.c | 0 .../kyria/keymaps/mattir2/readme.md | 0 .../splitkb/kyria/keymaps/mattir2/rules.mk | 4 + .../kyria/keymaps/ninjonas/README.md | 0 .../splitkb/kyria/keymaps/ninjonas/config.h | 37 + .../kyria/keymaps/ninjonas/keymap.c | 0 .../splitkb/kyria/keymaps/ninjonas/oled.c | 209 + .../splitkb/kyria/keymaps/ninjonas/rules.mk | 7 + .../splitkb/kyria/keymaps/pierrec83/config.h | 65 + .../kyria/keymaps/pierrec83/encoders.c | 3 +- .../kyria/keymaps/pierrec83/keymap.c | 0 .../kyria/keymaps/pierrec83/keymap.json | 0 .../kyria/keymaps/pierrec83/layers.h | 0 .../kyria/keymaps/pierrec83/readme.md | 0 .../splitkb/kyria/keymaps/pierrec83/rules.mk | 5 + .../splitkb/kyria/keymaps/plattfot/README.md | 172 + .../splitkb/kyria/keymaps/plattfot/config.h | 44 + .../splitkb/kyria/keymaps/plattfot/keymap.c | 480 ++ .../splitkb/kyria/keymaps/plattfot/rules.mk | 6 + keyboards/splitkb/kyria/keymaps/rmw/config.h | 36 + keyboards/splitkb/kyria/keymaps/rmw/keymap.c | 200 + .../{ => splitkb}/kyria/keymaps/rmw/readme.md | 0 keyboards/splitkb/kyria/keymaps/rmw/rules.mk | 4 + .../splitkb/kyria/keymaps/shinze/config.h | 32 + .../splitkb/kyria/keymaps/shinze/keymap.c | 248 + .../splitkb/kyria/keymaps/shinze/rules.mk | 4 + .../splitkb/kyria/keymaps/tessachka/config.h | 29 + .../splitkb/kyria/keymaps/tessachka/keymap.c | 241 + .../splitkb/kyria/keymaps/tessachka/rules.mk | 4 + .../kyria/keymaps/thomasbaart/config.h | 47 + .../kyria/keymaps/thomasbaart/keymap.c | 359 ++ .../kyria/keymaps/thomasbaart/rules.mk | 6 + keyboards/splitkb/kyria/keymaps/via/config.h | 40 + keyboards/splitkb/kyria/keymaps/via/keymap.c | 248 + keyboards/splitkb/kyria/keymaps/via/rules.mk | 10 + .../splitkb/kyria/keymaps/winternebs/config.h | 31 + .../kyria/keymaps/winternebs/glcdfont.c | 0 .../splitkb/kyria/keymaps/winternebs/keymap.c | 732 +++ .../splitkb/kyria/keymaps/winternebs/rules.mk | 13 + keyboards/{ => splitkb}/kyria/kyria.c | 1 - keyboards/splitkb/kyria/kyria.h | 31 + keyboards/splitkb/kyria/readme.md | 21 + keyboards/splitkb/kyria/rev1/config.h | 84 + keyboards/splitkb/kyria/rev1/rev1.c | 148 + keyboards/splitkb/kyria/rev1/rev1.h | 67 + keyboards/splitkb/kyria/rev1/rules.mk | 8 + keyboards/splitkb/kyria/rules.mk | 26 + keyboards/splitkb/zima/config.h | 41 +- .../splitkb/zima/keymaps/drashna/config.h | 2 + .../splitkb/zima/keymaps/drashna/keymap.c | 72 +- .../splitkb/zima/keymaps/drashna/rules.mk | 1 + keyboards/splitkb/zima/keymaps/via/config.h | 20 + keyboards/splitkb/zima/keymaps/via/keymap.c | 68 + keyboards/splitkb/zima/keymaps/via/rules.mk | 2 + keyboards/splitkb/zima/rules.mk | 5 +- keyboards/splitkb/zima/zima.c | 18 +- keyboards/splitreus62/rules.mk | 10 +- keyboards/splitty/rules.mk | 2 +- keyboards/splitty/splitty.c | 2 +- keyboards/squiggle/rev1/rules.mk | 4 +- keyboards/standaside/config.h | 20 - keyboards/standaside/rules.mk | 10 +- keyboards/standaside/standaside.c | 13 - keyboards/staryu/readme.md | 15 - keyboards/staryu/rules.mk | 31 - keyboards/steal_this_keyboard/config.h | 67 + keyboards/steal_this_keyboard/info.json | 54 + .../keymaps/default/config.h | 39 + .../keymaps/default/keymap.c | 92 + keyboards/steal_this_keyboard/readme.md | 11 + keyboards/steal_this_keyboard/rules.mk | 24 + .../steal_this_keyboard/steal_this_keyboard.c | 16 + .../steal_this_keyboard/steal_this_keyboard.h | 46 + keyboards/stella/rules.mk | 2 +- keyboards/stratos/config.h | 54 + keyboards/stratos/info.json | 608 +++ .../stratos/keymaps/ansi_arrows/keymap.c | 33 + .../keymaps/ansi_split_bs_rshift/keymap.c | 33 + keyboards/stratos/keymaps/default/keymap.c | 33 + keyboards/stratos/keymaps/iso/keymap.c | 33 + .../keymaps/iso_split_bs_rshift/keymap.c | 33 + .../stratos/keymaps/iso_tsangan/keymap.c | 33 + keyboards/stratos/keymaps/tsangan/keymap.c | 33 + .../stratos/keymaps/tsangan_hhkb/keymap.c | 33 + keyboards/stratos/keymaps/via/keymap.c | 47 + keyboards/stratos/keymaps/via/rules.mk | 2 + keyboards/stratos/readme.md | 21 + keyboards/stratos/rules.mk | 24 + keyboards/stratos/stratos.c | 17 + keyboards/stratos/stratos.h | 147 + keyboards/studiokestra/cascade/cascade.c | 18 + keyboards/studiokestra/cascade/cascade.h | 73 + keyboards/studiokestra/cascade/config.h | 84 + keyboards/studiokestra/cascade/info.json | 207 + .../cascade/keymaps/default/keymap.c | 41 + .../cascade/keymaps/default/readme.md | 3 + .../keymaps/default_tsangan_hhkb/keymap.c | 40 + .../keymaps/default_tsangan_hhkb/readme.md | 3 + .../studiokestra/cascade/keymaps/via/keymap.c | 57 + .../cascade/keymaps/via/readme.md | 3 + .../studiokestra/cascade/keymaps/via/rules.mk | 1 + keyboards/studiokestra/cascade/readme.md | 23 + keyboards/studiokestra/cascade/rules.mk | 22 + keyboards/studiokestra/nue/info.json | 2 +- keyboards/studiokestra/nue/rules.mk | 2 +- keyboards/subatomic/rules.mk | 12 +- keyboards/suihankey/alpha/alpha.c | 35 - keyboards/suihankey/alpha/config.h | 20 - .../suihankey/alpha/keymaps/default/keymap.c | 18 +- keyboards/suihankey/rev1/config.h | 20 - .../suihankey/rev1/keymaps/default/keymap.c | 18 +- keyboards/suihankey/rev1/rev1.c | 35 - keyboards/suihankey/rules.mk | 13 +- keyboards/suihankey/split/alpha/alpha.c | 35 - keyboards/suihankey/split/alpha/config.h | 20 - .../suihankey/split/keymaps/default/keymap.c | 16 - keyboards/suihankey/split/rev1/config.h | 20 - keyboards/suihankey/split/rev1/rev1.c | 35 - keyboards/suihankey/split/rules.mk | 2 +- .../retropad/keymaps/default/keymap.c | 7 +- .../swiftrax/retropad/keymaps/via/keymap.c | 7 +- keyboards/swiftrax/retropad/rules.mk | 2 +- keyboards/switchplate/southpaw_65/config.h | 20 - keyboards/switchplate/southpaw_65/rules.mk | 10 +- .../switchplate/southpaw_fullsize/rules.mk | 10 +- keyboards/switchplate/switchplate910/config.h | 87 + .../switchplate/switchplate910/info.json | 297 ++ .../switchplate910/keymaps/default/keymap.c | 40 + .../switchplate910/keymaps/default/readme.md | 3 + .../switchplate910/keymaps/via/keymap.c | 57 + .../switchplate910/keymaps/via/rules.mk | 1 + .../switchplate/switchplate910/readme.md | 13 + keyboards/switchplate/switchplate910/rules.mk | 22 + .../switchplate910/switchplate910.c | 18 + .../switchplate910/switchplate910.h | 43 + keyboards/sx60/i2cmaster.h | 178 - keyboards/sx60/matrix.c | 21 +- keyboards/sx60/rules.mk | 13 +- keyboards/sx60/sx60.c | 31 +- keyboards/sx60/sx60.h | 10 +- keyboards/sx60/twimaster.c | 207 - keyboards/tada68/keymaps/abishalom/rules.mk | 2 +- keyboards/tada68/keymaps/ardakilic/rules.mk | 2 +- keyboards/tada68/keymaps/bazooka/rules.mk | 2 +- keyboards/tada68/keymaps/cheese/rules.mk | 2 +- keyboards/tada68/keymaps/dlg/rules.mk | 2 +- keyboards/tada68/keymaps/emdarcher/keymap.c | 4 +- keyboards/tada68/keymaps/fakb/rules.mk | 2 +- keyboards/tada68/keymaps/fezzant/rules.mk | 2 +- keyboards/tada68/keymaps/iso-nor/rules.mk | 2 +- keyboards/tada68/keymaps/iso-uk/rules.mk | 2 +- keyboards/tada68/keymaps/isoish/rules.mk | 2 +- keyboards/tada68/keymaps/kbp-v60/rules.mk | 2 +- keyboards/tada68/keymaps/mattdicarlo/rules.mk | 2 +- keyboards/tada68/keymaps/mattgemmell/rules.mk | 2 +- keyboards/tada68/keymaps/mlechner/rules.mk | 2 +- keyboards/tada68/keymaps/mtdjr/rules.mk | 2 +- .../tada68/keymaps/onelivesleft/rules.mk | 2 +- keyboards/tada68/keymaps/pascamel/rules.mk | 2 +- keyboards/tada68/keymaps/raylas/rules.mk | 2 +- keyboards/tada68/keymaps/rbong/rules.mk | 2 +- keyboards/tada68/keymaps/rgb/rules.mk | 2 +- keyboards/tada68/keymaps/rys/rules.mk | 2 +- keyboards/tada68/keymaps/sm0g/rules.mk | 2 +- .../tada68/keymaps/stephengrier/rules.mk | 2 +- keyboards/tada68/keymaps/trashcat/rules.mk | 2 +- keyboards/tada68/keymaps/tshack/rules.mk | 2 +- keyboards/tada68/keymaps/unix/rules.mk | 2 +- keyboards/tada68/keymaps/wamsm_tada/rules.mk | 2 +- keyboards/tada68/rules.mk | 13 +- keyboards/takashicompany/endzone34/config.h | 151 + .../takashicompany/endzone34/endzone34.c | 17 + .../takashicompany/endzone34/endzone34.h | 39 + keyboards/takashicompany/endzone34/info.json | 48 + .../endzone34/keymaps/default/keymap.c | 112 + .../endzone34/keymaps/via/keymap.c | 43 + .../endzone34/keymaps/via/rules.mk | 1 + keyboards/takashicompany/endzone34/readme.md | 20 + keyboards/takashicompany/endzone34/rules.mk | 24 + keyboards/taleguers/taleguers75/rules.mk | 2 +- keyboards/taleguers/taleguers75/taleguers75.c | 4 +- keyboards/tanuki/keymaps/tucznak/rules.mk | 2 +- keyboards/tanuki/rules.mk | 10 +- keyboards/tanuki/tanuki.c | 6 - keyboards/tau4/common/glcdfont.c | 105 + keyboards/tau4/config.h | 72 + keyboards/tau4/keymaps/default/keymap.c | 146 + keyboards/tau4/keymaps/default/readme.md | 5 + keyboards/tau4/readme.md | 16 + keyboards/tau4/rules.mk | 29 + keyboards/tau4/tau4.c | 18 + keyboards/tau4/tau4.h | 32 + keyboards/team0110/p1800fl/config.h | 83 + keyboards/team0110/p1800fl/info.json | 99 + .../team0110/p1800fl/keymaps/default/keymap.c | 34 + .../p1800fl/keymaps/default/readme.md | 0 .../team0110/p1800fl/keymaps/via/keymap.c | 48 + .../team0110/p1800fl/keymaps/via/readme.md | 1 + .../team0110/p1800fl/keymaps/via/rules.mk | 1 + .../{handwired => team0110}/p1800fl/p1800fl.c | 0 .../{handwired => team0110}/p1800fl/p1800fl.h | 0 keyboards/team0110/p1800fl/readme.md | 15 + keyboards/team0110/p1800fl/rules.mk | 22 + keyboards/technika/info.json | 71 + keyboards/technika/rules.mk | 5 +- keyboards/telophase/config.h | 53 +- keyboards/telophase/keymaps/default/keymap.c | 134 +- keyboards/telophase/matrix.c | 127 +- keyboards/telophase/readme.md | 13 +- keyboards/telophase/rules.mk | 39 +- keyboards/telophase/telophase.c | 46 +- keyboards/telophase/telophase.h | 81 +- keyboards/tempo_turtle/bradpad/bradpad.c | 15 + keyboards/tempo_turtle/bradpad/bradpad.h | 32 + keyboards/tempo_turtle/bradpad/config.h | 19 + keyboards/tempo_turtle/bradpad/info.json | 28 + .../bradpad/keymaps/4brad/config.h | 20 + .../bradpad/keymaps/4brad/keymap.c | 148 + .../bradpad/keymaps/4brad/rules.mk | 1 + .../bradpad/keymaps/default/keymap.c | 24 + .../bradpad/keymaps/midi_demo/config.h | 20 + .../bradpad/keymaps/midi_demo/keymap.c | 42 + .../bradpad/keymaps/midi_demo/rules.mk | 1 + .../tempo_turtle/bradpad/keymaps/via/keymap.c | 50 + .../tempo_turtle/bradpad/keymaps/via/rules.mk | 1 + keyboards/tempo_turtle/bradpad/readme.md | 32 + keyboards/tempo_turtle/bradpad/rules.mk | 23 + keyboards/tender/macrowo_pad/config.h | 40 + keyboards/tender/macrowo_pad/info.json | 12 + .../macrowo_pad/keymaps/default/keymap.c | 56 + .../macrowo_pad/keymaps/default/rules.mk | 2 + .../tender/macrowo_pad/keymaps/via/keymap.c | 64 + .../tender/macrowo_pad/keymaps/via/rules.mk | 3 + keyboards/tender/macrowo_pad/macrowo_pad.c | 17 + keyboards/tender/macrowo_pad/macrowo_pad.h | 27 + keyboards/tender/macrowo_pad/readme.md | 16 + keyboards/tender/macrowo_pad/rules.mk | 22 + keyboards/tenki/rules.mk | 8 +- keyboards/terrazzo/config.h | 25 +- keyboards/terrazzo/keymaps/default/keymap.c | 21 +- keyboards/terrazzo/keymaps/ortho/keymap.c | 19 +- keyboards/terrazzo/keymaps/ortho_all/keymap.c | 21 +- keyboards/terrazzo/keymaps/ortho_mit/keymap.c | 19 +- keyboards/terrazzo/readme.md | 8 +- keyboards/terrazzo/rules.mk | 36 +- keyboards/terrazzo/terrazzo.c | 40 +- keyboards/terrazzo/terrazzo_effects/dino.h | 2 +- keyboards/terrazzo/terrazzo_effects/dot.h | 4 +- keyboards/terrazzo/terrazzo_effects/heart.h | 2 +- keyboards/terrazzo/terrazzo_effects/outrun.h | 2 +- .../terrazzo/terrazzo_effects/pac_dude.h | 2 +- .../terrazzo/terrazzo_effects/wpm_chart.h | 4 +- keyboards/tetris/keymaps/default/keymap.c | 3 +- keyboards/tetris/rules.mk | 9 +- keyboards/tg4x/config.h | 20 - keyboards/tg4x/rules.mk | 10 +- keyboards/tg4x/tg4x.c | 35 - keyboards/tgr/910/rules.mk | 11 +- keyboards/tgr/910ce/rules.mk | 13 +- keyboards/tgr/alice/rules.mk | 11 +- keyboards/tgr/jane/rules.mk | 11 +- keyboards/tgr/tris/rules.mk | 11 +- keyboards/the_royal/liminal/rules.mk | 10 +- keyboards/the_royal/schwann/rules.mk | 11 +- keyboards/the_ruler/rules.mk | 10 +- keyboards/the_ruler/the_ruler.c | 21 - keyboards/the_uni/config.h | 52 + keyboards/the_uni/info.json | 41 + keyboards/the_uni/keymaps/default/keymap.c | 77 + keyboards/the_uni/keymaps/qwerty/keymap.c | 77 + keyboards/the_uni/readme.md | 19 + keyboards/the_uni/rules.mk | 21 + keyboards/the_uni/the_uni.c | 18 + keyboards/the_uni/the_uni.h | 30 + keyboards/thedogkeyboard/config.h | 20 - keyboards/thedogkeyboard/rules.mk | 10 +- .../ncc1701kb/v2/keymaps/default/keymap.c | 23 +- keyboards/themadnoodle/ncc1701kb/v2/rules.mk | 11 +- .../noodlepad/keymaps/default/keymap.c | 23 +- keyboards/themadnoodle/noodlepad/rules.mk | 11 +- .../bananasplit/keymaps/0010/rules.mk | 1 - .../bananasplit/keymaps/coloneljesus/rules.mk | 1 - .../bananasplit/keymaps/kamon/rules.mk | 1 - .../thevankeyboards/bananasplit/rules.mk | 9 +- keyboards/thevankeyboards/caravan/rules.mk | 10 +- keyboards/thevankeyboards/jetvan/config.h | 108 + keyboards/thevankeyboards/jetvan/jetvan.c | 14 + keyboards/thevankeyboards/jetvan/jetvan.h | 29 + .../jetvan/keymaps/default/keymap.c | 36 + .../jetvan/keymaps/via/keymap.c | 54 + .../jetvan/keymaps/via/rules.mk | 1 + keyboards/thevankeyboards/jetvan/readme.md | 13 + keyboards/thevankeyboards/jetvan/rules.mk | 22 + .../minivan/keymaps/belak/rules.mk | 1 - .../minivan/keymaps/jeebak/rules.mk | 2 +- .../minivan/keymaps/jetpacktuxedo/keymap.c | 2 +- .../minivan/keymaps/jetpacktuxedo/rules.mk | 2 +- .../minivan/keymaps/josjoha/base_colemak.c | 28 +- .../minivan/keymaps/josjoha/base_colemak.md | 6 +- .../minivan/keymaps/josjoha/base_dvorak.c | 28 +- .../minivan/keymaps/josjoha/base_dvorak.md | 8 +- .../keymaps/josjoha/base_dvorak_descramble.c | 28 +- .../keymaps/josjoha/base_dvorak_descramble.md | 8 +- .../minivan/keymaps/josjoha/base_qwerty.c | 30 +- .../minivan/keymaps/josjoha/base_qwerty.md | 39 +- .../keymaps/josjoha/base_qwerty_basearrow.c | 52 +- .../keymaps/josjoha/base_qwerty_basearrow.h | 11 +- .../keymaps/josjoha/base_qwerty_basearrow.md | 26 +- .../minivan/keymaps/josjoha/base_workman.c | 28 +- .../minivan/keymaps/josjoha/base_workman.md | 6 +- .../minivan/keymaps/josjoha/config.h | 11 +- .../minivan/keymaps/josjoha/keymap.c | 61 +- .../keymaps/josjoha/minifan_config_compact.h | 8 +- .../minivan/keymaps/josjoha/readme.md | 209 +- .../minivan/keymaps/josjoha/rules.mk | 2 +- .../minivan/keymaps/josjoha/unicode_macros.c | 183 +- .../minivan/keymaps/josjoha/user_config.h | 54 +- .../minivan/keymaps/king/rules.mk | 2 +- .../minivan/keymaps/like_jis/rules.mk | 2 +- .../minivan/keymaps/mikethetiger/rules.mk | 2 +- .../minivan/keymaps/mjt/rules.mk | 2 +- .../minivan/keymaps/smt/rules.mk | 2 +- .../minivan/keymaps/tong92/rules.mk | 2 +- .../minivan/keymaps/via/keymap.json | 11 +- .../minivan/keymaps/xyverz/rules.mk | 2 +- keyboards/thevankeyboards/minivan/rules.mk | 11 +- .../roadkit/keymaps/flipphone/rules.mk | 2 +- .../roadkit/keymaps/khord/rules.mk | 2 +- .../roadkit/keymaps/mjt/rules.mk | 2 +- .../roadkit/keymaps/singles/rules.mk | 2 +- .../roadkit/keymaps/singlesBrent/rules.mk | 2 +- .../roadkit/keymaps/wavebeem-gamepad/rules.mk | 2 +- keyboards/thevankeyboards/roadkit/roadkit.c | 27 - keyboards/thevankeyboards/roadkit/rules.mk | 10 +- keyboards/tiger910/config.h | 49 + keyboards/tiger910/info.json | 79 + keyboards/tiger910/keymaps/default/keymap.c | 28 + keyboards/tiger910/keymaps/via/keymap.c | 53 + keyboards/tiger910/keymaps/via/rules.mk | 1 + keyboards/tiger910/readme.md | 15 + keyboards/tiger910/rules.mk | 22 + keyboards/tiger910/tiger910.c | 17 + keyboards/tiger910/tiger910.h | 33 + keyboards/tkc/candybar/lefty/config.h | 20 - keyboards/tkc/candybar/lefty/lefty.c | 4 - keyboards/tkc/candybar/lefty/rules.mk | 6 +- keyboards/tkc/candybar/righty/config.h | 20 - keyboards/tkc/candybar/righty/rules.mk | 6 +- keyboards/tkc/godspeed75/chconf.h | 1 - keyboards/tkc/godspeed75/config.h | 32 +- .../tkc/godspeed75/keymaps/default/keymap.c | 2 +- keyboards/tkc/godspeed75/keymaps/via/keymap.c | 2 +- keyboards/tkc/godspeed75/rules.mk | 7 +- keyboards/tkc/m0lly/keymaps/default/keymap.c | 4 +- keyboards/tkc/m0lly/keymaps/via/keymap.c | 2 +- keyboards/tkc/m0lly/rules.mk | 5 +- keyboards/tkc/osav2/config.h | 20 - keyboards/tkc/osav2/rules.mk | 10 +- keyboards/tkc/portico/config.h | 62 +- keyboards/tkc/portico/info.json | 156 +- .../tkc/portico/keymaps/default/keymap.c | 28 +- keyboards/tkc/portico/keymaps/via/keymap.c | 28 +- keyboards/tkc/portico/portico.c | 4 +- keyboards/tkc/portico/portico.h | 6 +- keyboards/tkc/portico/readme.md | 9 +- keyboards/tkc/portico/rules.mk | 15 +- keyboards/tkc/tkc1800/config.h | 20 - .../tkc/tkc1800/keymaps/default/keymap.c | 6 +- keyboards/tkc/tkc1800/keymaps/smt/keymap.c | 4 +- keyboards/tkc/tkc1800/keymaps/via/keymap.c | 4 +- keyboards/tkc/tkc1800/keymaps/wkl/keymap.c | 6 +- .../tkc/tkc1800/keymaps/yanfali/keymap.c | 6 +- .../tkc/tkc1800/keymaps/yanfali/rules.mk | 2 +- keyboards/tkc/tkc1800/rules.mk | 13 +- keyboards/tkc/tkl_ab87/rules.mk | 2 +- keyboards/tkw/grandiceps/config.h | 1 - keyboards/tkw/grandiceps/info.json | 2 +- .../tkw/grandiceps/keymaps/default/keymap.c | 5 +- keyboards/tkw/grandiceps/rules.mk | 11 +- .../tkw/stoutgat/v1/keymaps/default/keymap.c | 3 +- keyboards/tkw/stoutgat/v1/rules.mk | 4 +- keyboards/tkw/stoutgat/v2/f411/rules.mk | 4 +- .../tkw/stoutgat/v2/keymaps/ansi/keymap.c | 3 +- .../tkw/stoutgat/v2/keymaps/default/keymap.c | 21 +- keyboards/tkw/stoutgat/v2/rules.mk | 2 +- keyboards/tmo50/config.h | 20 - keyboards/tmo50/rules.mk | 10 +- keyboards/tmo50/tmo50.c | 20 - keyboards/toad/rules.mk | 9 +- keyboards/tokyo60/readme.md | 15 - keyboards/tokyo60/rules.mk | 33 - keyboards/tokyo60/tokyo60.c | 18 - keyboards/tokyokeyboard/alix40/info.json | 10 +- keyboards/tokyokeyboard/alix40/readme.md | 12 +- keyboards/tokyokeyboard/alix40/rules.mk | 2 +- .../{ => tokyokeyboard}/tokyo60/config.h | 0 .../{ => tokyokeyboard}/tokyo60/info.json | 0 .../tokyo60/keymaps/default/config.h | 0 .../tokyo60/keymaps/default/keymap.c | 0 .../tokyo60/keymaps/swappedBottomRow/config.h | 0 .../tokyo60/keymaps/swappedBottomRow/keymap.c | 0 .../tokyo60/keymaps/via/keymap.c | 0 .../tokyo60/keymaps/via/rules.mk | 1 + keyboards/tokyokeyboard/tokyo60/readme.md | 15 + keyboards/tokyokeyboard/tokyo60/rules.mk | 25 + keyboards/tokyokeyboard/tokyo60/tokyo60.c | 1 + .../{ => tokyokeyboard}/tokyo60/tokyo60.h | 0 keyboards/torn/bongocat.c | 2 +- .../keymaps/manna-harbour_miryoku/config.h | 20 + .../keymaps/manna-harbour_miryoku/keymap.c | 5 + keyboards/torn/rules.mk | 9 +- keyboards/torn/torn_encoder.c | 7 +- keyboards/touchpad/rules.mk | 11 +- keyboards/tr60w/rules.mk | 10 +- keyboards/trashman/ketch/rules.mk | 2 +- keyboards/treadstone32/lite/rules.mk | 7 - keyboards/treadstone32/rev1/rules.mk | 7 - keyboards/treadstone32/rules.mk | 3 +- keyboards/treadstone48/common/oled_helper.c | 2 +- keyboards/treadstone48/common/oled_helper.h | 2 +- .../treadstone48/keymaps/default/keymap.c | 2 +- .../treadstone48/keymaps/default/rules.mk | 3 +- .../treadstone48/keymaps/like_jis/keymap.c | 2 +- .../treadstone48/keymaps/like_jis/rules.mk | 3 +- keyboards/treadstone48/rev1/config.h | 20 - .../rev1/keymaps/like_jis_rs/keymap.c | 2 +- .../rev1/keymaps/like_jis_rs/rules.mk | 3 +- keyboards/treadstone48/rev2/config.h | 19 - keyboards/treadstone48/rules.mk | 13 +- keyboards/treasure/type9/config.h | 20 - .../treasure/type9/keymaps/default/keymap.c | 12 - keyboards/treasure/type9/rules.mk | 10 +- keyboards/treasure/type9/type9.c | 27 - keyboards/treasure/type9s2/config.h | 50 + keyboards/treasure/type9s2/info.json | 22 + .../treasure/type9s2/keymaps/default/keymap.c | 43 + .../type9s2/keymaps/default/readme.md | 1 + .../treasure/type9s2/keymaps/via/keymap.c | 43 + .../treasure/type9s2/keymaps/via/readme.md | 1 + .../treasure/type9s2/keymaps/via/rules.mk | 1 + keyboards/treasure/type9s2/readme.md | 17 + keyboards/treasure/type9s2/rules.mk | 23 + keyboards/treasure/type9s2/type9s2.c | 16 + keyboards/treasure/type9s2/type9s2.h | 29 + .../tronguylabs/m122_3270/blackpill/config.h | 27 + .../tronguylabs/m122_3270/blackpill/readme.md | 3 + .../tronguylabs/m122_3270/blackpill/rules.mk | 22 + .../tronguylabs/m122_3270/bluepill/chconf.h | 29 + .../tronguylabs/m122_3270/bluepill/config.h | 29 + .../tronguylabs/m122_3270/bluepill/readme.md | 2 + .../tronguylabs/m122_3270/bluepill/rules.mk | 7 + keyboards/tronguylabs/m122_3270/config.h | 37 + keyboards/tronguylabs/m122_3270/info.json | 157 + .../m122_3270/keymaps/default/keymap.c | 214 + .../m122_3270/keymaps/default/readme.md | 35 + keyboards/tronguylabs/m122_3270/m122_3270.c | 17 + keyboards/tronguylabs/m122_3270/m122_3270.h | 40 + keyboards/tronguylabs/m122_3270/readme.md | 22 + .../tronguylabs/m122_3270/teensy/config.h | 25 + .../tronguylabs/m122_3270/teensy/readme.md | 3 + .../tronguylabs/m122_3270/teensy/rules.mk | 22 + keyboards/tszaboo/ortho4exent/config.h | 5 +- keyboards/tszaboo/ortho4exent/info.json | 4 +- keyboards/tszaboo/ortho4exent/rules.mk | 2 +- .../tunks/ergo33/keymaps/default/keymap.c | 3 +- keyboards/tunks/ergo33/keymaps/prpro/keymap.c | 3 +- keyboards/tunks/ergo33/rules.mk | 2 +- keyboards/tw40/config.h | 49 + keyboards/tw40/info.json | 4478 +++++++++++++++++ keyboards/tw40/keymaps/default/keymap.c | 39 + keyboards/tw40/keymaps/default/readme.md | 1 + keyboards/tw40/keymaps/via/keymap.c | 47 + keyboards/tw40/keymaps/via/rules.mk | 2 + keyboards/tw40/readme.md | 20 + keyboards/tw40/rules.mk | 22 + keyboards/tw40/tw40.c | 17 + keyboards/tw40/tw40.h | 233 + keyboards/txuu/config.h | 63 + keyboards/txuu/info.json | 83 + keyboards/txuu/keymaps/default/keymap.c | 36 + keyboards/txuu/keymaps/via/keymap.c | 44 + keyboards/txuu/keymaps/via/rules.mk | 1 + keyboards/txuu/readme.md | 18 + keyboards/txuu/rules.mk | 22 + keyboards/txuu/txuu.c | 18 + keyboards/txuu/txuu.h | 37 + keyboards/ua62/config.h | 20 - keyboards/ua62/rules.mk | 10 +- keyboards/uk78/keymaps/default/keymap.c | 46 +- keyboards/uk78/rules.mk | 9 +- keyboards/undead60m/config.h | 75 + keyboards/undead60m/info.json | 18 + keyboards/undead60m/keymaps/default/keymap.c | 51 + keyboards/undead60m/keymaps/via/keymap.c | 52 + keyboards/undead60m/keymaps/via/rules.mk | 1 + keyboards/undead60m/readme.md | 27 + keyboards/undead60m/rules.mk | 25 + keyboards/undead60m/undead60m.c | 60 + keyboards/undead60m/undead60m.h | 34 + keyboards/underscore33/rev1/rules.mk | 2 +- keyboards/underscore33/rev2/rules.mk | 2 +- keyboards/ungodly/launch_pad/config.h | 96 +- keyboards/ungodly/launch_pad/info.json | 60 +- .../launch_pad/keymaps/default/keymap.c | 399 +- .../ungodly/launch_pad/keymaps/via/keymap.c | 293 ++ .../ungodly/launch_pad/keymaps/via/rules.mk | 1 + .../launch_pad/keymaps/warzone/keymap.c | 269 + .../launch_pad/keymaps/warzone/rules.mk | 2 + keyboards/ungodly/launch_pad/launch_pad.c | 17 - keyboards/ungodly/launch_pad/readme.md | 62 +- keyboards/ungodly/launch_pad/rules.mk | 5 +- keyboards/ungodly/nines/nines.c | 4 +- keyboards/ungodly/nines/rules.mk | 2 +- keyboards/unikorn/rules.mk | 11 +- keyboards/unison/keymaps/default/keymap.c | 26 + keyboards/unison/keymaps/default/readme.md | 6 + .../unison/keymaps/default_music/keymap.c | 26 + .../unison/keymaps/default_music/readme.md | 6 + keyboards/unison/keymaps/via/config.h | 25 + keyboards/unison/keymaps/via/keymap.c | 139 + keyboards/unison/keymaps/via/readme.md | 36 + keyboards/unison/keymaps/via/rules.mk | 5 + keyboards/unison/readme.md | 26 + keyboards/unison/rules.mk | 1 + keyboards/unison/v04/config.h | 125 + keyboards/unison/v04/info.json | 27 + keyboards/unison/v04/readme.md | 26 + keyboards/unison/v04/rules.mk | 25 + keyboards/unison/v04/v04.c | 27 + keyboards/unison/v04/v04.h | 80 + keyboards/uno/rules.mk | 2 +- keyboards/uranuma/config.h | 20 - keyboards/uranuma/rules.mk | 10 +- keyboards/ut472/keymaps/default/keymap.c | 4 +- keyboards/ut472/keymaps/hvp/config.h | 4 +- keyboards/ut472/keymaps/hvp/keymap.c | 62 +- keyboards/ut472/keymaps/stefanopace/config.h | 21 + keyboards/ut472/keymaps/stefanopace/keymap.c | 185 + keyboards/ut472/keymaps/stefanopace/readme.md | 6 + keyboards/ut472/keymaps/stefanopace/rules.mk | 7 + keyboards/ut472/keymaps/tucznak/rules.mk | 2 +- keyboards/ut472/rules.mk | 10 +- keyboards/ut472/ut472.c | 12 - keyboards/utd80/rules.mk | 2 +- keyboards/uzu42/keymaps/default/keymap.c | 8 +- keyboards/uzu42/rules.mk | 14 +- keyboards/uzu42/uzu42.c | 4 - keyboards/v4n4g0rth0n/config.h | 46 + keyboards/v4n4g0rth0n/info.json | 66 + keyboards/v4n4g0rth0n/readme.md | 17 + keyboards/v4n4g0rth0n/v1/config.h | 23 + .../v4n4g0rth0n/v1/keymaps/default/keymap.c | 48 + keyboards/v4n4g0rth0n/v1/readme.md | 1 + keyboards/v4n4g0rth0n/v1/rules.mk | 22 + keyboards/v4n4g0rth0n/v2/config.h | 23 + .../v4n4g0rth0n/v2/keymaps/default/keymap.c | 86 + keyboards/v4n4g0rth0n/v2/readme.md | 1 + keyboards/v4n4g0rth0n/v2/rules.mk | 25 + keyboards/v4n4g0rth0n/v4n4g0rth0n.c | 17 + keyboards/v4n4g0rth0n/v4n4g0rth0n.h | 43 + keyboards/v60_type_r/config.h | 20 - keyboards/v60_type_r/keymaps/default/keymap.c | 4 - keyboards/v60_type_r/keymaps/iso/keymap.c | 4 - keyboards/v60_type_r/rules.mk | 10 +- keyboards/vagrant_10/rules.mk | 2 +- keyboards/viktus/sp111/rules.mk | 2 +- keyboards/viktus/sp_mini/config.h | 99 + keyboards/viktus/sp_mini/info.json | 85 + .../viktus/sp_mini/keymaps/default/keymap.c | 128 + keyboards/viktus/sp_mini/keymaps/via/keymap.c | 136 + keyboards/viktus/sp_mini/keymaps/via/rules.mk | 2 + keyboards/viktus/sp_mini/readme.md | 21 + keyboards/viktus/sp_mini/rules.mk | 24 + keyboards/viktus/sp_mini/sp_mini.c | 45 + keyboards/viktus/sp_mini/sp_mini.h | 41 + keyboards/viktus/styrka/rules.mk | 5 +- keyboards/vinta/keymaps/default/keymap.c | 51 - keyboards/vinta/readme.md | 22 - keyboards/vinta/rules.mk | 20 - keyboards/vinta/vinta.c | 18 - .../vision_division/Potential Layouts.txt | 84 - keyboards/vision_division/config.h | 141 - .../vision_division/keymaps/default/config.h | 77 - .../vision_division/keymaps/default/keymap.c | 367 -- .../vision_division/keymaps/default/readme.md | 1 - keyboards/vision_division/matrix_types.h | 168 - keyboards/vision_division/readme.md | 14 - keyboards/vision_division/rules.mk | 30 - keyboards/vision_division/vision_division.c | 68 - keyboards/vision_division/vision_division.h | 6 - keyboards/vitamins_included/config.h | 13 - .../vitamins_included/keymaps/via/config.h | 22 + .../vitamins_included/keymaps/via/rules.mk | 2 +- keyboards/vitamins_included/rev1/rev1.c | 12 - keyboards/vitamins_included/rev1/rules.mk | 7 - keyboards/vitamins_included/rev2/config.h | 7 +- keyboards/vitamins_included/rev2/rev2.c | 12 - keyboards/vitamins_included/rev2/rules.mk | 7 - keyboards/vitamins_included/rules.mk | 3 +- .../vitamins_included/vitamins_included.c | 4 +- .../vitamins_included/vitamins_included.h | 16 - keyboards/vn66/keymaps/default/keymap.c | 3 +- keyboards/vn66/rules.mk | 2 +- keyboards/waldo/rules.mk | 11 +- keyboards/wallaby/config.h | 20 - keyboards/wallaby/rules.mk | 10 +- .../cajal/keymaps/default/keymap.c | 4 +- .../cajal/keymaps/default_ortho/keymap.c | 3 +- keyboards/walletburner/cajal/rules.mk | 2 +- keyboards/walletburner/neuron/rules.mk | 9 +- keyboards/wekey/polaris/config.h | 152 + keyboards/wekey/polaris/info.json | 275 + .../wekey/polaris/keymaps/default/keymap.c | 39 + .../wekey/polaris/keymaps/default/readme.md | 3 + keyboards/wekey/polaris/keymaps/via/keymap.c | 55 + keyboards/wekey/polaris/keymaps/via/readme.md | 3 + keyboards/wekey/polaris/keymaps/via/rules.mk | 1 + keyboards/wekey/polaris/polaris.c | 17 + keyboards/wekey/polaris/polaris.h | 109 + keyboards/wekey/polaris/readme.md | 27 + keyboards/wekey/polaris/rules.mk | 25 + keyboards/wekey/we27/config.h | 219 + keyboards/wekey/we27/encoder_actions.c | 57 + keyboards/wekey/we27/encoder_actions.h | 21 + keyboards/wekey/we27/info.json | 29 + keyboards/wekey/we27/keymaps/default/keymap.c | 52 + .../wekey/we27/keymaps/default/readme.md | 1 + keyboards/wekey/we27/keymaps/via/keymap.c | 52 + keyboards/wekey/we27/keymaps/via/readme.md | 1 + keyboards/wekey/we27/keymaps/via/rules.mk | 2 + keyboards/wekey/we27/readme.md | 19 + keyboards/wekey/we27/rgb_matrix_kb.inc | 27 + keyboards/wekey/we27/rules.mk | 32 + keyboards/wekey/we27/we27.c | 58 + keyboards/wekey/we27/we27.h | 53 + .../aanzee/keymaps/default/keymap.c | 12 - .../aanzee/keymaps/iso-default/keymap.c | 12 - .../westfoxtrot/aanzee/keymaps/via/keymap.c | 12 - keyboards/westfoxtrot/aanzee/rules.mk | 10 +- keyboards/westfoxtrot/cyclops/config.h | 20 - keyboards/westfoxtrot/cyclops/cyclops.c | 27 - keyboards/westfoxtrot/cyclops/info.json | 94 +- .../cyclops/keymaps/default/keymap.c | 16 - keyboards/westfoxtrot/cyclops/rules.mk | 10 +- .../cypher/rev1/keymaps/kwer/keymap.c | 8 +- keyboards/westfoxtrot/cypher/rev1/rules.mk | 10 +- keyboards/westfoxtrot/cypher/rev5/rules.mk | 10 +- keyboards/westfoxtrot/prophet/config.h | 2 + keyboards/westfoxtrot/prophet/halconf.h | 27 + keyboards/westfoxtrot/prophet/mcuconf.h | 5 +- keyboards/westfoxtrot/prophet/rules.mk | 5 +- keyboards/whale/sk/v3/rules.mk | 2 +- keyboards/wheatfield/blocked65/rules.mk | 10 +- keyboards/wheatfield/split75/config.h | 4 + keyboards/wheatfield/split75/rules.mk | 11 +- keyboards/wheatfield/split75/split75.c | 24 - keyboards/wheatfield/split75/split75.h | 4 - keyboards/whitefox/config.h | 14 + .../whitefox/keymaps/billypython/rules.mk | 2 +- keyboards/whitefox/keymaps/default/keymap.c | 20 +- keyboards/whitefox/keymaps/kim-kim/keymap.c | 15 - .../whitefox/keymaps/konstantin/rules.mk | 2 +- keyboards/whitefox/keymaps/matt3o/keymap.c | 60 +- .../whitefox/keymaps/mattrighetti/keymap.c | 81 + .../whitefox/keymaps/mattrighetti/rules.mk | 10 + keyboards/whitefox/rules.mk | 18 +- keyboards/whitefox/whitefox.c | 76 + keyboards/whitefox/whitefox.h | 84 +- keyboards/wilba_tech/rama_works_kara/config.h | 123 + .../wilba_tech/rama_works_kara/info.json | 12 + .../rama_works_kara/keymaps/default/keymap.c | 55 + .../rama_works_kara/keymaps/via/keymap.c | 1 + .../rama_works_kara/keymaps/via/rules.mk | 1 + .../rama_works_kara/rama_works_kara.c | 18 + .../rama_works_kara/rama_works_kara.h | 37 + .../wilba_tech/rama_works_kara/readme.md | 13 + keyboards/wilba_tech/rama_works_kara/rules.mk | 38 + keyboards/wilba_tech/rama_works_koyu/rules.mk | 14 +- .../wilba_tech/rama_works_m10_b/config.h | 20 - .../rama_works_m10_b/keymaps/knops/keymap.c | 6 - .../wilba_tech/rama_works_m10_b/rules.mk | 10 +- .../wilba_tech/rama_works_m10_c/rules.mk | 6 +- .../wilba_tech/rama_works_m50_a/info.json | 2 +- .../rama_works_m50_a/keymaps/default/keymap.c | 10 +- .../rama_works_m50_a/keymaps/via/keymap.c | 94 +- .../rama_works_m50_a/rama_works_m50_a.h | 6 +- .../wilba_tech/rama_works_m50_a/rules.mk | 6 +- .../wilba_tech/rama_works_m50_ax/config.h | 58 + .../wilba_tech/rama_works_m50_ax/info.json | 12 + .../keymaps/default/keymap.c | 93 + .../rama_works_m50_ax/keymaps/via/keymap.c | 1 + .../rama_works_m50_ax/keymaps/via/rules.mk | 1 + .../rama_works_m50_ax/rama_works_m50_ax.c | 45 + .../rama_works_m50_ax/rama_works_m50_ax.h | 33 + .../wilba_tech/rama_works_m50_ax/readme.md | 19 + .../wilba_tech/rama_works_m50_ax/rules.mk | 22 + .../wilba_tech/rama_works_m60_a/rules.mk | 14 +- .../wilba_tech/rama_works_m65_b/rules.mk | 6 +- .../wilba_tech/rama_works_m65_bx/rules.mk | 6 +- .../rama_works_m6_a/keymaps/knops/keymap.c | 4 +- keyboards/wilba_tech/rama_works_m6_a/rules.mk | 10 +- keyboards/wilba_tech/rama_works_m6_b/rules.mk | 14 +- .../wilba_tech/rama_works_u80_a/config.h | 20 - .../wilba_tech/rama_works_u80_a/rules.mk | 14 +- keyboards/wilba_tech/wt60_a/config.h | 20 - keyboards/wilba_tech/wt60_a/rules.mk | 14 +- keyboards/wilba_tech/wt60_b/rules.mk | 14 +- keyboards/wilba_tech/wt60_bx/rules.mk | 14 +- keyboards/wilba_tech/wt60_c/rules.mk | 14 +- keyboards/wilba_tech/wt60_d/config.h | 20 - keyboards/wilba_tech/wt60_d/rules.mk | 10 +- keyboards/wilba_tech/wt60_g/rules.mk | 2 +- keyboards/wilba_tech/wt60_g2/config.h | 55 + keyboards/wilba_tech/wt60_g2/info.json | 12 + .../wt60_g2/keymaps/default/keymap.c | 52 + .../wilba_tech/wt60_g2/keymaps/via/keymap.c | 1 + .../wilba_tech/wt60_g2/keymaps/via/rules.mk | 1 + keyboards/wilba_tech/wt60_g2/readme.md | 17 + keyboards/wilba_tech/wt60_g2/rules.mk | 22 + keyboards/wilba_tech/wt60_g2/wt60_g2.c | 17 + keyboards/wilba_tech/wt60_g2/wt60_g2.h | 36 + keyboards/wilba_tech/wt60_h1/rules.mk | 2 +- keyboards/wilba_tech/wt60_h2/config.h | 55 + keyboards/wilba_tech/wt60_h2/info.json | 12 + .../wt60_h2/keymaps/default/keymap.c | 52 + .../wilba_tech/wt60_h2/keymaps/via/keymap.c | 1 + .../wilba_tech/wt60_h2/keymaps/via/rules.mk | 1 + keyboards/wilba_tech/wt60_h2/readme.md | 17 + keyboards/wilba_tech/wt60_h2/rules.mk | 22 + keyboards/wilba_tech/wt60_h2/wt60_h2.c | 17 + keyboards/wilba_tech/wt60_h2/wt60_h2.h | 35 + keyboards/wilba_tech/wt60_h3/config.h | 55 + keyboards/wilba_tech/wt60_h3/info.json | 12 + .../wt60_h3/keymaps/default/keymap.c | 52 + .../wilba_tech/wt60_h3/keymaps/via/keymap.c | 1 + .../wilba_tech/wt60_h3/keymaps/via/rules.mk | 1 + keyboards/wilba_tech/wt60_h3/readme.md | 17 + keyboards/wilba_tech/wt60_h3/rules.mk | 22 + keyboards/wilba_tech/wt60_h3/wt60_h3.c | 17 + keyboards/wilba_tech/wt60_h3/wt60_h3.h | 35 + keyboards/wilba_tech/wt60_xt/config.h | 20 - keyboards/wilba_tech/wt60_xt/rules.mk | 10 +- keyboards/wilba_tech/wt60_xt/wt60_xt.c | 47 +- keyboards/wilba_tech/wt65_a/config.h | 20 - keyboards/wilba_tech/wt65_a/rules.mk | 14 +- keyboards/wilba_tech/wt65_b/config.h | 20 - keyboards/wilba_tech/wt65_b/rules.mk | 14 +- keyboards/wilba_tech/wt65_f/config.h | 55 + keyboards/wilba_tech/wt65_f/info.json | 12 + .../wt65_f/keymaps/default/keymap.c | 52 + .../wilba_tech/wt65_f/keymaps/via/keymap.c | 1 + .../wilba_tech/wt65_f/keymaps/via/rules.mk | 1 + keyboards/wilba_tech/wt65_f/readme.md | 17 + keyboards/wilba_tech/wt65_f/rules.mk | 22 + keyboards/wilba_tech/wt65_f/wt65_f.c | 17 + keyboards/wilba_tech/wt65_f/wt65_f.h | 36 + keyboards/wilba_tech/wt65_fx/config.h | 55 + keyboards/wilba_tech/wt65_fx/info.json | 12 + .../wt65_fx/keymaps/default/keymap.c | 52 + .../wilba_tech/wt65_fx/keymaps/via/keymap.c | 1 + .../wilba_tech/wt65_fx/keymaps/via/rules.mk | 1 + keyboards/wilba_tech/wt65_fx/readme.md | 17 + keyboards/wilba_tech/wt65_fx/rules.mk | 22 + keyboards/wilba_tech/wt65_fx/wt65_fx.c | 17 + keyboards/wilba_tech/wt65_fx/wt65_fx.h | 36 + keyboards/wilba_tech/wt65_g/rules.mk | 2 +- keyboards/wilba_tech/wt65_g2/config.h | 55 + keyboards/wilba_tech/wt65_g2/info.json | 12 + .../wt65_g2/keymaps/default/keymap.c | 52 + .../wilba_tech/wt65_g2/keymaps/via/keymap.c | 1 + .../wilba_tech/wt65_g2/keymaps/via/rules.mk | 1 + keyboards/wilba_tech/wt65_g2/readme.md | 17 + keyboards/wilba_tech/wt65_g2/rules.mk | 22 + keyboards/wilba_tech/wt65_g2/wt65_g2.c | 17 + keyboards/wilba_tech/wt65_g2/wt65_g2.h | 36 + keyboards/wilba_tech/wt65_h1/rules.mk | 2 +- keyboards/wilba_tech/wt65_xt/rules.mk | 2 +- keyboards/wilba_tech/wt65_xtx/rules.mk | 2 +- keyboards/wilba_tech/wt69_a/config.h | 20 - keyboards/wilba_tech/wt69_a/rules.mk | 10 +- keyboards/wilba_tech/wt70_jb/config.h | 64 + keyboards/wilba_tech/wt70_jb/info.json | 12 + .../wt70_jb/keymaps/default/keymap.c | 52 + .../wilba_tech/wt70_jb/keymaps/via/keymap.c | 1 + .../wilba_tech/wt70_jb/keymaps/via/rules.mk | 1 + keyboards/wilba_tech/wt70_jb/readme.md | 19 + keyboards/wilba_tech/wt70_jb/rules.mk | 22 + keyboards/wilba_tech/wt70_jb/wt70_jb.c | 60 + keyboards/wilba_tech/wt70_jb/wt70_jb.h | 34 + keyboards/wilba_tech/wt75_a/config.h | 20 - keyboards/wilba_tech/wt75_a/rules.mk | 14 +- keyboards/wilba_tech/wt75_b/config.h | 23 - keyboards/wilba_tech/wt75_b/rules.mk | 14 +- keyboards/wilba_tech/wt75_c/config.h | 23 - keyboards/wilba_tech/wt75_c/rules.mk | 14 +- keyboards/wilba_tech/wt80_a/config.h | 20 - keyboards/wilba_tech/wt80_a/rules.mk | 14 +- keyboards/wilba_tech/wt80_bc/rules.mk | 10 +- keyboards/wilba_tech/wt80_g/rules.mk | 2 +- keyboards/wilba_tech/wt8_a/rules.mk | 10 +- keyboards/wilba_tech/wt_main.c | 23 + keyboards/wilba_tech/wt_mono_backlight.c | 4 +- keyboards/wilba_tech/wt_rgb_backlight.c | 157 +- .../zeal60/keymaps/sethBarberee/rules.mk | 3 +- .../keymaps/tusing/{Makefile => rules.mk} | 0 keyboards/wilba_tech/zeal60/rules.mk | 14 +- keyboards/wilba_tech/zeal65/rules.mk | 14 +- keyboards/wings42/config.h | 21 + keyboards/wings42/readme.md | 19 + keyboards/wings42/rev1/config.h | 152 + .../wings42/rev1/keymaps/default/keymap.c | 81 + .../wings42/rev1/keymaps/default/readme.md | 1 + keyboards/wings42/rev1/keymaps/via/keymap.c | 81 + keyboards/wings42/rev1/keymaps/via/rules.mk | 1 + keyboards/wings42/rev1/readme.md | 21 + keyboards/wings42/rev1/rev1.c | 17 + keyboards/wings42/rev1/rev1.h | 44 + keyboards/wings42/rev1/rules.mk | 0 keyboards/wings42/rev1_extkeys/config.h | 152 + .../rev1_extkeys/keymaps/default/keymap.c | 81 + .../rev1_extkeys/keymaps/default/readme.md | 1 + .../wings42/rev1_extkeys/keymaps/via/keymap.c | 81 + .../wings42/rev1_extkeys/keymaps/via/rules.mk | 1 + keyboards/wings42/rev1_extkeys/readme.md | 21 + keyboards/wings42/rev1_extkeys/rev1_extkeys.c | 17 + keyboards/wings42/rev1_extkeys/rev1_extkeys.h | 48 + keyboards/wings42/rev1_extkeys/rules.mk | 0 keyboards/wings42/rules.mk | 26 + keyboards/wings42/wings42.c | 17 + keyboards/wings42/wings42.h | 26 + .../winkeyless/bface/keymaps/p3lim/README.md | 13 +- .../winkeyless/bface/keymaps/p3lim/keymap.c | 86 +- .../winkeyless/bface/keymaps/p3lim/rules.mk | 1 + keyboards/winkeyless/bface/rules.mk | 11 +- keyboards/winkeyless/bmini/rules.mk | 11 +- keyboards/winkeyless/bminiex/rules.mk | 11 +- keyboards/wolfmarkclub/wm1/rules.mk | 3 +- keyboards/work_louder/encoder_actions.c | 68 + keyboards/work_louder/encoder_actions.h | 21 + keyboards/work_louder/loop/config.h | 164 + keyboards/work_louder/loop/info.json | 26 + .../work_louder/loop/keymaps/default/keymap.c | 53 + .../loop/keymaps/default/readme.md | 1 + .../work_louder/loop/keymaps/via/keymap.c | 36 + .../work_louder/loop/keymaps/via/rules.mk | 2 + keyboards/work_louder/loop/loop.c | 57 + keyboards/work_louder/loop/loop.h | 43 + keyboards/work_louder/loop/post_config.h | 22 + keyboards/work_louder/loop/readme.md | 24 + keyboards/work_louder/loop/rules.mk | 27 + keyboards/work_louder/nano/config.h | 170 + keyboards/work_louder/nano/info.json | 16 + .../work_louder/nano/keymaps/default/keymap.c | 30 + .../nano/keymaps/default/readme.md | 1 + .../work_louder/nano/keymaps/via/keymap.c | 38 + .../work_louder/nano/keymaps/via/rules.mk | 2 + keyboards/work_louder/nano/nano.c | 42 + keyboards/work_louder/nano/nano.h | 42 + keyboards/work_louder/nano/post_config.h | 22 + keyboards/work_louder/nano/readme.md | 26 + keyboards/work_louder/nano/rules.mk | 27 + keyboards/work_louder/rgb_functions.c | 216 + keyboards/work_louder/rgb_functions.h | 85 + keyboards/work_louder/work_board/config.h | 163 + keyboards/work_louder/work_board/info.json | 114 + .../work_board/keymaps/default/keymap.c | 207 + .../work_board/keymaps/default/readme.md | 1 + .../work_board/keymaps/default}/rules.mk | 0 .../work_board/keymaps/via/keymap.c | 116 + .../work_board/keymaps/via/rules.mk | 2 + .../work_louder/work_board/post_config.h | 22 + keyboards/work_louder/work_board/readme.md | 24 + keyboards/work_louder/work_board/rules.mk | 29 + keyboards/work_louder/work_board/work_board.c | 128 + keyboards/work_louder/work_board/work_board.h | 83 + keyboards/wsk/alpha9/rules.mk | 2 +- keyboards/wsk/g4m3ralpha/rules.mk | 2 +- keyboards/wsk/gothic50/rules.mk | 10 +- keyboards/wsk/gothic70/rules.mk | 10 +- keyboards/wsk/houndstooth/rules.mk | 9 +- keyboards/wsk/jerkin/rules.mk | 9 +- keyboards/wsk/kodachi50/rules.mk | 9 +- keyboards/wsk/pain27/rules.mk | 9 +- keyboards/wsk/sl40/rules.mk | 9 +- keyboards/wsk/tkl30/rules.mk | 10 +- keyboards/wuque/ikki68/readme.md | 6 +- keyboards/wuque/ikki68/rules.mk | 2 +- keyboards/wuque/ikki68_aurora/config.h | 72 + keyboards/wuque/ikki68_aurora/ikki68_aurora.c | 17 + keyboards/wuque/ikki68_aurora/ikki68_aurora.h | 215 + keyboards/wuque/ikki68_aurora/info.json | 551 ++ .../ikki68_aurora/keymaps/68_ansi/keymap.c | 48 + .../ikki68_aurora/keymaps/68_ansi/readme.md | 1 + .../ikki68_aurora/keymaps/68_ansi/rules.mk | 2 + .../ikki68_aurora/keymaps/68_iso/keymap.c | 48 + .../ikki68_aurora/keymaps/68_iso/readme.md | 1 + .../ikki68_aurora/keymaps/68_iso/rules.mk | 2 + .../keymaps/68_split_bs/keymap.c | 48 + .../keymaps/68_split_bs/readme.md | 1 + .../keymaps/68_split_bs/rules.mk | 2 + .../keymaps/68_split_lshift/keymap.c | 48 + .../keymaps/68_split_lshift/readme.md | 1 + .../keymaps/68_split_lshift/rules.mk | 2 + .../keymaps/68_split_rshift/keymap.c | 48 + .../keymaps/68_split_rshift/readme.md | 1 + .../keymaps/68_split_rshift/rules.mk | 2 + .../keymaps/68_split_space/keymap.c | 48 + .../keymaps/68_split_space/readme.md | 1 + .../keymaps/68_split_space/rules.mk | 2 + .../ikki68_aurora/keymaps/default/keymap.c | 34 + .../ikki68_aurora/keymaps/default/readme.md | 1 + .../wuque/ikki68_aurora/keymaps/via/keymap.c | 48 + .../wuque/ikki68_aurora/keymaps/via/readme.md | 1 + .../wuque/ikki68_aurora/keymaps/via/rules.mk | 2 + keyboards/wuque/ikki68_aurora/readme.md | 26 + keyboards/wuque/ikki68_aurora/rules.mk | 24 + keyboards/wuque/mammoth20x/config.h | 54 + keyboards/wuque/mammoth20x/info.json | 41 + .../wuque/mammoth20x/keymaps/default/keymap.c | 36 + .../mammoth20x/keymaps/default/readme.md | 1 + .../wuque/mammoth20x/keymaps/via/keymap.c | 52 + .../wuque/mammoth20x/keymaps/via/readme.md | 1 + .../wuque/mammoth20x/keymaps/via/rules.mk | 2 + keyboards/wuque/mammoth20x/mammoth20x.c | 59 + keyboards/wuque/mammoth20x/mammoth20x.h | 36 + keyboards/wuque/mammoth20x/readme.md | 22 + keyboards/wuque/mammoth20x/rules.mk | 24 + keyboards/wuque/serneity65/config.h | 50 + keyboards/wuque/serneity65/info.json | 389 ++ .../wuque/serneity65/keymaps/65_ansi/keymap.c | 34 + .../serneity65/keymaps/65_ansi/readme.md | 1 + .../serneity65/keymaps/65_split_bs/keymap.c | 35 + .../serneity65/keymaps/65_split_bs/readme.md | 1 + .../keymaps/65_split_lshift/keymap.c | 34 + .../keymaps/65_split_lshift/readme.md | 1 + .../keymaps/65_split_space/keymap.c | 34 + .../keymaps/65_split_space/readme.md | 1 + .../wuque/serneity65/keymaps/default/keymap.c | 34 + .../serneity65/keymaps/default/readme.md | 1 + .../wuque/serneity65/keymaps/via/keymap.c | 48 + .../wuque/serneity65/keymaps/via/readme.md | 1 + .../wuque/serneity65/keymaps/via/rules.mk | 2 + keyboards/wuque/serneity65/readme.md | 24 + keyboards/wuque/serneity65/rules.mk | 25 + keyboards/wuque/serneity65/serneity65.c | 71 + keyboards/wuque/serneity65/serneity65.h | 159 + keyboards/x16/config.h | 20 - keyboards/x16/keymaps/default/keymap.c | 12 +- keyboards/x16/rules.mk | 10 +- keyboards/xbows/knight/config.h | 78 +- keyboards/xbows/knight/info.json | 40 +- .../xbows/knight/keymaps/default/config.h | 43 + .../xbows/knight/keymaps/default/keymap.c | 55 +- keyboards/xbows/knight/keymaps/via/config.h | 64 + keyboards/xbows/knight/keymaps/via/keymap.c | 63 + keyboards/xbows/knight/keymaps/via/rules.mk | 1 + keyboards/xbows/knight/knight.c | 146 +- keyboards/xbows/knight/knight.h | 52 +- keyboards/xbows/knight/readme.md | 26 +- keyboards/xbows/knight/rules.mk | 28 +- keyboards/xbows/knight_plus/config.h | 52 + keyboards/xbows/knight_plus/info.json | 105 + .../knight_plus/keymaps/default/config.h | 43 + .../knight_plus/keymaps/default/keymap.c | 49 + .../xbows/knight_plus/keymaps/via/config.h | 64 + .../xbows/knight_plus/keymaps/via/keymap.c | 63 + .../xbows/knight_plus/keymaps/via/rules.mk | 1 + keyboards/xbows/knight_plus/knight_plus.c | 145 + keyboards/xbows/knight_plus/knight_plus.h | 33 + keyboards/xbows/knight_plus/readme.md | 29 + keyboards/xbows/knight_plus/rules.mk | 24 + keyboards/xbows/nature/config.h | 2 +- keyboards/xbows/nature/nature.c | 176 +- keyboards/xbows/nature/rules.mk | 2 +- keyboards/xbows/numpad/config.h | 48 + keyboards/xbows/numpad/info.json | 41 + .../xbows/numpad/keymaps/default/config.h | 43 + .../xbows/numpad/keymaps/default/keymap.c | 49 + keyboards/xbows/numpad/keymaps/via/config.h | 64 + keyboards/xbows/numpad/keymaps/via/keymap.c | 63 + keyboards/xbows/numpad/keymaps/via/rules.mk | 1 + keyboards/xbows/numpad/numpad.c | 80 + keyboards/xbows/numpad/numpad.h | 33 + keyboards/xbows/numpad/readme.md | 29 + keyboards/xbows/numpad/rules.mk | 25 + keyboards/xbows/ranger/config.h | 51 + keyboards/xbows/ranger/info.json | 108 + .../xbows/ranger/keymaps/default/config.h | 43 + .../xbows/ranger/keymaps/default/keymap.c | 49 + keyboards/xbows/ranger/keymaps/via/config.h | 64 + keyboards/xbows/ranger/keymaps/via/keymap.c | 63 + keyboards/xbows/ranger/keymaps/via/rules.mk | 1 + keyboards/xbows/ranger/ranger.c | 146 + keyboards/xbows/ranger/ranger.h | 33 + keyboards/xbows/ranger/readme.md | 29 + keyboards/xbows/ranger/rules.mk | 24 + keyboards/xbows/woody/config.h | 6 +- keyboards/xbows/woody/rules.mk | 2 +- keyboards/xbows/woody/woody.c | 11 +- .../xd002/keymaps/multilayer_rgb/keymap.c | 173 - .../xd002/keymaps/multilayer_rgb/rgblite.h | 9 - keyboards/xd002/keymaps/rgb/rules.mk | 1 - keyboards/xd002/keymaps/rgb_lite/keymap.c | 31 - keyboards/xd002/keymaps/rgb_lite/rgblite.h | 26 - keyboards/xd002/keymaps/tap_dance/config.h | 3 - keyboards/xd002/readme.md | 49 - keyboards/xd002/rules.mk | 32 - keyboards/xd004/keymaps/default/keymap.c | 13 - keyboards/xd004/readme.md | 30 - keyboards/xd004/v1/rules.mk | 32 - keyboards/xd004/xd004.c | 7 - keyboards/xd60/keymaps/birkir/keymap.c | 66 - keyboards/xd60/keymaps/default/keymap.c | 26 - keyboards/xd60/keymaps/iso/keymap.c | 33 - keyboards/xd60/keymaps/shura30/keymap.c | 78 - keyboards/xd60/keymaps/shura30/readme.md | 33 - keyboards/xd60/readme.md | 16 - keyboards/xd60/rev2/rules.mk | 29 - keyboards/xd60/rev3/rules.mk | 29 - keyboards/xd68/readme.md | 53 - keyboards/xd68/rules.mk | 33 - keyboards/xd75/keymaps/4sstylz/rules.mk | 30 - keyboards/xd75/keymaps/arpinfidel/keymap.c | 114 - keyboards/xd75/keymaps/arpinfidel/rules.mk | 16 - keyboards/xd75/keymaps/billypython/rules.mk | 15 - keyboards/xd75/keymaps/buzzlighter1/rules.mk | 4 - .../xd75/keymaps/c4software_bepo/keymap.c | 68 - keyboards/xd75/keymaps/cbbrowne/keymap.c | 310 -- keyboards/xd75/keymaps/cbbrowne/rules.mk | 20 - keyboards/xd75/keymaps/davidrambo/keymap.c | 158 - keyboards/xd75/keymaps/davidrambo/readme.md | 7 - .../xd75/keymaps/developper_bepo/keymap.c | 72 - keyboards/xd75/keymaps/fabian/rules.mk | 34 - keyboards/xd75/keymaps/french/keymap.c | 56 - keyboards/xd75/keymaps/germanized/config.h | 117 - keyboards/xd75/keymaps/germanized/keymap.c | 86 - keyboards/xd75/keymaps/germanized/rules.mk | 35 - keyboards/xd75/keymaps/markus/keymap.c | 215 - keyboards/xd75/keymaps/markus/rules.mk | 13 - keyboards/xd75/keymaps/pitty/keymap.c | 148 - keyboards/xd75/keymaps/revok75/rules.mk | 18 - keyboards/xd75/keymaps/scheiklp/rules.mk | 6 - keyboards/xd75/keymaps/skewwhiffy/keymap.c | 233 - keyboards/xd75/keymaps/tdl-jturner/keymap.c | 312 -- keyboards/xd75/readme.md | 57 - keyboards/xd75/rules.mk | 24 - keyboards/xd84/config.h | 211 - keyboards/xd84/readme.md | 23 - keyboards/xd84/rules.mk | 41 - keyboards/xd84pro/readme.md | 24 - keyboards/xd84pro/rules.mk | 24 - keyboards/xd87/config.h | 193 - keyboards/xd87/keymaps/default/keymap.c | 68 - .../xd87/keymaps/default_underglow/keymap.c | 74 - .../xd87/keymaps/default_underglow/rules.mk | 3 - keyboards/xd87/keymaps/mac_underglow/rules.mk | 3 - keyboards/xd87/readme.md | 26 - keyboards/xd87/rules.mk | 34 - keyboards/xd96/config.h | 212 - keyboards/xd96/readme.md | 22 - keyboards/xd96/rules.mk | 39 - keyboards/xelus/akis/akis.c | 25 + keyboards/xelus/akis/akis.h | 35 + keyboards/xelus/akis/config.h | 52 + keyboards/xelus/akis/info.json | 87 + keyboards/xelus/akis/keymaps/default/keymap.c | 36 + keyboards/xelus/akis/keymaps/via/keymap.c | 52 + keyboards/xelus/akis/keymaps/via/rules.mk | 1 + keyboards/xelus/akis/readme.md | 13 + keyboards/xelus/akis/rules.mk | 24 + keyboards/xelus/dawn60/rev1/rules.mk | 12 +- keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c | 4 +- keyboards/xelus/dawn60/rev1_qmk/rules.mk | 12 +- keyboards/xelus/dharma/config.h | 51 + keyboards/xelus/dharma/dharma.c | 17 + keyboards/xelus/dharma/dharma.h | 35 + keyboards/xelus/dharma/info.json | 99 + .../xelus/dharma/keymaps/default/config.h | 19 + .../xelus/dharma/keymaps/default/keymap.c | 37 + .../xelus/dharma/keymaps/default/readme.md | 2 + keyboards/xelus/dharma/keymaps/via/config.h | 19 + keyboards/xelus/dharma/keymaps/via/keymap.c | 53 + keyboards/xelus/dharma/keymaps/via/readme.md | 2 + keyboards/xelus/dharma/keymaps/via/rules.mk | 1 + keyboards/xelus/dharma/readme.md | 20 + keyboards/xelus/dharma/rules.mk | 22 + keyboards/xelus/kangaroo/rules.mk | 5 +- keyboards/xelus/ninjin/config.h | 60 + keyboards/xelus/ninjin/halconf.h | 21 + keyboards/xelus/ninjin/info.json | 107 + .../xelus/ninjin/keymaps/default/keymap.c | 35 + keyboards/xelus/ninjin/keymaps/via/keymap.c | 44 + keyboards/xelus/ninjin/keymaps/via/rules.mk | 1 + keyboards/xelus/ninjin/mcuconf.h | 22 + keyboards/xelus/ninjin/ninjin.c | 28 + keyboards/xelus/ninjin/ninjin.h | 37 + keyboards/xelus/ninjin/readme.md | 16 + keyboards/xelus/ninjin/rules.mk | 27 + keyboards/xelus/pachi/mini_32u4/config.h | 43 + .../pachi/mini_32u4/keymaps/default/config.h | 19 + .../pachi/mini_32u4/keymaps/default/keymap.c | 35 + .../pachi/mini_32u4/keymaps/default/readme.md | 2 + .../pachi/mini_32u4/keymaps/via/config.h | 23 + .../pachi/mini_32u4/keymaps/via/keymap.c | 43 + .../pachi/mini_32u4/keymaps/via/readme.md | 2 + .../pachi/mini_32u4/keymaps/via/rules.mk | 1 + keyboards/xelus/pachi/mini_32u4/mini_32u4.c | 18 + keyboards/xelus/pachi/mini_32u4/mini_32u4.h | 36 + keyboards/xelus/pachi/mini_32u4/readme.md | 19 + keyboards/xelus/pachi/mini_32u4/rules.mk | 22 + keyboards/xelus/pachi/readme.md | 14 + keyboards/xelus/pachi/rev1/config.h | 44 + .../xelus/pachi/rev1/keymaps/default/config.h | 19 + .../xelus/pachi/rev1/keymaps/default/keymap.c | 35 + .../pachi/rev1/keymaps/default/readme.md | 2 + .../xelus/pachi/rev1/keymaps/via/config.h | 23 + .../xelus/pachi/rev1/keymaps/via/keymap.c | 43 + .../xelus/pachi/rev1/keymaps/via/readme.md | 2 + .../xelus/pachi/rev1/keymaps/via/rules.mk | 1 + keyboards/xelus/pachi/rev1/readme.md | 19 + keyboards/xelus/pachi/rev1/rev1.c | 18 + keyboards/xelus/pachi/rev1/rev1.h | 36 + keyboards/xelus/pachi/rev1/rules.mk | 25 + keyboards/xelus/pachi/rgb/config.h | 76 + keyboards/xelus/pachi/rgb/halconf.h | 27 + .../xelus/pachi/rgb/keymaps/default/config.h | 19 + .../xelus/pachi/rgb/keymaps/default/keymap.c | 35 + .../xelus/pachi/rgb/keymaps/default/readme.md | 2 + .../xelus/pachi/rgb/keymaps/via/config.h | 27 + .../xelus/pachi/rgb/keymaps/via/keymap.c | 43 + .../xelus/pachi/rgb/keymaps/via/readme.md | 2 + .../xelus/pachi/rgb/keymaps/via/rules.mk | 1 + keyboards/xelus/pachi/rgb/mcuconf.h | 28 + keyboards/xelus/pachi/rgb/readme.md | 19 + keyboards/xelus/pachi/rgb/rgb.c | 239 + keyboards/xelus/pachi/rgb/rgb.h | 36 + keyboards/xelus/pachi/rgb/rules.mk | 34 + keyboards/xelus/rs60/config.h | 49 + keyboards/xelus/rs60/info.json | 74 + keyboards/xelus/rs60/keymaps/default/config.h | 19 + keyboards/xelus/rs60/keymaps/default/keymap.c | 34 + keyboards/xelus/rs60/keymaps/via/config.h | 19 + keyboards/xelus/rs60/keymaps/via/keymap.c | 50 + keyboards/xelus/rs60/keymaps/via/rules.mk | 2 + keyboards/xelus/rs60/readme.md | 19 + keyboards/xelus/rs60/rs60.c | 16 + keyboards/xelus/rs60/rs60.h | 34 + keyboards/xelus/rs60/rules.mk | 24 + keyboards/xelus/snap96/rules.mk | 10 +- keyboards/xelus/trinityxttkl/config.h | 35 +- keyboards/xelus/trinityxttkl/rules.mk | 11 +- keyboards/xelus/trinityxttkl/trinityxttkl.c | 16 + keyboards/xelus/trinityxttkl/trinityxttkl.h | 16 + keyboards/xelus/valor/rev1/rules.mk | 2 +- keyboards/xelus/valor/rev2/config.h | 88 + keyboards/xelus/valor/rev2/halconf.h | 23 + keyboards/xelus/valor/rev2/info.json | 83 + .../xelus/valor/rev2/keymaps/default/config.h | 18 + .../xelus/valor/rev2/keymaps/default/keymap.c | 79 + .../valor/rev2/keymaps/default/readme.md | 2 + .../xelus/valor/rev2/keymaps/via/config.h | 24 + .../xelus/valor/rev2/keymaps/via/keymap.c | 127 + .../xelus/valor/rev2/keymaps/via/readme.md | 2 + .../xelus/valor/rev2/keymaps/via/rules.mk | 1 + keyboards/xelus/valor/rev2/mcuconf.h | 30 + keyboards/xelus/valor/rev2/readme.md | 20 + keyboards/xelus/valor/rev2/rev2.c | 72 + keyboards/xelus/valor/rev2/rev2.h | 37 + keyboards/xelus/valor/rev2/rgb_matrix_kb.inc | 34 + keyboards/xelus/valor/rev2/rules.mk | 32 + keyboards/xelus/valor_frl_tkl/info.json | 90 + keyboards/xelus/valor_frl_tkl/rules.mk | 5 +- keyboards/xiaomi/mk02/rules.mk | 2 +- keyboards/xiudi/xd002/.noci | 0 keyboards/{ => xiudi}/xd002/config.h | 0 keyboards/{ => xiudi}/xd002/info.json | 0 .../xd002/keymaps/default/keymap.c | 0 .../xd002/keymaps/multilayer_rgb/config.h | 0 .../xd002/keymaps/multilayer_rgb/keymap.c | 173 + .../xd002/keymaps/multilayer_rgb/rgblite.h | 9 + .../xd002/keymaps/multilayer_rgb/rules.mk | 0 .../{ => xiudi}/xd002/keymaps/rgb/keymap.c | 0 .../xd002/keymaps/rgb}/rules.mk | 0 .../xiudi/xd002/keymaps/rgb_lite/keymap.c | 31 + .../xiudi/xd002/keymaps/rgb_lite/rgblite.h | 26 + .../xd002/keymaps/rgb_lite/rules.mk | 0 .../xd002}/keymaps/tap_dance/config.h | 0 .../xd002/keymaps/tap_dance/keymap.c | 0 .../xd002/keymaps/tap_dance/rules.mk | 0 .../{ => xiudi}/xd002/keymaps/volume/keymap.c | 0 .../{ => xiudi}/xd002/keymaps/volume/rules.mk | 0 keyboards/xiudi/xd002/readme.md | 49 + keyboards/xiudi/xd002/rules.mk | 31 + keyboards/{ => xiudi}/xd002/xd002.c | 0 keyboards/{ => xiudi}/xd002/xd002.h | 0 keyboards/{ => xiudi}/xd004/info.json | 0 .../xiudi/xd004/keymaps/default/keymap.c | 8 + .../xd004/keymaps/default/readme.md | 0 keyboards/xiudi/xd004/keymaps/narze/keymap.c | 24 + keyboards/xiudi/xd004/keymaps/narze/readme.md | 13 + .../xd004/keymaps/system_and_media/keymap.c | 0 .../xd004/keymaps/system_and_media/readme.md | 0 keyboards/xiudi/xd004/readme.md | 33 + keyboards/{ => xiudi}/xd004/v1/config.h | 0 keyboards/xiudi/xd004/v1/rules.mk | 24 + keyboards/xiudi/xd004/xd004.c | 1 + keyboards/{ => xiudi}/xd004/xd004.h | 0 keyboards/{ => xiudi}/xd60/info.json | 0 .../{ => xiudi}/xd60/keymaps/Jos/README.md | 0 .../{ => xiudi}/xd60/keymaps/Jos/config.h | 0 .../{ => xiudi}/xd60/keymaps/Jos/keymap.c | 0 .../{ => xiudi}/xd60/keymaps/Jos/rules.mk | 0 keyboards/xiudi/xd60/keymaps/birkir/keymap.c | 66 + .../{ => xiudi}/xd60/keymaps/birkir/readme.md | 0 .../{ => xiudi}/xd60/keymaps/cheese/README.md | 0 .../{ => xiudi}/xd60/keymaps/cheese/keymap.c | 0 .../xd60/keymaps/crd_ansi/README.md | 0 .../xd60/keymaps/crd_ansi/keymap.c | 0 keyboards/xiudi/xd60/keymaps/default/keymap.c | 21 + .../xd60/keymaps/default/readme.md | 0 .../{ => xiudi}/xd60/keymaps/edulpn/keymap.c | 0 .../{ => xiudi}/xd60/keymaps/edulpn/readme.md | 0 .../xd60/keymaps/edulpn64/keymap.c | 0 .../xd60/keymaps/edulpn64/readme.md | 0 .../xd60/keymaps/fvolpe83}/config.h | 0 .../xiudi/xd60/keymaps/fvolpe83/keymap.c | 78 + .../xiudi/xd60/keymaps/fvolpe83/readme.md | 33 + .../xiudi/xd60/keymaps/fvolpe83/rules.mk | 1 + keyboards/xiudi/xd60/keymaps/iso/keymap.c | 28 + .../{ => xiudi}/xd60/keymaps/iso/readme.md | 0 .../xd60/keymaps/kmontag42/keymap.c | 0 .../xd60/keymaps/kmontag42/readme.md | 0 .../xd60/keymaps/kmontag42/rules.mk | 0 .../{ => xiudi}/xd60/keymaps/krusli/keymap.c | 0 .../{ => xiudi}/xd60/keymaps/krusli/readme.md | 0 .../{ => xiudi}/xd60/keymaps/melka/.gitignore | 0 .../{ => xiudi}/xd60/keymaps/melka/config.h | 0 .../{ => xiudi}/xd60/keymaps/melka/keymap.c | 0 .../xd60/keymaps/melka/passwd_template.h | 0 .../{ => xiudi}/xd60/keymaps/melka/readme.md | 0 .../xd60/keymaps/petesmom/README.md | 0 .../xd60/keymaps/petesmom/keymap.c | 0 .../xd60/keymaps/rooski/instructions.txt | 0 .../{ => xiudi}/xd60/keymaps/rooski/keymap.c | 0 .../xd60/keymaps/semicolonsnet/keymap.c | 0 .../xd60/keymaps/semicolonsnet/readme.md | 0 .../xd60/keymaps/split_bksp_arrows/keymap.c | 0 .../xd60/keymaps/split_bksp_arrows/readme.md | 0 .../xd60/keymaps/stanleylai/keymap.c | 0 .../{ => xiudi}/xd60/keymaps/styr/keymap.c | 0 .../{ => xiudi}/xd60/keymaps/styr/readme.md | 0 .../xd60/keymaps/supercoffee/keymap.c | 0 .../xd60/keymaps/supercoffee/readme.md | 0 .../xiudi/xd60/keymaps/suryanisaac/README.md | 16 + .../xiudi/xd60/keymaps/suryanisaac/keymap.c | 29 + .../{ => xiudi}/xd60/keymaps/via/keymap.c | 0 .../{ => xiudi}/xd60/keymaps/via/readme.md | 0 keyboards/xiudi/xd60/keymaps/via/rules.mk | 1 + .../{ => xiudi}/xd60/keymaps/yuuki/README.md | 0 .../{ => xiudi}/xd60/keymaps/yuuki/keymap.c | 0 keyboards/xiudi/xd60/readme.md | 17 + keyboards/xiudi/xd60/rev2/.noci | 0 keyboards/{ => xiudi}/xd60/rev2/config.h | 0 keyboards/xiudi/xd60/rev2/rules.mk | 21 + keyboards/{ => xiudi}/xd60/rev3/config.h | 0 keyboards/xiudi/xd60/rev3/rules.mk | 21 + keyboards/{ => xiudi}/xd60/xd60.c | 0 keyboards/{ => xiudi}/xd60/xd60.h | 0 keyboards/{ => xiudi}/xd68/config.h | 0 keyboards/{ => xiudi}/xd68/info.json | 0 .../{ => xiudi}/xd68/keymaps/default/keymap.c | 0 .../xd68/keymaps/default/readme.md | 0 .../xd68/keymaps/default_iso/keymap.c | 0 .../xd68/keymaps/default_iso/readme.md | 0 .../{ => xiudi}/xd68/keymaps/via/keymap.c | 0 .../{ => xiudi}/xd68/keymaps/via/readme.md | 0 keyboards/xiudi/xd68/keymaps/via/rules.mk | 1 + keyboards/xiudi/xd68/readme.md | 53 + keyboards/xiudi/xd68/rules.mk | 25 + keyboards/{ => xiudi}/xd68/xd68.c | 0 keyboards/{ => xiudi}/xd68/xd68.h | 0 keyboards/{ => xiudi}/xd75/config.h | 0 keyboards/{ => xiudi}/xd75/info.json | 0 .../{ => xiudi}/xd75/keymaps/4sstylz/config.h | 0 .../xd75/keymaps/4sstylz/keycodes.h | 0 .../{ => xiudi}/xd75/keymaps/4sstylz/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/4sstylz/leds.h | 0 .../xd75/keymaps/4sstylz/readme.md | 0 keyboards/xiudi/xd75/keymaps/4sstylz/rules.mk | 30 + .../{ => xiudi}/xd75/keymaps/adi/config.h | 0 .../{ => xiudi}/xd75/keymaps/adi/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/adi/readme.md | 0 .../{ => xiudi}/xd75/keymaps/adi/rules.mk | 0 .../xd75/keymaps/arpinfidel/config.h | 0 .../xiudi/xd75/keymaps/arpinfidel/keymap.c | 114 + .../xd75/keymaps/arpinfidel/readme.md | 0 .../xiudi/xd75/keymaps/arpinfidel/rules.mk | 16 + .../xd75/keymaps/atomic_style/config.h | 0 .../xd75/keymaps/atomic_style/keymap.c | 0 .../xd75/keymaps/atomic_style/readme.md | 0 .../xd75/keymaps/atomic_style/rules.mk | 0 .../xd75/keymaps/atomic_style_jp/keymap.c | 0 .../xd75/keymaps/atomic_style_jp/readme.md | 0 .../xd75/keymaps/bbaserdem/config.h | 0 .../xd75/keymaps/bbaserdem/keymap.c | 0 .../xd75/keymaps/bbaserdem/readme.md | 0 .../xd75/keymaps/bbaserdem/rules.mk | 0 .../xd75/keymaps/billypython/config.h | 0 .../xd75/keymaps/billypython/keymap.c | 0 .../xiudi/xd75/keymaps/billypython/rules.mk | 15 + .../{ => xiudi}/xd75/keymaps/boy_314/config.h | 0 .../{ => xiudi}/xd75/keymaps/boy_314/keymap.c | 0 .../xd75/keymaps/boy_314/readme.md | 0 keyboards/xiudi/xd75/keymaps/boy_314/rules.mk | 0 .../{ => xiudi}/xd75/keymaps/bramver/config.h | 0 .../{ => xiudi}/xd75/keymaps/bramver/keymap.c | 0 .../xd75/keymaps/bramver/readme.md | 0 .../{ => xiudi}/xd75/keymaps/bramver/rules.mk | 0 .../xd75/keymaps/bulbizarre/config.h | 0 .../xd75/keymaps/bulbizarre/keymap.c | 0 .../xd75/keymaps/bulbizarre/readme.md | 0 .../xd75/keymaps/bulbizarre/rules.mk | 0 .../xd75/keymaps/buzzlighter1/config.h | 0 .../xd75/keymaps/buzzlighter1/keymap.c | 0 .../xd75/keymaps/buzzlighter1/readme.md | 0 .../xiudi/xd75/keymaps/buzzlighter1/rules.mk | 4 + .../xd75/keymaps/c4software_bepo/config.h | 0 .../xd75/keymaps/c4software_bepo/keymap.c | 68 + .../xd75/keymaps/c4software_bepo/readme.md | 0 .../xd75/keymaps/c4software_bepo/rules.mk | 0 .../xd75/keymaps/cbbrowne/config.h | 0 .../xiudi/xd75/keymaps/cbbrowne/keymap.c | 310 ++ .../xd75/keymaps/cbbrowne/readme.md | 0 .../xiudi/xd75/keymaps/cbbrowne/rules.mk | 19 + .../xd75/keymaps/clanghans/config.h | 0 .../xd75/keymaps/clanghans/keymap.c | 0 .../xd75/keymaps/clanghans/readme.md | 0 .../{ => xiudi}/xd75/keymaps/colinta/config.h | 0 .../{ => xiudi}/xd75/keymaps/colinta/keymap.c | 0 .../xd75/keymaps/colinta/readme.md | 0 .../{ => xiudi}/xd75/keymaps/daniel/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/daniel/readme.md | 0 .../xd75/keymaps/davidrambo/config.h | 0 .../xiudi/xd75/keymaps/davidrambo/keymap.c | 194 + .../xiudi/xd75/keymaps/davidrambo/readme.md | 8 + .../xd75/keymaps/davidrambo/rules.mk | 0 .../{ => xiudi}/xd75/keymaps/default/keymap.c | 0 .../xd75/keymaps/default/readme.md | 0 .../xd75/keymaps/developper_bepo/config.h | 0 .../xd75/keymaps/developper_bepo/keymap.c | 72 + .../xd75/keymaps/developper_bepo/readme.md | 0 .../xd75/keymaps/developper_bepo/rules.mk | 0 .../xd75/keymaps/dyn_macro_tap_dance/config.h | 0 .../xd75/keymaps/dyn_macro_tap_dance/keymap.c | 0 .../keymaps/dyn_macro_tap_dance/readme.md | 0 .../xd75/keymaps/dyn_macro_tap_dance/rules.mk | 0 .../{ => xiudi}/xd75/keymaps/emilyh/config.h | 0 .../{ => xiudi}/xd75/keymaps/emilyh/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/emilyh/readme.md | 0 .../{ => xiudi}/xd75/keymaps/emilyh/rules.mk | 0 .../xd75/keymaps/ericgebhart/config.h | 0 .../xd75/keymaps/ericgebhart/keymap.c | 0 .../xd75/keymaps/ericgebhart/readme.md | 0 .../xd75/keymaps/ericgebhart/rules.mk | 0 .../{ => xiudi}/xd75/keymaps/fabian/config.h | 0 .../{ => xiudi}/xd75/keymaps/fabian/keymap.c | 0 keyboards/xiudi/xd75/keymaps/fabian/rules.mk | 34 + .../{ => xiudi}/xd75/keymaps/french/config.h | 0 keyboards/xiudi/xd75/keymaps/french/keymap.c | 56 + .../xd75/keymaps/french/keymap_french.c | 8 +- .../{ => xiudi}/xd75/keymaps/french/readme.md | 0 .../{ => xiudi}/xd75/keymaps/french/rules.mk | 0 .../xiudi/xd75/keymaps/germanized/config.h | 117 + .../xiudi/xd75/keymaps/germanized/keymap.c | 86 + .../xd75/keymaps/germanized/readme.md | 0 .../xiudi/xd75/keymaps/germanized/rules.mk | 35 + .../{ => xiudi}/xd75/keymaps/hybrid/config.h | 0 .../{ => xiudi}/xd75/keymaps/hybrid/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/hybrid/readme.md | 0 .../{ => xiudi}/xd75/keymaps/hybrid/rules.mk | 0 .../{ => xiudi}/xd75/keymaps/jarred/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/jarred/readme.md | 0 .../xd75/keymaps/kim-kim-xd73/config.h | 0 .../xd75/keymaps/kim-kim-xd73/keymap.c | 0 .../xd75/keymaps/kim-kim-xd73/rules.mk | 0 .../{ => xiudi}/xd75/keymaps/kim-kim/config.h | 0 .../{ => xiudi}/xd75/keymaps/kim-kim/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/kim-kim/rules.mk | 0 .../{ => xiudi}/xd75/keymaps/kloki/config.h | 0 .../{ => xiudi}/xd75/keymaps/kloki/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/kloki/readme.md | 0 .../{ => xiudi}/xd75/keymaps/kloki/rules.mk | 0 .../{ => xiudi}/xd75/keymaps/markus/config.h | 0 keyboards/xiudi/xd75/keymaps/markus/keymap.c | 215 + .../{ => xiudi}/xd75/keymaps/markus/readme.md | 0 keyboards/xiudi/xd75/keymaps/markus/rules.mk | 13 + .../{ => xiudi}/xd75/keymaps/msiu/config.h | 0 .../{ => xiudi}/xd75/keymaps/msiu/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/msiu/readme.md | 0 .../{ => xiudi}/xd75/keymaps/mtdjr/config.h | 0 .../{ => xiudi}/xd75/keymaps/mtdjr/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/mtdjr/readme.md | 0 .../{ => xiudi}/xd75/keymaps/mtdjr/rules.mk | 0 .../xd75/keymaps/neothefox/keymap.c | 0 .../xd75/keymaps/neothefox/readme.md | 0 .../{ => xiudi}/xd75/keymaps/odyssey/config.h | 0 .../{ => xiudi}/xd75/keymaps/odyssey/keymap.c | 0 .../xd75/keymaps/odyssey/readme.md | 0 .../{ => xiudi}/xd75/keymaps/odyssey/rules.mk | 0 .../{ => xiudi}/xd75/keymaps/pitty/config.h | 0 keyboards/xiudi/xd75/keymaps/pitty/keymap.c | 148 + .../{ => xiudi}/xd75/keymaps/pitty/readme.md | 0 .../{ => xiudi}/xd75/keymaps/pitty/rules.mk | 0 .../xd75/keymaps/replicajunction/config.h | 51 + .../xd75/keymaps/replicajunction/keymap.c | 138 + .../xd75/keymaps/replicajunction/readme.md | 5 + .../xd75/keymaps/replicajunction/rules.mk | 29 + .../{ => xiudi}/xd75/keymaps/revok75/config.h | 0 .../{ => xiudi}/xd75/keymaps/revok75/keymap.c | 0 .../xd75/keymaps/revok75/readme.md | 0 keyboards/xiudi/xd75/keymaps/revok75/rules.mk | 18 + .../xd75/keymaps/scheiklp/config.h | 0 .../xd75/keymaps/scheiklp/keymap.c | 0 .../xd75/keymaps/scheiklp/readme.md | 0 .../xiudi/xd75/keymaps/scheiklp/rules.mk | 6 + .../xiudi/xd75/keymaps/skewwhiffy/keymap.c | 233 + .../xd75/keymaps/skewwhiffy/readme.md | 0 .../xd75/keymaps/skewwhiffy/rules.mk | 0 .../xd75/keymaps/tdl-jturner/config.h | 0 .../xiudi/xd75/keymaps/tdl-jturner/keymap.c | 312 ++ .../xd75/keymaps/tdl-jturner/readme.md | 0 .../xd75/keymaps/tdl-jturner/rules.mk | 0 .../xd75/keymaps/tomswartz07/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/via/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/via/readme.md | 0 keyboards/xiudi/xd75/keymaps/via/rules.mk | 1 + .../{ => xiudi}/xd75/keymaps/xo/config.h | 0 .../{ => xiudi}/xd75/keymaps/xo/keymap.c | 0 .../{ => xiudi}/xd75/keymaps/xo/readme.md | 0 .../{ => xiudi}/xd75/keymaps/xo/rules.mk | 0 keyboards/xiudi/xd75/readme.md | 57 + keyboards/xiudi/xd75/rules.mk | 24 + keyboards/{ => xiudi}/xd75/xd75.c | 0 keyboards/{ => xiudi}/xd75/xd75.h | 0 keyboards/xiudi/xd84/config.h | 191 + keyboards/{ => xiudi}/xd84/dev.md | 0 keyboards/{ => xiudi}/xd84/info.json | 0 .../{ => xiudi}/xd84/keymaps/default/keymap.c | 0 .../xd84/keymaps/default_iso/keymap.c | 0 .../{ => xiudi}/xd84/keymaps/via/keymap.c | 0 .../{ => xiudi}/xd84/keymaps/via/readme.md | 0 keyboards/xiudi/xd84/keymaps/via/rules.mk | 1 + keyboards/{ => xiudi}/xd84/matrix.c | 0 keyboards/xiudi/xd84/readme.md | 23 + keyboards/xiudi/xd84/rules.mk | 33 + keyboards/{ => xiudi}/xd84/xd84.c | 0 keyboards/{ => xiudi}/xd84/xd84.h | 0 keyboards/{ => xiudi}/xd84pro/config.h | 0 keyboards/{ => xiudi}/xd84pro/dev.md | 0 keyboards/{ => xiudi}/xd84pro/info.json | 0 .../xd84pro/keymaps/default/keymap.c | 0 .../xd84pro/keymaps/default_iso/keymap.c | 0 .../{ => xiudi}/xd84pro/keymaps/via/keymap.c | 0 .../{ => xiudi}/xd84pro/keymaps/via/readme.md | 0 keyboards/xiudi/xd84pro/keymaps/via/rules.mk | 2 + keyboards/xiudi/xd84pro/readme.md | 24 + keyboards/xiudi/xd84pro/rules.mk | 24 + keyboards/{ => xiudi}/xd84pro/xd84pro.c | 0 keyboards/{ => xiudi}/xd84pro/xd84pro.h | 0 keyboards/xiudi/xd87/config.h | 173 + keyboards/{ => xiudi}/xd87/info.json | 0 .../{ => xiudi}/xd87/keymaps/default/config.h | 0 keyboards/xiudi/xd87/keymaps/default/keymap.c | 56 + .../xd87/keymaps/default/readme.md | 0 .../xd87/keymaps/default_underglow/config.h | 0 .../xd87/keymaps/default_underglow/keymap.c | 62 + .../xd87/keymaps/default_underglow/readme.md | 0 .../xd87/keymaps/default_underglow/rules.mk | 3 + .../xd87/keymaps/mac_underglow/keymap.c | 0 .../xd87/keymaps/mac_underglow/readme.md | 0 .../xiudi/xd87/keymaps/mac_underglow/rules.mk | 3 + .../{ => xiudi}/xd87/keymaps/via/keymap.c | 0 .../{ => xiudi}/xd87/keymaps/via/readme.md | 0 keyboards/xiudi/xd87/keymaps/via/rules.mk | 1 + keyboards/xiudi/xd87/readme.md | 26 + keyboards/xiudi/xd87/rules.mk | 26 + keyboards/{ => xiudi}/xd87/xd87.c | 0 keyboards/{ => xiudi}/xd87/xd87.h | 0 keyboards/xiudi/xd96/config.h | 192 + keyboards/{ => xiudi}/xd96/info.json | 0 .../{ => xiudi}/xd96/keymaps/default/keymap.c | 0 .../xd96/keymaps/default_iso/keymap.c | 0 .../{ => xiudi}/xd96/keymaps/uuupah/keymap.c | 0 .../{ => xiudi}/xd96/keymaps/via/keymap.c | 0 .../{ => xiudi}/xd96/keymaps/via/readme.md | 0 keyboards/xiudi/xd96/keymaps/via/rules.mk | 1 + keyboards/{ => xiudi}/xd96/matrix.c | 0 keyboards/xiudi/xd96/readme.md | 22 + keyboards/xiudi/xd96/rules.mk | 31 + keyboards/{ => xiudi}/xd96/xd96.c | 0 keyboards/{ => xiudi}/xd96/xd96.h | 0 keyboards/xmmx/rules.mk | 9 +- keyboards/xw60/rules.mk | 11 +- keyboards/yampad/config.h | 85 + keyboards/yampad/info.json | 35 + keyboards/yampad/keymaps/default/keymap.c | 163 + keyboards/yampad/keymaps/traditional/keymap.c | 163 + keyboards/yampad/readme.md | 19 + keyboards/yampad/rules.mk | 25 + keyboards/yampad/yampad.c | 64 + keyboards/yampad/yampad.h | 57 + keyboards/yasui/config.h | 56 + keyboards/yasui/info.json | 12 + keyboards/yasui/keymaps/default/keymap.c | 43 + keyboards/yasui/keymaps/via/keymap.c | 43 + keyboards/yasui/keymaps/via/rules.mk | 1 + keyboards/yasui/readme.md | 22 + keyboards/yasui/rules.mk | 20 + keyboards/yasui/yasui.c | 16 + keyboards/yasui/yasui.h | 30 + keyboards/yatara/drink_me/config.h | 2 +- .../yatara/drink_me/keymaps/queen/keymap.c | 8 +- keyboards/yatara/drink_me/rules.mk | 10 +- keyboards/yd60mq/rules.mk | 10 +- keyboards/yd68/config.h | 20 - keyboards/yd68/keymaps/default/keymap.c | 12 - keyboards/yd68/rules.mk | 10 +- keyboards/yeehaw/config.h | 50 + keyboards/yeehaw/info.json | 12 + keyboards/yeehaw/keymaps/default/keymap.c | 72 + keyboards/yeehaw/keymaps/via/keymap.c | 91 + keyboards/yeehaw/keymaps/via/rules.mk | 1 + keyboards/yeehaw/readme.md | 22 + keyboards/yeehaw/rules.mk | 20 + keyboards/yeehaw/yeehaw.c | 16 + keyboards/yeehaw/yeehaw.h | 25 + keyboards/ymd75/rev1/rules.mk | 11 +- keyboards/ymd75/rev2/rules.mk | 11 +- keyboards/ymd75/rev3/rules.mk | 2 +- keyboards/ymd96/keymaps/epx/keymap.c | 8 +- keyboards/ymd96/keymaps/hgoel89/keymap.c | 6 +- keyboards/ymd96/rules.mk | 11 +- keyboards/ymdk/bface/rules.mk | 11 +- keyboards/ymdk/np24/u4rgb6/info.json | 43 +- keyboards/ymdk/np24/u4rgb6/rules.mk | 4 +- keyboards/ymdk/np24/u4rgb6/u4rgb6.h | 26 +- keyboards/ymdk/sp64/matrix.c | 11 + keyboards/ymdk/sp64/rules.mk | 11 +- keyboards/ymdk/sp64/sp64.c | 24 - keyboards/ymdk/wings/config.h | 8 +- keyboards/ymdk/wings/rules.mk | 4 +- keyboards/ymdk/ym68/config.h | 71 + keyboards/ymdk/ym68/info.json | 83 + keyboards/ymdk/ym68/keymaps/default/keymap.c | 34 + keyboards/ymdk/ym68/readme.md | 24 + keyboards/ymdk/ym68/rules.mk | 22 + keyboards/ymdk/ym68/ym68.c | 17 + keyboards/ymdk/ym68/ym68.h | 35 + keyboards/ymdk/ymd09/rules.mk | 10 +- keyboards/ymdk/ymd40/v2/config.h | 2 +- keyboards/ymdk/ymd40/v2/info.json | 216 + keyboards/ymdk/ymd40/v2/keymaps/via/keymap.c | 44 + keyboards/ymdk/ymd40/v2/keymaps/via/readme.md | 1 + keyboards/ymdk/ymd40/v2/keymaps/via/rules.mk | 2 + keyboards/ymdk/ymd40/v2/rules.mk | 2 +- keyboards/ymdk/ymd40/v2/v2.h | 48 + keyboards/ymdk/ymd67/rules.mk | 9 +- keyboards/ymdk_np21/keymaps/via/keymap.c | 52 + keyboards/ymdk_np21/keymaps/via/rules.mk | 2 + keyboards/ymdk_np21/rules.mk | 4 +- keyboards/yncognito/batpad/config.h | 14 +- .../yncognito/batpad/keymaps/via/rules.mk | 1 + keyboards/yncognito/batpad/rules.mk | 10 +- keyboards/yoichiro/lunakey_macro/config.h | 158 + keyboards/yoichiro/lunakey_macro/info.json | 26 + .../lunakey_macro/keymaps/default/keymap.c | 41 + .../lunakey_macro/keymaps/default/readme.md | 1 + .../lunakey_macro/keymaps/via/keymap.c | 56 + .../lunakey_macro/keymaps/via/readme.md | 1 + .../lunakey_macro/keymaps/via/rules.mk | 4 + .../yoichiro/lunakey_macro/lunakey_macro.c | 17 + .../yoichiro/lunakey_macro/lunakey_macro.h | 37 + keyboards/yoichiro/lunakey_macro/readme.md | 21 + keyboards/yoichiro/lunakey_macro/rules.mk | 22 + .../lunakey_mini/keymaps/default/rules.mk | 2 +- .../lunakey_mini/keymaps/via/rules.mk | 2 +- keyboards/yoichiro/lunakey_mini/rules.mk | 2 +- keyboards/yosino58/keymaps/sakura/rules.mk | 2 +- keyboards/yosino58/rev1/rev1.c | 7 - keyboards/yosino58/rules.mk | 10 +- keyboards/yugo_m/model_m_101/rules.mk | 5 +- keyboards/yurei/config.h | 20 - keyboards/yurei/rules.mk | 10 +- keyboards/yushakobo/quick7/config.h | 19 - .../yushakobo/quick7/keymaps/default/keymap.c | 3 +- .../yushakobo/quick7/keymaps/tester/keymap.c | 5 +- .../yushakobo/quick7/keymaps/via/keymap.c | 3 +- keyboards/yushakobo/quick7/rules.mk | 10 +- keyboards/yynmt/acperience12/acperience12.c | 17 + keyboards/yynmt/acperience12/acperience12.h | 23 + keyboards/yynmt/acperience12/config.h | 19 + keyboards/yynmt/acperience12/info.json | 19 + .../acperience12/keymaps/default/keymap.c | 34 + .../acperience12/keymaps/default/readme.md | 25 + .../yynmt/acperience12/keymaps/via/config.h | 19 + .../yynmt/acperience12/keymaps/via/keymap.c | 116 + .../yynmt/acperience12/keymaps/via/rules.mk | 1 + keyboards/yynmt/acperience12/readme.md | 21 + keyboards/yynmt/acperience12/rev1/config.h | 50 + keyboards/yynmt/acperience12/rev1/readme.md | 21 + keyboards/yynmt/acperience12/rev1/rev1.c | 17 + keyboards/yynmt/acperience12/rev1/rev1.h | 37 + keyboards/yynmt/acperience12/rev1/rules.mk | 5 + keyboards/yynmt/acperience12/rules.mk | 18 + keyboards/z150_bh/keymaps/default/keymap.c | 13 - .../z150_bh/keymaps/default_tkl/keymap.c | 13 - keyboards/z150_bh/rules.mk | 9 +- keyboards/zfrontier/big_switch/rules.mk | 10 +- keyboards/zinc/keymaps/default/rules.mk | 3 +- keyboards/zinc/keymaps/ginjake/rules.mk | 2 +- keyboards/zinc/keymaps/monks/rules.mk | 2 +- keyboards/zinc/keymaps/toshi0383/rules.mk | 2 +- keyboards/zinc/rev1/config.h | 73 +- keyboards/zinc/rev1/post_config.h | 86 + keyboards/zinc/rev1/rev1.c | 4 - keyboards/zinc/reva/config.h | 73 +- keyboards/zinc/reva/post_config.h | 86 + keyboards/zinc/reva/reva.c | 4 - keyboards/zinc/rules.mk | 10 +- keyboards/zj68/rules.mk | 9 +- keyboards/zj68/zj68.c | 8 - keyboards/zlant/info.json | 2 +- keyboards/zlant/rules.mk | 9 +- keyboards/zlant/zlant.h | 12 - keyboards/zoo/wampus/bootloader_defs.h | 5 - keyboards/zoo/wampus/config.h | 2 + keyboards/zoo/wampus/rules.mk | 7 +- keyboards/zoo/wampus/wampus.c | 2 +- .../ztboards/after/keymaps/default/keymap.c | 3 +- .../ztboards/after/keymaps/ellicose/keymap.c | 5 +- .../ztboards/after/keymaps/phlop/keymap.c | 5 +- keyboards/ztboards/after/rules.mk | 2 +- keyboards/ztboards/noon/noon.h | 2 +- keyboards/ztboards/noon/rules.mk | 2 +- keyboards/zvecr/split_blackpill/rules.mk | 3 +- keyboards/zvecr/zv48/f401/rules.mk | 4 +- keyboards/zvecr/zv48/f411/rules.mk | 4 +- keyboards/zvecr/zv48/rules.mk | 3 +- .../60_ansi/manna-harbour_miryoku/config.h | 39 + .../60_ansi/manna-harbour_miryoku/keymap.c | 5 + .../60_ansi_split_bs_rshift/bcat/keymap.c | 18 + layouts/community/60_iso/bifbofii/keymap.c | 201 + layouts/community/60_iso/bifbofii/readme.md | 108 + layouts/community/60_iso/bifbofii/rules.mk | 1 + .../community/60_tsangan_hhkb/bcat/keymap.c | 20 +- .../65_ansi_blocker/stanrc85/keymap.c | 51 + .../65_ansi_blocker_split_bs/bcat/keymap.c | 18 + layouts/community/ergodox/adnw_k_o_y/keymap.c | 2 +- layouts/community/ergodox/adnw_p_u_q/keymap.c | 14 +- layouts/community/ergodox/algernon/keymap.c | 42 +- layouts/community/ergodox/algernon/rules.mk | 2 +- layouts/community/ergodox/bepo/keymap.c | 34 +- layouts/community/ergodox/bepo_alt/keymap.c | 14 +- layouts/community/ergodox/bepo_csa/keymap.c | 60 +- layouts/community/ergodox/berfarah/rules.mk | 2 +- layouts/community/ergodox/bocaj/config.h | 4 - layouts/community/ergodox/bocaj/keymap.c | 175 - layouts/community/ergodox/bocaj/readme.md | 28 - layouts/community/ergodox/bocaj/rules.mk | 14 - .../community/ergodox/coderkun_neo2/keymap.c | 40 +- .../ergodox/colemak_code_friendly/rules.mk | 2 +- .../ergodox/colemak_osx_pc_no/keymap.c | 114 +- layouts/community/ergodox/deadcyclo/keymap.c | 371 +- layouts/community/ergodox/drashna/config.h | 1 + layouts/community/ergodox/drashna/keymap.c | 260 +- layouts/community/ergodox/drashna/rules.mk | 7 +- .../{visualizer.c => visualizer.c_old} | 0 .../ergodox/dvorak_programmer/rules.mk | 2 +- .../ergodox/dvorak_programmer_swe/keymap.c | 10 +- .../ergodox/dvorak_programmer_swe/readme.md | 2 +- .../ergodox/dvorak_svorak_a5/keymap.c | 12 +- .../community/ergodox/french_hacker/keymap.c | 10 +- .../community/ergodox/german-kinergo/keymap.c | 12 +- .../community/ergodox/german-lukas/keymap.c | 6 +- .../community/ergodox/german-manuneo/keymap.c | 10 +- layouts/community/ergodox/german/keymap.c | 6 +- layouts/community/ergodox/guni/keymap.c | 41 +- .../community/ergodox/ishigoya-jp/keymap.c | 2 +- layouts/community/ergodox/issmirnov/keymap.c | 2 +- layouts/community/ergodox/jjerrell/config.h | 21 + layouts/community/ergodox/jjerrell/keymap.c | 129 + layouts/community/ergodox/jjerrell/readme.md | 5 + layouts/community/ergodox/jjerrell/rules.mk | 14 + layouts/community/ergodox/kejadlen/rules.mk | 2 +- layouts/community/ergodox/kristian/keymap.c | 2 +- .../ergodox/manna-harbour_miryoku/config.h | 32 +- .../ergodox/manna-harbour_miryoku/keymap.c | 4 + .../ergodox/neo2_on_qwertz_hardware/keymap.c | 8 +- .../norwegian_programmer_osx_pc/keymap.c | 118 +- .../keymap.c | 118 +- layouts/community/ergodox/nstickney/keymap.c | 142 - layouts/community/ergodox/osx_de/keymap.c | 52 +- .../ergodox/osx_de_adnw_koy/keymap.c | 18 +- .../ergodox/osx_de_experimental/keymap.c | 60 +- layouts/community/ergodox/osx_fr/keymap.c | 8 +- .../keymap.c | 6 +- .../ergodox/qwerty_code_friendly/keymap.c | 2 +- .../ergodox/replicaJunction/config.h | 60 +- .../ergodox/replicaJunction/keymap.c | 725 ++- .../ergodox/replicaJunction/readme.md | 93 +- .../ergodox/replicaJunction/rules.mk | 35 +- .../community/ergodox/software_neo2/keymap.c | 20 +- .../community/ergodox/supercoder/makefile.mk | 6 - layouts/community/ergodox/supercoder/rules.mk | 6 + .../community/ergodox/swedish-lindhe/keymap.c | 6 +- layouts/community/ergodox/swedish/keymap.c | 6 +- .../townk_osx/{makefile.mk => rules.mk} | 0 .../ergodox/workman_osx_mdw/keymap.c | 2 +- .../community/numpad_5x6/bjohnson/rules.mk | 2 +- layouts/community/numpad_5x6/drashna/config.h | 2 + layouts/community/numpad_5x6/drashna/rules.mk | 3 +- layouts/community/ortho_1x4/readme.md | 3 + layouts/community/ortho_2x3/layout.json | 2 + layouts/community/ortho_2x3/readme.md | 3 + layouts/community/ortho_2x6/layout.json | 2 + layouts/community/ortho_2x6/readme.md | 3 + .../ortho_4x10/manna-harbour_miryoku/config.h | 20 + .../ortho_4x10/manna-harbour_miryoku/keymap.c | 5 + .../community/ortho_4x12/ajp10304/keymap.c | 16 + .../community/ortho_4x12/ajp10304/readme.md | 2 +- layouts/community/ortho_4x12/bocaj/config.h | 106 - layouts/community/ortho_4x12/bocaj/keymap.c | 286 -- layouts/community/ortho_4x12/bocaj/readme.md | 23 - layouts/community/ortho_4x12/bocaj/rules.mk | 44 - .../ortho_4x12/brandonschlack/keymap.c | 6 +- .../ortho_4x12/brandonschlack/rules.mk | 2 +- .../community/ortho_4x12/buswerks/keymap.c | 5 +- .../community/ortho_4x12/buswerks/rules.mk | 2 +- layouts/community/ortho_4x12/drashna/config.h | 3 +- layouts/community/ortho_4x12/drashna/keymap.c | 172 +- layouts/community/ortho_4x12/drashna/rules.mk | 19 +- .../community/ortho_4x12/jackhumbert/keymap.c | 3 +- .../community/ortho_4x12/jjerrell/config.h | 57 + .../community/ortho_4x12/jjerrell/keymap.c | 227 + .../community/ortho_4x12/jjerrell/readme.md | 7 + .../community/ortho_4x12/jjerrell/rules.mk | 8 + layouts/community/ortho_4x12/juno/keymap.c | 38 +- layouts/community/ortho_4x12/junonum/config.h | 5 +- layouts/community/ortho_4x12/junonum/keymap.c | 22 +- layouts/community/ortho_4x12/junonum/rules.mk | 2 +- .../ortho_4x12/manna-harbour_miryoku/config.h | 35 +- .../ortho_4x12/manna-harbour_miryoku/keymap.c | 4 + layouts/community/ortho_4x12/mguterl/keymap.c | 6 +- .../community/ortho_4x12/mindsound/keymap.c | 3 +- layouts/community/ortho_4x12/rs/keymap.c | 18 +- .../ortho_5x12/brandonschlack/keymap.c | 6 +- .../ortho_5x12/brandonschlack/rules.mk | 2 +- layouts/community/ortho_5x12/drashna/keymap.c | 52 +- layouts/community/ortho_5x12/drashna/rules.mk | 3 +- .../ortho_5x12/manna-harbour_miryoku/config.h | 51 + .../ortho_5x12/manna-harbour_miryoku/keymap.c | 5 + layouts/community/ortho_5x12/xyverz/rules.mk | 2 +- .../ortho_5x15/manna-harbour_miryoku/config.h | 39 + .../ortho_5x15/manna-harbour_miryoku/keymap.c | 5 + layouts/community/ortho_5x5/layout.json | 6 +- .../planck_mit/manna-harbour_miryoku/config.h | 20 + .../planck_mit/manna-harbour_miryoku/keymap.c | 5 + .../manna-harbour_miryoku/config.h | 20 + .../manna-harbour_miryoku/keymap.c | 5 + layouts/community/split_3x6_3/bcat/config.h | 9 +- layouts/community/split_3x6_3/bcat/keymap.c | 9 +- layouts/community/split_3x6_3/bcat/readme.md | 5 + layouts/community/split_3x6_3/bcat/rules.mk | 7 +- .../community/split_3x6_3/drashna/config.h | 43 +- .../community/split_3x6_3/drashna/keymap.c | 134 +- .../community/split_3x6_3/drashna/rules.mk | 21 +- .../manna-harbour_miryoku/config.h | 20 + .../manna-harbour_miryoku/keymap.c | 5 + .../60_abnt2/default_60_abnt2/keymap.c | 26 +- .../default/60_ansi/default_60_ansi/keymap.c | 10 +- .../default_60_ansi_split_bs_rshift/keymap.c | 10 +- .../default_60_ansi_tsangan/keymap.c | 10 +- .../default/60_hhkb/default_60_hhkb/keymap.c | 20 +- .../default/60_iso/default_60_iso/keymap.c | 12 +- .../default_60_iso_split_bs_rshift/keymap.c | 12 +- .../default_60_iso_tsangan/keymap.c | 12 +- .../default_60_tsangan_hhkb/keymap.c | 10 +- .../default/65_ansi/default_65_ansi/keymap.c | 10 +- .../default_65_ansi_blocker/keymap.c | 12 +- .../default_65_ansi_blocker_split_bs/keymap.c | 12 +- .../default_65_ansi_blocker_tsangan/keymap.c | 12 +- .../default_65_ansi_split_bs/keymap.c | 10 +- .../default/65_iso/default_65_iso/keymap.c | 12 +- .../default_65_iso_blocker/keymap.c | 14 +- .../default_65_iso_blocker_split_bs/keymap.c | 14 +- .../default/66_ansi/default_66_ansi/keymap.c | 16 +- .../default/66_iso/default_66_iso/keymap.c | 16 +- .../default/68_ansi/default_68_ansi/keymap.c | 12 +- .../default/68_iso/default_68_iso/keymap.c | 14 +- .../default/75_ansi/default_75_ansi/keymap.c | 12 +- .../default/75_iso/default_75_iso/keymap.c | 14 +- .../default/96_ansi/default_96_ansi/keymap.c | 14 +- .../default/96_iso/default_96_iso/keymap.c | 14 +- layouts/default/alice/default_alice/keymap.c | 2 +- .../default_alice_split_bs/keymap.c | 2 +- .../default/ergodox/default_ergodox/keymap.c | 30 +- .../default_fullsize_ansi/keymap.c | 28 +- .../default_fullsize_iso/keymap.c | 28 +- .../numpad_4x4/default_numpad_4x4/keymap.c | 10 +- .../numpad_5x4/default_numpad_5x4/keymap.c | 24 +- .../numpad_5x6/default_numpad_5x6/keymap.c | 24 +- .../numpad_6x4/default_numpad_6x4/keymap.c | 24 +- .../numpad_6x5/default_numpad_6x5/keymap.c | 67 + layouts/default/numpad_6x5/info.json | 45 + layouts/default/numpad_6x5/layout.json | 6 + layouts/default/numpad_6x5/readme.md | 3 + .../ortho_1x1/default_ortho_1x1/keymap.c | 12 + layouts/default/ortho_1x1/info.json | 14 + layouts/default/ortho_1x1/layout.json | 1 + layouts/default/ortho_1x1/readme.md | 3 + .../ortho_2x3/default_ortho_2x3/keymap.c | 15 + layouts/default/ortho_2x3/info.json | 20 + layouts/default/ortho_2x3/layout.json | 2 + layouts/default/ortho_2x3/readme.md | 3 + .../ortho_2x6/default_ortho_2x6/keymap.c | 15 + layouts/default/ortho_2x6/info.json | 26 + layouts/default/ortho_2x6/layout.json | 2 + layouts/default/ortho_2x6/readme.md | 3 + .../ortho_3x10/default_ortho_3x10/keymap.c | 6 +- .../ortho_4x10/default_ortho_4x10/keymap.c | 8 +- .../ortho_4x12/default_ortho_4x12/keymap.c | 8 +- .../ortho_4x4/default_ortho_4x4/keymap.c | 8 +- .../ortho_4x6/default_ortho_4x6/keymap.c | 21 + layouts/default/ortho_4x6/info.json | 40 + layouts/default/ortho_4x6/layout.json | 4 + layouts/default/ortho_4x6/readme.md | 3 + .../ortho_5x10/default_ortho_5x10/keymap.c | 24 + layouts/default/ortho_5x10/info.json | 67 + layouts/default/ortho_5x10/layout.json | 5 + layouts/default/ortho_5x10/readme.md | 3 + .../ortho_5x12/default_ortho_5x12/keymap.c | 10 +- .../ortho_5x14/default_ortho_5x14/keymap.c | 10 +- .../ortho_5x15/default_ortho_5x15/keymap.c | 10 +- .../ortho_5x4/default_ortho_5x4/keymap.c | 20 +- layouts/default/ortho_5x5/info.json | 42 + layouts/default/ortho_5x5/layout.json | 5 + layouts/default/ortho_5x5/readme.md | 3 + .../ortho_6x4/default_ortho_6x4/keymap.c | 20 +- .../planck_mit/default_planck_mit/keymap.c | 8 +- layouts/default/readme.md | 48 + .../split_3x5_3/default_split_3x5_3/keymap.c | 24 +- .../split_3x6_3/default_split_3x6_3/keymap.c | 24 +- .../tkl_ansi/default_tkl_ansi/keymap.c | 28 +- .../default/tkl_iso/default_tkl_iso/keymap.c | 28 +- lib/python/qmk/c_parse.py | 2 +- lib/python/qmk/cli/__init__.py | 225 +- lib/python/qmk/cli/bux.py | 49 + lib/python/qmk/cli/c2json.py | 17 +- lib/python/qmk/cli/cformat.py | 73 +- lib/python/qmk/cli/chibios/__init__.py | 1 - lib/python/qmk/cli/chibios/confmigrate.py | 4 +- lib/python/qmk/cli/clean.py | 10 +- lib/python/qmk/cli/compile.py | 16 +- lib/python/qmk/cli/config.py | 116 - lib/python/qmk/cli/console.py | 303 ++ lib/python/qmk/cli/docs.py | 7 +- lib/python/qmk/cli/doctor.py | 125 - lib/python/qmk/cli/doctor/__init__.py | 5 + lib/python/qmk/cli/doctor/check.py | 164 + lib/python/qmk/cli/doctor/linux.py | 172 + lib/python/qmk/cli/doctor/macos.py | 13 + lib/python/qmk/cli/doctor/main.py | 135 + lib/python/qmk/cli/doctor/windows.py | 14 + lib/python/qmk/cli/fileformat.py | 24 +- lib/python/qmk/cli/flash.py | 13 +- lib/python/qmk/cli/format/__init__.py | 0 lib/python/qmk/cli/format/c.py | 137 + lib/python/qmk/cli/format/json.py | 65 + lib/python/qmk/cli/format/python.py | 26 + lib/python/qmk/cli/format/text.py | 27 + lib/python/qmk/cli/generate/__init__.py | 8 - lib/python/qmk/cli/generate/api.py | 71 +- lib/python/qmk/cli/generate/config_h.py | 147 +- lib/python/qmk/cli/generate/dfu_header.py | 3 +- lib/python/qmk/cli/generate/docs.py | 14 +- lib/python/qmk/cli/generate/info_json.py | 46 +- lib/python/qmk/cli/generate/keyboard_h.py | 57 + lib/python/qmk/cli/generate/layouts.py | 7 +- lib/python/qmk/cli/generate/rules_mk.py | 45 +- lib/python/qmk/cli/generate/version_h.py | 28 + lib/python/qmk/cli/info.py | 79 +- lib/python/qmk/cli/json2c.py | 3 +- lib/python/qmk/cli/kle2json.py | 7 +- lib/python/qmk/cli/lint.py | 10 +- lib/python/qmk/cli/list/__init__.py | 2 - lib/python/qmk/cli/list/keymaps.py | 8 +- lib/python/qmk/cli/multibuild.py | 88 + lib/python/qmk/cli/new/__init__.py | 1 - lib/python/qmk/cli/new/keyboard.py | 142 + lib/python/qmk/cli/new/keymap.py | 3 +- lib/python/qmk/cli/pyformat.py | 27 +- lib/python/qmk/cli/pytest.py | 7 +- lib/python/qmk/commands.py | 219 +- lib/python/qmk/constants.py | 5 +- lib/python/qmk/decorators.py | 64 +- lib/python/qmk/errors.py | 7 + lib/python/qmk/info.py | 405 +- lib/python/qmk/info_json_encoder.py | 96 - lib/python/qmk/json_encoders.py | 189 + lib/python/qmk/json_schema.py | 88 + lib/python/qmk/keyboard.py | 82 +- lib/python/qmk/keymap.py | 69 +- lib/python/qmk/os_helpers/__init__.py | 165 - lib/python/qmk/os_helpers/linux/__init__.py | 141 - lib/python/qmk/path.py | 1 + lib/python/qmk/submodules.py | 17 +- lib/python/qmk/tests/minimal_info.json | 11 + lib/python/qmk/tests/minimal_keymap.json | 7 + lib/python/qmk/tests/pytest_export.json | 6 - lib/python/qmk/tests/test_cli_commands.py | 73 +- .../USB_Host_Shield_2.0/.gitattributes | 0 .../usbhost}/USB_Host_Shield_2.0/.gitignore | 0 .../usbhost}/USB_Host_Shield_2.0/.gitmodules | 0 .../usbhost}/USB_Host_Shield_2.0/BTD.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/BTD.h | 0 .../usbhost}/USB_Host_Shield_2.0/BTHID.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/BTHID.h | 0 .../usbhost}/USB_Host_Shield_2.0/PS3BT.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/PS3BT.h | 0 .../usbhost}/USB_Host_Shield_2.0/PS3Enums.h | 0 .../usbhost}/USB_Host_Shield_2.0/PS3USB.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/PS3USB.h | 0 .../usbhost}/USB_Host_Shield_2.0/PS4BT.h | 0 .../USB_Host_Shield_2.0/PS4Parser.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/PS4Parser.h | 0 .../usbhost}/USB_Host_Shield_2.0/PS4USB.h | 0 .../usbhost}/USB_Host_Shield_2.0/PSBuzz.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/PSBuzz.h | 0 .../usbhost}/USB_Host_Shield_2.0/README.md | 0 .../usbhost}/USB_Host_Shield_2.0/SPP.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/SPP.h | 0 .../usbhost}/USB_Host_Shield_2.0/Usb.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/Usb.h | 0 .../usbhost}/USB_Host_Shield_2.0/UsbCore.h | 0 .../usbhost}/USB_Host_Shield_2.0/Wii.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/Wii.h | 0 .../USB_Host_Shield_2.0/WiiCameraReadme.md | 0 .../usbhost}/USB_Host_Shield_2.0/XBOXOLD.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/XBOXOLD.h | 0 .../usbhost}/USB_Host_Shield_2.0/XBOXONE.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/XBOXONE.h | 0 .../usbhost}/USB_Host_Shield_2.0/XBOXRECV.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/XBOXRECV.h | 0 .../usbhost}/USB_Host_Shield_2.0/XBOXUSB.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/XBOXUSB.h | 0 .../usbhost}/USB_Host_Shield_2.0/address.h | 0 .../usbhost}/USB_Host_Shield_2.0/adk.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/adk.h | 0 .../usbhost}/USB_Host_Shield_2.0/avrpins.h | 0 .../USB_Host_Shield_2.0/cdc_XR21B1411.cpp | 0 .../USB_Host_Shield_2.0/cdc_XR21B1411.h | 0 .../usbhost}/USB_Host_Shield_2.0/cdcacm.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/cdcacm.h | 0 .../usbhost}/USB_Host_Shield_2.0/cdcftdi.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/cdcftdi.h | 0 .../USB_Host_Shield_2.0/cdcprolific.cpp | 0 .../USB_Host_Shield_2.0/cdcprolific.h | 0 .../USB_Host_Shield_2.0/confdescparser.h | 0 .../USB_Host_Shield_2.0/controllerEnums.h | 0 .../examples/Bluetooth/BTHID/BTHID.ino | 0 .../examples/Bluetooth/BTHID/KeyboardParser.h | 0 .../examples/Bluetooth/BTHID/MouseParser.h | 0 .../examples/Bluetooth/PS3BT/PS3BT.ino | 0 .../examples/Bluetooth/PS3Multi/PS3Multi.ino | 0 .../examples/Bluetooth/PS3SPP/PS3SPP.ino | 0 .../examples/Bluetooth/PS4BT/PS4BT.ino | 0 .../examples/Bluetooth/SPP/SPP.ino | 0 .../examples/Bluetooth/SPPMulti/SPPMulti.ino | 0 .../examples/Bluetooth/Wii/Wii.ino | 0 .../WiiBalanceBoard/WiiBalanceBoard.ino | 0 .../Bluetooth/WiiIRCamera/WiiIRCamera.ino | 0 .../examples/Bluetooth/WiiMulti/WiiMulti.ino | 0 .../WiiUProController/WiiUProController.ino | 0 .../HID/USBHIDBootKbd/USBHIDBootKbd.ino | 0 .../USBHIDBootKbdAndMouse.ino | 0 .../HID/USBHIDBootMouse/USBHIDBootMouse.ino | 0 .../HID/USBHIDJoystick/USBHIDJoystick.ino | 0 .../USBHIDJoystick/hidjoystickrptparser.cpp | 0 .../HID/USBHIDJoystick/hidjoystickrptparser.h | 0 .../examples/HID/USBHID_desc/USBHID_desc.ino | 0 .../examples/HID/USBHID_desc/pgmstrings.h | 0 .../examples/HID/le3dp/le3dp.ino | 0 .../examples/HID/le3dp/le3dp_rptparser.cpp | 0 .../examples/HID/le3dp/le3dp_rptparser.h | 0 .../examples/HID/scale/scale.ino | 0 .../examples/HID/scale/scale_rptparser.cpp | 0 .../examples/HID/scale/scale_rptparser.h | 0 .../examples/PS3USB/PS3USB.ino | 0 .../examples/PS4USB/PS4USB.ino | 0 .../examples/PSBuzz/PSBuzz.ino | 0 .../examples/USB_desc/USB_desc.ino | 0 .../examples/USB_desc/pgmstrings.h | 0 .../examples/Xbox/XBOXOLD/XBOXOLD.ino | 0 .../examples/Xbox/XBOXONE/XBOXONE.ino | 0 .../examples/Xbox/XBOXRECV/XBOXRECV.ino | 0 .../examples/Xbox/XBOXUSB/XBOXUSB.ino | 0 .../acm/acm_terminal/acm_terminal.ino | 0 .../examples/acm/acm_terminal/pgmstrings.h | 0 .../adk/ArduinoBlinkLED/ArduinoBlinkLED.ino | 0 .../examples/adk/adk_barcode/adk_barcode.ino | 0 .../examples/adk/demokit_20/demokit_20.ino | 0 .../examples/adk/term_test/term_test.ino | 0 .../examples/adk/term_time/term_time.ino | 0 .../examples/board_qc/board_qc.ino | 0 .../cdc_XR21B1411/XR_terminal/XR_terminal.ino | 0 .../ftdi/USBFTDILoopback/USBFTDILoopback.ino | 0 .../ftdi/USBFTDILoopback/pgmstrings.h | 0 .../examples/hub_demo/hub_demo.ino | 0 .../examples/hub_demo/pgmstrings.h | 0 .../examples/max_LCD/max_LCD.ino | 0 .../pl2303_gprs_terminal.ino | 0 .../examples/pl2303/pl2303_gps/pl2303_gps.ino | 0 .../pl2303/pl2303_tinygps/pl2303_tinygps.ino | 0 .../pl2303_xbee_terminal.ino | 0 .../examples/testusbhostFAT/Makefile | 0 .../examples/testusbhostFAT/README.md | 0 .../testusbhostFAT/testusbhostFAT.ino | 0 .../usbhost}/USB_Host_Shield_2.0/gpl2.txt | 0 .../usbhost}/USB_Host_Shield_2.0/hexdump.h | 0 .../usbhost}/USB_Host_Shield_2.0/hid.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/hid.h | 0 .../usbhost}/USB_Host_Shield_2.0/hidboot.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/hidboot.h | 0 .../hidescriptorparser.cpp | 0 .../USB_Host_Shield_2.0/hidescriptorparser.h | 0 .../USB_Host_Shield_2.0/hiduniversal.cpp | 0 .../USB_Host_Shield_2.0/hiduniversal.h | 0 .../USB_Host_Shield_2.0/hidusagestr.h | 0 .../hidusagetitlearrays.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/keywords.txt | 0 .../usbhost}/USB_Host_Shield_2.0/library.json | 0 .../USB_Host_Shield_2.0/library.properties | 0 .../usbhost}/USB_Host_Shield_2.0/macros.h | 0 .../USB_Host_Shield_2.0/masstorage.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/masstorage.h | 0 .../usbhost}/USB_Host_Shield_2.0/max3421e.h | 0 .../usbhost}/USB_Host_Shield_2.0/max_LCD.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/max_LCD.h | 0 .../usbhost}/USB_Host_Shield_2.0/message.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/message.h | 0 .../USB_Host_Shield_2.0/parsetools.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/parsetools.h | 0 .../usbhost}/USB_Host_Shield_2.0/printhex.h | 0 .../usbhost}/USB_Host_Shield_2.0/settings.h | 0 .../USB_Host_Shield_2.0/sink_parser.h | 0 .../usbhost}/USB_Host_Shield_2.0/usb_ch9.h | 0 .../usbhost}/USB_Host_Shield_2.0/usbhost.h | 0 .../usbhost}/USB_Host_Shield_2.0/usbhub.cpp | 0 .../usbhost}/USB_Host_Shield_2.0/usbhub.h | 0 .../USB_Host_Shield_2.0/version_helper.h | 0 .../usbhost}/USB_Host_Shield_2.0/xboxEnums.h | 0 .../arduino-1.0.1/cores/arduino/Arduino.h | 0 .../arduino-1.0.1/cores/arduino/CDC.cpp | 0 .../arduino-1.0.1/cores/arduino/Client.h | 0 .../arduino-1.0.1/cores/arduino/HID.cpp | 0 .../cores/arduino/HardwareSerial.cpp | 0 .../cores/arduino/HardwareSerial.h | 0 .../arduino-1.0.1/cores/arduino/IPAddress.cpp | 0 .../arduino-1.0.1/cores/arduino/IPAddress.h | 0 .../arduino-1.0.1/cores/arduino/Platform.h | 0 .../arduino-1.0.1/cores/arduino/Print.cpp | 0 .../arduino-1.0.1/cores/arduino/Print.h | 0 .../arduino-1.0.1/cores/arduino/Printable.h | 0 .../arduino-1.0.1/cores/arduino/Server.h | 0 .../arduino-1.0.1/cores/arduino/Stream.cpp | 0 .../arduino-1.0.1/cores/arduino/Stream.h | 0 .../arduino-1.0.1/cores/arduino/Tone.cpp | 0 .../arduino-1.0.1/cores/arduino/USBAPI.h | 0 .../arduino-1.0.1/cores/arduino/USBCore.cpp | 0 .../arduino-1.0.1/cores/arduino/USBCore.h | 0 .../arduino-1.0.1/cores/arduino/USBDesc.h | 0 .../arduino-1.0.1/cores/arduino/Udp.h | 0 .../arduino-1.0.1/cores/arduino/WCharacter.h | 0 .../arduino-1.0.1/cores/arduino/WInterrupts.c | 0 .../arduino-1.0.1/cores/arduino/WMath.cpp | 0 .../arduino-1.0.1/cores/arduino/WString.cpp | 0 .../arduino-1.0.1/cores/arduino/WString.h | 0 .../arduino-1.0.1/cores/arduino/binary.h | 0 .../arduino-1.0.1/cores/arduino/main.cpp | 0 .../arduino-1.0.1/cores/arduino/new.cpp | 0 .../arduino-1.0.1/cores/arduino/new.h | 0 .../arduino-1.0.1/cores/arduino/wiring.c | 0 .../cores/arduino/wiring_analog.c | 0 .../cores/arduino/wiring_digital.c | 0 .../cores/arduino/wiring_private.h | 0 .../cores/arduino/wiring_pulse.c | 0 .../cores/arduino/wiring_shift.c | 0 .../variants/eightanaloginputs/pins_arduino.h | 0 .../variants/leonardo/pins_arduino.h | 0 .../variants/mega/pins_arduino.h | 0 .../variants/standard/pins_arduino.h | 0 message.mk | 14 +- platforms/arm_atsam/flash.mk | 11 + .../avr => platforms/avr/drivers}/analog.c | 0 .../avr => platforms/avr/drivers}/analog.h | 0 .../avr => platforms/avr/drivers}/glcdfont.c | 0 .../avr => platforms/avr/drivers}/hd44780.c | 0 .../avr => platforms/avr/drivers}/hd44780.h | 0 platforms/avr/drivers/i2c_master.c | 241 + .../avr/drivers}/i2c_master.h | 0 platforms/avr/drivers/i2c_slave.c | 111 + platforms/avr/drivers/i2c_slave.h | 41 + platforms/avr/drivers/serial.c | 529 ++ platforms/avr/drivers/spi_master.c | 180 + platforms/avr/drivers/spi_master.h | 59 + .../avr => platforms/avr/drivers}/ssd1306.c | 0 .../avr => platforms/avr/drivers}/ssd1306.h | 0 {drivers/avr => platforms/avr/drivers}/uart.c | 0 {drivers/avr => platforms/avr/drivers}/uart.h | 0 .../avr => platforms/avr/drivers}/ws2812.c | 0 .../avr/drivers}/ws2812_i2c.c | 0 platforms/avr/flash.mk | 179 + .../BLACKPILL_STM32_F401/configs/config.h | 25 - .../BLACKPILL_STM32_F411/configs/config.h | 25 - .../configs/bootloader_defs.h | 5 - platforms/chibios/IC_TEENSY_3_1/board/board.c | 146 - .../chibios/QMK_PROTON_C/configs/halconf.h | 531 -- .../QMK_PROTON_C/convert_to_proton_c.mk | 12 - .../BLACKPILL_STM32_F401/board/board.mk | 0 .../BLACKPILL_STM32_F401/configs/board.h | 0 .../configs/bootloader_defs.h | 5 + .../BLACKPILL_STM32_F401/configs/config.h | 30 + .../BLACKPILL_STM32_F401/configs/mcuconf.h | 0 .../ld/STM32F401xC_tinyuf2.ld | 88 + .../ld/STM32F401xE_tinyuf2.ld | 88 + .../BLACKPILL_STM32_F411/board/board.mk | 0 .../BLACKPILL_STM32_F411/configs/board.h | 0 .../configs/bootloader_defs.h | 5 + .../BLACKPILL_STM32_F411/configs/config.h | 30 + .../BLACKPILL_STM32_F411/configs/mcuconf.h | 0 .../ld/STM32F411xC_tinyuf2.ld | 89 + .../ld/STM32F411xE_tinyuf2.ld | 89 + .../GENERIC_STM32_F042X6/board/board.c | 0 .../GENERIC_STM32_F042X6/board/board.h | 0 .../GENERIC_STM32_F042X6/board/board.mk | 0 .../configs/bootloader_defs.h | 0 .../GENERIC_STM32_F042X6/configs/config.h | 0 .../GENERIC_STM32_F042X6/configs/mcuconf.h | 0 .../GENERIC_STM32_F072XB/board/board.mk | 0 .../GENERIC_STM32_F072XB/configs/board.h | 0 .../configs}/bootloader_defs.h | 0 .../GENERIC_STM32_F072XB/configs/config.h | 0 .../GENERIC_STM32_F072XB/configs/mcuconf.h | 0 .../GENERIC_STM32_F303XC/board/board.mk | 0 .../GENERIC_STM32_F303XC/configs/board.h | 0 .../configs/bootloader_defs.h | 0 .../GENERIC_STM32_F303XC/configs/config.h | 0 .../GENERIC_STM32_F303XC/configs/mcuconf.h | 0 .../GENERIC_STM32_F407XE/board/board.mk | 9 + .../GENERIC_STM32_F407XE/configs/board.h | 24 + .../GENERIC_STM32_F407XE/configs/config.h | 23 + .../GENERIC_STM32_F407XE/configs/mcuconf.h | 355 ++ .../GENERIC_STM32_F446XE/board/board.mk | 9 + .../GENERIC_STM32_F446XE/configs/board.h | 24 + .../GENERIC_STM32_F446XE/configs/config.h | 23 + .../GENERIC_STM32_F446XE/configs/mcuconf.h | 361 ++ .../GENERIC_STM32_G431XB/board/board.mk | 0 .../GENERIC_STM32_G431XB/configs/config.h | 0 .../GENERIC_STM32_G431XB/configs/mcuconf.h | 0 .../GENERIC_STM32_G474XE/board/board.mk | 0 .../GENERIC_STM32_G474XE/configs/config.h | 0 .../GENERIC_STM32_G474XE/configs/mcuconf.h | 0 .../GENERIC_STM32_L412XB/board/board.mk | 9 + .../GENERIC_STM32_L412XB/configs/board.h | 24 + .../GENERIC_STM32_L412XB/configs/config.h | 26 + .../GENERIC_STM32_L412XB/configs/mcuconf.h | 282 ++ .../GENERIC_STM32_L433XC/board/board.mk | 9 + .../GENERIC_STM32_L433XC/configs/board.h | 24 + .../GENERIC_STM32_L433XC/configs/config.h | 26 + .../GENERIC_STM32_L433XC/configs/mcuconf.h | 292 ++ .../boards/IC_TEENSY_3_1/board/board.c | 151 + .../{ => boards}/IC_TEENSY_3_1/board/board.h | 0 .../{ => boards}/IC_TEENSY_3_1/board/board.mk | 0 .../boards/IC_TEENSY_4_1/board/board.mk | 1 + .../chibios/boards/IC_TEENSY_4_1/rules.mk | 1 + .../{ => boards}/QMK_PROTON_C/board/board.mk | 0 .../{ => boards}/QMK_PROTON_C/configs/board.h | 0 .../QMK_PROTON_C/configs/bootloader_defs.h | 0 .../QMK_PROTON_C/configs/chconf.h | 0 .../QMK_PROTON_C/configs/config.h | 0 .../boards/QMK_PROTON_C/configs/halconf.h | 531 ++ .../QMK_PROTON_C/configs/mcuconf.h | 0 .../QMK_PROTON_C/convert_to_proton_c.mk | 10 + .../STM32_F103_STM32DUINO/board/board.c | 0 .../STM32_F103_STM32DUINO/board/board.h | 0 .../STM32_F103_STM32DUINO/board/board.mk | 0 .../STM32_F103_STM32DUINO/configs/mcuconf.h | 0 .../ld/STM32F103x8_stm32duino_bootloader.ld | 22 + .../ld/STM32F103xB_stm32duino_bootloader.ld | 22 + .../ld/stm32duino_bootloader_common.ld | 85 + .../{ => boards}/common/configs/chconf.h | 0 .../chibios/boards/common/configs/halconf.h | 531 ++ .../{ => boards}/common/ld/MKL26Z64.ld | 0 .../chibios/boards/common/ld/STM32L412xB.ld | 85 + .../keyboard-config-templates/board.h | 0 .../keyboard-config-templates/chconf.h | 0 .../keyboard-config-templates/halconf.h | 0 .../keyboard-config-templates/mcuconf.h | 0 platforms/chibios/common/configs/halconf.h | 531 -- .../ld/STM32F103x8_stm32duino_bootloader.ld | 85 - .../chibios/drivers}/analog.c | 59 +- .../chibios/drivers}/analog.h | 0 .../drivers}/eeprom/eeprom_stm32_L0_L1.c | 0 .../drivers}/eeprom/eeprom_stm32_L0_L1.h | 0 .../chibios/drivers}/i2c_master.c | 0 .../chibios/drivers}/i2c_master.h | 0 platforms/chibios/drivers/serial.c | 278 + platforms/chibios/drivers/serial_usart.c | 318 ++ platforms/chibios/drivers/serial_usart.h | 116 + platforms/chibios/drivers/spi_master.c | 202 + platforms/chibios/drivers/spi_master.h | 93 + .../chibios/drivers}/uart.c | 0 .../chibios/drivers}/uart.h | 0 .../chibios/drivers}/usbpd_stm32g4.c | 0 .../chibios/drivers}/ws2812.c | 0 .../chibios/drivers}/ws2812_pwm.c | 11 +- platforms/chibios/drivers/ws2812_spi.c | 159 + platforms/chibios/flash.mk | 87 + {tmk_core/common => quantum}/action.c | 123 +- {tmk_core/common => quantum}/action.h | 9 +- {tmk_core/common => quantum}/action_code.h | 0 {tmk_core/common => quantum}/action_layer.c | 12 +- {tmk_core/common => quantum}/action_layer.h | 29 +- {tmk_core/common => quantum}/action_macro.c | 0 {tmk_core/common => quantum}/action_macro.h | 0 {tmk_core/common => quantum}/action_tapping.c | 69 +- {tmk_core/common => quantum}/action_tapping.h | 1 + {tmk_core/common => quantum}/action_util.c | 86 +- {tmk_core/common => quantum}/action_util.h | 5 + quantum/api/api_sysex.h | 2 + quantum/audio/audio.c | 3 + quantum/audio/driver_avr_pwm_hardware.c | 14 +- quantum/audio/driver_chibios_dac_basic.c | 2 +- quantum/audio/luts.h | 10 +- quantum/audio/voices.h | 3 - quantum/backlight/backlight.c | 24 +- quantum/backlight/backlight.h | 4 + quantum/bootmagic/bootmagic.h | 22 + quantum/bootmagic/bootmagic_lite.c | 60 + quantum/bootmagic/bootmagic_lite.h | 25 + quantum/bootmagic/magic.c | 54 + quantum/bootmagic/magic.h | 18 + quantum/color.h | 54 + quantum/command.c | 593 +-- quantum/command.h | 3 +- quantum/config_common.h | 3 +- quantum/crc.c | 59 + quantum/crc.h | 44 + quantum/debounce.h | 2 + quantum/debounce/asym_eager_defer_pk.c | 171 + quantum/debounce/none.c | 31 + quantum/debounce/sym_defer_g.c | 26 +- quantum/debounce/sym_defer_pk.c | 67 +- quantum/debounce/sym_eager_pk.c | 72 +- quantum/debounce/sym_eager_pr.c | 76 +- .../tests/asym_eager_defer_pk_tests.cpp | 374 ++ .../debounce/tests/debounce_test_common.cpp | 229 + quantum/debounce/tests/debounce_test_common.h | 83 + quantum/debounce/tests/rules.mk | 44 + quantum/debounce/tests/sym_defer_g_tests.cpp | 223 + quantum/debounce/tests/sym_defer_pk_tests.cpp | 225 + quantum/debounce/tests/sym_eager_pk_tests.cpp | 237 + quantum/debounce/tests/sym_eager_pr_tests.cpp | 280 ++ quantum/debounce/tests/testlist.mk | 6 + quantum/digitizer.c | 34 + quantum/digitizer.h | 41 + quantum/dip_switch.c | 19 +- quantum/dip_switch.h | 8 +- quantum/dynamic_keymap.c | 6 +- {tmk_core/common => quantum}/eeconfig.c | 46 +- {tmk_core/common => quantum}/eeconfig.h | 19 +- quantum/encoder.c | 15 +- quantum/encoder.h | 4 +- {drivers/haptic => quantum}/haptic.c | 66 +- {drivers/haptic => quantum}/haptic.h | 22 +- quantum/keyboard.c | 569 +++ {tmk_core/common => quantum}/keyboard.h | 5 +- {tmk_core/common => quantum}/keycode.h | 0 quantum/keycode_config.h | 1 + quantum/keymap_common.c | 7 +- quantum/keymap_extras/keymap_belgian.h | 49 +- quantum/keymap_extras/keymap_bepo.h | 219 +- quantum/keymap_extras/keymap_br_abnt2.h | 56 +- .../keymap_canadian_multilingual.h | 241 +- quantum/keymap_extras/keymap_colemak.h | 52 +- quantum/keymap_extras/keymap_croatian.h | 36 +- quantum/keymap_extras/keymap_czech.h | 36 +- quantum/keymap_extras/keymap_danish.h | 36 +- quantum/keymap_extras/keymap_dvorak.h | 20 +- quantum/keymap_extras/keymap_dvorak_fr.h | 24 +- quantum/keymap_extras/keymap_dvp.h | 20 +- quantum/keymap_extras/keymap_estonian.h | 36 +- quantum/keymap_extras/keymap_finnish.h | 36 +- quantum/keymap_extras/keymap_fr_ch.h | 115 +- quantum/keymap_extras/keymap_french.h | 47 +- quantum/keymap_extras/keymap_french_afnor.h | 60 +- quantum/keymap_extras/keymap_french_osx.h | 60 +- quantum/keymap_extras/keymap_german.h | 49 +- quantum/keymap_extras/keymap_german_ch.h | 54 +- quantum/keymap_extras/keymap_german_osx.h | 128 +- quantum/keymap_extras/keymap_greek.h | 36 +- quantum/keymap_extras/keymap_hebrew.h | 36 +- quantum/keymap_extras/keymap_hungarian.h | 55 +- quantum/keymap_extras/keymap_icelandic.h | 36 +- quantum/keymap_extras/keymap_irish.h | 36 +- quantum/keymap_extras/keymap_italian.h | 67 +- .../keymap_extras/keymap_italian_osx_ansi.h | 58 +- .../keymap_extras/keymap_italian_osx_iso.h | 66 +- quantum/keymap_extras/keymap_jp.h | 33 +- quantum/keymap_extras/keymap_korean.h | 20 +- quantum/keymap_extras/keymap_latvian.h | 50 +- .../keymap_extras/keymap_lithuanian_azerty.h | 36 +- .../keymap_extras/keymap_lithuanian_qwerty.h | 48 +- quantum/keymap_extras/keymap_neo2.h | 64 +- quantum/keymap_extras/keymap_norman.h | 20 +- quantum/keymap_extras/keymap_norwegian.h | 59 +- quantum/keymap_extras/keymap_plover.h | 10 +- quantum/keymap_extras/keymap_polish.h | 30 +- quantum/keymap_extras/keymap_portuguese.h | 36 +- .../keymap_extras/keymap_portuguese_osx_iso.h | 48 +- quantum/keymap_extras/keymap_romanian.h | 48 +- quantum/keymap_extras/keymap_russian.h | 30 +- quantum/keymap_extras/keymap_serbian.h | 36 +- quantum/keymap_extras/keymap_serbian_latin.h | 36 +- quantum/keymap_extras/keymap_slovak.h | 36 +- quantum/keymap_extras/keymap_slovenian.h | 44 +- quantum/keymap_extras/keymap_spanish.h | 45 +- quantum/keymap_extras/keymap_spanish_dvorak.h | 36 +- quantum/keymap_extras/keymap_steno.h | 18 + quantum/keymap_extras/keymap_swedish.h | 59 +- .../keymap_extras/keymap_swedish_osx_ansi.h | 240 + .../keymap_extras/keymap_swedish_osx_iso.h | 239 + .../keymap_swedish_pro_osx_ansi.h | 240 + .../keymap_swedish_pro_osx_iso.h | 239 + quantum/keymap_extras/keymap_turkish_f.h | 50 +- quantum/keymap_extras/keymap_turkish_q.h | 36 +- quantum/keymap_extras/keymap_uk.h | 111 +- quantum/keymap_extras/keymap_us_extended.h | 42 +- .../keymap_extras/keymap_us_international.h | 40 +- .../keymap_us_international_linux.h | 48 +- quantum/keymap_extras/keymap_workman.h | 49 +- quantum/keymap_extras/keymap_workman_zxcvm.h | 20 +- quantum/led_matrix.c | 348 -- quantum/led_matrix.h | 94 - .../led_matrix/animations/alpha_mods_anim.h | 24 + quantum/led_matrix/animations/band_anim.h | 13 + .../animations/band_pinwheel_anim.h | 10 + .../led_matrix/animations/band_spiral_anim.h | 10 + .../led_matrix/animations/breathing_anim.h | 19 + .../animations/cycle_left_right_anim.h | 10 + .../led_matrix/animations/cycle_out_in_anim.h | 10 + .../animations/cycle_up_down_anim.h | 10 + .../led_matrix/animations/dual_beacon_anim.h | 10 + .../animations/led_matrix_effects.inc | 18 + .../animations/runners/effect_runner_dx_dy.h | 16 + .../runners/effect_runner_dx_dy_dist.h | 17 + .../animations/runners/effect_runner_i.h | 14 + .../runners/effect_runner_reactive.h | 28 + .../runners/effect_runner_reactive_splash.h | 26 + .../runners/effect_runner_sin_cos_i.h | 16 + .../animations/runners/led_matrix_runners.inc | 6 + quantum/led_matrix/animations/solid_anim.h | 15 + .../animations/solid_reactive_cross.h | 35 + .../animations/solid_reactive_nexus.h | 32 + .../animations/solid_reactive_simple_anim.h | 12 + .../animations/solid_reactive_wide.h | 30 + .../led_matrix/animations/solid_splash_anim.h | 30 + .../animations/wave_left_right_anim.h | 10 + .../led_matrix/animations/wave_up_down_anim.h | 10 + quantum/led_matrix/led_matrix.c | 578 +++ quantum/led_matrix/led_matrix.h | 161 + quantum/{ => led_matrix}/led_matrix_drivers.c | 27 +- .../led_matrix/led_matrix_legacy_enables.h | 82 + quantum/led_matrix/led_matrix_types.h | 97 + quantum/led_matrix_types.h | 69 - {tmk_core/common => quantum/logging}/debug.c | 0 {tmk_core/common => quantum/logging}/debug.h | 2 +- .../common => quantum/logging}/nodebug.h | 0 .../printf.c => quantum/logging/print.c | 0 {tmk_core/common => quantum/logging}/print.h | 2 +- quantum/logging/print.mk | 9 + quantum/logging/sendchar.c | 20 + .../common => quantum/logging}/sendchar.h | 0 quantum/main.c | 41 + quantum/matrix.c | 281 +- quantum/matrix.h | 7 +- quantum/matrix_common.c | 2 +- quantum/mcu_selection.mk | 211 +- quantum/mousekey.c | 4 +- quantum/mousekey.h | 11 +- quantum/process_keycode/process_auto_shift.c | 22 +- quantum/process_keycode/process_auto_shift.h | 1 + quantum/process_keycode/process_backlight.c | 29 +- quantum/process_keycode/process_combo.c | 558 +- quantum/process_keycode/process_combo.h | 38 +- quantum/process_keycode/process_haptic.c | 148 + quantum/process_keycode/process_haptic.h | 21 + .../process_keycode/process_key_override.c | 518 ++ .../process_keycode/process_key_override.h | 153 + quantum/process_keycode/process_leader.c | 5 +- quantum/process_keycode/process_leader.h | 7 +- quantum/process_keycode/process_magic.c | 3 + quantum/process_keycode/process_midi.c | 23 +- quantum/process_keycode/process_music.c | 2 +- quantum/process_keycode/process_music.h | 2 +- quantum/process_keycode/process_rgb.c | 12 +- quantum/process_keycode/process_steno.c | 15 + quantum/process_keycode/process_tap_dance.c | 6 +- quantum/process_keycode/process_tap_dance.h | 2 +- quantum/quantum.c | 94 +- quantum/quantum.h | 85 +- quantum/quantum_keycodes.h | 954 ++-- quantum/rgb.h | 39 - quantum/rgb_matrix.h | 227 - .../rgb_matrix/animations/alpha_mods_anim.h | 26 + .../rgb_matrix/animations/breathing_anim.h | 20 + .../animations}/colorband_pinwheel_sat_anim.h | 2 +- .../animations}/colorband_pinwheel_val_anim.h | 2 +- .../animations}/colorband_sat_anim.h | 2 +- .../animations}/colorband_spiral_sat_anim.h | 2 +- .../animations}/colorband_spiral_val_anim.h | 2 +- .../animations}/colorband_val_anim.h | 2 +- .../animations}/cycle_all_anim.h | 2 +- .../animations/cycle_left_right_anim.h | 13 + .../rgb_matrix/animations/cycle_out_in_anim.h | 13 + .../animations}/cycle_out_in_dual_anim.h | 2 +- .../animations}/cycle_pinwheel_anim.h | 2 +- .../animations}/cycle_spiral_anim.h | 2 +- .../animations/cycle_up_down_anim.h | 13 + .../animations}/digital_rain_anim.h | 0 .../rgb_matrix/animations/dual_beacon_anim.h | 13 + .../animations}/gradient_left_right_anim.h | 2 +- .../animations}/gradient_up_down_anim.h | 2 +- .../animations/hue_breathing_anim.h | 22 + .../rgb_matrix/animations/hue_pendulum_anim.h | 17 + quantum/rgb_matrix/animations/hue_wave_anim.h | 17 + .../animations}/jellybean_raindrops_anim.h | 4 +- .../animations}/rainbow_beacon_anim.h | 2 +- .../animations}/rainbow_moving_chevron_anim.h | 2 +- .../animations}/rainbow_pinwheels_anim.h | 2 +- .../animations}/raindrops_anim.h | 2 +- .../animations/rgb_matrix_effects.inc | 37 + .../animations/runners}/effect_runner_dx_dy.h | 0 .../runners}/effect_runner_dx_dy_dist.h | 0 .../animations/runners/effect_runner_i.h | 15 + .../runners/effect_runner_reactive.h | 29 + .../runners/effect_runner_reactive_splash.h | 29 + .../runners}/effect_runner_sin_cos_i.h | 0 .../animations/runners/rgb_matrix_runners.inc | 6 + .../animations}/solid_color_anim.h | 0 .../animations}/solid_reactive_anim.h | 0 .../animations}/solid_reactive_cross.h | 0 .../animations}/solid_reactive_nexus.h | 0 .../animations}/solid_reactive_simple_anim.h | 0 .../animations}/solid_reactive_wide.h | 0 .../animations}/solid_splash_anim.h | 0 .../animations}/splash_anim.h | 0 .../animations}/typing_heatmap_anim.h | 2 +- quantum/{ => rgb_matrix}/rgb_matrix.c | 114 +- quantum/rgb_matrix/rgb_matrix.h | 228 + quantum/rgb_matrix/rgb_matrix_drivers.c | 247 + .../rgb_matrix/rgb_matrix_legacy_enables.h | 153 + quantum/{ => rgb_matrix}/rgb_matrix_types.h | 17 +- .../rgb_matrix_animations/alpha_mods_anim.h | 26 - .../rgb_matrix_animations/breathing_anim.h | 20 - .../cycle_left_right_anim.h | 13 - .../rgb_matrix_animations/cycle_out_in_anim.h | 13 - .../cycle_up_down_anim.h | 13 - .../rgb_matrix_animations/dual_beacon_anim.h | 13 - .../rgb_matrix_effects.inc | 34 - quantum/rgb_matrix_drivers.c | 175 - quantum/rgb_matrix_runners/effect_runner_i.h | 15 - .../effect_runner_reactive.h | 29 - .../effect_runner_reactive_splash.h | 29 - quantum/{ => rgblight}/rgblight.c | 81 +- quantum/{ => rgblight}/rgblight.h | 200 +- .../{ => rgblight}/rgblight_breathe_table.h | 0 quantum/{ => rgblight}/rgblight_list.h | 46 +- quantum/{ => rgblight}/rgblight_modes.h | 0 quantum/{ => rgblight}/rgblight_post_config.h | 0 quantum/send_string.c | 8 + quantum/send_string_keycodes.h | 18 + quantum/sequencer/sequencer.c | 2 +- quantum/sequencer/sequencer.h | 2 +- quantum/sequencer/tests/sequencer_tests.cpp | 26 +- quantum/serial_link/system/serial_link.c | 22 + quantum/split_common/matrix.c | 312 -- quantum/split_common/post_config.h | 9 - quantum/split_common/split_util.c | 123 +- quantum/split_common/split_util.h | 5 + quantum/split_common/transaction_id_define.h | 102 + quantum/split_common/transactions.c | 723 +++ quantum/split_common/transactions.h | 54 + quantum/split_common/transport.c | 418 +- quantum/split_common/transport.h | 173 + quantum/template/avr/readme.md | 19 - quantum/template/ps2avrgb/readme.md | 21 - quantum/template/ps2avrgb/rules.mk | 19 - quantum/tools/readme.md | 6 - quantum/via.c | 42 +- quantum/via.h | 8 +- quantum/wpm.c | 48 +- quantum/wpm.h | 11 + readme.md | 1 - requirements-dev.txt | 1 - requirements.txt | 6 +- secrets.tar.enc | Bin 10256 -> 0 bytes shell.nix | 72 +- show_options.mk | 39 +- testlist.mk | 2 + tests/test_common/main.cpp | 32 + tests/test_common/test_fixture.cpp | 8 +- tmk_core/arm_atsam.mk | 18 +- tmk_core/avr.mk | 183 +- tmk_core/chibios.mk | 118 +- tmk_core/common.mk | 67 +- tmk_core/common/arm_atsam/_print.h | 34 - tmk_core/common/arm_atsam/_timer.h | 19 + tmk_core/common/arm_atsam/_wait.h | 22 + tmk_core/common/arm_atsam/atomic_util.h | 37 + tmk_core/common/arm_atsam/gpio.h | 71 + tmk_core/common/arm_atsam/pin_defs.h | 84 + tmk_core/common/arm_atsam/platform.c | 21 + tmk_core/common/arm_atsam/platform_deps.h | 18 + tmk_core/common/arm_atsam/printf.c | 72 - tmk_core/common/arm_atsam/printf.h | 7 - tmk_core/common/arm_atsam/printf.mk | 1 - tmk_core/common/avr/_print.h | 6 +- tmk_core/common/avr/_timer.h | 19 + tmk_core/common/avr/_wait.h | 49 + tmk_core/common/avr/gpio.h | 15 + tmk_core/common/avr/platform.c | 21 + tmk_core/common/avr/platform_deps.h | 20 + tmk_core/common/avr/suspend.c | 21 + tmk_core/common/bootmagic.c | 163 - tmk_core/common/bootmagic.h | 102 - tmk_core/common/bootmagic_lite.c | 49 - tmk_core/common/chibios/_timer.h | 19 + tmk_core/common/chibios/_wait.c | 89 + tmk_core/common/chibios/_wait.h | 62 + tmk_core/common/chibios/bootloader.c | 23 +- tmk_core/common/chibios/chibios_config.h | 9 + tmk_core/common/chibios/eeprom_stm32.c | 764 ++- tmk_core/common/chibios/eeprom_stm32.h | 61 +- tmk_core/common/chibios/eeprom_stm32_defs.h | 61 + tmk_core/common/chibios/eeprom_teensy.c | 2 +- tmk_core/common/chibios/flash_stm32.c | 39 +- tmk_core/common/chibios/flash_stm32.h | 8 +- tmk_core/common/chibios/gpio.h | 16 + tmk_core/common/chibios/pin_defs.h | 81 + tmk_core/common/chibios/platform.c | 22 + tmk_core/common/chibios/platform_deps.h | 19 + tmk_core/common/chibios/sleep_led.c | 92 +- tmk_core/common/chibios/suspend.c | 28 + tmk_core/common/chibios/wait.c | 41 + tmk_core/common/host.c | 33 +- tmk_core/common/host_driver.h | 2 + tmk_core/common/keyboard.c | 517 -- tmk_core/common/lib_printf.mk | 9 - tmk_core/common/magic.c | 39 - tmk_core/common/magic.h | 3 - tmk_core/common/nrf/_wait.h | 6 + tmk_core/common/nrf/platform.c | 2 + tmk_core/common/nrf/platform_deps.h | 2 + tmk_core/common/progmem.h | 2 + tmk_core/common/report.h | 37 +- tmk_core/common/sendchar_null.c | 19 - tmk_core/common/sendchar_uart.c | 23 - tmk_core/common/sync_timer.c | 2 +- tmk_core/common/sync_timer.h | 2 +- tmk_core/common/test/_wait.h | 22 + tmk_core/common/test/eeprom_stm32_tests.cpp | 438 ++ tmk_core/common/test/flash_stm32_mock.c | 49 + tmk_core/common/test/hal.h | 18 + tmk_core/common/test/platform.c | 21 + tmk_core/common/test/platform.h | 18 + tmk_core/common/test/platform_deps.h | 18 + tmk_core/common/test/rules.mk | 23 + tmk_core/common/test/testlist.mk | 1 + tmk_core/common/timer.h | 25 +- tmk_core/common/usb_util.c | 29 + tmk_core/common/usb_util.h | 22 + tmk_core/common/wait.h | 128 +- tmk_core/native.mk | 5 + tmk_core/protocol.mk | 8 +- tmk_core/protocol/arm_atsam/main_arm_atsam.c | 59 +- tmk_core/protocol/arm_atsam/md_rgb_matrix.c | 4 +- tmk_core/protocol/arm_atsam/md_rgb_matrix.h | 2 +- .../protocol/arm_atsam/usb/udi_device_conf.h | 10 +- tmk_core/protocol/chibios.mk | 3 +- tmk_core/protocol/chibios/chibios.c | 255 + tmk_core/protocol/chibios/main.c | 276 - tmk_core/protocol/chibios/usb_main.c | 102 +- tmk_core/protocol/chibios/usb_util.c | 21 + tmk_core/protocol/lufa.mk | 6 +- tmk_core/protocol/lufa/lufa.c | 143 +- tmk_core/protocol/lufa/usb_util.c | 34 + tmk_core/protocol/midi/qmk_midi.c | 2 +- tmk_core/protocol/nrf/keycode_str_converter.c | 4 +- tmk_core/protocol/nrf/via.c | 6 + tmk_core/protocol/ps2_interrupt.c | 91 +- tmk_core/protocol/ps2_io_chibios.c | 55 + tmk_core/protocol/ps2_mouse.c | 21 +- tmk_core/protocol/usb_descriptor.c | 107 +- tmk_core/protocol/usb_descriptor.h | 27 +- tmk_core/protocol/usb_descriptor_common.h | 4 + tmk_core/protocol/usb_hid.mk | 12 +- tmk_core/protocol/vusb.mk | 3 +- tmk_core/protocol/vusb/main.c | 180 - tmk_core/protocol/vusb/protocol.c | 178 + tmk_core/protocol/vusb/usb_util.c | 24 + tmk_core/protocol/vusb/vusb.c | 55 +- tmk_core/protocol/xt.h | 41 +- tmk_core/protocol/xt_interrupt.c | 13 +- tmk_core/rules.mk | 40 +- users/333fred/333fred.c | 2 +- users/ajp10304/ajp10304.c | 16 + users/ajp10304/ajp10304.h | 16 + users/ajp10304/readme.md | 2 +- users/arkag/arkag.c | 170 +- users/arkag/arkag.h | 16 +- users/arkag/config.h | 16 + users/arkag/rules.mk | 5 +- users/bbaserdem/bbaserdem.c | 10 +- users/bbaserdem/rules.mk | 4 +- users/bcat/bcat.c | 16 + users/bcat/bcat.h | 18 +- users/bcat/config.h | 2 +- users/bcat/readme.md | 2 +- users/bcat/rules.mk | 3 +- users/billypython/billypython.c | 2 +- users/bocaj/.gitignore | 1 - users/bocaj/.gitlab-ci.yml | 24 - users/bocaj/bocaj.c | 210 - users/bocaj/bocaj.h | 73 - users/bocaj/config.h | 113 - users/bocaj/process_records.c | 111 - users/bocaj/process_records.h | 44 - users/bocaj/readme.md | 5 - users/bocaj/rgb_matrix_stuff.c | 106 - users/bocaj/rgb_matrix_stuff.h | 10 - users/bocaj/rules.mk | 26 - users/bocaj/wrappers.h | 193 - users/csc027/defines.h | 8 +- users/curry/config.h | 2 +- users/curry/process_records.c | 16 +- users/curry/rules.mk | 2 +- users/cwebster2/keycodes.c | 17 +- users/cwebster2/my_miryoku.h | 24 +- users/cwebster2/rules.mk | 2 +- users/d4mation/macros.c | 28 +- users/d4mation/rules.mk | 2 +- users/danielo515/process_records.h | 4 +- users/devdev/config.h | 30 + users/devdev/glcdfont.c | 465 ++ users/doogle999/rules.mk | 2 +- users/draevin/rules.mk | 2 +- users/drashna/config.h | 116 +- users/drashna/drashna.c | 108 +- users/drashna/drashna.h | 57 +- users/drashna/drashna_font.h | 164 +- users/drashna/drashna_transport.c | 508 -- users/drashna/oled_stuff.c | 198 +- users/drashna/oled_stuff.h | 188 +- users/drashna/pimoroni_trackball.c | 151 - users/drashna/pimoroni_trackball.h | 35 - users/drashna/post_config.h | 139 + users/drashna/process_records.c | 35 +- users/drashna/process_records.h | 102 +- users/drashna/rgb_matrix_stuff.c | 41 +- users/drashna/rgb_stuff.c | 178 +- users/drashna/rgb_stuff.h | 13 - users/drashna/rules.mk | 75 +- users/drashna/tap_dances.h | 4 +- users/drashna/transport_sync.c | 192 + users/drashna/transport_sync.h | 22 + users/drashna/wrappers.h | 194 +- users/dshields/rules.mk | 1 - users/edvorakjp/edvorakjp.c | 30 +- users/edvorakjp/edvorakjp.h | 88 +- users/edvorakjp/edvorakjp_process_record.c | 122 +- users/edvorakjp/edvorakjp_status.c | 58 +- users/edvorakjp/edvorakjp_tap_dance.c | 90 +- users/ericgebhart/base_layers.h | 2 +- users/ericgebhart/core_keys.h | 2 +- users/ericgebhart/core_keysets.h | 36 +- users/ericgebhart/ericgebhart.c | 22 +- users/ericgebhart/rules.mk | 3 +- users/gordon/rules.mk | 1 - users/greatwizard/greatwizard.c | 3 +- users/haervig/config.h | 19 + users/haervig/haervig.c | 234 + users/haervig/haervig.h | 297 ++ users/haervig/readme.md | 11 + users/haervig/rules.mk | 5 + users/hvp/config.h | 18 + users/hvp/hvp.h | 38 +- users/hvp/per_key.c | 43 + users/hvp/rules.mk | 7 +- users/hvp/tap_dances.h | 21 +- users/ibnuda/abstraction.c | 17 + users/ibnuda/abstraction.h | 117 + users/ibnuda/combo.h | 109 +- users/ibnuda/config.h | 8 +- users/ibnuda/ibnuda.h | 52 +- users/ibnuda/rules.mk | 6 - users/ibnuda/tapdance.c | 83 - users/ibnuda/tapdance.h | 23 - users/ibnuda/wrapper.h | 38 - users/imchipwood/imchipwood.c | 141 + users/imchipwood/imchipwood.h | 51 + users/imchipwood/rules.mk | 2 + users/issmirnov/rules.mk | 2 +- users/jdelkins/.gitignore | 1 + users/jdelkins/jdelkins.c | 287 ++ users/jdelkins/jdelkins.h | 134 + users/jdelkins/rules.mk | 15 + users/jjerrell/.gitignore | 1 + users/jjerrell/config.h | 26 + users/jjerrell/jjerrell.c | 138 + users/jjerrell/jjerrell.h | 53 + users/jjerrell/process_records.c | 139 + users/jjerrell/process_records.h | 41 + users/jjerrell/readme.md | 50 + users/jjerrell/rules.mk | 27 + users/jjerrell/wrappers.h | 329 ++ users/jonavin/config.h | 30 + users/jonavin/jonavin.c | 253 + users/jonavin/jonavin.h | 85 + users/jonavin/readme.md | 76 + users/jonavin/rules.mk | 16 + users/konstantin/konstantin.c | 2 +- users/kuatsure/kuatsure.c | 14 +- users/kuatsure/kuatsure.h | 10 +- users/kuchosauronad0/encoder.c | 3 +- users/kuchosauronad0/encoder.h | 2 +- users/kuchosauronad0/kuchosauronad0.c | 4 +- users/kuchosauronad0/process_records.c | 16 +- users/kuchosauronad0/unicode.h | 2 - users/losinggeneration/rules.mk | 1 - users/manna-harbour_miryoku/config.h | 12 +- .../manna-harbour_miryoku.c | 247 +- .../manna-harbour_miryoku.h | 44 +- users/manna-harbour_miryoku/miryoku.org | 2435 +++++++-- users/manna-harbour_miryoku/rules.mk | 24 +- .../handwired/ms_sculpt_mobile/rules.mk | 2 +- users/mnil/config.h | 21 + users/mnil/mnil.c | 146 + users/mnil/mnil.h | 85 + users/mnil/readme.md | 23 + users/mnil/rules.mk | 7 + users/moults31/gdb.c | 59 + users/moults31/gdb.h | 21 + users/moults31/moults31.c | 114 + users/moults31/moults31.h | 61 + users/moults31/obs.c | 80 + users/moults31/obs.h | 21 + users/moults31/readme.md | 5 + users/moults31/rules.mk | 10 + users/moults31/vscode.c | 90 + users/moults31/vscode.h | 21 + users/mtdjr/mtdjr.c | 2 +- users/narze/narze.h | 4 + users/narze/readme.md | 23 +- users/ninjonas/encoder.c | 7 +- users/ninjonas/oled.c | 28 +- users/ninjonas/process_records.c | 4 +- users/ninjonas/process_records.h | 2 +- users/ninjonas/rules.mk | 2 +- users/noroadsleft/noroadsleft.c | 42 +- users/noroadsleft/noroadsleft.h | 2 +- users/noroadsleft/readme.md | 73 +- users/nstickney/config.h | 63 + users/nstickney/nstickney.c | 112 +- users/nstickney/nstickney.h | 46 +- users/nstickney/readme.md | 49 + users/nstickney/rules.mk | 35 +- users/nstickney/unicodemap.h | 106 + users/pvinis/pvinis.c | 2 +- users/replicaJunction/config.h | 66 - users/replicaJunction/features/.gitignore | 2 + users/replicaJunction/features/caps_word.c | 105 + users/replicaJunction/features/caps_word.h | 26 + users/replicaJunction/features/mouse_jiggle.c | 46 + users/replicaJunction/features/mouse_jiggle.h | 23 + users/replicaJunction/features/num_word.c | 129 + users/replicaJunction/features/num_word.h | 27 + users/replicaJunction/features/secrets.c | 51 + users/replicaJunction/features/secrets.h | 30 + .../replicaJunction/features/super_alt_tab.c | 52 + .../replicaJunction/features/super_alt_tab.h | 27 + users/replicaJunction/keycode_aliases.h | 85 + users/replicaJunction/matrix_scan.c | 35 + users/replicaJunction/process_records.c | 149 + users/replicaJunction/process_records.h | 21 + users/replicaJunction/readme.md | 101 +- users/replicaJunction/replicaJunction.c | 164 +- users/replicaJunction/replicaJunction.h | 138 +- users/replicaJunction/rj_keycodes.h | 63 + users/replicaJunction/rj_layers.h | 40 + users/replicaJunction/rules.mk | 32 + users/riblee/riblee.c | 4 +- users/ridingqwerty/process_records.c | 54 +- users/ridingqwerty/rules.mk | 2 +- users/romus/romus.c | 26 +- users/romus/rules.mk | 4 +- users/rs/rs.h | 4 +- users/rverst/config.h | 38 + users/rverst/readme.md | 18 + users/rverst/rules.mk | 9 + users/rverst/rverst.c | 425 ++ users/rverst/rverst.h | 85 + users/rverst/unicode.h | 31 + users/sethBarberee/config.h | 69 +- users/sethBarberee/rgb_light.c | 52 + users/sethBarberee/rgb_light.h | 21 + users/sethBarberee/rules.mk | 9 + users/sethBarberee/sethBarberee.c | 112 +- users/sethBarberee/sethBarberee.h | 56 +- users/sethBarberee/tap_dance.c | 89 + users/sethBarberee/tap_dance.h | 43 + users/sethBarberee/wrappers.h | 55 + users/sigul/sigul.c | 20 +- users/sigul/sigul.h | 8 +- users/snowe/luna.c | 229 + users/snowe/luna.h | 31 + users/snowe/ocean_dream.c | 555 ++ users/snowe/ocean_dream.h | 103 + users/snowe/oled_setup.c | 141 + users/snowe/oled_setup.h | 30 + users/snowe/readme.md | 10 + users/snowe/readme_ocean_dream.md | 259 + users/snowe/rules.mk | 27 + users/snowe/snowe.h | 43 + users/snowe/wrappers.h | 92 + users/spacebarracecar/spacebarracecar.c | 12 +- users/spidey3/config.h | 4 +- users/spidey3/rules.mk | 2 +- users/spotpuff/rules.mk | 2 +- users/stanrc85/layer_rgb.c | 2 +- users/stanrc85/rgb_timeout.c | 62 + users/stanrc85/rules.mk | 14 +- users/stanrc85/stanrc85.c | 7 +- users/talljoe/rules.mk | 2 +- users/talljoe/talljoe.h | 1 + users/tominabox1/config.h | 2 +- users/tominabox1/rules.mk | 5 +- users/tominabox1/tominabox1.c | 8 +- users/turbomech/backupturbomech.c | 2 +- users/txkyel/config.h | 18 + users/txkyel/readme.md | 20 + users/txkyel/rules.mk | 5 + users/txkyel/tap_dance.c | 51 + users/txkyel/tap_dance.h | 33 + users/txkyel/tap_dance.md | 173 + users/txkyel/txkyel.c | 56 + users/txkyel/txkyel.h | 58 + users/xulkal/custom_encoder.c | 3 +- users/xulkal/process_records.c | 2 +- users/xulkal/rules.mk | 2 +- users/yanfali/rules.mk | 2 +- users/yet-another-developer/process_records.c | 16 +- users/yet-another-developer/unicode.h | 2 - util/bootloader_at90usb128_1.0.1.hex | 2 +- util/bootloader_at90usb64_1.0.0.hex | 2 +- util/chibios_conf_updater.sh | 2 +- util/docker_build.sh | 2 +- util/drivers.txt | 2 + util/generate_internal_docs.sh | 2 +- util/install/arch.sh | 12 +- util/install/debian.sh | 11 +- util/install/fedora.sh | 11 +- util/install/freebsd.sh | 4 +- util/install/gentoo.sh | 9 +- util/install/linux_shared.sh | 2 +- util/install/macos.sh | 4 +- util/install/msys2.sh | 13 +- util/install/slackware.sh | 2 +- util/install/solus.sh | 2 +- util/install/void.sh | 4 +- util/new_keyboard.sh | 14 +- util/nix/poetry.lock | 468 ++ util/nix/pyproject.toml | 36 + util/nix/sources.json | 38 + util/nix/sources.nix | 174 + util/qmk_install.sh | 11 +- util/qmk_tab_complete.sh | 2 + .../tools/eeprom_reset.hex => util/reset.eep | 0 util/rules_cleaner.sh | 2 +- util/stm32eeprom_parser.py | 317 ++ util/travis_build.sh | 40 - util/travis_compiled_push.sh | 63 - util/travis_push.sh | 14 - util/travis_test.sh | 19 - util/travis_utils.sh | 25 - util/udev/50-qmk.rules | 9 + util/update_chibios_mirror.sh | 92 + util/vagrant/Dockerfile | 2 +- util/vagrant/readme.md | 2 +- 11589 files changed, 330781 insertions(+), 111291 deletions(-) delete mode 100644 .travis.yml delete mode 100644 CODE_OF_CONDUCT.md create mode 100644 data/mappings/keyboard_aliases.json create mode 100644 data/schemas/definitions.jsonschema create mode 100644 data/schemas/keymap.jsonschema rename {quantum/template => data/templates}/avr/config.h (100%) create mode 100644 data/templates/avr/readme.md create mode 100644 data/templates/avr/rules.mk rename {quantum/template => data/templates}/base/info.json (100%) rename {quantum/template => data/templates}/base/keyboard.c (100%) rename {quantum/template => data/templates}/base/keyboard.h (100%) rename {quantum/template => data/templates}/base/keymaps/default/keymap.c (100%) rename {quantum/template => data/templates}/base/keymaps/default/readme.md (100%) rename {quantum/template => data/templates}/base_nrf/info.json (100%) rename {quantum/template => data/templates}/base_nrf/keymaps/default/config.h (100%) rename {quantum/template => data/templates}/base_nrf/keymaps/default/keymap.c (100%) rename {quantum/template => data/templates}/base_nrf/keymaps/default/readme.md (100%) rename {quantum/template => data/templates}/base_nrf/template.h (100%) rename {quantum/template => data/templates}/nrf/config.h (100%) rename {quantum/template => data/templates}/nrf/ld/nrf52840_ao.ld (100%) rename {quantum/template => data/templates}/nrf/readme.md (100%) rename {quantum/template => data/templates}/nrf/rules.mk (100%) rename {quantum/template => data/templates}/nrf/template.c (100%) rename {quantum/template => data/templates}/ps2avrgb/config.h (100%) create mode 100644 data/templates/ps2avrgb/readme.md create mode 100644 data/templates/ps2avrgb/rules.mk create mode 100644 docs/ChangeLog/20210529.md create mode 100644 docs/ChangeLog/20210828.md create mode 100644 docs/chibios_upgrade_instructions.md create mode 100644 docs/cli_tab_complete.md create mode 100644 docs/configurator_architecture.md create mode 100644 docs/configurator_diagram.drawio create mode 100644 docs/configurator_diagram.svg create mode 100644 docs/easy_maker.md create mode 100644 docs/feature_digitizer.md create mode 100644 docs/feature_key_overrides.md create mode 100644 docs/feature_midi.md create mode 100644 docs/feature_st7565.md create mode 100644 docs/ja/data_driven_config.md create mode 100644 docs/ja/faq_misc.md create mode 100644 docs/ja/keycodes_basic.md create mode 100644 docs/keycodes_magic.md delete mode 100644 drivers/avr/i2c_master.c delete mode 100644 drivers/avr/i2c_slave.c delete mode 100644 drivers/avr/i2c_slave.h delete mode 100644 drivers/avr/serial.c delete mode 100644 drivers/avr/serial.h delete mode 100644 drivers/avr/spi_master.c delete mode 100644 drivers/avr/spi_master.h delete mode 100644 drivers/chibios/serial.c delete mode 100644 drivers/chibios/serial.h delete mode 100644 drivers/chibios/serial_usart.c delete mode 100644 drivers/chibios/spi_master.c delete mode 100644 drivers/chibios/spi_master.h delete mode 100644 drivers/chibios/ws2812_spi.c create mode 100644 drivers/lcd/st7565.c create mode 100644 drivers/lcd/st7565.h rename drivers/{apa102 => led}/apa102.c (100%) rename drivers/{apa102 => led}/apa102.h (100%) create mode 100644 drivers/led/aw20216.c create mode 100644 drivers/led/aw20216.h rename drivers/{ => led}/issi/is31fl3218.c (100%) rename drivers/{ => led}/issi/is31fl3218.h (100%) rename drivers/{ => led}/issi/is31fl3731-simple.c (100%) rename drivers/{ => led}/issi/is31fl3731-simple.h (98%) rename drivers/{ => led}/issi/is31fl3731.c (100%) rename drivers/{ => led}/issi/is31fl3731.h (98%) rename drivers/{ => led}/issi/is31fl3733.c (99%) rename drivers/{ => led}/issi/is31fl3733.h (98%) rename drivers/{ => led}/issi/is31fl3736.c (100%) rename drivers/{ => led}/issi/is31fl3736.h (97%) rename drivers/{ => led}/issi/is31fl3737.c (83%) rename drivers/{ => led}/issi/is31fl3737.h (98%) rename drivers/{ => led}/issi/is31fl3741.c (100%) rename drivers/{ => led}/issi/is31fl3741.h (99%) delete mode 100644 drivers/oled/oled_driver.c create mode 100644 drivers/oled/ssd1306_sh1106.c create mode 100644 drivers/sensors/adns5050.c create mode 100644 drivers/sensors/adns5050.h create mode 100644 drivers/sensors/adns9800.c rename keyboards/oddball/adns/adns.h => drivers/sensors/adns9800.h (100%) rename {keyboards/oddball/adns => drivers/sensors}/adns9800_srom_A6.h (100%) create mode 100644 drivers/sensors/pimoroni_trackball.c create mode 100644 drivers/sensors/pimoroni_trackball.h create mode 100644 drivers/sensors/pmw3360.c create mode 100644 drivers/sensors/pmw3360.h rename {keyboards/handwired/dactyl_manuform/5x6_right_trackball => drivers/sensors}/pmw3360_firmware.h (100%) create mode 100644 drivers/serial.h create mode 100644 keyboards/0xc7/61key/61key.c create mode 100644 keyboards/0xc7/61key/61key.h create mode 100644 keyboards/0xc7/61key/config.h create mode 100644 keyboards/0xc7/61key/info.json create mode 100644 keyboards/0xc7/61key/keymaps/default/keymap.c create mode 100644 keyboards/0xc7/61key/keymaps/via/keymap.c rename keyboards/{bm60rgb => 0xc7/61key}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/0xc7/61key/readme.md create mode 100644 keyboards/0xc7/61key/rules.mk create mode 100644 keyboards/0xcb/1337/gfxfont.c create mode 100644 keyboards/0xcb/1337/keymaps/conor/keymap.c rename keyboards/{bakeneko65/keymaps/via => 0xcb/1337/keymaps/conor}/rules.mk (100%) create mode 100644 keyboards/0xcb/1337/keymaps/jakob/keymap.c rename keyboards/{bm40hsrgb/keymaps/via => 0xcb/1337/keymaps/jakob}/rules.mk (100%) create mode 100644 keyboards/0xcb/static/config.h create mode 100644 keyboards/0xcb/static/gfxfont.c create mode 100644 keyboards/0xcb/static/info.json create mode 100644 keyboards/0xcb/static/keymaps/bongocat/keymap.c create mode 100644 keyboards/0xcb/static/keymaps/bongocat/rules.mk create mode 100644 keyboards/0xcb/static/keymaps/default/keymap.c create mode 100644 keyboards/0xcb/static/keymaps/via/keymap.c rename keyboards/{capsunlocked/cu80/v2_ansi_rgb => 0xcb/static}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/0xcb/static/readme.md create mode 100644 keyboards/0xcb/static/rules.mk create mode 100644 keyboards/0xcb/static/static.c create mode 100644 keyboards/0xcb/static/static.h create mode 100644 keyboards/3w6/info.json create mode 100644 keyboards/3w6/keymaps/default/keymap.c create mode 100644 keyboards/3w6/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/3w6/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/3w6/readme.md create mode 100644 keyboards/3w6/rev1/config.h create mode 100644 keyboards/3w6/rev1/matrix.c create mode 100644 keyboards/3w6/rev1/readme.md create mode 100644 keyboards/3w6/rev1/rev1.c create mode 100644 keyboards/3w6/rev1/rev1.h create mode 100644 keyboards/3w6/rev1/rules.mk create mode 100644 keyboards/3w6/rev2/config.h create mode 100644 keyboards/3w6/rev2/keymaps/default_pimoroni/config.h create mode 100644 keyboards/3w6/rev2/keymaps/default_pimoroni/keymap.c create mode 100644 keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c create mode 100644 keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h create mode 100644 keyboards/3w6/rev2/keymaps/default_pimoroni/rules.mk create mode 100644 keyboards/3w6/rev2/matrix.c create mode 100644 keyboards/3w6/rev2/readme.md create mode 100644 keyboards/3w6/rev2/rev2.c create mode 100644 keyboards/3w6/rev2/rev2.h create mode 100644 keyboards/3w6/rev2/rules.mk delete mode 100644 keyboards/40percentclub/mf68/keymaps/factory/keymap.c create mode 100644 keyboards/4pplet/eagle_viper_rep/info.json create mode 100644 keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c create mode 100644 keyboards/4pplet/eagle_viper_rep/keymaps/via/keymap.c rename keyboards/{capsunlocked/cu80/v2_iso_rgb => 4pplet/eagle_viper_rep}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/4pplet/eagle_viper_rep/readme.md create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_a/chconf.h create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_a/config.h create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_a/halconf.h create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_a/mcuconf.h create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_a/readme.md create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.h create mode 100644 keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk create mode 100644 keyboards/absinthe/keymaps/via/keymap.c create mode 100644 keyboards/absinthe/keymaps/via/rules.mk create mode 100644 keyboards/acekeyboard/titan60/keymaps/iso/keymap.c create mode 100644 keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c create mode 100644 keyboards/acekeyboard/titan60/keymaps/utilitarian/keymap.c delete mode 100755 keyboards/aeboards/constellation/config.h create mode 100755 keyboards/aeboards/constellation/rev1/config.h rename keyboards/aeboards/constellation/{ => rev1}/info.json (100%) create mode 100755 keyboards/aeboards/constellation/rev1/readme.md create mode 100755 keyboards/aeboards/constellation/rev1/rev1.c create mode 100755 keyboards/aeboards/constellation/rev1/rev1.h create mode 100755 keyboards/aeboards/constellation/rev1/rules.mk create mode 100755 keyboards/aeboards/constellation/rev2/config.h create mode 100644 keyboards/aeboards/constellation/rev2/halconf.h create mode 100644 keyboards/aeboards/constellation/rev2/info.json create mode 100644 keyboards/aeboards/constellation/rev2/mcuconf.h create mode 100755 keyboards/aeboards/constellation/rev2/readme.md create mode 100755 keyboards/aeboards/constellation/rev2/rev2.c create mode 100755 keyboards/aeboards/constellation/rev2/rev2.h create mode 100755 keyboards/aeboards/constellation/rev2/rules.mk create mode 100644 keyboards/afternoonlabs/oceanbreeze/config.h create mode 100644 keyboards/afternoonlabs/oceanbreeze/keymaps/default/keymap.c create mode 100644 keyboards/afternoonlabs/oceanbreeze/keymaps/default/readme.md create mode 100644 keyboards/afternoonlabs/oceanbreeze/oceanbreeze.c create mode 100644 keyboards/afternoonlabs/oceanbreeze/oceanbreeze.h create mode 100644 keyboards/afternoonlabs/oceanbreeze/rev1/config.h create mode 100644 keyboards/afternoonlabs/oceanbreeze/rev1/info.json create mode 100644 keyboards/afternoonlabs/oceanbreeze/rev1/readme.md create mode 100644 keyboards/afternoonlabs/oceanbreeze/rev1/rev1.c create mode 100644 keyboards/afternoonlabs/oceanbreeze/rev1/rev1.h create mode 100644 keyboards/afternoonlabs/oceanbreeze/rev1/rules.mk create mode 100644 keyboards/afternoonlabs/southern_breeze/config.h create mode 100644 keyboards/afternoonlabs/southern_breeze/keymaps/default/keymap.c create mode 100644 keyboards/afternoonlabs/southern_breeze/keymaps/default/readme.md create mode 100644 keyboards/afternoonlabs/southern_breeze/keymaps/default/rules.mk create mode 100644 keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c create mode 100644 keyboards/afternoonlabs/southern_breeze/keymaps/via/readme.md create mode 100644 keyboards/afternoonlabs/southern_breeze/keymaps/via/rules.mk create mode 100644 keyboards/afternoonlabs/southern_breeze/rev1/config.h create mode 100644 keyboards/afternoonlabs/southern_breeze/rev1/info.json create mode 100644 keyboards/afternoonlabs/southern_breeze/rev1/readme.md create mode 100644 keyboards/afternoonlabs/southern_breeze/rev1/rev1.c create mode 100644 keyboards/afternoonlabs/southern_breeze/rev1/rev1.h create mode 100644 keyboards/afternoonlabs/southern_breeze/rev1/rules.mk create mode 100644 keyboards/afternoonlabs/southern_breeze/southern_breeze.c create mode 100644 keyboards/afternoonlabs/southern_breeze/southern_breeze.h create mode 100644 keyboards/afternoonlabs/summer_breeze/config.h create mode 100644 keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c create mode 100644 keyboards/afternoonlabs/summer_breeze/keymaps/default/readme.md create mode 100644 keyboards/afternoonlabs/summer_breeze/keymaps/default/rules.mk create mode 100644 keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c create mode 100644 keyboards/afternoonlabs/summer_breeze/keymaps/via/readme.md create mode 100644 keyboards/afternoonlabs/summer_breeze/keymaps/via/rules.mk create mode 100644 keyboards/afternoonlabs/summer_breeze/rev1/config.h create mode 100644 keyboards/afternoonlabs/summer_breeze/rev1/info.json create mode 100644 keyboards/afternoonlabs/summer_breeze/rev1/readme.md create mode 100644 keyboards/afternoonlabs/summer_breeze/rev1/rev1.c create mode 100644 keyboards/afternoonlabs/summer_breeze/rev1/rev1.h create mode 100644 keyboards/afternoonlabs/summer_breeze/rev1/rules.mk create mode 100644 keyboards/afternoonlabs/summer_breeze/summer_breeze.c create mode 100644 keyboards/afternoonlabs/summer_breeze/summer_breeze.h create mode 100644 keyboards/ai03/andromeda/andromeda.c create mode 100644 keyboards/ai03/andromeda/andromeda.h create mode 100644 keyboards/ai03/andromeda/config.h create mode 100644 keyboards/ai03/andromeda/info.json create mode 100644 keyboards/ai03/andromeda/keymaps/default/keymap.c create mode 100644 keyboards/ai03/andromeda/keymaps/via/keymap.c rename keyboards/{jj4x4 => ai03/andromeda}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/ai03/andromeda/readme.md create mode 100644 keyboards/ai03/andromeda/rules.mk delete mode 100644 keyboards/al1/keymaps/default/readme.md create mode 100644 keyboards/alfredslab/swift65/solder/config.h create mode 100644 keyboards/alfredslab/swift65/solder/info.json create mode 100644 keyboards/alfredslab/swift65/solder/keymaps/default/keymap.c create mode 100644 keyboards/alfredslab/swift65/solder/keymaps/default/readme.md create mode 100644 keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c create mode 100644 keyboards/alfredslab/swift65/solder/keymaps/via/readme.md rename keyboards/{cospad => alfredslab/swift65/solder}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/alfredslab/swift65/solder/readme.md create mode 100644 keyboards/alfredslab/swift65/solder/rules.mk create mode 100644 keyboards/alfredslab/swift65/solder/solder.c create mode 100644 keyboards/alfredslab/swift65/solder/solder.h create mode 100644 keyboards/amag23/amag23.c create mode 100644 keyboards/amag23/amag23.h create mode 100644 keyboards/amag23/config.h create mode 100644 keyboards/amag23/info.json create mode 100644 keyboards/amag23/keymaps/default/keymap.c create mode 100644 keyboards/amag23/keymaps/default/readme.md create mode 100644 keyboards/amag23/keymaps/qwert/keymap.c create mode 100644 keyboards/amag23/keymaps/qwert/readme.md create mode 100644 keyboards/amag23/readme.md create mode 100644 keyboards/amag23/rules.mk delete mode 100755 keyboards/amj60/keymaps/iso_split_rshift/build.sh delete mode 100644 keyboards/amj60/keymaps/iso_split_rshift/keymap.c delete mode 100644 keyboards/amj60/keymaps/iso_split_rshift/readme.md delete mode 100644 keyboards/amj60/keymaps/iso_split_rshift/rules.mk delete mode 100755 keyboards/amj60/keymaps/iso_split_rshift/updatemerge.sh delete mode 100644 keyboards/amj60/keymaps/maximized/keymap.c delete mode 100644 keyboards/anavi/macropad2/config.h delete mode 100644 keyboards/anavi/macropad2/info.json delete mode 100644 keyboards/anavi/macropad2/keymaps/copypaste/keymap.c delete mode 100644 keyboards/anavi/macropad2/keymaps/default/keymap.c delete mode 100644 keyboards/anavi/macropad2/keymaps/jitsi/keymap.c delete mode 100644 keyboards/anavi/macropad2/keymaps/mute/keymap.c delete mode 100644 keyboards/anavi/macropad2/keymaps/mute/rules.mk delete mode 100644 keyboards/anavi/macropad2/keymaps/tap_dance/keymap.c delete mode 100644 keyboards/anavi/macropad2/keymaps/volume/keymap.c delete mode 100644 keyboards/anavi/macropad2/keymaps/volume/rules.mk delete mode 100644 keyboards/anavi/macropad2/keymaps/zoom/keymap.c delete mode 100644 keyboards/anavi/macropad2/macropad2.c delete mode 100644 keyboards/anavi/macropad2/macropad2.h delete mode 100644 keyboards/anavi/macropad2/readme.md delete mode 100644 keyboards/anavi/macropad2/rules.mk create mode 100644 keyboards/anavi/macropad8/keymaps/default/config.h create mode 100644 keyboards/anavi/macropad8/keymaps/git/config.h create mode 100644 keyboards/anavi/macropad8/keymaps/git/keymap.c create mode 100644 keyboards/anomalykb/a65i/a65i.c create mode 100644 keyboards/anomalykb/a65i/a65i.h create mode 100644 keyboards/anomalykb/a65i/config.h create mode 100644 keyboards/anomalykb/a65i/info.json create mode 100644 keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c create mode 100644 keyboards/anomalykb/a65i/keymaps/default/keymap.c create mode 100644 keyboards/anomalykb/a65i/keymaps/iso/keymap.c create mode 100644 keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c create mode 100644 keyboards/anomalykb/a65i/keymaps/via/config.h create mode 100644 keyboards/anomalykb/a65i/keymaps/via/keymap.c rename keyboards/{bm16a => anomalykb/a65i}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/anomalykb/a65i/readme.md create mode 100644 keyboards/anomalykb/a65i/rules.mk create mode 100644 keyboards/aozora/hotswap/config.h create mode 100644 keyboards/aozora/hotswap/hotswap.c create mode 100644 keyboards/aozora/hotswap/hotswap.h create mode 100644 keyboards/aozora/hotswap/info.json create mode 100644 keyboards/aozora/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/aozora/hotswap/readme.md create mode 100644 keyboards/aozora/hotswap/rules.mk create mode 100644 keyboards/arisu/keymaps/stanrc85/keymap.c create mode 100644 keyboards/arisu/keymaps/stanrc85/rules.mk delete mode 100644 keyboards/atomic/keymaps/abienz.c create mode 100644 keyboards/atomic/keymaps/abienz/keymap.c delete mode 100644 keyboards/atomic/keymaps/michelle.c create mode 100644 keyboards/atomic/keymaps/michelle/keymap.c delete mode 100644 keyboards/atomic/keymaps/twolayer.c create mode 100644 keyboards/atomic/keymaps/twolayer/keymap.c create mode 100644 keyboards/atreus/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c delete mode 100644 keyboards/atreus/keymaps/replicaJunction/kle/base-layer.txt delete mode 100644 keyboards/atreus/keymaps/replicaJunction/kle/e-layer.txt delete mode 100644 keyboards/atreus/keymaps/replicaJunction/kle/fn-layer.txt delete mode 100644 keyboards/atreus/keymaps/replicaJunction/kle/i-layer.txt delete mode 100644 keyboards/atreus/keymaps/replicaJunction/kle/r-layer.txt delete mode 100644 keyboards/atreus/keymaps/replicaJunction/kle/space-layer.txt delete mode 100644 keyboards/atreus62/keymaps/atreus52/README.md delete mode 100644 keyboards/atreus62/keymaps/atreus52/config.h delete mode 100644 keyboards/atreus62/keymaps/atreus52/keymap.c delete mode 100644 keyboards/atreus62/keymaps/atreus52/rules.mk create mode 100644 keyboards/aves65/keymaps/via/keymap.c rename keyboards/{bm16s => aves65}/keymaps/via/rules.mk (100%) delete mode 100644 keyboards/bakeneko65/bakeneko65.c delete mode 100644 keyboards/bakeneko65/config.h delete mode 100644 keyboards/bakeneko65/info.json delete mode 100644 keyboards/bakeneko65/keymaps/default/readme.md delete mode 100644 keyboards/bakeneko65/readme.md create mode 100644 keyboards/bakeneko65/rev2/config.h create mode 100644 keyboards/bakeneko65/rev2/info.json rename keyboards/bakeneko65/{ => rev2}/keymaps/default/keymap.c (100%) create mode 100644 keyboards/bakeneko65/rev2/keymaps/default/readme.md rename keyboards/bakeneko65/{ => rev2}/keymaps/via/keymap.c (100%) rename keyboards/{nckiibs/vaneela => bakeneko65/rev2}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/bakeneko65/rev2/readme.md create mode 100644 keyboards/bakeneko65/rev2/rev2.c rename keyboards/bakeneko65/{bakeneko65.h => rev2/rev2.h} (100%) create mode 100644 keyboards/bakeneko65/rev2/rules.mk create mode 100644 keyboards/bakeneko65/rev3/config.h create mode 100644 keyboards/bakeneko65/rev3/info.json create mode 100644 keyboards/bakeneko65/rev3/keymaps/default/keymap.c create mode 100644 keyboards/bakeneko65/rev3/keymaps/default/readme.md create mode 100644 keyboards/bakeneko65/rev3/keymaps/via/keymap.c rename keyboards/{nckiibs/vaneelaex => bakeneko65/rev3}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/bakeneko65/rev3/readme.md create mode 100644 keyboards/bakeneko65/rev3/rev3.c create mode 100644 keyboards/bakeneko65/rev3/rev3.h create mode 100644 keyboards/bakeneko65/rev3/rules.mk delete mode 100644 keyboards/bakeneko65/rules.mk create mode 100644 keyboards/basketweave/keymaps/via/keymap.c rename keyboards/{bm60poker => basketweave}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/bastardkb/scylla/config.h create mode 100644 keyboards/bastardkb/scylla/info.json create mode 100644 keyboards/bastardkb/scylla/keymaps/cykedev/config.h create mode 100644 keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c create mode 100644 keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk create mode 100644 keyboards/bastardkb/scylla/keymaps/default/keymap.c create mode 100644 keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c create mode 100644 keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md create mode 100644 keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk create mode 100644 keyboards/bastardkb/scylla/keymaps/xyverz/config.h create mode 100644 keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c create mode 100644 keyboards/bastardkb/scylla/readme.md create mode 100644 keyboards/bastardkb/scylla/rules.mk create mode 100644 keyboards/bastardkb/scylla/scylla.c create mode 100644 keyboards/bastardkb/scylla/scylla.h create mode 100644 keyboards/bastardkb/skeletyl/config.h create mode 100644 keyboards/bastardkb/skeletyl/info.json create mode 100644 keyboards/bastardkb/skeletyl/keymaps/default/keymap.c create mode 100644 keyboards/bastardkb/skeletyl/readme.md create mode 100644 keyboards/bastardkb/skeletyl/rules.mk create mode 100644 keyboards/bastardkb/skeletyl/skeletyl.c create mode 100644 keyboards/bastardkb/skeletyl/skeletyl.h delete mode 100644 keyboards/bm16a/bm16a.c delete mode 100644 keyboards/bm16a/config.h delete mode 100644 keyboards/bm16a/readme.md delete mode 100644 keyboards/bm16a/rules.mk delete mode 100644 keyboards/bm16s/readme.md delete mode 100755 keyboards/bm16s/rules.mk delete mode 100755 keyboards/bm40hsrgb/config.h delete mode 100644 keyboards/bm40hsrgb/keymaps/signynt/rules.mk delete mode 100644 keyboards/bm40hsrgb/keymaps/signynt_2_loud/rules.mk delete mode 100644 keyboards/bm40hsrgb/keymaps/signynt_2_quiet/rules.mk delete mode 100644 keyboards/bm40hsrgb/readme.md delete mode 100755 keyboards/bm40hsrgb/rules.mk delete mode 100644 keyboards/bm43a/bm43a.c delete mode 100644 keyboards/bm43a/config.h delete mode 100644 keyboards/bm43a/keymaps/stevexyz/readme.md delete mode 100644 keyboards/bm43a/keymaps/stevexyz/rules.mk delete mode 100644 keyboards/bm43a/readme.md delete mode 100644 keyboards/bm43a/rules.mk delete mode 100644 keyboards/bm60poker/config.h delete mode 100644 keyboards/bm60poker/readme.md delete mode 100644 keyboards/bm60poker/rules.mk delete mode 100644 keyboards/bm60rgb/config.h delete mode 100644 keyboards/bm60rgb/info.json delete mode 100644 keyboards/bm60rgb/keymaps/default/keymap.c delete mode 100644 keyboards/bm60rgb/keymaps/via/keymap.c delete mode 100644 keyboards/bm60rgb/readme.md delete mode 100644 keyboards/bm60rgb/rules.mk delete mode 100644 keyboards/bm60rgb_iso/config.h delete mode 100644 keyboards/bm60rgb_iso/info.json delete mode 100644 keyboards/bm60rgb_iso/readme.md delete mode 100644 keyboards/bm60rgb_iso/rules.mk delete mode 100644 keyboards/bm68rgb/bm68rgb.c delete mode 100644 keyboards/bm68rgb/config.h delete mode 100644 keyboards/bm68rgb/keymaps/default/keymap.c delete mode 100644 keyboards/bm68rgb/readme.md delete mode 100644 keyboards/bm68rgb/rules.mk create mode 100644 keyboards/boardsource/beiwagon/beiwagon.c create mode 100644 keyboards/boardsource/beiwagon/beiwagon.h create mode 100644 keyboards/boardsource/beiwagon/config.h create mode 100644 keyboards/boardsource/beiwagon/info.json create mode 100644 keyboards/boardsource/beiwagon/keymaps/default/keymap.c create mode 100644 keyboards/boardsource/beiwagon/keymaps/default/readme.md create mode 100644 keyboards/boardsource/beiwagon/keymaps/via/keymap.c create mode 100644 keyboards/boardsource/beiwagon/keymaps/via/readme.md rename keyboards/{ramonimbao/mona => boardsource/beiwagon}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/boardsource/beiwagon/readme.md create mode 100644 keyboards/boardsource/beiwagon/rules.mk create mode 100644 keyboards/boardsource/technik_o/config.h create mode 100644 keyboards/boardsource/technik_o/info.json create mode 100644 keyboards/boardsource/technik_o/keymaps/default/keymap.c create mode 100644 keyboards/boardsource/technik_o/keymaps/default/readme.md create mode 100644 keyboards/boardsource/technik_o/keymaps/via/keymap.c create mode 100644 keyboards/boardsource/technik_o/keymaps/via/readme.md rename keyboards/{tokyo60 => boardsource/technik_o}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/boardsource/technik_o/readme.md create mode 100644 keyboards/boardsource/technik_o/rules.mk create mode 100644 keyboards/boardsource/technik_o/technik_o.c create mode 100644 keyboards/boardsource/technik_o/technik_o.h create mode 100644 keyboards/boardsource/technik_s/config.h create mode 100644 keyboards/boardsource/technik_s/info.json create mode 100644 keyboards/boardsource/technik_s/keymaps/default/keymap.c create mode 100644 keyboards/boardsource/technik_s/keymaps/default/readme.md create mode 100644 keyboards/boardsource/technik_s/keymaps/via/keymap.c create mode 100644 keyboards/boardsource/technik_s/keymaps/via/readme.md rename keyboards/{xd60/keymaps/shura30 => boardsource/technik_s/keymaps/via}/rules.mk (100%) mode change 100755 => 100644 create mode 100644 keyboards/boardsource/technik_s/readme.md create mode 100644 keyboards/boardsource/technik_s/rules.mk create mode 100644 keyboards/boardsource/technik_s/technik_s.c create mode 100644 keyboards/boardsource/technik_s/technik_s.h create mode 100644 keyboards/bop/bop.c create mode 100644 keyboards/bop/bop.h create mode 100644 keyboards/bop/config.h create mode 100644 keyboards/bop/info.json create mode 100644 keyboards/bop/keymaps/default/keymap.c create mode 100644 keyboards/bop/keymaps/via/keymap.c create mode 100644 keyboards/bop/keymaps/via/rules.mk create mode 100644 keyboards/bop/readme.md create mode 100644 keyboards/bop/rules.mk create mode 100644 keyboards/bpiphany/tiger_lily/keymaps/via/config.h create mode 100644 keyboards/bpiphany/tiger_lily/keymaps/via/keymap.c create mode 100644 keyboards/bpiphany/tiger_lily/keymaps/via/rules.mk create mode 100644 keyboards/buildakb/potato65hs/config.h create mode 100644 keyboards/buildakb/potato65hs/info.json create mode 100644 keyboards/buildakb/potato65hs/keymaps/default/keymap.c create mode 100644 keyboards/buildakb/potato65hs/keymaps/default/readme.md create mode 100644 keyboards/buildakb/potato65hs/keymaps/via/keymap.c create mode 100644 keyboards/buildakb/potato65hs/keymaps/via/readme.md rename keyboards/{xd60 => buildakb/potato65hs}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/buildakb/potato65hs/potato65hs.c create mode 100644 keyboards/buildakb/potato65hs/potato65hs.h create mode 100644 keyboards/buildakb/potato65hs/readme.md create mode 100644 keyboards/buildakb/potato65hs/rules.mk create mode 100644 keyboards/caffeinated/serpent65/chconf.h create mode 100644 keyboards/caffeinated/serpent65/config.h create mode 100644 keyboards/caffeinated/serpent65/info.json create mode 100644 keyboards/caffeinated/serpent65/keymaps/default/keymap.c create mode 100644 keyboards/caffeinated/serpent65/keymaps/default/readme.md create mode 100644 keyboards/caffeinated/serpent65/keymaps/via/keymap.c create mode 100644 keyboards/caffeinated/serpent65/keymaps/via/readme.md rename keyboards/{xd68 => caffeinated/serpent65}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/caffeinated/serpent65/readme.md create mode 100644 keyboards/caffeinated/serpent65/rules.mk create mode 100644 keyboards/caffeinated/serpent65/serpent65.c create mode 100644 keyboards/caffeinated/serpent65/serpent65.h create mode 100644 keyboards/cannonkeys/aella/aella.c create mode 100644 keyboards/cannonkeys/aella/aella.h create mode 100644 keyboards/cannonkeys/aella/chconf.h create mode 100644 keyboards/cannonkeys/aella/config.h create mode 100644 keyboards/cannonkeys/aella/info.json create mode 100644 keyboards/cannonkeys/aella/keymaps/default/keymap.c create mode 100644 keyboards/cannonkeys/aella/keymaps/via/keymap.c rename keyboards/{xd75 => cannonkeys/aella}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/cannonkeys/aella/readme.md create mode 100644 keyboards/cannonkeys/aella/rules.mk create mode 100644 keyboards/cannonkeys/balance/balance.c create mode 100644 keyboards/cannonkeys/balance/balance.h create mode 100644 keyboards/cannonkeys/balance/chconf.h create mode 100644 keyboards/cannonkeys/balance/config.h create mode 100644 keyboards/cannonkeys/balance/halconf.h create mode 100644 keyboards/cannonkeys/balance/info.json create mode 100644 keyboards/cannonkeys/balance/keymaps/default/keymap.c create mode 100644 keyboards/cannonkeys/balance/keymaps/via/keymap.c rename keyboards/{xd84 => cannonkeys/balance}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/cannonkeys/balance/mcuconf.h create mode 100644 keyboards/cannonkeys/balance/readme.md create mode 100644 keyboards/cannonkeys/balance/rules.mk delete mode 100644 keyboards/cannonkeys/bluepill/keyboard.c delete mode 100644 keyboards/cannonkeys/bluepill/ws2812.c create mode 100644 keyboards/cannonkeys/db60/hotswap/config.h create mode 100644 keyboards/cannonkeys/db60/hotswap/hotswap.h create mode 100644 keyboards/cannonkeys/db60/hotswap/readme.md create mode 100644 keyboards/cannonkeys/db60/hotswap/rules.mk create mode 100644 keyboards/cannonkeys/db60/j02/config.h create mode 100644 keyboards/cannonkeys/db60/j02/j02.h create mode 100644 keyboards/cannonkeys/db60/j02/readme.md create mode 100644 keyboards/cannonkeys/db60/j02/rules.mk create mode 100644 keyboards/cannonkeys/db60/rev2/config.h create mode 100644 keyboards/cannonkeys/db60/rev2/readme.md create mode 100644 keyboards/cannonkeys/db60/rev2/rev2.h create mode 100644 keyboards/cannonkeys/db60/rev2/rules.mk delete mode 100644 keyboards/cannonkeys/satisfaction75/bootloader_defs.h delete mode 100644 keyboards/cannonkeys/satisfaction75/i2c_master.c create mode 100644 keyboards/cannonkeys/vicious40/chconf.h create mode 100644 keyboards/cannonkeys/vicious40/config.h create mode 100644 keyboards/cannonkeys/vicious40/halconf.h create mode 100644 keyboards/cannonkeys/vicious40/info.json create mode 100644 keyboards/cannonkeys/vicious40/keymaps/default/keymap.c create mode 100644 keyboards/cannonkeys/vicious40/keymaps/via/keymap.c rename keyboards/{xd87 => cannonkeys/vicious40}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/cannonkeys/vicious40/mcuconf.h create mode 100644 keyboards/cannonkeys/vicious40/readme.md create mode 100644 keyboards/cannonkeys/vicious40/rules.mk create mode 100644 keyboards/cannonkeys/vicious40/vicious40.c create mode 100644 keyboards/cannonkeys/vicious40/vicious40.h create mode 100644 keyboards/capsunlocked/cu65/keymaps/iso_split_bs/keymap.c create mode 100644 keyboards/capsunlocked/cu65/keymaps/iso_split_bs/readme.md create mode 100644 keyboards/capsunlocked/cu7/config.h create mode 100644 keyboards/capsunlocked/cu7/cu7.c create mode 100644 keyboards/capsunlocked/cu7/cu7.h create mode 100644 keyboards/capsunlocked/cu7/info.json create mode 100644 keyboards/capsunlocked/cu7/keymaps/default/keymap.c create mode 100644 keyboards/capsunlocked/cu7/keymaps/default/readme.md create mode 100644 keyboards/capsunlocked/cu7/readme.md create mode 100644 keyboards/capsunlocked/cu7/rules.mk create mode 100644 keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h create mode 100644 keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json create mode 100644 keyboards/capsunlocked/cu80/v2_ansi/rgb/readme.md create mode 100644 keyboards/capsunlocked/cu80/v2_ansi/rgb/rules.mk delete mode 100644 keyboards/capsunlocked/cu80/v2_ansi_rgb/config.h delete mode 100644 keyboards/capsunlocked/cu80/v2_ansi_rgb/info.json delete mode 100644 keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/keymap.c delete mode 100644 keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/readme.md delete mode 100644 keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/keymap.c delete mode 100644 keyboards/capsunlocked/cu80/v2_ansi_rgb/readme.md delete mode 100644 keyboards/capsunlocked/cu80/v2_ansi_rgb/rules.mk delete mode 100644 keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.c delete mode 100644 keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.h create mode 100644 keyboards/capsunlocked/cu80/v2_iso/rgb/config.h create mode 100644 keyboards/capsunlocked/cu80/v2_iso/rgb/info.json create mode 100644 keyboards/capsunlocked/cu80/v2_iso/rgb/readme.md create mode 100644 keyboards/capsunlocked/cu80/v2_iso/rgb/rules.mk delete mode 100644 keyboards/capsunlocked/cu80/v2_iso_rgb/config.h delete mode 100644 keyboards/capsunlocked/cu80/v2_iso_rgb/info.json delete mode 100644 keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/keymap.c delete mode 100644 keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/readme.md delete mode 100644 keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/via/keymap.c delete mode 100644 keyboards/capsunlocked/cu80/v2_iso_rgb/readme.md delete mode 100644 keyboards/capsunlocked/cu80/v2_iso_rgb/rules.mk delete mode 100644 keyboards/capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.c delete mode 100644 keyboards/capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.h create mode 100644 keyboards/carbo65/carbo65.c create mode 100644 keyboards/carbo65/carbo65.h create mode 100644 keyboards/carbo65/config.h create mode 100644 keyboards/carbo65/info.json create mode 100644 keyboards/carbo65/keymaps/default/keymap.c create mode 100644 keyboards/carbo65/keymaps/default/readme.md create mode 100644 keyboards/carbo65/keymaps/via/keymap.c create mode 100644 keyboards/carbo65/keymaps/via/readme.md rename keyboards/{xd96 => carbo65}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/carbo65/readme.md create mode 100644 keyboards/carbo65/rules.mk create mode 100644 keyboards/cest73/tkm/config.h create mode 100644 keyboards/cest73/tkm/info.json create mode 100644 keyboards/cest73/tkm/keymaps/default/keymap.c create mode 100644 keyboards/cest73/tkm/readme.md create mode 100644 keyboards/cest73/tkm/rules.mk create mode 100644 keyboards/cest73/tkm/tkm.c create mode 100644 keyboards/cest73/tkm/tkm.h create mode 100644 keyboards/charue/sunsetter/chconf.h create mode 100644 keyboards/charue/sunsetter/config.h create mode 100644 keyboards/charue/sunsetter/info.json create mode 100755 keyboards/charue/sunsetter/keymaps/default/keymap.c create mode 100644 keyboards/charue/sunsetter/keymaps/default_all/keymap.c create mode 100644 keyboards/charue/sunsetter/keymaps/default_iso/keymap.c create mode 100644 keyboards/charue/sunsetter/keymaps/via/keymap.c create mode 100644 keyboards/charue/sunsetter/keymaps/via/rules.mk create mode 100644 keyboards/charue/sunsetter/mcuconf.h create mode 100644 keyboards/charue/sunsetter/readme.md create mode 100644 keyboards/charue/sunsetter/rules.mk create mode 100644 keyboards/charue/sunsetter/sunsetter.c create mode 100644 keyboards/charue/sunsetter/sunsetter.h delete mode 100644 keyboards/chavdai40/bootloader_defs.h create mode 100644 keyboards/checkerboards/axon40/axon40.c create mode 100644 keyboards/checkerboards/axon40/axon40.h create mode 100644 keyboards/checkerboards/axon40/config.h create mode 100644 keyboards/checkerboards/axon40/info.json create mode 100644 keyboards/checkerboards/axon40/keymaps/default/config.h create mode 100644 keyboards/checkerboards/axon40/keymaps/default/keymap.c create mode 100644 keyboards/checkerboards/axon40/keymaps/default/readme.md create mode 100644 keyboards/checkerboards/axon40/keymaps/npspears/config.h create mode 100644 keyboards/checkerboards/axon40/keymaps/npspears/keymap.c create mode 100644 keyboards/checkerboards/axon40/keymaps/via/keymap.c create mode 100644 keyboards/checkerboards/axon40/keymaps/via/rules.mk create mode 100644 keyboards/checkerboards/axon40/readme.md create mode 100644 keyboards/checkerboards/axon40/rules.mk create mode 100644 keyboards/checkerboards/candybar_ortho/candybar_ortho.c create mode 100644 keyboards/checkerboards/candybar_ortho/candybar_ortho.h create mode 100644 keyboards/checkerboards/candybar_ortho/config.h create mode 100644 keyboards/checkerboards/candybar_ortho/info.json create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/2x3u/config.h create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/7u/config.h create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/default/config.h create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/default/readme.md create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/via/config.h create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/via/readme.md create mode 100644 keyboards/checkerboards/candybar_ortho/keymaps/via/rules.mk create mode 100644 keyboards/checkerboards/candybar_ortho/readme.md create mode 100644 keyboards/checkerboards/candybar_ortho/rules.mk create mode 100644 keyboards/checkerboards/g_idb60/config.h create mode 100644 keyboards/checkerboards/g_idb60/g_idb60.c create mode 100644 keyboards/checkerboards/g_idb60/g_idb60.h create mode 100644 keyboards/checkerboards/g_idb60/info.json create mode 100644 keyboards/checkerboards/g_idb60/keymaps/default/config.h create mode 100644 keyboards/checkerboards/g_idb60/keymaps/default/keymap.c create mode 100644 keyboards/checkerboards/g_idb60/keymaps/via/config.h create mode 100644 keyboards/checkerboards/g_idb60/keymaps/via/keymap.c create mode 100644 keyboards/checkerboards/g_idb60/keymaps/via/rules.mk create mode 100644 keyboards/checkerboards/g_idb60/readme.md create mode 100644 keyboards/checkerboards/g_idb60/rules.mk create mode 100644 keyboards/checkerboards/nop60/config.h create mode 100644 keyboards/checkerboards/nop60/info.json create mode 100644 keyboards/checkerboards/nop60/keymaps/7u/config.h create mode 100644 keyboards/checkerboards/nop60/keymaps/7u/keymap.c create mode 100644 keyboards/checkerboards/nop60/keymaps/default/config.h create mode 100644 keyboards/checkerboards/nop60/keymaps/default/keymap.c create mode 100644 keyboards/checkerboards/nop60/keymaps/via/config.h create mode 100644 keyboards/checkerboards/nop60/keymaps/via/keymap.c create mode 100644 keyboards/checkerboards/nop60/keymaps/via/rules.mk create mode 100644 keyboards/checkerboards/nop60/nop60.c create mode 100644 keyboards/checkerboards/nop60/nop60.h create mode 100644 keyboards/checkerboards/nop60/readme.md create mode 100644 keyboards/checkerboards/nop60/rules.mk create mode 100644 keyboards/checkerboards/quark_squared/config.h create mode 100644 keyboards/checkerboards/quark_squared/info.json create mode 100644 keyboards/checkerboards/quark_squared/keymaps/2u/config.h create mode 100644 keyboards/checkerboards/quark_squared/keymaps/2u/keymap.c create mode 100644 keyboards/checkerboards/quark_squared/keymaps/default/config.h create mode 100644 keyboards/checkerboards/quark_squared/keymaps/default/keymap.c create mode 100644 keyboards/checkerboards/quark_squared/keymaps/via/config.h create mode 100644 keyboards/checkerboards/quark_squared/keymaps/via/keymap.c create mode 100644 keyboards/checkerboards/quark_squared/keymaps/via/rules.mk create mode 100644 keyboards/checkerboards/quark_squared/quark_squared.c create mode 100644 keyboards/checkerboards/quark_squared/quark_squared.h create mode 100644 keyboards/checkerboards/quark_squared/readme.md create mode 100644 keyboards/checkerboards/quark_squared/rules.mk create mode 100644 keyboards/checkerboards/ud40_ortho_alt/config.h create mode 100644 keyboards/checkerboards/ud40_ortho_alt/info.json create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/config.h create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/keymap.c create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/config.h create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/config.h create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/keymap.c create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/config.h create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/keymap.c create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/default/config.h create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/default/keymap.c create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/default/readme.md create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/config.h create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/readme.md create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c create mode 100644 keyboards/checkerboards/ud40_ortho_alt/keymaps/via/rules.mk create mode 100644 keyboards/checkerboards/ud40_ortho_alt/readme.md create mode 100644 keyboards/checkerboards/ud40_ortho_alt/rules.mk create mode 100644 keyboards/checkerboards/ud40_ortho_alt/ud40_ortho_alt.c create mode 100644 keyboards/checkerboards/ud40_ortho_alt/ud40_ortho_alt.h create mode 100644 keyboards/cherrybstudio/cb1800/cb1800.c create mode 100644 keyboards/cherrybstudio/cb1800/cb1800.h create mode 100644 keyboards/cherrybstudio/cb1800/config.h create mode 100644 keyboards/cherrybstudio/cb1800/info.json create mode 100644 keyboards/cherrybstudio/cb1800/keymaps/default/keymap.c create mode 100644 keyboards/cherrybstudio/cb1800/keymaps/default/readme.md create mode 100644 keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c create mode 100644 keyboards/cherrybstudio/cb1800/keymaps/via/rules.mk create mode 100644 keyboards/cherrybstudio/cb1800/readme.md create mode 100644 keyboards/cherrybstudio/cb1800/rules.mk create mode 100644 keyboards/cherrybstudio/cb87/cb87.c create mode 100644 keyboards/cherrybstudio/cb87/cb87.h create mode 100644 keyboards/cherrybstudio/cb87/config.h create mode 100644 keyboards/cherrybstudio/cb87/info.json create mode 100644 keyboards/cherrybstudio/cb87/keymaps/default/keymap.c create mode 100644 keyboards/cherrybstudio/cb87/keymaps/default/readme.md create mode 100644 keyboards/cherrybstudio/cb87/keymaps/via/keymap.c create mode 100644 keyboards/cherrybstudio/cb87/keymaps/via/rules.mk create mode 100644 keyboards/cherrybstudio/cb87/readme.md create mode 100644 keyboards/cherrybstudio/cb87/rules.mk delete mode 100644 keyboards/chimera_ortho/keymaps/dcompact/config.h delete mode 100644 keyboards/chimera_ortho/keymaps/dcompact/keymap.c delete mode 100644 keyboards/chimera_ortho/keymaps/dcompact/readme.md delete mode 100644 keyboards/chimera_ortho/keymaps/gordon/keymap.c create mode 100644 keyboards/chlx/merro60/config.h create mode 100644 keyboards/chlx/merro60/info.json create mode 100644 keyboards/chlx/merro60/keymaps/ansi/keymap.c create mode 100644 keyboards/chlx/merro60/keymaps/default/keymap.c create mode 100644 keyboards/chlx/merro60/keymaps/hhkb/keymap.c create mode 100644 keyboards/chlx/merro60/keymaps/iso/keymap.c create mode 100644 keyboards/chlx/merro60/keymaps/tsangan/keymap.c create mode 100644 keyboards/chlx/merro60/keymaps/via/keymap.c create mode 100644 keyboards/chlx/merro60/keymaps/via/rules.mk create mode 100644 keyboards/chlx/merro60/merro60.c create mode 100644 keyboards/chlx/merro60/merro60.h create mode 100644 keyboards/chlx/merro60/readme.md create mode 100644 keyboards/chlx/merro60/rules.mk create mode 100644 keyboards/ck60i/info.json delete mode 100755 keyboards/ckeys/handwire_101/keymaps/default/config.h create mode 100644 keyboards/clawsome/doodle/config.h create mode 100644 keyboards/clawsome/doodle/doodle.c create mode 100644 keyboards/clawsome/doodle/doodle.h create mode 100644 keyboards/clawsome/doodle/info.json create mode 100644 keyboards/clawsome/doodle/keymaps/default/keymap.c create mode 100644 keyboards/clawsome/doodle/rules.mk delete mode 100644 keyboards/clawsome/gamebuddy/config.h delete mode 100644 keyboards/clawsome/gamebuddy/gamebuddy.c delete mode 100644 keyboards/clawsome/gamebuddy/info.json delete mode 100644 keyboards/clawsome/gamebuddy/rules.mk create mode 100644 keyboards/clawsome/gamebuddy/v1_0/config.h create mode 100644 keyboards/clawsome/gamebuddy/v1_0/info.json rename keyboards/clawsome/gamebuddy/{ => v1_0}/keymaps/default/keymap.c (100%) rename keyboards/clawsome/gamebuddy/{ => v1_0}/readme.md (100%) create mode 100644 keyboards/clawsome/gamebuddy/v1_0/rules.mk create mode 100644 keyboards/clawsome/gamebuddy/v1_0/v1_0.c rename keyboards/clawsome/gamebuddy/{gamebuddy.h => v1_0/v1_0.h} (100%) create mode 100644 keyboards/clawsome/gamebuddy/v1_m/config.h create mode 100644 keyboards/clawsome/gamebuddy/v1_m/info.json create mode 100644 keyboards/clawsome/gamebuddy/v1_m/keymaps/default/keymap.c create mode 100644 keyboards/clawsome/gamebuddy/v1_m/readme.md create mode 100644 keyboards/clawsome/gamebuddy/v1_m/rules.mk create mode 100644 keyboards/clawsome/gamebuddy/v1_m/v1_m.c create mode 100644 keyboards/clawsome/gamebuddy/v1_m/v1_m.h create mode 100644 keyboards/clawsome/hatchback/config.h create mode 100644 keyboards/clawsome/hatchback/hatchback.c create mode 100644 keyboards/clawsome/hatchback/hatchback.h create mode 100644 keyboards/clawsome/hatchback/info.json create mode 100644 keyboards/clawsome/hatchback/keymaps/default/keymap.c create mode 100644 keyboards/clawsome/hatchback/readme.md create mode 100644 keyboards/clawsome/hatchback/rules.mk create mode 100644 keyboards/clawsome/luggage_rack/config.h create mode 100644 keyboards/clawsome/luggage_rack/info.json create mode 100644 keyboards/clawsome/luggage_rack/keymaps/default/keymap.c create mode 100644 keyboards/clawsome/luggage_rack/luggage_rack.c create mode 100644 keyboards/clawsome/luggage_rack/luggage_rack.h create mode 100644 keyboards/clawsome/luggage_rack/readme.md create mode 100644 keyboards/clawsome/luggage_rack/rules.mk create mode 100644 keyboards/clawsome/suv/config.h create mode 100644 keyboards/clawsome/suv/info.json create mode 100644 keyboards/clawsome/suv/keymaps/default/keymap.c create mode 100644 keyboards/clawsome/suv/readme.md create mode 100644 keyboards/clawsome/suv/rules.mk create mode 100644 keyboards/clawsome/suv/suv.c create mode 100644 keyboards/clawsome/suv/suv.h rename keyboards/{converter/ibm_5291 => clueboard/2x1800/2021}/.noci (100%) create mode 100644 keyboards/clueboard/2x1800/2021/2021.c create mode 100644 keyboards/clueboard/2x1800/2021/2021.h create mode 100644 keyboards/clueboard/2x1800/2021/config.h create mode 100644 keyboards/clueboard/2x1800/2021/font.h create mode 100644 keyboards/clueboard/2x1800/2021/info.json create mode 100644 keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json create mode 100644 keyboards/clueboard/2x1800/2021/keymaps/default_4u/keymap.c create mode 100644 keyboards/clueboard/2x1800/2021/keymaps/default_4u/readme.md create mode 100644 keyboards/clueboard/2x1800/2021/keymaps/default_7u/keymap.c create mode 100644 keyboards/clueboard/2x1800/2021/keymaps/default_7u/readme.md create mode 100644 keyboards/clueboard/2x1800/2021/keymaps/signboard/config.h create mode 100644 keyboards/clueboard/2x1800/2021/keymaps/signboard/keymap.c create mode 100644 keyboards/clueboard/2x1800/2021/keymaps/signboard/readme.md create mode 100644 keyboards/clueboard/2x1800/2021/max7219.c create mode 100644 keyboards/clueboard/2x1800/2021/max7219.h create mode 100644 keyboards/clueboard/2x1800/2021/readme.md create mode 100644 keyboards/clueboard/2x1800/2021/rules.mk create mode 100644 keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c rename keyboards/clueboard/66_hotswap/{ => gen1}/keymaps/66_ansi/readme.md (100%) create mode 100644 keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c rename keyboards/clueboard/66_hotswap/{ => gen1}/keymaps/default/readme.md (100%) rename keyboards/clueboard/66_hotswap/{ => gen1}/keymaps/json/keymap.json (100%) delete mode 100644 keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c delete mode 100644 keyboards/clueboard/66_hotswap/keymaps/default/keymap.c create mode 100644 keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c create mode 100644 keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/readme.md create mode 100644 keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c create mode 100644 keyboards/clueboard/66_hotswap/prototype/keymaps/default/readme.md rename keyboards/{peiorisboards => coarse}/ixora/chconf.h (100%) rename keyboards/{peiorisboards => coarse}/ixora/config.h (100%) rename keyboards/{peiorisboards => coarse}/ixora/halconf.h (100%) rename keyboards/{peiorisboards => coarse}/ixora/info.json (100%) rename keyboards/{peiorisboards => coarse}/ixora/ixora.c (100%) rename keyboards/{peiorisboards => coarse}/ixora/ixora.h (100%) create mode 100644 keyboards/coarse/ixora/keymaps/default/keymap.c rename keyboards/{peiorisboards => coarse}/ixora/keymaps/wntrmln/keymap.c (100%) create mode 100644 keyboards/coarse/ixora/readme.md create mode 100644 keyboards/coarse/ixora/rules.mk rename keyboards/{ => coarse}/vinta/chconf.h (100%) rename keyboards/{ => coarse}/vinta/config.h (100%) rename keyboards/{ => coarse}/vinta/halconf.h (100%) rename keyboards/{ => coarse}/vinta/info.json (100%) create mode 100644 keyboards/coarse/vinta/keymaps/default/keymap.c create mode 100644 keyboards/coarse/vinta/readme.md create mode 100644 keyboards/coarse/vinta/rules.mk create mode 100644 keyboards/coarse/vinta/vinta.c rename keyboards/{ => coarse}/vinta/vinta.h (100%) create mode 100644 keyboards/compound/compound.c create mode 100644 keyboards/compound/compound.h create mode 100644 keyboards/compound/config.h create mode 100644 keyboards/compound/info.json create mode 100644 keyboards/compound/keymaps/default/keymap.c create mode 100644 keyboards/compound/keymaps/via/keymap.c create mode 100644 keyboards/compound/keymaps/via/rules.mk create mode 100644 keyboards/compound/readme.md create mode 100644 keyboards/compound/rules.mk create mode 100644 keyboards/converter/a1200/a1200.c create mode 100644 keyboards/converter/a1200/a1200.h create mode 100644 keyboards/converter/a1200/info.json create mode 100644 keyboards/converter/a1200/keymaps/default/keymap.c create mode 100644 keyboards/converter/a1200/miss1200/config.h create mode 100644 keyboards/converter/a1200/miss1200/rules.mk create mode 100644 keyboards/converter/a1200/readme.md create mode 100644 keyboards/converter/a1200/teensy2pp/config.h create mode 100644 keyboards/converter/a1200/teensy2pp/rules.mk delete mode 100644 keyboards/converter/ibm_5291/config.h delete mode 100644 keyboards/converter/ibm_5291/ibm_5291.c delete mode 100644 keyboards/converter/ibm_5291/ibm_5291.h delete mode 100644 keyboards/converter/ibm_5291/info.json delete mode 100644 keyboards/converter/ibm_5291/keymaps/default/keymap.c delete mode 100644 keyboards/converter/ibm_5291/keymaps/kbdbabel_doc_ibm5291_kbd.pdf delete mode 100644 keyboards/converter/ibm_5291/matrix.c delete mode 100644 keyboards/converter/ibm_5291/matrix.csv delete mode 100644 keyboards/converter/ibm_5291/readme.md delete mode 100644 keyboards/converter/ibm_5291/rules.mk create mode 100644 keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c create mode 100644 keyboards/converter/ibm_terminal/keymaps/dsanchezseco/rules.mk create mode 100644 keyboards/converter/modelm_ssk/config.h create mode 100644 keyboards/converter/modelm_ssk/info.json create mode 100644 keyboards/converter/modelm_ssk/keymaps/default/keymap.c create mode 100644 keyboards/converter/modelm_ssk/keymaps/default/readme.md create mode 100644 keyboards/converter/modelm_ssk/keymaps/tiltowait/config.h create mode 100644 keyboards/converter/modelm_ssk/keymaps/tiltowait/keymap.c create mode 100644 keyboards/converter/modelm_ssk/keymaps/tiltowait/readme.md create mode 100644 keyboards/converter/modelm_ssk/modelm_ssk.c create mode 100644 keyboards/converter/modelm_ssk/modelm_ssk.h create mode 100644 keyboards/converter/modelm_ssk/readme.md create mode 100644 keyboards/converter/modelm_ssk/rules.mk create mode 100644 keyboards/converter/periboard_512/config.h create mode 100644 keyboards/converter/periboard_512/info.json create mode 100644 keyboards/converter/periboard_512/keymaps/default/keymap.c create mode 100644 keyboards/converter/periboard_512/periboard_512.c create mode 100644 keyboards/converter/periboard_512/periboard_512.h create mode 100644 keyboards/converter/periboard_512/readme.md create mode 100644 keyboards/converter/periboard_512/rules.mk delete mode 100644 keyboards/converter/xt_usb/keymaps/default/config.h create mode 100644 keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/config.h create mode 100644 keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c create mode 100644 keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/rules.mk delete mode 100644 keyboards/cospad/config.h delete mode 100644 keyboards/cospad/info.json delete mode 100644 keyboards/cospad/keymaps/detrus/keymap.c delete mode 100644 keyboards/cospad/readme.md delete mode 100644 keyboards/cospad/rules.mk create mode 100644 keyboards/cozykeys/bloomer/bloomer.c create mode 100644 keyboards/cozykeys/bloomer/bloomer.h create mode 100644 keyboards/cozykeys/bloomer/config.h create mode 100644 keyboards/cozykeys/bloomer/readme.md create mode 100644 keyboards/cozykeys/bloomer/v2/config.h create mode 100644 keyboards/cozykeys/bloomer/v2/info.json create mode 100644 keyboards/cozykeys/bloomer/v2/keymaps/default/keymap.c create mode 100644 keyboards/cozykeys/bloomer/v2/keymaps/default/readme.md create mode 100644 keyboards/cozykeys/bloomer/v2/readme.md create mode 100644 keyboards/cozykeys/bloomer/v2/rules.mk create mode 100644 keyboards/cozykeys/bloomer/v2/v2.c create mode 100644 keyboards/cozykeys/bloomer/v2/v2.h create mode 100644 keyboards/cozykeys/bloomer/v3/config.h create mode 100644 keyboards/cozykeys/bloomer/v3/info.json create mode 100644 keyboards/cozykeys/bloomer/v3/keymaps/default/keymap.c create mode 100644 keyboards/cozykeys/bloomer/v3/keymaps/default/readme.md create mode 100644 keyboards/cozykeys/bloomer/v3/readme.md create mode 100644 keyboards/cozykeys/bloomer/v3/rules.mk create mode 100644 keyboards/cozykeys/bloomer/v3/v3.c create mode 100644 keyboards/cozykeys/bloomer/v3/v3.h create mode 100644 keyboards/crbn/keymaps/via/keymap.c rename keyboards/{custommk/genesis => crbn}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/crin/config.h create mode 100644 keyboards/crin/crin.c create mode 100644 keyboards/crin/crin.h create mode 100644 keyboards/crin/info.json create mode 100644 keyboards/crin/keymaps/default/keymap.c create mode 100644 keyboards/crin/keymaps/via/keymap.c create mode 100644 keyboards/crin/keymaps/via/rules.mk create mode 100644 keyboards/crin/readme.md create mode 100644 keyboards/crin/rules.mk create mode 100644 keyboards/crkbd/keymaps/davidrambo/config.h create mode 100644 keyboards/crkbd/keymaps/davidrambo/keymap.c create mode 100644 keyboards/crkbd/keymaps/davidrambo/readme.md create mode 100644 keyboards/crkbd/keymaps/davidrambo/rules.mk create mode 100644 keyboards/crkbd/keymaps/devdev/config.h create mode 100644 keyboards/crkbd/keymaps/devdev/keymap.c create mode 100644 keyboards/crkbd/keymaps/devdev/rules.mk delete mode 100644 keyboards/crkbd/keymaps/like_jis/config.h delete mode 100644 keyboards/crkbd/keymaps/like_jis/keymap.c delete mode 100644 keyboards/crkbd/keymaps/like_jis/oled_helper.c delete mode 100644 keyboards/crkbd/keymaps/like_jis/oled_helper.h delete mode 100644 keyboards/crkbd/keymaps/like_jis/rules.mk delete mode 100644 keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h delete mode 100644 keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/crkbd/keymaps/mcrown/config.h create mode 100644 keyboards/crkbd/keymaps/mcrown/glcdfont.c create mode 100644 keyboards/crkbd/keymaps/mcrown/keymap.c create mode 100644 keyboards/crkbd/keymaps/mcrown/mcrown.h create mode 100644 keyboards/crkbd/keymaps/mcrown/oled.c create mode 100644 keyboards/crkbd/keymaps/mcrown/oled.h create mode 100644 keyboards/crkbd/keymaps/mcrown/readme.md create mode 100644 keyboards/crkbd/keymaps/mcrown/rules.mk delete mode 100644 keyboards/crkbd/keymaps/omgvee/config.h delete mode 100644 keyboards/crkbd/keymaps/omgvee/keymap.c delete mode 100644 keyboards/crkbd/keymaps/omgvee/readme.md delete mode 100644 keyboards/crkbd/keymaps/omgvee/rules.mk create mode 100644 keyboards/crkbd/keymaps/oo/config.h create mode 100644 keyboards/crkbd/keymaps/oo/keymap.c create mode 100644 keyboards/crkbd/keymaps/oo/readme.md create mode 100644 keyboards/crkbd/keymaps/oo/rules.mk create mode 100644 keyboards/crkbd/keymaps/rarick/config.h create mode 100644 keyboards/crkbd/keymaps/rarick/glcdfont.c create mode 100644 keyboards/crkbd/keymaps/rarick/keymap.c create mode 100644 keyboards/crkbd/keymaps/rarick/rules.mk create mode 100644 keyboards/crkbd/keymaps/snowe/config.h create mode 100644 keyboards/crkbd/keymaps/snowe/keycode_aliases.h create mode 100644 keyboards/crkbd/keymaps/snowe/keymap.c create mode 100644 keyboards/crkbd/keymaps/snowe/rules.mk create mode 100644 keyboards/crkbd/keymaps/sulrich/README.md create mode 100644 keyboards/crkbd/keymaps/sulrich/config.h create mode 100644 keyboards/crkbd/keymaps/sulrich/keymap.c create mode 100644 keyboards/crkbd/keymaps/sulrich/rules.mk delete mode 100644 keyboards/crkbd/keymaps/thefrey/README.md delete mode 100644 keyboards/crkbd/keymaps/thefrey/config.h delete mode 100644 keyboards/crkbd/keymaps/thefrey/keymap.c create mode 100644 keyboards/crkbd/keymaps/vayashiko/config.h create mode 100644 keyboards/crkbd/keymaps/vayashiko/keymap.c rename keyboards/crkbd/keymaps/{thefrey => vayashiko}/rules.mk (100%) create mode 100644 keyboards/crkbd/keymaps/via/config.h create mode 100644 keyboards/crkbd/keymaps/via/keymap.c create mode 100644 keyboards/crkbd/keymaps/via/rules.mk rename keyboards/crkbd/{rev1/legacy => lib}/i2c.c (98%) rename keyboards/crkbd/{rev1/legacy => lib}/i2c.h (100%) create mode 100644 keyboards/crkbd/post_config.h delete mode 100644 keyboards/crkbd/rev1/common/common.c delete mode 100644 keyboards/crkbd/rev1/common/common.h delete mode 100644 keyboards/crkbd/rev1/common/config.h delete mode 100644 keyboards/crkbd/rev1/common/keymaps/via/config.h delete mode 100644 keyboards/crkbd/rev1/common/keymaps/via/keymap.c delete mode 100644 keyboards/crkbd/rev1/common/keymaps/via/rules.mk delete mode 100644 keyboards/crkbd/rev1/legacy/config.h delete mode 100644 keyboards/crkbd/rev1/legacy/legacy.c delete mode 100644 keyboards/crkbd/rev1/legacy/legacy.h delete mode 100644 keyboards/crkbd/rev1/legacy/matrix.c delete mode 100644 keyboards/crkbd/rev1/legacy/post_config.h delete mode 100644 keyboards/crkbd/rev1/legacy/serial.c delete mode 100644 keyboards/crkbd/rev1/legacy/serial.h delete mode 100644 keyboards/crkbd/rev1/legacy/serial_config.h delete mode 100644 keyboards/crkbd/rev1/legacy/serial_config_simpleapi.h delete mode 100644 keyboards/crkbd/rev1/legacy/split_scomm.c delete mode 100644 keyboards/crkbd/rev1/legacy/split_scomm.h delete mode 100644 keyboards/crkbd/rev1/legacy/split_util.c delete mode 100644 keyboards/crkbd/rev1/legacy/split_util.h delete mode 100644 keyboards/crkbd/rev1/legacy/ssd1306.c delete mode 100644 keyboards/crkbd/rev1/legacy/ssd1306.h delete mode 100644 keyboards/custommk/genesis/genesis.c delete mode 100644 keyboards/custommk/genesis/genesis.h delete mode 100644 keyboards/custommk/genesis/info.json delete mode 100644 keyboards/custommk/genesis/keymaps/via/keymap.c create mode 100644 keyboards/custommk/genesis/rev1/config.h create mode 100644 keyboards/custommk/genesis/rev1/info.json rename keyboards/custommk/genesis/{ => rev1}/keymaps/default/keymap.c (100%) rename keyboards/custommk/genesis/{ => rev1}/keymaps/default/readme.md (100%) rename keyboards/custommk/genesis/{ => rev1}/keymaps/numpad/keymap.c (100%) rename keyboards/custommk/genesis/{ => rev1}/keymaps/numpad/readme.md (100%) create mode 100644 keyboards/custommk/genesis/rev1/keymaps/via/keymap.c rename keyboards/custommk/genesis/{ => rev1}/keymaps/via/readme.md (100%) rename keyboards/{xd84pro => custommk/genesis/rev1}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/custommk/genesis/rev1/readme.md create mode 100644 keyboards/custommk/genesis/rev1/rev1.c create mode 100644 keyboards/custommk/genesis/rev1/rev1.h rename keyboards/{ergotravel/keymaps/ckofy => custommk/genesis/rev1}/rules.mk (100%) create mode 100644 keyboards/custommk/genesis/rev2/config.h create mode 100644 keyboards/custommk/genesis/rev2/info.json create mode 100644 keyboards/custommk/genesis/rev2/keymaps/default/keymap.c create mode 100644 keyboards/custommk/genesis/rev2/keymaps/default/readme.md create mode 100644 keyboards/custommk/genesis/rev2/keymaps/numpad/keymap.c create mode 100644 keyboards/custommk/genesis/rev2/keymaps/numpad/readme.md create mode 100644 keyboards/custommk/genesis/rev2/keymaps/via/keymap.c create mode 100644 keyboards/custommk/genesis/rev2/keymaps/via/readme.md create mode 100644 keyboards/custommk/genesis/rev2/keymaps/via/rules.mk create mode 100644 keyboards/custommk/genesis/rev2/readme.md create mode 100644 keyboards/custommk/genesis/rev2/rev2.c create mode 100644 keyboards/custommk/genesis/rev2/rev2.h create mode 100644 keyboards/custommk/genesis/rev2/rules.mk create mode 100755 keyboards/cutie_club/giant_macro_pad/config.h create mode 100755 keyboards/cutie_club/giant_macro_pad/giant_macro_pad.c create mode 100755 keyboards/cutie_club/giant_macro_pad/giant_macro_pad.h create mode 100644 keyboards/cutie_club/giant_macro_pad/info.json create mode 100755 keyboards/cutie_club/giant_macro_pad/keymaps/default/keymap.c create mode 100755 keyboards/cutie_club/giant_macro_pad/keymaps/via/config.h create mode 100755 keyboards/cutie_club/giant_macro_pad/keymaps/via/keymap.c create mode 100755 keyboards/cutie_club/giant_macro_pad/keymaps/via/rules.mk create mode 100755 keyboards/cutie_club/giant_macro_pad/readme.md create mode 100755 keyboards/cutie_club/giant_macro_pad/rules.mk create mode 100644 keyboards/cx60/config.h create mode 100644 keyboards/cx60/cx60.c create mode 100644 keyboards/cx60/cx60.h create mode 100644 keyboards/cx60/info.json create mode 100644 keyboards/cx60/keymaps/default/keymap.c create mode 100644 keyboards/cx60/keymaps/default/readme.md create mode 100644 keyboards/cx60/keymaps/via/keymap.c create mode 100644 keyboards/cx60/keymaps/via/readme.md create mode 100644 keyboards/cx60/keymaps/via/rules.mk create mode 100644 keyboards/cx60/keymaps/via_caps/config.h create mode 100644 keyboards/cx60/keymaps/via_caps/keymap.c create mode 100644 keyboards/cx60/keymaps/via_caps/readme.md create mode 100644 keyboards/cx60/keymaps/via_caps/rules.mk create mode 100644 keyboards/cx60/readme.md create mode 100644 keyboards/cx60/rules.mk create mode 100644 keyboards/cybergear/macro25/LICENSE create mode 100644 keyboards/cybergear/macro25/config.h create mode 100644 keyboards/cybergear/macro25/info.json create mode 100644 keyboards/cybergear/macro25/keymaps/default/keymap.c create mode 100644 keyboards/cybergear/macro25/keymaps/via/keymap.c create mode 100644 keyboards/cybergear/macro25/keymaps/via/rules.mk create mode 100644 keyboards/cybergear/macro25/macro25.c create mode 100644 keyboards/cybergear/macro25/macro25.h create mode 100644 keyboards/cybergear/macro25/readme.md create mode 100644 keyboards/cybergear/macro25/rules.mk delete mode 100644 keyboards/daisy/config.h delete mode 100644 keyboards/daisy/keymaps/default/keymap.c delete mode 100644 keyboards/daisy/keymaps/via/keymap.c delete mode 100644 keyboards/daisy/readme.md delete mode 100644 keyboards/daisy/rules.mk create mode 100644 keyboards/delikeeb/flatbread60/config.h rename keyboards/{nckiibs => delikeeb}/flatbread60/flatbread60.c (100%) rename keyboards/{nckiibs => delikeeb}/flatbread60/flatbread60.h (100%) rename keyboards/{nckiibs => delikeeb}/flatbread60/info.json (100%) rename keyboards/{nckiibs => delikeeb}/flatbread60/keymaps/default/keymap.c (100%) rename keyboards/{nckiibs => delikeeb}/flatbread60/keymaps/default/readme.md (100%) rename keyboards/{nckiibs => delikeeb}/flatbread60/keymaps/via/keymap.c (100%) rename keyboards/{nckiibs => delikeeb}/flatbread60/keymaps/via/rules.mk (100%) create mode 100644 keyboards/delikeeb/flatbread60/readme.md create mode 100644 keyboards/delikeeb/flatbread60/rules.mk create mode 100644 keyboards/delikeeb/vaguettelite/config.h create mode 100644 keyboards/delikeeb/vaguettelite/info.json create mode 100644 keyboards/delikeeb/vaguettelite/keymaps/default/keymap.c create mode 100644 keyboards/delikeeb/vaguettelite/keymaps/default/readme.md create mode 100644 keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/keymap.c create mode 100644 keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/readme.md create mode 100644 keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c create mode 100644 keyboards/delikeeb/vaguettelite/keymaps/noclew/readme.md create mode 100644 keyboards/delikeeb/vaguettelite/keymaps/via/keymap.c create mode 100644 keyboards/delikeeb/vaguettelite/keymaps/via/rules.mk create mode 100644 keyboards/delikeeb/vaguettelite/readme.md create mode 100644 keyboards/delikeeb/vaguettelite/rules.mk create mode 100644 keyboards/delikeeb/vaguettelite/vaguettelite.c create mode 100644 keyboards/delikeeb/vaguettelite/vaguettelite.h create mode 100644 keyboards/delikeeb/vanana/config.h create mode 100644 keyboards/delikeeb/vanana/info.json create mode 100644 keyboards/delikeeb/vanana/keymaps/default/keymap.c create mode 100644 keyboards/delikeeb/vanana/keymaps/default/readme.md create mode 100644 keyboards/delikeeb/vanana/keymaps/via/keymap.c create mode 100644 keyboards/delikeeb/vanana/keymaps/via/rules.mk create mode 100644 keyboards/delikeeb/vanana/readme.md create mode 100644 keyboards/delikeeb/vanana/rev1/config.h create mode 100644 keyboards/delikeeb/vanana/rev1/rev1.c create mode 100644 keyboards/delikeeb/vanana/rev1/rev1.h create mode 100644 keyboards/delikeeb/vanana/rev1/rules.mk create mode 100644 keyboards/delikeeb/vanana/rev2/config.h create mode 100644 keyboards/delikeeb/vanana/rev2/rev2.c create mode 100644 keyboards/delikeeb/vanana/rev2/rev2.h create mode 100644 keyboards/delikeeb/vanana/rev2/rules.mk create mode 100644 keyboards/delikeeb/vanana/rules.mk rename keyboards/{nckiibs => delikeeb}/vaneela/config.h (100%) rename keyboards/{nckiibs => delikeeb}/vaneela/info.json (100%) rename keyboards/{nckiibs => delikeeb}/vaneela/keymaps/default/keymap.c (100%) rename keyboards/{nckiibs => delikeeb}/vaneela/keymaps/default/readme.md (100%) rename keyboards/{nckiibs => delikeeb}/vaneela/keymaps/via/keymap.c (100%) create mode 100644 keyboards/delikeeb/vaneela/keymaps/via/rules.mk create mode 100644 keyboards/delikeeb/vaneela/readme.md create mode 100644 keyboards/delikeeb/vaneela/rules.mk rename keyboards/{nckiibs => delikeeb}/vaneela/vaneela.c (100%) rename keyboards/{nckiibs => delikeeb}/vaneela/vaneela.h (100%) create mode 100644 keyboards/delikeeb/vaneelaex/config.h rename keyboards/{nckiibs => delikeeb}/vaneelaex/info.json (100%) rename keyboards/{nckiibs => delikeeb}/vaneelaex/keymaps/default/keymap.c (100%) rename keyboards/{nckiibs => delikeeb}/vaneelaex/keymaps/default/readme.md (100%) rename keyboards/{nckiibs => delikeeb}/vaneelaex/keymaps/via/keymap.c (100%) create mode 100644 keyboards/delikeeb/vaneelaex/keymaps/via/rules.mk create mode 100644 keyboards/delikeeb/vaneelaex/readme.md create mode 100644 keyboards/delikeeb/vaneelaex/rules.mk rename keyboards/{nckiibs => delikeeb}/vaneelaex/vaneelaex.c (100%) rename keyboards/{nckiibs => delikeeb}/vaneelaex/vaneelaex.h (100%) create mode 100644 keyboards/delikeeb/waaffle/config.h create mode 100644 keyboards/delikeeb/waaffle/keymaps/default/keymap.c create mode 100644 keyboards/delikeeb/waaffle/keymaps/default/readme.md create mode 100644 keyboards/delikeeb/waaffle/keymaps/via/keymap.c create mode 100644 keyboards/delikeeb/waaffle/keymaps/via/rules.mk create mode 100644 keyboards/delikeeb/waaffle/readme.md create mode 100644 keyboards/delikeeb/waaffle/rev3/config.h create mode 100644 keyboards/delikeeb/waaffle/rev3/elite_c/rules.mk create mode 100644 keyboards/delikeeb/waaffle/rev3/info.json create mode 100644 keyboards/delikeeb/waaffle/rev3/pro_micro/rules.mk create mode 100644 keyboards/delikeeb/waaffle/rev3/rev3.c create mode 100644 keyboards/delikeeb/waaffle/rev3/rev3.h create mode 100644 keyboards/delikeeb/waaffle/rev3/rules.mk create mode 100644 keyboards/delilah/config.h create mode 100644 keyboards/delilah/delilah.c create mode 100644 keyboards/delilah/delilah.h create mode 100644 keyboards/delilah/info.json create mode 100644 keyboards/delilah/keymaps/default/keymap.c create mode 100644 keyboards/delilah/keymaps/via/keymap.c create mode 100644 keyboards/delilah/keymaps/via/rules.mk create mode 100644 keyboards/delilah/readme.md create mode 100644 keyboards/delilah/rules.mk create mode 100644 keyboards/dinofizz/fnrow/v1/chconf.h create mode 100644 keyboards/dinofizz/fnrow/v1/config.h create mode 100644 keyboards/dinofizz/fnrow/v1/halconf.h create mode 100644 keyboards/dinofizz/fnrow/v1/info.json create mode 100644 keyboards/dinofizz/fnrow/v1/keymaps/default/keymap.c create mode 100644 keyboards/dinofizz/fnrow/v1/keymaps/default/readme.md create mode 100644 keyboards/dinofizz/fnrow/v1/keymaps/via/keymap.c create mode 100644 keyboards/dinofizz/fnrow/v1/keymaps/via/rules.mk create mode 100644 keyboards/dinofizz/fnrow/v1/mcuconf.h create mode 100644 keyboards/dinofizz/fnrow/v1/readme.md create mode 100644 keyboards/dinofizz/fnrow/v1/rules.mk create mode 100644 keyboards/dinofizz/fnrow/v1/v1.c create mode 100644 keyboards/dinofizz/fnrow/v1/v1.h create mode 100644 keyboards/dmqdesign/spin/keymaps/via/keymap.c create mode 100644 keyboards/dmqdesign/spin/keymaps/via/rules.mk create mode 100644 keyboards/donutcables/scrabblepad/keymaps/via/keymap.c create mode 100644 keyboards/donutcables/scrabblepad/keymaps/via/readme.md rename keyboards/{durgod/k320 => donutcables/scrabblepad}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/draculad/config.h create mode 100644 keyboards/draculad/draculad.c create mode 100644 keyboards/draculad/draculad.h create mode 100644 keyboards/draculad/info.json create mode 100644 keyboards/draculad/keymaps/default/keymap.c create mode 100644 keyboards/draculad/keymaps/pimoroni/config.h create mode 100644 keyboards/draculad/keymaps/pimoroni/keymap.c create mode 100644 keyboards/draculad/keymaps/pimoroni/rules.mk create mode 100644 keyboards/draculad/readme.md create mode 100644 keyboards/draculad/rules.mk create mode 100644 keyboards/draytronics/daisy/config.h create mode 100644 keyboards/draytronics/daisy/daisy.c create mode 100644 keyboards/draytronics/daisy/daisy.h create mode 100644 keyboards/draytronics/daisy/info.json create mode 100644 keyboards/draytronics/daisy/keymaps/default/keymap.c create mode 100644 keyboards/draytronics/daisy/readme.md create mode 100644 keyboards/draytronics/daisy/rules.mk create mode 100644 keyboards/draytronics/elise/config.h create mode 100755 keyboards/draytronics/elise/elise.c create mode 100755 keyboards/draytronics/elise/elise.h create mode 100644 keyboards/draytronics/elise/info.json create mode 100644 keyboards/draytronics/elise/keymaps/blake_iso/keymap.c create mode 100644 keyboards/draytronics/elise/keymaps/default/keymap.c create mode 100644 keyboards/draytronics/elise/keymaps/default_iso/keymap.c create mode 100644 keyboards/draytronics/elise/readme.md create mode 100644 keyboards/draytronics/elise/rules.mk delete mode 100644 keyboards/duck/eagle_viper/info.json delete mode 100644 keyboards/duck/eagle_viper/readme.md delete mode 100644 keyboards/duck/eagle_viper/rules.mk create mode 100644 keyboards/duck/eagle_viper/v2/info.json create mode 100644 keyboards/ducky/one2mini/1861st/1861st.h create mode 100644 keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.c create mode 100644 keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.h create mode 100644 keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.mk create mode 100644 keyboards/ducky/one2mini/1861st/chconf.h create mode 100644 keyboards/ducky/one2mini/1861st/config.h create mode 100644 keyboards/ducky/one2mini/1861st/info.json create mode 100644 keyboards/ducky/one2mini/1861st/mcuconf.h create mode 100644 keyboards/ducky/one2mini/1861st/readme.md create mode 100644 keyboards/ducky/one2mini/1861st/rules.mk create mode 100644 keyboards/ducky/one2mini/keymaps/ansi/keymap.c create mode 100644 keyboards/ducky/one2mini/keymaps/ansi/readme.md create mode 100644 keyboards/ducky/one2mini/keymaps/default/config.h create mode 100644 keyboards/ducky/one2mini/keymaps/default/keymap.c create mode 100644 keyboards/ducky/one2mini/keymaps/default/readme.md create mode 100644 keyboards/ducky/one2mini/keymaps/iso/keymap.c create mode 100644 keyboards/ducky/one2mini/keymaps/iso/readme.md create mode 100644 keyboards/ducky/one2mini/readme.md create mode 100644 keyboards/ducky/one2mini/rules.mk create mode 100644 keyboards/dumbpad/v1x/keymaps/imchipwood/keymap.c create mode 100644 keyboards/dumbpad/v1x/keymaps/numpad_media/keymap.c create mode 100644 keyboards/durgod/boards/DURGOD_STM32_F070/board.h create mode 100644 keyboards/durgod/boards/DURGOD_STM32_F070/board.mk rename keyboards/durgod/{k320 => boards/DURGOD_STM32_F070}/bootloader_defs.h (100%) create mode 100644 keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h rename keyboards/durgod/{k320 => boards/DURGOD_STM32_F070}/mcuconf.h (100%) create mode 100644 keyboards/durgod/dgk6x/config.h create mode 100644 keyboards/durgod/dgk6x/dgk6x.c create mode 100644 keyboards/durgod/dgk6x/dgk6x.h create mode 100644 keyboards/durgod/dgk6x/galaxy/config.h create mode 100644 keyboards/durgod/dgk6x/galaxy/galaxy.c create mode 100644 keyboards/durgod/dgk6x/galaxy/galaxy.h create mode 100644 keyboards/durgod/dgk6x/galaxy/info.json create mode 100644 keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json create mode 100644 keyboards/durgod/dgk6x/galaxy/keymaps/default/readme.md create mode 100644 keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json create mode 100644 keyboards/durgod/dgk6x/galaxy/keymaps/via/readme.md create mode 100644 keyboards/durgod/dgk6x/galaxy/keymaps/via/rules.mk create mode 100644 keyboards/durgod/dgk6x/galaxy/readme.md create mode 100644 keyboards/durgod/dgk6x/galaxy/rules.mk create mode 100644 keyboards/durgod/dgk6x/hades/config.h create mode 100644 keyboards/durgod/dgk6x/hades/hades.c create mode 100644 keyboards/durgod/dgk6x/hades/hades.h create mode 100644 keyboards/durgod/dgk6x/hades/info.json create mode 100644 keyboards/durgod/dgk6x/hades/keymaps/default/keymap.json create mode 100644 keyboards/durgod/dgk6x/hades/keymaps/default/readme.md create mode 100644 keyboards/durgod/dgk6x/hades/keymaps/via/keymap.json create mode 100644 keyboards/durgod/dgk6x/hades/keymaps/via/readme.md create mode 100644 keyboards/durgod/dgk6x/hades/keymaps/via/rules.mk create mode 100644 keyboards/durgod/dgk6x/hades/readme.md create mode 100644 keyboards/durgod/dgk6x/hades/rules.mk create mode 100644 keyboards/durgod/dgk6x/halconf.h create mode 100644 keyboards/durgod/dgk6x/mcuconf.h create mode 100644 keyboards/durgod/dgk6x/readme.md create mode 100644 keyboards/durgod/dgk6x/rules.mk create mode 100644 keyboards/durgod/dgk6x/venus/config.h create mode 100644 keyboards/durgod/dgk6x/venus/info.json create mode 100644 keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json create mode 100644 keyboards/durgod/dgk6x/venus/keymaps/default/readme.md create mode 100644 keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json create mode 100644 keyboards/durgod/dgk6x/venus/keymaps/via/readme.md create mode 100644 keyboards/durgod/dgk6x/venus/keymaps/via/rules.mk create mode 100644 keyboards/durgod/dgk6x/venus/readme.md create mode 100644 keyboards/durgod/dgk6x/venus/rules.mk create mode 100644 keyboards/durgod/dgk6x/venus/venus.c create mode 100644 keyboards/durgod/dgk6x/venus/venus.h create mode 100644 keyboards/durgod/galaxy/readme.md create mode 100644 keyboards/durgod/galaxy/rules.mk create mode 100644 keyboards/durgod/hades/readme.md create mode 100644 keyboards/durgod/hades/rules.mk create mode 100644 keyboards/durgod/k310/base/readme.md create mode 100644 keyboards/durgod/k310/base/rules.mk create mode 100644 keyboards/durgod/k310/readme.md create mode 100644 keyboards/durgod/k310/rules.mk create mode 100644 keyboards/durgod/k320/base/readme.md create mode 100644 keyboards/durgod/k320/base/rules.mk delete mode 100644 keyboards/durgod/k320/board.h delete mode 100644 keyboards/durgod/k320/chconf.h delete mode 100644 keyboards/durgod/k320/config.h delete mode 100644 keyboards/durgod/k320/info.json delete mode 100644 keyboards/durgod/k320/k320.c delete mode 100644 keyboards/durgod/k320/k320.h delete mode 100644 keyboards/durgod/k320/keymaps/default/keymap.c delete mode 100644 keyboards/durgod/k320/keymaps/default/readme.md delete mode 100644 keyboards/durgod/k320/keymaps/default_iso/keymap.c delete mode 100644 keyboards/durgod/k320/keymaps/default_iso/readme.md delete mode 100644 keyboards/durgod/k320/keymaps/default_iso_mac/keymap.c delete mode 100644 keyboards/durgod/k320/keymaps/default_iso_mac/readme.md delete mode 100644 keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c delete mode 100644 keyboards/durgod/k320/keymaps/default_toggle_mac_windows/readme.md delete mode 100644 keyboards/durgod/k320/keymaps/kuenhlee/keymap.c create mode 100644 keyboards/durgod/k320/keymaps/moults31/config.h create mode 100644 keyboards/durgod/k320/keymaps/moults31/keymap.c create mode 100644 keyboards/durgod/k320/keymaps/moults31/readme.md rename keyboards/{dztech/volcano660/keymaps/via => durgod/k320/keymaps/moults31}/rules.mk (100%) delete mode 100644 keyboards/durgod/k320/keymaps/via/config.h delete mode 100644 keyboards/durgod/k320/keymaps/via/keymap.c delete mode 100644 keyboards/durgod/k320/keymaps/via/readme.md create mode 100644 keyboards/durgod/k3x0/config.h create mode 100644 keyboards/durgod/k3x0/halconf.h create mode 100644 keyboards/durgod/k3x0/k310/base/config.h create mode 100644 keyboards/durgod/k3x0/k310/base/readme.md create mode 100644 keyboards/durgod/k3x0/k310/base/rules.mk create mode 100644 keyboards/durgod/k3x0/k310/config.h create mode 100644 keyboards/durgod/k3x0/k310/info.json create mode 100644 keyboards/durgod/k3x0/k310/k310.h create mode 100644 keyboards/durgod/k3x0/k310/readme.md create mode 100644 keyboards/durgod/k3x0/k310/rules.mk create mode 100644 keyboards/durgod/k3x0/k320/base/config.h create mode 100644 keyboards/durgod/k3x0/k320/base/readme.md create mode 100644 keyboards/durgod/k3x0/k320/base/rules.mk create mode 100644 keyboards/durgod/k3x0/k320/config.h create mode 100644 keyboards/durgod/k3x0/k320/info.json create mode 100644 keyboards/durgod/k3x0/k320/k320.h create mode 100644 keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c rename keyboards/durgod/{ => k3x0}/k320/keymaps/kuenhlee/readme.md (100%) rename keyboards/durgod/{ => k3x0}/k320/keymaps/kuenhlee/rules.mk (100%) create mode 100644 keyboards/durgod/k3x0/k320/readme.md create mode 100644 keyboards/durgod/k3x0/k320/rules.mk create mode 100644 keyboards/durgod/k3x0/k3x0.c create mode 100644 keyboards/durgod/k3x0/k3x0.h create mode 100644 keyboards/durgod/k3x0/keymaps/chimera/keymap.c create mode 100644 keyboards/durgod/k3x0/keymaps/chimera/readme.md create mode 100644 keyboards/durgod/k3x0/keymaps/chimera/rules.mk create mode 100644 keyboards/durgod/k3x0/keymaps/default/keymap.json create mode 100644 keyboards/durgod/k3x0/keymaps/default/readme.md create mode 100644 keyboards/durgod/k3x0/keymaps/default_mac/keymap.json create mode 100644 keyboards/durgod/k3x0/keymaps/default_mac/readme.md create mode 100644 keyboards/durgod/k3x0/keymaps/typhon/keymap.c create mode 100644 keyboards/durgod/k3x0/keymaps/typhon/readme.md create mode 100644 keyboards/durgod/k3x0/keymaps/typhon/rules.mk create mode 100644 keyboards/durgod/k3x0/keymaps/via/keymap.c create mode 100644 keyboards/durgod/k3x0/keymaps/via/readme.md create mode 100644 keyboards/durgod/k3x0/keymaps/via/rules.mk create mode 100644 keyboards/durgod/k3x0/readme.md create mode 100644 keyboards/durgod/k3x0/rules.mk create mode 100644 keyboards/durgod/venus/readme.md create mode 100644 keyboards/durgod/venus/rules.mk create mode 100644 keyboards/dz60/keymaps/gk64/keymap.c create mode 100644 keyboards/dz60/keymaps/jdelkins/config.h create mode 100644 keyboards/dz60/keymaps/jdelkins/keymap.c create mode 100644 keyboards/dz60/keymaps/jdelkins/rules.mk create mode 100644 keyboards/dz60/keymaps/niclake/config.h create mode 100644 keyboards/dz60/keymaps/niclake/keymap.c create mode 100644 keyboards/dz60/keymaps/niclake/readme.md create mode 100644 keyboards/dz60/keymaps/niclake/rules.mk create mode 100644 keyboards/dz60/keymaps/olligranlund_iso/rules.mk create mode 100644 keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c create mode 100644 keyboards/dz60/keymaps/olligranlund_iso_v2/readme.md create mode 100644 keyboards/dz60/keymaps/olligranlund_iso_v2/rules.mk create mode 100644 keyboards/dztech/dz60rgb/keymaps/mechmaster48/README.md create mode 100644 keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c create mode 100644 keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c create mode 100644 keyboards/dztech/dz60rgb/keymaps/moults31/readme.md create mode 100644 keyboards/dztech/dz60rgb/keymaps/moults31/rules.mk create mode 100644 keyboards/dztech/dz60rgb/keymaps/piv3rt/config.h create mode 100644 keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c create mode 100644 keyboards/dztech/dz60rgb/keymaps/piv3rt/rules.mk create mode 100644 keyboards/dztech/dz60rgb/keymaps/via/config.h create mode 100644 keyboards/dztech/dz60rgb/v2_1/config.h create mode 100644 keyboards/dztech/dz60rgb/v2_1/rules.mk create mode 100644 keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/config.h create mode 100644 keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c create mode 100644 keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/readme.md create mode 100644 keyboards/dztech/dz60rgb_wkl/v2_1/config.h create mode 100644 keyboards/dztech/dz60rgb_wkl/v2_1/rules.mk create mode 100644 keyboards/dztech/dz65rgb/keymaps/haervig/keymap.c create mode 100644 keyboards/dztech/dz65rgb/keymaps/haervig/rules.mk create mode 100644 keyboards/dztech/dz65rgb/keymaps/jumper149/config.h create mode 100644 keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c create mode 100644 keyboards/dztech/dz65rgb/keymaps/jumper149/readme.md create mode 100644 keyboards/dztech/dz65rgb/keymaps/jumper149/rgb_matrix_user.inc create mode 100644 keyboards/dztech/dz65rgb/keymaps/jumper149/rules.mk create mode 100644 keyboards/dztech/dz65rgb/keymaps/via/config.h create mode 100644 keyboards/dztech/dz65rgb/v1/readme.md create mode 100644 keyboards/dztech/dz65rgb/v1/v1.c create mode 100644 keyboards/dztech/dz65rgb/v1/v1.h create mode 100644 keyboards/dztech/dz65rgb/v2/readme.md create mode 100644 keyboards/dztech/dz65rgb/v2/v2.c create mode 100644 keyboards/dztech/dz65rgb/v2/v2.h create mode 100755 keyboards/dztech/dz65rgb/v3/config.h create mode 100644 keyboards/dztech/dz65rgb/v3/readme.md create mode 100755 keyboards/dztech/dz65rgb/v3/rules.mk create mode 100755 keyboards/dztech/dz65rgb/v3/v3.c create mode 100755 keyboards/dztech/dz65rgb/v3/v3.h delete mode 100644 keyboards/dztech/volcano660/readme.md delete mode 100644 keyboards/eco/keymaps/hexwire/keymap.c delete mode 100644 keyboards/eco/keymaps/hexwire/rules.mk create mode 100644 keyboards/edda/config.h create mode 100644 keyboards/edda/edda.c create mode 100644 keyboards/edda/edda.h create mode 100644 keyboards/edda/info.json create mode 100644 keyboards/edda/keymaps/default/keymap.c create mode 100644 keyboards/edda/keymaps/via/keymap.c create mode 100644 keyboards/edda/keymaps/via/rules.mk create mode 100644 keyboards/edda/readme.md create mode 100644 keyboards/edda/rules.mk create mode 100644 keyboards/edi/hardlight/mk1/config.h create mode 100644 keyboards/edi/hardlight/mk1/keymaps/.gitignore create mode 100644 keyboards/edi/hardlight/mk1/keymaps/default/config.h create mode 100644 keyboards/edi/hardlight/mk1/keymaps/default/keymap.c create mode 100644 keyboards/edi/hardlight/mk1/mk1.c create mode 100644 keyboards/edi/hardlight/mk1/mk1.h create mode 100644 keyboards/edi/hardlight/mk1/readme.md create mode 100644 keyboards/edi/hardlight/mk1/rules.mk create mode 100644 keyboards/emi20/config.h create mode 100644 keyboards/emi20/emi20.c create mode 100644 keyboards/emi20/emi20.h create mode 100644 keyboards/emi20/info.json create mode 100644 keyboards/emi20/keymaps/default/keymap.c create mode 100644 keyboards/emi20/readme.md create mode 100644 keyboards/emi20/rules.mk create mode 100644 keyboards/eniigmakeyboards/ek60/config.h create mode 100644 keyboards/eniigmakeyboards/ek60/ek60.c create mode 100644 keyboards/eniigmakeyboards/ek60/ek60.h create mode 100644 keyboards/eniigmakeyboards/ek60/info.json create mode 100644 keyboards/eniigmakeyboards/ek60/keymaps/default/keymap.c create mode 100644 keyboards/eniigmakeyboards/ek60/keymaps/via/keymap.c create mode 100644 keyboards/eniigmakeyboards/ek60/keymaps/via/rules.mk create mode 100644 keyboards/eniigmakeyboards/ek60/readme.md create mode 100644 keyboards/eniigmakeyboards/ek60/rules.mk create mode 100644 keyboards/epoch80/config.h create mode 100644 keyboards/epoch80/epoch80.c create mode 100644 keyboards/epoch80/epoch80.h create mode 100644 keyboards/epoch80/info.json create mode 100644 keyboards/epoch80/keymaps/default/keymap.c create mode 100644 keyboards/epoch80/keymaps/iso/keymap.c create mode 100644 keyboards/epoch80/keymaps/tsangan/keymap.c create mode 100644 keyboards/epoch80/keymaps/via/keymap.c create mode 100644 keyboards/epoch80/keymaps/via/rules.mk create mode 100644 keyboards/epoch80/keymaps/wkl/keymap.c create mode 100644 keyboards/epoch80/readme.md create mode 100644 keyboards/epoch80/rules.mk delete mode 100644 keyboards/ergodone/config.h delete mode 100644 keyboards/ergodone/i2cmaster.h delete mode 100644 keyboards/ergodone/keymaps/default/keymap.c delete mode 100644 keyboards/ergodone/keymaps/erovia/keymap.c delete mode 100644 keyboards/ergodone/readme.md delete mode 100644 keyboards/ergodone/rules.mk delete mode 100644 keyboards/ergodone/twimaster.c create mode 100644 keyboards/ergodox_ez/keymaps/ifohancroft/config.h create mode 100644 keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c create mode 100644 keyboards/ergodox_ez/keymaps/ifohancroft/readme.md create mode 100644 keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk delete mode 100644 keyboards/ergodox_infinity/led.c delete mode 100644 keyboards/ergodox_infinity/matrix.c create mode 100644 keyboards/ergosaurus/keymaps/via/keymap.c rename keyboards/{lazydesigners/bolt => ergosaurus/keymaps}/via/rules.mk (100%) delete mode 100644 keyboards/ergotravel/keymaps/ckofy/config.h delete mode 100644 keyboards/ergotravel/keymaps/ckofy/keymap.c delete mode 100644 keyboards/ergotravel/keymaps/jpconstantineau/config.h delete mode 100644 keyboards/ergotravel/keymaps/jpconstantineau/keymap.c create mode 100644 keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c delete mode 100644 keyboards/ergotravel/keymaps/viet/config.h delete mode 100644 keyboards/ergotravel/keymaps/viet/keymap.c delete mode 100644 keyboards/ergotravel/keymaps/viet/rules.mk create mode 100644 keyboards/esca/getawayvan/chconf.h create mode 100644 keyboards/esca/getawayvan/config.h create mode 100644 keyboards/esca/getawayvan/getawayvan.c create mode 100644 keyboards/esca/getawayvan/getawayvan.h create mode 100644 keyboards/esca/getawayvan/halconf.h create mode 100644 keyboards/esca/getawayvan/info.json create mode 100644 keyboards/esca/getawayvan/keymaps/7u/keymap.c create mode 100644 keyboards/esca/getawayvan/keymaps/default/keymap.c create mode 100644 keyboards/esca/getawayvan/keymaps/via/keymap.c create mode 100644 keyboards/esca/getawayvan/keymaps/via/rules.mk create mode 100644 keyboards/esca/getawayvan/readme.md create mode 100644 keyboards/esca/getawayvan/rules.mk create mode 100644 keyboards/esca/getawayvan_f042/chconf.h create mode 100644 keyboards/esca/getawayvan_f042/config.h create mode 100644 keyboards/esca/getawayvan_f042/getawayvan_f042.c create mode 100644 keyboards/esca/getawayvan_f042/getawayvan_f042.h create mode 100644 keyboards/esca/getawayvan_f042/halconf.h create mode 100644 keyboards/esca/getawayvan_f042/info.json create mode 100644 keyboards/esca/getawayvan_f042/keymaps/7u/keymap.c create mode 100644 keyboards/esca/getawayvan_f042/keymaps/default/keymap.c create mode 100644 keyboards/esca/getawayvan_f042/readme.md create mode 100644 keyboards/esca/getawayvan_f042/rules.mk create mode 100644 keyboards/evyd13/atom47/keymaps/via/keymap.c create mode 100644 keyboards/evyd13/atom47/keymaps/via/rules.mk create mode 100644 keyboards/evyd13/atom47/rev4/config.h create mode 100644 keyboards/evyd13/atom47/rev4/info.json create mode 100644 keyboards/evyd13/atom47/rev4/rev4.c create mode 100644 keyboards/evyd13/atom47/rev4/rev4.h create mode 100644 keyboards/evyd13/atom47/rev4/rules.mk create mode 100644 keyboards/evyd13/atom47/rev5/config.h create mode 100644 keyboards/evyd13/atom47/rev5/info.json create mode 100644 keyboards/evyd13/atom47/rev5/rev5.c create mode 100644 keyboards/evyd13/atom47/rev5/rev5.h create mode 100644 keyboards/evyd13/atom47/rev5/rules.mk create mode 100644 keyboards/evyd13/gud70/config.h create mode 100644 keyboards/evyd13/gud70/gud70.c create mode 100644 keyboards/evyd13/gud70/gud70.h create mode 100644 keyboards/evyd13/gud70/info.json create mode 100644 keyboards/evyd13/gud70/keymaps/default/keymap.c create mode 100644 keyboards/evyd13/gud70/keymaps/evyd13/keymap.c create mode 100644 keyboards/evyd13/gud70/readme.md create mode 100644 keyboards/evyd13/gud70/rules.mk delete mode 100644 keyboards/exent/keymaps/default/config.h delete mode 100644 keyboards/exent/keymaps/default/readme.md create mode 100644 keyboards/eyeohdesigns/babyv/babyv.c create mode 100644 keyboards/eyeohdesigns/babyv/babyv.h create mode 100644 keyboards/eyeohdesigns/babyv/config.h create mode 100644 keyboards/eyeohdesigns/babyv/info.json create mode 100644 keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c create mode 100644 keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c create mode 100644 keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c create mode 100644 keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c create mode 100644 keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c create mode 100644 keyboards/eyeohdesigns/babyv/readme.md create mode 100644 keyboards/eyeohdesigns/babyv/rules.mk create mode 100644 keyboards/eyeohdesigns/readme.md create mode 100644 keyboards/eyeohdesigns/sprh/config.h create mode 100644 keyboards/eyeohdesigns/sprh/info.json create mode 100644 keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c create mode 100644 keyboards/eyeohdesigns/sprh/keymaps/split/keymap.c create mode 100644 keyboards/eyeohdesigns/sprh/readme.md create mode 100644 keyboards/eyeohdesigns/sprh/rules.mk create mode 100644 keyboards/eyeohdesigns/sprh/sprh.c create mode 100644 keyboards/eyeohdesigns/sprh/sprh.h create mode 100644 keyboards/ez_maker/directpins/promicro/config.h create mode 100644 keyboards/ez_maker/directpins/promicro/info.json create mode 100644 keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json create mode 100644 keyboards/ez_maker/directpins/promicro/promicro.c create mode 100644 keyboards/ez_maker/directpins/promicro/promicro.h create mode 100644 keyboards/ez_maker/directpins/promicro/readme.md rename keyboards/{ergotravel/keymaps/jpconstantineau => ez_maker/directpins/promicro}/rules.mk (100%) create mode 100644 keyboards/ez_maker/directpins/proton_c/info.json create mode 100644 keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json create mode 100644 keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md create mode 100644 keyboards/ez_maker/directpins/proton_c/proton_c.c create mode 100644 keyboards/ez_maker/directpins/proton_c/proton_c.h create mode 100644 keyboards/ez_maker/directpins/proton_c/readme.md rename keyboards/{keebio/fourier/keymaps/valgrahf => ez_maker/directpins/proton_c}/rules.mk (100%) create mode 100644 keyboards/ez_maker/directpins/readme.md create mode 100644 keyboards/ez_maker/directpins/teensy_2/config.h create mode 100644 keyboards/ez_maker/directpins/teensy_2/info.json create mode 100644 keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json create mode 100644 keyboards/ez_maker/directpins/teensy_2/readme.md rename keyboards/{keebio/laplace/keymaps/bakingpy => ez_maker/directpins/teensy_2}/rules.mk (100%) create mode 100644 keyboards/ez_maker/directpins/teensy_2/teensy2.c create mode 100644 keyboards/ez_maker/directpins/teensy_2/teensy2.h create mode 100644 keyboards/ez_maker/directpins/teensy_2pp/config.h create mode 100644 keyboards/ez_maker/directpins/teensy_2pp/info.json create mode 100644 keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json create mode 100644 keyboards/ez_maker/directpins/teensy_2pp/readme.md rename keyboards/{mechlovin/hannah65/mechlovin9 => ez_maker/directpins/teensy_2pp}/rules.mk (100%) create mode 100644 keyboards/ez_maker/directpins/teensy_2pp/teensy2.c create mode 100644 keyboards/ez_maker/directpins/teensy_2pp/teensy2.h create mode 100644 keyboards/ez_maker/directpins/teensy_32/chconf.h create mode 100644 keyboards/ez_maker/directpins/teensy_32/config.h create mode 100644 keyboards/ez_maker/directpins/teensy_32/halconf.h create mode 100644 keyboards/ez_maker/directpins/teensy_32/info.json create mode 100644 keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json create mode 100644 keyboards/ez_maker/directpins/teensy_32/mcuconf.h create mode 100644 keyboards/ez_maker/directpins/teensy_32/readme.md create mode 100644 keyboards/ez_maker/directpins/teensy_32/rules.mk create mode 100644 keyboards/ez_maker/directpins/teensy_lc/chconf.h create mode 100644 keyboards/ez_maker/directpins/teensy_lc/config.h create mode 100644 keyboards/ez_maker/directpins/teensy_lc/halconf.h create mode 100644 keyboards/ez_maker/directpins/teensy_lc/info.json create mode 100644 keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json create mode 100644 keyboards/ez_maker/directpins/teensy_lc/mcuconf.h create mode 100644 keyboards/ez_maker/directpins/teensy_lc/readme.md create mode 100644 keyboards/ez_maker/directpins/teensy_lc/rules.mk create mode 100644 keyboards/fc980c/keymaps/via/keymap.c rename keyboards/{phase_studio/titan65 => fc980c}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/feels/feels65/config.h create mode 100644 keyboards/feels/feels65/feels65.c create mode 100644 keyboards/feels/feels65/feels65.h create mode 100644 keyboards/feels/feels65/info.json create mode 100644 keyboards/feels/feels65/keymaps/default/keymap.c create mode 100644 keyboards/feels/feels65/keymaps/via/keymap.c create mode 100644 keyboards/feels/feels65/keymaps/via/rules.mk create mode 100644 keyboards/feels/feels65/readme.md create mode 100644 keyboards/feels/feels65/rules.mk create mode 100644 keyboards/ferris/0_1/readme.md create mode 100644 keyboards/ferris/0_2/0_2.c create mode 100644 keyboards/ferris/0_2/0_2.h create mode 100644 keyboards/ferris/0_2/bling/bling.c create mode 100644 keyboards/ferris/0_2/bling/config.h create mode 100644 keyboards/ferris/0_2/bling/readme.md create mode 100644 keyboards/ferris/0_2/bling/rules.mk create mode 100644 keyboards/ferris/0_2/chconf.h create mode 100644 keyboards/ferris/0_2/compact/config.h create mode 100644 keyboards/ferris/0_2/compact/readme.md rename keyboards/{xd75/keymaps/boy_314 => ferris/0_2/compact}/rules.mk (100%) create mode 100644 keyboards/ferris/0_2/config.h create mode 100644 keyboards/ferris/0_2/halconf.h create mode 100644 keyboards/ferris/0_2/high/config.h create mode 100644 keyboards/ferris/0_2/high/readme.md rename keyboards/{kbdfans/kbd67/mkiirgb/v1/.noci => ferris/0_2/high/rules.mk} (100%) create mode 100644 keyboards/ferris/0_2/matrix.c create mode 100644 keyboards/ferris/0_2/mcuconf.h create mode 100644 keyboards/ferris/0_2/mini/config.h create mode 100644 keyboards/ferris/0_2/mini/readme.md rename keyboards/{kyria/.noci => ferris/0_2/mini/rules.mk} (100%) create mode 100644 keyboards/ferris/0_2/readme.md create mode 100644 keyboards/ferris/0_2/rules.mk create mode 100644 keyboards/ferris/keymaps/test/config.h create mode 100644 keyboards/ferris/keymaps/test/keymap.c create mode 100644 keyboards/ferris/keymaps/test/readme.md create mode 100644 keyboards/ferris/keymaps/test/rules.mk create mode 100644 keyboards/ferris/sweep/readme.md create mode 100644 keyboards/ffkeebs/siris/config.h create mode 100644 keyboards/ffkeebs/siris/info.json create mode 100644 keyboards/ffkeebs/siris/keymaps/default/keymap.c create mode 100644 keyboards/ffkeebs/siris/keymaps/via/keymap.c rename keyboards/{daisy => ffkeebs/siris}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/ffkeebs/siris/readme.md create mode 100644 keyboards/ffkeebs/siris/rules.mk create mode 100644 keyboards/ffkeebs/siris/siris.c create mode 100644 keyboards/ffkeebs/siris/siris.h create mode 100644 keyboards/fjlabs/bks65solder/bks65solder.c create mode 100644 keyboards/fjlabs/bks65solder/bks65solder.h create mode 100644 keyboards/fjlabs/bks65solder/config.h create mode 100644 keyboards/fjlabs/bks65solder/info.json create mode 100644 keyboards/fjlabs/bks65solder/keymaps/default/keymap.c create mode 100644 keyboards/fjlabs/bks65solder/keymaps/via/keymap.c create mode 100644 keyboards/fjlabs/bks65solder/keymaps/via/rules.mk create mode 100644 keyboards/fjlabs/bks65solder/readme.md create mode 100644 keyboards/fjlabs/bks65solder/rules.mk create mode 100644 keyboards/fjlabs/kf87/config.h create mode 100644 keyboards/fjlabs/kf87/info.json create mode 100644 keyboards/fjlabs/kf87/keymaps/default/keymap.c create mode 100644 keyboards/fjlabs/kf87/keymaps/via/keymap.c create mode 100644 keyboards/fjlabs/kf87/keymaps/via/rules.mk create mode 100644 keyboards/fjlabs/kf87/kf87.c create mode 100644 keyboards/fjlabs/kf87/kf87.h create mode 100644 keyboards/fjlabs/kf87/readme.md create mode 100644 keyboards/fjlabs/kf87/rules.mk create mode 100644 keyboards/fjlabs/midway60/config.h create mode 100644 keyboards/fjlabs/midway60/info.json create mode 100644 keyboards/fjlabs/midway60/keymaps/default/keymap.c create mode 100644 keyboards/fjlabs/midway60/keymaps/via/keymap.c create mode 100644 keyboards/fjlabs/midway60/keymaps/via/rules.mk create mode 100644 keyboards/fjlabs/midway60/midway60.c create mode 100644 keyboards/fjlabs/midway60/midway60.h create mode 100644 keyboards/fjlabs/midway60/readme.md create mode 100644 keyboards/fjlabs/midway60/rules.mk create mode 100644 keyboards/fjlabs/polaris/config.h create mode 100644 keyboards/fjlabs/polaris/info.json create mode 100644 keyboards/fjlabs/polaris/keymaps/default/keymap.c create mode 100644 keyboards/fjlabs/polaris/keymaps/via/keymap.c create mode 100644 keyboards/fjlabs/polaris/keymaps/via/rules.mk create mode 100644 keyboards/fjlabs/polaris/polaris.c create mode 100644 keyboards/fjlabs/polaris/polaris.h create mode 100644 keyboards/fjlabs/polaris/readme.md create mode 100644 keyboards/fjlabs/polaris/rules.mk create mode 100644 keyboards/fjlabs/ready100/config.h create mode 100644 keyboards/fjlabs/ready100/info.json create mode 100644 keyboards/fjlabs/ready100/keymaps/default/keymap.c create mode 100644 keyboards/fjlabs/ready100/keymaps/via/keymap.c create mode 100644 keyboards/fjlabs/ready100/keymaps/via/rules.mk create mode 100644 keyboards/fjlabs/ready100/readme.md create mode 100644 keyboards/fjlabs/ready100/ready100.c create mode 100644 keyboards/fjlabs/ready100/ready100.h create mode 100644 keyboards/fjlabs/ready100/rules.mk create mode 100644 keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c create mode 100644 keyboards/flxlb/zplit/config.h create mode 100644 keyboards/flxlb/zplit/info.json create mode 100644 keyboards/flxlb/zplit/keymaps/default/config.h create mode 100644 keyboards/flxlb/zplit/keymaps/default/keymap.c create mode 100644 keyboards/flxlb/zplit/keymaps/via/config.h create mode 100644 keyboards/flxlb/zplit/keymaps/via/keymap.c create mode 100644 keyboards/flxlb/zplit/keymaps/via/rules.mk create mode 100644 keyboards/flxlb/zplit/readme.md create mode 100644 keyboards/flxlb/zplit/rules.mk create mode 100644 keyboards/flxlb/zplit/zplit.c create mode 100644 keyboards/flxlb/zplit/zplit.h create mode 100644 keyboards/flygone60/rev3/config.h create mode 100644 keyboards/flygone60/rev3/info.json create mode 100644 keyboards/flygone60/rev3/keymaps/default/keymap.c create mode 100644 keyboards/flygone60/rev3/keymaps/default/readme.md create mode 100644 keyboards/flygone60/rev3/keymaps/via/keymap.c create mode 100644 keyboards/flygone60/rev3/keymaps/via/rules.mk create mode 100644 keyboards/flygone60/rev3/readme.md create mode 100644 keyboards/flygone60/rev3/rev3.c create mode 100644 keyboards/flygone60/rev3/rev3.h create mode 100644 keyboards/flygone60/rev3/rules.mk create mode 100644 keyboards/foostan/cornelius/keymaps/hvp/config.h create mode 100644 keyboards/foostan/cornelius/keymaps/hvp/keymap.c create mode 100644 keyboards/foostan/cornelius/keymaps/hvp/readme.md rename keyboards/{keebio/fourier/keymaps/jennetters => foostan/cornelius/keymaps/hvp}/rules.mk (100%) create mode 100644 keyboards/for_science/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/forever65/config.h create mode 100644 keyboards/forever65/info.json create mode 100644 keyboards/forever65/keymaps/default/keymap.c create mode 100644 keyboards/forever65/keymaps/via/keymap.c create mode 100644 keyboards/forever65/keymaps/via/rules.mk create mode 100644 keyboards/forever65/readme.md create mode 100644 keyboards/forever65/rules.mk create mode 100644 keyboards/foxlab/time_re/hotswap/config.h create mode 100644 keyboards/foxlab/time_re/hotswap/hotswap.c create mode 100644 keyboards/foxlab/time_re/hotswap/hotswap.h create mode 100644 keyboards/foxlab/time_re/hotswap/info.json create mode 100644 keyboards/foxlab/time_re/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/foxlab/time_re/hotswap/keymaps/via/keymap.c create mode 100644 keyboards/foxlab/time_re/hotswap/keymaps/via/rules.mk create mode 100644 keyboards/foxlab/time_re/hotswap/readme.md create mode 100644 keyboards/foxlab/time_re/hotswap/rules.mk create mode 100644 keyboards/foxlab/time_re/universal/config.h create mode 100644 keyboards/foxlab/time_re/universal/info.json create mode 100644 keyboards/foxlab/time_re/universal/keymaps/default/keymap.c create mode 100644 keyboards/foxlab/time_re/universal/keymaps/via/keymap.c create mode 100644 keyboards/foxlab/time_re/universal/keymaps/via/rules.mk create mode 100644 keyboards/foxlab/time_re/universal/readme.md create mode 100644 keyboards/foxlab/time_re/universal/rules.mk create mode 100644 keyboards/foxlab/time_re/universal/universal.c create mode 100644 keyboards/foxlab/time_re/universal/universal.h create mode 100644 keyboards/friedrich/config.h create mode 100644 keyboards/friedrich/friedrich.c create mode 100644 keyboards/friedrich/friedrich.h create mode 100644 keyboards/friedrich/info.json create mode 100644 keyboards/friedrich/keymaps/default/keymap.c create mode 100644 keyboards/friedrich/keymaps/via/keymap.c create mode 100644 keyboards/friedrich/keymaps/via/rules.mk create mode 100644 keyboards/friedrich/readme.md create mode 100644 keyboards/friedrich/rules.mk create mode 100644 keyboards/frooastboard/config.h create mode 100644 keyboards/frooastboard/frooastboard.c create mode 100644 keyboards/frooastboard/frooastboard.h create mode 100644 keyboards/frooastboard/info.json create mode 100644 keyboards/frooastboard/keymaps/default/keymap.c create mode 100644 keyboards/frooastboard/keymaps/safe_mode/keymap.c create mode 100644 keyboards/frooastboard/keymaps/via/config.h create mode 100644 keyboards/frooastboard/keymaps/via/keymap.c rename keyboards/{sidderskb/majbritt => frooastboard}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/frooastboard/readme.md create mode 100644 keyboards/frooastboard/rules.mk delete mode 100644 keyboards/function96/chconf.h delete mode 100644 keyboards/function96/config.h delete mode 100644 keyboards/function96/function96.c delete mode 100644 keyboards/function96/halconf.h delete mode 100644 keyboards/function96/info.json delete mode 100644 keyboards/function96/mcuconf.h delete mode 100644 keyboards/function96/readme.md delete mode 100644 keyboards/function96/rules.mk create mode 100644 keyboards/function96/v1/config.h create mode 100644 keyboards/function96/v1/info.json rename keyboards/function96/{ => v1}/keymaps/default/keymap.c (100%) rename keyboards/function96/{ => v1}/keymaps/default/readme.md (100%) create mode 100644 keyboards/function96/v1/mcuconf.h create mode 100644 keyboards/function96/v1/readme.md create mode 100644 keyboards/function96/v1/rules.mk create mode 100644 keyboards/function96/v1/v1.c rename keyboards/function96/{function96.h => v1/v1.h} (100%) create mode 100644 keyboards/function96/v2/config.h create mode 100644 keyboards/function96/v2/info.json create mode 100644 keyboards/function96/v2/keymaps/ansi_splitspace/keymap.c create mode 100644 keyboards/function96/v2/keymaps/ansi_splitspace/readme.md create mode 100644 keyboards/function96/v2/keymaps/default/keymap.c create mode 100644 keyboards/function96/v2/keymaps/default/readme.md create mode 100644 keyboards/function96/v2/keymaps/iso/keymap.c create mode 100644 keyboards/function96/v2/keymaps/iso/readme.md create mode 100644 keyboards/function96/v2/keymaps/iso_splitspace/keymap.c create mode 100644 keyboards/function96/v2/keymaps/iso_splitspace/readme.md create mode 100644 keyboards/function96/v2/mcuconf.h create mode 100644 keyboards/function96/v2/readme.md create mode 100644 keyboards/function96/v2/rules.mk create mode 100644 keyboards/function96/v2/v2.c create mode 100644 keyboards/function96/v2/v2.h create mode 100644 keyboards/genone/g1_65/config.h create mode 100644 keyboards/genone/g1_65/g1_65.c create mode 100644 keyboards/genone/g1_65/g1_65.h create mode 100644 keyboards/genone/g1_65/info.json create mode 100644 keyboards/genone/g1_65/keymaps/default/keymap.c create mode 100644 keyboards/genone/g1_65/keymaps/via/keymap.c rename keyboards/{spaceman/pancake => genone/g1_65}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/genone/g1_65/readme.md create mode 100644 keyboards/genone/g1_65/rules.mk create mode 100644 keyboards/gergo/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/ggkeyboards/genesis/hotswap/config.h create mode 100644 keyboards/ggkeyboards/genesis/hotswap/hotswap.c create mode 100644 keyboards/ggkeyboards/genesis/hotswap/hotswap.h create mode 100644 keyboards/ggkeyboards/genesis/hotswap/info.json create mode 100644 keyboards/ggkeyboards/genesis/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/ggkeyboards/genesis/hotswap/keymaps/via/keymap.c rename keyboards/{mechlovin/hannah65/mechlovin9 => ggkeyboards/genesis/hotswap}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/ggkeyboards/genesis/hotswap/readme.md create mode 100644 keyboards/ggkeyboards/genesis/hotswap/rules.mk create mode 100644 keyboards/ggkeyboards/genesis/solder/config.h create mode 100644 keyboards/ggkeyboards/genesis/solder/info.json create mode 100644 keyboards/ggkeyboards/genesis/solder/keymaps/default/keymap.c create mode 100644 keyboards/ggkeyboards/genesis/solder/keymaps/via/keymap.c create mode 100644 keyboards/ggkeyboards/genesis/solder/keymaps/via/rules.mk create mode 100644 keyboards/ggkeyboards/genesis/solder/readme.md create mode 100644 keyboards/ggkeyboards/genesis/solder/rules.mk create mode 100644 keyboards/ggkeyboards/genesis/solder/solder.c create mode 100644 keyboards/ggkeyboards/genesis/solder/solder.h rename keyboards/{naked60 => gmmk}/.noci (100%) create mode 100644 keyboards/gmmk/pro/ansi/ansi.c create mode 100644 keyboards/gmmk/pro/ansi/ansi.h create mode 100644 keyboards/gmmk/pro/ansi/config.h create mode 100644 keyboards/gmmk/pro/ansi/info.json create mode 100644 keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md create mode 100644 keyboards/gmmk/pro/ansi/keymaps/andrebrait/config.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/andrebrait/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/andrebrait/readme.md create mode 100644 keyboards/gmmk/pro/ansi/keymaps/andrebrait/rules.mk create mode 100644 keyboards/gmmk/pro/ansi/keymaps/default/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/jackkenney/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md create mode 100644 keyboards/gmmk/pro/ansi/keymaps/jonavin/rgb_matrix_map.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/.gitignore create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/README.md create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/config.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/encoder.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/encoder.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/fun.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/mike1808.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/mike1808.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/process_record.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/process_record.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/rules.mk create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/utils.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/mike1808/utils.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/paddlegame/config.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/paddlegame/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/paddlegame/paddlegame.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/paddlegame/readme.md create mode 100644 keyboards/gmmk/pro/ansi/keymaps/paddlegame/rgb_matrix_map.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/paddlegame/rules.mk create mode 100644 keyboards/gmmk/pro/ansi/keymaps/stickandgum/config.h create mode 100644 keyboards/gmmk/pro/ansi/keymaps/stickandgum/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/stickandgum/readme.md create mode 100644 keyboards/gmmk/pro/ansi/keymaps/stickandgum/rules.mk create mode 100644 keyboards/gmmk/pro/ansi/keymaps/via/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/via/rules.mk create mode 100644 keyboards/gmmk/pro/ansi/keymaps/wholesomeducky/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.c create mode 100644 keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.json create mode 100644 keyboards/gmmk/pro/ansi/keymaps/willwm/readme.md create mode 100644 keyboards/gmmk/pro/ansi/keymaps/willwm/rules.mk create mode 100644 keyboards/gmmk/pro/ansi/readme.md create mode 100644 keyboards/gmmk/pro/ansi/rules.mk create mode 100644 keyboards/gmmk/pro/config.h create mode 100644 keyboards/gmmk/pro/halconf.h create mode 100644 keyboards/gmmk/pro/iso/config.h create mode 100644 keyboards/gmmk/pro/iso/info.json create mode 100644 keyboards/gmmk/pro/iso/iso.c create mode 100644 keyboards/gmmk/pro/iso/iso.h create mode 100644 keyboards/gmmk/pro/iso/keymaps/default/keymap.c create mode 100644 keyboards/gmmk/pro/iso/keymaps/via/keymap.c create mode 100644 keyboards/gmmk/pro/iso/keymaps/via/rules.mk create mode 100644 keyboards/gmmk/pro/iso/readme.md create mode 100644 keyboards/gmmk/pro/iso/rules.mk create mode 100644 keyboards/gmmk/pro/keymaps/moults31/keymap.c create mode 100644 keyboards/gmmk/pro/mcuconf.h create mode 100644 keyboards/gmmk/pro/pro.c create mode 100644 keyboards/gmmk/pro/pro.h create mode 100644 keyboards/gon/nerd60/keymaps/via/keymap.c create mode 100644 keyboards/gon/nerd60/keymaps/via/rules.mk create mode 100644 keyboards/gon/nerdtkl/keymaps/via/keymap.c create mode 100644 keyboards/gon/nerdtkl/keymaps/via/rules.mk create mode 100644 keyboards/gorthage_truck/config.h create mode 100644 keyboards/gorthage_truck/gorthage_truck.c create mode 100644 keyboards/gorthage_truck/gorthage_truck.h create mode 100644 keyboards/gorthage_truck/info.json create mode 100644 keyboards/gorthage_truck/keymaps/10u/keymap.c create mode 100644 keyboards/gorthage_truck/keymaps/10u/readme.md create mode 100644 keyboards/gorthage_truck/keymaps/7u/keymap.c create mode 100644 keyboards/gorthage_truck/keymaps/7u/readme.md create mode 100644 keyboards/gorthage_truck/keymaps/default/keymap.c create mode 100644 keyboards/gorthage_truck/keymaps/default/readme.md create mode 100644 keyboards/gorthage_truck/readme.md create mode 100644 keyboards/gorthage_truck/rules.mk create mode 100644 keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c create mode 100644 keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md create mode 100644 keyboards/gvalchca/ga150/config.h create mode 100644 keyboards/gvalchca/ga150/ga150.c create mode 100644 keyboards/gvalchca/ga150/ga150.h create mode 100644 keyboards/gvalchca/ga150/info.json create mode 100644 keyboards/gvalchca/ga150/keymaps/default/keymap.c create mode 100644 keyboards/gvalchca/ga150/keymaps/default/readme.md create mode 100644 keyboards/gvalchca/ga150/keymaps/via/keymap.c create mode 100644 keyboards/gvalchca/ga150/keymaps/via/rules.mk create mode 100644 keyboards/gvalchca/ga150/readme.md create mode 100644 keyboards/gvalchca/ga150/rules.mk create mode 100644 keyboards/gvalchca/spaccboard/config.h create mode 100644 keyboards/gvalchca/spaccboard/info.json create mode 100644 keyboards/gvalchca/spaccboard/keymaps/default/keymap.c create mode 100644 keyboards/gvalchca/spaccboard/keymaps/default/readme.md create mode 100644 keyboards/gvalchca/spaccboard/keymaps/via/keymap.c create mode 100644 keyboards/gvalchca/spaccboard/keymaps/via/rules.mk create mode 100644 keyboards/gvalchca/spaccboard/readme.md create mode 100644 keyboards/gvalchca/spaccboard/rules.mk create mode 100644 keyboards/gvalchca/spaccboard/spaccboard.c create mode 100644 keyboards/gvalchca/spaccboard/spaccboard.h create mode 100644 keyboards/h0oni/hotduck/config.h create mode 100644 keyboards/h0oni/hotduck/hotduck.c create mode 100644 keyboards/h0oni/hotduck/hotduck.h create mode 100644 keyboards/h0oni/hotduck/info.json create mode 100644 keyboards/h0oni/hotduck/keymaps/default/keymap.c create mode 100644 keyboards/h0oni/hotduck/keymaps/via/keymap.c rename keyboards/{thevankeyboards/minivan => h0oni/hotduck}/keymaps/via/rules.mk (100%) create mode 100644 keyboards/h0oni/hotduck/readme.md create mode 100644 keyboards/h0oni/hotduck/rules.mk create mode 100644 keyboards/halfcliff/config.h create mode 100644 keyboards/halfcliff/halfcliff.c create mode 100644 keyboards/halfcliff/halfcliff.h create mode 100644 keyboards/halfcliff/info.json create mode 100644 keyboards/halfcliff/keymaps/default/keymap.c create mode 100644 keyboards/halfcliff/keymaps/default/readme.md create mode 100644 keyboards/halfcliff/keymaps/via/keymap.c create mode 100644 keyboards/halfcliff/keymaps/via/readme.md create mode 100644 keyboards/halfcliff/keymaps/via/rules.mk create mode 100644 keyboards/halfcliff/matrix.c create mode 100644 keyboards/halfcliff/readme.md create mode 100644 keyboards/halfcliff/rules.mk create mode 100644 keyboards/handwired/amigopunk/amigopunk.c create mode 100644 keyboards/handwired/amigopunk/amigopunk.h create mode 100644 keyboards/handwired/amigopunk/config.h create mode 100644 keyboards/handwired/amigopunk/info.json create mode 100644 keyboards/handwired/amigopunk/keymaps/default/keymap.c create mode 100644 keyboards/handwired/amigopunk/readme.md create mode 100644 keyboards/handwired/amigopunk/rules.mk create mode 100644 keyboards/handwired/axon/axon.c create mode 100644 keyboards/handwired/axon/axon.h create mode 100644 keyboards/handwired/axon/config.h create mode 100644 keyboards/handwired/axon/info.json create mode 100644 keyboards/handwired/axon/keymaps/default/keymap.c create mode 100644 keyboards/handwired/axon/readme.md create mode 100644 keyboards/handwired/axon/rules.mk create mode 100644 keyboards/handwired/bolek/bolek.c create mode 100644 keyboards/handwired/bolek/bolek.h create mode 100644 keyboards/handwired/bolek/config.h create mode 100644 keyboards/handwired/bolek/info.json create mode 100644 keyboards/handwired/bolek/keymaps/default/keymap.c create mode 100644 keyboards/handwired/bolek/keymaps/default/readme.md create mode 100644 keyboards/handwired/bolek/readme.md create mode 100644 keyboards/handwired/bolek/rules.mk delete mode 100644 keyboards/handwired/dactyl/i2cmaster.h create mode 100644 keyboards/handwired/dactyl/keymaps/default/rules.mk create mode 100644 keyboards/handwired/dactyl/keymaps/dvorak/rules.mk delete mode 100644 keyboards/handwired/dactyl/twimaster.c create mode 100644 keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.c create mode 100644 keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6_2_5/config.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6_2_5/info.json create mode 100644 keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/config.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/keymap.json create mode 100644 keyboards/handwired/dactyl_manuform/5x6_2_5/readme.md create mode 100644 keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk create mode 100644 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h create mode 100644 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.h delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/info.json delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/config.h delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/keymap.c delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/rules.mk delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.c delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.h delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/post_config.h delete mode 100644 keyboards/handwired/dactyl_manuform/5x6_right_trackball/rules.mk delete mode 100644 keyboards/handwired/dactyl_manuform/rules.mk create mode 100644 keyboards/handwired/datahand/info.json create mode 100644 keyboards/handwired/dtisaac01/config.h create mode 100644 keyboards/handwired/dtisaac01/dtisaac01.c create mode 100644 keyboards/handwired/dtisaac01/dtisaac01.h create mode 100644 keyboards/handwired/dtisaac01/info.json create mode 100644 keyboards/handwired/dtisaac01/keymaps/default/keymap.c create mode 100644 keyboards/handwired/dtisaac01/keymaps/default/readme.md create mode 100644 keyboards/handwired/dtisaac01/readme.md create mode 100644 keyboards/handwired/dtisaac01/rules.mk create mode 100644 keyboards/handwired/elrgo_s/config.h create mode 100644 keyboards/handwired/elrgo_s/elrgo_s.c create mode 100644 keyboards/handwired/elrgo_s/elrgo_s.h create mode 100644 keyboards/handwired/elrgo_s/info.json create mode 100644 keyboards/handwired/elrgo_s/keymaps/default/config.h create mode 100644 keyboards/handwired/elrgo_s/keymaps/default/keymap.c create mode 100644 keyboards/handwired/elrgo_s/readme.md create mode 100644 keyboards/handwired/elrgo_s/rules.mk create mode 100644 keyboards/handwired/ergocheap/chconf.h create mode 100644 keyboards/handwired/ergocheap/config.h create mode 100644 keyboards/handwired/ergocheap/ergocheap.c create mode 100644 keyboards/handwired/ergocheap/ergocheap.h create mode 100644 keyboards/handwired/ergocheap/halconf.h create mode 100644 keyboards/handwired/ergocheap/info.json create mode 100644 keyboards/handwired/ergocheap/keymaps/default/keymap.c create mode 100644 keyboards/handwired/ergocheap/keymaps/via/keymap.c create mode 100644 keyboards/handwired/ergocheap/keymaps/via/rules.mk create mode 100644 keyboards/handwired/ergocheap/mcuconf.h create mode 100644 keyboards/handwired/ergocheap/readme.md create mode 100644 keyboards/handwired/ergocheap/rules.mk create mode 100644 keyboards/handwired/frankie_macropad/config.h create mode 100644 keyboards/handwired/frankie_macropad/frankie_macropad.c create mode 100644 keyboards/handwired/frankie_macropad/frankie_macropad.h create mode 100644 keyboards/handwired/frankie_macropad/info.json create mode 100644 keyboards/handwired/frankie_macropad/keymaps/default/config.h create mode 100644 keyboards/handwired/frankie_macropad/keymaps/default/keymap.c create mode 100644 keyboards/handwired/frankie_macropad/keymaps/default/readme.md create mode 100644 keyboards/handwired/frankie_macropad/readme.md create mode 100644 keyboards/handwired/frankie_macropad/rules.mk create mode 100644 keyboards/handwired/marauder/config.h create mode 100644 keyboards/handwired/marauder/info.json create mode 100644 keyboards/handwired/marauder/keymaps/default/keymap.c create mode 100644 keyboards/handwired/marauder/keymaps/orvia/keymap.c create mode 100644 keyboards/handwired/marauder/keymaps/orvia/rules.mk create mode 100644 keyboards/handwired/marauder/keymaps/via/keymap.c create mode 100644 keyboards/handwired/marauder/keymaps/via/rules.mk create mode 100644 keyboards/handwired/marauder/marauder.c create mode 100644 keyboards/handwired/marauder/marauder.h create mode 100644 keyboards/handwired/marauder/readme.md create mode 100644 keyboards/handwired/marauder/rules.mk delete mode 100644 keyboards/handwired/not_so_minidox/keymaps/mtdjr/config.h delete mode 100644 keyboards/handwired/not_so_minidox/keymaps/mtdjr/keymap.c create mode 100644 keyboards/handwired/oem_ansi_fullsize/config.h create mode 100644 keyboards/handwired/oem_ansi_fullsize/info.json create mode 100644 keyboards/handwired/oem_ansi_fullsize/keymaps/default/keymap.c create mode 100644 keyboards/handwired/oem_ansi_fullsize/keymaps/default/readme.md create mode 100644 keyboards/handwired/oem_ansi_fullsize/oem_ansi_fullsize.c create mode 100644 keyboards/handwired/oem_ansi_fullsize/oem_ansi_fullsize.h create mode 100644 keyboards/handwired/oem_ansi_fullsize/readme.md create mode 100644 keyboards/handwired/oem_ansi_fullsize/rules.mk create mode 100644 keyboards/handwired/onekey/blackpill_f411_tinyuf2/chconf.h create mode 100755 keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h create mode 100644 keyboards/handwired/onekey/blackpill_f411_tinyuf2/halconf.h create mode 100755 keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h create mode 100755 keyboards/handwired/onekey/blackpill_f411_tinyuf2/readme.md create mode 100755 keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk create mode 100644 keyboards/handwired/onekey/keymaps/console/keymap.c create mode 100644 keyboards/handwired/onekey/keymaps/digitizer/keymap.c create mode 100644 keyboards/handwired/onekey/keymaps/digitizer/rules.mk delete mode 100644 keyboards/handwired/p1800fl/config.h delete mode 100644 keyboards/handwired/p1800fl/info.json delete mode 100644 keyboards/handwired/p1800fl/keymaps/default/keymap.c delete mode 100644 keyboards/handwired/p1800fl/readme.md delete mode 100644 keyboards/handwired/p1800fl/rules.mk create mode 100644 keyboards/handwired/pteron/keymaps/alzafacon/config.h create mode 100644 keyboards/handwired/pteron/keymaps/alzafacon/keymap.c create mode 100644 keyboards/handwired/pteron/keymaps/alzafacon/readme.md create mode 100644 keyboards/handwired/pteron/keymaps/alzafacon/rules.mk create mode 100644 keyboards/handwired/split89/config.h create mode 100644 keyboards/handwired/split89/info.json create mode 100644 keyboards/handwired/split89/keymaps/default/keymap.c create mode 100644 keyboards/handwired/split89/keymaps/default/readme.md create mode 100644 keyboards/handwired/split89/readme.md create mode 100644 keyboards/handwired/split89/rules.mk create mode 100644 keyboards/handwired/split89/split89.c create mode 100644 keyboards/handwired/split89/split89.h create mode 100644 keyboards/handwired/stream_cheap/2x3/readme.md create mode 100644 keyboards/handwired/stream_cheap/2x4/keymaps/via/keymap.c create mode 100644 keyboards/handwired/stream_cheap/2x4/keymaps/via/rules.mk create mode 100644 keyboards/handwired/stream_cheap/2x4/keymaps/via/stream_cheap_2x4.json create mode 100644 keyboards/handwired/stream_cheap/2x4/readme.md create mode 100644 keyboards/handwired/stream_cheap/2x5/readme.md create mode 100644 keyboards/handwired/swiftrax/equator/config.h create mode 100644 keyboards/handwired/swiftrax/equator/equator.c create mode 100644 keyboards/handwired/swiftrax/equator/equator.h create mode 100644 keyboards/handwired/swiftrax/equator/info.json create mode 100644 keyboards/handwired/swiftrax/equator/keymaps/default/keymap.c create mode 100644 keyboards/handwired/swiftrax/equator/keymaps/via/keymap.c create mode 100644 keyboards/handwired/swiftrax/equator/keymaps/via/rules.mk create mode 100644 keyboards/handwired/swiftrax/equator/readme.md create mode 100644 keyboards/handwired/swiftrax/equator/rules.mk create mode 100644 keyboards/handwired/swiftrax/walter/config.h create mode 100644 keyboards/handwired/swiftrax/walter/info.json create mode 100644 keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c create mode 100644 keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c create mode 100644 keyboards/handwired/swiftrax/walter/keymaps/via/rules.mk create mode 100644 keyboards/handwired/swiftrax/walter/readme.md create mode 100644 keyboards/handwired/swiftrax/walter/rules.mk create mode 100644 keyboards/handwired/swiftrax/walter/walter.c create mode 100644 keyboards/handwired/swiftrax/walter/walter.h delete mode 100644 keyboards/handwired/symmetric70_proto/config.h create mode 100644 keyboards/handwired/symmetric70_proto/debug_config.h create mode 100644 keyboards/handwired/symmetric70_proto/local_features.mk delete mode 100644 keyboards/handwired/symmetric70_proto/matrix.c create mode 100644 keyboards/handwired/symmetric70_proto/matrix_debug/gpio_extr.h create mode 100644 keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c create mode 100644 keyboards/handwired/symmetric70_proto/matrix_debug/readme.md create mode 100644 keyboards/handwired/symmetric70_proto/matrix_fast/cpp_map.h create mode 100644 keyboards/handwired/symmetric70_proto/matrix_fast/gpio_extr.h create mode 100644 keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c create mode 100644 keyboards/handwired/symmetric70_proto/matrix_fast/matrix_config_expand.c create mode 100644 keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extension_74hc15x.c create mode 100644 keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extr.h create mode 100644 keyboards/handwired/symmetric70_proto/matrix_fast/readme.md create mode 100644 keyboards/handwired/symmetric70_proto/matrix_fast/test_config.h create mode 100644 keyboards/handwired/symmetric70_proto/matrix_fast/test_config_74hc157.h create mode 100644 keyboards/handwired/symmetric70_proto/matrix_fast/test_config_direct.h create mode 100644 keyboards/handwired/symmetric70_proto/promicro/config.h create mode 100644 keyboards/handwired/symmetric70_proto/promicro/fast/config.h create mode 100644 keyboards/handwired/symmetric70_proto/promicro/fast/readme.md create mode 100644 keyboards/handwired/symmetric70_proto/promicro/fast/rules.mk create mode 100644 keyboards/handwired/symmetric70_proto/promicro/normal/config.h create mode 100644 keyboards/handwired/symmetric70_proto/promicro/normal/readme.md create mode 100644 keyboards/handwired/symmetric70_proto/promicro/normal/rules.mk create mode 100644 keyboards/handwired/symmetric70_proto/promicro/readme.md create mode 100644 keyboards/handwired/symmetric70_proto/promicro/rules.mk create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/config.h create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/fast/config.h create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/fast/readme.md create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/fast/rules.mk create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/normal/config.h create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/normal/readme.md create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/normal/rules.mk create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/proton_c.c create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/readme.md create mode 100644 keyboards/handwired/symmetric70_proto/proton_c/rules.mk delete mode 100644 keyboards/handwired/symmetric70_proto/rules.mk delete mode 100644 keyboards/handwired/tennie/keymaps/default/readme.md create mode 100644 keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c create mode 100644 keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.h create mode 100644 keyboards/handwired/tractyl_manuform/4x6_right/config.h create mode 100644 keyboards/handwired/tractyl_manuform/4x6_right/info.json create mode 100644 keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c create mode 100644 keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h create mode 100644 keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c create mode 100644 keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/rules.mk rename keyboards/handwired/{dactyl_manuform/5x6_right_trackball => tractyl_manuform/4x6_right}/readme.md (100%) create mode 100644 keyboards/handwired/tractyl_manuform/4x6_right/rules.mk create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.c create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/config.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/f411/chconf.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/info.json create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/keymaps/default/keymap.c create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/readme.md create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/rules.mk create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/rules.mk create mode 100644 keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/teensy2pp.h create mode 100644 keyboards/handwired/tractyl_manuform/config.h create mode 100644 keyboards/handwired/tractyl_manuform/post_config.h create mode 100644 keyboards/handwired/tractyl_manuform/readme.md create mode 100644 keyboards/handwired/tractyl_manuform/tm_sync.c create mode 100644 keyboards/handwired/tractyl_manuform/tractyl_manuform.c create mode 100644 keyboards/handwired/tractyl_manuform/tractyl_manuform.h delete mode 100644 keyboards/handwired/traveller/keymaps/default/readme.md create mode 100644 keyboards/handwired/unicomp_mini_m/config.h create mode 100644 keyboards/handwired/unicomp_mini_m/info.json create mode 100644 keyboards/handwired/unicomp_mini_m/keymaps/default/keymap.c create mode 100644 keyboards/handwired/unicomp_mini_m/keymaps/default/readme.md create mode 100644 keyboards/handwired/unicomp_mini_m/readme.md create mode 100644 keyboards/handwired/unicomp_mini_m/rules.mk create mode 100644 keyboards/handwired/unicomp_mini_m/unicomp_mini_m.c create mode 100644 keyboards/handwired/unicomp_mini_m/unicomp_mini_m.h create mode 100644 keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c create mode 100644 keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c create mode 100644 keyboards/hotdox/keymaps/imchipwood/keymap.c create mode 100644 keyboards/hub16/keymaps/peepeetee/config.h create mode 100644 keyboards/hub16/keymaps/peepeetee/keymap.c create mode 100644 keyboards/hub16/keymaps/peepeetee/rules.mk create mode 100644 keyboards/hub20/keymaps/left_hand_numpad/keymap.c create mode 100644 keyboards/hub20/keymaps/right_hand_numpad/keymap.c create mode 100644 keyboards/ianklug/grooveboard/config.h create mode 100644 keyboards/ianklug/grooveboard/grooveboard.c create mode 100644 keyboards/ianklug/grooveboard/grooveboard.h create mode 100644 keyboards/ianklug/grooveboard/info.json create mode 100644 keyboards/ianklug/grooveboard/keymaps/default/keymap.c create mode 100644 keyboards/ianklug/grooveboard/keymaps/default/readme.md create mode 100644 keyboards/ianklug/grooveboard/keymaps/via/keymap.c create mode 100644 keyboards/ianklug/grooveboard/keymaps/via/readme.md create mode 100644 keyboards/ianklug/grooveboard/keymaps/via/rules.mk create mode 100644 keyboards/ianklug/grooveboard/readme.md create mode 100644 keyboards/ianklug/grooveboard/rules.mk create mode 100644 keyboards/id67/config.h create mode 100644 keyboards/id67/id67.c create mode 100644 keyboards/id67/id67.h create mode 100644 keyboards/id67/info.json create mode 100644 keyboards/id67/keymaps/default/keymap.c create mode 100644 keyboards/id67/keymaps/via/keymap.c create mode 100644 keyboards/id67/keymaps/via/rules.mk create mode 100644 keyboards/id67/readme.md create mode 100644 keyboards/id67/rules.mk create mode 100644 keyboards/id80/ansi/keymaps/msf/config.h create mode 100644 keyboards/id80/ansi/keymaps/msf/keymap.c create mode 100644 keyboards/id80/ansi/keymaps/msf/readme.md rename keyboards/{anavi/macropad2/keymaps/copypaste => id80/ansi/keymaps/msf}/rules.mk (100%) create mode 100644 keyboards/id80/keymaps/rverst/keymap.c create mode 100644 keyboards/id80/keymaps/rverst/readme.md create mode 100644 keyboards/id80/keymaps/rverst/rverst.json create mode 100644 keyboards/idobo/keymaps/gkbd_75/config.h create mode 100644 keyboards/idobo/keymaps/gkbd_75/keymap.c create mode 100644 keyboards/idobo/keymaps/gkbd_75/readme.md create mode 100644 keyboards/idobo/keymaps/gkbd_orthon/config.h create mode 100644 keyboards/idobo/keymaps/gkbd_orthon/keymap.c create mode 100644 keyboards/idobo/keymaps/gkbd_orthon/readme.md create mode 100644 keyboards/idobo/keymaps/pathnirvana/config.h create mode 100644 keyboards/idobo/keymaps/pathnirvana/keymap.c create mode 100644 keyboards/idobo/keymaps/pathnirvana/rules.mk create mode 100644 keyboards/illusion/rosa/config.h create mode 100644 keyboards/illusion/rosa/info.json create mode 100644 keyboards/illusion/rosa/keymaps/default/keymap.c create mode 100644 keyboards/illusion/rosa/keymaps/default/readme.md create mode 100644 keyboards/illusion/rosa/keymaps/oggi/keymap.c create mode 100644 keyboards/illusion/rosa/keymaps/oggi/readme.md create mode 100644 keyboards/illusion/rosa/keymaps/split_bs_rshift/keymap.c create mode 100644 keyboards/illusion/rosa/keymaps/split_bs_rshift/readme.md create mode 100644 keyboards/illusion/rosa/keymaps/split_rshift/keymap.c create mode 100644 keyboards/illusion/rosa/keymaps/split_rshift/readme.md create mode 100644 keyboards/illusion/rosa/keymaps/via/keymap.c create mode 100644 keyboards/illusion/rosa/keymaps/via/readme.md create mode 100644 keyboards/illusion/rosa/keymaps/via/rules.mk create mode 100644 keyboards/illusion/rosa/readme.md create mode 100644 keyboards/illusion/rosa/rosa.c create mode 100644 keyboards/illusion/rosa/rosa.h create mode 100644 keyboards/illusion/rosa/rules.mk rename keyboards/{dztech => ilumkb}/volcano660/config.h (100%) rename keyboards/{dztech => ilumkb}/volcano660/info.json (100%) rename keyboards/{dztech => ilumkb}/volcano660/keymaps/default/keymap.c (100%) mode change 100755 => 100644 rename keyboards/{dztech => ilumkb}/volcano660/keymaps/via/keymap.c (100%) mode change 100755 => 100644 create mode 100644 keyboards/ilumkb/volcano660/keymaps/via/rules.mk create mode 100644 keyboards/ilumkb/volcano660/readme.md rename keyboards/{dztech => ilumkb}/volcano660/rules.mk (100%) rename keyboards/{dztech => ilumkb}/volcano660/volcano660.c (100%) rename keyboards/{dztech => ilumkb}/volcano660/volcano660.h (100%) create mode 100644 keyboards/infinity60/led/config.h create mode 100644 keyboards/infinity60/led/readme.md create mode 100644 keyboards/infinity60/led/rules.mk create mode 100644 keyboards/infinity60/rev1/config.h create mode 100644 keyboards/infinity60/rev1/readme.md rename keyboards/{xd002/.noci => infinity60/rev1/rules.mk} (100%) create mode 100644 keyboards/irene/config.h create mode 100644 keyboards/irene/info.json create mode 100644 keyboards/irene/irene.c create mode 100644 keyboards/irene/irene.h create mode 100644 keyboards/irene/keymaps/default/keymap.c create mode 100644 keyboards/irene/keymaps/via/keymap.c create mode 100644 keyboards/irene/keymaps/via/rules.mk create mode 100644 keyboards/irene/readme.md create mode 100644 keyboards/irene/rules.mk create mode 100644 keyboards/iriskeyboards/config.h create mode 100644 keyboards/iriskeyboards/info.json create mode 100644 keyboards/iriskeyboards/iriskeyboards.c create mode 100644 keyboards/iriskeyboards/iriskeyboards.h create mode 100644 keyboards/iriskeyboards/keymaps/default/keymap.c create mode 100644 keyboards/iriskeyboards/keymaps/default/readme.md create mode 100644 keyboards/iriskeyboards/keymaps/via/keymap.c create mode 100644 keyboards/iriskeyboards/keymaps/via/readme.md create mode 100644 keyboards/iriskeyboards/keymaps/via/rules.mk create mode 100644 keyboards/iriskeyboards/readme.md create mode 100644 keyboards/iriskeyboards/rules.mk create mode 100644 keyboards/jacky_studio/bear_65/keymaps/stanrc85/keymap.c create mode 100644 keyboards/jacky_studio/bear_65/keymaps/stanrc85/rules.mk delete mode 100644 keyboards/jd45/keymaps/justin/keymap.c delete mode 100644 keyboards/jd45/keymaps/mjt/config.h delete mode 100644 keyboards/jd45/keymaps/mjt/keymap.c delete mode 100644 keyboards/jd45/keymaps/mjt/readme.md delete mode 100644 keyboards/jd45/keymaps/mjt/rules.mk delete mode 100644 keyboards/jj40/jj40.h delete mode 100644 keyboards/jj40/keymaps/ajp10304/readme.md delete mode 100644 keyboards/jj40/keymaps/fun40/rules.mk delete mode 100644 keyboards/jj40/keymaps/like_jis/config.h delete mode 100644 keyboards/jj40/keymaps/like_jis/keymap.c delete mode 100644 keyboards/jj40/keymaps/like_jis/rules.mk delete mode 100644 keyboards/jj40/keymaps/oscillope/rules.mk delete mode 100644 keyboards/jj40/keymaps/skewwhiffy/keymap.c delete mode 100644 keyboards/jj40/keymaps/stevexyz/rules.mk delete mode 100644 keyboards/jj40/keymaps/waples/rules.mk delete mode 100644 keyboards/jj40/readme.md delete mode 100644 keyboards/jj40/rules.mk delete mode 100644 keyboards/jj4x4/readme.md delete mode 100644 keyboards/jj4x4/rules.mk delete mode 100644 keyboards/jj50/keymaps/abstractkb/keymap.c delete mode 100644 keyboards/jj50/keymaps/abstractkb_gergomatch/keymap.c delete mode 100644 keyboards/jj50/readme.md delete mode 100644 keyboards/jj50/rules.mk create mode 100644 keyboards/jkdlab/binary_monkey/binary_monkey.c create mode 100644 keyboards/jkdlab/binary_monkey/binary_monkey.h create mode 100644 keyboards/jkdlab/binary_monkey/config.h create mode 100644 keyboards/jkdlab/binary_monkey/info.json create mode 100644 keyboards/jkdlab/binary_monkey/keymaps/ascii/keymap.c create mode 100644 keyboards/jkdlab/binary_monkey/keymaps/default/keymap.c create mode 100644 keyboards/jkdlab/binary_monkey/readme.md create mode 100644 keyboards/jkdlab/binary_monkey/rules.mk create mode 100644 keyboards/k_type/i2c_master.c create mode 100644 keyboards/k_type/i2c_master.h create mode 100644 keyboards/k_type/is31fl3733-dual.c create mode 100644 keyboards/k_type/is31fl3733-dual.h create mode 100644 keyboards/k_type/k_type-rgbdriver.c create mode 100644 keyboards/k_type/keymaps/andrew-fahmy/config.h create mode 100644 keyboards/k_type/keymaps/andrew-fahmy/keymap.c create mode 100644 keyboards/k_type/keymaps/andrew-fahmy/rules.mk create mode 100644 keyboards/kabedon/kabedon98e/chconf.h create mode 100644 keyboards/kabedon/kabedon98e/config.h create mode 100644 keyboards/kabedon/kabedon98e/halconf.h create mode 100644 keyboards/kabedon/kabedon98e/info.json create mode 100644 keyboards/kabedon/kabedon98e/kabedon98e.c create mode 100644 keyboards/kabedon/kabedon98e/kabedon98e.h create mode 100644 keyboards/kabedon/kabedon98e/keymaps/default/keymap.c create mode 100644 keyboards/kabedon/kabedon98e/keymaps/via/keymap.c create mode 100644 keyboards/kabedon/kabedon98e/keymaps/via/rules.mk create mode 100644 keyboards/kabedon/kabedon98e/mcuconf.h create mode 100644 keyboards/kabedon/kabedon98e/readme.md create mode 100644 keyboards/kabedon/kabedon98e/rules.mk create mode 100644 keyboards/kb_elmo/67mk_e/67mk_e.c create mode 100644 keyboards/kb_elmo/67mk_e/67mk_e.h create mode 100644 keyboards/kb_elmo/67mk_e/config.h create mode 100644 keyboards/kb_elmo/67mk_e/info.json create mode 100644 keyboards/kb_elmo/67mk_e/keymaps/default/keymap.c create mode 100644 keyboards/kb_elmo/67mk_e/keymaps/via/keymap.c create mode 100644 keyboards/kb_elmo/67mk_e/keymaps/via/rules.mk create mode 100644 keyboards/kb_elmo/67mk_e/readme.md create mode 100644 keyboards/kb_elmo/67mk_e/rules.mk create mode 100644 keyboards/kb_elmo/qez/config.h create mode 100644 keyboards/kb_elmo/qez/info.json create mode 100644 keyboards/kb_elmo/qez/keymaps/default/keymap.c create mode 100644 keyboards/kb_elmo/qez/keymaps/via/keymap.c create mode 100644 keyboards/kb_elmo/qez/keymaps/via/rules.mk create mode 100644 keyboards/kb_elmo/qez/qez.c create mode 100644 keyboards/kb_elmo/qez/qez.h create mode 100644 keyboards/kb_elmo/qez/readme.md create mode 100644 keyboards/kb_elmo/qez/rules.mk create mode 100644 keyboards/kb_elmo/twelvekey/config.h create mode 100644 keyboards/kb_elmo/twelvekey/info.json create mode 100644 keyboards/kb_elmo/twelvekey/keymaps/default/keymap.c create mode 100644 keyboards/kb_elmo/twelvekey/keymaps/via/keymap.c create mode 100644 keyboards/kb_elmo/twelvekey/keymaps/via/rules.mk create mode 100644 keyboards/kb_elmo/twelvekey/readme.md create mode 100644 keyboards/kb_elmo/twelvekey/rules.mk create mode 100644 keyboards/kb_elmo/twelvekey/twelvekey.c create mode 100644 keyboards/kb_elmo/twelvekey/twelvekey.h create mode 100644 keyboards/kbdfans/kbd67/hotswap/keymaps/via/keymap.c create mode 100644 keyboards/kbdfans/kbd67/hotswap/keymaps/via/rules.mk create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/keymap.c create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/rules.mk create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v1/v1.c create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v1/v1.h create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v2/v2.c create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v2/v2.h create mode 100755 keyboards/kbdfans/kbd67/mkiirgb/v3/config.h create mode 100644 keyboards/kbdfans/kbd67/mkiirgb/v3/readme.md create mode 100755 keyboards/kbdfans/kbd67/mkiirgb/v3/rules.mk create mode 100755 keyboards/kbdfans/kbd67/mkiirgb/v3/v3.c create mode 100755 keyboards/kbdfans/kbd67/mkiirgb/v3/v3.h create mode 100644 keyboards/kbdfans/kbd6x/keymaps/peott-fr/keymap.c create mode 100644 keyboards/kbdfans/kbdmini/info.json create mode 100644 keyboards/kbdfans/kbdpad_mk2/keymaps/iracing_replay/keymap.c create mode 100644 keyboards/kbdfans/kbdpad_mk2/keymaps/iracing_replay/readme.md rename keyboards/{anavi/macropad2/keymaps/tap_dance => kbdfans/kbdpad_mk2/keymaps/iracing_replay}/rules.mk (100%) delete mode 100644 keyboards/kc60/keymaps/noroadsleft/readme_ch1.md delete mode 100644 keyboards/kc60/keymaps/noroadsleft/readme_ch2.md delete mode 100644 keyboards/kc60/keymaps/noroadsleft/readme_ch3.md delete mode 100644 keyboards/kc60/keymaps/noroadsleft/readme_ch4.md delete mode 100644 keyboards/kc60/keymaps/noroadsleft/readme_git.md delete mode 100644 keyboards/keebio/chocopad/keymaps/khord/config.h delete mode 100644 keyboards/keebio/dilly/keymaps/bakingpy/config.h delete mode 100644 keyboards/keebio/dilly/keymaps/bakingpy/keymap.c delete mode 100644 keyboards/keebio/dilly/keymaps/delmo/config.h delete mode 100644 keyboards/keebio/dilly/keymaps/delmo/keymap.c delete mode 100644 keyboards/keebio/dilly/keymaps/pletcher/config.h delete mode 100644 keyboards/keebio/dilly/keymaps/pletcher/keymap.c delete mode 100644 keyboards/keebio/dilly/keymaps/pletcher/rules.mk rename keyboards/{xd60/rev2 => keebio/foldkb}/.noci (100%) create mode 100644 keyboards/keebio/foldkb/config.h create mode 100644 keyboards/keebio/foldkb/foldkb.c create mode 100644 keyboards/keebio/foldkb/foldkb.h create mode 100644 keyboards/keebio/foldkb/info.json create mode 100644 keyboards/keebio/foldkb/keymaps/default/keymap.c create mode 100644 keyboards/keebio/foldkb/keymaps/via/keymap.c create mode 100644 keyboards/keebio/foldkb/keymaps/via/rules.mk create mode 100644 keyboards/keebio/foldkb/readme.md create mode 100644 keyboards/keebio/foldkb/rev1/config.h create mode 100644 keyboards/keebio/foldkb/rev1/rev1.c create mode 100644 keyboards/keebio/foldkb/rev1/rev1.h create mode 100644 keyboards/keebio/foldkb/rev1/rules.mk create mode 100644 keyboards/keebio/foldkb/rules.mk delete mode 100644 keyboards/keebio/fourier/keymaps/jennetters/config.h delete mode 100644 keyboards/keebio/fourier/keymaps/jennetters/keymap.c delete mode 100644 keyboards/keebio/fourier/keymaps/valgrahf/config.h delete mode 100644 keyboards/keebio/fourier/keymaps/valgrahf/keymap.c create mode 100644 keyboards/keebio/iris/keymaps/boo/config.h create mode 100644 keyboards/keebio/iris/keymaps/boo/keymap.c create mode 100644 keyboards/keebio/iris/keymaps/boo/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/broswen/config.h delete mode 100644 keyboards/keebio/iris/keymaps/broswen/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/broswen/rules.mk create mode 100644 keyboards/keebio/iris/keymaps/compilation-error/config.h create mode 100644 keyboards/keebio/iris/keymaps/compilation-error/keymap.c create mode 100644 keyboards/keebio/iris/keymaps/compilation-error/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/dbroqua/config.h delete mode 100644 keyboards/keebio/iris/keymaps/dbroqua/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/dbroqua/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/drashna_lp/config.h delete mode 100644 keyboards/keebio/iris/keymaps/drashna_lp/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/drashna_lp/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/drashna_old/config.h delete mode 100644 keyboards/keebio/iris/keymaps/drashna_old/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/drashna_old/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/dvp-zjpxshade/config.h delete mode 100644 keyboards/keebio/iris/keymaps/dvp-zjpxshade/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/dvp-zjpxshade/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/fabian/config.h delete mode 100644 keyboards/keebio/iris/keymaps/fabian/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/fate/config.h delete mode 100644 keyboards/keebio/iris/keymaps/fate/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/fate/readme.md delete mode 100644 keyboards/keebio/iris/keymaps/fate/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/hag/config.h delete mode 100644 keyboards/keebio/iris/keymaps/hag/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/hag/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/hexwire/config.h delete mode 100644 keyboards/keebio/iris/keymaps/hexwire/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/hexwire/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/jennetters/config.h delete mode 100644 keyboards/keebio/iris/keymaps/jennetters/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/jennetters/readme.md delete mode 100644 keyboards/keebio/iris/keymaps/jennetters/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/lewisridden/config.h delete mode 100644 keyboards/keebio/iris/keymaps/lewisridden/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/lewisridden/rules.mk create mode 100644 keyboards/keebio/iris/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/keebio/iris/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/keebio/iris/keymaps/mnil/config.h create mode 100644 keyboards/keebio/iris/keymaps/mnil/keymap.c create mode 100644 keyboards/keebio/iris/keymaps/mnil/readme.md create mode 100644 keyboards/keebio/iris/keymaps/mnil/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/mtdjr/config.h delete mode 100644 keyboards/keebio/iris/keymaps/mtdjr/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/mtdjr/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/nstickney/README.md delete mode 100644 keyboards/keebio/iris/keymaps/nstickney/rules.mk create mode 100644 keyboards/keebio/iris/keymaps/olligranlund_nordic_v2/config.h create mode 100644 keyboards/keebio/iris/keymaps/olligranlund_nordic_v2/keymap.c create mode 100644 keyboards/keebio/iris/keymaps/olligranlund_nordic_v2/readme.md create mode 100644 keyboards/keebio/iris/keymaps/olligranlund_nordic_v2/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/rdhaene/config.h delete mode 100644 keyboards/keebio/iris/keymaps/rdhaene/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/rdhaene/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/s1carii/config.h delete mode 100644 keyboards/keebio/iris/keymaps/s1carii/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/s1carii/readme.md delete mode 100644 keyboards/keebio/iris/keymaps/s1carii/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/saviof/config.h delete mode 100644 keyboards/keebio/iris/keymaps/saviof/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/saviof/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/swedish/config.h delete mode 100644 keyboards/keebio/iris/keymaps/swedish/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/swedish/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/transmogrified/Readme.md delete mode 100644 keyboards/keebio/iris/keymaps/transmogrified/config.h delete mode 100644 keyboards/keebio/iris/keymaps/transmogrified/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/transmogrified/rules.mk delete mode 100644 keyboards/keebio/iris/keymaps/yanfali/config.h delete mode 100644 keyboards/keebio/iris/keymaps/yanfali/keymap.c delete mode 100644 keyboards/keebio/iris/keymaps/yanfali/readme.md delete mode 100644 keyboards/keebio/iris/keymaps/yanfali/rules.mk create mode 100644 keyboards/keebio/iris/rev5/config.h create mode 100644 keyboards/keebio/iris/rev5/rev5.c create mode 100644 keyboards/keebio/iris/rev5/rev5.h create mode 100644 keyboards/keebio/iris/rev5/rules.mk delete mode 100644 keyboards/keebio/laplace/keymaps/bakingpy/keymap.c delete mode 100644 keyboards/keebio/levinson/keymaps/bakingpy2u/config.h delete mode 100644 keyboards/keebio/levinson/keymaps/bakingpy2u/keymap.c delete mode 100644 keyboards/keebio/levinson/keymaps/bakingpy2u/rules.mk delete mode 100644 keyboards/keebio/levinson/keymaps/jyh/config.h delete mode 100644 keyboards/keebio/levinson/keymaps/omgvee/config.h delete mode 100644 keyboards/keebio/levinson/keymaps/omgvee/keymap.c delete mode 100644 keyboards/keebio/levinson/keymaps/omgvee/readme.md delete mode 100644 keyboards/keebio/levinson/keymaps/omgvee/rules.mk delete mode 100644 keyboards/keebio/levinson/keymaps/valgrahf/config.h delete mode 100644 keyboards/keebio/levinson/keymaps/valgrahf/keymap.c delete mode 100644 keyboards/keebio/levinson/keymaps/valgrahf/rules.mk delete mode 100644 keyboards/keebio/nyquist/keymaps/bakingpy/README.md delete mode 100644 keyboards/keebio/nyquist/keymaps/bakingpy/Underglow Pinouts.md delete mode 100644 keyboards/keebio/nyquist/keymaps/bakingpy/config.h delete mode 100644 keyboards/keebio/nyquist/keymaps/bakingpy/keymap.c delete mode 100755 keyboards/keebio/nyquist/keymaps/bakingpy/keymap_converter.py delete mode 100755 keyboards/keebio/nyquist/keymaps/bakingpy/keymap_to_readme.rb delete mode 100644 keyboards/keebio/nyquist/keymaps/bakingpy/rules.mk delete mode 100644 keyboards/keebio/nyquist/keymaps/mtdjr/config.h delete mode 100644 keyboards/keebio/nyquist/keymaps/mtdjr/keymap.c delete mode 100644 keyboards/keebio/nyquist/keymaps/mtdjr/rules.mk create mode 100644 keyboards/keebio/nyquist/keymaps/peott-fr/keymap.c delete mode 100644 keyboards/keebio/quefrency/info.json create mode 100644 keyboards/keebio/quefrency/keymaps/bfiedler/config.h create mode 100644 keyboards/keebio/quefrency/keymaps/bfiedler/keymap.c create mode 100644 keyboards/keebio/quefrency/keymaps/bfiedler/rules.mk create mode 100644 keyboards/keebio/quefrency/keymaps/jonavin/config.h create mode 100644 keyboards/keebio/quefrency/keymaps/jonavin/keymap.c create mode 100644 keyboards/keebio/quefrency/keymaps/jonavin/readme.md create mode 100644 keyboards/keebio/quefrency/keymaps/jonavin/rules.mk create mode 100644 keyboards/keebio/quefrency/rev1/info.json create mode 100644 keyboards/keebio/quefrency/rev2/info.json create mode 100644 keyboards/keebio/quefrency/rev3/info.json create mode 100644 keyboards/keebio/quefrency/rev4/config.h create mode 100644 keyboards/keebio/quefrency/rev4/info.json create mode 100644 keyboards/keebio/quefrency/rev4/readme.md create mode 100644 keyboards/keebio/quefrency/rev4/rev4.c create mode 100644 keyboards/keebio/quefrency/rev4/rev4.h create mode 100644 keyboards/keebio/quefrency/rev4/rules.mk create mode 100644 keyboards/keebio/sinc/keymaps/sethBarberee/config.h create mode 100644 keyboards/keebio/sinc/keymaps/sethBarberee/keymap.c create mode 100644 keyboards/keebio/sinc/keymaps/sethBarberee/rules.mk create mode 100644 keyboards/keebio/sinc/rev2/config.h create mode 100644 keyboards/keebio/sinc/rev2/rev2.c create mode 100644 keyboards/keebio/sinc/rev2/rev2.h create mode 100644 keyboards/keebio/sinc/rev2/rules.mk delete mode 100644 keyboards/keebio/viterbi/keymaps/bakingpy/README.md delete mode 100644 keyboards/keebio/viterbi/keymaps/bakingpy/config.h delete mode 100644 keyboards/keebio/viterbi/keymaps/bakingpy/keymap.c delete mode 100644 keyboards/keebio/viterbi/keymaps/drashna_old/config.h delete mode 100644 keyboards/keebio/viterbi/keymaps/drashna_old/keymap.c delete mode 100644 keyboards/keebio/viterbi/keymaps/drashna_old/rules.mk delete mode 100644 keyboards/keebio/viterbi/keymaps/dwallace/config.h delete mode 100644 keyboards/keebio/viterbi/keymaps/dwallace/keymap.c delete mode 100644 keyboards/keebio/viterbi/keymaps/fido/config.h delete mode 100644 keyboards/keebio/viterbi/keymaps/fido/keymap.c delete mode 100644 keyboards/keebio/viterbi/keymaps/fido/rules.mk delete mode 100644 keyboards/keebio/viterbi/keymaps/mike808/config.h delete mode 100644 keyboards/keebio/viterbi/keymaps/mike808/keymap.c delete mode 100644 keyboards/keebio/viterbi/keymaps/mike808/rules.mk create mode 100644 keyboards/keebio/wtf60/config.h create mode 100644 keyboards/keebio/wtf60/info.json create mode 100644 keyboards/keebio/wtf60/keymaps/60_ansi/keymap.c create mode 100644 keyboards/keebio/wtf60/keymaps/default/keymap.c create mode 100644 keyboards/keebio/wtf60/keymaps/via/keymap.c create mode 100644 keyboards/keebio/wtf60/keymaps/via/rules.mk create mode 100644 keyboards/keebio/wtf60/readme.md create mode 100644 keyboards/keebio/wtf60/rules.mk create mode 100644 keyboards/keebio/wtf60/wtf60.c create mode 100644 keyboards/keebio/wtf60/wtf60.h create mode 100644 keyboards/keebzdotnet/fme/config.h create mode 100644 keyboards/keebzdotnet/fme/fme.c create mode 100644 keyboards/keebzdotnet/fme/fme.h create mode 100644 keyboards/keebzdotnet/fme/info.json create mode 100644 keyboards/keebzdotnet/fme/keymaps/default/keymap.c create mode 100644 keyboards/keebzdotnet/fme/keymaps/via/config.h create mode 100644 keyboards/keebzdotnet/fme/keymaps/via/keymap.c create mode 100644 keyboards/keebzdotnet/fme/keymaps/via/rules.mk create mode 100644 keyboards/keebzdotnet/fme/readme.md create mode 100644 keyboards/keebzdotnet/fme/rules.mk create mode 100644 keyboards/kelowna/rgb64/config.h create mode 100644 keyboards/kelowna/rgb64/info.json create mode 100644 keyboards/kelowna/rgb64/keymaps/default/keymap.c create mode 100644 keyboards/kelowna/rgb64/keymaps/via/keymap.c create mode 100644 keyboards/kelowna/rgb64/keymaps/via/rules.mk create mode 100644 keyboards/kelowna/rgb64/readme.md create mode 100644 keyboards/kelowna/rgb64/rgb64.c create mode 100644 keyboards/kelowna/rgb64/rgb64.h create mode 100644 keyboards/kelowna/rgb64/rules.mk create mode 100644 keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c create mode 100644 keyboards/keyboardio/atreus/keymaps/ardumont/readme.md create mode 100644 keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/keyboardio/atreus/keymaps/replicaJunction/config.h create mode 100644 keyboards/keyboardio/atreus/keymaps/replicaJunction/keymap.c create mode 100644 keyboards/keyboardio/atreus/keymaps/replicaJunction/readme.md create mode 100644 keyboards/keyboardio/atreus/keymaps/replicaJunction/rules.mk create mode 100644 keyboards/keycapsss/plaid_pad/keymaps/oled/config.h create mode 100644 keyboards/keycapsss/plaid_pad/keymaps/oled/glcdfont.c create mode 100644 keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c create mode 100644 keyboards/keycapsss/plaid_pad/keymaps/oled/readme.md create mode 100644 keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk create mode 100644 keyboards/keycapsss/plaid_pad/rev3/config.h create mode 100644 keyboards/keycapsss/plaid_pad/rev3/rev3.c create mode 100644 keyboards/keycapsss/plaid_pad/rev3/rev3.h create mode 100644 keyboards/keycapsss/plaid_pad/rev3/rules.mk create mode 100644 keyboards/keychron/q1/config.h create mode 100644 keyboards/keychron/q1/q1.c create mode 100644 keyboards/keychron/q1/q1.h create mode 100644 keyboards/keychron/q1/readme.md create mode 100644 keyboards/keychron/q1/rev_0100/config.h create mode 100644 keyboards/keychron/q1/rev_0100/info.json create mode 100644 keyboards/keychron/q1/rev_0100/keymaps/default/keymap.c create mode 100644 keyboards/keychron/q1/rev_0100/keymaps/via/keymap.c create mode 100644 keyboards/keychron/q1/rev_0100/keymaps/via/rules.mk create mode 100644 keyboards/keychron/q1/rev_0100/readme.md create mode 100644 keyboards/keychron/q1/rev_0100/rev_0100.c create mode 100644 keyboards/keychron/q1/rev_0100/rev_0100.h create mode 100644 keyboards/keychron/q1/rev_0100/rules.mk create mode 100644 keyboards/keychron/q1/rev_0102/config.h create mode 100644 keyboards/keychron/q1/rev_0102/info.json create mode 100644 keyboards/keychron/q1/rev_0102/keymaps/default/keymap.c create mode 100644 keyboards/keychron/q1/rev_0102/keymaps/via/keymap.c create mode 100644 keyboards/keychron/q1/rev_0102/keymaps/via/rules.mk create mode 100644 keyboards/keychron/q1/rev_0102/readme.md create mode 100644 keyboards/keychron/q1/rev_0102/rev_0102.c create mode 100644 keyboards/keychron/q1/rev_0102/rev_0102.h create mode 100644 keyboards/keychron/q1/rev_0102/rules.mk create mode 100644 keyboards/keyprez/bison/bison.c create mode 100644 keyboards/keyprez/bison/bison.h create mode 100644 keyboards/keyprez/bison/config.h create mode 100644 keyboards/keyprez/bison/info.json create mode 100644 keyboards/keyprez/bison/keymaps/default/keymap.c create mode 100644 keyboards/keyprez/bison/keymaps/default/readme.md create mode 100644 keyboards/keyprez/bison/keymaps/default_6_6/keymap.c create mode 100644 keyboards/keyprez/bison/keymaps/default_6_6/readme.md create mode 100644 keyboards/keyprez/bison/keymaps/default_6_8/keymap.c create mode 100644 keyboards/keyprez/bison/keymaps/default_6_8/readme.md create mode 100644 keyboards/keyprez/bison/keymaps/default_8_6/keymap.c create mode 100644 keyboards/keyprez/bison/keymaps/default_8_6/readme.md create mode 100644 keyboards/keyprez/bison/readme.md create mode 100644 keyboards/keyprez/bison/rules.mk create mode 100644 keyboards/keyprez/corgi/config.h create mode 100644 keyboards/keyprez/corgi/corgi.c create mode 100644 keyboards/keyprez/corgi/corgi.h create mode 100644 keyboards/keyprez/corgi/info.json create mode 100644 keyboards/keyprez/corgi/keymaps/default/keymap.c create mode 100644 keyboards/keyprez/corgi/keymaps/default/readme.md create mode 100644 keyboards/keyprez/corgi/readme.md create mode 100644 keyboards/keyprez/corgi/rules.mk create mode 100644 keyboards/keyprez/rhino/config.h create mode 100644 keyboards/keyprez/rhino/info.json create mode 100644 keyboards/keyprez/rhino/keymaps/default/keymap.c create mode 100644 keyboards/keyprez/rhino/keymaps/default/readme.md create mode 100644 keyboards/keyprez/rhino/keymaps/default_7u/keymap.c create mode 100644 keyboards/keyprez/rhino/keymaps/default_7u/readme.md create mode 100644 keyboards/keyprez/rhino/keymaps/default_ergo/keymap.c create mode 100644 keyboards/keyprez/rhino/keymaps/default_ergo/readme.md create mode 100644 keyboards/keyprez/rhino/readme.md create mode 100644 keyboards/keyprez/rhino/rhino.c create mode 100644 keyboards/keyprez/rhino/rhino.h create mode 100644 keyboards/keyprez/rhino/rules.mk create mode 100644 keyboards/kinesis/keymaps/jwon/keymap.c create mode 100644 keyboards/kinesis/keymaps/jwon/readme.md create mode 100644 keyboards/kinesis/keymaps/jwon/rules.mk create mode 100644 keyboards/kinesis/keymaps/peott-fr/keymap.c create mode 100644 keyboards/kinesis/keymaps/stapelberg/keymap.c create mode 100644 keyboards/kinesis/keymaps/stapelberg/readme.md create mode 100644 keyboards/kinesis/keymaps/stapelberg/rules.mk create mode 100644 keyboards/kinesis/kint36/chconf.h create mode 100644 keyboards/kinesis/kint36/config.h create mode 100644 keyboards/kinesis/kint36/keymaps/kzar/config.h create mode 100644 keyboards/kinesis/kint36/keymaps/kzar/keymap.c create mode 100644 keyboards/kinesis/kint36/keymaps/kzar/readme.md create mode 100644 keyboards/kinesis/kint36/keymaps/kzar/rules.mk create mode 100644 keyboards/kinesis/kint36/kint36.c create mode 100644 keyboards/kinesis/kint36/kint36.h create mode 100644 keyboards/kinesis/kint36/mcuconf.h create mode 100644 keyboards/kinesis/kint36/readme.md create mode 100644 keyboards/kinesis/kint36/rules.mk create mode 100644 keyboards/kinesis/kint41/chconf.h create mode 100644 keyboards/kinesis/kint41/config.h create mode 100644 keyboards/kinesis/kint41/kint41.c create mode 100644 keyboards/kinesis/kint41/kint41.h create mode 100644 keyboards/kinesis/kint41/mcuconf.h create mode 100644 keyboards/kinesis/kint41/readme.md create mode 100644 keyboards/kinesis/kint41/rules.mk create mode 100644 keyboards/kineticlabs/emu/hotswap/config.h create mode 100644 keyboards/kineticlabs/emu/hotswap/hotswap.c create mode 100644 keyboards/kineticlabs/emu/hotswap/hotswap.h create mode 100644 keyboards/kineticlabs/emu/hotswap/info.json create mode 100644 keyboards/kineticlabs/emu/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/kineticlabs/emu/hotswap/keymaps/via/keymap.c create mode 100644 keyboards/kineticlabs/emu/hotswap/keymaps/via/rules.mk create mode 100644 keyboards/kineticlabs/emu/hotswap/readme.md create mode 100644 keyboards/kineticlabs/emu/hotswap/rules.mk create mode 100644 keyboards/kineticlabs/emu/soldered/config.h create mode 100644 keyboards/kineticlabs/emu/soldered/info.json create mode 100644 keyboards/kineticlabs/emu/soldered/keymaps/default/keymap.c create mode 100644 keyboards/kineticlabs/emu/soldered/keymaps/via/keymap.c create mode 100644 keyboards/kineticlabs/emu/soldered/keymaps/via/rules.mk create mode 100644 keyboards/kineticlabs/emu/soldered/keymaps/wkl/keymap.c create mode 100644 keyboards/kineticlabs/emu/soldered/readme.md create mode 100644 keyboards/kineticlabs/emu/soldered/rules.mk create mode 100644 keyboards/kineticlabs/emu/soldered/soldered.c create mode 100644 keyboards/kineticlabs/emu/soldered/soldered.h create mode 100644 keyboards/kiwikeebs/macro/keymaps/via/keymap.c create mode 100644 keyboards/kiwikeebs/macro/keymaps/via/rules.mk create mode 100644 keyboards/kiwikeebs/macro/readme.md create mode 100644 keyboards/kiwikeebs/macro_v2/config.h create mode 100644 keyboards/kiwikeebs/macro_v2/info.json create mode 100644 keyboards/kiwikeebs/macro_v2/keymaps/default/keymap.c create mode 100644 keyboards/kiwikeebs/macro_v2/keymaps/via/keymap.c create mode 100644 keyboards/kiwikeebs/macro_v2/keymaps/via/rules.mk create mode 100644 keyboards/kiwikeebs/macro_v2/macro_v2.c create mode 100644 keyboards/kiwikeebs/macro_v2/macro_v2.h create mode 100644 keyboards/kiwikeebs/macro_v2/readme.md create mode 100644 keyboards/kiwikeebs/macro_v2/rules.mk delete mode 100644 keyboards/kiwikeebs/readme.md create mode 100644 keyboards/kiwikey/kawii9/keymaps/via/keymap.c create mode 100644 keyboards/kiwikey/kawii9/keymaps/via/rules.mk create mode 100644 keyboards/kiwikey/wanderland/config.h create mode 100644 keyboards/kiwikey/wanderland/info.json create mode 100644 keyboards/kiwikey/wanderland/keymaps/default/keymap.c create mode 100644 keyboards/kiwikey/wanderland/keymaps/default/readme.md create mode 100644 keyboards/kiwikey/wanderland/keymaps/stanrc85/config.h create mode 100644 keyboards/kiwikey/wanderland/keymaps/stanrc85/keymap.c create mode 100644 keyboards/kiwikey/wanderland/keymaps/stanrc85/rules.mk create mode 100644 keyboards/kiwikey/wanderland/keymaps/via/keymap.c create mode 100644 keyboards/kiwikey/wanderland/keymaps/via/readme.md create mode 100644 keyboards/kiwikey/wanderland/keymaps/via/rules.mk create mode 100644 keyboards/kiwikey/wanderland/readme.md create mode 100644 keyboards/kiwikey/wanderland/rules.mk create mode 100644 keyboards/kiwikey/wanderland/wanderland.c create mode 100644 keyboards/kiwikey/wanderland/wanderland.h create mode 100644 keyboards/kmac_pad/config.h create mode 100644 keyboards/kmac_pad/info.json create mode 100644 keyboards/kmac_pad/keymaps/default/keymap.c create mode 100644 keyboards/kmac_pad/keymaps/default/readme.md create mode 100644 keyboards/kmac_pad/kmac_pad.c create mode 100644 keyboards/kmac_pad/kmac_pad.h create mode 100644 keyboards/kmac_pad/matrix.c create mode 100644 keyboards/kmac_pad/readme.md create mode 100644 keyboards/kmac_pad/rules.mk rename keyboards/knobgoblin/keymaps/{ortho => default}/keymap.c (100%) rename keyboards/knobgoblin/keymaps/{ortho => default}/readme.md (100%) create mode 100644 keyboards/knobgoblin/keymaps/moults31/keymap.c create mode 100644 keyboards/knobgoblin/keymaps/moults31/readme.md create mode 100644 keyboards/knobgoblin/keymaps/moults31/rules.mk create mode 100644 keyboards/kopibeng/xt65/config.h create mode 100644 keyboards/kopibeng/xt65/info.json create mode 100644 keyboards/kopibeng/xt65/keymaps/default/keymap.c create mode 100644 keyboards/kopibeng/xt65/keymaps/via/keymap.c create mode 100644 keyboards/kopibeng/xt65/keymaps/via/rules.mk create mode 100644 keyboards/kopibeng/xt65/readme.md create mode 100644 keyboards/kopibeng/xt65/rules.mk create mode 100644 keyboards/kopibeng/xt65/xt65.c create mode 100644 keyboards/kopibeng/xt65/xt65.h create mode 100644 keyboards/kprepublic/bm16a/bm16a.c rename keyboards/{ => kprepublic}/bm16a/bm16a.h (100%) create mode 100644 keyboards/kprepublic/bm16a/config.h rename keyboards/{ => kprepublic}/bm16a/info.json (100%) rename keyboards/{ => kprepublic}/bm16a/keymaps/default/config.h (100%) rename keyboards/{ => kprepublic}/bm16a/keymaps/default/keymap.c (100%) rename keyboards/{ => kprepublic}/bm16a/keymaps/default/readme.md (100%) rename keyboards/{ => kprepublic}/bm16a/keymaps/factory/keymap.c (100%) rename keyboards/{ => kprepublic}/bm16a/keymaps/factory/readme.md (100%) rename keyboards/{ => kprepublic}/bm16a/keymaps/via/keymap.c (100%) rename keyboards/{ => kprepublic}/bm16a/keymaps/via/readme.md (100%) create mode 100644 keyboards/kprepublic/bm16a/keymaps/via/rules.mk create mode 100644 keyboards/kprepublic/bm16a/readme.md create mode 100644 keyboards/kprepublic/bm16a/rules.mk rename keyboards/{ => kprepublic}/bm16s/bm16s.h (100%) rename keyboards/{ => kprepublic}/bm16s/config.h (100%) rename keyboards/{ => kprepublic}/bm16s/info.json (100%) rename keyboards/{ => kprepublic}/bm16s/keymaps/default/keymap.c (100%) rename keyboards/{ => kprepublic}/bm16s/keymaps/media/keymap.c (100%) rename keyboards/{ => kprepublic}/bm16s/keymaps/via/keymap.c (100%) rename keyboards/{ => kprepublic}/bm16s/keymaps/via/readme.md (100%) create mode 100644 keyboards/kprepublic/bm16s/keymaps/via/rules.mk create mode 100644 keyboards/kprepublic/bm16s/readme.md create mode 100755 keyboards/kprepublic/bm16s/rules.mk rename keyboards/{ => kprepublic}/bm40hsrgb/bm40hsrgb.c (90%) rename keyboards/{ => kprepublic}/bm40hsrgb/bm40hsrgb.h (100%) create mode 100755 keyboards/kprepublic/bm40hsrgb/config.h rename keyboards/{ => kprepublic}/bm40hsrgb/info.json (100%) rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/default/keymap.c (100%) rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/default/readme.md (100%) create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h create mode 100755 keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/keymap.c create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/readme.md create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/rules.mk rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/signynt/config.h (100%) rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/signynt/keymap.c (100%) rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/signynt/readme.md (100%) create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/signynt/rules.mk rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/signynt_2_loud/config.h (100%) rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/signynt_2_loud/keymap.c (100%) rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/signynt_2_loud/readme.md (100%) create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_loud/rules.mk rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/signynt_2_quiet/config.h (100%) rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/signynt_2_quiet/keymap.c (100%) rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/signynt_2_quiet/readme.md (100%) create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/signynt_2_quiet/rules.mk rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/via/keymap.c (100%) rename keyboards/{ => kprepublic}/bm40hsrgb/keymaps/via/readme.md (100%) create mode 100644 keyboards/kprepublic/bm40hsrgb/keymaps/via/rules.mk create mode 100644 keyboards/kprepublic/bm40hsrgb/readme.md create mode 100755 keyboards/kprepublic/bm40hsrgb/rules.mk create mode 100644 keyboards/kprepublic/bm43a/bm43a.c rename keyboards/{ => kprepublic}/bm43a/bm43a.h (100%) create mode 100644 keyboards/kprepublic/bm43a/config.h rename keyboards/{ => kprepublic}/bm43a/info.json (100%) rename keyboards/{ => kprepublic}/bm43a/keymaps/default/config.h (100%) rename keyboards/{ => kprepublic}/bm43a/keymaps/default/keymap.c (100%) rename keyboards/{ => kprepublic}/bm43a/keymaps/default/readme.md (100%) rename keyboards/{ => kprepublic}/bm43a/keymaps/stevexyz/keymap.c (100%) create mode 100644 keyboards/kprepublic/bm43a/keymaps/stevexyz/readme.md create mode 100644 keyboards/kprepublic/bm43a/keymaps/stevexyz/rules.mk create mode 100644 keyboards/kprepublic/bm43a/readme.md create mode 100644 keyboards/kprepublic/bm43a/rules.mk rename keyboards/{ => kprepublic}/bm60poker/bm60poker.c (100%) rename keyboards/{ => kprepublic}/bm60poker/bm60poker.h (100%) create mode 100644 keyboards/kprepublic/bm60poker/config.h rename keyboards/{ => kprepublic}/bm60poker/info.json (100%) rename keyboards/{ => kprepublic}/bm60poker/keymaps/default/keymap.c (100%) rename keyboards/{ => kprepublic}/bm60poker/keymaps/ipetepete/keymap.c (100%) rename keyboards/{ => kprepublic}/bm60poker/keymaps/ipetepete/readme.md (100%) rename keyboards/{ => kprepublic}/bm60poker/keymaps/ipetepete/rules.mk (100%) rename keyboards/{ => kprepublic}/bm60poker/keymaps/via/keymap.c (100%) create mode 100644 keyboards/kprepublic/bm60poker/keymaps/via/rules.mk create mode 100644 keyboards/kprepublic/bm60poker/readme.md create mode 100644 keyboards/kprepublic/bm60poker/rules.mk rename keyboards/{ => kprepublic}/bm60rgb/bm60rgb.c (82%) rename keyboards/{ => kprepublic}/bm60rgb/bm60rgb.h (98%) create mode 100644 keyboards/kprepublic/bm60rgb/config.h create mode 100644 keyboards/kprepublic/bm60rgb/info.json create mode 100644 keyboards/kprepublic/bm60rgb/keymaps/default/keymap.c rename keyboards/{ => kprepublic}/bm60rgb/keymaps/default/readme.md (100%) rename keyboards/{ => kprepublic}/bm60rgb/keymaps/jbradforddillon/keymap.c (100%) rename keyboards/{ => kprepublic}/bm60rgb/keymaps/jbradforddillon/readme.md (100%) create mode 100644 keyboards/kprepublic/bm60rgb/keymaps/via/keymap.c rename keyboards/{ => kprepublic}/bm60rgb/keymaps/via/readme.md (100%) create mode 100644 keyboards/kprepublic/bm60rgb/keymaps/via/rules.mk create mode 100644 keyboards/kprepublic/bm60rgb/readme.md create mode 100644 keyboards/kprepublic/bm60rgb/rules.mk rename keyboards/{ => kprepublic}/bm60rgb_iso/bm60rgb_iso.c (100%) rename keyboards/{ => kprepublic}/bm60rgb_iso/bm60rgb_iso.h (100%) create mode 100644 keyboards/kprepublic/bm60rgb_iso/config.h create mode 100644 keyboards/kprepublic/bm60rgb_iso/info.json rename keyboards/{ => kprepublic}/bm60rgb_iso/keymaps/default/keymap.c (100%) rename keyboards/{ => kprepublic}/bm60rgb_iso/keymaps/default/readme.md (100%) rename keyboards/{ => kprepublic}/bm60rgb_iso/keymaps/iso_nordic_sleepmode/config.h (100%) rename keyboards/{ => kprepublic}/bm60rgb_iso/keymaps/iso_nordic_sleepmode/keymap.c (100%) rename keyboards/{ => kprepublic}/bm60rgb_iso/keymaps/iso_nordic_sleepmode/readme.md (100%) create mode 100644 keyboards/kprepublic/bm60rgb_iso/readme.md create mode 100644 keyboards/kprepublic/bm60rgb_iso/rules.mk create mode 100644 keyboards/kprepublic/bm65iso/bm65iso.c create mode 100644 keyboards/kprepublic/bm65iso/bm65iso.h create mode 100644 keyboards/kprepublic/bm65iso/config.h create mode 100644 keyboards/kprepublic/bm65iso/info.json create mode 100644 keyboards/kprepublic/bm65iso/keymaps/deadolus/config.h create mode 100644 keyboards/kprepublic/bm65iso/keymaps/deadolus/keymap.c create mode 100644 keyboards/kprepublic/bm65iso/keymaps/deadolus/keymap.h create mode 100644 keyboards/kprepublic/bm65iso/keymaps/deadolus/readme.md create mode 100644 keyboards/kprepublic/bm65iso/keymaps/deadolus/rules.mk create mode 100644 keyboards/kprepublic/bm65iso/keymaps/default/keymap.c create mode 100644 keyboards/kprepublic/bm65iso/keymaps/via/keymap.c create mode 100644 keyboards/kprepublic/bm65iso/keymaps/via/readme.md create mode 100644 keyboards/kprepublic/bm65iso/keymaps/via/rules.mk create mode 100644 keyboards/kprepublic/bm65iso/readme.md create mode 100644 keyboards/kprepublic/bm65iso/rules.mk create mode 100644 keyboards/kprepublic/bm68rgb/bm68rgb.c rename keyboards/{ => kprepublic}/bm68rgb/bm68rgb.h (100%) create mode 100644 keyboards/kprepublic/bm68rgb/config.h rename keyboards/{ => kprepublic}/bm68rgb/info.json (100%) create mode 100644 keyboards/kprepublic/bm68rgb/keymaps/default/keymap.c rename keyboards/{ => kprepublic}/bm68rgb/keymaps/default/readme.md (100%) create mode 100644 keyboards/kprepublic/bm68rgb/keymaps/peepeetee/config.h create mode 100644 keyboards/kprepublic/bm68rgb/keymaps/peepeetee/keymap.c create mode 100644 keyboards/kprepublic/bm68rgb/keymaps/peepeetee/keymap.h create mode 100644 keyboards/kprepublic/bm68rgb/keymaps/peepeetee/readme.md create mode 100644 keyboards/kprepublic/bm68rgb/keymaps/via/keymap.c create mode 100644 keyboards/kprepublic/bm68rgb/keymaps/via/readme.md create mode 100644 keyboards/kprepublic/bm68rgb/keymaps/via/rules.mk create mode 100644 keyboards/kprepublic/bm68rgb/readme.md create mode 100644 keyboards/kprepublic/bm68rgb/rules.mk create mode 100644 keyboards/kprepublic/cospad/config.h rename keyboards/{ => kprepublic}/cospad/cospad.c (100%) rename keyboards/{ => kprepublic}/cospad/cospad.h (86%) create mode 100644 keyboards/kprepublic/cospad/info.json rename keyboards/{ => kprepublic}/cospad/keymaps/default/keymap.c (100%) create mode 100644 keyboards/kprepublic/cospad/keymaps/detrus/keymap.c rename keyboards/{ => kprepublic}/cospad/keymaps/split_plus_and_zero/keymap.c (100%) rename keyboards/{ => kprepublic}/cospad/keymaps/split_zero/keymap.c (100%) rename keyboards/{ => kprepublic}/cospad/keymaps/via/keymap.c (100%) create mode 100644 keyboards/kprepublic/cospad/keymaps/via/rules.mk create mode 100644 keyboards/kprepublic/cospad/readme.md create mode 100644 keyboards/kprepublic/cospad/rules.mk rename keyboards/{ => kprepublic}/jj40/config.h (100%) rename keyboards/{ => kprepublic}/jj40/info.json (100%) rename keyboards/{ => kprepublic}/jj40/jj40.c (100%) create mode 100644 keyboards/kprepublic/jj40/jj40.h create mode 100644 keyboards/kprepublic/jj40/keymaps/ajp10304/readme.md rename keyboards/{ => kprepublic}/jj40/keymaps/cockpit/keymap.c (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/cockpit/readme.md (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/default/keymap.c (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/fun40/config.h (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/fun40/keymap.c (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/fun40/readme.md (100%) create mode 100644 keyboards/kprepublic/jj40/keymaps/fun40/rules.mk rename keyboards/{ => kprepublic}/jj40/keymaps/krusli/config.h (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/krusli/keymap.c (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/krusli/numpad.txt (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/krusli/readme.md (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/krusli/rules.mk (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/oscillope/config.h (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/oscillope/keymap.c (100%) create mode 100644 keyboards/kprepublic/jj40/keymaps/oscillope/rules.mk create mode 100644 keyboards/kprepublic/jj40/keymaps/skewwhiffy/keymap.c rename keyboards/{ => kprepublic}/jj40/keymaps/stevexyz/config.h (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/stevexyz/keymap.c (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/stevexyz/readme.md (100%) create mode 100644 keyboards/kprepublic/jj40/keymaps/stevexyz/rules.mk rename keyboards/{ => kprepublic}/jj40/keymaps/suzuken/config.h (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/suzuken/keymap.c (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/via/keymap.c (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/via/rules.mk (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/waples/config.h (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/waples/keymap.c (100%) rename keyboards/{ => kprepublic}/jj40/keymaps/waples/readme.md (100%) create mode 100644 keyboards/kprepublic/jj40/keymaps/waples/rules.mk create mode 100644 keyboards/kprepublic/jj40/readme.md create mode 100644 keyboards/kprepublic/jj40/rules.mk rename keyboards/{ => kprepublic}/jj4x4/config.h (100%) rename keyboards/{ => kprepublic}/jj4x4/info.json (100%) rename keyboards/{ => kprepublic}/jj4x4/jj4x4.c (100%) rename keyboards/{ => kprepublic}/jj4x4/jj4x4.h (100%) rename keyboards/{ => kprepublic}/jj4x4/keymaps/default/keymap.c (100%) rename keyboards/{ => kprepublic}/jj4x4/keymaps/via/keymap.c (100%) create mode 100644 keyboards/kprepublic/jj4x4/keymaps/via/rules.mk create mode 100644 keyboards/kprepublic/jj4x4/readme.md create mode 100644 keyboards/kprepublic/jj4x4/rules.mk rename keyboards/{ => kprepublic}/jj50/config.h (100%) rename keyboards/{ => kprepublic}/jj50/info.json (100%) rename keyboards/{ => kprepublic}/jj50/jj50.c (100%) rename keyboards/{ => kprepublic}/jj50/jj50.h (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/abstractkb/config.h (100%) create mode 100644 keyboards/kprepublic/jj50/keymaps/abstractkb/keymap.c rename keyboards/{ => kprepublic}/jj50/keymaps/abstractkb/readme.md (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/abstractkb_gergomatch/config.h (100%) create mode 100644 keyboards/kprepublic/jj50/keymaps/abstractkb_gergomatch/keymap.c rename keyboards/{ => kprepublic}/jj50/keymaps/abstractkb_gergomatch/readme.md (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/archetype/README.md (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/archetype/config.h (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/archetype/keymap.c (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/archetype/rules.mk (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/default/README.md (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/default/keymap.c (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/yoonbae81/config.h (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/yoonbae81/keymap.c (100%) rename keyboards/{ => kprepublic}/jj50/keymaps/yoonbae81/rules.mk (100%) create mode 100644 keyboards/kprepublic/jj50/readme.md create mode 100644 keyboards/kprepublic/jj50/rules.mk create mode 100644 keyboards/ktec/daisy/config.h rename keyboards/{ => ktec}/daisy/daisy.c (100%) rename keyboards/{ => ktec}/daisy/daisy.h (100%) rename keyboards/{ => ktec}/daisy/info.json (100%) create mode 100644 keyboards/ktec/daisy/keymaps/default/keymap.c rename keyboards/{ => ktec}/daisy/keymaps/default/readme.md (100%) create mode 100644 keyboards/ktec/daisy/keymaps/via/keymap.c rename keyboards/{ => ktec}/daisy/keymaps/via/readme.md (100%) create mode 100644 keyboards/ktec/daisy/keymaps/via/rules.mk create mode 100644 keyboards/ktec/daisy/readme.md create mode 100644 keyboards/ktec/daisy/rules.mk create mode 100644 keyboards/ktec/ergodone/config.h rename keyboards/{ => ktec}/ergodone/ergodone.c (100%) rename keyboards/{ => ktec}/ergodone/ergodone.h (99%) rename keyboards/{ => ktec}/ergodone/expander.c (77%) rename keyboards/{ => ktec}/ergodone/expander.h (100%) rename keyboards/{ => ktec}/ergodone/info.json (100%) rename keyboards/{ => ktec}/ergodone/keymaps/art/keymap.c (100%) create mode 100644 keyboards/ktec/ergodone/keymaps/default/keymap.c rename keyboards/{ => ktec}/ergodone/keymaps/default/readme.md (100%) rename keyboards/{ => ktec}/ergodone/keymaps/eozaki/keymap.c (100%) rename keyboards/{ => ktec}/ergodone/keymaps/eozaki/readme.md (100%) rename keyboards/{ => ktec}/ergodone/keymaps/erovia/config.h (100%) create mode 100644 keyboards/ktec/ergodone/keymaps/erovia/keymap.c rename keyboards/{ => ktec}/ergodone/keymaps/erovia/readme.md (100%) rename keyboards/{ => ktec}/ergodone/keymaps/erovia/rules.mk (100%) rename keyboards/{ => ktec}/ergodone/keymaps/kloki/keymap.c (100%) rename keyboards/{ => ktec}/ergodone/keymaps/kloki/readme.md (100%) rename keyboards/{ => ktec}/ergodone/keymaps/vega/keymap.c (100%) rename keyboards/{ => ktec}/ergodone/keymaps/vega/rules.mk (100%) create mode 100644 keyboards/ktec/ergodone/keymaps/via/config.h create mode 100644 keyboards/ktec/ergodone/keymaps/via/keymap.c create mode 100644 keyboards/ktec/ergodone/keymaps/via/readme.md create mode 100644 keyboards/ktec/ergodone/keymaps/via/rules.mk rename keyboards/{ => ktec}/ergodone/matrix.c (100%) create mode 100644 keyboards/ktec/ergodone/readme.md create mode 100644 keyboards/ktec/ergodone/rules.mk rename keyboards/{ => ktec}/staryu/backlight_staryu.h (100%) rename keyboards/{ => ktec}/staryu/config.h (100%) rename keyboards/{ => ktec}/staryu/info.json (100%) rename keyboards/{ => ktec}/staryu/keymaps/default/README.md (100%) rename keyboards/{ => ktec}/staryu/keymaps/default/keymap.c (100%) rename keyboards/{chimera_ortho/keymaps/dcompact => ktec/staryu/keymaps/default}/rules.mk (100%) rename keyboards/{ => ktec}/staryu/keymaps/krusli/README.md (100%) rename keyboards/{ => ktec}/staryu/keymaps/krusli/keymap.c (100%) create mode 100644 keyboards/ktec/staryu/readme.md create mode 100755 keyboards/ktec/staryu/rules.mk rename keyboards/{ => ktec}/staryu/staryu.c (100%) rename keyboards/{ => ktec}/staryu/staryu.h (100%) create mode 100644 keyboards/kwub/bloop/bloop.c create mode 100644 keyboards/kwub/bloop/bloop.h create mode 100644 keyboards/kwub/bloop/config.h create mode 100644 keyboards/kwub/bloop/info.json create mode 100644 keyboards/kwub/bloop/keymaps/crispyy/keymap.c create mode 100644 keyboards/kwub/bloop/keymaps/default/keymap.c create mode 100644 keyboards/kwub/bloop/keymaps/default/readme.md create mode 100644 keyboards/kwub/bloop/keymaps/kevin_hhkb/keymap.c create mode 100644 keyboards/kwub/bloop/keymaps/via/keymap.c create mode 100644 keyboards/kwub/bloop/keymaps/via/readme.md create mode 100644 keyboards/kwub/bloop/keymaps/via/rules.mk create mode 100644 keyboards/kwub/bloop/readme.md create mode 100644 keyboards/kwub/bloop/rules.mk create mode 100644 keyboards/ky01/config.h create mode 100644 keyboards/ky01/info.json create mode 100644 keyboards/ky01/keymaps/default/keymap.c create mode 100644 keyboards/ky01/keymaps/via/keymap.c create mode 100644 keyboards/ky01/keymaps/via/rules.mk create mode 100644 keyboards/ky01/ky01.c create mode 100644 keyboards/ky01/ky01.h create mode 100644 keyboards/ky01/readme.md create mode 100644 keyboards/ky01/rules.mk delete mode 100644 keyboards/kyria/keymaps/asapjockey/config.h delete mode 100644 keyboards/kyria/keymaps/asapjockey/keymap.c delete mode 100644 keyboards/kyria/keymaps/asapjockey/rules.mk delete mode 100644 keyboards/kyria/keymaps/benji/config.h delete mode 100644 keyboards/kyria/keymaps/benji/keymap.c delete mode 100644 keyboards/kyria/keymaps/benji/rules.mk delete mode 100644 keyboards/kyria/keymaps/cjuniet/config.h delete mode 100644 keyboards/kyria/keymaps/cjuniet/rules.mk delete mode 100644 keyboards/kyria/keymaps/corodiak/config.h delete mode 100644 keyboards/kyria/keymaps/corodiak/rules.mk delete mode 100644 keyboards/kyria/keymaps/cwebster2/config.h delete mode 100644 keyboards/kyria/keymaps/cwebster2/keymap.c delete mode 100644 keyboards/kyria/keymaps/cwebster2/rules.mk delete mode 100644 keyboards/kyria/keymaps/default/config.h delete mode 100644 keyboards/kyria/keymaps/default/keymap.c delete mode 100644 keyboards/kyria/keymaps/default/rules.mk delete mode 100644 keyboards/kyria/keymaps/drashna/config.h delete mode 100644 keyboards/kyria/keymaps/drashna/keymap.c delete mode 100644 keyboards/kyria/keymaps/drashna/rules.mk delete mode 100644 keyboards/kyria/keymaps/ghidalgo93/config.h delete mode 100644 keyboards/kyria/keymaps/ghidalgo93/keymap.c delete mode 100644 keyboards/kyria/keymaps/ghidalgo93/rules.mk delete mode 100644 keyboards/kyria/keymaps/gotham/config.h delete mode 100644 keyboards/kyria/keymaps/gotham/keymap.c delete mode 100644 keyboards/kyria/keymaps/gotham/rules.mk delete mode 100644 keyboards/kyria/keymaps/j-inc/config.h delete mode 100644 keyboards/kyria/keymaps/j-inc/keymap.c delete mode 100644 keyboards/kyria/keymaps/j-inc/rules.mk delete mode 100644 keyboards/kyria/keymaps/jhelvy/config.h delete mode 100644 keyboards/kyria/keymaps/jhelvy/keymap.c delete mode 100644 keyboards/kyria/keymaps/jhelvy/rules.mk delete mode 100644 keyboards/kyria/keymaps/kejadlen/config.h delete mode 100644 keyboards/kyria/keymaps/kejadlen/rules.mk delete mode 100644 keyboards/kyria/keymaps/mattir/config.h delete mode 100644 keyboards/kyria/keymaps/mattir/keymap.c delete mode 100644 keyboards/kyria/keymaps/mattir/rules.mk delete mode 100644 keyboards/kyria/keymaps/mattir2/rules.mk delete mode 100644 keyboards/kyria/keymaps/ninjonas/config.h delete mode 100644 keyboards/kyria/keymaps/ninjonas/oled.c delete mode 100644 keyboards/kyria/keymaps/ninjonas/rules.mk delete mode 100644 keyboards/kyria/keymaps/pierrec83/config.h delete mode 100644 keyboards/kyria/keymaps/pierrec83/rules.mk delete mode 100644 keyboards/kyria/keymaps/plattfot/README.md delete mode 100644 keyboards/kyria/keymaps/plattfot/config.h delete mode 100644 keyboards/kyria/keymaps/plattfot/keymap.c delete mode 100644 keyboards/kyria/keymaps/plattfot/rules.mk delete mode 100644 keyboards/kyria/keymaps/rmw/config.h delete mode 100644 keyboards/kyria/keymaps/rmw/keymap.c delete mode 100644 keyboards/kyria/keymaps/rmw/rules.mk delete mode 100644 keyboards/kyria/keymaps/shinze/config.h delete mode 100644 keyboards/kyria/keymaps/shinze/keymap.c delete mode 100644 keyboards/kyria/keymaps/shinze/rules.mk delete mode 100644 keyboards/kyria/keymaps/tessachka/config.h delete mode 100644 keyboards/kyria/keymaps/tessachka/keymap.c delete mode 100644 keyboards/kyria/keymaps/tessachka/rules.mk delete mode 100644 keyboards/kyria/keymaps/thomasbaart/config.h delete mode 100644 keyboards/kyria/keymaps/thomasbaart/keymap.c delete mode 100644 keyboards/kyria/keymaps/thomasbaart/rules.mk delete mode 100755 keyboards/kyria/keymaps/winternebs/config.h delete mode 100755 keyboards/kyria/keymaps/winternebs/keymap.c delete mode 100755 keyboards/kyria/keymaps/winternebs/rules.mk delete mode 100644 keyboards/kyria/kyria.h delete mode 100644 keyboards/kyria/readme.md delete mode 100644 keyboards/kyria/rev1/config.h delete mode 100644 keyboards/kyria/rev1/rev1.c delete mode 100644 keyboards/kyria/rev1/rev1.h delete mode 100644 keyboards/kyria/rev1/rules.mk delete mode 100644 keyboards/kyria/rules.mk create mode 100644 keyboards/latin60rgb/config.h create mode 100644 keyboards/latin60rgb/info.json create mode 100644 keyboards/latin60rgb/keymaps/default/keymap.c create mode 100644 keyboards/latin60rgb/keymaps/via/keymap.c create mode 100644 keyboards/latin60rgb/keymaps/via/rules.mk create mode 100644 keyboards/latin60rgb/latin60rgb.c create mode 100644 keyboards/latin60rgb/latin60rgb.h create mode 100644 keyboards/latin60rgb/readme.md create mode 100644 keyboards/latin60rgb/rules.mk create mode 100644 keyboards/latin6rgb/config.h create mode 100644 keyboards/latin6rgb/info.json create mode 100644 keyboards/latin6rgb/keymaps/default/keymap.c create mode 100644 keyboards/latin6rgb/keymaps/via/keymap.c create mode 100644 keyboards/latin6rgb/keymaps/via/rules.mk create mode 100644 keyboards/latin6rgb/latin6rgb.c create mode 100644 keyboards/latin6rgb/latin6rgb.h create mode 100644 keyboards/latin6rgb/readme.md create mode 100644 keyboards/latin6rgb/rules.mk rename keyboards/lazydesigners/bolt/{ => keymaps}/via/keymap.c (100%) create mode 100644 keyboards/lazydesigners/bolt/keymaps/via/rules.mk create mode 100755 keyboards/lazydesigners/cassette8/cassette8.c create mode 100755 keyboards/lazydesigners/cassette8/cassette8.h create mode 100755 keyboards/lazydesigners/cassette8/config.h create mode 100755 keyboards/lazydesigners/cassette8/info.json create mode 100755 keyboards/lazydesigners/cassette8/keymaps/default/keymap.c create mode 100755 keyboards/lazydesigners/cassette8/keymaps/via/keymap.c create mode 100755 keyboards/lazydesigners/cassette8/keymaps/via/rules.mk create mode 100755 keyboards/lazydesigners/cassette8/readme.md create mode 100755 keyboards/lazydesigners/cassette8/rules.mk create mode 100644 keyboards/lazydesigners/the40/keymaps/ortho/keymap.c delete mode 100644 keyboards/lazydesigners/the60/config.h delete mode 100644 keyboards/lazydesigners/the60/info.json mode change 100644 => 100755 keyboards/lazydesigners/the60/readme.md create mode 100755 keyboards/lazydesigners/the60/rev1/config.h create mode 100755 keyboards/lazydesigners/the60/rev1/info.json rename keyboards/lazydesigners/the60/{ => rev1}/keymaps/default/keymap.c (100%) mode change 100644 => 100755 rename keyboards/lazydesigners/the60/{ => rev1}/keymaps/default/readme.md (100%) mode change 100644 => 100755 create mode 100755 keyboards/lazydesigners/the60/rev1/readme.md create mode 100755 keyboards/lazydesigners/the60/rev1/rev1.c rename keyboards/lazydesigners/the60/{the60.h => rev1/rev1.h} (100%) mode change 100644 => 100755 create mode 100755 keyboards/lazydesigners/the60/rev1/rules.mk create mode 100755 keyboards/lazydesigners/the60/rev2/config.h create mode 100755 keyboards/lazydesigners/the60/rev2/info.json create mode 100755 keyboards/lazydesigners/the60/rev2/keymaps/default/keymap.c create mode 100755 keyboards/lazydesigners/the60/rev2/keymaps/via/keymap.c create mode 100755 keyboards/lazydesigners/the60/rev2/keymaps/via/rules.mk create mode 100755 keyboards/lazydesigners/the60/rev2/readme.md create mode 100755 keyboards/lazydesigners/the60/rev2/rev2.c create mode 100755 keyboards/lazydesigners/the60/rev2/rev2.h create mode 100755 keyboards/lazydesigners/the60/rev2/rules.mk delete mode 100644 keyboards/lazydesigners/the60/rules.mk delete mode 100644 keyboards/lazydesigners/the60/the60.c create mode 100644 keyboards/lck75/keymaps/via/keymap.c create mode 100644 keyboards/lck75/keymaps/via/rules.mk delete mode 100644 keyboards/lets_split/keymaps/mtdjr/config.h delete mode 100644 keyboards/lets_split/keymaps/mtdjr/keymap.c delete mode 100644 keyboards/lets_split/keymaps/mtdjr/rules.mk create mode 100644 keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/config.h create mode 100644 keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/keymap.c create mode 100644 keyboards/lfkeyboards/lfkpad/keymaps/pascalpfeil/rules.mk create mode 100644 keyboards/lily58/keymaps/datadavd/config.h create mode 100644 keyboards/lily58/keymaps/datadavd/keymap.c create mode 100644 keyboards/lily58/keymaps/datadavd/rules.mk create mode 100644 keyboards/lily58/keymaps/gaston/config.h create mode 100644 keyboards/lily58/keymaps/gaston/keymap.c create mode 100644 keyboards/lily58/keymaps/gaston/readme.md create mode 100644 keyboards/lily58/keymaps/gaston/rules.mk create mode 100644 keyboards/lily58/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/lily58/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/lily58/keymaps/narze/config.h create mode 100644 keyboards/lily58/keymaps/narze/keymap.c create mode 100644 keyboards/lily58/keymaps/narze/readme.md create mode 100644 keyboards/lily58/keymaps/narze/rules.mk delete mode 100755 keyboards/lily58/rev1/matrix.c delete mode 100755 keyboards/lily58/rev1/serial_config.h delete mode 100755 keyboards/lily58/rev1/split_util.c delete mode 100755 keyboards/lily58/serial.c create mode 100644 keyboards/linworks/fave87/config.h create mode 100644 keyboards/linworks/fave87/fave87.c create mode 100644 keyboards/linworks/fave87/fave87.h create mode 100644 keyboards/linworks/fave87/info.json create mode 100644 keyboards/linworks/fave87/keymaps/default/keymap.c create mode 100644 keyboards/linworks/fave87/keymaps/via/keymap.c create mode 100644 keyboards/linworks/fave87/keymaps/via/rules.mk create mode 100644 keyboards/linworks/fave87/readme.md create mode 100644 keyboards/linworks/fave87/rules.mk create mode 100644 keyboards/lm_keyboard/lm60n/config.h create mode 100644 keyboards/lm_keyboard/lm60n/info.json create mode 100644 keyboards/lm_keyboard/lm60n/keymaps/default/keymap.c create mode 100644 keyboards/lm_keyboard/lm60n/keymaps/default/readme.md create mode 100644 keyboards/lm_keyboard/lm60n/keymaps/via/keymap.c create mode 100644 keyboards/lm_keyboard/lm60n/keymaps/via/readme.md create mode 100644 keyboards/lm_keyboard/lm60n/keymaps/via/rules.mk create mode 100644 keyboards/lm_keyboard/lm60n/lm60n.c create mode 100644 keyboards/lm_keyboard/lm60n/lm60n.h create mode 100644 keyboards/lm_keyboard/lm60n/readme.md create mode 100644 keyboards/lm_keyboard/lm60n/rules.mk create mode 100644 keyboards/ls_60/chconf.h create mode 100644 keyboards/ls_60/config.h create mode 100644 keyboards/ls_60/info.json create mode 100644 keyboards/ls_60/keymaps/default/keymap.c create mode 100644 keyboards/ls_60/keymaps/via/keymap.c create mode 100644 keyboards/ls_60/keymaps/via/rules.mk create mode 100644 keyboards/ls_60/ls_60.c create mode 100644 keyboards/ls_60/ls_60.h create mode 100644 keyboards/ls_60/readme.md create mode 100644 keyboards/ls_60/rules.mk create mode 100644 keyboards/lucid/alexa/alexa.c create mode 100644 keyboards/lucid/alexa/alexa.h create mode 100644 keyboards/lucid/alexa/config.h create mode 100644 keyboards/lucid/alexa/info.json create mode 100644 keyboards/lucid/alexa/keymaps/default/keymap.c create mode 100644 keyboards/lucid/alexa/keymaps/via/keymap.c create mode 100644 keyboards/lucid/alexa/keymaps/via/rules.mk create mode 100644 keyboards/lucid/alexa/readme.md create mode 100644 keyboards/lucid/alexa/rules.mk create mode 100644 keyboards/lucid/scarlet/config.h create mode 100644 keyboards/lucid/scarlet/info.json create mode 100644 keyboards/lucid/scarlet/keymaps/default/keymap.c create mode 100644 keyboards/lucid/scarlet/keymaps/via/keymap.c create mode 100644 keyboards/lucid/scarlet/keymaps/via/rules.mk create mode 100644 keyboards/lucid/scarlet/readme.md create mode 100644 keyboards/lucid/scarlet/rules.mk create mode 100644 keyboards/lucid/scarlet/scarlet.c create mode 100644 keyboards/lucid/scarlet/scarlet.h create mode 100644 keyboards/lyra/config.h create mode 100644 keyboards/lyra/keymaps/default/config.h create mode 100644 keyboards/lyra/keymaps/default/keymap.c create mode 100644 keyboards/lyra/keymaps/default/rules.mk create mode 100644 keyboards/lyra/keymaps/via/config.h create mode 100644 keyboards/lyra/keymaps/via/keymap.c create mode 100644 keyboards/lyra/keymaps/via/rules.mk create mode 100644 keyboards/lyra/lyra.c create mode 100644 keyboards/lyra/lyra.h create mode 100644 keyboards/lyra/readme.md create mode 100644 keyboards/lyra/rev1/config.h create mode 100644 keyboards/lyra/rev1/info.json create mode 100644 keyboards/lyra/rev1/rev1.c create mode 100644 keyboards/lyra/rev1/rev1.h create mode 100644 keyboards/lyra/rev1/rules.mk create mode 100644 keyboards/m3n3van/config.h create mode 100644 keyboards/m3n3van/info.json create mode 100644 keyboards/m3n3van/keymaps/default/keymap.json create mode 100644 keyboards/m3n3van/keymaps/matthewdias/keymap.c create mode 100644 keyboards/m3n3van/keymaps/via/keymap.c create mode 100644 keyboards/m3n3van/keymaps/via/rules.mk create mode 100644 keyboards/m3n3van/m3n3van.c create mode 100644 keyboards/m3n3van/m3n3van.h create mode 100644 keyboards/m3n3van/readme.md create mode 100644 keyboards/m3n3van/rules.mk create mode 100644 keyboards/m65/config.h create mode 100644 keyboards/m65/info.json create mode 100644 keyboards/m65/keymaps/default/config.h create mode 100644 keyboards/m65/keymaps/default/keymap.c create mode 100644 keyboards/m65/keymaps/default/readme.md create mode 100644 keyboards/m65/keymaps/dk/config.h create mode 100644 keyboards/m65/keymaps/dk/keymap.c create mode 100644 keyboards/m65/keymaps/dk/readme.md create mode 100644 keyboards/m65/keymaps/uk/config.h create mode 100644 keyboards/m65/keymaps/uk/keymap.c create mode 100644 keyboards/m65/keymaps/uk/readme.md create mode 100644 keyboards/m65/m65.c create mode 100644 keyboards/m65/m65.h create mode 100644 keyboards/m65/readme.md create mode 100644 keyboards/m65/rev1/chconf.h create mode 100644 keyboards/m65/rev1/config.h create mode 100644 keyboards/m65/rev1/mcuconf.h rename layouts/community/split_3x6_3/drashna/ssd1306.c => keyboards/m65/rev1/readme.md (100%) create mode 100644 keyboards/m65/rev1/rules.mk create mode 100644 keyboards/makrosu/config.h create mode 100644 keyboards/makrosu/info.json create mode 100644 keyboards/makrosu/keymaps/default/keymap.c create mode 100644 keyboards/makrosu/keymaps/via/keymap.c create mode 100644 keyboards/makrosu/keymaps/via/rules.mk create mode 100644 keyboards/makrosu/makrosu.c create mode 100644 keyboards/makrosu/makrosu.h create mode 100644 keyboards/makrosu/readme.md create mode 100644 keyboards/makrosu/rules.mk create mode 100644 keyboards/manyboard/macro/config.h create mode 100644 keyboards/manyboard/macro/info.json create mode 100644 keyboards/manyboard/macro/keymaps/default/keymap.c create mode 100644 keyboards/manyboard/macro/keymaps/via/keymap.c create mode 100644 keyboards/manyboard/macro/keymaps/via/rules.mk create mode 100644 keyboards/manyboard/macro/macro.c create mode 100644 keyboards/manyboard/macro/macro.h create mode 100644 keyboards/manyboard/macro/readme.md create mode 100644 keyboards/manyboard/macro/rules.mk create mode 100644 keyboards/massdrop/alt/alt.c create mode 100644 keyboards/massdrop/alt/keymaps/hlmtre/keymap.c create mode 100644 keyboards/massdrop/alt/keymaps/jdelkins/config.h create mode 100644 keyboards/massdrop/alt/keymaps/jdelkins/keymap.c create mode 100644 keyboards/massdrop/alt/keymaps/jdelkins/rgb_matrix.h create mode 100644 keyboards/massdrop/alt/keymaps/jdelkins/rules.mk create mode 100644 keyboards/massdrop/alt/keymaps/jdelkins_ss/config.h create mode 100644 keyboards/massdrop/alt/keymaps/jdelkins_ss/keymap.c create mode 100644 keyboards/massdrop/alt/keymaps/jdelkins_ss/rgb_matrix.h create mode 100644 keyboards/massdrop/alt/keymaps/jdelkins_ss/rules.mk delete mode 100644 keyboards/massdrop/alt/matrix.c create mode 100644 keyboards/massdrop/ctrl/ctrl.c delete mode 100644 keyboards/massdrop/ctrl/matrix.c create mode 100644 keyboards/matchstickworks/southpad/config.h create mode 100644 keyboards/matchstickworks/southpad/info.json create mode 100644 keyboards/matchstickworks/southpad/keymaps/default/keymap.c create mode 100644 keyboards/matchstickworks/southpad/readme.md create mode 100644 keyboards/matchstickworks/southpad/rules.mk create mode 100644 keyboards/matchstickworks/southpad/southpad.c create mode 100644 keyboards/matchstickworks/southpad/southpad.h create mode 100644 keyboards/matrix/falcon/config.h create mode 100644 keyboards/matrix/falcon/falcon.c create mode 100644 keyboards/matrix/falcon/falcon.h create mode 100644 keyboards/matrix/falcon/info.json create mode 100644 keyboards/matrix/falcon/keymaps/default/keymap.c create mode 100644 keyboards/matrix/falcon/keymaps/via/keymap.c create mode 100644 keyboards/matrix/falcon/keymaps/via/rules.mk create mode 100644 keyboards/matrix/falcon/readme.md create mode 100644 keyboards/matrix/falcon/rules.mk delete mode 100644 keyboards/matrix/m12og/config.h delete mode 100644 keyboards/matrix/m12og/info.json delete mode 100644 keyboards/matrix/m12og/m12og.c delete mode 100644 keyboards/matrix/m12og/m12og.h create mode 100644 keyboards/matrix/m12og/rev1/boards/m12og_v1/board.c create mode 100644 keyboards/matrix/m12og/rev1/boards/m12og_v1/board.h create mode 100644 keyboards/matrix/m12og/rev1/boards/m12og_v1/board.mk create mode 100644 keyboards/matrix/m12og/rev1/chconf.h create mode 100644 keyboards/matrix/m12og/rev1/config.h create mode 100644 keyboards/matrix/m12og/rev1/halconf.h create mode 100644 keyboards/matrix/m12og/rev1/info.json create mode 100644 keyboards/matrix/m12og/rev1/keymaps/default/keymap.c create mode 100644 keyboards/matrix/m12og/rev1/ld/m12og_v1.ld create mode 100644 keyboards/matrix/m12og/rev1/matrix.c create mode 100644 keyboards/matrix/m12og/rev1/mcuconf.h create mode 100644 keyboards/matrix/m12og/rev1/readme.md create mode 100644 keyboards/matrix/m12og/rev1/rev1.c create mode 100644 keyboards/matrix/m12og/rev1/rev1.h create mode 100644 keyboards/matrix/m12og/rev1/rules.mk create mode 100644 keyboards/matrix/m12og/rev2/config.h create mode 100644 keyboards/matrix/m12og/rev2/info.json rename keyboards/matrix/m12og/{ => rev2}/keymaps/default/keymap.c (100%) rename keyboards/matrix/m12og/{ => rev2}/keymaps/iso/keymap.c (100%) create mode 100644 keyboards/matrix/m12og/rev2/keymaps/via/keymap.c create mode 100644 keyboards/matrix/m12og/rev2/keymaps/via/rules.mk create mode 100644 keyboards/matrix/m12og/rev2/readme.md create mode 100644 keyboards/matrix/m12og/rev2/rev2.c create mode 100644 keyboards/matrix/m12og/rev2/rev2.h create mode 100644 keyboards/matrix/m12og/rev2/rules.mk delete mode 100644 keyboards/matrix/m12og/rules.mk create mode 100644 keyboards/mb44/config.h create mode 100644 keyboards/mb44/info.json create mode 100644 keyboards/mb44/keymaps/2u1u_space/keymap.c create mode 100644 keyboards/mb44/keymaps/2u_space/keymap.c create mode 100644 keyboards/mb44/keymaps/3u_space/keymap.c create mode 100644 keyboards/mb44/keymaps/default/keymap.c create mode 100644 keyboards/mb44/keymaps/via/keymap.c create mode 100644 keyboards/mb44/keymaps/via/rules.mk create mode 100644 keyboards/mb44/mb44.c create mode 100644 keyboards/mb44/mb44.h create mode 100644 keyboards/mb44/readme.md create mode 100644 keyboards/mb44/rules.mk create mode 100644 keyboards/mechlovin/adelais/rgb_led/readme.md create mode 100644 keyboards/mechlovin/adelais/standard_led/halconf.h create mode 100644 keyboards/mechlovin/adelais/standard_led/mcuconf.h create mode 100644 keyboards/mechlovin/adelais/standard_led/readme.md create mode 100644 keyboards/mechlovin/adelais/standard_led/rev4/config.h create mode 100644 keyboards/mechlovin/adelais/standard_led/rev4/readme.md create mode 100644 keyboards/mechlovin/adelais/standard_led/rev4/rules.mk delete mode 100644 keyboards/mechlovin/hannah65/mechlovin9/config.h delete mode 100644 keyboards/mechlovin/hannah65/mechlovin9/readme.md delete mode 100644 keyboards/mechlovin/hannah65/rev1/config.h create mode 100644 keyboards/mechlovin/hannah65/rev1/haus/config.h create mode 100644 keyboards/mechlovin/hannah65/rev1/haus/readme.md create mode 100644 keyboards/mechlovin/hannah65/rev1/haus/rules.mk create mode 100644 keyboards/mechlovin/hannah65/rev1/readme.md create mode 100644 keyboards/mechlovin/hex4b/config.h create mode 100644 keyboards/mechlovin/hex4b/hex4b.c create mode 100644 keyboards/mechlovin/hex4b/hex4b.h create mode 100644 keyboards/mechlovin/hex4b/info.json create mode 100644 keyboards/mechlovin/hex4b/keymaps/default/keymap.c create mode 100644 keyboards/mechlovin/hex4b/keymaps/default/readme.md create mode 100644 keyboards/mechlovin/hex4b/keymaps/via/keymap.c create mode 100644 keyboards/mechlovin/hex4b/keymaps/via/rules.mk create mode 100644 keyboards/mechlovin/hex4b/readme.md create mode 100644 keyboards/mechlovin/hex4b/rules.mk create mode 100644 keyboards/mechlovin/hex6c/config.h create mode 100644 keyboards/mechlovin/hex6c/hex6c.c create mode 100644 keyboards/mechlovin/hex6c/hex6c.h create mode 100644 keyboards/mechlovin/hex6c/info.json create mode 100644 keyboards/mechlovin/hex6c/keymaps/default/keymap.c create mode 100644 keyboards/mechlovin/hex6c/keymaps/default/readme.md create mode 100644 keyboards/mechlovin/hex6c/keymaps/via/keymap.c create mode 100644 keyboards/mechlovin/hex6c/keymaps/via/rules.mk create mode 100644 keyboards/mechlovin/hex6c/readme.md create mode 100644 keyboards/mechlovin/hex6c/rules.mk create mode 100644 keyboards/mechlovin/infinity87/rev1/config.h create mode 100644 keyboards/mechlovin/infinity87/rev1/readme.md create mode 100644 keyboards/mechlovin/infinity87/rev1/rev1.c create mode 100644 keyboards/mechlovin/infinity87/rev1/rev1.h create mode 100644 keyboards/mechlovin/infinity87/rev1/rogue87/config.h create mode 100644 keyboards/mechlovin/infinity87/rev1/rogue87/info.json create mode 100644 keyboards/mechlovin/infinity87/rev1/rogue87/keymaps/default/keymap.c create mode 100644 keyboards/mechlovin/infinity87/rev1/rogue87/keymaps/default/readme.md create mode 100644 keyboards/mechlovin/infinity87/rev1/rogue87/keymaps/via/keymap.c create mode 100644 keyboards/mechlovin/infinity87/rev1/rogue87/keymaps/via/readme.md create mode 100644 keyboards/mechlovin/infinity87/rev1/rogue87/keymaps/via/rules.mk create mode 100644 keyboards/mechlovin/infinity87/rev1/rogue87/readme.md create mode 100644 keyboards/mechlovin/infinity87/rev1/rogue87/rogue87.h create mode 100644 keyboards/mechlovin/infinity87/rev1/rogue87/rules.mk create mode 100644 keyboards/mechlovin/infinity87/rev1/rouge87/config.h create mode 100644 keyboards/mechlovin/infinity87/rev1/rouge87/info.json create mode 100644 keyboards/mechlovin/infinity87/rev1/rouge87/keymaps/default/keymap.c create mode 100644 keyboards/mechlovin/infinity87/rev1/rouge87/keymaps/default/readme.md create mode 100644 keyboards/mechlovin/infinity87/rev1/rouge87/keymaps/via/keymap.c create mode 100644 keyboards/mechlovin/infinity87/rev1/rouge87/keymaps/via/readme.md create mode 100644 keyboards/mechlovin/infinity87/rev1/rouge87/keymaps/via/rules.mk create mode 100644 keyboards/mechlovin/infinity87/rev1/rouge87/readme.md create mode 100644 keyboards/mechlovin/infinity87/rev1/rouge87/rouge87.h create mode 100644 keyboards/mechlovin/infinity87/rev1/rouge87/rules.mk create mode 100644 keyboards/mechlovin/infinity87/rev1/rules.mk create mode 100644 keyboards/mechlovin/infinity87/rev1/standard/config.h rename keyboards/mechlovin/infinity87/{ => rev1/standard}/info.json (100%) create mode 100644 keyboards/mechlovin/infinity87/rev1/standard/readme.md rename keyboards/{keebio/dilly/keymaps/bakingpy => mechlovin/infinity87/rev1/standard}/rules.mk (100%) create mode 100644 keyboards/mechlovin/infinity87/rev2/config.h create mode 100644 keyboards/mechlovin/infinity87/rev2/info.json create mode 100644 keyboards/mechlovin/infinity87/rev2/matrix.c create mode 100644 keyboards/mechlovin/infinity87/rev2/readme.md create mode 100644 keyboards/mechlovin/infinity87/rev2/rev2.c create mode 100644 keyboards/mechlovin/infinity87/rev2/rev2.h create mode 100644 keyboards/mechlovin/infinity87/rev2/rules.mk create mode 100644 keyboards/mechlovin/infinity87/rgb_rev1/config.h create mode 100644 keyboards/mechlovin/infinity87/rgb_rev1/info.json create mode 100644 keyboards/mechlovin/infinity87/rgb_rev1/readme.md create mode 100644 keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c create mode 100644 keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.h create mode 100644 keyboards/mechlovin/infinity87/rgb_rev1/rules.mk create mode 100644 keyboards/mechlovin/mechlovin9/config.h rename keyboards/mechlovin/{hannah65 => }/mechlovin9/info.json (100%) rename keyboards/mechlovin/{hannah65 => }/mechlovin9/keymaps/default/keymap.c (100%) rename keyboards/mechlovin/{hannah65 => }/mechlovin9/keymaps/default/readme.md (100%) rename keyboards/mechlovin/{hannah65 => }/mechlovin9/keymaps/via/keymap.c (100%) create mode 100644 keyboards/mechlovin/mechlovin9/keymaps/via/rules.mk create mode 100644 keyboards/mechlovin/mechlovin9/mechlovin9.c rename keyboards/mechlovin/{hannah65 => }/mechlovin9/mechlovin9.h (97%) create mode 100644 keyboards/mechlovin/mechlovin9/readme.md create mode 100644 keyboards/mechlovin/mechlovin9/rev1/config.h create mode 100644 keyboards/mechlovin/mechlovin9/rev1/readme.md create mode 100644 keyboards/mechlovin/mechlovin9/rev1/rules.mk create mode 100644 keyboards/mechlovin/mechlovin9/rev2/config.h create mode 100644 keyboards/mechlovin/mechlovin9/rev2/readme.md create mode 100644 keyboards/mechlovin/mechlovin9/rev2/rules.mk create mode 100644 keyboards/mechlovin/mechlovin9/rules.mk create mode 100644 keyboards/mechlovin/olly/jf/config.h create mode 100644 keyboards/mechlovin/olly/jf/info.json create mode 100644 keyboards/mechlovin/olly/jf/jf.c create mode 100644 keyboards/mechlovin/olly/jf/jf.h create mode 100644 keyboards/mechlovin/olly/jf/keymaps/default/keymap.c create mode 100644 keyboards/mechlovin/olly/jf/keymaps/default/readme.md create mode 100644 keyboards/mechlovin/olly/jf/keymaps/via/config.h create mode 100644 keyboards/mechlovin/olly/jf/keymaps/via/keymap.c create mode 100644 keyboards/mechlovin/olly/jf/keymaps/via/readme.md create mode 100644 keyboards/mechlovin/olly/jf/keymaps/via/rules.mk create mode 100644 keyboards/mechlovin/olly/jf/matrix.c create mode 100644 keyboards/mechlovin/olly/jf/readme.md create mode 100644 keyboards/mechlovin/olly/jf/rules.mk create mode 100644 keyboards/mechlovin/serratus/config.h create mode 100644 keyboards/mechlovin/serratus/info.json create mode 100644 keyboards/mechlovin/serratus/keymaps/default/keymap.c create mode 100644 keyboards/mechlovin/serratus/keymaps/default/readme.md create mode 100644 keyboards/mechlovin/serratus/keymaps/via/keymap.c create mode 100644 keyboards/mechlovin/serratus/keymaps/via/readme.md create mode 100644 keyboards/mechlovin/serratus/keymaps/via/rules.mk create mode 100644 keyboards/mechlovin/serratus/matrix.c create mode 100644 keyboards/mechlovin/serratus/readme.md create mode 100644 keyboards/mechlovin/serratus/rules.mk create mode 100644 keyboards/mechlovin/serratus/serratus.c create mode 100644 keyboards/mechlovin/serratus/serratus.h create mode 100644 keyboards/mechlovin/th1800/config.h create mode 100644 keyboards/mechlovin/th1800/info.json create mode 100644 keyboards/mechlovin/th1800/keymaps/default/keymap.c create mode 100644 keyboards/mechlovin/th1800/keymaps/default/readme.md create mode 100644 keyboards/mechlovin/th1800/keymaps/via/keymap.c create mode 100644 keyboards/mechlovin/th1800/keymaps/via/readme.md create mode 100644 keyboards/mechlovin/th1800/keymaps/via/rules.mk create mode 100644 keyboards/mechlovin/th1800/readme.md create mode 100644 keyboards/mechlovin/th1800/rules.mk create mode 100644 keyboards/mechlovin/th1800/th1800.c create mode 100644 keyboards/mechlovin/th1800/th1800.h create mode 100644 keyboards/mechwild/mercutio/keymaps/jonavin/config.h create mode 100755 keyboards/mechwild/mercutio/keymaps/jonavin/keymap.c create mode 100644 keyboards/mechwild/mercutio/keymaps/jonavin/readme.md create mode 100644 keyboards/mechwild/mercutio/keymaps/jonavin/rules.mk create mode 100644 keyboards/mechwild/murphpad/config.h create mode 100644 keyboards/mechwild/murphpad/info.json create mode 100644 keyboards/mechwild/murphpad/keymaps/default/keymap.c create mode 100644 keyboards/mechwild/murphpad/keymaps/jonavin/config.h create mode 100644 keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c create mode 100644 keyboards/mechwild/murphpad/keymaps/jonavin/layout_landscape.h create mode 100644 keyboards/mechwild/murphpad/keymaps/jonavin/readme.md create mode 100644 keyboards/mechwild/murphpad/keymaps/jonavin/rules.mk create mode 100644 keyboards/mechwild/murphpad/keymaps/via/keymap.c create mode 100644 keyboards/mechwild/murphpad/keymaps/via/rules.mk create mode 100644 keyboards/mechwild/murphpad/lib/murphpadfont.c create mode 100644 keyboards/mechwild/murphpad/murphpad.c create mode 100644 keyboards/mechwild/murphpad/murphpad.h create mode 100644 keyboards/mechwild/murphpad/readme.md create mode 100644 keyboards/mechwild/murphpad/rules.mk create mode 100644 keyboards/mechwild/obe/config.h create mode 100644 keyboards/mechwild/obe/f401/halconf.h create mode 100644 keyboards/mechwild/obe/f401/mcuconf.h create mode 100644 keyboards/mechwild/obe/f401/rules.mk create mode 100644 keyboards/mechwild/obe/f411/halconf.h create mode 100644 keyboards/mechwild/obe/f411/mcuconf.h create mode 100644 keyboards/mechwild/obe/f411/rules.mk create mode 100644 keyboards/mechwild/obe/info.json create mode 100644 keyboards/mechwild/obe/keymaps/default/keymap.c create mode 100644 keyboards/mechwild/obe/keymaps/via/keymap.c create mode 100644 keyboards/mechwild/obe/keymaps/via/rules.mk create mode 100644 keyboards/mechwild/obe/obe.c create mode 100644 keyboards/mechwild/obe/obe.h create mode 100644 keyboards/mechwild/obe/readme.md create mode 100644 keyboards/mechwild/obe/rules.mk create mode 100644 keyboards/melgeek/mj61/rev1/rev1.c create mode 100644 keyboards/melgeek/mj61/rev2/config.h create mode 100644 keyboards/melgeek/mj61/rev2/rev2.c create mode 100644 keyboards/melgeek/mj61/rev2/rules.mk create mode 100755 keyboards/melgeek/mj6xy/config.h create mode 100755 keyboards/melgeek/mj6xy/info.json create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_7u_spc_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_3u_spc_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_6u_spc_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_arrow_split_bs_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_ansi_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_bs_rshift/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_7u_spc_split_rshift/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_bs_rshift/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_1u_lshift_split_rshift/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_bs_rshift/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_7u_spc_split_rshift/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_arrow/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_3u_spc_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_6u_spc_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_arrow_split_bs_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_split_bs_rshift/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/60_iso_split_rshift/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_ansi/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_ansi_3u_spc_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_ansi_6u_spc_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_ansi_split_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_ansi_split_bs_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_iso/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_iso_3u_spc_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_iso_6u_spc_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_iso_split_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_iso_split_bs/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/64_iso_split_bs_3u_spc/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/default/keymap.c create mode 100755 keyboards/melgeek/mj6xy/keymaps/via/keymap.c create mode 100644 keyboards/melgeek/mj6xy/keymaps/via/rules.mk create mode 100755 keyboards/melgeek/mj6xy/mj6xy.c create mode 100755 keyboards/melgeek/mj6xy/mj6xy.h create mode 100755 keyboards/melgeek/mj6xy/readme.md create mode 100755 keyboards/melgeek/mj6xy/rev3/config.h create mode 100644 keyboards/melgeek/mj6xy/rev3/rev3.c create mode 100755 keyboards/melgeek/mj6xy/rev3/rules.mk create mode 100755 keyboards/melgeek/mojo68/config.h create mode 100755 keyboards/melgeek/mojo68/info.json create mode 100755 keyboards/melgeek/mojo68/keymaps/default/keymap.c create mode 100755 keyboards/melgeek/mojo68/keymaps/via/keymap.c create mode 100755 keyboards/melgeek/mojo68/keymaps/via/rules.mk create mode 100755 keyboards/melgeek/mojo68/mojo68.c create mode 100755 keyboards/melgeek/mojo68/mojo68.h create mode 100755 keyboards/melgeek/mojo68/readme.md create mode 100755 keyboards/melgeek/mojo68/rev1/config.h create mode 100755 keyboards/melgeek/mojo68/rev1/rev1.c create mode 100755 keyboards/melgeek/mojo68/rev1/rules.mk create mode 100644 keyboards/merge/uc1/config.h create mode 100644 keyboards/merge/uc1/info.json create mode 100644 keyboards/merge/uc1/keymaps/default/keymap.c create mode 100644 keyboards/merge/uc1/keymaps/default/readme.md create mode 100644 keyboards/merge/uc1/keymaps/via/keymap.c create mode 100644 keyboards/merge/uc1/keymaps/via/rules.mk create mode 100644 keyboards/merge/uc1/readme.md create mode 100644 keyboards/merge/uc1/rules.mk create mode 100644 keyboards/merge/uc1/uc1.c create mode 100644 keyboards/merge/uc1/uc1.h create mode 100644 keyboards/merge/um70/config.h create mode 100644 keyboards/merge/um70/info.json create mode 100644 keyboards/merge/um70/keymaps/default/keymap.c create mode 100644 keyboards/merge/um70/keymaps/default/readme.md create mode 100644 keyboards/merge/um70/keymaps/default/rules.mk create mode 100644 keyboards/merge/um70/keymaps/via/config.h create mode 100644 keyboards/merge/um70/keymaps/via/keymap.c create mode 100644 keyboards/merge/um70/keymaps/via/rules.mk create mode 100644 keyboards/merge/um70/readme.md create mode 100644 keyboards/merge/um70/rules.mk create mode 100644 keyboards/merge/um70/um70.c create mode 100644 keyboards/merge/um70/um70.h create mode 100644 keyboards/millipad/config.h create mode 100644 keyboards/millipad/info.json create mode 100644 keyboards/millipad/keymaps/default/keymap.c create mode 100644 keyboards/millipad/keymaps/default/readme.md create mode 100644 keyboards/millipad/millipad.c create mode 100644 keyboards/millipad/millipad.h create mode 100644 keyboards/millipad/readme.md create mode 100644 keyboards/millipad/rules.mk create mode 100644 keyboards/mini_elixivy/config.h create mode 100644 keyboards/mini_elixivy/info.json create mode 100644 keyboards/mini_elixivy/keymaps/ansi/keymap.c create mode 100644 keyboards/mini_elixivy/keymaps/ansi/readme.md create mode 100644 keyboards/mini_elixivy/keymaps/default/keymap.c create mode 100644 keyboards/mini_elixivy/keymaps/default/readme.md create mode 100644 keyboards/mini_elixivy/keymaps/iso/keymap.c create mode 100644 keyboards/mini_elixivy/keymaps/iso/readme.md create mode 100644 keyboards/mini_elixivy/mini_elixivy.c create mode 100644 keyboards/mini_elixivy/mini_elixivy.h create mode 100644 keyboards/mini_elixivy/readme.md create mode 100644 keyboards/mini_elixivy/rules.mk create mode 100644 keyboards/minimacro5/keymaps/devdev/keymap.c create mode 100644 keyboards/minimacro5/keymaps/devdev/rules.mk create mode 100644 keyboards/misonoworks/chocolatebar/chocolatebar.c create mode 100644 keyboards/misonoworks/chocolatebar/chocolatebar.h create mode 100644 keyboards/misonoworks/chocolatebar/config.h create mode 100644 keyboards/misonoworks/chocolatebar/info.json create mode 100644 keyboards/misonoworks/chocolatebar/keymaps/default/keymap.c create mode 100644 keyboards/misonoworks/chocolatebar/keymaps/via/keymap.c create mode 100644 keyboards/misonoworks/chocolatebar/keymaps/via/rules.mk create mode 100644 keyboards/misonoworks/chocolatebar/readme.md create mode 100644 keyboards/misonoworks/chocolatebar/rules.mk create mode 100755 keyboards/mnk1800s/config.h create mode 100755 keyboards/mnk1800s/info.json create mode 100644 keyboards/mnk1800s/keymaps/default/keymap.c create mode 100755 keyboards/mnk1800s/keymaps/default/readme.md create mode 100644 keyboards/mnk1800s/keymaps/via/keymap.c create mode 100755 keyboards/mnk1800s/keymaps/via/readme.md create mode 100755 keyboards/mnk1800s/keymaps/via/rules.mk create mode 100755 keyboards/mnk1800s/mnk1800s.c create mode 100644 keyboards/mnk1800s/mnk1800s.h create mode 100755 keyboards/mnk1800s/readme.md create mode 100755 keyboards/mnk1800s/rules.mk create mode 100755 keyboards/mnk50/config.h create mode 100755 keyboards/mnk50/info.json create mode 100644 keyboards/mnk50/keymaps/default/keymap.c create mode 100755 keyboards/mnk50/keymaps/default/readme.md create mode 100644 keyboards/mnk50/keymaps/via/keymap.c create mode 100755 keyboards/mnk50/keymaps/via/readme.md create mode 100755 keyboards/mnk50/keymaps/via/rules.mk create mode 100755 keyboards/mnk50/mnk50.c create mode 100644 keyboards/mnk50/mnk50.h create mode 100755 keyboards/mnk50/readme.md create mode 100755 keyboards/mnk50/rules.mk create mode 100644 keyboards/model_v/config.h create mode 100644 keyboards/model_v/info.json create mode 100644 keyboards/model_v/keymaps/default/keymap.c create mode 100644 keyboards/model_v/keymaps/via/keymap.c create mode 100644 keyboards/model_v/keymaps/via/rules.mk create mode 100644 keyboards/model_v/model_v.c create mode 100644 keyboards/model_v/model_v.h create mode 100644 keyboards/model_v/readme.md create mode 100644 keyboards/model_v/rules.mk create mode 100644 keyboards/mokey/mokey64/config.h create mode 100644 keyboards/mokey/mokey64/info.json create mode 100644 keyboards/mokey/mokey64/keymaps/default/keymap.c create mode 100644 keyboards/mokey/mokey64/keymaps/via/keymap.c create mode 100644 keyboards/mokey/mokey64/keymaps/via/rules.mk create mode 100644 keyboards/mokey/mokey64/mokey64.c create mode 100644 keyboards/mokey/mokey64/mokey64.h create mode 100644 keyboards/mokey/mokey64/readme.md create mode 100644 keyboards/mokey/mokey64/rules.mk create mode 100644 keyboards/molecule/adns.c create mode 100644 keyboards/molecule/adns.h create mode 100644 keyboards/molecule/adns9800_srom_A6.h create mode 100755 keyboards/molecule/config.h create mode 100755 keyboards/molecule/info.json create mode 100755 keyboards/molecule/keymaps/default/keymap.c create mode 100755 keyboards/molecule/keymaps/default/readme.md create mode 100755 keyboards/molecule/molecule.c create mode 100755 keyboards/molecule/molecule.h create mode 100755 keyboards/molecule/readme.md create mode 100755 keyboards/molecule/rules.mk create mode 100644 keyboards/momoka_ergo/config.h create mode 100644 keyboards/momoka_ergo/info.json create mode 100644 keyboards/momoka_ergo/keymaps/default/keymap.c create mode 100644 keyboards/momoka_ergo/keymaps/default/readme.md create mode 100644 keyboards/momoka_ergo/momoka_ergo.c create mode 100644 keyboards/momoka_ergo/momoka_ergo.h create mode 100644 keyboards/momoka_ergo/readme.md create mode 100644 keyboards/momoka_ergo/rules.mk create mode 100644 keyboards/monarch/config.h create mode 100644 keyboards/monarch/halconf.h create mode 100644 keyboards/monarch/info.json create mode 100644 keyboards/monarch/keymaps/default/keymap.c create mode 100644 keyboards/monarch/keymaps/iso/keymap.c create mode 100644 keyboards/monarch/keymaps/via/config.h create mode 100644 keyboards/monarch/keymaps/via/keymap.c create mode 100644 keyboards/monarch/keymaps/via/rules.mk create mode 100644 keyboards/monarch/mcuconf.h create mode 100644 keyboards/monarch/monarch.c create mode 100644 keyboards/monarch/monarch.h create mode 100644 keyboards/monarch/readme.md create mode 100644 keyboards/monarch/rules.mk create mode 100644 keyboards/montex/config.h create mode 100644 keyboards/montex/info.json create mode 100644 keyboards/montex/keymaps/default/keymap.c create mode 100644 keyboards/montex/keymaps/via/keymap.c create mode 100644 keyboards/montex/keymaps/via/rules.mk create mode 100644 keyboards/montex/montex.c create mode 100644 keyboards/montex/montex.h create mode 100644 keyboards/montex/readme.md create mode 100644 keyboards/montex/rules.mk create mode 100644 keyboards/moonlander/keymaps/jjerrell/config.h create mode 100644 keyboards/moonlander/keymaps/jjerrell/keymap.c create mode 100644 keyboards/moonlander/keymaps/jjerrell/readme.md create mode 100644 keyboards/moonlander/keymaps/jjerrell/rules.mk create mode 100644 keyboards/moonlander/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/moonlander/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/mt84/keymaps/default/config.h create mode 100644 keyboards/nack/keymaps/farfalleflickan/keymap.c create mode 100644 keyboards/nack/keymaps/farfalleflickan/keymap.h create mode 100644 keyboards/nack/keymaps/farfalleflickan/readme.md delete mode 100644 keyboards/nack/keymaps/pastapojken/keymap.c delete mode 100644 keyboards/nack/keymaps/pastapojken/keymap.h delete mode 100644 keyboards/nack/keymaps/pastapojken/readme.md create mode 100644 keyboards/naiping/np64/chconf.h create mode 100644 keyboards/naiping/np64/config.h create mode 100644 keyboards/naiping/np64/info.json create mode 100644 keyboards/naiping/np64/keymaps/default/keymap.c create mode 100644 keyboards/naiping/np64/keymaps/via/keymap.c create mode 100644 keyboards/naiping/np64/keymaps/via/rules.mk create mode 100644 keyboards/naiping/np64/np64.c create mode 100644 keyboards/naiping/np64/np64.h create mode 100644 keyboards/naiping/np64/readme.md create mode 100644 keyboards/naiping/np64/rules.mk create mode 100644 keyboards/naiping/nphhkb/chconf.h create mode 100644 keyboards/naiping/nphhkb/config.h create mode 100644 keyboards/naiping/nphhkb/info.json create mode 100644 keyboards/naiping/nphhkb/keymaps/default/keymap.c create mode 100644 keyboards/naiping/nphhkb/keymaps/via/keymap.c create mode 100644 keyboards/naiping/nphhkb/keymaps/via/rules.mk create mode 100644 keyboards/naiping/nphhkb/nphhkb.c create mode 100644 keyboards/naiping/nphhkb/nphhkb.h create mode 100644 keyboards/naiping/nphhkb/readme.md create mode 100644 keyboards/naiping/nphhkb/rules.mk create mode 100644 keyboards/naiping/npminila/chconf.h create mode 100644 keyboards/naiping/npminila/config.h create mode 100644 keyboards/naiping/npminila/info.json create mode 100644 keyboards/naiping/npminila/keymaps/default/keymap.c create mode 100644 keyboards/naiping/npminila/keymaps/via/keymap.c create mode 100644 keyboards/naiping/npminila/keymaps/via/rules.mk create mode 100644 keyboards/naiping/npminila/npminila.c create mode 100644 keyboards/naiping/npminila/npminila.h create mode 100644 keyboards/naiping/npminila/readme.md create mode 100644 keyboards/naiping/npminila/rules.mk create mode 100644 keyboards/naked60/keymaps/via/config.h create mode 100644 keyboards/naked60/keymaps/via/keymap.c create mode 100644 keyboards/naked60/keymaps/via/rules.mk create mode 100644 keyboards/navi10/keymaps/devdev/config.h create mode 100644 keyboards/navi10/keymaps/devdev/keymap.c create mode 100644 keyboards/navi10/keymaps/devdev/rules.mk delete mode 100644 keyboards/nckiibs/flatbread60/config.h delete mode 100644 keyboards/nckiibs/flatbread60/readme.md delete mode 100644 keyboards/nckiibs/flatbread60/rules.mk delete mode 100644 keyboards/nckiibs/vaneela/readme.md delete mode 100644 keyboards/nckiibs/vaneela/rules.mk delete mode 100644 keyboards/nckiibs/vaneelaex/config.h delete mode 100644 keyboards/nckiibs/vaneelaex/readme.md delete mode 100644 keyboards/nckiibs/vaneelaex/rules.mk delete mode 100644 keyboards/nebula12/bootloader_defs.h create mode 100644 keyboards/neito/config.h create mode 100644 keyboards/neito/info.json create mode 100644 keyboards/neito/keymaps/default/keymap.c create mode 100644 keyboards/neito/keymaps/olli_works/keymap.c create mode 100644 keyboards/neito/keymaps/olli_works/rules.mk create mode 100644 keyboards/neito/keymaps/via/keymap.c create mode 100644 keyboards/neito/keymaps/via/rules.mk create mode 100644 keyboards/neito/neito.c create mode 100644 keyboards/neito/neito.h create mode 100644 keyboards/neito/readme.md create mode 100644 keyboards/neito/rules.mk create mode 100755 keyboards/neopad/config.h create mode 100644 keyboards/neopad/readme.md create mode 100755 keyboards/neopad/rev1/config.h create mode 100755 keyboards/neopad/rev1/info.json create mode 100755 keyboards/neopad/rev1/keymaps/default/keymap.c create mode 100644 keyboards/neopad/rev1/readme.md create mode 100755 keyboards/neopad/rev1/rev1.c create mode 100755 keyboards/neopad/rev1/rev1.h create mode 100755 keyboards/neopad/rev1/rules.mk create mode 100755 keyboards/neopad/rules.mk create mode 100644 keyboards/neson_design/n6/config.h create mode 100644 keyboards/neson_design/n6/info.json create mode 100644 keyboards/neson_design/n6/keymaps/default/keymap.c create mode 100644 keyboards/neson_design/n6/keymaps/via/keymap.c create mode 100644 keyboards/neson_design/n6/keymaps/via/rules.mk create mode 100644 keyboards/neson_design/n6/n6.c create mode 100644 keyboards/neson_design/n6/n6.h create mode 100644 keyboards/neson_design/n6/readme.md create mode 100644 keyboards/neson_design/n6/rules.mk create mode 100644 keyboards/nightly_boards/n9/config.h create mode 100644 keyboards/nightly_boards/n9/info.json create mode 100644 keyboards/nightly_boards/n9/keymaps/default/keymap.c create mode 100644 keyboards/nightly_boards/n9/keymaps/via/keymap.c create mode 100644 keyboards/nightly_boards/n9/keymaps/via/rules.mk create mode 100644 keyboards/nightly_boards/n9/n9.c create mode 100644 keyboards/nightly_boards/n9/n9.h create mode 100644 keyboards/nightly_boards/n9/readme.md create mode 100644 keyboards/nightly_boards/n9/rules.mk create mode 100644 keyboards/niu_mini/keymaps/edvard/keymap.c create mode 100644 keyboards/niu_mini/keymaps/edvard/readme.md create mode 100644 keyboards/nix_studio/oxalys80/config.h create mode 100644 keyboards/nix_studio/oxalys80/info.json create mode 100644 keyboards/nix_studio/oxalys80/keymaps/default/keymap.c create mode 100644 keyboards/nix_studio/oxalys80/keymaps/default/readme.md create mode 100644 keyboards/nix_studio/oxalys80/keymaps/via/keymap.c create mode 100644 keyboards/nix_studio/oxalys80/keymaps/via/readme.md create mode 100644 keyboards/nix_studio/oxalys80/keymaps/via/rules.mk create mode 100644 keyboards/nix_studio/oxalys80/oxalys80.c create mode 100644 keyboards/nix_studio/oxalys80/oxalys80.h create mode 100644 keyboards/nix_studio/oxalys80/readme.md create mode 100644 keyboards/nix_studio/oxalys80/rules.mk create mode 100644 keyboards/nk1/config.h create mode 100755 keyboards/nk1/info.json create mode 100644 keyboards/nk1/keymaps/default/keymap.c create mode 100644 keyboards/nk1/keymaps/default/readme.md create mode 100644 keyboards/nk1/keymaps/via/keymap.c create mode 100644 keyboards/nk1/keymaps/via/readme.md create mode 100644 keyboards/nk1/keymaps/via/rules.mk create mode 100644 keyboards/nk1/nk1.c create mode 100644 keyboards/nk1/nk1.h create mode 100644 keyboards/nk1/readme.md create mode 100644 keyboards/nk1/rules.mk create mode 100644 keyboards/nopunin10did/jabberwocky/config.h create mode 100644 keyboards/nopunin10did/jabberwocky/info.json create mode 100644 keyboards/nopunin10did/jabberwocky/jabberwocky.c create mode 100644 keyboards/nopunin10did/jabberwocky/jabberwocky.h create mode 100644 keyboards/nopunin10did/jabberwocky/keymaps/default/keymap.c create mode 100644 keyboards/nopunin10did/jabberwocky/keymaps/nopunin10did/keymap.c create mode 100644 keyboards/nopunin10did/jabberwocky/keymaps/nopunin10did/rules.mk create mode 100644 keyboards/nopunin10did/jabberwocky/keymaps/via/keymap.c create mode 100644 keyboards/nopunin10did/jabberwocky/keymaps/via/rules.mk create mode 100644 keyboards/nopunin10did/jabberwocky/readme.md create mode 100644 keyboards/nopunin10did/jabberwocky/rules.mk create mode 100644 keyboards/noxary/378/378.c create mode 100644 keyboards/noxary/378/378.h create mode 100644 keyboards/noxary/378/chconf.h create mode 100644 keyboards/noxary/378/config.h create mode 100644 keyboards/noxary/378/info.json create mode 100755 keyboards/noxary/378/keymaps/default/keymap.c create mode 100755 keyboards/noxary/378/keymaps/via/keymap.c create mode 100644 keyboards/noxary/378/keymaps/via/rules.mk create mode 100644 keyboards/noxary/378/mcuconf.h create mode 100644 keyboards/noxary/378/readme.md create mode 100644 keyboards/noxary/378/rules.mk create mode 100644 keyboards/np12/config.h create mode 100644 keyboards/np12/info.json create mode 100644 keyboards/np12/keymaps/default/keymap.c create mode 100644 keyboards/np12/keymaps/default/readme.md create mode 100644 keyboards/np12/keymaps/via/keymap.c create mode 100644 keyboards/np12/keymaps/via/rules.mk create mode 100644 keyboards/np12/np12.c create mode 100644 keyboards/np12/np12.h create mode 100644 keyboards/np12/readme.md create mode 100644 keyboards/np12/rules.mk create mode 100644 keyboards/nullbitsco/nibble/keymaps/oled_bongocat/animation_frames.h create mode 100644 keyboards/nullbitsco/nibble/keymaps/oled_status/config.h create mode 100644 keyboards/nullbitsco/nibble/keymaps/oled_status/glcdfont.c create mode 100644 keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c create mode 100644 keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.c create mode 100644 keyboards/nullbitsco/nibble/keymaps/oled_status/oled_display.h create mode 100644 keyboards/nullbitsco/nibble/keymaps/oled_status/readme.md create mode 100644 keyboards/nullbitsco/nibble/keymaps/oled_status/rules.mk create mode 100644 keyboards/nullbitsco/nibble/keymaps/snailmap/keymap.c create mode 100644 keyboards/nullbitsco/nibble/keymaps/snailmap/readme.md create mode 100644 keyboards/nullbitsco/nibble/keymaps/snailmap/rules.mk create mode 100644 keyboards/ocean/gin_v2/config.h create mode 100644 keyboards/ocean/gin_v2/gin_v2.c create mode 100644 keyboards/ocean/gin_v2/gin_v2.h create mode 100644 keyboards/ocean/gin_v2/info.json create mode 100644 keyboards/ocean/gin_v2/keymaps/default/keymap.c create mode 100644 keyboards/ocean/gin_v2/keymaps/via/keymap.c create mode 100644 keyboards/ocean/gin_v2/keymaps/via/rules.mk create mode 100644 keyboards/ocean/gin_v2/readme.md create mode 100644 keyboards/ocean/gin_v2/rules.mk create mode 100644 keyboards/ocean/slamz/config.h create mode 100644 keyboards/ocean/slamz/info.json create mode 100644 keyboards/ocean/slamz/keymaps/default/keymap.c create mode 100644 keyboards/ocean/slamz/keymaps/via/keymap.c create mode 100644 keyboards/ocean/slamz/keymaps/via/rules.mk create mode 100644 keyboards/ocean/slamz/readme.md create mode 100644 keyboards/ocean/slamz/rules.mk create mode 100644 keyboards/ocean/slamz/slamz.c create mode 100644 keyboards/ocean/slamz/slamz.h create mode 100644 keyboards/ocean/stealth/config.h create mode 100644 keyboards/ocean/stealth/info.json create mode 100644 keyboards/ocean/stealth/keymaps/default/keymap.c create mode 100644 keyboards/ocean/stealth/keymaps/via/keymap.c create mode 100644 keyboards/ocean/stealth/keymaps/via/rules.mk create mode 100644 keyboards/ocean/stealth/readme.md create mode 100644 keyboards/ocean/stealth/rules.mk create mode 100644 keyboards/ocean/stealth/stealth.c create mode 100644 keyboards/ocean/stealth/stealth.h create mode 100644 keyboards/ocean/sus/config.h create mode 100644 keyboards/ocean/sus/info.json create mode 100644 keyboards/ocean/sus/keymaps/default/keymap.c create mode 100644 keyboards/ocean/sus/keymaps/via/keymap.c create mode 100644 keyboards/ocean/sus/keymaps/via/rules.mk create mode 100644 keyboards/ocean/sus/readme.md create mode 100644 keyboards/ocean/sus/rules.mk create mode 100644 keyboards/ocean/sus/sus.c create mode 100644 keyboards/ocean/sus/sus.h create mode 100644 keyboards/ocean/wang_ergo/config.h create mode 100644 keyboards/ocean/wang_ergo/info.json create mode 100644 keyboards/ocean/wang_ergo/keymaps/default/keymap.c create mode 100644 keyboards/ocean/wang_ergo/keymaps/via/keymap.c create mode 100644 keyboards/ocean/wang_ergo/keymaps/via/rules.mk create mode 100644 keyboards/ocean/wang_ergo/readme.md create mode 100644 keyboards/ocean/wang_ergo/rules.mk create mode 100644 keyboards/ocean/wang_ergo/wang_ergo.c create mode 100644 keyboards/ocean/wang_ergo/wang_ergo.h create mode 100644 keyboards/ocean/wang_v2/config.h create mode 100644 keyboards/ocean/wang_v2/info.json create mode 100644 keyboards/ocean/wang_v2/keymaps/default/keymap.c create mode 100644 keyboards/ocean/wang_v2/keymaps/via/keymap.c create mode 100644 keyboards/ocean/wang_v2/keymaps/via/rules.mk create mode 100644 keyboards/ocean/wang_v2/readme.md create mode 100644 keyboards/ocean/wang_v2/rules.mk create mode 100644 keyboards/ocean/wang_v2/wang_v2.c create mode 100644 keyboards/ocean/wang_v2/wang_v2.h delete mode 100644 keyboards/oddball/adns/adns.c create mode 100644 keyboards/ogurec/config.h create mode 100644 keyboards/ogurec/info.json create mode 100644 keyboards/ogurec/keymaps/dack/config.h create mode 100644 keyboards/ogurec/keymaps/dack/keymap.c create mode 100644 keyboards/ogurec/keymaps/dack/readme.md create mode 100644 keyboards/ogurec/keymaps/default/config.h create mode 100644 keyboards/ogurec/keymaps/default/keymap.c create mode 100644 keyboards/ogurec/keymaps/default/readme.md rename keyboards/{anavi/macropad2 => ogurec}/keymaps/default/rules.mk (100%) create mode 100644 keyboards/ogurec/left_pm/left_pm.h create mode 100644 keyboards/ogurec/left_pm/readme.md create mode 100644 keyboards/ogurec/left_pm/rules.mk create mode 100644 keyboards/ogurec/ogurec.c create mode 100644 keyboards/ogurec/ogurec.h create mode 100644 keyboards/ogurec/readme.md create mode 100644 keyboards/ogurec/right_pm/readme.md create mode 100644 keyboards/ogurec/right_pm/right_pm.h create mode 100644 keyboards/ogurec/right_pm/rules.mk create mode 100644 keyboards/ogurec/rules.mk create mode 100644 keyboards/orthocode/config.h create mode 100644 keyboards/orthocode/info.json create mode 100644 keyboards/orthocode/keymaps/default/keymap.c create mode 100644 keyboards/orthocode/orthocode.c create mode 100644 keyboards/orthocode/orthocode.h create mode 100644 keyboards/orthocode/readme.md create mode 100644 keyboards/orthocode/rules.mk create mode 100644 keyboards/owl8/config.h create mode 100644 keyboards/owl8/info.json create mode 100644 keyboards/owl8/keymaps/default/keymap.c create mode 100644 keyboards/owl8/keymaps/default/readme.md create mode 100644 keyboards/owl8/keymaps/via/keymap.c create mode 100644 keyboards/owl8/keymaps/via/readme.md create mode 100644 keyboards/owl8/keymaps/via/rules.mk create mode 100644 keyboards/owl8/owl8.c create mode 100644 keyboards/owl8/owl8.h create mode 100644 keyboards/owl8/readme.md create mode 100644 keyboards/owl8/rules.mk create mode 100644 keyboards/owlab/jelly_epoch/hotswap/config.h create mode 100644 keyboards/owlab/jelly_epoch/hotswap/hotswap.c create mode 100644 keyboards/owlab/jelly_epoch/hotswap/hotswap.h create mode 100644 keyboards/owlab/jelly_epoch/hotswap/info.json create mode 100644 keyboards/owlab/jelly_epoch/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/owlab/jelly_epoch/hotswap/keymaps/via/keymap.c create mode 100644 keyboards/owlab/jelly_epoch/hotswap/keymaps/via/rules.mk create mode 100644 keyboards/owlab/jelly_epoch/hotswap/readme.md create mode 100644 keyboards/owlab/jelly_epoch/hotswap/rules.mk create mode 100644 keyboards/owlab/jelly_epoch/soldered/config.h create mode 100644 keyboards/owlab/jelly_epoch/soldered/info.json create mode 100644 keyboards/owlab/jelly_epoch/soldered/keymaps/default/keymap.c create mode 100644 keyboards/owlab/jelly_epoch/soldered/keymaps/via/keymap.c create mode 100644 keyboards/owlab/jelly_epoch/soldered/keymaps/via/rules.mk create mode 100644 keyboards/owlab/jelly_epoch/soldered/readme.md create mode 100644 keyboards/owlab/jelly_epoch/soldered/rules.mk create mode 100644 keyboards/owlab/jelly_epoch/soldered/soldered.c create mode 100644 keyboards/owlab/jelly_epoch/soldered/soldered.h create mode 100644 keyboards/owlab/voice65/hotswap/config.h create mode 100644 keyboards/owlab/voice65/hotswap/halconf.h create mode 100644 keyboards/owlab/voice65/hotswap/hotswap.c create mode 100644 keyboards/owlab/voice65/hotswap/hotswap.h create mode 100644 keyboards/owlab/voice65/hotswap/info.json create mode 100644 keyboards/owlab/voice65/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/owlab/voice65/hotswap/keymaps/via/keymap.c create mode 100644 keyboards/owlab/voice65/hotswap/keymaps/via/rules.mk create mode 100644 keyboards/owlab/voice65/hotswap/mcuconf.h create mode 100644 keyboards/owlab/voice65/hotswap/readme.md create mode 100644 keyboards/owlab/voice65/hotswap/rules.mk create mode 100644 keyboards/owlab/voice65/soldered/config.h create mode 100644 keyboards/owlab/voice65/soldered/halconf.h create mode 100644 keyboards/owlab/voice65/soldered/info.json create mode 100644 keyboards/owlab/voice65/soldered/keymaps/default/keymap.c create mode 100644 keyboards/owlab/voice65/soldered/keymaps/via/keymap.c create mode 100644 keyboards/owlab/voice65/soldered/keymaps/via/rules.mk create mode 100644 keyboards/owlab/voice65/soldered/mcuconf.h create mode 100644 keyboards/owlab/voice65/soldered/readme.md create mode 100644 keyboards/owlab/voice65/soldered/rules.mk create mode 100644 keyboards/owlab/voice65/soldered/soldered.c create mode 100644 keyboards/owlab/voice65/soldered/soldered.h create mode 100644 keyboards/pearlboards/pandora/config.h create mode 100644 keyboards/pearlboards/pandora/info.json create mode 100644 keyboards/pearlboards/pandora/keymaps/default/keymap.c create mode 100644 keyboards/pearlboards/pandora/keymaps/via/keymap.c create mode 100644 keyboards/pearlboards/pandora/keymaps/via/rules.mk create mode 100644 keyboards/pearlboards/pandora/pandora.c create mode 100644 keyboards/pearlboards/pandora/pandora.h create mode 100644 keyboards/pearlboards/pandora/readme.md create mode 100644 keyboards/pearlboards/pandora/rules.mk create mode 100644 keyboards/peej/lumberjack/config.h create mode 100644 keyboards/peej/lumberjack/info.json create mode 100644 keyboards/peej/lumberjack/keymaps/default/keymap.c create mode 100644 keyboards/peej/lumberjack/keymaps/via/keymap.c create mode 100644 keyboards/peej/lumberjack/keymaps/via/rules.mk create mode 100644 keyboards/peej/lumberjack/lumberjack.c create mode 100644 keyboards/peej/lumberjack/lumberjack.h create mode 100644 keyboards/peej/lumberjack/readme.md create mode 100644 keyboards/peej/lumberjack/rules.mk create mode 100644 keyboards/peej/tripel/config.h create mode 100644 keyboards/peej/tripel/info.json create mode 100644 keyboards/peej/tripel/keymaps/default/keymap.c create mode 100644 keyboards/peej/tripel/keymaps/via/keymap.c create mode 100644 keyboards/peej/tripel/keymaps/via/rules.mk create mode 100644 keyboards/peej/tripel/left/left.h create mode 100644 keyboards/peej/tripel/left/readme.md create mode 100644 keyboards/peej/tripel/left/rules.mk create mode 100644 keyboards/peej/tripel/middle/middle.h create mode 100644 keyboards/peej/tripel/middle/readme.md create mode 100644 keyboards/peej/tripel/middle/rules.mk create mode 100644 keyboards/peej/tripel/right/readme.md create mode 100644 keyboards/peej/tripel/right/right.h create mode 100644 keyboards/peej/tripel/right/rules.mk create mode 100644 keyboards/peej/tripel/rules.mk delete mode 100644 keyboards/peiorisboards/ixora/keymaps/default/keymap.c delete mode 100644 keyboards/peiorisboards/ixora/readme.md delete mode 100644 keyboards/peiorisboards/ixora/rules.mk create mode 100644 keyboards/peranekofactory/tone/keymaps/default/keymap.c create mode 100644 keyboards/peranekofactory/tone/keymaps/default/readme.md create mode 100644 keyboards/peranekofactory/tone/readme.md create mode 100644 keyboards/peranekofactory/tone/rev1/config.h create mode 100644 keyboards/peranekofactory/tone/rev1/info.json create mode 100644 keyboards/peranekofactory/tone/rev1/readme.md create mode 100644 keyboards/peranekofactory/tone/rev1/rev1.c create mode 100644 keyboards/peranekofactory/tone/rev1/rev1.h create mode 100644 keyboards/peranekofactory/tone/rev1/rules.mk create mode 100644 keyboards/peranekofactory/tone/rev2/config.h create mode 100644 keyboards/peranekofactory/tone/rev2/info.json create mode 100644 keyboards/peranekofactory/tone/rev2/readme.md create mode 100644 keyboards/peranekofactory/tone/rev2/rev2.c create mode 100644 keyboards/peranekofactory/tone/rev2/rev2.h create mode 100644 keyboards/peranekofactory/tone/rev2/rules.mk create mode 100644 keyboards/peranekofactory/tone/rules.mk delete mode 100644 keyboards/phase_studio/titan65/config.h create mode 100644 keyboards/phase_studio/titan65/hotswap/config.h create mode 100644 keyboards/phase_studio/titan65/hotswap/hotswap.c rename keyboards/phase_studio/titan65/{titan65.h => hotswap/hotswap.h} (100%) create mode 100644 keyboards/phase_studio/titan65/hotswap/info.json rename keyboards/phase_studio/titan65/{ => hotswap}/keymaps/default/keymap.c (100%) rename keyboards/phase_studio/titan65/{ => hotswap}/keymaps/via/keymap.c (100%) create mode 100644 keyboards/phase_studio/titan65/hotswap/keymaps/via/rules.mk rename keyboards/phase_studio/titan65/{ => hotswap}/readme.md (100%) create mode 100644 keyboards/phase_studio/titan65/hotswap/rules.mk delete mode 100644 keyboards/phase_studio/titan65/info.json create mode 100644 keyboards/phase_studio/titan65/soldered/config.h create mode 100644 keyboards/phase_studio/titan65/soldered/info.json create mode 100644 keyboards/phase_studio/titan65/soldered/keymaps/default/keymap.c create mode 100644 keyboards/phase_studio/titan65/soldered/keymaps/via/keymap.c create mode 100644 keyboards/phase_studio/titan65/soldered/keymaps/via/rules.mk create mode 100644 keyboards/phase_studio/titan65/soldered/readme.md create mode 100644 keyboards/phase_studio/titan65/soldered/rules.mk create mode 100644 keyboards/phase_studio/titan65/soldered/soldered.c create mode 100644 keyboards/phase_studio/titan65/soldered/soldered.h delete mode 100644 keyboards/phase_studio/titan65/titan65.c create mode 100644 keyboards/picolab/frusta_fundamental/config.h create mode 100644 keyboards/picolab/frusta_fundamental/frusta_fundamental.c create mode 100644 keyboards/picolab/frusta_fundamental/frusta_fundamental.h create mode 100644 keyboards/picolab/frusta_fundamental/info.json create mode 100644 keyboards/picolab/frusta_fundamental/keymaps/default/keymap.c create mode 100644 keyboards/picolab/frusta_fundamental/keymaps/default/readme.md create mode 100644 keyboards/picolab/frusta_fundamental/keymaps/via/keymap.c create mode 100644 keyboards/picolab/frusta_fundamental/keymaps/via/rules.mk create mode 100644 keyboards/picolab/frusta_fundamental/readme.md create mode 100644 keyboards/picolab/frusta_fundamental/rules.mk create mode 100644 keyboards/pimentoso/touhoupad/config.h create mode 100644 keyboards/pimentoso/touhoupad/info.json create mode 100644 keyboards/pimentoso/touhoupad/keymaps/default/keymap.c create mode 100644 keyboards/pimentoso/touhoupad/keymaps/default/readme.md create mode 100644 keyboards/pimentoso/touhoupad/readme.md create mode 100644 keyboards/pimentoso/touhoupad/rules.mk create mode 100644 keyboards/pimentoso/touhoupad/touhoupad.c create mode 100644 keyboards/pimentoso/touhoupad/touhoupad.h create mode 100644 keyboards/pisces/config.h create mode 100644 keyboards/pisces/info.json create mode 100644 keyboards/pisces/keymaps/default/config.h create mode 100644 keyboards/pisces/keymaps/default/keymap.c create mode 100644 keyboards/pisces/keymaps/default/readme.md create mode 100644 keyboards/pisces/keymaps/via/config.h create mode 100644 keyboards/pisces/keymaps/via/keymap.c create mode 100644 keyboards/pisces/keymaps/via/readme.md create mode 100644 keyboards/pisces/keymaps/via/rules.mk create mode 100644 keyboards/pisces/pisces.c create mode 100644 keyboards/pisces/pisces.h create mode 100644 keyboards/pisces/readme.md create mode 100644 keyboards/pisces/rules.mk create mode 100644 keyboards/pistachio/keymaps/rate/keymap.c create mode 100644 keyboards/pistachio/keymaps/via/keymap.c create mode 100644 keyboards/pistachio/keymaps/via/rules.mk create mode 100644 keyboards/pistachio/rev1/config.h create mode 100644 keyboards/pistachio/rev1/readme.md create mode 100644 keyboards/pistachio/rev1/rev1.c create mode 100644 keyboards/pistachio/rev1/rev1.h create mode 100644 keyboards/pistachio/rev1/rules.mk create mode 100644 keyboards/pistachio/rev2/config.h create mode 100644 keyboards/pistachio/rev2/readme.md create mode 100644 keyboards/pistachio/rev2/rev2.c create mode 100644 keyboards/pistachio/rev2/rev2.h create mode 100644 keyboards/pistachio/rev2/rules.mk create mode 100644 keyboards/pistachio_mp/keymaps/via/keymap.c create mode 100644 keyboards/pistachio_mp/keymaps/via/readme.md create mode 100644 keyboards/pistachio_mp/keymaps/via/rules.mk create mode 100644 keyboards/pistachio_pro/config.h create mode 100644 keyboards/pistachio_pro/info.json create mode 100644 keyboards/pistachio_pro/keymaps/default/keymap.c create mode 100644 keyboards/pistachio_pro/keymaps/default/readme.md create mode 100644 keyboards/pistachio_pro/keymaps/rate/keymap.c create mode 100644 keyboards/pistachio_pro/keymaps/rate/readme.md create mode 100644 keyboards/pistachio_pro/keymaps/via/keymap.c create mode 100644 keyboards/pistachio_pro/keymaps/via/readme.md create mode 100644 keyboards/pistachio_pro/keymaps/via/rules.mk create mode 100644 keyboards/pistachio_pro/lib/bme280.c create mode 100644 keyboards/pistachio_pro/lib/bme280.h create mode 100644 keyboards/pistachio_pro/lib/glcdfont.c create mode 100644 keyboards/pistachio_pro/matrix.c create mode 100644 keyboards/pistachio_pro/pistachio_pro.c create mode 100644 keyboards/pistachio_pro/pistachio_pro.h create mode 100644 keyboards/pistachio_pro/readme.md create mode 100644 keyboards/pistachio_pro/rules.mk create mode 100644 keyboards/pkb65/config.h create mode 100644 keyboards/pkb65/info.json create mode 100644 keyboards/pkb65/keymaps/default/keymap.c create mode 100644 keyboards/pkb65/keymaps/via/keymap.c create mode 100644 keyboards/pkb65/keymaps/via/rules.mk create mode 100644 keyboards/pkb65/pkb65.c create mode 100644 keyboards/pkb65/pkb65.h create mode 100644 keyboards/pkb65/readme.md create mode 100644 keyboards/pkb65/rules.mk create mode 100644 keyboards/planck/keymaps/adamtabrams/config.h create mode 100644 keyboards/planck/keymaps/adamtabrams/keymap.c create mode 100644 keyboards/planck/keymaps/adamtabrams/readme.md create mode 100644 keyboards/planck/keymaps/adamtabrams/rules.mk create mode 100644 keyboards/planck/keymaps/csc027/config.h delete mode 100755 keyboards/planck/keymaps/gunp/upload-and-make.sh delete mode 100755 keyboards/planck/keymaps/ishtob/rule.mk create mode 100644 keyboards/planck/keymaps/ishtob/rules.mk create mode 100644 keyboards/planck/keymaps/jdelkins/config.h create mode 100644 keyboards/planck/keymaps/jdelkins/keymap.c create mode 100644 keyboards/planck/keymaps/jdelkins/readme.md create mode 100644 keyboards/planck/keymaps/jdelkins/rules.mk create mode 100644 keyboards/planck/keymaps/kanbara/config.h create mode 100644 keyboards/planck/keymaps/kanbara/keymap.c create mode 100644 keyboards/planck/keymaps/kanbara/readme.md create mode 100644 keyboards/planck/keymaps/kanbara/rules.mk create mode 100644 keyboards/planck/keymaps/kuatsure/config.h create mode 100644 keyboards/planck/keymaps/kuatsure/keymap.c create mode 100644 keyboards/planck/keymaps/kuatsure/readme.md create mode 100644 keyboards/planck/keymaps/kuatsure/rules.mk create mode 100644 keyboards/planck/keymaps/lja83/config.h create mode 100644 keyboards/planck/keymaps/lja83/keymap.c create mode 100644 keyboards/planck/keymaps/lja83/readme.md create mode 100644 keyboards/planck/keymaps/lja83/rules.mk create mode 100644 keyboards/planck/keymaps/mnil/config.h create mode 100644 keyboards/planck/keymaps/mnil/keymap.c create mode 100644 keyboards/planck/keymaps/mnil/readme.md create mode 100644 keyboards/planck/keymaps/rootiest/config.h create mode 100644 keyboards/planck/keymaps/rootiest/keymap.c create mode 100644 keyboards/planck/keymaps/rootiest/readme.md create mode 100644 keyboards/planck/keymaps/rootiest/rules.mk create mode 100644 keyboards/planck/keymaps/ttys0/config.h create mode 100644 keyboards/planck/keymaps/ttys0/keymap.c create mode 100644 keyboards/planck/keymaps/ttys0/readme.md create mode 100644 keyboards/planck/keymaps/ttys0/rules.mk create mode 100644 keyboards/planck/keymaps/via/keymap.c create mode 100644 keyboards/planck/keymaps/via/readme.md create mode 100644 keyboards/planck/keymaps/via/rules.mk create mode 100644 keyboards/planck/thk/config.h create mode 100644 keyboards/planck/thk/info.json create mode 100644 keyboards/planck/thk/keymaps/thk/keymap.c create mode 100644 keyboards/planck/thk/keymaps/thk/readme.md create mode 100644 keyboards/planck/thk/readme.md create mode 100644 keyboards/planck/thk/rules.mk create mode 100644 keyboards/planck/thk/thk.c create mode 100644 keyboards/planck/thk/thk.h delete mode 100644 keyboards/ploopyco/pmw3360.c delete mode 100644 keyboards/ploopyco/pmw3360.h delete mode 100644 keyboards/ploopyco/pmw3360_firmware.h create mode 100644 keyboards/ploopyco/trackball_mini/config.h create mode 100644 keyboards/ploopyco/trackball_mini/info.json create mode 100644 keyboards/ploopyco/trackball_mini/keymaps/default/keymap.c create mode 100644 keyboards/ploopyco/trackball_mini/keymaps/default/readme.md create mode 100644 keyboards/ploopyco/trackball_mini/keymaps/drag_scroll/keymap.c create mode 100644 keyboards/ploopyco/trackball_mini/keymaps/drag_scroll/readme.md create mode 100644 keyboards/ploopyco/trackball_mini/keymaps/via/config.h create mode 100644 keyboards/ploopyco/trackball_mini/keymaps/via/keymap.c create mode 100644 keyboards/ploopyco/trackball_mini/keymaps/via/rules.mk create mode 100644 keyboards/ploopyco/trackball_mini/readme.md create mode 100644 keyboards/ploopyco/trackball_mini/rev1_001/config.h create mode 100644 keyboards/ploopyco/trackball_mini/rev1_001/readme.md create mode 100644 keyboards/ploopyco/trackball_mini/rev1_001/rev1_001.h create mode 100644 keyboards/ploopyco/trackball_mini/rev1_001/rules.mk create mode 100644 keyboards/ploopyco/trackball_mini/rev1_002/config.h create mode 100644 keyboards/ploopyco/trackball_mini/rev1_002/readme.md create mode 100644 keyboards/ploopyco/trackball_mini/rev1_002/rev1_002.h create mode 100644 keyboards/ploopyco/trackball_mini/rev1_002/rules.mk create mode 100644 keyboards/ploopyco/trackball_mini/rules.mk create mode 100644 keyboards/ploopyco/trackball_mini/trackball_mini.c create mode 100644 keyboards/ploopyco/trackball_mini/trackball_mini.h create mode 100644 keyboards/ploopyco/trackball_nano/config.h create mode 100644 keyboards/ploopyco/trackball_nano/info.json create mode 100644 keyboards/ploopyco/trackball_nano/keymaps/default/keymap.c create mode 100644 keyboards/ploopyco/trackball_nano/keymaps/default/readme.md create mode 100644 keyboards/ploopyco/trackball_nano/keymaps/maddie/keymap.c create mode 100644 keyboards/ploopyco/trackball_nano/keymaps/maddie/readme.md create mode 100644 keyboards/ploopyco/trackball_nano/readme.md create mode 100644 keyboards/ploopyco/trackball_nano/rev1_001/config.h create mode 100644 keyboards/ploopyco/trackball_nano/rev1_001/readme.md create mode 100644 keyboards/ploopyco/trackball_nano/rev1_001/rev1_001.h create mode 100644 keyboards/ploopyco/trackball_nano/rev1_001/rules.mk create mode 100644 keyboards/ploopyco/trackball_nano/rules.mk create mode 100644 keyboards/ploopyco/trackball_nano/trackball_nano.c create mode 100644 keyboards/ploopyco/trackball_nano/trackball_nano.h create mode 100644 keyboards/plut0nium/0x3e/0x3e.c create mode 100644 keyboards/plut0nium/0x3e/0x3e.h create mode 100644 keyboards/plut0nium/0x3e/config.h create mode 100644 keyboards/plut0nium/0x3e/info.json create mode 100644 keyboards/plut0nium/0x3e/keymaps/default/keymap.c create mode 100644 keyboards/plut0nium/0x3e/keymaps/default/readme.md create mode 100644 keyboards/plut0nium/0x3e/readme.md create mode 100644 keyboards/plut0nium/0x3e/rules.mk create mode 100644 keyboards/plut0nium/readme.md create mode 100644 keyboards/plx/config.h create mode 100644 keyboards/plx/info.json create mode 100644 keyboards/plx/keymaps/default/keymap.c create mode 100644 keyboards/plx/keymaps/via/config.h create mode 100644 keyboards/plx/keymaps/via/keymap.c create mode 100644 keyboards/plx/keymaps/via/rules.mk create mode 100644 keyboards/plx/plx.c create mode 100644 keyboards/plx/plx.h create mode 100644 keyboards/plx/readme.md create mode 100644 keyboards/plx/rules.mk create mode 100644 keyboards/poker87c/config.h create mode 100644 keyboards/poker87c/info.json create mode 100644 keyboards/poker87c/keymaps/default/keymap.c create mode 100644 keyboards/poker87c/keymaps/via/keymap.c create mode 100644 keyboards/poker87c/keymaps/via/rules.mk create mode 100644 keyboards/poker87c/poker87c.c create mode 100644 keyboards/poker87c/poker87c.h create mode 100644 keyboards/poker87c/readme.md create mode 100644 keyboards/poker87c/rules.mk create mode 100644 keyboards/poker87d/config.h create mode 100644 keyboards/poker87d/info.json create mode 100644 keyboards/poker87d/keymaps/default/keymap.c create mode 100644 keyboards/poker87d/keymaps/via/keymap.c create mode 100644 keyboards/poker87d/keymaps/via/rules.mk create mode 100644 keyboards/poker87d/poker87d.c create mode 100644 keyboards/poker87d/poker87d.h create mode 100644 keyboards/poker87d/readme.md create mode 100644 keyboards/poker87d/rules.mk create mode 100644 keyboards/portal_66/config.h create mode 100644 keyboards/portal_66/info.json create mode 100644 keyboards/portal_66/keymaps/default/keymap.c create mode 100644 keyboards/portal_66/keymaps/default/readme.md create mode 100644 keyboards/portal_66/keymaps/via/keymap.c create mode 100644 keyboards/portal_66/keymaps/via/rules.mk create mode 100644 keyboards/portal_66/portal_66.c create mode 100644 keyboards/portal_66/portal_66.h create mode 100644 keyboards/portal_66/readme.md create mode 100644 keyboards/portal_66/rules.mk create mode 100644 keyboards/preonic/keymaps/arkag/config.h create mode 100644 keyboards/preonic/keymaps/arkag/keymap.c create mode 100644 keyboards/preonic/keymaps/arkag/readme.md create mode 100644 keyboards/preonic/keymaps/arkag/rules.mk create mode 100644 keyboards/preonic/keymaps/davidrambo/config.h create mode 100755 keyboards/preonic/keymaps/davidrambo/keymap.c create mode 100644 keyboards/preonic/keymaps/davidrambo/rules.mk create mode 100644 keyboards/preonic/keymaps/mechmaster48/config.h create mode 100644 keyboards/preonic/keymaps/mechmaster48/keymap.c create mode 100644 keyboards/preonic/keymaps/mechmaster48/readme.md create mode 100644 keyboards/preonic/keymaps/mechmaster48/rules.mk delete mode 100644 keyboards/preonic/keymaps/that_canadian/Makefile create mode 100644 keyboards/preonic/keymaps/that_canadian/rules.mk create mode 100644 keyboards/preonic/keymaps/ttys0/config.h create mode 100644 keyboards/preonic/keymaps/ttys0/keymap.c create mode 100644 keyboards/preonic/keymaps/ttys0/readme.md create mode 100644 keyboards/preonic/keymaps/ttys0/rules.mk create mode 100644 keyboards/preonic/keymaps/via/config.h create mode 100644 keyboards/preonic/keymaps/via/keymap.c create mode 100644 keyboards/preonic/keymaps/via/readme.md create mode 100644 keyboards/preonic/keymaps/via/rules.mk create mode 100644 keyboards/preonic/rev3/chconf.h create mode 100644 keyboards/preonic/rev3/mcuconf.h create mode 100644 keyboards/primekb/prime_e/keymaps/peott-fr/keymap.c create mode 100644 keyboards/program_yoink/staggered/keymaps/via/config.h create mode 100644 keyboards/program_yoink/staggered/keymaps/via/keymap.c create mode 100644 keyboards/program_yoink/staggered/keymaps/via/readme.md create mode 100644 keyboards/program_yoink/staggered/keymaps/via/rules.mk create mode 100644 keyboards/projectcain/vault45/config.h create mode 100644 keyboards/projectcain/vault45/info.json create mode 100644 keyboards/projectcain/vault45/keymaps/default/config.h create mode 100644 keyboards/projectcain/vault45/keymaps/default/keymap.c create mode 100644 keyboards/projectcain/vault45/keymaps/default/readme.md create mode 100644 keyboards/projectcain/vault45/keymaps/default/rules.mk create mode 100644 keyboards/projectcain/vault45/readme.md create mode 100644 keyboards/projectcain/vault45/rules.mk create mode 100644 keyboards/projectcain/vault45/vault45.c create mode 100644 keyboards/projectcain/vault45/vault45.h create mode 100644 keyboards/projectkb/alice/config.h create mode 100644 keyboards/prototypist/j01/config.h create mode 100644 keyboards/prototypist/j01/info.json create mode 100644 keyboards/prototypist/j01/j01.c create mode 100644 keyboards/prototypist/j01/j01.h create mode 100644 keyboards/prototypist/j01/keymaps/default/keymap.c create mode 100644 keyboards/prototypist/j01/keymaps/default/readme.md create mode 100644 keyboards/prototypist/j01/keymaps/via/keymap.c create mode 100644 keyboards/prototypist/j01/keymaps/via/readme.md create mode 100644 keyboards/prototypist/j01/keymaps/via/rules.mk create mode 100644 keyboards/prototypist/j01/readme.md create mode 100644 keyboards/prototypist/j01/rules.mk create mode 100644 keyboards/pteron36/config.h create mode 100644 keyboards/pteron36/info.json create mode 100644 keyboards/pteron36/keymaps/default/keymap.c create mode 100644 keyboards/pteron36/keymaps/via/keymap.c create mode 100644 keyboards/pteron36/keymaps/via/readme.md create mode 100644 keyboards/pteron36/keymaps/via/rules.mk create mode 100644 keyboards/pteron36/pteron36.c create mode 100644 keyboards/pteron36/pteron36.h create mode 100644 keyboards/pteron36/readme.md create mode 100644 keyboards/pteron36/rules.mk create mode 100644 keyboards/q4z/config.h create mode 100644 keyboards/q4z/info.json create mode 100644 keyboards/q4z/keymaps/default/config.h create mode 100644 keyboards/q4z/keymaps/default/keymap.c create mode 100644 keyboards/q4z/keymaps/default/readme.md rename keyboards/{anavi/macropad2/keymaps/jitsi => q4z/keymaps/default}/rules.mk (100%) create mode 100644 keyboards/q4z/keymaps/rjboone/config.h create mode 100644 keyboards/q4z/keymaps/rjboone/keymap.c create mode 100644 keyboards/q4z/keymaps/rjboone/readme.md rename keyboards/{anavi/macropad2/keymaps/zoom => q4z/keymaps/rjboone}/rules.mk (100%) create mode 100644 keyboards/q4z/q4z.c create mode 100644 keyboards/q4z/q4z.h create mode 100644 keyboards/q4z/readme.md create mode 100644 keyboards/q4z/rules.mk create mode 100644 keyboards/quark/keymaps/ajp10304/keymap.c create mode 100644 keyboards/quark/keymaps/ajp10304/readme.md rename keyboards/{staryu/keymaps/default => quark/keymaps/ajp10304}/rules.mk (100%) create mode 100644 keyboards/ramonimbao/chevron/chevron.c create mode 100644 keyboards/ramonimbao/chevron/chevron.h create mode 100644 keyboards/ramonimbao/chevron/config.h create mode 100644 keyboards/ramonimbao/chevron/info.json create mode 100644 keyboards/ramonimbao/chevron/keymaps/default/keymap.c create mode 100644 keyboards/ramonimbao/chevron/keymaps/iso/keymap.c create mode 100644 keyboards/ramonimbao/chevron/keymaps/via/keymap.c create mode 100644 keyboards/ramonimbao/chevron/keymaps/via/rules.mk create mode 100644 keyboards/ramonimbao/chevron/readme.md create mode 100644 keyboards/ramonimbao/chevron/rules.mk delete mode 100644 keyboards/ramonimbao/mona/info.json delete mode 100644 keyboards/ramonimbao/mona/mona.c delete mode 100644 keyboards/ramonimbao/mona/readme.md rename keyboards/ramonimbao/mona/{ => v1}/config.h (100%) create mode 100644 keyboards/ramonimbao/mona/v1/info.json rename keyboards/ramonimbao/mona/{ => v1}/keymaps/default/keymap.c (100%) rename keyboards/ramonimbao/mona/{ => v1}/keymaps/iso/keymap.c (100%) rename keyboards/ramonimbao/mona/{ => v1}/keymaps/via/keymap.c (100%) create mode 100644 keyboards/ramonimbao/mona/v1/keymaps/via/rules.mk create mode 100644 keyboards/ramonimbao/mona/v1/readme.md create mode 100644 keyboards/ramonimbao/mona/v1/rules.mk create mode 100644 keyboards/ramonimbao/mona/v1/v1.c rename keyboards/ramonimbao/mona/{mona.h => v1/v1.h} (100%) create mode 100644 keyboards/ramonimbao/mona/v1_1/config.h create mode 100644 keyboards/ramonimbao/mona/v1_1/info.json create mode 100644 keyboards/ramonimbao/mona/v1_1/keymaps/default/keymap.c create mode 100644 keyboards/ramonimbao/mona/v1_1/keymaps/iso/keymap.c create mode 100644 keyboards/ramonimbao/mona/v1_1/keymaps/via/keymap.c create mode 100644 keyboards/ramonimbao/mona/v1_1/keymaps/via/rules.mk create mode 100644 keyboards/ramonimbao/mona/v1_1/readme.md create mode 100644 keyboards/ramonimbao/mona/v1_1/rules.mk create mode 100644 keyboards/ramonimbao/mona/v1_1/v1_1.c create mode 100644 keyboards/ramonimbao/mona/v1_1/v1_1.h create mode 100644 keyboards/ramonimbao/squishyfrl/chconf.h create mode 100644 keyboards/ramonimbao/squishyfrl/config.h create mode 100644 keyboards/ramonimbao/squishyfrl/halconf.h create mode 100644 keyboards/ramonimbao/squishyfrl/info.json create mode 100644 keyboards/ramonimbao/squishyfrl/keymaps/default/keymap.c create mode 100644 keyboards/ramonimbao/squishyfrl/keymaps/default/readme.md create mode 100644 keyboards/ramonimbao/squishyfrl/keymaps/iso/keymap.c create mode 100644 keyboards/ramonimbao/squishyfrl/keymaps/via/config.h create mode 100644 keyboards/ramonimbao/squishyfrl/keymaps/via/keymap.c create mode 100644 keyboards/ramonimbao/squishyfrl/keymaps/via/rules.mk create mode 100644 keyboards/ramonimbao/squishyfrl/mcuconf.h create mode 100644 keyboards/ramonimbao/squishyfrl/readme.md create mode 100644 keyboards/ramonimbao/squishyfrl/rules.mk create mode 100644 keyboards/ramonimbao/squishyfrl/squishyfrl.c create mode 100644 keyboards/ramonimbao/squishyfrl/squishyfrl.h create mode 100644 keyboards/ramonimbao/squishytkl/chconf.h create mode 100644 keyboards/ramonimbao/squishytkl/config.h create mode 100644 keyboards/ramonimbao/squishytkl/halconf.h create mode 100644 keyboards/ramonimbao/squishytkl/info.json create mode 100644 keyboards/ramonimbao/squishytkl/keymaps/default/keymap.c create mode 100644 keyboards/ramonimbao/squishytkl/keymaps/default/readme.md create mode 100644 keyboards/ramonimbao/squishytkl/keymaps/iso/keymap.c create mode 100644 keyboards/ramonimbao/squishytkl/keymaps/jis/keymap.c create mode 100644 keyboards/ramonimbao/squishytkl/keymaps/via/config.h create mode 100644 keyboards/ramonimbao/squishytkl/keymaps/via/keymap.c create mode 100644 keyboards/ramonimbao/squishytkl/keymaps/via/rules.mk create mode 100644 keyboards/ramonimbao/squishytkl/mcuconf.h create mode 100644 keyboards/ramonimbao/squishytkl/readme.md create mode 100644 keyboards/ramonimbao/squishytkl/rules.mk create mode 100644 keyboards/ramonimbao/squishytkl/squishytkl.c create mode 100644 keyboards/ramonimbao/squishytkl/squishytkl.h create mode 100644 keyboards/ramonimbao/tkl_ff/config.h create mode 100644 keyboards/ramonimbao/tkl_ff/info.json create mode 100644 keyboards/ramonimbao/tkl_ff/keymaps/default/keymap.c create mode 100644 keyboards/ramonimbao/tkl_ff/keymaps/iso/keymap.c create mode 100644 keyboards/ramonimbao/tkl_ff/keymaps/via/keymap.c create mode 100644 keyboards/ramonimbao/tkl_ff/keymaps/via/rules.mk create mode 100644 keyboards/ramonimbao/tkl_ff/readme.md rename {quantum/template/avr => keyboards/ramonimbao/tkl_ff}/rules.mk (100%) create mode 100644 keyboards/ramonimbao/tkl_ff/tkl_ff.c create mode 100644 keyboards/ramonimbao/tkl_ff/tkl_ff.h create mode 100644 keyboards/rart/rart75m/config.h create mode 100644 keyboards/rart/rart75m/info.json create mode 100644 keyboards/rart/rart75m/keymaps/default/keymap.c create mode 100644 keyboards/rart/rart75m/keymaps/via/keymap.c create mode 100644 keyboards/rart/rart75m/keymaps/via/rules.mk create mode 100644 keyboards/rart/rart75m/rart75m.c create mode 100644 keyboards/rart/rart75m/rart75m.h create mode 100644 keyboards/rart/rart75m/readme.md create mode 100644 keyboards/rart/rart75m/rules.mk create mode 100644 keyboards/rart/rartland/config.h create mode 100644 keyboards/rart/rartland/info.json create mode 100644 keyboards/rart/rartland/keymaps/default/keymap.c create mode 100644 keyboards/rart/rartland/keymaps/via/keymap.c create mode 100644 keyboards/rart/rartland/keymaps/via/rules.mk create mode 100644 keyboards/rart/rartland/rartland.c create mode 100644 keyboards/rart/rartland/rartland.h create mode 100644 keyboards/rart/rartland/readme.md create mode 100644 keyboards/rart/rartland/rules.mk create mode 100644 keyboards/redox/keymaps/media_ch/config.h create mode 100644 keyboards/redox/keymaps/media_ch/keymap.c create mode 100644 keyboards/redox/keymaps/media_ch/readme.md create mode 100644 keyboards/redox/keymaps/media_ch/rules.mk create mode 100644 keyboards/redox/media/config.h create mode 100644 keyboards/redox/media/media.c create mode 100644 keyboards/redox/media/media.h create mode 100644 keyboards/redox/media/readme.md create mode 100644 keyboards/redox/media/rules.mk create mode 100644 keyboards/redox_w/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/redox_w/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/reviung34/keymaps/default_rgb/config.h create mode 100755 keyboards/reviung34/keymaps/default_rgb/keymap.c create mode 100755 keyboards/reviung34/keymaps/default_rgb/readme.md rename keyboards/{keebio/dilly/keymaps/delmo => reviung34/keymaps/default_rgb}/rules.mk (100%) create mode 100644 keyboards/reviung34/keymaps/default_rgb2u/config.h create mode 100755 keyboards/reviung34/keymaps/default_rgb2u/keymap.c create mode 100755 keyboards/reviung34/keymaps/default_rgb2u/readme.md rename keyboards/{keebio/viterbi/keymaps/bakingpy => reviung34/keymaps/default_rgb2u}/rules.mk (100%) create mode 100644 keyboards/reviung39/keymaps/via/keymap.c create mode 100644 keyboards/reviung39/keymaps/via/rules.mk create mode 100644 keyboards/reviung41/keymaps/ciutadellla/config.h create mode 100644 keyboards/reviung41/keymaps/ciutadellla/keymap.c create mode 100644 keyboards/reviung41/keymaps/ciutadellla/rules.mk create mode 100644 keyboards/reviung5/config.h create mode 100644 keyboards/reviung5/info.json create mode 100644 keyboards/reviung5/keymaps/default/keymap.c create mode 100644 keyboards/reviung5/keymaps/default/readme.md create mode 100644 keyboards/reviung5/keymaps/default_lre/keymap.c create mode 100644 keyboards/reviung5/keymaps/default_lre/readme.md create mode 100644 keyboards/reviung5/keymaps/default_rre/keymap.c create mode 100644 keyboards/reviung5/keymaps/default_rre/readme.md create mode 100644 keyboards/reviung5/readme.md create mode 100644 keyboards/reviung5/reviung5.c create mode 100644 keyboards/reviung5/reviung5.h create mode 100644 keyboards/reviung5/rules.mk create mode 100644 keyboards/rgbkb/common/common_oled.c create mode 100644 keyboards/rgbkb/common/common_oled.h create mode 100644 keyboards/rgbkb/common/glcdfont.c create mode 100644 keyboards/rgbkb/common/touch_encoder.c create mode 100644 keyboards/rgbkb/common/touch_encoder.h create mode 100644 keyboards/rgbkb/mun/.noci create mode 100644 keyboards/rgbkb/mun/config.h create mode 100644 keyboards/rgbkb/mun/halconf.h create mode 100644 keyboards/rgbkb/mun/keymaps/default/config.h create mode 100644 keyboards/rgbkb/mun/keymaps/default/keymap.c create mode 100644 keyboards/rgbkb/mun/keymaps/via/config.h create mode 100644 keyboards/rgbkb/mun/keymaps/via/keymap.c create mode 100644 keyboards/rgbkb/mun/keymaps/via/rules.mk create mode 100644 keyboards/rgbkb/mun/keymaps/xulkal2/config.h create mode 100644 keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c create mode 100644 keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk create mode 100644 keyboards/rgbkb/mun/matrix.c create mode 100644 keyboards/rgbkb/mun/mcuconf.h create mode 100644 keyboards/rgbkb/mun/mun.c create mode 100644 keyboards/rgbkb/mun/mun.h create mode 100644 keyboards/rgbkb/mun/readme.md create mode 100644 keyboards/rgbkb/mun/rev1/config.h create mode 100644 keyboards/rgbkb/mun/rev1/info.json create mode 100644 keyboards/rgbkb/mun/rev1/readme.md create mode 100644 keyboards/rgbkb/mun/rev1/rev1.c create mode 100644 keyboards/rgbkb/mun/rev1/rev1.h create mode 100644 keyboards/rgbkb/mun/rev1/rules.mk create mode 100644 keyboards/rgbkb/mun/rules.mk create mode 100644 keyboards/ristretto/config.h create mode 100644 keyboards/ristretto/info.json create mode 100644 keyboards/ristretto/keymaps/default/keymap.c create mode 100644 keyboards/ristretto/readme.md create mode 100644 keyboards/ristretto/ristretto.c create mode 100644 keyboards/ristretto/ristretto.h create mode 100644 keyboards/ristretto/rules.mk create mode 100644 keyboards/rubi/config.h create mode 100644 keyboards/rubi/info.json create mode 100644 keyboards/rubi/keymaps/default/keymap.c create mode 100644 keyboards/rubi/keymaps/default/readme.md create mode 100644 keyboards/rubi/keymaps/via/keymap.c create mode 100644 keyboards/rubi/keymaps/via/rules.mk create mode 100644 keyboards/rubi/lib/calc.c create mode 100644 keyboards/rubi/lib/encoder.c create mode 100644 keyboards/rubi/lib/glcdfont.c create mode 100644 keyboards/rubi/lib/oled.c create mode 100644 keyboards/rubi/lib/oled.h create mode 100644 keyboards/rubi/readme.md create mode 100644 keyboards/rubi/rubi.c create mode 100644 keyboards/rubi/rubi.h create mode 100644 keyboards/rubi/rules.mk create mode 100644 keyboards/runes/vaengr/config.h create mode 100644 keyboards/runes/vaengr/info.json create mode 100644 keyboards/runes/vaengr/keymaps/default/keymap.c create mode 100644 keyboards/runes/vaengr/keymaps/default/readme.md create mode 100644 keyboards/runes/vaengr/keymaps/via/keymap.c create mode 100644 keyboards/runes/vaengr/keymaps/via/rules.mk create mode 100644 keyboards/runes/vaengr/readme.md create mode 100644 keyboards/runes/vaengr/rules.mk create mode 100644 keyboards/runes/vaengr/vaengr.c create mode 100644 keyboards/runes/vaengr/vaengr.h create mode 100644 keyboards/ryanbaekr/rb86/config.h create mode 100644 keyboards/ryanbaekr/rb86/info.json create mode 100644 keyboards/ryanbaekr/rb86/keymaps/default/keymap.c create mode 100644 keyboards/ryanbaekr/rb86/keymaps/default/readme.md create mode 100644 keyboards/ryanbaekr/rb86/keymaps/via/keymap.c create mode 100644 keyboards/ryanbaekr/rb86/keymaps/via/rules.mk create mode 100644 keyboards/ryanbaekr/rb86/rb86.c create mode 100644 keyboards/ryanbaekr/rb86/rb86.h create mode 100644 keyboards/ryanbaekr/rb86/readme.md create mode 100644 keyboards/ryanbaekr/rb86/rules.mk create mode 100644 keyboards/sanctified/dystopia/config.h create mode 100644 keyboards/sanctified/dystopia/dystopia.c create mode 100644 keyboards/sanctified/dystopia/dystopia.h create mode 100644 keyboards/sanctified/dystopia/info.json create mode 100644 keyboards/sanctified/dystopia/keymaps/default/keymap.c create mode 100644 keyboards/sanctified/dystopia/keymaps/via/keymap.c create mode 100644 keyboards/sanctified/dystopia/keymaps/via/rules.mk create mode 100644 keyboards/sanctified/dystopia/readme.md create mode 100644 keyboards/sanctified/dystopia/rules.mk create mode 100644 keyboards/sawnsprojects/satxri6key/config.h create mode 100644 keyboards/sawnsprojects/satxri6key/info.json create mode 100644 keyboards/sawnsprojects/satxri6key/keymaps/default/keymap.c create mode 100644 keyboards/sawnsprojects/satxri6key/keymaps/default/readme.md create mode 100644 keyboards/sawnsprojects/satxri6key/keymaps/default/rules.mk create mode 100644 keyboards/sawnsprojects/satxri6key/keymaps/via/keymap.c create mode 100644 keyboards/sawnsprojects/satxri6key/keymaps/via/rules.mk create mode 100644 keyboards/sawnsprojects/satxri6key/readme.md create mode 100644 keyboards/sawnsprojects/satxri6key/rules.mk create mode 100644 keyboards/sawnsprojects/satxri6key/satxri6key.c create mode 100644 keyboards/sawnsprojects/satxri6key/satxri6key.h create mode 100644 keyboards/seigaiha/config.h create mode 100644 keyboards/seigaiha/info.json create mode 100644 keyboards/seigaiha/keymaps/default/keymap.c create mode 100644 keyboards/seigaiha/keymaps/default/readme.md create mode 100644 keyboards/seigaiha/keymaps/via/keymap.c create mode 100644 keyboards/seigaiha/keymaps/via/readme.md create mode 100644 keyboards/seigaiha/keymaps/via/rules.mk create mode 100644 keyboards/seigaiha/matrix.c create mode 100644 keyboards/seigaiha/readme.md create mode 100644 keyboards/seigaiha/rules.mk create mode 100644 keyboards/seigaiha/seigaiha.c create mode 100644 keyboards/seigaiha/seigaiha.h create mode 100644 keyboards/sekigon/grs_70ec/config.h create mode 100644 keyboards/sekigon/grs_70ec/ec_switch_matrix.c create mode 100644 keyboards/sekigon/grs_70ec/ec_switch_matrix.h create mode 100644 keyboards/sekigon/grs_70ec/grs_70ec.c create mode 100644 keyboards/sekigon/grs_70ec/grs_70ec.h create mode 100644 keyboards/sekigon/grs_70ec/info.json create mode 100644 keyboards/sekigon/grs_70ec/keymaps/default/keymap.c create mode 100644 keyboards/sekigon/grs_70ec/matrix.c create mode 100644 keyboards/sekigon/grs_70ec/readme.md create mode 100644 keyboards/sekigon/grs_70ec/rules.mk create mode 100644 keyboards/sendyyeah/75pixels/75pixels.c create mode 100644 keyboards/sendyyeah/75pixels/75pixels.h create mode 100644 keyboards/sendyyeah/75pixels/config.h create mode 100644 keyboards/sendyyeah/75pixels/info.json create mode 100644 keyboards/sendyyeah/75pixels/keymaps/default/keymap.c create mode 100644 keyboards/sendyyeah/75pixels/keymaps/via/keymap.c create mode 100644 keyboards/sendyyeah/75pixels/keymaps/via/rules.mk create mode 100644 keyboards/sendyyeah/75pixels/readme.md create mode 100644 keyboards/sendyyeah/75pixels/rules.mk create mode 100644 keyboards/sendyyeah/bevi/bevi.c create mode 100644 keyboards/sendyyeah/bevi/bevi.h create mode 100644 keyboards/sendyyeah/bevi/config.h create mode 100644 keyboards/sendyyeah/bevi/info.json create mode 100644 keyboards/sendyyeah/bevi/keymaps/default/keymap.c create mode 100644 keyboards/sendyyeah/bevi/keymaps/via/keymap.c create mode 100644 keyboards/sendyyeah/bevi/keymaps/via/rules.mk create mode 100644 keyboards/sendyyeah/bevi/readme.md create mode 100644 keyboards/sendyyeah/bevi/rules.mk create mode 100644 keyboards/senselessclay/had60/config.h create mode 100644 keyboards/senselessclay/had60/had60.c create mode 100644 keyboards/senselessclay/had60/had60.h create mode 100644 keyboards/senselessclay/had60/info.json create mode 100644 keyboards/senselessclay/had60/keymaps/default/keymap.c create mode 100644 keyboards/senselessclay/had60/keymaps/had/keymap.c create mode 100644 keyboards/senselessclay/had60/keymaps/iso/keymap.c create mode 100644 keyboards/senselessclay/had60/keymaps/via/keymap.c create mode 100644 keyboards/senselessclay/had60/keymaps/via/rules.mk create mode 100644 keyboards/senselessclay/had60/readme.md create mode 100644 keyboards/senselessclay/had60/rules.mk delete mode 100644 keyboards/sentraq/s60_x/keymaps/custom/keymap.c delete mode 100644 keyboards/sentraq/s60_x/keymaps/custom/readme.md delete mode 100644 keyboards/sentraq/s60_x/keymaps/hasu/keymap.c delete mode 100644 keyboards/sentraq/s60_x/keymaps/hasu/readme.md delete mode 100644 keyboards/sentraq/s60_x/keymaps/hhkb/keymap.c delete mode 100644 keyboards/sentraq/s60_x/keymaps/hhkb/readme.md delete mode 100644 keyboards/sentraq/s60_x/keymaps/iso/keymap.c delete mode 100644 keyboards/sentraq/s60_x/keymaps/iso/readme.md delete mode 100644 keyboards/sentraq/s60_x/keymaps/jpec/keymap.c delete mode 100644 keyboards/sentraq/s60_x/keymaps/jpec/readme.md delete mode 100644 keyboards/sentraq/s60_x/keymaps/plain/keymap.c delete mode 100644 keyboards/sentraq/s60_x/keymaps/plain/readme.md delete mode 100644 keyboards/sentraq/s60_x/keymaps/poker/keymap.c delete mode 100644 keyboards/sentraq/s60_x/keymaps/poker/readme.md delete mode 100644 keyboards/sentraq/s60_x/keymaps/poker_bit/keymap.c delete mode 100644 keyboards/sentraq/s60_x/keymaps/poker_bit/readme.md delete mode 100644 keyboards/sentraq/s60_x/keymaps/poker_set/keymap.c delete mode 100644 keyboards/sentraq/s60_x/keymaps/poker_set/readme.md delete mode 100644 keyboards/sentraq/s60_x/keymaps/spacefn/keymap.c delete mode 100644 keyboards/sentraq/s60_x/keymaps/spacefn/readme.md create mode 100644 keyboards/sergiopoverony/creator_pro/config.h create mode 100644 keyboards/sergiopoverony/creator_pro/creator_pro.c create mode 100644 keyboards/sergiopoverony/creator_pro/creator_pro.h create mode 100644 keyboards/sergiopoverony/creator_pro/info.json create mode 100644 keyboards/sergiopoverony/creator_pro/keymaps/default/keymap.c create mode 100644 keyboards/sergiopoverony/creator_pro/keymaps/default/readme.md create mode 100644 keyboards/sergiopoverony/creator_pro/keymaps/via/keymap.c create mode 100644 keyboards/sergiopoverony/creator_pro/keymaps/via/rules.mk create mode 100644 keyboards/sergiopoverony/creator_pro/readme.md create mode 100644 keyboards/sergiopoverony/creator_pro/rules.mk delete mode 100644 keyboards/sidderskb/majbritt/keymaps/via/keymap.c delete mode 100644 keyboards/sidderskb/majbritt/majbritt.c delete mode 100644 keyboards/sidderskb/majbritt/readme.md rename keyboards/sidderskb/majbritt/{ => rev1}/config.h (100%) rename keyboards/sidderskb/majbritt/{ => rev1}/info.json (100%) rename keyboards/sidderskb/majbritt/{ => rev1}/keymaps/default/keymap.c (100%) rename keyboards/sidderskb/majbritt/{ => rev1}/keymaps/default/readme.md (100%) create mode 100644 keyboards/sidderskb/majbritt/rev1/readme.md create mode 100644 keyboards/sidderskb/majbritt/rev1/rev1.c rename keyboards/sidderskb/majbritt/{majbritt.h => rev1/rev1.h} (100%) create mode 100644 keyboards/sidderskb/majbritt/rev1/rules.mk create mode 100644 keyboards/sidderskb/majbritt/rev2/config.h create mode 100644 keyboards/sidderskb/majbritt/rev2/info.json create mode 100644 keyboards/sidderskb/majbritt/rev2/keymaps/default/keymap.c create mode 100644 keyboards/sidderskb/majbritt/rev2/keymaps/default/readme.md create mode 100644 keyboards/sidderskb/majbritt/rev2/readme.md create mode 100644 keyboards/sidderskb/majbritt/rev2/rev2.c create mode 100644 keyboards/sidderskb/majbritt/rev2/rev2.h create mode 100644 keyboards/sidderskb/majbritt/rev2/rules.mk delete mode 100644 keyboards/sidderskb/majbritt/rules.mk create mode 100644 keyboards/skeletn87/hotswap/config.h create mode 100644 keyboards/skeletn87/hotswap/hotswap.c create mode 100644 keyboards/skeletn87/hotswap/hotswap.h create mode 100644 keyboards/skeletn87/hotswap/info.json create mode 100644 keyboards/skeletn87/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/skeletn87/hotswap/keymaps/via/keymap.c create mode 100644 keyboards/skeletn87/hotswap/keymaps/via/rules.mk create mode 100644 keyboards/skeletn87/hotswap/readme.md create mode 100644 keyboards/skeletn87/hotswap/rules.mk create mode 100644 keyboards/skeletn87/soldered/config.h create mode 100644 keyboards/skeletn87/soldered/info.json create mode 100644 keyboards/skeletn87/soldered/keymaps/default/keymap.c create mode 100644 keyboards/skeletn87/soldered/keymaps/iso/keymap.c create mode 100644 keyboards/skeletn87/soldered/keymaps/tsangan/keymap.c create mode 100644 keyboards/skeletn87/soldered/keymaps/via/keymap.c create mode 100644 keyboards/skeletn87/soldered/keymaps/via/rules.mk create mode 100644 keyboards/skeletn87/soldered/readme.md create mode 100644 keyboards/skeletn87/soldered/rules.mk create mode 100644 keyboards/skeletn87/soldered/soldered.c create mode 100644 keyboards/skeletn87/soldered/soldered.h create mode 100644 keyboards/skergo/config.h create mode 100644 keyboards/skergo/info.json create mode 100644 keyboards/skergo/keymaps/default/keymap.c create mode 100644 keyboards/skergo/keymaps/via/keymap.c create mode 100644 keyboards/skergo/keymaps/via/rules.mk create mode 100644 keyboards/skergo/readme.md create mode 100644 keyboards/skergo/rules.mk create mode 100644 keyboards/skergo/skergo.c create mode 100644 keyboards/skergo/skergo.h create mode 100644 keyboards/smallice/config.h create mode 100644 keyboards/smallice/info.json create mode 100644 keyboards/smallice/keymaps/default/keymap.c create mode 100644 keyboards/smallice/keymaps/default/readme.md create mode 100644 keyboards/smallice/keymaps/via/keymap.c create mode 100644 keyboards/smallice/keymaps/via/readme.md create mode 100644 keyboards/smallice/keymaps/via/rules.mk create mode 100644 keyboards/smallice/readme.md create mode 100644 keyboards/smallice/rules.mk create mode 100644 keyboards/smallice/smallice.c create mode 100644 keyboards/smallice/smallice.h create mode 100644 keyboards/sneakbox/ava/ava.c create mode 100644 keyboards/sneakbox/ava/ava.h create mode 100644 keyboards/sneakbox/ava/config.h create mode 100644 keyboards/sneakbox/ava/info.json create mode 100644 keyboards/sneakbox/ava/keymaps/default/keymap.c create mode 100644 keyboards/sneakbox/ava/keymaps/via/keymap.c create mode 100644 keyboards/sneakbox/ava/keymaps/via/rules.mk create mode 100644 keyboards/sneakbox/ava/readme.md create mode 100644 keyboards/sneakbox/ava/rules.mk create mode 100644 keyboards/sofle/keymaps/devdev/config.h create mode 100644 keyboards/sofle/keymaps/devdev/keymap.c create mode 100644 keyboards/sofle/keymaps/devdev/rules.mk create mode 100644 keyboards/sofle/keymaps/helltm/config.h create mode 100644 keyboards/sofle/keymaps/helltm/keymap.c create mode 100644 keyboards/sofle/keymaps/helltm/readme.md create mode 100644 keyboards/sofle/keymaps/helltm/rules.mk create mode 100644 keyboards/sofle/keymaps/killmaster/config.h create mode 100644 keyboards/sofle/keymaps/killmaster/keymap.c create mode 100644 keyboards/sofle/keymaps/killmaster/readme.md create mode 100644 keyboards/sofle/keymaps/killmaster/rules.mk create mode 100644 keyboards/sofle/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/sofle/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/sofle/keymaps/rgb_default/config.h create mode 100644 keyboards/sofle/keymaps/rgb_default/keymap.c create mode 100644 keyboards/sofle/keymaps/rgb_default/rules.mk create mode 100644 keyboards/sofle/rev1/readme.md delete mode 100644 keyboards/sowbug/68keys/bootloader_defs.h delete mode 100644 keyboards/sowbug/ansi_tkl/bootloader_defs.h create mode 100644 keyboards/sowbug/ansi_tkl/keymaps/sowbug/keymap.c delete mode 100644 keyboards/space_space/config.h delete mode 100644 keyboards/space_space/keymaps/big_space/keymap.c delete mode 100644 keyboards/space_space/keymaps/default/keymap.c create mode 100644 keyboards/space_space/rev1/config.h rename keyboards/space_space/{ => rev1}/info.json (100%) rename keyboards/space_space/{ => rev1}/keymaps/big_space/config.h (100%) create mode 100644 keyboards/space_space/rev1/keymaps/big_space/keymap.c rename keyboards/space_space/{ => rev1}/keymaps/big_space/rules.mk (100%) rename keyboards/space_space/{ => rev1}/keymaps/default/config.h (100%) create mode 100644 keyboards/space_space/rev1/keymaps/default/keymap.c rename keyboards/space_space/{ => rev1}/keymaps/default/rules.mk (100%) rename keyboards/space_space/{ => rev1}/keymaps/readme.md (100%) create mode 100644 keyboards/space_space/rev1/readme.md create mode 100644 keyboards/space_space/rev1/rev1.c create mode 100644 keyboards/space_space/rev1/rev1.h create mode 100644 keyboards/space_space/rev1/rules.mk create mode 100644 keyboards/space_space/rev2/config.h create mode 100644 keyboards/space_space/rev2/info.json create mode 100644 keyboards/space_space/rev2/keymaps/big_space/config.h create mode 100644 keyboards/space_space/rev2/keymaps/big_space/keymap.c create mode 100644 keyboards/space_space/rev2/keymaps/big_space/rules.mk create mode 100644 keyboards/space_space/rev2/keymaps/default/config.h create mode 100644 keyboards/space_space/rev2/keymaps/default/keymap.c create mode 100644 keyboards/space_space/rev2/keymaps/default/rules.mk create mode 100644 keyboards/space_space/rev2/keymaps/qpockets/config.h create mode 100644 keyboards/space_space/rev2/keymaps/qpockets/keymap.c create mode 100644 keyboards/space_space/rev2/keymaps/qpockets/rules.mk create mode 100644 keyboards/space_space/rev2/readme.md create mode 100644 keyboards/space_space/rev2/rev2.c create mode 100644 keyboards/space_space/rev2/rev2.h create mode 100644 keyboards/space_space/rev2/rules.mk delete mode 100644 keyboards/space_space/space_space.c delete mode 100644 keyboards/space_space/space_space.h delete mode 100644 keyboards/spaceman/pancake/feather/rules.mk delete mode 100644 keyboards/spaceman/pancake/pancake.c delete mode 100644 keyboards/spaceman/pancake/promicro/rules.mk delete mode 100644 keyboards/spaceman/pancake/readme.md rename keyboards/spaceman/pancake/{ => rev1}/config.h (100%) rename keyboards/spaceman/pancake/{ => rev1}/feather/config.h (100%) create mode 100644 keyboards/spaceman/pancake/rev1/feather/rules.mk rename keyboards/spaceman/pancake/{ => rev1}/info.json (100%) rename keyboards/spaceman/pancake/{ => rev1}/keymaps/default/keymap.c (100%) rename keyboards/spaceman/pancake/{ => rev1}/keymaps/default/readme.md (100%) rename keyboards/spaceman/pancake/{ => rev1}/keymaps/via/keymap.c (100%) create mode 100644 keyboards/spaceman/pancake/rev1/keymaps/via/rules.mk rename keyboards/spaceman/pancake/{ => rev1}/promicro/config.h (100%) create mode 100644 keyboards/spaceman/pancake/rev1/promicro/rules.mk create mode 100644 keyboards/spaceman/pancake/rev1/readme.md create mode 100644 keyboards/spaceman/pancake/rev1/rev1.c rename keyboards/spaceman/pancake/{pancake.h => rev1/rev1.h} (100%) create mode 100644 keyboards/spaceman/pancake/rev2/config.h create mode 100644 keyboards/spaceman/pancake/rev2/info.json create mode 100644 keyboards/spaceman/pancake/rev2/keymaps/default/keymap.c create mode 100644 keyboards/spaceman/pancake/rev2/keymaps/default/readme.md create mode 100644 keyboards/spaceman/pancake/rev2/readme.md create mode 100644 keyboards/spaceman/pancake/rev2/rev2.c create mode 100644 keyboards/spaceman/pancake/rev2/rev2.h create mode 100644 keyboards/spaceman/pancake/rev2/rules.mk create mode 100644 keyboards/spacey/config.h create mode 100644 keyboards/spacey/info.json create mode 100644 keyboards/spacey/keymaps/default/keymap.c create mode 100644 keyboards/spacey/keymaps/default/readme.md create mode 100644 keyboards/spacey/readme.md create mode 100644 keyboards/spacey/rules.mk create mode 100644 keyboards/spacey/spacey.c create mode 100644 keyboards/spacey/spacey.h create mode 100644 keyboards/specskeys/config.h create mode 100644 keyboards/specskeys/info.json create mode 100644 keyboards/specskeys/keymaps/default/keymap.c create mode 100644 keyboards/specskeys/keymaps/default/readme.md create mode 100644 keyboards/specskeys/readme.md create mode 100644 keyboards/specskeys/rules.mk create mode 100644 keyboards/specskeys/specskeys.c create mode 100644 keyboards/specskeys/specskeys.h create mode 100644 keyboards/splitkb/kyria/.noci rename keyboards/{ => splitkb}/kyria/config.h (100%) rename keyboards/{ => splitkb}/kyria/info.json (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/asapjockey/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/benji/config.h rename keyboards/{ => splitkb}/kyria/keymaps/benji/glcdfont.c (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/benji/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/benji/readme.md create mode 100644 keyboards/splitkb/kyria/keymaps/benji/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/cjuniet/config.h rename keyboards/{ => splitkb}/kyria/keymaps/cjuniet/default.json (100%) rename keyboards/{ => splitkb}/kyria/keymaps/cjuniet/keymap.c (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/corodiak/config.h rename keyboards/{ => splitkb}/kyria/keymaps/corodiak/keymap.c (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/corodiak/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/cwebster2/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/default/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/default/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/default/readme.md create mode 100644 keyboards/splitkb/kyria/keymaps/default/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/drashna/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/drashna/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/drashna/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk rename keyboards/{ => splitkb}/kyria/keymaps/gotham/README.md (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/gotham/config.h rename keyboards/{ => splitkb}/kyria/keymaps/gotham/encoder_utils.c (100%) rename keyboards/{ => splitkb}/kyria/keymaps/gotham/encoder_utils.h (100%) rename keyboards/{ => splitkb}/kyria/keymaps/gotham/keycodes.h (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/gotham/keymap.c rename keyboards/{ => splitkb}/kyria/keymaps/gotham/oled_utils.c (100%) rename keyboards/{ => splitkb}/kyria/keymaps/gotham/oled_utils.h (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/gotham/rules.mk rename keyboards/{ => splitkb}/kyria/keymaps/gotham/thumbstick.c (100%) rename keyboards/{ => splitkb}/kyria/keymaps/gotham/thumbstick.h (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/j-inc/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/j-inc/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/j-inc/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/jhelvy/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/jhelvy/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/kejadlen/config.h rename keyboards/{ => splitkb}/kyria/keymaps/kejadlen/keymap.c (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/kejadlen/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/mattir/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/mattir/keymap.c rename keyboards/{ => splitkb}/kyria/keymaps/mattir/readme.md (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/mattir/rules.mk rename keyboards/{ => splitkb}/kyria/keymaps/mattir2/config.h (100%) rename keyboards/{ => splitkb}/kyria/keymaps/mattir2/keymap.c (100%) rename keyboards/{ => splitkb}/kyria/keymaps/mattir2/readme.md (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/mattir2/rules.mk rename keyboards/{ => splitkb}/kyria/keymaps/ninjonas/README.md (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/ninjonas/config.h rename keyboards/{ => splitkb}/kyria/keymaps/ninjonas/keymap.c (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/ninjonas/oled.c create mode 100644 keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/pierrec83/config.h rename keyboards/{ => splitkb}/kyria/keymaps/pierrec83/encoders.c (95%) rename keyboards/{ => splitkb}/kyria/keymaps/pierrec83/keymap.c (100%) rename keyboards/{ => splitkb}/kyria/keymaps/pierrec83/keymap.json (100%) rename keyboards/{ => splitkb}/kyria/keymaps/pierrec83/layers.h (100%) rename keyboards/{ => splitkb}/kyria/keymaps/pierrec83/readme.md (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/pierrec83/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/plattfot/README.md create mode 100644 keyboards/splitkb/kyria/keymaps/plattfot/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/plattfot/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/plattfot/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/rmw/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/rmw/keymap.c rename keyboards/{ => splitkb}/kyria/keymaps/rmw/readme.md (100%) create mode 100644 keyboards/splitkb/kyria/keymaps/rmw/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/shinze/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/shinze/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/shinze/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/tessachka/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/tessachka/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/tessachka/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/thomasbaart/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk create mode 100644 keyboards/splitkb/kyria/keymaps/via/config.h create mode 100644 keyboards/splitkb/kyria/keymaps/via/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/via/rules.mk create mode 100755 keyboards/splitkb/kyria/keymaps/winternebs/config.h rename keyboards/{ => splitkb}/kyria/keymaps/winternebs/glcdfont.c (100%) create mode 100755 keyboards/splitkb/kyria/keymaps/winternebs/keymap.c create mode 100755 keyboards/splitkb/kyria/keymaps/winternebs/rules.mk rename keyboards/{ => splitkb}/kyria/kyria.c (99%) create mode 100644 keyboards/splitkb/kyria/kyria.h create mode 100644 keyboards/splitkb/kyria/readme.md create mode 100644 keyboards/splitkb/kyria/rev1/config.h create mode 100644 keyboards/splitkb/kyria/rev1/rev1.c create mode 100644 keyboards/splitkb/kyria/rev1/rev1.h create mode 100644 keyboards/splitkb/kyria/rev1/rules.mk create mode 100644 keyboards/splitkb/kyria/rules.mk create mode 100644 keyboards/splitkb/zima/keymaps/via/config.h create mode 100644 keyboards/splitkb/zima/keymaps/via/keymap.c create mode 100644 keyboards/splitkb/zima/keymaps/via/rules.mk delete mode 100644 keyboards/staryu/readme.md delete mode 100755 keyboards/staryu/rules.mk create mode 100644 keyboards/steal_this_keyboard/config.h create mode 100644 keyboards/steal_this_keyboard/info.json create mode 100644 keyboards/steal_this_keyboard/keymaps/default/config.h create mode 100644 keyboards/steal_this_keyboard/keymaps/default/keymap.c create mode 100644 keyboards/steal_this_keyboard/readme.md create mode 100644 keyboards/steal_this_keyboard/rules.mk create mode 100644 keyboards/steal_this_keyboard/steal_this_keyboard.c create mode 100644 keyboards/steal_this_keyboard/steal_this_keyboard.h create mode 100644 keyboards/stratos/config.h create mode 100644 keyboards/stratos/info.json create mode 100644 keyboards/stratos/keymaps/ansi_arrows/keymap.c create mode 100644 keyboards/stratos/keymaps/ansi_split_bs_rshift/keymap.c create mode 100644 keyboards/stratos/keymaps/default/keymap.c create mode 100644 keyboards/stratos/keymaps/iso/keymap.c create mode 100644 keyboards/stratos/keymaps/iso_split_bs_rshift/keymap.c create mode 100644 keyboards/stratos/keymaps/iso_tsangan/keymap.c create mode 100644 keyboards/stratos/keymaps/tsangan/keymap.c create mode 100644 keyboards/stratos/keymaps/tsangan_hhkb/keymap.c create mode 100644 keyboards/stratos/keymaps/via/keymap.c create mode 100644 keyboards/stratos/keymaps/via/rules.mk create mode 100644 keyboards/stratos/readme.md create mode 100644 keyboards/stratos/rules.mk create mode 100644 keyboards/stratos/stratos.c create mode 100644 keyboards/stratos/stratos.h create mode 100644 keyboards/studiokestra/cascade/cascade.c create mode 100644 keyboards/studiokestra/cascade/cascade.h create mode 100644 keyboards/studiokestra/cascade/config.h create mode 100644 keyboards/studiokestra/cascade/info.json create mode 100644 keyboards/studiokestra/cascade/keymaps/default/keymap.c create mode 100644 keyboards/studiokestra/cascade/keymaps/default/readme.md create mode 100644 keyboards/studiokestra/cascade/keymaps/default_tsangan_hhkb/keymap.c create mode 100644 keyboards/studiokestra/cascade/keymaps/default_tsangan_hhkb/readme.md create mode 100644 keyboards/studiokestra/cascade/keymaps/via/keymap.c create mode 100644 keyboards/studiokestra/cascade/keymaps/via/readme.md create mode 100644 keyboards/studiokestra/cascade/keymaps/via/rules.mk create mode 100644 keyboards/studiokestra/cascade/readme.md create mode 100644 keyboards/studiokestra/cascade/rules.mk create mode 100644 keyboards/switchplate/switchplate910/config.h create mode 100644 keyboards/switchplate/switchplate910/info.json create mode 100644 keyboards/switchplate/switchplate910/keymaps/default/keymap.c create mode 100644 keyboards/switchplate/switchplate910/keymaps/default/readme.md create mode 100644 keyboards/switchplate/switchplate910/keymaps/via/keymap.c create mode 100644 keyboards/switchplate/switchplate910/keymaps/via/rules.mk create mode 100644 keyboards/switchplate/switchplate910/readme.md create mode 100644 keyboards/switchplate/switchplate910/rules.mk create mode 100644 keyboards/switchplate/switchplate910/switchplate910.c create mode 100644 keyboards/switchplate/switchplate910/switchplate910.h delete mode 100644 keyboards/sx60/i2cmaster.h delete mode 100644 keyboards/sx60/twimaster.c create mode 100644 keyboards/takashicompany/endzone34/config.h create mode 100644 keyboards/takashicompany/endzone34/endzone34.c create mode 100644 keyboards/takashicompany/endzone34/endzone34.h create mode 100644 keyboards/takashicompany/endzone34/info.json create mode 100644 keyboards/takashicompany/endzone34/keymaps/default/keymap.c create mode 100644 keyboards/takashicompany/endzone34/keymaps/via/keymap.c create mode 100644 keyboards/takashicompany/endzone34/keymaps/via/rules.mk create mode 100644 keyboards/takashicompany/endzone34/readme.md create mode 100644 keyboards/takashicompany/endzone34/rules.mk create mode 100755 keyboards/tau4/common/glcdfont.c create mode 100755 keyboards/tau4/config.h create mode 100755 keyboards/tau4/keymaps/default/keymap.c create mode 100644 keyboards/tau4/keymaps/default/readme.md create mode 100644 keyboards/tau4/readme.md create mode 100755 keyboards/tau4/rules.mk create mode 100755 keyboards/tau4/tau4.c create mode 100755 keyboards/tau4/tau4.h create mode 100644 keyboards/team0110/p1800fl/config.h create mode 100644 keyboards/team0110/p1800fl/info.json create mode 100644 keyboards/team0110/p1800fl/keymaps/default/keymap.c rename keyboards/{handwired => team0110}/p1800fl/keymaps/default/readme.md (100%) create mode 100644 keyboards/team0110/p1800fl/keymaps/via/keymap.c create mode 100644 keyboards/team0110/p1800fl/keymaps/via/readme.md create mode 100644 keyboards/team0110/p1800fl/keymaps/via/rules.mk rename keyboards/{handwired => team0110}/p1800fl/p1800fl.c (100%) rename keyboards/{handwired => team0110}/p1800fl/p1800fl.h (100%) create mode 100644 keyboards/team0110/p1800fl/readme.md create mode 100644 keyboards/team0110/p1800fl/rules.mk create mode 100644 keyboards/technika/info.json create mode 100644 keyboards/tempo_turtle/bradpad/bradpad.c create mode 100644 keyboards/tempo_turtle/bradpad/bradpad.h create mode 100644 keyboards/tempo_turtle/bradpad/config.h create mode 100644 keyboards/tempo_turtle/bradpad/info.json create mode 100644 keyboards/tempo_turtle/bradpad/keymaps/4brad/config.h create mode 100644 keyboards/tempo_turtle/bradpad/keymaps/4brad/keymap.c create mode 100644 keyboards/tempo_turtle/bradpad/keymaps/4brad/rules.mk create mode 100644 keyboards/tempo_turtle/bradpad/keymaps/default/keymap.c create mode 100644 keyboards/tempo_turtle/bradpad/keymaps/midi_demo/config.h create mode 100644 keyboards/tempo_turtle/bradpad/keymaps/midi_demo/keymap.c create mode 100644 keyboards/tempo_turtle/bradpad/keymaps/midi_demo/rules.mk create mode 100644 keyboards/tempo_turtle/bradpad/keymaps/via/keymap.c create mode 100644 keyboards/tempo_turtle/bradpad/keymaps/via/rules.mk create mode 100644 keyboards/tempo_turtle/bradpad/readme.md create mode 100644 keyboards/tempo_turtle/bradpad/rules.mk create mode 100644 keyboards/tender/macrowo_pad/config.h create mode 100644 keyboards/tender/macrowo_pad/info.json create mode 100644 keyboards/tender/macrowo_pad/keymaps/default/keymap.c create mode 100644 keyboards/tender/macrowo_pad/keymaps/default/rules.mk create mode 100644 keyboards/tender/macrowo_pad/keymaps/via/keymap.c create mode 100644 keyboards/tender/macrowo_pad/keymaps/via/rules.mk create mode 100644 keyboards/tender/macrowo_pad/macrowo_pad.c create mode 100644 keyboards/tender/macrowo_pad/macrowo_pad.h create mode 100644 keyboards/tender/macrowo_pad/readme.md create mode 100644 keyboards/tender/macrowo_pad/rules.mk create mode 100644 keyboards/the_uni/config.h create mode 100644 keyboards/the_uni/info.json create mode 100644 keyboards/the_uni/keymaps/default/keymap.c create mode 100644 keyboards/the_uni/keymaps/qwerty/keymap.c create mode 100644 keyboards/the_uni/readme.md create mode 100644 keyboards/the_uni/rules.mk create mode 100644 keyboards/the_uni/the_uni.c create mode 100644 keyboards/the_uni/the_uni.h create mode 100644 keyboards/thevankeyboards/jetvan/config.h create mode 100644 keyboards/thevankeyboards/jetvan/jetvan.c create mode 100644 keyboards/thevankeyboards/jetvan/jetvan.h create mode 100644 keyboards/thevankeyboards/jetvan/keymaps/default/keymap.c create mode 100644 keyboards/thevankeyboards/jetvan/keymaps/via/keymap.c create mode 100644 keyboards/thevankeyboards/jetvan/keymaps/via/rules.mk create mode 100644 keyboards/thevankeyboards/jetvan/readme.md create mode 100644 keyboards/thevankeyboards/jetvan/rules.mk create mode 100644 keyboards/tiger910/config.h create mode 100644 keyboards/tiger910/info.json create mode 100644 keyboards/tiger910/keymaps/default/keymap.c create mode 100644 keyboards/tiger910/keymaps/via/keymap.c create mode 100644 keyboards/tiger910/keymaps/via/rules.mk create mode 100644 keyboards/tiger910/readme.md create mode 100644 keyboards/tiger910/rules.mk create mode 100644 keyboards/tiger910/tiger910.c create mode 100644 keyboards/tiger910/tiger910.h delete mode 100644 keyboards/tokyo60/readme.md delete mode 100644 keyboards/tokyo60/rules.mk delete mode 100644 keyboards/tokyo60/tokyo60.c rename keyboards/{ => tokyokeyboard}/tokyo60/config.h (100%) rename keyboards/{ => tokyokeyboard}/tokyo60/info.json (100%) rename keyboards/{ => tokyokeyboard}/tokyo60/keymaps/default/config.h (100%) rename keyboards/{ => tokyokeyboard}/tokyo60/keymaps/default/keymap.c (100%) rename keyboards/{ => tokyokeyboard}/tokyo60/keymaps/swappedBottomRow/config.h (100%) rename keyboards/{ => tokyokeyboard}/tokyo60/keymaps/swappedBottomRow/keymap.c (100%) rename keyboards/{ => tokyokeyboard}/tokyo60/keymaps/via/keymap.c (100%) create mode 100644 keyboards/tokyokeyboard/tokyo60/keymaps/via/rules.mk create mode 100644 keyboards/tokyokeyboard/tokyo60/readme.md create mode 100644 keyboards/tokyokeyboard/tokyo60/rules.mk create mode 100644 keyboards/tokyokeyboard/tokyo60/tokyo60.c rename keyboards/{ => tokyokeyboard}/tokyo60/tokyo60.h (100%) create mode 100644 keyboards/torn/keymaps/manna-harbour_miryoku/config.h create mode 100644 keyboards/torn/keymaps/manna-harbour_miryoku/keymap.c create mode 100644 keyboards/treasure/type9s2/config.h create mode 100644 keyboards/treasure/type9s2/info.json create mode 100644 keyboards/treasure/type9s2/keymaps/default/keymap.c create mode 100644 keyboards/treasure/type9s2/keymaps/default/readme.md create mode 100644 keyboards/treasure/type9s2/keymaps/via/keymap.c create mode 100644 keyboards/treasure/type9s2/keymaps/via/readme.md create mode 100644 keyboards/treasure/type9s2/keymaps/via/rules.mk create mode 100644 keyboards/treasure/type9s2/readme.md create mode 100644 keyboards/treasure/type9s2/rules.mk create mode 100644 keyboards/treasure/type9s2/type9s2.c create mode 100644 keyboards/treasure/type9s2/type9s2.h create mode 100644 keyboards/tronguylabs/m122_3270/blackpill/config.h create mode 100644 keyboards/tronguylabs/m122_3270/blackpill/readme.md create mode 100644 keyboards/tronguylabs/m122_3270/blackpill/rules.mk create mode 100644 keyboards/tronguylabs/m122_3270/bluepill/chconf.h create mode 100644 keyboards/tronguylabs/m122_3270/bluepill/config.h create mode 100644 keyboards/tronguylabs/m122_3270/bluepill/readme.md create mode 100644 keyboards/tronguylabs/m122_3270/bluepill/rules.mk create mode 100644 keyboards/tronguylabs/m122_3270/config.h create mode 100644 keyboards/tronguylabs/m122_3270/info.json create mode 100644 keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c create mode 100644 keyboards/tronguylabs/m122_3270/keymaps/default/readme.md create mode 100644 keyboards/tronguylabs/m122_3270/m122_3270.c create mode 100644 keyboards/tronguylabs/m122_3270/m122_3270.h create mode 100644 keyboards/tronguylabs/m122_3270/readme.md create mode 100644 keyboards/tronguylabs/m122_3270/teensy/config.h create mode 100644 keyboards/tronguylabs/m122_3270/teensy/readme.md create mode 100644 keyboards/tronguylabs/m122_3270/teensy/rules.mk create mode 100644 keyboards/tw40/config.h create mode 100644 keyboards/tw40/info.json create mode 100644 keyboards/tw40/keymaps/default/keymap.c create mode 100644 keyboards/tw40/keymaps/default/readme.md create mode 100644 keyboards/tw40/keymaps/via/keymap.c create mode 100644 keyboards/tw40/keymaps/via/rules.mk create mode 100644 keyboards/tw40/readme.md create mode 100644 keyboards/tw40/rules.mk create mode 100644 keyboards/tw40/tw40.c create mode 100644 keyboards/tw40/tw40.h create mode 100644 keyboards/txuu/config.h create mode 100644 keyboards/txuu/info.json create mode 100644 keyboards/txuu/keymaps/default/keymap.c create mode 100644 keyboards/txuu/keymaps/via/keymap.c create mode 100644 keyboards/txuu/keymaps/via/rules.mk create mode 100644 keyboards/txuu/readme.md create mode 100644 keyboards/txuu/rules.mk create mode 100644 keyboards/txuu/txuu.c create mode 100644 keyboards/txuu/txuu.h create mode 100644 keyboards/undead60m/config.h create mode 100644 keyboards/undead60m/info.json create mode 100644 keyboards/undead60m/keymaps/default/keymap.c create mode 100644 keyboards/undead60m/keymaps/via/keymap.c create mode 100644 keyboards/undead60m/keymaps/via/rules.mk create mode 100644 keyboards/undead60m/readme.md create mode 100644 keyboards/undead60m/rules.mk create mode 100644 keyboards/undead60m/undead60m.c create mode 100644 keyboards/undead60m/undead60m.h create mode 100644 keyboards/ungodly/launch_pad/keymaps/via/keymap.c create mode 100644 keyboards/ungodly/launch_pad/keymaps/via/rules.mk create mode 100644 keyboards/ungodly/launch_pad/keymaps/warzone/keymap.c create mode 100644 keyboards/ungodly/launch_pad/keymaps/warzone/rules.mk create mode 100644 keyboards/unison/keymaps/default/keymap.c create mode 100644 keyboards/unison/keymaps/default/readme.md create mode 100644 keyboards/unison/keymaps/default_music/keymap.c create mode 100644 keyboards/unison/keymaps/default_music/readme.md create mode 100644 keyboards/unison/keymaps/via/config.h create mode 100644 keyboards/unison/keymaps/via/keymap.c create mode 100644 keyboards/unison/keymaps/via/readme.md create mode 100644 keyboards/unison/keymaps/via/rules.mk create mode 100644 keyboards/unison/readme.md create mode 100644 keyboards/unison/rules.mk create mode 100644 keyboards/unison/v04/config.h create mode 100644 keyboards/unison/v04/info.json create mode 100644 keyboards/unison/v04/readme.md create mode 100644 keyboards/unison/v04/rules.mk create mode 100644 keyboards/unison/v04/v04.c create mode 100644 keyboards/unison/v04/v04.h create mode 100644 keyboards/ut472/keymaps/stefanopace/config.h create mode 100644 keyboards/ut472/keymaps/stefanopace/keymap.c create mode 100644 keyboards/ut472/keymaps/stefanopace/readme.md create mode 100644 keyboards/ut472/keymaps/stefanopace/rules.mk create mode 100644 keyboards/v4n4g0rth0n/config.h create mode 100644 keyboards/v4n4g0rth0n/info.json create mode 100644 keyboards/v4n4g0rth0n/readme.md create mode 100644 keyboards/v4n4g0rth0n/v1/config.h create mode 100644 keyboards/v4n4g0rth0n/v1/keymaps/default/keymap.c create mode 100644 keyboards/v4n4g0rth0n/v1/readme.md create mode 100644 keyboards/v4n4g0rth0n/v1/rules.mk create mode 100644 keyboards/v4n4g0rth0n/v2/config.h create mode 100644 keyboards/v4n4g0rth0n/v2/keymaps/default/keymap.c create mode 100644 keyboards/v4n4g0rth0n/v2/readme.md create mode 100644 keyboards/v4n4g0rth0n/v2/rules.mk create mode 100644 keyboards/v4n4g0rth0n/v4n4g0rth0n.c create mode 100644 keyboards/v4n4g0rth0n/v4n4g0rth0n.h create mode 100644 keyboards/viktus/sp_mini/config.h create mode 100644 keyboards/viktus/sp_mini/info.json create mode 100644 keyboards/viktus/sp_mini/keymaps/default/keymap.c create mode 100644 keyboards/viktus/sp_mini/keymaps/via/keymap.c create mode 100644 keyboards/viktus/sp_mini/keymaps/via/rules.mk create mode 100644 keyboards/viktus/sp_mini/readme.md create mode 100644 keyboards/viktus/sp_mini/rules.mk create mode 100644 keyboards/viktus/sp_mini/sp_mini.c create mode 100644 keyboards/viktus/sp_mini/sp_mini.h delete mode 100644 keyboards/vinta/keymaps/default/keymap.c delete mode 100644 keyboards/vinta/readme.md delete mode 100644 keyboards/vinta/rules.mk delete mode 100644 keyboards/vinta/vinta.c delete mode 100644 keyboards/vision_division/Potential Layouts.txt delete mode 100644 keyboards/vision_division/config.h delete mode 100644 keyboards/vision_division/keymaps/default/config.h delete mode 100644 keyboards/vision_division/keymaps/default/keymap.c delete mode 100644 keyboards/vision_division/keymaps/default/readme.md delete mode 100644 keyboards/vision_division/matrix_types.h delete mode 100644 keyboards/vision_division/readme.md delete mode 100644 keyboards/vision_division/rules.mk delete mode 100644 keyboards/vision_division/vision_division.c delete mode 100644 keyboards/vision_division/vision_division.h create mode 100644 keyboards/vitamins_included/keymaps/via/config.h create mode 100644 keyboards/wekey/polaris/config.h create mode 100644 keyboards/wekey/polaris/info.json create mode 100644 keyboards/wekey/polaris/keymaps/default/keymap.c create mode 100644 keyboards/wekey/polaris/keymaps/default/readme.md create mode 100644 keyboards/wekey/polaris/keymaps/via/keymap.c create mode 100644 keyboards/wekey/polaris/keymaps/via/readme.md create mode 100644 keyboards/wekey/polaris/keymaps/via/rules.mk create mode 100644 keyboards/wekey/polaris/polaris.c create mode 100644 keyboards/wekey/polaris/polaris.h create mode 100644 keyboards/wekey/polaris/readme.md create mode 100644 keyboards/wekey/polaris/rules.mk create mode 100644 keyboards/wekey/we27/config.h create mode 100644 keyboards/wekey/we27/encoder_actions.c create mode 100644 keyboards/wekey/we27/encoder_actions.h create mode 100644 keyboards/wekey/we27/info.json create mode 100644 keyboards/wekey/we27/keymaps/default/keymap.c create mode 100644 keyboards/wekey/we27/keymaps/default/readme.md create mode 100644 keyboards/wekey/we27/keymaps/via/keymap.c create mode 100644 keyboards/wekey/we27/keymaps/via/readme.md create mode 100644 keyboards/wekey/we27/keymaps/via/rules.mk create mode 100644 keyboards/wekey/we27/readme.md create mode 100644 keyboards/wekey/we27/rgb_matrix_kb.inc create mode 100644 keyboards/wekey/we27/rules.mk create mode 100644 keyboards/wekey/we27/we27.c create mode 100644 keyboards/wekey/we27/we27.h create mode 100644 keyboards/westfoxtrot/prophet/halconf.h create mode 100644 keyboards/whitefox/keymaps/mattrighetti/keymap.c create mode 100644 keyboards/whitefox/keymaps/mattrighetti/rules.mk create mode 100644 keyboards/wilba_tech/rama_works_kara/config.h create mode 100644 keyboards/wilba_tech/rama_works_kara/info.json create mode 100644 keyboards/wilba_tech/rama_works_kara/keymaps/default/keymap.c create mode 100644 keyboards/wilba_tech/rama_works_kara/keymaps/via/keymap.c create mode 100644 keyboards/wilba_tech/rama_works_kara/keymaps/via/rules.mk create mode 100644 keyboards/wilba_tech/rama_works_kara/rama_works_kara.c create mode 100644 keyboards/wilba_tech/rama_works_kara/rama_works_kara.h create mode 100644 keyboards/wilba_tech/rama_works_kara/readme.md create mode 100644 keyboards/wilba_tech/rama_works_kara/rules.mk create mode 100644 keyboards/wilba_tech/rama_works_m50_ax/config.h create mode 100644 keyboards/wilba_tech/rama_works_m50_ax/info.json create mode 100644 keyboards/wilba_tech/rama_works_m50_ax/keymaps/default/keymap.c create mode 100644 keyboards/wilba_tech/rama_works_m50_ax/keymaps/via/keymap.c create mode 100644 keyboards/wilba_tech/rama_works_m50_ax/keymaps/via/rules.mk create mode 100644 keyboards/wilba_tech/rama_works_m50_ax/rama_works_m50_ax.c create mode 100644 keyboards/wilba_tech/rama_works_m50_ax/rama_works_m50_ax.h create mode 100644 keyboards/wilba_tech/rama_works_m50_ax/readme.md create mode 100644 keyboards/wilba_tech/rama_works_m50_ax/rules.mk create mode 100644 keyboards/wilba_tech/wt60_g2/config.h create mode 100644 keyboards/wilba_tech/wt60_g2/info.json create mode 100644 keyboards/wilba_tech/wt60_g2/keymaps/default/keymap.c create mode 100644 keyboards/wilba_tech/wt60_g2/keymaps/via/keymap.c create mode 100644 keyboards/wilba_tech/wt60_g2/keymaps/via/rules.mk create mode 100644 keyboards/wilba_tech/wt60_g2/readme.md create mode 100644 keyboards/wilba_tech/wt60_g2/rules.mk create mode 100644 keyboards/wilba_tech/wt60_g2/wt60_g2.c create mode 100644 keyboards/wilba_tech/wt60_g2/wt60_g2.h create mode 100644 keyboards/wilba_tech/wt60_h2/config.h create mode 100644 keyboards/wilba_tech/wt60_h2/info.json create mode 100644 keyboards/wilba_tech/wt60_h2/keymaps/default/keymap.c create mode 100644 keyboards/wilba_tech/wt60_h2/keymaps/via/keymap.c create mode 100644 keyboards/wilba_tech/wt60_h2/keymaps/via/rules.mk create mode 100644 keyboards/wilba_tech/wt60_h2/readme.md create mode 100644 keyboards/wilba_tech/wt60_h2/rules.mk create mode 100644 keyboards/wilba_tech/wt60_h2/wt60_h2.c create mode 100644 keyboards/wilba_tech/wt60_h2/wt60_h2.h create mode 100644 keyboards/wilba_tech/wt60_h3/config.h create mode 100644 keyboards/wilba_tech/wt60_h3/info.json create mode 100644 keyboards/wilba_tech/wt60_h3/keymaps/default/keymap.c create mode 100644 keyboards/wilba_tech/wt60_h3/keymaps/via/keymap.c create mode 100644 keyboards/wilba_tech/wt60_h3/keymaps/via/rules.mk create mode 100644 keyboards/wilba_tech/wt60_h3/readme.md create mode 100644 keyboards/wilba_tech/wt60_h3/rules.mk create mode 100644 keyboards/wilba_tech/wt60_h3/wt60_h3.c create mode 100644 keyboards/wilba_tech/wt60_h3/wt60_h3.h create mode 100644 keyboards/wilba_tech/wt65_f/config.h create mode 100644 keyboards/wilba_tech/wt65_f/info.json create mode 100644 keyboards/wilba_tech/wt65_f/keymaps/default/keymap.c create mode 100644 keyboards/wilba_tech/wt65_f/keymaps/via/keymap.c create mode 100644 keyboards/wilba_tech/wt65_f/keymaps/via/rules.mk create mode 100644 keyboards/wilba_tech/wt65_f/readme.md create mode 100644 keyboards/wilba_tech/wt65_f/rules.mk create mode 100644 keyboards/wilba_tech/wt65_f/wt65_f.c create mode 100644 keyboards/wilba_tech/wt65_f/wt65_f.h create mode 100644 keyboards/wilba_tech/wt65_fx/config.h create mode 100644 keyboards/wilba_tech/wt65_fx/info.json create mode 100644 keyboards/wilba_tech/wt65_fx/keymaps/default/keymap.c create mode 100644 keyboards/wilba_tech/wt65_fx/keymaps/via/keymap.c create mode 100644 keyboards/wilba_tech/wt65_fx/keymaps/via/rules.mk create mode 100644 keyboards/wilba_tech/wt65_fx/readme.md create mode 100644 keyboards/wilba_tech/wt65_fx/rules.mk create mode 100644 keyboards/wilba_tech/wt65_fx/wt65_fx.c create mode 100644 keyboards/wilba_tech/wt65_fx/wt65_fx.h create mode 100644 keyboards/wilba_tech/wt65_g2/config.h create mode 100644 keyboards/wilba_tech/wt65_g2/info.json create mode 100644 keyboards/wilba_tech/wt65_g2/keymaps/default/keymap.c create mode 100644 keyboards/wilba_tech/wt65_g2/keymaps/via/keymap.c create mode 100644 keyboards/wilba_tech/wt65_g2/keymaps/via/rules.mk create mode 100644 keyboards/wilba_tech/wt65_g2/readme.md create mode 100644 keyboards/wilba_tech/wt65_g2/rules.mk create mode 100644 keyboards/wilba_tech/wt65_g2/wt65_g2.c create mode 100644 keyboards/wilba_tech/wt65_g2/wt65_g2.h create mode 100644 keyboards/wilba_tech/wt70_jb/config.h create mode 100644 keyboards/wilba_tech/wt70_jb/info.json create mode 100644 keyboards/wilba_tech/wt70_jb/keymaps/default/keymap.c create mode 100644 keyboards/wilba_tech/wt70_jb/keymaps/via/keymap.c create mode 100644 keyboards/wilba_tech/wt70_jb/keymaps/via/rules.mk create mode 100644 keyboards/wilba_tech/wt70_jb/readme.md create mode 100644 keyboards/wilba_tech/wt70_jb/rules.mk create mode 100644 keyboards/wilba_tech/wt70_jb/wt70_jb.c create mode 100644 keyboards/wilba_tech/wt70_jb/wt70_jb.h rename keyboards/wilba_tech/zeal60/keymaps/tusing/{Makefile => rules.mk} (100%) create mode 100644 keyboards/wings42/config.h create mode 100644 keyboards/wings42/readme.md create mode 100644 keyboards/wings42/rev1/config.h create mode 100644 keyboards/wings42/rev1/keymaps/default/keymap.c create mode 100644 keyboards/wings42/rev1/keymaps/default/readme.md create mode 100644 keyboards/wings42/rev1/keymaps/via/keymap.c create mode 100644 keyboards/wings42/rev1/keymaps/via/rules.mk create mode 100644 keyboards/wings42/rev1/readme.md create mode 100644 keyboards/wings42/rev1/rev1.c create mode 100644 keyboards/wings42/rev1/rev1.h create mode 100644 keyboards/wings42/rev1/rules.mk create mode 100644 keyboards/wings42/rev1_extkeys/config.h create mode 100644 keyboards/wings42/rev1_extkeys/keymaps/default/keymap.c create mode 100644 keyboards/wings42/rev1_extkeys/keymaps/default/readme.md create mode 100644 keyboards/wings42/rev1_extkeys/keymaps/via/keymap.c create mode 100644 keyboards/wings42/rev1_extkeys/keymaps/via/rules.mk create mode 100644 keyboards/wings42/rev1_extkeys/readme.md create mode 100644 keyboards/wings42/rev1_extkeys/rev1_extkeys.c create mode 100644 keyboards/wings42/rev1_extkeys/rev1_extkeys.h create mode 100644 keyboards/wings42/rev1_extkeys/rules.mk create mode 100644 keyboards/wings42/rules.mk create mode 100644 keyboards/wings42/wings42.c create mode 100644 keyboards/wings42/wings42.h create mode 100644 keyboards/winkeyless/bface/keymaps/p3lim/rules.mk create mode 100644 keyboards/work_louder/encoder_actions.c create mode 100644 keyboards/work_louder/encoder_actions.h create mode 100644 keyboards/work_louder/loop/config.h create mode 100644 keyboards/work_louder/loop/info.json create mode 100644 keyboards/work_louder/loop/keymaps/default/keymap.c create mode 100644 keyboards/work_louder/loop/keymaps/default/readme.md create mode 100644 keyboards/work_louder/loop/keymaps/via/keymap.c create mode 100644 keyboards/work_louder/loop/keymaps/via/rules.mk create mode 100644 keyboards/work_louder/loop/loop.c create mode 100644 keyboards/work_louder/loop/loop.h create mode 100644 keyboards/work_louder/loop/post_config.h create mode 100644 keyboards/work_louder/loop/readme.md create mode 100644 keyboards/work_louder/loop/rules.mk create mode 100644 keyboards/work_louder/nano/config.h create mode 100644 keyboards/work_louder/nano/info.json create mode 100644 keyboards/work_louder/nano/keymaps/default/keymap.c create mode 100644 keyboards/work_louder/nano/keymaps/default/readme.md create mode 100644 keyboards/work_louder/nano/keymaps/via/keymap.c create mode 100644 keyboards/work_louder/nano/keymaps/via/rules.mk create mode 100644 keyboards/work_louder/nano/nano.c create mode 100644 keyboards/work_louder/nano/nano.h create mode 100644 keyboards/work_louder/nano/post_config.h create mode 100644 keyboards/work_louder/nano/readme.md create mode 100644 keyboards/work_louder/nano/rules.mk create mode 100644 keyboards/work_louder/rgb_functions.c create mode 100644 keyboards/work_louder/rgb_functions.h create mode 100644 keyboards/work_louder/work_board/config.h create mode 100644 keyboards/work_louder/work_board/info.json create mode 100644 keyboards/work_louder/work_board/keymaps/default/keymap.c create mode 100644 keyboards/work_louder/work_board/keymaps/default/readme.md rename keyboards/{handwired/not_so_minidox/keymaps/mtdjr => work_louder/work_board/keymaps/default}/rules.mk (100%) create mode 100644 keyboards/work_louder/work_board/keymaps/via/keymap.c create mode 100644 keyboards/work_louder/work_board/keymaps/via/rules.mk create mode 100644 keyboards/work_louder/work_board/post_config.h create mode 100644 keyboards/work_louder/work_board/readme.md create mode 100644 keyboards/work_louder/work_board/rules.mk create mode 100644 keyboards/work_louder/work_board/work_board.c create mode 100644 keyboards/work_louder/work_board/work_board.h create mode 100644 keyboards/wuque/ikki68_aurora/config.h create mode 100644 keyboards/wuque/ikki68_aurora/ikki68_aurora.c create mode 100644 keyboards/wuque/ikki68_aurora/ikki68_aurora.h create mode 100644 keyboards/wuque/ikki68_aurora/info.json create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_ansi/keymap.c create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_ansi/readme.md create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_ansi/rules.mk create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_iso/keymap.c create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_iso/readme.md create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_iso/rules.mk create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_bs/keymap.c create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_bs/readme.md create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_bs/rules.mk create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_lshift/keymap.c create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_lshift/readme.md create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_lshift/rules.mk create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_rshift/keymap.c create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_rshift/readme.md create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_rshift/rules.mk create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_space/keymap.c create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_space/readme.md create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/68_split_space/rules.mk create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/default/keymap.c create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/default/readme.md create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/via/keymap.c create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/via/readme.md create mode 100644 keyboards/wuque/ikki68_aurora/keymaps/via/rules.mk create mode 100644 keyboards/wuque/ikki68_aurora/readme.md create mode 100644 keyboards/wuque/ikki68_aurora/rules.mk create mode 100644 keyboards/wuque/mammoth20x/config.h create mode 100644 keyboards/wuque/mammoth20x/info.json create mode 100644 keyboards/wuque/mammoth20x/keymaps/default/keymap.c create mode 100644 keyboards/wuque/mammoth20x/keymaps/default/readme.md create mode 100644 keyboards/wuque/mammoth20x/keymaps/via/keymap.c create mode 100644 keyboards/wuque/mammoth20x/keymaps/via/readme.md create mode 100644 keyboards/wuque/mammoth20x/keymaps/via/rules.mk create mode 100644 keyboards/wuque/mammoth20x/mammoth20x.c create mode 100644 keyboards/wuque/mammoth20x/mammoth20x.h create mode 100644 keyboards/wuque/mammoth20x/readme.md create mode 100644 keyboards/wuque/mammoth20x/rules.mk create mode 100644 keyboards/wuque/serneity65/config.h create mode 100644 keyboards/wuque/serneity65/info.json create mode 100644 keyboards/wuque/serneity65/keymaps/65_ansi/keymap.c create mode 100644 keyboards/wuque/serneity65/keymaps/65_ansi/readme.md create mode 100644 keyboards/wuque/serneity65/keymaps/65_split_bs/keymap.c create mode 100644 keyboards/wuque/serneity65/keymaps/65_split_bs/readme.md create mode 100644 keyboards/wuque/serneity65/keymaps/65_split_lshift/keymap.c create mode 100644 keyboards/wuque/serneity65/keymaps/65_split_lshift/readme.md create mode 100644 keyboards/wuque/serneity65/keymaps/65_split_space/keymap.c create mode 100644 keyboards/wuque/serneity65/keymaps/65_split_space/readme.md create mode 100644 keyboards/wuque/serneity65/keymaps/default/keymap.c create mode 100644 keyboards/wuque/serneity65/keymaps/default/readme.md create mode 100644 keyboards/wuque/serneity65/keymaps/via/keymap.c create mode 100644 keyboards/wuque/serneity65/keymaps/via/readme.md create mode 100644 keyboards/wuque/serneity65/keymaps/via/rules.mk create mode 100644 keyboards/wuque/serneity65/readme.md create mode 100644 keyboards/wuque/serneity65/rules.mk create mode 100644 keyboards/wuque/serneity65/serneity65.c create mode 100644 keyboards/wuque/serneity65/serneity65.h create mode 100644 keyboards/xbows/knight/keymaps/default/config.h create mode 100644 keyboards/xbows/knight/keymaps/via/config.h create mode 100644 keyboards/xbows/knight/keymaps/via/keymap.c create mode 100644 keyboards/xbows/knight/keymaps/via/rules.mk create mode 100644 keyboards/xbows/knight_plus/config.h create mode 100644 keyboards/xbows/knight_plus/info.json create mode 100644 keyboards/xbows/knight_plus/keymaps/default/config.h create mode 100644 keyboards/xbows/knight_plus/keymaps/default/keymap.c create mode 100644 keyboards/xbows/knight_plus/keymaps/via/config.h create mode 100644 keyboards/xbows/knight_plus/keymaps/via/keymap.c create mode 100644 keyboards/xbows/knight_plus/keymaps/via/rules.mk create mode 100644 keyboards/xbows/knight_plus/knight_plus.c create mode 100644 keyboards/xbows/knight_plus/knight_plus.h create mode 100644 keyboards/xbows/knight_plus/readme.md create mode 100644 keyboards/xbows/knight_plus/rules.mk create mode 100644 keyboards/xbows/numpad/config.h create mode 100644 keyboards/xbows/numpad/info.json create mode 100644 keyboards/xbows/numpad/keymaps/default/config.h create mode 100644 keyboards/xbows/numpad/keymaps/default/keymap.c create mode 100644 keyboards/xbows/numpad/keymaps/via/config.h create mode 100644 keyboards/xbows/numpad/keymaps/via/keymap.c create mode 100644 keyboards/xbows/numpad/keymaps/via/rules.mk create mode 100644 keyboards/xbows/numpad/numpad.c create mode 100644 keyboards/xbows/numpad/numpad.h create mode 100644 keyboards/xbows/numpad/readme.md create mode 100644 keyboards/xbows/numpad/rules.mk create mode 100644 keyboards/xbows/ranger/config.h create mode 100644 keyboards/xbows/ranger/info.json create mode 100644 keyboards/xbows/ranger/keymaps/default/config.h create mode 100644 keyboards/xbows/ranger/keymaps/default/keymap.c create mode 100644 keyboards/xbows/ranger/keymaps/via/config.h create mode 100644 keyboards/xbows/ranger/keymaps/via/keymap.c create mode 100644 keyboards/xbows/ranger/keymaps/via/rules.mk create mode 100644 keyboards/xbows/ranger/ranger.c create mode 100644 keyboards/xbows/ranger/ranger.h create mode 100644 keyboards/xbows/ranger/readme.md create mode 100644 keyboards/xbows/ranger/rules.mk delete mode 100644 keyboards/xd002/keymaps/multilayer_rgb/keymap.c delete mode 100644 keyboards/xd002/keymaps/multilayer_rgb/rgblite.h delete mode 100644 keyboards/xd002/keymaps/rgb/rules.mk delete mode 100644 keyboards/xd002/keymaps/rgb_lite/keymap.c delete mode 100644 keyboards/xd002/keymaps/rgb_lite/rgblite.h delete mode 100644 keyboards/xd002/keymaps/tap_dance/config.h delete mode 100644 keyboards/xd002/readme.md delete mode 100644 keyboards/xd002/rules.mk delete mode 100644 keyboards/xd004/keymaps/default/keymap.c delete mode 100644 keyboards/xd004/readme.md delete mode 100644 keyboards/xd004/v1/rules.mk delete mode 100644 keyboards/xd004/xd004.c delete mode 100644 keyboards/xd60/keymaps/birkir/keymap.c delete mode 100644 keyboards/xd60/keymaps/default/keymap.c delete mode 100644 keyboards/xd60/keymaps/iso/keymap.c delete mode 100755 keyboards/xd60/keymaps/shura30/keymap.c delete mode 100755 keyboards/xd60/keymaps/shura30/readme.md delete mode 100644 keyboards/xd60/readme.md delete mode 100644 keyboards/xd60/rev2/rules.mk delete mode 100644 keyboards/xd60/rev3/rules.mk delete mode 100644 keyboards/xd68/readme.md delete mode 100644 keyboards/xd68/rules.mk delete mode 100644 keyboards/xd75/keymaps/4sstylz/rules.mk delete mode 100644 keyboards/xd75/keymaps/arpinfidel/keymap.c delete mode 100644 keyboards/xd75/keymaps/arpinfidel/rules.mk delete mode 100644 keyboards/xd75/keymaps/billypython/rules.mk delete mode 100644 keyboards/xd75/keymaps/buzzlighter1/rules.mk delete mode 100644 keyboards/xd75/keymaps/c4software_bepo/keymap.c delete mode 100644 keyboards/xd75/keymaps/cbbrowne/keymap.c delete mode 100644 keyboards/xd75/keymaps/cbbrowne/rules.mk delete mode 100644 keyboards/xd75/keymaps/davidrambo/keymap.c delete mode 100644 keyboards/xd75/keymaps/davidrambo/readme.md delete mode 100644 keyboards/xd75/keymaps/developper_bepo/keymap.c delete mode 100644 keyboards/xd75/keymaps/fabian/rules.mk delete mode 100644 keyboards/xd75/keymaps/french/keymap.c delete mode 100644 keyboards/xd75/keymaps/germanized/config.h delete mode 100644 keyboards/xd75/keymaps/germanized/keymap.c delete mode 100644 keyboards/xd75/keymaps/germanized/rules.mk delete mode 100644 keyboards/xd75/keymaps/markus/keymap.c delete mode 100644 keyboards/xd75/keymaps/markus/rules.mk delete mode 100644 keyboards/xd75/keymaps/pitty/keymap.c delete mode 100644 keyboards/xd75/keymaps/revok75/rules.mk delete mode 100644 keyboards/xd75/keymaps/scheiklp/rules.mk delete mode 100644 keyboards/xd75/keymaps/skewwhiffy/keymap.c delete mode 100644 keyboards/xd75/keymaps/tdl-jturner/keymap.c delete mode 100644 keyboards/xd75/readme.md delete mode 100644 keyboards/xd75/rules.mk delete mode 100644 keyboards/xd84/config.h delete mode 100644 keyboards/xd84/readme.md delete mode 100644 keyboards/xd84/rules.mk delete mode 100644 keyboards/xd84pro/readme.md delete mode 100644 keyboards/xd84pro/rules.mk delete mode 100644 keyboards/xd87/config.h delete mode 100644 keyboards/xd87/keymaps/default/keymap.c delete mode 100755 keyboards/xd87/keymaps/default_underglow/keymap.c delete mode 100755 keyboards/xd87/keymaps/default_underglow/rules.mk delete mode 100755 keyboards/xd87/keymaps/mac_underglow/rules.mk delete mode 100644 keyboards/xd87/readme.md delete mode 100644 keyboards/xd87/rules.mk delete mode 100644 keyboards/xd96/config.h delete mode 100644 keyboards/xd96/readme.md delete mode 100644 keyboards/xd96/rules.mk create mode 100644 keyboards/xelus/akis/akis.c create mode 100644 keyboards/xelus/akis/akis.h create mode 100644 keyboards/xelus/akis/config.h create mode 100644 keyboards/xelus/akis/info.json create mode 100644 keyboards/xelus/akis/keymaps/default/keymap.c create mode 100644 keyboards/xelus/akis/keymaps/via/keymap.c create mode 100644 keyboards/xelus/akis/keymaps/via/rules.mk create mode 100644 keyboards/xelus/akis/readme.md create mode 100644 keyboards/xelus/akis/rules.mk create mode 100644 keyboards/xelus/dharma/config.h create mode 100644 keyboards/xelus/dharma/dharma.c create mode 100644 keyboards/xelus/dharma/dharma.h create mode 100644 keyboards/xelus/dharma/info.json create mode 100644 keyboards/xelus/dharma/keymaps/default/config.h create mode 100644 keyboards/xelus/dharma/keymaps/default/keymap.c create mode 100644 keyboards/xelus/dharma/keymaps/default/readme.md create mode 100644 keyboards/xelus/dharma/keymaps/via/config.h create mode 100644 keyboards/xelus/dharma/keymaps/via/keymap.c create mode 100644 keyboards/xelus/dharma/keymaps/via/readme.md create mode 100644 keyboards/xelus/dharma/keymaps/via/rules.mk create mode 100644 keyboards/xelus/dharma/readme.md create mode 100644 keyboards/xelus/dharma/rules.mk create mode 100644 keyboards/xelus/ninjin/config.h create mode 100644 keyboards/xelus/ninjin/halconf.h create mode 100644 keyboards/xelus/ninjin/info.json create mode 100644 keyboards/xelus/ninjin/keymaps/default/keymap.c create mode 100644 keyboards/xelus/ninjin/keymaps/via/keymap.c create mode 100644 keyboards/xelus/ninjin/keymaps/via/rules.mk create mode 100644 keyboards/xelus/ninjin/mcuconf.h create mode 100644 keyboards/xelus/ninjin/ninjin.c create mode 100644 keyboards/xelus/ninjin/ninjin.h create mode 100644 keyboards/xelus/ninjin/readme.md create mode 100644 keyboards/xelus/ninjin/rules.mk create mode 100644 keyboards/xelus/pachi/mini_32u4/config.h create mode 100644 keyboards/xelus/pachi/mini_32u4/keymaps/default/config.h create mode 100644 keyboards/xelus/pachi/mini_32u4/keymaps/default/keymap.c create mode 100644 keyboards/xelus/pachi/mini_32u4/keymaps/default/readme.md create mode 100644 keyboards/xelus/pachi/mini_32u4/keymaps/via/config.h create mode 100644 keyboards/xelus/pachi/mini_32u4/keymaps/via/keymap.c create mode 100644 keyboards/xelus/pachi/mini_32u4/keymaps/via/readme.md create mode 100644 keyboards/xelus/pachi/mini_32u4/keymaps/via/rules.mk create mode 100644 keyboards/xelus/pachi/mini_32u4/mini_32u4.c create mode 100644 keyboards/xelus/pachi/mini_32u4/mini_32u4.h create mode 100644 keyboards/xelus/pachi/mini_32u4/readme.md create mode 100644 keyboards/xelus/pachi/mini_32u4/rules.mk create mode 100644 keyboards/xelus/pachi/readme.md create mode 100644 keyboards/xelus/pachi/rev1/config.h create mode 100644 keyboards/xelus/pachi/rev1/keymaps/default/config.h create mode 100644 keyboards/xelus/pachi/rev1/keymaps/default/keymap.c create mode 100644 keyboards/xelus/pachi/rev1/keymaps/default/readme.md create mode 100644 keyboards/xelus/pachi/rev1/keymaps/via/config.h create mode 100644 keyboards/xelus/pachi/rev1/keymaps/via/keymap.c create mode 100644 keyboards/xelus/pachi/rev1/keymaps/via/readme.md create mode 100644 keyboards/xelus/pachi/rev1/keymaps/via/rules.mk create mode 100644 keyboards/xelus/pachi/rev1/readme.md create mode 100644 keyboards/xelus/pachi/rev1/rev1.c create mode 100644 keyboards/xelus/pachi/rev1/rev1.h create mode 100644 keyboards/xelus/pachi/rev1/rules.mk create mode 100644 keyboards/xelus/pachi/rgb/config.h create mode 100644 keyboards/xelus/pachi/rgb/halconf.h create mode 100644 keyboards/xelus/pachi/rgb/keymaps/default/config.h create mode 100644 keyboards/xelus/pachi/rgb/keymaps/default/keymap.c create mode 100644 keyboards/xelus/pachi/rgb/keymaps/default/readme.md create mode 100644 keyboards/xelus/pachi/rgb/keymaps/via/config.h create mode 100644 keyboards/xelus/pachi/rgb/keymaps/via/keymap.c create mode 100644 keyboards/xelus/pachi/rgb/keymaps/via/readme.md create mode 100644 keyboards/xelus/pachi/rgb/keymaps/via/rules.mk create mode 100644 keyboards/xelus/pachi/rgb/mcuconf.h create mode 100644 keyboards/xelus/pachi/rgb/readme.md create mode 100644 keyboards/xelus/pachi/rgb/rgb.c create mode 100644 keyboards/xelus/pachi/rgb/rgb.h create mode 100644 keyboards/xelus/pachi/rgb/rules.mk create mode 100644 keyboards/xelus/rs60/config.h create mode 100644 keyboards/xelus/rs60/info.json create mode 100644 keyboards/xelus/rs60/keymaps/default/config.h create mode 100644 keyboards/xelus/rs60/keymaps/default/keymap.c create mode 100644 keyboards/xelus/rs60/keymaps/via/config.h create mode 100644 keyboards/xelus/rs60/keymaps/via/keymap.c create mode 100644 keyboards/xelus/rs60/keymaps/via/rules.mk create mode 100644 keyboards/xelus/rs60/readme.md create mode 100644 keyboards/xelus/rs60/rs60.c create mode 100644 keyboards/xelus/rs60/rs60.h create mode 100644 keyboards/xelus/rs60/rules.mk create mode 100644 keyboards/xelus/valor/rev2/config.h create mode 100644 keyboards/xelus/valor/rev2/halconf.h create mode 100644 keyboards/xelus/valor/rev2/info.json create mode 100644 keyboards/xelus/valor/rev2/keymaps/default/config.h create mode 100644 keyboards/xelus/valor/rev2/keymaps/default/keymap.c create mode 100644 keyboards/xelus/valor/rev2/keymaps/default/readme.md create mode 100644 keyboards/xelus/valor/rev2/keymaps/via/config.h create mode 100644 keyboards/xelus/valor/rev2/keymaps/via/keymap.c create mode 100644 keyboards/xelus/valor/rev2/keymaps/via/readme.md create mode 100644 keyboards/xelus/valor/rev2/keymaps/via/rules.mk create mode 100644 keyboards/xelus/valor/rev2/mcuconf.h create mode 100644 keyboards/xelus/valor/rev2/readme.md create mode 100644 keyboards/xelus/valor/rev2/rev2.c create mode 100644 keyboards/xelus/valor/rev2/rev2.h create mode 100644 keyboards/xelus/valor/rev2/rgb_matrix_kb.inc create mode 100644 keyboards/xelus/valor/rev2/rules.mk create mode 100644 keyboards/xelus/valor_frl_tkl/info.json create mode 100644 keyboards/xiudi/xd002/.noci rename keyboards/{ => xiudi}/xd002/config.h (100%) rename keyboards/{ => xiudi}/xd002/info.json (100%) rename keyboards/{ => xiudi}/xd002/keymaps/default/keymap.c (100%) rename keyboards/{ => xiudi}/xd002/keymaps/multilayer_rgb/config.h (100%) create mode 100644 keyboards/xiudi/xd002/keymaps/multilayer_rgb/keymap.c create mode 100644 keyboards/xiudi/xd002/keymaps/multilayer_rgb/rgblite.h rename keyboards/{ => xiudi}/xd002/keymaps/multilayer_rgb/rules.mk (100%) rename keyboards/{ => xiudi}/xd002/keymaps/rgb/keymap.c (100%) rename keyboards/{keebio/viterbi/keymaps/dwallace => xiudi/xd002/keymaps/rgb}/rules.mk (100%) create mode 100644 keyboards/xiudi/xd002/keymaps/rgb_lite/keymap.c create mode 100644 keyboards/xiudi/xd002/keymaps/rgb_lite/rgblite.h rename keyboards/{ => xiudi}/xd002/keymaps/rgb_lite/rules.mk (100%) rename keyboards/{anavi/macropad2 => xiudi/xd002}/keymaps/tap_dance/config.h (100%) rename keyboards/{ => xiudi}/xd002/keymaps/tap_dance/keymap.c (100%) rename keyboards/{ => xiudi}/xd002/keymaps/tap_dance/rules.mk (100%) rename keyboards/{ => xiudi}/xd002/keymaps/volume/keymap.c (100%) rename keyboards/{ => xiudi}/xd002/keymaps/volume/rules.mk (100%) create mode 100644 keyboards/xiudi/xd002/readme.md create mode 100644 keyboards/xiudi/xd002/rules.mk rename keyboards/{ => xiudi}/xd002/xd002.c (100%) rename keyboards/{ => xiudi}/xd002/xd002.h (100%) rename keyboards/{ => xiudi}/xd004/info.json (100%) create mode 100644 keyboards/xiudi/xd004/keymaps/default/keymap.c rename keyboards/{ => xiudi}/xd004/keymaps/default/readme.md (100%) create mode 100644 keyboards/xiudi/xd004/keymaps/narze/keymap.c create mode 100644 keyboards/xiudi/xd004/keymaps/narze/readme.md rename keyboards/{ => xiudi}/xd004/keymaps/system_and_media/keymap.c (100%) rename keyboards/{ => xiudi}/xd004/keymaps/system_and_media/readme.md (100%) create mode 100644 keyboards/xiudi/xd004/readme.md rename keyboards/{ => xiudi}/xd004/v1/config.h (100%) create mode 100644 keyboards/xiudi/xd004/v1/rules.mk create mode 100644 keyboards/xiudi/xd004/xd004.c rename keyboards/{ => xiudi}/xd004/xd004.h (100%) rename keyboards/{ => xiudi}/xd60/info.json (100%) rename keyboards/{ => xiudi}/xd60/keymaps/Jos/README.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/Jos/config.h (100%) rename keyboards/{ => xiudi}/xd60/keymaps/Jos/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/Jos/rules.mk (100%) create mode 100644 keyboards/xiudi/xd60/keymaps/birkir/keymap.c rename keyboards/{ => xiudi}/xd60/keymaps/birkir/readme.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/cheese/README.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/cheese/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/crd_ansi/README.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/crd_ansi/keymap.c (100%) create mode 100644 keyboards/xiudi/xd60/keymaps/default/keymap.c rename keyboards/{ => xiudi}/xd60/keymaps/default/readme.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/edulpn/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/edulpn/readme.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/edulpn64/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/edulpn64/readme.md (100%) rename keyboards/{xd60/keymaps/shura30 => xiudi/xd60/keymaps/fvolpe83}/config.h (100%) create mode 100755 keyboards/xiudi/xd60/keymaps/fvolpe83/keymap.c create mode 100755 keyboards/xiudi/xd60/keymaps/fvolpe83/readme.md create mode 100755 keyboards/xiudi/xd60/keymaps/fvolpe83/rules.mk create mode 100644 keyboards/xiudi/xd60/keymaps/iso/keymap.c rename keyboards/{ => xiudi}/xd60/keymaps/iso/readme.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/kmontag42/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/kmontag42/readme.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/kmontag42/rules.mk (100%) rename keyboards/{ => xiudi}/xd60/keymaps/krusli/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/krusli/readme.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/melka/.gitignore (100%) rename keyboards/{ => xiudi}/xd60/keymaps/melka/config.h (100%) rename keyboards/{ => xiudi}/xd60/keymaps/melka/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/melka/passwd_template.h (100%) rename keyboards/{ => xiudi}/xd60/keymaps/melka/readme.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/petesmom/README.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/petesmom/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/rooski/instructions.txt (100%) rename keyboards/{ => xiudi}/xd60/keymaps/rooski/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/semicolonsnet/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/semicolonsnet/readme.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/split_bksp_arrows/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/split_bksp_arrows/readme.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/stanleylai/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/styr/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/styr/readme.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/supercoffee/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/supercoffee/readme.md (100%) create mode 100644 keyboards/xiudi/xd60/keymaps/suryanisaac/README.md create mode 100644 keyboards/xiudi/xd60/keymaps/suryanisaac/keymap.c rename keyboards/{ => xiudi}/xd60/keymaps/via/keymap.c (100%) rename keyboards/{ => xiudi}/xd60/keymaps/via/readme.md (100%) create mode 100644 keyboards/xiudi/xd60/keymaps/via/rules.mk rename keyboards/{ => xiudi}/xd60/keymaps/yuuki/README.md (100%) rename keyboards/{ => xiudi}/xd60/keymaps/yuuki/keymap.c (100%) create mode 100644 keyboards/xiudi/xd60/readme.md create mode 100644 keyboards/xiudi/xd60/rev2/.noci rename keyboards/{ => xiudi}/xd60/rev2/config.h (100%) create mode 100644 keyboards/xiudi/xd60/rev2/rules.mk rename keyboards/{ => xiudi}/xd60/rev3/config.h (100%) create mode 100644 keyboards/xiudi/xd60/rev3/rules.mk rename keyboards/{ => xiudi}/xd60/xd60.c (100%) rename keyboards/{ => xiudi}/xd60/xd60.h (100%) rename keyboards/{ => xiudi}/xd68/config.h (100%) rename keyboards/{ => xiudi}/xd68/info.json (100%) rename keyboards/{ => xiudi}/xd68/keymaps/default/keymap.c (100%) rename keyboards/{ => xiudi}/xd68/keymaps/default/readme.md (100%) rename keyboards/{ => xiudi}/xd68/keymaps/default_iso/keymap.c (100%) rename keyboards/{ => xiudi}/xd68/keymaps/default_iso/readme.md (100%) rename keyboards/{ => xiudi}/xd68/keymaps/via/keymap.c (100%) rename keyboards/{ => xiudi}/xd68/keymaps/via/readme.md (100%) create mode 100644 keyboards/xiudi/xd68/keymaps/via/rules.mk create mode 100644 keyboards/xiudi/xd68/readme.md create mode 100644 keyboards/xiudi/xd68/rules.mk rename keyboards/{ => xiudi}/xd68/xd68.c (100%) rename keyboards/{ => xiudi}/xd68/xd68.h (100%) rename keyboards/{ => xiudi}/xd75/config.h (100%) rename keyboards/{ => xiudi}/xd75/info.json (100%) rename keyboards/{ => xiudi}/xd75/keymaps/4sstylz/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/4sstylz/keycodes.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/4sstylz/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/4sstylz/leds.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/4sstylz/readme.md (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/4sstylz/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/adi/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/adi/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/adi/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/adi/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/arpinfidel/config.h (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/arpinfidel/keymap.c rename keyboards/{ => xiudi}/xd75/keymaps/arpinfidel/readme.md (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/arpinfidel/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/atomic_style/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/atomic_style/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/atomic_style/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/atomic_style/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/atomic_style_jp/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/atomic_style_jp/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bbaserdem/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bbaserdem/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bbaserdem/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bbaserdem/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/billypython/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/billypython/keymap.c (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/billypython/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/boy_314/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/boy_314/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/boy_314/readme.md (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/boy_314/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/bramver/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bramver/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bramver/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bramver/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bulbizarre/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bulbizarre/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bulbizarre/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/bulbizarre/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/buzzlighter1/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/buzzlighter1/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/buzzlighter1/readme.md (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/buzzlighter1/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/c4software_bepo/config.h (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/c4software_bepo/keymap.c rename keyboards/{ => xiudi}/xd75/keymaps/c4software_bepo/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/c4software_bepo/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/cbbrowne/config.h (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/cbbrowne/keymap.c rename keyboards/{ => xiudi}/xd75/keymaps/cbbrowne/readme.md (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/cbbrowne/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/clanghans/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/clanghans/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/clanghans/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/colinta/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/colinta/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/colinta/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/daniel/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/daniel/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/davidrambo/config.h (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/davidrambo/keymap.c create mode 100644 keyboards/xiudi/xd75/keymaps/davidrambo/readme.md rename keyboards/{ => xiudi}/xd75/keymaps/davidrambo/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/default/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/default/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/developper_bepo/config.h (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/developper_bepo/keymap.c rename keyboards/{ => xiudi}/xd75/keymaps/developper_bepo/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/developper_bepo/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/dyn_macro_tap_dance/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/dyn_macro_tap_dance/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/dyn_macro_tap_dance/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/dyn_macro_tap_dance/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/emilyh/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/emilyh/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/emilyh/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/emilyh/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/ericgebhart/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/ericgebhart/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/ericgebhart/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/ericgebhart/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/fabian/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/fabian/keymap.c (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/fabian/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/french/config.h (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/french/keymap.c rename keyboards/{ => xiudi}/xd75/keymaps/french/keymap_french.c (97%) rename keyboards/{ => xiudi}/xd75/keymaps/french/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/french/rules.mk (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/germanized/config.h create mode 100644 keyboards/xiudi/xd75/keymaps/germanized/keymap.c rename keyboards/{ => xiudi}/xd75/keymaps/germanized/readme.md (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/germanized/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/hybrid/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/hybrid/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/hybrid/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/hybrid/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/jarred/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/jarred/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/kim-kim-xd73/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/kim-kim-xd73/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/kim-kim-xd73/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/kim-kim/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/kim-kim/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/kim-kim/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/kloki/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/kloki/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/kloki/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/kloki/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/markus/config.h (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/markus/keymap.c rename keyboards/{ => xiudi}/xd75/keymaps/markus/readme.md (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/markus/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/msiu/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/msiu/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/msiu/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/mtdjr/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/mtdjr/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/mtdjr/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/mtdjr/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/neothefox/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/neothefox/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/odyssey/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/odyssey/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/odyssey/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/odyssey/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/pitty/config.h (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/pitty/keymap.c rename keyboards/{ => xiudi}/xd75/keymaps/pitty/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/pitty/rules.mk (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/replicajunction/config.h create mode 100644 keyboards/xiudi/xd75/keymaps/replicajunction/keymap.c create mode 100644 keyboards/xiudi/xd75/keymaps/replicajunction/readme.md create mode 100644 keyboards/xiudi/xd75/keymaps/replicajunction/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/revok75/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/revok75/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/revok75/readme.md (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/revok75/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/scheiklp/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/scheiklp/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/scheiklp/readme.md (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/scheiklp/rules.mk create mode 100644 keyboards/xiudi/xd75/keymaps/skewwhiffy/keymap.c rename keyboards/{ => xiudi}/xd75/keymaps/skewwhiffy/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/skewwhiffy/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/tdl-jturner/config.h (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/tdl-jturner/keymap.c rename keyboards/{ => xiudi}/xd75/keymaps/tdl-jturner/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/tdl-jturner/rules.mk (100%) rename keyboards/{ => xiudi}/xd75/keymaps/tomswartz07/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/via/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/via/readme.md (100%) create mode 100644 keyboards/xiudi/xd75/keymaps/via/rules.mk rename keyboards/{ => xiudi}/xd75/keymaps/xo/config.h (100%) rename keyboards/{ => xiudi}/xd75/keymaps/xo/keymap.c (100%) rename keyboards/{ => xiudi}/xd75/keymaps/xo/readme.md (100%) rename keyboards/{ => xiudi}/xd75/keymaps/xo/rules.mk (100%) create mode 100644 keyboards/xiudi/xd75/readme.md create mode 100644 keyboards/xiudi/xd75/rules.mk rename keyboards/{ => xiudi}/xd75/xd75.c (100%) rename keyboards/{ => xiudi}/xd75/xd75.h (100%) create mode 100644 keyboards/xiudi/xd84/config.h rename keyboards/{ => xiudi}/xd84/dev.md (100%) rename keyboards/{ => xiudi}/xd84/info.json (100%) rename keyboards/{ => xiudi}/xd84/keymaps/default/keymap.c (100%) rename keyboards/{ => xiudi}/xd84/keymaps/default_iso/keymap.c (100%) rename keyboards/{ => xiudi}/xd84/keymaps/via/keymap.c (100%) rename keyboards/{ => xiudi}/xd84/keymaps/via/readme.md (100%) create mode 100644 keyboards/xiudi/xd84/keymaps/via/rules.mk rename keyboards/{ => xiudi}/xd84/matrix.c (100%) create mode 100644 keyboards/xiudi/xd84/readme.md create mode 100644 keyboards/xiudi/xd84/rules.mk rename keyboards/{ => xiudi}/xd84/xd84.c (100%) rename keyboards/{ => xiudi}/xd84/xd84.h (100%) rename keyboards/{ => xiudi}/xd84pro/config.h (100%) rename keyboards/{ => xiudi}/xd84pro/dev.md (100%) rename keyboards/{ => xiudi}/xd84pro/info.json (100%) rename keyboards/{ => xiudi}/xd84pro/keymaps/default/keymap.c (100%) rename keyboards/{ => xiudi}/xd84pro/keymaps/default_iso/keymap.c (100%) rename keyboards/{ => xiudi}/xd84pro/keymaps/via/keymap.c (100%) rename keyboards/{ => xiudi}/xd84pro/keymaps/via/readme.md (100%) create mode 100644 keyboards/xiudi/xd84pro/keymaps/via/rules.mk create mode 100644 keyboards/xiudi/xd84pro/readme.md create mode 100644 keyboards/xiudi/xd84pro/rules.mk rename keyboards/{ => xiudi}/xd84pro/xd84pro.c (100%) rename keyboards/{ => xiudi}/xd84pro/xd84pro.h (100%) create mode 100644 keyboards/xiudi/xd87/config.h rename keyboards/{ => xiudi}/xd87/info.json (100%) rename keyboards/{ => xiudi}/xd87/keymaps/default/config.h (100%) create mode 100644 keyboards/xiudi/xd87/keymaps/default/keymap.c rename keyboards/{ => xiudi}/xd87/keymaps/default/readme.md (100%) rename keyboards/{ => xiudi}/xd87/keymaps/default_underglow/config.h (100%) create mode 100755 keyboards/xiudi/xd87/keymaps/default_underglow/keymap.c rename keyboards/{ => xiudi}/xd87/keymaps/default_underglow/readme.md (100%) create mode 100755 keyboards/xiudi/xd87/keymaps/default_underglow/rules.mk rename keyboards/{ => xiudi}/xd87/keymaps/mac_underglow/keymap.c (100%) rename keyboards/{ => xiudi}/xd87/keymaps/mac_underglow/readme.md (100%) create mode 100755 keyboards/xiudi/xd87/keymaps/mac_underglow/rules.mk rename keyboards/{ => xiudi}/xd87/keymaps/via/keymap.c (100%) rename keyboards/{ => xiudi}/xd87/keymaps/via/readme.md (100%) create mode 100644 keyboards/xiudi/xd87/keymaps/via/rules.mk create mode 100644 keyboards/xiudi/xd87/readme.md create mode 100644 keyboards/xiudi/xd87/rules.mk rename keyboards/{ => xiudi}/xd87/xd87.c (100%) rename keyboards/{ => xiudi}/xd87/xd87.h (100%) create mode 100644 keyboards/xiudi/xd96/config.h rename keyboards/{ => xiudi}/xd96/info.json (100%) rename keyboards/{ => xiudi}/xd96/keymaps/default/keymap.c (100%) rename keyboards/{ => xiudi}/xd96/keymaps/default_iso/keymap.c (100%) rename keyboards/{ => xiudi}/xd96/keymaps/uuupah/keymap.c (100%) rename keyboards/{ => xiudi}/xd96/keymaps/via/keymap.c (100%) rename keyboards/{ => xiudi}/xd96/keymaps/via/readme.md (100%) create mode 100644 keyboards/xiudi/xd96/keymaps/via/rules.mk rename keyboards/{ => xiudi}/xd96/matrix.c (100%) create mode 100644 keyboards/xiudi/xd96/readme.md create mode 100644 keyboards/xiudi/xd96/rules.mk rename keyboards/{ => xiudi}/xd96/xd96.c (100%) rename keyboards/{ => xiudi}/xd96/xd96.h (100%) create mode 100644 keyboards/yampad/config.h create mode 100644 keyboards/yampad/info.json create mode 100644 keyboards/yampad/keymaps/default/keymap.c create mode 100644 keyboards/yampad/keymaps/traditional/keymap.c create mode 100644 keyboards/yampad/readme.md create mode 100644 keyboards/yampad/rules.mk create mode 100644 keyboards/yampad/yampad.c create mode 100644 keyboards/yampad/yampad.h create mode 100644 keyboards/yasui/config.h create mode 100644 keyboards/yasui/info.json create mode 100644 keyboards/yasui/keymaps/default/keymap.c create mode 100644 keyboards/yasui/keymaps/via/keymap.c create mode 100644 keyboards/yasui/keymaps/via/rules.mk create mode 100644 keyboards/yasui/readme.md create mode 100644 keyboards/yasui/rules.mk create mode 100644 keyboards/yasui/yasui.c create mode 100644 keyboards/yasui/yasui.h create mode 100644 keyboards/yeehaw/config.h create mode 100644 keyboards/yeehaw/info.json create mode 100644 keyboards/yeehaw/keymaps/default/keymap.c create mode 100644 keyboards/yeehaw/keymaps/via/keymap.c create mode 100644 keyboards/yeehaw/keymaps/via/rules.mk create mode 100644 keyboards/yeehaw/readme.md create mode 100644 keyboards/yeehaw/rules.mk create mode 100644 keyboards/yeehaw/yeehaw.c create mode 100644 keyboards/yeehaw/yeehaw.h create mode 100644 keyboards/ymdk/ym68/config.h create mode 100644 keyboards/ymdk/ym68/info.json create mode 100644 keyboards/ymdk/ym68/keymaps/default/keymap.c create mode 100644 keyboards/ymdk/ym68/readme.md create mode 100644 keyboards/ymdk/ym68/rules.mk create mode 100644 keyboards/ymdk/ym68/ym68.c create mode 100644 keyboards/ymdk/ym68/ym68.h create mode 100644 keyboards/ymdk/ymd40/v2/keymaps/via/keymap.c create mode 100644 keyboards/ymdk/ymd40/v2/keymaps/via/readme.md create mode 100644 keyboards/ymdk/ymd40/v2/keymaps/via/rules.mk create mode 100644 keyboards/ymdk_np21/keymaps/via/keymap.c create mode 100644 keyboards/ymdk_np21/keymaps/via/rules.mk create mode 100644 keyboards/yoichiro/lunakey_macro/config.h create mode 100644 keyboards/yoichiro/lunakey_macro/info.json create mode 100644 keyboards/yoichiro/lunakey_macro/keymaps/default/keymap.c create mode 100644 keyboards/yoichiro/lunakey_macro/keymaps/default/readme.md create mode 100644 keyboards/yoichiro/lunakey_macro/keymaps/via/keymap.c create mode 100644 keyboards/yoichiro/lunakey_macro/keymaps/via/readme.md create mode 100644 keyboards/yoichiro/lunakey_macro/keymaps/via/rules.mk create mode 100644 keyboards/yoichiro/lunakey_macro/lunakey_macro.c create mode 100644 keyboards/yoichiro/lunakey_macro/lunakey_macro.h create mode 100644 keyboards/yoichiro/lunakey_macro/readme.md create mode 100644 keyboards/yoichiro/lunakey_macro/rules.mk create mode 100644 keyboards/yynmt/acperience12/acperience12.c create mode 100644 keyboards/yynmt/acperience12/acperience12.h create mode 100644 keyboards/yynmt/acperience12/config.h create mode 100644 keyboards/yynmt/acperience12/info.json create mode 100644 keyboards/yynmt/acperience12/keymaps/default/keymap.c create mode 100644 keyboards/yynmt/acperience12/keymaps/default/readme.md create mode 100644 keyboards/yynmt/acperience12/keymaps/via/config.h create mode 100644 keyboards/yynmt/acperience12/keymaps/via/keymap.c create mode 100644 keyboards/yynmt/acperience12/keymaps/via/rules.mk create mode 100644 keyboards/yynmt/acperience12/readme.md create mode 100644 keyboards/yynmt/acperience12/rev1/config.h create mode 100644 keyboards/yynmt/acperience12/rev1/readme.md create mode 100644 keyboards/yynmt/acperience12/rev1/rev1.c create mode 100644 keyboards/yynmt/acperience12/rev1/rev1.h create mode 100644 keyboards/yynmt/acperience12/rev1/rules.mk create mode 100644 keyboards/yynmt/acperience12/rules.mk create mode 100644 keyboards/zinc/rev1/post_config.h create mode 100644 keyboards/zinc/reva/post_config.h delete mode 100644 keyboards/zoo/wampus/bootloader_defs.h create mode 100644 layouts/community/60_ansi/manna-harbour_miryoku/config.h create mode 100644 layouts/community/60_ansi/manna-harbour_miryoku/keymap.c create mode 100755 layouts/community/60_iso/bifbofii/keymap.c create mode 100755 layouts/community/60_iso/bifbofii/readme.md create mode 100644 layouts/community/60_iso/bifbofii/rules.mk create mode 100644 layouts/community/65_ansi_blocker/stanrc85/keymap.c delete mode 100644 layouts/community/ergodox/bocaj/config.h delete mode 100644 layouts/community/ergodox/bocaj/keymap.c delete mode 100644 layouts/community/ergodox/bocaj/readme.md delete mode 100644 layouts/community/ergodox/bocaj/rules.mk rename layouts/community/ergodox/drashna/{visualizer.c => visualizer.c_old} (100%) create mode 100644 layouts/community/ergodox/jjerrell/config.h create mode 100644 layouts/community/ergodox/jjerrell/keymap.c create mode 100644 layouts/community/ergodox/jjerrell/readme.md create mode 100644 layouts/community/ergodox/jjerrell/rules.mk delete mode 100644 layouts/community/ergodox/nstickney/keymap.c delete mode 100644 layouts/community/ergodox/supercoder/makefile.mk create mode 100644 layouts/community/ergodox/supercoder/rules.mk rename layouts/community/ergodox/townk_osx/{makefile.mk => rules.mk} (100%) create mode 100644 layouts/community/ortho_1x4/readme.md create mode 100644 layouts/community/ortho_2x3/layout.json create mode 100644 layouts/community/ortho_2x3/readme.md create mode 100644 layouts/community/ortho_2x6/layout.json create mode 100644 layouts/community/ortho_2x6/readme.md create mode 100644 layouts/community/ortho_4x10/manna-harbour_miryoku/config.h create mode 100644 layouts/community/ortho_4x10/manna-harbour_miryoku/keymap.c delete mode 100644 layouts/community/ortho_4x12/bocaj/config.h delete mode 100644 layouts/community/ortho_4x12/bocaj/keymap.c delete mode 100644 layouts/community/ortho_4x12/bocaj/readme.md delete mode 100644 layouts/community/ortho_4x12/bocaj/rules.mk create mode 100644 layouts/community/ortho_4x12/jjerrell/config.h create mode 100644 layouts/community/ortho_4x12/jjerrell/keymap.c create mode 100644 layouts/community/ortho_4x12/jjerrell/readme.md create mode 100644 layouts/community/ortho_4x12/jjerrell/rules.mk create mode 100644 layouts/community/ortho_5x12/manna-harbour_miryoku/config.h create mode 100644 layouts/community/ortho_5x12/manna-harbour_miryoku/keymap.c create mode 100644 layouts/community/ortho_5x15/manna-harbour_miryoku/config.h create mode 100644 layouts/community/ortho_5x15/manna-harbour_miryoku/keymap.c create mode 100644 layouts/community/planck_mit/manna-harbour_miryoku/config.h create mode 100644 layouts/community/planck_mit/manna-harbour_miryoku/keymap.c create mode 100644 layouts/community/split_3x5_3/manna-harbour_miryoku/config.h create mode 100644 layouts/community/split_3x5_3/manna-harbour_miryoku/keymap.c create mode 100644 layouts/community/split_3x6_3/manna-harbour_miryoku/config.h create mode 100644 layouts/community/split_3x6_3/manna-harbour_miryoku/keymap.c create mode 100644 layouts/default/numpad_6x5/default_numpad_6x5/keymap.c create mode 100644 layouts/default/numpad_6x5/info.json create mode 100644 layouts/default/numpad_6x5/layout.json create mode 100644 layouts/default/numpad_6x5/readme.md create mode 100644 layouts/default/ortho_1x1/default_ortho_1x1/keymap.c create mode 100644 layouts/default/ortho_1x1/info.json create mode 100644 layouts/default/ortho_1x1/layout.json create mode 100644 layouts/default/ortho_1x1/readme.md create mode 100644 layouts/default/ortho_2x3/default_ortho_2x3/keymap.c create mode 100644 layouts/default/ortho_2x3/info.json create mode 100644 layouts/default/ortho_2x3/layout.json create mode 100644 layouts/default/ortho_2x3/readme.md create mode 100644 layouts/default/ortho_2x6/default_ortho_2x6/keymap.c create mode 100644 layouts/default/ortho_2x6/info.json create mode 100644 layouts/default/ortho_2x6/layout.json create mode 100644 layouts/default/ortho_2x6/readme.md create mode 100644 layouts/default/ortho_4x6/default_ortho_4x6/keymap.c create mode 100644 layouts/default/ortho_4x6/info.json create mode 100644 layouts/default/ortho_4x6/layout.json create mode 100644 layouts/default/ortho_4x6/readme.md create mode 100644 layouts/default/ortho_5x10/default_ortho_5x10/keymap.c create mode 100644 layouts/default/ortho_5x10/info.json create mode 100644 layouts/default/ortho_5x10/layout.json create mode 100644 layouts/default/ortho_5x10/readme.md create mode 100644 layouts/default/ortho_5x5/info.json create mode 100644 layouts/default/ortho_5x5/layout.json create mode 100644 layouts/default/ortho_5x5/readme.md create mode 100755 lib/python/qmk/cli/bux.py mode change 100644 => 100755 lib/python/qmk/cli/cformat.py delete mode 100644 lib/python/qmk/cli/config.py create mode 100644 lib/python/qmk/cli/console.py delete mode 100755 lib/python/qmk/cli/doctor.py create mode 100755 lib/python/qmk/cli/doctor/__init__.py create mode 100644 lib/python/qmk/cli/doctor/check.py create mode 100644 lib/python/qmk/cli/doctor/linux.py create mode 100644 lib/python/qmk/cli/doctor/macos.py create mode 100755 lib/python/qmk/cli/doctor/main.py create mode 100644 lib/python/qmk/cli/doctor/windows.py mode change 100644 => 100755 lib/python/qmk/cli/fileformat.py create mode 100644 lib/python/qmk/cli/format/__init__.py create mode 100644 lib/python/qmk/cli/format/c.py create mode 100755 lib/python/qmk/cli/format/json.py create mode 100755 lib/python/qmk/cli/format/python.py create mode 100644 lib/python/qmk/cli/format/text.py create mode 100755 lib/python/qmk/cli/generate/keyboard_h.py create mode 100644 lib/python/qmk/cli/generate/version_h.py create mode 100755 lib/python/qmk/cli/multibuild.py create mode 100644 lib/python/qmk/cli/new/keyboard.py delete mode 100755 lib/python/qmk/info_json_encoder.py create mode 100755 lib/python/qmk/json_encoders.py create mode 100644 lib/python/qmk/json_schema.py delete mode 100644 lib/python/qmk/os_helpers/__init__.py delete mode 100644 lib/python/qmk/os_helpers/linux/__init__.py create mode 100644 lib/python/qmk/tests/minimal_info.json create mode 100644 lib/python/qmk/tests/minimal_keymap.json delete mode 100644 lib/python/qmk/tests/pytest_export.json rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/.gitattributes (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/.gitignore (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/.gitmodules (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/BTD.cpp (100%) mode change 100755 => 100644 rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/BTD.h (100%) mode change 100755 => 100644 rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/BTHID.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/BTHID.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PS3BT.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PS3BT.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PS3Enums.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PS3USB.cpp (100%) mode change 100755 => 100644 rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PS3USB.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PS4BT.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PS4Parser.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PS4Parser.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PS4USB.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PSBuzz.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/PSBuzz.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/README.md (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/SPP.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/SPP.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/Usb.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/Usb.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/UsbCore.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/Wii.cpp (100%) mode change 100755 => 100644 rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/Wii.h (100%) mode change 100755 => 100644 rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/WiiCameraReadme.md (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/XBOXOLD.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/XBOXOLD.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/XBOXONE.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/XBOXONE.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/XBOXRECV.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/XBOXRECV.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/XBOXUSB.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/XBOXUSB.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/address.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/adk.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/adk.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/avrpins.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/cdc_XR21B1411.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/cdc_XR21B1411.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/cdcacm.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/cdcacm.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/cdcftdi.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/cdcftdi.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/cdcprolific.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/cdcprolific.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/confdescparser.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/controllerEnums.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/BTHID.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/KeyboardParser.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/BTHID/MouseParser.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/PS3BT/PS3BT.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/PS3Multi/PS3Multi.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/PS3SPP/PS3SPP.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/PS4BT/PS4BT.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/SPP/SPP.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/SPPMulti/SPPMulti.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/Wii/Wii.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/WiiBalanceBoard/WiiBalanceBoard.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/WiiIRCamera/WiiIRCamera.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/WiiMulti/WiiMulti.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Bluetooth/WiiUProController/WiiUProController.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/USBHIDBootKbdAndMouse/USBHIDBootKbdAndMouse.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/USBHIDJoystick.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/USBHIDJoystick/hidjoystickrptparser.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/USBHID_desc/USBHID_desc.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/USBHID_desc/pgmstrings.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/le3dp/le3dp_rptparser.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/scale/scale.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/HID/scale/scale_rptparser.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/PS3USB/PS3USB.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/PS4USB/PS4USB.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/PSBuzz/PSBuzz.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/USB_desc/USB_desc.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/USB_desc/pgmstrings.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Xbox/XBOXOLD/XBOXOLD.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Xbox/XBOXONE/XBOXONE.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Xbox/XBOXRECV/XBOXRECV.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/Xbox/XBOXUSB/XBOXUSB.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/acm/acm_terminal/acm_terminal.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/acm/acm_terminal/pgmstrings.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/adk/ArduinoBlinkLED/ArduinoBlinkLED.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/adk/adk_barcode/adk_barcode.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/adk/demokit_20/demokit_20.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/adk/term_test/term_test.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/adk/term_time/term_time.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/board_qc/board_qc.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/cdc_XR21B1411/XR_terminal/XR_terminal.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/ftdi/USBFTDILoopback/USBFTDILoopback.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/ftdi/USBFTDILoopback/pgmstrings.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/hub_demo/hub_demo.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/hub_demo/pgmstrings.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/max_LCD/max_LCD.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/pl2303/pl2303_gprs_terminal/pl2303_gprs_terminal.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/pl2303/pl2303_gps/pl2303_gps.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/pl2303/pl2303_tinygps/pl2303_tinygps.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/pl2303/pl2303_xbee_terminal/pl2303_xbee_terminal.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/testusbhostFAT/Makefile (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/testusbhostFAT/README.md (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/examples/testusbhostFAT/testusbhostFAT.ino (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/gpl2.txt (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hexdump.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hid.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hid.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hidboot.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hidboot.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hidescriptorparser.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hidescriptorparser.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hiduniversal.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hiduniversal.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hidusagestr.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/hidusagetitlearrays.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/keywords.txt (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/library.json (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/library.properties (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/macros.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/masstorage.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/masstorage.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/max3421e.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/max_LCD.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/max_LCD.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/message.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/message.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/parsetools.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/parsetools.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/printhex.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/settings.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/sink_parser.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/usb_ch9.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/usbhost.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/usbhub.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/usbhub.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/version_helper.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/USB_Host_Shield_2.0/xboxEnums.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Arduino.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/CDC.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Client.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/HID.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/HardwareSerial.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/HardwareSerial.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/IPAddress.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/IPAddress.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Platform.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Print.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Print.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Printable.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Server.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Stream.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Stream.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Tone.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/USBAPI.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/USBCore.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/USBCore.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/USBDesc.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/Udp.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/WCharacter.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/WInterrupts.c (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/WMath.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/WString.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/WString.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/binary.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/main.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/new.cpp (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/new.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/wiring.c (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/wiring_analog.c (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/wiring_digital.c (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/wiring_private.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/wiring_pulse.c (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/cores/arduino/wiring_shift.c (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/variants/eightanaloginputs/pins_arduino.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/variants/leonardo/pins_arduino.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/variants/mega/pins_arduino.h (100%) rename {tmk_core/protocol/usb_hid => lib/usbhost}/arduino-1.0.1/variants/standard/pins_arduino.h (100%) create mode 100644 platforms/arm_atsam/flash.mk rename {drivers/avr => platforms/avr/drivers}/analog.c (100%) rename {drivers/avr => platforms/avr/drivers}/analog.h (100%) rename {drivers/avr => platforms/avr/drivers}/glcdfont.c (100%) rename {drivers/avr => platforms/avr/drivers}/hd44780.c (100%) rename {drivers/avr => platforms/avr/drivers}/hd44780.h (100%) create mode 100644 platforms/avr/drivers/i2c_master.c rename {drivers/avr => platforms/avr/drivers}/i2c_master.h (100%) create mode 100644 platforms/avr/drivers/i2c_slave.c create mode 100644 platforms/avr/drivers/i2c_slave.h create mode 100644 platforms/avr/drivers/serial.c create mode 100644 platforms/avr/drivers/spi_master.c create mode 100644 platforms/avr/drivers/spi_master.h rename {drivers/avr => platforms/avr/drivers}/ssd1306.c (100%) rename {drivers/avr => platforms/avr/drivers}/ssd1306.h (100%) rename {drivers/avr => platforms/avr/drivers}/uart.c (100%) rename {drivers/avr => platforms/avr/drivers}/uart.h (100%) rename {drivers/avr => platforms/avr/drivers}/ws2812.c (100%) rename {drivers/avr => platforms/avr/drivers}/ws2812_i2c.c (100%) create mode 100644 platforms/avr/flash.mk delete mode 100644 platforms/chibios/BLACKPILL_STM32_F401/configs/config.h delete mode 100644 platforms/chibios/BLACKPILL_STM32_F411/configs/config.h delete mode 100644 platforms/chibios/GENERIC_STM32_F072XB/configs/bootloader_defs.h delete mode 100644 platforms/chibios/IC_TEENSY_3_1/board/board.c delete mode 100644 platforms/chibios/QMK_PROTON_C/configs/halconf.h delete mode 100644 platforms/chibios/QMK_PROTON_C/convert_to_proton_c.mk rename platforms/chibios/{ => boards}/BLACKPILL_STM32_F401/board/board.mk (100%) rename platforms/chibios/{ => boards}/BLACKPILL_STM32_F401/configs/board.h (100%) create mode 100644 platforms/chibios/boards/BLACKPILL_STM32_F401/configs/bootloader_defs.h create mode 100644 platforms/chibios/boards/BLACKPILL_STM32_F401/configs/config.h rename platforms/chibios/{ => boards}/BLACKPILL_STM32_F401/configs/mcuconf.h (100%) create mode 100644 platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xC_tinyuf2.ld create mode 100644 platforms/chibios/boards/BLACKPILL_STM32_F401/ld/STM32F401xE_tinyuf2.ld rename platforms/chibios/{ => boards}/BLACKPILL_STM32_F411/board/board.mk (100%) rename platforms/chibios/{ => boards}/BLACKPILL_STM32_F411/configs/board.h (100%) create mode 100644 platforms/chibios/boards/BLACKPILL_STM32_F411/configs/bootloader_defs.h create mode 100644 platforms/chibios/boards/BLACKPILL_STM32_F411/configs/config.h rename platforms/chibios/{ => boards}/BLACKPILL_STM32_F411/configs/mcuconf.h (100%) create mode 100644 platforms/chibios/boards/BLACKPILL_STM32_F411/ld/STM32F411xC_tinyuf2.ld create mode 100644 platforms/chibios/boards/BLACKPILL_STM32_F411/ld/STM32F411xE_tinyuf2.ld rename platforms/chibios/{ => boards}/GENERIC_STM32_F042X6/board/board.c (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F042X6/board/board.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F042X6/board/board.mk (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F042X6/configs/bootloader_defs.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F042X6/configs/config.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F042X6/configs/mcuconf.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F072XB/board/board.mk (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F072XB/configs/board.h (100%) rename {keyboards/at_at/660m => platforms/chibios/boards/GENERIC_STM32_F072XB/configs}/bootloader_defs.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F072XB/configs/config.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F072XB/configs/mcuconf.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F303XC/board/board.mk (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F303XC/configs/board.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F303XC/configs/bootloader_defs.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F303XC/configs/config.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_F303XC/configs/mcuconf.h (100%) create mode 100644 platforms/chibios/boards/GENERIC_STM32_F407XE/board/board.mk create mode 100644 platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_F407XE/configs/config.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_F407XE/configs/mcuconf.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_F446XE/board/board.mk create mode 100644 platforms/chibios/boards/GENERIC_STM32_F446XE/configs/board.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_F446XE/configs/mcuconf.h rename platforms/chibios/{ => boards}/GENERIC_STM32_G431XB/board/board.mk (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_G431XB/configs/config.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_G431XB/configs/mcuconf.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_G474XE/board/board.mk (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_G474XE/configs/config.h (100%) rename platforms/chibios/{ => boards}/GENERIC_STM32_G474XE/configs/mcuconf.h (100%) create mode 100644 platforms/chibios/boards/GENERIC_STM32_L412XB/board/board.mk create mode 100644 platforms/chibios/boards/GENERIC_STM32_L412XB/configs/board.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_L412XB/configs/config.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_L412XB/configs/mcuconf.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_L433XC/board/board.mk create mode 100644 platforms/chibios/boards/GENERIC_STM32_L433XC/configs/board.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_L433XC/configs/config.h create mode 100644 platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h create mode 100644 platforms/chibios/boards/IC_TEENSY_3_1/board/board.c rename platforms/chibios/{ => boards}/IC_TEENSY_3_1/board/board.h (100%) rename platforms/chibios/{ => boards}/IC_TEENSY_3_1/board/board.mk (100%) create mode 100644 platforms/chibios/boards/IC_TEENSY_4_1/board/board.mk create mode 100644 platforms/chibios/boards/IC_TEENSY_4_1/rules.mk rename platforms/chibios/{ => boards}/QMK_PROTON_C/board/board.mk (100%) rename platforms/chibios/{ => boards}/QMK_PROTON_C/configs/board.h (100%) rename platforms/chibios/{ => boards}/QMK_PROTON_C/configs/bootloader_defs.h (100%) rename platforms/chibios/{ => boards}/QMK_PROTON_C/configs/chconf.h (100%) rename platforms/chibios/{ => boards}/QMK_PROTON_C/configs/config.h (100%) create mode 100644 platforms/chibios/boards/QMK_PROTON_C/configs/halconf.h rename platforms/chibios/{ => boards}/QMK_PROTON_C/configs/mcuconf.h (100%) create mode 100644 platforms/chibios/boards/QMK_PROTON_C/convert_to_proton_c.mk rename platforms/chibios/{ => boards}/STM32_F103_STM32DUINO/board/board.c (100%) rename platforms/chibios/{ => boards}/STM32_F103_STM32DUINO/board/board.h (100%) rename platforms/chibios/{ => boards}/STM32_F103_STM32DUINO/board/board.mk (100%) rename platforms/chibios/{ => boards}/STM32_F103_STM32DUINO/configs/mcuconf.h (100%) create mode 100644 platforms/chibios/boards/STM32_F103_STM32DUINO/ld/STM32F103x8_stm32duino_bootloader.ld create mode 100644 platforms/chibios/boards/STM32_F103_STM32DUINO/ld/STM32F103xB_stm32duino_bootloader.ld create mode 100644 platforms/chibios/boards/STM32_F103_STM32DUINO/ld/stm32duino_bootloader_common.ld rename platforms/chibios/{ => boards}/common/configs/chconf.h (100%) create mode 100644 platforms/chibios/boards/common/configs/halconf.h rename platforms/chibios/{ => boards}/common/ld/MKL26Z64.ld (100%) create mode 100644 platforms/chibios/boards/common/ld/STM32L412xB.ld rename platforms/chibios/{ => boards}/keyboard-config-templates/board.h (100%) rename platforms/chibios/{ => boards}/keyboard-config-templates/chconf.h (100%) rename platforms/chibios/{ => boards}/keyboard-config-templates/halconf.h (100%) rename platforms/chibios/{ => boards}/keyboard-config-templates/mcuconf.h (100%) delete mode 100644 platforms/chibios/common/configs/halconf.h delete mode 100644 platforms/chibios/common/ld/STM32F103x8_stm32duino_bootloader.ld rename {drivers/chibios => platforms/chibios/drivers}/analog.c (79%) rename {drivers/chibios => platforms/chibios/drivers}/analog.h (100%) rename {drivers => platforms/chibios/drivers}/eeprom/eeprom_stm32_L0_L1.c (100%) rename {drivers => platforms/chibios/drivers}/eeprom/eeprom_stm32_L0_L1.h (100%) rename {drivers/chibios => platforms/chibios/drivers}/i2c_master.c (100%) rename {drivers/chibios => platforms/chibios/drivers}/i2c_master.h (100%) create mode 100644 platforms/chibios/drivers/serial.c create mode 100644 platforms/chibios/drivers/serial_usart.c create mode 100644 platforms/chibios/drivers/serial_usart.h create mode 100644 platforms/chibios/drivers/spi_master.c create mode 100644 platforms/chibios/drivers/spi_master.h rename {drivers/chibios => platforms/chibios/drivers}/uart.c (100%) rename {drivers/chibios => platforms/chibios/drivers}/uart.h (100%) rename {drivers/chibios => platforms/chibios/drivers}/usbpd_stm32g4.c (100%) rename {drivers/chibios => platforms/chibios/drivers}/ws2812.c (100%) rename {drivers/chibios => platforms/chibios/drivers}/ws2812_pwm.c (96%) create mode 100644 platforms/chibios/drivers/ws2812_spi.c create mode 100644 platforms/chibios/flash.mk rename {tmk_core/common => quantum}/action.c (93%) rename {tmk_core/common => quantum}/action.h (93%) rename {tmk_core/common => quantum}/action_code.h (100%) rename {tmk_core/common => quantum}/action_layer.c (95%) rename {tmk_core/common => quantum}/action_layer.h (83%) rename {tmk_core/common => quantum}/action_macro.c (100%) rename {tmk_core/common => quantum}/action_macro.h (100%) rename {tmk_core/common => quantum}/action_tapping.c (84%) rename {tmk_core/common => quantum}/action_tapping.h (94%) rename {tmk_core/common => quantum}/action_util.c (82%) rename {tmk_core/common => quantum}/action_util.h (96%) create mode 100644 quantum/bootmagic/bootmagic.h create mode 100644 quantum/bootmagic/bootmagic_lite.c create mode 100644 quantum/bootmagic/bootmagic_lite.h create mode 100644 quantum/bootmagic/magic.c create mode 100644 quantum/bootmagic/magic.h create mode 100644 quantum/crc.c create mode 100644 quantum/crc.h create mode 100644 quantum/debounce/asym_eager_defer_pk.c create mode 100644 quantum/debounce/none.c create mode 100644 quantum/debounce/tests/asym_eager_defer_pk_tests.cpp create mode 100644 quantum/debounce/tests/debounce_test_common.cpp create mode 100644 quantum/debounce/tests/debounce_test_common.h create mode 100644 quantum/debounce/tests/rules.mk create mode 100644 quantum/debounce/tests/sym_defer_g_tests.cpp create mode 100644 quantum/debounce/tests/sym_defer_pk_tests.cpp create mode 100644 quantum/debounce/tests/sym_eager_pk_tests.cpp create mode 100644 quantum/debounce/tests/sym_eager_pr_tests.cpp create mode 100644 quantum/debounce/tests/testlist.mk create mode 100644 quantum/digitizer.c create mode 100644 quantum/digitizer.h rename {tmk_core/common => quantum}/eeconfig.c (84%) rename {tmk_core/common => quantum}/eeconfig.h (91%) rename {drivers/haptic => quantum}/haptic.c (81%) rename {drivers/haptic => quantum}/haptic.h (84%) create mode 100644 quantum/keyboard.c rename {tmk_core/common => quantum}/keyboard.h (92%) rename {tmk_core/common => quantum}/keycode.h (100%) create mode 100644 quantum/keymap_extras/keymap_swedish_osx_ansi.h create mode 100644 quantum/keymap_extras/keymap_swedish_osx_iso.h create mode 100644 quantum/keymap_extras/keymap_swedish_pro_osx_ansi.h create mode 100644 quantum/keymap_extras/keymap_swedish_pro_osx_iso.h delete mode 100644 quantum/led_matrix.c delete mode 100644 quantum/led_matrix.h create mode 100644 quantum/led_matrix/animations/alpha_mods_anim.h create mode 100644 quantum/led_matrix/animations/band_anim.h create mode 100644 quantum/led_matrix/animations/band_pinwheel_anim.h create mode 100644 quantum/led_matrix/animations/band_spiral_anim.h create mode 100644 quantum/led_matrix/animations/breathing_anim.h create mode 100644 quantum/led_matrix/animations/cycle_left_right_anim.h create mode 100644 quantum/led_matrix/animations/cycle_out_in_anim.h create mode 100644 quantum/led_matrix/animations/cycle_up_down_anim.h create mode 100644 quantum/led_matrix/animations/dual_beacon_anim.h create mode 100644 quantum/led_matrix/animations/led_matrix_effects.inc create mode 100644 quantum/led_matrix/animations/runners/effect_runner_dx_dy.h create mode 100644 quantum/led_matrix/animations/runners/effect_runner_dx_dy_dist.h create mode 100644 quantum/led_matrix/animations/runners/effect_runner_i.h create mode 100644 quantum/led_matrix/animations/runners/effect_runner_reactive.h create mode 100644 quantum/led_matrix/animations/runners/effect_runner_reactive_splash.h create mode 100644 quantum/led_matrix/animations/runners/effect_runner_sin_cos_i.h create mode 100644 quantum/led_matrix/animations/runners/led_matrix_runners.inc create mode 100644 quantum/led_matrix/animations/solid_anim.h create mode 100644 quantum/led_matrix/animations/solid_reactive_cross.h create mode 100644 quantum/led_matrix/animations/solid_reactive_nexus.h create mode 100644 quantum/led_matrix/animations/solid_reactive_simple_anim.h create mode 100644 quantum/led_matrix/animations/solid_reactive_wide.h create mode 100644 quantum/led_matrix/animations/solid_splash_anim.h create mode 100644 quantum/led_matrix/animations/wave_left_right_anim.h create mode 100644 quantum/led_matrix/animations/wave_up_down_anim.h create mode 100644 quantum/led_matrix/led_matrix.c create mode 100644 quantum/led_matrix/led_matrix.h rename quantum/{ => led_matrix}/led_matrix_drivers.c (86%) create mode 100644 quantum/led_matrix/led_matrix_legacy_enables.h create mode 100644 quantum/led_matrix/led_matrix_types.h delete mode 100644 quantum/led_matrix_types.h rename {tmk_core/common => quantum/logging}/debug.c (100%) rename {tmk_core/common => quantum/logging}/debug.h (98%) rename {tmk_core/common => quantum/logging}/nodebug.h (100%) rename tmk_core/common/printf.c => quantum/logging/print.c (100%) rename {tmk_core/common => quantum/logging}/print.h (98%) create mode 100644 quantum/logging/print.mk create mode 100644 quantum/logging/sendchar.c rename {tmk_core/common => quantum/logging}/sendchar.h (100%) create mode 100644 quantum/main.c create mode 100644 quantum/process_keycode/process_haptic.c create mode 100644 quantum/process_keycode/process_haptic.h create mode 100644 quantum/process_keycode/process_key_override.c create mode 100644 quantum/process_keycode/process_key_override.h delete mode 100644 quantum/rgb.h delete mode 100644 quantum/rgb_matrix.h create mode 100644 quantum/rgb_matrix/animations/alpha_mods_anim.h create mode 100644 quantum/rgb_matrix/animations/breathing_anim.h rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/colorband_pinwheel_sat_anim.h (91%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/colorband_pinwheel_val_anim.h (91%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/colorband_sat_anim.h (92%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/colorband_spiral_sat_anim.h (91%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/colorband_spiral_val_anim.h (91%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/colorband_val_anim.h (92%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/cycle_all_anim.h (90%) create mode 100644 quantum/rgb_matrix/animations/cycle_left_right_anim.h create mode 100644 quantum/rgb_matrix/animations/cycle_out_in_anim.h rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/cycle_out_in_dual_anim.h (92%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/cycle_pinwheel_anim.h (90%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/cycle_spiral_anim.h (91%) create mode 100644 quantum/rgb_matrix/animations/cycle_up_down_anim.h rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/digital_rain_anim.h (100%) create mode 100644 quantum/rgb_matrix/animations/dual_beacon_anim.h rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/gradient_left_right_anim.h (94%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/gradient_up_down_anim.h (94%) create mode 100644 quantum/rgb_matrix/animations/hue_breathing_anim.h create mode 100644 quantum/rgb_matrix/animations/hue_pendulum_anim.h create mode 100644 quantum/rgb_matrix/animations/hue_wave_anim.h rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/jellybean_raindrops_anim.h (88%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/rainbow_beacon_anim.h (92%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/rainbow_moving_chevron_anim.h (90%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/rainbow_pinwheels_anim.h (92%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/raindrops_anim.h (97%) create mode 100644 quantum/rgb_matrix/animations/rgb_matrix_effects.inc rename quantum/{rgb_matrix_runners => rgb_matrix/animations/runners}/effect_runner_dx_dy.h (100%) rename quantum/{rgb_matrix_runners => rgb_matrix/animations/runners}/effect_runner_dx_dy_dist.h (100%) create mode 100644 quantum/rgb_matrix/animations/runners/effect_runner_i.h create mode 100644 quantum/rgb_matrix/animations/runners/effect_runner_reactive.h create mode 100644 quantum/rgb_matrix/animations/runners/effect_runner_reactive_splash.h rename quantum/{rgb_matrix_runners => rgb_matrix/animations/runners}/effect_runner_sin_cos_i.h (100%) create mode 100644 quantum/rgb_matrix/animations/runners/rgb_matrix_runners.inc rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/solid_color_anim.h (100%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/solid_reactive_anim.h (100%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/solid_reactive_cross.h (100%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/solid_reactive_nexus.h (100%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/solid_reactive_simple_anim.h (100%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/solid_reactive_wide.h (100%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/solid_splash_anim.h (100%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/splash_anim.h (100%) rename quantum/{rgb_matrix_animations => rgb_matrix/animations}/typing_heatmap_anim.h (97%) rename quantum/{ => rgb_matrix}/rgb_matrix.c (88%) create mode 100644 quantum/rgb_matrix/rgb_matrix.h create mode 100644 quantum/rgb_matrix/rgb_matrix_drivers.c create mode 100644 quantum/rgb_matrix/rgb_matrix_legacy_enables.h rename quantum/{ => rgb_matrix}/rgb_matrix_types.h (86%) delete mode 100644 quantum/rgb_matrix_animations/alpha_mods_anim.h delete mode 100644 quantum/rgb_matrix_animations/breathing_anim.h delete mode 100644 quantum/rgb_matrix_animations/cycle_left_right_anim.h delete mode 100644 quantum/rgb_matrix_animations/cycle_out_in_anim.h delete mode 100644 quantum/rgb_matrix_animations/cycle_up_down_anim.h delete mode 100644 quantum/rgb_matrix_animations/dual_beacon_anim.h delete mode 100644 quantum/rgb_matrix_animations/rgb_matrix_effects.inc delete mode 100644 quantum/rgb_matrix_drivers.c delete mode 100644 quantum/rgb_matrix_runners/effect_runner_i.h delete mode 100644 quantum/rgb_matrix_runners/effect_runner_reactive.h delete mode 100644 quantum/rgb_matrix_runners/effect_runner_reactive_splash.h rename quantum/{ => rgblight}/rgblight.c (96%) rename quantum/{ => rgblight}/rgblight.h (78%) rename quantum/{ => rgblight}/rgblight_breathe_table.h (100%) rename quantum/{ => rgblight}/rgblight_list.h (84%) rename quantum/{ => rgblight}/rgblight_modes.h (100%) rename quantum/{ => rgblight}/rgblight_post_config.h (100%) delete mode 100644 quantum/split_common/matrix.c create mode 100644 quantum/split_common/transaction_id_define.h create mode 100644 quantum/split_common/transactions.c create mode 100644 quantum/split_common/transactions.h delete mode 100644 quantum/template/avr/readme.md delete mode 100644 quantum/template/ps2avrgb/readme.md delete mode 100644 quantum/template/ps2avrgb/rules.mk delete mode 100644 quantum/tools/readme.md delete mode 100644 secrets.tar.enc create mode 100644 tests/test_common/main.cpp delete mode 100644 tmk_core/common/arm_atsam/_print.h create mode 100644 tmk_core/common/arm_atsam/_timer.h create mode 100644 tmk_core/common/arm_atsam/_wait.h create mode 100644 tmk_core/common/arm_atsam/atomic_util.h create mode 100644 tmk_core/common/arm_atsam/gpio.h create mode 100644 tmk_core/common/arm_atsam/pin_defs.h create mode 100644 tmk_core/common/arm_atsam/platform.c create mode 100644 tmk_core/common/arm_atsam/platform_deps.h delete mode 100644 tmk_core/common/arm_atsam/printf.c delete mode 100644 tmk_core/common/arm_atsam/printf.h delete mode 100644 tmk_core/common/arm_atsam/printf.mk create mode 100644 tmk_core/common/avr/_timer.h create mode 100644 tmk_core/common/avr/_wait.h create mode 100644 tmk_core/common/avr/platform.c create mode 100644 tmk_core/common/avr/platform_deps.h delete mode 100644 tmk_core/common/bootmagic.c delete mode 100644 tmk_core/common/bootmagic.h delete mode 100644 tmk_core/common/bootmagic_lite.c create mode 100644 tmk_core/common/chibios/_timer.h create mode 100644 tmk_core/common/chibios/_wait.c create mode 100644 tmk_core/common/chibios/_wait.h create mode 100644 tmk_core/common/chibios/eeprom_stm32_defs.h create mode 100644 tmk_core/common/chibios/platform.c create mode 100644 tmk_core/common/chibios/platform_deps.h create mode 100644 tmk_core/common/chibios/wait.c delete mode 100644 tmk_core/common/keyboard.c delete mode 100644 tmk_core/common/lib_printf.mk delete mode 100644 tmk_core/common/magic.c delete mode 100644 tmk_core/common/magic.h create mode 100644 tmk_core/common/nrf/_wait.h create mode 100644 tmk_core/common/nrf/platform.c create mode 100644 tmk_core/common/nrf/platform_deps.h delete mode 100644 tmk_core/common/sendchar_null.c delete mode 100644 tmk_core/common/sendchar_uart.c create mode 100644 tmk_core/common/test/_wait.h create mode 100644 tmk_core/common/test/eeprom_stm32_tests.cpp create mode 100644 tmk_core/common/test/flash_stm32_mock.c create mode 100644 tmk_core/common/test/hal.h create mode 100644 tmk_core/common/test/platform.c create mode 100644 tmk_core/common/test/platform.h create mode 100644 tmk_core/common/test/platform_deps.h create mode 100644 tmk_core/common/test/rules.mk create mode 100644 tmk_core/common/test/testlist.mk create mode 100644 tmk_core/common/usb_util.c create mode 100644 tmk_core/common/usb_util.h create mode 100644 tmk_core/protocol/chibios/chibios.c delete mode 100644 tmk_core/protocol/chibios/main.c create mode 100644 tmk_core/protocol/chibios/usb_util.c create mode 100644 tmk_core/protocol/lufa/usb_util.c create mode 100644 tmk_core/protocol/ps2_io_chibios.c delete mode 100644 tmk_core/protocol/vusb/main.c create mode 100644 tmk_core/protocol/vusb/protocol.c create mode 100644 tmk_core/protocol/vusb/usb_util.c delete mode 100644 users/bocaj/.gitignore delete mode 100644 users/bocaj/.gitlab-ci.yml delete mode 100644 users/bocaj/bocaj.c delete mode 100644 users/bocaj/bocaj.h delete mode 100644 users/bocaj/config.h delete mode 100644 users/bocaj/process_records.c delete mode 100644 users/bocaj/process_records.h delete mode 100644 users/bocaj/readme.md delete mode 100644 users/bocaj/rgb_matrix_stuff.c delete mode 100644 users/bocaj/rgb_matrix_stuff.h delete mode 100644 users/bocaj/rules.mk delete mode 100644 users/bocaj/wrappers.h create mode 100644 users/devdev/config.h create mode 100644 users/devdev/glcdfont.c delete mode 100644 users/drashna/drashna_transport.c delete mode 100644 users/drashna/pimoroni_trackball.c delete mode 100644 users/drashna/pimoroni_trackball.h create mode 100644 users/drashna/post_config.h create mode 100644 users/drashna/transport_sync.c create mode 100644 users/drashna/transport_sync.h create mode 100644 users/haervig/config.h create mode 100644 users/haervig/haervig.c create mode 100644 users/haervig/haervig.h create mode 100644 users/haervig/readme.md create mode 100644 users/haervig/rules.mk create mode 100644 users/hvp/config.h create mode 100644 users/hvp/per_key.c create mode 100644 users/ibnuda/abstraction.c create mode 100644 users/ibnuda/abstraction.h delete mode 100644 users/ibnuda/tapdance.c delete mode 100644 users/ibnuda/tapdance.h create mode 100644 users/imchipwood/imchipwood.c create mode 100644 users/imchipwood/imchipwood.h create mode 100644 users/imchipwood/rules.mk create mode 100644 users/jdelkins/.gitignore create mode 100644 users/jdelkins/jdelkins.c create mode 100644 users/jdelkins/jdelkins.h create mode 100644 users/jdelkins/rules.mk create mode 100644 users/jjerrell/.gitignore create mode 100644 users/jjerrell/config.h create mode 100644 users/jjerrell/jjerrell.c create mode 100644 users/jjerrell/jjerrell.h create mode 100644 users/jjerrell/process_records.c create mode 100644 users/jjerrell/process_records.h create mode 100644 users/jjerrell/readme.md create mode 100644 users/jjerrell/rules.mk create mode 100644 users/jjerrell/wrappers.h create mode 100644 users/jonavin/config.h create mode 100644 users/jonavin/jonavin.c create mode 100644 users/jonavin/jonavin.h create mode 100644 users/jonavin/readme.md create mode 100644 users/jonavin/rules.mk create mode 100644 users/mnil/config.h create mode 100644 users/mnil/mnil.c create mode 100644 users/mnil/mnil.h create mode 100644 users/mnil/readme.md create mode 100644 users/mnil/rules.mk create mode 100644 users/moults31/gdb.c create mode 100644 users/moults31/gdb.h create mode 100644 users/moults31/moults31.c create mode 100644 users/moults31/moults31.h create mode 100644 users/moults31/obs.c create mode 100644 users/moults31/obs.h create mode 100644 users/moults31/readme.md create mode 100644 users/moults31/rules.mk create mode 100644 users/moults31/vscode.c create mode 100644 users/moults31/vscode.h create mode 100644 users/nstickney/config.h create mode 100644 users/nstickney/readme.md create mode 100644 users/nstickney/unicodemap.h delete mode 100644 users/replicaJunction/config.h create mode 100644 users/replicaJunction/features/.gitignore create mode 100644 users/replicaJunction/features/caps_word.c create mode 100644 users/replicaJunction/features/caps_word.h create mode 100644 users/replicaJunction/features/mouse_jiggle.c create mode 100644 users/replicaJunction/features/mouse_jiggle.h create mode 100644 users/replicaJunction/features/num_word.c create mode 100644 users/replicaJunction/features/num_word.h create mode 100644 users/replicaJunction/features/secrets.c create mode 100644 users/replicaJunction/features/secrets.h create mode 100644 users/replicaJunction/features/super_alt_tab.c create mode 100644 users/replicaJunction/features/super_alt_tab.h create mode 100644 users/replicaJunction/keycode_aliases.h create mode 100644 users/replicaJunction/matrix_scan.c create mode 100644 users/replicaJunction/process_records.c create mode 100644 users/replicaJunction/process_records.h create mode 100644 users/replicaJunction/rj_keycodes.h create mode 100644 users/replicaJunction/rj_layers.h create mode 100644 users/rverst/config.h create mode 100644 users/rverst/readme.md create mode 100644 users/rverst/rules.mk create mode 100644 users/rverst/rverst.c create mode 100644 users/rverst/rverst.h create mode 100644 users/rverst/unicode.h create mode 100644 users/sethBarberee/rgb_light.c create mode 100644 users/sethBarberee/rgb_light.h create mode 100644 users/sethBarberee/tap_dance.c create mode 100644 users/sethBarberee/tap_dance.h create mode 100644 users/sethBarberee/wrappers.h create mode 100644 users/snowe/luna.c create mode 100644 users/snowe/luna.h create mode 100644 users/snowe/ocean_dream.c create mode 100644 users/snowe/ocean_dream.h create mode 100644 users/snowe/oled_setup.c create mode 100644 users/snowe/oled_setup.h create mode 100644 users/snowe/readme.md create mode 100644 users/snowe/readme_ocean_dream.md create mode 100644 users/snowe/rules.mk create mode 100644 users/snowe/snowe.h create mode 100644 users/snowe/wrappers.h create mode 100644 users/stanrc85/rgb_timeout.c create mode 100644 users/txkyel/config.h create mode 100644 users/txkyel/readme.md create mode 100644 users/txkyel/rules.mk create mode 100644 users/txkyel/tap_dance.c create mode 100644 users/txkyel/tap_dance.h create mode 100644 users/txkyel/tap_dance.md create mode 100644 users/txkyel/txkyel.c create mode 100644 users/txkyel/txkyel.h create mode 100644 util/nix/poetry.lock create mode 100644 util/nix/pyproject.toml create mode 100644 util/nix/sources.json create mode 100644 util/nix/sources.nix create mode 100644 util/qmk_tab_complete.sh rename quantum/tools/eeprom_reset.hex => util/reset.eep (100%) create mode 100755 util/stm32eeprom_parser.py delete mode 100755 util/travis_build.sh delete mode 100755 util/travis_compiled_push.sh delete mode 100755 util/travis_push.sh delete mode 100644 util/travis_test.sh delete mode 100755 util/travis_utils.sh create mode 100755 util/update_chibios_mirror.sh diff --git a/.gitattributes b/.gitattributes index 92dfc3c61770..a0fd4fed62f4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -92,3 +92,4 @@ GRAPHICS # hex files *.hex binary *.eep binary +nix/sources.nix linguist-generated=true diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index c8d988d0f0ee..a19667f97e7f 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -7,11 +7,12 @@ on: paths: - 'keyboards/**' - 'layouts/community/**' + workflow_dispatch: jobs: api_data: runs-on: ubuntu-latest - container: qmkfm/base_container + container: qmkfm/qmk_cli # protect against those who develop with their fork on master if: github.repository == 'qmk/qmk_firmware' diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 28c6bb367985..7a8dc8540fa6 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -16,13 +16,13 @@ jobs: test: runs-on: ubuntu-latest - container: qmkfm/base_container + container: qmkfm/qmk_cli steps: - uses: actions/checkout@v2 with: submodules: recursive - name: Install dependencies - run: pip3 install -r requirements.txt + run: pip3 install -r requirements-dev.txt - name: Run tests - run: bin/qmk pytest + run: qmk pytest diff --git a/.github/workflows/develop_api.yml b/.github/workflows/develop_api.yml index 4e64cbcf8c22..f0098142c7bc 100644 --- a/.github/workflows/develop_api.yml +++ b/.github/workflows/develop_api.yml @@ -7,11 +7,12 @@ on: paths: - 'keyboards/**' - 'layouts/community/**' + workflow_dispatch: jobs: api_data: runs-on: ubuntu-latest - container: qmkfm/base_container + container: qmkfm/qmk_cli # protect against those who work in their fork on develop if: github.repository == 'qmk/qmk_firmware' diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8855d1107f15..1ee3ae396418 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -14,7 +14,7 @@ on: jobs: generate: runs-on: ubuntu-latest - container: qmkfm/base_container + container: qmkfm/qmk_cli # protect against those who develop with their fork on master if: github.repository == 'qmk/qmk_firmware' diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yaml index 201f3c230fb1..0bb87010684f 100644 --- a/.github/workflows/format.yaml +++ b/.github/workflows/format.yaml @@ -1,47 +1,42 @@ -name: Format Codebase +name: PR Lint Format on: - push: - branches: - - master - - develop + pull_request: + paths: + - 'drivers/**' + - 'lib/arm_atsam/**' + - 'lib/lib8tion/**' + - 'lib/python/**' + - 'platforms/**' + - 'quantum/**' + - 'tests/**' + - 'tmk_core/**' jobs: - format: + lint: runs-on: ubuntu-latest - container: qmkfm/base_container - # protect against those who develop with their fork on master - if: github.repository == 'qmk/qmk_firmware' + container: qmkfm/qmk_cli steps: - uses: rlespinasse/github-slug-action@v3.x - uses: actions/checkout@v2 with: - token: ${{ secrets.API_TOKEN_GITHUB }} + fetch-depth: 0 - - name: Install dependencies - run: | - apt-get update && apt-get install -y dos2unix - - - name: Format files - run: | - bin/qmk cformat -a - bin/qmk pyformat - bin/qmk fileformat + - uses: trilom/file-changes-action@v1.2.4 + id: file_changes + with: + output: ' ' + fileOutput: ' ' - - name: Become QMK Bot + - name: Run qmk format-c and qmk format-python + shell: 'bash {0}' run: | - git config user.name 'QMK Bot' - git config user.email 'hello@qmk.fm' + qmk format-c --core-only -n $(< ~/files.txt) + format_c_exit=$? + qmk format-python -n + format_python_exit=$? - - name: Create Pull Request - uses: peter-evans/create-pull-request@v3 - with: - delete-branch: true - branch: bugfix/format_${{ env.GITHUB_REF_SLUG }} - author: QMK Bot - committer: QMK Bot - commit-message: Format code according to conventions - title: '[CI] Format code according to conventions' + exit $((format_c_exit + format_python_exit)) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index cd67de9d8be2..c7a8624ee14e 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,7 +9,7 @@ jobs: lint: runs-on: ubuntu-latest - container: qmkfm/base_container + container: qmkfm/qmk_cli steps: - uses: actions/checkout@v2 diff --git a/.gitignore b/.gitignore index ae2045824427..f3b76f7edf5b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,37 +1,32 @@ -.history/ -.dep -*.o -*.bin -*.uf2 -*.zip -*.eep +# Junk files +*.bak +*.swp +*~ +.DS_Store + +# Build artifacts +.clang_complete +.build/ *.elf -*.hex -*.qmk -!util/bootloader.hex -!quantum/tools/eeprom_reset.hex *.log *.lss *.lst *.map +*.o +*.stackdump *.sym -*.swp -tags -*~ + +# QMK-specific api_data/v1 -build/ -.build/ -*.bak -.vagrant/ -quantum/version.h -.idea/ -CMakeLists.txt -cmake-build-debug -.clang_complete doxygen/ -.DS_Store -/util/wsl_downloaded -/util/win_downloaded +quantum/version.h +*.bin +*.eep +*.hex +*.qmk +*.uf2 + +# Old-style QMK Makefiles /keyboards/*/Makefile /keyboards/*/*/Makefile /keyboards/*/*/*/Makefile @@ -44,37 +39,49 @@ doxygen/ /keyboards/*/*/*/*/*/keymaps/Makefile # Eclipse/PyCharm/Other IDE Settings +*.iml +.browse.VC.db* .cproject +.idea +.idea/ .project .settings/ -.idea -*.iml -.browse.VC.db* -*.stackdump +.vagrant/ + +# ? +.dep +.history/ +build/ +cmake-build-debug +CMakeLists.txt + # Let these ones be user specific, since we have so many different configurations +*.code-workspace +.stfolder +.tags .vscode/c_cpp_properties.json +.vscode/ipch/ +.vscode/last.sql .vscode/launch.json .vscode/tasks.json -.vscode/last.sql .vscode/temp.sql -.vscode/ipch/ -.stfolder -.tags +tags -# ignore image files -*.png +# Ignore image files *.gif *.jpg +*.png -# things travis sees -secrets.tar -id_rsa_* +# Things Travis sees /.vs +id_rsa_* +secrets.tar -# python things +# Python things __pycache__ +.python-version -# prerequisites for updating ChibiOS +# Prerequisites for updating ChibiOS /util/fmpp* # Allow to exist but don't include it in the repo diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 17f401da45c7..000000000000 --- a/.travis.yml +++ /dev/null @@ -1,38 +0,0 @@ -os: linux -dist: trusty -group: edge -language: c -branches: - except: - - /^.*-automated-build$/ - - /^[0-9]+\.[0-9]+\.[0-9]+/ -env: - global: - - secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM= - - MAKEFLAGS="-j3 --output-sync" -services: - - docker -addons: - apt: - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-trusty-7 - packages: - - diffutils - - clang-format-7 - - libstdc++-7-dev -script: - - git fetch --depth=50 origin $TRAVIS_BRANCH:$TRAVIS_BRANCH - - git rev-parse --short HEAD - - git diff --name-only HEAD $TRAVIS_BRANCH - - bash util/travis_test.sh - - bash util/travis_build.sh -after_script: - bash util/travis_compiled_push.sh -notifications: - webhooks: - urls: - - https://webhooks.gitter.im/e/afce403d65f143dfac09 - on_success: always # options: [always|never|change] default: always - on_failure: always # options: [always|never|change] default: always - on_start: never # options: [always|never|change] default: always diff --git a/.vscode/settings.json b/.vscode/settings.json index 775b3df17222..5fedaf477bbf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -22,5 +22,9 @@ "[markdown]": { "editor.trimAutoWhitespace": false, "files.trimTrailingWhitespace": false + }, + "python.formatting.provider": "yapf", + "[json]": { + "editor.formatOnSave": false } } diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index c9e3e0586ae9..000000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,24 +0,0 @@ -# Code Of Conduct - -QMK strives to be an inclusive, tolerant, and welcoming community. We encourage participation from anyone regardless of age, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, political belief, race, religion, or sexual identity and orientation. - -> “A gentle word turns away wrath, but a harsh word stirs up anger." - -Our users, contributors, and collaborators are expected to treat each other with kindness and respect, to assume good intentions, and to gently correct, where possible, rather than react with escalation. While our goal is to be as accurate as possible, kindness and understanding are more valuable than correctness. Some examples of behavior we will not tolerate include, but is not limited to: - -* The use of sexualized language or imagery -* Unwelcome advances, sexual or otherwise -* Deliberate intimidation, stalking, or following -* Insults or derogatory comments, or personal or political attacks -* Publishing others’ private information without explicit permission -* Sustained disruption of talks or other events -* Other conduct which could reasonably be considered inappropriate in a professional setting -* Advocating for, or encouraging, any of the above behaviour - -# Reporting - -If someone is violating this Code of Conduct, please email hello@qmk.fm or reach out to one of the Collaborators to bring it to our attention. All complaints will be reviewed and investigated. - -QMK will seek to use the least punitive means available to resolve an issue. If the circumstances require asking an offender to leave, we will do that. - -Reports will be taken and kept in strict confidence. You will not be required to confront an offender directly. diff --git a/Dockerfile b/Dockerfile index 17831c4ec30a..e283c8f98a3d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,6 @@ -FROM qmkfm/base_container +FROM qmkfm/qmk_cli VOLUME /qmk_firmware WORKDIR /qmk_firmware -COPY . . -CMD make all:default +CMD qmk compile -kb all -km default diff --git a/Makefile b/Makefile index 91ab9e4e8ea6..bb2201e85221 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,13 @@ $(info QMK Firmware $(QMK_VERSION)) endif endif +# Determine which qmk cli to use +ifeq (,$(shell which qmk)) + QMK_BIN = bin/qmk +else + QMK_BIN = qmk +endif + # avoid 'Entering|Leaving directory' messages MAKEFLAGS += --no-print-directory @@ -86,8 +93,8 @@ clean: .PHONY: distclean distclean: clean - echo -n 'Deleting *.bin and *.hex ... ' - rm -f *.bin *.hex + echo -n 'Deleting *.bin, *.hex, and *.uf2 ... ' + rm -f *.bin *.hex *.uf2 echo 'done.' #Compatibility with the old make variables, anything you specify directly on the command line @@ -245,11 +252,20 @@ define PARSE_RULE else $$(info make: *** No rule to make target '$1'. Stop.) $$(info |) - $$(info | QMK's make format recently changed to use folder locations and colons:) - $$(info | make project_folder:keymap[:target]) - $$(info | Examples:) - $$(info | make dz60:default) - $$(info | make planck/rev6:default:flash) + $$(info | QMK's make format is:) + $$(info | make keyboard_folder:keymap_folder[:target]) + $$(info |) + $$(info | Where `keyboard_folder` is the path to the keyboard relative to) + $$(info | `qmk_firmware/keyboards/`, and `keymap_folder` is the name of the) + $$(info | keymap folder under that board's `keymaps/` directory.) + $$(info |) + $$(info | Examples:) + $$(info | keyboards/dz60, keyboards/dz60/keymaps/default) + $$(info | -> make dz60:default) + $$(info | -> qmk compile -kb dz60 -km default) + $$(info | keyboards/planck/rev6, keyboards/planck/keymaps/default) + $$(info | -> make planck/rev6:default:flash) + $$(info | -> qmk flash -kb planck/rev6 -km default) $$(info |) endif endef @@ -384,7 +400,7 @@ define PARSE_KEYMAP # Format it in bold KB_SP := $(BOLD)$$(KB_SP)$(NO_COLOR) # Specify the variables that we are passing forward to submake - MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM) REQUIRE_PLATFORM_KEY=$$(REQUIRE_PLATFORM_KEY) + MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM) REQUIRE_PLATFORM_KEY=$$(REQUIRE_PLATFORM_KEY) QMK_BIN=$$(QMK_BIN) # And the first part of the make command MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_keyboard.mk $$(MAKE_TARGET) # The message to display @@ -501,8 +517,8 @@ endef %: # Check if we have the CMP tool installed cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi; - # Ensure that bin/qmk works. - if ! bin/qmk hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; exit 1; fi + # Ensure that $(QMK_BIN) works. + if ! $(QMK_BIN) hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; exit 1; fi # Check if the submodules are dirty, and display a warning if they are ifndef SKIP_GIT if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 50 --init lib/chibios; fi @@ -541,29 +557,14 @@ git-submodule: git submodule sync --recursive git submodule update --init --recursive --progress -ifdef SKIP_VERSION -SKIP_GIT := yes -endif - # Generate the version.h file -ifndef SKIP_GIT - GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S") - CHIBIOS_VERSION := $(shell cd lib/chibios && git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S") - CHIBIOS_CONTRIB_VERSION := $(shell cd lib/chibios-contrib && git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S") -else - GIT_VERSION := NA - CHIBIOS_VERSION := NA - CHIBIOS_CONTRIB_VERSION := NA +ifdef SKIP_GIT +VERSION_H_FLAGS := --skip-git endif -ifndef SKIP_VERSION -BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S") -else -BUILD_DATE := 2020-01-01-00:00:00 +ifdef SKIP_VERSION +VERSION_H_FLAGS := --skip-all +SKIP_GIT := yes endif - -$(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h) -$(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h) -$(shell echo '#define CHIBIOS_VERSION "$(CHIBIOS_VERSION)"' >> $(ROOT_DIR)/quantum/version.h) -$(shell echo '#define CHIBIOS_CONTRIB_VERSION "$(CHIBIOS_CONTRIB_VERSION)"' >> $(ROOT_DIR)/quantum/version.h) +$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o quantum/version.h) include $(ROOT_DIR)/testlist.mk diff --git a/Vagrantfile b/Vagrantfile index adb93a3cee14..717f4ec98b10 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -6,7 +6,7 @@ Vagrant.configure(2) do |config| config.vm.define "qmk_firmware" # VMware/Virtualbox ( and also Hyperv/Parallels) 64 bit - config.vm.box = "generic/debian9" + config.vm.box = "generic/debian10" config.vm.synced_folder '.', '/vagrant' @@ -68,13 +68,13 @@ Vagrant.configure(2) do |config| ["virtualbox", "vmware_workstation", "vmware_fusion"].each do |type| config.vm.provider type do |virt, override| override.vm.provision "docker" do |d| - d.run "qmkfm/base_container", + d.run "qmkfm/qmk_cli", cmd: "tail -f /dev/null", args: "--privileged -v /dev:/dev -v '/vagrant:/vagrant'" end override.vm.provision "shell", inline: <<-SHELL - echo 'docker restart qmkfm-base_container && exec docker exec -it qmkfm-base_container /bin/bash -l' >> ~vagrant/.bashrc + echo 'docker restart qmkfm-qmk_cli && exec docker exec -it qmkfm-qmk_cli /bin/bash -l' >> ~vagrant/.bashrc SHELL end end diff --git a/bin/qmk b/bin/qmk index a3c1be328add..617f99282642 100755 --- a/bin/qmk +++ b/bin/qmk @@ -3,7 +3,6 @@ """ import os import sys -from importlib.util import find_spec from pathlib import Path # Add the QMK python libs to our path @@ -12,52 +11,9 @@ qmk_dir = script_dir.parent python_lib_dir = Path(qmk_dir / 'lib' / 'python').resolve() sys.path.append(str(python_lib_dir)) - -def _check_modules(requirements): - """ Check if the modules in the given requirements.txt are available. - """ - with Path(qmk_dir / requirements).open() as fd: - for line in fd.readlines(): - line = line.strip().replace('<', '=').replace('>', '=') - - if len(line) == 0 or line[0] == '#' or line.startswith('-r'): - continue - - if '#' in line: - line = line.split('#')[0] - - module = dict() - module['name'] = line.split('=')[0] if '=' in line else line - module['import'] = module['name'].replace('-', '_') - - # Not every module is importable by its own name. - if module['name'] == "pep8-naming": - module['import'] = "pep8ext_naming" - - if not find_spec(module['import']): - print('Could not find module %s!' % module['name']) - print('Please run `python3 -m pip install -r %s` to install required python dependencies.' % (qmk_dir / requirements,)) - if developer: - print('You can also turn off developer mode: qmk config user.developer=None') - print() - exit(255) - - -developer = False -# Make sure our modules have been setup -_check_modules('requirements.txt') - # Setup the CLI import milc # noqa -# For developers additional modules are needed -if milc.cli.config.user.developer: - # Do not run the check for 'config', - # so users can turn off developer mode - if len(sys.argv) == 1 or (len(sys.argv) > 1 and 'config' != sys.argv[1]): - developer = True - _check_modules('requirements-dev.txt') - milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}' @@ -73,9 +29,13 @@ def main(): """ # Change to the root of our checkout os.environ['ORIG_CWD'] = os.getcwd() + os.environ['DEPRECATED_BIN_QMK'] = '1' os.chdir(qmk_dir) + print('Warning: The bin/qmk script is being deprecated. Please install the QMK CLI: python3 -m pip install qmk', file=sys.stderr) + # Import the subcommands + import milc.subcommand.config # noqa import qmk.cli # noqa # Execute diff --git a/bootloader.mk b/bootloader.mk index fd76446e99e4..2bcca6bb811a 100644 --- a/bootloader.mk +++ b/bootloader.mk @@ -21,18 +21,19 @@ # Current options: # # AVR: -# halfkay PJRC Teensy -# caterina Pro Micro (Sparkfun/generic) -# atmel-dfu Atmel factory DFU -# lufa-dfu LUFA DFU -# qmk-dfu QMK DFU (LUFA + blinkenlight) -# bootloadHID HIDBootFlash compatible (ATmega32A) -# USBasp USBaspLoader (ATmega328P) +# halfkay PJRC Teensy +# caterina Pro Micro (Sparkfun/generic) +# atmel-dfu Atmel factory DFU +# lufa-dfu LUFA DFU +# qmk-dfu QMK DFU (LUFA + blinkenlight) +# qmk-hid QMK HID (LUFA + blinkenlight) +# bootloadhid HIDBootFlash compatible (ATmega32A) +# usbasploader USBaspLoader (ATmega328P) # ARM: -# kiibohd Input:Club Kiibohd bootloader (only used on their boards) -# stm32duino STM32Duino (STM32F103x8) -# stm32-dfu STM32 USB DFU in ROM -# apm32-dfu APM32 USB DFU in ROM +# kiibohd Input:Club Kiibohd bootloader (only used on their boards) +# stm32duino STM32Duino (STM32F103x8) +# stm32-dfu STM32 USB DFU in ROM +# apm32-dfu APM32 USB DFU in ROM # # BOOTLOADER_SIZE can still be defined manually, but it's recommended # you add any possible configuration to this list @@ -67,6 +68,11 @@ ifeq ($(strip $(BOOTLOADER)), qmk-dfu) BOOTLOADER_SIZE = 8192 endif endif +ifeq ($(strip $(BOOTLOADER)), qmk-hid) + OPT_DEFS += -DBOOTLOADER_QMK_HID + OPT_DEFS += -DBOOTLOADER_HID + BOOTLOADER_SIZE = 4096 +endif ifeq ($(strip $(BOOTLOADER)), halfkay) OPT_DEFS += -DBOOTLOADER_HALFKAY ifeq ($(strip $(MCU)), atmega32u4) @@ -80,20 +86,26 @@ ifeq ($(strip $(BOOTLOADER)), caterina) OPT_DEFS += -DBOOTLOADER_CATERINA BOOTLOADER_SIZE = 4096 endif -ifeq ($(strip $(BOOTLOADER)), bootloadHID) +ifneq (,$(filter $(BOOTLOADER), bootloadhid bootloadHID)) OPT_DEFS += -DBOOTLOADER_BOOTLOADHID BOOTLOADER_SIZE = 4096 endif -ifeq ($(strip $(BOOTLOADER)), USBasp) +ifneq (,$(filter $(BOOTLOADER), usbasploader USBasp)) OPT_DEFS += -DBOOTLOADER_USBASP BOOTLOADER_SIZE = 4096 endif ifeq ($(strip $(BOOTLOADER)), lufa-ms) - # DO NOT USE THIS BOOTLOADER IN NEW PROJECTS! - # It is extremely prone to bricking, and is only included to support existing boards. OPT_DEFS += -DBOOTLOADER_MS - BOOTLOADER_SIZE = 6144 + BOOTLOADER_SIZE ?= 8192 FIRMWARE_FORMAT = bin +cpfirmware: lufa_warning +.INTERMEDIATE: lufa_warning +lufa_warning: $(FIRMWARE_FORMAT) + $(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@) + $(info LUFA MASS STORAGE Bootloader selected) + $(info DO NOT USE THIS BOOTLOADER IN NEW PROJECTS!) + $(info It is extremely prone to bricking, and is only included to support existing boards.) + $(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@) endif ifdef BOOTLOADER_SIZE OPT_DEFS += -DBOOTLOADER_SIZE=$(strip $(BOOTLOADER_SIZE)) @@ -137,3 +149,6 @@ ifeq ($(strip $(BOOTLOADER)), stm32duino) DFU_ARGS = -d 1EAF:0003 -a 2 -R DFU_SUFFIX_ARGS = -v 1EAF -p 0003 endif +ifeq ($(strip $(BOOTLOADER)), tinyuf2) + OPT_DEFS += -DBOOTLOADER_TINYUF2 +endif diff --git a/build_json.mk b/build_json.mk index 6e2f9c4c8f28..0c034eb2aea0 100644 --- a/build_json.mk +++ b/build_json.mk @@ -1,31 +1,17 @@ # Look for a json keymap file ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","") - KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","") - KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","") - KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","") - KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","") - KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) endif - -# Load the keymap-level rules.mk if exists -ifneq ("$(wildcard $(KEYMAP_PATH))", "") - -include $(KEYMAP_PATH)/rules.mk -endif - -# Generate the keymap.c -$(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) - bin/qmk json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON) diff --git a/build_keyboard.mk b/build_keyboard.mk index cf36a69e0937..6dfc771fd402 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk @@ -12,6 +12,9 @@ endif include common.mk +# Set the qmk cli to use +QMK_BIN ?= qmk + # Set the filename for the final firmware binary KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD)) TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP) @@ -20,6 +23,15 @@ KEYBOARD_OUTPUT := $(BUILD_DIR)/obj_$(KEYBOARD_FILESAFE) # Force expansion TARGET := $(TARGET) +ifneq ($(FORCE_LAYOUT),) + TARGET := $(TARGET)_$(FORCE_LAYOUT) +endif + +# Object files and generated keymap directory +# To put object files in current directory, use a dot (.), do NOT make +# this an empty or blank macro! +KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET) + # For split boards we need to set a master half. MASTER ?= left ifdef master @@ -97,7 +109,7 @@ MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP) MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP) # Pull in rules from info.json -INFO_RULES_MK = $(shell bin/qmk generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/rules.mk) +INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_rules.mk) include $(INFO_RULES_MK) # Check for keymap.json first, so we can regenerate keymap.c @@ -134,16 +146,35 @@ ifeq ("$(wildcard $(KEYMAP_PATH))", "") endif endif +# Have we found a keymap.json? +ifneq ("$(wildcard $(KEYMAP_JSON))", "") + KEYMAP_C := $(KEYMAP_OUTPUT)/src/keymap.c + KEYMAP_H := $(KEYMAP_OUTPUT)/src/config.h + + # Load the keymap-level rules.mk if exists + -include $(KEYMAP_PATH)/rules.mk + + # Load any rules.mk content from keymap.json + INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --keymap $(KEYMAP) --output $(KEYMAP_OUTPUT)/src/rules.mk) + include $(INFO_RULES_MK) + +# Add rules to generate the keymap files - indentation here is important +$(KEYMAP_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) + $(QMK_BIN) json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON) + +$(KEYMAP_OUTPUT)/src/config.h: $(KEYMAP_JSON) + $(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --keymap $(KEYMAP) --output $(KEYMAP_H) + +generated-files: $(KEYMAP_OUTPUT)/src/config.h $(KEYMAP_OUTPUT)/src/keymap.c + +endif + ifeq ($(strip $(CTPC)), yes) CONVERT_TO_PROTON_C=yes endif ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes) - include platforms/chibios/QMK_PROTON_C/convert_to_proton_c.mk -endif - -ifneq ($(FORCE_LAYOUT),) - TARGET := $(TARGET)_$(FORCE_LAYOUT) + include platforms/chibios/boards/QMK_PROTON_C/convert_to_proton_c.mk endif include quantum/mcu_selection.mk @@ -205,6 +236,7 @@ endif # # https://docs.qmk.fm/#/feature_layouts?id=tips-for-making-layouts-keyboard-agnostic # +QMK_KEYBOARD_H = $(KEYBOARD_OUTPUT)/src/default_keyboard.h ifneq ("$(wildcard $(KEYBOARD_PATH_1)/$(KEYBOARD_FOLDER_1).h)","") QMK_KEYBOARD_H = $(KEYBOARD_FOLDER_1).h endif @@ -240,6 +272,7 @@ ifdef MCU_FAMILY PLATFORM_KEY=nrf FIRMWARE_FORMAT=hex endif + OPT_DEFS += -DMCU_$(MCU_FAMILY) else ifdef ARM_ATSAM PLATFORM=ARM_ATSAM PLATFORM_KEY=arm_atsam @@ -306,12 +339,15 @@ endif CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h $(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES) - bin/qmk generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h + $(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h + +$(KEYBOARD_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES) + $(QMK_BIN) generate-keyboard-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.h $(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES) - bin/qmk generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h + $(QMK_BIN) generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h -generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h +generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.h $(KEYBOARD_OUTPUT)/src/layouts.h .INTERMEDIATE : generated-files @@ -332,19 +368,19 @@ endif # Disable features that a keyboard doesn't support -include disable_features.mk -# Object files directory -# To put object files in current directory, use a dot (.), do NOT make -# this an empty or blank macro! -KEYMAP_OUTPUT := $(BUILD_DIR)/obj_$(TARGET) - ifneq ("$(wildcard $(KEYMAP_PATH)/config.h)","") CONFIG_H += $(KEYMAP_PATH)/config.h endif +ifneq ("$(KEYMAP_H)","") + CONFIG_H += $(KEYMAP_H) +endif # project specific files -SRC += $(KEYBOARD_SRC) \ +SRC += \ + $(KEYBOARD_SRC) \ $(KEYMAP_C) \ - $(QUANTUM_SRC) + $(QUANTUM_SRC) \ + $(QUANTUM_DIR)/main.c \ # Optimize size but this may cause error "relocation truncated to fit" #EXTRALDFLAGS = -Wl,--relax @@ -379,6 +415,7 @@ ifneq ($(strip $(PROTOCOL)),) else include $(TMK_PATH)/protocol/$(PLATFORM_KEY).mk endif +-include $(TOP_DIR)/platforms/$(PLATFORM_KEY)/flash.mk # TODO: remove this bodge? PROJECT_DEFS := $(OPT_DEFS) diff --git a/build_layout.mk b/build_layout.mk index 4748ad483d89..b4b00793eadc 100644 --- a/build_layout.mk +++ b/build_layout.mk @@ -7,7 +7,6 @@ define SEARCH_LAYOUTS_REPO LAYOUT_KEYMAP_C := $$(LAYOUT_KEYMAP_PATH)/keymap.c ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_JSON))","") -include $$(LAYOUT_KEYMAP_PATH)/rules.mk - KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c KEYMAP_JSON := $$(LAYOUT_KEYMAP_JSON) KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH) else ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_C))","") @@ -31,6 +30,3 @@ ifneq ($(FORCE_LAYOUT),) endif $(foreach LAYOUT,$(LAYOUTS),$(eval $(call SEARCH_LAYOUTS))) - -# Use rule from build_json.mk, but update prerequisite in case KEYMAP_JSON was updated -$(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON) diff --git a/build_test.mk b/build_test.mk index 77c4265f9371..037577bf9041 100644 --- a/build_test.mk +++ b/build_test.mk @@ -24,7 +24,6 @@ GTEST_INTERNAL_INC :=\ $(GTEST_OUTPUT)_SRC :=\ googletest/src/gtest-all.cc\ - googletest/src/gtest_main.cc\ googlemock/src/gmock-all.cc $(GTEST_OUTPUT)_DEFS := @@ -35,7 +34,8 @@ CREATE_MAP := no VPATH +=\ $(LIB_PATH)/googletest\ - $(LIB_PATH)/googlemock + $(LIB_PATH)/googlemock\ + $(LIB_PATH)/printf all: elf @@ -43,18 +43,29 @@ VPATH += $(COMMON_VPATH) PLATFORM:=TEST PLATFORM_KEY:=test +ifeq ($(strip $(DEBUG)), 1) +CONSOLE_ENABLE = yes +endif + ifneq ($(filter $(FULL_TESTS),$(TEST)),) include tests/$(TEST)/rules.mk endif include common_features.mk include $(TMK_PATH)/common.mk +include $(QUANTUM_PATH)/debounce/tests/rules.mk include $(QUANTUM_PATH)/sequencer/tests/rules.mk include $(QUANTUM_PATH)/serial_link/tests/rules.mk +include $(TMK_PATH)/common/test/rules.mk ifneq ($(filter $(FULL_TESTS),$(TEST)),) include build_full_test.mk endif +$(TEST)_SRC += \ + tests/test_common/main.c \ + $(LIB_PATH)/printf/printf.c \ + $(QUANTUM_PATH)/logging/print.c + $(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC) $(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC) $(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS) diff --git a/common.mk b/common.mk index c13b5e2768a7..8acea39376e6 100644 --- a/common.mk +++ b/common.mk @@ -12,6 +12,9 @@ QUANTUM_PATH = $(QUANTUM_DIR) DRIVER_DIR = drivers DRIVER_PATH = $(DRIVER_DIR) +PLATFORM_DIR = platforms +PLATFORM_PATH = $(PLATFORM_DIR) + BUILD_DIR := .build COMMON_VPATH := $(TOP_DIR) diff --git a/common_features.mk b/common_features.mk index 8c9d0a90c70e..f4f79000b392 100644 --- a/common_features.mk +++ b/common_features.mk @@ -20,8 +20,23 @@ QUANTUM_SRC += \ $(QUANTUM_DIR)/send_string.c \ $(QUANTUM_DIR)/bitwise.c \ $(QUANTUM_DIR)/led.c \ + $(QUANTUM_DIR)/action.c \ + $(QUANTUM_DIR)/action_layer.c \ + $(QUANTUM_DIR)/action_macro.c \ + $(QUANTUM_DIR)/action_tapping.c \ + $(QUANTUM_DIR)/action_util.c \ + $(QUANTUM_DIR)/eeconfig.c \ + $(QUANTUM_DIR)/keyboard.c \ $(QUANTUM_DIR)/keymap_common.c \ - $(QUANTUM_DIR)/keycode_config.c + $(QUANTUM_DIR)/keycode_config.c \ + $(QUANTUM_DIR)/logging/debug.c \ + $(QUANTUM_DIR)/logging/sendchar.c \ + +VPATH += $(QUANTUM_DIR)/logging +# Fall back to lib/printf if there is no platform provided print +ifeq ("$(wildcard $(TMK_PATH)/common/$(PLATFORM_KEY)/printf.mk)","") + include $(QUANTUM_PATH)/logging/print.mk +endif ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), yes) OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE @@ -102,13 +117,13 @@ endif ifeq ($(strip $(MOUSEKEY_ENABLE)), yes) OPT_DEFS += -DMOUSEKEY_ENABLE - OPT_DEFS += -DMOUSE_ENABLE + MOUSE_ENABLE := yes SRC += $(QUANTUM_DIR)/mousekey.c endif ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes) OPT_DEFS += -DPOINTING_DEVICE_ENABLE - OPT_DEFS += -DMOUSE_ENABLE + MOUSE_ENABLE := yes SRC += $(QUANTUM_DIR)/pointing_device.c endif @@ -170,6 +185,7 @@ else else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),) OPT_DEFS += -DEEPROM_DRIVER COMMON_VPATH += $(DRIVER_PATH)/eeprom + COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom SRC += eeprom_driver.c eeprom_stm32_L0_L1.c else # This will effectively work the same as "transient" if not supported by the chip @@ -196,10 +212,11 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) ifeq ($(filter $(RGBLIGHT_DRIVER),$(VALID_RGBLIGHT_TYPES)),) $(error RGBLIGHT_DRIVER="$(RGBLIGHT_DRIVER)" is not a valid RGB type) else - POST_CONFIG_H += $(QUANTUM_DIR)/rgblight_post_config.h + COMMON_VPATH += $(QUANTUM_DIR)/rgblight + POST_CONFIG_H += $(QUANTUM_DIR)/rgblight/rgblight_post_config.h OPT_DEFS += -DRGBLIGHT_ENABLE SRC += $(QUANTUM_DIR)/color.c - SRC += $(QUANTUM_DIR)/rgblight.c + SRC += $(QUANTUM_DIR)/rgblight/rgblight.c CIE1931_CURVE := yes RGB_KEYCODES_ENABLE := yes endif @@ -223,25 +240,32 @@ VALID_LED_MATRIX_TYPES := IS31FL3731 custom ifeq ($(strip $(LED_MATRIX_ENABLE)), yes) ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),) - $(error LED_MATRIX_DRIVER="$(LED_MATRIX_DRIVER)" is not a valid matrix type) - else - BACKLIGHT_ENABLE = yes - BACKLIGHT_DRIVER = custom - OPT_DEFS += -DLED_MATRIX_ENABLE - SRC += $(QUANTUM_DIR)/led_matrix.c - SRC += $(QUANTUM_DIR)/led_matrix_drivers.c + $(error "$(LED_MATRIX_DRIVER)" is not a valid matrix type) endif + OPT_DEFS += -DLED_MATRIX_ENABLE +ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) + # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines + OPT_DEFS += -DLIB8_ATTINY +endif + COMMON_VPATH += $(QUANTUM_DIR)/led_matrix + COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations + COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations/runners + SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c + SRC += $(QUANTUM_DIR)/led_matrix/led_matrix.c + SRC += $(QUANTUM_DIR)/led_matrix/led_matrix_drivers.c + SRC += $(LIB_PATH)/lib8tion/lib8tion.c + CIE1931_CURVE := yes ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3731) OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE - COMMON_VPATH += $(DRIVER_PATH)/issi + COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3731-simple.c QUANTUM_LIB_SRC += i2c_master.c endif endif RGB_MATRIX_ENABLE ?= no -VALID_RGB_MATRIX_TYPES := IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 WS2812 custom +VALID_RGB_MATRIX_TYPES := AW20216 IS31FL3731 IS31FL3733 IS31FL3737 IS31FL3741 WS2812 custom ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) @@ -252,36 +276,47 @@ ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162)) # ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines OPT_DEFS += -DLIB8_ATTINY endif + COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix + COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations + COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations/runners SRC += $(QUANTUM_DIR)/color.c - SRC += $(QUANTUM_DIR)/rgb_matrix.c - SRC += $(QUANTUM_DIR)/rgb_matrix_drivers.c + SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix.c + SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix_drivers.c + SRC += $(LIB_PATH)/lib8tion/lib8tion.c CIE1931_CURVE := yes RGB_KEYCODES_ENABLE := yes + ifeq ($(strip $(RGB_MATRIX_DRIVER)), AW20216) + OPT_DEFS += -DAW20216 -DSTM32_SPI -DHAL_USE_SPI=TRUE + COMMON_VPATH += $(DRIVER_PATH)/led + SRC += aw20216.c + QUANTUM_LIB_SRC += spi_master.c + endif + ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3731) OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE - COMMON_VPATH += $(DRIVER_PATH)/issi + COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3731.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3733) OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE - COMMON_VPATH += $(DRIVER_PATH)/issi + COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3733.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3737) OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE - COMMON_VPATH += $(DRIVER_PATH)/issi + COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3737.c QUANTUM_LIB_SRC += i2c_master.c endif ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3741) OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE - COMMON_VPATH += $(DRIVER_PATH)/issi + COMMON_VPATH += $(DRIVER_PATH)/led/issi SRC += is31fl3741.c QUANTUM_LIB_SRC += i2c_master.c endif @@ -339,15 +374,14 @@ ifeq ($(strip $(LCD_ENABLE)), yes) CIE1931_CURVE := yes endif -# backward compat -ifeq ($(strip $(BACKLIGHT_CUSTOM_DRIVER)), yes) - BACKLIGHT_DRIVER := custom -endif - VALID_BACKLIGHT_TYPES := pwm timer software custom BACKLIGHT_ENABLE ?= no -BACKLIGHT_DRIVER ?= pwm +ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes) + BACKLIGHT_DRIVER ?= software +else + BACKLIGHT_DRIVER ?= pwm +endif ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) ifeq ($(filter $(BACKLIGHT_DRIVER),$(VALID_BACKLIGHT_TYPES)),) $(error BACKLIGHT_DRIVER="$(BACKLIGHT_DRIVER)" is not a valid backlight type) @@ -399,7 +433,7 @@ ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) endif ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes) - COMMON_VPATH += $(DRIVER_PATH)/apa102 + COMMON_VPATH += $(DRIVER_PATH)/led SRC += apa102.c endif @@ -422,10 +456,6 @@ ifeq ($(strip $(TERMINAL_ENABLE)), yes) OPT_DEFS += -DUSER_PRINT endif -ifeq ($(strip $(USB_HID_ENABLE)), yes) - include $(TMK_DIR)/protocol/usb_hid.mk -endif - ifeq ($(strip $(WPM_ENABLE)), yes) SRC += $(QUANTUM_DIR)/wpm.c OPT_DEFS += -DWPM_ENABLE @@ -459,6 +489,20 @@ ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes) SRC += $(QUANTUM_DIR)/dip_switch.c endif +VALID_MAGIC_TYPES := yes lite +BOOTMAGIC_ENABLE ?= no +ifneq ($(strip $(BOOTMAGIC_ENABLE)), no) + ifeq ($(filter $(BOOTMAGIC_ENABLE),$(VALID_MAGIC_TYPES)),) + $(error BOOTMAGIC_ENABLE="$(BOOTMAGIC_ENABLE)" is not a valid type of magic) + endif + ifneq ($(strip $(BOOTMAGIC_ENABLE)), no) + OPT_DEFS += -DBOOTMAGIC_LITE + QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/bootmagic_lite.c + endif +endif +COMMON_VPATH += $(QUANTUM_DIR)/bootmagic +QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/magic.c + VALID_CUSTOM_MATRIX_TYPES:= yes lite no CUSTOM_MATRIX ?= no @@ -474,42 +518,31 @@ ifneq ($(strip $(CUSTOM_MATRIX)), yes) # if 'lite' then skip the actual matrix implementation ifneq ($(strip $(CUSTOM_MATRIX)), lite) # Include the standard or split matrix code if needed - ifeq ($(strip $(SPLIT_KEYBOARD)), yes) - QUANTUM_SRC += $(QUANTUM_DIR)/split_common/matrix.c - else - QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c - endif + QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c endif endif -# Support for translating old names to new names: -ifeq ($(strip $(DEBOUNCE_TYPE)),sym_g) - DEBOUNCE_TYPE:=sym_defer_g -else ifeq ($(strip $(DEBOUNCE_TYPE)),eager_pk) - DEBOUNCE_TYPE:=sym_eager_pk -else ifeq ($(strip $(DEBOUNCE_TYPE)),sym_pk) - DEBOUNCE_TYPE:=sym_defer_pk -else ifeq ($(strip $(DEBOUNCE_TYPE)),eager_pr) - DEBOUNCE_TYPE:=sym_eager_pr -endif - -DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce # Debounce Modules. Set DEBOUNCE_TYPE=custom if including one manually. -DEBOUNCE_TYPE?= sym_defer_g +DEBOUNCE_TYPE ?= sym_defer_g ifneq ($(strip $(DEBOUNCE_TYPE)), custom) - QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c + QUANTUM_SRC += $(QUANTUM_DIR)/debounce/$(strip $(DEBOUNCE_TYPE)).c endif ifeq ($(strip $(SPLIT_KEYBOARD)), yes) POST_CONFIG_H += $(QUANTUM_DIR)/split_common/post_config.h OPT_DEFS += -DSPLIT_KEYBOARD + CRC_ENABLE := yes # Include files used by all split keyboards QUANTUM_SRC += $(QUANTUM_DIR)/split_common/split_util.c # Determine which (if any) transport files are required ifneq ($(strip $(SPLIT_TRANSPORT)), custom) - QUANTUM_LIB_SRC += $(QUANTUM_DIR)/split_common/transport.c + QUANTUM_SRC += $(QUANTUM_DIR)/split_common/transport.c \ + $(QUANTUM_DIR)/split_common/transactions.c + + OPT_DEFS += -DSPLIT_COMMON_TRANSACTIONS + # Functions added via QUANTUM_LIB_SRC are only included in the final binary if they're called. # Unused functions are pruned away, which is why we can add multiple drivers here without bloat. ifeq ($(PLATFORM),AVR) @@ -530,11 +563,17 @@ ifeq ($(strip $(SPLIT_KEYBOARD)), yes) COMMON_VPATH += $(QUANTUM_PATH)/split_common endif +ifeq ($(strip $(CRC_ENABLE)), yes) + OPT_DEFS += -DCRC_ENABLE + SRC += crc.c +endif + HAPTIC_ENABLE ?= no ifneq ($(strip $(HAPTIC_ENABLE)),no) COMMON_VPATH += $(DRIVER_PATH)/haptic - SRC += haptic.c OPT_DEFS += -DHAPTIC_ENABLE + SRC += $(QUANTUM_DIR)/haptic.c + SRC += $(QUANTUM_DIR)/process_keycode/process_haptic.c endif ifneq ($(filter DRV2605L, $(HAPTIC_ENABLE)), ) @@ -549,15 +588,33 @@ ifneq ($(filter SOLENOID, $(HAPTIC_ENABLE)), ) endif ifeq ($(strip $(HD44780_ENABLE)), yes) - SRC += drivers/avr/hd44780.c + SRC += platforms/avr/drivers/hd44780.c OPT_DEFS += -DHD44780_ENABLE endif -ifeq ($(strip $(OLED_DRIVER_ENABLE)), yes) - OPT_DEFS += -DOLED_DRIVER_ENABLE - COMMON_VPATH += $(DRIVER_PATH)/oled - QUANTUM_LIB_SRC += i2c_master.c - SRC += oled_driver.c +VALID_OLED_DRIVER_TYPES := SSD1306 custom +OLED_DRIVER ?= SSD1306 +ifeq ($(strip $(OLED_ENABLE)), yes) + ifeq ($(filter $(OLED_DRIVER),$(VALID_OLED_DRIVER_TYPES)),) + $(error OLED_DRIVER="$(OLED_DRIVER)" is not a valid OLED driver) + else + OPT_DEFS += -DOLED_ENABLE + COMMON_VPATH += $(DRIVER_PATH)/oled + + OPT_DEFS += -DOLED_DRIVER_$(strip $(shell echo $(OLED_DRIVER) | tr '[:lower:]' '[:upper:]')) + ifeq ($(strip $(OLED_DRIVER)), SSD1306) + SRC += ssd1306_sh1106.c + QUANTUM_LIB_SRC += i2c_master.c + endif + endif +endif + +ifeq ($(strip $(ST7565_ENABLE)), yes) + OPT_DEFS += -DST7565_ENABLE + COMMON_VPATH += $(DRIVER_PATH)/oled # For glcdfont.h + COMMON_VPATH += $(DRIVER_PATH)/lcd + QUANTUM_LIB_SRC += spi_master.c + SRC += st7565.c endif include $(DRIVER_PATH)/qwiic/qwiic.mk @@ -612,6 +669,11 @@ ifeq ($(strip $(COMBO_ENABLE)), yes) OPT_DEFS += -DCOMBO_ENABLE endif +ifeq ($(strip $(KEY_OVERRIDE_ENABLE)), yes) + SRC += $(QUANTUM_DIR)/process_keycode/process_key_override.c + OPT_DEFS += -DKEY_OVERRIDE_ENABLE +endif + ifeq ($(strip $(TAP_DANCE_ENABLE)), yes) SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c OPT_DEFS += -DTAP_DANCE_ENABLE @@ -636,19 +698,28 @@ ifeq ($(strip $(AUTO_SHIFT_ENABLE)), yes) endif JOYSTICK_ENABLE ?= no -ifneq ($(strip $(JOYSTICK_ENABLE)), no) +VALID_JOYSTICK_TYPES := analog digital +JOYSTICK_DRIVER ?= analog +ifeq ($(strip $(JOYSTICK_ENABLE)), yes) + ifeq ($(filter $(JOYSTICK_DRIVER),$(VALID_JOYSTICK_TYPES)),) + $(error "$(JOYSTICK_DRIVER)" is not a valid joystick driver) + endif OPT_DEFS += -DJOYSTICK_ENABLE SRC += $(QUANTUM_DIR)/process_keycode/process_joystick.c SRC += $(QUANTUM_DIR)/joystick.c -endif -ifeq ($(strip $(JOYSTICK_ENABLE)), analog) - OPT_DEFS += -DANALOG_JOYSTICK_ENABLE - SRC += analog.c + ifeq ($(strip $(JOYSTICK_DRIVER)), analog) + OPT_DEFS += -DANALOG_JOYSTICK_ENABLE + SRC += analog.c + endif + ifeq ($(strip $(JOYSTICK_DRIVER)), digital) + OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE + endif endif -ifeq ($(strip $(JOYSTICK_ENABLE)), digital) - OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE +DIGITIZER_ENABLE ?= no +ifneq ($(strip $(DIGITIZER_ENABLE)), no) + SRC += $(QUANTUM_DIR)/digitizer.c endif USBPD_ENABLE ?= no @@ -673,4 +744,4 @@ ifeq ($(strip $(USBPD_ENABLE)), yes) # Board designers can add their own driver to $(SRC) endif endif -endif \ No newline at end of file +endif diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json index b949b13320d3..72bb0f4a1cef 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.json @@ -1,21 +1,48 @@ -# This file maps keys between `config.h` and `info.json`. It is used by QMK +# This file maps keys between `config.h` and `info.json`. It is used by QMK # to correctly and consistently map back and forth between the two systems. { # Format: # : {"info_key": , ["value_type": ], ["to_json": ], ["to_c": ]} - # value_type: one of "array", "array.int", "int", "hex", "list", "mapping" + # value_type: one of "array", "array.int", "bool", "int", "hex", "list", "mapping" # to_json: Default `true`. Set to `false` to exclude this mapping from info.json # to_c: Default `true`. Set to `false` to exclude this mapping from config.h # warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places - "DEBOUNCE": {"info_key": "debounce", "value_type": "int"} + "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"}, + "BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"}, + "BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"}, + "BACKLIGHT_PIN": {"info_key": "backlight.pin"}, + "COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"}, + "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"}, + "DEBOUNCE": {"info_key": "debounce", "value_type": "int"}, "DEVICE_VER": {"info_key": "usb.device_ver", "value_type": "hex"}, "DESCRIPTION": {"info_key": "keyboard_folder", "to_json": false}, "DIODE_DIRECTION": {"info_key": "diode_direction"}, + "FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"}, + "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"}, + "DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"}, + "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "tapping.ignore_mod_tap_interrupt", "value_type": "bool"}, + "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "tapping.ignore_mod_tap_interrupt_per_key", "value_type": "bool"}, "LAYOUTS": {"info_key": "layout_aliases", "value_type": "mapping"}, + "LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "bool"}, + "LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "bool"}, + "LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"}, "LED_CAPS_LOCK_PIN": {"info_key": "indicators.caps_lock"}, "LED_NUM_LOCK_PIN": {"info_key": "indicators.num_lock"}, "LED_SCROLL_LOCK_PIN": {"info_key": "indicators.scroll_lock"}, "MANUFACTURER": {"info_key": "manufacturer"}, + "MATRIX_HAS_GHOST": {"info_key": "matrix_pins.ghost", "value_type": "bool"}, + "MATRIX_IO_DELAY": {"info_key": "matrix_pins.io_delay", "value_type": "int"}, + "MOUSEKEY_DELAY": {"info_key": "mousekey.delay", "value_type": "int"}, + "MOUSEKEY_INTERVAL": {"info_key": "mousekey.interval", "value_type": "int"}, + "MOUSEKEY_MAX_SPEED": {"info_key": "mousekey.max_speed", "value_type": "int"}, + "MOUSEKEY_TIME_TO_MAX": {"info_key": "mousekey.time_to_max", "value_type": "int"}, + "MOUSEKEY_WHEEL_DELAY": {"info_key": "mousekey.wheel_delay", "value_type": "int"}, + "ONESHOT_TIMEOUT": {"info_key": "oneshot.timeout", "value_type": "int"}, + "ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"}, + "PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"}, + "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"}, + "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"}, + "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"}, "RGB_DI_PIN": {"info_key": "rgblight.pin"}, "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"}, "RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"}, @@ -30,17 +57,40 @@ "RGBLIGHT_EFFECT_SNAKE": {"info_key": "rgblight.animations.snake", "value_type": "bool"}, "RGBLIGHT_EFFECT_STATIC_GRADIENT": {"info_key": "rgblight.animations.static_gradient", "value_type": "bool"}, "RGBLIGHT_EFFECT_TWINKLE": {"info_key": "rgblight.animations.twinkle"}, + "RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"}, + "RGBLIGHT_LAYERS": {"info_key": "rgblight.layers.enabled", "value_type": "bool"}, + "RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF": {"info_key": "rgblight.layers.override_rgb", "value_type": "bool"}, "RGBLIGHT_LIMIT_VAL": {"info_key": "rgblight.max_brightness", "value_type": "int"}, + "RGBLIGHT_MAX_LAYERS": {"info_key": "rgblight.layers.max", "value_type": "int"}, "RGBLIGHT_HUE_STEP": {"info_key": "rgblight.hue_steps", "value_type": "int"}, "RGBLIGHT_SAT_STEP": {"info_key": "rgblight.saturation_steps", "value_type": "int"}, "RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"}, "RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"}, "RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"}, + "RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"}, "PRODUCT": {"info_key": "keyboard_folder", "to_json": false}, "PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex"}, "VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex"}, "QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"}, "QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"}, + "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int"}, "QMK_LED": {"info_key": "qmk_lufa_bootloader.led"}, - "QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"} + "QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"}, + "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync_modifiers", "value_type": "bool"}, + "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync_matrix_state", "value_type": "bool"}, + "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"}, + "SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"}, + "SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"}, + "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"}, + "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"}, + "TAP_CODE_DELAY": {"info_key": "qmk.tap_keycode_delay", "value_type": "int"}, + "TAP_HOLD_CAPS_DELAY": {"info_key": "qmk.tap_capslock_delay", "value_type": "int"}, + "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool"}, + "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool"}, + "TAPPING_TERM": {"info_key": "tapping.term", "value_type": "int"}, + "TAPPING_TERM_PER_KEY": {"info_key": "tapping.term_per_key", "value_type": "bool"}, + "TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"}, + "USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"}, + "USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"}, + "USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"}, } diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json index 97f772c4d5b5..aea67e04c846 100644 --- a/data/mappings/info_rules.json +++ b/data/mappings/info_rules.json @@ -1,15 +1,25 @@ -# This file maps keys between `rules.mk` and `info.json`. It is used by QMK +# This file maps keys between `rules.mk` and `info.json`. It is used by QMK # to correctly and consistently map back and forth between the two systems. { # Format: # : {"info_key": , ["value_type": ], ["to_json": ], ["to_c": ]} - # value_type: one of "array", "array.int", "int", "list", "hex", "mapping" + # value_type: one of "array", "array.int", "bool", "int", "list", "hex", "mapping" # to_json: Default `true`. Set to `false` to exclude this mapping from info.json # to_c: Default `true`. Set to `false` to exclude this mapping from rules.mk # warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places "BOARD": {"info_key": "board"}, "BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false}, + "BLUETOOTH": {"info_key": "bluetooth.driver"}, + "FIRMWARE_FORMAT": {"info_key": "build.firmware_format"}, + "KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"}, + "MOUSE_SHARED_EP": {"info_key": "usb.shared_endpoint.mouse", "value_type": "bool"}, "LAYOUTS": {"info_key": "community_layouts", "value_type": "list"}, "LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"}, + "LTO_ENABLE": {"info_key": "build.lto", "value_type": "bool"}, "MCU": {"info_key": "processor", "warn_duplicate": false}, + "MOUSEKEY_ENABLE": {"info_key": "mouse_key.enabled", "value_type": "bool"}, + "NO_USB_STARTUP_CHECK": {"info_key": "usb.no_startup_check", "value_type": "bool"}, + "SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"}, + "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "value_type": "str", "to_c": false}, + "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"} } diff --git a/data/mappings/keyboard_aliases.json b/data/mappings/keyboard_aliases.json new file mode 100644 index 000000000000..60c91b1bfcac --- /dev/null +++ b/data/mappings/keyboard_aliases.json @@ -0,0 +1,564 @@ +{ + # Format for each entry: + # : { + # target: , + # layouts: { + # : + # } + # } + # + # Both target and layouts are optional. + '2_milk': { + target: 'spaceman/2_milk' + }, + 'aeboards/constellation': { + target: 'aeboards/constellation/rev1' + }, + 'aeboards/ext65': { + target: 'aeboards/ext65/rev1' + }, + 'ai03/equinox': { + target: 'ai03/equinox/rev1' + }, + aleth42: { + target: 'aleth42/rev1' + }, + alice: { + target: 'tgr/alice' + }, + angel17: { + target: 'angel17/alpha' + }, + angel64: { + target: 'angel64/alpha' + }, + at101_blackheart: { + target: 'at101_bh' + }, + 'atom47/rev2': { + target: 'maartenwut/atom47/rev2' + }, + 'atom47/rev3': { + target: 'maartenwut/atom47/rev3' + }, + bakeneko65: { + target: 'bakeneko65/rev2' + }, + bear_face: { + target: 'bear_face/v1' + }, + bm16a: { + target: 'kprepublic/bm16a' + }, + bm16s: { + target: 'kprepublic/bm16s' + }, + bm40hsrgb: { + target: 'kprepublic/bm40hsrgb' + }, + bm43a: { + target: 'kprepublic/bm43a' + }, + bm60poker: { + target: 'kprepublic/bm60poker' + }, + bm60rgb: { + target: 'kprepublic/bm60rgb' + }, + bm60rgb_iso: { + target: 'kprepublic/bm60rgb_iso' + }, + bm68rgb: { + target: 'kprepublic/bm68rgb' + }, + 'bpiphany/pegasushoof': { + target: 'bpiphany/pegasushoof/2013' + }, + chavdai40: { + target: 'chavdai40/rev1' + }, + 'candybar/lefty': { + target: 'tkc/candybar/lefty' + }, + 'candybar/righty': { + target: 'tkc/candybar/righty' + }, + canoe: { + target: 'percent/canoe' + }, + 'clawsome/gamebuddy': { + target: 'clawsome/gamebuddy/v1_0' + }, + 'cmm_studio/saka68': { + target: 'cmm_studio/saka68/solder' + }, + 'cospad': { + target: 'kprepublic/cospad' + }, + 'crkbd/rev1/legacy': { + target: 'crkbd/rev1' + }, + 'crkbd/rev1/common': { + target: 'crkbd/rev1' + }, + 'custommk/genesis': { + target: 'custommk/genesis/rev1' + }, + 'daisy': { + target: 'ktec/daisy' + }, + 'doro67/multi': { + layouts: { + LAYOUT_ansi: 'LAYOUT_65_ansi_blocker' + } + }, + 'doro67/regular': { + layouts: { + LAYOUT: 'LAYOUT_65_ansi_blocker' + } + }, + 'doro67/rgb': { + layouts: { + LAYOUT: 'LAYOUT_65_ansi_blocker' + } + }, + drakon: { + target: 'jagdpietr/drakon' + }, + 'durgod/k320': { + target: 'durgod/k3x0/k320' + }, + 'dztech/dz60rgb': { + target: 'dztech/dz60rgb/v1' + }, + 'dztech/dz60rgb_ansi': { + target: 'dztech/dz60rgb_ansi/v1' + }, + 'dztech/dz60rgb_wkl': { + target: 'dztech/dz60rgb_wkl/v1' + }, + 'dztech/dz65rgb': { + target: 'dztech/dz65rgb/v1' + }, + 'dztech/volcano660': { + target: 'ilumkb/volcano660' + }, + eek: { + target: 'eek/silk_down' + }, + 'ergodone': { + target: 'ktec/ergodone' + }, + ergoinu: { + target: 'dm9records/ergoinu' + }, + 'exclusive/e85': { + target: 'exclusive/e85/hotswap' + }, + gh60: { + target: 'gh60/revc' + }, + 'gmmk/pro': { + target: 'gmmk/pro/ansi' + }, + 'handwired/ferris': { + target: 'ferris/0_1' + }, + 'handwired/p1800fl': { + target: 'team0110/p1800fl' + }, + 'helix/pico/sc/back': { + target: 'helix/pico/sc' + }, + 'helix/pico/sc/under': { + target: 'helix/pico/sc' + }, + 'helix/rev2/back/oled': { + target: 'helix/rev2/back' + }, + 'helix/rev2/oled': { + target: 'helix/rev2' + }, + 'helix/rev2/oled/back': { + target: 'helix/rev2/back' + }, + 'helix/rev2/oled/under': { + target: 'helix/rev2/under' + }, + 'helix/rev2/sc/back': { + target: 'helix/rev2/sc' + }, + 'helix/rev2/sc/oled': { + target: 'helix/rev2/sc' + }, + 'helix/rev2/sc/oledback': { + target: 'helix/rev2/sc' + }, + 'helix/rev2/sc/oledunder': { + target: 'helix/rev2/sc' + }, + 'helix/rev2/sc/under': { + target: 'helix/rev2/sc' + }, + 'helix/rev2/under': { + target: 'helix/rev2/sc' + }, + 'helix/rev2/under/oled': { + target: 'helix/rev2/under' + }, + id80: { + target: 'id80/ansi' + }, + idb_60: { + target: 'idb/idb_60', + layouts: { + LAYOUT: 'LAYOUT_all' + } + }, + 'jj40': { + target: 'kprepublic/jj40' + }, + 'jj4x4': { + target: 'kprepublic/jj4x4' + }, + 'jj50': { + target: 'kprepublic/jj50' + }, + jones: { + target: 'jones/v03_1' + }, + katana60: { + target: 'rominronin/katana60/rev1' + }, + 'kbdfans/kbd67mkiirgb': { + target: 'kbdfans/kbd67/mkiirgb', + layouts: { + LAYOUT: 'LAYOUT_65_ansi_blocker' + } + }, + 'kbdfans/kbd67/mkiirgb': { + target: 'kbdfans/kbd67/mkiirgb/v1' + }, + 'keebio/dsp40': { + target: 'keebio/dsp40/rev1' + }, + 'keycapsss/plaid_pad': { + target: 'keycapsss/plaid_pad/rev1' + }, + kudox: { + target: 'kudox/rev1' + }, + 'kyria': { + target: 'splitkb/kyria' + }, + 'lazydesigners/the60': { + target: 'lazydesigners/the60/rev1' + }, + 'lfkeyboards/lfk78': { + target: 'lfkeyboards/lfk78/revj' + }, + 'lfkeyboards/smk65': { + target: 'lfkeyboards/smk65/revb' + }, + 'maartenwut/atom47/rev2': { + target: 'evyd13/atom47/rev2' + }, + 'maartenwut/atom47/rev3': { + target: 'evyd13/atom47/rev3' + }, + 'maartenwut/eon40': { + target: 'evyd13/eon40' + }, + 'maartenwut/eon65': { + target: 'evyd13/eon65' + }, + 'maartenwut/eon75': { + target: 'evyd13/eon75' + }, + 'maartenwut/eon87': { + target: 'evyd13/eon87' + }, + 'maartenwut/eon95': { + target: 'evyd13/eon95' + }, + 'maartenwut/gh80_1800': { + target: 'evyd13/gh80_1800' + }, + 'maartenwut/gh80_3700': { + target: 'evyd13/gh80_3700' + }, + 'maartenwut/minitomic': { + target: 'evyd13/minitomic' + }, + 'maartenwut/mx5160': { + target: 'evyd13/mx5160' + }, + 'maartenwut/nt660': { + target: 'evyd13/nt660' + }, + 'maartenwut/omrontkl': { + target: 'evyd13/omrontkl' + }, + 'maartenwut/plain60': { + target: 'evyd13/plain60' + }, + 'maartenwut/pockettype': { + target: 'evyd13/pockettype' + }, + 'maartenwut/quackfire': { + target: 'evyd13/quackfire' + }, + 'maartenwut/solheim68': { + target: 'evyd13/solheim68' + }, + 'maartenwut/ta65': { + target: 'evyd13/ta65' + }, + 'maartenwut/wasdat': { + target: 'evyd13/wasdat' + }, + 'maartenwut/wasdat_code': { + target: 'evyd13/wasdat_code' + }, + 'maartenwut/wonderland': { + target: 'evyd13/wonderland' + }, + 'matrix/m12og': { + target: 'matrix/m12og/rev1' + }, + 'mechlovin/hannah910': { + target: 'mechlovin/hannah910/rev1' + }, + 'mechlovin/adelais/rgb_led': { + target: 'mechlovin/adelais/rgb_led/rev1' + }, + 'mechlovin/adelais/standard_led': { + target: 'mechlovin/adelais/standard_led/rev2' + }, + 'mechlovin/delphine': { + target: 'mechlovin/delphine/mono_led' + }, + 'mechlovin/hannah60rgb': { + target: 'mechlovin/hannah60rgb/rev1' + }, + 'mechlovin/hannah65/mechlovin9': { + target: 'mechlovin/mechlovin9/rev1' + }, + 'melgeek/z70ultra': { + target: 'melgeek/z70ultra/rev1' + }, + 'mechlovin/hannah65': { + target: 'mechlovin/hannah65/rev1' + }, + model01: { + target: 'keyboardio/model01' + }, + m0lly: { + target: 'tkc/m0lly' + }, + 'montsinger/rebound': { + target: 'montsinger/rebound/rev1' + }, + nomu30: { + target: 'nomu30/rev1' + }, + 'noxary/268_2': { + layouts: { + LAYOUT: 'LAYOUT_65_ansi_blocker' + } + }, + oddball: { + target: 'oddball/v1' + }, + omnikey_blackheart: { + target: 'omnikey_bh' + }, + 'pabile/p20': { + target: 'pabile/p20/ver1' + }, + 'pancake/feather': { + target: 'spaceman/pancake/feather' + }, + 'pancake/promicro': { + target: 'spaceman/pancake/promicro' + }, + 'peiorisboards/ixora': { + target: 'coarse/ixora' + }, + 'percent/canoe': { + layouts: { + LAYOUT_iso: 'LAYOUT_65_iso_blocker' + } + }, + plaid: { + target: 'dm9records/plaid' + }, + plain60: { + target: 'maartenwut/plain60' + }, + 'ploopyco/trackball': { + target: 'ploopyco/trackball/rev1_005' + }, + polilla: { + target: 'polilla/rev1' + }, + 'preonic/rev1': { + layouts: { + LAYOUT_preonic_grid: 'LAYOUT_ortho_5x12' + } + }, + 'preonic/rev2': { + layouts: { + LAYOUT_preonic_grid: 'LAYOUT_ortho_5x12' + } + }, + 'preonic/rev3': { + layouts: { + LAYOUT_preonic_grid: 'LAYOUT_ortho_5x12' + } + }, + 'primekb/prime_l': { + target: 'primekb/prime_l/v1' + }, + 'primekb/prime_l_v2': { + target: 'primekb/prime_l/v2' + }, + 'projectkb/alice': { + target: 'projectkb/alice/rev1' + }, + 'rama/koyu': { + target: 'wilba_tech/rama_works_koyu' + }, + 'rama/m6_a': { + target: 'wilba_tech/rama_works_m6_a' + }, + 'rama/m6_b': { + target: 'wilba_tech/rama_works_m6_b' + }, + 'rama/m10_b': { + target: 'wilba_tech/rama_works_m10_b' + }, + 'rama/m60_a': { + target: 'wilba_tech/rama_works_m60_a' + }, + 'rama/u80_a': { + target: 'wilba_tech/rama_works_u80_a' + }, + 'ramonimbao/herringbone': { + target: 'ramonimbao/herringbone/v1' + }, + 'ramonimbao/mona': { + target: 'ramonimbao/mona/v1' + }, + 'rgbkb/pan': { + target: 'rgbkb/pan/rev1/32a' + }, + 'rgbkb/pan/rev1': { + target: 'rgbkb/pan/rev1/32a' + }, + romac: { + target: 'kingly_keys/romac' + }, + ropro: { + target: 'kingly_keys/ropro' + }, + satan: { + target: 'gh60/satan' + }, + skog: { + target: 'percent/skog' + }, + speedo: { + target: 'cozykeys/speedo/v2' + }, + 'staryu': { + target: 'ktec/staryu' + }, + stoutgat: { + target: 'tkw/stoutgat/v1' + }, + suihankey: { + target: 'suihankey/split/alpha' + }, + ta65: { + target: 'maartenwut/ta65' + }, + tartan: { + target: 'dm9records/tartan' + }, + tkc1800: { + target: 'tkc/tkc1800' + }, + 'tkw/stoutgat/v2': { + target: 'tkw/stoutgat/v2/f411' + }, + 'tokyo60': { + target: 'tokyokeyboard/tokyo60' + }, + underscore33: { + target: 'underscore33/rev1' + }, + vinta: { + target: 'coarse/vinta', + layouts: { + LAYOUT_67_ansi: 'LAYOUT_65_ansi_blocker' + } + }, + wasdat: { + target: 'maartenwut/wasdat' + }, + 'westfoxtrot/cypher': { + target: 'westfoxtrot/cypher/rev1' + }, + 'whale/sk': { + target: 'whale/sk/v3' + }, + 'xd002': { + target: 'xiudi/xd002' + }, + 'xd004': { + target: 'xiudi/xd004' + }, + 'xd60': { + target: 'xiudi/xd60' + }, + 'xd68': { + target: 'xiudi/xd68' + }, + 'xd75': { + target: 'xiudi/xd75' + }, + 'xd84': { + target: 'xiudi/xd84' + }, + 'xd84pro': { + target: 'xiudi/xd84pro' + }, + 'xd87': { + target: 'xiudi/xd87' + }, + 'xd96': { + target: 'xiudi/xd96' + }, + 'xelus/dawn60': { + target: 'xelus/dawn60/rev1' + }, + 'xelus/valor': { + target: 'xelus/valor/rev1' + }, + yd60mq: { + target: 'yd60mq/12led' + }, + ymd75: { + target: 'ymd75/rev1' + }, + z150_blackheart: { + target: 'z150_bh' + }, + zeal60: { + target: 'wilba_tech/zeal60' + }, + zeal65: { + target: 'wilba_tech/zeal65' + } +} diff --git a/data/schemas/api_keyboard.jsonschema b/data/schemas/api_keyboard.jsonschema index d570ee99908d..d638658a1d43 100644 --- a/data/schemas/api_keyboard.jsonschema +++ b/data/schemas/api_keyboard.jsonschema @@ -1,34 +1,22 @@ { + "$id": "qmk.api.keyboard.v1", "allOf": [ - { "$ref": "qmk.keyboard.v1" }, + {"$ref": "qmk.keyboard.v1"}, { - "$id": "qmk.api.keyboard.v1", - "keymaps": { - "type": "string" - }, - "parse_errors": { - "type": "array", - "items": { - "type": "string" - } - }, - "parse_warnings": { - "type": "array", - "items": { - "type": "string" - } - }, - "processor_type": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "keyboard_folder": { - "type": "string" - }, - "platform": { - "type": "string" + "properties": { + "keymaps": { + "type": "object", + "properties": { + "url": {"type": "string"} + } + + }, + "parse_errors": {"$ref": "qmk.definitions.v1#/string_array"}, + "parse_warnings": {"$ref": "qmk.definitions.v1#/string_array"}, + "processor_type": {"type": "string"}, + "protocol": {"type": "string"}, + "keyboard_folder": {"type": "string"}, + "platform": {"type": "string"} } } ] diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema new file mode 100644 index 000000000000..822f237073c3 --- /dev/null +++ b/data/schemas/definitions.jsonschema @@ -0,0 +1,107 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "qmk.definitions.v1", + "title": "Common definitions used across QMK's jsonschemas.", + "type": "object", + "boolean_array": { + "type": "object", + "additionalProperties": {"type": "boolean"} + }, + "filename": { + "type": "string", + "minLength": 1, + "pattern": "^[0-9a-z_]*$" + }, + "hex_number_2d": { + "type": "string", + "pattern": "^0x[0-9A-F]{2}$" + }, + "hex_number_4d": { + "type": "string", + "pattern": "^0x[0-9A-F]{4}$" + }, + "text_identifier": { + "type": "string", + "minLength": 1, + "maxLength": 250 + }, + "layout_macro": { + "oneOf": [ + { + "type": "string", + "enum": ["LAYOUT", "LAYOUT_planck_1x2uC"] + }, + { + "type": "string", + "pattern": "^LAYOUT_[0-9a-z_]*$" + } + ] + }, + "key_unit": { + "type": "number", + "min": 0.25 + }, + "mcu_pin_array": { + "type": "array", + "items": {"$ref": "#/mcu_pin"} + }, + "mcu_pin": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-K]\\d{1,2}$" + }, + { + "type": "string", + "pattern": "^LINE_PIN\\d{1,2}$" + }, + { + "type": "number", + "multipleOf": 1 + }, + { + "type": "null" + } + ] + }, + "signed_decimal": { + "type": "number" + }, + "signed_int": { + "type": "number", + "multipleOf": 1 + } + "signed_int_8": { + "type": "number", + "min": -127, + "max": 127, + "multipleOf": 1 + } + "string_array": { + "type": "array", + "items": { + "type": "string" + } + }, + "string_object": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "unsigned_decimal": { + "type": "number", + "min": 0 + }, + "unsigned_int": { + "type": "number", + "min": 0, + "multipleOf": 1 + } + "unsigned_int_8": { + "type": "number", + "min": 0, + "max": 255, + "multipleOf": 1 + } +} diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index ec03a8828be2..d3e664d61a03 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -1,31 +1,53 @@ { - "$schema": "http://json-schema.org/schema#", + "$schema": "http://json-schema.org/draft-07/schema#", "$id": "qmk.keyboard.v1", "title": "Keyboard Information", "type": "object", "properties": { - "keyboard_name": { - "type": "string", - "minLength": 2, - "maxLength": 250 - }, - "maintainer": { - "type": "string", - "minLength": 2, - "maxLength": 250 - }, - "manufacturer": { - "type": "string", - "minLength": 2, - "maxLength": 250 - }, + "keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"}, + "maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"}, + "manufacturer": {"$ref": "qmk.definitions.v1#/text_identifier"}, "url": { "type": "string", "format": "uri" }, "processor": { "type": "string", - "enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F411", "STM32G431", "STM32G474", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"] + "enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK66F18", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F407", "STM32F411", "STM32F446", "STM32G431", "STM32G474", "STM32L412", "STM32L422", "STM32L433", "STM32L443", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"] + }, + "audio": { + "type": "object", + "additionalProperties": false, + "properties": { + "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, + "voices": {"type": "boolean"} + } + }, + "backlight": { + "type": "object", + "additionalProperties": false, + "properties": { + "breathing": {"type": "boolean"}, + "breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "levels": { + "type": "number", + "min": 1, + "max": 31, + "multipleOf": 1 + }, + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"} + } + }, + "bluetooth": { + "type": "object", + "additionalProperties": false, + "properties": { + "driver": { + "type": "string", + "enum": ["AdafruitBLE", "RN42"] + }, + "lto": {"type": "boolean"}, + } }, "board": { "type": "string", @@ -34,68 +56,55 @@ }, "bootloader": { "type": "string", - "enum": ["atmel-dfu", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "stm32-dfu", "stm32duino", "unknown", "USBasp"] + "enum": ["atmel-dfu", "bootloadhid", "bootloadHID", "caterina", "halfkay", "kiibohd", "lufa-dfu", "lufa-ms", "micronucleus", "qmk-dfu", "qmk-hid", "stm32-dfu", "stm32duino", "unknown", "usbasploader", "USBasp", "tinyuf2"], }, - "diode_direction": { + "bootloader_instructions": { "type": "string", - "enum": ["COL2ROW", "ROW2COL"] + "description": "Instructions for putting the keyboard into a mode that allows for firmware flashing." }, - "debounce": { - "type": "number", - "min": 0, - "multipleOf": 1 + "build": { + "type": "object", + "additionalProperties": false, + "properties": { + "debounce_type": { + "type": "string", + "enum": ["custom", "eager_pk", "eager_pr", "sym_defer_pk", "sym_eager_pk"] + }, + "firmware_format": { + "type": "string", + "enum": ["bin", "hex", "uf2"] + }, + "lto": {"type": "boolean"}, + } }, - "height": { - "type": "number", - "min": 0.25 + "diode_direction": { + "type": "string", + "enum": ["COL2ROW", "ROW2COL"] }, - "width": { - "type": "number", - "min": 0.25 + "debounce": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "combo": { + "type": "object", + "properties": { + "count": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "term": {"$ref": "qmk.definitions.v1#/unsigned_int"} + } }, "community_layouts": { "type": "array", - "items": { - "type": "string", - "minLength": 2, - "pattern": "^[0-9a-z_]*$" - } - }, - "features": { - "type": "object", - "additionalProperties": {"type": "boolean"} + "items": {"$ref": "qmk.definitions.v1#/filename"} }, + "features": {"$ref": "qmk.definitions.v1#/boolean_array"}, "indicators": { "type": "object", "properties": { - "caps_lock": { - "type": "string", - "pattern": "^[A-K]\\d{1,2}$" - }, - "num_lock": { - "type": "string", - "pattern": "^[A-K]\\d{1,2}$" - }, - "scroll_lock": { - "type": "string", - "pattern": "^[A-K]\\d{1,2}$" - } + "caps_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "num_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "scroll_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"} } }, "layout_aliases": { "type": "object", - "additionalProperties": { - "oneOf": [ - { - "type": "string", - "enum": ["LAYOUT", "LAYOUT_planck_1x2uC"] - }, - { - "type": "string", - "pattern": "^LAYOUT_[0-9a-z_]*$" - } - ] - } + "additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"} }, "layouts": { "type": "object", @@ -109,11 +118,7 @@ "c_macro": { "type": "boolean" }, - "key_count": { - "type": "number", - "min": 0, - "multipleOf": 1 - }, + "key_count": {"$ref": "qmk.definitions.v1#/key_unit"}, "layout": { "type": "array", "items": { @@ -131,101 +136,61 @@ "multipleOf": 1 } }, - "h": { - "type": "number", - "min": 0.25 - }, - "r": { - "type": "number", - "min": 0 - }, - "rx": { - "type": "number", - "min": 0 - }, - "ry": { - "type": "number", - "min": 0 - }, - "w": { - "type": "number", - "min": 0.25 - }, - "x": { - "type": "number", - "min": 0 - }, - "y": { - "type": "number", - "min": 0 - } + "key_count": {"$ref": "qmk.definitions.v1#/key_unit"}, + "r": {"$ref": "qmk.definitions.v1#/unsigned_decimal"}, + "rx": {"$ref": "qmk.definitions.v1#/unsigned_decimal"}, + "ry": {"$ref": "qmk.definitions.v1#/unsigned_decimal"}, + "h": {"$ref": "qmk.definitions.v1#/key_unit"}, + "w": {"$ref": "qmk.definitions.v1#/key_unit"}, + "x": {"$ref": "qmk.definitions.v1#/key_unit"}, + "y": {"$ref": "qmk.definitions.v1#/key_unit"} } } } } } }, + "leader_key": { + "type": "object", + "properties": { + "timing": {"type": "boolean"}, + "strict_processing": {"type": "boolean"}, + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} + } + }, "matrix_pins": { "type": "object", "additionalProperties": false, "properties": { + "custom": {"type": "boolean"}, + "custom_lite": {"type": "boolean"}, + "ghost": {"type": "boolean"}, + "io_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "direct": { "type": "array", - "items": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-K]\\d{1,2}$" - }, - { - "type": "number", - "multipleOf": 1 - }, - { - "type": "null" - } - ] - } - } - }, - "cols": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-K]\\d{1,2}$" - }, - { - "type": "number", - "multipleOf": 1 - }, - { - "type": "null" - } - ] - } + "items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"} }, - "rows": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-K]\\d{1,2}$" - }, - { - "type": "number", - "multipleOf": 1 - }, - { - "type": "null" - } - ] - } - } + "cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, + "rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, + "unused": {"$ref": "qmk.definitions.v1#/mcu_pin_array"} + } + }, + "mouse_key": { + "type": "object", + "properties": { + "enabled": {"type": "boolean"}, + "delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + "interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + "max_speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + "time_to_max": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + "wheel_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, + "oneshot": { + "type": "object", + "properties": { + "tap_toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } }, "rgblight": { @@ -238,88 +203,160 @@ "type": "boolean" } }, - "brightness_steps": { - "type": "number", - "min": 0, - "multipleOf": 1 - }, - "hue_steps": { - "type": "number", - "min": 0, - "multipleOf": 1 + "brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "layers": { + "type": "object", + "additionalProperties": false, + "properties": { + "blink": {"type": "boolean"}, + "enabled": {"type": "boolean"}, + "max": { + "type": "number", + "min": 1, + "max": 32, + "multipleOf": 1 + }, + "override_rgb": {"type": "boolean"} + } }, - "led_count": { - "type": "number", - "min": 0, - "multipleOf": 1 + "led_count": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "rgbw": {"type": "boolean"}, + "saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "sleep": {"type": "boolean"}, + "split": {"type": "boolean"}, + "split_count": { + "type": "array", + "minLength": 2, + "maxLength": 2, + "items": {"$ref": "qmk.definitions.v1#/unsigned_int"} + } + } + }, + "split": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "matrix_grid": { + "type": "array", + "items": {"$ref": "qmk.definitions.v1#/mcu_pin"} }, - "max_brightness": { - "type": "number", - "min": 0, - "max": 255, - "multipleOf": 1 + "matrix_pins": { + "type": "object", + "additionalProperties": false, + "properties": { + "right": { + "type": "object", + "additionalProperties": false, + "properties": { + "direct": { + "type": "array", + "items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"} + }, + "cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, + "rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}, + "unused": {"$ref": "qmk.definitions.v1#/mcu_pin_array"} + } + } + } }, - "pin": { + "main": { "type": "string", - "pattern": "^[A-K]\\d{1,2}$" + "enum": ["eeprom", "left", "matrix_grid", "pin", "right"] }, - "saturation_steps": { + "soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "soft_serial_speed": { "type": "number", "min": 0, + "max": 5, "multipleOf": 1 }, - "sleep": {"type": "boolean"}, - "split": {"type": "boolean"}, - "split_count": { - "type": "array", - "minLength": 2, - "maxLength": 2, - "items": { - "type": "number", - "min": 0, - "multipleOf": 1 + "transport": { + "type": "object", + "additionalProperties": false, + "properties": { + "protocol": { + "type": "string", + "enum": ["custom", "i2c", "serial", "serial_usart"] + }, + "sync_matrix_state": {"type": "boolean"}, + "sync_modifiers": {"type": "boolean"} + } + }, + "usb_detect": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } } } }, + "tags": { + "type": "array", + "items": {"type": "string"} + }, + "tapping": { + "type": "object", + "properties": { + "force_hold": {"type": "boolean"}, + "force_hold_per_key": {"type": "boolean"}, + "ignore_mod_tap_interrupt": {"type": "boolean"}, + "ignore_mod_tap_interrupt_per_key": {"type": "boolean"}, + "permissive_hold": {"type": "boolean"}, + "permissive_hold_per_key": {"type": "boolean"}, + "retro": {"type": "boolean"}, + "retro_per_key": {"type": "boolean"}, + "term": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "term_per_key": {"type": "boolean"}, + "toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + } + }, "usb": { "type": "object", "additionalProperties": false, "properties": { - "device_ver": { - "type": "string", - "pattern": "^[0-9A-F]x[0-9A-F][0-9A-F][0-9A-F][0-9A-F]" - }, - "pid": { - "type": "string", - "pattern": "^[0-9A-F]x[0-9A-F][0-9A-F][0-9A-F][0-9A-F]" + "device_ver": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, + "force_nkro": {"type": "boolean"}, + "pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, + "vid": {"$ref": "qmk.definitions.v1#/hex_number_4d"}, + "max_power": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "no_startup_check": {"type": "boolean"}, + "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "shared_endpoint": { + "type": "object", + "additionalProperties": false, + "properties": { + "keyboard": {"type": "boolean"}, + "mouse": {"type": "boolean"} + } }, - "vid": { - "type": "string", - "pattern": "^[0-9A-F]x[0-9A-F][0-9A-F][0-9A-F][0-9A-F]" - } + "suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "wait_for": {"type": "boolean"}, + } + }, + "qmk": { + "type": "object", + "additionalProperties": false, + "properties": { + "keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "tap_keycode_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, } }, "qmk_lufa_bootloader": { "type": "object", "additionalProperties": false, "properties": { - "esc_output": { - "type": "string", - "pattern": "^[A-K]\\d{1,2}$" - }, - "esc_input": { - "type": "string", - "pattern": "^[A-K]\\d{1,2}$" - }, - "led": { - "type": "string", - "pattern": "^[A-K]\\d{1,2}$" - }, - "speaker": { - "type": "string", - "pattern": "^[A-K]\\d{1,2}$" - } + "esc_output": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "esc_input": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "led": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "speaker": {"$ref": "qmk.definitions.v1#/mcu_pin"} } } } diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema new file mode 100644 index 000000000000..a4bdab966b61 --- /dev/null +++ b/data/schemas/keymap.jsonschema @@ -0,0 +1,24 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "qmk.keymap.v1", + "title": "Keymap Information", + "type": "object", + "properties": { + "author": {"type": "string"}, + "keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"}, + "keymap": {"$ref": "qmk.definitions.v1#/text_identifier"}, + "layout": {"$ref": "qmk.definitions.v1#/layout_macro"}, + "layers": { + "type": "array", + "items": { + "type": "array", + "items": {"type": "string"} + } + }, + "config": {"$ref": "qmk.keyboard.v1"}, + "notes": { + "type": "string", + "description": "asdf" + } + } +} \ No newline at end of file diff --git a/quantum/template/avr/config.h b/data/templates/avr/config.h similarity index 100% rename from quantum/template/avr/config.h rename to data/templates/avr/config.h diff --git a/data/templates/avr/readme.md b/data/templates/avr/readme.md new file mode 100644 index 000000000000..b099ed726d26 --- /dev/null +++ b/data/templates/avr/readme.md @@ -0,0 +1,27 @@ +# %KEYBOARD% + +![%KEYBOARD%](imgur.com image replace me!) + +*A short description of the keyboard/project* + +* Keyboard Maintainer: [%YOUR_NAME%](https://github.com/yourusername) +* Hardware Supported: *The PCBs, controllers supported* +* Hardware Availability: *Links to where you can find this hardware* + +Make example for this keyboard (after setting up your build environment): + + make %KEYBOARD%:default + +Flashing example for this keyboard: + + make %KEYBOARD%: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 `RESET` if it is available diff --git a/data/templates/avr/rules.mk b/data/templates/avr/rules.mk new file mode 100644 index 000000000000..62fbb3434883 --- /dev/null +++ b/data/templates/avr/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/quantum/template/base/info.json b/data/templates/base/info.json similarity index 100% rename from quantum/template/base/info.json rename to data/templates/base/info.json diff --git a/quantum/template/base/keyboard.c b/data/templates/base/keyboard.c similarity index 100% rename from quantum/template/base/keyboard.c rename to data/templates/base/keyboard.c diff --git a/quantum/template/base/keyboard.h b/data/templates/base/keyboard.h similarity index 100% rename from quantum/template/base/keyboard.h rename to data/templates/base/keyboard.h diff --git a/quantum/template/base/keymaps/default/keymap.c b/data/templates/base/keymaps/default/keymap.c similarity index 100% rename from quantum/template/base/keymaps/default/keymap.c rename to data/templates/base/keymaps/default/keymap.c diff --git a/quantum/template/base/keymaps/default/readme.md b/data/templates/base/keymaps/default/readme.md similarity index 100% rename from quantum/template/base/keymaps/default/readme.md rename to data/templates/base/keymaps/default/readme.md diff --git a/quantum/template/base_nrf/info.json b/data/templates/base_nrf/info.json similarity index 100% rename from quantum/template/base_nrf/info.json rename to data/templates/base_nrf/info.json diff --git a/quantum/template/base_nrf/keymaps/default/config.h b/data/templates/base_nrf/keymaps/default/config.h similarity index 100% rename from quantum/template/base_nrf/keymaps/default/config.h rename to data/templates/base_nrf/keymaps/default/config.h diff --git a/quantum/template/base_nrf/keymaps/default/keymap.c b/data/templates/base_nrf/keymaps/default/keymap.c similarity index 100% rename from quantum/template/base_nrf/keymaps/default/keymap.c rename to data/templates/base_nrf/keymaps/default/keymap.c diff --git a/quantum/template/base_nrf/keymaps/default/readme.md b/data/templates/base_nrf/keymaps/default/readme.md similarity index 100% rename from quantum/template/base_nrf/keymaps/default/readme.md rename to data/templates/base_nrf/keymaps/default/readme.md diff --git a/quantum/template/base_nrf/template.h b/data/templates/base_nrf/template.h similarity index 100% rename from quantum/template/base_nrf/template.h rename to data/templates/base_nrf/template.h diff --git a/quantum/template/nrf/config.h b/data/templates/nrf/config.h similarity index 100% rename from quantum/template/nrf/config.h rename to data/templates/nrf/config.h diff --git a/quantum/template/nrf/ld/nrf52840_ao.ld b/data/templates/nrf/ld/nrf52840_ao.ld similarity index 100% rename from quantum/template/nrf/ld/nrf52840_ao.ld rename to data/templates/nrf/ld/nrf52840_ao.ld diff --git a/quantum/template/nrf/readme.md b/data/templates/nrf/readme.md similarity index 100% rename from quantum/template/nrf/readme.md rename to data/templates/nrf/readme.md diff --git a/quantum/template/nrf/rules.mk b/data/templates/nrf/rules.mk similarity index 100% rename from quantum/template/nrf/rules.mk rename to data/templates/nrf/rules.mk diff --git a/quantum/template/nrf/template.c b/data/templates/nrf/template.c similarity index 100% rename from quantum/template/nrf/template.c rename to data/templates/nrf/template.c diff --git a/quantum/template/ps2avrgb/config.h b/data/templates/ps2avrgb/config.h similarity index 100% rename from quantum/template/ps2avrgb/config.h rename to data/templates/ps2avrgb/config.h diff --git a/data/templates/ps2avrgb/readme.md b/data/templates/ps2avrgb/readme.md new file mode 100644 index 000000000000..94063f9ebc4b --- /dev/null +++ b/data/templates/ps2avrgb/readme.md @@ -0,0 +1,28 @@ +# %KEYBOARD% + +![%KEYBOARD%](imgur.com image replace me!) + +*A short description of the keyboard/project* + +* Keyboard Maintainer: [%YOUR_NAME%](https://github.com/yourusername) +* Hardware Supported: *The PCBs, controllers supported* +* Hardware Availability: *Links to where you can find this hardware* + +Make example for this keyboard (after setting up your build environment): + + make %KEYBOARD%:default + +Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) + + make %KEYBOARD%: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 +* **BootloadHID reset**: Hold down the key connected to the `A0` and `B0` pins on the MCU if it is known (often top left or bottom left) 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 `RESET` if it is available diff --git a/data/templates/ps2avrgb/rules.mk b/data/templates/ps2avrgb/rules.mk new file mode 100644 index 000000000000..b374eca3368c --- /dev/null +++ b/data/templates/ps2avrgb/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32a + +# Bootloader selection +BOOTLOADER = bootloadhid + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +WS2812_DRIVER = i2c diff --git a/docs/ChangeLog/20200829.md b/docs/ChangeLog/20200829.md index 00e0bd1a2872..c6abed5b3023 100644 --- a/docs/ChangeLog/20200829.md +++ b/docs/ChangeLog/20200829.md @@ -5,7 +5,7 @@ Four times a year QMK runs a process for merging Breaking Changes. A Breaking Ch ## Changes Requiring User Action :id=changes-requiring-user-action -### Relocated Keyboards :id-relocated-keyboards +### Relocated Keyboards :id=relocated-keyboards #### The Key Company project consolidation ([#9547](https://github.com/qmk/qmk_firmware/pull/9547)) #### relocating boards by flehrad to flehrad/ folder ([#9635](https://github.com/qmk/qmk_firmware/pull/9635)) diff --git a/docs/ChangeLog/20201128.md b/docs/ChangeLog/20201128.md index 86abd384df74..444132029532 100644 --- a/docs/ChangeLog/20201128.md +++ b/docs/ChangeLog/20201128.md @@ -5,7 +5,7 @@ Four times a year QMK runs a process for merging Breaking Changes. A Breaking Ch ## Changes Requiring User Action :id=changes-requiring-user-action -### Relocated Keyboards :id-relocated-keyboards +### Relocated Keyboards :id=relocated-keyboards #### Reduce Helix keyboard build variation ([#8669](https://github.com/qmk/qmk_firmware/pull/8669)) diff --git a/docs/ChangeLog/20210529.md b/docs/ChangeLog/20210529.md new file mode 100644 index 000000000000..2feeed64376c --- /dev/null +++ b/docs/ChangeLog/20210529.md @@ -0,0 +1,227 @@ +# QMK Breaking Changes - 2021 May 29 Changelog + +## Notable Changes :id=notable-changes + +### RGB Matrix support for split common ([#11055](https://github.com/qmk/qmk_firmware/pull/11055)) :id=rgb-matrix-split-common + +Split boards can now use RGB Matrix without defining a custom matrix. + +### Teensy 3.6 support ([#12258](https://github.com/qmk/qmk_firmware/pull/12258)) :id=teensy-3-6-support + +Added support for MK66F18 (Teensy 3.6) microcontroller. + +### New command: qmk console ([#12828](https://github.com/qmk/qmk_firmware/pull/12828)) :id=new-command-qmk-console + +A new `qmk console` command has been added for attaching to your keyboard's console. It operates similiarly to QMK Toolbox by allowing you to connect to one or more keyboard consoles to display debugging messages. + +### Improved command: qmk config :id=improve-command-qmk-config + +We've updated the `qmk config` command to show only the configuration items you have actually set. You can now display (almost) all of the available configuration options, along with their default values, using `qmk config -a`. + +### LED Matrix Improvements ([#12509](https://github.com/qmk/qmk_firmware/pull/12509), [#12580](https://github.com/qmk/qmk_firmware/pull/12580), [#12588](https://github.com/qmk/qmk_firmware/pull/12588), [#12633](https://github.com/qmk/qmk_firmware/pull/12633), [#12651](https://github.com/qmk/qmk_firmware/pull/12651), [#12685](https://github.com/qmk/qmk_firmware/pull/12685)) :id=led-matrix-improvements + +LED Matrix has been improved with effects, CIE1931 curves, and a task system. + +## Changes Requiring User Action :id=changes-requiring-user-action + +### Updated Keyboard Codebases :id=updated-keyboard-codebases + +* Durgod keyboard refactor in preparation for adding additional durgod keyboards ([#11978](https://github.com/qmk/qmk_firmware/pull/11978)) +* Updated Function96 with V2 files and removed chconf.h and halconf.h ([#12613](https://github.com/qmk/qmk_firmware/pull/12613)) +* [Keyboard] updated a vendor name / fixed minor keymap issues ([#12881](https://github.com/qmk/qmk_firmware/pull/12881)) +* [Keyboard] Corne - Remove legacy revision support ([#12226](https://github.com/qmk/qmk_firmware/pull/12226)) + +The following keyboards have had their source moved within QMK: + +Old Keyboard Name | New Keyboard Name +:---------------- | :---------------- +crkbd/rev1/common | crkbd/rev1 +function96 | function96/v1 +nckiibs/flatbread60 | delikeeb/flatbread60 +nckiibs/vaguettelite | delikeeb/vaguettelite +nckiibs/vanana/rev1 | delikeeb/vanana/rev1 +nckiibs/vanana/rev2 | delikeeb/vanana/rev2 +nckiibs/vaneela | delikeeb/vaneela +nckiibs/vaneelaex | delikeeb/vaneelaex +nckiibs/waaffle/rev3/elite_c | delikeeb/waaffle/rev3/elite_c +nckiibs/waaffle/rev3/pro_micro | delikeeb/waaffle/rev3/pro_micro + +The [Function96 V2](https://github.com/qmk/qmk_firmware/tree/0.13.0/keyboards/function96/v2) has also been added as part of these changes. + +The codebase for the [Durgod K320](https://github.com/qmk/qmk_firmware/tree/0.13.0/keyboards/durgod/k320) has been reworked in anticipation of additional Durgod keyboards gaining QMK support. + +Additionally, the `crkbd/rev1/legacy` keyboard has been removed. + +### Bootmagic Deprecation and Refactor ([#12172](https://github.com/qmk/qmk_firmware/pull/12172)) :id=bootmagic-deprecation-and-refactor + +QMK has decided to deprecate the full Bootmagic feature and leave Bootmagic Lite as the only remaining option. + +This pull request changes the behavior of `BOOTMAGIC_ENABLE` such that specifying `BOOTMAGIC_ENABLE = yes` enables Bootmagic Lite instead of full Bootmagic. + +If attempts to use Bootmagic functionality result in unexpected behavior, check your `rules.mk` file and change the `BOOTMAGIC_ENABLE` setting to specify either `lite` or `full`. + +#### Tentative Deprecation Schedule + +This is the current planned roadmap for the behavior of `BOOTMAGIC_ENABLE`: + +- From 2021 May 29, setting `BOOTMAGIC_ENABLE = yes` will enable Bootmagic Lite instead of full Bootmagic. +- From 2021 Aug 28, `BOOTMAGIC_ENABLE` must be either `yes`, `lite`, or `no` – setting `BOOTMAGIC_ENABLE = full` will cause compilation to fail. +- From 2021 Nov 27, `BOOTMAGIC_ENABLE` must be either `yes` or `no` – setting `BOOTMAGIC_ENABLE = lite` will cause compilation to fail. + +### Removal of LAYOUT_kc ([#12160](https://github.com/qmk/qmk_firmware/pull/12160)) :id=removal-of-layout-kc + +We've removed support for `LAYOUT_kc` macros, if your keymap uses one you will need to update it use a regular `LAYOUT` macro. + +### Encoder callbacks are now boolean ([#12805](https://github.com/qmk/qmk_firmware/pull/12805), [#12985](https://github.com/qmk/qmk_firmware/pull/12985)) :id=encoder-callback-boolean + +To allow for keyboards to override (or not) keymap level code the `encoder_update_kb` function has been changed from `void` to `bool`. You will need to update your function definition to reflect this and ensure that you return a `true` or `false` value. + +Example code before change: + +```c +void encoder_update_kb(uint8_t index, bool clockwise) { + encoder_update_user(index, clockwise); +} + +void encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + tap_code(KC_DOWN); + } else { + tap_code(KC_UP); + } + } +} +``` + +Example code after change: + +```c +bool encoder_update_kb(uint8_t index, bool clockwise) { + return encoder_update_user(index, clockwise); +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + tap_code(KC_DOWN); + } else { + tap_code(KC_UP); + } + } + return true; + // If you return true, this will allow the keyboard level code to run, as well. + //Returning false will override the keyboard level code. Depending on how the keyboard level function is set up. +} +``` + +## Core Changes :id=core-changes + +### Fixes :id=core-fixes + +* Fix connection issue in split keyboards when slave and OLED display are connected via I2C (fixes #9335) ([#11487](https://github.com/qmk/qmk_firmware/pull/11487)) +* Terrazzo: Fix wrong LED Matrix function names ([#12561](https://github.com/qmk/qmk_firmware/pull/12561)) +* Apply the "NO_LIMITED_CONTROLLER_CONNECT" fix to atmega16u2 ([#12482](https://github.com/qmk/qmk_firmware/pull/12482)) +* Fix comment parsing ([#12750](https://github.com/qmk/qmk_firmware/pull/12750)) +* Turn OLED off on suspend in soundmonster Corne keymap ([#10419](https://github.com/qmk/qmk_firmware/pull/10419)) +* Fixup build errors on `develop` branch. ([#12723](https://github.com/qmk/qmk_firmware/pull/12723)) +* Fix syntax error when compiling for ARM ([#12866](https://github.com/qmk/qmk_firmware/pull/12866)) +* Add missing LED Matrix suspend code to suspend.c ([#12878](https://github.com/qmk/qmk_firmware/pull/12878)) +* Fix spelling mistake regarding LED Matrix in split_common. ([#12888](https://github.com/qmk/qmk_firmware/pull/12888)) +* [Keymap] Fix QWERTY/DVORAK status output for kzar keymap ([#12895](https://github.com/qmk/qmk_firmware/pull/12895)) +* Fixup housekeeping from being invoked twice per loop. ([#12933](https://github.com/qmk/qmk_firmware/pull/12933)) +* wait for matrix row signal to go HIGH for every row ([#12945](https://github.com/qmk/qmk_firmware/pull/12945)) +* ensure we do not conflict with existing keymap aliases ([#12976](https://github.com/qmk/qmk_firmware/pull/12976)) +* [Keyboard] Fix Terrazzo build failure ([#12977](https://github.com/qmk/qmk_firmware/pull/12977)) +* Do not hard set config in CPTC files ([#11864](https://github.com/qmk/qmk_firmware/pull/11864)) + +### Additions and Enhancements :id=core-additions + +* ARM - Refactor SLEEP_LED to support more platforms ([#8403](https://github.com/qmk/qmk_firmware/pull/8403)) +* Add ability to toggle One Shot functionality ([#4198](https://github.com/qmk/qmk_firmware/pull/4198)) +* Add RGB Matrix support to Split Common ([#11055](https://github.com/qmk/qmk_firmware/pull/11055)) +* Add support for complementary outputs to the ChibiOS WS2812 PWM driver ([#11988](https://github.com/qmk/qmk_firmware/pull/11988)) +* Enable RGB Matrix for Corne ([#12091](https://github.com/qmk/qmk_firmware/pull/12091)) +* Set default OLED Update Interval for Split Keyboards to improve matrix scan performance ([#12107](https://github.com/qmk/qmk_firmware/pull/12107)) +* Add support for MK66F18 (Teensy 3.6) micro controller ([#12258](https://github.com/qmk/qmk_firmware/pull/12258)) +* Split RGB Matrix support for RGBKB Zygomorph ([#11083](https://github.com/qmk/qmk_firmware/pull/11083)) +* Add baudrate and circular buffer to ARM WS2812 SPI config ([#12216](https://github.com/qmk/qmk_firmware/pull/12216)) +* Add keyboard level weak function for slave matrix scan ([#12317](https://github.com/qmk/qmk_firmware/pull/12317)) +* Add link to schematic on EasyEDA for XD60 ([#12018](https://github.com/qmk/qmk_firmware/pull/12018)) +* Add Config functions for LED Matrix ([#12361](https://github.com/qmk/qmk_firmware/pull/12361)) +* Add pin definitions for MK66F18 ([#12419](https://github.com/qmk/qmk_firmware/pull/12419)) +* add kinesis/kint36 keyboard ([#10171](https://github.com/qmk/qmk_firmware/pull/10171)) +* Add support for producing UF2-format binaries. ([#12435](https://github.com/qmk/qmk_firmware/pull/12435)) +* Implement CIE1931 curve for LED Matrix ([#12417](https://github.com/qmk/qmk_firmware/pull/12417)) +* Change `BOOTMAGIC_ENABLE=yes` to use Bootmagic Lite ([#12172](https://github.com/qmk/qmk_firmware/pull/12172)) +* Add kzar keymap for Kinesis Advantage ([#12444](https://github.com/qmk/qmk_firmware/pull/12444)) +* LED Matrix: suspend code ([#12509](https://github.com/qmk/qmk_firmware/pull/12509)) +* LED Matrix: Task system ([#12580](https://github.com/qmk/qmk_firmware/pull/12580)) +* Add missing RGB_MODE_TWINKLE / RGB_M_TW keycodes ([#11935](https://github.com/qmk/qmk_firmware/pull/11935)) +* Enhancement of WPM feature ([#11727](https://github.com/qmk/qmk_firmware/pull/11727)) +* Add Per Key functionality for AutoShift ([#11536](https://github.com/qmk/qmk_firmware/pull/11536)) +* LED Matrix: Reactive effect buffers & advanced indicators ([#12588](https://github.com/qmk/qmk_firmware/pull/12588)) +* LED Matrix: support for Split keyboards ([#12633](https://github.com/qmk/qmk_firmware/pull/12633)) +* add setting to enable infinite timeout for leader key ([#6580](https://github.com/qmk/qmk_firmware/pull/6580), [#12721](https://github.com/qmk/qmk_firmware/pull/12721 "Fix bad PR merge for #6580")) +* Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx ([#12403](https://github.com/qmk/qmk_firmware/pull/12403)) +* Add initial support for tinyuf2 bootloader (when hosted on F411 blackpill) ([#12600](https://github.com/qmk/qmk_firmware/pull/12600)) +* Add support for STM32F446 MCU ([#12619](https://github.com/qmk/qmk_firmware/pull/12619)) +* Add STM32L433 and L443 support ([#12063](https://github.com/qmk/qmk_firmware/pull/12063)) +* Added OLED fade out support ([#12086](https://github.com/qmk/qmk_firmware/pull/12086)) +* New command: `qmk console` ([#12828](https://github.com/qmk/qmk_firmware/pull/12828)) +* LED Matrix: Effects! ([#12651](https://github.com/qmk/qmk_firmware/pull/12651)) +* Add setup, clone, and env to the list of commands we allow even with broken modules ([#12868](https://github.com/qmk/qmk_firmware/pull/12868)) +* LED Matrix: Documentation ([#12685](https://github.com/qmk/qmk_firmware/pull/12685)) +* Add function to allow repeated blinking of one layer ([#12237](https://github.com/qmk/qmk_firmware/pull/12237)) +* Add support for up to 4 IS31FL3733 drivers ([#12342](https://github.com/qmk/qmk_firmware/pull/12342)) +* Convert Encoder callbacks to be boolean functions ([#12805](https://github.com/qmk/qmk_firmware/pull/12805), [#12985](https://github.com/qmk/qmk_firmware/pull/12985)) +* [Keymap] Update to Drashna keymap and user code (based on develop) ([#12936](https://github.com/qmk/qmk_firmware/pull/12936)) +* Add Full-duplex serial driver for ARM boards ([#9842](https://github.com/qmk/qmk_firmware/pull/9842)) +* Document LED_MATRIX_FRAMEBUFFER_EFFECTS ([#12987](https://github.com/qmk/qmk_firmware/pull/12987)) +* Backlight: add defines for default level and breathing state ([#12560](https://github.com/qmk/qmk_firmware/pull/12560), [#13024](https://github.com/qmk/qmk_firmware/pull/13024)) +* Add dire message about LUFA mass storage bootloader ([#13014](https://github.com/qmk/qmk_firmware/pull/13014)) + +### Clean-ups and Optimizations :id=core-optimizations + +* Overhaul bootmagic logic to have single entrypoint ([#8532](https://github.com/qmk/qmk_firmware/pull/8532)) +* Refactor of USB code within split_common ([#11890](https://github.com/qmk/qmk_firmware/pull/11890)) +* Begin the process of deprecating `bin/qmk` in favor of the global CLI ([#12109](https://github.com/qmk/qmk_firmware/pull/12109)) +* LED Matrix: decouple from Backlight ([#12054](https://github.com/qmk/qmk_firmware/pull/12054)) +* Remove `FUNC()` ([#12161](https://github.com/qmk/qmk_firmware/pull/12161)) +* Move gpio wait logic to wait.h ([#12067](https://github.com/qmk/qmk_firmware/pull/12067)) +* LED Matrix: Clean up includes ([#12197](https://github.com/qmk/qmk_firmware/pull/12197)) +* Consistently use bin/qmk when that script is called ([#12286](https://github.com/qmk/qmk_firmware/pull/12286)) +* LED Matrix: Additional common_features.mk tweaks ([#12187](https://github.com/qmk/qmk_firmware/pull/12187)) +* LED Matrix: Fix up eeconfig code ([#12327](https://github.com/qmk/qmk_firmware/pull/12327)) +* Big quantum_keycodes cleanup ([#12249](https://github.com/qmk/qmk_firmware/pull/12249)) +* Fix up builds that are now too big for `develop` branch. ([#12495](https://github.com/qmk/qmk_firmware/pull/12495)) +* [Keyboard] kint36: switch to sym_eager_pk debouncing ([#12626](https://github.com/qmk/qmk_firmware/pull/12626)) +* [Keyboard] kint2pp: reduce input latency by ≈10ms ([#12625](https://github.com/qmk/qmk_firmware/pull/12625)) +* eeprom driver: Refactor where eeprom driver initialisation (and EEPROM emulation initialisation) occurs to make it non-target-specific. ([#12671](https://github.com/qmk/qmk_firmware/pull/12671)) +* Change RGB/LED Matrix to use a simple define for USB suspend ([#12697](https://github.com/qmk/qmk_firmware/pull/12697), [#12770](https://github.com/qmk/qmk_firmware/pull/12770 "Fixing transport's led/rgb matrix suspend state logic")) +* Remove pointless SERIAL_LINK_ENABLE rules ([#12846](https://github.com/qmk/qmk_firmware/pull/12846)) +* Make Swap Hands use PROGMEM ([#12284](https://github.com/qmk/qmk_firmware/pull/12284)) +* Remove KEYMAP and LAYOUT_kc ([#12160](https://github.com/qmk/qmk_firmware/pull/12160)) +* Rename `point_t` -> `led_point_t` ([#12864](https://github.com/qmk/qmk_firmware/pull/12864)) +* Deprecate `send_unicode_hex_string()` ([#12602](https://github.com/qmk/qmk_firmware/pull/12602)) +* [Keyboard] Remove redundant legacy and common headers for crkbd ([#13023](https://github.com/qmk/qmk_firmware/pull/13023)) + +### QMK Infrastructure and Internals :id=qmk-internals + +* trivial change to trigger api update ([`b15288fb87`](https://github.com/qmk/qmk_firmware/commit/b15288fb87)) +* fix some references to bin/qmk that slipped in ([#12832](https://github.com/qmk/qmk_firmware/pull/12832)) +* Resolve a number of warnings in `qmk generate-api` ([#12833](https://github.com/qmk/qmk_firmware/pull/12833)) +* Fix another bin/qmk reference ([#12856](https://github.com/qmk/qmk_firmware/pull/12856)) +* Use milc.subcommand.config instead of qmk.cli.config ([#12915](https://github.com/qmk/qmk_firmware/pull/12915)) diff --git a/docs/ChangeLog/20210828.md b/docs/ChangeLog/20210828.md new file mode 100644 index 000000000000..f96283e6ad48 --- /dev/null +++ b/docs/ChangeLog/20210828.md @@ -0,0 +1,557 @@ +# QMK Breaking Changes - 2021 August 28 Changelog + +## Notable Features :id=notable-features + +### Combo processing improvements ([#8591](https://github.com/qmk/qmk_firmware/pull/8591)) :id=combo-processing-improvements + +Combo processing has been reordered with respect to keypress handling, allowing for much better compatibility with mod taps. + +It is also now possible to define combos that have keys overlapping with other combos, triggering only one. For example, a combo of `A`, `B` can coexist with a longer combo of `A`, `B`, `C` -- previous functionality would trigger both combos if all three keys were pressed. + +### Key Overrides ([#11422](https://github.com/qmk/qmk_firmware/pull/11422)) :id=key-overrides + +QMK now has a new feature: [key overrides](https://docs.qmk.fm/#/feature_key_overrides). This feature allows for overriding the output of key combinations involving modifiers. As an example, pressing Shift+2 normally results in an @ on US-ANSI keyboard layouts -- the new key overrides allow for adding similar functionality, but for any modifier + key press. + +To illustrate, it's now possible to use the key overrides feature to translate Shift + Backspace into Delete -- an often-requested example of where this functionality comes in handy. + +There's far more to describe that what lives in this changelog, so head over to the [key overrides documentation](https://docs.qmk.fm/#/feature_key_overrides) for more examples and info. + +### Digitizer support ([#12851](https://github.com/qmk/qmk_firmware/pull/12851)) + +QMK gained the ability to pretend to be a digitizer device -- much like a tablet device. A mouse uses delta-coordinates -- move up, move right -- but a digitizer works with absolute coordinates -- top left, bottom right. + +## Changes Requiring User Action :id=changes-requiring-user-action + +### Updated Keyboard Codebases :id=updated-keyboard-codebases + +The following keyboards have had their source moved within QMK: + +Old Keyboard Name | New Keyboard Name +------------------------------|--------------------------------------------------------- +aeboards/constellation | aeboards/constellation/rev1, aeboards/constellation/rev2 +bakeneko65 | bakeneko65/rev2, bakeneko65/rev3 +bm16a | kprepublic/bm16a +bm16s | kprepublic/bm16s +bm40hsrgb | kprepublic/bm40hsrgb +bm43a | kprepublic/bm43a +bm60poker | kprepublic/bm60poker +bm60rgb | kprepublic/bm60rgb +bm60rgb_iso | kprepublic/bm60rgb_iso +bm68rgb | kprepublic/bm68rgb +clawsome/gamebuddy | clawsome/gamebuddy/v1_0, clawsome/gamebuddy/v1_m +cospad | kprepublic/cospad +custommk/genesis | custommk/genesis/rev1, custommk/genesis/rev2 +daisy | ktec/daisy +durgod/k320 | durgod/k3x0/k320 +dztech/volcano660 | ilumkb/volcano660 +ergodone | ktec/ergodone +gmmk/pro | gmmk/pro/ansi, gmmk/pro/iso +handwired/p1800fl | team0110/p1800fl +jj40 | kprepublic/jj40 +jj4x4 | kprepublic/jj4x4 +jj50 | kprepublic/jj50 +kyria | splitkb/kyria +lazydesigners/the60 | lazydesigners/the60/rev1, lazydesigners/the60/rev2 +matrix/m12og | matrix/m12og/rev1, matrix/m12og/rev2 +mechlovin/hannah65/mechlovin9 | mechlovin/mechlovin9/rev1, mechlovin/mechlovin9/rev2 +peiorisboards/ixora | coarse/ixora +ramonimbao/mona | ramonimbao/mona/v1, ramonimbao/mona/v1_1 +staryu | ktec/staryu +tokyo60 | tokyokeyboard/tokyo60 +vinta | coarse/vinta +xd002 | xiudi/xd002 +xd004 | xiudi/xd004 +xd60 | xiudi/xd60 +xd68 | xiudi/xd68 +xd75 | xiudi/xd75 +xd84 | xiudi/xd84 +xd84pro | xiudi/xd84pro +xd87 | xiudi/xd87 +xd96 | xiudi/xd96 + +### Bootmagic Full Removal ([#13846](https://github.com/qmk/qmk_firmware/pull/13846)) :id=bootmagic-full-removal + +As noted during last breaking changes cycle, QMK has decided to deprecate the full Bootmagic feature and leave Bootmagic Lite as the only remaining option. + +This pull request changes the behavior of `BOOTMAGIC_ENABLE` such that specifying `full` results in an error, allowing only `no`, `yes`, or `lite`. + +Currently `lite` is the equivalent of `yes` in `rules.mk`. Next cycle the use of the `lite` keyword will be prevented in favour of `yes` -- any new submissions should now be using `yes` or `no` to minimise disruption. + +#### Bootmagic Full Deprecation Schedule + +This is the current roadmap for the behavior of `BOOTMAGIC_ENABLE`: + +- (done) From 2021 May 29, setting `BOOTMAGIC_ENABLE = yes` will enable Bootmagic Lite instead of full Bootmagic. +- (now) From 2021 Aug 28, `BOOTMAGIC_ENABLE` must be either `yes`, `lite`, or `no` – setting `BOOTMAGIC_ENABLE = full` will cause compilation to fail. +- (next) From 2021 Nov 27, `BOOTMAGIC_ENABLE` must be either `yes` or `no` – setting `BOOTMAGIC_ENABLE = lite` will cause compilation to fail. + +### DIP switch callbacks are now boolean ([#13399](https://github.com/qmk/qmk_firmware/pull/13399)) :id=dip-switch-boolean + +To match the encoder change last breaking changes cycle, DIP switch callbacks now return `bool`, too. + +Example code before change: + +```c +void dip_switch_update_kb(uint8_t index, bool active) { + dip_switch_update_user(index, active); +} + +void dip_switch_update_user(uint8_t index, bool active) { + switch (index) { + case 0: + if(active) { audio_on(); } else { audio_off(); } + break; + } +} + +void dip_switch_update_mask_kb(uint32_t state) { + dip_switch_update_mask_user(state); +} + +void dip_switch_update_mask_user(uint32_t state) { + if (state & (1UL<<0) && state & (1UL<<1)) { + layer_on(_ADJUST); // C on esc + } else { + layer_off(_ADJUST); + } +} +``` + +Example code after change: + +```c +bool dip_switch_update_kb(uint8_t index, bool active) { + if !(dip_switch_update_user(index, active)) { return false; } + return true; +} + +bool dip_switch_update_user(uint8_t index, bool active) { + switch (index) { + case 0: + if(active) { audio_on(); } else { audio_off(); } + break; + } + return true; // Returning true allows keyboard code to execute, false will tell the keyboard code "I've already handled it". +} + +bool dip_switch_update_mask_kb(uint32_t state) { + if (!dip_switch_update_mask_user(state)) { return false; } + return true; +} + +bool dip_switch_update_mask_user(uint32_t state) { + if (state & (1UL<<0) && state & (1UL<<1)) { + layer_on(_ADJUST); // C on esc + } else { + layer_off(_ADJUST); + } + return true; // Returning true allows keyboard code to execute, false will tell the keyboard code "I've already handled it". +} +``` + +## Notable core changes :id=notable-core + +### Split transport improvements :id=split-transport-improvements + +Split keyboards gained a significant amount of improvements during this breaking changes cycle, specifically: + +* Extensible split data sync ([#11930](https://github.com/qmk/qmk_firmware/pull/11930)) -- rewritten data sharing between sides, allowing for data transfer only when required, as well as enabling keyboards and keymaps to define their own shared data. +* Full-duplex ARM USART split ([#13081](https://github.com/qmk/qmk_firmware/pull/13081)) -- adds to the previous half-duplex driver and now allows for full-duplex support on ARM. +* Make solo half of split keyboards (more) usable. ([#13523](https://github.com/qmk/qmk_firmware/pull/13523)) -- allows the slave to be disconnected, enabling one-handed use. +* Switch split_common to CRC subsystem ([#13418](https://github.com/qmk/qmk_firmware/pull/13418)) + +!> If you're updating your split keyboard, you will need to flash both sides of the split with the your firmware. + +### Teensy 4.x support ([#13056](https://github.com/qmk/qmk_firmware/pull/13056), [#13076](https://github.com/qmk/qmk_firmware/pull/13076), [#13077](https://github.com/qmk/qmk_firmware/pull/13077)) :id=teensy-4-x-support + +Updated ChibiOS and ChibiOS-Contrib, which brought in support for Teensy 4.x dev boards, running NXP i.MX1062. + +### Data Driven Improvements ([#13366](https://github.com/qmk/qmk_firmware/pull/13366)) + +QMK's pursuit of data-driven keyboards has progressed, allowing substantially more configurable options to be specified in `info.json`. + +#### Tags + +Tags will let you categorize your keyboard, and will be used in the future to allow browsing and sorting through keyboards in QMK. Tags are free-form text identifiers that identify attributes about your keyboard. To add tags you simply add a `tags` key to your `info.json`: + + "tags": ["tkl", "backlight", "encoder"] + +#### Dot Notation + +With this release we are moving towards using JSON dot notation in more places. For example, when using `qmk info -f text`: + +``` +$ qmk info -f text -kb clueboard/card + bootloader: atmel-dfu + debounce: 20 + diode_direction: ROW2COL + features.audio: True + features.backlight: True + features.bluetooth: False + features.bootmagic: False + features.command: True + features.console: True + features.extrakey: True + features.lto: True + features.midi: False + features.mousekey: True + features.nkro: False + features.rgblight: True + features.unicode: False + height: 8 + keyboard_folder: clueboard/card + keyboard_name: Cluecard + layout_aliases.LAYOUT: LAYOUT_all + layouts: LAYOUT_all + maintainer: skullydazed + manufacturer: Clueboard + matrix_pins.cols: F1, F6, F7 + matrix_pins.rows: B4, F0, F4, F5 + platform: unknown + processor: atmega32u4 + processor_type: avr + protocol: LUFA + rgblight.brightness_steps: 17 + rgblight.hue_steps: 10 + rgblight.led_count: 4 + rgblight.pin: E6 + rgblight.saturation_steps: 17 + split.transport.protocol: serial + usb.device_ver: 0x0001 + usb.pid: 0x2330 + usb.vid: 0xC1ED + width: 10 +``` + +#### New configuration keys + +We've added dozens of new keys to `info.json` so that you can configure more than ever without writing a single line of code. A quick overview of the new items you can configure: + +* `audio.pins`, `audio.voices` +* `backlight.breathing`, `backlight.breathing_period`, `backlight.levels`, `backlight.pin`, +* `bluetooth.driver`, `bluetooth.lto` +* `bootloader_instructions` +* `build.debounce_type`, `build.firmware_format`, `build.lto` +* `combo.count`, `combo.term` +* `leader_key.timing`, `leader_key.strict_processing`, `leader_key.timeout` +* `matrix.custom`, `matrix.custom_lite`, `matrix.ghost`, `matrix.io_delay` +* `mouse_key.enabled`, `mouse_key.delay`, `mouse_key.interval`, `mouse_key.max_speed`, `mouse_key.time_to_max`, `mouse_key.wheel_delay` +* `oneshot.tap_toggle`, `oneshot.timeout` +* `rgblight.layers.blink`, `rgblight.layers.enabled`, `rgblight.layers.max`, `rgblight.layers.override_rgb`, `rgblight.rgbw` +* `split.enabled`, `split.matrix_grid`, `split.matrix_pins`, `split.main`, `split.soft_serial_pin`, `split.soft_serial_speed`, `split.transport.protocol`, `split.transport.sync_matrix_state`, `split.transport.sync_modifiers`, `split.usb_detect` +* `tapping.force_hold`, `tapping.force_hold_per_key`, `tapping.ignore_mod_tap_interrupt`, `tapping.ignore_mod_tap_interrupt_per_key`, `tapping.permissive_hold`, `tapping.permissive_hold_per_key`, `tapping.retro`, `tapping.retro_per_key`, `tapping.term`, `tapping.term_per_key`, `tapping.toggle` +* `usb.force_nkro`, `usb.max_power`, `usb.no_startup_check`, `usb.polling_interval`, `usb.shared_endpoint.keyboard`, `usb.shared_endpoint.mouse`, `usb.suspend_wakeup_delay`, `usb.wait_for` +* `qmk.keys_per_scan`, `qmk.tap_keycode_delay`, `qmk.tap_capslock_delay` + +### Codebase restructure and cleanup :id=codebase-restructure + +QMK was originally based on TMK, and has grown in size considerably since its first inception. To keep moving things forward, restructure of some of the core areas of the code is needed to support new concepts and new hardware, and progress is happening along those lines: + +* Move RGBLight code into its own folder ([#13312](https://github.com/qmk/qmk_firmware/pull/13312)) +* Migrate platform independent code from tmk_core -> quantum ([#13673](https://github.com/qmk/qmk_firmware/pull/13673)) +* matrix_scan_x -> x_task ([#13748](https://github.com/qmk/qmk_firmware/pull/13748)) +* Move some led drivers to common folder ([#13749](https://github.com/qmk/qmk_firmware/pull/13749)) +* Move chibios board files to allow tmk_core platform migration ([#13777](https://github.com/qmk/qmk_firmware/pull/13777)) +* Begin to carve out platform/protocol API - Single main loop ([#13843](https://github.com/qmk/qmk_firmware/pull/13843)) +* Relocate platform specific drivers ([#13894](https://github.com/qmk/qmk_firmware/pull/13894)) +* Move all the flash logic from tmk_core ([#13927](https://github.com/qmk/qmk_firmware/pull/13927)) +* Move USB Host Shield and Arduino core to `lib/` ([#13973](https://github.com/qmk/qmk_firmware/pull/13973)) +* Unify behaviour of wait on AVR ([#14025](https://github.com/qmk/qmk_firmware/pull/14025)) +* Move nix folder alongside vagrant ([#14132](https://github.com/qmk/qmk_firmware/pull/14132)) +* Align some quantum sub-directories ([#14134](https://github.com/qmk/qmk_firmware/pull/14134)) + +--- + +## Full changelist + +Core: +* Arm ps2 mouse interrupt ([#6490](https://github.com/qmk/qmk_firmware/pull/6490)) +* Process combos earlier & overlapping combos ([#8591](https://github.com/qmk/qmk_firmware/pull/8591)) +* Swap buttons on PS2 Mouse/Trackball ([#9205](https://github.com/qmk/qmk_firmware/pull/9205)) +* Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys ([#9404](https://github.com/qmk/qmk_firmware/pull/9404)) +* add yaml_build_options target ([#10533](https://github.com/qmk/qmk_firmware/pull/10533)) +* Warn when building a board that uses arm_atsam ([#10904](https://github.com/qmk/qmk_firmware/pull/10904)) +* Key Overrides ([#11422](https://github.com/qmk/qmk_firmware/pull/11422)) +* Refactor `quantum/command.{c,h}` for code size & {read,maintain}ability ([#11842](https://github.com/qmk/qmk_firmware/pull/11842)) +* Extensible split data sync ([#11930](https://github.com/qmk/qmk_firmware/pull/11930)) +* Move print/debug files to quantum ([#12069](https://github.com/qmk/qmk_firmware/pull/12069)) +* Unconditionally call led_init_ports ([#12116](https://github.com/qmk/qmk_firmware/pull/12116)) +* Support using a timer for wait_us() on ChibiOS-based boards ([#12211](https://github.com/qmk/qmk_firmware/pull/12211)) +* Add support for NO_PIN to all matrix types ([#12238](https://github.com/qmk/qmk_firmware/pull/12238)) +* Avoid 8-bit timer overflows in debounce algorithms ([#12240](https://github.com/qmk/qmk_firmware/pull/12240)) +* Add Per Key exclusions for Haptic Feedback ([#12386](https://github.com/qmk/qmk_firmware/pull/12386)) +* Steno combinedkeys ([#12538](https://github.com/qmk/qmk_firmware/pull/12538)) +* eeprom_stm32: implement high density wear leveling ([#12567](https://github.com/qmk/qmk_firmware/pull/12567)) +* eeprom_i2c driver: added EXTERNAL_EEPROM_WP_PIN configuration option. ([#12617](https://github.com/qmk/qmk_firmware/pull/12617)) +* Add CRC8 calculation subsystem to quantum ([#12641](https://github.com/qmk/qmk_firmware/pull/12641)) +* Limit saturation for RGB_MATRIX_JELLYBEAN_RAINDROPS ([#12669](https://github.com/qmk/qmk_firmware/pull/12669)) +* Add asym_eager_defer_pk debounce type ([#12689](https://github.com/qmk/qmk_firmware/pull/12689)) +* Include lib8tion.c into RGB/LED matrix build list ([#12699](https://github.com/qmk/qmk_firmware/pull/12699)) +* Add readPort() and some API to 'tmk_core/common/*/gpio.h' ([#12754](https://github.com/qmk/qmk_firmware/pull/12754)) +* add wait_cpuclock() macro for AVR and CPU_CLOCK macro ([#12755](https://github.com/qmk/qmk_firmware/pull/12755)) +* Trigger a wakeup after USB Reset on ChibiOS. ([#12831](https://github.com/qmk/qmk_firmware/pull/12831)) +* Add sync_timer support over serial_link (i.e. Ergodox Infinity) ([#12845](https://github.com/qmk/qmk_firmware/pull/12845)) +* Digitizer HID interface : absolute coordinates for mouse cursor ([#12851](https://github.com/qmk/qmk_firmware/pull/12851)) +* Add config.h and rules.mk support for data driven keymaps ([#12859](https://github.com/qmk/qmk_firmware/pull/12859)) +* Add alternate ldscript for STM32duino (F103xB) ([#12914](https://github.com/qmk/qmk_firmware/pull/12914)) +* `keymap_extras`: Remove deprecated defines ([#12949](https://github.com/qmk/qmk_firmware/pull/12949)) +* Retain brightness with lighting layers ([#13025](https://github.com/qmk/qmk_firmware/pull/13025)) +* Move optical sensor code to drivers folder ([#13044](https://github.com/qmk/qmk_firmware/pull/13044)) +* Change the prototype of matrix_output_unselect_delay() ([#13045](https://github.com/qmk/qmk_firmware/pull/13045)) +* Add weak refs on reading rows/cols. ([#13062](https://github.com/qmk/qmk_firmware/pull/13062)) +* Use single memcmp to determine if matrix changed. ([#13064](https://github.com/qmk/qmk_firmware/pull/13064)) +* Improve layer mask handling ([#13065](https://github.com/qmk/qmk_firmware/pull/13065)) +* mousekey: expose current report to users ([#13069](https://github.com/qmk/qmk_firmware/pull/13069)) +* ChibiOS SVN mirror script. ([#13070](https://github.com/qmk/qmk_firmware/pull/13070)) +* Added right vs left specific pin assignments for dip switch ([#13074](https://github.com/qmk/qmk_firmware/pull/13074)) +* make RESET key work with Teensy 4.x ([#13076](https://github.com/qmk/qmk_firmware/pull/13076)) +* wire up flash make target for Teensy 4.x ([#13077](https://github.com/qmk/qmk_firmware/pull/13077)) +* bump USB spec version in device descriptor to 2.0 ([#13078](https://github.com/qmk/qmk_firmware/pull/13078)) +* Unite half-duplex and full-duplex serial drivers ([#13081](https://github.com/qmk/qmk_firmware/pull/13081)) +* Add ST7565 LCD driver ([#13089](https://github.com/qmk/qmk_firmware/pull/13089)) +* `spi_master` Kinetis support ([#13098](https://github.com/qmk/qmk_firmware/pull/13098)) +* GMMK Pro RGB Support ([#13147](https://github.com/qmk/qmk_firmware/pull/13147)) +* Remove dfu-util arguments from mcu_selection ([#13150](https://github.com/qmk/qmk_firmware/pull/13150)) +* Add subcommand to generate version.h ([#13151](https://github.com/qmk/qmk_firmware/pull/13151)) +* Add oled_invert ([#13172](https://github.com/qmk/qmk_firmware/pull/13172)) +* ST7565 invert ([#13237](https://github.com/qmk/qmk_firmware/pull/13237)) +* RGB Matrix eeprom write limiting ([#13238](https://github.com/qmk/qmk_firmware/pull/13238)) +* Temporary disable of CRC ([#13252](https://github.com/qmk/qmk_firmware/pull/13252)) +* Move LED/RGB Matrix code into their own directories ([#13257](https://github.com/qmk/qmk_firmware/pull/13257)) +* Skip EEPROM writes once done. ([#13293](https://github.com/qmk/qmk_firmware/pull/13293)) +* Remove rgblight stubs ([#13302](https://github.com/qmk/qmk_firmware/pull/13302)) +* Allow settable SPI divisor for AW20216 driver, set default to 4 ([#13309](https://github.com/qmk/qmk_firmware/pull/13309)) +* Move RGBLight code into its own folder ([#13312](https://github.com/qmk/qmk_firmware/pull/13312)) +* Unify matrix for split common and regular matrix ([#13330](https://github.com/qmk/qmk_firmware/pull/13330)) +* Relocate RGB/HSV color defs to a more fitting place ([#13377](https://github.com/qmk/qmk_firmware/pull/13377)) +* Adds support for STM32L412xB, STM32L422xB. ([#13383](https://github.com/qmk/qmk_firmware/pull/13383)) +* Convert Dip Switch callbacks to boolean functions ([#13399](https://github.com/qmk/qmk_firmware/pull/13399)) +* Use string literals for `SERIAL_NUMBER` ([#13403](https://github.com/qmk/qmk_firmware/pull/13403)) +* Switch split_common to CRC subsystem ([#13418](https://github.com/qmk/qmk_firmware/pull/13418)) +* Improve 'show_build_options' target ([#13425](https://github.com/qmk/qmk_firmware/pull/13425)) +* AW20216 use register increment for framebuffer flushes ([#13430](https://github.com/qmk/qmk_firmware/pull/13430)) +* Allow invert of SPLIT_HAND_PIN logic ([#13433](https://github.com/qmk/qmk_firmware/pull/13433)) +* chibios: bootloader: use integer pointers as volatile ([#13450](https://github.com/qmk/qmk_firmware/pull/13450)) +* Refactor OLED to allow easy addition of other types ([#13454](https://github.com/qmk/qmk_firmware/pull/13454)) +* Dual RGB Matrix IS31FL3737 driver support to address #13442 ([#13457](https://github.com/qmk/qmk_firmware/pull/13457)) +* Enable g_is31_leds PROGMEM for RGB Matrix IS31FL3737 driver ([#13480](https://github.com/qmk/qmk_firmware/pull/13480)) +* Switch Ergodox Infinity over to split_common ([#13481](https://github.com/qmk/qmk_firmware/pull/13481)) +* Make solo half of split keyboards (more) usable. ([#13523](https://github.com/qmk/qmk_firmware/pull/13523)) +* Enable sync of OLED/ST7565 display on/off state on Splits ([#13542](https://github.com/qmk/qmk_firmware/pull/13542)) +* Revert "Add rgblight to RGB Matrix VPATH" ([#13559](https://github.com/qmk/qmk_firmware/pull/13559)) +* Move `SENDSTRING_BELL` code to `send_string.h` ([#13566](https://github.com/qmk/qmk_firmware/pull/13566)) +* Migrate platform independent code from tmk_core -> quantum ([#13673](https://github.com/qmk/qmk_firmware/pull/13673)) +* Avoid LTO conficts on arm_atsam ([#13676](https://github.com/qmk/qmk_firmware/pull/13676)) +* Allow for removal of hysteresis on 4x encoders ([#13698](https://github.com/qmk/qmk_firmware/pull/13698)) +* Port new_keyboard.sh to CLI ([#13706](https://github.com/qmk/qmk_firmware/pull/13706)) +* Align AW20216 driver ([#13712](https://github.com/qmk/qmk_firmware/pull/13712)) +* Haptic: driver-> feature ([#13713](https://github.com/qmk/qmk_firmware/pull/13713)) +* Add support for STM32F407x MCUs. ([#13718](https://github.com/qmk/qmk_firmware/pull/13718)) +* Remove legacy BACKLIGHT_CUSTOM_DRIVER option ([#13731](https://github.com/qmk/qmk_firmware/pull/13731)) +* Minor tidy up of key overrides ([#13747](https://github.com/qmk/qmk_firmware/pull/13747)) +* matrix_scan_x -> x_task ([#13748](https://github.com/qmk/qmk_firmware/pull/13748)) +* Move some led drivers to common folder ([#13749](https://github.com/qmk/qmk_firmware/pull/13749)) +* Allow for higher USB Polling rate on ATSAM boards ([#13755](https://github.com/qmk/qmk_firmware/pull/13755)) +* Rgb matrix/enable modes explicitly ([#13758](https://github.com/qmk/qmk_firmware/pull/13758)) +* Move chibios board files to allow tmk_core platform migration ([#13777](https://github.com/qmk/qmk_firmware/pull/13777)) +* __flash? ([#13799](https://github.com/qmk/qmk_firmware/pull/13799)) +* `--parallel` improvements ([#13800](https://github.com/qmk/qmk_firmware/pull/13800)) +* Speed up pimoroni trackball driver ([#13823](https://github.com/qmk/qmk_firmware/pull/13823)) +* Add a toggle key for GUI On/Off in Magic feature ([#13830](https://github.com/qmk/qmk_firmware/pull/13830)) +* Begin to carve out platform/protocol API - Single main loop ([#13843](https://github.com/qmk/qmk_firmware/pull/13843)) +* Remove Full Bootmagic ([#13846](https://github.com/qmk/qmk_firmware/pull/13846)) +* Remove backwards compatibility of debounce names ([#13877](https://github.com/qmk/qmk_firmware/pull/13877)) +* Relocate platform specific drivers ([#13894](https://github.com/qmk/qmk_firmware/pull/13894)) +* Remove ONEHAND_ENABLE ([#13920](https://github.com/qmk/qmk_firmware/pull/13920)) +* Move all the flash logic from tmk_core ([#13927](https://github.com/qmk/qmk_firmware/pull/13927)) +* adding uf2 flash support for blackpill 401 ([#13968](https://github.com/qmk/qmk_firmware/pull/13968)) +* Unify behaviour of wait on AVR ([#14025](https://github.com/qmk/qmk_firmware/pull/14025)) +* Add qmk-hid bootloader detection support to `qmk console` ([#14038](https://github.com/qmk/qmk_firmware/pull/14038)) +* Align DIP_SWITCH_PINS_RIGHT implementation with encoders ([#14079](https://github.com/qmk/qmk_firmware/pull/14079)) +* Tidy up quantum.c now some of tmk_core has been merged ([#14083](https://github.com/qmk/qmk_firmware/pull/14083)) +* Improve pmw3360 sensor and make it more hardware agnostic ([#14097](https://github.com/qmk/qmk_firmware/pull/14097)) +* Move nix folder alongside vagrant ([#14132](https://github.com/qmk/qmk_firmware/pull/14132)) +* Align some quantum sub-directories ([#14134](https://github.com/qmk/qmk_firmware/pull/14134)) +* Revert 14083 && 14144 ([#14150](https://github.com/qmk/qmk_firmware/pull/14150)) + +CLI: +* allow LINE_PINxx for Teensy 4.x pins ([#13247](https://github.com/qmk/qmk_firmware/pull/13247)) +* Remove the redundant pin name validation ([#13251](https://github.com/qmk/qmk_firmware/pull/13251)) +* Move all our CLI file formatters to the format dir ([#13296](https://github.com/qmk/qmk_firmware/pull/13296)) +* Refactor doctor.py into a directory ([#13298](https://github.com/qmk/qmk_firmware/pull/13298)) +* Add git and venv info to doctor's output ([#13405](https://github.com/qmk/qmk_firmware/pull/13405)) +* Matrix consistency check ([#13470](https://github.com/qmk/qmk_firmware/pull/13470)) +* Remove references to info.json `width` and `height` in CLI ([#13728](https://github.com/qmk/qmk_firmware/pull/13728)) +* Make `qmk doctor` more lenient about system config ([#13804](https://github.com/qmk/qmk_firmware/pull/13804)) +* Defer the expensive search for layout macros until info.json has been processed ([#14007](https://github.com/qmk/qmk_firmware/pull/14007)) + +Submodule updates: +* Update ChibiOS, ChibiOS-Contrib. ([#13056](https://github.com/qmk/qmk_firmware/pull/13056)) +* Update LUFA (18-07-2021) and add QMK-HID Bootloader support ([#13588](https://github.com/qmk/qmk_firmware/pull/13588)) +* Update LUFA Submodule (2021-07-30) ([#13819](https://github.com/qmk/qmk_firmware/pull/13819)) +* Bump gtest ([#13885](https://github.com/qmk/qmk_firmware/pull/13885)) +* Update ChibiOS-Contrib, mirroring script. ([#13896](https://github.com/qmk/qmk_firmware/pull/13896)) +* Move USB Host Shield and Arduino core to `lib/` ([#13973](https://github.com/qmk/qmk_firmware/pull/13973)) + +Keyboards: +* Migrate keyboards using uGFX to LED_MATRIX ([#9657](https://github.com/qmk/qmk_firmware/pull/9657)) +* Remove MIDI Configuration boilerplate ([#11151](https://github.com/qmk/qmk_firmware/pull/11151)) +* manyboard macro ([#11896](https://github.com/qmk/qmk_firmware/pull/11896)) +* Moved tokyo60/ into tokyokeyboard/tokyo60/. ([#12023](https://github.com/qmk/qmk_firmware/pull/12023)) +* Organize KPrepublic, K.T.E.C, xiudi boards into directories ([#12159](https://github.com/qmk/qmk_firmware/pull/12159)) +* Add Durgod Taurus K310 keyboard ([#12314](https://github.com/qmk/qmk_firmware/pull/12314)) +* add support for m65 and simple 5x13 ortholinear ([#12315](https://github.com/qmk/qmk_firmware/pull/12315)) +* Relocalize and Update p1800fl ([#12425](https://github.com/qmk/qmk_firmware/pull/12425)) +* GameBuddy v1.M ([#12637](https://github.com/qmk/qmk_firmware/pull/12637)) +* Add mechlovin9 rev2 PCB ([#12767](https://github.com/qmk/qmk_firmware/pull/12767)) +* Add RGB matrix support for Kyria ([#12789](https://github.com/qmk/qmk_firmware/pull/12789)) +* RGB Matrix working for Sofle RGB ([#12861](https://github.com/qmk/qmk_firmware/pull/12861)) +* Add Durgod Hades, Galaxy and Venus Keyboards ([#12893](https://github.com/qmk/qmk_firmware/pull/12893)) +* kint36: set correct EEPROM size ([#12946](https://github.com/qmk/qmk_firmware/pull/12946)) +* Updated encoder_update_user on my keymap to follow the new signature on quantum ([#13152](https://github.com/qmk/qmk_firmware/pull/13152)) +* Add Creator Pro by SergioPoverony ([#13154](https://github.com/qmk/qmk_firmware/pull/13154)) +* Use the new ST7565 driver on Ergodox Infinity ([#13165](https://github.com/qmk/qmk_firmware/pull/13165)) +* Refactor atom47 and add rev4 and rev5 ([#13201](https://github.com/qmk/qmk_firmware/pull/13201)) +* Add Bakeneko65 V3 and revision folders ([#13228](https://github.com/qmk/qmk_firmware/pull/13228)) +* Keyboards/RGBKB/Mün ([#13239](https://github.com/qmk/qmk_firmware/pull/13239)) +* Optimize our jsonschema by using refs ([#13271](https://github.com/qmk/qmk_firmware/pull/13271)) +* Handwired/Stream_Cheap/2x4: Add via support ([#13297](https://github.com/qmk/qmk_firmware/pull/13297)) +* ez_maker/directpins for easy one-offs in qmk_configurator ([#13321](https://github.com/qmk/qmk_firmware/pull/13321)) +* add kinT kinesis keyboard controller (kint41 variant) ([#13333](https://github.com/qmk/qmk_firmware/pull/13333)) +* Error log cleanup ([#13349](https://github.com/qmk/qmk_firmware/pull/13349)) +* Drashna's split updates ([#13350](https://github.com/qmk/qmk_firmware/pull/13350)) +* Migrate SHIFT_ESC and RGB `fn_actions` to Grave Escape and RGB keycodes ([#13360](https://github.com/qmk/qmk_firmware/pull/13360)) +* Add a lot more data to info.json ([#13366](https://github.com/qmk/qmk_firmware/pull/13366)) +* Remove `API_SYSEX_ENABLE`s from rules.mk ([#13389](https://github.com/qmk/qmk_firmware/pull/13389)) +* gmmk/pro/mike1808 keymap ([#13398](https://github.com/qmk/qmk_firmware/pull/13398)) +* Remove deprecated callbacks for encoders and dip switches ([#13404](https://github.com/qmk/qmk_firmware/pull/13404)) +* first pass: matrix consistency improvements ([#13471](https://github.com/qmk/qmk_firmware/pull/13471)) +* Migrate more `fn_actions` stuff ([#13502](https://github.com/qmk/qmk_firmware/pull/13502)) +* add simple gmmk pro macos keymap with rgb ([#13504](https://github.com/qmk/qmk_firmware/pull/13504)) +* move volcano660 to ilumkb folder ([#13550](https://github.com/qmk/qmk_firmware/pull/13550)) +* Valor Rev 2 ([#13551](https://github.com/qmk/qmk_firmware/pull/13551)) +* Split GMMK Pro PCBs into separate revisions ([#13570](https://github.com/qmk/qmk_firmware/pull/13570)) +* Remove the vision_division keyboard ([#13571](https://github.com/qmk/qmk_firmware/pull/13571)) +* Develop - Change uint32_t to layer_state_t ([#13596](https://github.com/qmk/qmk_firmware/pull/13596)) +* Develop - DC01 left ([#13597](https://github.com/qmk/qmk_firmware/pull/13597)) +* Created "paddlegame" keymap ([#13629](https://github.com/qmk/qmk_firmware/pull/13629)) +* Add timer_avr to includes for broken builds ([#13641](https://github.com/qmk/qmk_firmware/pull/13641)) +* Disable console by default on all Keebio boards ([#13649](https://github.com/qmk/qmk_firmware/pull/13649)) +* Enable LTO by default on BastardKB Scylla ([#13664](https://github.com/qmk/qmk_firmware/pull/13664)) +* Reduce compile size for dz60rgb v2.1 ([#13680](https://github.com/qmk/qmk_firmware/pull/13680)) +* Clean up remaining RGB_DISABLE_WHEN_USB_SUSPENDED defines ([#13689](https://github.com/qmk/qmk_firmware/pull/13689)) +* Remove some legacy files ([#13715](https://github.com/qmk/qmk_firmware/pull/13715)) +* [Keyboard Update] Change to L422 ([#13717](https://github.com/qmk/qmk_firmware/pull/13717)) +* Update kyria make path example ([#13720](https://github.com/qmk/qmk_firmware/pull/13720)) +* Drashna's Defaults cleanup ([#13722](https://github.com/qmk/qmk_firmware/pull/13722)) +* Reduce firmware size in prep for #12670 ([#13724](https://github.com/qmk/qmk_firmware/pull/13724)) +* Tidy up rgbkb/mun ([#13801](https://github.com/qmk/qmk_firmware/pull/13801)) +* Make default keymap for GMMK Pro reflect stock ([#13850](https://github.com/qmk/qmk_firmware/pull/13850)) +* Rework as per 9824 ([#13898](https://github.com/qmk/qmk_firmware/pull/13898)) +* Remove console from keebio via keyboards ([#13901](https://github.com/qmk/qmk_firmware/pull/13901)) +* Drashna split transport improvement ([#13905](https://github.com/qmk/qmk_firmware/pull/13905)) +* Copy GMMK Pro screw specs to ISO readme ([#13908](https://github.com/qmk/qmk_firmware/pull/13908)) +* Clean up remaining RGB_DISABLE_WHEN_USB_SUSPENDED defines Part 2 ([#13912](https://github.com/qmk/qmk_firmware/pull/13912)) +* Add andrebrait layout for GMMK Pro ([#13932](https://github.com/qmk/qmk_firmware/pull/13932)) +* Updated RGB Matrix suspend define part 3 ([#13954](https://github.com/qmk/qmk_firmware/pull/13954)) +* Improve andrebrait keymap ([#13985](https://github.com/qmk/qmk_firmware/pull/13985)) +* Drashna's Improve OLEDs and custom Split code ([#14063](https://github.com/qmk/qmk_firmware/pull/14063)) +* Kyria default reformat ([#14080](https://github.com/qmk/qmk_firmware/pull/14080)) +* Feature rich keymap for GMMK Pro (ANSI) ([#14120](https://github.com/qmk/qmk_firmware/pull/14120)) + +Keyboard fixes: +* Fix LED mapping for GMMK Pro ([#13189](https://github.com/qmk/qmk_firmware/pull/13189)) +* Fix up SplitKB keyboards ([#13511](https://github.com/qmk/qmk_firmware/pull/13511)) +* Keyboards/sol rev2 fix ([#13533](https://github.com/qmk/qmk_firmware/pull/13533)) +* Fix MATRIX_COLS for aeboards/constellation/rev2 ([#13633](https://github.com/qmk/qmk_firmware/pull/13633)) +* Fix errors with matrix_output_unselect_delay function calls ([#13645](https://github.com/qmk/qmk_firmware/pull/13645)) +* Fix default keymap for 0xCB 1337 keyboard ([#13646](https://github.com/qmk/qmk_firmware/pull/13646)) +* Fix Matrix Row number for ggkeyboards/genisis ([#13647](https://github.com/qmk/qmk_firmware/pull/13647)) +* Fix matrix issues with Promethium ([#13648](https://github.com/qmk/qmk_firmware/pull/13648)) +* Fix dc01/left so that it doesn't throw a warning ([#13653](https://github.com/qmk/qmk_firmware/pull/13653)) +* Remove broken, unmaintained converter/ibm_5291 ([#13658](https://github.com/qmk/qmk_firmware/pull/13658)) +* Quick hack to fix Astro65 board ([#13665](https://github.com/qmk/qmk_firmware/pull/13665)) +* Fix symmetric70_proto build break on develop branch ([#13667](https://github.com/qmk/qmk_firmware/pull/13667)) +* Fix matrix delay on Drop boards ([#13671](https://github.com/qmk/qmk_firmware/pull/13671)) +* Fix split matrix for sekigon grs 70ec ([#13672](https://github.com/qmk/qmk_firmware/pull/13672)) +* Fix type on pandora via keymap ([#13681](https://github.com/qmk/qmk_firmware/pull/13681)) +* Fix & clean up tronguylabs/m122_3270 ([#13684](https://github.com/qmk/qmk_firmware/pull/13684)) +* Fix up xd002 rgb keymaps ([#13685](https://github.com/qmk/qmk_firmware/pull/13685)) +* Dactyl Manuform cleanup ([#13686](https://github.com/qmk/qmk_firmware/pull/13686)) +* Fix Q1 change dip switch to bool ([#13687](https://github.com/qmk/qmk_firmware/pull/13687)) +* Fix compile size for the Merge UM70 via keymap ([#13690](https://github.com/qmk/qmk_firmware/pull/13690)) +* Fix compile size for the Lets Split Sockets via keymap ([#13691](https://github.com/qmk/qmk_firmware/pull/13691)) +* Fix Compile size on ungodly Launch Pad ([#13692](https://github.com/qmk/qmk_firmware/pull/13692)) +* dirty fix ([#13695](https://github.com/qmk/qmk_firmware/pull/13695)) +* Fix compile size for the Vitamins Included via keymap ([#13696](https://github.com/qmk/qmk_firmware/pull/13696)) +* Fix typo in Dactyl Manuform ([#13740](https://github.com/qmk/qmk_firmware/pull/13740)) +* Fix compile issues due to LED changes ([#13821](https://github.com/qmk/qmk_firmware/pull/13821)) +* Fix SRC include for matrix/m20add issi driver ([#13826](https://github.com/qmk/qmk_firmware/pull/13826)) +* fix develop branch move file ([#13832](https://github.com/qmk/qmk_firmware/pull/13832)) +* Fix knops keymaps ([#13872](https://github.com/qmk/qmk_firmware/pull/13872)) +* Switch Draculad to using WPM char hack ([#13886](https://github.com/qmk/qmk_firmware/pull/13886)) +* Fix up builds after #8591 ([#13900](https://github.com/qmk/qmk_firmware/pull/13900)) +* Fix matrix_output_unselect_delay for handwired/xealousbrown ([#13913](https://github.com/qmk/qmk_firmware/pull/13913)) +* Fixup rgb matrix config for KBD67 mkII boards ([#13931](https://github.com/qmk/qmk_firmware/pull/13931)) +* Fix compliation for ferris 0.2 bling ([#13937](https://github.com/qmk/qmk_firmware/pull/13937)) +* Fix some additional bootmagic settings ([#13979](https://github.com/qmk/qmk_firmware/pull/13979)) +* Fix default keymap for GMMK Pro Iso ([#13980](https://github.com/qmk/qmk_firmware/pull/13980)) +* Fixup Ungodly Launch Pad config ([#13992](https://github.com/qmk/qmk_firmware/pull/13992)) +* Fix errors that have cropped up in develop ([#14005](https://github.com/qmk/qmk_firmware/pull/14005)) +* Fix wait_us overflow in matrix for dactyl based boards ([#14039](https://github.com/qmk/qmk_firmware/pull/14039)) +* Fixup Neson Design N6 ISSI includes ([#14045](https://github.com/qmk/qmk_firmware/pull/14045)) +* Fixup `massdrop/alt`, `cest73/tkm`. ([#14048](https://github.com/qmk/qmk_firmware/pull/14048)) +* fix helix:fraanrosi compile error caused by #13677. ([#14061](https://github.com/qmk/qmk_firmware/pull/14061)) +* Fix compile issues for Tractyl Manuform ([#14105](https://github.com/qmk/qmk_firmware/pull/14105)) +* Disable Console on Keebio Quefrency ([#14108](https://github.com/qmk/qmk_firmware/pull/14108)) +* Fixed GMMK Pro -> stickandgum keymap readme.md ([#14123](https://github.com/qmk/qmk_firmware/pull/14123)) +* Drashna keymap fixups ([#14140](https://github.com/qmk/qmk_firmware/pull/14140)) +* fix ([#14142](https://github.com/qmk/qmk_firmware/pull/14142)) +* Fix merge artifacts ([#14146](https://github.com/qmk/qmk_firmware/pull/14146)) +* Update readme files ([#14172](https://github.com/qmk/qmk_firmware/pull/14172)) + +Others: +* Add examples to RGB Matrix Indicators docs ([#12797](https://github.com/qmk/qmk_firmware/pull/12797)) + +Bugs: +* Fix Indicator LED issues ([#12097](https://github.com/qmk/qmk_firmware/pull/12097)) +* Fixing incorrect keymap build when switching between multiple keymap.jsons ([#12632](https://github.com/qmk/qmk_firmware/pull/12632)) +* Fix LED Hit Counter for LED/RGB Matrix ([#12674](https://github.com/qmk/qmk_firmware/pull/12674)) +* ChibiOS fix O3 and LTO breakage of extra keys and joystick ([#12819](https://github.com/qmk/qmk_firmware/pull/12819)) +* Remove the #10088 hotfix for Teensy 3.1-like Input:Club keyboards ([#12870](https://github.com/qmk/qmk_firmware/pull/12870)) +* Fix firmware size check with avr-libc 1:2.0.0+Atmel3.6.2-1.1 (Debian bullseye) ([#12951](https://github.com/qmk/qmk_firmware/pull/12951)) +* Fix RGB/LED Suspend defines ([#13146](https://github.com/qmk/qmk_firmware/pull/13146)) +* Fix overrun in st7565_write_raw when not at (0, 0) ([#13209](https://github.com/qmk/qmk_firmware/pull/13209)) +* Upgrades Vagrant box to Debian 10 to fix Docker build error on Debian 9. ([#13236](https://github.com/qmk/qmk_firmware/pull/13236)) +* Fix issues with VIA EEPROM init and bring in line with eeconfig functionality ([#13243](https://github.com/qmk/qmk_firmware/pull/13243)) +* Fix CRC for AVR and enable again. ([#13253](https://github.com/qmk/qmk_firmware/pull/13253)) +* Fix linker error when rgblight and RGB Matrix are both enabled ([#13304](https://github.com/qmk/qmk_firmware/pull/13304)) +* Fix building layouts from JSON ([#13310](https://github.com/qmk/qmk_firmware/pull/13310)) +* Add rgblight to RGB Matrix VPATH ([#13371](https://github.com/qmk/qmk_firmware/pull/13371)) +* Fix two out of bounds accesses from #13330. ([#13525](https://github.com/qmk/qmk_firmware/pull/13525)) +* Fixes for clang not being able to run unit tests ([#13546](https://github.com/qmk/qmk_firmware/pull/13546)) +* Fixup Audio startup and add to documents ([#13606](https://github.com/qmk/qmk_firmware/pull/13606)) +* CLI/Docs: Fix the format commands' name ([#13668](https://github.com/qmk/qmk_firmware/pull/13668)) +* Disables rgblight twinkle by default. ([#13677](https://github.com/qmk/qmk_firmware/pull/13677)) +* Fix typo in dip switch example ([#13688](https://github.com/qmk/qmk_firmware/pull/13688)) +* docs/cli_commands: fix typo ([#13697](https://github.com/qmk/qmk_firmware/pull/13697)) +* Include gpio.h in solenoid driver for GPIO Control functions ([#13716](https://github.com/qmk/qmk_firmware/pull/13716)) +* Fix pimoroni trackball read address ([#13810](https://github.com/qmk/qmk_firmware/pull/13810)) +* Fix Key Override includes ([#13831](https://github.com/qmk/qmk_firmware/pull/13831)) +* Fix alignment of USB out report buffer 2 -> 4 ([#13838](https://github.com/qmk/qmk_firmware/pull/13838)) +* Fix compilation issue. ([#13926](https://github.com/qmk/qmk_firmware/pull/13926)) +* Fix `combo_disable` ([#13988](https://github.com/qmk/qmk_firmware/pull/13988)) +* Fix pmw3360 code to only output debug info if mouse debugging is enabled ([#13993](https://github.com/qmk/qmk_firmware/pull/13993)) +* Fix ifdefs for OLED split sync code ([#14017](https://github.com/qmk/qmk_firmware/pull/14017)) +* Various fixes from reorg of files ([#14051](https://github.com/qmk/qmk_firmware/pull/14051)) +* Fixup atsam builds. ([#14052](https://github.com/qmk/qmk_firmware/pull/14052)) +* Fix RGB/LED Matrix Suspend code ([#14084](https://github.com/qmk/qmk_firmware/pull/14084)) +* Fix issues with recent keymap.json changes ([#14089](https://github.com/qmk/qmk_firmware/pull/14089)) +* Fix LED Matrix suspend code ([#14090](https://github.com/qmk/qmk_firmware/pull/14090)) +* Fix up compilation issues. ([#14095](https://github.com/qmk/qmk_firmware/pull/14095)) +* Fix copypasta issue with pmw3360 sensor config ([#14106](https://github.com/qmk/qmk_firmware/pull/14106)) +* Fix typo ([#14118](https://github.com/qmk/qmk_firmware/pull/14118)) +* Fix bootloadHID comments breaking :flash ([#14133](https://github.com/qmk/qmk_firmware/pull/14133)) +* Fix Mouse Shared EP functionality ([#14136](https://github.com/qmk/qmk_firmware/pull/14136)) +* Short term bodge for firmware size bloat ([#14144](https://github.com/qmk/qmk_firmware/pull/14144)) +* Move to correct location ([#14171](https://github.com/qmk/qmk_firmware/pull/14171)) diff --git a/docs/_summary.md b/docs/_summary.md index 83799acdb8b8..2f6309e41d1d 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -19,6 +19,7 @@ * [Overview](newbs_building_firmware_configurator.md) * [Step by Step](configurator_step_by_step.md) * [Troubleshooting](configurator_troubleshooting.md) + * [Architecture](configurator_architecture.md) * QMK API * [Overview](api_overview.md) * [API Documentation](api_docs.md) @@ -29,11 +30,13 @@ * [Overview](cli.md) * [Configuration](cli_configuration.md) * [Commands](cli_commands.md) + * [Tab Completion](cli_tab_complete.md) * Using QMK * Guides * [Customizing Functionality](custom_quantum_functions.md) * [Driver Installation with Zadig](driver_installation_zadig.md) + * [Easy Maker for One Offs](easy_maker.md) * [Keymap Overview](keymap.md) * Development Environments * [Docker Guide](getting_started_docker.md) @@ -59,6 +62,7 @@ * [Language-Specific Keycodes](reference_keymap_extras.md) * [Modifier Keys](feature_advanced_keycodes.md) * [Quantum Keycodes](quantum_keycodes.md) + * [Magic Keycodes](keycodes_magic.md) * Advanced Keycodes * [Command](feature_command.md) @@ -76,6 +80,7 @@ * [Combos](feature_combo.md) * [Debounce API](feature_debounce_type.md) * [Key Lock](feature_key_lock.md) + * [Key Overrides](feature_key_overrides.md) * [Layers](feature_layers.md) * [One Shot Keys](one_shot_keys.md) * [Pointing Device](feature_pointing_device.md) @@ -92,6 +97,7 @@ * Hardware Features * Displays * [HD44780 LCD Controller](feature_hd44780.md) + * [ST7565 LCD Driver](feature_st7565.md) * [OLED Driver](feature_oled_driver.md) * Lighting * [Backlight](feature_backlight.md) @@ -100,13 +106,15 @@ * [RGB Matrix](feature_rgb_matrix.md) * [Audio](feature_audio.md) * [Bluetooth](feature_bluetooth.md) - * [Bootmagic](feature_bootmagic.md) + * [Bootmagic Lite](feature_bootmagic.md) * [Custom Matrix](custom_matrix.md) + * [Digitizer](feature_digitizer.md) * [DIP Switch](feature_dip_switch.md) * [Encoders](feature_encoders.md) * [Haptic Feedback](feature_haptic_feedback.md) * [Joystick](feature_joystick.md) * [LED Indicators](feature_led_indicators.md) + * [MIDI](feature_midi.md) * [Proton C Conversion](proton_c_conversion.md) * [PS/2 Mouse](feature_ps2_mouse.md) * [Split Keyboard](feature_split_keyboard.md) @@ -119,7 +127,7 @@ * Breaking Changes * [Overview](breaking_changes.md) * [My Pull Request Was Flagged](breaking_changes_instructions.md) - * [Most Recent ChangeLog](ChangeLog/20210227.md "QMK v0.12.0 - 2021 Feb 27") + * [Most Recent ChangeLog](ChangeLog/20210529.md "QMK v0.13.0 - 2021 May 29") * [Past Breaking Changes](breaking_changes_history.md) * C Development diff --git a/docs/adc_driver.md b/docs/adc_driver.md index 6e3d513863bb..69fff4b3c28d 100644 --- a/docs/adc_driver.md +++ b/docs/adc_driver.md @@ -47,73 +47,79 @@ Note that some of these pins are doubled-up on ADCs with the same channel. This Also note that the F0 and F3 use different numbering schemes. The F0 has a single ADC and the channels are 0-indexed, whereas the F3 has 4 ADCs and the channels are 1-indexed. This is because the F0 uses the `ADCv1` implementation of the ADC, whereas the F3 uses the `ADCv3` implementation. -|ADC|Channel|STM32F0xx|STM32F3xx| -|---|-------|---------|---------| -|1 |0 |`A0` | | -|1 |1 |`A1` |`A0` | -|1 |2 |`A2` |`A1` | -|1 |3 |`A3` |`A2` | -|1 |4 |`A4` |`A3` | -|1 |5 |`A5` |`F4` | -|1 |6 |`A6` |`C0` | -|1 |7 |`A7` |`C1` | -|1 |8 |`B0` |`C2` | -|1 |9 |`B1` |`C3` | -|1 |10 |`C0` |`F2` | -|1 |11 |`C1` | | -|1 |12 |`C2` | | -|1 |13 |`C3` | | -|1 |14 |`C4` | | -|1 |15 |`C5` | | -|1 |16 | | | -|2 |1 | |`A4` | -|2 |2 | |`A5` | -|2 |3 | |`A6` | -|2 |4 | |`A7` | -|2 |5 | |`C4` | -|2 |6 | |`C0` | -|2 |7 | |`C1` | -|2 |8 | |`C2` | -|2 |9 | |`C3` | -|2 |10 | |`F2` | -|2 |11 | |`C5` | -|2 |12 | |`B2` | -|2 |13 | | | -|2 |14 | | | -|2 |15 | | | -|2 |16 | | | -|3 |1 | |`B1` | -|3 |2 | |`E9` | -|3 |3 | |`E13` | -|3 |4 | | | -|3 |5 | | | -|3 |6 | |`E8` | -|3 |7 | |`D10` | -|3 |8 | |`D11` | -|3 |9 | |`D12` | -|3 |10 | |`D13` | -|3 |11 | |`D14` | -|3 |12 | |`B0` | -|3 |13 | |`E7` | -|3 |14 | |`E10` | -|3 |15 | |`E11` | -|3 |16 | |`E12` | -|4 |1 | |`E14` | -|4 |2 | |`B12` | -|4 |3 | |`B13` | -|4 |4 | |`B14` | -|4 |5 | |`B15` | -|4 |6 | |`E8` | -|4 |7 | |`D10` | -|4 |8 | |`D11` | -|4 |9 | |`D12` | -|4 |10 | |`D13` | -|4 |11 | |`D14` | -|4 |12 | |`D8` | -|4 |13 | |`D9` | -|4 |14 | | | -|4 |15 | | | -|4 |16 | | | +|ADC|Channel|STM32F0xx|STM32F1xx|STM32F3xx|STM32F4xx| +|---|-------|---------|---------|---------|---------| +|1 |0 |`A0` |`A0` | |`A0` | +|1 |1 |`A1` |`A1` |`A0` |`A1` | +|1 |2 |`A2` |`A2` |`A1` |`A2` | +|1 |3 |`A3` |`A3` |`A2` |`A3` | +|1 |4 |`A4` |`A4` |`A3` |`A4` | +|1 |5 |`A5` |`A5` |`F4` |`A5` | +|1 |6 |`A6` |`A6` |`C0` |`A6` | +|1 |7 |`A7` |`A7` |`C1` |`A7` | +|1 |8 |`B0` |`B0` |`C2` |`B0` | +|1 |9 |`B1` |`B1` |`C3` |`B1` | +|1 |10 |`C0` |`C0` |`F2` |`C0` | +|1 |11 |`C1` |`C1` | |`C1` | +|1 |12 |`C2` |`C2` | |`C2` | +|1 |13 |`C3` |`C3` | |`C3` | +|1 |14 |`C4` |`C4` | |`C4` | +|1 |15 |`C5` |`C5` | |`C5` | +|1 |16 | | | | | +|2 |0 | |`A0`¹ | |`A0`² | +|2 |1 | |`A1`¹ |`A4` |`A1`² | +|2 |2 | |`A2`¹ |`A5` |`A2`² | +|2 |3 | |`A3`¹ |`A6` |`A3`² | +|2 |4 | |`A4`¹ |`A7` |`A4`² | +|2 |5 | |`A5`¹ |`C4` |`A5`² | +|2 |6 | |`A6`¹ |`C0` |`A6`² | +|2 |7 | |`A7`¹ |`C1` |`A7`² | +|2 |8 | |`B0`¹ |`C2` |`B0`² | +|2 |9 | |`B1`¹ |`C3` |`B1`² | +|2 |10 | |`C0`¹ |`F2` |`C0`² | +|2 |11 | |`C1`¹ |`C5` |`C1`² | +|2 |12 | |`C2`¹ |`B2` |`C2`² | +|2 |13 | |`C3`¹ | |`C3`² | +|2 |14 | |`C4`¹ | |`C4`² | +|2 |15 | |`C5`¹ | |`C5`² | +|2 |16 | | | | | +|3 |0 | |`A0`¹ | |`A0`² | +|3 |1 | |`A1`¹ |`B1` |`A1`² | +|3 |2 | |`A2`¹ |`E9` |`A2`² | +|3 |3 | |`A3`¹ |`E13` |`A3`² | +|3 |4 | |`F6`¹ | |`F6`² | +|3 |5 | |`F7`¹ |`B13` |`F7`² | +|3 |6 | |`F8`¹ |`E8` |`F8`² | +|3 |7 | |`F9`¹ |`D10` |`F9`² | +|3 |8 | |`F10`¹ |`D11` |`F10`² | +|3 |9 | | |`D12` |`F3`² | +|3 |10 | |`C0`¹ |`D13` |`C0`² | +|3 |11 | |`C1`¹ |`D14` |`C1`² | +|3 |12 | |`C2`¹ |`B0` |`C2`² | +|3 |13 | |`C3`¹ |`E7` |`C3`² | +|3 |14 | | |`E10` |`F4`² | +|3 |15 | | |`E11` |`F5`² | +|3 |16 | | |`E12` | | +|4 |1 | | |`E14` | | +|4 |2 | | |`E15` | | +|4 |3 | | |`B12` | | +|4 |4 | | |`B14` | | +|4 |5 | | |`B15` | | +|4 |6 | | |`E8` | | +|4 |7 | | |`D10` | | +|4 |8 | | |`D11` | | +|4 |9 | | |`D12` | | +|4 |10 | | |`D13` | | +|4 |11 | | |`D14` | | +|4 |12 | | |`D8` | | +|4 |13 | | |`D9` | | +|4 |14 | | | | | +|4 |15 | | | | | +|4 |16 | | | | | + +¹ As of ChibiOS 20.3.4, the ADC driver for STM32F1xx devices supports only ADC1, therefore any configurations involving ADC2 or ADC3 cannot actually be used. In particular, pins `F6`…`F10`, which are present at least on some STM32F103x[C-G] devices, cannot be used as ADC inputs because of this driver limitation. + +² Not all STM32F4xx devices have ADC2 and/or ADC3, therefore some configurations shown in this table may be unavailable; in particular, pins `F4`…`F10` cannot be used as ADC inputs on devices which do not have ADC3. Check the device datasheet to confirm which pin functions are supported. ## Functions @@ -141,10 +147,10 @@ Also note that the F0 and F3 use different numbering schemes. The F0 has a singl The ARM implementation of the ADC has a few additional options that you can override in your own keyboards and keymaps to change how it operates. Please consult the corresponding `hal_adc_lld.h` in ChibiOS for your specific microcontroller for further documentation on your available options. -|`#define` |Type |Default |Description | -|---------------------|------|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -|`ADC_CIRCULAR_BUFFER`|`bool`|`false` |If `true`, then the implementation will use a circular buffer. | -|`ADC_NUM_CHANNELS` |`int` |`1` |Sets the number of channels that will be scanned as part of an ADC operation. The current implementation only supports `1`. | -|`ADC_BUFFER_DEPTH` |`int` |`2` |Sets the depth of each result. Since we are only getting a 12-bit result by default, we set this to 2 bytes so we can contain our one value. This could be set to 1 if you opt for an 8-bit or lower result.| -|`ADC_SAMPLING_RATE` |`int` |`ADC_SMPR_SMP_1P5` |Sets the sampling rate of the ADC. By default, it is set to the fastest setting. | -|`ADC_RESOLUTION` |`int` |`ADC_CFGR1_RES_12BIT`|The resolution of your result. We choose 12 bit by default, but you can opt for 12, 10, 8, or 6 bit. | +|`#define` |Type |Default |Description | +|---------------------|------|----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|`ADC_CIRCULAR_BUFFER`|`bool`|`false` |If `true`, then the implementation will use a circular buffer. | +|`ADC_NUM_CHANNELS` |`int` |`1` |Sets the number of channels that will be scanned as part of an ADC operation. The current implementation only supports `1`. | +|`ADC_BUFFER_DEPTH` |`int` |`2` |Sets the depth of each result. Since we are only getting a 10-bit result by default, we set this to 2 bytes so we can contain our one value. This could be set to 1 if you opt for an 8-bit or lower result.| +|`ADC_SAMPLING_RATE` |`int` |`ADC_SMPR_SMP_1P5` |Sets the sampling rate of the ADC. By default, it is set to the fastest setting. | +|`ADC_RESOLUTION` |`int` |`ADC_CFGR1_RES_10BIT` or `ADC_CFGR_RES_10BITS`|The resolution of your result. We choose 10 bit by default, but you can opt for 12, 10, 8, or 6 bit. Different MCUs use slightly different names for the resolution constants. | diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md index de9148ad62de..c5f4eec04d91 100644 --- a/docs/breaking_changes.md +++ b/docs/breaking_changes.md @@ -6,6 +6,8 @@ The breaking change period is when we will merge PR's that change QMK in dangero ## What has been included in past Breaking Changes? +* [2021 Aug 28](ChangeLog/20210828.md) +* [2021 May 29](ChangeLog/20210529.md) * [2021 Feb 27](ChangeLog/20210227.md) * [2020 Nov 28](ChangeLog/20201128.md) * [2020 Aug 29](ChangeLog/20200829.md) @@ -15,16 +17,16 @@ The breaking change period is when we will merge PR's that change QMK in dangero ## When is the next Breaking Change? -The next Breaking Change is scheduled for February 27, 2021. +The next Breaking Change is scheduled for August 28, 2021. ### Important Dates -* [x] 2021 Feb 27 - `develop` is created. Each push to `master` is subsequently merged to `develop` -* [ ] 2021 May 01 - `develop` closed to new PR's. -* [ ] 2021 May 01 - Call for testers. -* [ ] 2021 May 27 - `master` is locked, no PR's merged. -* [ ] 2021 May 29 - Merge `develop` to `master`. -* [ ] 2021 May 29 - `master` is unlocked. PR's can be merged again. +* [x] 2021 Aug 29 - `develop` is created. Each push to `master` is subsequently merged to `develop` +* [ ] 2021 Oct 31 - `develop` closed to new PR's. +* [ ] 2021 Oct 31 - Call for testers. +* [ ] 2021 Nov 26 - `master` is locked, no PR's merged. +* [ ] 2021 Nov 28 - Merge `develop` to `master`. +* [ ] 2021 Nov 28 - `master` is unlocked. PR's can be merged again. ## What changes will be included? @@ -55,7 +57,7 @@ This happens immediately after the previous `develop` branch is merged. * [ ] `git commit -m 'Branch point for Breaking Change'` * [ ] `git tag breakpoint___
` * [ ] `git tag ` # Prevent the breakpoint tag from confusing version incrementing - * [ ] `git push origin develop` + * [ ] `git push upstream develop` * [ ] `git push --tags` ## 4 Weeks Before Merge @@ -85,13 +87,20 @@ This happens immediately after the previous `develop` branch is merged. * `qmk_firmware` git commands * [ ] `git checkout develop` * [ ] `git pull --ff-only` - * [ ] `git rebase origin/master` * [ ] Edit `readme.md` * [ ] Remove the notes about `develop` * [ ] Roll up the ChangeLog into one file. * [ ] `git commit -m 'Merge point for Breaking Change'` - * [ ] `git push origin develop` + * [ ] `git push upstream develop` * GitHub Actions * [ ] Create a PR for `develop` - * [ ] Make sure travis comes back clean - * [ ] Merge `develop` PR + * [ ] **Turn off 'Automatically delete head branches' for the repository** -- confirm with @qmk/directors that it is done before continuing +* `qmk_firmware` git commands + * [ ] `git checkout master` + * [ ] `git pull --ff-only` + * [ ] `git merge --no-ff develop` + * [ ] `git push upstream master` + +## Post-merge operations + +* (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md) diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md index dd474f1bb7ca..f78e97f1c7bd 100644 --- a/docs/breaking_changes_history.md +++ b/docs/breaking_changes_history.md @@ -2,6 +2,8 @@ This page links to all previous changelogs from the QMK Breaking Changes process. +* [2021 Aug 28](ChangeLog/20210828.md) - version 0.14.0 +* [2021 May 29](ChangeLog/20210529.md) - version 0.13.0 * [2021 Feb 27](ChangeLog/20210227.md) - version 0.12.0 * [2020 Nov 28](ChangeLog/20201128.md) - version 0.11.0 * [2020 Aug 29](ChangeLog/20200829.md) - version 0.10.0 diff --git a/docs/chibios_upgrade_instructions.md b/docs/chibios_upgrade_instructions.md new file mode 100644 index 000000000000..40c2faafcfed --- /dev/null +++ b/docs/chibios_upgrade_instructions.md @@ -0,0 +1,56 @@ +# ChibiOS Upgrade Procedure + +ChibiOS and ChibiOS-Contrib need to be updated in tandem -- the latter has a branch tied to the ChibiOS version in use and should not be mixed with different versions. + +## Getting ChibiOS + +* `svn` Initialisation: + * Only needed to be done once + * You might need to separately install `git-svn` package in your OS's package manager + * `git svn init --stdlayout --prefix='svn/' http://svn.osdn.net/svnroot/chibios/` + * `git remote add qmk git@github.com:qmk/ChibiOS.git` +* Updating: + * `git svn fetch` + * First time around this will take several hours + * Subsequent updates will be incremental only +* Tagging example (work out which version first!): + * `git tag -a ver20.3.3 -m ver20.3.3 svn/tags/ver20.3.3` + * `git push qmk ver20.3.3` + * `git tag -a breaking_YYYY_qN -m breaking_YYYY_qN svn/tags/ver20.3.3` + * `git push qmk breaking_YYYY_qN` + +## Getting ChibiOS-Contrib + +* `git` Initialisation: + * `git clone git@github.com:qmk/ChibiOS-Contrib` + * `git remote add upstream https://github.com/ChibiOS/ChibiOS-Contrib` + * `git checkout -b chibios-20.3.x upstream/chibios-20.3.x` +* Updating: + * `git fetch --all --tags --prune` + * `git checkout chibios-20.3.x` + * `git pull --ff-only` + * `git push origin chibios-20.3.x` + * `git tag -a breaking_YYYY_qN -m breaking_YYYY_qN chibios-20.3.x` + * `git push origin breaking_YYYY_qN` + +## Updating submodules + +* Update the submodules + * `cd $QMK_FIRMWARE` + * `git checkout develop` + * `git pull --ff-only` + * `git checkout -b chibios-version-bump` + * `cd lib/chibios` + * `git fetch --all --tags --prune` + * `git checkout breaking_YYYY_qN` + * `cd ../chibios-contrib` + * `git fetch --all --tags --prune` + * `git checkout breaking_YYYY_qN` +* Build everything + * `cd $QMK_FIRMWARE` + * `qmk multibuild -j4` + * Make sure there are no errors +* Push to the repo + * `git commit -am 'Update ChibiOS to XXXXXXXXX'` + * `git push --set-upstream origin chibios-version-bump` +* Make a PR to qmk_firmware with the new branch \ No newline at end of file diff --git a/docs/cli_commands.md b/docs/cli_commands.md index 5ab49abd2794..8fa7ad41dc83 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -17,7 +17,7 @@ qmk compile [-c] **Usage for Keymaps**: ``` -qmk compile [-c] [-e =] -kb -km +qmk compile [-c] [-e =] [-j ] -kb -km ``` **Usage in Keyboard Directory**: @@ -73,6 +73,17 @@ $ qmk compile -kb dz60 ... ``` +**Parallel Compilation**: + +It is possible to speed up compilation by adding the `-j`/`--parallel` flag. +``` +qmk compile -j -kb +``` +The `num_jobs` argument determines the maximum number of jobs that can be used. Setting it to zero will enable parallel compilation without limiting the maximum number of jobs. +``` +qmk compile -j 0 -kb +``` + ## `qmk flash` This command is similar to `qmk compile`, but can also target a bootloader. The bootloader is optional, and is set to `:flash` by default. To specify a different bootloader, use `-bl `. Visit the [Flashing Firmware](flashing.md) guide for more details of the available bootloaders. @@ -82,13 +93,13 @@ This command is directory aware. It will automatically fill in KEYBOARD and/or K **Usage for Configurator Exports**: ``` -qmk flash [-bl ] [-c] [-e =] +qmk flash [-bl ] [-c] [-e =] [-j ] ``` **Usage for Keymaps**: ``` -qmk flash -kb -km [-bl ] [-c] [-e =] +qmk flash -kb -km [-bl ] [-c] [-e =] [-j ] ``` **Listing the Bootloaders** @@ -107,6 +118,54 @@ This command lets you configure the behavior of QMK. For the full `qmk config` d qmk config [-ro] [config_token1] [config_token2] [...] [config_tokenN] ``` +## `qmk console` + +This command lets you connect to keyboard consoles to get debugging messages. It only works if your keyboard firmware has been compiled with `CONSOLE_ENABLE=yes`. + +**Usage**: + +``` +qmk console [-d :[:]] [-l] [-n] [-t] [-w ] +``` + +**Examples**: + +Connect to all available keyboards and show their console messages: + +``` +qmk console +``` + +List all devices: + +``` +qmk console -l +``` + +Show only messages from clueboard/66/rev3 keyboards: + +``` +qmk console -d C1ED:2370 +``` + +Show only messages from the second clueboard/66/rev3: + +``` +qmk console -d C1ED:2370:2 +``` + +Show timestamps and VID:PID instead of names: + +``` +qmk console -n -t +``` + +Disable bootloader messages: + +``` +qmk console --no-bootloaders +``` + ## `qmk doctor` This command examines your environment and alerts you to potential build or flash problems. It can fix many of them if you want it to. @@ -131,6 +190,16 @@ Check your environment and report problems only: qmk doctor -n +## `qmk format-json` + +Formats a JSON file in a (mostly) human-friendly way. Will usually correctly detect the format of the JSON (info.json or keymap.json) but you can override this with `--format` if neccesary. + +**Usage**: + +``` +qmk format-json [-f FORMAT] +``` + ## `qmk info` Displays information about keyboards and keymaps in QMK. You can use this to get information about a keyboard, show the layouts, display the underlying key matrix, or to pretty-print JSON keymaps. @@ -170,7 +239,7 @@ qmk json2c [-o OUTPUT] filename ## `qmk c2json` Creates a keymap.json from a keymap.c. -**Note:** Parsing C source files is not easy, therefore this subcommand may not work your keymap. In some cases not using the C pre-processor helps. +**Note:** Parsing C source files is not easy, therefore this subcommand may not work with your keymap. In some cases not using the C pre-processor helps. **Usage**: @@ -218,6 +287,18 @@ This command is directory aware. It will automatically fill in KEYBOARD if you a qmk list-keymaps -kb planck/ez ``` +## `qmk new-keyboard` + +This command creates a new keyboard based on available templates. + +Any arguments that are not provided will prompt for input. If `-u` is not passed and `user.name` is set in .gitconfig, it will be used as the default username in the prompt. + +**Usage**: + +``` +qmk new-keyboard [-kb KEYBOARD] [-t {avr,ps2avrgb}] -u USERNAME +``` + ## `qmk new-keymap` This command creates a new keymap based on a keyboard's existing default keymap. @@ -244,7 +325,18 @@ qmk clean [-a] # Developer Commands -## `qmk cformat` +## `qmk format-text` + +This command formats text files to have proper line endings. + +Every text file in the repository needs to have Unix (LF) line ending. +If you are working on **Windows**, you must ensure that line endings are corrected in order to get your PRs merged. + +``` +qmk format-text +``` + +## `qmk format-c` This command formats C code using clang-format. @@ -255,35 +347,36 @@ Run it with `-a` to format all core code, or pass filenames on the command line **Usage for specified files**: ``` -qmk cformat [file1] [file2] [...] [fileN] +qmk format-c [file1] [file2] [...] [fileN] ``` **Usage for all core files**: ``` -qmk cformat -a +qmk format-c -a ``` **Usage for only changed files against origin/master**: ``` -qmk cformat +qmk format-c ``` **Usage for only changed files against branch_name**: ``` -qmk cformat -b branch_name +qmk format-c -b branch_name ``` ## `qmk docs` This command starts a local HTTP server which you can use for browsing or improving the docs. Default port is 8936. +Use the `-b`/`--browser` flag to automatically open the local webserver in your default browser. **Usage**: ``` -qmk docs [-p PORT] +qmk docs [-b] [-p PORT] ``` ## `qmk generate-docs` @@ -298,7 +391,7 @@ qmk generate-docs ## `qmk generate-rgb-breathe-table` -This command generates a lookup table (LUT) header file for the [RGB Lighting](feature_rgblight.md) feature's breathing animation. Place this file in your keyboard or keymap directory as `rgblight_breathe_table.h` to override the default LUT in `quantum/`. +This command generates a lookup table (LUT) header file for the [RGB Lighting](feature_rgblight.md) feature's breathing animation. Place this file in your keyboard or keymap directory as `rgblight_breathe_table.h` to override the default LUT in `quantum/rgblight/`. **Usage**: @@ -328,14 +421,14 @@ $ qmk kle2json -f kle.txt -f Ψ Wrote out to info.json ``` -## `qmk pyformat` +## `qmk format-python` This command formats python code in `qmk_firmware`. **Usage**: ``` -qmk pyformat +qmk format-python ``` ## `qmk pytest` diff --git a/docs/cli_development.md b/docs/cli_development.md index 07c8f281bac4..0f4f401b33bb 100644 --- a/docs/cli_development.md +++ b/docs/cli_development.md @@ -188,7 +188,7 @@ cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.ou # Testing, and Linting, and Formatting (oh my!) -We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `pyformat` subcommands to run these tests: +We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `format-py` subcommands to run these tests: ### Testing and Linting @@ -196,7 +196,7 @@ We use nose2, flake8, and yapf to test, lint, and format code. You can use the ` ### Formatting - qmk pyformat + qmk format-py ## Formatting Details diff --git a/docs/cli_tab_complete.md b/docs/cli_tab_complete.md new file mode 100644 index 000000000000..2217d4fd3bc6 --- /dev/null +++ b/docs/cli_tab_complete.md @@ -0,0 +1,27 @@ +# Tab Completion for QMK + +If you are using Bash 4.2 or later, Zsh, or FiSH you can enable Tab Completion for the QMK CLI. This will let you tab complete the names of flags, keyboards, files, and other `qmk` options. + +## Setup + +There are several ways you can setup tab completion. + +### For Your User Only + +Add this to the end of your `.profile` or `.bashrc`: + + source ~/qmk_firmware/util/qmk_tab_complete.sh + +If you put `qmk_firmware` into another location you will need to adjust this path. + +### System Wide Symlink + +If you want the tab completion available to all users of the system you can add a symlink to the `qmk_tab_complete.sh` script: + + `ln -s ~/qmk_firmware/util/qmk_tab_complete.sh /etc/profile.d/qmk_tab_complete.sh` + +### System Wide Copy + +In some cases a symlink may not work. Instead you can copy the file directly into place. Be aware that updates to the tab complete script may happen from time to time, you will want to recopy the file periodically. + + cp util/qmk_tab_complete.sh /etc/profile.d diff --git a/docs/compatible_microcontrollers.md b/docs/compatible_microcontrollers.md index 47a4844e7fcd..2bf3b0ebb795 100644 --- a/docs/compatible_microcontrollers.md +++ b/docs/compatible_microcontrollers.md @@ -27,9 +27,15 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s * [STM32F103](https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html) * [STM32F303](https://www.st.com/en/microcontrollers-microprocessors/stm32f303.html) * [STM32F401](https://www.st.com/en/microcontrollers-microprocessors/stm32f401.html) + * [STM32F407](https://www.st.com/en/microcontrollers-microprocessors/stm32f407-417.html) * [STM32F411](https://www.st.com/en/microcontrollers-microprocessors/stm32f411.html) + * [STM32F446](https://www.st.com/en/microcontrollers-microprocessors/stm32f446.html) * [STM32G431](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x1.html) * [STM32G474](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x4.html) + * [STM32L412](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) + * [STM32L422](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) + * [STM32L433](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html) + * [STM32L443](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html) ### NXP (Kinetis) diff --git a/docs/config_options.md b/docs/config_options.md index aeaaf47aaf4f..7584d3584eb9 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -51,8 +51,10 @@ This is a C header file that is one of the first things included, and will persi * the number of columns in your keyboard's matrix * `#define MATRIX_ROW_PINS { D0, D5, B5, B6 }` * pins of the rows, from top to bottom + * may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information. * `#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 }` * pins of the columns, from left to right + * may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information. * `#define MATRIX_IO_DELAY 30` * the delay in microseconds when between changing matrix pin state and reading values * `#define UNUSED_PINS { D1, D2, D3, B1, B2, B3 }` @@ -78,10 +80,10 @@ This is a C header file that is one of the first things included, and will persi * enables audio on pin B5 (duophony is enabled if one of B pins is enabled along with one of C pins) * Deprecated. Use `#define AUDIO_PIN B5`, or use `#define AUDIO_PIN_ALT B5` if a `C` pin is enabled with `AUDIO_PIN` * `#define B6_AUDIO` - * enables audio on pin B5 (duophony is enabled if one of B pins is enabled along with one of C pins) + * enables audio on pin B6 (duophony is enabled if one of B pins is enabled along with one of C pins) * Deprecated. Use `#define AUDIO_PIN B6`, or use `#define AUDIO_PIN_ALT B6` if a `C` pin is enabled with `AUDIO_PIN` * `#define B7_AUDIO` - * enables audio on pin B5 (duophony is enabled if one of B pins is enabled along with one of C pins) + * enables audio on pin B7 (duophony is enabled if one of B pins is enabled along with one of C pins) * Deprecated. Use `#define AUDIO_PIN B7`, or use `#define AUDIO_PIN_ALT B7` if a `C` pin is enabled with `AUDIO_PIN` * `#define BACKLIGHT_PIN B7` * pin of the backlight @@ -186,13 +188,27 @@ If you define these options you will enable the associated feature, which may in few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this. * `#define COMBO_COUNT 2` - * Set this to the number of combos that you're using in the [Combo](feature_combo.md) feature. + * Set this to the number of combos that you're using in the [Combo](feature_combo.md) feature. Or leave it undefined and programmatically set the count. * `#define COMBO_TERM 200` * how long for the Combo keys to be detected. Defaults to `TAPPING_TERM` if not defined. +* `#define COMBO_MUST_HOLD_MODS` + * Flag for enabling extending timeout on Combos containing modifers +* `#define COMBO_MOD_TERM 200` + * Allows for extending COMBO_TERM for mod keys while mid-combo. +* `#define COMBO_MUST_HOLD_PER_COMBO` + * Flag to enable per-combo COMBO_TERM extension and `get_combo_must_hold()` function +* `#define COMBO_TERM_PER_COMBO` + * Flag to enable per-combo COMBO_TERM extension and `get_combo_term()` function +* `#define COMBO_STRICT_TIMER` + * Only start the combo timer on the first key press instead of on all key presses. +* `#define COMBO_NO_TIMER` + * Disable the combo timer completely for relaxed combos. * `#define TAP_CODE_DELAY 100` * Sets the delay between `register_code` and `unregister_code`, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. * `#define TAP_HOLD_CAPS_DELAY 80` * Sets the delay for Tap Hold keys (`LT`, `MT`) when using `KC_CAPSLOCK` keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher. +* `#define KEY_OVERRIDE_REPEAT_DELAY 500` + * Sets the key repeat interval for [key overrides](feature_key_overrides.md). ## RGB Light Configuration @@ -272,7 +288,7 @@ There are a few different ways to set handedness for split keyboards (listed in ### Other Options * `#define USE_I2C` - * For using I2C instead of Serial (defaults to serial) + * For using I2C instead of Serial (default is serial; serial transport is supported on ARM -- I2C is AVR-only) * `#define SOFT_SERIAL_PIN D0` * When using serial, define this. `D0` or `D1`,`D2`,`D3`,`E6`. @@ -280,6 +296,7 @@ There are a few different ways to set handedness for split keyboards (listed in * `#define MATRIX_ROW_PINS_RIGHT { }` * `#define MATRIX_COL_PINS_RIGHT { }` * If you want to specify a different pinout for the right half than the left half, you can define `MATRIX_ROW_PINS_RIGHT`/`MATRIX_COL_PINS_RIGHT`. Currently, the size of `MATRIX_ROW_PINS` must be the same as `MATRIX_ROW_PINS_RIGHT` and likewise for the definition of columns. + * may be omitted by the keyboard designer if matrix reads are handled in an alternate manner. See [low-level matrix overrides](custom_quantum_functions.md?id=low-level-matrix-overrides) for more information. * `#define DIRECT_PINS_RIGHT { { F1, F0, B0, C7 }, { F4, F5, F6, F7 } }` * If you want to specify a different direct pinout for the right half than the left half, you can define `DIRECT_PINS_RIGHT`. Currently, the size of `DIRECT_PINS` must be the same as `DIRECT_PINS_RIGHT`. @@ -300,7 +317,7 @@ There are a few different ways to set handedness for split keyboards (listed in * `#define SPLIT_USB_DETECT` * Detect (with timeout) USB connection when delegating master/slave * Default behavior for ARM - * Required for AVR Teensy + * Required for AVR Teensy (without hardware mods) * `#define SPLIT_USB_TIMEOUT 2000` * Maximum timeout when detecting master/slave when using `SPLIT_USB_DETECT` @@ -308,6 +325,34 @@ There are a few different ways to set handedness for split keyboards (listed in * `#define SPLIT_USB_TIMEOUT_POLL 10` * Poll frequency when detecting master/slave when using `SPLIT_USB_DETECT` +* `#define FORCED_SYNC_THROTTLE_MS 100` + * Deadline for synchronizing data from master to slave when using the QMK-provided split transport. + +* `#define SPLIT_TRANSPORT_MIRROR` + * Mirrors the master-side matrix on the slave when using the QMK-provided split transport. + +* `#define SPLIT_LAYER_STATE_ENABLE` + * Ensures the current layer state is available on the slave when using the QMK-provided split transport. + +* `#define SPLIT_LED_STATE_ENABLE` + * Ensures the current host indicator state (caps/num/scroll) is available on the slave when using the QMK-provided split transport. + +* `#define SPLIT_MODS_ENABLE` + * Ensures the current modifier state (normal, weak, and oneshot) is available on the slave when using the QMK-provided split transport. + +* `#define SPLIT_WPM_ENABLE` + * Ensures the current WPM is available on the slave when using the QMK-provided split transport. + +* `#define SPLIT_OLED_ENABLE` + * Syncs the on/off state of the OLED between the halves. + +* `#define SPLIT_ST7565_ENABLE` + * Syncs the on/off state of the ST7565 screen between the halves. + +* `#define SPLIT_TRANSACTION_IDS_KB .....` +* `#define SPLIT_TRANSACTION_IDS_USER .....` + * Allows for custom data sync with the slave when using the QMK-provided split transport. See [custom data sync between sides](feature_split_keyboard.md#custom-data-sync) for more information. + # The `rules.mk` File This is a [make](https://www.gnu.org/software/make/manual/make.html) file that is included by the top-level `Makefile`. It is used to set some information about the MCU that we will be compiling for as well as enabling and disabling certain features. @@ -352,8 +397,8 @@ However, this will automatically disable the legacy TMK Macros and Functions fea * `qmk-dfu` * `halfkay` * `caterina` - * `bootloadHID` - * `USBasp` + * `bootloadhid` + * `usbasploader` ## Feature Options :id=feature-options @@ -375,6 +420,8 @@ Use these to enable or disable building certain features. The more you have enab * USB N-Key Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work * `AUDIO_ENABLE` * Enable the audio subsystem. +* `KEY_OVERRIDE_ENABLE` + * Enable the key override feature * `RGBLIGHT_ENABLE` * Enable keyboard underlight functionality * `LEADER_ENABLE` diff --git a/docs/configurator_architecture.md b/docs/configurator_architecture.md new file mode 100644 index 000000000000..0d7fc8a73b4f --- /dev/null +++ b/docs/configurator_architecture.md @@ -0,0 +1,61 @@ +# QMK Configurator Architecture + +This page describes the web architecture behind QMK Configurator at a high level. If you are interested in the architecture of the QMK Configurator code itself you should start at the [qmk_configurator](https://github.com/qmk/qmk_configurator) repository. + +# Overview + +![QMK Configurator Architecture Diagram](configurator_diagram.svg) + +# Detailed Description + +QMK Configurator is a [Single Page Application](https://en.wikipedia.org/wiki/Single-page_application) that allows users to create custom keymaps for their QMK-compatible keyboard. They can export JSON representation of their keymaps and compile firmware binaries that can be flashed to their keyboard using a tool like [QMK Toolbox](https://github.com/qmk/qmk_toolbox). + +Configurator gets metadata about keyboards from the Keyboard Metadata store and submits compile requests to the QMK API. The results of those compile requests will be made available on [Digital Ocean Spaces](https://www.digitalocean.com/products/spaces/), an S3-compatible data store. + +## Configurator Frontend + +Address: + +The [Configurator Frontend](https://config.qmk.fm) is compiled into a set of static files that are served by Github Pages. This action happens every time a commit is pushed to the [qmk_configurator `master`](https://github.com/qmk/qmk_configurator) branch. You can view the status of these jobs on the [qmk_configurator actions tab](https://github.com/qmk/qmk_configurator/actions/workflows/build.yml). + +## Keyboard Metadata + +Address: + +The Keyboard Metadata is generated every time a keyboard in [qmk_firmware](https://github.com/qmk/qmk_firmware) changes. The resulting JSON files are uploaded to Spaces and used by Configurator to generate UI for each keyboard. You can view the status of this job on the [qmk_firmware actions tab](https://github.com/qmk/qmk_firmware/actions/workflows/api.yml). If you are a QMK Collaborator you can manually run this job using the `workflow_dispatch` event trigger. + +## QMK API + +Address: + +The QMK API accepts `keymap.json` files for compilation. These are the same files you can use directly with `qmk compile` and `qmk flash`. When a `keymap.json` is submitted the browser will poll the status of the job periodically (every 2 seconds or longer, preferably) until the job has completed. The final status JSON will contain pointers to source and binary downloads for the keymap. + +QMK API always presents the source and binary downloads side-by-side to comply with the GPL. + +There are 3 non-error status responses from the API- + +1. Compile Job Queued +2. Compile Job Running +3. Compile Job Finished + +### Compile Job Queued + +This status indicates that the job has not yet been picked up by a [QMK Compiler](#qmk-compiler) node. Configurator shows this status as "Waiting for an oven". + +### Compile Job Running + +This status indicates that the job has started compiling. Configurator shows this status as "Baking". + +### Compile Job Finished + +This status indicates that the job has completed. There will be keys in the status JSON for source and binary downloads. + +## Redis/RQ + +QMK API uses RQ to distribute jobs to the available [QMK Compiler](#qmk-compiler) nodes. When a `keymap.json` is received it's put into the RQ queue, where a `qmk_compiler` node will pick it up from. + +## QMK Compiler + +[QMK Compiler](https://github.com/qmk/qmk_compiler) is what actually performs the compilation of the `keymap.json`. It does so by checking out the requested `qmk_firmware` branch, running `qmk compile keymap.json`, and then uploading the resulting source and binary to Digital Ocean Spaces. + +When users download their source/binary, API will redirect them to the authenticated Spaces download URL. diff --git a/docs/configurator_diagram.drawio b/docs/configurator_diagram.drawio new file mode 100644 index 000000000000..091a3a76b8c3 --- /dev/null +++ b/docs/configurator_diagram.drawio @@ -0,0 +1 @@ +5VvbcqM4EP2a1O4+hOLqy2Ni5zKX1CTxzszOU0oG2dZEIBZEYu/XbwuEDQg7csZ2vFlXjQca0RLdR+eohXPiDML5VYLi2Q0LMD2xzWB+4gxPbNvqezb8JywLaTFtr7BMExJI28owIv/gsqG0ZiTAaa0hZ4xyEteNPosi7POaDSUJe643mzBa7zVGU6wYRj6iqvU7CfissPY8c2W/xmQ6K3u2THklRGVjaUhnKGDPFZNzceIMEsZ4cRTOB5iK6JVxKe67XHN1ObAER1znhgfT76Zzxxp3Z49j5+7zjw/z+NSS+XlCNJNPLEfLF2UIcAARkacs4TM2ZRGiFyvrecKyKMCiHxPOVm0+MxaD0QLjT8z5QqYXZZyBacZDKq/iKDgTyYLTiEW4sFwSSqXLAKWz3L9orD64jEXKssTHG57WlQBCyRTzTVGRDsWTV3qQcb3CLMQ8WUCDBFPEyVMdK0hCbrpst8oKHMjEbJEk9+UckTDHcTWm0jQk4RR6pWQM3z4l8QNKuDhkYZxxnKRw/J0ljymHJ2HRg2X35vDPiKPp2kA/4YTj+cbIyKunjmv0zMpHeljSQXH6XJla0jSrzKrStvPIei9Hdgm9HNoZpyTCgyXZmPWYI0qmERz7EDGcgIGiMaa3LCUittULIoQEaOZzo8GYcc7CSoMz6ZKLqXQOJBKLgYXzqSBc4xmPKcy11JgSPsvG0GLCIn6JQkJFiK8xfcLCjbwgJyDM+uJ8wChL8ud0ivSILnjCHnHblQlMyIp9kn/ADkMJCK55G14OL4YXmybrFhhyOzXQtKEGdMVwVeBUzDvHTjmKjdS54jWfojQlfpP3YCR/CRwZXnn6o3ptOJcgK84W8gwma8JVz7lZ0qZVI9Ff401PkzddTdqsJM5rme6lTZtdZQ+3jMCTLXFjlRkqyaZJI8Vzy7uqytl01Gk4chqOisAojnJYLR/7F5BWTpkV0gZUTDjgbnOUxTEorqCosxO7QyGG5+MEjqbiaDBLoPsTGzo2L0mCJ2yuNhri9FHQi21+iehCAfHzjHA8ilEOkWegnTqGm0QVkiDIVwU5950j/3Garw9Kdsjd7YYZlmurkhlUYrDNFoB19qUnltPCCUW40xhFZcBnnIvl65noTChxNCFT4+/w0ZiEZXOwV+9Qk9bmd0SiKYTeNm+F9AM2RKTX3tno4iN6QiM/IbFYHXz7eqHeOJI8AeM2YbTQDL4fiuFnCeIs0RvmNUt54eWqUK1iwOnaZ28Asr7cfC0894E/q2PYehDs7w2CGqtFdbndqklVRaoI1BpN2tEaXVdryql2JGKzTKiEgvdasXHchqNDi01XAz/vpiK0tOHW0YTbYUpC6/1ULj9TuH0XlWZ93riOuhjotsz/rmf09pWkjpKkuvI/4sWYoSRIG+K/ks9PsgV4ucEcBYgjXV2ekCR8hoiq7a+uoeGZX+RN3PQ1BsdiwXB2+wG+h629rFR7SKDaRPSLj4VIm7n2ptsuG2voPKRIu7Zt9N9apHtbiXRr7VirASVHVgtAc4cFoDZNekclypZnWK5p9Tp9y+v1up1y73nRQMbWBWHdz3LP90ASbav14HuW6L4m9spsHotE95Us3d18Kkm2mS5KSZziik76lGXBy+XNLpTTq8O5Y6rKadkts3Rv27JlZ2uFE8VkrWTeX4z+nGS0DLSeWILDTYp3jyJ/Bqsf2xRrFXP4Bb6+3fy2tegdUuc6pqenct29pVFjkfryDulhtzDLWXskCnbarCtd75WadaoUlpqqBelBi0qzWDRINwzZanTkOObmkTVv8Pq1G+CgGMNuRVSl53csonZXV0R7RyWitrobIasPMMoCRGF4WY807b+PnD+OS3idXh347fuHrdrbt8qWu4+5WpzU1RcE81QocLTwHcMPIiMoUsJEPtI8+obPWqRZRlNK7+kLoqskejut3UWCeg1msh3L6PYrn54qsf2WbO3thYOjrpTeTGK1Oea4ikSQ/EaSX7t1qwiZfeC9W6ft9dO71TSn/D3YS3hz7KPSNEct3+/vlDyVciS2/FLOEnwYSWpskXS7ai3YOSjB2WqwcEDEm+9cjEwRuqaGfGTineJdhrOW3c/2AjApnO6/BNxBkpqVXrfz1pWes91Lx73KkPZ+UTkP31qHyiw26zFt2fEacGiWiPtWHXWNXvwuIIwpETNmDbPhuZhhAcvG+RWrJj3Wm2x99Vt+QXLYrS9XXdAVu4YDCCehIpztbHefRVH+a07dX22sc/efoLy+/daU5+pswh+I8vRXQt3joDyZVbeW015ztaxLgHU3/eZbnT3Tn6uuULYGwoF/z+lo7wYdF16AHes00GuuO/V3Qxui2bP0ULP1bqjTYK5yS2Gvm5vu/6sQ1IVzKa67KwTXEJK3GVu6KLWd14H0ZRjB6eovj4rmqz/gci7+BQ== \ No newline at end of file diff --git a/docs/configurator_diagram.svg b/docs/configurator_diagram.svg new file mode 100644 index 000000000000..bcf0bf76d1ec --- /dev/null +++ b/docs/configurator_diagram.svg @@ -0,0 +1,3 @@ + + +
Clients Supported:
Chrome, Firefox
Desktop Only
Clients Supported:...
https://config.qmk.fm
Single Page Site
JavaScript/VUE
Source: qmk/qmk_configurator
Host: Github Pages
https://config.qmk.fm...
https://keyboards.qmk.fm
Keyboard Metadata
Source: qmk/qmk_firmware
GH Action: Update API Data
Host: DigitalOcean Spaces
https://keyboards.qmk.fm...
QMK API
QMK API
https://api.qmk.fm
RESTful API
Source: qmk/qmk_api
Host: Rancher on DO VM's
https://api.qmk.fm...
Digital Ocean
Spaces
(S3)
Digital Ocean...
https://qmk-api.nyc3.cdn.digitaloceanspaces.com
Space: qmk-api
Host: Digital Ocean
https://qmk-api.nyc3.cdn.digitaloceanspaces.com...
RQ
RQ
Redis / RQ
Job Queue
Source: qmk/qmk_redis
Host: Rancher on DO VM's
Redis / RQ...
qmk_complier
qmk_complier
QMK Compiler
Job Runners
Source: qmk/qmk_compiler
Host: Rancher on DO VM's
QMK Compiler...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/docs/contributing.md b/docs/contributing.md index fe48619e4180..1d68d22d9f0e 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -148,7 +148,7 @@ Feature and Bug Fix PR's affect all keyboards. We are also in the process of res Here are some things to keep in mind when working on your feature or bug fix. * **Disabled by default** - memory is a pretty limited on most chips QMK supports, and it's important that current keymaps aren't broken, so please allow your feature to be turned **on**, rather than being turned off. If you think it should be on by default, or reduces the size of the code, please talk with us about it. -* **Compile locally before submitting** - hopefully this one is obvious, but things need to compile! Our Travis system will catch any issues, but it's generally faster for you to compile a few keyboards locally instead of waiting for the results to come back. +* **Compile locally before submitting** - hopefully this one is obvious, but things need to compile! You should always make sure your changes compile before opening a pull request. * **Consider revisions and different chip-bases** - there are several keyboards that have revisions that allow for slightly different configurations, and even different chip-bases. Try to make a feature supported in ARM and AVR, or automatically disabled on platforms it doesn't work on. * **Explain your feature** - Document it in `docs/`, either as a new file or as part of an existing file. If you don't document it other people won't be able to benefit from your hard work. diff --git a/docs/custom_quantum_functions.md b/docs/custom_quantum_functions.md index 694b421e79ce..494e76996e2e 100644 --- a/docs/custom_quantum_functions.md +++ b/docs/custom_quantum_functions.md @@ -144,6 +144,14 @@ This is useful for setting up stuff that you may need elsewhere, but isn't hardw * Keyboard/Revision: `void matrix_init_kb(void)` * Keymap: `void matrix_init_user(void)` +### Low-level Matrix Overrides Function Documentation :id=low-level-matrix-overrides + +* GPIO pin initialisation: `void matrix_init_pins(void)` + * This needs to perform the low-level initialisation of all row and column pins. By default this will initialise the input/output state of each of the GPIO pins listed in `MATRIX_ROW_PINS` and `MATRIX_COL_PINS`, based on whether or not the keyboard is set up for `ROW2COL`, `COL2ROW`, or `DIRECT_PINS`. Should the keyboard designer override this function, no initialisation of pin state will occur within QMK itself, instead deferring to the keyboard's override. +* `COL2ROW`-based row reads: `void matrix_read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)` +* `ROW2COL`-based column reads: `void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)` +* `DIRECT_PINS`-based reads: `void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)` + * These three functions need to perform the low-level retrieval of matrix state of relevant input pins, based on the matrix type. Only one of the functions should be implemented, if needed. By default this will iterate through `MATRIX_ROW_PINS` and `MATRIX_COL_PINS`, configuring the inputs and outputs based on whether or not the keyboard is set up for `ROW2COL`, `COL2ROW`, or `DIRECT_PINS`. Should the keyboard designer override this function, no manipulation of matrix GPIO pin state will occur within QMK itself, instead deferring to the keyboard's override. ## Keyboard Post Initialization code @@ -374,7 +382,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } ``` -And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EEP_RST` keycode or [Bootmagic](feature_bootmagic.md) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued. +And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EEP_RST` keycode or [Bootmagic Lite](feature_bootmagic.md) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued. ```c void eeconfig_init_user(void) { // EEPROM is getting reset! diff --git a/docs/de/README.md b/docs/de/README.md index 5de496a201f4..f5f35d9d1c0d 100644 --- a/docs/de/README.md +++ b/docs/de/README.md @@ -1,7 +1,6 @@ # Quantum Mechanical Keyboard Firmware [![Aktuelle Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) -[![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware) [![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh) [![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm) [![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) diff --git a/docs/de/cli.md b/docs/de/cli.md index 437062ad6675..7dc02d505b63 100644 --- a/docs/de/cli.md +++ b/docs/de/cli.md @@ -88,14 +88,14 @@ qmk compile qmk compile -kb -km ``` -## `qmk cformat` +## `qmk format-c` Dieser Befehl formatiert C-Code im clang-Format. Benutze ihn ohne Argumente, um den core-Code zu formatieren, oder benutze Namen von Dateien in der CLI, um den Befehl auf bestimmte Dateien anzuwenden. **Anwendung**: ``` -qmk cformat [file1] [file2] [...] [fileN] +qmk format-c [file1] [file2] [...] [fileN] ``` ## `qmk config` @@ -148,14 +148,14 @@ Dieser Befehl erstellt eine neue Keymap basierend auf einer existierenden Standa qmk new-keymap [-kb KEYBOARD] [-km KEYMAP] ``` -## `qmk pyformat` +## `qmk format-py` Dieser Befehl formatiert Python-Code in `qmk_firmware`. **Anwendung**: ``` -qmk pyformat +qmk format-py ``` ## `qmk pytest` diff --git a/docs/driver_installation_zadig.md b/docs/driver_installation_zadig.md index 81b8408868fb..9155e56e3740 100644 --- a/docs/driver_installation_zadig.md +++ b/docs/driver_installation_zadig.md @@ -8,8 +8,8 @@ We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have ## Installation -Put your keyboard into bootloader mode, either by hitting the `RESET` keycode (which may be on a different layer), or by pressing the reset switch that's usually located on the underside of the board. If your keyboard has neither, try holding Escape or Space+`B` as you plug it in (see the [Bootmagic](feature_bootmagic.md) docs for more details). Some boards use [Command](feature_command.md) instead of Bootmagic; in this case, you can enter bootloader mode by hitting Left Shift+Right Shift+`B` or Left Shift+Right Shift+Escape at any point while the keyboard is plugged in. -Some keyboards may have specific instructions for entering the bootloader. For example, the [Bootmagic Lite](feature_bootmagic.md#bootmagic-lite) key (default: Escape) might be on a different key, e.g. Left Control; or the magic combination for Command (default: Left Shift+Right Shift) might require you to hold something else, e.g. Left Control+Right Control. Refer to the board's README file if you are unsure. +Put your keyboard into bootloader mode, either by hitting the `RESET` keycode (which may be on a different layer), or by pressing the reset switch that's usually located on the underside of the board. If your keyboard has neither, try holding Escape or Space+`B` as you plug it in (see the [Bootmagic Lite](feature_bootmagic.md) docs for more details). Some boards use [Command](feature_command.md) instead of Bootmagic; in this case, you can enter bootloader mode by hitting Left Shift+Right Shift+`B` or Left Shift+Right Shift+Escape at any point while the keyboard is plugged in. +Some keyboards may have specific instructions for entering the bootloader. For example, the [Bootmagic Lite](feature_bootmagic.md) key (default: Escape) might be on a different key, e.g. Left Control; or the magic combination for Command (default: Left Shift+Right Shift) might require you to hold something else, e.g. Left Control+Right Control. Refer to the board's README file if you are unsure. To put a device in bootloader mode with USBaspLoader, tap the `RESET` button while holding down the `BOOT` button. Alternatively, hold `BOOT` while inserting the USB cable. @@ -30,48 +30,69 @@ If you find that you can no longer type with the keyboard, you may have accident ![A healthy keyboard as seen by Zadig](https://i.imgur.com/Hx0E5kC.png) -Open the Device Manager and look for a device that looks like your keyboard. +Open the Device Manager, select **View → Devices by container**, and look for an entry with your keyboard's name. -![The board with the wrong driver installed, in Device Manager](https://i.imgur.com/L3wvX8f.png) +![The board with the wrong driver installed, in Device Manager](https://i.imgur.com/o7WLvBl.png) -Right-click it and hit **Uninstall device**. Make sure to tick **Delete the driver software for this device** first. +Right-click each entry and hit **Uninstall device**. Make sure to tick **Delete the driver software for this device** first if it appears. ![The Device Uninstall dialog, with the "delete driver" checkbox ticked](https://i.imgur.com/aEs2RuA.png) -Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again! Otherwise, repeat the process until Zadig reports the correct driver. +Click **Action → Scan for hardware changes**. At this point, you should be able to type again. Double check in Zadig that the keyboard device(s) are using the `HidUsb` driver. If so, you're all done, and your board should be functional again! Otherwise, repeat this process until Zadig reports the correct driver. ?> A full reboot of your computer may sometimes be necessary at this point, to get Windows to pick up the new driver. +## Uninstallation + +Uninstallation of bootloader devices is a little more involved than installation. + +Open the Device Manager, select **View → Devices by container**, and look for the bootloader device. Match up the USB VID and PID in Zadig with one from [the table below](#list-of-known-bootloaders). + +Find the `Inf name` value in the Details tab of the device properties. This should generally be something like `oemXX.inf`: + +![Device properties showing the Inf name value](https://i.imgur.com/Bu4mk9m.png) + +Then, open a new Command Prompt window as an Administrator (type in `cmd` into the Start menu and press Ctrl+Shift+Enter). Run `pnputil /enum-drivers` to verify the `Inf name` matches the `Published Name` field of one of the entries: + +![pnputil output with matching driver highlighted](https://i.imgur.com/3RrSjzW.png) + +Run `pnputil /delete-driver oemXX.inf /uninstall`. This will delete the driver and remove it from any devices using it. Note that this will not uninstall the device itself. + +As with the previous section, this process may need to be repeated multiple times, as multiple drivers can be applicable to the same device. + +!> **WARNING:** Be *extremely careful* when doing this! You could potentially uninstall the driver for some other critical device. If you are unsure, double check the output of `/enum-drivers`, and omit the `/uninstall` flag when running `/delete-driver`. + ## List of Known Bootloaders This is a list of known bootloader devices and their USB vendor and product IDs, as well as the correct driver to assign for flashing with QMK. Note that the usbser and HidUsb drivers are built in to Windows, and cannot be assigned with Zadig - if your device has an incorrect driver, you must use the Device Manager to uninstall it as described in the previous section. The device name here is the name that appears in Zadig, and may not be what the Device Manager or QMK Toolbox displays. -|Bootloader |Device Name |VID/PID |Driver | -|-------------|------------------------------|--------------|-------| -|`atmel-dfu` |ATmega16u2 DFU |`03EB:2FEF` |libusb0| -|`atmel-dfu` |ATmega32U2 DFU |`03EB:2FF0` |libusb0| -|`atmel-dfu` |ATm16U4 DFU V1.0.2 |`03EB:2FF3` |libusb0| -|`atmel-dfu` |ATm32U4DFU |`03EB:2FF4` |libusb0| -|`atmel-dfu` |*none* (AT90USB64) |`03EB:2FF9` |libusb0| -|`atmel-dfu` |AT90USB128 DFU |`03EB:2FFB` |libusb0| -|`qmk-dfu` |(keyboard name) Bootloader |As `atmel-dfu`|libusb0| -|`halfkay` |*none* |`16C0:0478` |HidUsb | -|`caterina` |Pro Micro 3.3V |`1B4F:9203` |usbser | -|`caterina` |Pro Micro 5V |`1B4F:9205` |usbser | -|`caterina` |LilyPadUSB |`1B4F:9207` |usbser | -|`caterina` |Pololu A-Star 32U4 Bootloader |`1FFB:0101` |usbser | -|`caterina` |Arduino Leonardo |`2341:0036` |usbser | -|`caterina` |Arduino Micro |`2341:0037` |usbser | -|`caterina` |Adafruit Feather 32u4 |`239A:000C` |usbser | -|`caterina` |Adafruit ItsyBitsy 32u4 3V |`239A:000D` |usbser | -|`caterina` |Adafruit ItsyBitsy 32u4 5V |`239A:000E` |usbser | -|`caterina` |Arduino Leonardo |`2A03:0036` |usbser | -|`caterina` |Arduino Micro |`2A03:0037` |usbser | -|`bootloadHID`|HIDBoot |`16C0:05DF` |HidUsb | -|`USBasp` |USBasp |`16C0:05DC` |libusbK| -|`apm32-dfu` |APM32 DFU ISP Mode |`314B:0106` |WinUSB | -|`stm32-dfu` |STM32 BOOTLOADER |`0483:DF11` |WinUSB | -|`kiibohd` |Kiibohd DFU Bootloader |`1C11:B007` |WinUSB | -|`stm32duino` |Maple 003 |`1EAF:0003` |WinUSB | +|Bootloader |Device Name |VID/PID |Driver | +|--------------|------------------------------|--------------|-------| +|`atmel-dfu` |ATmega16u2 DFU |`03EB:2FEF` |libusb0| +|`atmel-dfu` |ATmega32U2 DFU |`03EB:2FF0` |libusb0| +|`atmel-dfu` |ATm16U4 DFU V1.0.2 |`03EB:2FF3` |libusb0| +|`atmel-dfu` |ATm32U4DFU |`03EB:2FF4` |libusb0| +|`atmel-dfu` |*none* (AT90USB64) |`03EB:2FF9` |libusb0| +|`atmel-dfu` |AT90USB128 DFU |`03EB:2FFB` |libusb0| +|`qmk-dfu` |(keyboard name) Bootloader |As `atmel-dfu`|libusb0| +|`halfkay` |*none* |`16C0:0478` |HidUsb | +|`caterina` |Pro Micro 3.3V |`1B4F:9203` |usbser | +|`caterina` |Pro Micro 5V |`1B4F:9205` |usbser | +|`caterina` |LilyPadUSB |`1B4F:9207` |usbser | +|`caterina` |Pololu A-Star 32U4 Bootloader |`1FFB:0101` |usbser | +|`caterina` |Arduino Leonardo |`2341:0036` |usbser | +|`caterina` |Arduino Micro |`2341:0037` |usbser | +|`caterina` |Adafruit Feather 32u4 |`239A:000C` |usbser | +|`caterina` |Adafruit ItsyBitsy 32u4 3V |`239A:000D` |usbser | +|`caterina` |Adafruit ItsyBitsy 32u4 5V |`239A:000E` |usbser | +|`caterina` |Arduino Leonardo |`2A03:0036` |usbser | +|`caterina` |Arduino Micro |`2A03:0037` |usbser | +|`bootloadhid` |HIDBoot |`16C0:05DF` |HidUsb | +|`usbasploader`|USBasp |`16C0:05DC` |libusbK| +|`apm32-dfu` |APM32 DFU ISP Mode |`314B:0106` |WinUSB | +|`stm32-dfu` |STM32 BOOTLOADER |`0483:DF11` |WinUSB | +|`kiibohd` |Kiibohd DFU Bootloader |`1C11:B007` |WinUSB | +|`stm32duino` |Maple 003 |`1EAF:0003` |WinUSB | +|`qmk-hid` |(keyboard name) Bootloader |`03EB:2067` |HidUsb | diff --git a/docs/easy_maker.md b/docs/easy_maker.md new file mode 100644 index 000000000000..dc9727233383 --- /dev/null +++ b/docs/easy_maker.md @@ -0,0 +1,31 @@ +# Easy Maker - Build One-Off Projects In Configurator + +Have you ever needed an easy way to program a controller, such as a Proton C or Teensy 2.0, for a one-off project you're building? QMK has you covered with the Easy Maker. Now you can create a firmware in minutes using QMK Configurator. + +There are different styles of Easy Maker available depending on your needs: + +* [Direct Pin](https://config.qmk.fm/#/?filter=ez_maker/direct) - Connect a single switch to a single pin +* Direct Pin + Backlight (Coming Soon) - Like Direct Pin but dedicates a single pin to [Backlight](feature_backlight.md) control +* Direct Pin + Numlock (Coming Soon) - Like Direct Pin but dedicates a single pin to the Numlock LED +* Direct Pin + Capslock (Coming Soon) - Like Direct Pin but dedicates a single pin to the Numlock LED +* Direct Pin + Encoder (Coming Soon) - Like Direct Pin but uses 2 pins to add a single rotary encoder + +## Quickstart + +The easiest way to get started is with the Direct Pin boards. This will assign a single key to each pin and you can short that pin to ground to activate it. Select your MCU from the Keyboard dropdown here: + +* + +For more details see the [Direct Pin](#direct-pin) section. + +# Direct Pin + +As its name implies Direct Pin works by connecting one switch per pin. The other side of the switch should be connected to ground (VSS or GND.) You don't need any other components, your MCU has internal pull-up resistors so that the switch sensing can work. + +Here is a schematic showing how we connect a single button to pin A3 on a ProMicro: + +![Schematic diagram showing a ProMicro with a wire coming out of A3, connecting to the left side of a switch. Another wire comes out of the right side of the switch to connect to the Ground Plane.](https://i.imgur.com/JcDhZll.png) + +Once you have wired your switches you can assign keycodes to each pin and build a firmware by selecting the MCU you are using from the Keyboard dropdown. Use this link to show only Easy Maker Direct Pin: + +* diff --git a/docs/eeprom_driver.md b/docs/eeprom_driver.md index e2c262546d9c..6dcf10c04d49 100644 --- a/docs/eeprom_driver.md +++ b/docs/eeprom_driver.md @@ -31,6 +31,9 @@ Currently QMK supports 24xx-series chips over I2C. As such, requires a working i `#define EXTERNAL_EEPROM_PAGE_SIZE` | Page size of the EEPROM in bytes, as specified in the datasheet | 32 `#define EXTERNAL_EEPROM_ADDRESS_SIZE` | The number of bytes to transmit for the memory location within the EEPROM | 2 `#define EXTERNAL_EEPROM_WRITE_TIME` | Write cycle time of the EEPROM, as specified in the datasheet | 5 +`#define EXTERNAL_EEPROM_WP_PIN` | If defined the WP pin will be toggled appropriately when writing to the EEPROM. | _none_ + +Some I2C EEPROM manufacturers explicitly recommend against hardcoding the WP pin to ground. This is in order to protect the eeprom memory content during power-up/power-down/brown-out conditions at low voltage where the eeprom is still operational, but the i2c master output might be unpredictable. If a WP pin is configured, then having an external pull-up on the WP pin is recommended. Default values and extended descriptions can be found in `drivers/eeprom/eeprom_i2c.h`. diff --git a/docs/es/README.md b/docs/es/README.md index be063ad7c018..0d504fad05d2 100644 --- a/docs/es/README.md +++ b/docs/es/README.md @@ -1,7 +1,6 @@ # Firmware Quantum Mechanical Keyboard [![Versión actual](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) -[![Estado de Build](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware) [![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh) [![Estado de la documentación](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm) [![Contribuyentes en GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) diff --git a/docs/es/hardware_avr.md b/docs/es/hardware_avr.md index f8c426381f2c..ac6a71565835 100644 --- a/docs/es/hardware_avr.md +++ b/docs/es/hardware_avr.md @@ -6,26 +6,28 @@ Si aún no lo has hecho, debes leer las [Pautas de teclados](hardware_keyboard_g ## Añadir tu Teclado AVR a QMK -QMK tiene varias características para simplificar el trabajo con teclados AVR. Para la mayoría de los teclados no tienes que escribir ni una sola línea de código. Para empezar, ejecuta el archivo `util/new_keyboard.sh`: +QMK tiene varias características para simplificar el trabajo con teclados AVR. Para la mayoría de los teclados no tienes que escribir ni una sola línea de código. Para empezar, ejecuta `qmk new-keyboard`: ``` -$ ./util/new_keyboard.sh -Generating a new QMK keyboard directory - -Keyboard Name: mycoolkb -Keyboard Type [avr]: -Your Name [John Smith]: - -Copying base template files... done -Copying avr template files... done -Renaming keyboard files... done -Replacing %KEYBOARD% with mycoolkb... done -Replacing %YOUR_NAME% with John Smith... done - -Created a new keyboard called mycoolkb. - -To start working on things, cd into keyboards/mycoolkb, -or open the directory in your favourite text editor. +$ qmk new-keyboard +Ψ Generating a new QMK keyboard directory + +Keyboard Name: mycoolkeeb +Keyboard Type: + 1. avr + 2. ps2avrgb +Please enter your choice: [1] +Your Name: [John Smith] +Ψ Copying base template files... +Ψ Copying avr template files... +Ψ Renaming keyboard.[ch] to mycoolkeeb.[ch]... +Ψ Replacing %YEAR% with 2021... +Ψ Replacing %KEYBOARD% with mycoolkeeb... +Ψ Replacing %YOUR_NAME% with John Smith... + +Ψ Created a new keyboard called mycoolkeeb. +Ψ To start working on things, `cd` into keyboards/mycoolkeeb, +Ψ or open the directory in your preferred text editor. ``` Esto creará todos los archivos necesarios para tu nuevo teclado, y rellenará la configuración con valores predeterminados. Ahora sólo tienes que personalizarlo para tu teclado. diff --git a/docs/faq_debug.md b/docs/faq_debug.md index 13a649bfa2f3..1afa38a6243b 100644 --- a/docs/faq_debug.md +++ b/docs/faq_debug.md @@ -28,7 +28,7 @@ For compatible platforms, [QMK Toolbox](https://github.com/qmk/qmk_toolbox) can Prefer a terminal based solution? [hid_listen](https://www.pjrc.com/teensy/hid_listen.html), provided by PJRC, can also be used to display debug messages. Prebuilt binaries for Windows,Linux,and MacOS are available. -## Sending Your Own Debug Messages +## Sending Your Own Debug Messages :id=debug-api Sometimes it's useful to print debug messages from within your [custom code](custom_quantum_functions.md). Doing so is pretty simple. Start by including `print.h` at the top of your file: diff --git a/docs/faq_keymap.md b/docs/faq_keymap.md index c30e17990f20..dbeadba7100c 100644 --- a/docs/faq_keymap.md +++ b/docs/faq_keymap.md @@ -5,7 +5,7 @@ This page covers questions people often have about keymaps. If you haven't you s ## What Keycodes Can I Use? See [Keycodes](keycodes.md) for an index of keycodes available to you. These link to more extensive documentation when available. -Keycodes are actually defined in [common/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/keycode.h). +Keycodes are actually defined in [quantum/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/keycode.h). ## What Are the Default Keycodes? @@ -31,7 +31,7 @@ QMK has two features, Bootmagic and Command, which allow you to change the behav As a quick fix try holding down `Space`+`Backspace` while you plug in your keyboard. This will reset the stored settings on your keyboard, returning those keys to normal operation. If that doesn't work look here: -* [Bootmagic](feature_bootmagic.md) +* [Bootmagic Lite](feature_bootmagic.md) * [Command](feature_command.md) ## The Menu Key Isn't Working diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md index 75b7fef89b59..36b81a4e8e0f 100644 --- a/docs/feature_advanced_keycodes.md +++ b/docs/feature_advanced_keycodes.md @@ -2,24 +2,27 @@ These allow you to combine a modifier with a keycode. When pressed, the keydown event for the modifier, then `kc` will be sent. On release, the keyup event for `kc`, then the modifier will be sent. -|Key |Aliases |Description | -|----------|-------------------------------|------------------------------------------------------| -|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | -|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | -|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | -|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` | -|`RCTL(kc)`| |Hold Right Control and press `kc` | -|`RSFT(kc)`| |Hold Right Shift and press `kc` | -|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | -|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` | -|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` | -|`LCA(kc)` | |Hold Left Control and Alt and press `kc` | -|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | -|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` | -|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | -|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` | -|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` | -|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` | +|Key |Aliases |Description | +|----------|----------------------------------|------------------------------------------------------| +|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | +|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | +|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | +|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` | +|`RCTL(kc)`| |Hold Right Control and press `kc` | +|`RSFT(kc)`| |Hold Right Shift and press `kc` | +|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` | +|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` | +|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` | +|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | +|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | +|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | +|`LCA(kc)` | |Hold Left Control and Alt and press `kc` | +|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | +|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` | +|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | +|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` | +|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` | +|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` | You can also chain them, for example `LCTL(LALT(KC_DEL))` or `C(A(KC_DEL))` makes a key that sends Control+Alt+Delete with a single keypress. diff --git a/docs/feature_audio.md b/docs/feature_audio.md index 9e7ba75f5212..5b84dc774732 100644 --- a/docs/feature_audio.md +++ b/docs/feature_audio.md @@ -8,7 +8,7 @@ To activate this feature, add `AUDIO_ENABLE = yes` to your `rules.mk`. On Atmega32U4 based boards, up to two simultaneous tones can be rendered. With one speaker connected to a PWM capable pin on PORTC driven by timer 3 and the other on one of the PWM pins on PORTB driven by timer 1. -The following pins can be configured as audio outputs in `config.h` - for one speaker set eiter one out of: +The following pins can be configured as audio outputs in `config.h` - for one speaker set either one out of: * `#define AUDIO_PIN C4` * `#define AUDIO_PIN C5` @@ -131,12 +131,14 @@ You can override the default songs by doing something like this in your `config. ```c #ifdef AUDIO_ENABLE - #define STARTUP_SONG SONG(STARTUP_SOUND) +# define STARTUP_SONG SONG(STARTUP_SOUND) #endif ``` A full list of sounds can be found in [quantum/audio/song_list.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/audio/song_list.h) - feel free to add your own to this list! All available notes can be seen in [quantum/audio/musical_notes.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/audio/musical_notes.h). +Additionally, if you with to maintain your own list of songs (such as ones that may be copyrighted) and not have them added to the repo, you can create a `user_song_list.h` file and place it in your keymap (or userspace) folder. This file will be automatically included, it just needs to exist. + To play a custom sound at a particular time, you can define a song like this (near the top of the file): ```c @@ -165,8 +167,34 @@ The available keycodes for audio are: !> These keycodes turn all of the audio functionality on and off. Turning it off means that audio feedback, audio clicky, music mode, etc. are disabled, completely. +## Audio Config + +| Settings | Default | Description | +|---------------------------------|----------------------|-------------------------------------------------------------------------------| +|`AUDIO_PIN` | *Not defined* |Configures the pin that the speaker is connected to. | +|`AUDIO_PIN_ALT` | *Not defined* |Configures the pin for a second speaker or second pin connected to one speaker.| +|`AUDIO_PIN_ALT_AS_NEGATIVE` | *Not defined* |Enables support for one speaker connected to two pins. | +|`AUDIO_INIT_DELAY` | *Not defined* |Enables delay during startup song to accomidate for USB startup issues. | +|`AUDIO_ENABLE_TONE_MULTIPLEXING` | *Not defined* |Enables time splicing/multiplexing to create multiple tones simutaneously. | +|`STARTUP_SONG` | `STARTUP_SOUND` |Plays when the keyboard starts up (audio.c) | +|`GOODBYE_SONG` | `GOODBYE_SOUND` |Plays when you press the RESET key (quantum.c) | +|`AG_NORM_SONG` | `AG_NORM_SOUND` |Plays when you press AG_NORM (process_magic.c) | +|`AG_SWAP_SONG` | `AG_SWAP_SOUND` |Plays when you press AG_SWAP (process_magic.c) | +|`CG_NORM_SONG` | `AG_NORM_SOUND` |Plays when you press CG_NORM (process_magic.c) | +|`CG_SWAP_SONG` | `AG_SWAP_SOUND` |Plays when you press CG_SWAP (process_magic.c) | +|`MUSIC_ON_SONG` | `MUSIC_ON_SOUND` |Plays when music mode is activated (process_music.c) | +|`MUSIC_OFF_SONG` | `MUSIC_OFF_SOUND` |Plays when music mode is deactivated (process_music.c) | +|`MIDI_ON_SONG` | `MUSIC_ON_SOUND` |Plays when midi mode is activated (process_music.c) | +|`MIDI_OFF_SONG` | `MUSIC_OFF_SOUND` |Plays when midi mode is deactivated (process_music.c) | +|`CHROMATIC_SONG` | `CHROMATIC_SOUND` |Plays when the chromatic music mode is selected (process_music.c) | +|`GUITAR_SONG` | `GUITAR_SOUND` |Plays when the guitar music mode is selected (process_music.c) | +|`VIOLIN_SONG` | `VIOLIN_SOUND` |Plays when the violin music mode is selected (process_music.c) | +|`MAJOR_SONG` | `MAJOR_SOUND` |Plays when the major music mode is selected (process_music.c) | +|`DEFAULT_LAYER_SONGS` | *Not defined* |Plays song when switched default layers with [`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer)(quantum.c) | +|`SENDSTRING_BELL` | *Not defined* |Plays chime when the "enter" ("\a") character is sent (send_string.c) | + ## Tempo -the 'speed' at which SONGs are played is dictated by the set Tempo, which is measured in beats-per-minute. Note lenghts are defined relative to that. +the 'speed' at which SONGs are played is dictated by the set Tempo, which is measured in beats-per-minute. Note lengths are defined relative to that. The initial/default tempo is set to 120 bpm, but can be configured by setting `TEMPO_DEFAULT` in `config.c`. There is also a set of functions to modify the tempo from within the user/keymap code: ```c @@ -291,7 +319,7 @@ You can configure the default, min and max frequencies, the stepping and built i |--------|---------------|-------------| | `AUDIO_CLICKY_FREQ_DEFAULT` | 440.0f | Sets the default/starting audio frequency for the clicky sounds. | | `AUDIO_CLICKY_FREQ_MIN` | 65.0f | Sets the lowest frequency (under 60f are a bit buggy). | -| `AUDIO_CLICKY_FREQ_MAX` | 1500.0f | Sets the the highest frequency. Too high may result in coworkers attacking you. | +| `AUDIO_CLICKY_FREQ_MAX` | 1500.0f | Sets the highest frequency. Too high may result in coworkers attacking you. | | `AUDIO_CLICKY_FREQ_FACTOR` | 1.18921f| Sets the stepping of UP/DOWN key codes. This is a multiplicative factor. The default steps the frequency up/down by a musical minor third. | | `AUDIO_CLICKY_FREQ_RANDOMNESS` | 0.05f | Sets a factor of randomness for the clicks, Setting this to `0f` will make each click identical, and `1.0f` will make this sound much like the 90's computer screen scrolling/typing effect. | | `AUDIO_CLICKY_DELAY_DURATION` | 1 | An integer note duration where 1 is 1/16th of the tempo, or a sixty-fourth note (see `quantum/audio/musical_notes.h` for implementation details). The main clicky effect will be delayed by this duration. Adjusting this to values around 6-12 will help compensate for loud switches. | @@ -301,8 +329,7 @@ You can configure the default, min and max frequencies, the stepping and built i ## MIDI Functionality -This is still a WIP, but check out `quantum/process_keycode/process_midi.c` to see what's happening. Enable from the Makefile. - +See [MIDI](feature_midi.md) ## Audio Keycodes @@ -319,114 +346,3 @@ This is still a WIP, but check out `quantum/process_keycode/process_midi.c` to s |`MU_OFF` | |Turns off Music Mode | |`MU_TOG` | |Toggles Music Mode | |`MU_MOD` | |Cycles through the music modes | - - diff --git a/docs/feature_auto_shift.md b/docs/feature_auto_shift.md index 8e04d9dd38cf..ec7eeaaa0cae 100644 --- a/docs/feature_auto_shift.md +++ b/docs/feature_auto_shift.md @@ -109,6 +109,33 @@ Do not Auto Shift numeric keys, zero through nine. Do not Auto Shift alpha characters, which include A through Z. +### Auto Shift Per Key + +This is a function that allows you to determine which keys shold be autoshifted, much like the tap-hold keys. + +The default function looks like this: + +```c +bool get_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { +# ifndef NO_AUTO_SHIFT_ALPHA + case KC_A ... KC_Z: +# endif +# ifndef NO_AUTO_SHIFT_NUMERIC + case KC_1 ... KC_0: +# endif +# ifndef NO_AUTO_SHIFT_SPECIAL + case KC_TAB: + case KC_MINUS ... KC_SLASH: + case KC_NONUS_BSLASH: +# endif + return true; + } + return false; +} +``` +This functionality is enabled by default, and does not need a define. + ### AUTO_SHIFT_REPEAT (simple define) Enables keyrepeat. diff --git a/docs/feature_backlight.md b/docs/feature_backlight.md index 2adb16e4a86e..d47ecc68242b 100644 --- a/docs/feature_backlight.md +++ b/docs/feature_backlight.md @@ -62,15 +62,17 @@ Valid driver values are `pwm`, `software`, `custom` or `no`. See below for help To configure the backlighting, `#define` these in your `config.h`: -| Define | Default | Description | -|------------------------|---------------|-------------------------------------------------------------------------------------------------------------------| -| `BACKLIGHT_PIN` | *Not defined* | The pin that controls the LED(s) | -| `BACKLIGHT_LEVELS` | `3` | The number of brightness levels (maximum 31 excluding off) | -| `BACKLIGHT_CAPS_LOCK` | *Not defined* | Enable Caps Lock indicator using backlight (for keyboards without dedicated LED) | -| `BACKLIGHT_BREATHING` | *Not defined* | Enable backlight breathing, if supported | -| `BREATHING_PERIOD` | `6` | The length of one backlight "breath" in seconds | -| `BACKLIGHT_ON_STATE` | `1` | The state of the backlight pin when the backlight is "on" - `1` for high, `0` for low | -| `BACKLIGHT_LIMIT_VAL ` | `255` | The maximum duty cycle of the backlight -- `255` allows for full brightness, any lower will decrease the maximum. | +|Define |Default |Description | +|-----------------------------|------------------|-----------------------------------------------------------------------------------------------------------------| +|`BACKLIGHT_PIN` |*Not defined* |The pin that controls the LED(s) | +|`BACKLIGHT_LEVELS` |`3` |The number of brightness levels (maximum 31 excluding off) | +|`BACKLIGHT_CAPS_LOCK` |*Not defined* |Enable Caps Lock indicator using backlight (for keyboards without dedicated LED) | +|`BACKLIGHT_BREATHING` |*Not defined* |Enable backlight breathing, if supported | +|`BREATHING_PERIOD` |`6` |The length of one backlight "breath" in seconds | +|`BACKLIGHT_ON_STATE` |`1` |The state of the backlight pin when the backlight is "on" - `1` for high, `0` for low | +|`BACKLIGHT_LIMIT_VAL` |`255` |The maximum duty cycle of the backlight -- `255` allows for full brightness, any lower will decrease the maximum.| +|`BACKLIGHT_DEFAULT_LEVEL` |`BACKLIGHT_LEVELS`|The default backlight level to use upon clearing the EEPROM | +|`BACKLIGHT_DEFAULT_BREATHING`|*Not defined* |Whether to enable backlight breathing upon clearing the EEPROM | Unless you are designing your own keyboard, you generally should not need to change the `BACKLIGHT_PIN` or `BACKLIGHT_ON_STATE`. @@ -171,7 +173,7 @@ BACKLIGHT_DRIVER = software #### Multiple Backlight Pins :id=multiple-backlight-pins -Most keyboards have only one backlight pin which control all backlight LEDs (especially if the backlight is connected to an hardware PWM pin). +Most keyboards have only one backlight pin which controls all backlight LEDs (especially if the backlight is connected to a hardware PWM pin). In software PWM, it is possible to define multiple backlight pins, which will be turned on and off at the same time during the PWM duty cycle. This feature allows to set, for instance, the Caps Lock LED's (or any other controllable LED) brightness at the same level as the other LEDs of the backlight. This is useful if you have mapped Control in place of Caps Lock and you need the Caps Lock LED to be part of the backlight instead of being activated when Caps Lock is on, as it is usually wired to a separate pin from the backlight. diff --git a/docs/feature_bootmagic.md b/docs/feature_bootmagic.md index f084052cc74c..6c66b00679a9 100644 --- a/docs/feature_bootmagic.md +++ b/docs/feature_bootmagic.md @@ -1,136 +1,15 @@ -# Bootmagic - -There are three separate but related features that allow you to change the behavior of your keyboard without reflashing. While each of them have similar functionality, it is accessed in different ways depending on how your keyboard is configured. - -**Bootmagic** is a system for configuring your keyboard while it initializes. To trigger a Bootmagic command, hold down the Bootmagic key and one or more command keys. - -**Bootmagic Keycodes** are prefixed with `MAGIC_`, and allow you to access the Bootmagic functionality *after* your keyboard has initialized. To use the keycodes, assign them to your keymap as you would any other keycode. - -**Command**, formerly known as **Magic**, is another feature that allows you to control different aspects of your keyboard. While it shares some functionality with Bootmagic, it also allows you to do things that Bootmagic does not, such as printing version information to the console. For more information, see [Command](feature_command.md). - -On some keyboards Bootmagic is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk` with: - -```make -BOOTMAGIC_ENABLE = full -``` - -?> You may see `yes` being used in place of `full`, and this is okay. However, `yes` is deprecated, and ideally `full` (or `lite`) should be used instead. - -Additionally, you can use [Bootmagic Lite](#bootmagic-lite) (a scaled down, very basic version of Bootmagic) by adding the following to your `rules.mk` file: - -```make -BOOTMAGIC_ENABLE = lite -``` - -## Hotkeys - -Hold down the Bootmagic key (Space by default) and the desired hotkey while plugging in your keyboard. For example, holding Space+`B` should cause it to enter the bootloader. - -|Hotkey |Description | -|------------------|---------------------------------------------| -|Escape |Ignore Bootmagic configuration in EEPROM | -|`B` |Enter the bootloader | -|`D` |Toggle debugging over serial | -|`X` |Toggle key matrix debugging | -|`K` |Toggle keyboard debugging | -|`M` |Toggle mouse debugging | -|`L` |Set "Left Hand" for EE_HANDS handedness | -|`R` |Set "Right Hand" for EE_HANDS handedness | -|Backspace |Clear the EEPROM | -|Caps Lock |Toggle treating Caps Lock as Left Control | -|Left Control |Toggle swapping Caps Lock and Left Control | -|Left Alt |Toggle swapping Left Alt and Left GUI | -|Right Alt |Toggle swapping Right Alt and Right GUI | -|Left GUI |Toggle the GUI keys (useful when gaming) | -|`|Toggle swapping ` and Escape| -|`\` |Toggle swapping `\` and Backspace | -|`N` |Toggle N-Key Rollover (NKRO) | -|`0` |Make layer 0 the default layer | -|`1` |Make layer 1 the default layer | -|`2` |Make layer 2 the default layer | -|`3` |Make layer 3 the default layer | -|`4` |Make layer 4 the default layer | -|`5` |Make layer 5 the default layer | -|`6` |Make layer 6 the default layer | -|`7` |Make layer 7 the default layer | - -## Keycodes :id=keycodes - -|Key |Aliases |Description | -|----------------------------------|---------|--------------------------------------------------------------------------| -|`MAGIC_SWAP_CONTROL_CAPSLOCK` |`CL_SWAP`|Swap Caps Lock and Left Control | -|`MAGIC_UNSWAP_CONTROL_CAPSLOCK` |`CL_NORM`|Unswap Caps Lock and Left Control | -|`MAGIC_CAPSLOCK_TO_CONTROL` |`CL_CTRL`|Treat Caps Lock as Control | -|`MAGIC_UNCAPSLOCK_TO_CONTROL` |`CL_CAPS`|Stop treating Caps Lock as Control | -|`MAGIC_SWAP_LCTL_LGUI` |`LCG_SWP`|Swap Left Control and GUI | -|`MAGIC_UNSWAP_LCTL_LGUI` |`LCG_NRM`|Unswap Left Control and GUI | -|`MAGIC_SWAP_RCTL_RGUI` |`RCG_SWP`|Swap Right Control and GUI | -|`MAGIC_UNSWAP_RCTL_RGUI` |`RCG_NRM`|Unswap Right Control and GUI | -|`MAGIC_SWAP_CTL_GUI` |`CG_SWAP`|Swap Control and GUI on both sides | -|`MAGIC_UNSWAP_CTL_GUI` |`CG_NORM`|Unswap Control and GUI on both sides | -|`MAGIC_TOGGLE_CTL_GUI` |`CG_TOGG`|Toggle Control and GUI swap on both sides | -|`MAGIC_SWAP_LALT_LGUI` |`LAG_SWP`|Swap Left Alt and GUI | -|`MAGIC_UNSWAP_LALT_LGUI` |`LAG_NRM`|Unswap Left Alt and GUI | -|`MAGIC_SWAP_RALT_RGUI` |`RAG_SWP`|Swap Right Alt and GUI | -|`MAGIC_UNSWAP_RALT_RGUI` |`RAG_NRM`|Unswap Right Alt and GUI | -|`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides | -|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides | -|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap on both sides | -|`MAGIC_NO_GUI` |`GUI_OFF`|Disable the GUI keys | -|`MAGIC_UNNO_GUI` |`GUI_ON` |Enable the GUI keys | -|`MAGIC_SWAP_GRAVE_ESC` |`GE_SWAP`|Swap ` and Escape | -|`MAGIC_UNSWAP_GRAVE_ESC` |`GE_NORM`|Unswap ` and Escape | -|`MAGIC_SWAP_BACKSLASH_BACKSPACE` |`BS_SWAP`|Swap `\` and Backspace | -|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`|`BS_NORM`|Unswap `\` and Backspace | -|`MAGIC_HOST_NKRO` |`NK_ON` |Enable N-key rollover | -|`MAGIC_UNHOST_NKRO` |`NK_OFF` |Disable N-key rollover | -|`MAGIC_TOGGLE_NKRO` |`NK_TOGG`|Toggle N-key rollover | -|`MAGIC_EE_HANDS_LEFT` |`EH_LEFT`|Set the master half of a split keyboard as the left hand (for `EE_HANDS`) | -|`MAGIC_EE_HANDS_RIGHT` |`EH_RGHT`|Set the master half of a split keyboard as the right hand (for `EE_HANDS`)| - -## Configuration - -If you would like to change the hotkey assignments for Bootmagic, `#define` these in your `config.h` at either the keyboard or keymap level. - -|Define |Default |Description | -|----------------------------------------|-------------|---------------------------------------------------| -|`BOOTMAGIC_KEY_SALT` |`KC_SPACE` |The Bootmagic key | -|`BOOTMAGIC_KEY_SKIP` |`KC_ESC` |Ignore Bootmagic configuration in EEPROM | -|`BOOTMAGIC_KEY_EEPROM_CLEAR` |`KC_BSPACE` |Clear the EEPROM configuration | -|`BOOTMAGIC_KEY_BOOTLOADER` |`KC_B` |Enter the bootloader | -|`BOOTMAGIC_KEY_DEBUG_ENABLE` |`KC_D` |Toggle debugging over serial | -|`BOOTMAGIC_KEY_DEBUG_MATRIX` |`KC_X` |Toggle matrix debugging | -|`BOOTMAGIC_KEY_DEBUG_KEYBOARD` |`KC_K` |Toggle keyboard debugging | -|`BOOTMAGIC_KEY_DEBUG_MOUSE` |`KC_M` |Toggle mouse debugging | -|`BOOTMAGIC_KEY_EE_HANDS_LEFT` |`KC_L` |Set "Left Hand" for EE_HANDS handedness | -|`BOOTMAGIC_KEY_EE_HANDS_RIGHT` |`KC_R` |Set "Right Hand" for EE_HANDS handedness | -|`BOOTMAGIC_KEY_SWAP_CONTROL_CAPSLOCK` |`KC_LCTRL` |Swap Left Control and Caps Lock | -|`BOOTMAGIC_KEY_CAPSLOCK_TO_CONTROL` |`KC_CAPSLOCK`|Toggle treating Caps Lock as Left Control | -|`BOOTMAGIC_KEY_SWAP_LALT_LGUI` |`KC_LALT` |Toggle swapping Left Alt and Left GUI (for macOS) | -|`BOOTMAGIC_KEY_SWAP_RALT_RGUI` |`KC_RALT` |Toggle swapping Right Alt and Right GUI (for macOS)| -|`BOOTMAGIC_KEY_NO_GUI` |`KC_LGUI` |Toggle the GUI keys (useful when gaming) | -|`BOOTMAGIC_KEY_SWAP_GRAVE_ESC` |`KC_GRAVE` |Toggle swapping ` and Escape | -|`BOOTMAGIC_KEY_SWAP_BACKSLASH_BACKSPACE`|`KC_BSLASH` |Toggle swapping `\` and Backspace | -|`BOOTMAGIC_HOST_NKRO` |`KC_N` |Toggle N-Key Rollover (NKRO) | -|`BOOTMAGIC_KEY_DEFAULT_LAYER_0` |`KC_0` |Make layer 0 the default layer | -|`BOOTMAGIC_KEY_DEFAULT_LAYER_1` |`KC_1` |Make layer 1 the default layer | -|`BOOTMAGIC_KEY_DEFAULT_LAYER_2` |`KC_2` |Make layer 2 the default layer | -|`BOOTMAGIC_KEY_DEFAULT_LAYER_3` |`KC_3` |Make layer 3 the default layer | -|`BOOTMAGIC_KEY_DEFAULT_LAYER_4` |`KC_4` |Make layer 4 the default layer | -|`BOOTMAGIC_KEY_DEFAULT_LAYER_5` |`KC_5` |Make layer 5 the default layer | -|`BOOTMAGIC_KEY_DEFAULT_LAYER_6` |`KC_6` |Make layer 6 the default layer | -|`BOOTMAGIC_KEY_DEFAULT_LAYER_7` |`KC_7` |Make layer 7 the default layer | - # Bootmagic Lite :id=bootmagic-lite -In addition to the full blown Bootmagic feature, is the Bootmagic Lite feature that only handles jumping into the bootloader. This is great for boards that don't have a physical reset button but you need a way to jump into the bootloader, and don't want to deal with the headache that Bootmagic can cause. +The Bootmagic Lite feature that only handles jumping into the bootloader. This is great for boards that don't have a physical reset button, giving you a way to jump into the bootloader -To enable this version of Bootmagic, you need to enable it in your `rules.mk` with: +On some keyboards Bootmagic Lite is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk` with: ```make -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = yes ``` +?> You may see `lite` being used in place of `yes`. + Additionally, you may want to specify which key to use. This is especially useful for keyboards that have unusual matrices. To do so, you need to specify the row and column of the key that you want to use. Add these entries to your `config.h` file: ```c @@ -142,11 +21,11 @@ By default, these are set to 0 and 0, which is usually the "ESC" key on a majori And to trigger the bootloader, you hold this key down when plugging the keyboard in. Just the single key. -!> Using bootmagic lite will **always reset** the EEPROM, so you will lose any settings that have been saved. +!> Using Bootmagic Lite will **always reset** the EEPROM, so you will lose any settings that have been saved. ## Split Keyboards -When handedness is predetermined via an option like `SPLIT_HAND_PIN`, you might need to configure a different key between halves. This To do so, add these entries to your `config.h` file: +When handedness is predetermined via an option like `SPLIT_HAND_PIN`, you might need to configure a different key between halves. To do so, add these entries to your `config.h` file: ```c #define BOOTMAGIC_LITE_ROW_RIGHT 4 @@ -174,4 +53,10 @@ void bootmagic_lite(void) { } ``` -You can additional feature here. For instance, resetting the eeprom or requiring additional keys to be pressed to trigger bootmagic. Keep in mind that `bootmagic_lite` is called before a majority of features are initialized in the firmware. +You can additional feature here. For instance, resetting the EEPROM or requiring additional keys to be pressed to trigger Bootmagic Lite. Keep in mind that `bootmagic_lite` is called before a majority of features are initialized in the firmware. + +## Addenda + +To manipulate settings that were formerly configured through the now-deprecated full Bootmagic feature, see [Magic Keycodes](keycodes_magic.md). + +The Command feature, formerly known as Magic, also allows you to control different aspects of your keyboard. While it shares some functionality with Magic Keycodes, it also allows you to do things that Magic Keycodes cannot, such as printing version information to the console. For more information, see [Command](feature_command.md). diff --git a/docs/feature_combo.md b/docs/feature_combo.md index d831328f698b..d98e6f2ac7d8 100644 --- a/docs/feature_combo.md +++ b/docs/feature_combo.md @@ -1,24 +1,39 @@ # Combos -The Combo feature is a chording type solution for adding custom actions. It lets you hit multiple keys at once and produce a different effect. For instance, hitting `A` and `S` within the tapping term would hit `ESC` instead, or have it perform even more complex tasks. +The Combo feature is a chording type solution for adding custom actions. It lets you hit multiple keys at once and produce a different effect. For instance, hitting `A` and `S` within the combo term would hit `ESC` instead, or have it perform even more complex tasks. To enable this feature, you need to add `COMBO_ENABLE = yes` to your `rules.mk`. -Additionally, in your `config.h`, you'll need to specify the number of combos that you'll be using, by adding `#define COMBO_COUNT 1` (replacing 1 with the number that you're using). - +Additionally, in your `config.h`, you'll need to specify the number of combos that you'll be using, by adding `#define COMBO_COUNT 1` (replacing 1 with the number that you're using). It is also possible to not define this and instead set the variable `COMBO_LEN` yourself. There's a trick where we don't need to think about this variable at all. More on this later. -Also, by default, the tapping term for the Combos is set to the same value as `TAPPING_TERM` (200 by default on most boards). But you can specify a different value by defining it in your `config.h`. For instance: `#define COMBO_TERM 300` would set the time out period for combos to 300ms. -Then, your `keymap.c` file, you'll need to define a sequence of keys, terminated with `COMBO_END`, and a structure to list the combination of keys, and it's resulting action. +Then, in your `keymap.c` file, you'll need to define a sequence of keys, terminated with `COMBO_END`, and a structure to list the combination of keys, and its resulting action. ```c -const uint16_t PROGMEM test_combo[] = {KC_A, KC_B, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = {COMBO(test_combo, KC_ESC)}; +const uint16_t PROGMEM test_combo1[] = {KC_A, KC_B, COMBO_END}; +const uint16_t PROGMEM test_combo2[] = {KC_C, KC_D, COMBO_END}; +combo_t key_combos[COMBO_COUNT] = { + COMBO(test_combo1, KC_ESC), + COMBO(test_combo2, LCTL(KC_Z)), // keycodes with modifiers are possible too! +}; ``` -This will send "Escape" if you hit the A and B keys. +This will send "Escape" if you hit the A and B keys, and Ctrl+Z when you hit the C and D keys. + +As of [PR#8591](https://github.com/qmk/qmk_firmware/pull/8591/), it is possible to fire combos from ModTap keys and LayerTap keys. So in the above example you could have keys `LSFT_T(KC_A)` and `LT(_LAYER, KC_B)` and it would work. So Home Row Mods and Home Row Combos at same time is now a thing! -!> This method only supports [basic keycodes](keycodes_basic.md). See the examples for more control. +It is also now possible to overlap combos. Before, with the example below both combos would activate when all three keys were pressed. Now only the three key combo will activate. + +```c +const uint16_t PROGMEM test_combo1[] = {LSFT_T(KC_A), LT(_LAYER, KC_B), COMBO_END}; +const uint16_t PROGMEM test_combo2[] = {LSFT_T(KC_A), LT(_LAYER, KC_B), KC_C, COMBO_END}; +combo_t key_combos[COMBO_COUNT] = { + COMBO(test_combo1, KC_ESC) + COMBO(test_combo2, KC_TAB) +}; +``` + +Executing more complex keycodes like ModTaps and LayerTaps is now also possible. ## Examples @@ -27,63 +42,68 @@ If you want to add a list, then you'd use something like this: ```c enum combos { AB_ESC, - JK_TAB + JK_TAB, + QW_SFT, + SD_LAYER, }; const uint16_t PROGMEM ab_combo[] = {KC_A, KC_B, COMBO_END}; const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; +const uint16_t PROGMEM qw_combo[] = {KC_Q, KC_W, COMBO_END}; +const uint16_t PROGMEM sd_combo[] = {KC_S, KC_D, COMBO_END}; combo_t key_combos[COMBO_COUNT] = { [AB_ESC] = COMBO(ab_combo, KC_ESC), - [JK_TAB] = COMBO(jk_combo, KC_TAB) + [JK_TAB] = COMBO(jk_combo, KC_TAB), + [QW_SFT] = COMBO(qw_combo, KC_LSFT) + [SD_LAYER] = COMBO(layer_combo, MO(_LAYER)), }; ``` For a more complicated implementation, you can use the `process_combo_event` function to add custom handling. +Additionally, this example shows how you can leave `COMBO_COUNT` undefined. ```c enum combo_events { - ZC_COPY, - XV_PASTE + EM_EMAIL, + BSPC_LSFT_CLEAR, + COMBO_LENGTH }; +uint16_t COMBO_LEN = COMBO_LENGTH; // remove the COMBO_COUNT define and use this instead! -const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END}; -const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END}; +const uint16_t PROGMEM email_combo[] = {KC_E, KC_M, COMBO_END}; +const uint16_t PROGMEM clear_line_combo[] = {KC_BSPC, KC_LSFT, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { - [ZC_COPY] = COMBO_ACTION(copy_combo), - [XV_PASTE] = COMBO_ACTION(paste_combo), +combo_t key_combos[] = { + [EM_EMAIL] = COMBO_ACTION(email_combo), + [BSPC_LSFT_CLEAR] = COMBO_ACTION(clear_line_combo), }; +/* COMBO_ACTION(x) is same as COMBO(x, KC_NO) */ void process_combo_event(uint16_t combo_index, bool pressed) { switch(combo_index) { - case ZC_COPY: + case EM_EMAIL: if (pressed) { - tap_code16(LCTL(KC_C)); + SEND_STRING("john.doe@example.com"); } break; - case XV_PASTE: + case BSPC_LSFT_CLEAR: if (pressed) { - tap_code16(LCTL(KC_V)); + tap_code16(KC_END); + tap_code16(S(KC_HOME)); + tap_code16(KC_BSPC); } break; } } ``` -This will send Ctrl+C if you hit Z and C, and Ctrl+V if you hit X and V. But you could change this to do stuff like change layers, play sounds, or change settings. - -## Additional Configuration +This will send "john.doe@example.com" if you chord E and M together, and clear the current line with Backspace and Left-Shift. You could change this to do stuff like play sounds or change settings. -If you're using long combos, or even longer combos, you may run into issues with this, as the structure may not be large enough to accommodate what you're doing. +It is worth noting that `COMBO_ACTION`s are not needed anymore. As of [PR#8591](https://github.com/qmk/qmk_firmware/pull/8591/), it is possible to run your own custom keycodes from combos. Just define the custom keycode, program its functionality in `process_record_user`, and define a combo with `COMBO(, )`. -In this case, you can add either `#define EXTRA_LONG_COMBOS` or `#define EXTRA_EXTRA_LONG_COMBOS` in your `config.h` file. - -You may also be able to enable action keys by defining `COMBO_ALLOW_ACTION_KEYS`. - -## Keycodes - -You can enable, disable and toggle the Combo feature on the fly. This is useful if you need to disable them temporarily, such as for a game. +## Keycodes +You can enable, disable and toggle the Combo feature on the fly. This is useful if you need to disable them temporarily, such as for a game. The following keycodes are available for use in your `keymap.c` |Keycode |Description | |----------|---------------------------------| @@ -91,6 +111,187 @@ You can enable, disable and toggle the Combo feature on the fly. This is useful |`CMB_OFF` |Turns off Combo feature | |`CMB_TOG` |Toggles Combo feature on and off | +# Advanced Configuration +These configuration settings can be set in your `config.h` file. + +## Combo Term +By default, the timeout for the Combos to be recognized is set to 50ms. This can be changed if accidental combo misfires are happening or if you're having difficulties pressing keys at the same time. For instance, `#define COMBO_TERM 40` would set the timeout period for combos to 40ms. + +## Buffer and state sizes +If you're using long combos, or you have a lot of overlapping combos, you may run into issues with this, as the buffers may not be large enough to accommodate what you're doing. In this case, you can configure the sizes of the buffers used. Be aware, larger combo sizes and larger buffers will increase memory usage! + +To configure the amount of keys a combo can be composed of, change the following: + +| Keys | Define to be set | +|------|-----------------------------------| +| 6 | `#define EXTRA_SHORT_COMBOS` | +| 8 | QMK Default | +| 16 | `#define EXTRA_LONG_COMBOS` | +| 32 | `#define EXTRA_EXTRA_LONG_COMBOS` | + +Defining `EXTRA_SHORT_COMBOS` combines a combo's internal state into just one byte. This can, in some cases, save some memory. If it doesn't, no point using it. If you do, you also have to make sure you don't define combos with more than 6 keys. + +Processing combos has two buffers, one for the key presses, another for the combos being activated. Use the following options to configure the sizes of these buffers: + +| Define | Default | +|-------------------------------------|------------------------------------------------------| +| `#define COMBO_KEY_BUFFER_LENGTH 8` | 8 (the key amount `(EXTRA_)EXTRA_LONG_COMBOS` gives) | +| `#define COMBO_BUFFER_LENGTH 4` | 4 | + +## Modifier Combos +If a combo resolves to a Modifier, the window for processing the combo can be extended independently from normal combos. By default, this is disabled but can be enabled with `#define COMBO_MUST_HOLD_MODS`, and the time window can be configured with `#define COMBO_HOLD_TERM 150` (default: `TAPPING_TERM`). With `COMBO_MUST_HOLD_MODS`, you cannot tap the combo any more which makes the combo less prone to misfires. + +## Per Combo Timing, Holding and Tapping +For each combo, it is possible to configure the time window it has to pressed in, if it needs to be held down, or if it needs to be tapped. + +For example, tap-only combos are useful if any (or all) of the underlying keys is a Mod-Tap or a Layer-Tap key. When you tap the combo, you get the combo result. When you press the combo and hold it down, the combo doesn't actually activate. Instead the keys are processed separately as if the combo wasn't even there. + +In order to use these features, the following configuration options and functions need to be defined. Coming up with useful timings and configuration is left as an exercise for the reader. + +| Config Flag | Function | Description | +|-----------------------------|-----------------------------------------------------------|--------------------------------------------------------------------------------------------------------| +| `COMBO_TERM_PER_COMBO` | uint16_t get_combo_term(uint16_t index, combo_t \*combo) | Optional per-combo timeout window. (default: `COMBO_TERM`) | +| `COMBO_MUST_HOLD_PER_COMBO` | bool get_combo_must_hold(uint16_t index, combo_t \*combo) | Controls if a given combo should fire immediately on tap or if it needs to be held. (default: `false`) | +| `COMBO_MUST_TAP_PER_COMBO` | bool get_combo_must_tap(uint16_t index, combo_t \*combo) | Controls if a given combo should fire only if tapped within `COMBO_HOLD_TERM`. (default: `false`) | + +Examples: +```c +uint16_t get_combo_term(uint16_t index, combo_t *combo) { + // decide by combo->keycode + switch (combo->keycode) { + case KC_X: + return 50; + } + + // or with combo index, i.e. its name from enum. + switch (index) { + case COMBO_NAME_HERE: + return 9001; + } + + // And if you're feeling adventurous, you can even decide by the keys in the chord, + // i.e. the exact array of keys you defined for the combo. + // This can be useful if your combos have a common key and you want to apply the + // same combo term for all of them. + if (combo->keys[0] == KC_ENTER) { // if first key in the array is KC_ENTER + return 150; + } + + return COMBO_TERM; +} + +bool get_combo_must_hold(uint16_t index, combo_t *combo) { + // Same as above, decide by keycode, the combo index, or by the keys in the chord. + + if (KEYCODE_IS_MOD(combo->keycode) || + (combo->keycode >= QK_MOMENTARY && combo->keycode <= QK_MOMENTARY_MAX) // MO(kc) keycodes + ) { + return true; + } + + switch (index) { + case COMBO_NAME_HERE: + return true; + } + + return false; +} + +bool get_combo_must_tap(uint16_t index, combo_t *combo) { + // If you want all combos to be tap-only, just uncomment the next line + // return true + + // If you want *all* combos, that have Mod-Tap/Layer-Tap/Momentary keys in its chord, to be tap-only, this is for you: + uint16_t key; + uint8_t idx = 0; + while ((key = pgm_read_word(&combo->keys[idx])) != COMBO_END) { + switch (key) { + case QK_MOD_TAP...QK_MOD_TAP_MAX: + case QK_LAYER_TAP...QK_LAYER_TAP_MAX: + case QK_MOMENTARY...QK_MOMENTARY_MAX: + return true; + } + idx += 1; + } + return false; + +} +``` + +## Variable Length Combos +If you leave `COMBO_COUNT` undefined in `config.h`, it allows you to programmatically declare the size of the Combo data structure and avoid updating `COMBO_COUNT`. Instead a variable called `COMBO_LEN` has to be set. It can be set with something similar to the following in `keymap.c`: `uint16_t COMBO_LEN = sizeof(key_combos) / sizeof(key_combos[0]);` or by adding `COMBO_LENGTH` as the *last* entry in the combo enum and then `uint16_t COMBO_LEN = COMBO_LENGTH;` as such: +```c +enum myCombos { + ..., + COMBO_LENGTH +}; +uint16_t COMBO_LEN = COMBO_LENGTH; +``` +Regardless of the method used to declare `COMBO_LEN`, this also requires to convert the `combo_t key_combos[COMBO_COUNT] = {...};` line to `combo_t key_combos[] = {...};`. + + +## Combo timer + +Normally, the timer is started on the first key press and then reset on every subsequent key press within the `COMBO_TERM`. +Inputting combos is relaxed like this, but also slightly more prone to accidental misfires. + +The next two options alter the behaviour of the timer. + +### `#define COMBO_STRICT_TIMER` + +With `COMBO_STRICT_TIMER`, the timer is started only on the first key press. +Inputting combos is now less relaxed; you need to make sure the full chord is pressed within the `COMBO_TERM`. +Misfires are less common but if you type multiple combos fast, there is a +chance that the latter ones might not activate properly. + +### `#define COMBO_NO_TIMER` + +By defining `COMBO_NO_TIMER`, the timer is disabled completely and combos are activated on the first key release. +This also disables the "must hold" functionalities as they just wouldn't work at all. + +## Customizable key releases + +By defining `COMBO_PROCESS_KEY_RELEASE` and implementing the function `bool process_combo_key_release(uint16_t combo_index, combo_t *combo, uint8_t key_index, uint16_t keycode)`, you can run your custom code on each key release after a combo was activated. For example you could change the RGB colors, activate haptics, or alter the modifiers. + +You can also release a combo early by returning `true` from the function. + +Here's an example where a combo resolves to two modifiers, and on key releases the modifiers are unregistered one by one, depending on which key was released. + +```c +enum combos { + AB_MODS, + COMBO_LENGTH +}; +uint16_t COMBO_LEN = COMBO_LENGTH; + +const uint16_t PROGMEM ab_combo[] = {KC_A, KC_B, COMBO_END}; + +combo_t key_combos[] = { + [AB_MODS] = COMBO(ab_combo, LCTL(KC_LSFT)), +}; + +bool process_combo_key_release(uint16_t combo_index, combo_t *combo, uint8_t key_index, uint16_t keycode) { + switch (combo_index) { + case AB_MODS: + switch(keycode) { + case KC_A: + unregister_mods(MOD_MASK_CTRL); + break; + case KC_B: + unregister_mods(MOD_MASK_SHIFT); + break; + } + return false; // do not release combo + } + return false; +} +``` +## Layer independent combos + +If you, for example, use multiple base layers for different key layouts, one for QWERTY, and another one for Colemak, you might want your combos to work from the same key positions on all layers. Defining the same combos again for another layout is redundant and takes more memory. The solution is to just check the keycodes from one layer. + +With `#define COMBO_ONLY_FROM_LAYER _LAYER_A` the combos' keys are always checked from layer `_LAYER_A` even though the active layer would be `_LAYER_B`. + ## User callbacks In addition to the keycodes, there are a few functions that you can use to set the status, or check it: @@ -101,3 +302,28 @@ In addition to the keycodes, there are a few functions that you can use to set t | `combo_disable()` | Disables the combo feature, and clears the combo buffer | | `combo_toggle()` | Toggles the state of the combo feature | | `is_combo_enabled()` | Returns the status of the combo feature state (true or false) | + + +# Dictionary Management + +Having 3 places to update when adding new combos or altering old ones does become cumbersome when you have a lot of combos. We can alleviate this with some magic! ... If you consider C macros magic. +First, you need to add `VPATH += keyboards/gboards` to your `rules.mk`. Next, include the file `g/keymap_combo.h` in your `keymap.c`. + +!> This functionality uses the same `process_combo_event` function as `COMBO_ACTION` macros do, so you cannot use the function yourself in your keymap. Instead, you have to define the `case`s of the `switch` statement by themselves within `inject.h`, which `g/keymap_combo.h` will then include into the function. + +Then, write your combos in `combos.def` file in the following manner: + +```c +// name result chord keys +COMB(AB_ESC, KC_ESC, KC_A, KC_B) +COMB(JK_TAB, KC_TAB, KC_J, KC_K) +COMB(JKL_SPC, KC_SPC, KC_J, KC_K, KC_L) +COMB(BSSL_CLR, KC_NO, KC_BSPC, KC_LSFT) // using KC_NO as the resulting keycode is the same as COMBO_ACTION before. +COMB(QW_UNDO, C(KC_Z), KC_Q, KC_W) +SUBS(TH_THE, "the", KC_T, KC_H) // SUBS uses SEND_STRING to output the given string. +... +``` + +Now, you can update only one place to add or alter combos. You don't even need to remember to update the `COMBO_COUNT` or the `COMBO_LEN` variables at all. Everything is taken care of. Magic! + +For small to huge ready made dictionaries of combos, you can check out http://combos.gboards.ca/. diff --git a/docs/feature_command.md b/docs/feature_command.md index a4ce3f5aea0a..830006613102 100644 --- a/docs/feature_command.md +++ b/docs/feature_command.md @@ -1,6 +1,6 @@ # Command -Command, formerly known as Magic, is a way to change your keyboard's behavior without having to flash or unplug it to use [Bootmagic](feature_bootmagic.md). There is a lot of overlap between this functionality and the [Bootmagic Keycodes](feature_bootmagic.md#keycodes). Wherever possible we encourage you to use that feature instead of Command. +Command, formerly known as Magic, is a way to change your keyboard's behavior without having to flash or unplug it to use [Bootmagic Lite](feature_bootmagic.md). There is a lot of overlap between this functionality and the [Magic Keycodes](keycodes_magic.md). Wherever possible we encourage you to use that feature instead of Command. On some keyboards Command is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk`: diff --git a/docs/feature_debounce_type.md b/docs/feature_debounce_type.md index 3ad74224c173..f37a785b1e78 100644 --- a/docs/feature_debounce_type.md +++ b/docs/feature_debounce_type.md @@ -92,15 +92,6 @@ susceptible to noise, you must choose a debounce method that will also mitigate ## Debounce algorithms supported by QMK QMK supports multiple debounce algorithms through its debounce API. -The logic for which debounce method called is below. It checks various defines that you have set in ```rules.mk``` - -``` -DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce -DEBOUNCE_TYPE?= sym_defer_g -ifneq ($(strip $(DEBOUNCE_TYPE)), custom) - QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c -endif -``` ### Debounce selection @@ -121,16 +112,16 @@ DEBOUNCE_TYPE = Where name of algorithm is one of: * ```sym_defer_g``` - debouncing per keyboard. On any state change, a global timer is set. When ```DEBOUNCE``` milliseconds of no changes has occurred, all input changes are pushed. * This is the current default algorithm. This is the highest performance algorithm with lowest memory usage, and it's also noise-resistant. -* ```sym_eager_pr``` - debouncing per row. On any state change, response is immediate, followed by locking the row ```DEBOUNCE``` milliseconds of no further input for that row. +* ```sym_eager_pr``` - debouncing per row. On any state change, response is immediate, followed by locking the row ```DEBOUNCE``` milliseconds of no further input for that row. For use in keyboards where refreshing ```NUM_KEYS``` 8-bit counters is computationally expensive / low scan rate, and fingers usually only hit one row at a time. This could be appropriate for the ErgoDox models; the matrix is rotated 90°, and hence its "rows" are really columns, and each finger only hits a single "row" at a time in normal use. * ```sym_eager_pk``` - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key * ```sym_defer_pk``` - debouncing per key. On any state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key status change is pushed. +* ```asym_eager_defer_pk``` - debouncing per key. On a key-down state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key. On a key-up state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key-up status change is pushed. ### A couple algorithms that could be implemented in the future: * ```sym_defer_pr``` * ```sym_eager_g``` -* ```asym_eager_defer_pk``` ### Use your own debouncing code You have the option to implement you own debouncing algorithm. To do this: @@ -140,11 +131,3 @@ You have the option to implement you own debouncing algorithm. To do this: * Debouncing occurs after every raw matrix scan. * Use num_rows rather than MATRIX_ROWS, so that split keyboards are supported correctly. * If the algorithm might be applicable to other keyboards, please consider adding it to ```quantum/debounce``` - -### Old names -The following old names for existing algorithms will continue to be supported, however it is recommended to use the new names instead. - -* sym_g - old name for sym_defer_g -* eager_pk - old name for sym_eager_pk -* sym_pk - old name for sym_defer_pk -* eager_pr - old name for sym_eager_pr diff --git a/docs/feature_digitizer.md b/docs/feature_digitizer.md new file mode 100644 index 000000000000..9b6aeddbaa9e --- /dev/null +++ b/docs/feature_digitizer.md @@ -0,0 +1,35 @@ +## Digitizer + +The digitizer HID interface allows setting the mouse cursor position at absolute coordinates, unlike the Pointing Device feature that applies relative displacements. + +To enable the digitizer interface, add the following line to your rules.mk: + +```makefile +DIGITIZER_ENABLE = yes +``` + +In order to change the mouse cursor position from your keymap.c file, include the digitizer header : + +```c +#include "digitizer.h" +``` + +This gives you access to the `digitizer` structure which members allow you to change the cursor position. + +The coordinates are normalized, meaning there value must be set between 0 and 1. For the `x` coordinate, the value `0` is the leftmost position, whereas the value `1` is the rightmost position. +For the `y` coordinate, `0` is at the top and `1` at the bottom. + +Here is an example setting the cursor in the middle of the screen: + +```c +digitizer_t digitizer; +digitizer.x = 0.5; +digitizer.y = 0.5; +digitizer.tipswitch = 0; +digitizer.inrange = 1; +digitizer_set_report(digitizer); +``` + +The `tipswitch` member triggers what equates to a click when set to `1`. The `inrange` member is required for the change in coordinates to be taken. It can then be set to `0` in a new report to signal the end of the digitizer interaction, but it is not strictly required. + +Once all members are set to the desired value, the `status` member needs its bitmask `DZ_UPDATED` to be set so the report is sent during the next main loop iteration. diff --git a/docs/feature_dip_switch.md b/docs/feature_dip_switch.md index 15e449c4c465..6fbe91657d50 100644 --- a/docs/feature_dip_switch.md +++ b/docs/feature_dip_switch.md @@ -9,6 +9,8 @@ and this to your `config.h`: ```c // Connects each switch in the dip switch to the GPIO pin of the MCU #define DIP_SWITCH_PINS { B14, A15, A10, B9 } +// For split keyboards, you can separately define the right side pins +#define DIP_SWITCH_PINS_RIGHT { ... } ``` or @@ -23,8 +25,9 @@ or The callback functions can be inserted into your `.c`: ```c -void dip_switch_update_kb(uint8_t index, bool active) { - dip_switch_update_user(index, active); +bool dip_switch_update_kb(uint8_t index, bool active) { + if (!dip_switch_update_user(index, active)) { return false; } + return true; } ``` @@ -32,7 +35,7 @@ void dip_switch_update_kb(uint8_t index, bool active) { or `keymap.c`: ```c -void dip_switch_update_user(uint8_t index, bool active) { +bool dip_switch_update_user(uint8_t index, bool active) { switch (index) { case 0: if(active) { audio_on(); } else { audio_off(); } @@ -57,6 +60,7 @@ void dip_switch_update_user(uint8_t index, bool active) { } break; } + return true; } ``` @@ -64,8 +68,9 @@ Additionally, we support bit mask functions which allow for more complex handlin ```c -void dip_switch_update_mask_kb(uint32_t state) { - dip_switch_update_mask_user(state); +bool dip_switch_update_mask_kb(uint32_t state) { + if (!dip_switch_update_mask_user(state)) { return false; } + return true; } ``` @@ -73,7 +78,7 @@ void dip_switch_update_mask_kb(uint32_t state) { or `keymap.c`: ```c -void dip_switch_update_mask_user(uint32_t state) { +bool dip_switch_update_mask_user(uint32_t state) { if (state & (1UL<<0) && state & (1UL<<1)) { layer_on(_ADJUST); // C on esc } else { @@ -89,10 +94,10 @@ void dip_switch_update_mask_user(uint32_t state) { } else { layer_off(_TEST_B); } + return true; } ``` - ## Hardware ### Connects each switch in the dip switch to the GPIO pin of the MCU diff --git a/docs/feature_encoders.md b/docs/feature_encoders.md index e2cafdac48e8..509f55b917ef 100644 --- a/docs/feature_encoders.md +++ b/docs/feature_encoders.md @@ -38,6 +38,12 @@ It can also be defined per-encoder, by instead defining: #define ENCODER_RESOLUTIONS { 4, 2 } ``` +For 4× encoders you also can assign default position if encoder skips pulses when it changes direction. For example, if your encoder send high level on both pins by default, define this: + +```c +#define ENCODER_DEFAULT_POS 0x3 +``` + ## Split Keyboards If you are using different pinouts for the encoders on each half of a split keyboard, you can define the pinout (and optionally, resolutions) for the right half like this: @@ -53,15 +59,15 @@ If you are using different pinouts for the encoders on each half of a split keyb The callback functions can be inserted into your `.c`: ```c -void encoder_update_kb(uint8_t index, bool clockwise) { - encoder_update_user(index, clockwise); +bool encoder_update_kb(uint8_t index, bool clockwise) { + return encoder_update_user(index, clockwise); } ``` or `keymap.c`: ```c -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_PGDN); @@ -75,9 +81,29 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_UP); } } + return true; } ``` +!> If you return `true`, this will allow the keyboard level code to run, as well. Returning `false` will override the keyboard level code. Depending on how the keyboard level function is set up. + ## Hardware The A an B lines of the encoders should be wired directly to the MCU, and the C/common lines should be wired to ground. + +## Multiple Encoders + +Multiple encoders may share pins so long as each encoder has a distinct pair of pins. + +For example you can support two encoders using only 3 pins like this +``` +#define ENCODERS_PAD_A { B1, B1 } +#define ENCODERS_PAD_B { B2, B3 } +``` + +You could even support three encoders using only three pins (one per encoder) however in this configuration, rotating two encoders which share pins simultaneously will often generate incorrect output. For example: +``` +#define ENCODERS_PAD_A { B1, B1, B2 } +#define ENCODERS_PAD_B { B2, B3, B3 } +``` +Here rotating Encoder 0 `B1 B2` and Encoder 1 `B1 B3` could be interpreted as rotating Encoder 2 `B2 B3` or `B3 B2` depending on the timing. This may still be a useful configuration depending on your use case diff --git a/docs/feature_haptic_feedback.md b/docs/feature_haptic_feedback.md index a092e784c779..469c9c79815b 100644 --- a/docs/feature_haptic_feedback.md +++ b/docs/feature_haptic_feedback.md @@ -162,4 +162,28 @@ This will set what sequence HPT_RST will set as the active mode. If not defined, ### DRV2605L Continuous Haptic Mode -This mode sets continuous haptic feedback with the option to increase or decrease strength. +This mode sets continuous haptic feedback with the option to increase or decrease strength. + +## Haptic Key Exclusion +The Haptic Exclusion is implemented as `__attribute__((weak)) bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t *record)` in haptic.c. This allows a re-definition at the required level with the specific requirement / exclusion. + +### NO_HAPTIC_MOD +With the entry of `#define NO_HAPTIC_MOD` in config.h, modifiers from Left Control to Right GUI will not trigger a feedback. This also includes modifiers in a Mod Tap configuration. + +### NO_HAPTIC_FN +With the entry of `#define NO_HAPTIC_FN` in config.h, layer keys will not rigger a feedback. + +### NO_HAPTIC_ALPHA +With the entry of `#define NO_HAPTIC_ALPHA` in config.h, none of the alpha keys (A ... Z) will trigger a feedback. + +### NO_HAPTIC_PUNCTUATION +With the entry of `#define NO_HAPTIC_PUNCTUATION` in config.h, none of the following keys will trigger a feedback: Enter, ESC, Backspace, Space, Minus, Equal, Left Bracket, Right Bracket, Backslash, Non-US Hash, Semicolon, Quote, Grave, Comma, Slash, Dot, Non-US Backslash. + +### NO_HAPTIC_LOCKKEYS +With the entry of `#define NO_HAPTIC_LOCKKEYS` in config.h, none of the following keys will trigger a feedback: Caps Lock, Scroll Lock, Num Lock. + +### NO_HAPTIC_NAV +With the entry of `#define NO_HAPTIC_NAV` in config.h, none of the following keys will trigger a feedback: Print Screen, Pause, Insert, Delete, Page Down, Page Up, Left Arrow, Up Arrow, Right Arrow, Down Arrow, End, Home. + +### NO_HAPTIC_NUMERIC +With the entry of `#define NO_HAPTIC_NUMERIC` in config.h, none of the following keys between 0 and 9 (KC_1 ... KC_0) will trigger a feedback. \ No newline at end of file diff --git a/docs/feature_joystick.md b/docs/feature_joystick.md index 12bbf5b35eff..95702d6a239f 100644 --- a/docs/feature_joystick.md +++ b/docs/feature_joystick.md @@ -2,8 +2,6 @@ The keyboard can be made to be recognized as a joystick HID device by the operating system. -This is enabled by adding `JOYSTICK_ENABLE` to `rules.mk`. You can set this value to `analog`, `digital`, or `no`. - !> Joystick support is not currently available on V-USB devices. The joystick feature provides two services: @@ -18,7 +16,8 @@ or send gamepad reports based on values computed by the keyboard. To use analog input you must first enable it in `rules.mk`: ```makefile -JOYSTICK_ENABLE = analog +JOYSTICK_ENABLE = yes +JOYSTICK_DRIVER = analog # or 'digital' ``` An analog device such as a potentiometer found on a gamepad's analog axes is based on a [voltage divider](https://en.wikipedia.org/wiki/Voltage_divider). diff --git a/docs/feature_key_overrides.md b/docs/feature_key_overrides.md new file mode 100644 index 000000000000..98036241e33c --- /dev/null +++ b/docs/feature_key_overrides.md @@ -0,0 +1,229 @@ +# Key Overrides + +Key overrides allow you to override modifier-key combinations to send a different modifier-key combination or perform completely custom actions. Don't want `shift` + `1` to type `!` on your computer? Use a key override to make your keyboard type something different when you press `shift` + `1`. The general behavior is like this: If `modifiers w` + `key x` are pressed, replace these keys with `modifiers y` + `key z` in the keyboard report. + +You can use key overrides in a similar way to momentary layer/fn keys to activate custom keycodes/shortcuts, with a number of benefits: You completely keep the original use of the modifier keys, while being able to save space by removing fn keys from your keyboard. You can also easily configure _combinations of modifiers_ to trigger different actions than individual modifiers, and much more. The possibilities are quite vast and this documentation contains a few examples for inspiration throughout. + +##### A few more examples to get started: You could use key overrides to... +- Send `brightness up/down` when pressing `ctrl` + `volume up/down`. +- Send `delete` when pressing `shift` + `backspace`. +- Create custom shortcuts or change existing ones: E.g. Send `ctrl`+`shift`+`z` when `ctrl`+`y` is pressed. +- Run custom code when `ctrl` + `alt` + `esc` is pressed. + +## Setup + +To enable this feature, you need to add `KEY_OVERRIDE_ENABLE = yes` to your `rules.mk`. + +Then, in your `keymap.c` file, you'll need to define the array `key_overrides`, which defines all key overrides to be used. Each override is a value of type `key_override_t`. The array `key_overrides` is `NULL`-terminated and contains pointers to `key_override_t` values (`const key_override_t **`). + +## Creating Key Overrides + +The `key_override_t` struct has many options that allow you to precisely tune your overrides. The full reference is shown below. Instead of manually creating a `key_override_t` value, it is recommended to use these dedicated initializers: + +#### `ko_make_basic(modifiers, key, replacement)` +Returns a `key_override_t`, which sends `replacement` (can be a key-modifer combination), when `key` and `modifiers` are all pressed down. This override still activates if any additional modifiers not specified in `modifiers` are also pressed down. See `ko_make_with_layers_and_negmods` to customize this behavior. + +#### `ko_make_with_layers(modifiers, key, replacement, layers)` +Additionally takes a bitmask `layers` that defines on which layers the override is used. + +#### `ko_make_with_layers_and_negmods(modifiers, key, replacement, layers, negative_mods)` +Additionally takes a bitmask `negative_mods` that defines which modifiers may not be pressed for this override to activate. + +#### `ko_make_with_layers_negmods_and_options(modifiers, key, replacement, layers, negative_mods, options)` +Additionally takes a bitmask `options` that specifies additional options. See `ko_option_t` for available options. + +For more customization possibilities, you may directly create a `key_override_t`, which allows you to customize even more behavior. Read further below for details and examples. + +## Simple Example + +This shows how the mentioned example of sending `delete` when `shift` + `backspace` are pressed is realized: + +```c +const key_override_t delete_key_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPACE, KC_DELETE); + +// This globally defines all key overrides to be used +const key_override_t **key_overrides = (const key_override_t *[]){ + &delete_key_override, + NULL // Null terminate the array of overrides! +}; +``` + +## Intermediate Difficulty Examples + +### Media Controls & Screen Brightness + +In this example a single key is configured to control media, volume and screen brightness by using key overrides. + +- The key is set to send `play/pause` in the keymap. + +The following key overrides will be configured: + +- `Ctrl` + `play/pause` will send `next track`. +- `Ctrl` + `Shift` + `play/pause` will send `previous track`. +- `Alt` + `play/pause` will send `volume up`. +- `Alt` + `Shift` + `play/pause` will send `volume down`. +- `Ctrl` + `Alt` + `play/pause` will send `brightness up`. +- `Ctrl` + `Alt` + `Shift` + `play/pause` will send `brightness down`. + + +```c +const key_override_t next_track_override = + ko_make_with_layers_negmods_and_options( + MOD_MASK_CTRL, // Trigger modifiers: ctrl + KC_MPLY, // Trigger key: play/pause + KC_MNXT, // Replacement key + ~0, // Activate on all layers + MOD_MASK_SA, // Do not activate when shift or alt are pressed + ko_option_no_reregister_trigger); // Specifies that the play key is not registered again after lifting ctrl + +const key_override_t prev_track_override = ko_make_with_layers_negmods_and_options(MOD_MASK_CS, KC_MPLY, + KC_MPRV, ~0, MOD_MASK_ALT, ko_option_no_reregister_trigger); + +const key_override_t vol_up_override = ko_make_with_layers_negmods_and_options(MOD_MASK_ALT, KC_MPLY, + KC_VOLU, ~0, MOD_MASK_CS, ko_option_no_reregister_trigger); + +const key_override_t vol_down_override = ko_make_with_layers_negmods_and_options(MOD_MASK_SA, KC_MPLY, + KC_VOLD, ~0, MOD_MASK_CTRL, ko_option_no_reregister_trigger); + +const key_override_t brightness_up_override = ko_make_with_layers_negmods_and_options(MOD_MASK_CA, KC_MPLY, + KC_BRIU, ~0, MOD_MASK_SHIFT, ko_option_no_reregister_trigger); + +const key_override_t brightness_down_override = ko_make_basic(MOD_MASK_CSA, KC_MPLY, KC_BRID); + +// This globally defines all key overrides to be used +const key_override_t **key_overrides = (const key_override_t *[]){ + &next_track_override, + &prev_track_override, + &vol_up_override, + &vol_down_override, + &brightness_up_override, + &brightness_down_override, + NULL +}; +``` + +### Flexible macOS-friendly Grave Escape +The [Grave Escape feature](feature_grave_esc.md) is limited in its configurability and has [bugs when used on macOS](feature_grave_esc.md#caveats). Key overrides can be used to achieve a similar functionality as Grave Escape, but with more customization and without bugs on macOS. + +```c +// Shift + esc = ~ +const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, S(KC_GRAVE)); + +// GUI + esc = ` +const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, KC_GRAVE); + +const key_override_t **key_overrides = (const key_override_t *[]){ + &tilde_esc_override, + &grave_esc_override, + NULL +}; +``` + +In addition to not encountering unexpected bugs on macOS, you can also change the behavior as you wish. Instead setting `GUI` + `ESC` = `` ` `` you may change it to an arbitrary other modifier, for example `Ctrl` + `ESC` = `` ` ``. + +## Advanced Examples +### Modifiers as Layer Keys + +Do you really need a dedicated key to toggle your fn layer? With key overrides, perhaps not. This example shows how you can configure to use `rGUI` + `rAlt` (right GUI and right alt) to access a momentary layer like an fn layer. With this you completely eliminate the need to use a dedicated layer key. Of course the choice of modifier keys can be changed as needed, `rGUI` + `rAlt` is just an example here. + +```c +// This is called when the override activates and deactivates. Enable the fn layer on activation and disable on deactivation +bool momentary_layer(bool key_down, void *layer) { + if (key_down) { + layer_on((uint8_t)(uintptr_t)layer); + } else { + layer_off((uint8_t)(uintptr_t)layer); + } + + return false; +} + +const key_override_t fn_override = {.trigger_mods = MOD_BIT(KC_RGUI) | MOD_BIT(KC_RCTL), // + .layers = ~(1 << LAYER_FN), // + .suppressed_mods = MOD_BIT(KC_RGUI) | MOD_BIT(KC_RCTL), // + .options = ko_option_no_unregister_on_other_key_down, // + .negative_mod_mask = (uint8_t) ~(MOD_BIT(KC_RGUI) | MOD_BIT(KC_RCTL)), // + .custom_action = momentary_layer, // + .context = (void *)LAYER_FN, // + .trigger = KC_NO, // + .replacement = KC_NO, // + .enabled = NULL}; +``` + +## Keycodes + +You can enable, disable and toggle all key overrides on the fly. + +|Keycode |Description |Function Equivalent| +|----------|---------------------------------|--------| +|`KEY_OVERRIDE_ON` |Turns on Key Override feature | `key_override_on(void)`| +|`KEY_OVERRIDE_OFF` |Turns off Key Override feature |`key_override_off(void)`| +|`KEY_OVERRIDE_TOGGLE` |Toggles Key Override feature on and off |`key_override_toggle(void)`| + +## Reference for `key_override_t` + +Advanced users may need more customization than what is offered by the simple `ko_make` initializers. For this, directly create a `key_override_t` value and set all members. Below is a reference for all members of `key_override_t`. + +| Member | Description | +|--------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `uint16_t trigger` | The non-modifier keycode that triggers the override. This keycode, and the necessary modifiers (`trigger_mods`) must be pressed to activate this override. Set this to the keycode of the key that should activate the override. Set to `KC_NO` to require only the necessary modifiers to be pressed and no non-modifier. | +| `uint8_t trigger_mods` | Which mods need to be down for activation. If both sides of a modifier are set (e.g. left ctrl and right ctrl) then only one is required to be pressed (e.g. left ctrl suffices). Use the `MOD_MASK_XXX` and `MOD_BIT()` macros for this. | +| `layer_state_t layers` | This is a BITMASK (!), defining which layers this override applies to. To use this override on layer i set the ith bit `(1 << i)`. | +| `uint8_t negative_mod_mask` | Which modifiers cannot be down. It must hold that `(active_modifiers & negative_mod_mask) == 0`, otherwise the key override will not be activated. An active override will be deactivated once this is no longer true. | +| `uint8_t suppressed_mods` | Modifiers to 'suppress' while the override is active. To suppress a modifier means that even though the modifier key is held down, the host OS sees the modifier as not pressed. Can be used to suppress the trigger modifiers, as a trivial example. | +| `uint16_t replacement` | The complex keycode to send as replacement when this override is triggered. This can be a simple keycode, a key-modifier combination (e.g. `C(KC_A)`), or `KC_NO` (to register no replacement keycode). Use in combination with suppressed_mods to get the correct modifiers to be sent. | +| `ko_option_t options` | Options controlling the behavior of the override, such as what actions are allowed to activate the override. | +| `bool (*custom_action)(bool activated, void *context)` | If not NULL, this function will be called right before the replacement key is registered, along with the provided context and a flag indicating whether the override was activated or deactivated. This function allows you to run some custom actions for specific key overrides. If you return `false`, the replacement key is not registered/unregistered as it would normally. Return `true` to register and unregister the override normally. | +| `void *context` | A context that will be passed to the custom action function. | +| `bool *enabled` | If this points to false this override will not be used. Set to NULL to always have this override enabled. | + +### Reference for `ko_option_t` + +Bitfield with various options controlling the behavior of a key override. + +| Value | Description | +|------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `ko_option_activation_trigger_down` | Allow activating when the trigger key is pressed down. | +| `ko_option_activation_required_mod_down` | Allow activating when a necessary modifier is pressed down. | +| `ko_option_activation_negative_mod_up` | Allow activating when a negative modifier is released. | +| `ko_option_one_mod` | If set, any of the modifiers in `trigger_mods` will be enough to activate the override (logical OR of modifiers). If not set, all the modifiers in `trigger_mods` have to be pressed (logical AND of modifiers). | +| `ko_option_no_unregister_on_other_key_down` | If set, the override will not deactivate when another key is pressed down. Use only if you really know you need this. | +| `ko_option_no_reregister_trigger` | If set, the trigger key will never be registered again after the override is deactivated. | +| `ko_options_default` | The default options used by the `ko_make_xxx` functions | + +## For Advanced Users: Inner Workings + +This section explains how a key override works in detail, explaining where each member of `key_override_t` comes into play. Understanding this is essential to be able to take full advantage of all the options offered by key overrides. + +#### Activation + +When the necessary keys are pressed (`trigger_mods` + `trigger`), the override is 'activated' and the replacement key is registered in the keyboard report (`replacement`), while the `trigger` key is removed from the keyboard report. The trigger modifiers may also be removed from the keyboard report upon activation of an override (`suppressed_mods`). The override will not activate if any of the `negative_modifiers` are pressed. + +Overrides can activate in three different cases: + +1. The trigger key is pressed down and necessary modifiers are already down. +2. A necessary modifier is pressed down, while the trigger key and other necessary modifiers are already down. +3. A negative modifier is released, while all necessary modifiers and the trigger key are already down. + +Use the `option` member to customize which of these events are allowed to activate your overrides (default: all three). + +In any case, a key override can only activate if the `trigger` key is the _last_ non-modifier key that was pressed down. This emulates the behavior of how standard OSes (macOS, Windows, Linux) handle normal key input (to understand: Hold down `a`, then also hold down `b`, then hold down `shift`; `B` will be typed but not `A`). + +#### Deactivation + +An override is 'deactivated' when one of the trigger keys (`trigger_mods`, `trigger`) is lifted, another non-modifier key is pressed down, or one of the `negative_modifiers` is pressed down. When an override deactivates, the `replacement` key is removed from the keyboard report, while the `suppressed_mods` that are still held down are re-added to the keyboard report. By default, the `trigger` key is re-added to the keyboard report if it is still held down and no other non-modifier key has been pressed since. This again emulates the behavior of how standard OSes handle normal key input (To understand: hold down `a`, then also hold down `b`, then also `shift`, then release `b`; `A` will not be typed even though you are holding the `a` and `shift` keys). Use the `option` field `ko_option_no_reregister_trigger` to prevent re-registering the trigger key in all cases. + +#### Key Repeat Delay + +A third way in which standard OS-handling of modifier-key input is emulated in key overrides is with a ['key repeat delay'](https://www.dummies.com/computers/pcs/set-your-keyboards-repeat-delay-and-repeat-rate/). To explain what this is, let's look at how normal keyboard input is handled by mainstream OSes again: If you hold down `a`, followed by `shift`, you will see the letter `a` is first typed, then for a short moment nothing is typed and then repeating `A`s are typed. Take note that, although shift is pressed down just after `a` is pressed, it takes a moment until `A` is typed. This is caused by the aforementioned key repeat delay, and it is a feature that prevents unwanted repeated characters from being typed. + +This applies equally to releasing a modifier: When you hold `shift`, then press `a`, the letter `A` is typed. Now if you release `shift` first, followed by `a` shortly after, you will not see the letter `a` being typed, even though for a short moment of time you were just holding down the key `a`. This is because no modified characters are typed until the key repeat delay has passed. + + This exact behavior is implemented in key overrides as well: If a key override for `shift` + `a` = `b` exists, and `a` is pressed and held, followed by `shift`, you will not immediately see the letter `b` being typed. Instead, this event is deferred for a short moment, until the key repeat delay has passed, measured from the moment when the trigger key (`a`) was pressed down. + +The duration of the key repeat delay is controlled with the `KEY_OVERRIDE_REPEAT_DELAY` macro. Define this value in your `config.h` file to change it. It is 500ms by default. + + +## Difference to Combos + +Note that key overrides are very different from [combos](https://docs.qmk.fm/#/feature_combo). Combos require that you press down several keys almost _at the same time_ and can work with any combination of non-modifier keys. Key overrides work like keyboard shortcuts (e.g. `ctrl` + `z`): They take combinations of _multiple_ modifiers and _one_ non-modifier key to then perform some custom action. Key overrides are implemented with much care to behave just like normal keyboard shortcuts would in regards to the order of pressed keys, timing, and interacton with other pressed keys. There are a number of optional settings that can be used to really fine-tune the behavior of each key override as well. Using key overrides also does not delay key input for regular key presses, which inherently happens in combos and may be undesirable. diff --git a/docs/feature_layers.md b/docs/feature_layers.md index 3f62cfc805ab..78d950dc4969 100644 --- a/docs/feature_layers.md +++ b/docs/feature_layers.md @@ -19,12 +19,10 @@ These functions allow you to activate layers in various ways. Note that layers a ### Caveats :id=caveats -Currently, `LT()` and `MT()` are limited to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. Specifically, dual function keys like `LT` and `MT` use a 16 bit keycode. 4 bits are used for the function identifier, the next 12 are divided into the parameters. Layer Tap uses 4 bits for the layer (and is why it's limited to layers 0-15, actually), while Mod Tap does the same, 4 bits for the identifier, 4 bits for which mods are used, and all of them use 8 bits for the keycode. Because of this, the keycode used is limited to `0xFF` (0-255), which are the basic keycodes only. +Currently, the `layer` argument of `LT()` is limited to layers 0-15, and the `kc` argument to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. This is because QMK uses 16-bit keycodes, of which 4 bits are used for the function identifier and 4 bits for the layer, leaving only 8 bits for the keycode. Expanding this would be complicated, at best. Moving to a 32-bit keycode would solve a lot of this, but would double the amount of space that the keymap matrix uses. And it could potentially cause issues, too. If you need to apply modifiers to your tapped keycode, [Tap Dance](feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys) can be used to accomplish this. -Additionally, if at least one right-handed modifier is specified in a Mod Tap or Layer Tap, it will cause all modifiers specified to become right-handed, so it is not possible to mix and match the two. - ## Working with Layers :id=working-with-layers Care must be taken when switching layers, it's possible to lock yourself into a layer with no way to deactivate that layer (without unplugging your keyboard.) We've created some guidelines to help users avoid the most common problems. diff --git a/docs/feature_leader_key.md b/docs/feature_leader_key.md index 41ff8f1a4e29..f10bca7589f0 100644 --- a/docs/feature_leader_key.md +++ b/docs/feature_leader_key.md @@ -72,6 +72,19 @@ SEQ_THREE_KEYS(KC_C, KC_C, KC_C) { } ``` +## Infinite Leader key timeout + +Sometimes your leader key is not on a comfortable places as the rest of keys on your sequence. Imagine that your leader key is one of your outer top right keys, you may need to reposition your hand just to reach your leader key. +This can make typing the entire sequence on time hard even if you are able to type most of the sequence fast. For example, if your sequence is `Leader + asd` typing `asd` fast is very easy once you have your hands in your home row. However starting the sequence in time after moving your hand out of the home row to reach the leader key and back is not. +To remove the stress this situation produces to your hands you can enable an infinite timeout just for the leader key. This mean that, after you hit the leader key you will have an infinite amount of time to start the rest of the sequence, allowing you to proper position your hands on the best position to type the rest of the sequence comfortably. +This infinite timeout only affects the leader key, so in our previous example of `Leader + asd` you will have an infinite amount of time between `Leader` and `a`, but once you start the sequence the timeout you have configured (global or per key) will work normally. +This way you can configure a very short `LEADER_TIMEOUT` but still have plenty of time to position your hands. + +In order to enable this, place this in your `config.h`: +```c +#define LEADER_NO_TIMEOUT +``` + ## Strict Key Processing By default, the Leader Key feature will filter the keycode out of [`Mod-Tap`](mod_tap.md) and [`Layer Tap`](feature_layers.md#switching-and-toggling-layers) functions when checking for the Leader sequences. That means if you're using `LT(3, KC_A)`, it will pick this up as `KC_A` for the sequence, rather than `LT(3, KC_A)`, giving a more expected behavior for newer users. diff --git a/docs/feature_led_indicators.md b/docs/feature_led_indicators.md index 10e095ab155b..a415b4b4dfc7 100644 --- a/docs/feature_led_indicators.md +++ b/docs/feature_led_indicators.md @@ -1,5 +1,7 @@ # LED Indicators +?> Currently, this feature is not supported for split keyboards + QMK provides methods to read 5 of the LEDs defined in the HID spec: * Num Lock diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md index f4a6616340c3..7d7971bbed47 100644 --- a/docs/feature_led_matrix.md +++ b/docs/feature_led_matrix.md @@ -1,14 +1,14 @@ -# LED Matrix Lighting +# LED Matrix Lighting :id=led-matrix-lighting This feature allows you to use LED matrices driven by external drivers. It hooks into the backlight system so you can use the same keycodes as backlighting to control it. If you want to use RGB LED's you should use the [RGB Matrix Subsystem](feature_rgb_matrix.md) instead. -## Driver configuration +## Driver configuration :id=driver-configuration +--- +### IS31FL3731 :id=is31fl3731 -### IS31FL3731 - -There is basic support for addressable LED matrix lighting with the I2C IS31FL3731 RGB controller. To enable it, add this to your `rules.mk`: +There is basic support for addressable LED matrix lighting with the I2C IS31FL3731 LED controller. To enable it, add this to your `rules.mk`: ```make LED_MATRIX_ENABLE = yes @@ -19,7 +19,7 @@ You can use between 1 and 4 IS31FL3731 IC's. Do not specify `LED_DRIVER_ADDR_ | Variable | Description | Default | |----------|-------------|---------| -| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages | 100 | +| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | | `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | | `LED_DRIVER_COUNT` | (Required) How many LED driver IC's are present | | | `DRIVER_LED_TOTAL` | (Required) How many LED lights are present across all drivers | | @@ -42,59 +42,311 @@ Here is an example using 2 drivers. #define LED_DRIVER_ADDR_2 0b1110110 #define LED_DRIVER_COUNT 2 -#define LED_DRIVER_1_LED_COUNT 25 -#define LED_DRIVER_2_LED_COUNT 24 -#define DRIVER_LED_TOTAL LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL +#define LED_DRIVER_1_LED_TOTAL 25 +#define LED_DRIVER_2_LED_TOTAL 24 +#define DRIVER_LED_TOTAL (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL) ``` -Currently only 2 drivers are supported, but it would be trivial to support all 4 combinations. +!> Note the parentheses, this is so when `LED_DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)` will give very different results than `rand() % LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL`. Define these arrays listing all the LEDs in your `.c`: ```c - const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { - /* Refer to IS31 manual for these locations - * driver - * | LED address - * | | */ - { 0, C1_1 }, - { 0, C1_15 }, - // ... - } +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | LED address + * | | */ + { 0, C1_1 }, + { 0, C1_15 }, + // ... +} ``` -Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/issi/is31fl3731-simple.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` ). +Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/led/issi/is31fl3731-simple.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` ). + +--- -## Keycodes +## Common Configuration :id=common-configuration -All LED matrix keycodes are currently shared with the [backlight system](feature_backlight.md). +From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example: -## LED Matrix Effects +```c +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 5, NO_LED, NO_LED, 0 }, + { NO_LED, NO_LED, NO_LED, NO_LED }, + { 4, NO_LED, NO_LED, 1 }, + { 3, NO_LED, NO_LED, 2 } +}, { + // LED Index to Physical Position + { 188, 16 }, { 187, 48 }, { 149, 64 }, { 112, 64 }, { 37, 48 }, { 38, 16 } +}, { + // LED Index to Flag + 1, 4, 4, 4, 4, 1 +} }; +``` + +The first part, `// Key Matrix to LED Index`, tells the system what key this LED represents by using the key's electrical matrix row & col. The second part, `// LED Index to Physical Position` represents the LED's physical `{ x, y }` position on the keyboard. The default expected range of values for `{ x, y }` is the inclusive range `{ 0..224, 0..64 }`. This default expected range is due to effects that calculate the center of the keyboard for their animations. The easiest way to calculate these positions is imagine your keyboard is a grid, and the top left of the keyboard represents `{ x, y }` coordinate `{ 0, 0 }` and the bottom right of your keyboard represents `{ 224, 64 }`. Using this as a basis, you can use the following formula to calculate the physical position: + +```c +x = 224 / (NUMBER_OF_COLS - 1) * COL_POSITION +y = 64 / (NUMBER_OF_ROWS - 1) * ROW_POSITION +``` -Currently no LED matrix effects have been created. +Where NUMBER_OF_COLS, NUMBER_OF_ROWS, COL_POSITION, & ROW_POSITION are all based on the physical layout of your keyboard, not the electrical layout. -## Custom Layer Effects +As mentioned earlier, the center of the keyboard by default is expected to be `{ 112, 32 }`, but this can be changed if you want to more accurately calculate the LED's physical `{ x, y }` positions. Keyboard designers can implement `#define LED_MATRIX_CENTER { 112, 32 }` in their config.h file with the new center point of the keyboard, or where they want it to be allowing more possibilities for the `{ x, y }` values. Do note that the maximum value for x or y is 255, and the recommended maximum is 224 as this gives animations runoff room before they reset. -Custom layer effects can be done by defining this in your `.c`: +`// LED Index to Flag` is a bitmask, whether or not a certain LEDs is of a certain type. It is recommended that LEDs are set to only 1 type. + +## Flags :id=flags + +|Define |Value |Description | +|----------------------------|------|-------------------------------------------------| +|`HAS_FLAGS(bits, flags)` |*n/a* |Evaluates to `true` if `bits` has all `flags` set| +|`HAS_ANY_FLAGS(bits, flags)`|*n/a* |Evaluates to `true` if `bits` has any `flags` set| +|`LED_FLAG_NONE` |`0x00`|If this LED has no flags | +|`LED_FLAG_ALL` |`0xFF`|If this LED has all flags | +|`LED_FLAG_MODIFIER` |`0x01`|If the LED is on a modifier key | +|`LED_FLAG_KEYLIGHT` |`0x04`|If the LED is for key backlight | +|`LED_FLAG_INDICATOR` |`0x08`|If the LED is for keyboard state indication | + +## Keycodes :id=keycodes + +All LED matrix keycodes are currently shared with the [Backlight feature](feature_backlight.md). + +|Key |Description | +|---------|-----------------------------| +|`BL_TOGG`|Toggle LED Matrix on or off | +|`BL_STEP`|Cycle through modes | +|`BL_ON` |Turn on LED Matrix | +|`BL_OFF` |Turn off LED Matrix | +|`BL_INC` |Increase the brightness level| +|`BL_DEC` |Decrease the brightness level| + +## LED Matrix Effects :id=led-matrix-effects + +These are the effects that are currently available: ```c -void led_matrix_indicators_kb(void) { - led_matrix_set_index_value(index, value); +enum led_matrix_effects { + LED_MATRIX_NONE = 0, + LED_MATRIX_SOLID = 1, // Static single val, no speed support + LED_MATRIX_ALPHAS_MODS, // Static dual val, speed is val for LEDs marked as modifiers + LED_MATRIX_BREATHING, // Cycling brightness animation + LED_MATRIX_BAND, // Band fading brightness scrolling left to right + LED_MATRIX_BAND_PINWHEEL, // 3 blade spinning pinwheel fades brightness + LED_MATRIX_BAND_SPIRAL, // Spinning spiral fades brightness + LED_MATRIX_CYCLE_LEFT_RIGHT, // Full gradient scrolling left to right + LED_MATRIX_CYCLE_UP_DOWN, // Full gradient scrolling top to bottom + LED_MATRIX_CYCLE_OUT_IN, // Full gradient scrolling out to in + LED_MATRIX_DUAL_BEACON, // Full gradient spinning around center of keyboard +#if defined(LED_MATRIX_KEYPRESSES) || defined(LED_MATRIX_KEYRELEASES) + LED_MATRIX_SOLID_REACTIVE_SIMPLE, // Pulses keys hit then fades out + LED_MATRIX_SOLID_REACTIVE_WIDE // Value pulses near a single key hit then fades out + LED_MATRIX_SOLID_REACTIVE_MULTIWIDE // Value pulses near multiple key hits then fades out + LED_MATRIX_SOLID_REACTIVE_CROSS // Value pulses the same column and row of a single key hit then fades out + LED_MATRIX_SOLID_REACTIVE_MULTICROSS // Value pulses the same column and row of multiple key hits then fades out + LED_MATRIX_SOLID_REACTIVE_NEXUS // Value pulses away on the same column and row of a single key hit then fades out + LED_MATRIX_SOLID_REACTIVE_MULTINEXUS // Value pulses away on the same column and row of multiple key hits then fades out + LED_MATRIX_SOLID_SPLASH, // Value pulses away from a single key hit then fades out + LED_MATRIX_SOLID_MULTISPLASH, // Value pulses away from multiple key hits then fades out +#endif + LED_MATRIX_WAVE_LEFT_RIGHT // Sine wave scrolling from left to right + LED_MATRIX_WAVE_UP_DOWN // Sine wave scrolling from up to down + LED_MATRIX_EFFECT_MAX +}; +``` + +You can disable a single effect by defining `DISABLE_[EFFECT_NAME]` in your `config.h`: + + +|Define |Description | +|-------------------------------------------------------|-----------------------------------------------| +|`#define DISABLE_LED_MATRIX_ALPHAS_MODS` |Disables `LED_MATRIX_ALPHAS_MODS` | +|`#define DISABLE_LED_MATRIX_BREATHING` |Disables `LED_MATRIX_BREATHING` | +|`#define DISABLE_LED_MATRIX_BAND` |Disables `LED_MATRIX_BAND` | +|`#define DISABLE_LED_MATRIX_BAND_PINWHEEL` |Disables `LED_MATRIX_BAND_PINWHEEL` | +|`#define DISABLE_LED_MATRIX_BAND_SPIRAL` |Disables `LED_MATRIX_BAND_SPIRAL` | +|`#define DISABLE_LED_MATRIX_CYCLE_LEFT_RIGHT` |Disables `LED_MATRIX_CYCLE_LEFT_RIGHT` | +|`#define DISABLE_LED_MATRIX_CYCLE_UP_DOWN` |Disables `LED_MATRIX_CYCLE_UP_DOWN` | +|`#define DISABLE_LED_MATRIX_CYCLE_OUT_IN` |Disables `LED_MATRIX_CYCLE_OUT_IN` | +|`#define DISABLE_LED_MATRIX_DUAL_BEACON` |Disables `LED_MATRIX_DUAL_BEACON` | +|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE` |Disables `LED_MATRIX_SOLID_REACTIVE_SIMPLE` | +|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_WIDE` |Disables `LED_MATRIX_SOLID_REACTIVE_WIDE` | +|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE` |Disables `LED_MATRIX_SOLID_REACTIVE_MULTIWIDE` | +|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_CROSS` |Disables `LED_MATRIX_SOLID_REACTIVE_CROSS` | +|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS` |Disables `LED_MATRIX_SOLID_REACTIVE_MULTICROSS`| +|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS` |Disables `LED_MATRIX_SOLID_REACTIVE_NEXUS` | +|`#define DISABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS` |Disables `LED_MATRIX_SOLID_REACTIVE_MULTINEXUS`| +|`#define DISABLE_LED_MATRIX_SOLID_SPLASH` |Disables `LED_MATRIX_SOLID_SPLASH` | +|`#define DISABLE_LED_MATRIX_SOLID_MULTISPLASH` |Disables `LED_MATRIX_SOLID_MULTISPLASH` | +|`#define DISABLE_LED_MATRIX_WAVE_LEFT_RIGHT` |Disables `LED_MATRIX_WAVE_LEFT_RIGHT` | +|`#define DISABLE_LED_MATRIX_WAVE_UP_DOWN` |Disables `LED_MATRIX_WAVE_UP_DOWN` | + +## Custom LED Matrix Effects :id=custom-led-matrix-effects + +By setting `LED_MATRIX_CUSTOM_USER` (and/or `LED_MATRIX_CUSTOM_KB`) in `rules.mk`, new effects can be defined directly from userspace, without having to edit any QMK core files. + +To declare new effects, create a new `led_matrix_user/kb.inc` that looks something like this: + +`led_matrix_user.inc` should go in the root of the keymap directory. +`led_matrix_kb.inc` should go in the root of the keyboard directory. + +To use custom effects in your code, simply prepend `LED_MATRIX_CUSTOM_` to the effect name specified in `LED_MATRIX_EFFECT()`. For example, an effect declared as `LED_MATRIX_EFFECT(my_cool_effect)` would be referenced with: + +```c +led_matrix_mode(led_MATRIX_CUSTOM_my_cool_effect); +``` + +```c +// !!! DO NOT ADD #pragma once !!! // + +// Step 1. +// Declare custom effects using the LED_MATRIX_EFFECT macro +// (note the lack of semicolon after the macro!) +LED_MATRIX_EFFECT(my_cool_effect) +LED_MATRIX_EFFECT(my_cool_effect2) + +// Step 2. +// Define effects inside the `LED_MATRIX_CUSTOM_EFFECT_IMPLS` ifdef block +#ifdef LED_MATRIX_CUSTOM_EFFECT_IMPLS + +// e.g: A simple effect, self-contained within a single method +static bool my_cool_effect(effect_params_t* params) { + LED_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min; i < led_max; i++) { + led_matrix_set_value(i, 0xFF); + } + return led_max < DRIVER_LED_TOTAL; } + +// e.g: A more complex effect, relying on external methods and state, with +// dedicated init and run methods +static uint8_t some_global_state; +static void my_cool_effect2_complex_init(effect_params_t* params) { + some_global_state = 1; +} +static bool my_cool_effect2_complex_run(effect_params_t* params) { + LED_MATRIX_USE_LIMITS(led_min, led_max); + for (uint8_t i = led_min; i < led_max; i++) { + led_matrix_set_value(i, some_global_state++); + } + + return led_max < DRIVER_LED_TOTAL; +} +static bool my_cool_effect2(effect_params_t* params) { + if (params->init) my_cool_effect2_complex_init(params); + return my_cool_effect2_complex_run(params); +} + +#endif // LED_MATRIX_CUSTOM_EFFECT_IMPLS +``` + +For inspiration and examples, check out the built-in effects under `quantum/led_matrix_animations/` + + + + + + + + + +## Additional `config.h` Options :id=additional-configh-options + +```c +#define LED_MATRIX_KEYPRESSES // reacts to keypresses +#define LED_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +#define LED_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects +#define LED_DISABLE_TIMEOUT 0 // number of milliseconds to wait until led automatically turns off +#define LED_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects +#define LED_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define LED_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) +#define LED_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) +#define LED_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs +#define LED_MATRIX_STARTUP_MODE LED_MATRIX_SOLID // Sets the default mode, if none has been set +#define LED_MATRIX_STARTUP_VAL LED_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set +#define LED_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set +#define LED_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. + // If LED_MATRIX_KEYPRESSES or LED_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR ``` -A similar function works in the keymap as `led_matrix_indicators_user`. +## EEPROM storage :id=eeprom-storage + +The EEPROM for it is currently shared with the RGB Matrix system (it's generally assumed only one feature would be used at a time), but could be configured to use its own 32bit address with: + +```c +#define EECONFIG_LED_MATRIX (uint32_t *)28 +``` + +Where `28` is an unused index from `eeconfig.h`. + +### Direct Operation :id=direct-operation +|Function |Description | +|--------------------------------------------|-------------| +|`led_matrix_set_value_all(v)` |Set all of the LEDs to the given value, where `v` is between 0 and 255 (not written to EEPROM) | +|`led_matrix_set_value(index, v)` |Set a single LED to the given value, where `v` is between 0 and 255, and `index` is between 0 and `DRIVER_LED_TOTAL` (not written to EEPROM) | + +### Disable/Enable Effects :id=disable-enable-effects +|Function |Description | +|--------------------------------------------|-------------| +|`led_matrix_toggle()` |Toggle effect range LEDs between on and off | +|`led_matrix_toggle_noeeprom()` |Toggle effect range LEDs between on and off (not written to EEPROM) | +|`led_matrix_enable()` |Turn effect range LEDs on, based on their previous state | +|`led_matrix_enable_noeeprom()` |Turn effect range LEDs on, based on their previous state (not written to EEPROM) | +|`led_matrix_disable()` |Turn effect range LEDs off, based on their previous state | +|`led_matrix_disable_noeeprom()` |Turn effect range LEDs off, based on their previous state (not written to EEPROM) | -## Suspended State +### Change Effect Mode :id=change-effect-mode +|Function |Description | +|--------------------------------------------|-------------| +|`led_matrix_mode(mode)` |Set the mode, if LED animations are enabled | +|`led_matrix_mode_noeeprom(mode)` |Set the mode, if LED animations are enabled (not written to EEPROM) | +|`led_matrix_step()` |Change the mode to the next LED animation in the list of enabled LED animations | +|`led_matrix_step_noeeprom()` |Change the mode to the next LED animation in the list of enabled LED animations (not written to EEPROM) | +|`led_matrix_step_reverse()` |Change the mode to the previous LED animation in the list of enabled LED animations | +|`led_matrix_step_reverse_noeeprom()` |Change the mode to the previous LED animation in the list of enabled LED animations (not written to EEPROM) | +|`led_matrix_increase_speed()` |Increase the speed of the animations | +|`led_matrix_increase_speed_noeeprom()` |Increase the speed of the animations (not written to EEPROM) | +|`led_matrix_decrease_speed()` |Decrease the speed of the animations | +|`led_matrix_decrease_speed_noeeprom()` |Decrease the speed of the animations (not written to EEPROM) | +|`led_matrix_set_speed(speed)` |Set the speed of the animations to the given value where `speed` is between 0 and 255 | +|`led_matrix_set_speed_noeeprom(speed)` |Set the speed of the animations to the given value where `speed` is between 0 and 255 (not written to EEPROM) | -To use the suspend feature, add this to your `.c`: +### Change Value :id=change-value +|Function |Description | +|--------------------------------------------|-------------| +|`led_matrix_increase_val()` |Increase the value for effect range LEDs. This wraps around at maximum value | +|`led_matrix_increase_val_noeeprom()` |Increase the value for effect range LEDs. This wraps around at maximum value (not written to EEPROM) | +|`led_matrix_decrease_val()` |Decrease the value for effect range LEDs. This wraps around at minimum value | +|`led_matrix_decrease_val_noeeprom()` |Decrease the value for effect range LEDs. This wraps around at minimum value (not written to EEPROM) | +### Query Current Status :id=query-current-status +|Function |Description | +|---------------------------------|---------------------------| +|`led_matrix_is_enabled()` |Gets current on/off status | +|`led_matrix_get_mode()` |Gets current mode | +|`led_matrix_get_val()` |Gets current val | +|`led_matrix_get_speed()` |Gets current speed | +|`led_matrix_get_suspend_state()` |Gets current suspend state | + +## Callbacks :id=callbacks + +### Indicators :id=indicators + +If you want to set custom indicators, such as an LED for Caps Lock, or layer indication, you can use the `led_matrix_indicators_kb` or `led_matrix_indicators_user` function for that: ```c -void suspend_power_down_kb(void) { - led_matrix_set_suspend_state(true); +void led_matrix_indicators_kb(void) { + led_matrix_set_color(index, value); } +``` + +In addition, there are the advanced indicator functions. These are aimed at those with heavily customized displays, where rendering every LED per cycle is expensive. This includes a special macro to help make this easier to use: `LED_MATRIX_INDICATOR_SET_VALUE(i, v)`. -void suspend_wakeup_init_kb(void) { - led_matrix_set_suspend_state(false); +```c +void led_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + LED_MATRIX_INDICATOR_SET_VALUE(index, value); } -``` \ No newline at end of file +``` diff --git a/docs/feature_midi.md b/docs/feature_midi.md new file mode 100644 index 000000000000..ab29d89db6d7 --- /dev/null +++ b/docs/feature_midi.md @@ -0,0 +1,260 @@ +# MIDI + +## Usage + +First, enable MIDI by adding the following to your `rules.mk`: + +```makefile +MIDI_ENABLE = yes +``` + +There are two MIDI systems in QMK: basic and advanced. With basic MIDI you will only be able to send Note On and Note Off messages using the note keycodes, meaning that keycodes like `MI_OCTU` and `MI_OCTD` will not work. Advanced MIDI allows you to do things like octave shifts, channel changes, velocity changes, modulation, and more. + +### Basic MIDI + +To enable basic MIDI, add the following to your `config.h`: + +```c +#define MIDI_BASIC +``` + +### Advanced MIDI + +To enable advanced MIDI, add the following to your `config.h`: + +```c +#define MIDI_ADVANCED +``` + +#### Sending Control Change (CC) Messages + +If you're aiming to emulate the features of something like a Launchpad or other MIDI controller you'll need to access the internal MIDI device directly. + +Because there are so many possible CC messages, not all of them are implemented as keycodes. Additionally, you might need to provide more than just two values that you would get from a keycode (pressed and released) - for example, the analog values from a fader or a potentiometer. So, you will need to implement [custom keycodes](feature_macros.md) if you want to use them in your keymap directly using `process_record_user()`. + + +For reference of all the possible control code numbers see [MIDI Specification](#midi-specification) + +#### Example code for using Generic On Off Switches as per MIDI Specification. +```c +#include QMK_KEYBOARD_H + +extern MidiDevice midi_device; + +// MIDI CC codes for generic on/off switches (80, 81, 82, 83) +// Off: 0-63 +// On: 64-127 + +#define MIDI_CC_OFF 0 +#define MIDI_CC_ON 127 + +enum custom_keycodes { + MIDI_CC80 = SAFE_RANGE, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case MIDI_CC80: + if (record->event.pressed) { + midi_send_cc(&midi_device, midi_config.channel, 80, ON); + } else { + midi_send_cc(&midi_device, midi_config.channel, 80, OFF); + } + return true; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT( + // ... + MIDI_CC80, + // ... + ) +}; +``` + +### Keycodes + +|Keycode |Aliases |Description | +|------------|---------|---------------------------------| +|`MI_ON` | |Turn MIDI on | +|`MI_OFF` | |Turn MIDI off | +|`MI_TOG` | |Toggle MIDI enabled | +|`MI_C` | |C octave 0 | +|`MI_Cs` |`MI_Db` |C♯/D♭ octave 0 | +|`MI_D` | |D octave 0 | +|`MI_Ds` |`MI_Eb` |D♯/E♭ octave 0 | +|`MI_E` | |E octave 0 | +|`MI_F` | |F octave 0 | +|`MI_Fs` |`MI_Gb` |F♯/G♭ octave 0 | +|`MI_G` | |G octave 0 | +|`MI_Gs` |`MI_Gs` |G♯/A♭ octave 0 | +|`MI_A` | |A octave 0 | +|`MI_As` |`MI_Bb` |A♯/B♭ octave 0 | +|`MI_B` | |B octave 0 | +|`MI_C_1` | |C octave 1 | +|`MI_Cs_1` |`MI_Db_1`|C♯/D♭ octave 1 | +|`MI_D_1` | |D octave 1 | +|`MI_Ds_1` |`MI_Eb_1`|D♯/E♭ octave 1 | +|`MI_E_1` | |E octave 1 | +|`MI_F_1` | |F octave 1 | +|`MI_Fs_1` |`MI_Gb_1`|F♯/G♭ octave 1 | +|`MI_G_1` | |G octave 1 | +|`MI_Gs_1` |`MI_Ab_1`|G♯/A♭ octave 1 | +|`MI_A_1` | |A octave 1 | +|`MI_As_1` |`MI_Bb_1`|A♯/B♭ octave 1 | +|`MI_B_1` | |B octave 1 | +|`MI_C_2` | |C octave 2 | +|`MI_Cs_2` |`MI_Db_2`|C♯/D♭ octave 2 | +|`MI_D_2` | |D octave 2 | +|`MI_Ds_2` |`MI_Eb_2`|D♯/E♭ octave 2 | +|`MI_E_2` | |E octave 2 | +|`MI_F_2` | |F octave 2 | +|`MI_Fs_2` |`MI_Gb_2`|F♯/G♭ octave 2 | +|`MI_G_2` | |G octave 2 | +|`MI_Gs_2` |`MI_Ab_2`|G♯/A♭ octave 2 | +|`MI_A_2` | |A octave 2 | +|`MI_As_2` |`MI_Bb_2`|A♯/B♭ octave 2 | +|`MI_B_2` | |B octave 2 | +|`MI_C_3` | |C octave 3 | +|`MI_Cs_3` |`MI_Db_3`|C♯/D♭ octave 3 | +|`MI_D_3` | |D octave 3 | +|`MI_Ds_3` |`MI_Eb_3`|D♯/E♭ octave 3 | +|`MI_E_3` | |E octave 3 | +|`MI_F_3` | |F octave 3 | +|`MI_Fs_3` |`MI_Gb_3`|F♯/G♭ octave 3 | +|`MI_G_3` | |G octave 3 | +|`MI_Gs_3` |`MI_Ab_3`|G♯/A♭ octave 3 | +|`MI_A_3` | |A octave 3 | +|`MI_As_3` |`MI_Bb_3`|A♯/B♭ octave 3 | +|`MI_B_3` | |B octave 3 | +|`MI_C_4` | |C octave 4 | +|`MI_Cs_4` |`MI_Db_4`|C♯/D♭ octave 4 | +|`MI_D_4` | |D octave 4 | +|`MI_Ds_4` |`MI_Eb_4`|D♯/E♭ octave 4 | +|`MI_E_4` | |E octave 4 | +|`MI_F_4` | |F octave 4 | +|`MI_Fs_4` |`MI_Gb_4`|F♯/G♭ octave 4 | +|`MI_G_4` | |G octave 4 | +|`MI_Gs_4` |`MI_Ab_4`|G♯/A♭ octave 4 | +|`MI_A_4` | |A octave 4 | +|`MI_As_4` |`MI_Bb_4`|A♯/B♭ octave 4 | +|`MI_B_4` | |B octave 4 | +|`MI_C_5` | |C octave 5 | +|`MI_Cs_5` |`MI_Db_5`|C♯/D♭ octave 5 | +|`MI_D_5` | |D octave 5 | +|`MI_Ds_5` |`MI_Eb_5`|D♯/E♭ octave 5 | +|`MI_E_5` | |E octave 5 | +|`MI_F_5` | |F octave 5 | +|`MI_Fs_5` |`MI_Gb_5`|F♯/G♭ octave 5 | +|`MI_G_5` | |G octave 5 | +|`MI_Gs_5` |`MI_Ab_5`|G♯/A♭ octave 5 | +|`MI_A_5` | |A octave 5 | +|`MI_As_5` |`MI_Bb_5`|A♯/B♭ octave 5 | +|`MI_B_5` | |B octave 5 | +|`MI_OCT_N2` | |Set octave to -2 | +|`MI_OCT_N1` | |Set octave to -1 | +|`MI_OCT_0` | |Set octave to 0 | +|`MI_OCT_1` | |Set octave to 1 | +|`MI_OCT_2` | |Set octave to 2 | +|`MI_OCT_3` | |Set octave to 3 | +|`MI_OCT_4` | |Set octave to 4 | +|`MI_OCT_5` | |Set octave to 5 | +|`MI_OCT_6` | |Set octave to 6 | +|`MI_OCT_7` | |Set octave to 7 | +|`MI_OCTD` | |Move down an octave | +|`MI_OCTU` | |Move up an octave | +|`MI_TRNS_N6`| |Set transposition to -6 semitones| +|`MI_TRNS_N5`| |Set transposition to -5 semitones| +|`MI_TRNS_N4`| |Set transposition to -4 semitones| +|`MI_TRNS_N3`| |Set transposition to -3 semitones| +|`MI_TRNS_N2`| |Set transposition to -2 semitones| +|`MI_TRNS_N1`| |Set transposition to -1 semitone | +|`MI_TRNS_0` | |No transposition | +|`MI_TRNS_1` | |Set transposition to +1 semitone | +|`MI_TRNS_2` | |Set transposition to +2 semitones| +|`MI_TRNS_3` | |Set transposition to +3 semitones| +|`MI_TRNS_4` | |Set transposition to +4 semitones| +|`MI_TRNS_5` | |Set transposition to +5 semitones| +|`MI_TRNS_6` | |Set transposition to +6 semitones| +|`MI_TRNSD` | |Decrease transposition | +|`MI_TRNSU` | |Increase transposition | +|`MI_VEL_0` | |Set velocity to 0 | +|`MI_VEL_1` | |Set velocity to 12 | +|`MI_VEL_2` | |Set velocity to 25 | +|`MI_VEL_3` | |Set velocity to 38 | +|`MI_VEL_4` | |Set velocity to 51 | +|`MI_VEL_5` | |Set velocity to 64 | +|`MI_VEL_6` | |Set velocity to 76 | +|`MI_VEL_7` | |Set velocity to 89 | +|`MI_VEL_8` | |Set velocity to 102 | +|`MI_VEL_9` | |Set velocity to 114 | +|`MI_VEL_10` | |Set velocity to 127 | +|`MI_VELD` | |Decrease velocity | +|`MI_VELU` | |Increase velocity | +|`MI_CH1` | |Set channel to 1 | +|`MI_CH2` | |Set channel to 2 | +|`MI_CH3` | |Set channel to 3 | +|`MI_CH4` | |Set channel to 4 | +|`MI_CH5` | |Set channel to 5 | +|`MI_CH6` | |Set channel to 6 | +|`MI_CH7` | |Set channel to 7 | +|`MI_CH8` | |Set channel to 8 | +|`MI_CH9` | |Set channel to 9 | +|`MI_CH10` | |Set channel to 10 | +|`MI_CH11` | |Set channel to 11 | +|`MI_CH12` | |Set channel to 12 | +|`MI_CH13` | |Set channel to 13 | +|`MI_CH14` | |Set channel to 14 | +|`MI_CH15` | |Set channel to 15 | +|`MI_CH16` | |Set channel to 16 | +|`MI_CHD` | |Decrease channel | +|`MI_CHU` | |Increase channel | +|`MI_ALLOFF` | |Stop all notes | +|`MI_SUS` | |Sustain | +|`MI_PORT` | |Portmento | +|`MI_SOST` | |Sostenuto | +|`MI_SOFT` | |Soft Pedal | +|`MI_LEG` | |Legato | +|`MI_MOD` | |Modulation | +|`MI_MODSD` | |Decrease modulation speed | +|`MI_MODSU` | |Increase modulation speed | +|`MI_BENDD` | |Bend pitch down | +|`MI_BENDU` | |Bend pitch up | + +### Configuration + +Certain values are stored in the `midi_config` struct. This configuration is not persisted to EEPROM. By default, these values are: + +|Configuration |Value|Comments | +|-------------------|-----|-------------------------| +|Octave |`4` |Corresponds to `MI_OCT_2`| +|Transposition |`0` | | +|Velocity |`127`| | +|Channel |`0` | | +|Modulation Interval|`8` | | + +For the above, the `MI_C` keycode will produce a C3 (note number 48), and so on. + +### References +#### MIDI Specification + + * [MIDI.org](https://www.midi.org/specifications-old/item/table-1-summary-of-midi-message) + * [CMU MIDI Programmer's Reference](https://www.cs.cmu.edu/~music/cmsip/readings/MIDI%20tutorial%20for%20programmers.html) +#### QMK C Files + + * `quantum/process_keycode/process_midi.c` + * `quantum/quantum_keycodes.h` + * `tmk_core/protocol/midi.h` + * `tmk_core/protocol/midi.c` + * `tmk_core/protocol/qmk_midi.c` + * `tmk_core/protocol/midi_device.h` + + diff --git a/docs/feature_oled_driver.md b/docs/feature_oled_driver.md index 44202487f15e..49a3f0b3e365 100644 --- a/docs/feature_oled_driver.md +++ b/docs/feature_oled_driver.md @@ -21,13 +21,23 @@ Hardware configurations using Arm-based microcontrollers or different sizes of O To enable the OLED feature, there are three steps. First, when compiling your keyboard, you'll need to add the following to your `rules.mk`: ```make -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +``` + +## OLED type +|OLED Driver |Supported Device | +|-------------------|---------------------------| +|SSD1306 (default) |For both SSD1306 and SH1106| + +e.g. +```make +OLED_DRIVER = SSD1306 ``` Then in your `keymap.c` file, implement the OLED task call. This example assumes your keymap has three layers named `_QWERTY`, `_FN` and `_ADJ`: ```c -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void oled_task_user(void) { // Host Keyboard Layer Status oled_write_P(PSTR("Layer: "), false); @@ -114,7 +124,7 @@ static void fade_display(void) { In split keyboards, it is very common to have two OLED displays that each render different content and are oriented or flipped differently. You can do this by switching which content to render by using the return value from `is_keyboard_master()` or `is_keyboard_left()` found in `split_util.h`, e.g: ```c -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (!is_keyboard_master()) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand @@ -145,6 +155,8 @@ void oled_task_user(void) { |`OLED_FONT_WIDTH` |`6` |The font width | |`OLED_FONT_HEIGHT` |`8` |The font height (untested) | |`OLED_TIMEOUT` |`60000` |Turns off the OLED screen after 60000ms of keyboard inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. | +|`OLED_FADE_OUT` |*Not defined* |Enables fade out animation. Use together with `OLED_TIMEOUT`. | +|`OLED_FADE_OUT_INTERVAL` |`0` |The speed of fade out animation, from 0 to 15. Larger values are slower. | |`OLED_SCROLL_TIMEOUT` |`0` |Scrolls the OLED screen after 0ms of OLED inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. | |`OLED_SCROLL_TIMEOUT_RIGHT`|*Not defined* |Scroll timeout direction is right when defined, left when undefined. | |`OLED_IC` |`OLED_IC_SSD1306`|Set to `OLED_IC_SH1106` if you're using the SH1106 OLED controller. | @@ -261,22 +273,11 @@ void oled_write(const char *data, bool invert); void oled_write_ln(const char *data, bool invert); // Pans the buffer to the right (or left by passing true) by moving contents of the buffer -// Useful for moving the screen in preparation for new drawing +// Useful for moving the screen in preparation for new drawing // oled_scroll_left or oled_scroll_right should be preferred for all cases of moving a static // image such as a logo or to avoid burn-in as it's much, much less cpu intensive void oled_pan(bool left); -// Writes a PROGMEM string to the buffer at current cursor position -// Advances the cursor while writing, inverts the pixels if true -// Remapped to call 'void oled_write(const char *data, bool invert);' on ARM -void oled_write_P(const char *data, bool invert); - -// Writes a PROGMEM string to the buffer at current cursor position -// Advances the cursor while writing, inverts the pixels if true -// Advances the cursor to the next page, wiring ' ' to the remainder of the current page -// Remapped to call 'void oled_write_ln(const char *data, bool invert);' on ARM -void oled_write_ln_P(const char *data, bool invert); - // Returns a pointer to the requested start index in the buffer plus remaining // buffer length as struct oled_buffer_reader_t oled_read_raw(uint16_t start_index); @@ -287,13 +288,24 @@ void oled_write_raw(const char *data, uint16_t size); // Writes a single byte into the buffer at the specified index void oled_write_raw_byte(const char data, uint16_t index); -// Writes a PROGMEM string to the buffer at current cursor position -void oled_write_raw_P(const char *data, uint16_t size); - // Sets a specific pixel on or off // Coordinates start at top-left and go right and down for positive x and y void oled_write_pixel(uint8_t x, uint8_t y, bool on); +// Writes a PROGMEM string to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +// Remapped to call 'void oled_write(const char *data, bool invert);' on ARM +void oled_write_P(const char *data, bool invert); + +// Writes a PROGMEM string to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +// Advances the cursor to the next page, wiring ' ' to the remainder of the current page +// Remapped to call 'void oled_write_ln(const char *data, bool invert);' on ARM +void oled_write_ln_P(const char *data, bool invert); + +// Writes a PROGMEM string to the buffer at current cursor position +void oled_write_raw_P(const char *data, uint16_t size); + // Can be used to manually turn on the screen if it is off // Returns true if the screen was on or turns on bool oled_on(void); @@ -344,6 +356,14 @@ bool oled_scroll_left(void); // Returns true if the screen was not scrolling or stops scrolling bool oled_scroll_off(void); +// Returns true if the oled is currently scrolling, false if it is +// not +bool is_oled_scrolling(void); + +// Inverts the display +// Returns true if the screen was or is inverted +bool oled_invert(bool invert); + // Returns the maximum number of characters that will fit on a line uint8_t oled_max_chars(void); diff --git a/docs/feature_ps2_mouse.md b/docs/feature_ps2_mouse.md index 8e84e22d8a78..776a33150ec8 100644 --- a/docs/feature_ps2_mouse.md +++ b/docs/feature_ps2_mouse.md @@ -50,7 +50,7 @@ In your keyboard config.h: #endif ``` -## Interrupt Version :id=interrupt-version +### Interrupt Version (AVR/ATMega32u4) :id=interrupt-version-avr The following example uses D2 for clock and D5 for data. You can use any INT or PCINT pin for clock, and any pin for data. @@ -88,7 +88,31 @@ In your keyboard config.h: #endif ``` -## USART Version :id=usart-version +### Interrupt Version (ARM chibios) :id=interrupt-version-chibios + +Pretty much any two pins can be used for the (software) interrupt variant on ARM cores. The example below uses A8 for clock, and A9 for data. + +In rules.mk: + +``` +PS2_MOUSE_ENABLE = yes +PS2_USE_INT = yes +``` + +In your keyboard config.h: + +```c +#define PS2_CLOCK A8 +#define PS2_DATA A9 +``` + +And in the chibios specifig halconf.h: +```c +#define PAL_USE_CALLBACKS TRUE +``` + + +### USART Version :id=usart-version To use USART on the ATMega32u4, you have to use PD5 for clock and PD2 for data. If one of those are unavailable, you need to use interrupt version. @@ -246,6 +270,16 @@ Fine control over the scrolling is supported with the following defines: #define PS2_MOUSE_SCROLL_DIVISOR_V 2 ``` +### Invert Mouse buttons :id=invert-buttons + +To invert the left & right buttons you can put: + +```c +#define PS2_MOUSE_INVERT_BUTTONS +``` + +into config.h. + ### Invert Mouse and Scroll Axes :id=invert-mouse-and-scroll-axes To invert the X and Y axes you can put: diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index 6917de5ab48c..8d6bb934e5b4 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -15,7 +15,20 @@ RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = IS31FL3731 ``` -Configure the hardware via your `config.h`: +You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: + +| Variable | Description | Default | +|----------|-------------|---------| +| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | +| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | +| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | +| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | | +| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | +| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | +| `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | | +| `DRIVER_ADDR_4` | (Optional) Address for the fourth RGB driver | | + +Here is an example using 2 drivers. ```c // This is a 7-bit address, that gets left-shifted and bit 0 @@ -36,12 +49,10 @@ Configure the hardware via your `config.h`: !> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. -Currently only 2 drivers are supported, but it would be trivial to support all 4 combinations. - Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -53,12 +64,10 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { } ``` -Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/issi/is31fl3731.h`. The `driver` is the index of the driver you defined in your `config.h` (`0` or `1` right now). +Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/led/issi/is31fl3731.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3`). --- -### IS31FL3733/IS31FL3737 :id=is31fl3733is31fl3737 - -!> For the IS31FL3737, replace all instances of `IS31FL3733` below with `IS31FL3737`. +### IS31FL3733 :id=is31fl3733 There is basic support for addressable RGB matrix lighting with the I2C IS31FL3733 RGB controller. To enable it, add this to your `rules.mk`: @@ -67,7 +76,24 @@ RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = IS31FL3733 ``` -Configure the hardware via your `config.h`: +You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: + +| Variable | Description | Default | +|----------|-------------|---------| +| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | +| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | +| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | +| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | | +| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | +| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | +| `DRIVER_ADDR_3` | (Optional) Address for the third RGB driver | | +| `DRIVER_ADDR_4` | (Optional) Address for the fourth RGB driver | | +| `DRIVER_SYNC_1` | (Optional) Sync configuration for the first RGB driver | 0 | +| `DRIVER_SYNC_2` | (Optional) Sync configuration for the second RGB driver | 0 | +| `DRIVER_SYNC_3` | (Optional) Sync configuration for the third RGB driver | 0 | +| `DRIVER_SYNC_4` | (Optional) Sync configuration for the fourth RGB driver | 0 | + +Here is an example using 2 drivers. ```c // This is a 7-bit address, that gets left-shifted and bit 0 @@ -81,19 +107,22 @@ Configure the hardware via your `config.h`: // ADDR2 represents A3:A2 of the 7-bit address. // The result is: 0b101(ADDR2)(ADDR1) #define DRIVER_ADDR_1 0b1010000 -#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons. +#define DRIVER_ADDR_2 0b1010011 #define DRIVER_COUNT 2 -#define DRIVER_1_LED_TOTAL 64 -#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#define DRIVER_1_LED_TOTAL 58 +#define DRIVER_2_LED_TOTAL 10 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) ``` -Currently only a single drivers is supported, but it would be trivial to support all 4 combinations. For now define `DRIVER_ADDR_2` as `DRIVER_ADDR_1` +!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. + +Currently only 4 drivers are supported, but it would be trivial to support all 8 combinations. Define these arrays listing all the LEDs in your `.c`: ```c -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -105,7 +134,71 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { } ``` -Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3733.pdf) and the header file `drivers/issi/is31fl3733.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0` right now). +Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3733.pdf) and the header file `drivers/led/issi/is31fl3733.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` for now). + +--- +### IS31FL3737 :id=is31fl3737 + +There is basic support for addressable RGB matrix lighting with the I2C IS31FL3737 RGB controller. To enable it, add this to your `rules.mk`: + +```makefile +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = IS31FL3737 +``` +You can use between 1 and 2 IS31FL3737 IC's. Do not specify `DRIVER_ADDR_2` define for second IC if not present on your keyboard. + +Configure the hardware via your `config.h`: + +| Variable | Description | Default | +|----------|-------------|---------| +| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 | +| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 | +| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | +| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | | +| `DRIVER_ADDR_1` | (Required) Address for the first RGB driver | | +| `DRIVER_ADDR_2` | (Optional) Address for the second RGB driver | | + + +Here is an example using 2 drivers. + +```c +// This is a 7-bit address, that gets left-shifted and bit 0 +// set to 0 for write, 1 for read (as per I2C protocol) +// The address will vary depending on your wiring: +// 0000 <-> GND +// 0101 <-> SCL +// 1010 <-> SDA +// 1111 <-> VCC +// ADDR represents A3:A0 of the 7-bit address. +// The result is: 0b101(ADDR) +#define DRIVER_ADDR_1 0b1010000 +#define DRIVER_ADDR_2 0b1010001 + +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 30 +#define DRIVER_2_LED_TOTAL 36 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +``` +!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. + +Currently only 2 drivers are supported, but it would be trivial to support all 4 combinations. + +Define these arrays listing all the LEDs in your `.c`: + +```c +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, B_1, A_1, C_1}, + .... +} +``` + +Where `X_Y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3737.pdf) and the header file `drivers/led/issi/is31fl3737.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0`, `1` for now). --- @@ -150,6 +243,77 @@ Configure the hardware via your `config.h`: ``` --- +### AW20216 :id=aw20216 +There is basic support for addressable RGB matrix lighting with the SPI AW20216 RGB controller. To enable it, add this to your `rules.mk`: + +```makefile +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = AW20216 +``` + +You can use up to 2 AW20216 IC's. Do not specify `DRIVER__xxx` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: + +| Variable | Description | Default | +|----------|-------------|---------| +| `DRIVER_1_CS` | (Required) MCU pin connected to first RGB driver chip select line | B13 | +| `DRIVER_2_CS` | (Optional) MCU pin connected to second RGB driver chip select line | | +| `DRIVER_1_EN` | (Required) MCU pin connected to first RGB driver hardware enable line | C13 | +| `DRIVER_2_EN` | (Optional) MCU pin connected to second RGB driver hardware enable line | | +| `DRIVER_1_LED_TOTAL` | (Required) How many RGB lights are connected to first RGB driver | | +| `DRIVER_2_LED_TOTAL` | (Optional) How many RGB lights are connected to second RGB driver | | +| `DRIVER_COUNT` | (Required) How many RGB driver IC's are present | | +| `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | | +| `AW_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 | +| `AW_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 | +| `AW_SPI_DIVISOR` | (Optional) Clock divisor for SPI communication (powers of 2, smaller numbers means faster communication, should not be less than 4) | 4 | + +Here is an example using 2 drivers. + +```c +#define DRIVER_1_CS B13 +#define DRIVER_2_CS B14 +// Hardware enable lines may be connected to the same pin +#define DRIVER_1_EN C13 +#define DRIVER_2_EN C13 + +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 66 +#define DRIVER_2_LED_TOTAL 32 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) +``` + +!> Note the parentheses, this is so when `DRIVER_LED_TOTAL` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`. + +Define these arrays listing all the LEDs in your `.c`: + +```c +const aw_led __flash g_aw_leds[DRIVER_LED_TOTAL] = { +/* Each AW20216 channel is controlled by a register at some offset between 0x00 + * and 0xD7 inclusive. + * See drivers/awinic/aw20216.h for the mapping between register offsets and + * driver pin locations. + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + { 0, CS1_SW1, CS2_SW1, CS3_SW1 }, + { 0, CS4_SW1, CS5_SW1, CS6_SW1 }, + { 0, CS7_SW1, CS8_SW1, CS9_SW1 }, + { 0, CS10_SW1, CS11_SW1, CS12_SW1 }, + { 0, CS13_SW1, CS14_SW1, CS15_SW1 }, + ... + { 1, CS1_SW1, CS2_SW1, CS3_SW1 }, + { 1, CS13_SW1, CS14_SW1, CS15_SW1 }, + { 1, CS16_SW1, CS17_SW1, CS18_SW1 }, + { 1, CS4_SW2, CS5_SW2, CS6_SW2 }, + ... +}; +``` + +--- + +## Common Configuration :id=common-configuration From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example: @@ -254,6 +418,9 @@ enum rgb_matrix_effects { RGB_MATRIX_RAINBOW_PINWHEELS, // Full dual gradients spinning two halfs of keyboard RGB_MATRIX_RAINDROPS, // Randomly changes a single key's hue RGB_MATRIX_JELLYBEAN_RAINDROPS, // Randomly changes a single key's hue and saturation + RGB_MATRIX_HUE_BREATHING, // Hue shifts up a slight ammount at the same time, then shifts back + RGB_MATRIX_HUE_PENDULUM, // Hue shifts up a slight ammount in a wave to the right, then back to the left + RGB_MATRIX_HUE_WAVE, // Hue shifts up a slight ammount and then back down in a wave to the right #if define(RGB_MATRIX_FRAMEBUFFER_EFFECTS) RGB_MATRIX_TYPING_HEATMAP, // How hot is your WPM! RGB_MATRIX_DIGITAL_RAIN, // That famous computer simulation @@ -281,7 +448,6 @@ You can disable a single effect by defining `DISABLE_[EFFECT_NAME]` in your `con |Define |Description | |-------------------------------------------------------|-----------------------------------------------| -|`#define DISABLE_RGB_MATRIX_SOLID_COLOR` |Disables `RGB_MATRIX_SOLID_COLOR` | |`#define DISABLE_RGB_MATRIX_ALPHAS_MODS` |Disables `RGB_MATRIX_ALPHAS_MODS` | |`#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN` |Disables `RGB_MATRIX_GRADIENT_UP_DOWN` | |`#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT` |Disables `MATRIX_GRADIENT_LEFT_RIGHT` | @@ -305,6 +471,9 @@ You can disable a single effect by defining `DISABLE_[EFFECT_NAME]` in your `con |`#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS` |Disables `RGB_MATRIX_RAINBOW_PINWHEELS` | |`#define DISABLE_RGB_MATRIX_RAINDROPS` |Disables `RGB_MATRIX_RAINDROPS` | |`#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS` |Disables `RGB_MATRIX_JELLYBEAN_RAINDROPS` | +|`#define DISABLE_RGB_MATRIX_HUE_BREATHING` |Disables `RGB_MATRIX_HUE_BREATHING` | +|`#define DISABLE_RGB_MATRIX_HUE_PENDULUM` |Disables `RGB_MATRIX_HUE_PENDULUM` | +|`#define DISABLE_RGB_MATRIX_HUE_WAVE ` |Disables `RGB_MATRIX_HUE_WAVE ` | |`#define DISABLE_RGB_MATRIX_TYPING_HEATMAP` |Disables `RGB_MATRIX_TYPING_HEATMAP` | |`#define DISABLE_RGB_MATRIX_DIGITAL_RAIN` |Disables `RGB_MATRIX_DIGITAL_RAIN` | |`#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE` |Disables `RGB_MATRIX_SOLID_REACTIVE_SIMPLE` | @@ -393,35 +562,36 @@ static bool my_cool_effect2(effect_params_t* params) { #endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS ``` -For inspiration and examples, check out the built-in effects under `quantum/rgb_matrix_animation/` +For inspiration and examples, check out the built-in effects under `quantum/rgb_matrix_animations/` ## Colors :id=colors These are shorthands to popular colors. The `RGB` ones can be passed to the `setrgb` functions, while the `HSV` ones to the `sethsv` functions. -|RGB |HSV | -|-------------------|-------------------| -|`RGB_WHITE` |`HSV_WHITE` | -|`RGB_RED` |`HSV_RED` | -|`RGB_CORAL` |`HSV_CORAL` | -|`RGB_ORANGE` |`HSV_ORANGE` | -|`RGB_GOLDENROD` |`HSV_GOLDENROD` | -|`RGB_GOLD` |`HSV_GOLD` | -|`RGB_YELLOW` |`HSV_YELLOW` | -|`RGB_CHARTREUSE` |`HSV_CHARTREUSE` | -|`RGB_GREEN` |`HSV_GREEN` | -|`RGB_SPRINGGREEN` |`HSV_SPRINGGREEN` | -|`RGB_TURQUOISE` |`HSV_TURQUOISE` | -|`RGB_TEAL` |`HSV_TEAL` | -|`RGB_CYAN` |`HSV_CYAN` | -|`RGB_AZURE` |`HSV_AZURE` | -|`RGB_BLUE` |`HSV_BLUE` | -|`RGB_PURPLE` |`HSV_PURPLE` | -|`RGB_MAGENTA` |`HSV_MAGENTA` | -|`RGB_PINK` |`HSV_PINK` | - -These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h). Feel free to add to this list! +|RGB |HSV | +|---------------------|---------------------| +|`RGB_AZURE` |`HSV_AZURE` | +|`RGB_BLACK`/`RGB_OFF`|`HSV_BLACK`/`HSV_OFF`| +|`RGB_BLUE` |`HSV_BLUE` | +|`RGB_CHARTREUSE` |`HSV_CHARTREUSE` | +|`RGB_CORAL` |`HSV_CORAL` | +|`RGB_CYAN` |`HSV_CYAN` | +|`RGB_GOLD` |`HSV_GOLD` | +|`RGB_GOLDENROD` |`HSV_GOLDENROD` | +|`RGB_GREEN` |`HSV_GREEN` | +|`RGB_MAGENTA` |`HSV_MAGENTA` | +|`RGB_ORANGE` |`HSV_ORANGE` | +|`RGB_PINK` |`HSV_PINK` | +|`RGB_PURPLE` |`HSV_PURPLE` | +|`RGB_RED` |`HSV_RED` | +|`RGB_SPRINGGREEN` |`HSV_SPRINGGREEN` | +|`RGB_TEAL` |`HSV_TEAL` | +|`RGB_TURQUOISE` |`HSV_TURQUOISE` | +|`RGB_WHITE` |`HSV_WHITE` | +|`RGB_YELLOW` |`HSV_YELLOW` | + +These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/color.h). Feel free to add to this list! ## Additional `config.h` Options :id=additional-configh-options @@ -429,9 +599,10 @@ These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blo ```c #define RGB_MATRIX_KEYPRESSES // reacts to keypresses #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects #define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off #define RGB_DISABLE_AFTER_TIMEOUT 0 // OBSOLETE: number of ticks to wait until disabling effects -#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 @@ -441,11 +612,13 @@ These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blo #define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature) +#define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. + // If RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR ``` ## EEPROM storage :id=eeprom-storage -The EEPROM for it is currently shared with the RGBLIGHT system (it's generally assumed only one RGB would be used at a time), but could be configured to use its own 32bit address with: +The EEPROM for it is currently shared with the LED Matrix system (it's generally assumed only one feature would be used at a time), but could be configured to use its own 32bit address with: ```c #define EECONFIG_RGB_MATRIX (uint32_t *)28 @@ -536,29 +709,74 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { } ``` -### Suspended state :id=suspended-state -To use the suspend feature, make sure that `#define RGB_DISABLE_WHEN_USB_SUSPENDED true` is added to the `config.h` file. - -Additionally add this to your `.c`: +### Indicator Examples :id=indicator-examples +Caps Lock indicator on alphanumeric flagged keys: ```c -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (host_keyboard_led_state().caps_lock) { + for (uint8_t i = led_min; i <= led_max; i++) { + if (g_led_config.flags[i] & LED_FLAG_KEYLIGHT) { + rgb_matrix_set_color(i, RGB_RED); + } + } + } } +``` -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); +Layer indicator on all flagged keys: +```c +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + for (uint8_t i = led_min; i <= led_max; i++) { + switch(get_highest_layer(layer_state|default_layer_state)) { + case RAISE: + rgb_matrix_set_color(i, RGB_BLUE); + break; + case LOWER: + rgb_matrix_set_color(i, RGB_YELLOW); + break; + default: + break; + } + } } ``` -or add this to your `keymap.c`: + +#### Examples :id=indicator-examples + +This example sets the modifiers to be a specific color based on the layer state. You can use a switch case here, instead, if you would like. This uses HSV and then converts to RGB, because this allows the brightness to be limited (important when using the WS2812 driver). + ```c -void suspend_power_down_user(void) { - rgb_matrix_set_suspend_state(true); +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + HSV hsv = {0, 255, 255}; + + if (layer_state_is(layer_state, 2)) { + hsv = {130, 255, 255}; + } else { + hsv = {30, 255, 255}; + } + + if (hsv.v > rgb_matrix_get_val()) { + hsv.v = rgb_matrix_get_val(); + } + RGB rgb = hsv_to_rgb(hsv); + + for (uint8_t i = led_min; i <= led_max; i++) { + if (HAS_FLAGS(g_led_config.flags[i], 0x01)) { // 0x01 == LED_FLAG_MODIFIER + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + } } +``` + +If you want to indicate a Host LED status (caps lock, num lock, etc), you can use something like this to light up the caps lock key: -void suspend_wakeup_init_user(void) { - rgb_matrix_set_suspend_state(false); +```c +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (host_keyboard_led_state().caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(5, 255, 255, 255); // assuming caps lock is at led #5 + } else { + RGB_MATRIX_INDICATOR_SET_COLOR(5, 0, 0, 0); + } } ``` diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index d2612a6d1bb2..8484586c053b 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -74,6 +74,7 @@ Changing the **Value** sets the overall brightness.
|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode | |`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode | |`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode | +|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode | !> By default, if you have both the RGB Light and the [RGB Matrix](feature_rgb_matrix.md) feature enabled, these keycodes will work for both features, at the same time. You can disable the keycode functionality by defining the `*_DISABLE_KEYCODES` option for the specific feature. @@ -118,7 +119,7 @@ if `RGBLIGHT_EFFECT_xxxx` or `RGBLIGHT_ANIMATIONS` is defined, you also have a n Check out [this video](https://youtube.com/watch?v=VKrpPAHlisY) for a demonstration. -Note: For versions older than 0.6.117, The mode numbers were written directly. In `quantum/rgblight.h` there is a contrast table between the old mode number and the current symbol. +Note: For versions older than 0.6.117, The mode numbers were written directly. In `quantum/rgblight/rgblight.h` there is a contrast table between the old mode number and the current symbol. ### Effect and Animation Toggles @@ -309,13 +310,29 @@ void post_process_record_user(uint16_t keycode, keyrecord_t *record) { } ``` +You can also use `rgblight_blink_layer_repeat` to specify the amount of times the layer is supposed to blink. Using the layers from above, +```c +void post_process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case DEBUG: + rgblight_blink_layer_repeat(debug_enable ? 0 : 1, 200, 3); + break; + } +} +``` +would turn the layer 0 (or 1) on and off again three times when `DEBUG` is pressed. + ### Overriding RGB Lighting on/off status Normally lighting layers are not shown when RGB Lighting is disabled (e.g. with `RGB_TOG` keycode). If you would like lighting layers to work even when the RGB Lighting is otherwise off, add `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF` to your `config.h`. +### Retain brightness + +Usually lighting layers apply their configured brightness once activated. If you would like lighting layers to retain the currently used brightness (as returned by `rgblight_get_val()`), add `#define RGBLIGHT_LAYERS_RETAIN_VAL` to your `config.h`. + ## Functions -If you need to change your RGB lighting in code, for example in a macro to change the color whenever you switch layers, QMK provides a set of functions to assist you. See [`rgblight.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight.h) for the full list, but the most commonly used functions include: +If you need to change your RGB lighting in code, for example in a macro to change the color whenever you switch layers, QMK provides a set of functions to assist you. See [`rgblight.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight/rgblight.h) for the full list, but the most commonly used functions include: ### Utility Functions |Function |Description | @@ -359,9 +376,9 @@ rgblight_set(); // Utility functions do not call rgblight_set() automatically, s Example: ```c -rgblight_sethsv(HSV_WHITE, 0); // led 0 -rgblight_sethsv(HSV_RED, 1); // led 1 -rgblight_sethsv(HSV_GREEN, 2); // led 2 +rgblight_sethsv_at(HSV_WHITE, 0); // led 0 +rgblight_sethsv_at(HSV_RED, 1); // led 1 +rgblight_sethsv_at(HSV_GREEN, 2); // led 2 // The above functions automatically calls rgblight_set(), so there is no need to call it explicitly. // Note that it is inefficient to call repeatedly. ``` @@ -436,26 +453,27 @@ rgblight_sethsv(HSV_GREEN, 2); // led 2 These are shorthands to popular colors. The `RGB` ones can be passed to the `setrgb` functions, while the `HSV` ones to the `sethsv` functions. -|RGB |HSV | -|-------------------|-------------------| -|`RGB_WHITE` |`HSV_WHITE` | -|`RGB_RED` |`HSV_RED` | -|`RGB_CORAL` |`HSV_CORAL` | -|`RGB_ORANGE` |`HSV_ORANGE` | -|`RGB_GOLDENROD` |`HSV_GOLDENROD` | -|`RGB_GOLD` |`HSV_GOLD` | -|`RGB_YELLOW` |`HSV_YELLOW` | -|`RGB_CHARTREUSE` |`HSV_CHARTREUSE` | -|`RGB_GREEN` |`HSV_GREEN` | -|`RGB_SPRINGGREEN` |`HSV_SPRINGGREEN` | -|`RGB_TURQUOISE` |`HSV_TURQUOISE` | -|`RGB_TEAL` |`HSV_TEAL` | -|`RGB_CYAN` |`HSV_CYAN` | -|`RGB_AZURE` |`HSV_AZURE` | -|`RGB_BLUE` |`HSV_BLUE` | -|`RGB_PURPLE` |`HSV_PURPLE` | -|`RGB_MAGENTA` |`HSV_MAGENTA` | -|`RGB_PINK` |`HSV_PINK` | +|RGB |HSV | +|---------------------|---------------------| +|`RGB_AZURE` |`HSV_AZURE` | +|`RGB_BLACK`/`RGB_OFF`|`HSV_BLACK`/`HSV_OFF`| +|`RGB_BLUE` |`HSV_BLUE` | +|`RGB_CHARTREUSE` |`HSV_CHARTREUSE` | +|`RGB_CORAL` |`HSV_CORAL` | +|`RGB_CYAN` |`HSV_CYAN` | +|`RGB_GOLD` |`HSV_GOLD` | +|`RGB_GOLDENROD` |`HSV_GOLDENROD` | +|`RGB_GREEN` |`HSV_GREEN` | +|`RGB_MAGENTA` |`HSV_MAGENTA` | +|`RGB_ORANGE` |`HSV_ORANGE` | +|`RGB_PINK` |`HSV_PINK` | +|`RGB_PURPLE` |`HSV_PURPLE` | +|`RGB_RED` |`HSV_RED` | +|`RGB_SPRINGGREEN` |`HSV_SPRINGGREEN` | +|`RGB_TEAL` |`HSV_TEAL` | +|`RGB_TURQUOISE` |`HSV_TURQUOISE` | +|`RGB_WHITE` |`HSV_WHITE` | +|`RGB_YELLOW` |`HSV_YELLOW` | ```c rgblight_setrgb(RGB_ORANGE); @@ -464,7 +482,7 @@ rgblight_setrgb_at(RGB_GOLD, 3); rgblight_sethsv_range(HSV_WHITE, 0, 6); ``` -These are defined in [`rgblight_list.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h). Feel free to add to this list! +These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/color.h). Feel free to add to this list! ## Changing the order of the LEDs diff --git a/docs/feature_split_keyboard.md b/docs/feature_split_keyboard.md index 3613775d7208..27df46a82acd 100644 --- a/docs/feature_split_keyboard.md +++ b/docs/feature_split_keyboard.md @@ -8,8 +8,7 @@ QMK Firmware has a generic implementation that is usable by any board, as well a For this, we will mostly be talking about the generic implementation used by the Let's Split and other keyboards. -!> ARM is not yet fully supported for Split Keyboards and has many limitations. Progress is being made, but we have not yet reached 100% feature parity. - +!> ARM split supports most QMK subsystems when using the 'serial' and 'serial_usart' drivers. I2C slave is currently unsupported. ## Compatibility Overview @@ -60,6 +59,7 @@ The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and D0/D1/D2/D3 (aka The 4 wires of the TRRS cable need to connect GND, VCC, and SCL and SDA (aka PD0/pin 3 and PD1/pin 2, respectively) between the two Pro Micros. The pull-up resistors may be placed on either half. If you wish to use the halves independently, it is also possible to use 4 resistors and have the pull-ups in both halves. +Note that the total resistance for the connected system should be within spec at 2.2k-10kOhm, with an 'ideal' at 4.7kOhm, regardless of the placement and number. sk-i2c-connection-mono @@ -89,7 +89,13 @@ You can configure the firmware to read a pin on the controller to determine hand #define SPLIT_HAND_PIN B7 ``` -This will read the specified pin. If it's high, then the controller assumes it is the left hand, and if it's low, it's assumed to be the right side. +This will read the specified pin. By default, if it's high, then the controller assumes it is the left hand, and if it's low, it's assumed to be the right side. + +This behaviour can be flipped by adding this to you `config.h` file: + +```c +#define SPLIT_HAND_PIN_LOW_IS_LEFT +``` #### Handedness by Matrix Pin @@ -133,6 +139,12 @@ However, you'll have to flash the EEPROM files for the correct hand to each cont * `:dfu-util-split-left` * `:dfu-util-split-right` +Example: + +``` +make crkbd:default:avrdude-split-left +``` + This setting is not changed when re-initializing the EEPROM using the `EEP_RST` key, or using the `eeconfig_init()` function. However, if you reset the EEPROM outside of the firmware's built in options (such as flashing a file that overwrites the `EEPROM`, like how the [QMK Toolbox]()'s "Reset EEPROM" button works), you'll need to re-flash the controller with the `EEPROM` files. You can find the `EEPROM` files in the QMK firmware repo, [here](https://github.com/qmk/qmk_firmware/tree/master/quantum/split_common). @@ -162,7 +174,7 @@ Because not every split keyboard is identical, there are a number of additional #define USE_I2C ``` -This enables I2C support for split keyboards. This isn't strictly for communication, but can be used for OLED or other I2C-based devices. +This configures the use of I2C support for split keyboard transport (AVR only). ```c #define SOFT_SERIAL_PIN D0 @@ -186,20 +198,143 @@ If you're having issues with serial communication, you can change this value, as * **`5`**: about 20kbps ```c -#define SPLIT_MODS_ENABLE +#define FORCED_SYNC_THROTTLE_MS 100 +``` + +This sets the maximum number of milliseconds before forcing a synchronization of data from master to slave. Under normal circumstances this sync occurs whenever the data _changes_, for safety a data transfer occurs after this number of milliseconds if no change has been detected since the last sync. + +```c +#define SPLIT_MAX_CONNECTION_ERRORS 10 +``` +This sets the maximum number of failed communication attempts (one per scan cycle) from the master part before it assumes that no slave part is connected. This makes it possible to use a master part without the slave part connected. + +Set to 0 to disable the disconnection check altogether. + +```c +#define SPLIT_CONNECTION_CHECK_TIMEOUT 500 ``` +How long (in milliseconds) the master part should block all connection attempts to the slave after the communication has been flagged as disconnected (see `SPLIT_MAX_CONNECTION_ERRORS` above). + +One communication attempt will be allowed everytime this amount of time has passed since the last attempt. If that attempt succeeds, the communication is seen as working again. -This enables transmitting modifier state (normal, weak and oneshot) to the non -primary side of the split keyboard. This adds a few bytes of data to the split -communication protocol and may impact the matrix scan speed when enabled. -The purpose of this feature is to support cosmetic use of modifer state (e.g. -displaying status on an OLED screen). +Set to 0 to disable this throttling of communications while disconnected. This can save you a couple of bytes of firmware size. ```c #define SPLIT_TRANSPORT_MIRROR ``` -This mirrors the master side matrix to the slave side for features that react or require knowledge of master side key presses on the slave side. This adds a few bytes of data to the split communication protocol and may impact the matrix scan speed when enabled. The purpose of this feature is to support cosmetic use of key events (e.g. RGB reacting to Keypresses). +This mirrors the master side matrix to the slave side for features that react or require knowledge of master side key presses on the slave side. The purpose of this feature is to support cosmetic use of key events (e.g. RGB reacting to keypresses). This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled. + +```c +#define SPLIT_LAYER_STATE_ENABLE +``` + +This enables syncing of the layer state between both halves of the split keyboard. The main purpose of this feature is to enable support for use of things like OLED display of the currently active layer. This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled. + +```c +#define SPLIT_LED_STATE_ENABLE +``` + +This enables syncing of the Host LED status (caps lock, num lock, etc) between both halves of the split keyboard. The main purpose of this feature is to enable support for use of things like OLED display of the Host LED status. This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled. + +```c +#define SPLIT_MODS_ENABLE +``` + +This enables transmitting modifier state (normal, weak and oneshot) to the non primary side of the split keyboard. The purpose of this feature is to support cosmetic use of modifer state (e.g. displaying status on an OLED screen). This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled. + +```c +#define SPLIT_WPM_ENABLE +``` + +This enables transmitting the current WPM to the slave side of the split keyboard. The purpose of this feature is to support cosmetic use of WPM (e.g. displaying the current value on an OLED screen). This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled. + +```c +#define SPLIT_OLED_ENABLE +``` + +This enables transmitting the current OLED on/off status to the slave side of the split keyboard. The purpose of this feature is to support state (on/off state only) syncing. This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled. + +```c +#define SPLIT_ST7565_ENABLE +``` + +This enables transmitting the current ST7565 on/off status to the slave side of the split keyboard. The purpose of this feature is to support state (on/off state only) syncing. This adds overhead to the split communication protocol and may negatively impact the matrix scan speed when enabled. + +### Custom data sync between sides :id=custom-data-sync + +QMK's split transport allows for arbitrary data transactions at both the keyboard and user levels. This is modelled on a remote procedure call, with the master invoking a function on the slave side, with the ability to send data from master to slave, process it slave side, and send data back from slave to master. + +To leverage this, a keyboard or user/keymap can define a comma-separated list of _transaction IDs_: + +```c +// for keyboard-level data sync: +#define SPLIT_TRANSACTION_IDS_KB KEYBOARD_SYNC_A, KEYBOARD_SYNC_B +// or, for user: +#define SPLIT_TRANSACTION_IDS_USER USER_SYNC_A, USER_SYNC_B, USER_SYNC_C +``` + +These _transaction IDs_ then need a slave-side handler function to be registered with the split transport, for example: + +```c +typedef struct _master_to_slave_t { + int m2s_data; +} master_to_slave_t; + +typedef struct _slave_to_master_t { + int s2m_data; +} slave_to_master_t; + +void user_sync_a_slave_handler(uint8_t in_buflen, const void* in_data, uint8_t out_buflen, void* out_data) { + const master_to_slave_t *m2s = (const master_to_slave_t*)in_data; + slave_to_master_t *s2m = (slave_to_master_t*)out_data; + s2m->s2m_data = m2s->m2s_data + 5; // whatever comes in, add 5 so it can be sent back +} + +void keyboard_post_init_user(void) { + transaction_register_rpc(USER_SYNC_A, user_sync_a_slave_handler); +} +``` + +The master side can then invoke the slave-side handler - for normal keyboard functionality to be minimally affected, any keyboard- or user-level code attempting to sync data should be throttled: + +```c +void housekeeping_task_user(void) { + if (is_keyboard_master()) { + // Interact with slave every 500ms + static uint32_t last_sync = 0; + if (timer_elapsed32(last_sync) > 500) { + master_to_slave_t m2s = {6}; + slave_to_master_t s2m = {0}; + if(transaction_rpc_exec(USER_SYNC_A, sizeof(m2s), &m2s, sizeof(s2m), &s2m)) { + last_sync = timer_read32(); + dprintf("Slave value: %d\n", s2m.s2m_data); // this will now be 11, as the slave adds 5 + } else { + dprint("Slave sync failed!\n"); + } + } + } +} +``` + +!> It is recommended that any data sync between halves happens during the master side's _housekeeping task_. This ensures timely retries should failures occur. + +If only one-way data transfer is needed, helper methods are provided: + +```c +bool transaction_rpc_exec(int8_t transaction_id, uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer); +bool transaction_rpc_send(int8_t transaction_id, uint8_t initiator2target_buffer_size, const void *initiator2target_buffer); +bool transaction_rpc_recv(int8_t transaction_id, uint8_t target2initiator_buffer_size, void *target2initiator_buffer); +``` + +By default, the inbound and outbound data is limited to a maximum of 32 bytes each. The sizes can be altered if required: + +```c +// Master to slave: +#define RPC_M2S_BUFFER_SIZE 48 +// Slave to master: +#define RPC_S2M_BUFFER_SIZE 48 +``` ### Hardware Configuration Options diff --git a/docs/feature_st7565.md b/docs/feature_st7565.md new file mode 100644 index 000000000000..de3e44d8e931 --- /dev/null +++ b/docs/feature_st7565.md @@ -0,0 +1,274 @@ +# ST7565 LCD Driver + +## Supported Hardware + +LCD modules using ST7565 driver IC, communicating over SPI. + +|Module |IC |Size |Notes | +|------------------------------|-------|------|----------------------------------------------------------| +|Newhaven Display NHD-C12832A1Z|ST7565R|128x32|Used by Ergodox Infinity; primary consumer of this feature| +|Zolentech ZLE12864B |ST7565P|128x64|Requires contrast adjustment | + +## Usage + +To enable the feature, there are three steps. First, when compiling your keyboard, you'll need to add the following to your `rules.mk`: + +```make +ST7565_ENABLE = yes +``` + +Then in your `keymap.c` file, implement the ST7565 task call. This example assumes your keymap has three layers named `_QWERTY`, `_FN` and `_ADJ`: + +```c +#ifdef ST7565_ENABLE +void st7565_task_user(void) { + // Host Keyboard Layer Status + st7565_write_P(PSTR("Layer: "), false); + + switch (get_highest_layer(layer_state)) { + case _QWERTY: + st7565_write_P(PSTR("Default\n"), false); + break; + case _FN: + st7565_write_P(PSTR("FN\n"), false); + break; + case _ADJ: + st7565_write_P(PSTR("ADJ\n"), false); + break; + default: + // Or use the write_ln shortcut over adding '\n' to the end of your string + st7565_write_ln_P(PSTR("Undefined"), false); + } + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + st7565_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + st7565_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + st7565_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); +} +#endif +``` + +## Logo Example + +In the default font, certain ranges of characters are reserved for a QMK logo. To render this logo to the screen, use the following code example: + +```c +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + + st7565_write_P(qmk_logo, false); +} +``` + +## Buffer Read Example +For some purposes, you may need to read the current state of the display buffer. The `st7565_read_raw` function can be used to safely read bytes from the buffer. + +In this example, calling `fade_display` in the `st7565_task_user` function will slowly fade away whatever is on the screen by turning random pixels off over time. +```c +//Setup some mask which can be or'd with bytes to turn off pixels +const uint8_t single_bit_masks[8] = {127, 191, 223, 239, 247, 251, 253, 254}; + +static void fade_display(void) { + //Define the reader structure + display_buffer_reader_t reader; + uint8_t buff_char; + if (random() % 30 == 0) { + srand(timer_read()); + // Fetch a pointer for the buffer byte at index 0. The return structure + // will have the pointer and the number of bytes remaining from this + // index position if we want to perform a sequential read by + // incrementing the buffer pointer + reader = st7565_read_raw(0); + //Loop over the remaining buffer and erase pixels as we go + for (uint16_t i = 0; i < reader.remaining_element_count; i++) { + //Get the actual byte in the buffer by dereferencing the pointer + buff_char = *reader.current_element; + if (buff_char != 0) { + st7565_write_raw_byte(buff_char & single_bit_masks[rand() % 8], i); + } + //increment the pointer to fetch a new byte during the next loop + reader.current_element++; + } + } +} +``` + +## Other Examples + +In split keyboards, it is very common to have two displays that each render different content and are oriented or flipped differently. You can do this by switching which content to render by using the return value from `is_keyboard_master()` or `is_keyboard_left()` found in `split_util.h`, e.g: + +```c +#ifdef ST7565_ENABLE +display_rotation_t st7565_init_user(display_rotation_t rotation) { + if (!is_keyboard_master()) { + return DISPLAY_ROTATION_180; // flips the display 180 degrees if offhand + } + + return rotation; +} + +void st7565_task_user(void) { + if (is_keyboard_master()) { + render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_logo(); // Renders a static logo + } +} +#endif +``` + +## Basic Configuration + +|Define |Default |Description | +|------------------------|--------------|-----------------------------------------------------------------------------------------------------| +|`ST7565_A0_PIN` |*Not defined* |(Required) The GPIO connected to the display's A0 (data/command) pin | +|`ST7565_RST_PIN` |*Not defined* |(Required) The GPIO connected to the display's reset pin | +|`ST7565_SS_PIN` |*Not defined* |(Required) The GPIO connected to the display's slave select pin | +|`ST7565_SPI_CLK_DIVISOR`|`4` |The SPI clock divisor to use | +|`ST7565_FONT_H` |`"glcdfont.c"`|The font code file to use for custom fonts | +|`ST7565_FONT_START` |`0` |The starting character index for custom fonts | +|`ST7565_FONT_END` |`223` |The ending character index for custom fonts | +|`ST7565_FONT_WIDTH` |`6` |The font width | +|`ST7565_FONT_HEIGHT` |`8` |The font height (untested) | +|`ST7565_TIMEOUT` |`60000` |Turns off the screen after 60000ms of keyboard inactivity. Helps reduce burn-in. Set to 0 to disable.| +|`ST7565_COLUMN_OFFSET` |`0` |Shift output to the right this many pixels. | +|`ST7565_CONTRAST` |`32` |The default contrast level of the display, from 0 to 255. | +|`ST7565_UPDATE_INTERVAL`|`0` |Set the time interval for updating the display in ms. This will improve the matrix scan rate. | + +## Custom sized displays + +The default display size for this feature is 128x32 and all necessary defines are precalculated with that in mind. + +|Define |Default |Description | +|-----------------------|----------|-----------------------------------------------------------------------------------------------------------| +|`ST7565_DISPLAY_WIDTH` |`128` |The width of the display. | +|`ST7565_DISPLAY_HEIGHT`|`32` |The height of the display. | +|`ST7565_MATRIX_SIZE` |`512` |The local buffer size to allocate.
`(ST7565_DISPLAY_HEIGHT / 8 * ST7565_DISPLAY_WIDTH)`. | +|`ST7565_BLOCK_TYPE` |`uint16_t`|The unsigned integer type to use for dirty rendering. | +|`ST7565_BLOCK_COUNT` |`16` |The number of blocks the display is divided into for dirty rendering.
`(sizeof(ST7565_BLOCK_TYPE) * 8)`.| +|`ST7565_BLOCK_SIZE` |`32` |The size of each block for dirty rendering
`(ST7565_MATRIX_SIZE / ST7565_BLOCK_COUNT)`. | + +## API + +```c +// Rotation enum values are flags +typedef enum { + DISPLAY_ROTATION_0, + DISPLAY_ROTATION_180 +} display_rotation_t; + +// Initialize the display, rotating the rendered output based on the define passed in. +// Returns true if the was initialized successfully +bool st7565_init(display_rotation_t rotation); + +// Called at the start of st7565_init, weak function overridable by the user +// rotation - the value passed into st7565_init +// Return new display_rotation_t if you want to override default rotation +display_rotation_t st7565_init_user(display_rotation_t rotation); + +// Clears the display buffer, resets cursor position to 0, and sets the buffer to dirty for rendering +void st7565_clear(void); + +// Renders the dirty chunks of the buffer to display +void st7565_render(void); + +// Moves cursor to character position indicated by column and line, wraps if out of bounds +// Max column denoted by 'st7565_max_chars()' and max lines by 'st7565_max_lines()' functions +void st7565_set_cursor(uint8_t col, uint8_t line); + +// Advances the cursor to the next page, writing ' ' if true +// Wraps to the begining when out of bounds +void st7565_advance_page(bool clearPageRemainder); + +// Moves the cursor forward 1 character length +// Advance page if there is not enough room for the next character +// Wraps to the begining when out of bounds +void st7565_advance_char(void); + +// Writes a single character to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +// Main handler that writes character data to the display buffer +void st7565_write_char(const char data, bool invert); + +// Writes a string to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +void st7565_write(const char *data, bool invert); + +// Writes a string to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +// Advances the cursor to the next page, wiring ' ' to the remainder of the current page +void st7565_write_ln(const char *data, bool invert); + +// Pans the buffer to the right (or left by passing true) by moving contents of the buffer +// Useful for moving the screen in preparation for new drawing +void st7565_pan(bool left); + +// Returns a pointer to the requested start index in the buffer plus remaining +// buffer length as struct +display_buffer_reader_t st7565_read_raw(uint16_t start_index); + +// Writes a string to the buffer at current cursor position +void st7565_write_raw(const char *data, uint16_t size); + +// Writes a single byte into the buffer at the specified index +void st7565_write_raw_byte(const char data, uint16_t index); + +// Sets a specific pixel on or off +// Coordinates start at top-left and go right and down for positive x and y +void st7565_write_pixel(uint8_t x, uint8_t y, bool on); + +// Writes a PROGMEM string to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +// Remapped to call 'void st7565_write(const char *data, bool invert);' on ARM +void st7565_write_P(const char *data, bool invert); + +// Writes a PROGMEM string to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +// Advances the cursor to the next page, wiring ' ' to the remainder of the current page +// Remapped to call 'void st7565_write_ln(const char *data, bool invert);' on ARM +void st7565_write_ln_P(const char *data, bool invert); + +// Writes a PROGMEM string to the buffer at current cursor position +void st7565_write_raw_P(const char *data, uint16_t size); + +// Can be used to manually turn on the screen if it is off +// Returns true if the screen was on or turns on +bool st7565_on(void); + +// Called when st7565_on() turns on the screen, weak function overridable by the user +// Not called if the screen is already on +void st7565_on_user(void); + +// Can be used to manually turn off the screen if it is on +// Returns true if the screen was off or turns off +bool st7565_off(void); + +// Called when st7565_off() turns off the screen, weak function overridable by the user +// Not called if the screen is already off +void st7565_off_user(void); + +// Returns true if the screen is currently on, false if it is +// not +bool st7565_is_on(void); + +// Basically it's st7565_render, but with timeout management and st7565_task_user calling! +void st7565_task(void); + +// Called at the start of st7565_task, weak function overridable by the user +void st7565_task_user(void); + +// Inverts the display +// Returns true if the screen was or is inverted +bool st7565_invert(bool invert); + +// Returns the maximum number of characters that will fit on a line +uint8_t st7565_max_chars(void); + +// Returns the maximum number of lines that will fit on the display +uint8_t st7565_max_lines(void); +``` diff --git a/docs/feature_stenography.md b/docs/feature_stenography.md index bf4bd39db97b..af4754ed7833 100644 --- a/docs/feature_stenography.md +++ b/docs/feature_stenography.md @@ -128,3 +128,18 @@ As defined in `keymap_steno.h`. |`STN_RES1`||(GeminiPR only)| |`STN_RES2`||(GeminiPR only)| |`STN_PWR`||(GeminiPR only)| + +If you do not want to hit two keys with one finger combined keycodes can be used. These are also defined in `keymap_steno.h`, and causes both keys to be reported as pressed or released. To use these keycodes define `STENO_COMBINEDMAP` in your `config.h` file +|Combined key | Key1 | Key 2 | +|---------------|--------|----------| +|STN_S3 | STN_S1 | STN_S2 | +|STN_TKL | STN_TL | STN_KL | +|STN_PWL | STN_PL | STN_WL | +|STN_HRL | STN_HL | STN_RL | +|STN_FRR | STN_FR | STN_RR | +|STN_PBR | STN_PR | STN_BR | +|STN_LGR | STN_LR | STN_GR | +|STN_TSR | STN_TR | STN_SR | +|STN_DZR | STN_DR | STN_ZR | +|STN_AO | STN_A | STN_O | +|STN_EU | STN_E | STN_U | diff --git a/docs/feature_swap_hands.md b/docs/feature_swap_hands.md index 009477d20334..cbc574b6b866 100644 --- a/docs/feature_swap_hands.md +++ b/docs/feature_swap_hands.md @@ -7,7 +7,7 @@ The swap-hands action allows support for one-handed typing without requiring a s The configuration table is a simple 2-dimensional array to map from column/row to new column/row. Example `hand_swap_config` for Planck: ```C -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, diff --git a/docs/feature_tap_dance.md b/docs/feature_tap_dance.md index d2da39ad2b77..f4e989921f2f 100644 --- a/docs/feature_tap_dance.md +++ b/docs/feature_tap_dance.md @@ -50,7 +50,7 @@ The main entry point is `process_tap_dance()`, called from `process_record_quant This means that you have `TAPPING_TERM` time to tap the key again; you do not have to input all the taps within a single `TAPPING_TERM` timeframe. This allows for longer tap counts, with minimal impact on responsiveness. -Our next stop is `matrix_scan_tap_dance()`. This handles the timeout of tap-dance keys. +Our next stop is `tap_dance_task()`. This handles the timeout of tap-dance keys. For the sake of flexibility, tap-dance actions can be either a pair of keycodes, or a user function. The latter allows one to handle higher tap counts, or do extra things, like blink the LEDs, fiddle with the backlighting, and so on. This is accomplished by using an union, and some clever macros. @@ -76,7 +76,7 @@ qk_tap_dance_action_t tap_dance_actions[] = { [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), }; -// Add tap dance item in place of a key code +// Add tap dance item to your keymap in place of a keycode const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ... TD(TD_ESC_CAPS) @@ -206,20 +206,22 @@ You will need a few things that can be used for 'Quad Function Tap-Dance'. You'll need to add these to the top of your `keymap.c` file, before your keymap. ```c +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_TAP, + TD_DOUBLE_HOLD, + TD_DOUBLE_SINGLE_TAP, // Send two single taps + TD_TRIPLE_TAP, + TD_TRIPLE_HOLD +} td_state_t; + typedef struct { bool is_press_action; - uint8_t state; -} tap; - -enum { - SINGLE_TAP = 1, - SINGLE_HOLD, - DOUBLE_TAP, - DOUBLE_HOLD, - DOUBLE_SINGLE_TAP, // Send two single taps - TRIPLE_TAP, - TRIPLE_HOLD -}; + td_state_t state; +} td_tap_t; // Tap dance enums enum { @@ -227,7 +229,7 @@ enum { SOME_OTHER_DANCE }; -uint8_t cur_dance(qk_tap_dance_state_t *state); +td_state_t cur_dance(qk_tap_dance_state_t *state); // For the x tap dance. Put it here so it can be used in any keymap void x_finished(qk_tap_dance_state_t *state, void *user_data); @@ -261,61 +263,61 @@ Now, at the bottom of your `keymap.c` file, you'll need to add the following: * Letters used in common words as a double. For example 'p' in 'pepper'. If a tap dance function existed on the * letter 'p', the word 'pepper' would be quite frustating to type. * - * For the third point, there does exist the 'DOUBLE_SINGLE_TAP', however this is not fully tested + * For the third point, there does exist the 'TD_DOUBLE_SINGLE_TAP', however this is not fully tested * */ -uint8_t cur_dance(qk_tap_dance_state_t *state) { +td_state_t cur_dance(qk_tap_dance_state_t *state) { if (state->count == 1) { - if (state->interrupted || !state->pressed) return SINGLE_TAP; + if (state->interrupted || !state->pressed) return TD_SINGLE_TAP; // Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'. - else return SINGLE_HOLD; + else return TD_SINGLE_HOLD; } else if (state->count == 2) { - // DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap + // TD_DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap // action when hitting 'pp'. Suggested use case for this return value is when you want to send two // keystrokes of the key, and not the 'double tap' action/macro. - if (state->interrupted) return DOUBLE_SINGLE_TAP; - else if (state->pressed) return DOUBLE_HOLD; - else return DOUBLE_TAP; + if (state->interrupted) return TD_DOUBLE_SINGLE_TAP; + else if (state->pressed) return TD_DOUBLE_HOLD; + else return TD_DOUBLE_TAP; } // Assumes no one is trying to type the same letter three times (at least not quickly). // If your tap dance key is 'KC_W', and you want to type "www." quickly - then you will need to add - // an exception here to return a 'TRIPLE_SINGLE_TAP', and define that enum just like 'DOUBLE_SINGLE_TAP' + // an exception here to return a 'TD_TRIPLE_SINGLE_TAP', and define that enum just like 'TD_DOUBLE_SINGLE_TAP' if (state->count == 3) { - if (state->interrupted || !state->pressed) return TRIPLE_TAP; - else return TRIPLE_HOLD; - } else return 8; // Magic number. At some point this method will expand to work for more presses + if (state->interrupted || !state->pressed) return TD_TRIPLE_TAP; + else return TD_TRIPLE_HOLD; + } else return TD_UNKNOWN; } -// Create an instance of 'tap' for the 'x' tap dance. -static tap xtap_state = { +// Create an instance of 'td_tap_t' for the 'x' tap dance. +static td_tap_t xtap_state = { .is_press_action = true, - .state = 0 + .state = TD_NONE }; void x_finished(qk_tap_dance_state_t *state, void *user_data) { xtap_state.state = cur_dance(state); switch (xtap_state.state) { - case SINGLE_TAP: register_code(KC_X); break; - case SINGLE_HOLD: register_code(KC_LCTRL); break; - case DOUBLE_TAP: register_code(KC_ESC); break; - case DOUBLE_HOLD: register_code(KC_LALT); break; + case TD_SINGLE_TAP: register_code(KC_X); break; + case TD_SINGLE_HOLD: register_code(KC_LCTRL); break; + case TD_DOUBLE_TAP: register_code(KC_ESC); break; + case TD_DOUBLE_HOLD: register_code(KC_LALT); break; // Last case is for fast typing. Assuming your key is `f`: // For example, when typing the word `buffer`, and you want to make sure that you send `ff` and not `Esc`. // In order to type `ff` when typing fast, the next character will have to be hit within the `TAPPING_TERM`, which by default is 200ms. - case DOUBLE_SINGLE_TAP: tap_code(KC_X); register_code(KC_X); + case TD_DOUBLE_SINGLE_TAP: tap_code(KC_X); register_code(KC_X); } } void x_reset(qk_tap_dance_state_t *state, void *user_data) { switch (xtap_state.state) { - case SINGLE_TAP: unregister_code(KC_X); break; - case SINGLE_HOLD: unregister_code(KC_LCTRL); break; - case DOUBLE_TAP: unregister_code(KC_ESC); break; - case DOUBLE_HOLD: unregister_code(KC_LALT); - case DOUBLE_SINGLE_TAP: unregister_code(KC_X); + case TD_SINGLE_TAP: unregister_code(KC_X); break; + case TD_SINGLE_HOLD: unregister_code(KC_LCTRL); break; + case TD_DOUBLE_TAP: unregister_code(KC_ESC); break; + case TD_DOUBLE_HOLD: unregister_code(KC_LALT); + case TD_DOUBLE_SINGLE_TAP: unregister_code(KC_X); } - xtap_state.state = 0; + xtap_state.state = TD_NONE; } qk_tap_dance_action_t tap_dance_actions[] = { @@ -343,9 +345,11 @@ enum td_keycodes { // Define a type containing as many tapdance states as you need typedef enum { - SINGLE_TAP, - SINGLE_HOLD, - DOUBLE_SINGLE_TAP + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_SINGLE_TAP } td_state_t; // Create a global instance of the tapdance state type @@ -354,7 +358,7 @@ static td_state_t td_state; // Declare your tapdance functions: // Function to determine the current tapdance state -uint8_t cur_dance(qk_tap_dance_state_t *state); +td_state_t cur_dance(qk_tap_dance_state_t *state); // `finished` and `reset` functions for each tapdance keycode void altlp_finished(qk_tap_dance_state_t *state, void *user_data); @@ -365,14 +369,14 @@ Below your `LAYOUT`, define each of the tapdance functions: ```c // Determine the tapdance state to return -uint8_t cur_dance(qk_tap_dance_state_t *state) { +td_state_t cur_dance(qk_tap_dance_state_t *state) { if (state->count == 1) { - if (state->interrupted || !state->pressed) return SINGLE_TAP; - else return SINGLE_HOLD; + if (state->interrupted || !state->pressed) return TD_SINGLE_TAP; + else return TD_SINGLE_HOLD; } - if (state->count == 2) return DOUBLE_SINGLE_TAP; - else return 3; // Any number higher than the maximum state value you return above + if (state->count == 2) return TD_DOUBLE_SINGLE_TAP; + else return TD_UNKNOWN; // Any number higher than the maximum state value you return above } // Handle the possible states for each tapdance keycode you define: @@ -380,13 +384,13 @@ uint8_t cur_dance(qk_tap_dance_state_t *state) { void altlp_finished(qk_tap_dance_state_t *state, void *user_data) { td_state = cur_dance(state); switch (td_state) { - case SINGLE_TAP: + case TD_SINGLE_TAP: register_code16(KC_LPRN); break; - case SINGLE_HOLD: + case TD_SINGLE_HOLD: register_mods(MOD_BIT(KC_LALT)); // For a layer-tap key, use `layer_on(_MY_LAYER)` here break; - case DOUBLE_SINGLE_TAP: // Allow nesting of 2 parens `((` within tapping term + case TD_DOUBLE_SINGLE_TAP: // Allow nesting of 2 parens `((` within tapping term tap_code16(KC_LPRN); register_code16(KC_LPRN); } @@ -394,13 +398,13 @@ void altlp_finished(qk_tap_dance_state_t *state, void *user_data) { void altlp_reset(qk_tap_dance_state_t *state, void *user_data) { switch (td_state) { - case SINGLE_TAP: + case TD_SINGLE_TAP: unregister_code16(KC_LPRN); break; - case SINGLE_HOLD: + case TD_SINGLE_HOLD: unregister_mods(MOD_BIT(KC_LALT)); // For a layer-tap key, use `layer_off(_MY_LAYER)` here break; - case DOUBLE_SINGLE_TAP: + case TD_DOUBLE_SINGLE_TAP: unregister_code16(KC_LPRN); } } @@ -420,17 +424,19 @@ Tap Dance can be used to mimic MO(layer) and TG(layer) functionality. For this e The first step is to include the following code towards the beginning of your `keymap.c`: ```c +// Define a type for as many tap dance states as you need +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_TAP +} td_state_t; + typedef struct { bool is_press_action; - uint8_t state; -} tap; - -// Define a type for as many tap dance states as you need -enum { - SINGLE_TAP = 1, - SINGLE_HOLD, - DOUBLE_TAP -}; + td_state_t state; +} td_tap_t; enum { QUOT_LAYR, // Our custom tap dance key; add any other tap dance keys to this enum @@ -439,7 +445,7 @@ enum { // Declare the functions to be used with your tap dance key(s) // Function associated with all tap dances -uint8_t cur_dance(qk_tap_dance_state_t *state); +td_state_t cur_dance(qk_tap_dance_state_t *state); // Functions associated with individual tap dances void ql_finished(qk_tap_dance_state_t *state, void *user_data); @@ -450,31 +456,31 @@ Towards the bottom of your `keymap.c`, include the following code: ```c // Determine the current tap dance state -uint8_t cur_dance(qk_tap_dance_state_t *state) { +td_state_t cur_dance(qk_tap_dance_state_t *state) { if (state->count == 1) { - if (!state->pressed) return SINGLE_TAP; - else return SINGLE_HOLD; - } else if (state->count == 2) return DOUBLE_TAP; - else return 8; + if (!state->pressed) return TD_SINGLE_TAP; + else return TD_SINGLE_HOLD; + } else if (state->count == 2) return TD_DOUBLE_TAP; + else return TD_UNKNOWN; } // Initialize tap structure associated with example tap dance key -static tap ql_tap_state = { +static td_tap_t ql_tap_state = { .is_press_action = true, - .state = 0 + .state = TD_NONE }; // Functions that control what our tap dance key does void ql_finished(qk_tap_dance_state_t *state, void *user_data) { ql_tap_state.state = cur_dance(state); switch (ql_tap_state.state) { - case SINGLE_TAP: + case TD_SINGLE_TAP: tap_code(KC_QUOT); break; - case SINGLE_HOLD: + case TD_SINGLE_HOLD: layer_on(_MY_LAYER); break; - case DOUBLE_TAP: + case TD_DOUBLE_TAP: // Check to see if the layer is already set if (layer_state_is(_MY_LAYER)) { // If already set, then switch it off @@ -484,15 +490,17 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) { layer_on(_MY_LAYER); } break; + default: + break; } } void ql_reset(qk_tap_dance_state_t *state, void *user_data) { // If the key was held down and now is released then switch off the layer - if (ql_tap_state.state == SINGLE_HOLD) { + if (ql_tap_state.state == TD_SINGLE_HOLD) { layer_off(_MY_LAYER); } - ql_tap_state.state = 0; + ql_tap_state.state = TD_NONE; } // Associate our tap dance key with its functionality @@ -505,7 +513,7 @@ The above code is similar to that used in previous examples. The one point to no The use of `cur_dance()` and `ql_tap_state` mirrors the above examples. -The `case:SINGLE_TAP` in `ql_finished` is similar to the above examples. The `SINGLE_HOLD` case works in conjunction with `ql_reset()` to switch to `_MY_LAYER` while the tap dance key is held, and to switch away from `_MY_LAYER` when the key is released. This mirrors the use of `MO(_MY_LAYER)`. The `DOUBLE_TAP` case works by checking whether `_MY_LAYER` is the active layer, and toggling it on or off accordingly. This mirrors the use of `TG(_MY_LAYER)`. +The `case: TD_SINGLE_TAP` in `ql_finished` is similar to the above examples. The `TD_SINGLE_HOLD` case works in conjunction with `ql_reset()` to switch to `_MY_LAYER` while the tap dance key is held, and to switch away from `_MY_LAYER` when the key is released. This mirrors the use of `MO(_MY_LAYER)`. The `TD_DOUBLE_TAP` case works by checking whether `_MY_LAYER` is the active layer, and toggling it on or off accordingly. This mirrors the use of `TG(_MY_LAYER)`. `tap_dance_actions[]` works similar to the above examples. Note that I used `ACTION_TAP_DANCE_FN_ADVANCED_TIME()` instead of `ACTION_TAP_DANCE_FN_ADVANCED()`. This is because I like my `TAPPING_TERM` to be short (\~175ms) for my non-tap-dance keys but find that this is too quick for me to reliably complete tap dance actions - thus the increased time of 275ms here. diff --git a/docs/feature_unicode.md b/docs/feature_unicode.md index 1208ac0064df..6c3e2a1a2fba 100644 --- a/docs/feature_unicode.md +++ b/docs/feature_unicode.md @@ -230,7 +230,7 @@ send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻"); Example uses include sending Unicode strings when a key is pressed, as described in [Macros](feature_macros.md). -### `send_unicode_hex_string()` +### `send_unicode_hex_string()` (Deprecated) Similar to `send_unicode_string()`, but the characters are represented by their Unicode code points, written in hexadecimal and separated by spaces. For example, the table flip above would be achieved with: diff --git a/docs/feature_velocikey.md b/docs/feature_velocikey.md index 5d98410735bc..93dd7de9406a 100644 --- a/docs/feature_velocikey.md +++ b/docs/feature_velocikey.md @@ -13,7 +13,7 @@ EXTRAKEY_ENABLE = yes VELOCIKEY_ENABLE = yes ``` -Then, while using your keyboard, you need to also turn it on with the VLK_TOG keycode, which toggles the feature on and off. +Then, while using your keyboard, you need to also turn it on with the `VLK_TOG` keycode, which toggles the feature on and off. The following light effects will all be controlled by Velocikey when it is enabled: - RGB Breathing diff --git a/docs/feature_wpm.md b/docs/feature_wpm.md index 12dd08057985..e2fac1ecea05 100644 --- a/docs/feature_wpm.md +++ b/docs/feature_wpm.md @@ -1,25 +1,64 @@ # Word Per Minute (WPM) Calculcation -The WPM feature uses time between keystrokes to compute a rolling average words -per minute rate and makes this available for various uses. +The WPM feature uses time between keystrokes to compute a rolling average words per minute rate and makes this available for various uses. Enable the WPM system by adding this to your `rules.mk`: WPM_ENABLE = yes -For split keyboards using soft serial, the computed WPM -score will be available on the master AND slave half. +For split keyboards using soft serial, the computed WPM score will be available on the master AND slave half. +## Configuration + +|Define |Default | Description | +|-----------------------------|--------------|------------------------------------------------------------------------------------------| +|`WPM_SMOOTHING` |`0.0487` | Sets the smoothing to about 40 keystrokes | +|`WPM_ESTIMATED_WORD_SIZE` |`5` | This is the value used when estimating average word size (for regression and normal use) | +|`WPM_ALLOW_COUNT_REGRESSOIN` |_Not defined_ | If defined allows the WPM to be decreased when hitting Delete or Backspace | ## Public Functions -`uint8_t get_current_wpm(void);` -This function returns the current WPM as an unsigned integer. +|Function |Description | +|--------------------------|--------------------------------------------------| +|`get_current_wpm(void)` | Returns the current WPM as a value between 0-255 | +|`set_current_wpm(x)` | Sets the current WPM to `x` (between 0-255) | + +## Callbacks + +By default, the WPM score only includes letters, numbers, space and some punctuation. If you want to change the set of characters considered as part of the WPM calculation, you can implement your own `bool wpm_keycode_user(uint16_t keycode)` and return true for any characters you would like included in the calculation, or false to not count that particular keycode. + +For instance, the default is: + +```c +bool wpm_keycode_user(uint16_t keycode) { + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) || (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) { + keycode = keycode & 0xFF; + } else if (keycode > 0xFF) { + keycode = 0; + } + if ((keycode >= KC_A && keycode <= KC_0) || (keycode >= KC_TAB && keycode <= KC_SLASH)) { + return true; + } + return false; +} +``` -## Customized keys for WPM calc +Additionally, if `WPM_ALLOW_COUNT_REGRESSION` is defined, there is the `uint8_t wpm_regress_count(uint16_t keycode)` function that allows you to decrease the WPM. This is useful if you want to be able to penalize certain keycodes (or even combinations). -By default, the WPM score only includes letters, numbers, space and some -punctuation. If you want to change the set of characters considered as part of -the WPM calculation, you can implement `wpm_keycode_user(uint16_t keycode)` -and return true for any characters you would like included in the calculation, -or false to not count that particular keycode. +```c +__attribute__((weak)) uint8_t wpm_regress_count(uint16_t keycode) { + bool weak_modded = (keycode >= QK_LCTL && keycode < QK_LSFT) || (keycode >= QK_RCTL && keycode < QK_RSFT); + + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) || (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) { + keycode = keycode & 0xFF; + } else if (keycode > 0xFF) { + keycode = 0; + } + if (((get_mods() | get_oneshot_mods()) & MOD_MASK_CTRL} || weak_modded) && (keycode == KC_DEL || keycode == KC_BSPC)) { + return WPM_ESTIMATED_WORD_SIZE; + } + if (keycode == KC_DEL || keycode == KC_BSPC) { + return 1; + } +} +``` diff --git a/docs/flashing.md b/docs/flashing.md index 7804a6bad8d3..2e69f246aa65 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -48,7 +48,7 @@ QMK maintains [a fork of the LUFA DFU bootloader](https://github.com/qmk/lufa/tr //#define QMK_LED E6 //#define QMK_SPEAKER C6 ``` -Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](feature_bootmagic.md#bootmagic-lite), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader. +Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](feature_bootmagic.md), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader. The manufacturer and product strings are automatically pulled from `config.h`, with " Bootloader" appended to the product string. @@ -127,7 +127,7 @@ To ensure compatibility with the USBasploader bootloader, make sure this block i ```make # Bootloader selection -BOOTLOADER = USBasp +BOOTLOADER = usbasploader ``` Compatible flashers: @@ -153,13 +153,13 @@ To ensure compatibility with the bootloadHID bootloader, make sure this block is ```make # Bootloader selection -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid ``` Compatible flashers: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) -* [bootloadHID CLI](https://www.obdev.at/products/vusb/bootloadhid.html) / `:bootloadHID` target in QMK (recommended command line) +* [bootloadHID CLI](https://www.obdev.at/products/vusb/bootloadhid.html) / `:bootloadhid` target in QMK (recommended command line) * [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash) Flashing sequence: @@ -171,6 +171,52 @@ Flashing sequence: 3. Flash a .hex file 4. Reset the device into application mode (may be done automatically) +### QMK HID + +QMK maintains [a fork of the LUFA HID bootloader](https://github.com/qmk/lufa/tree/master/Bootloaders/HID), which uses a USB HID Endpoint for flashing in the way that the PJRC's Teensy Loader flasher and HalfKay bootloader work. Additionally, it performs a simple matrix scan for exiting the bootloader and returning to the application, as well as flashing an LED/making a ticking noise with a speaker when things are happening. + +To ensure compatibility with the QMK HID bootloader, make sure this block is present in your `rules.mk`: + +```make +# Bootloader selection +BOOTLOADER = qmk-hid +``` + +To enable the additional features, add the following defines to your `config.h`: + +```c +#define QMK_ESC_OUTPUT F1 // COL pin if COL2ROW +#define QMK_ESC_INPUT D5 // ROW pin if COL2ROW +// Optional: +//#define QMK_LED E6 +//#define QMK_SPEAKER C6 +``` + +Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](feature_bootmagic.md), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader. + +The manufacturer and product strings are automatically pulled from `config.h`, with " Bootloader" appended to the product string. + +To generate this bootloader, use the `bootloader` target, eg. `make planck/rev4:default:bootloader`. To generate a production-ready .hex file (combining QMK and the bootloader), use the `production` target, eg. `make planck/rev4:default:production`. + +Compatible flashers: + +* TBD + * Currently, you need to either use the [Python script](https://github.com/qmk/lufa/tree/master/Bootloaders/HID/HostLoaderApp_python), or compile [`hid_bootloader_cli`](https://github.com/qmk/lufa/tree/master/Bootloaders/HID/HostLoaderApp), from the LUFA repo. Homebrew may (will) have support for this directly (via `brew install qmk/qmk/hid_bootloader_cli`). + +Flashing sequence: + +1. Enter the bootloader using any of the following methods: + * Press the `RESET` keycode + * Press the `RESET` button on the PCB if available + * short RST to GND quickly +2. Wait for the OS to detect the device +3. Flash a .hex file +4. Reset the device into application mode (may be done automatically) + +### `make` Targets + +* `:qmk-hid`: Checks every 5 seconds until a DFU device is available, and then flashes the firmware. + ## STM32/APM32 DFU All STM32 and APM32 MCUs, except for F103 (see the [STM32duino section](#stm32duino)) come preloaded with a factory bootloader that cannot be modified nor deleted. @@ -249,3 +295,29 @@ Flashing sequence: 2. Wait for the OS to detect the device 3. Flash a .bin file 4. Reset the device into application mode (may be done automatically) + +## tinyuf2 + +Keyboards may opt into supporting the tinyuf2 bootloader. This is currently only supported on the F401/F411 blackpill. + +The `rules.mk` setting for this bootloader is `tinyuf2`, and can be specified at the keymap or user level. + +To ensure compatibility with the tinyuf2 bootloader, make sure this block is present in your `rules.mk`: + +```make +# Bootloader selection +BOOTLOADER = tinyuf2 +``` + +Compatible flashers: + +* Any application able to copy a file from one place to another, such as _macOS Finder_ or _Windows Explorer_. + +Flashing sequence: + +1. Enter the bootloader using any of the following methods: + * Tap the `RESET` keycode + * Double-tap the `nRST` button on the PCB. +2. Wait for the OS to detect the device +3. Copy the .uf2 file to the new USB disk +4. Wait for the keyboard to become available diff --git a/docs/flashing_bootloadhid.md b/docs/flashing_bootloadhid.md index 731d92772737..9879ec999eef 100644 --- a/docs/flashing_bootloadhid.md +++ b/docs/flashing_bootloadhid.md @@ -15,9 +15,9 @@ General flashing sequence: ?> Using the QMK installation script, detailed [here](newbs_getting_started.md), the required bootloadHID tools should be automatically installed. -To flash via the command line, use the target `:bootloadHID` by executing the following command: +To flash via the command line, use the target `:bootloadhid` by executing the following command: - make ::bootloadHID + make ::bootloadhid ## GUI Flashing diff --git a/docs/fr-fr/README.md b/docs/fr-fr/README.md index df4627c49294..3d1f740abb9a 100644 --- a/docs/fr-fr/README.md +++ b/docs/fr-fr/README.md @@ -1,15 +1,14 @@ # Quantum Mechanical Keyboard Firmware [![Version courante](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) -[![Statut du build](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware) [![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh) [![Statut de la doc](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm) [![Contributeurs GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) [![Forks GitHub](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/) -## Qu'est-ce que QMK Firmware ? +## Qu'est-ce que QMK Firmware? -QMK (*Quantum Mechanical Keyboard*) est une communauté open source qui maintient le firmware QMK, la QMK Toolbox (*Boite à outil*), qmk.fm et leurs documentations. QMK Firmware est un firmware dédié aux claviers qui est basé sur [tmk\_keyboard](https://github.com/tmk/tmk_keyboard). Il offre des fonctionnalités très utiles pour les contrôleurs Atmel AVR, et, plus spécifiquement pour [les produits d'OLKB](https://olkb.com), le clavier [ErgoDox EZ](https://www.ergodox-ez.com), et pour les [produits Clueboard](https://clueboard.co/). Il prend désormais aussi en charge les processeurs ARM qui utilisent ChibiOS. Vous pouvez l'utiliser pour contrôler un clavier personnalisé soudé à la main ou alors sur un clavier avec un PCB personnalisé. +QMK (*Quantum Mechanical Keyboard*) est une communauté open source qui maintient le firmware QMK, la QMK Toolbox (*Boite à outil*), qmk.fm et leurs documentations. QMK Firmware est un firmware dédié aux claviers qui est basé sur [tmk\_keyboard](https://github.com/tmk/tmk_keyboard). Il offre des fonctionnalités très utiles pour les contrôleurs Atmel AVR, et, plus spécifiquement pour [les produits d'OLKB](https://olkb.com), le clavier [ErgoDox EZ](https://www.ergodox-ez.com), et pour les [produits Clueboard](https://clueboard.co/). Il prend désormais aussi en charge les processeurs ARM qui utilisent ChibiOS. Vous pouvez l'utiliser pour contrôler un clavier personnalisé soudé à la main ou alors sur un clavier avec un PCB personnalisé. ## Comment l'obtenir @@ -23,7 +22,7 @@ Avant d'être prêt à compiler vous allez devoir [installer un environnement](f make planck/rev4:default -Cette commande compilera la révision `rev4` du clavier `planck` avec la disposition `default`. Notez que tous les claviers n'ont pas forcément de révisions (aussi appelées sous-projects ou dossiers, ou en anglais « subprojects » ou « folder »). Cette option peut donc être omise : +Cette commande compilera la révision `rev4` du clavier `planck` avec la disposition `default`. Notez que tous les claviers n'ont pas forcément de révisions (aussi appelées sous-projects ou dossiers, ou en anglais «subprojects» ou «folder»). Cette option peut donc être omise: make preonic:default diff --git a/docs/fr-fr/breaking_changes.md b/docs/fr-fr/breaking_changes.md index 2dbb26e5a5bc..4c3817d2ef66 100644 --- a/docs/fr-fr/breaking_changes.md +++ b/docs/fr-fr/breaking_changes.md @@ -103,5 +103,4 @@ Ceci est fait immédiatement après la fusion de la branche `future` précédent * [ ] `git push origin future` * Actions sur GitHub * [ ] Crée un PR pour `future` - * [ ] S'assurer que Travis ne relève aucun problème * [ ] Fusion le PR `future` diff --git a/docs/fr-fr/cli.md b/docs/fr-fr/cli.md index 428153645828..bfa060f2add3 100644 --- a/docs/fr-fr/cli.md +++ b/docs/fr-fr/cli.md @@ -85,14 +85,14 @@ qmk compile qmk compile -kb -km ``` -## `qmk cformat` +## `qmk format-c` Cette commande formatte le code C en utilisant clang-format. Lancez-la sans arguments pour formatter tout le code core, ou passez les noms de fichiers à la ligne de commande pour la lancer sur des fichiers spécifiques. **Utilisation**: ``` -qmk cformat [file1] [file2] [...] [fileN] +qmk format-c [file1] [file2] [...] [fileN] ``` ## `qmk config` @@ -125,14 +125,14 @@ Cette commande crée une nouvelle keymap basée sur une keymap par défaut d'un qmk new-keymap [-kb KEYBOARD] [-km KEYMAP] ``` -## `qmk pyformat` +## `qmk format-py` Cette commande formate le code python dans `qmk_firmware`. **Utilisation**: ``` -qmk pyformat +qmk format-py ``` ## `qmk pytest` diff --git a/docs/fr-fr/contributing.md b/docs/fr-fr/contributing.md index 58931cf1f63f..d13587105542 100644 --- a/docs/fr-fr/contributing.md +++ b/docs/fr-fr/contributing.md @@ -134,7 +134,7 @@ Les PR de nouvelles fonctionnalités de de correction de bug affectent tous les Voici quelques choses à garder en tête lorsque vous travaillez sur une fonctionnalité ou un bug fix. * **Désactivé par défaut** - la mémoire est plutôt limitée sur la plupart des puces que QMK supporte, et il est important que les keymaps courantes ne soient pas cassées. S'il vous plaît faites que vos features doivent être **activées** plutôt que désactivées. Si vous pensez qu'elle devrait être activée par défaut, ou que cela réduit la taille du code, parlez-nous-en. -* **Compilez localement avant de soumettre** - Cela devrait aller sans dire, mais votre code doit compiler! Notre système Travis devrait relever les problèmes, mais il est généralement plus rapide de compiler quelques claviers en local plutôt que d'attendre le retour des résultats +* **Compilez localement avant de soumettre** - Cela devrait aller sans dire, mais votre code doit compiler! Vous devriez toujours faire gaffe à ce que vos changements compilent avant d'ouvrir une pull request. * **Faites attention aux révisions et différentes bases de puces** - beaucoup de claviers ont des révisions qui permettent des changements de configuration mineurs, voir des bases de chip différentes. Essayez de faire que votre fonctionnalité soit supportée à la fois sur ARM et AVR, ou désactivez-là automatiquement sur les plateformes non supportées. * **Expliquez votre fonctionnalité** - Documentez-là dans `docs/`, soit dans un nouveau fichier, ou dans une partie d'un fichier existant. Si vous ne la documentez pas, personne ne pourra bénéficier de votre dur labeur. diff --git a/docs/fr-fr/driver_installation_zadig.md b/docs/fr-fr/driver_installation_zadig.md index 9e7d77b6dc42..35beefa3c928 100644 --- a/docs/fr-fr/driver_installation_zadig.md +++ b/docs/fr-fr/driver_installation_zadig.md @@ -9,7 +9,7 @@ Nous vous recommandons d'utiliser l'utilitaire [Zadig](https://zadig.akeo.ie/). ## Installation Passez votre clavier en mode bootloader, soit en appuyant sur le keycode `RESET` (qui peut se trouver dans un calque différent) ou en appuyant sur le bouton reset qui se trouve en général sous la board. Si votre clavier n'a aucune de ces options, essayez de le brancher en maintenant Escape ou Espace+`B` appuyés (voir la documentation de [Bootmagic](feature_bootmagic.md) pour plus de détails). Certaines boards utilisent [Command](feature_command.md) à la place de Bootmagic. Dans ce cas, vous pouvez entrer en mode bootloader en appuyant, à n'importe quel moment lorsque le clavier est branché, sur les combinaisons de touches Shift Gauche+Shift Droit+`B` ou Shift Gauche+Shift Droit+Escape. -Certains claviers ont des instructions spécifiques pour passer en mode bootloader. Par exemple, la touche [Bootmagic Lite]](feature_bootmagic.md#bootmagic-lite) (défaut : Échap) peut être sur une touche différente telle que Contrôle Gauche. La combinaison pour la Command (défaut : Shift Gauche+Shift Droit) peut être différente, par exemple Contrôle Gauche+Contrôle Droit. Référez-vous au fichier README de votre clavier. +Certains claviers ont des instructions spécifiques pour passer en mode bootloader. Par exemple, la touche [Bootmagic Lite]](feature_bootmagic.md#bootmagic-lite) (défaut: Échap) peut être sur une touche différente telle que Contrôle Gauche. La combinaison pour la Command (défaut: Shift Gauche+Shift Droit) peut être différente, par exemple Contrôle Gauche+Contrôle Droit. Référez-vous au fichier README de votre clavier. Pour mettre un clavier en mode bootloader avec USBaspLoader, appuyez sur le bouton `RESET` tout en maintenant le bouton `BOOT`. Vous pouvez aussi maintenir le bouton `BOOT` en branchant le câble USB. @@ -43,4 +43,4 @@ Cliquez dessus avec le bouton droit et sélectionner **Désinstaller le périph ![Le dialogue Suppression de périphérique, avec la boîte "suppression de pilote" cochée](https://i.imgur.com/aEs2RuA.png) -Appuyez sur **Action → Analyser les changements de hardware**. A ce stade, vous devriez pouvoir saisir à nouveau. Vérifiez dans Zadig que les périphériques utilisent bien le pilote `HidUsb`. Si c'est le cas, vous avez corrigé le problème, votre clavier devrait fonctionner à nouveau ! +Appuyez sur **Action → Analyser les changements de hardware**. A ce stade, vous devriez pouvoir saisir à nouveau. Vérifiez dans Zadig que les périphériques utilisent bien le pilote `HidUsb`. Si c'est le cas, vous avez corrigé le problème, votre clavier devrait fonctionner à nouveau! diff --git a/docs/fr-fr/faq_build.md b/docs/fr-fr/faq_build.md index b8d09ef7718b..c6a3253530ba 100644 --- a/docs/fr-fr/faq_build.md +++ b/docs/fr-fr/faq_build.md @@ -20,7 +20,7 @@ Veuillez noter que lancer `make` avec `sudo` est généralement une **mauvaise** ### Règles `udev` pour Linux -Sous Linux, vous aurez besoin des permissions appropriées pour accéder au MCU (le micro-contrôleur). Vous avez le choix d'utiliser `sudo` en flashant le firmware, ou placer ces fichiers dans `/etc/udev/rules.d`. Une fois ajouté, lancez les commandes suivantes : +Sous Linux, vous aurez besoin des permissions appropriées pour accéder au MCU (le micro-contrôleur). Vous avez le choix d'utiliser `sudo` en flashant le firmware, ou placer ces fichiers dans `/etc/udev/rules.d`. Une fois ajouté, lancez les commandes suivantes: ```console sudo udevadm control --reload-rules diff --git a/docs/fr-fr/faq_debug.md b/docs/fr-fr/faq_debug.md index 344776ebb923..3b13b96b5560 100644 --- a/docs/fr-fr/faq_debug.md +++ b/docs/fr-fr/faq_debug.md @@ -6,13 +6,13 @@ Cette page détaille diverses questions fréquemment posées par les utilisateur ## `hid_listen` ne reconnaît pas de périphérique -Lorsque la console de débugage sur votre périphérique n'est pas prêt, vous obtiendrez un message similaire : +Lorsque la console de débugage sur votre périphérique n'est pas prêt, vous obtiendrez un message similaire: ``` Waiting for device:......... ``` -Une fois le périphérique connecté, *hid_listen* le trouve et vous obtiendrez ce message : +Une fois le périphérique connecté, *hid_listen* le trouve et vous obtiendrez ce message: ``` Waiting for new device:......................... @@ -61,7 +61,7 @@ Vous ne voulez probablement pas "briquer" votre clavier, rendre impossible d'éc - Si votre map de clavier n'inclut pas de RESET, pour entrer en mode DFU, vous devrez appuyer sur le bouton reset du PCB. Cela implique que vous devrez certainement dévisser certaines pièces de votre clavier pour y accéder. - Modifier les fichiers tmk_core / common peut rendre le clavier inutilisable -- Si un fichier .hex trop large est la cause du problème : `make dfu` supprime le bloc puis teste la taille (il ne fait pas les choses dans le bon ordre), ce qui provoque une erreur. En résultat, le flash n’aura pas été fait et le clavier restera en mode DFU. +- Si un fichier .hex trop large est la cause du problème: `make dfu` supprime le bloc puis teste la taille (il ne fait pas les choses dans le bon ordre), ce qui provoque une erreur. En résultat, le flash n’aura pas été fait et le clavier restera en mode DFU. - Pour finir, notez que la taille maximale d'un fichier .hex sur un Plank est de 7000h (28672 decimal) ``` @@ -118,7 +118,7 @@ Sous Windows, activez l'option `Permettre au périphérique de sortir l'ordinate Appuyer sur n'importe quelle touche en mode veille devrait sortir l'ordinateur de veille. -## Vous utilisez un Arduino ? +## Vous utilisez un Arduino? **Faites attention au fait que le nommage des pin d'un Arduino diffère de la puce**. Par exemple, la pin `D0` n'est pas `PD0`. Vérifiez le circuit avec la fiche technique. diff --git a/docs/fr-fr/faq_keymap.md b/docs/fr-fr/faq_keymap.md index b6e29aede8b8..374a0052270c 100644 --- a/docs/fr-fr/faq_keymap.md +++ b/docs/fr-fr/faq_keymap.md @@ -44,7 +44,7 @@ Le premier n'est reconnu que sur macOS, alors que le dernier, `KC_SLEP` et `KC_W ## Modificateur "One Shot" -Cette fonctionnalité permet de corriger un problème avec la touche Shift. En effet, il arrive de saisir plusieurs majuscules en ne voulant en saisir qu'une sur un mot. Ex : `CEtte` à la place de `Cette`. La fonctionnalité « One shot » shift permet de corriger ça. +Cette fonctionnalité permet de corriger un problème avec la touche Shift. En effet, il arrive de saisir plusieurs majuscules en ne voulant en saisir qu'une sur un mot. Ex: `CEtte` à la place de `Cette`. La fonctionnalité «One shot» shift permet de corriger ça. https://github.com/tmk/tmk_keyboard/issues/67 @@ -59,7 +59,7 @@ Pour les touches de modification et les actions de calque, vous devez placer `KC ## Support de touche à verrouillage mécanique -Cette fonctionnalité permet l'usage de *touches à verrouillage mécanique* comme [ces interrupteurs Alps](https://deskthority.net/wiki/Alps_SKCL_Lock). Vous pouvez l'activer en ajoutant ceci à votre `config.h` : +Cette fonctionnalité permet l'usage de *touches à verrouillage mécanique* comme [ces interrupteurs Alps](https://deskthority.net/wiki/Alps_SKCL_Lock). Vous pouvez l'activer en ajoutant ceci à votre `config.h`: ``` #define LOCKING_SUPPORT_ENABLE diff --git a/docs/fr-fr/flashing.md b/docs/fr-fr/flashing.md index 4d6655c817c9..9f5493194a82 100644 --- a/docs/fr-fr/flashing.md +++ b/docs/fr-fr/flashing.md @@ -27,15 +27,15 @@ Méthodes de flash compatibles : * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (interface graphique recommandé) * [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` avec QMK (outil en ligne de commande recommandé) -Ordre des actions : +Ordre des actions: 1. Pressez le keycode `RESET`, ou appuyez sur le bouton physique RESET ou alors créez un contact entre RST et GND. 2. Attendez que l'OS detecte l'appareil. 3. Éffacez la mémoire, cela peut être fait automatiquement. 4. Flasher le fichier .hex. -5. Redémarrez l'appareil en mode « application », cela peut être fait automatiquement. +5. Redémarrez l'appareil en mode «application», cela peut être fait automatiquement. -Alternativement : +Alternativement: make ::dfu @@ -48,11 +48,11 @@ QMK a un fork du bootloader LUFA DFU qui vous permet de faire un simple scan de #define QMK_LED E6 #define QMK_SPEAKER C6 -Le fabricant et le nom du produit proviennent de vos définitions dans fichier `config.h`, et la chaîne de caractère « bootloader » est ajoutée au nom du produit. +Le fabricant et le nom du produit proviennent de vos définitions dans fichier `config.h`, et la chaîne de caractère «bootloader» est ajoutée au nom du produit. -Pour génerer le bootloader, utilisez la cible `bootloader`. Exemple : `make planck/rev4:default:bootloader`. +Pour génerer le bootloader, utilisez la cible `bootloader`. Exemple: `make planck/rev4:default:bootloader`. -Pour génerer un fichier .hex prêt pour la production qui contiendra tant l'application que le bootloader, utilisez la cible `production`. Exemple : `make planck/rev4:default:production`. +Pour génerer un fichier .hex prêt pour la production qui contiendra tant l'application que le bootloader, utilisez la cible `production`. Exemple: `make planck/rev4:default:production`. ### Commandes DFU @@ -67,7 +67,7 @@ Il y a plusieurs commandes DFU que vous pouvez utiliser pour flasher le firmware Les cartes arduinos et leurs clones utilisent le [bootloader Caterina](https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/caterina) (tous les claviers utilisant un Pro Micro, ou un clone). Ils utilisent aussi le protocole avr109 pour communiquer en virtuellement en série (serial en anglais). Les bootloaders comme le [A-Star](https://www.pololu.com/docs/0J61/9) sont basés sur Caterina. -Pour vérifier la compatibilité avec un bootloader Caterina, vérifiez que ce bloc est présent dans votre fichier `rules.mk` : +Pour vérifier la compatibilité avec un bootloader Caterina, vérifiez que ce bloc est présent dans votre fichier `rules.mk`: ```make # Bootloader selection @@ -81,20 +81,20 @@ Pour vérifier la compatibilité avec un bootloader Caterina, vérifiez que ce b BOOTLOADER = caterina ``` -Flashers compatibles : +Flashers compatibles: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (Interface graphique recommandée) * [avrdude](https://www.nongnu.org/avrdude/) avec avr109 / `:avrdude` (Outil en ligne de commande recommandé) * [AVRDUDESS](https://github.com/zkemble/AVRDUDESS) -Séquence de flash :  +Séquence de flash : 1. Pressez la touche avec le keycode `RESET`, ou reliez les ports GND et RST. Vous n'avez que 7 secondes pour flasher une fois que l'opération a été faite. 2. Attendez que l'OS détecte l'appareil. 3. Flasher le fichier .hex. 4. Attendez que l'appareil redémarre automatiquement. -ou, utilisez : +ou, utilisez: make ::avrdude @@ -111,7 +111,7 @@ Il existe un certain nombre de commandes DFU que vous pouvez utiliser pour mettr Halfkay est un protocole ultra-simple développé par PJRC qui utilise HID et qui est fourni avec tous les Teensys après le modèle 2.0. -Pour vérifier la compatibilité avec le booloader Halfkay, vérifiez que ce bloc est présent dans votre fichier `rules.mk` : +Pour vérifier la compatibilité avec le booloader Halfkay, vérifiez que ce bloc est présent dans votre fichier `rules.mk`: ```make # Bootloader selection @@ -125,24 +125,24 @@ Pour vérifier la compatibilité avec le booloader Halfkay, vérifiez que ce blo BOOTLOADER = halfkay ``` -Flasher compatibles : +Flasher compatibles: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (Interface graphique recomandée) * [Teensy Loader](https://www.pjrc.com/teensy/loader.html) (petit utilitaire ultra simple) [Teensy Loader en ligne de commande](https://www.pjrc.com/teensy/loader_cli.html) (Outil en ligne de commande recommandé) -Séquence de flash : +Séquence de flash: 1. Pressez la touche du keycode `RESET`, ou reliez les ports RST et GND rapidement. Vous avez ensuite 7 secondes pour réaliser le flash. 2. Attendez que l'OS détecte l'appareil. 3. Flasher le fichier .hex. -4. Redémarrez l'appareil en mode « application ». Cela peut être fait automatiquement. +4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement. ## USBasploader USBasploader est un bootloader développé par matrixstorm. Il est utilisé sur des processeurs AVR non-USB comme le ATmega328P, qui fonctionne grâce à V-USB. -Pour vérifier la compatibilité avec le booloader USBasploader, vérifiez que ce bloc est présent dans votre fichier `rules.mk` : +Pour vérifier la compatibilité avec le booloader USBasploader, vérifiez que ce bloc est présent dans votre fichier `rules.mk`: ```make # Bootloader selection @@ -156,24 +156,24 @@ Pour vérifier la compatibilité avec le booloader USBasploader, vérifiez que c BOOTLOADER = USBasp ``` -Flashers compatibles : +Flashers compatibles: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (Interface graphique recommandé) * [avrdude](https://www.nongnu.org/avrdude/) avec le programmeur `usbasp`. * [AVRDUDESS](https://github.com/zkemble/AVRDUDESS) -Séquence de flash : +Séquence de flash: 1. Pressez la touche du keycode `RESET`, ou reliez le port de boot pendant que RST et GND snt reliés. Cela doit être fait très rapidement. 2. Attendez que l'OS détecte l'appareil. 3. Flasher le fichier .hex. -4. Redémarrez l'appareil en mode « application ». Cela peut être fait automatiquement. +4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement. ## BootloadHID BootloadHID est un bootloader pour les microcontrôleurs AVR. L'utilitaire de téleversement ne demande pas de drivers au niveau du kernel et peut être lancé sans installer aucune DLLs. -Pour vérifier la compatibilité avec le bootloader bootloadHID, vérifiez que ce bloc existe dans votre fichier `rules.mk` :  +Pour vérifier la compatibilité avec le bootloader bootloadHID, vérifiez que ce bloc existe dans votre fichier `rules.mk` : ```make # Bootloader selection @@ -187,50 +187,50 @@ Pour vérifier la compatibilité avec le bootloader bootloadHID, vérifiez que c BOOTLOADER = bootloadHID ``` -Utilitaires de flash compatibles : +Utilitaires de flash compatibles: * [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash) (Utilitaire avec interface graphique recommandé) * [bootloadhid Command Line](https://www.obdev.at/products/vusb/bootloadhid.html) / `:BootloadHID` avec QMK (utilitaire en ligne de commande recommandé) Séquence de flash -1. Entrez dans le bootloader en utilisant l'une de ces méthodes : +1. Entrez dans le bootloader en utilisant l'une de ces méthodes: * Pressez la touche du keycode `RESET` (Cela ne fonctionnera pas sur certains appareils). - * Verrouillez la touche « Salt » tout en branchant le clavier (Généralement ce principe est documenté dans le fichier readme du clavier) + * Verrouillez la touche «Salt» tout en branchant le clavier (Généralement ce principe est documenté dans le fichier readme du clavier) 2. Attendez que l'OS détecte l'appareil. 3. Flasher le fichier .hex. -4. Redémarrez l'appareil en mode « application ». Cela peut être fait automatiquement. +4. Redémarrez l'appareil en mode «application». Cela peut être fait automatiquement. -Ou alors : +Ou alors: make ::bootloadHID ## STM32 -Tous les processeurs STM32 contiennent un bootloader installé en usine qui ne peut pas être modifié ou supprimé. Certains processeurs STM32 ont des bootloaders qui ne peuvent pas être programmés par USB (ex : STM32F103) mais le processus reste le même. +Tous les processeurs STM32 contiennent un bootloader installé en usine qui ne peut pas être modifié ou supprimé. Certains processeurs STM32 ont des bootloaders qui ne peuvent pas être programmés par USB (ex: STM32F103) mais le processus reste le même. Pour le moment, aucune variable `BOOTLOADER` n'est nécessaire dans le fichier `rules.mk`. -Flashers compatibles : +Flashers compatibles: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (interface graphique recommandé) * [dfu-util](https://github.com/Stefan-Schmidt/dfu-util) / `:dfu-util` (utilitaire en ligne de commande recommandé) Séquence pour flasher: -1. Entrez dans le bootloader en utilisant l'une de ces méthodes : +1. Entrez dans le bootloader en utilisant l'une de ces méthodes: * Utilisez une touche sur laquelle le keycode `RESET` (Cela peut ne pas fonctionner sur les appareils STM32F042) * Si un circuit de réinitialisation (Reset) est présent alors utilisé le bouton qui lui est dédié. * Autrement, vous devez réaliser une liaison entre BOOT0 et VCC (en appuyant sur le bouton ou à l'aide d'un pont) puis faire un pont entre RESET et GND et enfin relacher le pont BOOT0. 2. Attendre que l'os détecte l'appareil. 3. Flasher un fichier `.bin`.h * Vous allez recevoir un avertissement à propos de la signature DFU. Ignorez-la. -4. Réinitialisez l'appareil en mode « application ». Cela peut être fait automatiquement. - * Si vous êtes en train de travailler en ligne de commande, par exemple avec un `make planck/rev6:default:dfu-util` alors soyez bien sur que l'argument `:leave` est passé aux arguments DFU grâce à la variable `DFU_ARGS` à l'intérieur de votre fichier `rules.mk` (Ex : `DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave`) afin que votre appareil redémarre après avoir été flashé. +4. Réinitialisez l'appareil en mode «application». Cela peut être fait automatiquement. + * Si vous êtes en train de travailler en ligne de commande, par exemple avec un `make planck/rev6:default:dfu-util` alors soyez bien sur que l'argument `:leave` est passé aux arguments DFU grâce à la variable `DFU_ARGS` à l'intérieur de votre fichier `rules.mk` (Ex: `DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave`) afin que votre appareil redémarre après avoir été flashé. ### Commandes STM32 -Il y a différentes commandes que vous pouvez utiliser pour flasher un firmware dans un appareil STM32  : +Il y a différentes commandes que vous pouvez utiliser pour flasher un firmware dans un appareil STM32: * `:dfu-util` - C'est l'option standard pour flasher un appareil STM32. Le script attendra qu'un bootloader STM32 soit présent. * `:dfu-util-split-left` - Permet de flasher un firmware normalement, tout comme l'option précédente mais permet de configurer le côté gauche des paramètres EEPROM sur un clavier scindé. diff --git a/docs/fr-fr/newbs_flashing.md b/docs/fr-fr/newbs_flashing.md index c9849eb10482..f1f6b1131ff8 100644 --- a/docs/fr-fr/newbs_flashing.md +++ b/docs/fr-fr/newbs_flashing.md @@ -88,7 +88,7 @@ Par exemple, si votre keymap s'appelle "xyverz" et que vous fabriquez une keymap La commande va vérifier la configuration du clavier, puis tentera de le flasher en fonction du bootloader (chargeur d’amorçage) spécifié. Cela signifie que vous n'avez pas besoin de savoir quel bootloader votre clavier utilise. Exécutez simplement la commande et laissez-le faire le gros du travail. -Cependant, tout dépend du bootloader qui est installé sur le clavier. Si cette information n’est pas configurée ou si vous tentez de flasher un clavier qui ne permet pas d’être flashé alors vous obtiendrez cette erreur : +Cependant, tout dépend du bootloader qui est installé sur le clavier. Si cette information n’est pas configurée ou si vous tentez de flasher un clavier qui ne permet pas d’être flashé alors vous obtiendrez cette erreur: WARNING: This board's bootloader is not specified or is not supported by the ":flash" target at this time. @@ -326,7 +326,7 @@ Il y aun certain nombre de commandes du DFU que vous pouvez utiliser pour flash ### BootloadHID -Pour les claviers basés sur Bootmapper Client(BMC)/bootloadHID/ATmega32A, si vous êtes prêts à compiler et flasher le firmware, ouvrez votre fenêtre de terminal et lancez la commande suivante : +Pour les claviers basés sur Bootmapper Client(BMC)/bootloadHID/ATmega32A, si vous êtes prêts à compiler et flasher le firmware, ouvrez votre fenêtre de terminal et lancez la commande suivante: make ::bootloaderHID @@ -351,7 +351,7 @@ Error opening HIDBoot device: The specified device was not found Trying again in 5s. ``` -Une fois ce résultat obtenu, réinitialisez le contrôleur. Le résultat suivant devrait s’afficher : +Une fois ce résultat obtenu, réinitialisez le contrôleur. Le résultat suivant devrait s’afficher: ``` Page size = 128 (0x80) diff --git a/docs/getting_started_make_guide.md b/docs/getting_started_make_guide.md index 7198576e3ade..70390a510587 100644 --- a/docs/getting_started_make_guide.md +++ b/docs/getting_started_make_guide.md @@ -14,7 +14,7 @@ The full syntax of the `make` command is `::`, The `` means the following * If no target is given, then it's the same as `all` below * `all` compiles as many keyboard/revision/keymap combinations as specified. For example, `make planck/rev4:default` will generate a single .hex, while `make planck/rev4:all` will generate a hex for every keymap available to the planck. -* `flash`, `dfu`, `teensy`, `avrdude`, `dfu-util`, or `bootloadHID` compile and upload the firmware to the keyboard. If the compilation fails, then nothing will be uploaded. The programmer to use depends on the keyboard. For most keyboards it's `dfu`, but for ChibiOS keyboards you should use `dfu-util`, and `teensy` for standard Teensys. To find out which command you should use for your keyboard, check the keyboard specific readme. +* `flash`, `dfu`, `teensy`, `avrdude`, `dfu-util`, or `bootloadhid` compile and upload the firmware to the keyboard. If the compilation fails, then nothing will be uploaded. The programmer to use depends on the keyboard. For most keyboards it's `dfu`, but for ChibiOS keyboards you should use `dfu-util`, and `teensy` for standard Teensys. To find out which command you should use for your keyboard, check the keyboard specific readme. Visit the [Flashing Firmware](flashing.md) guide for more details of the available bootloaders. * **Note**: some operating systems need privileged access for these commands to work. This means that you may need to setup [`udev rules`](faq_build.md#linux-udev-rules) to access these without root access, or to run the command with root access (`sudo make planck/rev4:default:flash`). * `clean`, cleans the build output folders to make sure that everything is built from scratch. Run this before normal compilation if you have some unexplainable problems. @@ -22,8 +22,8 @@ The `` means the following The following targets are for developers: -* `show-path` shows the path of the source and object files. -* `dump-vars` dumps the makefile variable. +* `show_path` shows the path of the source and object files. +* `dump_vars` dumps the makefile variable. * `objs-size` displays the size of individual object files. * `show_build_options` shows the options set in 'rules.mk'. * `check-md5` displays the md5 checksum of the generated binary file. diff --git a/docs/getting_started_vagrant.md b/docs/getting_started_vagrant.md index b71f8908b9c0..114f8756714c 100644 --- a/docs/getting_started_vagrant.md +++ b/docs/getting_started_vagrant.md @@ -24,7 +24,7 @@ The "easy" way to flash the firmware is using a tool from your host OS: If you want to program via the command line you can uncomment the ['modifyvm'] lines in the Vagrantfile to enable the USB passthrough into Linux and then program using the command line tools like dfu-util/dfu-programmer or you can install the Teensy CLI version. ## Vagrantfile Overview -The development environment is configured to run the QMK Docker image, `qmkfm/base_container`. This not only ensures predictability between systems, it also mirrors the CI environment. +The development environment is configured to run the QMK Docker image, `qmkfm/qmk_cli`. This not only ensures predictability between systems, it also mirrors the CI environment. ## FAQ diff --git a/docs/hand_wire.md b/docs/hand_wire.md index 05d3af340b56..e79a80375ace 100644 --- a/docs/hand_wire.md +++ b/docs/hand_wire.md @@ -113,7 +113,7 @@ Don't hold the iron on the solder/joint longer than necessary. Heat will be cond #### Soldering the Diodes -Starting at the top-left switch, place the diode (with tweezers if you have them) on the switch so that the diode itself is vertically aligned, and the black line is facing toward you. The input lead of the diode should be touching the left contact on the switch, and the bent, output end should be facing to the right and resting on the switch there, like this: +Starting at the top-left switch, place the diode (with tweezers if you have them) on the switch so that the diode itself is vertically aligned, and the black line is facing toward you. Make sure the diodes are soldered in parallel (diode outputs shouldn't connect to diode inputs). The input lead of the diode should be touching the left contact on the switch, and the bent, output end should be facing to the right and resting on the switch there, like this: ![soldering-diodes-01.png](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/docs/hand_wire/soldering-diodes-01.png) diff --git a/docs/hardware_avr.md b/docs/hardware_avr.md index eb536ca961a0..3d58cdc0558e 100644 --- a/docs/hardware_avr.md +++ b/docs/hardware_avr.md @@ -6,26 +6,28 @@ If you have not yet you should read the [Keyboard Guidelines](hardware_keyboard_ ## Adding Your AVR Keyboard to QMK -QMK has a number of features to simplify working with AVR keyboards. For most keyboards you don't have to write a single line of code. To get started, run the `util/new_keyboard.sh` script: +QMK has a number of features to simplify working with AVR keyboards. For most keyboards you don't have to write a single line of code. To get started, run `qmk new-keyboard`: ``` -$ ./util/new_keyboard.sh -Generating a new QMK keyboard directory - -Keyboard Name: mycoolkb -Keyboard Type [avr]: -Your Name [John Smith]: - -Copying base template files... done -Copying avr template files... done -Renaming keyboard files... done -Replacing %KEYBOARD% with mycoolkb... done -Replacing %YOUR_NAME% with John Smith... done - -Created a new keyboard called mycoolkb. - -To start working on things, cd into keyboards/mycoolkb, -or open the directory in your favourite text editor. +$ qmk new-keyboard +Ψ Generating a new QMK keyboard directory + +Keyboard Name: mycoolkeeb +Keyboard Type: + 1. avr + 2. ps2avrgb +Please enter your choice: [1] +Your Name: [John Smith] +Ψ Copying base template files... +Ψ Copying avr template files... +Ψ Renaming keyboard.[ch] to mycoolkeeb.[ch]... +Ψ Replacing %YEAR% with 2021... +Ψ Replacing %KEYBOARD% with mycoolkeeb... +Ψ Replacing %YOUR_NAME% with John Smith... + +Ψ Created a new keyboard called mycoolkeeb. +Ψ To start working on things, `cd` into keyboards/mycoolkeeb, +Ψ or open the directory in your preferred text editor. ``` This will create all the files needed to support your new keyboard, and populate the settings with default values. Now you just need to customize it for your keyboard. diff --git a/docs/hardware_keyboard_guidelines.md b/docs/hardware_keyboard_guidelines.md index 4f32715046a9..7630b44e0c40 100644 --- a/docs/hardware_keyboard_guidelines.md +++ b/docs/hardware_keyboard_guidelines.md @@ -189,9 +189,9 @@ Hardware files (such as plates, cases, pcb) can be contributed to the [qmk.fm re Given the amount of functionality that QMK exposes it's very easy to confuse new users. When putting together the default firmware for your keyboard we recommend limiting your enabled features and options to the minimal set needed to support your hardware. Recommendations for specific features follow. -### Bootmagic and Command +### Magic Keycodes and Command -[Bootmagic](feature_bootmagic.md) and [Command](feature_command.md) are two related features that allow a user to control their keyboard in non-obvious ways. We recommend you think long and hard about if you're going to enable either feature, and how you will expose this functionality. Keep in mind that users who want this functionality can enable it in their personal keymaps without affecting all the novice users who may be using your keyboard as their first programmable board. +[Magic Keycodes](keycodes_magic.md) and [Command](feature_command.md) are two related features that allow a user to control their keyboard in non-obvious ways. We recommend you think long and hard about if you're going to enable either feature, and how you will expose this functionality. Keep in mind that users who want this functionality can enable it in their personal keymaps without affecting all the novice users who may be using your keyboard as their first programmable board. By far the most common problem new users encounter is accidentally triggering Bootmagic while they're plugging in their keyboard. They're holding the keyboard by the bottom, unknowingly pressing in alt and spacebar, and then they find that these keys have been swapped on them. We recommend leaving this feature disabled by default, but if you do turn it on consider setting `BOOTMAGIC_KEY_SALT` to a key that is hard to press while plugging your keyboard in. diff --git a/docs/he-il/README.md b/docs/he-il/README.md index 3b0ff146185f..5c113eb498df 100644 --- a/docs/he-il/README.md +++ b/docs/he-il/README.md @@ -2,7 +2,6 @@ # קושחה עבור Quantum Mechanical Keyboard [![גירסה נוכחית](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) -[![מצב הבניה](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware) [![ערוץ דיסקורד](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh) [![מצב מסמכים](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm) [![תומכי GitHub](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) diff --git a/docs/ja/README.md b/docs/ja/README.md index c02a14b487ce..aefacbc414aa 100644 --- a/docs/ja/README.md +++ b/docs/ja/README.md @@ -6,7 +6,6 @@ --> [![現在のバージョン](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) -[![ビルド状態](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware) [![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh) [![ドキュメントの状態](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm) [![GitHub 貢献者](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) diff --git a/docs/ja/_summary.md b/docs/ja/_summary.md index d6b67440a2f2..b90480041c73 100644 --- a/docs/ja/_summary.md +++ b/docs/ja/_summary.md @@ -3,7 +3,6 @@ * [セットアップ](ja/newbs_getting_started.md) * [初めてのファームウェアの構築](ja/newbs_building_firmware.md) * [ファームウェアのフラッシュ](ja/newbs_flashing.md) - * [テストとデバッグ](ja/newbs_testing_debugging.md) * [手助けを得る/サポート](ja/support.md) * [他のリソース](ja/newbs_learn_more_resources.md) * [シラバス](ja/syllabus.md) @@ -11,7 +10,8 @@ * FAQ * [一般的な FAQ](ja/faq_general.md) * [QMK のビルド/コンパイル](ja/faq_build.md) - * [QMK のデバッグ/トラブルシューティング](ja/faq_debug.md) + * [QMK のデバッグ](ja/faq_debug.md) + * [QMK のトラブルシューティング](ja/faq_misc.md) * [キーマップ FAQ](ja/faq_keymap.md) * [用語](ja/reference_glossary.md) @@ -23,11 +23,13 @@ * [概要](ja/api_overview.md) * [API ドキュメント](ja/api_docs.md) * [キーボードサポート](ja/reference_configurator_support.md) + * [デフォルトキーマップの追加](ja/configurator_default_keymaps.md) * CLI * [概要](ja/cli.md) * [設定](ja/cli_configuration.md) * [コマンド](ja/cli_commands.md) + * [Tab 補完](ja/cli_tab_complete.md) * QMK を使う * ガイド @@ -41,8 +43,8 @@ * [書き込み](ja/flashing.md) * [ATmega32A の書き込み (ps2avrgb)](ja/flashing_bootloadhid.md) * IDE - * [Eclipse で QMK を使用](ja/other_eclipse.md) - * [VSCode で QMK を使用](ja/other_vscode.md) + * [QMK での Eclipse の使用](ja/other_eclipse.md) + * [QMK での VSCode の使用](ja/other_vscode.md) * Git のベストプラクティス * [入門](ja/newbs_git_best_practices.md) * [フォーク](ja/newbs_git_using_your_master_branch.md) @@ -79,6 +81,7 @@ * [ワンショットキー](ja/one_shot_keys.md) * [ポインティング デバイス](ja/feature_pointing_device.md) * [ロー HID](ja/feature_rawhid.md) + * [シーケンサー](ja/feature_sequencer.md) * [スワップハンド](ja/feature_swap_hands.md) * [タップダンス](ja/feature_tap_dance.md) * [タップホールド設定](ja/tap_hold.md) @@ -103,6 +106,7 @@ * [DIP スイッチ](ja/feature_dip_switch.md) * [エンコーダ](ja/feature_encoders.md) * [触覚フィードバック](ja/feature_haptic_feedback.md) + * [ジョイスティック](ja/feature_joystick.md) * [LED インジケータ](ja/feature_led_indicators.md) * [Proton C 変換](ja/proton_c_conversion.md) * [PS/2 マウス](ja/feature_ps2_mouse.md) @@ -116,11 +120,8 @@ * 互換性を破る変更/Breaking changes * [概要](ja/breaking_changes.md) * [プルリクエストにフラグが付けられた](ja/breaking_changes_instructions.md) - * 履歴 - * [2020年8月29日](ja/ChangeLog/20200829.md) - * [2020年5月30日](ja/ChangeLog/20200530.md) - * [2020年2月29日](ja/ChangeLog/20200229.md) - * [2019年8月30日](ja/ChangeLog/20190830.md) + * [最近の変更履歴](ChangeLog/20210227.md "QMK v0.12.0 - 2021 Feb 27") + * [過去の互換性を破る変更](ja/breaking_changes_history.md) * C 開発 * [ARM デバッグ ガイド](ja/arm_debugging.md) @@ -129,11 +130,13 @@ * [互換性のあるマイクロコントローラ](ja/compatible_microcontrollers.md) * [ドライバ](ja/hardware_drivers.md) * [ADC ドライバ](ja/adc_driver.md) + * [オーディオドライバ](ja/audio_driver.md) * [I2C ドライバ](ja/i2c_driver.md) * [SPI ドライバ](ja/spi_driver.md) * [WS2812 ドライバ](ja/ws2812_driver.md) * [EEPROM ドライバ](ja/eeprom_driver.md) * [シリアル ドライバ](ja/serial_driver.md) + * [UART ドライバ](ja/uart_driver.md) * [GPIO 制御](ja/internals_gpio_control.md) * [キーボード ガイドライン](ja/hardware_keyboard_guidelines.md) @@ -155,6 +158,7 @@ * [QMK への貢献](ja/contributing.md) * [QMK ドキュメントの翻訳](ja/translating.md) * [設定オプション](ja/config_options.md) + * [データ駆動型コンフィギュレーション](ja/data_driven_config.md) * [Make ドキュメント](ja/getting_started_make_guide.md) * [ドキュメント ベストプラクティス](ja/documentation_best_practices.md) * [ドキュメント テンプレート](ja/documentation_templates.md) diff --git a/docs/ja/api_docs.md b/docs/ja/api_docs.md index 2d057c19bdce..34ed50c4972a 100644 --- a/docs/ja/api_docs.md +++ b/docs/ja/api_docs.md @@ -1,8 +1,8 @@ # QMK API このページは QMK API の使い方を説明します。もしあなたがアプリケーション開発者であれば、全ての [QMK](https://qmk.fm) キーボードのファームウェアをコンパイルするために、この API を使うことができます。 diff --git a/docs/ja/api_overview.md b/docs/ja/api_overview.md index 2a156f382c76..e563bdd10350 100644 --- a/docs/ja/api_overview.md +++ b/docs/ja/api_overview.md @@ -1,8 +1,8 @@ # QMK API QMK API は、Web と GUI ツールが [QMK](https://qmk.fm/) によってサポートされるキーボード用の任意のキーマップをコンパイルするために使うことができる、非同期 API を提供します。標準のキーマップテンプレートは、C コードのサポートを必要としない全ての QMK キーコードをサポートします。キーボードのメンテナは独自のカスタムテンプレートを提供して、より多くの機能を実現することができます。 diff --git a/docs/ja/breaking_changes.md b/docs/ja/breaking_changes.md index 0f7256e684d6..35f583789733 100644 --- a/docs/ja/breaking_changes.md +++ b/docs/ja/breaking_changes.md @@ -117,5 +117,4 @@ git push --force * [ ] `git push origin develop` * GitHub Actions * [ ] `develop`の PR を作成します - * [ ] travis がクリーンに戻ったことを確認します * [ ] `develop` PR をマージします diff --git a/docs/ja/cli_commands.md b/docs/ja/cli_commands.md index 81cb03cfe5bb..35937dbbcb6d 100644 --- a/docs/ja/cli_commands.md +++ b/docs/ja/cli_commands.md @@ -211,7 +211,7 @@ qmk new-keymap [-kb KEYBOARD] [-km KEYMAP] # 開発者用コマンド -## `qmk cformat` +## `qmk format-c` このコマンドは clang-format を使って C コードを整形します。 @@ -222,25 +222,25 @@ qmk new-keymap [-kb KEYBOARD] [-km KEYMAP] **指定したファイルに対する使い方**: ``` -qmk cformat [file1] [file2] [...] [fileN] +qmk format-c [file1] [file2] [...] [fileN] ``` **全てのコアファイルに対する使い方**: ``` -qmk cformat -a +qmk format-c -a ``` **origin/master で変更されたファイルのみに対する使い方**: ``` -qmk cformat +qmk format-c ``` **branch_name で変更されたファイルのみに対する使い方**: ``` -qmk cformat -b branch_name +qmk format-c -b branch_name ``` ## `qmk docs` @@ -275,14 +275,14 @@ $ qmk kle2json -f kle.txt -f Ψ Wrote out to info.json ``` -## `qmk pyformat` +## `qmk format-py` このコマンドは `qmk_firmware` 内の python コードを整形します。 **使用法**: ``` -qmk pyformat +qmk format-py ``` ## `qmk pytest` diff --git a/docs/ja/cli_configuration.md b/docs/ja/cli_configuration.md index f4857a602941..6ed791b47132 100644 --- a/docs/ja/cli_configuration.md +++ b/docs/ja/cli_configuration.md @@ -74,7 +74,7 @@ default.keymap: None -> default qmk config compile -### 単一キーの例 +### 単一キーの例 :id=single-key-example qmk config compile.keyboard diff --git a/docs/ja/cli_development.md b/docs/ja/cli_development.md index 47262213aea6..28cdd91c1ef7 100644 --- a/docs/ja/cli_development.md +++ b/docs/ja/cli_development.md @@ -192,7 +192,7 @@ cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.ou # テスト、リントおよびフォーマット -nose2、flake8 および yapf を使ってコードをテスト、リントおよびフォーマットします。これらのテストを実行するために `pytest` と `pyformat` サブコマンドを使うことができます。 +nose2、flake8 および yapf を使ってコードをテスト、リントおよびフォーマットします。これらのテストを実行するために `pytest` と `format-py` サブコマンドを使うことができます。 ### テストとリント @@ -200,7 +200,7 @@ nose2、flake8 および yapf を使ってコードをテスト、リントお ### フォーマット - qmk pyformat + qmk format-py ## フォーマットの詳細 diff --git a/docs/ja/coding_conventions_c.md b/docs/ja/coding_conventions_c.md index dcc214814833..c3d2de734e1f 100644 --- a/docs/ja/coding_conventions_c.md +++ b/docs/ja/coding_conventions_c.md @@ -1,8 +1,8 @@ # コーディング規約 (C) 私たちのスタイルのほとんどはかなり理解しやすいですが、現時点では完全に一貫しているわけではありません。変更箇所周辺のコードのスタイルと一致させる必要がありますが、そのコードに一貫性が無い場合や不明瞭な場合は以下のガイドラインに従ってください: diff --git a/docs/ja/compatible_microcontrollers.md b/docs/ja/compatible_microcontrollers.md index fdd11f14fa10..85b31f3f1206 100644 --- a/docs/ja/compatible_microcontrollers.md +++ b/docs/ja/compatible_microcontrollers.md @@ -32,9 +32,15 @@ QMK は十分な容量のフラッシュメモリを備えた USB 対応 AVR ま * [STM32F103](https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html) * [STM32F303](https://www.st.com/en/microcontrollers-microprocessors/stm32f303.html) * [STM32F401](https://www.st.com/en/microcontrollers-microprocessors/stm32f401.html) +* [STM32F407](https://www.st.com/en/microcontrollers-microprocessors/stm32f407-417.html) * [STM32F411](https://www.st.com/en/microcontrollers-microprocessors/stm32f411.html) +* [STM32F446](https://www.st.com/en/microcontrollers-microprocessors/stm32f446.html) * [STM32G431](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x1.html) * [STM32G474](https://www.st.com/en/microcontrollers-microprocessors/stm32g4x4.html) +* [STM32L412](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) +* [STM32L422](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) +* [STM32L433](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html) +* [STM32L443](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html) ### NXP (Kinetis) diff --git a/docs/ja/config_options.md b/docs/ja/config_options.md index 170beadef41f..6d7c4771729a 100644 --- a/docs/ja/config_options.md +++ b/docs/ja/config_options.md @@ -1,8 +1,8 @@ # QMK の設定 QMK はほぼ無制限に設定可能です。可能なところはいかなるところでも、やりすぎな程、ユーザーがコードサイズを犠牲にしてでも彼らのキーボードをカスタマイズをすることを許しています。ただし、このレベルの柔軟性により設定が困難になります。 @@ -72,16 +72,22 @@ QMK での全ての利用可能な設定にはデフォルトがあります。 * (循環させるために)代替音声を有効にします * `#define C4_AUDIO` * ピン C4 のオーディオを有効にします + * 非推奨。`#define AUDIO_PIN C4` を使ってください * `#define C5_AUDIO` * ピン C5 のオーディオを有効にします + * 非推奨。`#define AUDIO_PIN C5` を使ってください * `#define C6_AUDIO` * ピン C6 のオーディオを有効にします + * 非推奨。`#define AUDIO_PIN C6` を使ってください * `#define B5_AUDIO` - * ピン B5 のオーディオを有効にします (C[4-6]\_AUDIO の1つとともに B[5-7]\_AUDIO の1つが有効にされている場合、疑似ステレオが有効にされます) + * ピン B5 のオーディオを有効にします (C ピンの1つとともに B ピンの1つが有効にされている場合、疑似ステレオが有効にされます) + * 非推奨。もし `AUDIO_PIN` で `C` ピンを有効にしている場合は、`#define AUDIO_PIN_ALT B5` を使い、そうでなければ `#define AUDIO_PIN B5` を使います。 * `#define B6_AUDIO` - * ピン B6 のオーディオを有効にします (C[4-6]\_AUDIO の1つとともに B[5-7]\_AUDIO の1つが有効にされている場合、疑似ステレオが有効にされます) + * ピン B6 のオーディオを有効にします (C ピンの1つとともに B ピンの1つが有効にされている場合、疑似ステレオが有効にされます) + * 非推奨。もし `AUDIO_PIN` で `C` ピンを有効にしている場合は、`#define AUDIO_PIN_ALT B6` を使い、そうでなければ `#define AUDIO_PIN B6` を使います。 * `#define B7_AUDIO` - * ピン B7 のオーディオを有効にします (C[4-6]\_AUDIO の1つとともに B[5-7]\_AUDIO の1つが有効にされている場合、疑似ステレオが有効にされます) + * ピン B7 のオーディオを有効にします (C ピンの1つとともに B ピンの1つが有効にされている場合、疑似ステレオが有効にされます) + * 非推奨。もし `AUDIO_PIN` で `C` ピンを有効にしている場合は、`#define AUDIO_PIN_ALT B7` を使い、そうでなければ `#define AUDIO_PIN B7` を使います。 * `#define BACKLIGHT_PIN B7` * バックライトのピン * `#define BACKLIGHT_LEVELS 3` @@ -93,7 +99,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。 * `#define DEBOUNCE 5` * ピンの値を読み取る時の遅延 (5がデフォルト) * `#define LOCKING_SUPPORT_ENABLE` - * メカニカルロックのサポート。キーマップで KC_LCAP、 KC_LNUM そして KC_LSCR を使えるようにします + * メカニカルロックのサポート。キーマップで KC_LCAP、KC_LNUM そして KC_LSCR を使えるようにします * `#define LOCKING_RESYNC_ENABLE` * キーボードの LED の状態をスイッチの状態と一致させ続けようとします * `#define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)` @@ -102,6 +108,8 @@ QMK での全ての利用可能な設定にはデフォルトがあります。 * デバイスの USB 経由の最大電力(mA) を設定します (デフォルト: 500) * `#define USB_POLLING_INTERVAL_MS 10` * キーボード、マウス および 共有 (NKRO/メディアキー) インタフェースのための USB ポーリングレートをミリ秒で設定します +* `#define USB_SUSPEND_WAKEUP_DELAY 200` + * ウェイクアップパケットを送信した後で一時停止するミリ秒を設定します * `#define F_SCL 100000L` * I2C を使用するキーボードのための I2C クロックレート速度を設定します。デフォルトは `400000L` ですが、`split_common` を使っているキーボードは別でデフォルトは `100000L` です。 @@ -142,6 +150,8 @@ QMK での全ての利用可能な設定にはデフォルトがあります。 * `#define RETRO_TAPPING` * 押下とリリースの間に他のキーによる中断がなければ、TAPPING_TERM の後であってもとにかくタップします * 詳細は [Retro Tapping](ja/tap_hold.md#retro-tapping) を見てください +* `#define RETRO_TAPPING_PER_KEY` + * キーごとの `RETRO_TAPPING` 設定の処理を有効にします * `#define TAPPING_TOGGLE 2` * トグルを引き起こす前のタップ数 * `#define PERMISSIVE_HOLD` @@ -240,7 +250,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。 * DFU ブートローダを搭載したボードでは、これらの EEPROM ファイルを書き込むために `:dfu-split-left`/`:dfu-split-right` を使うことができます * Caterina ブートローダを搭載したボード (標準的な Pro Micros など)では、`:avrdude-split-left`/`:avrdude-split-right` を使ってください * ARM DFU ブートローダを搭載したボード (Proton C など)では、`:dfu-util-split-left`/`:dfu-util-split-right` を使ってください -3. `MASTER_RIGHT` を設定します: USBポートに差し込まれた側はマスター側で右側であると決定されます(デフォルトの逆) +3. `MASTER_RIGHT` を設定します: USB ポートに差し込まれた側はマスター側で右側であると決定されます(デフォルトの逆) 4. デフォルト: USB ポートに差し込まれている側がマスター側であり、左側であると見なされます。スレーブ側は右側です #### 左右を定義します diff --git a/docs/ja/contributing.md b/docs/ja/contributing.md index 90d39bb01c7d..14ef598ea910 100644 --- a/docs/ja/contributing.md +++ b/docs/ja/contributing.md @@ -1,8 +1,8 @@ # 貢献方法 👍🎉 まず、これを読み貢献する時間を作ってくれてありがとうございます!🎉👍 @@ -153,7 +153,7 @@ enum my_keycodes { 機能やバグの修正に取り組む時に留意すべき幾つかの事があります。 * **デフォルトで無効** - QMK がサポートするほとんどのチップでメモリがかなり制限されており、現在のキーマップが壊れていないことが重要です。ですので、あなたの機能をオフにするのではなく**オン**にするようにしてください。デフォルトでオンにすべき場合、あるいはコードのサイズを小さくする必要がある場合は、相談してください。 -* **サブミットする前にローカルでコンパイル** - これが明白であることを願っていますが、コンパイルする必要があります。私たちの Travis システムは全ての問題をキャッチしますが、結果が返ってくるのを待つ代わりに幾つかのキーボードをローカルでコンパイルする方が一般的に速いです。 +* **サブミットする前にローカルでコンパイル** - これが明白であることを願っていますが、コンパイルする必要があります。プルリクエストを作成する前に、変更した内容がコンパイルできるかどうかを常に確認する必要があります。 * **リビジョンと異なるチップベースを考慮** - 僅かに異なる設定、さらには異なるチップベースを可能にするリビジョンを持つキーボードが幾つかあります。ARM および AVR でサポートされる機能を作成する、あるいは動作しないプラットフォームでは自動的に無効化するようにしてください。 * **機能の説明** - 新しいファイルあるいは既存のファイルの一部として、`docs/` の中に文章化します。文章化しないと、他の人はあなたの苦労から利益を得ることができません。 diff --git a/docs/ja/custom_quantum_functions.md b/docs/ja/custom_quantum_functions.md index c19fea5275f0..c348f85566c5 100644 --- a/docs/ja/custom_quantum_functions.md +++ b/docs/ja/custom_quantum_functions.md @@ -1,8 +1,8 @@ # キーボードの挙動をカスタマイズする方法 多くの人にとって、カスタムキーボードはボタンの押下をコンピュータに送信するだけではありません。単純なボタンの押下やマクロよりも複雑なことを実行できるようにしたいでしょう。QMK にはコードを挿入したり、機能を上書きしたり、様々な状況でキーボードの挙動をカスタマイズできるフックがあります。 @@ -190,6 +190,14 @@ void keyboard_post_init_user(void) { カスタムマトリックススキャンコードが必要な場合は、この関数を使う必要があります。また、カスタムステータス出力 (LED あるいはディスプレイなど)や、ユーザが入力していない場合でも定期的にトリガーするその他の機能のために使うことができます。 +# キーボードハウスキーピング :id=keyboard-housekeeping + +* キーボード/リビジョン: `void housekeeping_task_kb(void)` +* キーマップ: `void housekeeping_task_user(void)` + +この関数は、全ての QMK 処理の最後に、次の繰り返しを開始する前に呼び出されます。`housekeeping_task_*` の関数が呼び出された時点で、QMK が最後のマトリックススキャンを処理したと、安全に見なすことができます -- レイヤーの状態が更新され、USB レポートが送信され、LED が更新され、表示が描画されています。 + +`matrix_scan_*` と同様に、これらは MCU が処理できる頻度で呼び出されます。キーボードの応答性を維持するために、これらの関数の呼び出し中にできるだけ何もしないことをお勧めします。実際に何か特別なものを実装する必要がある場合に動作を停止させる可能性があります。 # キーボードアイドリング/ウェイクコード diff --git a/docs/ja/data_driven_config.md b/docs/ja/data_driven_config.md new file mode 100644 index 000000000000..bc8f4d24a542 --- /dev/null +++ b/docs/ja/data_driven_config.md @@ -0,0 +1,123 @@ +# データ駆動型コンフィギュレーション + + + +このページでは、QMK のデータ駆動型 JSON コンフィギュレーションシステムがどのように動作するかを説明します。これは、QMK 自体に取り組みたい開発者を対象としています。 + +## ヒストリー + +これまで、QMK は、`rules.mk` と `config.h` の2つのメカニズムを組み合わせてコンフィギュレーションされてきました。 +この方法は、QMK がほんの一握りのキーボードをサポートしていたときは上手く機能していましたが、今では、サポートするキーボードは1500近くまで成長しました。 +`keyboards` の下だけで6000個の設定ファイルがあることが推定されます。 +これらのファイルの自由形式の性質と、重複を避けるために人々が使用してきたユニークなパターンが継続的なメンテナンスを困難にしており、また、多くのキーボードが時代遅れで時には理解が難しいパターンに従っています。 + +また、CLI に慣れていない人に QMK のパワーを提供することにも取り組んでおり、VIA などの他のプロジェクトでは、プログラムをインストールするのと同じくらい簡単に QMK を使用できるように取り組んでいます。 +これらのツールには、ユーザーが QMK を最大限に活用できるように、キーボードのレイアウト方法や使用可能なピンと機能に関する情報が必要です。 +その第一歩として `info.json` を導入しました。 +QMK API は、これら3つの情報源(`config.h`、` rules.mk`、および `info.json`)を、エンドユーザーツールが使用できる信頼できる単一の情報源に結合するための取り組みです。 + +これで、`info.json`から `rules.mk` と `config.h` の値を生成することがサポートされ、信頼できる単一の情報源を持つことができます。 +これにより、自動化されたツールを使用してキーボードを保守できるため、時間と保守作業を大幅に節約できます。 + +## 概要 + +C 側では何も変わりません。 +新しいルールを作成したり、定義したりする必要がある場合は、同じプロセスに従います。 + +1. `docs/config_options.md` に追加します。 +1. 適切なコアファイルにデフォルトを設定します。 +1. 必要に応じて ifdef 文を追加します。 + +次に、新しい構成のサポートを `info.json` に追加する必要があります。 +基本的なプロセスは次のとおりです。 + +1. `data/schemas/keyboards.jsonschema` のスキーマに追加します +1. `data/maps` にマッピングを追加します +1. (オプションおよび非推奨)構成を抽出/生成するコードを追加します。 + * `lib/python/qmk/info.py` + * `lib/python/qmk/cli/generate/config_h.py` + * `lib/python/qmk/cli/generate/rules_mk.py` + +## info.json にオプションを追加する + +このセクションでは、info.json に `config.h`/`rules.mk` の値のサポートを追加することについて説明します。 + +### スキーマに追加する + +QMK では、[jsonschema](https:json-schema.org) のファイルを `data/schemas` に保持しています。 +キーボード固有の `info.json` ファイルに入る値は `keyboard.jsonschema` に保持されています。 +エンドユーザーが編集できるようにしたい値はすべてここに入れなければなりません。 + +場合によっては、新しいトップレベルキーを追加するだけで済みます。 +従うべきいくつかの例は、 `keyboard_name`、`maintainer`、 `processor`、および `url` です。 +これは、オプションが自己完結型で、他のオプションと直接関係がない場合に適しています。 + +その他の場合、1つの `object` の中に、似ているオプションを集める必要があります。 +これは、機能のサポートを追加する場合に特に当てはまります。 +このために従うべきいくつかの例は、`indicators`、`matrix_pins`、および `rgblight` です。 +新しいオプションを統合する方法がわからない場合は、[問題を開く](https://github.com/qmk/qmk_firmware/issues/new?assignees=&labels=cli%2C+python&template=other_issues.md&title=)か、[Discord で #cli に参加](https://discord.gg/heQPAgy)して、そこで会話を始めてください。 + +### マッピングを追加する + +ほとんどの場合、単純なマッピングを追加することができます。 +これらは `data/mappings/info_config.json` と `data/mappings/info_rules.json` に JSON ファイルとして保持され、それぞれ `config.h` と `rules.mk` のマッピングを制御します。 +各マッピングは `config.h` または `rules.mk` 変数名をキーとし、値は以下のキーを持つハッシュです。 + +* `info_key`: (必須)この値の `info.json` 内の場所。 下記参照。 +* `value_type`: (オプション)デフォルトは `str`。 この変数の値の形式。 下記参照。 +* `to_json`: (オプション)デフォルトは `true`。 このマッピングを info.json から除外するには、`false` に設定します +* `to_c`: (オプション)デフォルトは `true`。 このマッピングを config.h から除外するには、`false` に設定します +* `warn_duplicate`: (オプション)デフォルトは `true`。 値が両方の場所に存在する場合に警告をオフにするには、`false` に設定します + +#### Info Key + +info.json 内の変数をアドレス指定するために JSON ドット表記を使用します。 +たとえば、`info_json["rgblight"]["split_count"]` にアクセスするには、`rgblight.split_count` を指定します。 +これにより、深くネストされたキーを単純な文字列でアドレス指定できます。 + +内部では [Dotty Dict](https://dotty-dict.readthedocs.io/en/latest/) を使用しています。これらの文字列がオブジェクトアクセスに変換される方法についてはそのドキュメントを参照してください。 + +#### Value Types + +デフォルトでは、すべての値を単純な文字列として扱います。 +値がより複雑な場合は、次のいずれかのタイプを使用してデータをインテリジェントに解析できます。 + +* `array`: 文字列のコンマ区切りの配列 +* `array.int`: 整数のコンマ区切り配列 +* `int`: 整数 +* `hex`: 16進数としてフォーマットされた数値 +* `list`: 文字列のスペース区切りの配列 +* `mapping`: キーと値のペアのハッシュ + +### 抽出するコードを追加する + +ほとんどのユースケースは、上記のマッピングファイルによって解決できます。 +できない場合は、代わりに設定値を抽出するコードを書くことができます。 + +QMK が完全な `info.json` を生成するときはいつでも、`config.h` と `rules.mk` から情報を抽出します。 +あなたの新しい設定値のためのコードを `lib/python/qmk/info.py` に追加する必要があります。 +通常、これは、新しい `_extract_()` 関数を追加してから、 `_extract_config_h()` または `_extract_rules_mk()` のいずれかで関数を呼び出すことを意味します。 + +このファイルの編集方法がわからない場合、または Python に慣れていない場合は、[issue を開く](https://github.com/qmk/qmk_firmware/issues/new?assignees=&labels=cli%2C+python&template=other_issues.md&title=)か [Discord で #cli に参加](https://discord.gg/heQPAgy)すると、この部分を誰かが手伝ってくれるでしょう。 + +### 生成するコードを追加する + +パズルの最後のピースは、ビルドシステムに新しいオプションを提供することです。 +これは、2つのファイルを生成することによって行われます。 + +* `.build/obj_/src/info_config.h` +* `.build/obj_/src/rules.mk` + +この2つのファイルは、次のコードによって生成されます。 + +* `lib/python/qmk/cli/generate/config_h.py` +* `lib/python/qmk/cli/generate/rules_mk.py` + +`config.h`値の場合、ルール用の関数を記述し、その関数を `generate_config_h()` で呼び出す必要があります。 + +`rules.mk` の新しいトップレベルの `info.json` キーがある場合は、`lib/python/qmk/cli/generate/rules_mk.py` の上部にある `info_to_rules` にキーを追加するだけです。 +それ以外の場合は、`generate_rules_mk()` で機能の新しい if ブロックを作成する必要があります。 diff --git a/docs/ja/documentation_templates.md b/docs/ja/documentation_templates.md index 7f0b239265ae..0ba3caf5ec1e 100644 --- a/docs/ja/documentation_templates.md +++ b/docs/ja/documentation_templates.md @@ -1,8 +1,8 @@ # ドキュメントテンプレート このページでは、新しいキーマップやキーボードを QMK に提出する際に使うべきテンプレートをまとめています。 diff --git a/docs/ja/faq_build.md b/docs/ja/faq_build.md index 9aa11389e9bf..a1c55407ee41 100644 --- a/docs/ja/faq_build.md +++ b/docs/ja/faq_build.md @@ -1,8 +1,8 @@ # よくあるビルドの質問 このページは QMK のビルドに関する質問を説明します。まだビルドをしていない場合は、[ビルド環境のセットアップ](ja/getting_started_build_tools.md) および [Make 手順](ja/getting_started_make_guide.md)ガイドを読むべきです。 @@ -22,73 +22,9 @@ `make` を `sudo` で実行することは一般的には良い考えでは***なく***、可能であれば前者の方法のいずれかを使うべきです。 -### Linux の `udev` ルール +### Linux の `udev` ルール :id=linux-udev-rules -Linux では、ブートローダデバイスと通信するには適切な権限が必要です。ファームウェアを書き込む時に `sudo` を使うか、`/etc/udev/rules.d/` にこのファイルを配置することで、通信することができます。 - -**/etc/udev/rules.d/50-qmk.rules:** -``` -# Atmel DFU -### ATmega16U2 -SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FEF", TAG+="uaccess", RUN{builtin}+="uaccess" -### ATmega32U2 -SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF0", TAG+="uaccess", RUN{builtin}+="uaccess" -### ATmega16U4 -SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF3", TAG+="uaccess", RUN{builtin}+="uaccess" -### ATmega32U4 -SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF4", TAG+="uaccess", RUN{builtin}+="uaccess" -### AT90USB64 -SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FF9", TAG+="uaccess", RUN{builtin}+="uaccess" -### AT90USB128 -SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="2FFB", TAG+="uaccess", RUN{builtin}+="uaccess" - -# Input Club -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1C11", ATTRS{idProduct}=="B007", TAG+="uaccess", RUN{builtin}+="uaccess" - -# STM32duino -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1EAF", ATTRS{idProduct}=="0003", TAG+="uaccess", RUN{builtin}+="uaccess" -# STM32 DFU -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="DF11", TAG+="uaccess", RUN{builtin}+="uaccess" - -# BootloadHID -SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DF", TAG+="uaccess", RUN{builtin}+="uaccess" - -# USBAspLoader -SUBSYSTEMS=="usb", ATTRS{idVendor}=="16C0", ATTRS{idProduct}=="05DC", TAG+="uaccess", RUN{builtin}+="uaccess" - -# ModemManager should ignore the following devices -# Atmel SAM-BA (Massdrop) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="03EB", ATTRS{idProduct}=="6124", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" - -# Caterina (Pro Micro) -## Spark Fun Electronics -### Pro Micro 3V3/8MHz -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9203", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -### Pro Micro 5V/16MHz -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9205", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -### LilyPad 3V3/8MHz (and some Pro Micro clones) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1B4F", ATTRS{idProduct}=="9207", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -## Pololu Electronics -### A-Star 32U4 -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1FFB", ATTRS{idProduct}=="0101", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -## Arduino SA -### Leonardo -SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -### Micro -SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -## Adafruit Industries LLC -### Feather 32U4 -SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000C", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -### ItsyBitsy 32U4 3V3/8MHz -SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000D", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -### ItsyBitsy 32U4 5V/16MHz -SUBSYSTEMS=="usb", ATTRS{idVendor}=="239A", ATTRS{idProduct}=="000E", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -## dog hunter AG -### Leonardo -SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0036", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -### Micro -SUBSYSTEMS=="usb", ATTRS{idVendor}=="2A03", ATTRS{idProduct}=="0037", TAG+="uaccess", RUN{builtin}+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" -``` +Linux では、ブートローダデバイスと通信するには適切な権限が必要です。ファームウェアを書き込む時に `sudo` を使うか(非推奨)、`/etc/udev/rules.d/` に[このファイル](https://github.com/qmk/qmk_firmware/tree/master/util/udev/50-qmk.rules)を配置することで、通信することができます。 追加が完了したら、以下を実行します: @@ -129,9 +65,9 @@ https://github.com/tmk/tmk_keyboard/issues/150 - https://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1 ### キーボードに書き込んだが何も起こらない、あるいはキーの押下が登録されない - ARM (rev6 planck、clueboard 60、hs60v2 など) でも同じ (Feb 2019) -ARM ベースのチップ上での EEPROM の動作によって、保存された設定が無効になる場合があります。これはデフォルトレイヤに影響し、まだ調査中の特定の環境下でキーボードが使えなくなる*しれません*。EEPROM のリセットでこれが修正されます。 +ARM ベースのチップ上での EEPROM の動作によって、保存された設定が無効になる場合があります。これはデフォルトレイヤに影響し、まだ調査中の特定の環境下でキーボードが使えなくなるかも*しれません*。EEPROM のリセットでこれが修正されます。 -[Planck rev6 reset EEPROM](https://cdn.discordapp.com/attachments/473506116718952450/539284620861243409/planck_rev6_default.bin) を使って eeprom のリセットを強制することができます。このイメージを書き込んだ後で、通常のファームウェアを書き込むと、キーボードが_通常_ の動作順序に復元されます。 +[Planck rev6 reset EEPROM](https://cdn.discordapp.com/attachments/473506116718952450/539284620861243409/planck_rev6_default.bin) を使って eeprom のリセットを強制することができます。このイメージを書き込んだ後で、通常のファームウェアを書き込むと、キーボードが _通常_ の動作順序に復元されます。 [Preonic rev3 reset EEPROM](https://cdn.discordapp.com/attachments/473506116718952450/537849497313738762/preonic_rev3_default.bin) いずれかの形式でブートマジックが有効になっている場合は、これも実行できるはずです (実行方法の詳細については、[ブートマジックドキュメント](ja/feature_bootmagic.md)とキーボード情報を見てください)。 diff --git a/docs/ja/faq_debug.md b/docs/ja/faq_debug.md index 95293fed23f0..236f43a6ef50 100644 --- a/docs/ja/faq_debug.md +++ b/docs/ja/faq_debug.md @@ -1,140 +1,131 @@ # デバッグの FAQ このページは、キーボードのトラブルシューティングについての様々な一般的な質問を説明します。 -# デバッグコンソール +## デバッグ :id=debugging -## `hid_listen` がデバイスを認識できない -デバイスのデバッグコンソールの準備ができていない場合、以下のように表示されます: +`rules.mk` へ `CONSOLE_ENABLE = yes` の設定をするとキーボードはデバッグ情報を出力します。デフォルトの出力は非常に限られたものですが、デバッグモードをオンにすることでデバッグ情報の量を増やすことが出来ます。キーマップの `DEBUG` キーコードを使用するか、デバッグモードを有効にする[コマンド](ja/feature_command.md)機能を使用するか、以下のコードをキーマップに追加します。 -``` -Waiting for device:......... +```c +void keyboard_post_init_user(void) { + // 希望する動作に合わせて値をカスタマイズします + debug_enable=true; + debug_matrix=true; + //debug_keyboard=true; + //debug_mouse=true; +} ``` -デバイスが接続されると、*hid_listen* がデバイスを見つけ、以下のメッセージが表示されます: +## デバッグツール -``` -Waiting for new device:......................... -Listening: -``` +キーボードのデバッグに使えるツールは2つあります。 -この 'Listening:' のメッセージが表示されない場合は、[Makefile] を `CONSOLE_ENABLE=yes` に設定してビルドしてみてください +### QMK Toolbox を使ったデバッグ -Linux のような OS でデバイスにアクセスするには、権限が必要かもしれません。 -- `sudo hid_listen` を試してください +互換性のある環境では、[QMK Toolbox](https://github.com/qmk/qmk_toolbox) を使うことでキーボードからのデバッグメッセージを表示できます。 -## コンソールにメッセージが表示されない -以下を調べてください: -- *hid_listen* がデバイスを検出する。上記を見てください。 -- **Magic**+d を使ってデバッグを有効にする。[マジックコマンド](https://github.com/tmk/tmk_keyboard#magic-commands)を見てください。 -- `debug_enable=true` を設定します。[テストとデバッグ](ja/newbs_testing_debugging.md#debugging)を見てください -- デバッグ print の代わりに 'print' 関数を使ってみてください。**common/print.h** を見てください。 -- コンソール機能を持つ他のデバイスを切断します。[Issue #97](https://github.com/tmk/tmk_keyboard/issues/97) を見てください。 +### hid_listen を使ったデバッグ -*** +ターミナルベースの方法がお好みですか?PJRC が提供する [hid_listen](https://www.pjrc.com/teensy/hid_listen.html) もデバッグメッセージの表示に使用できます。ビルド済みの実行ファイルは Windows、Linux、MacOS 用が用意されています。 -# 雑多なこと -## 安全性の考慮 +## 独自のデバッグメッセージを送信する -あなたはおそらくキーボードを「文鎮化」したくないでしょう。文鎮化するとファームウェアを書き換えられないようになります。リスクがあまりに高い(そしてそうでないかもしれない)ものの一部のリストを示します。 +[カスタムコード](ja/custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に `print.h` のインクルードを追加します: -- キーボードマップに RESET が含まれない場合、DFU モードに入るには、PCB のリセットボタンを押す必要があります。底部のネジを外す必要があります。 -- tmk_core / common にあるファイルを触るとキーボードが操作不能になるかもしれません。 -- .hex ファイルが大きすぎると問題を引き起こします; `make dfu` コマンドはブロックを削除し、 -サイズを検査し(おっと、間違った順序です!)、エラーを出力し、 -キーボードへの書き込みに失敗し、DFU モードのままになります。 - - この目的のためには、Planck の最大の .hex ファイルサイズは 7000h (10進数で28672)であることに注意してください。 - -``` -Linking: .build/planck_rev4_cbbrowne.elf [OK] -Creating load file for Flash: .build/planck_rev4_cbbrowne.hex [OK] - -Size after: - text data bss dec hex filename - 0 22396 0 22396 577c planck_rev4_cbbrowne.hex +```c +#include "print.h" ``` -- 上のファイルのサイズは 22396/577ch で、28672/7000h より小さいです -- 適切な替わりの .hex ファイルがある限り、それをロードして再試行することができます -- あなたがキーボードの Makefile で指定したかもしれない一部のオプションは、余分なメモリを消費します; BOOTMAGIC_ENABLE、MOUSEKEY_ENABLE、EXTRAKEY_ENABLE、CONSOLE_ENABLE、API_SYSEX_ENABLE に注意してください -- DFU ツールは(オプションの余計なフルーツサラダを投げ込まない限り)ブートローダに書き込むことを許可しないので、 -ここにはリスクはほとんどありません。 -- EEPROM の書き込みサイクルは、約100000です。ファームウェアを繰り返し継続的に書き換えるべきではありません。それは最終的に EEPROM を焼き焦がします。 +その後は、いくつかの異なった print 関数を使用することが出来ます: -## NKRO が動作しません -最初に、**Makefile** 内でビルドオプション `NKRO_ENABLE` を使ってファームウェアをコンパイルする必要があります。 +* `print("string")`: シンプルな文字列を出力します +* `uprintf("%s string", var)`: フォーマットされた文字列を出力します +* `dprint("string")` デバッグモードが有効な場合のみ、シンプルな文字列を出力します +* `dprintf("%s string", var)`: デバッグモードが有効な場合のみ、フォーマットされた文字列を出力します -**NKRO** がまだ動作しない場合は、`Magic` **N** コマンド(デフォルトでは `LShift+RShift+N`)を試してみてください。**NKRO** モードと **6KRO** モード間を一時的に切り替えるためにこのコマンドを使うことができます。**NKRO** が機能しない状況、特に BIOS の場合は **6KRO** モードに切り替える必要があります。 +## デバッグの例 -ファームウェアを `BOOTMAGIC_ENABLE` でビルドした場合、`ブートマジック` **N** コマンドで切り替える必要があります (デフォルトでは `Space+N`)。この設定は EEPROM に格納され、電源を入れ直しても保持されます。 +以下は現実世界での実際のデバッグ手法の例を集めたものです。 -https://github.com/tmk/tmk_keyboard#boot-magic-configuration---virtual-dip-switch +### マトリックス上のどの場所でキー押下が起こったか? +移植する場合や、PCB の問題を診断する場合、キー入力が正しくスキャンされているかどうかを確認することが役立つ場合があります。この手法でのロギングを有効化するには、`keymap.c` へ以下のコードを追加します。 -## TrackPoint はリセット回路が必要です (PS/2 マウスサポート) -リセット回路が無いとハードウェアの不適切な初期化のために一貫性の無い結果になります。TPM754 の回路図を見てください。 +```c +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + // コンソールが有効化されている場合、マトリックス上の位置とキー押下状態を出力します +#ifdef CONSOLE_ENABLE + uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %b, time: %u, interrupt: %b, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count); +#endif + return true; +} +``` -- https://geekhack.org/index.php?topic=50176.msg1127447#msg1127447 -- https://www.mikrocontroller.net/attachment/52583/tpm754.pdf +出力例 +```text +Waiting for device:....... +Listening: +KL: kc: 169, col: 0, row: 0, pressed: 1 +KL: kc: 169, col: 0, row: 0, pressed: 0 +KL: kc: 174, col: 1, row: 0, pressed: 1 +KL: kc: 174, col: 1, row: 0, pressed: 0 +KL: kc: 172, col: 2, row: 0, pressed: 1 +KL: kc: 172, col: 2, row: 0, pressed: 0 +``` +### キースキャンにかかる時間の測定 -## 16 を超えるマトリックの列を読み込めない -列が 16 を超える場合、[matrix.h] の `read_cols()` 内の `1<<16` の代わりに `1UL<<16` を使ってください。 +パフォーマンスの問題をテストする場合、スイッチマトリックスをスキャンする頻度を知ることが役立ちます。この手法でのロギングを有効化するには `config.h` へ以下のコードを追加します。 -C では、AVR の場合 `1` は [16 bit] である [int] 型の1を意味し、15 を超えて左にシフトすることはできません。`1<<16` すると予期しないゼロが発生します。`1UL` として [unsigned long] 型を使う必要があります。 +```c +#define DEBUG_MATRIX_SCAN_RATE +``` -https://deskthority.net/workshop-f7/rebuilding-and-redesigning-a-classic-thinkpad-keyboard-t6181-60.html#p146279 +出力例 +```text + > matrix scan frequency: 315 + > matrix scan frequency: 313 + > matrix scan frequency: 316 + > matrix scan frequency: 316 + > matrix scan frequency: 316 + > matrix scan frequency: 316 +``` -## 特別なエクストラキーが動作しない (システム、オーディオコントロールキー) -QMK でそれらを使うには、`rules.mk` 内で `EXTRAKEY_ENABLE` を定義する必要があります。 +## `hid_listen` がデバイスを認識できない +デバイスのデバッグコンソールの準備ができていない場合、以下のように表示されます: ``` -EXTRAKEY_ENABLE = yes # オーディオ制御とシステム制御 +Waiting for device:......... ``` -## スリープから復帰しない - -Windows では、**デバイスマネージャ**の**電源の管理**タブ内の `このデバイスで、コンピュータのスタンバイ状態を解除できるようにする` 設定を調べてください。また BIOS 設定も調べてください。 - -スリープ中に任意のキーを押すとホストが起動するはずです。 - -## Arduino を使っていますか? - -**Arduino のピンの命名は実際のチップと異なることに注意してください。** 例えば、Arduino のピン `D0` は `PD0` ではありません。回路図を自身で確認してください。 - -- https://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf -- https://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf - -Arduino の Leonardo と micro には **ATMega32U4** が載っていて、TMK 用に使うことができますが、Arduino のブートローダが問題になることがあります。 - -## JTAG を有効にする - -デフォルトでは、キーボードが起動するとすぐに JTAG デバッグインタフェースが無効になります。JTAG 対応 MCU は `JTAGEN` ヒューズが設定された状態で出荷されており、キーボードがスイッチマトリックス、LED などに使用している可能性のある MCU の特定のピンを乗っ取ります。 - -JTAG を有効にしたままにしたい場合は、単に以下のものを `config.h` に追加します: +デバイスが接続されると、*hid_listen* がデバイスを見つけ、以下のメッセージが表示されます: -```c -#define NO_JTAG_DISABLE +``` +Waiting for new device:......................... +Listening: ``` -## USB 3 の互換性 -USB 3 ポートで問題がある人がいると聞きました。USB 2 ポートを試してください。 - +この 'Listening:' のメッセージが表示されない場合は、[Makefile] を `CONSOLE_ENABLE=yes` に設定してビルドしてみてください -## Mac の互換性 -### OS X 10.11 と Hub -https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034 +Linux のような OS でデバイスにアクセスするには、特権が必要かもしれません。`sudo hid_listen` を試してください。 +多くの Linux ディストリビューションでは、次の内容で `/etc/udev/rules.d/70-hid-listen.rules` というファイルを作成することで、root として hid_listen を実行する必要がなくなります: -## リジューム (スリープとウェークアップ)/電源サイクルの問題 -一部の人がキーボードが BIOS で動作しなくなった、またはリジューム(電源サイクル)の後で動作しなくなったと報告しました。 +``` +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="abcd", ATTRS{idProduct}=="def1", TAG+="uaccess", RUN{builtin}+="uaccess" +``` -今のところ、この問題の根本は明確ではないですが、幾つかのビルドオプションが関係しているようです。Makefileで、`CONSOLE_ENABLE`、`NKRO_ENABLE`、`SLEEP_LED_ENABLE` あるいは他のオプションを無効にしてみてください。 +abcd と def1 をキーボードのベンダーとプロダクト IDに置き換えてください。文字は小文字でなければなりません。`RUN{builtin}+="uaccess"` の部分は、古いディストリビューションでのみ必要です。 -https://github.com/tmk/tmk_keyboard/issues/266 -https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778 +## コンソールにメッセージが表示されない +以下を調べてください: +- *hid_listen* がデバイスを検出する。上記を見てください。 +- **Magic**+d を使ってデバッグを有効にする。[マジックコマンド](https://github.com/tmk/tmk_keyboard#magic-commands)を見てください。 +- `debug_enable=true` を設定します。[デバッグ](#debugging)を見てください。 +- デバッグプリントの代わりに `print` 関数を使ってみてください。**common/print.h** を見てください。 +- コンソール機能を持つ他のデバイスを切断します。[Issue #97](https://github.com/tmk/tmk_keyboard/issues/97) を見てください。 diff --git a/docs/ja/faq_general.md b/docs/ja/faq_general.md index 83d1a557bdd6..407846b7883e 100644 --- a/docs/ja/faq_general.md +++ b/docs/ja/faq_general.md @@ -1,8 +1,8 @@ # よくある質問 ## QMK とは何か? diff --git a/docs/ja/faq_keymap.md b/docs/ja/faq_keymap.md index adc4af341f10..fb44e316b78d 100644 --- a/docs/ja/faq_keymap.md +++ b/docs/ja/faq_keymap.md @@ -1,8 +1,8 @@ # キーマップの FAQ このページは人々がキーマップについてしばしば持つ疑問について説明します。まだ読んだことが無い場合には、[キーマップの概要](ja/keymap.md)を最初に読むべきです。 diff --git a/docs/ja/faq_misc.md b/docs/ja/faq_misc.md new file mode 100644 index 000000000000..e9a35ef329cb --- /dev/null +++ b/docs/ja/faq_misc.md @@ -0,0 +1,107 @@ +# その他の FAQ + + + +## どうやってキーボードをテストすればいいですか? :id=testing + +通常、キーボードのテストは非常に簡単です。全てのキーをひとつずつ押して、期待するキーが送信されることを確認します。例え QMK で動作していない場合でも、[QMK Configurator](https://config.qmk.fm/#/test/) のテストモードを使用すると、キーボードをチェックできます。 + +## 安全性の考慮 + +あなたはおそらくキーボードを「文鎮化」したくないでしょう。文鎮化するとファームウェアを書き換えられないようになります。リスクがあまりに高い(そしてそうでないかもしれない)ものの一部のリストを示します。 + +- キーボードマップに RESET が含まれない場合、DFU モードに入るには、PCB のリセットボタンを押す必要があります。底部のネジを外す必要があります。 +- tmk_core / common にあるファイルを触るとキーボードが操作不能になるかもしれません。 +- .hex ファイルが大きすぎると問題を引き起こします; `make dfu` コマンドはブロックを削除し、サイズを検査し(おっと、間違った順序です!)、エラーを出力し、 +キーボードへの書き込みに失敗し、DFU モードのままになります。 + - この目的のためには、Planck の最大の .hex ファイルサイズは 7000h (10進数で28672)であることに注意してください。 + +``` +Linking: .build/planck_rev4_cbbrowne.elf [OK] +Creating load file for Flash: .build/planck_rev4_cbbrowne.hex [OK] + +Size after: + text data bss dec hex filename + 0 22396 0 22396 577c planck_rev4_cbbrowne.hex +``` + + - 上のファイルのサイズは 22396/577ch で、28672/7000h より小さいです。 + - 適切な代わりの .hex ファイルがある限り、それをロードして再試行することができます。 + - あなたがキーボードの Makefile で指定したかもしれない一部のオプションは、余分なメモリを消費します; BOOTMAGIC_ENABLE、MOUSEKEY_ENABLE、EXTRAKEY_ENABLE、CONSOLE_ENABLE、API_SYSEX_ENABLE に注意してください。 +- DFU ツールは(オプションの余計なフルーツサラダを投げ込まない限り)ブートローダに書き込むことを許可しないので、ここにはリスクはほとんどありません。 +- EEPROM の書き込みサイクルは、約100000(10万)です。ファームウェアを繰り返し継続的に書き換えるべきではありません。それは最終的に EEPROM を焼き焦がします。 + +## NKRO が動作しません +最初に、**Makefile** 内でビルドオプション `NKRO_ENABLE` を使ってファームウェアをコンパイルする必要があります。 + +**NKRO** がまだ動作しない場合は、`Magic` **N** コマンド(デフォルトでは `LShift+RShift+N`)を試してみてください。**NKRO** モードと **6KRO** モード間を一時的に切り替えるためにこのコマンドを使うことができます。**NKRO** が機能しない状況、特に BIOS の場合は **6KRO** モードに切り替える必要があります。 + +ファームウェアを `BOOTMAGIC_ENABLE` でビルドした場合、`ブートマジック` **N** コマンドで切り替える必要があります(デフォルトでは `Space+N`)。この設定は EEPROM に格納され、電源を入れ直しても保持されます。 + +https://github.com/tmk/tmk_keyboard#boot-magic-configuration---virtual-dip-switch + + +## トラックポイントははリセット回路が必要です (PS/2 マウスサポート) +リセット回路が無いとハードウェアの不適切な初期化のために一貫性の無い結果になります。TPM754 の回路図を見てください: + +- https://geekhack.org/index.php?topic=50176.msg1127447#msg1127447 +- https://www.mikrocontroller.net/attachment/52583/tpm754.pdf + + +## 16 を超えるマトリックの列を読み込めない +列が 16 を超える場合、[matrix.h] の `read_cols()` 内の `1<<16` の代わりに `1UL<<16` を使ってください。 + +C では、AVR の場合 `1` は [16 bit] である [int] 型の1を意味し、15を超えて左にシフトすることはできません。従って、`1<<16` を計算すると予期せずゼロになります。これを回避するには `1UL` として [unsigned long] 型を使う必要があります。 + +https://deskthority.net/workshop-f7/rebuilding-and-redesigning-a-classic-thinkpad-keyboard-t6181-60.html#p146279 + +## 特別なエクストラキーが動作しない(システム、オーディオコントロールキー) +QMK でそれらを使うには、`rules.mk` 内で `EXTRAKEY_ENABLE` を定義する必要があります。 + +``` +EXTRAKEY_ENABLE = yes # オーディオ制御とシステム制御 +``` + +## スリープから復帰しない + +**デバイスマネージャ**の**電源の管理**タブ内の `このデバイスで、コンピュータのスタンバイ状態を解除できるようにする` 設定を調べてください。また BIOS 設定も調べてください。スリープ中に任意のキーを押すとホストが起動するはずです。 + +## Arduino を使っていますか? + +**Arduino のピンの命名は実際のチップと異なることに注意してください。** 例えば、Arduino のピン `D0` は `PD0` ではありません。回路図を自身で確認してください。 + +- https://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf +- https://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf + +Arduino の Leonardo と micro には **ATMega32U4** が載っていて、TMK 用に使うことができますが、Arduino のブートローダが問題になることがあります。 + +## JTAG を有効にする + +デフォルトでは、キーボードが起動するとすぐに JTAG デバッグインタフェースが無効になります。JTAG 対応 MCU は `JTAGEN` ヒューズが設定された状態で出荷されており、キーボードがスイッチマトリックス、LED などに使用している可能性のある MCU の特定のピンを乗っ取ります。 + +JTAG を有効にしたままにしたい場合は、単に以下のものを `config.h` に追加します: + +```c +#define NO_JTAG_DISABLE +``` + +## USB 3 の互換性 +一部の問題は、USB 3.x ポートから USB 2.0 ポートに切り替えることで修正できます。 + + +## Mac の互換性 +### OS X 10.11 と Hub +こちらを見てください: https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034 + + +## BIOS (UEFI) 設定/リジューム (スリープとウェークアップ)/電源サイクルの問題 +一部の人がキーボードが BIOS で動作しなくなった、またはリジューム(電源サイクル)の後で動作しなくなったと報告しました。 + +今のところ、この問題の根本は明確ではないですが、幾つかのビルドオプションが関係しているようです。Makefile で、`CONSOLE_ENABLE`、`NKRO_ENABLE`、`SLEEP_LED_ENABLE` あるいは他のオプションを無効にしてみてください。 + +より詳しい情報: +- https://github.com/tmk/tmk_keyboard/issues/266 +- https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778 diff --git a/docs/ja/feature_advanced_keycodes.md b/docs/ja/feature_advanced_keycodes.md index 502a67f80c43..887d9babc276 100644 --- a/docs/ja/feature_advanced_keycodes.md +++ b/docs/ja/feature_advanced_keycodes.md @@ -1,30 +1,166 @@ # 修飾キー :id=modifier-keys 以下のようにキーコードとモディファイアを組み合わせることができます。押すと、モディファイアのキーダウンイベントが送信され、次に `kc` のキーダウンイベントが送信されます。放すと、`kc` のキーアップイベントが送信され、次にモディファイアのキーアップイベントが送信されます。 -| キー | エイリアス | 説明 | -|----------|-------------------------------|----------------------------------------------------| -| `LCTL(kc)` | `C(kc)` | 左 Control を押しながら `kc` を押します。 | -| `LSFT(kc)` | `S(kc)` | 左 Shift を押しながら `kc` を押します。 | -| `LALT(kc)` | `A(kc)`, `LOPT(kc)` | 左 Alt を押しながら `kc`を押します。 | -| `LGUI(kc)` | `G(kc)`, `LCMD(kc)`, `LWIN(kc)` | 左 GUI を押しながら `kc` を押します。 | -| `RCTL(kc)` | | 右 Control を押しながら `kc` を押します。 | -| `RSFT(kc)` | | 右 Shift を押しながら `kc` を押します。 | -| `RALT(kc)` | `ROPT(kc)`, `ALGR(kc)` | 右 Alt を押しながら `kc` を押します。 | -| `RGUI(kc)` | `RCMD(kc)`, `LWIN(kc)` | 右 GUI を押しながら `kc` を押します。 | -| `SGUI(kc)` | `SCMD(kc)`, `SWIN(kc)` | 左 Shift と左 GUI を押しながら `kc` を押します。 | -| `LCA(kc)` | | 左 Control と左 Alt を押しながら `kc` を押します。 | -| `LCAG(kc)` | | 左 Control、左 Alt、左 GUI を押しながら `kc` を押します。 | -| `MEH(kc)` | | 左 Control、左 Shift、左 Alt を押しながら `kc` を押します。 | -| `HYPR(kc)` | | 左 Control、左 Shift、左 Alt、左 GUI を押しながら `kc` を押します。 | +| キー | エイリアス | 説明 | +| ---------- | ------------------------------- | ------------------------------------------------------------------- | +| `LCTL(kc)` | `C(kc)` | 左 Control を押しながら `kc` を押します。 | +| `LSFT(kc)` | `S(kc)` | 左 Shift を押しながら `kc` を押します。 | +| `LALT(kc)` | `A(kc)`, `LOPT(kc)` | 左 Alt を押しながら `kc`を押します。 | +| `LGUI(kc)` | `G(kc)`, `LCMD(kc)`, `LWIN(kc)` | 左 GUI を押しながら `kc` を押します。 | +| `RCTL(kc)` | | 右 Control を押しながら `kc` を押します。 | +| `RSFT(kc)` | | 右 Shift を押しながら `kc` を押します。 | +| `RALT(kc)` | `ROPT(kc)`, `ALGR(kc)` | 右 Alt を押しながら `kc` を押します。 | +| `RGUI(kc)` | `RCMD(kc)`, `LWIN(kc)` | 右 GUI を押しながら `kc` を押します。 | +| `SGUI(kc)` | `SCMD(kc)`, `SWIN(kc)` | 左 Shift と左 GUI を押しながら `kc` を押します。 | +| `LCA(kc)` | | 左 Control と左 Alt を押しながら `kc` を押します。 | +| `LSA(kc)` | | 左 Shift と左 Alt を押しながら `kc` を押します。 | +| `RSA(kc)` | `SAGR(kc)` | 右 Shift と右 Alt (AltGr) を押しながら `kc` を押します。 | +| `RCS(kc)` | | 右 Control と右 Shift を押しながら `kc` を押します。 | +| `LCAG(kc)` | | 左 Control、左 Alt、左 GUI を押しながら `kc` を押します。 | +| `MEH(kc)` | | 左 Control、左 Shift、左 Alt を押しながら `kc` を押します。 | +| `HYPR(kc)` | | 左 Control、左 Shift、左 Alt、左 GUI を押しながら `kc` を押します。 | また、それらを繋げることができます。例えば、`LCTL(LALT(KC_DEL))` または `C(A(KC_DEL))` は1回のキー押下で Control+Alt+Delete を送信するキーを作成します。 +# モディファイアの状態を確認 :id=checking-modifier-state + + +現在のモディファイアの状態は、2つの関数によって主にアクセスされます。: `get_mods()` 関数は通常のモディファイアとモッドタップの状態を、`get_oneshot_mods()` 関数はワンショットモディファイアの状態を確認する関数です。(ワンショットモディファイアはキーが押されていない限り、通常のモディファイアキーのように動作します。) + +1つ以上の特定のモディファイアが現在のモディファイアの状態に含まれているかどうかは、モディファイアの状態と、照合したいモディファイアの組み合わせに相当するモッドマスクとを AND 演算することで検出できます。 +ビット演算が使われる理由は、モディファイアの状態が (GASC)R(GASC)L の形式で1バイトとして格納されるためです。 + +従って、例を挙げると、`01000010` は LShift+RALT の内部表現です。 +C 言語におけるビット演算のより詳しい情報は、[ここ](https://en.wikipedia.org/wiki/Bitwise_operations_in_C) をクリックして、Wikipedia のページのトピックを開いてください。 + +実際には、`get_mods() & MOD_BIT(KC_)`([モディファイアキーコードのリスト](ja/keycodes_basic.md#modifiers) 参照) で、あるモディファイアが有効かどうかをチェックできるということです、また左右のモディファイアの違いが重要ではなく、両方にマッチさせたい場合は、`get_mods() & MOD_MASK_`とします。ワンショットモディファイアについても、`get_mods()` を `get_oneshot_mods()` に置き換えれば同じことができます。 + +モディファイアの特定の組み合わせが同時にアクティブなのか確認する*だけ*なら、上で説明したモディファイアの状態とモッドマスクの論理積と、モッドマスク自身の結果を比較します。: `get_mods() & == ` + +例えば、左 Control キーと 左 Shift キーのワンショットモディファイアがオンで、その他のワンショットモディファイアがオフの場合にカスタムコードを起動したいとしましょう。そうするには、`(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))` で左 Control キーと Shift キーのモッドビットを組み合わせて目的のモッドマスクを構成し、それらを差し込みます: `get_oneshot_mods & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT)) == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))`。モッドビットマスクの代わりに `MOD_MASK_CS` 使うと、条件を満たすために4つのモディファイアキー (左右両方の Control キーと Shift キー) を押す必要があります。 + +モッドマスクの完全なリストは、以下のとおりです。 + +| モッドマスク名 | マッチするモディファイア | +|--------------------|-------------------------------------------------------------| +| `MOD_MASK_CTRL` | 左 Control , 右 Control | +| `MOD_MASK_SHIFT` | 左 Shift , 右 Shift | +| `MOD_MASK_ALT` | 左 Alt , 右 Alt | +| `MOD_MASK_GUI` | 左 GUI , 右 GUI | +| `MOD_MASK_CS` | Control , Shift | +| `MOD_MASK_CA` | (左/右) Control , (左/右) Alt | +| `MOD_MASK_CG` | (左/右) Control , (左/右) GUI | +| `MOD_MASK_SA` | (左/右) Shift , (左/右) Alt | +| `MOD_MASK_SG` | (左/右) Shift , (左/右) GUI | +| `MOD_MASK_AG` | (左/右) Alt , (左/右) GUI | +| `MOD_MASK_CSA` | (左/右) Control , (左/右) Shift , (左/右) Alt | +| `MOD_MASK_CSG` | (左/右) Control , (左/右) Shift , (左/右) GUI | +| `MOD_MASK_CAG` | (左/右) Control , (左/右) Alt , (左/右) GUI | +| `MOD_MASK_SAG` | (左/右) Shift , (左/右) Alt , (左/右) GUI | +| `MOD_MASK_CSAG` | (左/右) Control , (左/右) Shift , (左/右) Alt , (左/右) GUI | + +`get_mods()` 関数を使って現在アクティブなモディファイアにアクセスする以外に、モディファイアの状態を変更するために使えるいくつかの関数があります。ここでは、`mods` 引数はモディファイアビットマスクを表します。 + +* `add_mods(mods)`: その他のモディファイアに影響を与えずに `mods` を有効にします。 +* `register_mods(mods)`: `add_mods` に似ていますが、キーボードにすぐにレポートを送信します。 +* `del_mods(mods)`: その他のモディファイアに影響を与えずに `mods` を無効にします。 +* `unregister_mods(mods)`: `del_mods` に似ていますが、キーボードにすぐにレポートを送信します。 +* `set_mods(mods)`: `mods` で現在のモディファイアの状態を上書きします +* `clear_mods()`: 全てのモディファイアを無効にすることによって、モディファイアの状態をリセットします。 + +同様に、`get_oneshot_mods()` 関数に加えて、ワンショットモディファイアのための関数もあります。 + +* `add_oneshot_mods(mods)`: その他のワンショットモディファイアに影響を与えずに `mods` を有効にします +* `del_oneshot_mods(mods)`: その他のワンショットモディファイアに影響を与えずに `mods` を無効にします +* `set_oneshot_mods(mods)`: `mods` で現在のワンショットモディファイアの状態を上書きします +* `clear_oneshot_mods()`: 全てのワンショットモディファイアを無効にすることによって、ワンショットモディファイアの状態をリセットします。 + +## 例 :id=examples + +次の例は、[マクロについてのページ](ja/feature_macros.md) で読める [高度なマクロ](ja/feature_macros.md?id=advanced-macro-functions) を使っています。 +### Alt + Tab の代わりの Alt + Escape :id=alt-escape-for-alt-tab + +左 Alt と `KC_ESC` が押されたときに、アプリ切り替えの(左 Alt と) `KC_TAB` のように振る舞うことを実現する単純な例です。この例は、左 Alt だけがアクティブになっているかを厳格に確認します。つまり、Alt+Shift+Esc によるアプリの逆順での切り替えはできません。また、この例は、実際の Alt+Escape キーボードショートカットを起動することはできなくなりますが、AltGr+Escape キーボードショートカットを起動することはできることに留意してください。 + +```c +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + + case KC_ESC: + // 左 Alt だけがアクティブか検知します + if ((get_mods() & MOD_BIT(KC_LALT)) == MOD_BIT(KC_LALT)) { + if (record->event.pressed) { + // KC_LALT を登録する必要はありません。既にアクティブだからです。 + // Alt モディファイアはこの KC_TAB に適用されます。 + register_code(KC_TAB); + } else { + unregister_code(KC_TAB); + } + // QMK にこれ以上キーコードの処理をさせません。 + return false; + } + // それ以外の場合は、QMK に通常通り KC_ESC の処理をさせます。 + return true; + + } + return true; +}; +``` + +### Delete の代わりの Shift + Backspace :id=shift-backspace-for-delete + +`KC_BSPC` と組み合わせることで Shift の本来の動作が取り消され、そして、`KC_DEL` に完全に置き換えられる高度な例です。この例を適切に動作させるために2つのメイン変数が作られます。: `mod_state` と `delkey_registered` です。最初の1つ目の変数は、モディファイアの状態を記憶し、`KC_DEL` を登録した後に元に戻すために使われます。2つ目の変数はブール型変数 (true または false) で、`KC_DEL` の状態を追跡して Backspace/Delete キー全体のリリースを正確に管理します。 + +前の例と対照的に、この例は厳格なモディファイアの確認を行いません。このカスタムコードを起動するには、1つまたは2つの Shift キーがアクティブな間に `KC_BSPC` を押せば十分で、他のモディファイアの状態は関係ありません。この方法は、いくつかの特典を提供します。: Ctrl+Shift+Backspace は次の単語を削除 (Control+Delete) し、Ctrl+Alt+Shift+Backspace は Ctrl+Alt+Del キーボードショートカットを実行します。 + +```c +// アクティブなモディファイアを表すバイナリデータを保持する変数を初期化します +uint8_t mod_state; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + // 後々の参照のために現在のモディファイアの状態を変数に格納します + mod_state = get_mods(); + switch (keycode) { + + case KC_BSPC: + { + // Delete キーの状態(登録されているかどうか)を追跡するブール型変数を初期化します。 + static bool delkey_registered; + if (record->event.pressed) { + // いずれかの Shift がアクティブか検知します + if (mod_state & MOD_MASK_SHIFT) { + // 最初に、 Shift キーを KC_DEL に適用しないため、 + // 一時的に左右両方の Shift キーをキャンセルします + del_mods(MOD_MASK_SHIFT); + register_code(KC_DEL); + // KC_DEL の状態を反映させるためにブール型変数を更新します + delkey_registered = true; + // Backspace/Delete キーをタップした後でも押し続けている Shift キーが機能するように、 + // モディファイアの状態を再適用します。 + set_mods(mod_state); + return false; + } + } else { // KC_BSPC キーを離した場合 + // KC_BSPC を離しても KC_DEL が送信されている場合 + if (delkey_registered) { + unregister_code(KC_DEL); + delkey_registered = false; + return false; + } + } + // QMK に Shift キーを除いて KC_BSPC を通常通り処理させます + return true; + } + + } + return true; +}; +``` # 過去の内容 :id=legacy-content このページには多くの機能が含まれていました。このページを構成していた多くのセクションをそれぞれのページに移動しました。これより下は全て単なるリダイレクトであるため、web上で古いリンクをたどっている人は探しているものを見つけることができます。 diff --git a/docs/ja/feature_bootmagic.md b/docs/ja/feature_bootmagic.md index 20a93d5c4482..2ad6fc85313a 100644 --- a/docs/ja/feature_bootmagic.md +++ b/docs/ja/feature_bootmagic.md @@ -16,7 +16,7 @@ 一部のキーボードでは、ブートマジックはデフォルトで無効になっています。その場合、`rules.mk` 内で以下のように明示的に有効にする必要があります: ```make -BOOTMAGIC_ENABLE = full +BOOTMAGIC_ENABLE = yes ``` ?> `full` の代わりに `yes` が使われていることがあるかもしれませんが、これは問題ありません。ただし、`yes` は非推奨で、理想的には `full` (あるいは`lite`) が使われるべきです。 diff --git a/docs/ja/feature_debounce_type.md b/docs/ja/feature_debounce_type.md index 03f68d72141c..258ca194da4f 100644 --- a/docs/ja/feature_debounce_type.md +++ b/docs/ja/feature_debounce_type.md @@ -88,15 +88,6 @@ voltage +---------------------- ## QMK でサポートされるデバウンスアルゴリズム QMK はデバウンス API を介して複数のデバウンスアルゴリズムをサポートします。 -どのデバウンスメソッドが呼ばれるかのロジックは下記のとおりです。```rules.mk``` で設定された様々な定義をチェックします。 - -``` -DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce -DEBOUNCE_TYPE?= sym_defer_g -ifneq ($(strip $(DEBOUNCE_TYPE)), custom) - QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c -endif -``` ### デバウンスの選択 @@ -135,11 +126,3 @@ DEBOUNCE_TYPE = <アルゴリズムの名前> * デバウンスは、全てのマトリクススキャンの後で発生します。 * MATRIX_ROWS ではなく num_rows を使って、分割キーボードが正しくサポートされるようにします。 * アルゴリズムが他のキーボードにも適用できる可能性がある場合、```quantum/debounce``` に追加することを検討してください。 - -### 古い名前 -次の既存のアルゴリズムの古い名前は引き続きサポートされますが、代わりに新しい名前を使うことを推奨します。 - -* sym_g - sym_defer_g の古い名前 -* eager_pk - sym_eager_pk の古い名前 -* sym_pk - sym_defer_pk の古い名前 -* eager_pr - sym_eager_pr の古い名前 diff --git a/docs/ja/feature_dip_switch.md b/docs/ja/feature_dip_switch.md index a0f6aeb0035f..8d0eeafa5a80 100644 --- a/docs/ja/feature_dip_switch.md +++ b/docs/ja/feature_dip_switch.md @@ -14,6 +14,8 @@ DIP スイッチは、以下を `rules.mk` に追加することでサポート ```c // Connects each switch in the dip switch to the GPIO pin of the MCU #define DIP_SWITCH_PINS { B14, A15, A10, B9 } +// For split keyboards, you can separately define the right side pins +#define DIP_SWITCH_PINS_RIGHT { ... } ``` あるいは @@ -28,8 +30,9 @@ DIP スイッチは、以下を `rules.mk` に追加することでサポート コールバック関数を `.c` に記述することができます: ```c -void dip_switch_update_kb(uint8_t index, bool active) { - dip_switch_update_user(index, active); +bool dip_switch_update_kb(uint8_t index, bool active) { + if !(dip_switch_update_user(index, active)) { return false; } + return true; } ``` @@ -37,7 +40,7 @@ void dip_switch_update_kb(uint8_t index, bool active) { あるいは `keymap.c` に記述することもできます: ```c -void dip_switch_update_user(uint8_t index, bool active) { +bool dip_switch_update_user(uint8_t index, bool active) { switch (index) { case 0: if(active) { audio_on(); } else { audio_off(); } @@ -62,6 +65,7 @@ void dip_switch_update_user(uint8_t index, bool active) { } break; } + return true; } ``` @@ -69,8 +73,9 @@ void dip_switch_update_user(uint8_t index, bool active) { ```c -void dip_switch_update_mask_kb(uint32_t state) { - dip_switch_update_mask_user(state); +bool dip_switch_update_mask_kb(uint32_t state) { + if (!dip_switch_update_mask_user(state)) { return false; } + return true; } ``` @@ -78,7 +83,7 @@ void dip_switch_update_mask_kb(uint32_t state) { あるいは `keymap.c` に記述することもできます: ```c -void dip_switch_update_mask_user(uint32_t state) { +bool dip_switch_update_mask_user(uint32_t state) { if (state & (1UL<<0) && state & (1UL<<1)) { layer_on(_ADJUST); // C on esc } else { @@ -94,6 +99,7 @@ void dip_switch_update_mask_user(uint32_t state) { } else { layer_off(_TEST_B); } + return true; } ``` diff --git a/docs/ja/feature_encoders.md b/docs/ja/feature_encoders.md index 7b7f394c83fe..21f42d38b70c 100644 --- a/docs/ja/feature_encoders.md +++ b/docs/ja/feature_encoders.md @@ -51,15 +51,18 @@ ENCODER_ENABLE = yes コールバック関数を `.c` に記述することができます: ```c -void encoder_update_kb(uint8_t index, bool clockwise) { - encoder_update_user(index, clockwise); +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + } ``` あるいは `keymap.c` に記述することもできます: ```c -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_PGDN); @@ -73,6 +76,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_UP); } } + return true; } ``` diff --git a/docs/ja/feature_haptic_feedback.md b/docs/ja/feature_haptic_feedback.md index b9b42670147a..158079725329 100644 --- a/docs/ja/feature_haptic_feedback.md +++ b/docs/ja/feature_haptic_feedback.md @@ -1,8 +1,8 @@ # 触覚フィードバック ## 触覚フィードバック の rules.mk オプション @@ -31,7 +31,7 @@ | `HPT_TOG` | 触覚フィードバックのオン/オフを切り替え | | `HPT_RST` | 触覚フィードバック設定をデフォルトに戻す | | `HPT_FBK` | キー押下またはリリースまたはその両方でフィードバックを切り替え | -| `HPT_BUZ` | ソレノイドの振動のオン/オフを切り替え | +| `HPT_BUZ` | ソレノイドのブザー音のオン/オフを切り替え | | `HPT_MODI` | 次の DRV2605L 波形に移動 | | `HPT_MODD` | 前の DRV2605L 波形に移動 | | `HPT_CONT` | 連続触覚モードのオン/オフを切り替え | @@ -44,7 +44,7 @@ ほとんどの MCU はソレノイドのコイルを駆動するために必要な電流を供給できないため、最初に MOSFET を介してソレノイドを駆動する回路を構築する必要があります。 -[Adafruit が提供する配線図](https://playground.arduino.cc/uploads/Learning/solenoid_driver.pdf) +[Adafruit が提供する配線図](https://cdn-shop.adafruit.com/product-files/412/412_solenoid_driver.pdf) | 設定 | デフォルト | 説明 | @@ -53,8 +53,15 @@ | `SOLENOID_DEFAULT_DWELL` | `12` ms | ソレノイドのデフォルトの滞留時間を設定する。 | | `SOLENOID_MIN_DWELL` | `4` ms | 滞留時間の下限を設定する。 | | `SOLENOID_MAX_DWELL` | `100` ms | 滞留時間の上限を設定する。 | - -?> 滞留時間とは、「プランジャー」が作動したままになる時間です。滞留時間により、ソレノイドの音が変わります。 +| `SOLENOID_DWELL_STEP_SIZE` | `1` ms | `HPT_DWL*` キーコードが送信される時に使われるステップサイズ | +| `SOLENOID_DEFAULT_BUZZ` | `0` (無効) | HPT_RST では、この値が "1" の場合、ブザー音が "on" に設定されます | +| `SOLENOID_BUZZ_ACTUATED` | `SOLENOID_MIN_DWELL` | ソレノイドがブザー音モードの場合の動作時間 | +| `SOLENOID_BUZZ_NONACTUATED` | `SOLENOID_MIN_DWELL` | ソレノイドがブザー音モードの場合の非動作時間 | + +* ソレノイドのブザー音がオフの場合、滞留時間は「プランジャー」が作動したままになる時間です。滞留時間により、ソレノイドの音が変わります。 +* ソレノイドのブザー音がオンの場合、滞留時間は振動の長さを設定しますが、`SOLENOID_BUZZ_ACTUATED` と `SOLENOID_BUZZ_NONACTUATED` はブザー音の間の(非)動作時間を設定します。 +* 現在の実装では、上記の時間設定のいずれについても、設定の精度はキーボードがマトリックスをスキャンできる速度によって影響を受ける可能性があります。 + したがって、キーボードのスキャンルーチンが遅い場合は、`SOLENOID_DWELL_STEP_SIZE` をキーボードのスキャンに掛かる時間よりもわずかに小さい値に設定することをお勧めします。 ブートローダ実行中に一部のピンが給電されているかもしれず (例えば、STM32F303 チップ上の A13)、そうすると書き込みプロセスの間ずっとソレノイドがオン状態になることに注意してください。これはソレノイドを加熱し損傷を与えるかもしれません。ソレノイドが接続されているピンがブートローダ/DFU 実行中にソレノイドをオンにしていることが分かった場合は、他のピンを選択してください。 diff --git a/docs/ja/feature_layers.md b/docs/ja/feature_layers.md index d27251f7e3b3..011f0e0ef19b 100644 --- a/docs/ja/feature_layers.md +++ b/docs/ja/feature_layers.md @@ -1,8 +1,8 @@ # レイヤー :id=layers QMK ファームウェアの最も強力で良く使われている機能の一つは、レイヤーを使う機能です。ほとんどの人にとって、これはラップトップやタブレットキーボードにあるのと同じように、様々なキーを可能にするファンクションキーに相当します。 @@ -24,12 +24,10 @@ QMK ファームウェアの最も強力で良く使われている機能の一 ### 注意事項 :id=caveats -現在のところ、`LT()` と `MT()` は[基本的なキーコードセット](ja/keycodes_basic.md)に制限されています。つまり、`LCTL()`、`KC_TILD` あるいは `0xFF` より大きなキーコードを使うことができません。特に、`LT` と `MT` のような二重の機能キーは16ビットキーコードを使います。4ビットは機能の識別のために使われ、次の12ビットはパラメータに分かれます。レイヤータップはレイヤーに4ビットを使います(実はレイヤータップがレイヤー 0-15 に制限されている理由です)。モッドタップも同じですが、識別子に4ビット、モッドのために4ビットが使われ、全体でキーコードに8ビットを使います。このため、使用されるキーコードは `0xFF` (0-255) に制限され、基本的なキーコードのみです。 +現在のところ、`LT()` の `layer` 引数はレイヤー 0-15 に制限され、`kc` 引数は[基本的なキーコードセット](ja/keycodes_basic.md)に制限されています。つまり、`LCTL()`、`KC_TILD` あるいは `0xFF` より大きなキーコードを使うことができません。これは、QMK が16ビットのキーコードを使うためです。4ビットは機能の識別のために使われ、4ビットはレイヤーのために使われ、キーコードには8ビットしか残されていません。 これを拡張してもせいぜい複雑になるだけでしょう。32ビットキーコードに移行すると、これの多くが解決されますが、キーマップマトリックスが使用する領域が2倍になります。また、問題が起きる可能性もあります。タップしたキーコードにモディファイアを適用する必要がある場合は、[タップダンス](ja/feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys)を使うことができます。 -さらに、モッドタップあるいはレイヤータップで少なくとも1つの右手用のモディファイアが指定された場合、指定された全てのモディファイアが右手用になるため、2つをうまく組み合わせて一致させることはできません。 - ## レイヤーとの連携 :id=working-with-layers レイヤーを切り替える時は注意してください。(キーボードを取り外さずに)そのレイヤーを非アクティブにすることができずレイヤーから移動できなくなる可能性があります。最も一般的な問題を避けるためのガイドラインを作成しました。 diff --git a/docs/ja/feature_led_matrix.md b/docs/ja/feature_led_matrix.md index b73487ca63ee..6511b282493c 100644 --- a/docs/ja/feature_led_matrix.md +++ b/docs/ja/feature_led_matrix.md @@ -52,7 +52,7 @@ I2C IS31FL3731 RGB コントローラを使ったアドレス指定可能な LED `.c` に全ての LED を列挙する配列を定義します: - const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { + const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { /* これらの位置については IS31 マニュアルを参照してください * driver * | LED address @@ -61,7 +61,7 @@ I2C IS31FL3731 RGB コントローラを使ったアドレス指定可能な LED .... } -ここで、`Cx_y` は[データシート](https://www.issi.com/WW/pdf/31FL3731.pdf)およびヘッダファイル `drivers/issi/is31fl3731-simple.h` で定義されるマトリックス内の LED の位置です。`driver` は `config.h` で定義したドライバのインデックス(`0`、`1`、`2`、`3`のいずれか)です。 +ここで、`Cx_y` は[データシート](https://www.issi.com/WW/pdf/31FL3731.pdf)およびヘッダファイル `drivers/led/issi/is31fl3731-simple.h` で定義されるマトリックス内の LED の位置です。`driver` は `config.h` で定義したドライバのインデックス(`0`、`1`、`2`、`3`のいずれか)です。 ## キーコード @@ -76,7 +76,7 @@ I2C IS31FL3731 RGB コントローラを使ったアドレス指定可能な LED カスタムレイヤー効果は `.c` 内で以下を定義することで行うことができます: void led_matrix_indicators_kb(void) { - led_matrix_set_index_value(index, value); + led_matrix_set_value(index, value); } 同様の関数がキーマップ内で `led_matrix_indicators_user` として動作します。 diff --git a/docs/ja/feature_macros.md b/docs/ja/feature_macros.md index c42a61b5fb87..6371f0c20a1e 100644 --- a/docs/ja/feature_macros.md +++ b/docs/ja/feature_macros.md @@ -210,7 +210,7 @@ SEND_STRING(".."SS_TAP(X_END)); ``` -## 高度なマクロ関数 +## 高度なマクロ関数 :id=advanced-macro-functions マクロの生成に役立つ関数が幾つかあります。マクロの中にかなり高度なコードを書くことができますが、機能が複雑になりすぎる場合は、代わりにカスタムキーコードを定義することをお勧めします。マクロはシンプルにしなければなりません。 diff --git a/docs/ja/feature_pointing_device.md b/docs/ja/feature_pointing_device.md index f606036d149c..69bd86c55200 100644 --- a/docs/ja/feature_pointing_device.md +++ b/docs/ja/feature_pointing_device.md @@ -1,8 +1,8 @@ # ポインティングデバイス :id=pointing-device ポインティングデバイスは汎用的な機能の総称です: システムポインタを移動します。マウスキーのような他のオプションも確かにありますが、これは簡単に変更可能で軽量であることを目指しています。機能を制御するためにカスタムキーを実装したり、他の周辺機器から情報を収集してここに直接挿入したりできます - QMK に処理を任せてください。 @@ -24,7 +24,7 @@ report_mouse_t (ここでは "mouseReport") が以下のプロパティを持つ * `mouseReport.y` - これは、y軸の動き(+ 上へ、- 下へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。 * `mouseReport.v` - これは、垂直スクロール(+ 上へ、- 下へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。 * `mouseReport.h` - これは、水平スクロール(+ 右へ、- 左へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。 -* `mouseReport.buttons` - これは uint8_t で、上位の5ビットを使っています。これらのビットはマウスボタンの状態を表します - ビット 3 はマウスボタン 5、ビット 7 はマウスボタン 1 です。 +* `mouseReport.buttons` - これは uint8_t で、8ビット全てを使っています。これらのビットはマウスボタンの状態を表します - ビット 0 はマウスボタン 1、ビット 7 はマウスボタン 8 です。 マウスレポートに必要な変更を行ったら、それを送信する必要があります: @@ -32,6 +32,10 @@ report_mouse_t (ここでは "mouseReport") が以下のプロパティを持つ マウスレポートが送信されると、x、y、v、h のいずれの値も 0 に設定されます (これは `pointing_device_send()` で行われます。この挙動を回避するためにオーバーライドすることができます)。このように、ボタンの状態は持続しますが、動きは1度だけ起こります。さらにカスタマイズするために、`pointing_device_init` と `pointing_device_task` のどちらもオーバーライドすることができます。 +さらに、デフォルトでは、`pointing_device_send()` はレポートが実際に変更された場合のみレポートを送信します。これにより、マウスレポートが継続的に送信されてホストシステムが起動されたままになることを防ぎます。この動作は、独自の `pointing_device_send()` 関数を作成することで変更できます。 + +また、`has_mouse_report_changed(new, old)` 関数を使って、レポートが変更されたかどうかを確認できます。(訳注:独自の `pointing_device_send()` 関数を作成する場合でも、その中で `has_mouse_report_changed(new, old)` 関数でチェックして、デフォルトの `pointing_device_send()` と類似の無駄なレポートの抑制をして、ホストシステムがスリープ状態に入れる余地を残すようにしておくのが良いでしょう。) + 以下の例では、カスタムキーを使ってマウスをクリックし垂直および水平方向に127単位スクロールし、リリースされた時にそれを全て元に戻します - なぜならこれは完全に便利な機能だからです。いいですか、以下はひとつの例です: ```c diff --git a/docs/ja/feature_ps2_mouse.md b/docs/ja/feature_ps2_mouse.md index 0351768b33da..3d6941130743 100644 --- a/docs/ja/feature_ps2_mouse.md +++ b/docs/ja/feature_ps2_mouse.md @@ -1,8 +1,8 @@ # PS/2 マウスサポート :id=ps2-mouse-support PS/2 マウス (例えばタッチパッドあるいはトラックポイント)を複合デバイスとしてキーボードに接続することができます。 @@ -210,7 +210,7 @@ void ps2_mouse_set_sample_rate(ps2_mouse_sample_rate_t sample_rate); この機能を有効にするには、以下のようにスクロールボタンマスクを設定する必要があります: ```c -#define PS2_MOUSE_SCROLL_BTN_MASK (1< Raw HID は、HID インタフェースを介して QMK とホストコンピュータ間の双方向通信を可能にします。これには、キーマップをその場で切り替えたり、RGB LED の色とモードを変更したりなど、多くの潜在的な使用方法があります。 @@ -34,7 +34,7 @@ void raw_hid_receive(uint8_t *data, uint8_t length) { } ``` -`raw_hid_receive` はホストから最大長 `RAW_EPSIZE` の可変サイズのパケットを受信することができます。一方、`raw_hid_send` はパケットを厳密に `RAW_EPSIZE` の長さで送信するため、長さ `RAW_EPSIZE` のデータを使う必要があります。 +これら2つの関数は、ホストとの間で長さ `RAW_EPSIZE` バイトのパケットを送受信します (LUFA/ChibiOS/V-USB では 32、ATSAM では 64)。 ホスト側での作業を進める前に、raw 対応のファームウェアを書き込むようにしてください。 diff --git a/docs/ja/feature_stenography.md b/docs/ja/feature_stenography.md index 0103f53790f9..46698bdb3d4d 100644 --- a/docs/ja/feature_stenography.md +++ b/docs/ja/feature_stenography.md @@ -1,8 +1,8 @@ # QMK での速記 :id=stenography-in-qmk [速記](https://en.wikipedia.org/wiki/Stenotype)は裁判所のレポート、字幕および耳が不自由な人のためのリアルタイムの文字起こしで最もよく使われる記述方法です。速記では単語はスペル、音声およびショートカット(短い)ストロークが混在する音節ごとに音節化されます。プロの速記者は、標準的なタイピングで通常見られる負担を掛けずに、はるかに少ないエラー(99.9%より高い精度)で、200-300 WPM に到達できます。 diff --git a/docs/ja/feature_swap_hands.md b/docs/ja/feature_swap_hands.md index 3150801c5542..cd0b150e5006 100644 --- a/docs/ja/feature_swap_hands.md +++ b/docs/ja/feature_swap_hands.md @@ -1,8 +1,8 @@ # スワップハンドアクション スワップハンドアクションにより、別のレイヤーを必要とせずに片手入力をサポートします。Makefile に `SWAP_HANDS_ENABLE` を設定し、キーマップに `hand_swap_config` エントリを定義します。これで `ACTION_SWAP_HANDS` コマンドキーが押されるたびにキーボードがミラーされます。例えば、QWERTY で "Hello, World" を入力するには、`^Ge^s^s^w^c W^wr^sd` を入力します。 @@ -12,7 +12,7 @@ 設定テーブルは列/行から新しい列/行にマップするための単純な2次元配列です。Planck の `hand_swap_config` の例: ```C -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, {{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, {{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, diff --git a/docs/ja/feature_tap_dance.md b/docs/ja/feature_tap_dance.md index 3d9d30ecf025..a6d108f1e9b1 100644 --- a/docs/ja/feature_tap_dance.md +++ b/docs/ja/feature_tap_dance.md @@ -1,8 +1,8 @@ # タップダンス: 1つのキーが3つ、5つまたは100の異なる動作をします ## イントロダクション :id=introduction @@ -22,7 +22,7 @@ `TAPPING_TERM` の時間は、あなたのタップダンスのキーのタップとタップの間の時間として許可された最大の時間で、ミリ秒単位で計測されます。例えば、もし、あなたがこの上にある `#define` ステートメントを使い、1回タップすると `Space` が送信され、2回タップすると `Enter` が送信されるタップダンスキーをセットアップした場合、175ミリ秒以内に2回キーをタップすれば `ENT` だけが送信されるでしょう。もし、1回タップしてから175ミリ秒以上待ってからもう一度タップすると、`SPC SPC` が送信されます。 -次に、いくつかのタップダンスのキーを定義するためには、`TD()` マクロを使うのが最も簡単です。これは数字を受け取り、この数字は後で `tap_dance-actions` 配列のインデックスとして使われます。 +次に、いくつかのタップダンスのキーを定義するためには、`TD()` マクロを使うのが最も簡単です。これは数字を受け取り、この数字は後で `tap_dance_actions` 配列のインデックスとして使われます。 その後、`tap_dance_actions` 配列を使って、タップダンスキーを押した時のアクションを定義します。現在は、5つの可能なオプションがあります: @@ -59,7 +59,7 @@ このことは、あなたは再びキーをタップするまでの時間として `TAPPING_TERM` の時間を持っていることを意味します。そのため、あなたは1つの `TAPPING_TERM` の時間内に全てのタップを行う必要はありません。これにより、キーの反応への影響を最小限に抑えながら、より長いタップ回数を可能にします。 -次は `matrix_scan_tap_dance()` です。この関数はタップダンスキーのタイムアウトを制御します。 +次は `tap_dance_task()` です。この関数はタップダンスキーのタイムアウトを制御します。 柔軟性のために、タップダンスは、キーコードの組み合わせにも、ユーザー関数にもなることができます。後者は、より高度なタップ回数の制御や、LED を点滅させたり、バックライトをいじったり、等々の制御を可能にします。これは、1つの共用体と、いくつかの賢いマクロによって成し遂げられています。 @@ -85,7 +85,7 @@ qk_tap_dance_action_t tap_dance_actions[] = { [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), }; -// キーコードの代わりにタップダンスキーを追加します +// キーマップにキーコードの代わりにタップダンスの項目を追加します const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ... TD(TD_ESC_CAPS) @@ -215,20 +215,22 @@ qk_tap_dance_action_t tap_dance_actions[] = { `keymap.c` ファイルの先頭、つまりキーマップの前に、以下のコードを追加します。 ```c +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_TAP, + TD_DOUBLE_HOLD, + TD_DOUBLE_SINGLE_TAP, // Send two single taps + TD_TRIPLE_TAP, + TD_TRIPLE_HOLD +} td_state_t; + typedef struct { bool is_press_action; - uint8_t state; -} tap; - -enum { - SINGLE_TAP = 1, - SINGLE_HOLD, - DOUBLE_TAP, - DOUBLE_HOLD, - DOUBLE_SINGLE_TAP, // シングルタップを2回送信 - TRIPLE_TAP, - TRIPLE_HOLD -}; + td_state_t state; +} td_tap_t; // タップダンスの列挙型 enum { @@ -236,7 +238,7 @@ enum { SOME_OTHER_DANCE }; -uint8_t cur_dance(qk_tap_dance_state_t *state); +td_state_t cur_dance(qk_tap_dance_state_t *state); // xタップダンスのための関数。キーマップで利用できるようにするため、ここに置きます。 void x_finished(qk_tap_dance_state_t *state, void *user_data); @@ -273,63 +275,63 @@ void x_reset(qk_tap_dance_state_t *state, void *user_data); * 一般的な単語で2回続けて使われる文字でないこと。例えば 'pepper' 中の 'p'。もしタップダンス機能が * 文字 'p' に存在する場合、'pepper' という単語は入力するのが非常にいらだたしいものになるでしょう。 * - * 3つ目の点については、'DOUBLE_SINGLE_TAP' が存在しますが、これは完全にはテストされていません + * 3つ目の点については、'TD_DOUBLE_SINGLE_TAP' が存在しますが、これは完全にはテストされていません * */ -uint8_t cur_dance(qk_tap_dance_state_t *state) { +td_state_t cur_dance(qk_tap_dance_state_t *state) { if (state->count == 1) { - if (state->interrupted || !state->pressed) return SINGLE_TAP; + if (state->interrupted || !state->pressed) return TD_SINGLE_TAP; // キーは割り込まれていませんが、まだ押し続けられています。'HOLD' を送信することを意味します。 - else return SINGLE_HOLD; + else return TD_SINGLE_HOLD; } else if (state->count == 2) { - // DOUBLE_SINGLE_TAP は "pepper" と入力することと、'pp' と入力したときに実際に + // TD_DOUBLE_SINGLE_TAP は "pepper" と入力することと、'pp' と入力したときに実際に // ダブルタップしたい場合とを区別するためのものです。 // この戻り値の推奨されるユースケースは、'ダブルタップ' 動作やマクロではなく、 // そのキーの2つのキー入力を送信したい場合です。 - if (state->interrupted) return DOUBLE_SINGLE_TAP; - else if (state->pressed) return DOUBLE_HOLD; - else return DOUBLE_TAP; + if (state->interrupted) return TD_DOUBLE_SINGLE_TAP; + else if (state->pressed) return TD_DOUBLE_HOLD; + else return TD_DOUBLE_TAP; } // 誰も同じ文字を3回入力しようとしていないと仮定します(少なくとも高速には)。 // タップダンスキーが 'KC_W' で、"www." と高速に入力したい場合、ここに例外を追加して - // 'TRIPLE_SINGLE_TAP' を返し、'DOUBLE_SINGLE_TAP' のようにその列挙型を定義する必要があります。 + // 'TD_TRIPLE_SINGLE_TAP' を返し、'TD_DOUBLE_SINGLE_TAP' のようにその列挙型を定義する必要があります。 if (state->count == 3) { - if (state->interrupted || !state->pressed) return TRIPLE_TAP; - else return TRIPLE_HOLD; - } else return 8; // マジックナンバー。いつかこのメソッドはより多くの押下に対して機能するよう拡張されるでしょう + if (state->interrupted || !state->pressed) return TD_TRIPLE_TAP; + else return TD_TRIPLE_HOLD; + } else return TD_UNKNOWN; } -//'x' タップダンスの 'tap' のインスタンスを生成します。 -static tap xtap_state = { +//'x' タップダンスの 'td_tap_t' のインスタンスを生成します。 +static td_tap_t xtap_state = { .is_press_action = true, - .state = 0 + .state = TD_NONE }; void x_finished(qk_tap_dance_state_t *state, void *user_data) { xtap_state.state = cur_dance(state); switch (xtap_state.state) { - case SINGLE_TAP: register_code(KC_X); break; - case SINGLE_HOLD: register_code(KC_LCTRL); break; - case DOUBLE_TAP: register_code(KC_ESC); break; - case DOUBLE_HOLD: register_code(KC_LALT); break; + case TD_SINGLE_TAP: register_code(KC_X); break; + case TD_SINGLE_HOLD: register_code(KC_LCTRL); break; + case TD_DOUBLE_TAP: register_code(KC_ESC); break; + case TD_DOUBLE_HOLD: register_code(KC_LALT); break; // 最後の case は高速入力用です。キーが `f` であると仮定します: // 例えば、`buffer` という単語を入力するとき、`Esc` ではなく `ff` を送信するようにします。 // 高速入力時に `ff` と入力するには、次の文字は `TAPPING_TERM` 以内に入力する必要があります。 // `TAPPING_TERM` はデフォルトでは 200ms です。 - case DOUBLE_SINGLE_TAP: tap_code(KC_X); register_code(KC_X); + case TD_DOUBLE_SINGLE_TAP: tap_code(KC_X); register_code(KC_X); } } void x_reset(qk_tap_dance_state_t *state, void *user_data) { switch (xtap_state.state) { - case SINGLE_TAP: unregister_code(KC_X); break; - case SINGLE_HOLD: unregister_code(KC_LCTRL); break; - case DOUBLE_TAP: unregister_code(KC_ESC); break; - case DOUBLE_HOLD: unregister_code(KC_LALT); - case DOUBLE_SINGLE_TAP: unregister_code(KC_X); + case TD_SINGLE_TAP: unregister_code(KC_X); break; + case TD_SINGLE_HOLD: unregister_code(KC_LCTRL); break; + case TD_DOUBLE_TAP: unregister_code(KC_ESC); break; + case TD_DOUBLE_HOLD: unregister_code(KC_LALT); + case TD_DOUBLE_SINGLE_TAP: unregister_code(KC_X); } - xtap_state.state = 0; + xtap_state.state = TD_NONE; } qk_tap_dance_action_t tap_dance_actions[] = { @@ -357,9 +359,11 @@ enum td_keycodes { // 必要な数のタップダンス状態を含むタイプを定義します typedef enum { - SINGLE_TAP, - SINGLE_HOLD, - DOUBLE_SINGLE_TAP + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_SINGLE_TAP } td_state_t; // タップダンスの状態の型のグローバルインスタンスを作ります @@ -368,7 +372,7 @@ static td_state_t td_state; // タップダンス関数を宣言します: // 現在のタップダンスの状態を特定するための関数 -uint8_t cur_dance(qk_tap_dance_state_t *state); +td_state_t cur_dance(qk_tap_dance_state_t *state); // それぞれのタップダンスキーコードに適用する `finished` と `reset` 関数 void altlp_finished(qk_tap_dance_state_t *state, void *user_data); @@ -379,14 +383,14 @@ void altlp_reset(qk_tap_dance_state_t *state, void *user_data); ```c // 返却するタップダンス状態を特定します -uint8_t cur_dance(qk_tap_dance_state_t *state) { +td_state_t cur_dance(qk_tap_dance_state_t *state) { if (state->count == 1) { - if (state->interrupted || !state->pressed) return SINGLE_TAP; - else return SINGLE_HOLD; + if (state->interrupted || !state->pressed) return TD_SINGLE_TAP; + else return TD_SINGLE_HOLD; } - if (state->count == 2) return DOUBLE_SINGLE_TAP; - else return 3; // 上記で返却する最大の状態の値より大きい任意の数 + if (state->count == 2) return TD_DOUBLE_SINGLE_TAP; + else return TD_UNKNOWN; // 上記で返却する最大の状態の値より大きい任意の数 } // 定義する各タップダンスキーコードのとりうる状態を制御します: @@ -394,13 +398,13 @@ uint8_t cur_dance(qk_tap_dance_state_t *state) { void altlp_finished(qk_tap_dance_state_t *state, void *user_data) { td_state = cur_dance(state); switch (td_state) { - case SINGLE_TAP: + case TD_SINGLE_TAP: register_code16(KC_LPRN); break; - case SINGLE_HOLD: + case TD_SINGLE_HOLD: register_mods(MOD_BIT(KC_LALT)); // レイヤータップキーの場合、ここでは `layer_on(_MY_LAYER)` を使います break; - case DOUBLE_SINGLE_TAP: // タップ時間内に2つの括弧 `((` の入れ子を可能にします + case TD_DOUBLE_SINGLE_TAP: // タップ時間内に2つの括弧 `((` の入れ子を可能にします tap_code16(KC_LPRN); register_code16(KC_LPRN); } @@ -408,13 +412,13 @@ void altlp_finished(qk_tap_dance_state_t *state, void *user_data) { void altlp_reset(qk_tap_dance_state_t *state, void *user_data) { switch (td_state) { - case SINGLE_TAP: + case TD_SINGLE_TAP: unregister_code16(KC_LPRN); break; - case SINGLE_HOLD: + case TD_SINGLE_HOLD: unregister_mods(MOD_BIT(KC_LALT)); // レイヤータップキーの場合、ここでは `layer_off(_MY_LAYER)` を使います break; - case DOUBLE_SINGLE_TAP: + case TD_DOUBLE_SINGLE_TAP: unregister_code16(KC_LPRN); } } @@ -431,20 +435,22 @@ qk_tap_dance_action_t tap_dance_actions[] = { タップダンスは、MO(layer) と TG(layer) 機能を模倣することにも使用できます。この例では、1回タップすると `KC_QUOT` 、1回押してそのまま押し続けたら `MO(_MY_LAYER)` 、2回タップしたときは `TG(_MY_LAYER)` として機能するキーを設定します。 -最初のステップは、あなたの `keymap.c` ファイルの最初のあたりに以下のコードを追加します。 +最初のステップは、あなたの `keymap.c` ファイルの最初のあたりに以下のコードを追加することです。 ```c +// 必要な数のタップダンス状態のタイプを定義します +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_TAP, + TD_SINGLE_HOLD, + TD_DOUBLE_TAP +} td_state_t; + typedef struct { bool is_press_action; - uint8_t state; -} tap; - -// 必要な数のタップダンス状態のタイプを定義します -enum { - SINGLE_TAP = 1, - SINGLE_HOLD, - DOUBLE_TAP -}; + td_state_t state; +} td_tap_t; enum { QUOT_LAYR, // カスタムタップダンスキー。他のタップダンスキーはこの列挙型に追加します @@ -453,7 +459,7 @@ enum { // タップダンスキーで使われる関数を宣言します // 全てのタップダンスに関連する関数 -uint8_t cur_dance(qk_tap_dance_state_t *state); +td_state_t cur_dance(qk_tap_dance_state_t *state); // 個別のタップダンスに関連する関数 void ql_finished(qk_tap_dance_state_t *state, void *user_data); @@ -464,31 +470,31 @@ void ql_reset(qk_tap_dance_state_t *state, void *user_data); ```c // 現在のタップダンスの状態を決定します -uint8_t cur_dance(qk_tap_dance_state_t *state) { +td_state_t cur_dance(qk_tap_dance_state_t *state) { if (state->count == 1) { - if (!state->pressed) return SINGLE_TAP; - else return SINGLE_HOLD; - } else if (state->count == 2) return DOUBLE_TAP; - else return 8; + if (!state->pressed) return TD_SINGLE_TAP; + else return TD_SINGLE_HOLD; + } else if (state->count == 2) return TD_DOUBLE_TAP; + else return TD_UNKNOWN; } // この例のタップダンスキーに関連付けられた "tap" 構造体を初期化します -static tap ql_tap_state = { +static td_tap_t ql_tap_state = { .is_press_action = true, - .state = 0 + .state = TD_NONE }; // タップダンスキーの動作をコントロールする関数 void ql_finished(qk_tap_dance_state_t *state, void *user_data) { ql_tap_state.state = cur_dance(state); switch (ql_tap_state.state) { - case SINGLE_TAP: + case TD_SINGLE_TAP: tap_code(KC_QUOT); break; - case SINGLE_HOLD: + case TD_SINGLE_HOLD: layer_on(_MY_LAYER); break; - case DOUBLE_TAP: + case TD_DOUBLE_TAP: // レイヤーが既にセットされているか確認します if (layer_state_is(_MY_LAYER)) { // レイヤーが既にセットされていたら、オフにします。 @@ -503,10 +509,10 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) { void ql_reset(qk_tap_dance_state_t *state, void *user_data) { // キーを押し続けていて今離したら、レイヤーをオフに切り替えます。 - if (ql_tap_state.state == SINGLE_HOLD) { + if (ql_tap_state.state == TD_SINGLE_HOLD) { layer_off(_MY_LAYER); } - ql_tap_state.state = 0; + ql_tap_state.state = TD_NONE; } // タップダンスキーを機能に関連付けます @@ -519,7 +525,7 @@ qk_tap_dance_action_t tap_dance_actions[] = { `cur_dance()` と `ql_tap_state` の使い方は、上の例と似ています。 -`ql_finished` 関数における `case:SINGLE_TAP` は、上の例と似ています。`SINGLE_HOLD` の case では、`ql_reset()` と連動してタップダンスキーを押している間 `_MY_LAYER` に切り替わり、キーを離した時に `_MY_LAYER` から離れます。これは、`MO(_MY_LAYER)` に似ています。`DOUBLE_TAP` の case では、`_MY_LAYER` がアクティブレイヤーかどうかを確認することによって動きます。そして、その結果に基づいてレイヤーのオン・オフをトグルします。これは `TG(_MY_LAYER)` に似ています。 +`ql_finished` 関数における `case: TD_SINGLE_TAP` は、上の例と似ています。`TD_SINGLE_HOLD` の case では、`ql_reset()` と連動してタップダンスキーを押している間 `_MY_LAYER` に切り替わり、キーを離した時に `_MY_LAYER` から離れます。これは、`MO(_MY_LAYER)` に似ています。`TD_DOUBLE_TAP` の case では、`_MY_LAYER` がアクティブレイヤーかどうかを確認することによって動きます。そして、その結果に基づいてレイヤーのオン・オフをトグルします。これは `TG(_MY_LAYER)` に似ています。 `tap_dance_actions[]` は、上の例に似ています。 `ACTION_TAP_DANCE_FN_ADVANCED()` の代わりに `ACTION_TAP_DANCE_FN_ADVANCED_TIME()` を使ったことに注意してください。 この理由は、私は、非タップダンスキーを使うにあたり `TAPPING_TERM` が短い(175ミリ秒以内)方が好きなのですが、タップダンスのアクションを確実に完了させるには短すぎるとわかったからです——そのため、ここでは時間を275ミリ秒に増やしています。 diff --git a/docs/ja/feature_userspace.md b/docs/ja/feature_userspace.md index b0c113d1cf2f..ef7f5283c547 100644 --- a/docs/ja/feature_userspace.md +++ b/docs/ja/feature_userspace.md @@ -1,8 +1,8 @@ # ユーザスペース: キーマップ間でのコードの共有 似たキーマップを複数のキーボードで使う場合、それらの間でコードを共有できるという利点が得られることがあります。`users/`に以下の構造でキーマップ(理想的には GitHub のユーザ名、``)と同じ名前の独自のフォルダを作成します: diff --git a/docs/ja/getting_started_docker.md b/docs/ja/getting_started_docker.md index 6498d727b4df..ceaebb01792b 100644 --- a/docs/ja/getting_started_docker.md +++ b/docs/ja/getting_started_docker.md @@ -1,16 +1,17 @@ # Docker クイックスタート このプロジェクトは、プライマリオペレーティングシステムに大きな変更を加えることなくキーボードの新しいファームウェアを非常に簡単に構築することができる Docker ワークフローを含みます。これは、あなたがプロジェクトをクローンしビルドを実行した時に、他の人とまったく同じ環境と QMK ビルド基盤を持つことも保証します。これにより、人々はあなたが遭遇した問題の解決をより簡単に行えるようになります。 ## 必要事項 -主な前提条件は動作する `docker` がインストールされていることです。 +主な前提条件は動作する `docker` または `podman` がインストールされていることです。 * [Docker CE](https://docs.docker.com/install/#supported-platforms) +* [Podman](https://podman.io/getting-started/installation) ## 使い方 @@ -29,7 +30,7 @@ util/docker_build.sh : これは目的のキーボード/キーマップをコンパイルし、結果として書き込み用に `.hex` あるいは `.bin` ファイルを QMK ディレクトリの中に残します。`:keymap` が省略された場合は全てのキーマップが使われます。パラメータの形式は、`make` を使ってビルドする時と同じであることに注意してください。 -`target` を指定して Docker から直接キーボードをビルドし、_かつ_書き込むためのサポートもあります。 +`target` を指定して Docker から直接キーボードをビルドし、_かつ_ 書き込むためのサポートもあります。 ```bash util/docker_build.sh keyboard:keymap:target @@ -43,10 +44,17 @@ util/docker_build.sh # パラメータを入力として読み込みます (空白にすると全てのキーボード/キーマップ) ``` +`RUNTIME` 環境変数にコンテナランタイム名やパスを設定することで、使用したいコンテナランタイムを手動で設定できます。 +デフォルトでは docker や podman は自動的に検出され、podman より docker が優先されます。 + +```bash +RUNTIME="podman" util/docker_build.sh keyboard:keymap:target +``` + ## FAQ ### なぜ Windows/macOS 上で書き込めないのですか? Windows と macOS では、実行するために [Docker Machine](http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos/) が必要です。これはセットアップが面倒なので、お勧めではありません: 代わりに [QMK Toolbox](https://github.com/qmk/qmk_toolbox) を使ってください。 -!> Docker for Windows は[Hyper-V](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v) を有効にする必要があります。これは、Windows 7、Windows 8 および **Windows 10 Home** のような Hyper-V を搭載していない Windows のバージョンでは機能しないことを意味します。 +!> Docker for Windows は [Hyper-V](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v) を有効にする必要があります。これは、Windows 7、Windows 8 および **Windows 10 Home** のような Hyper-V を搭載していない Windows のバージョンでは機能しないことを意味します。 diff --git a/docs/ja/getting_started_github.md b/docs/ja/getting_started_github.md index 43049dde036d..6d9b70c410bc 100644 --- a/docs/ja/getting_started_github.md +++ b/docs/ja/getting_started_github.md @@ -1,8 +1,8 @@ # QMK で GitHub を使う方法 GitHub は慣れていない人には少し注意が必要です - このガイドは、QMK におけるフォーク、クローン、プルリクエストのサブミットの各ステップについて説明します。 diff --git a/docs/ja/getting_started_make_guide.md b/docs/ja/getting_started_make_guide.md index 45284a0b9f62..07d7f0597a47 100644 --- a/docs/ja/getting_started_make_guide.md +++ b/docs/ja/getting_started_make_guide.md @@ -1,8 +1,8 @@ # より詳細な `make` 手順 `make` コマンドの完全な構文は `::` です: @@ -19,16 +19,32 @@ `` は以下を意味します * target が指定されない場合は、以下の `all` と同じです * `all` は指定されたキーボード/リビジョン/キーマップの可能な全ての組み合わせのコンパイルを行います。例えば、`make planck/rev4:default` は1つの .hex を生成しますが、`make planck/rev4:all` は planck で利用可能な全てのキーマップについて hex を生成します。 -* `flash`、`dfu`、`teensy`、`avrdude`、`dfu-util` または `bootloadHID` はファームウェアをコンパイルし、キーボードにアップロードします。コンパイルが失敗すると、何もアップロードされません。使用するプログラマはキーボードに依存します。ほとんどのキーボードでは `dfu` ですが、ChibiOS キーボードについては `dfu-util` 、標準的な Teensy については `teensy` を使います。キーボードに使うコマンドを見つけるには、キーボード固有の readme をチェックしてください。 -* **注意**: 一部のオペレーティングシステムではこれらのコマンドが機能するためには root アクセスが必要です。その場合、例えば `sudo make planck/rev4:default:flash` を実行する必要があります。 +* `flash`、`dfu`、`teensy`、`avrdude`、`dfu-util`、`bootloadHID` はファームウェアをコンパイルし、キーボードにアップロードします。コンパイルが失敗すると、何もアップロードされません。使用するプログラマはキーボードに依存します。ほとんどのキーボードでは `dfu` ですが、ChibiOS キーボードについては `dfu-util` 、標準的な Teensy については `teensy` を使います。キーボードに使うコマンドを見つけるには、キーボード固有の readme をチェックしてください。 + 利用可能なブートローダの詳細は[ファームウェアの書き込み](ja/flashing.md)ガイドを参照してください。 + * **Note**: 一部のオペレーティングシステムでは、これらのコマンドが機能するためには特権アクセスが必要です。これは、root アクセスなしでこれらにアクセスするために [`udev ルール`](ja/faq_build.md#linux-udev-rules) を設定するか、あるいは root アクセスでコマンドを実行する (`sudo make planck/rev4:default:flash`) 必要があるかもしれないことを意味します。 * `clean` は、全てをゼロからビルドするためにビルド出力フォルダを掃除します。説明できない問題がある場合は、通常のコンパイルの前にこれを実行してください。 +* `distclean` は、.hex ファイルと .bin ファイルを削除します。 + +次のターゲットは開発者向けです: + +* `show_path` ソースとオブジェクトファイルのパスを表示します。 +* `dump_vars` makefile 変数をダンプします。 +* `objs-size` 個々のオブジェクトファイルのサイズを表示します。 +* `show_build_options` 'rules.mk' のオプションセットを表示します。 +* `check-md5` 生成されたバイナリファイルの md5 チェックサムを表示します。 make コマンドの最後、つまり target の後に追加のオプションを追加することもできます * `make COLOR=false` - カラー出力をオフ * `make SILENT=true` - エラー/警告以外の出力をオフ * `make VERBOSE=true` - 全ての gcc のものを出力 (デバッグする必要が無い限り面白くありません) -* `make EXTRAFLAGS=-E` - コンパイルせずにコードを前処理 (#define コマンドをデバッグしようとする場合に便利) +* `make VERBOSE_LD_CMD=yes` - -v オプションを指定して ld コマンドを実行します。 +* `make VERBOSE_AS_CMD=yes` - -v オプションを指定して as コマンドを実行します。 +* `make VERBOSE_C_CMD=` - 指定された C ソースファイルをコンパイルするときに -v オプションを追加します。 +* `make DUMP_C_MACROS=` - 指定された C ソースファイルをコンパイルするときにプリプロセッサマクロをダンプします。 +* `make DUMP_C_MACROS= > ` - 指定された C ソースファイルをコンパイルするときにプリプロセッサマクロを `` にダンプします。 +* `make VERBOSE_C_INCLUDE=` - 指定された C ソースファイルをコンパイルするときにインクルードされるファイル名をダンプします。 +* `make VERBOSE_C_INCLUDE= 2> ` - 指定された C ソースファイルをコンパイルするときにインクルードされるファイル名を `` にダンプします。 make コマンド自体にもいくつかの追加オプションがあります。詳細は `make --help` を入力してください。最も有用なのはおそらく `-jx` です。これは複数の CPU を使ってコンパイルしたいことを指定し、`x` は使用したい CPU の数を表します。設定すると、特に多くのキーボード/キーマップをコンパイルしている場合は、コンパイル時間を大幅に短縮することができます。通常は、コンパイル中に他の作業を行うための余裕をもたせるために、持っている CPU の数より1つ少ない値に設定します。全てのオペレーティングシステムと make バージョンがオプションをサポートしているわけではないことに注意してください。 @@ -104,7 +120,7 @@ make コマンド自体にもいくつかの追加オプションがあります これにより、送信したい文字に対応するニーモニックを入力することで Unicode 文字を送信することができます。キーマップファイル内にマッピングテーブルを保持する必要があります。可能な全てのコードポイント( `0x10FFFF` まで)がサポートされます。 -詳細と制限については、[Unicode ページ](ja/feature_unicode.md) を見てください。 +詳細と制限については、[Unicode ページ](ja/feature_unicode.md)を見てください。 `AUDIO_ENABLE` @@ -116,11 +132,11 @@ C6 ピン(抽象化が必要)でオーディオ出力できます。詳細は[ `API_SYSEX_ENABLE` -これにより Quantum SYSEX API を使って文字列を送信することができます (どこに?) +これにより Quantum SYSEX API を使って文字列を(どこかに?)送信することができます `KEY_LOCK_ENABLE` -これは [キーロック](ja/feature_key_lock.md) を有効にします。 +これは[キーロック](ja/feature_key_lock.md)を有効にします。 `SPLIT_KEYBOARD` @@ -132,7 +148,7 @@ ARM ベースの分割キーボード用の標準分割通信ドライバはま `CUSTOM_MATRIX` -デフォルトのマトリックス走査ルーチンを独自のコードで置き換えます。詳細については、[カスタムマトリックスページ](ja/custom_matrix.md) を見てください。 +デフォルトのマトリックス走査ルーチンを独自のコードで置き換えます。詳細については、[カスタムマトリックスページ](ja/custom_matrix.md)を見てください。 `DEBOUNCE_TYPE` diff --git a/docs/ja/getting_started_vagrant.md b/docs/ja/getting_started_vagrant.md index 933f7a248bc9..0888b7f31170 100644 --- a/docs/ja/getting_started_vagrant.md +++ b/docs/ja/getting_started_vagrant.md @@ -1,8 +1,8 @@ # Vagrant クイックスタート このプロジェクトは、プライマリオペレーティングシステムに大きな変更を加えることなくキーボードの新しいファームウェアを非常に簡単に構築することができる `Vagrantfile` を含みます。これは、あなたがプロジェクトをクローンしビルドを実行した時に、ビルドのために Vagrantfile を使っている他のユーザと全く同じ環境を持つことも保証します。これにより、人々はあなたが遭遇した問題の解決をより簡単に行えるようになります。 @@ -12,16 +12,16 @@ このリポジトリ内の `Vagrantfile` を使うには、[Vagrant](https://www.vagrantup.com/) およびサポートされるプロバイダがインストールされている必要があります: * [VirtualBox](https://www.virtualbox.org/) (バージョン 5.0.12 以降) - * 'Vagrant を使うために最もアクセスしやすいプラットフォーム' として販売 + * 「Vagrant を使うために最もアクセスしやすいプラットフォーム」とうたわれています。 * [VMware Workstation](https://www.vmware.com/products/workstation) および [Vagrant VMware プラグイン](https://www.vagrantup.com/vmware) * (有料) VMware プラグインには、ライセンスされた VMware Workstation/Fusion のコピーが必要です。 * [Docker](https://www.docker.com/) -Vagrant 以外に、適切なプロバイダがインストールされ、その後におそらくコンピュータを再起動すると、このプロジェクトをチェックアウトしたフォルダ内の任意の場所で 'vagrant up' を単純に実行することができ、このプロジェクトをビルドするのに必要な全てのツールが含まれる環境(仮想マシンあるいはコンテナ)が開始されます。Vagrant をうまく始めるためのヒントの投稿がありますが、それ以外に、以下のビルドドキュメントを参照することもできます。 +Vagrant 以外に、適切なプロバイダがインストールされ、その後におそらくコンピュータを再起動すると、このプロジェクトをチェックアウトしたフォルダ内の任意の場所で 'vagrant up' を単純に実行することができ、このプロジェクトをビルドするのに必要な全てのツールが含まれる環境(仮想マシンあるいはコンテナ)が開始されます。Vagrant 起動時にうまく始めるためのヒントが表示されますが、それ以外に、以下のビルドドキュメントを参照することもできます。 ## ファームウェアの書き込み -ファームウェアを書き込む"簡単"な方法は、ホスト OS からツールを使うことです: +ファームウェアを書き込む「簡単な」方法は、ホスト OS からツールを使うことです: * [QMK Toolbox](https://github.com/qmk/qmk_toolbox) (推奨) * [Teensy ローダー](https://www.pjrc.com/teensy/loader.html) @@ -29,7 +29,7 @@ Vagrant 以外に、適切なプロバイダがインストールされ、その コマンドラインでプログラムしたい場合は、Vagranfile の ['modifyvm'] 行のコメントを解除して Linux への USB パススルーを有効にし、dfu-util/dfu-programmer のようなコマンドラインツールを使ってプログラムすることができます。あるいは Teensy CLI バージョンをインストールすることができます。 ## Vagrantfile の概要 -開発環境は QMK Docker イメージ、`qmkfm/base_container` を実行するように設定されています。これはシステム間の予測可能性が保証されるだけでなく、CI 環境もミラーされます。 +開発環境は QMK Docker イメージ、`qmkfm/qmk_cli` を実行するように設定されています。これはシステム間の予測可能性が保証されるだけでなく、CI 環境もミラーされます。 ## FAQ diff --git a/docs/ja/hardware_avr.md b/docs/ja/hardware_avr.md index df6b0f8bf1e3..cdc5f8cb8662 100644 --- a/docs/ja/hardware_avr.md +++ b/docs/ja/hardware_avr.md @@ -2,8 +2,8 @@ このページでは QMK における AVR マイコンのサポートについて説明します。AVR マイコンには、Atmel 社製の atmega32u4、atmega32u2、at90usb1286 やその他のマイコンを含みます。AVR マイコンは、簡単に動かせるよう設計された8ビットの MCU です。キーボードでよく使用される AVR マイコンには USB 機能や大きなキーボードマトリックスのためのたくさんの GPIO を搭載しています。これらは、現在、キーボードで使われる最も一般的な MCU です。 @@ -12,26 +12,28 @@ ## AVR を使用したキーボードを QMK に追加する -QMK には AVR を使ったキーボードでの作業を簡略化するための機能が多数あります。大体のキーボードでは1行もコードを書く必要がありません。まずはじめに、`util/new_keyboard.sh` スクリプトを実行します。 +QMK には AVR を使ったキーボードでの作業を簡略化するための機能が多数あります。大体のキーボードでは1行もコードを書く必要がありません。まずはじめに、`qmk new-keyboard` を実行します。 ``` -$ ./util/new_keyboard.sh -Generating a new QMK keyboard directory - -Keyboard Name: mycoolkb -Keyboard Type [avr]: -Your Name [John Smith]: - -Copying base template files... done -Copying avr template files... done -Renaming keyboard files... done -Replacing %KEYBOARD% with mycoolkb... done -Replacing %YOUR_NAME% with John Smith... done - -Created a new keyboard called mycoolkb. - -To start working on things, cd into keyboards/mycoolkb, -or open the directory in your favourite text editor. +$ qmk new-keyboard +Ψ Generating a new QMK keyboard directory + +Keyboard Name: mycoolkeeb +Keyboard Type: + 1. avr + 2. ps2avrgb +Please enter your choice: [1] +Your Name: [John Smith] +Ψ Copying base template files... +Ψ Copying avr template files... +Ψ Renaming keyboard.[ch] to mycoolkeeb.[ch]... +Ψ Replacing %YEAR% with 2021... +Ψ Replacing %KEYBOARD% with mycoolkeeb... +Ψ Replacing %YOUR_NAME% with John Smith... + +Ψ Created a new keyboard called mycoolkeeb. +Ψ To start working on things, `cd` into keyboards/mycoolkeeb, +Ψ or open the directory in your preferred text editor. ``` これにより、新しいキーボードをサポートするために必要なすべてのファイルが作成され、デフォルト値で設定が入力されます。あとはあなたのキーボード用にカスタマイズするだけです。 @@ -83,7 +85,7 @@ or open the directory in your favourite text editor. #define PRODUCT my_awesome_keyboard ``` -?> Windows や macOS では、`MANUFACTURER` と `PRODUCT` が USBデバイスのリストに表示されます。Linux 上の `lsusb` では、代わりにデフォルトで [USB ID Repository](http://www.linux-usb.org/usb-ids.html) によって維持されているリストからこれらを取得します。`lsusb -v` を使用するとデバイスから示された値を表示します。また、接続したときのカーネルログにも表示されます。 +?> Windows や macOS では、`MANUFACTURER` と `PRODUCT` が USBデバイスのリストに表示されます。Linux 上の `lsusb` では、代わりに [USB ID Repository](http://www.linux-usb.org/usb-ids.html) によって維持されているリストの値を優先します。デフォルトでは、リストに `VENDOR_ID` / `PRODUCT_ID` を含まない場合にのみ、`MANUFACTURER` と `PRODUCT` を使います。`sudo lsusb -v` を使用するとデバイスから示された値を表示します。また、接続したときのカーネルログにも表示されます。 ### キーボードマトリックスの設定 diff --git a/docs/ja/hardware_keyboard_guidelines.md b/docs/ja/hardware_keyboard_guidelines.md index faf021776563..8a9127abc916 100644 --- a/docs/ja/hardware_keyboard_guidelines.md +++ b/docs/ja/hardware_keyboard_guidelines.md @@ -2,12 +2,31 @@ QMK は開始以来、コミュニティにおけるキーボードの作成や保守に貢献しているあなたのような人たちのおかげで飛躍的に成長しました。私たちが成長するにつれて、うまくやるためのいくつかのパターンを発見しました。他の人たちがあなたの苦労の恩恵を受けやすくするため、それにあわせてもらえるようお願いします。 +## QMK Lint を使う + +キーボードの問題をチェックできるツール、`qmk lint` を提供しています。キーボードとキーマップで作業をしている間は、頻繁に使うことをお勧めします。 + +チェックに合格した例: + +``` +$ qmk lint -kb rominronin/katana60/rev2 +Ψ Lint check passed! +``` + +チェックに失敗した例: + +``` +$ qmk lint -kb clueboard/66/rev3 +☒ Missing keyboards/clueboard/66/rev3/readme.md +☒ Lint check failed! +``` + ## あなたのキーボード/プロジェクトの名前を決める キーボードの名前は全て小文字で、アルファベット、数字、アンダースコア(`_`)のみで構成されています。アンダースコア(`_`)で始めてはいけません。スラッシュ(`/`)はサブフォルダの区切り文字として使用されます。 diff --git a/docs/ja/how_a_matrix_works.md b/docs/ja/how_a_matrix_works.md index 9a9242cf957e..e5dfc9f07d8a 100644 --- a/docs/ja/how_a_matrix_works.md +++ b/docs/ja/how_a_matrix_works.md @@ -1,8 +1,8 @@ # キーボードマトリックスの仕組み キーボードスイッチのマトリックスは行と列に配置されます。マトリックス回路がなければ、各スイッチはコントローラに直接配線する必要があります。 diff --git a/docs/ja/internals_gpio_control.md b/docs/ja/internals_gpio_control.md index 9685f3ce7295..60c5367870aa 100644 --- a/docs/ja/internals_gpio_control.md +++ b/docs/ja/internals_gpio_control.md @@ -1,8 +1,8 @@ # GPIO 制御 :id=gpio-control QMK には、マイクロコントローラに依存しない GPIO 制御抽象レイヤーがあります。これは異なるプラットフォーム間でピン制御に簡単にアクセスできるようにするためのものです。 @@ -26,3 +26,22 @@ QMK には、マイクロコントローラに依存しない GPIO 制御抽象 ## 高度な設定 :id=advanced-settings 各マイクロコントローラは GPIO に関して複数の高度な設定を持つことができます。この抽象レイヤーは、アーキテクチャー固有の機能の使用法を制限しません。上級ユーザは、目的のデバイスのデータシートを参照し、必要なライブラリを含めてください。AVR については、標準 avr/io.h ライブラリが使われます; STM32 については ChibiOS [PAL ライブラリ](https://chibios.sourceforge.net/docs3/hal/group___p_a_l.html)が使われます。 + +## アトミック操作 :id=atomic-operation + +上記の関数は、必ずしもアトミックに動作することが保証されているわけではありません。そのため、上記の関数を複数組み合わせて使用する際に、操作の途中での割り込みを防ぎたい場合は、以下の `ATOMIC_BLOCK_FORCEON` マクロを使用してください。 + +例: +```c +void some_function() { + // 通常の処理 + ATOMIC_BLOCK_FORCEON { + // アトミックであることが必要な処理 + } + // 通常の処理 +} +``` + +`ATOMIC_BLOCK_FORCEON` は、ブロックが実行される前に、割り込みが有効か無効かに関わらず、強制的に割り込みを無効にします。そして、ブロックが実行された後に、割り込みを有効にします。 + +したがって、`ATOMIC_BLOCK_FORCEON`は、ブロックの実行前に割り込みが有効になっていることがわかっている場合や、ブロックの完了時に割り込みを有効にしても問題ないことがわかっている場合のみ使用できることに注意してください。 diff --git a/docs/ja/keycodes_basic.md b/docs/ja/keycodes_basic.md new file mode 100644 index 000000000000..0b2ca8847e31 --- /dev/null +++ b/docs/ja/keycodes_basic.md @@ -0,0 +1,261 @@ +# 基本的なキーコード + + + +基本的なキーコードのセットは、`KC_NO`、`KC_TRNS` と `0xA5-DF` の範囲のキーコードを除いて、[HID Keyboard/Keypad Usage Page (0x07)](https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf) に基づいています。 + +## 文字と数字 + +|キー |説明 | +|------|----------| +|`KC_A`|`a` と `A`| +|`KC_B`|`b` と `B`| +|`KC_C`|`c` と `C`| +|`KC_D`|`d` と `D`| +|`KC_E`|`e` と `E`| +|`KC_F`|`f` と `F`| +|`KC_G`|`g` と `G`| +|`KC_H`|`h` と `H`| +|`KC_I`|`i` と `I`| +|`KC_J`|`j` と `J`| +|`KC_K`|`k` と `K`| +|`KC_L`|`l` と `L`| +|`KC_M`|`m` と `M`| +|`KC_N`|`n` と `N`| +|`KC_O`|`o` と `O`| +|`KC_P`|`p` と `P`| +|`KC_Q`|`q` と `Q`| +|`KC_R`|`r` と `R`| +|`KC_S`|`s` と `S`| +|`KC_T`|`t` と `T`| +|`KC_U`|`u` と `U`| +|`KC_V`|`v` と `V`| +|`KC_W`|`w` と `W`| +|`KC_X`|`x` と `X`| +|`KC_Y`|`y` と `Y`| +|`KC_Z`|`z` と `Z`| +|`KC_1`|`1` と `!`| +|`KC_2`|`2` と `@`| +|`KC_3`|`3` と `#`| +|`KC_4`|`4` と `$`| +|`KC_5`|`5` と `%`| +|`KC_6`|`6` と `^`| +|`KC_7`|`7` と `&`| +|`KC_8`|`8` と `*`| +|`KC_9`|`9` と `(`| +|`KC_0`|`0` と `)`| + +## ファンクションキー + +|キー |説明 | +|--------|-----| +|`KC_F1` |F1 | +|`KC_F2` |F2 | +|`KC_F3` |F3 | +|`KC_F4` |F4 | +|`KC_F5` |F5 | +|`KC_F6` |F6 | +|`KC_F7` |F7 | +|`KC_F8` |F8 | +|`KC_F9` |F9 | +|`KC_F10`|F10 | +|`KC_F11`|F11 | +|`KC_F12`|F12 | +|`KC_F13`|F13 | +|`KC_F14`|F14 | +|`KC_F15`|F15 | +|`KC_F16`|F16 | +|`KC_F17`|F17 | +|`KC_F18`|F18 | +|`KC_F19`|F19 | +|`KC_F20`|F20 | +|`KC_F21`|F21 | +|`KC_F22`|F22 | +|`KC_F23`|F23 | +|`KC_F24`|F24 | + +## パンクチュエーション + +|キー |エイリアス |説明 | +|-----------------|-------------------|----------------------------------------------| +|`KC_ENTER` |`KC_ENT` |Return (Enter) | +|`KC_ESCAPE` |`KC_ESC` |Escape | +|`KC_BSPACE` |`KC_BSPC` |Delete (Backspace) | +|`KC_TAB` | |Tab | +|`KC_SPACE` |`KC_SPC` |Spacebar | +|`KC_MINUS` |`KC_MINS` |`-` と `_` | +|`KC_EQUAL` |`KC_EQL` |`=` と `+` | +|`KC_LBRACKET` |`KC_LBRC` |`[` と `{` | +|`KC_RBRACKET` |`KC_RBRC` |`]` と `}` | +|`KC_BSLASH` |`KC_BSLS` |`\` と `\|` | +|`KC_NONUS_HASH` |`KC_NUHS` |Non-US `#` と `~` | +|`KC_SCOLON` |`KC_SCLN` |`;` と `:` | +|`KC_QUOTE` |`KC_QUOT` |`'` と `"` | +|`KC_GRAVE` |`KC_GRV`, `KC_ZKHK`|` と `~`, JIS 全角/半角 | +|`KC_COMMA` |`KC_COMM` |`,` と `<` | +|`KC_DOT` | |`.` と `>` | +|`KC_SLASH` |`KC_SLSH` |`/` と `?` | +|`KC_NONUS_BSLASH`|`KC_NUBS` |Non-US `\` と `\|` | + +## ロックキー + +|キー |エイリアス |説明 | +|-------------------|--------------------|---------------------------------------| +|`KC_CAPSLOCK` |`KC_CLCK`, `KC_CAPS`|Caps Lock | +|`KC_SCROLLLOCK` |`KC_SLCK`, `KC_BRMD`|Scroll Lock, 画面の明るさダウン (macOS)| +|`KC_NUMLOCK` |`KC_NLCK` |テンキー Num Lock と Clear | +|`KC_LOCKING_CAPS` |`KC_LCAP` |Caps Lock のロック | +|`KC_LOCKING_NUM` |`KC_LNUM` |Num Lock のロック | +|`KC_LOCKING_SCROLL`|`KC_LSCR` |Scroll Lock のロック | + +## 修飾キー + +|キー |エイリアス |説明 | +|-----------|--------------------|---------------------------------| +|`KC_LCTRL` |`KC_LCTL` |左 Control | +|`KC_LSHIFT`|`KC_LSFT` |左 Shift | +|`KC_LALT` |`KC_LOPT` |左 Alt (Option) | +|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|左 GUI (Windows/Command/Meta キー)| +|`KC_RCTRL` |`KC_RCTL` |右 Control | +|`KC_RSHIFT`|`KC_RSFT` |右 Shift | +|`KC_RALT` |`KC_ROPT`, `KC_ALGR`|右 Alt (Option/AltGr) | +|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|右 GUI (Windows/Command/Meta キー)| + +## 国際化対応キー + +|キー |エイリアス|説明 | +|----------|----------|---------------------| +|`KC_INT1` |`KC_RO` |JIS `\` と ` _` | +|`KC_INT2` |`KC_KANA` |JIS カタカナ/ひらがな| +|`KC_INT3` |`KC_JYEN` |JIS `¥` と `\ |` | +|`KC_INT4` |`KC_HENK` |JIS 変換 | +|`KC_INT5` |`KC_MHEN` |JIS 無変換 | +|`KC_INT6` | |JIS テンキー `,` | +|`KC_INT7` | |International 7 | +|`KC_INT8` | |International 8 | +|`KC_INT9` | |International 9 | +|`KC_LANG1`|`KC_HAEN` |ハングル/英語 | +|`KC_LANG2`|`KC_HANJ` |韓文漢字 | +|`KC_LANG3`| |JIS カタカナ | +|`KC_LANG4`| |JIS ひらがな | +|`KC_LANG5`| |JIS 全角/半角 | +|`KC_LANG6`| |Language 6 | +|`KC_LANG7`| |Language 7 | +|`KC_LANG8`| |Language 8 | +|`KC_LANG9`| |Language 9 | + +## コマンドキー + +|キー |エイリアス |説明 | +|------------------|------------------------------|-------------------------------------------------------| +|`KC_PSCREEN` |`KC_PSCR` |Print Screen | +|`KC_PAUSE` |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, 画面の明るさアップ (macOS) | +|`KC_INSERT` |`KC_INS` |Insert | +|`KC_HOME` | |Home | +|`KC_PGUP` | |Page Up | +|`KC_DELETE` |`KC_DEL` |Forward Delete | +|`KC_END` | |End | +|`KC_PGDOWN` |`KC_PGDN` |Page Down | +|`KC_RIGHT` |`KC_RGHT` |右矢印 | +|`KC_LEFT` | |左矢印 | +|`KC_DOWN` | |下矢印 | +|`KC_UP` | |上矢印 | +|`KC_APPLICATION` |`KC_APP` |アプリケーションキー (Windows コンテキストメニューキー)| +|`KC_POWER` | |システム電源 | +|`KC_EXECUTE` |`KC_EXEC` |Execute | +|`KC_HELP` | |Help | +|`KC_MENU` | |Menu | +|`KC_SELECT` |`KC_SLCT` |Select | +|`KC_STOP` | |Stop | +|`KC_AGAIN` |`KC_AGIN` |Again | +|`KC_UNDO` | |アンドゥ | +|`KC_CUT` | |カット | +|`KC_COPY` | |コピー | +|`KC_PASTE` |`KC_PSTE` |ペースト | +|`KC_FIND` | |検索 | +|`KC__MUTE` | |ミュート | +|`KC__VOLUP` | |音量アップ | +|`KC__VOLDOWN` | |音量ダウン | +|`KC_ALT_ERASE` |`KC_ERAS` |Alternate Erase | +|`KC_SYSREQ` | |SysReq/Attention | +|`KC_CANCEL` | |Cancel | +|`KC_CLEAR` |`KC_CLR` |Clear | +|`KC_PRIOR` | |Prior | +|`KC_RETURN` | |Return | +|`KC_SEPARATOR` | |Separator | +|`KC_OUT` | |Out | +|`KC_OPER` | |Oper | +|`KC_CLEAR_AGAIN` | |Clear/Again | +|`KC_CRSEL` | |CrSel/Props | +|`KC_EXSEL` | |ExSel | + +## メディアキー + +これらのキーコードは、HID Keyboard/Keypad usage ページにはありません。`SYSTEM_` キーコードは、Generic Desktop ページで見つかります。また、その他は Consumer ページにあります。 + +?> これらのキーコードのいくつかは、OS によって異なる動作をする可能性があります。例として、macOS では `KC_MEDIA_FAST_FORWARD`、`KC_MEDIA_REWIND`、`KC_MEDIA_NEXT_TRACK`、`KC_MEDIA_PREV_TRACK` は、押している間は現在の曲の中でスキップしますが、タップした時は曲全体をスキップします。 + +|キー |エイリアス |説明 | +|-----------------------|-----------|----------------------| +|`KC_SYSTEM_POWER` |`KC_PWR` |システム電源オフ | +|`KC_SYSTEM_SLEEP` |`KC_SLEP` |システムスリープ | +|`KC_SYSTEM_WAKE` |`KC_WAKE` |システムスリープ解除 | +|`KC_AUDIO_MUTE` |`KC_MUTE` |ミュート | +|`KC_AUDIO_VOL_UP` |`KC_VOLU` |音量アップ | +|`KC_AUDIO_VOL_DOWN` |`KC_VOLD` |音量ダウン | +|`KC_MEDIA_NEXT_TRACK` |`KC_MNXT` |次の曲へ | +|`KC_MEDIA_PREV_TRACK` |`KC_MPRV` |前の曲へ | +|`KC_MEDIA_STOP` |`KC_MSTP` |再生停止 | +|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |再生/一時停止 | +|`KC_MEDIA_SELECT` |`KC_MSEL` |Media Player 起動 | +|`KC_MEDIA_EJECT` |`KC_EJCT` |イジェクト | +|`KC_MAIL` | |メール起動 | +|`KC_CALCULATOR` |`KC_CALC` |電卓起動 | +|`KC_MY_COMPUTER` |`KC_MYCM` |マイコンピュータを開く| +|`KC_WWW_SEARCH` |`KC_WSCH` |ブラウザ検索 | +|`KC_WWW_HOME` |`KC_WHOM` |ブラウザホーム画面 | +|`KC_WWW_BACK` |`KC_WBAK` |ブラウザ戻る | +|`KC_WWW_FORWARD` |`KC_WFWD` |ブラウザ進む | +|`KC_WWW_STOP` |`KC_WSTP` |ブラウザ読み込み中止 | +|`KC_WWW_REFRESH` |`KC_WREF` |ブラウザ再読み込み | +|`KC_WWW_FAVORITES` |`KC_WFAV` |ブラウザお気に入り | +|`KC_MEDIA_FAST_FORWARD`|`KC_MFFD` |次の曲へ | +|`KC_MEDIA_REWIND` |`KC_MRWD` |前の曲へ | +|`KC_BRIGHTNESS_UP` |`KC_BRIU` |画面の明るさアップ | +|`KC_BRIGHTNESS_DOWN` |`KC_BRID` |画面の明るさダウン | + +## テンキー + +|キー |エイリアス |説明 | +|-------------------|-----------|-------------------------------| +|`KC_KP_SLASH` |`KC_PSLS` |テンキー `/` | +|`KC_KP_ASTERISK` |`KC_PAST` |テンキー `*` | +|`KC_KP_MINUS` |`KC_PMNS` |テンキー `-` | +|`KC_KP_PLUS` |`KC_PPLS` |テンキー `+` | +|`KC_KP_ENTER` |`KC_PENT` |テンキー Enter | +|`KC_KP_1` |`KC_P1` |テンキー `1` と End | +|`KC_KP_2` |`KC_P2` |テンキー `2` と 下矢印 | +|`KC_KP_3` |`KC_P3` |テンキー `3` と Page Down | +|`KC_KP_4` |`KC_P4` |テンキー `4` と 左矢印 | +|`KC_KP_5` |`KC_P5` |テンキー `5` | +|`KC_KP_6` |`KC_P6` |テンキー `6` と 右矢印 | +|`KC_KP_7` |`KC_P7` |テンキー `7` と Home | +|`KC_KP_8` |`KC_P8` |テンキー `8` と 上矢印 | +|`KC_KP_9` |`KC_P9` |テンキー `9` と Page Up | +|`KC_KP_0` |`KC_P0` |テンキー `0` と Insert | +|`KC_KP_DOT` |`KC_PDOT` |テンキー `.` と Delete | +|`KC_KP_EQUAL` |`KC_PEQL` |テンキー `=` | +|`KC_KP_COMMA` |`KC_PCMM` |テンキー `,` | +|`KC_KP_EQUAL_AS400`| |AS/400 キーボードのテンキー `=`| + +## 特別なキー + +これらのキーコードに加えて、`0xA5-DF` の範囲のキーコードは、内部処理のために予約されています。 + +|キー |エイリアス |説明 | +|----------------|--------------------|-----------------------------------| +|`KC_NO` |`XXXXXXX` |このキーを無視します (NOOP) | +|`KC_TRANSPARENT`|`KC_TRNS`, `_______`|次に低いレイヤーの非透過キーを使う | diff --git a/docs/ja/mod_tap.md b/docs/ja/mod_tap.md index 01afd201bb4a..371870abd6fe 100644 --- a/docs/ja/mod_tap.md +++ b/docs/ja/mod_tap.md @@ -1,8 +1,8 @@ # モッドタップ モッドタップキー `MT(mod, kc)` は、押したままの時にモディファイアのように機能し、タップされた時に通常のキーのように振舞います。別の言い方をすると、タップした時に Escape を送信しますが、押したままの時に Control あるいは Shift キーとして機能するキーを持つことができます。 @@ -32,23 +32,26 @@ MT(MOD_LCTL | MOD_LSFT, KC_ESC) 便利なように、QMK はキーマップで一般的な組み合わせをよりコンパクトにするためのモッドタップショートカットを含んでいます: -| キー | エイリアス | 説明 | -|--------------|-----------------------------|-------------------------------------------------------------| -| `LCTL_T(kc)` | `CTL_T(kc)` | 押したままの場合は左 Control、タップした場合は `kc` | -| `LSFT_T(kc)` | `SFT_T(kc)` | 押したままの場合は左 Shift、タップした場合は `kc` | -| `LALT_T(kc)` | `LOPT_T(kc)`, `ALT_T(kc)`, `OPT_T(kc)` | 押したままの場合は左 Alt、タップした場合は `kc` | -| `LGUI_T(kc)` | `LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)` | 押したままの場合は左 GUI、タップした場合は `kc` | -| `RCTL_T(kc)` | | 押したままの場合は右 Control、タップした場合は `kc` | -| `RSFT_T(kc)` | | 押したままの場合は右 Shift、タップした場合は `kc` | -| `RALT_T(kc)` | `ROPT_T(kc)`, `ALGR_T(kc)` | 押したままの場合は右 Alt、タップした場合は `kc` | -| `RGUI_T(kc)` | `RCMD_T(kc)`, `RWIN_T(kc)` | 押したままの場合は右 GUI、タップした場合は `kc` | -| `SGUI_T(kc)` | `SCMD_T(kc)`, `SWIN_T(kc)` | 押したままの場合は左 Shift と左 GUI、タップした場合は `kc` | -| `LCA_T(kc)` | | 押したままの場合は左 Control と左 Alt、タップした場合は `kc` | -| `LCAG_T(kc)` | | 押したままの場合は左 Control、左 Alt と左 GUI、タップした場合は `kc` | -| `RCAG_T(kc)` | | 押したままの場合は右 Control、右 Alt と右 GUI、タップした場合は `kc` | -| `C_S_T(kc)` | | 押したままの場合は左 Control と左 Shift、タップした場合は `kc` | -| `MEH_T(kc)` | | 押したままの場合は左 Control、左 Shift と左 Alt、タップした場合は `kc` | -| `HYPR_T(kc)` | `ALL_T(kc)` | 押したままの場合は左 Control、左 Shift、左 Alt と左 GUI、タップした場合は `kc` - より詳しくは[ここ](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)を見てください | +| キー | エイリアス | 説明 | +| ------------ | ----------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `LCTL_T(kc)` | `CTL_T(kc)` | 押したままの場合は左 Control、タップした場合は `kc` | +| `LSFT_T(kc)` | `SFT_T(kc)` | 押したままの場合は左 Shift、タップした場合は `kc` | +| `LALT_T(kc)` | `LOPT_T(kc)`, `ALT_T(kc)`, `OPT_T(kc)` | 押したままの場合は左 Alt、タップした場合は `kc` | +| `LGUI_T(kc)` | `LCMD_T(kc)`, `LWIN_T(kc)`, `GUI_T(kc)`, `CMD_T(kc)`, `WIN_T(kc)` | 押したままの場合は左 GUI、タップした場合は `kc` | +| `RCTL_T(kc)` | | 押したままの場合は右 Control、タップした場合は `kc` | +| `RSFT_T(kc)` | | 押したままの場合は右 Shift、タップした場合は `kc` | +| `RALT_T(kc)` | `ROPT_T(kc)`, `ALGR_T(kc)` | 押したままの場合は右 Alt、タップした場合は `kc` | +| `RGUI_T(kc)` | `RCMD_T(kc)`, `RWIN_T(kc)` | 押したままの場合は右 GUI、タップした場合は `kc` | +| `SGUI_T(kc)` | `SCMD_T(kc)`, `SWIN_T(kc)` | 押したままの場合は左 Shift と左 GUI、タップした場合は `kc` | +| `LCA_T(kc)` | | 押したままの場合は左 Control と左 Alt、タップした場合は `kc` | +| `LSA_T(kc)` | | 押したままの場合は左 Shift と Alt、タップした場合は `kc` | +| `RSA_T(kc)` | `SAGR_T(kc)` | 押したままの場合は右 Shift と Alt (AltGr)、タップした場合は `kc` | +| `RCS_T(kc)` | | 押したままの場合は右 Control と Shift、タップした場合は `kc` | +| `LCAG_T(kc)` | | 押したままの場合は左 Control、左 Alt と左 GUI、タップした場合は `kc` | +| `RCAG_T(kc)` | | 押したままの場合は右 Control、右 Alt と右 GUI、タップした場合は `kc` | +| `C_S_T(kc)` | | 押したままの場合は左 Control と左 Shift、タップした場合は `kc` | +| `MEH_T(kc)` | | 押したままの場合は左 Control、左 Shift と左 Alt、タップした場合は `kc` | +| `HYPR_T(kc)` | `ALL_T(kc)` | 押したままの場合は左 Control、左 Shift、左 Alt と左 GUI、タップした場合は `kc` - より詳しくは[ここ](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)を見てください | ## 注意事項 @@ -57,3 +60,7 @@ MT(MOD_LCTL | MOD_LSFT, KC_ESC) さらに、Windows でリモートデスクトップ接続を使う場合に、問題が発生する場合があります。これらのコードはシフトを非常に高速に送信するため、リモートデスクトップはコードを見逃すかもしれません。 これを修正するには、リモートデスクトップ接続を開き、「オプションの表示」を開き、「ローカル リソース」タブを開きます。キーボードセクションで、ドロップダウンを「このコンピューター」に変更します。これにより問題が修正され、キャラクタが正しく動作するようになります。 + +## 他のリソース + +モッドタップの動作を調整する追加フラグについては、[タップホールド設定オプション](ja/tap_hold.md)を参照してください。 diff --git a/docs/ja/newbs.md b/docs/ja/newbs.md index 1cb2c4f549a9..5fdf40425a7e 100644 --- a/docs/ja/newbs.md +++ b/docs/ja/newbs.md @@ -1,9 +1,9 @@ -# QMK 初心者ガイド +# QMK チュートリアル キーボードには、コンピュータ入っているものと似たようなプロセッサが入っています。 @@ -19,20 +19,16 @@ QMK は、簡単なことは簡単に、そして、難しいことを可能な QMK は[多くの趣味のキーボード](https://qmk.fm/keyboards/)をサポートしています。 現在使用しているキーボードが QMK を実行できない場合、QMK を実行できるキーボードの選択肢はたくさんあります。 -## このガイドは私のためにあるのでしょうか? - -このガイドは、ソースコードを使ってキーボードのファームウェアを構築したいと考えている人に適しています。 -もしあなたがすでにプログラマーであれば、このプロセスはとても身近で簡単に理解できるでしょう。 -もし、プログラミングの考え方に抵抗があるのであれば、代わりに[私たちのオンラインGUI](ja/newbs_building_firmware_configurator.md)を見てみてください。 +?> **このガイドは私のためにあるのでしょうか?**
+もし、プログラミングの考え方に抵抗があるのであれば、代わりに[私たちのオンライン GUI](ja/newbs_building_firmware_configurator.md) を見てみてください。 ## 概要 -このガイドには4つの主要なセクションがあります。 +このガイドは、ソースコードを使ってキーボードのファームウェアを構築したいと考えている人に適しています。 もしあなたがすでにプログラマーであれば、このプロセスはとても身近で簡単に理解できるでしょう。このガイドには3つの主要なセクションがあります: 1. [環境設定](ja/newbs_getting_started.md) 2. [コマンドラインを使用して初めてのファームウェアを構築する](ja/newbs_building_firmware.md) 3. [ファームウェアを書きこむ](ja/newbs_flashing.md) -4. [テストとデバッグ](ja/newbs_testing_debugging.md) このガイドは、これまでソフトウェアをコンパイルしたことがない人を支援することに特化しています。 その観点から選択と推奨を行います。 @@ -41,8 +37,4 @@ QMK は[多くの趣味のキーボード](https://qmk.fm/keyboards/)をサポ ## 追加のリソース -このガイドの他にも、QMK の学習に役立つリソースがいくつかあります。[学習リソース](ja/newbs_learn_more_resources.md)のページにまとめました。 - -## オープンソース - -QMKは GNU General Public License でリリースされているオープンソース・ソフトウェアです。 +このガイドの他にも、QMK の学習に役立つリソースがいくつかあります。[シラバス](ja/syllabus.md)と[学習リソース](ja/newbs_learn_more_resources.md)のページにまとめました。 diff --git a/docs/ja/newbs_building_firmware_configurator.md b/docs/ja/newbs_building_firmware_configurator.md index 61d25ffb52c1..6b48e79de864 100644 --- a/docs/ja/newbs_building_firmware_configurator.md +++ b/docs/ja/newbs_building_firmware_configurator.md @@ -2,13 +2,13 @@ [![QMK Configurator Screenshot](https://i.imgur.com/anw9cOL.png)](https://config.qmk.fm/) -[QMK Configurator](https://config.qmk.fm) は、QMKファームウェアの hex ファイルを生成するオンライングラフィカルユーザーインターフェイスです。 +[QMK Configurator](https://config.qmk.fm) は、QMKファームウェアの `.hex` や `.bin` ファイルを生成するオンライングラフィカルユーザーインターフェイスです。 [ビデオチュートリアル](https://www.youtube.com/watch?v=-imgglzDMdY) を見てください。 多くの人は、それが自分のキーボードのプログラミングを始めるのに十分な情報であることに気づくでしょう。 diff --git a/docs/ja/newbs_flashing.md b/docs/ja/newbs_flashing.md index 3e1529706e63..39f5da88a85d 100644 --- a/docs/ja/newbs_flashing.md +++ b/docs/ja/newbs_flashing.md @@ -1,12 +1,12 @@ -# ファームウェアを書きこむ +# ファームウェアを書き込む -カスタムファームウェアは出来たので、キーボードに書き込みたくなるでしょう/フラッシュしたくなるでしょう。 +カスタムファームウェアは出来たので、いよいよキーボードへの書き込み(フラッシュ)です。 ## キーボードを DFU (Bootloader) モードにする @@ -50,18 +50,22 @@ Finder またはエクスプローラーでファームウェアのファイル Windows か macOS を使用している場合、現在のフォルダをエクスプローラーか Finder で簡単に開くためのコマンドがあります。 -#### Windows + + +#### ** Windows ** ``` start . ``` -#### macOS +#### ** macOS ** ``` open . ``` + + ファームウェアファイルは常に以下の命名形式に従っています: ``` @@ -117,11 +121,13 @@ QMK Toolbox の `Flash` ボタンをクリックします。次のような出 WARNING: This board's bootloader is not specified or is not supported by the ":flash" target at this time. -この場合、あなたは明示的にブートローダを指定する方法を使わなければなりません。詳細は、[ファームウェアのフラッシュ](ja/flashing.md) ガイドを参照してください。 +この場合、あなたは明示的にブートローダを指定する方法を使わなければなりません。詳細は、[ファームウェアのフラッシュ](ja/flashing.md)ガイドを参照してください。 ## テストしましょう! -おめでとうございます! カスタムファームウェアがキーボードにプログラムされました! +おめでとうございます!カスタムファームウェアがキーボードにプログラムされ、テストする準備ができました! + +少し運が良ければ全てが完璧に機能しますが、そうでない場合は何が問題なのかを理解するのに役立つ手順があります。 +通常、キーボードのテストは非常に簡単です。全てのキーをひとつずつ押して、期待するキーが送信されることを確認します。例え QMK で動作していない場合でも、[QMK Configurator](https://config.qmk.fm/#/test/) のテストモードを使用すると、キーボードをチェックできます。 -使ってみて、すべてがあなたの望むように動作するかどうか確認してください。 -この初心者ガイドを完全なものにするために [テストとデバッグ](ja/newbs_testing_debugging.md) を書いたので、ファームウェアの検証とカスタム機能のトラブルシューティング方法について学ぶには、こちらをご覧ください。 +まだ動作しませんか?詳細については FAQ トピックを参照するか、[Discord でチャット](https://discord.gg/Uq7gcHh)してください。 diff --git a/docs/ja/newbs_getting_started.md b/docs/ja/newbs_getting_started.md index 44ce93aec8d0..ece64e8d8b22 100644 --- a/docs/ja/newbs_getting_started.md +++ b/docs/ja/newbs_getting_started.md @@ -2,125 +2,180 @@ キーマップをビルドする前に、いくつかのソフトウェアをインストールしてビルド環境を構築する必要があります。 ファームウェアをコンパイルするキーボードの数に関わらず、この作業を一度だけ実行する必要があります。 -## 1. ソフトウェアのダウンロード +## 1. 前提条件 始めるために必要なソフトウェアがいくつかあります。 -### テキストエディタ +* [テキストエディタ](ja/newbs_learn_more_resources.md#text-editor-resources) + * プレーンテキストファイルを編集して保存できるプログラムが必要です。多くの OS に付属するデフォルトのエディタはプレーンテキストファイルを保存しないため、選択したエディタがプレーンテキストファイルを保存することを確認する必要があります。 +* [Toolbox (オプション)](https://github.com/qmk/qmk_toolbox) + * Windows と macOS で使える GUI を備えたプログラムで、カスタムキーボードのプログラミングとデバッグの両方ができます。 -**プレーンテキスト** ファイルを編集して保存できるプログラムが必要です。 -Windows の場合、メモ帳が使えます。Linux の場合、gedit が使えます。どちらもシンプルですが機能的なテキストエディタです。 -macOS では、デフォルトのテキストエディットアプリに注意してください。_フォーマット_ メニューから _標準テキストにする_ を選択しない限り、プレーンテキストとして保存されません。 +?> もし、Linux か Unix のコマンドを使ったことがない場合、こちらで基本的な概念や各種コマンドを学んでください。[これらの教材](ja/newbs_learn_more_resources.md#command-line-resources)で QMK を使うのに必要なことを学ぶことができます。 -[Sublime Text](https://www.sublimetext.com/) や [VS Code](https://code.visualstudio.com/) のような専用のテキストエディタをダウンロードしてインストールすることもできます。これらのプログラムはコードを編集するために特別に作成されているため、これはプラットフォームに関係なくベストな方法です。 - -?> どのエディタを使えば良いか分からない場合、Laurence Bradford が書いたこの記事 [a great introduction](https://learntocodewith.me/programming/basics/text-editors/) を読んでください。 +## 2. ビルド環境を準備する :id=set-up-your-environment -### QMK Toolbox +私たちは、QMK を可能な限り簡単に構築できるように努力しています。Linux か Unix 環境を用意するだけで、QMK に残りをインストールさせることができます。 -QMK Toolbox は、Windows と macOS で使える GUI を備えたプログラムで、カスタムキーボードのプログラミングとデバッグの両方ができます。 -このプログラムは、キーボードに簡単にファームウェアを書き込んだり、出力されるデバッグメッセージを確認する際に、かけがえのないものであることがわかるでしょう。 + -[QMK Toolbox の最新版](https://github.com/qmk/qmk_toolbox/releases/latest) +### ** Windows ** -* Windows 版: `qmk_toolbox.exe` (portable) または `qmk_toolbox_install.exe` (installer) -* macOS 版: `QMK.Toolbox.app.zip` (portable) または `QMK.Toolbox.pkg` (installer) +QMK は、MSYS2、CLI、および必要な全ての依存関係のバンドルを保守しています。また、正しい環境で直接起動するための便利な `QMK MSYS` ターミナルショートカットも提供しています。 -### Unix ライクな環境 +#### 前提条件 -Linux や macOS には既に実行可能な unix シェルが付属しています。ビルド環境を構築するだけで済みます。 +[QMK MSYS](https://msys.qmk.fm/) をインストールする必要があります。最新リリースは[ここ](https://github.com/qmk/qmk_distro_msys/releases/latest)から入手できます。 -Windows では、MSYS2 や WSL をインストールして、これらの環境を使う必要があります。MSYS2 の構築手順を以下に示します。 +または、MSYS2 を手動でインストールしたい場合、次のセクションでプロセスを説明します。 -## 2. ビルド環境を準備する :id=set-up-your-environment +
+ 手動インストール -私たちは、QMK を可能な限り簡単に構築できるように努力しています。 -Linux か Unix 環境を用意するだけで、QMK に残りをインストールさせることができます。 +?> `QMK MSYS` を使う場合、次のステップは無視してください。 -?> もし、Linux か Unix のコマンドを使ったことがない場合、こちらで基本的な概念や各種コマンドを学んでください。これらの教材で QMK を使うのに必要なことを学ぶことができます:
-[Must Know Linux Commands](https://www.guru99.com/must-know-linux-commands.html)
-[Some Basic Unix Commands](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html) +#### 前提条件 -### Windows +MSYS2 と Git と Python をインストールする必要があります。https://www.msys2.org のインストール手順に従ってください。 -MSYS2 と Git と QMK CLI のインストールが必要です。 +MSYS2 をインストールしたら、開いている MSYS の全ターミナル画面を閉じて、新しい MinGW 64-bit ターミナル画面を開きます。 -[MSYS2 homepage](https://www.msys2.org) のインストール手順に従ってください。開いている MSYS2 の全ターミナル画面を閉じて、新しい MinGW 64-bit ターミナル画面を開きます。**注意: これはインストールが完了した時に開く MSYS ターミナルと同じ *ではありません*。** +!> **注意:** MinGW 64-bit ターミナルは、インストールが完了した時に開く MSYS ターミナルと*同じではありません*。プロンプトには、「MSYS」ではなく、紫色のテキストで「MINGW64」と表示されます。違いについての詳細は[このページ](https://www.msys2.org/wiki/MSYS2-introduction/#subsystems)を参照してください。 それから、次のように実行します: pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python3-pip + +#### インストール + +次のコマンドを実行して、QMK CLI をインストールします: + python3 -m pip install qmk -### macOS +
-Homebrew のインストールが必要です。[Homebrew homepage](https://brew.sh) の手順に従ってください。 +### ** macOS ** -Homebrew をインストールした後で、以下のコマンドを実行します: +QMK は CLI と全ての必要な依存関係を自動的にインストールする Homebrew tap と formula を保守しています。 + +#### 前提条件 + +Homebrew のインストールが必要です。https://brew.sh の手順に従ってください。 + +#### インストール + +次のコマンドを実行して、QMK CLI をインストールします: brew install qmk/qmk/qmk -### Linux +### ** Linux/WSL ** + +?> **WSL ユーザーへの注意**: デフォルトでは、インストールプロセスは QMK リポジトリを WSL ホームディレクトリに clone しますが、手動で clone した場合、Windows ファイルシステムではなく、WSL インスタンス内にある(つまり `/mnt` 内にない)ことを確認してください。これは、現在アクセスが[非常に遅い](https://github.com/microsoft/WSL/issues/4197)ためです。 + +#### 前提条件 Git と Python をインストールする必要があります。両方とも既にインストールされている可能性は高いですが、そうでない場合、次のコマンドのいずれかでそれらをインストールできます: -* Debian / Ubuntu / Devuan: `sudo apt install git python3 python3-pip` -* Fedora / Red Hat / CentOS: `sudo yum install git python3 python3-pip` -* Arch / Manjaro: `sudo pacman -S git python python-pip python-setuptools libffi` +* Debian / Ubuntu / Devuan: `sudo apt install -y git python3-pip` +* Fedora / Red Hat / CentOS: `sudo yum -y install git python3-pip` +* Arch / Manjaro: `sudo pacman --needed --noconfirm -S git python-pip libffi` +* Void: `sudo xbps-install -y git python3-pip` +* Solus: `sudo eopkg -y install git python3` +* Sabayon: `sudo equo install dev-vcs/git dev-python/pip` +* Gentoo: `sudo emerge dev-vcs/git dev-python/pip` -グローバル CLI をインストールして、システムをブートストラップします: +#### インストール -`python3 -m pip install --user qmk` (Arch ベースのディストリビューションでは AUR から `qmk` パッケージを試すこともできます(**メモ**: コミュニティメンバーによって保守されています): `yay -S qmk`) +次のコマンドを実行して、QMK CLI をインストールします: -### FreeBSD + python3 -m pip install --user qmk -Git と Python をインストールする必要があります。両方とも既にインストールされている可能性は高いですが、そうでない場合、次のコマンドを実行してそれらをインストールします: +#### コミュニティパッケージ - pkg install git python3 +これらのパッケージはコミュニティメンバーによって保守されているため、最新ではないか、完全には機能しない可能性があります。問題が発生した場合は、それぞれのメンテナに報告してください。 -ローカルにインストールした Python パッケージが利用できるように、`$HOME/.local/bin` が `$PATH` に追加されていることを確認してください。 +Arch ベースのディストリビューションでは、公式リポジトリから CLI をインストールできます(注意: 執筆時点では、このパッケージは一部の依存関係をオプションとしてマークしていますが、そうではありません): -インストール完了後、QMK CLI をインストールできます: + sudo pacman -S qmk - python3 -m pip install --user qmk +AUR から `qmk-git` パッケージを試すこともできます: + + yay -S qmk-git + +### ** FreeBSD ** + +#### インストール + +次のコマンドを実行して、QMK CLI の FreeBSD パッケージをインストールします: + + pkg install -g "py*-qmk" + +注意: インストールの最後に表示された指示に従うことを忘れないでください(再度表示するには、`pkg info -Dg "py*-qmk"` を使ってください)。 + + ## 3. QMK の設定を行う :id=set-up-qmk + + +### ** Windows ** + QMK のインストール後に、このコマンドで設定できます: qmk setup -ほとんどの場合、全てのプロンプトに Yes と答えます。 +ほとんどの場合、全てのプロンプトに `y` と答えます。 + +### ** macOS ** + +QMK のインストール後に、このコマンドで設定できます: + + qmk setup + +ほとんどの場合、全てのプロンプトに `y` と答えます。 + +### ** Linux/WSL ** + +QMK のインストール後に、このコマンドで設定できます: + + qmk setup + +ほとんどの場合、全てのプロンプトに `y` と答えます。 ?>**Debian、Ubuntu、それらの派生に関する注意**: 次のようなエラーが表示される可能性があります: `bash: qmk: command not found`. -これは Debian の Bash 4.4 リリースで導入された [バグ](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839155) で、`$HOME/.local/bin` が PATH から削除されました。このバグは後に Debian や Ubuntu で修正されました。 +これは Debian の Bash 4.4 リリースで導入された[バグ](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839155)で、`$HOME/.local/bin` が PATH から削除されました。このバグは後に Debian や Ubuntu で修正されました。 残念なことに、Ubuntu はこのバグを再導入し、[まだ修正していません](https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562)。 幸い、修正は簡単です。これをあなたのユーザで実行します: `echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.bashrc && source $HOME/.bashrc` -?>**FreeBSD に関する注意**: -まず、`root` 以外のユーザで `qmk setup` を実行することをお勧めしますが、これはおそらく `pkg` を使って基本システムにインストールする必要があるパッケージを識別します。 -しかし、特権のないユーザで実行すると、インストールはおそらく失敗します。 -基本的な依存関係を手動でインストールするには、`./util/qmk_install.sh` を `root` として実行するか、`sudo` をつけて実行します。 -それが完了したら、`qmk setup` を再実行して設定と確認を完了させます。 +### ** FreeBSD ** + +QMK のインストール後に、このコマンドで設定できます: + + qmk setup + +ほとんどの場合、全てのプロンプトに `y` と答えます。 + + + +?> qmk ホームフォルダは、セットアップ時に `qmk setup -H ` を使って指定し、[cli 構成](ja/cli_configuration.md?id=single-key-example)と変数 `user.qmk_home` を使って変更できます。利用可能な全てのオプションについては、`qmk setup --help` を実行します。 -?> 既に [GitHub の使いかた](ja/getting_started_github.md)を知っているなら、fork を作成し、`qmk setup /qmk_firmware` を使って個人用の fork から clone することをお勧めします。この一文の意味が分からない場合、このメッセージは無視してかまいません。 +?> 既に GitHub の使い方を知っている場合、[これらの手順に従うことをお勧めします](ja/getting_started_github.md)。そして `qmk setup /qmk_firmware` を使って個人用の fork から clone します。この一文の意味が分からない場合、このメッセージは無視してかまいません。 ## 4. ビルド環境の確認 -これで QMK のビルド環境が用意できたので、キーボードのファームウェアをビルドできます。 -キーボードのデフォルトキーマップをビルドすることから始めます。次の形式のコマンドでビルドできるはずです。 +これで QMK のビルド環境が用意できたので、キーボードのファームウェアをビルドできます。キーボードのデフォルトキーマップをビルドすることから始めます。次の形式のコマンドでビルドできるはずです: qmk compile -kb -km default -例えば、Clueboard 66% のファームウェアをビルドする場合: +例えば、Clueboard 66% のファームウェアをビルドする場合、次のようにします: qmk compile -kb clueboard/66/rev3 -km default @@ -152,5 +207,4 @@ QMK を初めて使うほとんどの人は、キーボードを1つしか持っ # キーマップの作成 -これであなた専用のキーマップを作成する準備ができました! -次は [初めてのファームウェアの構築](ja/newbs_building_firmware.md) で専用のキーマップを作成します。 +これであなた専用のキーマップを作成する準備ができました!次は[初めてのファームウェアの構築](ja/newbs_building_firmware.md)で専用のキーマップを作成します。 diff --git a/docs/ja/newbs_learn_more_resources.md b/docs/ja/newbs_learn_more_resources.md index e5437ca86af1..686b92446518 100644 --- a/docs/ja/newbs_learn_more_resources.md +++ b/docs/ja/newbs_learn_more_resources.md @@ -2,13 +2,13 @@ これらのリソースは、QMK コミュニティの新しいメンバーに、初心者向けドキュメントで提供されている情報に対する理解を深めることを目的としています。 -## QMK に関するリソース: +## QMK に関するリソース ### 英語 :id=english-resources-qmk @@ -18,17 +18,35 @@ _日本語のリソース情報を募集中です。_ -## コマンドラインに関するリソース: +## コマンドラインに関するリソース :id=command-line-resources ### 英語 :id=english-resources-cli * [Good General Tutorial on Command Line](https://www.codecademy.com/learn/learn-the-command-line) +* [Must Know Linux Commands](https://www.guru99.com/must-know-linux-commands.html)
+* [Some Basic Unix Commands](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html) ### 日本語 :id=japanese-resources-cli _日本語のリソース情報を募集中です。_ -## Git に関するリソース: +## テキストエディタに関するリソース :id=text-editor-resources + +どのテキストエディタを使えば良いか分かりませんか? + +### 英語 :id=english-resources-text-editor + +* [a great introduction to the subject](https://learntocodewith.me/programming/basics/text-editors/) + +### 日本語 :id=japanese-resources-text-editor + +_日本語のリソース情報を募集中です。_ + +コーディング用に特別に作成されたエディタ: +* [Sublime Text](https://www.sublimetext.com/) +* [VS Code](https://code.visualstudio.com/) + +## Git に関するリソース ### 英語 :id=english-resources-git diff --git a/docs/ja/newbs_testing_debugging.md b/docs/ja/newbs_testing_debugging.md index 41103bae973a..d64f0f6dff84 100644 --- a/docs/ja/newbs_testing_debugging.md +++ b/docs/ja/newbs_testing_debugging.md @@ -2,105 +2,14 @@ -カスタムファームウェアをキーボードへ書き込んだら、テストする準備が整います。運が良ければ全て問題なく動作しているはずですが、もしそうでなければこのドキュメントがどこが悪いのか調べるのに役立ちます。 - ## テスト -通常、キーボードをテストするのは非常に簡単です。 -全てのキーをひとつずつ押して、期待されるキーが送信されていることを確認します。 -QMK を実行していなくても、[QMK Configurator](https://config.qmk.fm/#/test/) のテストモードを使ってキーボードを確認することができます。 +[ここに移動しました](ja/faq_misc.md#testing) ## デバッグ :id=debugging -`rules.mk`へ`CONSOLE_ENABLE = yes`の設定をするとキーボードはデバッグ情報を出力します。デフォルトの出力は非常に限られたものですが、デバッグモードをオンにすることでデバッグ情報の量を増やすことが出来ます。キーマップの`DEBUG`キーコードを使用するか、デバッグモードを有効にする [コマンド](ja/feature_command.md) 機能を使用するか、以下のコードをキーマップに追加します。 - -```c -void keyboard_post_init_user(void) { - // Customise these values to desired behaviour - debug_enable=true; - debug_matrix=true; - //debug_keyboard=true; - //debug_mouse=true; -} -``` - -## デバッグツール :id=debugging-tools - -キーボードのデバッグに使えるツールは2つあります。 - -### QMK Toolboxを使ったデバッグ - -互換性のある環境では、[QMK Toolbox](https://github.com/qmk/qmk_toolbox)を使うことでキーボードからのデバッグメッセージを表示できます。 - -### hid_listenを使ったデバッグ - -ターミナルベースの方法がお好みですか?PJRC が提供する[hid_listen](https://www.pjrc.com/teensy/hid_listen.html)もデバッグメッセージの表示に使用できます。ビルド済みの実行ファイルは Windows, Linux, MacOS 用が用意されています。 - - -## 独自のデバッグメッセージを送信する - -[custom code](ja/custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に`print.h`のインクルードを追加します: - -```c -#include "print.h" -``` - -そのあとは、いくつかの異なった print 関数を使用することが出来ます。 - -* `print("string")`: シンプルな文字列を出力します -* `uprintf("%s string", var)`: フォーマットされた文字列を出力します -* `dprint("string")` デバッグモードが有効な場合のみ、シンプルな文字列を出力します -* `dprintf("%s string", var)`: デバッグモードが有効な場合のみ、フォーマットされた文字列を出力します - -## デバッグの例 - -以下は現実世界での実際のデバッグ手法の例を集めたものです。追加情報は[Debugging/Troubleshooting QMK](ja/faq_debug.md)を参照してください。 - -### マトリックス上のどの場所でキー押下が起こったか? - -移植する、PCBの問題を診断する場合、キー入力が正しくスキャンされているかどうかを確認することが役立つ場合があります。この手法でのロギングを有効化するには、`keymap.c`へ以下のコードを追加します。 - -```c -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // コンソールが有効化されている場合、マトリックス上の位置とキー押下状態を出力します -#ifdef CONSOLE_ENABLE - uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); -#endif - return true; -} -``` - -出力の例 -```text -Waiting for device:....... -Listening: -KL: kc: 169, col: 0, row: 0, pressed: 1 -KL: kc: 169, col: 0, row: 0, pressed: 0 -KL: kc: 174, col: 1, row: 0, pressed: 1 -KL: kc: 174, col: 1, row: 0, pressed: 0 -KL: kc: 172, col: 2, row: 0, pressed: 1 -KL: kc: 172, col: 2, row: 0, pressed: 0 -``` - -### キースキャンにかかる時間の測定 - -パフォーマンスの問題をテストする場合、スイッチマトリックスをスキャンする頻度を知ることが役立ちます。この手法でのロギングを有効化するには`config.h`へ以下のコードを追加します。 - - -```c -#define DEBUG_MATRIX_SCAN_RATE -``` - -出力例 -```text - > matrix scan frequency: 315 - > matrix scan frequency: 313 - > matrix scan frequency: 316 - > matrix scan frequency: 316 - > matrix scan frequency: 316 - > matrix scan frequency: 316 -``` +[ここに移動しました](ja/faq_debug.md#debugging) diff --git a/docs/ja/one_shot_keys.md b/docs/ja/one_shot_keys.md index 61cf31beffd9..4e6b2aa9d282 100644 --- a/docs/ja/one_shot_keys.md +++ b/docs/ja/one_shot_keys.md @@ -1,8 +1,8 @@ # ワンショットキー ワンショットキーは次のキーが押されるまでアクティブのままになり、そのあと放されるキーです。これにより一度に1つ以上のキーを押すことなく、キーボードの組み合わせを入力することができます。これらのキーは通常「スティッキーキー」あるいは「デッドキー」と呼ばれます。 @@ -27,7 +27,7 @@ ワンショットレイヤーについては、キーを押した時に `set_oneshot_layer(LAYER, ONESHOT_START)` を呼び出し、キーを放した時に `clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED)` を呼び出す必要があります。ワンショットをキャンセルする場合は、`reset_oneshot_layer()` を呼び出してください。 -ワンショットモッドについては、設定するためには `set_oneshot_mods(MOD)` を呼び出し、キャンセルするためには `clear_oneshot_mods()` を呼び出す必要があります。 +ワンショットモッドについては、設定するためには `set_oneshot_mods(MOD_BIT(KC_*))` を呼び出し、キャンセルするためには `clear_oneshot_mods()` を呼び出す必要があります。 !> リモートデスクトップ接続で OSM 変換に問題がある場合は、設定を開いて「ローカル リソース」タブに移動し、キーボードセクションでドロップダウンを「このコンピューター」に変更することで修正することができます。これにより問題が修正され、OSM がリモートデスクトップ上で適切に動作するようになります。 diff --git a/docs/ja/other_eclipse.md b/docs/ja/other_eclipse.md index fa6bb873703f..929016619865 100644 --- a/docs/ja/other_eclipse.md +++ b/docs/ja/other_eclipse.md @@ -1,8 +1,8 @@ # QMK 開発のための Eclipse セットアップ [Eclipse][1]は Java 開発のために広く使われているオープンソースの [統合開発環境](https://en.wikipedia.org/wiki/Integrated_development_environment) (IDE) ですが、他の言語および用途のためにカスタマイズできる拡張可能なプラグインシステムがあります。 @@ -55,7 +55,7 @@ Workspace 選択で入力を促された場合は、Eclipse メタデータと ### [ANSI Escape in Console](https://marketplace.eclipse.org/content/ansi-escape-console) このプラグインは QMK makefile によって生成された色付きビルド出力を適切に表示するために必要です。 -1. Help > Eclipse Marketplace… を開きます +1. Help > Eclipse Marketplace… を開きます 2. _ANSI Escape in Console_ を検索します 3. プラグインの Install ボタンをクリックします 4. 指示に従い、未署名コンテンツのセキュリティ警告に再度同意します。 @@ -64,7 +64,7 @@ Workspace 選択で入力を促された場合は、Eclipse メタデータと # QMK 用の Eclipse の設定 ## プロジェクトのインポート -1. File > New > Makefile Project with Existing Code をクリックします +1. File > New > Makefile Project with Existing Code をクリックします 2. 次の画面で: * _Existing Code Location_ としてリポジトリをクローンしたディレクトリを選択します。 * (オプション) プロジェクトに別の名前を付けます¹ 例えば _QMK_ あるいは _Quantum_; @@ -78,16 +78,12 @@ Workspace 選択で入力を促された場合は、Eclipse メタデータと ¹ カスタム名でプロジェクトをインポートすると問題が発生するかもしれません。正しく動作しない場合は、デフォルトのプロジェクト名 (つまり、ディレクトリの名前、おそらく `qmk_firmware`) のままにしてみてください。 ## キーボードのビルド -ここで、プロジェクトをクリーンし、選択したキーマップをビルドする make target を設定します。 - -1. 画面の右側で、Make Target タブを選択します -2. フォルダツリーを選択したキーボードまで展開します。例えば、`qmk_firmware/keyboards/ergodox` -3. キーボードフォルダを右クリックして、New… を選択します (あるいはフォルダを選択し、ツリーの上にある New Make Target アイコンをクリックします) -4. ビルド target の名前を選択します。例えば、_clean \_ -5. Make Target: これはコマンドラインからビルドする時に `make` に渡す引数です。target 名がこれらの引数と一致しない場合は、Same as target name のチェックを外し、正しい引数を入力します。例えば、`clean ` -6. 他のオプションはチェックしたままにして、OK をクリックします。これで、選択されたキーボードの下に、make target が表示されます。 -7. (オプション) target ツリーの上にある Hide Empty Folders アイコンボタンを、ビルド target だけが表示されるように切り替えます。 -8. 作成したビルド target をダブルクリックし、ビルドを起動します。 -9. 下部の Console ビューを選択し、実行中のビルドを眺めます。 + +プロジェクトのデフォルトの make 対象を `all` から私たちが取り組んでいる特定のキーボードとキーマップの組み合わせ、例えば `kinesis/kint36:stapelberg` に変更します。このようにすると、プロジェクトのクリーニングやビルドのようなプロジェクト全体のアクションは迅速に完了し、長い時間がかかったり Eclipse が完全にロックしたりすることがなくなります。 + +1. プロジェクト内の editor タブへフォーカスします +2. `Project` > `Properties` ウィンドウを開き、`C/C++ Build` リストエントリを選択して、`Behavior` タブに切り替えます。 +3. 有効な全てのビルドのデフォルトの `Make build target` テキストフィールドを、`all` から例えば `kinesis/kint41:stapelberg` に変更します。 +4. `Project` > `Clean...` を選択して、セットアップが動作することを確認します。 [1]: https://en.wikipedia.org/wiki/Eclipse_(software) diff --git a/docs/ja/other_vscode.md b/docs/ja/other_vscode.md index e786b08f397c..9250e16276bd 100644 --- a/docs/ja/other_vscode.md +++ b/docs/ja/other_vscode.md @@ -1,8 +1,8 @@ # QMK 開発用の Visual Studio Code のセットアップ [Visual Studio Code](https://code.visualstudio.com/) (VS Code) は多くの異なるプログラミング言語をサポートするオープンソースのコードエディタです。 @@ -110,7 +110,6 @@ VS Code のようなフル機能のエディタの使用は、プレーンテキ * [GitHub Markdown Preview](https://marketplace.visualstudio.com/items?itemName=bierner.github-markdown-preview) - _[オプション]_ - VS Code の markdown プレビューを GithHub のようにします。 * [VS Live Share Extension Pack](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack) - _[オプション]_ - この拡張により、他の誰かがあなたのワークスペースにアクセスし(あるいは、あなたが他の誰かのワークスペースにアクセスし)、手伝うことができます。あなたが問題を抱えており、他の誰かの助けが必要な場合に便利です。 * [VIM Keymap](https://marketplace.visualstudio.com/items?itemName=GiuseppeCesarano.vim-keymap) - _[オプション]_ - VIM スタイルのキーバインドを好む人向け。これには他のオプションもあります。 -* [Travis CI Status](https://marketplace.visualstudio.com/items?itemName=felixrieseberg.vsc-travis-ci-status) - _[オプション]_ - セットアップした場合、現在の Travis CI の状態を表示します。 いずれかの拡張機能をインストールしたら、再起動します。 diff --git a/docs/ja/proton_c_conversion.md b/docs/ja/proton_c_conversion.md index e7c07413ce5b..983aed4ee5d9 100644 --- a/docs/ja/proton_c_conversion.md +++ b/docs/ja/proton_c_conversion.md @@ -2,8 +2,8 @@ Proton C は Pro Micro の差し替え可能品であるため、簡単に使用することができます。 diff --git a/docs/ja/ref_functions.md b/docs/ja/ref_functions.md index 029797ff013e..61e3943edd20 100644 --- a/docs/ja/ref_functions.md +++ b/docs/ja/ref_functions.md @@ -1,8 +1,8 @@ # キーボードをより良くするための便利なコア関数のリスト QMK には、信じられないほど便利な、またはあなたが望んでいた機能を少し追加する、隠された関数がたくさんあります。特定の機能に固有の関数はそれぞれの機能のページにあるため、ここには含まれていません。 @@ -98,7 +98,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { ## EEPROM (永続ストレージ)の消去 -オーディオ、RGB アンダーグロー、バックライト、キーの動作に問題がある場合は、EEPROM (永続的な設定のストレージ)をリセットすることができます。ブートマジックはこれを行う方法の1つですが、有効になっていない場合はカスタムマクロを使って行うことができます。 +オーディオ、RGB アンダーグロー、バックライト、キーの動作に問題がある場合は、EEPROM (永続的な設定のストレージ)をリセットすることができます。EEPROM を強制的にリセットするには、[`EEP_RST` キーコード](ja/quantum_keycodes.md)あるいは[ブートマジック](ja/feature_bootmagic.md)機能を使います。それらのいずれも選択肢にない場合は、カスタムマクロを使って行うことができます。 EEPROM を消去するには、関数またはマクロから `eeconfig_init()` を実行し、ほとんどの設定をデフォルトにリセットします。 diff --git a/docs/ja/reference_configurator_support.md b/docs/ja/reference_configurator_support.md index dd58e47890b3..83d6d648d0b1 100644 --- a/docs/ja/reference_configurator_support.md +++ b/docs/ja/reference_configurator_support.md @@ -1,8 +1,8 @@ # QMK Configurator でのキーボードのサポート このページは [QMK Configurator](https://config.qmk.fm/) でキーボードを適切にサポートする方法について説明します。 @@ -104,8 +104,6 @@ JSON ファイルをビルドする最も簡単な方法は、[Keyboard Layout E "tags": { "form_factor": "numpad" }, - "width": 4, - "height": 5, "layouts": { "LAYOUT": { "layout": [ diff --git a/docs/ja/reference_glossary.md b/docs/ja/reference_glossary.md index 2fd6146d1125..06c719612386 100644 --- a/docs/ja/reference_glossary.md +++ b/docs/ja/reference_glossary.md @@ -1,8 +1,8 @@ # QMK 用語集 ## ARM diff --git a/docs/ja/reference_info_json.md b/docs/ja/reference_info_json.md index 5b9a1b6b638d..7346a639563b 100644 --- a/docs/ja/reference_info_json.md +++ b/docs/ja/reference_info_json.md @@ -20,10 +20,6 @@ * キーボードの製品ページ、[QMK.fm/keyboards](https://qmk.fm/keyboards) のページ、あるいはキーボードに関する情報を説明する他のページの URL。 * `maintainer` * メンテナの GitHub のユーザ名、あるいはコミュニティが管理するキーボードの場合は `qmk` -* `width` - * キー単位でのキーボードの幅 -* `height` - * キー単位でのキーボードの高さ * `layouts` * 物理的なレイアウト表現。詳細は以下のセクションを見てください。 diff --git a/docs/ja/tap_hold.md b/docs/ja/tap_hold.md index bf23ae4ab0a2..07242821a998 100644 --- a/docs/ja/tap_hold.md +++ b/docs/ja/tap_hold.md @@ -1,8 +1,8 @@ # タップホールド設定オプション タップホールドオプションは素晴らしいものですが、問題が無いわけではありません。デフォルト設定を適切なものにしようとしましたが、一部の人にとってまだ問題を引き起こすかもしれません。 @@ -92,7 +92,7 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { #define IGNORE_MOD_TAP_INTERRUPT ``` -許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、通常は両方のキーのタッピング機能が出力されます。これはローリングコンボキーには望ましくないかもしれません。 +許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、`TAPPING_TERM` 内で押された場合でも、通常はモッドと通常のキーが出力されます。これは、ローリングコンボキーや、頻繁に使用するキー(例えば、`RCTL_T(KC_QUOT)`)にモッドタップを使う高速なタイピストには望ましくない場合があります。 `モッドタップ割り込みの無視`を設定するには、両方のキーを `TAPPING_TERM` の間ホールドすると、(その修飾キーの)ホールド機能を実行する必要があります。 @@ -103,7 +103,7 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { - `SFT_T(KC_A)` を放す - `KC_X` を放す -通常、これは `X` (`SHIFT`+`x`) を送信します。`モッドタップ割り込みの無視` を有効にすると、ホールドアクションを登録するには、両方のキーを `TAPPING_TERM` の間ホールドする必要があります。この場合、素早いタップは `ax` を送信しますが、両方をホールドすると、`X` (`SHIFT`+`x`) を出力します。 +通常、これは大文字の `X` (`SHIFT`+`x`)、またはモッド + キーを送信します。`モッドタップ割り込みの無視` を有効にすると、ホールドアクションを登録するには、両方のキーを `TAPPING_TERM` の間ホールドする必要があります。この場合、素早いタップは `ax` を送信しますが、両方をホールドすると、大文字の `X` (`SHIFT`+`x`) を出力します。 ?> __注意__: これはモディファイアにのみ関係し、レイヤー切り替えキーには関係しません。 @@ -137,8 +137,7 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { #define TAPPING_FORCE_HOLD ``` -タップの後でユーザがキーをホールドすると、ホールド機能がアクティブになるのではなく、デフォルトでタッピング機能が繰り返されます。これにより、デュアルロールキーのタッピング機能を自動繰り返しする機能を維持することができます。 -`TAPPING_FORCE_HOLD` は、デュアルロールキーをタップした後ホールドした場合、ユーザがホールド機能をアクティブにする機能を削除します。 +タップの後でユーザがキーをホールドすると、ホールド機能がアクティブになるのではなく、デフォルトでタッピング機能が繰り返されます。これにより、デュアルロールキーのタッピング機能を自動繰り返しする機能を維持することができます。`TAPPING_FORCE_HOLD` は、デュアルロールキーをタップした後ホールドした場合、ユーザがホールド機能をアクティブにする機能を削除します。 例: @@ -185,6 +184,25 @@ bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { 例えば、他のキーを押すことなく `LT(2, KC_SPACE)` を押したり放したりしても何も起こりません。これを有効にすると、代わりに `KC_SPACE` を送信します。 +この機能をより細かく制御するために、以下を `config.h` に追加することができます: + +```c +#define RETRO_TAPPING_PER_KEY +``` + +そして、以下の関数をキーマップに追加します: + +```c +bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LT(2, KC_SPACE): + return true; + default: + return false; + } +} +``` + ## キー別の関数にキーレコードを含めるのはなぜですか? 「キー別」の関数全てにキーレコードを含んでいることに気付いたかもしれません。そしてなぜそうしたのか不思議に思っているかもしれません。 diff --git a/docs/ja/understanding_qmk.md b/docs/ja/understanding_qmk.md index ab860a609615..5fcb7be85665 100644 --- a/docs/ja/understanding_qmk.md +++ b/docs/ja/understanding_qmk.md @@ -1,8 +1,8 @@ # QMK のコードの理解 このドキュメントでは、QMK ファームウェアがどのように機能するかを非常に高いレベルから説明しようとしています。基本的なプログラミングの概念を理解していることを前提としていますが、(実例を示す必要がある場合を除き) C に精通していることを前提にはしていません。以下のドキュメントの基本的な知識があることを前提としています。 diff --git a/docs/keycodes.md b/docs/keycodes.md index 9acf8b683961..a134c5a1b289 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -257,42 +257,6 @@ See also: [Backlighting](feature_backlight.md) |`BL_DEC` |Decrease the backlight level | |`BL_BRTG`|Toggle backlight breathing | -## Bootmagic :id=bootmagic - -See also: [Bootmagic](feature_bootmagic.md) - -|Key |Aliases |Description | -|----------------------------------|---------|--------------------------------------------------------------------------| -|`MAGIC_SWAP_CONTROL_CAPSLOCK` |`CL_SWAP`|Swap Caps Lock and Left Control | -|`MAGIC_UNSWAP_CONTROL_CAPSLOCK` |`CL_NORM`|Unswap Caps Lock and Left Control | -|`MAGIC_CAPSLOCK_TO_CONTROL` |`CL_CTRL`|Treat Caps Lock as Control | -|`MAGIC_UNCAPSLOCK_TO_CONTROL` |`CL_CAPS`|Stop treating Caps Lock as Control | -|`MAGIC_SWAP_LCTL_LGUI` |`LCG_SWP`|Swap Left Control and GUI | -|`MAGIC_UNSWAP_LCTL_LGUI` |`LCG_NRM`|Unswap Left Control and GUI | -|`MAGIC_SWAP_RCTL_RGUI` |`RCG_SWP`|Swap Right Control and GUI | -|`MAGIC_UNSWAP_RCTL_RGUI` |`RCG_NRM`|Unswap Right Control and GUI | -|`MAGIC_SWAP_CTL_GUI` |`CG_SWAP`|Swap Control and GUI on both sides | -|`MAGIC_UNSWAP_CTL_GUI` |`CG_NORM`|Unswap Control and GUI on both sides | -|`MAGIC_TOGGLE_CTL_GUI` |`CG_TOGG`|Toggle Control and GUI swap on both sides | -|`MAGIC_SWAP_LALT_LGUI` |`LAG_SWP`|Swap Left Alt and GUI | -|`MAGIC_UNSWAP_LALT_LGUI` |`LAG_NRM`|Unswap Left Alt and GUI | -|`MAGIC_SWAP_RALT_RGUI` |`RAG_SWP`|Swap Right Alt and GUI | -|`MAGIC_UNSWAP_RALT_RGUI` |`RAG_NRM`|Unswap Right Alt and GUI | -|`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides | -|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides | -|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap on both sides | -|`MAGIC_NO_GUI` |`GUI_OFF`|Disable the GUI keys | -|`MAGIC_UNNO_GUI` |`GUI_ON` |Enable the GUI keys | -|`MAGIC_SWAP_GRAVE_ESC` |`GE_SWAP`|Swap ` and Escape | -|`MAGIC_UNSWAP_GRAVE_ESC` |`GE_NORM`|Unswap ` and Escape | -|`MAGIC_SWAP_BACKSLASH_BACKSPACE` |`BS_SWAP`|Swap `\` and Backspace | -|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`|`BS_NORM`|Unswap `\` and Backspace | -|`MAGIC_HOST_NKRO` |`NK_ON` |Enable N-key rollover | -|`MAGIC_UNHOST_NKRO` |`NK_OFF` |Disable N-key rollover | -|`MAGIC_TOGGLE_NKRO` |`NK_TOGG`|Toggle N-key rollover | -|`MAGIC_EE_HANDS_LEFT` |`EH_LEFT`|Set the master half of a split keyboard as the left hand (for `EE_HANDS`) | -|`MAGIC_EE_HANDS_RIGHT` |`EH_RGHT`|Set the master half of a split keyboard as the right hand (for `EE_HANDS`)| - ## Bluetooth :id=bluetooth See also: [Bluetooth](feature_bluetooth.md) @@ -354,6 +318,193 @@ See also: [Leader Key](feature_leader_key.md) |---------|------------------------| |`KC_LEAD`|Begins a leader sequence| +## Magic Keycodes :id=magic-keycodes + +See also: [Magic Keycodes](keycodes_magic.md) + +|Key |Aliases |Description | +|----------------------------------|---------|--------------------------------------------------------------------------| +|`MAGIC_SWAP_CONTROL_CAPSLOCK` |`CL_SWAP`|Swap Caps Lock and Left Control | +|`MAGIC_UNSWAP_CONTROL_CAPSLOCK` |`CL_NORM`|Unswap Caps Lock and Left Control | +|`MAGIC_CAPSLOCK_TO_CONTROL` |`CL_CTRL`|Treat Caps Lock as Control | +|`MAGIC_UNCAPSLOCK_TO_CONTROL` |`CL_CAPS`|Stop treating Caps Lock as Control | +|`MAGIC_SWAP_LCTL_LGUI` |`LCG_SWP`|Swap Left Control and GUI | +|`MAGIC_UNSWAP_LCTL_LGUI` |`LCG_NRM`|Unswap Left Control and GUI | +|`MAGIC_SWAP_RCTL_RGUI` |`RCG_SWP`|Swap Right Control and GUI | +|`MAGIC_UNSWAP_RCTL_RGUI` |`RCG_NRM`|Unswap Right Control and GUI | +|`MAGIC_SWAP_CTL_GUI` |`CG_SWAP`|Swap Control and GUI on both sides | +|`MAGIC_UNSWAP_CTL_GUI` |`CG_NORM`|Unswap Control and GUI on both sides | +|`MAGIC_TOGGLE_CTL_GUI` |`CG_TOGG`|Toggle Control and GUI swap on both sides | +|`MAGIC_SWAP_LALT_LGUI` |`LAG_SWP`|Swap Left Alt and GUI | +|`MAGIC_UNSWAP_LALT_LGUI` |`LAG_NRM`|Unswap Left Alt and GUI | +|`MAGIC_SWAP_RALT_RGUI` |`RAG_SWP`|Swap Right Alt and GUI | +|`MAGIC_UNSWAP_RALT_RGUI` |`RAG_NRM`|Unswap Right Alt and GUI | +|`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides | +|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides | +|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap on both sides | +|`MAGIC_NO_GUI` |`GUI_OFF`|Disable the GUI keys | +|`MAGIC_UNNO_GUI` |`GUI_ON` |Enable the GUI keys | +|`MAGIC_SWAP_GRAVE_ESC` |`GE_SWAP`|Swap ` and Escape | +|`MAGIC_UNSWAP_GRAVE_ESC` |`GE_NORM`|Unswap ` and Escape | +|`MAGIC_SWAP_BACKSLASH_BACKSPACE` |`BS_SWAP`|Swap `\` and Backspace | +|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`|`BS_NORM`|Unswap `\` and Backspace | +|`MAGIC_HOST_NKRO` |`NK_ON` |Enable N-key rollover | +|`MAGIC_UNHOST_NKRO` |`NK_OFF` |Disable N-key rollover | +|`MAGIC_TOGGLE_NKRO` |`NK_TOGG`|Toggle N-key rollover | +|`MAGIC_EE_HANDS_LEFT` |`EH_LEFT`|Set the master half of a split keyboard as the left hand (for `EE_HANDS`) | +|`MAGIC_EE_HANDS_RIGHT` |`EH_RGHT`|Set the master half of a split keyboard as the right hand (for `EE_HANDS`)| + +## MIDI :id=midi + +See also: [MIDI](feature_midi.md) + +|Key |Aliases |Description | +|------------|---------|---------------------------------| +|`MI_ON` | |Turn MIDI on | +|`MI_OFF` | |Turn MIDI off | +|`MI_TOG` | |Toggle MIDI enabled | +|`MI_C` | |C octave 0 | +|`MI_Cs` |`MI_Db` |C♯/D♭ octave 0 | +|`MI_D` | |D octave 0 | +|`MI_Ds` |`MI_Eb` |D♯/E♭ octave 0 | +|`MI_E` | |E octave 0 | +|`MI_F` | |F octave 0 | +|`MI_Fs` |`MI_Gb` |F♯/G♭ octave 0 | +|`MI_G` | |G octave 0 | +|`MI_Gs` |`MI_Gs` |G♯/A♭ octave 0 | +|`MI_A` | |A octave 0 | +|`MI_As` |`MI_Bb` |A♯/B♭ octave 0 | +|`MI_B` | |B octave 0 | +|`MI_C_1` | |C octave 1 | +|`MI_Cs_1` |`MI_Db_1`|C♯/D♭ octave 1 | +|`MI_D_1` | |D octave 1 | +|`MI_Ds_1` |`MI_Eb_1`|D♯/E♭ octave 1 | +|`MI_E_1` | |E octave 1 | +|`MI_F_1` | |F octave 1 | +|`MI_Fs_1` |`MI_Gb_1`|F♯/G♭ octave 1 | +|`MI_G_1` | |G octave 1 | +|`MI_Gs_1` |`MI_Ab_1`|G♯/A♭ octave 1 | +|`MI_A_1` | |A octave 1 | +|`MI_As_1` |`MI_Bb_1`|A♯/B♭ octave 1 | +|`MI_B_1` | |B octave 1 | +|`MI_C_2` | |C octave 2 | +|`MI_Cs_2` |`MI_Db_2`|C♯/D♭ octave 2 | +|`MI_D_2` | |D octave 2 | +|`MI_Ds_2` |`MI_Eb_2`|D♯/E♭ octave 2 | +|`MI_E_2` | |E octave 2 | +|`MI_F_2` | |F octave 2 | +|`MI_Fs_2` |`MI_Gb_2`|F♯/G♭ octave 2 | +|`MI_G_2` | |G octave 2 | +|`MI_Gs_2` |`MI_Ab_2`|G♯/A♭ octave 2 | +|`MI_A_2` | |A octave 2 | +|`MI_As_2` |`MI_Bb_2`|A♯/B♭ octave 2 | +|`MI_B_2` | |B octave 2 | +|`MI_C_3` | |C octave 3 | +|`MI_Cs_3` |`MI_Db_3`|C♯/D♭ octave 3 | +|`MI_D_3` | |D octave 3 | +|`MI_Ds_3` |`MI_Eb_3`|D♯/E♭ octave 3 | +|`MI_E_3` | |E octave 3 | +|`MI_F_3` | |F octave 3 | +|`MI_Fs_3` |`MI_Gb_3`|F♯/G♭ octave 3 | +|`MI_G_3` | |G octave 3 | +|`MI_Gs_3` |`MI_Ab_3`|G♯/A♭ octave 3 | +|`MI_A_3` | |A octave 3 | +|`MI_As_3` |`MI_Bb_3`|A♯/B♭ octave 3 | +|`MI_B_3` | |B octave 3 | +|`MI_C_4` | |C octave 4 | +|`MI_Cs_4` |`MI_Db_4`|C♯/D♭ octave 4 | +|`MI_D_4` | |D octave 4 | +|`MI_Ds_4` |`MI_Eb_4`|D♯/E♭ octave 4 | +|`MI_E_4` | |E octave 4 | +|`MI_F_4` | |F octave 4 | +|`MI_Fs_4` |`MI_Gb_4`|F♯/G♭ octave 4 | +|`MI_G_4` | |G octave 4 | +|`MI_Gs_4` |`MI_Ab_4`|G♯/A♭ octave 4 | +|`MI_A_4` | |A octave 4 | +|`MI_As_4` |`MI_Bb_4`|A♯/B♭ octave 4 | +|`MI_B_4` | |B octave 4 | +|`MI_C_5` | |C octave 5 | +|`MI_Cs_5` |`MI_Db_5`|C♯/D♭ octave 5 | +|`MI_D_5` | |D octave 5 | +|`MI_Ds_5` |`MI_Eb_5`|D♯/E♭ octave 5 | +|`MI_E_5` | |E octave 5 | +|`MI_F_5` | |F octave 5 | +|`MI_Fs_5` |`MI_Gb_5`|F♯/G♭ octave 5 | +|`MI_G_5` | |G octave 5 | +|`MI_Gs_5` |`MI_Ab_5`|G♯/A♭ octave 5 | +|`MI_A_5` | |A octave 5 | +|`MI_As_5` |`MI_Bb_5`|A♯/B♭ octave 5 | +|`MI_B_5` | |B octave 5 | +|`MI_OCT_N2` | |Set octave to -2 | +|`MI_OCT_N1` | |Set octave to -1 | +|`MI_OCT_0` | |Set octave to 0 | +|`MI_OCT_1` | |Set octave to 1 | +|`MI_OCT_2` | |Set octave to 2 | +|`MI_OCT_3` | |Set octave to 3 | +|`MI_OCT_4` | |Set octave to 4 | +|`MI_OCT_5` | |Set octave to 5 | +|`MI_OCT_6` | |Set octave to 6 | +|`MI_OCT_7` | |Set octave to 7 | +|`MI_OCTD` | |Move down an octave | +|`MI_OCTU` | |Move up an octave | +|`MI_TRNS_N6`| |Set transposition to -6 semitones| +|`MI_TRNS_N5`| |Set transposition to -5 semitones| +|`MI_TRNS_N4`| |Set transposition to -4 semitones| +|`MI_TRNS_N3`| |Set transposition to -3 semitones| +|`MI_TRNS_N2`| |Set transposition to -2 semitones| +|`MI_TRNS_N1`| |Set transposition to -1 semitone | +|`MI_TRNS_0` | |No transposition | +|`MI_TRNS_1` | |Set transposition to +1 semitone | +|`MI_TRNS_2` | |Set transposition to +2 semitones| +|`MI_TRNS_3` | |Set transposition to +3 semitones| +|`MI_TRNS_4` | |Set transposition to +4 semitones| +|`MI_TRNS_5` | |Set transposition to +5 semitones| +|`MI_TRNS_6` | |Set transposition to +6 semitones| +|`MI_TRNSD` | |Decrease transposition | +|`MI_TRNSU` | |Increase transposition | +|`MI_VEL_0` | |Set velocity to 0 | +|`MI_VEL_1` | |Set velocity to 12 | +|`MI_VEL_2` | |Set velocity to 25 | +|`MI_VEL_3` | |Set velocity to 38 | +|`MI_VEL_4` | |Set velocity to 51 | +|`MI_VEL_5` | |Set velocity to 64 | +|`MI_VEL_6` | |Set velocity to 76 | +|`MI_VEL_7` | |Set velocity to 89 | +|`MI_VEL_8` | |Set velocity to 102 | +|`MI_VEL_9` | |Set velocity to 114 | +|`MI_VEL_10` | |Set velocity to 127 | +|`MI_VELD` | |Decrease velocity | +|`MI_VELU` | |Increase velocity | +|`MI_CH1` | |Set channel to 1 | +|`MI_CH2` | |Set channel to 2 | +|`MI_CH3` | |Set channel to 3 | +|`MI_CH4` | |Set channel to 4 | +|`MI_CH5` | |Set channel to 5 | +|`MI_CH6` | |Set channel to 6 | +|`MI_CH7` | |Set channel to 7 | +|`MI_CH8` | |Set channel to 8 | +|`MI_CH9` | |Set channel to 9 | +|`MI_CH10` | |Set channel to 10 | +|`MI_CH11` | |Set channel to 11 | +|`MI_CH12` | |Set channel to 12 | +|`MI_CH13` | |Set channel to 13 | +|`MI_CH14` | |Set channel to 14 | +|`MI_CH15` | |Set channel to 15 | +|`MI_CH16` | |Set channel to 16 | +|`MI_CHD` | |Decrease channel | +|`MI_CHU` | |Increase channel | +|`MI_ALLOFF` | |Stop all notes | +|`MI_SUS` | |Sustain | +|`MI_PORT` | |Portmento | +|`MI_SOST` | |Sostenuto | +|`MI_SOFT` | |Soft Pedal | +|`MI_LEG` | |Legato | +|`MI_MOD` | |Modulation | +|`MI_MODSD` | |Decrease modulation speed | +|`MI_MODSU` | |Increase modulation speed | +|`MI_BENDD` | |Bend pitch down | +|`MI_BENDU` | |Bend pitch up | + ## Mouse Keys :id=mouse-keys See also: [Mouse Keys](feature_mouse_keys.md) @@ -381,26 +532,29 @@ See also: [Mouse Keys](feature_mouse_keys.md) See also: [Modifier Keys](feature_advanced_keycodes.md#modifier-keys) -|Key |Aliases |Description | -|----------|-------------------------------|------------------------------------------------------| -|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | -|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | -|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | -|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` | -|`RCTL(kc)`| |Hold Right Control and press `kc` | -|`RSFT(kc)`| |Hold Right Shift and press `kc` | -|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt (AltGr) and press `kc` | -|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` | -|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` | -|`LCA(kc)` | |Hold Left Control and Alt and press `kc` | -|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | -|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` | -|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | -|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` | -|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` | -|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` | -|`KC_MEH` | |Left Control, Shift and Alt | -|`KC_HYPR` | |Left Control, Shift, Alt and GUI | +|Key |Aliases |Description | +|----------|----------------------------------|------------------------------------------------------| +|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` | +|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` | +|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` | +|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` | +|`RCTL(kc)`| |Hold Right Control and press `kc` | +|`RSFT(kc)`| |Hold Right Shift and press `kc` | +|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt (AltGr) and press `kc` | +|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` | +|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and Left GUI and press `kc` | +|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` | +|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` | +|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` | +|`LCA(kc)` | |Hold Left Control and Alt and press `kc` | +|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` | +|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` | +|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` | +|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` | +|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` | +|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` | +|`KC_MEH` | |Left Control, Shift and Alt | +|`KC_HYPR` | |Left Control, Shift, Alt and GUI | ## Mod-Tap Keys :id=mod-tap-keys @@ -417,7 +571,10 @@ See also: [Mod-Tap](mod_tap.md) |`RSFT_T(kc)` | |Right Shift when held, `kc` when tapped | |`RALT_T(kc)` |`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt (AltGr) when held, `kc` when tapped | |`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped | -|`SGUI_T(kc)` |`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped | +|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped | +|`LAG_T(kc)` | |Left Alt and GUI when held, `kc` when tapped | +|`RSG_T(kc)` | |Right Shift and GUI when held, `kc` when tapped | +|`RAG_T(kc)` | |Right Alt and GUI when held, `kc` when tapped | |`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped | |`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped | |`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped | @@ -516,6 +673,9 @@ See also: [One Shot Keys](one_shot_keys.md) |------------|----------------------------------| |`OSM(mod)` |Hold `mod` for one keypress | |`OSL(layer)`|Switch to `layer` for one keypress| +|`OS_ON` |Turns One Shot keys on | +|`OS_OFF` |Turns One Shot keys off | +|`OS_TOGG` |Toggles One Shot keys status | ## Space Cadet :id=space-cadet diff --git a/docs/keycodes_magic.md b/docs/keycodes_magic.md new file mode 100644 index 000000000000..7e1b1a4f6235 --- /dev/null +++ b/docs/keycodes_magic.md @@ -0,0 +1,36 @@ +# Magic Keycodes :id=magic-keycodes + +**Magic Keycodes** are prefixed with `MAGIC_`, and allow you to access the functionality of the deprecated Bootmagic feature *after* your keyboard has initialized. To use the keycodes, assign them to your keymap as you would any other keycode. + +|Key |Aliases |Description | +|----------------------------------|---------|--------------------------------------------------------------------------| +|`MAGIC_SWAP_CONTROL_CAPSLOCK` |`CL_SWAP`|Swap Caps Lock and Left Control | +|`MAGIC_UNSWAP_CONTROL_CAPSLOCK` |`CL_NORM`|Unswap Caps Lock and Left Control | +|`MAGIC_CAPSLOCK_TO_CONTROL` |`CL_CTRL`|Treat Caps Lock as Control | +|`MAGIC_UNCAPSLOCK_TO_CONTROL` |`CL_CAPS`|Stop treating Caps Lock as Control | +|`MAGIC_SWAP_LCTL_LGUI` |`LCG_SWP`|Swap Left Control and GUI | +|`MAGIC_UNSWAP_LCTL_LGUI` |`LCG_NRM`|Unswap Left Control and GUI | +|`MAGIC_SWAP_RCTL_RGUI` |`RCG_SWP`|Swap Right Control and GUI | +|`MAGIC_UNSWAP_RCTL_RGUI` |`RCG_NRM`|Unswap Right Control and GUI | +|`MAGIC_SWAP_CTL_GUI` |`CG_SWAP`|Swap Control and GUI on both sides | +|`MAGIC_UNSWAP_CTL_GUI` |`CG_NORM`|Unswap Control and GUI on both sides | +|`MAGIC_TOGGLE_CTL_GUI` |`CG_TOGG`|Toggle Control and GUI swap on both sides | +|`MAGIC_SWAP_LALT_LGUI` |`LAG_SWP`|Swap Left Alt and GUI | +|`MAGIC_UNSWAP_LALT_LGUI` |`LAG_NRM`|Unswap Left Alt and GUI | +|`MAGIC_SWAP_RALT_RGUI` |`RAG_SWP`|Swap Right Alt and GUI | +|`MAGIC_UNSWAP_RALT_RGUI` |`RAG_NRM`|Unswap Right Alt and GUI | +|`MAGIC_SWAP_ALT_GUI` |`AG_SWAP`|Swap Alt and GUI on both sides | +|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Alt and GUI on both sides | +|`MAGIC_TOGGLE_ALT_GUI` |`AG_TOGG`|Toggle Alt and GUI swap on both sides | +|`MAGIC_NO_GUI` |`GUI_OFF`|Disable the GUI keys | +|`MAGIC_UNNO_GUI` |`GUI_ON` |Enable the GUI keys | +|`MAGIC_TOGGLE_GUI` |`GUI_TOG`|Toggles the status of the GUI keys | +|`MAGIC_SWAP_GRAVE_ESC` |`GE_SWAP`|Swap ` and Escape | +|`MAGIC_UNSWAP_GRAVE_ESC` |`GE_NORM`|Unswap ` and Escape | +|`MAGIC_SWAP_BACKSLASH_BACKSPACE` |`BS_SWAP`|Swap `\` and Backspace | +|`MAGIC_UNSWAP_BACKSLASH_BACKSPACE`|`BS_NORM`|Unswap `\` and Backspace | +|`MAGIC_HOST_NKRO` |`NK_ON` |Enable N-key rollover | +|`MAGIC_UNHOST_NKRO` |`NK_OFF` |Disable N-key rollover | +|`MAGIC_TOGGLE_NKRO` |`NK_TOGG`|Toggle N-key rollover | +|`MAGIC_EE_HANDS_LEFT` |`EH_LEFT`|Set the master half of a split keyboard as the left hand (for `EE_HANDS`) | +|`MAGIC_EE_HANDS_RIGHT` |`EH_RGHT`|Set the master half of a split keyboard as the right hand (for `EE_HANDS`)| diff --git a/docs/ko-kr/README.md b/docs/ko-kr/README.md index 82e2be96187c..a3b5b9101117 100644 --- a/docs/ko-kr/README.md +++ b/docs/ko-kr/README.md @@ -1,7 +1,6 @@ # Quantum Mechanical Keyboard Firmware [![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) -[![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware) [![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh) [![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm) [![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) diff --git a/docs/mod_tap.md b/docs/mod_tap.md index 18440eb6612c..f4d128482b7a 100644 --- a/docs/mod_tap.md +++ b/docs/mod_tap.md @@ -37,7 +37,10 @@ For convenience, QMK includes some Mod-Tap shortcuts to make common combinations |`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped | |`RALT_T(kc)`|`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped | |`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped | -|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped | +|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped | +|`LAG_T(kc)` | |Left Alt and GUI when held, `kc` when tapped | +|`RSG_T(kc)` | |Right Shift and GUI when held, `kc` when tapped | +|`RAG_T(kc)` | |Right Alt and GUI when held, `kc` when tapped | |`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped | |`LSA_T(kc)` | |Left Shift and Alt when held, `kc` when tapped | |`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped | @@ -50,11 +53,13 @@ For convenience, QMK includes some Mod-Tap shortcuts to make common combinations ## Caveats -Unfortunately, these keycodes cannot be used in Mod-Taps or Layer-Taps, since any modifiers specified in the keycode are ignored. +Currently, the `kc` argument of `MT()` is limited to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. This is because QMK uses 16-bit keycodes, of which 3 bits are used for the function identifier, 1 bit for selecting right or left mods, and 4 bits to tell which mods are used, leaving only 8 bits for the keycode. Additionally, if at least one right-handed modifier is specified in a Mod-Tap, it will cause all modifiers specified to become right-handed, so it is not possible to mix and match the two - for example, Left Control and Right Shift would become Right Control and Right Shift. -Additionally, you may run into issues when using Remote Desktop Connection on Windows. Because these codes send shift very fast, Remote Desktop may miss the codes. +Expanding this would be complicated, at best. Moving to a 32-bit keycode would solve a lot of this, but would double the amount of space that the keymap matrix uses. And it could potentially cause issues, too. If you need to apply modifiers to your tapped keycode, [Tap Dance](feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys) can be used to accomplish this. -To fix this, open Remote Desktop Connection, click on "Show Options", open the the "Local Resources" tab. In the keyboard section, change the drop down to "On this Computer". This will fix the issue, and allow the characters to work correctly. +You may also run into issues when using Remote Desktop Connection on Windows. Because these keycodes send key events faster than a human, Remote Desktop could miss them. +To fix this, open Remote Desktop Connection, click on "Show Options", open the the "Local Resources" tab, and in the keyboard section, change the drop down to "On this Computer". This will fix the issue, and allow the characters to work correctly. +It can also be mitigated by increasing [`TAP_CODE_DELAY`](config_options.md#behaviors-that-can-be-configured). ## Other Resources diff --git a/docs/newbs_flashing.md b/docs/newbs_flashing.md index 7ce1f849383f..c17ff4c95634 100644 --- a/docs/newbs_flashing.md +++ b/docs/newbs_flashing.md @@ -65,7 +65,7 @@ For example, the `planck/rev5` with a `default` keymap will have this filename: planck_rev5_default.hex ``` -Once you have located your firmware file drag it into the "Local file" box in QMK Toolbox, or click "Open" and navigate to where your firmware file is stored. +Once you have located your firmware file, drag it into the "Local file" box in QMK Toolbox, or click "Open" and navigate to where your firmware file is stored. ### Flash Your Keyboard diff --git a/docs/newbs_getting_started.md b/docs/newbs_getting_started.md index 3cb63e569207..b434a04bbef3 100644 --- a/docs/newbs_getting_started.md +++ b/docs/newbs_getting_started.md @@ -70,6 +70,8 @@ Install the QMK CLI by running: ### ** Linux/WSL ** +?> **Note for WSL users**: By default, the installation process will clone the QMK repository into your WSL home directory, but if you have cloned manually, ensure that it is located inside the WSL instance instead of the Windows filesystem (ie. not in `/mnt`), as accessing it is currently [extremely slow](https://github.com/microsoft/WSL/issues/4197). + #### Prerequisites You will need to install Git and Python. It's very likely that you already have both, but if not, one of the following commands should install them: @@ -102,19 +104,13 @@ You can also try the `qmk-git` package from AUR: ### ** FreeBSD ** -#### Prerequisites - -You will need to install Git and Python. It's possible that you already have both, but if not, run the following commands to install them: - - pkg install git python3 - -Make sure that `$HOME/.local/bin` is added to your `$PATH` so that locally installed Python packages are available. - #### Installation -Install the QMK CLI by running: +Install the FreeBSD package for QMK CLI by running: - python3 -m pip install --user qmk + pkg install -g "py*-qmk" + +NOTE: remember to follow the instructions printed at the end of installation (use `pkg info -Dg "py*-qmk"` to show them again). @@ -160,17 +156,11 @@ After installing QMK you can set it up with this command: In most situations you will want to answer `y` to all of the prompts. -?>**Note on FreeBSD**: -It is suggested to run `qmk setup` as a non-`root` user to start with, but this will likely identify packages that need to be installed to your -base system using `pkg`. However the installation will probably fail when run as an unprivileged user. -To manually install the base dependencies, run `./util/qmk_install.sh` either as `root`, or with `sudo`. -Once that completes, re-run `qmk setup` to complete the setup and checks. - ?> The qmk home folder can be specified at setup with `qmk setup -H `, and modified afterwards using the [cli configuration](cli_configuration.md?id=single-key-example) and the variable `user.qmk_home`. For all available options run `qmk setup --help`. -?> If you already know [how to use GitHub](getting_started_github.md), we recommend that you create your own fork and use `qmk setup /qmk_firmware` to clone your personal fork. If you don't know what that means you can safely ignore this message. +?> If you already know how to use GitHub, [we recommend that you follow these instructions](getting_started_github.md) and use `qmk setup /qmk_firmware` to clone your personal fork. If you don't know what that means you can safely ignore this message. ## 4. Test Your Build Environment diff --git a/docs/one_shot_keys.md b/docs/one_shot_keys.md index 9a082d7d6dcf..49910a49e2ff 100644 --- a/docs/one_shot_keys.md +++ b/docs/one_shot_keys.md @@ -17,10 +17,13 @@ You can control the behavior of one shot keys by defining these in `config.h`: * `OSM(mod)` - Momentarily hold down *mod*. You must use the `MOD_*` keycodes as shown in [Mod Tap](mod_tap.md), not the `KC_*` codes. * `OSL(layer)` - momentary switch to *layer*. +* `OS_ON` - Turns on One Shot keys. +* `OS_OFF` - Turns off One Shot keys. OSM act as regular mod keys, OSL act like `MO`. +* `OS_TOGG` - Toggles the one shot key status. Sometimes, you want to activate a one-shot key as part of a macro or tap dance routine. -For one shot layers, you need to call `set_oneshot_layer(LAYER, ONESHOT_START)` on key down, and `clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED)` on key up. If you want to cancel the oneshot, call `reset_oneshot_layer()`. +For one shot layers, you need to call `set_oneshot_layer(LAYER, ONESHOT_START)` on key down, and `clear_oneshot_layer_state(ONESHOT_PRESSED)` on key up. If you want to cancel the oneshot, call `reset_oneshot_layer()`. For one shot mods, you need to call `set_oneshot_mods(MOD_BIT(KC_*))` to set it, or `clear_oneshot_mods()` to cancel it. diff --git a/docs/other_eclipse.md b/docs/other_eclipse.md index cb3ceb540b7b..91557d07d7f6 100644 --- a/docs/other_eclipse.md +++ b/docs/other_eclipse.md @@ -50,7 +50,7 @@ This is the most important plugin as it will allow Eclipse to _understand_ AVR C ### [ANSI Escape in Console](https://marketplace.eclipse.org/content/ansi-escape-console) This plugin is necessary to properly display the colored build output generated by the QMK makefile. -1. Open Help > Eclipse Marketplace… +1. Open Help > Eclipse Marketplace… 2. Search for _ANSI Escape in Console_ 3. Click the Install button of the plugin 4. Follow the instructions and agree again with the security warning for unsigned content. @@ -59,7 +59,7 @@ Once both plugins are installed, restart Eclipse as prompted. # Configure Eclipse for QMK ## Importing the Project -1. Click File > New > Makefile Project with Existing Code +1. Click File > New > Makefile Project with Existing Code 2. On the next screen: * Select the directory where you cloned the repository as _Existing Code Location_; * (Optional) Give a different name to the project¹, e.g. _QMK_ or _Quantum_; @@ -73,16 +73,18 @@ Once both plugins are installed, restart Eclipse as prompted. ¹ There might be issues for importing the project with a custom name. If it does not work properly, try leaving the default project name (i.e. the name of the directory, probably `qmk_firmware`). ## Build Your Keyboard -We will now configure a make target that cleans the project and builds the keymap of your choice. - -1. On the right side of the screen, select the Make Target tab -2. Expand the folder structure to the keyboard of your choice, e.g. `qmk_firmware/keyboards/ergodox` -3. Right-click on the keyboard folder and select New… (or select the folder and click the New Make Target icon above the tree) -4. Choose a name for your build target, e.g. _clean \_ -5. Make Target: this is the arguments that you give to `make` when building from the command line. If your target name does not match these arguments, uncheck Same as target name and input the correct arguments, e.g. `clean ` -6. Leave the other options checked and click OK. Your make target will now appear under the selected keyboard. -7. (Optional) Toggle the Hide Empty Folders icon button above the targets tree to only show your build target. -8. Double-click the build target you created to trigger a build. -9. Select the Console view at the bottom to view the running build. + +We will now change the default make target of the the project from `all` to the +specific keyboard and keymap combination we are working on, +e.g. `kinesis/kint36:stapelberg`. This way, project-wide actions like cleaning +and building the project will complete quickly, instead of taking a long time or +outright locking up Eclipse. + +1. Focus an editor tab within the project +2. Open the `Project` > `Properties` window, then select the `C/C++ Build` list + entry and switch to the `Behavior` tab. +3. Change the default `Make build target` text fields for all enabled builds + from `all` to e.g. `kinesis/kint41:stapelberg`. +4. Verify your setup works by selecting `Project` > `Clean...`. [1]: https://en.wikipedia.org/wiki/Eclipse_(software) diff --git a/docs/other_vscode.md b/docs/other_vscode.md index 823f8b498210..6af0a6f7b409 100644 --- a/docs/other_vscode.md +++ b/docs/other_vscode.md @@ -65,14 +65,17 @@ Now, we will set up the MSYS2 window to show up in VSCode as the integrated term ```json { - "terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe", - "terminal.integrated.env.windows": { - "MSYSTEM": "MINGW64", - "CHERE_INVOKING": "1" + "terminal.integrated.profiles.windows": { + "QMK_MSYS": { + "path": "C:/QMK_MSYS/usr/bin/bash.exe", + "env": { + "MSYSTEM": "MINGW64", + "CHERE_INVOKING": "1" + }, + "args": ["--login"] + } }, - "terminal.integrated.shellArgs.windows": [ - "--login" - ], + "terminal.integrated.cursorStyle": "line" } ``` @@ -105,7 +108,6 @@ This installs a bunch of Git related tools that may make using Git with QMK Firm * [GitHub Markdown Preview](https://marketplace.visualstudio.com/items?itemName=bierner.github-markdown-preview) - _[Optional]_ - Makes the markdown preview in VS Code more like GitHub's. * [VS Live Share Extension Pack](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack) - _[Optional]_ - This extension allows somebody else to access your workspace (or you to access somebody else's workspace) and help out. This is great if you're having issues and need some help from somebody. * [VIM Keymap](https://marketplace.visualstudio.com/items?itemName=GiuseppeCesarano.vim-keymap) - _[Optional]_ - For those that prefer VIM style keybindings. There are other options for this, too. -* [Travis CI Status](https://marketplace.visualstudio.com/items?itemName=felixrieseberg.vsc-travis-ci-status) - _[Optional]_ - This shows the current Travis CI status, if you have it set up. Restart once you've installed any extensions diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md index e0dd0770cbb1..c8e27d5658ca 100644 --- a/docs/pr_checklist.md +++ b/docs/pr_checklist.md @@ -68,6 +68,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - bare minimum required code for a board to boot into QMK should be present - initialisation code for the matrix and critical devices - mirroring existing functionality of a commercial board (like custom keycodes and special animations etc.) should be handled through non-`default` keymaps + - Vial-related files or changes will not be accepted, as they are not used by QMK firmware (no Vial-specific core code has been submitted or merged) - `keyboard.c` - empty `xxxx_xxxx_kb()` or other weak-defined default implemented functions removed - commented-out functions removed too @@ -92,8 +93,11 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - default (and via) keymaps should be "pristine" - bare minimum to be used as a "clean slate" for another user to develop their own user-specific keymap - standard layouts preferred in these keymaps, if possible + - default keymap should not enable VIA -- the VIA integration documentation requires a keymap called `via` - submitters can have a personal (or bells-and-whistles) keymap showcasing capabilities in the same PR but it shouldn't be embedded in the 'default' keymap - submitters can also have a "manufacturer-matching" keymap that mirrors existing functionality of the commercial product, if porting an existing board +- Do not include VIA json files in the PR. These do not belong in the QMK repository as they are not used by QMK firmware -- they belong in the [VIA Keyboard Repo](https://github.com/the-via/keyboards) + Also, specific to ChibiOS: - **strong** preference to using existing ChibiOS board definitions. @@ -127,3 +131,9 @@ There are instructions on how to keep your fork updated here: Thanks for contributing! ``` + +## Review Process + +In general, we want to see two (or more) approvals that are meaningful (e.g. that have inspected code) before a PR will be considered for merge. These reviews are not limited to collaborators -- any community member willing to put in the time is welcomed (and encouraged). The only difference is that your checkmark won't be green, and that's fine! + +Additionally, PR reviews are something that is done in our free time. We are not paid nor compensated for the time we spend reviewing, as it is a labor of love. As such, this means that it can take time for us to get to your Pull Request. Things like family, or life can get in the way of us getting to PRs, and burnout is a serious concern. The QMK firmware repository averages 200 PRs opened and 200 PRs merged every month, so please have patience. diff --git a/docs/pt-br/README.md b/docs/pt-br/README.md index a8ba93f33a8e..bf8ec974eb97 100644 --- a/docs/pt-br/README.md +++ b/docs/pt-br/README.md @@ -1,7 +1,6 @@ # Quantum Mechanical Keyboard Firmware [![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) -[![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware) [![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh) [![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm) [![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) diff --git a/docs/ref_functions.md b/docs/ref_functions.md index 27ae95aa936a..c6185c8703e1 100644 --- a/docs/ref_functions.md +++ b/docs/ref_functions.md @@ -93,7 +93,7 @@ And to do so, add `reset_keyboard()` to your function or macro, and this will re ## Wiping the EEPROM (Persistent Storage) -If you're having issues with Audio, RGB Underglow, backlighting or keys acting weird, then you can reset the EEPROM (persistent setting storage). To force an EEPROM reset, use the [`EEP_RST` keycode](quantum_keycodes.md) or [Bootmagic](feature_bootmagic.md) functionality. If neither of those are an option, then you can use a custom macro to do so. +If you're having issues with Audio, RGB Underglow, backlighting or keys acting weird, then you can reset the EEPROM (persistent setting storage). To force an EEPROM reset, use the [`EEP_RST` keycode](quantum_keycodes.md) or [Bootmagic Lite](feature_bootmagic.md) functionality. If neither of those are an option, then you can use a custom macro to do so. To wipe the EEPROM, run `eeconfig_init()` from your function or macro to reset most of the settings to default. diff --git a/docs/reference_configurator_support.md b/docs/reference_configurator_support.md index 1b34c85a2966..ba3d49e2b25d 100644 --- a/docs/reference_configurator_support.md +++ b/docs/reference_configurator_support.md @@ -99,8 +99,6 @@ Use the `keyboard_name` object to set the name of the keyboard. For instruction "tags": { "form_factor": "numpad" }, - "width": 4, - "height": 5, "layouts": { "LAYOUT": { "layout": [ diff --git a/docs/reference_glossary.md b/docs/reference_glossary.md index f9317b7ba3bb..ace6b5f330bb 100644 --- a/docs/reference_glossary.md +++ b/docs/reference_glossary.md @@ -130,7 +130,7 @@ A 1 byte number that is sent as part of a HID report over USB that represents a ## Space Cadet Shift A special set of shift keys which allow you to type various types of braces by tapping the left or right shift one or more times. -* [Space Cadet Shift Documentation](feature_space_cadet_shift.md) +* [Space Cadet Shift Documentation](feature_space_cadet.md) ## Tap Pressing and releasing a key. In some situations you will need to distinguish between a key down and a key up event, and Tap always refers to both at once. diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 30d813e93a98..cf492629f39d 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -15,10 +15,6 @@ The `info.json` file is a JSON formatted dictionary with the following keys avai * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard. * `maintainer` * GitHub username of the maintainer, or `qmk` for community maintained boards -* `width` - * Width of the board in Key Units -* `height` - * Height of the board in Key Units * `debounce` * How many milliseconds (ms) to wait for debounce to happen. (Default: 5) * `diode_direction` diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md index 40a1956844ba..ae3d54e4de86 100644 --- a/docs/reference_keymap_extras.md +++ b/docs/reference_keymap_extras.md @@ -1,86 +1,91 @@ # Language-specific Keycodes -Keyboards are able to support a wide range of languages. However, they do not send the actual characters produced by pressing their keys - instead, they send numerical codes. In the USB HID spec, these are called "usages", although they are more often referred to as "scancodes" or "keycodes" when in the context of keyboards. -Less than 256 usages are defined in the HID Keyboard/Keypad usage page, and some of those do nothing on modern operating systems. So, how is this language support achieved? +Keyboards are able to support a wide range of languages. However, this support is not actually achieved within the keyboard itself - instead, it sends numerical codes, which the operating system maps to the appropriate characters depending on the user's configured keyboard layout. By default (and per the HID spec), this is the US ANSI layout. For example, when a Swedish person presses the key with the `å` character printed on it, the keyboard is *actually* sending the keycode for `[`. -In a nutshell, the operating system maps the usages it receives to the appropriate character based on the user's configured keyboard layout. For example, when a Swedish person presses the key with the `å` character printed on it, the keyboard is *actually* sending the keycode for `[`. +Obviously, this can get confusing, so QMK provides language-specific keycode aliases for many keyboard layouts. These won't do much on their own - you still have to set the matching keyboard layout in your OS settings. Think of them more as keycap labels for your keymap. -Obviously, this could get confusing, so QMK provides language-specific keycode aliases for many keyboard layouts. These won't do much on their own - you still have to set the matching keyboard layout in your OS settings. Think of them more as keycap labels for your keymap. +Simply `#include` one of the keycode headers below at the top of your `keymap.c`, and assign the keycodes defined in the header in place of the `KC_` prefixed ones. -To use these, simply `#include` the corresponding [header file](https://github.com/qmk/qmk_firmware/tree/master/quantum/keymap_extras) in your `keymap.c`, and add the keycodes defined in them in place of the `KC_` prefixed ones: +## Sendstring Support -|Layout |Header | -|---------------------------|--------------------------------| -|Canadian Multilingual (CSA)|`keymap_canadian_multilingual.h`| -|Croatian |`keymap_croatian.h` | -|Czech |`keymap_czech.h` | -|Danish |`keymap_danish.h` | -|Dutch (Belgium) |`keymap_belgian.h` | -|English (Ireland) |`keymap_irish.h` | -|English (UK) |`keymap_uk.h` | -|English (US Extended) |`keymap_us_extended.h` | -|English (US International) |`keymap_us_international.h` | -|English (US International, Linux)|`keymap_us_international_linux.h`| -|Estonian |`keymap_estonian.h` | -|Finnish |`keymap_finnish.h` | -|French |`keymap_french.h` | -|French (AFNOR) |`keymap_french_afnor.h` | -|French (BÉPO) |`keymap_bepo.h` | -|French (Belgium) |`keymap_belgian.h` | -|French (Switzerland) |`keymap_fr_ch.h` | -|French (macOS, ISO) |`keymap_french_osx.h` | -|German |`keymap_german.h` | -|German (Switzerland) |`keymap_german_ch.h` | -|German (macOS) |`keymap_german_osx.h` | -|German (Neo2)* |`keymap_neo2.h` | -|Greek* |`keymap_greek.h` | -|Hebrew* |`keymap_hebrew.h` | -|Hungarian |`keymap_hungarian.h` | -|Icelandic |`keymap_icelandic.h` | -|Italian |`keymap_italian.h` | -|Italian (macOS, ANSI) |`keymap_italian_osx_ansi.h` | -|Italian (macOS, ISO) |`keymap_italian_osx_iso.h` | -|Japanese |`keymap_jp.h` | -|Korean |`keymap_korean.h` | -|Latvian |`keymap_latvian.h` | -|Lithuanian (ĄŽERTY) |`keymap_lithuanian_azerty.h` | -|Lithuanian (QWERTY) |`keymap_lithuanian_qwerty.h` | -|Norwegian |`keymap_norwegian.h` | -|Polish |`keymap_polish.h` | -|Portuguese |`keymap_portuguese.h` | -|Portuguese (macOS, ISO) |`keymap_portuguese_osx_iso.h` | -|Portuguese (Brazil) |`keymap_br_abnt2.h` | -|Romanian |`keymap_romanian.h` | -|Russian* |`keymap_russian.h` | -|Serbian* |`keymap_serbian.h` | -|Serbian (Latin) |`keymap_serbian_latin.h` | -|Slovak |`keymap_slovak.h` | -|Slovenian |`keymap_slovenian.h` | -|Spanish |`keymap_spanish.h` | -|Spanish (Dvorak) |`keymap_spanish_dvorak.h` | -|Swedish |`keymap_swedish.h` | -|Turkish (F) |`keymap_turkish_f.h` | -|Turkish (Q) |`keymap_turkish_q.h` | +By default, `SEND_STRING()` assumes a US ANSI keyboard layout is set. If you are using a different layout, you can include one of the Sendstring LUT headers below in your `keymap.c` to override the lookup tables used for mapping ASCII characters to keycodes. You do not need to include the corresponding `keymap_*.h` header, as it is implicit when including the Sendstring header. -There are also a few which are not quite language-specific, but useful if you are not using a QWERTY layout: +An important thing to note here is that `SEND_STRING()` only operates on [ASCII text](https://en.wikipedia.org/wiki/ASCII#Character_set). This means that you cannot pass it a string containing Unicode characters - this unfortunately includes accented characters that may be present in your desired layout. +Many layouts make certain characters, such as Grave or Tilde, available only as [dead keys](https://en.wikipedia.org/wiki/Dead_key), so you must add a space immediately after it in the string you want to send, to prevent it from potentially combining with the next character. +Certain other layouts have no Sendstring header as they do not use a Latin-derived alphabet (for example Greek and Russian), and thus there is no way to input most of the ASCII character set. -|Layout |Header | -|-------------------|------------------------| -|Colemak |`keymap_colemak.h` | -|Dvorak |`keymap_dvorak.h` | -|Dvorak (French) |`keymap_dvorak_fr.h` | -|Dvorak (Programmer)|`keymap_dvp.h` | -|Norman |`keymap_norman.h` | -|Plover* |`keymap_plover.h` | -|Plover (Dvorak)* |`keymap_plover_dvorak.h`| -|Steno* |`keymap_steno.h` | -|Workman |`keymap_workman.h` | -|Workman (ZXCVM) |`keymap_workman_zxcvm.h`| +## Header Files -## Sendstring Support +These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/qmk_firmware/tree/master/quantum/keymap_extras). -By default, `SEND_STRING()` assumes a US ANSI keyboard layout is set. If you are using a different layout, you can also `#include "sendstring_*.h"` (as above) in your keymap to override the lookup tables used for mapping ASCII characters to keycodes. +|Layout |Keycodes Header |Sendstring LUT Header | +|---------------------------------|---------------------------------|------------------------------------| +|Canadian Multilingual (CSA) |`keymap_canadian_multilingual.h` |`sendstring_canadian_multilingual.h`| +|Croatian |`keymap_croatian.h` |`sendstring_croatian.h` | +|Czech |`keymap_czech.h` |`sendstring_czech.h` | +|Danish |`keymap_danish.h` |`sendstring_danish.h` | +|Dutch (Belgium) |`keymap_belgian.h` |`sendstring_belgian.h` | +|English (Ireland) |`keymap_irish.h` | | +|English (UK) |`keymap_uk.h` |`sendstring_uk.h` | +|English (US Extended) |`keymap_us_extended.h` | | +|English (US International) |`keymap_us_international.h` |`sendstring_us_international.h` | +|English (US International, Linux)|`keymap_us_international_linux.h`| | +|Estonian |`keymap_estonian.h` |`sendstring_estonian.h` | +|Finnish |`keymap_finnish.h` |`sendstring_finnish.h` | +|French |`keymap_french.h` |`sendstring_french.h` | +|French (AFNOR) |`keymap_french_afnor.h` |`sendstring_french_afnor.h` | +|French (BÉPO) |`keymap_bepo.h` |`sendstring_bepo.h` | +|French (Belgium) |`keymap_belgian.h` |`sendstring_belgian.h` | +|French (Switzerland) |`keymap_fr_ch.h` |`sendstring_fr_ch.h` | +|French (macOS, ISO) |`keymap_french_osx.h` |`sendstring_french_osx.h` | +|German |`keymap_german.h` |`sendstring_german.h` | +|German (Switzerland) |`keymap_german_ch.h` |`sendstring_german_ch.h` | +|German (macOS) |`keymap_german_osx.h` |`sendstring_german_osx.h` | +|German (Neo2) |`keymap_neo2.h` | | +|Greek |`keymap_greek.h` | | +|Hebrew |`keymap_hebrew.h` | | +|Hungarian |`keymap_hungarian.h` |`sendstring_hungarian.h` | +|Icelandic |`keymap_icelandic.h` |`sendstring_icelandic.h` | +|Italian |`keymap_italian.h` |`sendstring_italian.h` | +|Italian (macOS, ANSI) |`keymap_italian_osx_ansi.h` |`sendstring_italian_osx_ansi.h` | +|Italian (macOS, ISO) |`keymap_italian_osx_iso.h` |`sendstring_italian_osx_iso.h` | +|Japanese |`keymap_jp.h` |`sendstring_jis.h` | +|Korean |`keymap_korean.h` | | +|Latvian |`keymap_latvian.h` |`sendstring_latvian.h` | +|Lithuanian (ĄŽERTY) |`keymap_lithuanian_azerty.h` |`sendstring_lithuanian_azerty.h` | +|Lithuanian (QWERTY) |`keymap_lithuanian_qwerty.h` |`sendstring_lithuanian_qwerty.h` | +|Norwegian |`keymap_norwegian.h` |`sendstring_norwegian.h` | +|Polish |`keymap_polish.h` | | +|Portuguese |`keymap_portuguese.h` |`sendstring_portuguese.h` | +|Portuguese (macOS, ISO) |`keymap_portuguese_osx_iso.h` |`sendstring_portuguese_osx_iso.h` | +|Portuguese (Brazil) |`keymap_br_abnt2.h` |`sendstring_br_abnt2.h` | +|Romanian |`keymap_romanian.h` |`sendstring_romanian.h` | +|Russian |`keymap_russian.h` | | +|Serbian |`keymap_serbian.h` | | +|Serbian (Latin) |`keymap_serbian_latin.h` |`sendstring_serbian_latin.h` | +|Slovak |`keymap_slovak.h` |`sendstring_slovak.h` | +|Slovenian |`keymap_slovenian.h` |`sendstring_slovenian.h` | +|Spanish |`keymap_spanish.h` |`sendstring_spanish.h` | +|Spanish (Dvorak) |`keymap_spanish_dvorak.h` |`sendstring_spanish_dvorak.h` | +|Swedish |`keymap_swedish.h` |`sendstring_swedish.h` | +|Swedish (macOS, ANSI) |`keymap_swedish_osx_ansi.h` | | +|Swedish (macOS, ISO) |`keymap_swedish_osx_iso.h` | | +|Swedish Pro (macOS, ANSI) |`keymap_swedish_pro_osx_ansi.h` | | +|Swedish Pro (macOS, ISO) |`keymap_swedish_pro_osx_iso.h` | | +|Turkish (F) |`keymap_turkish_f.h` |`sendstring_turkish_f.h` | +|Turkish (Q) |`keymap_turkish_q.h` |`sendstring_turkish_q.h` | -An important thing to note here is that `SEND_STRING()` only operates on [ASCII text](https://en.wikipedia.org/wiki/ASCII#Character_set). This means that you cannot pass it a string containing Unicode characters - this unfortunately includes accented characters that may be present in your desired layout. -Many layouts make certain characters, such as Grave or Tilde, available only as [dead keys](https://en.wikipedia.org/wiki/Dead_key), so you must add a space immediately after it in the string you want to send, to prevent it from potentially combining with the next character. -Certain other layouts have no Sendstring header as they do not use a Latin-derived alphabet (for example Greek and Russian), and thus there is no way to input most of the ASCII character set. These are marked above with a `*`. +There are also a few which are not quite language-specific, but useful if you are not using a QWERTY layout: + +|Layout |Keycodes Header |Sendstring LUT Header | +|-------------------|------------------------|----------------------------| +|Colemak |`keymap_colemak.h` |`sendstring_colemak.h` | +|Dvorak |`keymap_dvorak.h` |`sendstring_dvorak.h` | +|Dvorak (French) |`keymap_dvorak_fr.h` |`sendstring_dvorak_fr.h` | +|Dvorak (Programmer)|`keymap_dvp.h` |`sendstring_dvp.h` | +|Norman |`keymap_norman.h` |`sendstring_norman.h` | +|Plover |`keymap_plover.h` | | +|Plover (Dvorak) |`keymap_plover_dvorak.h`| | +|Steno |`keymap_steno.h` | | +|Workman |`keymap_workman.h` |`sendstring_workman.h` | +|Workman (ZXCVM) |`keymap_workman_zxcvm.h`|`sendstring_workman_zxcvm.h`| diff --git a/docs/ru-ru/README.md b/docs/ru-ru/README.md index d3c28fa44043..7218781540ec 100644 --- a/docs/ru-ru/README.md +++ b/docs/ru-ru/README.md @@ -1,7 +1,6 @@ # Quantum Mechanical Keyboard Firmware [![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) -[![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware) [![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh) [![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm) [![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) diff --git a/docs/serial_driver.md b/docs/serial_driver.md index c98f4c117631..3e89deffad9e 100644 --- a/docs/serial_driver.md +++ b/docs/serial_driver.md @@ -3,16 +3,18 @@ This driver powers the [Split Keyboard](feature_split_keyboard.md) feature. ?> Serial in this context should be read as **sending information one bit at a time**, rather than implementing UART/USART/RS485/RS232 standards. -All drivers in this category have the following characteristics: -* Provides data and signaling over a single conductor -* Limited to single master, single slave +Drivers in this category have the following characteristics: +* bit bang and USART Half-duplex provide data and signaling over a single conductor +* USART Full-duplex provide data and signaling over two conductors +* They are all limited to single master and single slave communication scheme ## Supported Driver Types | | AVR | ARM | -|-------------------|--------------------|--------------------| +| ----------------- | ------------------ | ------------------ | | bit bang | :heavy_check_mark: | :heavy_check_mark: | | USART Half-duplex | | :heavy_check_mark: | +| USART Full-duplex | | :heavy_check_mark: | ## Driver configuration @@ -42,7 +44,7 @@ Configure the driver via your config.h: Along with the generic options above, you must also turn on the `PAL_USE_CALLBACKS` feature in your halconf.h. ### USART Half-duplex -Targeting STM32 boards where communication is offloaded to a USART hardware device. The advantage is that this provides fast and accurate timings. `SOFT_SERIAL_PIN` for this driver is the configured USART TX pin. **The TX pin must have appropriate pull-up resistors**. To configure it, add this to your rules.mk: +Targeting STM32 boards where communication is offloaded to a USART hardware device. The advantage over bitbang is that this provides fast and accurate timings. `SERIAL_PIN_TX` for this driver is the configured USART TX pin. As this Pin is configured in open-drain mode an **external pull-up resistor is needed to keep the line high** (resistor values of 1.5k to 8.2k are known to work). To configure it, add this to your rules.mk: ```make SERIAL_DRIVER = usart @@ -50,7 +52,8 @@ SERIAL_DRIVER = usart Configure the hardware via your config.h: ```c -#define SOFT_SERIAL_PIN B6 // USART TX pin +#define SOFT_SERIAL_PIN B6 // USART TX pin +//#define USART1_REMAP // Remap USART TX and RX pins on STM32F103 MCUs, see table below. #define SELECT_SOFT_SERIAL_SPEED 1 // or 0, 2, 3, 4, 5 // 0: about 460800 baud // 1: about 230400 baud (default) @@ -58,9 +61,9 @@ Configure the hardware via your config.h: // 3: about 57600 baud // 4: about 38400 baud // 5: about 19200 baud -#define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 +#define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1 #define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 -#define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100 +#define SERIAL_USART_TIMEOUT 20 // USART driver timeout. default 20 ``` You must also enable the ChibiOS `SERIAL` feature: @@ -68,3 +71,141 @@ You must also enable the ChibiOS `SERIAL` feature: * In your board's mcuconf.h: `#define STM32_SERIAL_USE_USARTn TRUE` (where 'n' matches the peripheral number of your selected USART on the MCU) Do note that the configuration required is for the `SERIAL` peripheral, not the `UART` peripheral. + +### USART Full-duplex +Targeting STM32 boards where communication is offloaded to a USART hardware device. The advantage over bitbang is that this provides fast and accurate timings. USART Full-Duplex requires two conductors **without** pull-up resistors instead of one conductor with a pull-up resistor unlike the Half-duplex driver. Due to its internal design it is more efficent, which can result in even faster transmission speeds. + +#### Pin configuration + +`SERIAL_USART_TX_PIN` is the USART `TX` pin, `SERIAL_USART_RX_PIN` is the USART `RX` pin. No external pull-up resistors are needed as the `TX` pin operates in push-pull mode. To use this driver the usart peripherals `TX` and `RX` pins must be configured with the correct Alternate-functions. If you are using a Proton-C everything is already setup, same is true for STM32F103 MCUs. For MCUs which are using a modern flexible GPIO configuration you have to specify these by setting `SERIAL_USART_TX_PAL_MODE` and `SERIAL_USART_RX_PAL_MODE`. Refeer to the corresponding datasheets of your MCU or find those settings in the table below. + +#### Connecting the halves and Pin Swap +Please note that `TX` of the master half has to be connected with the `RX` pin of the slave half and `RX` of the master half has to be connected with the `TX` pin of the slave half! Usually this pin swap has to be done outside of the MCU e.g. with cables or on the pcb. Some MCUs like the STM32F303 used on the Proton-C allow this pin swap directly inside the MCU, this feature can be enabled using `#define SERIAL_USART_PIN_SWAP` in your config.h. + +#### Setup +To use the driver, add this to your rules.mk: + +```make +SERIAL_DRIVER = usart +``` + +Next configure the hardware via your config.h: + +```c +#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. +#define SERIAL_USART_TX_PIN B6 // USART TX pin +#define SERIAL_USART_RX_PIN B7 // USART RX pin +//#define USART1_REMAP // Remap USART TX and RX pins on STM32F103 MCUs, see table below. +//#define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve. + // Check if this feature is necessary with your keyboard design and available on the mcu. +#define SELECT_SOFT_SERIAL_SPEED 1 // or 0, 2, 3, 4, 5 + // 0: 460800 baud + // 1: 230400 baud (default) + // 2: 115200 baud + // 3: 57600 baud + // 4: 38400 baud + // 5: 19200 baud +#define SERIAL_USART_DRIVER SD1 // USART driver of TX and RX pin. default: SD1 +#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 +#define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 +#define SERIAL_USART_TIMEOUT 20 // USART driver timeout. default 20 +``` + +You must also enable the ChibiOS `SERIAL` feature: +* In your board's halconf.h: `#define HAL_USE_SERIAL TRUE` +* In your board's mcuconf.h: `#define STM32_SERIAL_USE_USARTn TRUE` (where 'n' matches the peripheral number of your selected USART on the MCU) + +Do note that the configuration required is for the `SERIAL` peripheral, not the `UART` peripheral. + +#### Pins for USART Peripherals with Alternate Functions for selected STM32 MCUs + +##### STM32F303 / Proton-C [Datasheet](https://www.st.com/resource/en/datasheet/stm32f303cc.pdf) + +Pin Swap available: :heavy_check_mark: + +| Pin | Function | Mode | +| ---------- | -------- | ---- | +| **USART1** | | | +| PA9 | TX | AF7 | +| PA10 | RX | AF7 | +| PB6 | TX | AF7 | +| PB7 | RX | AF7 | +| PC4 | TX | AF7 | +| PC5 | RX | AF7 | +| PE0 | TX | AF7 | +| PE1 | RX | AF7 | +| **USART2** | | | +| PA2 | TX | AF7 | +| PA3 | RX | AF7 | +| PA14 | TX | AF7 | +| PA15 | RX | AF7 | +| PB3 | TX | AF7 | +| PB4 | RX | AF7 | +| PD5 | TX | AF7 | +| PD6 | RX | AF7 | +| **USART3** | | | +| PB10 | TX | AF7 | +| PB11 | RX | AF7 | +| PC10 | TX | AF7 | +| PC11 | RX | AF7 | +| PD8 | TX | AF7 | +| PD9 | RX | AF7 | + +##### STM32F072 [Datasheet](https://www.st.com/resource/en/datasheet/stm32f072c8.pdf) + +Pin Swap available: :heavy_check_mark: + +| Pin | Function | Mode | +| ------ | -------- | ---- | +| USART1 | | | +| PA9 | TX | AF1 | +| PA10 | RX | AF1 | +| PB6 | TX | AF0 | +| PB7 | RX | AF0 | +| USART2 | | | +| PA2 | TX | AF1 | +| PA3 | RX | AF1 | +| PA14 | TX | AF1 | +| PA15 | RX | AF1 | +| USART3 | | | +| PB10 | TX | AF4 | +| PB11 | RX | AF4 | +| PC4 | TX | AF1 | +| PC5 | RX | AF1 | +| PC10 | TX | AF1 | +| PC11 | RX | AF1 | +| PD8 | TX | AF0 | +| PD9 | RX | AF0 | +| USART4 | | | +| PA0 | TX | AF4 | +| PA1 | RX | AF4 | + +##### STM32F103 Medium Density (C8-CB) [Datasheet](https://www.st.com/resource/en/datasheet/stm32f103c8.pdf) + +Pin Swap available: N/A + +TX Pin is always Alternate Function Push-Pull, RX Pin is always regular input pin for any USART peripheral. **For STM32F103 no additional Alternate Function configuration is necessary. QMK is already configured.** + +Pin remapping: + +The pins of USART Peripherals use default Pins that can be remapped to use other pins using the AFIO registers. Default pins are marked **bold**. Add the appropriate defines to your config.h file. + +| Pin | Function | Mode | USART_REMAP | +| ---------- | -------- | ---- | ------------------- | +| **USART1** | | | | +| **PA9** | TX | AFPP | | +| **PA10** | RX | IN | | +| PB6 | TX | AFPP | USART1_REMAP | +| PB7 | RX | IN | USART1_REMAP | +| **USART2** | | | | +| **PA2** | TX | AFPP | | +| **PA3** | RX | IN | | +| PD5 | TX | AFPP | USART2_REMAP | +| PD6 | RX | IN | USART2_REMAP | +| **USART3** | | | | +| **PB10** | TX | AFPP | | +| **PB11** | RX | IN | | +| PC10 | TX | AFPP | USART3_PARTIALREMAP | +| PC11 | RX | IN | USART3_PARTIALREMAP | +| PD8 | TX | AFPP | USART3_FULLREMAP | +| PD9 | RX | IN | USART3_FULLREMAP | diff --git a/docs/syllabus.md b/docs/syllabus.md index ec7f66ba780d..ccb382c5d4a9 100644 --- a/docs/syllabus.md +++ b/docs/syllabus.md @@ -40,6 +40,7 @@ These topics start to dig into some of the features that QMK supports. You don't * [Tap Dance](feature_tap_dance.md) * [Combos](feature_combo.md) * [Userspace](feature_userspace.md) + * [Key Overrides](feature_key_overrides.md) # Advanced Topics @@ -53,7 +54,7 @@ Everything below here requires a lot of foundational knowledge. Besides being ab * **Advanced Features** * [Unicode](feature_unicode.md) * [API](api_overview.md) - * [Bootmagic](feature_bootmagic.md) + * [Bootmagic Lite](feature_bootmagic.md) * **Hardware** * [How Keyboards Work](how_keyboards_work.md) * [How A Keyboard Matrix Works](how_a_matrix_works.md) diff --git a/docs/tap_hold.md b/docs/tap_hold.md index 085bbde16a9b..71bff30baa51 100644 --- a/docs/tap_hold.md +++ b/docs/tap_hold.md @@ -36,29 +36,49 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { } ``` +## Tap-Or-Hold Decision Modes -## Permissive Hold +The code which decides between the tap and hold actions of dual-role keys supports three different modes, in increasing order of preference for the hold action: -As of [PR#1359](https://github.com/qmk/qmk_firmware/pull/1359/), there is a new `config.h` option: +1. The default mode selects the hold action only if the dual-role key is held down longer than the tapping term. In this mode pressing other keys while the dual-role key is held down does not influence the tap-or-hold decision. + +2. The “permissive hold” mode, in addition to the default behavior, immediately selects the hold action when another key is tapped (pressed and then released) while the dual-role key is held down, even if this happens earlier than the tapping term. If another key is just pressed, but then the dual-role key is released before that other key (and earlier than the tapping term), this mode will still select the tap action. + +3. The “hold on other key press” mode, in addition to the default behavior, immediately selects the hold action when another key is pressed while the dual-role key is held down, even if this happens earlier than the tapping term. + +Note that until the tap-or-hold decision completes (which happens when either the dual-role key is released, or the tapping term has expired, or the extra condition for the selected decision mode is satisfied), key events are delayed and not transmitted to the host immediately. The default mode gives the most delay (if the dual-role key is held down, this mode always waits for the whole tapping term), and the other modes may give less delay when other keys are pressed, because the hold action may be selected earlier. + +### Permissive Hold + +The “permissive hold” mode can be enabled for all dual-role keys by adding the corresponding option to `config.h`: ```c #define PERMISSIVE_HOLD ``` -This makes tap and hold keys (like Mod Tap) work better for fast typists, or for high `TAPPING_TERM` settings. +This makes tap and hold keys (like Layer Tap) work better for fast typists, or for high `TAPPING_TERM` settings. -If you press a Mod Tap key, tap another key (press and release) and then release the Mod Tap key, all within the tapping term, it will output the tapping function for both keys. +If you press a dual-role key, tap another key (press and release) and then release the dual-role key, all within the tapping term, by default the dual-role key will perform its tap action. If the `PERMISSIVE_HOLD` option is enabled, the dual-role key will perform its hold action instead. -For Instance: +An example of a sequence which is affected by the “permissive hold” mode: -- `SFT_T(KC_A)` Down -- `KC_X` Down -- `KC_X` Up -- `SFT_T(KC_A)` Up +- `LT(2, KC_A)` Down +- `KC_L` Down (the `L` key is also mapped to `KC_RGHT` on layer 2) +- `KC_L` Up +- `LT(2, KC_A)` Up + +Normally, if you do all this within the `TAPPING_TERM` (default: 200ms), this will be registered as `al` by the firmware and host system. With the `PERMISSIVE_HOLD` option enabled, the Layer Tap key is considered as a layer switch if another key is tapped, and the above sequence would be registered as `KC_RGHT` (the mapping of `L` on layer 2). + +However, this slightly different sequence will not be affected by the “permissive hold” mode: -Normally, if you do all this within the `TAPPING_TERM` (default: 200ms) this will be registered as `ax` by the firmware and host system. With permissive hold enabled, this modifies how this is handled by considering the Mod Tap keys as a Mod if another key is tapped, and would registered as `X` (`SHIFT`+`x`). +- `LT(2, KC_A)` Down +- `KC_L` Down (the `L` key is also mapped to `KC_RGHT` on layer 2) +- `LT(2, KC_A)` Up +- `KC_L` Up -?> If you have `Ignore Mod Tap Interrupt` enabled, as well, this will modify how both work. The regular key has the modifier added if the first key is released first or if both keys are held longer than the `TAPPING_TERM`. +In the sequence above the dual-role key is released before the other key is released, and if that happens within the tapping term, the “permissive hold” mode will still choose the tap action for the dual-role key, and the sequence will be registered as `al` by the host. + +?> The `PERMISSIVE_HOLD` option also affects Mod Tap keys, but this may not be noticeable if you do not also enable the `IGNORE_MOD_TAP_INTERRUPT` option for those keys, because the default handler for Mod Tap keys also considers both the “nested press” and “rolling press” sequences like shown above as a modifier hold, not the tap action. If you do not enable `IGNORE_MOD_TAP_INTERRUPT`, the effect of `PERMISSIVE_HOLD` on Mod Tap keys would be limited to reducing the delay before the key events are made visible to the host. For more granular control of this feature, you can add the following to your `config.h`: @@ -72,13 +92,60 @@ You can then add the following function to your keymap: bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case LT(1, KC_BSPC): + // Immediately select the hold action when another key is tapped. + return true; + default: + // Do not select the hold action when another key is tapped. + return false; + } +} +``` + +### Hold On Other Key Press + +The “hold on other key press” mode can be enabled for all dual-role keys by adding the corresponding option to `config.h`: + +```c +#define HOLD_ON_OTHER_KEY_PRESS +``` + +This mode makes tap and hold keys (like Layer Tap) work better for fast typists, or for high `TAPPING_TERM` settings. Compared to the “permissive hold” mode, this mode selects the hold action in more cases. + +If you press a dual-role key, press another key, and then release the dual-role key, all within the tapping term, by default the dual-role key will perform its tap action. If the `HOLD_ON_OTHER_KEY_PRESS` option is enabled, the dual-role key will perform its hold action instead. + +An example of a sequence which is affected by the “hold on other key press” mode, but not by the “permissive hold” mode: + +- `LT(2, KC_A)` Down +- `KC_L` Down (the `L` key is also mapped to `KC_RGHT` on layer 2) +- `LT(2, KC_A)` Up +- `KC_L` Up + +Normally, if you do all this within the `TAPPING_TERM` (default: 200ms), this will be registered as `al` by the firmware and host system. With the `HOLD_ON_OTHER_KEY_PRESS` option enabled, the Layer Tap key is considered as a layer switch if another key is pressed, and the above sequence would be registered as `KC_RGHT` (the mapping of `L` on layer 2). + +?> The `HOLD_ON_OTHER_KEY_PRESS` option also affects Mod Tap keys, but this may not be noticeable if you do not also enable the `IGNORE_MOD_TAP_INTERRUPT` option for those keys, because the default handler for Mod Tap keys also considers the “rolling press” sequence like shown above as a modifier hold, not the tap action. If you do not enable `IGNORE_MOD_TAP_INTERRUPT`, the effect of `HOLD_ON_OTHER_KEY_PRESS` on Mod Tap keys would be limited to reducing the delay before the key events are made visible to the host. + +For more granular control of this feature, you can add the following to your `config.h`: + +```c +#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY +``` + +You can then add the following function to your keymap: + +```c +bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LT(1, KC_BSPC): + // Immediately select the hold action when another key is pressed. return true; default: + // Do not select the hold action when another key is pressed. return false; } } ``` + ## Ignore Mod Tap Interrupt To enable this setting, add this to your `config.h`: @@ -87,23 +154,22 @@ To enable this setting, add this to your `config.h`: #define IGNORE_MOD_TAP_INTERRUPT ``` -Similar to Permissive Hold, this alters how the firmware processes inputs for fast typists. If you press a Mod Tap key, press another key, release the Mod Tap key, and then release the normal key, it would normally output the Mod plus the normal key, even if pressed within the `TAPPING_TERM`. This may not be desirable for rolling combo keys, or for fast typists who have a Mod Tap on a frequently used key (`RCTL_T(KC_QUOT)`, for example). +?> This option affects only the Mod Tap keys; it does not affect other dual-role keys such as Layer Tap. + +By default the tap-or-hold decision for Mod Tap keys strongly prefers the hold action. If you press a Mod Tap key, then press another key while still holding the Mod Tap key down, the Mod Tap press will be handled as a modifier hold even if the Mod Tap key is then released within the tapping term, and irrespective of the order in which those keys are released. Using options such as `PERMISSIVE_HOLD` or `HOLD_ON_OTHER_KEY_PRESS` will not affect the functionality of Mod Tap keys in a major way (these options would still affect the delay until the common code for dual-role keys finishes its tap-or-hold decision, but then the special code for Mod Tap keys will override the result of that decision and choose the hold action if another key was pressed). In fact, by default the tap-or-hold decision for Mod Tap keys is done in the same way as if the `HOLD_ON_OTHER_KEY_PRESS` option was enabled, but without the decreased delay provided by `HOLD_ON_OTHER_KEY_PRESS`. -Setting `Ignore Mod Tap Interrupt` requires holding both keys for the `TAPPING_TERM` to trigger the hold function (the mod). +If the `IGNORE_MOD_TAP_INTERRUPT` option is enabled, Mod Tap keys are no longer treated as a special case, and their behavior will match the behavior of other dual-role keys such as Layer Tap. Then the behavior of Mod Tap keys can be further tuned using other options such as `PERMISSIVE_HOLD` or `HOLD_ON_OTHER_KEY_PRESS`. -For Instance: +An example of a sequence which will be affected by the `IGNORE_MOD_TAP_INTERRUPT` option (assuming that options like `PERMISSIVE_HOLD` or `HOLD_ON_OTHER_KEY_PRESS` are not enabled): - `SFT_T(KC_A)` Down - `KC_X` Down - `SFT_T(KC_A)` Up - `KC_X` Up -Normally, this would send a capital `X` (`SHIFT`+`x`), or, Mod + key. With `Ignore Mod Tap Interrupt` enabled, holding both keys are required for the `TAPPING_TERM` to register the hold action. A quick tap will output `ax` in this case, while a hold on both will still output capital `X` (`SHIFT`+`x`). - - -?> __Note__: This only concerns modifiers and not layer switching keys. +Normally, this would send a capital `X` (`SHIFT`+`x`), even if the sequence is performed faster than the `TAPPING_TERM`. However, if the `IGNORE_MOD_TAP_INTERRUPT` option is enabled, the `SFT_T(KC_A)` key must be held longer than the `TAPPING_TERM` to register the hold action. A quick tap will output `ax` in this case, while a hold will still output a capital `X` (`SHIFT`+`x`). -?> If you have `Permissive Hold` enabled, as well, this will modify how both work. The regular key has the modifier added if the first key is released first or if both keys are held longer than the `TAPPING_TERM`. +However, if the `HOLD_ON_OTHER_KEY_PRESS` option is enabled in addition to `IGNORE_MOD_TAP_INTERRUPT`, the above sequence will again send a capital `X` (`SHIFT`+`x`) even if performed faster that the `TAPPING_TERM`. The difference from the default configuration is that by default the host will receive the key events only after the `SFT_T(KC_A)` key is released, but with the `HOLD_ON_OTHER_KEY_PRESS` option the host will start receiving key events when the `KC_X` key is pressed. For more granular control of this feature, you can add the following to your `config.h`: @@ -117,8 +183,12 @@ You can then add the following function to your keymap: bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case SFT_T(KC_SPC): + // Do not force the mod-tap key press to be handled as a modifier + // if any other key was pressed while the mod-tap key is held down. return true; default: + // Force the mod-tap key press to be handled as a modifier if any + // other key was pressed while the mod-tap key is held down. return false; } } diff --git a/docs/understanding_qmk.md b/docs/understanding_qmk.md index 331b1c893c85..e3dd5cb780e1 100644 --- a/docs/understanding_qmk.md +++ b/docs/understanding_qmk.md @@ -146,6 +146,7 @@ The `process_record()` function itself is deceptively simple, but hidden within * [`bool process_audio(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/quantum/process_keycode/process_audio.c#L19) * [`bool process_steno(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/quantum/process_keycode/process_steno.c#L160) * [`bool process_music(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/quantum/process_keycode/process_music.c#L114) + * [`bool process_key_override(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/5a1b857dea45a17698f6baa7dd1b7a7ea907fb0a/quantum/process_keycode/process_key_override.c#L397) * [`bool process_tap_dance(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/quantum/process_keycode/process_tap_dance.c#L141) * [`bool process_unicode_common(uint16_t keycode, keyrecord_t *record)`](https://github.com/qmk/qmk_firmware/blob/e1203a222bb12ab9733916164a000ef3ac48da93/quantum/process_keycode/process_unicode_common.c#L169) calls one of: diff --git a/docs/unit_testing.md b/docs/unit_testing.md index 82073a201655..a0eef51cb638 100644 --- a/docs/unit_testing.md +++ b/docs/unit_testing.md @@ -36,12 +36,20 @@ Note how there's several different tests, each mocking out a separate part. Also ## Running the Tests -To run all the tests in the codebase, type `make test`. You can also run test matching a substring by typing `make test:matchingsubstring` Note that the tests are always compiled with the native compiler of your platform, so they are also run like any other program on your computer. +To run all the tests in the codebase, type `make test:all`. You can also run test matching a substring by typing `make test:matchingsubstring` Note that the tests are always compiled with the native compiler of your platform, so they are also run like any other program on your computer. ## Debugging the Tests If there are problems with the tests, you can find the executable in the `./build/test` folder. You should be able to run those with GDB or a similar debugger. +To forward any [debug messages](unit_testing.md#debug-api) to `stderr`, the tests can run with `DEBUG=1`. For example + +```console +make test:all DEBUG=1 +``` + +Alternatively, add `CONSOLE_ENABLE=yes` to the tests `rules.mk`. + ## Full Integration Tests It's not yet possible to do a full integration test, where you would compile the whole firmware and define a keymap that you are going to test. However there are plans for doing that, because writing tests that way would probably be easier, at least for people that are not used to unit testing. diff --git a/docs/ws2812_driver.md b/docs/ws2812_driver.md index cca6827ec8d5..101798f21113 100644 --- a/docs/ws2812_driver.md +++ b/docs/ws2812_driver.md @@ -72,20 +72,41 @@ WS2812_DRIVER = spi Configure the hardware via your config.h: ```c #define WS2812_SPI SPID1 // default: SPID1 -#define WS2812_SPI_MOSI_PAL_MODE 5 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5 +#define WS2812_SPI_MOSI_PAL_MODE 5 // MOSI pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5 +#define WS2812_SPI_SCK_PIN B3 // Required for F072, may be for others -- SCK pin, see the respective datasheet for the appropriate values for your MCU. default: unspecified +#define WS2812_SPI_SCK_PAL_MODE 5 // SCK pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 5 ``` You must also turn on the SPI feature in your halconf.h and mcuconf.h +#### Circular Buffer Mode +Some boards may flicker while in the normal buffer mode. To fix this issue, circular buffer mode may be used to rectify the issue. + +By default, the circular buffer mode is disabled. + +To enable this alternative buffer mode, place this into your `config.h` file: +```c +#define WS2812_SPI_USE_CIRCULAR_BUFFER +``` + +#### Setting baudrate with divisor +To adjust the baudrate at which the SPI peripheral is configured, users will need to derive the target baudrate from the clock tree provided by STM32CubeMX. + +Only divisors of 2, 4, 8, 16, 32, 64, 128 and 256 are supported by hardware. + +|Define |Default|Description | +|--------------------|-------|-------------------------------------| +|`WS2812_SPI_DIVISOR`|`16` |SPI source clock peripheral divisor | + #### Testing Notes While not an exhaustive list, the following table provides the scenarios that have been partially validated: -| | SPI1 | SPI2 | SPI3 | -|-|-|-|-| -| f072 | ? | B15 :heavy_check_mark: | N/A | -| f103 | A7 :heavy_check_mark: | B15 :heavy_check_mark: | N/A | -| f303 | A7 :heavy_check_mark: B5 :heavy_check_mark: | B15 :heavy_check_mark: | B5 :heavy_check_mark: | +| | SPI1 | SPI2 | SPI3 | +|------|---------------------------------------------|-----------------------------------------|-----------------------| +| f072 | ? | B15 :heavy_check_mark: (needs SCK: B13) | N/A | +| f103 | A7 :heavy_check_mark: | B15 :heavy_check_mark: | N/A | +| f303 | A7 :heavy_check_mark: B5 :heavy_check_mark: | B15 :heavy_check_mark: | B5 :heavy_check_mark: | *Other supported ChibiOS boards and/or pins may function, it will be highly chip and configuration dependent.* @@ -102,11 +123,14 @@ Configure the hardware via your config.h: #define WS2812_PWM_DRIVER PWMD2 // default: PWMD2 #define WS2812_PWM_CHANNEL 2 // default: 2 #define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 +//#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy). #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU. ``` +Note that using a complementary timer output (TIMx_CHyN) is possible only for advanced-control timers (TIM1, TIM8, TIM20 on STM32), and the `STM32_PWM_USE_ADVANCED` option in mcuconf.h must be set to `TRUE`. Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations. + You must also turn on the PWM feature in your halconf.h and mcuconf.h #### Testing Notes diff --git a/docs/zh-cn/README.md b/docs/zh-cn/README.md index 560b0a8ee69c..b42818d582f2 100644 --- a/docs/zh-cn/README.md +++ b/docs/zh-cn/README.md @@ -1,7 +1,6 @@ # QMK机械键盘固件 [![当前版本](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) -[![开发状态](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware) [![异议](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh) [![文档状态](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm) [![GitHub贡献者](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) diff --git a/docs/zh-cn/custom_quantum_functions.md b/docs/zh-cn/custom_quantum_functions.md index 27b2edf38f90..44cb5cf76d0a 100644 --- a/docs/zh-cn/custom_quantum_functions.md +++ b/docs/zh-cn/custom_quantum_functions.md @@ -297,7 +297,7 @@ void suspend_wakeup_init_user(void) { 本例使用了Planck键盘示范了如何设置 [RGB背光灯](feature_rgblight.md)使之与层对应 ```c -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { switch (biton32(state)) { case _RAISE: rgblight_setrgb (0x00, 0x00, 0xFF); @@ -321,7 +321,7 @@ uint32_t layer_state_set_user(uint32_t state) { ### `layer_state_set_*` 函数文档 * 键盘/修订: `uint32_t layer_state_set_kb(uint32_t state)` -* 布局: `uint32_t layer_state_set_user(uint32_t state)` +* 布局: `layer_state_t layer_state_set_user(layer_state_t state)` 该`状态`是活动层的bitmask, 详见[布局概述](keymap.md#布局的层状态) @@ -377,7 +377,7 @@ void keyboard_post_init_user(void) { 以上函数会在读EEPROM配置后立即使用该设置来设置默认层RGB颜色。"raw"的值是从你上面基于"union"创建的结构体中转换来的。 ```c -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { switch (biton32(state)) { case _RAISE: if (user_config.rgb_layer_change) { rgblight_sethsv_noeeprom_magenta(); rgblight_mode_noeeprom(1); } diff --git a/doxygen-todo b/doxygen-todo index d8892e48ded7..643a0df1dab9 100644 --- a/doxygen-todo +++ b/doxygen-todo @@ -21,7 +21,6 @@ quantum/tools quantum/visualizer quantum/visualizer/resources drivers -drivers/avr drivers/ugfx drivers/ugfx/gdisp drivers/ugfx/gdisp/is31fl3731c diff --git a/drivers/avr/i2c_master.c b/drivers/avr/i2c_master.c deleted file mode 100644 index b1e48852984b..000000000000 --- a/drivers/avr/i2c_master.c +++ /dev/null @@ -1,224 +0,0 @@ -/* Copyright (C) 2019 Elia Ritterbusch - + - * 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 3 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 . - */ -/* Library made by: g4lvanix - * GitHub repository: https://github.com/g4lvanix/I2C-master-lib - */ - -#include -#include - -#include "i2c_master.h" -#include "timer.h" -#include "wait.h" - -#ifndef F_SCL -# define F_SCL 400000UL // SCL frequency -#endif - -#define TWBR_val (((F_CPU / F_SCL) - 16) / 2) - -void i2c_init(void) { - TWSR = 0; /* no prescaler */ - TWBR = (uint8_t)TWBR_val; - -#ifdef __AVR_ATmega32A__ - // set pull-up resistors on I2C bus pins - PORTC |= 0b11; - - // enable TWI (two-wire interface) - TWCR |= (1 << TWEN); - - // enable TWI interrupt and slave address ACK - TWCR |= (1 << TWIE); - TWCR |= (1 << TWEA); -#endif -} - -i2c_status_t i2c_start(uint8_t address, uint16_t timeout) { - // reset TWI control register - TWCR = 0; - // transmit START condition - TWCR = (1 << TWINT) | (1 << TWSTA) | (1 << TWEN); - - uint16_t timeout_timer = timer_read(); - while (!(TWCR & (1 << TWINT))) { - if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) { - return I2C_STATUS_TIMEOUT; - } - } - - // check if the start condition was successfully transmitted - if (((TW_STATUS & 0xF8) != TW_START) && ((TW_STATUS & 0xF8) != TW_REP_START)) { - return I2C_STATUS_ERROR; - } - - // load slave address into data register - TWDR = address; - // start transmission of address - TWCR = (1 << TWINT) | (1 << TWEN); - - timeout_timer = timer_read(); - while (!(TWCR & (1 << TWINT))) { - if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) { - return I2C_STATUS_TIMEOUT; - } - } - - // check if the device has acknowledged the READ / WRITE mode - uint8_t twst = TW_STATUS & 0xF8; - if ((twst != TW_MT_SLA_ACK) && (twst != TW_MR_SLA_ACK)) { - return I2C_STATUS_ERROR; - } - - return I2C_STATUS_SUCCESS; -} - -i2c_status_t i2c_write(uint8_t data, uint16_t timeout) { - // load data into data register - TWDR = data; - // start transmission of data - TWCR = (1 << TWINT) | (1 << TWEN); - - uint16_t timeout_timer = timer_read(); - while (!(TWCR & (1 << TWINT))) { - if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) { - return I2C_STATUS_TIMEOUT; - } - } - - if ((TW_STATUS & 0xF8) != TW_MT_DATA_ACK) { - return I2C_STATUS_ERROR; - } - - return I2C_STATUS_SUCCESS; -} - -int16_t i2c_read_ack(uint16_t timeout) { - // start TWI module and acknowledge data after reception - TWCR = (1 << TWINT) | (1 << TWEN) | (1 << TWEA); - - uint16_t timeout_timer = timer_read(); - while (!(TWCR & (1 << TWINT))) { - if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) { - return I2C_STATUS_TIMEOUT; - } - } - - // return received data from TWDR - return TWDR; -} - -int16_t i2c_read_nack(uint16_t timeout) { - // start receiving without acknowledging reception - TWCR = (1 << TWINT) | (1 << TWEN); - - uint16_t timeout_timer = timer_read(); - while (!(TWCR & (1 << TWINT))) { - if ((timeout != I2C_TIMEOUT_INFINITE) && ((timer_read() - timeout_timer) >= timeout)) { - return I2C_STATUS_TIMEOUT; - } - } - - // return received data from TWDR - return TWDR; -} - -i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout) { - i2c_status_t status = i2c_start(address | I2C_WRITE, timeout); - - for (uint16_t i = 0; i < length && status >= 0; i++) { - status = i2c_write(data[i], timeout); - } - - i2c_stop(); - - return status; -} - -i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout) { - i2c_status_t status = i2c_start(address | I2C_READ, timeout); - - for (uint16_t i = 0; i < (length - 1) && status >= 0; i++) { - status = i2c_read_ack(timeout); - if (status >= 0) { - data[i] = status; - } - } - - if (status >= 0) { - status = i2c_read_nack(timeout); - if (status >= 0) { - data[(length - 1)] = status; - } - } - - i2c_stop(); - - return (status < 0) ? status : I2C_STATUS_SUCCESS; -} - -i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) { - i2c_status_t status = i2c_start(devaddr | 0x00, timeout); - if (status >= 0) { - status = i2c_write(regaddr, timeout); - - for (uint16_t i = 0; i < length && status >= 0; i++) { - status = i2c_write(data[i], timeout); - } - } - - i2c_stop(); - - return status; -} - -i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) { - i2c_status_t status = i2c_start(devaddr, timeout); - if (status < 0) { - goto error; - } - - status = i2c_write(regaddr, timeout); - if (status < 0) { - goto error; - } - - status = i2c_start(devaddr | 0x01, timeout); - - for (uint16_t i = 0; i < (length - 1) && status >= 0; i++) { - status = i2c_read_ack(timeout); - if (status >= 0) { - data[i] = status; - } - } - - if (status >= 0) { - status = i2c_read_nack(timeout); - if (status >= 0) { - data[(length - 1)] = status; - } - } - -error: - i2c_stop(); - - return (status < 0) ? status : I2C_STATUS_SUCCESS; -} - -void i2c_stop(void) { - // transmit STOP condition - TWCR = (1 << TWINT) | (1 << TWEN) | (1 << TWSTO); -} diff --git a/drivers/avr/i2c_slave.c b/drivers/avr/i2c_slave.c deleted file mode 100644 index 62a378165af2..000000000000 --- a/drivers/avr/i2c_slave.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (C) 2019 Elia Ritterbusch - + - * 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 3 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 . - */ -/* Library made by: g4lvanix - * GitHub repository: https://github.com/g4lvanix/I2C-slave-lib - */ - -#include -#include -#include -#include - -#include "i2c_slave.h" - -volatile uint8_t i2c_slave_reg[I2C_SLAVE_REG_COUNT]; - -static volatile uint8_t buffer_address; -static volatile bool slave_has_register_set = false; - -void i2c_slave_init(uint8_t address) { - // load address into TWI address register - TWAR = address; - // set the TWCR to enable address matching and enable TWI, clear TWINT, enable TWI interrupt - TWCR = (1 << TWIE) | (1 << TWEA) | (1 << TWINT) | (1 << TWEN); -} - -void i2c_slave_stop(void) { - // clear acknowledge and enable bits - TWCR &= ~((1 << TWEA) | (1 << TWEN)); -} - -ISR(TWI_vect) { - uint8_t ack = 1; - - switch (TW_STATUS) { - case TW_SR_SLA_ACK: - // The device is now a slave receiver - slave_has_register_set = false; - break; - - case TW_SR_DATA_ACK: - // This device is a slave receiver and has received data - // First byte is the location then the bytes will be writen in buffer with auto-incriment - if (!slave_has_register_set) { - buffer_address = TWDR; - - if (buffer_address >= I2C_SLAVE_REG_COUNT) { // address out of bounds dont ack - ack = 0; - buffer_address = 0; - } - slave_has_register_set = true; // address has been receaved now fill in buffer - } else { - i2c_slave_reg[buffer_address] = TWDR; - buffer_address++; - } - break; - - case TW_ST_SLA_ACK: - case TW_ST_DATA_ACK: - // This device is a slave transmitter and master has requested data - TWDR = i2c_slave_reg[buffer_address]; - buffer_address++; - break; - - case TW_BUS_ERROR: - // We got an error, reset i2c - TWCR = 0; - default: - break; - } - - // Reset i2c state machine to be ready for next interrupt - TWCR |= (1 << TWIE) | (1 << TWINT) | (ack << TWEA) | (1 << TWEN); -} diff --git a/drivers/avr/i2c_slave.h b/drivers/avr/i2c_slave.h deleted file mode 100644 index 1cd0625ef439..000000000000 --- a/drivers/avr/i2c_slave.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2019 Elia Ritterbusch - + - * 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 3 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 . - */ -/* Library made by: g4lvanix - * GitHub repository: https://github.com/g4lvanix/I2C-slave-lib - - Info: Inititate the library by giving the required address. - Read or write to the necessary buffer according to the opperation. - */ - -#pragma once - -#define I2C_SLAVE_REG_COUNT 30 - -extern volatile uint8_t i2c_slave_reg[I2C_SLAVE_REG_COUNT]; - -void i2c_slave_init(uint8_t address); -void i2c_slave_stop(void); diff --git a/drivers/avr/serial.c b/drivers/avr/serial.c deleted file mode 100644 index 3647bee0d355..000000000000 --- a/drivers/avr/serial.c +++ /dev/null @@ -1,563 +0,0 @@ -/* - * WARNING: be careful changing this code, it is very timing dependent - * - * 2018-10-28 checked - * avr-gcc 4.9.2 - * avr-gcc 5.4.0 - * avr-gcc 7.3.0 - */ - -#ifndef F_CPU -# define F_CPU 16000000 -#endif - -#include -#include -#include -#include -#include -#include "serial.h" - -#ifdef SOFT_SERIAL_PIN - -# if !(defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) -# error serial.c is not supported for the currently selected MCU -# endif -// if using ATmega32U4/2, AT90USBxxx I2C, can not use PD0 and PD1 in soft serial. -# if defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) -# if defined(USE_AVR_I2C) && (SOFT_SERIAL_PIN == D0 || SOFT_SERIAL_PIN == D1) -# error Using I2C, so can not use PD0, PD1 -# endif -# endif -// PD0..PD3, common config -# if SOFT_SERIAL_PIN == D0 -# define EIMSK_BIT _BV(INT0) -# define EICRx_BIT (~(_BV(ISC00) | _BV(ISC01))) -# define SERIAL_PIN_INTERRUPT INT0_vect -# define EICRx EICRA -# elif SOFT_SERIAL_PIN == D1 -# define EIMSK_BIT _BV(INT1) -# define EICRx_BIT (~(_BV(ISC10) | _BV(ISC11))) -# define SERIAL_PIN_INTERRUPT INT1_vect -# define EICRx EICRA -# elif SOFT_SERIAL_PIN == D2 -# define EIMSK_BIT _BV(INT2) -# define EICRx_BIT (~(_BV(ISC20) | _BV(ISC21))) -# define SERIAL_PIN_INTERRUPT INT2_vect -# define EICRx EICRA -# elif SOFT_SERIAL_PIN == D3 -# define EIMSK_BIT _BV(INT3) -# define EICRx_BIT (~(_BV(ISC30) | _BV(ISC31))) -# define SERIAL_PIN_INTERRUPT INT3_vect -# define EICRx EICRA -# endif - -// ATmegaxxU2/AT90USB162 specific config -# if defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__) || defined(__AVR_AT90USB162__) -// PD4(INT5), PD6(INT6), PD7(INT7), PC7(INT4) -# if SOFT_SERIAL_PIN == D4 -# define EIMSK_BIT _BV(INT5) -# define EICRx_BIT (~(_BV(ISC50) | _BV(ISC51))) -# define SERIAL_PIN_INTERRUPT INT5_vect -# define EICRx EICRB -# elif SOFT_SERIAL_PIN == D6 -# define EIMSK_BIT _BV(INT6) -# define EICRx_BIT (~(_BV(ISC60) | _BV(ISC61))) -# define SERIAL_PIN_INTERRUPT INT6_vect -# define EICRx EICRB -# elif SOFT_SERIAL_PIN == D7 -# define EIMSK_BIT _BV(INT7) -# define EICRx_BIT (~(_BV(ISC70) | _BV(ISC71))) -# define SERIAL_PIN_INTERRUPT INT7_vect -# define EICRx EICRB -# elif SOFT_SERIAL_PIN == C7 -# define EIMSK_BIT _BV(INT4) -# define EICRx_BIT (~(_BV(ISC40) | _BV(ISC41))) -# define SERIAL_PIN_INTERRUPT INT4_vect -# define EICRx EICRB -# endif -# endif - -// ATmegaxxU4 specific config -# if defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) -// PE6(INT6) -# if SOFT_SERIAL_PIN == E6 -# define EIMSK_BIT _BV(INT6) -# define EICRx_BIT (~(_BV(ISC60) | _BV(ISC61))) -# define SERIAL_PIN_INTERRUPT INT6_vect -# define EICRx EICRB -# endif -# endif - -// AT90USBxxx specific config -# if defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) -// PE4..PE7(INT4..INT7) -# if SOFT_SERIAL_PIN == E4 -# define EIMSK_BIT _BV(INT4) -# define EICRx_BIT (~(_BV(ISC40) | _BV(ISC41))) -# define SERIAL_PIN_INTERRUPT INT4_vect -# define EICRx EICRB -# elif SOFT_SERIAL_PIN == E5 -# define EIMSK_BIT _BV(INT5) -# define EICRx_BIT (~(_BV(ISC50) | _BV(ISC51))) -# define SERIAL_PIN_INTERRUPT INT5_vect -# define EICRx EICRB -# elif SOFT_SERIAL_PIN == E6 -# define EIMSK_BIT _BV(INT6) -# define EICRx_BIT (~(_BV(ISC60) | _BV(ISC61))) -# define SERIAL_PIN_INTERRUPT INT6_vect -# define EICRx EICRB -# elif SOFT_SERIAL_PIN == E7 -# define EIMSK_BIT _BV(INT7) -# define EICRx_BIT (~(_BV(ISC70) | _BV(ISC71))) -# define SERIAL_PIN_INTERRUPT INT7_vect -# define EICRx EICRB -# endif -# endif - -# ifndef SERIAL_PIN_INTERRUPT -# error invalid SOFT_SERIAL_PIN value -# endif - -# define setPinInputHigh(pin) (DDRx_ADDRESS(pin) &= ~_BV((pin)&0xF), PORTx_ADDRESS(pin) |= _BV((pin)&0xF)) -# define setPinOutput(pin) (DDRx_ADDRESS(pin) |= _BV((pin)&0xF)) -# define writePinHigh(pin) (PORTx_ADDRESS(pin) |= _BV((pin)&0xF)) -# define writePinLow(pin) (PORTx_ADDRESS(pin) &= ~_BV((pin)&0xF)) -# define readPin(pin) ((bool)(PINx_ADDRESS(pin) & _BV((pin)&0xF))) - -# define ALWAYS_INLINE __attribute__((always_inline)) -# define NO_INLINE __attribute__((noinline)) -# define _delay_sub_us(x) __builtin_avr_delay_cycles(x) - -// parity check -# define ODD_PARITY 1 -# define EVEN_PARITY 0 -# define PARITY EVEN_PARITY - -# ifdef SERIAL_DELAY -// custom setup in config.h -// #define TID_SEND_ADJUST 2 -// #define SERIAL_DELAY 6 // micro sec -// #define READ_WRITE_START_ADJUST 30 // cycles -// #define READ_WRITE_WIDTH_ADJUST 8 // cycles -# else -// ============ Standard setups ============ - -# ifndef SELECT_SOFT_SERIAL_SPEED -# define SELECT_SOFT_SERIAL_SPEED 1 -// 0: about 189kbps (Experimental only) -// 1: about 137kbps (default) -// 2: about 75kbps -// 3: about 39kbps -// 4: about 26kbps -// 5: about 20kbps -# endif - -# if __GNUC__ < 6 -# define TID_SEND_ADJUST 14 -# else -# define TID_SEND_ADJUST 2 -# endif - -# if SELECT_SOFT_SERIAL_SPEED == 0 -// Very High speed -# define SERIAL_DELAY 4 // micro sec -# if __GNUC__ < 6 -# define READ_WRITE_START_ADJUST 33 // cycles -# define READ_WRITE_WIDTH_ADJUST 3 // cycles -# else -# define READ_WRITE_START_ADJUST 34 // cycles -# define READ_WRITE_WIDTH_ADJUST 7 // cycles -# endif -# elif SELECT_SOFT_SERIAL_SPEED == 1 -// High speed -# define SERIAL_DELAY 6 // micro sec -# if __GNUC__ < 6 -# define READ_WRITE_START_ADJUST 30 // cycles -# define READ_WRITE_WIDTH_ADJUST 3 // cycles -# else -# define READ_WRITE_START_ADJUST 33 // cycles -# define READ_WRITE_WIDTH_ADJUST 7 // cycles -# endif -# elif SELECT_SOFT_SERIAL_SPEED == 2 -// Middle speed -# define SERIAL_DELAY 12 // micro sec -# define READ_WRITE_START_ADJUST 30 // cycles -# if __GNUC__ < 6 -# define READ_WRITE_WIDTH_ADJUST 3 // cycles -# else -# define READ_WRITE_WIDTH_ADJUST 7 // cycles -# endif -# elif SELECT_SOFT_SERIAL_SPEED == 3 -// Low speed -# define SERIAL_DELAY 24 // micro sec -# define READ_WRITE_START_ADJUST 30 // cycles -# if __GNUC__ < 6 -# define READ_WRITE_WIDTH_ADJUST 3 // cycles -# else -# define READ_WRITE_WIDTH_ADJUST 7 // cycles -# endif -# elif SELECT_SOFT_SERIAL_SPEED == 4 -// Very Low speed -# define SERIAL_DELAY 36 // micro sec -# define READ_WRITE_START_ADJUST 30 // cycles -# if __GNUC__ < 6 -# define READ_WRITE_WIDTH_ADJUST 3 // cycles -# else -# define READ_WRITE_WIDTH_ADJUST 7 // cycles -# endif -# elif SELECT_SOFT_SERIAL_SPEED == 5 -// Ultra Low speed -# define SERIAL_DELAY 48 // micro sec -# define READ_WRITE_START_ADJUST 30 // cycles -# if __GNUC__ < 6 -# define READ_WRITE_WIDTH_ADJUST 3 // cycles -# else -# define READ_WRITE_WIDTH_ADJUST 7 // cycles -# endif -# else -# error invalid SELECT_SOFT_SERIAL_SPEED value -# endif /* SELECT_SOFT_SERIAL_SPEED */ -# endif /* SERIAL_DELAY */ - -# define SERIAL_DELAY_HALF1 (SERIAL_DELAY / 2) -# define SERIAL_DELAY_HALF2 (SERIAL_DELAY - SERIAL_DELAY / 2) - -# define SLAVE_INT_WIDTH_US 1 -# ifndef SERIAL_USE_MULTI_TRANSACTION -# define SLAVE_INT_RESPONSE_TIME SERIAL_DELAY -# else -# define SLAVE_INT_ACK_WIDTH_UNIT 2 -# define SLAVE_INT_ACK_WIDTH 4 -# endif - -static SSTD_t *Transaction_table = NULL; -static uint8_t Transaction_table_size = 0; - -inline static void serial_delay(void) ALWAYS_INLINE; -inline static void serial_delay(void) { _delay_us(SERIAL_DELAY); } - -inline static void serial_delay_half1(void) ALWAYS_INLINE; -inline static void serial_delay_half1(void) { _delay_us(SERIAL_DELAY_HALF1); } - -inline static void serial_delay_half2(void) ALWAYS_INLINE; -inline static void serial_delay_half2(void) { _delay_us(SERIAL_DELAY_HALF2); } - -inline static void serial_output(void) ALWAYS_INLINE; -inline static void serial_output(void) { setPinOutput(SOFT_SERIAL_PIN); } - -// make the serial pin an input with pull-up resistor -inline static void serial_input_with_pullup(void) ALWAYS_INLINE; -inline static void serial_input_with_pullup(void) { setPinInputHigh(SOFT_SERIAL_PIN); } - -inline static uint8_t serial_read_pin(void) ALWAYS_INLINE; -inline static uint8_t serial_read_pin(void) { return !!readPin(SOFT_SERIAL_PIN); } - -inline static void serial_low(void) ALWAYS_INLINE; -inline static void serial_low(void) { writePinLow(SOFT_SERIAL_PIN); } - -inline static void serial_high(void) ALWAYS_INLINE; -inline static void serial_high(void) { writePinHigh(SOFT_SERIAL_PIN); } - -void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size) { - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - serial_output(); - serial_high(); -} - -void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size) { - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - serial_input_with_pullup(); - - // Enable INT0-INT7 - EIMSK |= EIMSK_BIT; - EICRx &= EICRx_BIT; -} - -// Used by the sender to synchronize timing with the reciver. -static void sync_recv(void) NO_INLINE; -static void sync_recv(void) { - for (uint8_t i = 0; i < SERIAL_DELAY * 5 && serial_read_pin(); i++) { - } - // This shouldn't hang if the target disconnects because the - // serial line will float to high if the target does disconnect. - while (!serial_read_pin()) - ; -} - -// Used by the reciver to send a synchronization signal to the sender. -static void sync_send(void) NO_INLINE; -static void sync_send(void) { - serial_low(); - serial_delay(); - serial_high(); -} - -// Reads a byte from the serial line -static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) NO_INLINE; -static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) { - uint8_t byte, i, p, pb; - - _delay_sub_us(READ_WRITE_START_ADJUST); - for (i = 0, byte = 0, p = PARITY; i < bit; i++) { - serial_delay_half1(); // read the middle of pulses - if (serial_read_pin()) { - byte = (byte << 1) | 1; - p ^= 1; - } else { - byte = (byte << 1) | 0; - p ^= 0; - } - _delay_sub_us(READ_WRITE_WIDTH_ADJUST); - serial_delay_half2(); - } - /* recive parity bit */ - serial_delay_half1(); // read the middle of pulses - pb = serial_read_pin(); - _delay_sub_us(READ_WRITE_WIDTH_ADJUST); - serial_delay_half2(); - - *pterrcount += (p != pb) ? 1 : 0; - - return byte; -} - -// Sends a byte with MSB ordering -void serial_write_chunk(uint8_t data, uint8_t bit) NO_INLINE; -void serial_write_chunk(uint8_t data, uint8_t bit) { - uint8_t b, p; - for (p = PARITY, b = 1 << (bit - 1); b; b >>= 1) { - if (data & b) { - serial_high(); - p ^= 1; - } else { - serial_low(); - p ^= 0; - } - serial_delay(); - } - /* send parity bit */ - if (p & 1) { - serial_high(); - } else { - serial_low(); - } - serial_delay(); - - serial_low(); // sync_send() / senc_recv() need raise edge -} - -static void serial_send_packet(uint8_t *buffer, uint8_t size) NO_INLINE; -static void serial_send_packet(uint8_t *buffer, uint8_t size) { - for (uint8_t i = 0; i < size; ++i) { - uint8_t data; - data = buffer[i]; - sync_send(); - serial_write_chunk(data, 8); - } -} - -static uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) NO_INLINE; -static uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) { - uint8_t pecount = 0; - for (uint8_t i = 0; i < size; ++i) { - uint8_t data; - sync_recv(); - data = serial_read_chunk(&pecount, 8); - buffer[i] = data; - } - return pecount == 0; -} - -inline static void change_sender2reciver(void) { - sync_send(); // 0 - serial_delay_half1(); // 1 - serial_low(); // 2 - serial_input_with_pullup(); // 2 - serial_delay_half1(); // 3 -} - -inline static void change_reciver2sender(void) { - sync_recv(); // 0 - serial_delay(); // 1 - serial_low(); // 3 - serial_output(); // 3 - serial_delay_half1(); // 4 -} - -static inline uint8_t nibble_bits_count(uint8_t bits) { - bits = (bits & 0x5) + (bits >> 1 & 0x5); - bits = (bits & 0x3) + (bits >> 2 & 0x3); - return bits; -} - -// interrupt handle to be used by the target device -ISR(SERIAL_PIN_INTERRUPT) { -# ifndef SERIAL_USE_MULTI_TRANSACTION - serial_low(); - serial_output(); - SSTD_t *trans = Transaction_table; -# else - // recive transaction table index - uint8_t tid, bits; - uint8_t pecount = 0; - sync_recv(); - bits = serial_read_chunk(&pecount, 7); - tid = bits >> 3; - bits = (bits & 7) != nibble_bits_count(tid); - if (bits || pecount > 0 || tid > Transaction_table_size) { - return; - } - serial_delay_half1(); - - serial_high(); // response step1 low->high - serial_output(); - _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT * SLAVE_INT_ACK_WIDTH); - SSTD_t *trans = &Transaction_table[tid]; - serial_low(); // response step2 ack high->low -# endif - - // target send phase - if (trans->target2initiator_buffer_size > 0) serial_send_packet((uint8_t *)trans->target2initiator_buffer, trans->target2initiator_buffer_size); - // target switch to input - change_sender2reciver(); - - // target recive phase - if (trans->initiator2target_buffer_size > 0) { - if (serial_recive_packet((uint8_t *)trans->initiator2target_buffer, trans->initiator2target_buffer_size)) { - *trans->status = TRANSACTION_ACCEPTED; - } else { - *trans->status = TRANSACTION_DATA_ERROR; - } - } else { - *trans->status = TRANSACTION_ACCEPTED; - } - - sync_recv(); // weit initiator output to high -} - -///////// -// start transaction by initiator -// -// int soft_serial_transaction(int sstd_index) -// -// Returns: -// TRANSACTION_END -// TRANSACTION_NO_RESPONSE -// TRANSACTION_DATA_ERROR -// this code is very time dependent, so we need to disable interrupts -# ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void) { - SSTD_t *trans = Transaction_table; -# else -int soft_serial_transaction(int sstd_index) { - if (sstd_index > Transaction_table_size) return TRANSACTION_TYPE_ERROR; - SSTD_t *trans = &Transaction_table[sstd_index]; -# endif - cli(); - - // signal to the target that we want to start a transaction - serial_output(); - serial_low(); - _delay_us(SLAVE_INT_WIDTH_US); - -# ifndef SERIAL_USE_MULTI_TRANSACTION - // wait for the target response - serial_input_with_pullup(); - _delay_us(SLAVE_INT_RESPONSE_TIME); - - // check if the target is present - if (serial_read_pin()) { - // target failed to pull the line low, assume not present - serial_output(); - serial_high(); - *trans->status = TRANSACTION_NO_RESPONSE; - sei(); - return TRANSACTION_NO_RESPONSE; - } - -# else - // send transaction table index - int tid = (sstd_index << 3) | (7 & nibble_bits_count(sstd_index)); - sync_send(); - _delay_sub_us(TID_SEND_ADJUST); - serial_write_chunk(tid, 7); - serial_delay_half1(); - - // wait for the target response (step1 low->high) - serial_input_with_pullup(); - while (!serial_read_pin()) { - _delay_sub_us(2); - } - - // check if the target is present (step2 high->low) - for (int i = 0; serial_read_pin(); i++) { - if (i > SLAVE_INT_ACK_WIDTH + 1) { - // slave failed to pull the line low, assume not present - serial_output(); - serial_high(); - *trans->status = TRANSACTION_NO_RESPONSE; - sei(); - return TRANSACTION_NO_RESPONSE; - } - _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT); - } -# endif - - // initiator recive phase - // if the target is present syncronize with it - if (trans->target2initiator_buffer_size > 0) { - if (!serial_recive_packet((uint8_t *)trans->target2initiator_buffer, trans->target2initiator_buffer_size)) { - serial_output(); - serial_high(); - *trans->status = TRANSACTION_DATA_ERROR; - sei(); - return TRANSACTION_DATA_ERROR; - } - } - - // initiator switch to output - change_reciver2sender(); - - // initiator send phase - if (trans->initiator2target_buffer_size > 0) { - serial_send_packet((uint8_t *)trans->initiator2target_buffer, trans->initiator2target_buffer_size); - } - - // always, release the line when not in use - sync_send(); - - *trans->status = TRANSACTION_END; - sei(); - return TRANSACTION_END; -} - -# ifdef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_get_and_clean_status(int sstd_index) { - SSTD_t *trans = &Transaction_table[sstd_index]; - cli(); - int retval = *trans->status; - *trans->status = 0; - ; - sei(); - return retval; -} -# endif - -#endif - -// Helix serial.c history -// 2018-1-29 fork from let's split and add PD2, modify sync_recv() (#2308, bceffdefc) -// 2018-6-28 bug fix master to slave comm and speed up (#3255, 1038bbef4) -// (adjusted with avr-gcc 4.9.2) -// 2018-7-13 remove USE_SERIAL_PD2 macro (#3374, f30d6dd78) -// (adjusted with avr-gcc 4.9.2) -// 2018-8-11 add support multi-type transaction (#3608, feb5e4aae) -// (adjusted with avr-gcc 4.9.2) -// 2018-10-21 fix serial and RGB animation conflict (#4191, 4665e4fff) -// (adjusted with avr-gcc 7.3.0) -// 2018-10-28 re-adjust compiler depend value of delay (#4269, 8517f8a66) -// (adjusted with avr-gcc 5.4.0, 7.3.0) -// 2018-12-17 copy to TOP/quantum/split_common/ and remove backward compatibility code (#4669) diff --git a/drivers/avr/serial.h b/drivers/avr/serial.h deleted file mode 100644 index 53e66cf905cc..000000000000 --- a/drivers/avr/serial.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -#include - -// ///////////////////////////////////////////////////////////////// -// Need Soft Serial defines in config.h -// ///////////////////////////////////////////////////////////////// -// ex. -// #define SOFT_SERIAL_PIN ?? // ?? = D0,D1,D2,D3,E6 -// OPTIONAL: #define SELECT_SOFT_SERIAL_SPEED ? // ? = 1,2,3,4,5 -// // 1: about 137kbps (default) -// // 2: about 75kbps -// // 3: about 39kbps -// // 4: about 26kbps -// // 5: about 20kbps -// -// //// USE simple API (using signle-type transaction function) -// /* nothing */ -// //// USE flexible API (using multi-type transaction function) -// #define SERIAL_USE_MULTI_TRANSACTION -// -// ///////////////////////////////////////////////////////////////// - -// Soft Serial Transaction Descriptor -typedef struct _SSTD_t { - uint8_t *status; - uint8_t initiator2target_buffer_size; - uint8_t *initiator2target_buffer; - uint8_t target2initiator_buffer_size; - uint8_t *target2initiator_buffer; -} SSTD_t; -#define TID_LIMIT(table) (sizeof(table) / sizeof(SSTD_t)) - -// initiator is transaction start side -void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size); -// target is interrupt accept side -void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size); - -// initiator resullt -#define TRANSACTION_END 0 -#define TRANSACTION_NO_RESPONSE 0x1 -#define TRANSACTION_DATA_ERROR 0x2 -#define TRANSACTION_TYPE_ERROR 0x4 -#ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void); -#else -int soft_serial_transaction(int sstd_index); -#endif - -// target status -// *SSTD_t.status has -// initiator: -// TRANSACTION_END -// or TRANSACTION_NO_RESPONSE -// or TRANSACTION_DATA_ERROR -// target: -// TRANSACTION_DATA_ERROR -// or TRANSACTION_ACCEPTED -#define TRANSACTION_ACCEPTED 0x8 -#ifdef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_get_and_clean_status(int sstd_index); -#endif diff --git a/drivers/avr/spi_master.c b/drivers/avr/spi_master.c deleted file mode 100644 index 19ca0ced441a..000000000000 --- a/drivers/avr/spi_master.c +++ /dev/null @@ -1,182 +0,0 @@ -/* Copyright 2020 - * - * 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 3 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 - -#include "spi_master.h" -#include "quantum.h" -#include "timer.h" - -#if defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) -# define SPI_SCK_PIN B1 -# define SPI_MOSI_PIN B2 -# define SPI_MISO_PIN B3 -#elif defined(__AVR_ATmega32A__) -# define SPI_SCK_PIN B7 -# define SPI_MOSI_PIN B5 -# define SPI_MISO_PIN B6 -#elif defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__) -# define SPI_SCK_PIN B5 -# define SPI_MOSI_PIN B3 -# define SPI_MISO_PIN B4 -#endif - -#ifndef SPI_TIMEOUT -# define SPI_TIMEOUT 100 -#endif - -static pin_t currentSlavePin = NO_PIN; -static uint8_t currentSlaveConfig = 0; -static bool currentSlave2X = false; - -void spi_init(void) { - writePinHigh(SPI_SS_PIN); - setPinOutput(SPI_SCK_PIN); - setPinOutput(SPI_MOSI_PIN); - setPinInput(SPI_MISO_PIN); - - SPCR = (_BV(SPE) | _BV(MSTR)); -} - -bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) { - if (currentSlavePin != NO_PIN || slavePin == NO_PIN) { - return false; - } - - currentSlaveConfig = 0; - - if (lsbFirst) { - currentSlaveConfig |= _BV(DORD); - } - - switch (mode) { - case 1: - currentSlaveConfig |= _BV(CPHA); - break; - case 2: - currentSlaveConfig |= _BV(CPOL); - break; - case 3: - currentSlaveConfig |= (_BV(CPOL) | _BV(CPHA)); - break; - } - - uint16_t roundedDivisor = 1; - while (roundedDivisor < divisor) { - roundedDivisor <<= 1; - } - - switch (roundedDivisor) { - case 16: - currentSlaveConfig |= _BV(SPR0); - break; - case 64: - currentSlaveConfig |= _BV(SPR1); - break; - case 128: - currentSlaveConfig |= (_BV(SPR1) | _BV(SPR0)); - break; - case 2: - currentSlave2X = true; - break; - case 8: - currentSlave2X = true; - currentSlaveConfig |= _BV(SPR0); - break; - case 32: - currentSlave2X = true; - currentSlaveConfig |= _BV(SPR1); - break; - } - - SPCR |= currentSlaveConfig; - if (currentSlave2X) { - SPSR |= _BV(SPI2X); - } - currentSlavePin = slavePin; - setPinOutput(currentSlavePin); - writePinLow(currentSlavePin); - - return true; -} - -spi_status_t spi_write(uint8_t data) { - SPDR = data; - - uint16_t timeout_timer = timer_read(); - while (!(SPSR & _BV(SPIF))) { - if ((timer_read() - timeout_timer) >= SPI_TIMEOUT) { - return SPI_STATUS_TIMEOUT; - } - } - - return SPDR; -} - -spi_status_t spi_read() { - SPDR = 0x00; // Dummy - - uint16_t timeout_timer = timer_read(); - while (!(SPSR & _BV(SPIF))) { - if ((timer_read() - timeout_timer) >= SPI_TIMEOUT) { - return SPI_STATUS_TIMEOUT; - } - } - - return SPDR; -} - -spi_status_t spi_transmit(const uint8_t *data, uint16_t length) { - spi_status_t status; - - for (uint16_t i = 0; i < length; i++) { - status = spi_write(data[i]); - - if (status < 0) { - return status; - } - } - - return SPI_STATUS_SUCCESS; -} - -spi_status_t spi_receive(uint8_t *data, uint16_t length) { - spi_status_t status; - - for (uint16_t i = 0; i < length; i++) { - status = spi_read(); - - if (status >= 0) { - data[i] = status; - } else { - return status; - } - } - - return SPI_STATUS_SUCCESS; -} - -void spi_stop(void) { - if (currentSlavePin != NO_PIN) { - setPinOutput(currentSlavePin); - writePinHigh(currentSlavePin); - currentSlavePin = NO_PIN; - SPSR &= ~(_BV(SPI2X)); - SPCR &= ~(currentSlaveConfig); - currentSlaveConfig = 0; - currentSlave2X = false; - } -} diff --git a/drivers/avr/spi_master.h b/drivers/avr/spi_master.h deleted file mode 100644 index 9203698dd564..000000000000 --- a/drivers/avr/spi_master.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright 2020 - * - * 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 3 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 "quantum.h" - -typedef int16_t spi_status_t; - -// Hardware SS pin is defined in the header so that user code can refer to it -#if defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) -# define SPI_SS_PIN B0 -#elif defined(__AVR_ATmega32A__) -# define SPI_SS_PIN B4 -#elif defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__) -# define SPI_SS_PIN B2 -#endif - -#define SPI_STATUS_SUCCESS (0) -#define SPI_STATUS_ERROR (-1) -#define SPI_STATUS_TIMEOUT (-2) - -#define SPI_TIMEOUT_IMMEDIATE (0) -#define SPI_TIMEOUT_INFINITE (0xFFFF) - -#ifdef __cplusplus -extern "C" { -#endif -void spi_init(void); - -bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor); - -spi_status_t spi_write(uint8_t data); - -spi_status_t spi_read(void); - -spi_status_t spi_transmit(const uint8_t *data, uint16_t length); - -spi_status_t spi_receive(uint8_t *data, uint16_t length); - -void spi_stop(void); -#ifdef __cplusplus -} -#endif diff --git a/drivers/chibios/serial.c b/drivers/chibios/serial.c deleted file mode 100644 index 54f7e1321f0b..000000000000 --- a/drivers/chibios/serial.c +++ /dev/null @@ -1,290 +0,0 @@ -/* - * WARNING: be careful changing this code, it is very timing dependent - */ - -#include "quantum.h" -#include "serial.h" -#include "wait.h" - -#include - -// TODO: resolve/remove build warnings -#if defined(RGBLIGHT_ENABLE) && defined(RGBLED_SPLIT) && defined(PROTOCOL_CHIBIOS) && defined(WS2812_DRIVER_BITBANG) -# warning "RGBLED_SPLIT not supported with bitbang WS2812 driver" -#endif - -// default wait implementation cannot be called within interrupt -// this method seems to be more accurate than GPT timers -#if PORT_SUPPORTS_RT == FALSE -# error "chSysPolledDelayX method not supported on this platform" -#else -# undef wait_us -# define wait_us(x) chSysPolledDelayX(US2RTC(STM32_SYSCLK, x)) -#endif - -#ifndef SELECT_SOFT_SERIAL_SPEED -# define SELECT_SOFT_SERIAL_SPEED 1 -// TODO: correct speeds... -// 0: about 189kbps (Experimental only) -// 1: about 137kbps (default) -// 2: about 75kbps -// 3: about 39kbps -// 4: about 26kbps -// 5: about 20kbps -#endif - -// Serial pulse period in microseconds. At the moment, going lower than 12 causes communication failure -#if SELECT_SOFT_SERIAL_SPEED == 0 -# define SERIAL_DELAY 12 -#elif SELECT_SOFT_SERIAL_SPEED == 1 -# define SERIAL_DELAY 16 -#elif SELECT_SOFT_SERIAL_SPEED == 2 -# define SERIAL_DELAY 24 -#elif SELECT_SOFT_SERIAL_SPEED == 3 -# define SERIAL_DELAY 32 -#elif SELECT_SOFT_SERIAL_SPEED == 4 -# define SERIAL_DELAY 48 -#elif SELECT_SOFT_SERIAL_SPEED == 5 -# define SERIAL_DELAY 64 -#else -# error invalid SELECT_SOFT_SERIAL_SPEED value -#endif - -inline static void serial_delay(void) { wait_us(SERIAL_DELAY); } -inline static void serial_delay_half(void) { wait_us(SERIAL_DELAY / 2); } -inline static void serial_delay_blip(void) { wait_us(1); } -inline static void serial_output(void) { setPinOutput(SOFT_SERIAL_PIN); } -inline static void serial_input(void) { setPinInputHigh(SOFT_SERIAL_PIN); } -inline static bool serial_read_pin(void) { return !!readPin(SOFT_SERIAL_PIN); } -inline static void serial_low(void) { writePinLow(SOFT_SERIAL_PIN); } -inline static void serial_high(void) { writePinHigh(SOFT_SERIAL_PIN); } - -void interrupt_handler(void *arg); - -// Use thread + palWaitLineTimeout instead of palSetLineCallback -// - Methods like setPinOutput and palEnableLineEvent/palDisableLineEvent -// cause the interrupt to lock up, which would limit to only receiving data... -static THD_WORKING_AREA(waThread1, 128); -static THD_FUNCTION(Thread1, arg) { - (void)arg; - chRegSetThreadName("blinker"); - while (true) { - palWaitLineTimeout(SOFT_SERIAL_PIN, TIME_INFINITE); - interrupt_handler(NULL); - } -} - -static SSTD_t *Transaction_table = NULL; -static uint8_t Transaction_table_size = 0; - -void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size) { - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - - serial_output(); - serial_high(); -} - -void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size) { - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - - serial_input(); - - palEnablePadEvent(PAL_PORT(SOFT_SERIAL_PIN), PAL_PAD(SOFT_SERIAL_PIN), PAL_EVENT_MODE_FALLING_EDGE); - chThdCreateStatic(waThread1, sizeof(waThread1), HIGHPRIO, Thread1, NULL); -} - -// Used by the master to synchronize timing with the slave. -static void __attribute__((noinline)) sync_recv(void) { - serial_input(); - // This shouldn't hang if the slave disconnects because the - // serial line will float to high if the slave does disconnect. - while (!serial_read_pin()) { - } - - serial_delay(); -} - -// Used by the slave to send a synchronization signal to the master. -static void __attribute__((noinline)) sync_send(void) { - serial_output(); - - serial_low(); - serial_delay(); - - serial_high(); -} - -// Reads a byte from the serial line -static uint8_t __attribute__((noinline)) serial_read_byte(void) { - uint8_t byte = 0; - serial_input(); - for (uint8_t i = 0; i < 8; ++i) { - byte = (byte << 1) | serial_read_pin(); - serial_delay(); - } - - return byte; -} - -// Sends a byte with MSB ordering -static void __attribute__((noinline)) serial_write_byte(uint8_t data) { - uint8_t b = 8; - serial_output(); - while (b--) { - if (data & (1 << b)) { - serial_high(); - } else { - serial_low(); - } - serial_delay(); - } -} - -// interrupt handle to be used by the slave device -void interrupt_handler(void *arg) { - chSysLockFromISR(); - - sync_send(); - - // read mid pulses - serial_delay_blip(); - - uint8_t checksum_computed = 0; - int sstd_index = 0; - -#ifdef SERIAL_USE_MULTI_TRANSACTION - sstd_index = serial_read_byte(); - sync_send(); -#endif - - SSTD_t *trans = &Transaction_table[sstd_index]; - for (int i = 0; i < trans->initiator2target_buffer_size; ++i) { - trans->initiator2target_buffer[i] = serial_read_byte(); - sync_send(); - checksum_computed += trans->initiator2target_buffer[i]; - } - checksum_computed ^= 7; - uint8_t checksum_received = serial_read_byte(); - sync_send(); - - // wait for the sync to finish sending - serial_delay(); - - uint8_t checksum = 0; - for (int i = 0; i < trans->target2initiator_buffer_size; ++i) { - serial_write_byte(trans->target2initiator_buffer[i]); - sync_send(); - serial_delay_half(); - checksum += trans->target2initiator_buffer[i]; - } - serial_write_byte(checksum ^ 7); - sync_send(); - - // wait for the sync to finish sending - serial_delay(); - - *trans->status = (checksum_computed == checksum_received) ? TRANSACTION_ACCEPTED : TRANSACTION_DATA_ERROR; - - // end transaction - serial_input(); - - // TODO: remove extra delay between transactions - serial_delay(); - - chSysUnlockFromISR(); -} - -///////// -// start transaction by initiator -// -// int soft_serial_transaction(int sstd_index) -// -// Returns: -// TRANSACTION_END -// TRANSACTION_NO_RESPONSE -// TRANSACTION_DATA_ERROR -// this code is very time dependent, so we need to disable interrupts -#ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void) { - int sstd_index = 0; -#else -int soft_serial_transaction(int sstd_index) { -#endif - - if (sstd_index > Transaction_table_size) return TRANSACTION_TYPE_ERROR; - SSTD_t *trans = &Transaction_table[sstd_index]; - - // TODO: remove extra delay between transactions - serial_delay(); - - // this code is very time dependent, so we need to disable interrupts - chSysLock(); - - // signal to the slave that we want to start a transaction - serial_output(); - serial_low(); - serial_delay_blip(); - - // wait for the slaves response - serial_input(); - serial_high(); - serial_delay(); - - // check if the slave is present - if (serial_read_pin()) { - // slave failed to pull the line low, assume not present - dprintf("serial::NO_RESPONSE\n"); - chSysUnlock(); - return TRANSACTION_NO_RESPONSE; - } - - // if the slave is present syncronize with it - - uint8_t checksum = 0; - // send data to the slave -#ifdef SERIAL_USE_MULTI_TRANSACTION - serial_write_byte(sstd_index); // first chunk is transaction id - sync_recv(); -#endif - for (int i = 0; i < trans->initiator2target_buffer_size; ++i) { - serial_write_byte(trans->initiator2target_buffer[i]); - sync_recv(); - checksum += trans->initiator2target_buffer[i]; - } - serial_write_byte(checksum ^ 7); - sync_recv(); - - serial_delay(); - serial_delay(); // read mid pulses - - // receive data from the slave - uint8_t checksum_computed = 0; - for (int i = 0; i < trans->target2initiator_buffer_size; ++i) { - trans->target2initiator_buffer[i] = serial_read_byte(); - sync_recv(); - checksum_computed += trans->target2initiator_buffer[i]; - } - checksum_computed ^= 7; - uint8_t checksum_received = serial_read_byte(); - - sync_recv(); - serial_delay(); - - if ((checksum_computed) != (checksum_received)) { - dprintf("serial::FAIL[%u,%u,%u]\n", checksum_computed, checksum_received, sstd_index); - serial_output(); - serial_high(); - - chSysUnlock(); - return TRANSACTION_DATA_ERROR; - } - - // always, release the line when not in use - serial_high(); - serial_output(); - - chSysUnlock(); - return TRANSACTION_END; -} diff --git a/drivers/chibios/serial.h b/drivers/chibios/serial.h deleted file mode 100644 index 0c1857d52e32..000000000000 --- a/drivers/chibios/serial.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -#include - -// ///////////////////////////////////////////////////////////////// -// Need Soft Serial defines in config.h -// ///////////////////////////////////////////////////////////////// -// ex. -// #define SOFT_SERIAL_PIN ?? // ?? = D0,D1,D2,D3,E6 -// OPTIONAL: #define SELECT_SOFT_SERIAL_SPEED ? // ? = 1,2,3,4,5 -// // 1: about 137kbps (default) -// // 2: about 75kbps -// // 3: about 39kbps -// // 4: about 26kbps -// // 5: about 20kbps -// -// //// USE simple API (using signle-type transaction function) -// /* nothing */ -// //// USE flexible API (using multi-type transaction function) -// #define SERIAL_USE_MULTI_TRANSACTION -// -// ///////////////////////////////////////////////////////////////// - -// Soft Serial Transaction Descriptor -typedef struct _SSTD_t { - uint8_t *status; - uint8_t initiator2target_buffer_size; - uint8_t *initiator2target_buffer; - uint8_t target2initiator_buffer_size; - uint8_t *target2initiator_buffer; -} SSTD_t; -#define TID_LIMIT(table) (sizeof(table) / sizeof(SSTD_t)) - -// initiator is transaction start side -void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size); -// target is interrupt accept side -void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size); - -// initiator result -#define TRANSACTION_END 0 -#define TRANSACTION_NO_RESPONSE 0x1 -#define TRANSACTION_DATA_ERROR 0x2 -#define TRANSACTION_TYPE_ERROR 0x4 -#ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void); -#else -int soft_serial_transaction(int sstd_index); -#endif - -// target status -// *SSTD_t.status has -// initiator: -// TRANSACTION_END -// or TRANSACTION_NO_RESPONSE -// or TRANSACTION_DATA_ERROR -// target: -// TRANSACTION_DATA_ERROR -// or TRANSACTION_ACCEPTED -#define TRANSACTION_ACCEPTED 0x8 -#ifdef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_get_and_clean_status(int sstd_index); -#endif diff --git a/drivers/chibios/serial_usart.c b/drivers/chibios/serial_usart.c deleted file mode 100644 index 7c81b16464f4..000000000000 --- a/drivers/chibios/serial_usart.c +++ /dev/null @@ -1,237 +0,0 @@ -#include "quantum.h" -#include "serial.h" -#include "print.h" - -#include -#include - -#ifndef USART_CR1_M0 -# define USART_CR1_M0 USART_CR1_M // some platforms (f1xx) dont have this so -#endif - -#ifndef USE_GPIOV1 -// The default PAL alternate modes are used to signal that the pins are used for USART -# ifndef SERIAL_USART_TX_PAL_MODE -# define SERIAL_USART_TX_PAL_MODE 7 -# endif -#endif - -#ifndef SERIAL_USART_DRIVER -# define SERIAL_USART_DRIVER SD1 -#endif - -#ifndef SERIAL_USART_CR1 -# define SERIAL_USART_CR1 (USART_CR1_PCE | USART_CR1_PS | USART_CR1_M0) // parity enable, odd parity, 9 bit length -#endif - -#ifndef SERIAL_USART_CR2 -# define SERIAL_USART_CR2 (USART_CR2_STOP_1) // 2 stop bits -#endif - -#ifndef SERIAL_USART_CR3 -# define SERIAL_USART_CR3 0 -#endif - -#ifdef SOFT_SERIAL_PIN -# define SERIAL_USART_TX_PIN SOFT_SERIAL_PIN -#endif - -#ifndef SELECT_SOFT_SERIAL_SPEED -# define SELECT_SOFT_SERIAL_SPEED 1 -#endif - -#ifdef SERIAL_USART_SPEED -// Allow advanced users to directly set SERIAL_USART_SPEED -#elif SELECT_SOFT_SERIAL_SPEED == 0 -# define SERIAL_USART_SPEED 460800 -#elif SELECT_SOFT_SERIAL_SPEED == 1 -# define SERIAL_USART_SPEED 230400 -#elif SELECT_SOFT_SERIAL_SPEED == 2 -# define SERIAL_USART_SPEED 115200 -#elif SELECT_SOFT_SERIAL_SPEED == 3 -# define SERIAL_USART_SPEED 57600 -#elif SELECT_SOFT_SERIAL_SPEED == 4 -# define SERIAL_USART_SPEED 38400 -#elif SELECT_SOFT_SERIAL_SPEED == 5 -# define SERIAL_USART_SPEED 19200 -#else -# error invalid SELECT_SOFT_SERIAL_SPEED value -#endif - -#ifndef SERIAL_USART_TIMEOUT -# define SERIAL_USART_TIMEOUT 100 -#endif - -#define HANDSHAKE_MAGIC 7 - -static inline msg_t sdWriteHalfDuplex(SerialDriver* driver, uint8_t* data, uint8_t size) { - msg_t ret = sdWrite(driver, data, size); - - // Half duplex requires us to read back the data we just wrote - just throw it away - uint8_t dump[size]; - sdRead(driver, dump, size); - - return ret; -} -#undef sdWrite -#define sdWrite sdWriteHalfDuplex - -static inline msg_t sdWriteTimeoutHalfDuplex(SerialDriver* driver, uint8_t* data, uint8_t size, uint32_t timeout) { - msg_t ret = sdWriteTimeout(driver, data, size, timeout); - - // Half duplex requires us to read back the data we just wrote - just throw it away - uint8_t dump[size]; - sdReadTimeout(driver, dump, size, timeout); - - return ret; -} -#undef sdWriteTimeout -#define sdWriteTimeout sdWriteTimeoutHalfDuplex - -static inline void sdClear(SerialDriver* driver) { - while (sdGetTimeout(driver, TIME_IMMEDIATE) != MSG_TIMEOUT) { - // Do nothing with the data - } -} - -static SerialConfig sdcfg = { - (SERIAL_USART_SPEED), // speed - mandatory - (SERIAL_USART_CR1), // CR1 - (SERIAL_USART_CR2), // CR2 - (SERIAL_USART_CR3) // CR3 -}; - -void handle_soft_serial_slave(void); - -/* - * This thread runs on the slave and responds to transactions initiated - * by the master - */ -static THD_WORKING_AREA(waSlaveThread, 2048); -static THD_FUNCTION(SlaveThread, arg) { - (void)arg; - chRegSetThreadName("slave_transport"); - - while (true) { - handle_soft_serial_slave(); - } -} - -__attribute__((weak)) void usart_init(void) { -#if defined(USE_GPIOV1) - palSetLineMode(SERIAL_USART_TX_PIN, PAL_MODE_STM32_ALTERNATE_OPENDRAIN); -#else - palSetLineMode(SERIAL_USART_TX_PIN, PAL_MODE_ALTERNATE(SERIAL_USART_TX_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN); -#endif -} - -void usart_master_init(void) { - usart_init(); - - sdcfg.cr3 |= USART_CR3_HDSEL; - sdStart(&SERIAL_USART_DRIVER, &sdcfg); -} - -void usart_slave_init(void) { - usart_init(); - - sdcfg.cr3 |= USART_CR3_HDSEL; - sdStart(&SERIAL_USART_DRIVER, &sdcfg); - - // Start transport thread - chThdCreateStatic(waSlaveThread, sizeof(waSlaveThread), HIGHPRIO, SlaveThread, NULL); -} - -static SSTD_t* Transaction_table = NULL; -static uint8_t Transaction_table_size = 0; - -void soft_serial_initiator_init(SSTD_t* sstd_table, int sstd_table_size) { - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - - usart_master_init(); -} - -void soft_serial_target_init(SSTD_t* sstd_table, int sstd_table_size) { - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - - usart_slave_init(); -} - -void handle_soft_serial_slave(void) { - uint8_t sstd_index = sdGet(&SERIAL_USART_DRIVER); // first chunk is always transaction id - SSTD_t* trans = &Transaction_table[sstd_index]; - - // Always write back the sstd_index as part of a basic handshake - sstd_index ^= HANDSHAKE_MAGIC; - sdWrite(&SERIAL_USART_DRIVER, &sstd_index, sizeof(sstd_index)); - - if (trans->initiator2target_buffer_size) { - sdRead(&SERIAL_USART_DRIVER, trans->initiator2target_buffer, trans->initiator2target_buffer_size); - } - - if (trans->target2initiator_buffer_size) { - sdWrite(&SERIAL_USART_DRIVER, trans->target2initiator_buffer, trans->target2initiator_buffer_size); - } - - if (trans->status) { - *trans->status = TRANSACTION_ACCEPTED; - } -} - -///////// -// start transaction by initiator -// -// int soft_serial_transaction(int sstd_index) -// -// Returns: -// TRANSACTION_END -// TRANSACTION_NO_RESPONSE -// TRANSACTION_DATA_ERROR -#ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void) { - uint8_t sstd_index = 0; -#else -int soft_serial_transaction(int index) { - uint8_t sstd_index = index; -#endif - - if (sstd_index > Transaction_table_size) return TRANSACTION_TYPE_ERROR; - SSTD_t* trans = &Transaction_table[sstd_index]; - msg_t res = 0; - - sdClear(&SERIAL_USART_DRIVER); - - // First chunk is always transaction id - sdWriteTimeout(&SERIAL_USART_DRIVER, &sstd_index, sizeof(sstd_index), TIME_MS2I(SERIAL_USART_TIMEOUT)); - - uint8_t sstd_index_shake = 0xFF; - - // Which we always read back first so that we can error out correctly - // - due to the half duplex limitations on return codes, we always have to read *something* - // - without the read, write only transactions *always* succeed, even during the boot process where the slave is not ready - res = sdReadTimeout(&SERIAL_USART_DRIVER, &sstd_index_shake, sizeof(sstd_index_shake), TIME_MS2I(SERIAL_USART_TIMEOUT)); - if (res < 0 || (sstd_index_shake != (sstd_index ^ HANDSHAKE_MAGIC))) { - dprintf("serial::usart_shake NO_RESPONSE\n"); - return TRANSACTION_NO_RESPONSE; - } - - if (trans->initiator2target_buffer_size) { - res = sdWriteTimeout(&SERIAL_USART_DRIVER, trans->initiator2target_buffer, trans->initiator2target_buffer_size, TIME_MS2I(SERIAL_USART_TIMEOUT)); - if (res < 0) { - dprintf("serial::usart_transmit NO_RESPONSE\n"); - return TRANSACTION_NO_RESPONSE; - } - } - - if (trans->target2initiator_buffer_size) { - res = sdReadTimeout(&SERIAL_USART_DRIVER, trans->target2initiator_buffer, trans->target2initiator_buffer_size, TIME_MS2I(SERIAL_USART_TIMEOUT)); - if (res < 0) { - dprintf("serial::usart_receive NO_RESPONSE\n"); - return TRANSACTION_NO_RESPONSE; - } - } - - return TRANSACTION_END; -} diff --git a/drivers/chibios/spi_master.c b/drivers/chibios/spi_master.c deleted file mode 100644 index 8341b59a532d..000000000000 --- a/drivers/chibios/spi_master.c +++ /dev/null @@ -1,148 +0,0 @@ -/* Copyright 2020 Nick Brassel (tzarc) - * - * 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 3 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 "spi_master.h" -#include "quantum.h" -#include "timer.h" - -static pin_t currentSlavePin = NO_PIN; -static SPIConfig spiConfig = {false, NULL, 0, 0, 0, 0}; - -__attribute__((weak)) void spi_init(void) { - static bool is_initialised = false; - if (!is_initialised) { - is_initialised = true; - - // Try releasing special pins for a short time - palSetPadMode(PAL_PORT(SPI_SCK_PIN), PAL_PAD(SPI_SCK_PIN), PAL_MODE_INPUT); - palSetPadMode(PAL_PORT(SPI_MOSI_PIN), PAL_PAD(SPI_MOSI_PIN), PAL_MODE_INPUT); - palSetPadMode(PAL_PORT(SPI_MISO_PIN), PAL_PAD(SPI_MISO_PIN), PAL_MODE_INPUT); - - chThdSleepMilliseconds(10); -#if defined(USE_GPIOV1) - palSetPadMode(PAL_PORT(SPI_SCK_PIN), PAL_PAD(SPI_SCK_PIN), PAL_MODE_STM32_ALTERNATE_PUSHPULL); - palSetPadMode(PAL_PORT(SPI_MOSI_PIN), PAL_PAD(SPI_MOSI_PIN), PAL_MODE_STM32_ALTERNATE_PUSHPULL); - palSetPadMode(PAL_PORT(SPI_MISO_PIN), PAL_PAD(SPI_MISO_PIN), PAL_MODE_STM32_ALTERNATE_PUSHPULL); -#else - palSetPadMode(PAL_PORT(SPI_SCK_PIN), PAL_PAD(SPI_SCK_PIN), PAL_MODE_ALTERNATE(SPI_SCK_PAL_MODE) | PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); - palSetPadMode(PAL_PORT(SPI_MOSI_PIN), PAL_PAD(SPI_MOSI_PIN), PAL_MODE_ALTERNATE(SPI_MOSI_PAL_MODE) | PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); - palSetPadMode(PAL_PORT(SPI_MISO_PIN), PAL_PAD(SPI_MISO_PIN), PAL_MODE_ALTERNATE(SPI_MISO_PAL_MODE) | PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); -#endif - } -} - -bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) { - if (currentSlavePin != NO_PIN || slavePin == NO_PIN) { - return false; - } - - uint16_t roundedDivisor = 2; - while (roundedDivisor < divisor) { - roundedDivisor <<= 1; - } - - if (roundedDivisor < 2 || roundedDivisor > 256) { - return false; - } - - spiConfig.cr1 = 0; - - if (lsbFirst) { - spiConfig.cr1 |= SPI_CR1_LSBFIRST; - } - - switch (mode) { - case 0: - break; - case 1: - spiConfig.cr1 |= SPI_CR1_CPHA; - break; - case 2: - spiConfig.cr1 |= SPI_CR1_CPOL; - break; - case 3: - spiConfig.cr1 |= SPI_CR1_CPHA | SPI_CR1_CPOL; - break; - } - - switch (roundedDivisor) { - case 2: - break; - case 4: - spiConfig.cr1 |= SPI_CR1_BR_0; - break; - case 8: - spiConfig.cr1 |= SPI_CR1_BR_1; - break; - case 16: - spiConfig.cr1 |= SPI_CR1_BR_1 | SPI_CR1_BR_0; - break; - case 32: - spiConfig.cr1 |= SPI_CR1_BR_2; - break; - case 64: - spiConfig.cr1 |= SPI_CR1_BR_2 | SPI_CR1_BR_0; - break; - case 128: - spiConfig.cr1 |= SPI_CR1_BR_2 | SPI_CR1_BR_1; - break; - case 256: - spiConfig.cr1 |= SPI_CR1_BR_2 | SPI_CR1_BR_1 | SPI_CR1_BR_0; - break; - } - - currentSlavePin = slavePin; - spiConfig.ssport = PAL_PORT(slavePin); - spiConfig.sspad = PAL_PAD(slavePin); - - setPinOutput(slavePin); - spiStart(&SPI_DRIVER, &spiConfig); - spiSelect(&SPI_DRIVER); - - return true; -} - -spi_status_t spi_write(uint8_t data) { - uint8_t rxData; - spiExchange(&SPI_DRIVER, 1, &data, &rxData); - - return rxData; -} - -spi_status_t spi_read(void) { - uint8_t data = 0; - spiReceive(&SPI_DRIVER, 1, &data); - - return data; -} - -spi_status_t spi_transmit(const uint8_t *data, uint16_t length) { - spiSend(&SPI_DRIVER, length, data); - return SPI_STATUS_SUCCESS; -} - -spi_status_t spi_receive(uint8_t *data, uint16_t length) { - spiReceive(&SPI_DRIVER, length, data); - return SPI_STATUS_SUCCESS; -} - -void spi_stop(void) { - if (currentSlavePin != NO_PIN) { - spiUnselect(&SPI_DRIVER); - spiStop(&SPI_DRIVER); - currentSlavePin = NO_PIN; - } -} diff --git a/drivers/chibios/spi_master.h b/drivers/chibios/spi_master.h deleted file mode 100644 index 5953bef77f72..000000000000 --- a/drivers/chibios/spi_master.h +++ /dev/null @@ -1,78 +0,0 @@ -/* Copyright 2020 Nick Brassel (tzarc) - * - * 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 3 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 -#include -#include "quantum.h" - -#ifndef SPI_DRIVER -# define SPI_DRIVER SPID2 -#endif - -#ifndef SPI_SCK_PIN -# define SPI_SCK_PIN B13 -#endif - -#ifndef SPI_SCK_PAL_MODE -# define SPI_SCK_PAL_MODE 5 -#endif - -#ifndef SPI_MOSI_PIN -# define SPI_MOSI_PIN B15 -#endif - -#ifndef SPI_MOSI_PAL_MODE -# define SPI_MOSI_PAL_MODE 5 -#endif - -#ifndef SPI_MISO_PIN -# define SPI_MISO_PIN B14 -#endif - -#ifndef SPI_MISO_PAL_MODE -# define SPI_MISO_PAL_MODE 5 -#endif - -typedef int16_t spi_status_t; - -#define SPI_STATUS_SUCCESS (0) -#define SPI_STATUS_ERROR (-1) -#define SPI_STATUS_TIMEOUT (-2) - -#define SPI_TIMEOUT_IMMEDIATE (0) -#define SPI_TIMEOUT_INFINITE (0xFFFF) - -#ifdef __cplusplus -extern "C" { -#endif -void spi_init(void); - -bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor); - -spi_status_t spi_write(uint8_t data); - -spi_status_t spi_read(void); - -spi_status_t spi_transmit(const uint8_t *data, uint16_t length); - -spi_status_t spi_receive(uint8_t *data, uint16_t length); - -void spi_stop(void); -#ifdef __cplusplus -} -#endif diff --git a/drivers/chibios/ws2812_spi.c b/drivers/chibios/ws2812_spi.c deleted file mode 100644 index 89df2987b548..000000000000 --- a/drivers/chibios/ws2812_spi.c +++ /dev/null @@ -1,112 +0,0 @@ -#include "quantum.h" -#include "ws2812.h" - -/* Adapted from https://github.com/gamazeps/ws2812b-chibios-SPIDMA/ */ - -#ifdef RGBW -# error "RGBW not supported" -#endif - -// Define the spi your LEDs are plugged to here -#ifndef WS2812_SPI -# define WS2812_SPI SPID1 -#endif - -#ifndef WS2812_SPI_MOSI_PAL_MODE -# define WS2812_SPI_MOSI_PAL_MODE 5 -#endif - -// Push Pull or Open Drain Configuration -// Default Push Pull -#ifndef WS2812_EXTERNAL_PULLUP -# if defined(USE_GPIOV1) -# define WS2812_OUTPUT_MODE PAL_MODE_STM32_ALTERNATE_PUSHPULL -# else -# define WS2812_OUTPUT_MODE PAL_MODE_ALTERNATE(WS2812_SPI_MOSI_PAL_MODE) | PAL_STM32_OTYPE_PUSHPULL -# endif -#else -# if defined(USE_GPIOV1) -# define WS2812_OUTPUT_MODE PAL_MODE_STM32_ALTERNATE_OPENDRAIN -# else -# define WS2812_OUTPUT_MODE PAL_MODE_ALTERNATE(WS2812_SPI_MOSI_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN -# endif -#endif - -#define BYTES_FOR_LED_BYTE 4 -#define NB_COLORS 3 -#define BYTES_FOR_LED (BYTES_FOR_LED_BYTE * NB_COLORS) -#define DATA_SIZE (BYTES_FOR_LED * RGBLED_NUM) -#define RESET_SIZE (1000 * WS2812_TRST_US / (2 * 1250)) -#define PREAMBLE_SIZE 4 - -static uint8_t txbuf[PREAMBLE_SIZE + DATA_SIZE + RESET_SIZE] = {0}; - -/* - * As the trick here is to use the SPI to send a huge pattern of 0 and 1 to - * the ws2812b protocol, we use this helper function to translate bytes into - * 0s and 1s for the LED (with the appropriate timing). - */ -static uint8_t get_protocol_eq(uint8_t data, int pos) { - uint8_t eq = 0; - if (data & (1 << (2 * (3 - pos)))) - eq = 0b1110; - else - eq = 0b1000; - if (data & (2 << (2 * (3 - pos)))) - eq += 0b11100000; - else - eq += 0b10000000; - return eq; -} - -static void set_led_color_rgb(LED_TYPE color, int pos) { - uint8_t* tx_start = &txbuf[PREAMBLE_SIZE]; - -#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB) - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.g, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.r, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j); -#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB) - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.r, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j); -#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_BGR) - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.b, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j); - for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.r, j); -#endif -} - -void ws2812_init(void) { - palSetLineMode(RGB_DI_PIN, WS2812_OUTPUT_MODE); - - // TODO: more dynamic baudrate - static const SPIConfig spicfg = { - 0, NULL, PAL_PORT(RGB_DI_PIN), PAL_PAD(RGB_DI_PIN), - SPI_CR1_BR_1 | SPI_CR1_BR_0 // baudrate : fpclk / 8 => 1tick is 0.32us (2.25 MHz) - }; - - spiAcquireBus(&WS2812_SPI); /* Acquire ownership of the bus. */ - spiStart(&WS2812_SPI, &spicfg); /* Setup transfer parameters. */ - spiSelect(&WS2812_SPI); /* Slave Select assertion. */ -} - -void ws2812_setleds(LED_TYPE* ledarray, uint16_t leds) { - static bool s_init = false; - if (!s_init) { - ws2812_init(); - s_init = true; - } - - for (uint8_t i = 0; i < leds; i++) { - set_led_color_rgb(ledarray[i], i); - } - - // Send async - each led takes ~0.03ms, 50 leds ~1.5ms, animations flushing faster than send will cause issues. - // Instead spiSend can be used to send synchronously (or the thread logic can be added back). -#ifdef WS2812_SPI_SYNC - spiSend(&WS2812_SPI, sizeof(txbuf) / sizeof(txbuf[0]), txbuf); -#else - spiStartSend(&WS2812_SPI, sizeof(txbuf) / sizeof(txbuf[0]), txbuf); -#endif -} diff --git a/drivers/eeprom/eeprom_i2c.c b/drivers/eeprom/eeprom_i2c.c index 4210f06f9f9a..8e80ff544fc6 100644 --- a/drivers/eeprom/eeprom_i2c.c +++ b/drivers/eeprom/eeprom_i2c.c @@ -16,6 +16,9 @@ #include #include +#if defined(EXTERNAL_EEPROM_WP_PIN) +# include "gpio.h" +#endif /* Note that the implementations of eeprom_XXXX_YYYY on AVR are normally @@ -50,7 +53,14 @@ static inline void fill_target_address(uint8_t *buffer, const void *addr) { } } -void eeprom_driver_init(void) { i2c_init(); } +void eeprom_driver_init(void) { + i2c_init(); +#if defined(EXTERNAL_EEPROM_WP_PIN) + /* We are setting the WP pin to high in a way that requires at least two bit-flips to change back to 0 */ + writePin(EXTERNAL_EEPROM_WP_PIN, 1); + setPinInputHigh(EXTERNAL_EEPROM_WP_PIN); +#endif +} void eeprom_driver_erase(void) { #if defined(CONSOLE_ENABLE) && defined(DEBUG_EEPROM_OUTPUT) @@ -89,6 +99,11 @@ void eeprom_write_block(const void *buf, void *addr, size_t len) { uint8_t * read_buf = (uint8_t *)buf; uintptr_t target_addr = (uintptr_t)addr; +#if defined(EXTERNAL_EEPROM_WP_PIN) + setPinOutput(EXTERNAL_EEPROM_WP_PIN); + writePin(EXTERNAL_EEPROM_WP_PIN, 0); +#endif + while (len > 0) { uintptr_t page_offset = target_addr % EXTERNAL_EEPROM_PAGE_SIZE; int write_length = EXTERNAL_EEPROM_PAGE_SIZE - page_offset; @@ -116,4 +131,10 @@ void eeprom_write_block(const void *buf, void *addr, size_t len) { target_addr += write_length; len -= write_length; } + +#if defined(EXTERNAL_EEPROM_WP_PIN) + /* We are setting the WP pin to high in a way that requires at least two bit-flips to change back to 0 */ + writePin(EXTERNAL_EEPROM_WP_PIN, 1); + setPinInputHigh(EXTERNAL_EEPROM_WP_PIN); +#endif } diff --git a/drivers/eeprom/eeprom_spi.c b/drivers/eeprom/eeprom_spi.c index 182731d82f10..e27309085437 100644 --- a/drivers/eeprom/eeprom_spi.c +++ b/drivers/eeprom/eeprom_spi.c @@ -31,6 +31,8 @@ */ #include "wait.h" +#include "debug.h" +#include "timer.h" #include "spi_master.h" #include "eeprom.h" #include "eeprom_spi.h" @@ -50,11 +52,6 @@ # define EXTERNAL_EEPROM_SPI_TIMEOUT 100 #endif -#if defined(CONSOLE_ENABLE) && defined(DEBUG_EEPROM_OUTPUT) -# include "timer.h" -# include "debug.h" -#endif // CONSOLE_ENABLE - static bool spi_eeprom_start(void) { return spi_start(EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN, EXTERNAL_EEPROM_SPI_LSBFIRST, EXTERNAL_EEPROM_SPI_MODE, EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR); } static spi_status_t spi_eeprom_wait_while_busy(int timeout) { diff --git a/drivers/haptic/solenoid.c b/drivers/haptic/solenoid.c index 3e61d5a171ff..25cf344655b7 100644 --- a/drivers/haptic/solenoid.c +++ b/drivers/haptic/solenoid.c @@ -18,6 +18,7 @@ #include "timer.h" #include "solenoid.h" #include "haptic.h" +#include "gpio.h" bool solenoid_on = false; bool solenoid_buzzing = false; diff --git a/drivers/lcd/st7565.c b/drivers/lcd/st7565.c new file mode 100644 index 000000000000..49b13c00f157 --- /dev/null +++ b/drivers/lcd/st7565.c @@ -0,0 +1,496 @@ +/* +Copyright 2021 + +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 "st7565.h" + +#include + +#include "keyboard.h" +#include "progmem.h" +#include "timer.h" +#include "wait.h" + +#include ST7565_FONT_H + +// Fundamental Commands +#define CONTRAST 0x81 +#define DISPLAY_ALL_ON 0xA5 +#define DISPLAY_ALL_ON_RESUME 0xA4 +#define NORMAL_DISPLAY 0xA6 +#define INVERT_DISPLAY 0xA7 +#define DISPLAY_ON 0xAF +#define DISPLAY_OFF 0xAE +#define NOP 0xE3 + +// Addressing Setting Commands +#define PAM_SETCOLUMN_LSB 0x00 +#define PAM_SETCOLUMN_MSB 0x10 +#define PAM_PAGE_ADDR 0xB0 // 0xb0 -- 0xb7 + +// Hardware Configuration Commands +#define DISPLAY_START_LINE 0x40 +#define SEGMENT_REMAP 0xA0 +#define SEGMENT_REMAP_INV 0xA1 +#define COM_SCAN_INC 0xC0 +#define COM_SCAN_DEC 0xC8 +#define LCD_BIAS_7 0xA3 +#define LCD_BIAS_9 0xA2 +#define RESISTOR_RATIO 0x20 +#define POWER_CONTROL 0x28 + +// Misc defines +#ifndef ST7565_BLOCK_COUNT +# define ST7565_BLOCK_COUNT (sizeof(ST7565_BLOCK_TYPE) * 8) +#endif +#ifndef ST7565_BLOCK_SIZE +# define ST7565_BLOCK_SIZE (ST7565_MATRIX_SIZE / ST7565_BLOCK_COUNT) +#endif + +#define ST7565_ALL_BLOCKS_MASK (((((ST7565_BLOCK_TYPE)1 << (ST7565_BLOCK_COUNT - 1)) - 1) << 1) | 1) + +#define HAS_FLAGS(bits, flags) ((bits & flags) == flags) + +// Display buffer's is the same as the display memory layout +// this is so we don't end up with rounding errors with +// parts of the display unusable or don't get cleared correctly +// and also allows for drawing & inverting +uint8_t st7565_buffer[ST7565_MATRIX_SIZE]; +uint8_t * st7565_cursor; +ST7565_BLOCK_TYPE st7565_dirty = 0; +bool st7565_initialized = false; +bool st7565_active = false; +bool st7565_inverted = false; +display_rotation_t st7565_rotation = DISPLAY_ROTATION_0; +#if ST7565_TIMEOUT > 0 +uint32_t st7565_timeout; +#endif +#if ST7565_UPDATE_INTERVAL > 0 +uint16_t st7565_update_timeout; +#endif + +// Flips the rendering bits for a character at the current cursor position +static void InvertCharacter(uint8_t *cursor) { + const uint8_t *end = cursor + ST7565_FONT_WIDTH; + while (cursor < end) { + *cursor = ~(*cursor); + cursor++; + } +} + +bool st7565_init(display_rotation_t rotation) { + setPinOutput(ST7565_A0_PIN); + writePinHigh(ST7565_A0_PIN); + setPinOutput(ST7565_RST_PIN); + writePinHigh(ST7565_RST_PIN); + + st7565_rotation = st7565_init_user(rotation); + + spi_init(); + spi_start(ST7565_SS_PIN, false, 0, ST7565_SPI_CLK_DIVISOR); + + st7565_reset(); + + st7565_send_cmd(LCD_BIAS_7); + if (!HAS_FLAGS(st7565_rotation, DISPLAY_ROTATION_180)) { + st7565_send_cmd(SEGMENT_REMAP); + st7565_send_cmd(COM_SCAN_DEC); + } else { + st7565_send_cmd(SEGMENT_REMAP_INV); + st7565_send_cmd(COM_SCAN_INC); + } + st7565_send_cmd(DISPLAY_START_LINE | 0x00); + st7565_send_cmd(CONTRAST); + st7565_send_cmd(ST7565_CONTRAST); + st7565_send_cmd(RESISTOR_RATIO | 0x01); + st7565_send_cmd(POWER_CONTROL | 0x04); + wait_ms(50); + st7565_send_cmd(POWER_CONTROL | 0x06); + wait_ms(50); + st7565_send_cmd(POWER_CONTROL | 0x07); + wait_ms(10); + st7565_send_cmd(DISPLAY_ON); + st7565_send_cmd(DISPLAY_ALL_ON_RESUME); + st7565_send_cmd(NORMAL_DISPLAY); + + spi_stop(); + +#if ST7565_TIMEOUT > 0 + st7565_timeout = timer_read32() + ST7565_TIMEOUT; +#endif + + st7565_clear(); + st7565_initialized = true; + st7565_active = true; + return true; +} + +__attribute__((weak)) display_rotation_t st7565_init_user(display_rotation_t rotation) { return rotation; } + +void st7565_clear(void) { + memset(st7565_buffer, 0, sizeof(st7565_buffer)); + st7565_cursor = &st7565_buffer[0]; + st7565_dirty = ST7565_ALL_BLOCKS_MASK; +} + +uint8_t crot(uint8_t a, int8_t n) { + const uint8_t mask = 0x7; + n &= mask; + return a << n | a >> (-n & mask); +} + +void st7565_render(void) { + if (!st7565_initialized) { + return; + } + + // Do we have work to do? + st7565_dirty &= ST7565_ALL_BLOCKS_MASK; + if (!st7565_dirty) { + return; + } + + // Find first dirty block + uint8_t update_start = 0; + while (!(st7565_dirty & ((ST7565_BLOCK_TYPE)1 << update_start))) { + ++update_start; + } + + // Calculate commands to set memory addressing bounds. + uint8_t start_page = ST7565_BLOCK_SIZE * update_start / ST7565_DISPLAY_WIDTH; + uint8_t start_column = ST7565_BLOCK_SIZE * update_start % ST7565_DISPLAY_WIDTH; + // IC has 132 segment drivers, for panels with less width we need to offset the starting column + if (HAS_FLAGS(st7565_rotation, DISPLAY_ROTATION_180)) { + start_column += (132 - ST7565_DISPLAY_WIDTH); + } + + spi_start(ST7565_SS_PIN, false, 0, ST7565_SPI_CLK_DIVISOR); + + st7565_send_cmd(PAM_PAGE_ADDR | start_page); + st7565_send_cmd(PAM_SETCOLUMN_LSB | ((ST7565_COLUMN_OFFSET + start_column) & 0x0f)); + st7565_send_cmd(PAM_SETCOLUMN_MSB | ((ST7565_COLUMN_OFFSET + start_column) >> 4 & 0x0f)); + + st7565_send_data(&st7565_buffer[ST7565_BLOCK_SIZE * update_start], ST7565_BLOCK_SIZE); + + // Turn on display if it is off + st7565_on(); + + // Clear dirty flag + st7565_dirty &= ~((ST7565_BLOCK_TYPE)1 << update_start); +} + +void st7565_set_cursor(uint8_t col, uint8_t line) { + uint16_t index = line * ST7565_DISPLAY_WIDTH + col * ST7565_FONT_WIDTH; + + // Out of bounds? + if (index >= ST7565_MATRIX_SIZE) { + index = 0; + } + + st7565_cursor = &st7565_buffer[index]; +} + +void st7565_advance_page(bool clearPageRemainder) { + uint16_t index = st7565_cursor - &st7565_buffer[0]; + uint8_t remaining = ST7565_DISPLAY_WIDTH - (index % ST7565_DISPLAY_WIDTH); + + if (clearPageRemainder) { + // Remaining Char count + remaining = remaining / ST7565_FONT_WIDTH; + + // Write empty character until next line + while (remaining--) st7565_write_char(' ', false); + } else { + // Next page index out of bounds? + if (index + remaining >= ST7565_MATRIX_SIZE) { + index = 0; + remaining = 0; + } + + st7565_cursor = &st7565_buffer[index + remaining]; + } +} + +void st7565_advance_char(void) { + uint16_t nextIndex = st7565_cursor - &st7565_buffer[0] + ST7565_FONT_WIDTH; + uint8_t remainingSpace = ST7565_DISPLAY_WIDTH - (nextIndex % ST7565_DISPLAY_WIDTH); + + // Do we have enough space on the current line for the next character + if (remainingSpace < ST7565_FONT_WIDTH) { + nextIndex += remainingSpace; + } + + // Did we go out of bounds + if (nextIndex >= ST7565_MATRIX_SIZE) { + nextIndex = 0; + } + + // Update cursor position + st7565_cursor = &st7565_buffer[nextIndex]; +} + +// Main handler that writes character data to the display buffer +void st7565_write_char(const char data, bool invert) { + // Advance to the next line if newline + if (data == '\n') { + // Old source wrote ' ' until end of line... + st7565_advance_page(true); + return; + } + + if (data == '\r') { + st7565_advance_page(false); + return; + } + + // copy the current render buffer to check for dirty after + static uint8_t st7565_temp_buffer[ST7565_FONT_WIDTH]; + memcpy(&st7565_temp_buffer, st7565_cursor, ST7565_FONT_WIDTH); + + _Static_assert(sizeof(font) >= ((ST7565_FONT_END + 1 - ST7565_FONT_START) * ST7565_FONT_WIDTH), "ST7565_FONT_END references outside array"); + + // set the reder buffer data + uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index + if (cast_data < ST7565_FONT_START || cast_data > ST7565_FONT_END) { + memset(st7565_cursor, 0x00, ST7565_FONT_WIDTH); + } else { + const uint8_t *glyph = &font[(cast_data - ST7565_FONT_START) * ST7565_FONT_WIDTH]; + memcpy_P(st7565_cursor, glyph, ST7565_FONT_WIDTH); + } + + // Invert if needed + if (invert) { + InvertCharacter(st7565_cursor); + } + + // Dirty check + if (memcmp(&st7565_temp_buffer, st7565_cursor, ST7565_FONT_WIDTH)) { + uint16_t index = st7565_cursor - &st7565_buffer[0]; + st7565_dirty |= ((ST7565_BLOCK_TYPE)1 << (index / ST7565_BLOCK_SIZE)); + // Edgecase check if the written data spans the 2 chunks + st7565_dirty |= ((ST7565_BLOCK_TYPE)1 << ((index + ST7565_FONT_WIDTH - 1) / ST7565_BLOCK_SIZE)); + } + + // Finally move to the next char + st7565_advance_char(); +} + +void st7565_write(const char *data, bool invert) { + const char *end = data + strlen(data); + while (data < end) { + st7565_write_char(*data, invert); + data++; + } +} + +void st7565_write_ln(const char *data, bool invert) { + st7565_write(data, invert); + st7565_advance_page(true); +} + +void st7565_pan(bool left) { + uint16_t i = 0; + for (uint16_t y = 0; y < ST7565_DISPLAY_HEIGHT / 8; y++) { + if (left) { + for (uint16_t x = 0; x < ST7565_DISPLAY_WIDTH - 1; x++) { + i = y * ST7565_DISPLAY_WIDTH + x; + st7565_buffer[i] = st7565_buffer[i + 1]; + } + } else { + for (uint16_t x = ST7565_DISPLAY_WIDTH - 1; x > 0; x--) { + i = y * ST7565_DISPLAY_WIDTH + x; + st7565_buffer[i] = st7565_buffer[i - 1]; + } + } + } + st7565_dirty = ST7565_ALL_BLOCKS_MASK; +} + +display_buffer_reader_t st7565_read_raw(uint16_t start_index) { + if (start_index > ST7565_MATRIX_SIZE) start_index = ST7565_MATRIX_SIZE; + display_buffer_reader_t ret_reader; + ret_reader.current_element = &st7565_buffer[start_index]; + ret_reader.remaining_element_count = ST7565_MATRIX_SIZE - start_index; + return ret_reader; +} + +void st7565_write_raw_byte(const char data, uint16_t index) { + if (index > ST7565_MATRIX_SIZE) index = ST7565_MATRIX_SIZE; + if (st7565_buffer[index] == data) return; + st7565_buffer[index] = data; + st7565_dirty |= ((ST7565_BLOCK_TYPE)1 << (index / ST7565_BLOCK_SIZE)); +} + +void st7565_write_raw(const char *data, uint16_t size) { + uint16_t cursor_start_index = st7565_cursor - &st7565_buffer[0]; + if ((size + cursor_start_index) > ST7565_MATRIX_SIZE) size = ST7565_MATRIX_SIZE - cursor_start_index; + for (uint16_t i = cursor_start_index; i < cursor_start_index + size; i++) { + uint8_t c = *data++; + if (st7565_buffer[i] == c) continue; + st7565_buffer[i] = c; + st7565_dirty |= ((ST7565_BLOCK_TYPE)1 << (i / ST7565_BLOCK_SIZE)); + } +} + +void st7565_write_pixel(uint8_t x, uint8_t y, bool on) { + if (x >= ST7565_DISPLAY_WIDTH) { + return; + } + uint16_t index = x + (y / 8) * ST7565_DISPLAY_WIDTH; + if (index >= ST7565_MATRIX_SIZE) { + return; + } + uint8_t data = st7565_buffer[index]; + if (on) { + data |= (1 << (y % 8)); + } else { + data &= ~(1 << (y % 8)); + } + if (st7565_buffer[index] != data) { + st7565_buffer[index] = data; + st7565_dirty |= ((ST7565_BLOCK_TYPE)1 << (index / ST7565_BLOCK_SIZE)); + } +} + +#if defined(__AVR__) +void st7565_write_P(const char *data, bool invert) { + uint8_t c = pgm_read_byte(data); + while (c != 0) { + st7565_write_char(c, invert); + c = pgm_read_byte(++data); + } +} + +void st7565_write_ln_P(const char *data, bool invert) { + st7565_write_P(data, invert); + st7565_advance_page(true); +} + +void st7565_write_raw_P(const char *data, uint16_t size) { + uint16_t cursor_start_index = st7565_cursor - &st7565_buffer[0]; + if ((size + cursor_start_index) > ST7565_MATRIX_SIZE) size = ST7565_MATRIX_SIZE - cursor_start_index; + for (uint16_t i = cursor_start_index; i < cursor_start_index + size; i++) { + uint8_t c = pgm_read_byte(data++); + if (st7565_buffer[i] == c) continue; + st7565_buffer[i] = c; + st7565_dirty |= ((ST7565_BLOCK_TYPE)1 << (i / ST7565_BLOCK_SIZE)); + } +} +#endif // defined(__AVR__) + +bool st7565_on(void) { + if (!st7565_initialized) { + return st7565_active; + } + +#if ST7565_TIMEOUT > 0 + st7565_timeout = timer_read32() + ST7565_TIMEOUT; +#endif + + if (!st7565_active) { + spi_start(ST7565_SS_PIN, false, 0, ST7565_SPI_CLK_DIVISOR); + st7565_send_cmd(DISPLAY_ON); + spi_stop(); + st7565_active = true; + st7565_on_user(); + } + return st7565_active; +} + +__attribute__((weak)) void st7565_on_user(void) {} + +bool st7565_off(void) { + if (!st7565_initialized) { + return !st7565_active; + } + + if (st7565_active) { + spi_start(ST7565_SS_PIN, false, 0, ST7565_SPI_CLK_DIVISOR); + st7565_send_cmd(DISPLAY_OFF); + spi_stop(); + st7565_active = false; + st7565_off_user(); + } + return !st7565_active; +} + +__attribute__((weak)) void st7565_off_user(void) {} + +bool st7565_is_on(void) { return st7565_active; } + +bool st7565_invert(bool invert) { + if (!st7565_initialized) { + return st7565_inverted; + } + + if (invert != st7565_inverted) { + spi_start(ST7565_SS_PIN, false, 0, ST7565_SPI_CLK_DIVISOR); + st7565_send_cmd(invert ? INVERT_DISPLAY : NORMAL_DISPLAY); + spi_stop(); + st7565_inverted = invert; + } + return st7565_inverted; +} + +uint8_t st7565_max_chars(void) { return ST7565_DISPLAY_WIDTH / ST7565_FONT_WIDTH; } + +uint8_t st7565_max_lines(void) { return ST7565_DISPLAY_HEIGHT / ST7565_FONT_HEIGHT; } + +void st7565_task(void) { + if (!st7565_initialized) { + return; + } + +#if ST7565_UPDATE_INTERVAL > 0 + if (timer_elapsed(st7565_update_timeout) >= ST7565_UPDATE_INTERVAL) { + st7565_update_timeout = timer_read(); + st7565_set_cursor(0, 0); + st7565_task_user(); + } +#else + st7565_set_cursor(0, 0); + st7565_task_user(); +#endif + + // Smart render system, no need to check for dirty + st7565_render(); + + // Display timeout check +#if ST7565_TIMEOUT > 0 + if (st7565_active && timer_expired32(timer_read32(), st7565_timeout)) { + st7565_off(); + } +#endif +} + +__attribute__((weak)) void st7565_task_user(void) {} + +void st7565_reset(void) { + writePinLow(ST7565_RST_PIN); + wait_ms(20); + writePinHigh(ST7565_RST_PIN); + wait_ms(20); +} + +spi_status_t st7565_send_cmd(uint8_t cmd) { + writePinLow(ST7565_A0_PIN); + return spi_write(cmd); +} + +spi_status_t st7565_send_data(uint8_t *data, uint16_t length) { + writePinHigh(ST7565_A0_PIN); + return spi_transmit(data, length); +} diff --git a/drivers/lcd/st7565.h b/drivers/lcd/st7565.h new file mode 100644 index 000000000000..d453dbe6da90 --- /dev/null +++ b/drivers/lcd/st7565.h @@ -0,0 +1,219 @@ +/* +Copyright 2021 + +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 +#include + +#include "spi_master.h" + +#ifndef ST7565_DISPLAY_WIDTH +# define ST7565_DISPLAY_WIDTH 128 +#endif +#ifndef ST7565_DISPLAY_HEIGHT +# define ST7565_DISPLAY_HEIGHT 32 +#endif +#ifndef ST7565_MATRIX_SIZE +# define ST7565_MATRIX_SIZE (ST7565_DISPLAY_HEIGHT / 8 * ST7565_DISPLAY_WIDTH) // 1024 (compile time mathed) +#endif +#ifndef ST7565_BLOCK_TYPE +# define ST7565_BLOCK_TYPE uint16_t +#endif +#ifndef ST7565_BLOCK_COUNT +# define ST7565_BLOCK_COUNT (sizeof(ST7565_BLOCK_TYPE) * 8) // 32 (compile time mathed) +#endif +#ifndef ST7565_BLOCK_SIZE +# define ST7565_BLOCK_SIZE (ST7565_MATRIX_SIZE / ST7565_BLOCK_COUNT) // 32 (compile time mathed) +#endif + +// the column address corresponding to the first column in the display hardware +#if !defined(ST7565_COLUMN_OFFSET) +# define ST7565_COLUMN_OFFSET 0 +#endif + +// spi clock divisor +#if !defined(ST7565_SPI_CLK_DIVISOR) +# define ST7565_SPI_CLK_DIVISOR 4 +#endif + +// Custom font file to use +#if !defined(ST7565_FONT_H) +# define ST7565_FONT_H "glcdfont.c" +#endif +// unsigned char value of the first character in the font file +#if !defined(ST7565_FONT_START) +# define ST7565_FONT_START 0 +#endif +// unsigned char value of the last character in the font file +#if !defined(ST7565_FONT_END) +# define ST7565_FONT_END 223 +#endif +// Font render width +#if !defined(ST7565_FONT_WIDTH) +# define ST7565_FONT_WIDTH 6 +#endif +// Font render height +#if !defined(ST7565_FONT_HEIGHT) +# define ST7565_FONT_HEIGHT 8 +#endif +// Default contrast level +#if !defined(ST7565_CONTRAST) +# define ST7565_CONTRAST 32 +#endif + +#if !defined(ST7565_TIMEOUT) +# if defined(ST7565_DISABLE_TIMEOUT) +# define ST7565_TIMEOUT 0 +# else +# define ST7565_TIMEOUT 60000 +# endif +#endif + +#if !defined(ST7565_UPDATE_INTERVAL) && defined(SPLIT_KEYBOARD) +# define ST7565_UPDATE_INTERVAL 50 +#endif + +typedef struct __attribute__((__packed__)) { + uint8_t *current_element; + uint16_t remaining_element_count; +} display_buffer_reader_t; + +// Rotation enum values are flags +typedef enum { DISPLAY_ROTATION_0, DISPLAY_ROTATION_180 } display_rotation_t; + +// Initialize the display, rotating the rendered output based on the define passed in. +// Returns true if the display was initialized successfully +bool st7565_init(display_rotation_t rotation); + +// Called at the start of st7565_init, weak function overridable by the user +// rotation - the value passed into st7565_init +// Return new display_rotation_t if you want to override default rotation +display_rotation_t st7565_init_user(display_rotation_t rotation); + +// Clears the display buffer, resets cursor position to 0, and sets the buffer to dirty for rendering +void st7565_clear(void); + +// Renders the dirty chunks of the buffer to display +void st7565_render(void); + +// Moves cursor to character position indicated by column and line, wraps if out of bounds +// Max column denoted by 'st7565_max_chars()' and max lines by 'st7565_max_lines()' functions +void st7565_set_cursor(uint8_t col, uint8_t line); + +// Advances the cursor to the next page, writing ' ' if true +// Wraps to the begining when out of bounds +void st7565_advance_page(bool clearPageRemainder); + +// Moves the cursor forward 1 character length +// Advance page if there is not enough room for the next character +// Wraps to the begining when out of bounds +void st7565_advance_char(void); + +// Writes a single character to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +// Main handler that writes character data to the display buffer +void st7565_write_char(const char data, bool invert); + +// Writes a string to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +void st7565_write(const char *data, bool invert); + +// Writes a string to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +// Advances the cursor to the next page, wiring ' ' to the remainder of the current page +void st7565_write_ln(const char *data, bool invert); + +// Pans the buffer to the right (or left by passing true) by moving contents of the buffer +// Useful for moving the screen in preparation for new drawing +void st7565_pan(bool left); + +// Returns a pointer to the requested start index in the buffer plus remaining +// buffer length as struct +display_buffer_reader_t st7565_read_raw(uint16_t start_index); + +// Writes a string to the buffer at current cursor position +void st7565_write_raw(const char *data, uint16_t size); + +// Writes a single byte into the buffer at the specified index +void st7565_write_raw_byte(const char data, uint16_t index); + +// Sets a specific pixel on or off +// Coordinates start at top-left and go right and down for positive x and y +void st7565_write_pixel(uint8_t x, uint8_t y, bool on); + +#if defined(__AVR__) +// Writes a PROGMEM string to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +// Remapped to call 'void st7565_write(const char *data, bool invert);' on ARM +void st7565_write_P(const char *data, bool invert); + +// Writes a PROGMEM string to the buffer at current cursor position +// Advances the cursor while writing, inverts the pixels if true +// Advances the cursor to the next page, wiring ' ' to the remainder of the current page +// Remapped to call 'void st7565_write_ln(const char *data, bool invert);' on ARM +void st7565_write_ln_P(const char *data, bool invert); + +// Writes a PROGMEM string to the buffer at current cursor position +void st7565_write_raw_P(const char *data, uint16_t size); +#else +# define st7565_write_P(data, invert) st7565_write(data, invert) +# define st7565_write_ln_P(data, invert) st7565_write_ln(data, invert) +# define st7565_write_raw_P(data, size) st7565_write_raw(data, size) +#endif // defined(__AVR__) + +// Can be used to manually turn on the screen if it is off +// Returns true if the screen was on or turns on +bool st7565_on(void); + +// Called when st7565_on() turns on the screen, weak function overridable by the user +// Not called if the screen is already on +void st7565_on_user(void); + +// Can be used to manually turn off the screen if it is on +// Returns true if the screen was off or turns off +bool st7565_off(void); + +// Called when st7565_off() turns off the screen, weak function overridable by the user +// Not called if the screen is already off +void st7565_off_user(void); + +// Returns true if the screen is currently on, false if it is +// not +bool st7565_is_on(void); + +// Basically it's st7565_render, but with timeout management and st7565_task_user calling! +void st7565_task(void); + +// Called at the start of st7565_task, weak function overridable by the user +void st7565_task_user(void); + +// Inverts the display +// Returns true if the screen was or is inverted +bool st7565_invert(bool invert); + +// Returns the maximum number of characters that will fit on a line +uint8_t st7565_max_chars(void); + +// Returns the maximum number of lines that will fit on the display +uint8_t st7565_max_lines(void); + +void st7565_reset(void); + +spi_status_t st7565_send_cmd(uint8_t cmd); + +spi_status_t st7565_send_data(uint8_t *data, uint16_t length); diff --git a/drivers/apa102/apa102.c b/drivers/led/apa102.c similarity index 100% rename from drivers/apa102/apa102.c rename to drivers/led/apa102.c diff --git a/drivers/apa102/apa102.h b/drivers/led/apa102.h similarity index 100% rename from drivers/apa102/apa102.h rename to drivers/led/apa102.h diff --git a/drivers/led/aw20216.c b/drivers/led/aw20216.c new file mode 100644 index 000000000000..c608c0ab446b --- /dev/null +++ b/drivers/led/aw20216.c @@ -0,0 +1,141 @@ +/* Copyright 2021 Jasper Chan + * + * 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 "aw20216.h" +#include "spi_master.h" + +/* The AW20216 appears to be somewhat similar to the IS31FL743, although quite + * a few things are different, such as the command byte format and page ordering. + * The LED addresses start from 0x00 instead of 0x01. + */ +#define AWINIC_ID 0b1010 << 4 + +#define AW_PAGE_FUNCTION 0x00 << 1 // PG0, Function registers +#define AW_PAGE_PWM 0x01 << 1 // PG1, LED PWM control +#define AW_PAGE_SCALING 0x02 << 1 // PG2, LED current scaling control +#define AW_PAGE_PATCHOICE 0x03 << 1 // PG3, Pattern choice? +#define AW_PAGE_PWMSCALING 0x04 << 1 // PG4, LED PWM + Scaling control? + +#define AW_WRITE 0 +#define AW_READ 1 + +#define AW_REG_CONFIGURATION 0x00 // PG0 +#define AW_REG_GLOBALCURRENT 0x01 // PG0 + +// Default value of AW_REG_CONFIGURATION +// D7:D4 = 1011, SWSEL (SW1~SW12 active) +// D3 = 0?, reserved (apparently this should be 1 but it doesn't seem to matter) +// D2:D1 = 00, OSDE (open/short detection enable) +// D0 = 0, CHIPEN (write 1 to enable LEDs when hardware enable pulled high) +#define AW_CONFIG_DEFAULT 0b10110000 +#define AW_CHIPEN 1 + +#define AW_PWM_REGISTER_COUNT 216 + +#ifndef AW_SCALING_MAX +# define AW_SCALING_MAX 150 +#endif + +#ifndef AW_GLOBAL_CURRENT_MAX +# define AW_GLOBAL_CURRENT_MAX 150 +#endif + +#ifndef AW_SPI_DIVISOR +# define AW_SPI_DIVISOR 4 +#endif + +uint8_t g_pwm_buffer[DRIVER_COUNT][AW_PWM_REGISTER_COUNT]; +bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; + +bool AW20216_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8_t len) { + static uint8_t s_spi_transfer_buffer[2] = {0}; + + if (!spi_start(cs_pin, false, 0, AW_SPI_DIVISOR)) { + spi_stop(); + return false; + } + + s_spi_transfer_buffer[0] = (AWINIC_ID | page | AW_WRITE); + s_spi_transfer_buffer[1] = reg; + + if (spi_transmit(s_spi_transfer_buffer, 2) != SPI_STATUS_SUCCESS) { + spi_stop(); + return false; + } + + if (spi_transmit(data, len) != SPI_STATUS_SUCCESS) { + spi_stop(); + return false; + } + + spi_stop(); + return true; +} + +static inline bool AW20216_write_register(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t value) { + // Little wrapper so callers need not care about sending a buffer + return AW20216_write(cs_pin, page, reg, &value, 1); +} + +static void AW20216_init_scaling(pin_t cs_pin) { + // Set constant current to the max, control brightness with PWM + for (uint8_t i = 0; i < AW_PWM_REGISTER_COUNT; i++) { + AW20216_write_register(cs_pin, AW_PAGE_SCALING, i, AW_SCALING_MAX); + } +} + +static inline void AW20216_init_current_limit(pin_t cs_pin) { + // Push config + AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_GLOBALCURRENT, AW_GLOBAL_CURRENT_MAX); +} + +static inline void AW20216_soft_enable(pin_t cs_pin) { + // Push config + AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_CONFIGURATION, AW_CONFIG_DEFAULT | AW_CHIPEN); +} + +void AW20216_init(pin_t cs_pin, pin_t en_pin) { + setPinOutput(en_pin); + writePinHigh(en_pin); + + // Drivers should start with all scaling and PWM registers as off + AW20216_init_current_limit(cs_pin); + AW20216_init_scaling(cs_pin); + + AW20216_soft_enable(cs_pin); +} + +void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { + aw_led led = g_aw_leds[index]; + + g_pwm_buffer[led.driver][led.r] = red; + g_pwm_buffer[led.driver][led.g] = green; + g_pwm_buffer[led.driver][led.b] = blue; + g_pwm_buffer_update_required[led.driver] = true; +} + +void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { + for (uint8_t i = 0; i < DRIVER_LED_TOTAL; i++) { + AW20216_set_color(i, red, green, blue); + } +} + +void AW20216_update_pwm_buffers(pin_t cs_pin, uint8_t index) { + if (g_pwm_buffer_update_required[index]) { + AW20216_write(cs_pin, AW_PAGE_PWM, 0, g_pwm_buffer[index], AW_PWM_REGISTER_COUNT); + } + g_pwm_buffer_update_required[index] = false; +} diff --git a/drivers/led/aw20216.h b/drivers/led/aw20216.h new file mode 100644 index 000000000000..97ac6dc5bf01 --- /dev/null +++ b/drivers/led/aw20216.h @@ -0,0 +1,253 @@ +/* Copyright 2021 Jasper Chan (Gigahawk) + * + * 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 +#include +#include "progmem.h" +#include "gpio.h" + +typedef struct aw_led { + uint8_t driver : 2; + uint8_t r; + uint8_t g; + uint8_t b; +} aw_led; + +extern const aw_led __flash g_aw_leds[DRIVER_LED_TOTAL]; + +void AW20216_init(pin_t cs_pin, pin_t en_pin); +void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); +void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue); +void AW20216_update_pwm_buffers(pin_t cs_pin, uint8_t index); + +#define CS1_SW1 0x00 +#define CS2_SW1 0x01 +#define CS3_SW1 0x02 +#define CS4_SW1 0x03 +#define CS5_SW1 0x04 +#define CS6_SW1 0x05 +#define CS7_SW1 0x06 +#define CS8_SW1 0x07 +#define CS9_SW1 0x08 +#define CS10_SW1 0x09 +#define CS11_SW1 0x0A +#define CS12_SW1 0x0B +#define CS13_SW1 0x0C +#define CS14_SW1 0x0D +#define CS15_SW1 0x0E +#define CS16_SW1 0x0F +#define CS17_SW1 0x10 +#define CS18_SW1 0x11 +#define CS1_SW2 0x12 +#define CS2_SW2 0x13 +#define CS3_SW2 0x14 +#define CS4_SW2 0x15 +#define CS5_SW2 0x16 +#define CS6_SW2 0x17 +#define CS7_SW2 0x18 +#define CS8_SW2 0x19 +#define CS9_SW2 0x1A +#define CS10_SW2 0x1B +#define CS11_SW2 0x1C +#define CS12_SW2 0x1D +#define CS13_SW2 0x1E +#define CS14_SW2 0x1F +#define CS15_SW2 0x20 +#define CS16_SW2 0x21 +#define CS17_SW2 0x22 +#define CS18_SW2 0x23 +#define CS1_SW3 0x24 +#define CS2_SW3 0x25 +#define CS3_SW3 0x26 +#define CS4_SW3 0x27 +#define CS5_SW3 0x28 +#define CS6_SW3 0x29 +#define CS7_SW3 0x2A +#define CS8_SW3 0x2B +#define CS9_SW3 0x2C +#define CS10_SW3 0x2D +#define CS11_SW3 0x2E +#define CS12_SW3 0x2F +#define CS13_SW3 0x30 +#define CS14_SW3 0x31 +#define CS15_SW3 0x32 +#define CS16_SW3 0x33 +#define CS17_SW3 0x34 +#define CS18_SW3 0x35 +#define CS1_SW4 0x36 +#define CS2_SW4 0x37 +#define CS3_SW4 0x38 +#define CS4_SW4 0x39 +#define CS5_SW4 0x3A +#define CS6_SW4 0x3B +#define CS7_SW4 0x3C +#define CS8_SW4 0x3D +#define CS9_SW4 0x3E +#define CS10_SW4 0x3F +#define CS11_SW4 0x40 +#define CS12_SW4 0x41 +#define CS13_SW4 0x42 +#define CS14_SW4 0x43 +#define CS15_SW4 0x44 +#define CS16_SW4 0x45 +#define CS17_SW4 0x46 +#define CS18_SW4 0x47 +#define CS1_SW5 0x48 +#define CS2_SW5 0x49 +#define CS3_SW5 0x4A +#define CS4_SW5 0x4B +#define CS5_SW5 0x4C +#define CS6_SW5 0x4D +#define CS7_SW5 0x4E +#define CS8_SW5 0x4F +#define CS9_SW5 0x50 +#define CS10_SW5 0x51 +#define CS11_SW5 0x52 +#define CS12_SW5 0x53 +#define CS13_SW5 0x54 +#define CS14_SW5 0x55 +#define CS15_SW5 0x56 +#define CS16_SW5 0x57 +#define CS17_SW5 0x58 +#define CS18_SW5 0x59 +#define CS1_SW6 0x5A +#define CS2_SW6 0x5B +#define CS3_SW6 0x5C +#define CS4_SW6 0x5D +#define CS5_SW6 0x5E +#define CS6_SW6 0x5F +#define CS7_SW6 0x60 +#define CS8_SW6 0x61 +#define CS9_SW6 0x62 +#define CS10_SW6 0x63 +#define CS11_SW6 0x64 +#define CS12_SW6 0x65 +#define CS13_SW6 0x66 +#define CS14_SW6 0x67 +#define CS15_SW6 0x68 +#define CS16_SW6 0x69 +#define CS17_SW6 0x6A +#define CS18_SW6 0x6B +#define CS1_SW7 0x6C +#define CS2_SW7 0x6D +#define CS3_SW7 0x6E +#define CS4_SW7 0x6F +#define CS5_SW7 0x70 +#define CS6_SW7 0x71 +#define CS7_SW7 0x72 +#define CS8_SW7 0x73 +#define CS9_SW7 0x74 +#define CS10_SW7 0x75 +#define CS11_SW7 0x76 +#define CS12_SW7 0x77 +#define CS13_SW7 0x78 +#define CS14_SW7 0x79 +#define CS15_SW7 0x7A +#define CS16_SW7 0x7B +#define CS17_SW7 0x7C +#define CS18_SW7 0x7D +#define CS1_SW8 0x7E +#define CS2_SW8 0x7F +#define CS3_SW8 0x80 +#define CS4_SW8 0x81 +#define CS5_SW8 0x82 +#define CS6_SW8 0x83 +#define CS7_SW8 0x84 +#define CS8_SW8 0x85 +#define CS9_SW8 0x86 +#define CS10_SW8 0x87 +#define CS11_SW8 0x88 +#define CS12_SW8 0x89 +#define CS13_SW8 0x8A +#define CS14_SW8 0x8B +#define CS15_SW8 0x8C +#define CS16_SW8 0x8D +#define CS17_SW8 0x8E +#define CS18_SW8 0x8F +#define CS1_SW9 0x90 +#define CS2_SW9 0x91 +#define CS3_SW9 0x92 +#define CS4_SW9 0x93 +#define CS5_SW9 0x94 +#define CS6_SW9 0x95 +#define CS7_SW9 0x96 +#define CS8_SW9 0x97 +#define CS9_SW9 0x98 +#define CS10_SW9 0x99 +#define CS11_SW9 0x9A +#define CS12_SW9 0x9B +#define CS13_SW9 0x9C +#define CS14_SW9 0x9D +#define CS15_SW9 0x9E +#define CS16_SW9 0x9F +#define CS17_SW9 0xA0 +#define CS18_SW9 0xA1 +#define CS1_SW10 0xA2 +#define CS2_SW10 0xA3 +#define CS3_SW10 0xA4 +#define CS4_SW10 0xA5 +#define CS5_SW10 0xA6 +#define CS6_SW10 0xA7 +#define CS7_SW10 0xA8 +#define CS8_SW10 0xA9 +#define CS9_SW10 0xAA +#define CS10_SW10 0xAB +#define CS11_SW10 0xAC +#define CS12_SW10 0xAD +#define CS13_SW10 0xAE +#define CS14_SW10 0xAF +#define CS15_SW10 0xB0 +#define CS16_SW10 0xB1 +#define CS17_SW10 0xB2 +#define CS18_SW10 0xB3 +#define CS1_SW11 0xB4 +#define CS2_SW11 0xB5 +#define CS3_SW11 0xB6 +#define CS4_SW11 0xB7 +#define CS5_SW11 0xB8 +#define CS6_SW11 0xB9 +#define CS7_SW11 0xBA +#define CS8_SW11 0xBB +#define CS9_SW11 0xBC +#define CS10_SW11 0xBD +#define CS11_SW11 0xBE +#define CS12_SW11 0xBF +#define CS13_SW11 0xC0 +#define CS14_SW11 0xC1 +#define CS15_SW11 0xC2 +#define CS16_SW11 0xC3 +#define CS17_SW11 0xC4 +#define CS18_SW11 0xC5 +#define CS1_SW12 0xC6 +#define CS2_SW12 0xC7 +#define CS3_SW12 0xC8 +#define CS4_SW12 0xC9 +#define CS5_SW12 0xCA +#define CS6_SW12 0xCB +#define CS7_SW12 0xCC +#define CS8_SW12 0xCD +#define CS9_SW12 0xCE +#define CS10_SW12 0xCF +#define CS11_SW12 0xD0 +#define CS12_SW12 0xD1 +#define CS13_SW12 0xD2 +#define CS14_SW12 0xD3 +#define CS15_SW12 0xD4 +#define CS16_SW12 0xD5 +#define CS17_SW12 0xD6 +#define CS18_SW12 0xD7 diff --git a/drivers/issi/is31fl3218.c b/drivers/led/issi/is31fl3218.c similarity index 100% rename from drivers/issi/is31fl3218.c rename to drivers/led/issi/is31fl3218.c diff --git a/drivers/issi/is31fl3218.h b/drivers/led/issi/is31fl3218.h similarity index 100% rename from drivers/issi/is31fl3218.h rename to drivers/led/issi/is31fl3218.h diff --git a/drivers/issi/is31fl3731-simple.c b/drivers/led/issi/is31fl3731-simple.c similarity index 100% rename from drivers/issi/is31fl3731-simple.c rename to drivers/led/issi/is31fl3731-simple.c diff --git a/drivers/issi/is31fl3731-simple.h b/drivers/led/issi/is31fl3731-simple.h similarity index 98% rename from drivers/issi/is31fl3731-simple.h rename to drivers/led/issi/is31fl3731-simple.h index 9665d6ed3538..ecde31eed5ed 100644 --- a/drivers/issi/is31fl3731-simple.h +++ b/drivers/led/issi/is31fl3731-simple.h @@ -20,13 +20,14 @@ #include #include +#include "progmem.h" typedef struct is31_led { uint8_t driver : 2; uint8_t v; } __attribute__((packed)) is31_led; -extern const is31_led g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; void IS31FL3731_init(uint8_t addr); void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c similarity index 100% rename from drivers/issi/is31fl3731.c rename to drivers/led/issi/is31fl3731.c diff --git a/drivers/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h similarity index 98% rename from drivers/issi/is31fl3731.h rename to drivers/led/issi/is31fl3731.h index 19e8e6251f80..803ea3ea12fd 100644 --- a/drivers/issi/is31fl3731.h +++ b/drivers/led/issi/is31fl3731.h @@ -19,6 +19,7 @@ #include #include +#include "progmem.h" typedef struct is31_led { uint8_t driver : 2; @@ -27,7 +28,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; void IS31FL3731_init(uint8_t addr); void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c similarity index 99% rename from drivers/issi/is31fl3733.c rename to drivers/led/issi/is31fl3733.c index dddf0cb73480..d99e5339c912 100644 --- a/drivers/issi/is31fl3733.c +++ b/drivers/led/issi/is31fl3733.c @@ -68,7 +68,7 @@ uint8_t g_twi_transfer_buffer[20]; uint8_t g_pwm_buffer[DRIVER_COUNT][192]; bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; -uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}}; +uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { diff --git a/drivers/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h similarity index 98% rename from drivers/issi/is31fl3733.h rename to drivers/led/issi/is31fl3733.h index 603d505a136d..64fd38eb191f 100644 --- a/drivers/issi/is31fl3733.h +++ b/drivers/led/issi/is31fl3733.h @@ -20,6 +20,7 @@ #include #include +#include "progmem.h" typedef struct is31_led { uint8_t driver : 2; @@ -28,7 +29,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; void IS31FL3733_init(uint8_t addr, uint8_t sync); bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c similarity index 100% rename from drivers/issi/is31fl3736.c rename to drivers/led/issi/is31fl3736.c diff --git a/drivers/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h similarity index 97% rename from drivers/issi/is31fl3736.h rename to drivers/led/issi/is31fl3736.h index e48e31c27917..c956c87f7c15 100644 --- a/drivers/issi/is31fl3736.h +++ b/drivers/led/issi/is31fl3736.h @@ -18,6 +18,7 @@ #include #include +#include "progmem.h" // Simple interface option. // If these aren't defined, just define them to make it compile @@ -37,7 +38,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; void IS31FL3736_init(uint8_t addr); void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c similarity index 83% rename from drivers/issi/is31fl3737.c rename to drivers/led/issi/is31fl3737.c index 8647c93cc114..0bb4ddd4252b 100644 --- a/drivers/issi/is31fl3737.c +++ b/drivers/led/issi/is31fl3737.c @@ -65,11 +65,12 @@ uint8_t g_twi_transfer_buffer[20]; // We could optimize this and take out the unused registers from these // buffers and the transfers in IS31FL3737_write_pwm_buffer() but it's // probably not worth the extra complexity. + uint8_t g_pwm_buffer[DRIVER_COUNT][192]; -bool g_pwm_buffer_update_required = false; +bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; -uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}}; -bool g_led_control_registers_update_required = false; +uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; +bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) { g_twi_transfer_buffer[0] = reg; @@ -155,10 +156,10 @@ void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { if (index >= 0 && index < DRIVER_LED_TOTAL) { is31_led led = g_is31_leds[index]; - g_pwm_buffer[led.driver][led.r] = red; - g_pwm_buffer[led.driver][led.g] = green; - g_pwm_buffer[led.driver][led.b] = blue; - g_pwm_buffer_update_required = true; + g_pwm_buffer[led.driver][led.r] = red; + g_pwm_buffer[led.driver][led.g] = green; + g_pwm_buffer[led.driver][led.b] = blue; + g_pwm_buffer_update_required[led.driver] = true; } } @@ -194,30 +195,28 @@ void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bo g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b); } - g_led_control_registers_update_required = true; + g_led_control_registers_update_required[led.driver] = true; } -void IS31FL3737_update_pwm_buffers(uint8_t addr1, uint8_t addr2) { - if (g_pwm_buffer_update_required) { +void IS31FL3737_update_pwm_buffers(uint8_t addr, uint8_t index) { + if (g_pwm_buffer_update_required[index]) { // Firstly we need to unlock the command register and select PG1 - IS31FL3737_write_register(addr1, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3737_write_register(addr1, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); + IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); - IS31FL3737_write_pwm_buffer(addr1, g_pwm_buffer[0]); - // IS31FL3737_write_pwm_buffer(addr2, g_pwm_buffer[1]); + IS31FL3737_write_pwm_buffer(addr, g_pwm_buffer[index]); } - g_pwm_buffer_update_required = false; + g_pwm_buffer_update_required[index] = false; } -void IS31FL3737_update_led_control_registers(uint8_t addr1, uint8_t addr2) { - if (g_led_control_registers_update_required) { +void IS31FL3737_update_led_control_registers(uint8_t addr, uint8_t index) { + if (g_led_control_registers_update_required[index]) { // Firstly we need to unlock the command register and select PG0 - IS31FL3737_write_register(addr1, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); - IS31FL3737_write_register(addr1, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); + IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); + IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); for (int i = 0; i < 24; i++) { - IS31FL3737_write_register(addr1, i, g_led_control_registers[0][i]); - // IS31FL3737_write_register(addr2, i, g_led_control_registers[1][i]); + IS31FL3737_write_register(addr, i, g_led_control_registers[index][i]); } - g_led_control_registers_update_required = false; } + g_led_control_registers_update_required[index] = false; } diff --git a/drivers/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h similarity index 98% rename from drivers/issi/is31fl3737.h rename to drivers/led/issi/is31fl3737.h index a1d228177879..06886e9c9b0b 100644 --- a/drivers/issi/is31fl3737.h +++ b/drivers/led/issi/is31fl3737.h @@ -20,6 +20,7 @@ #include #include +#include "progmem.h" typedef struct is31_led { uint8_t driver : 2; @@ -28,7 +29,7 @@ typedef struct is31_led { uint8_t b; } __attribute__((packed)) is31_led; -extern const is31_led g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; void IS31FL3737_init(uint8_t addr); void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c similarity index 100% rename from drivers/issi/is31fl3741.c rename to drivers/led/issi/is31fl3741.c diff --git a/drivers/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h similarity index 99% rename from drivers/issi/is31fl3741.h rename to drivers/led/issi/is31fl3741.h index 2df0c5b1a71e..cea6761ca882 100644 --- a/drivers/issi/is31fl3741.h +++ b/drivers/led/issi/is31fl3741.h @@ -21,6 +21,7 @@ #include #include +#include "progmem.h" typedef struct is31_led { uint32_t driver : 2; @@ -29,7 +30,7 @@ typedef struct is31_led { uint32_t b : 10; } __attribute__((packed)) is31_led; -extern const is31_led g_is31_leds[DRIVER_LED_TOTAL]; +extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL]; void IS31FL3741_init(uint8_t addr); void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); diff --git a/drivers/oled/glcdfont.c b/drivers/oled/glcdfont.c index de5896018986..0e201d71eefe 100644 --- a/drivers/oled/glcdfont.c +++ b/drivers/oled/glcdfont.c @@ -4,7 +4,7 @@ // Online editor: http://teripom.x0.com/ static const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x07, 0x08, 0x7F, 0x08, 0x07, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, diff --git a/drivers/oled/oled_driver.c b/drivers/oled/oled_driver.c deleted file mode 100644 index 92c64399e291..000000000000 --- a/drivers/oled/oled_driver.c +++ /dev/null @@ -1,725 +0,0 @@ -/* -Copyright 2019 Ryan Caltabiano - -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 "i2c_master.h" -#include "oled_driver.h" -#include OLED_FONT_H -#include "timer.h" -#include "print.h" - -#include - -#include "progmem.h" - -// Used commands from spec sheet: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf -// for SH1106: https://www.velleman.eu/downloads/29/infosheets/sh1106_datasheet.pdf - -// Fundamental Commands -#define CONTRAST 0x81 -#define DISPLAY_ALL_ON 0xA5 -#define DISPLAY_ALL_ON_RESUME 0xA4 -#define NORMAL_DISPLAY 0xA6 -#define DISPLAY_ON 0xAF -#define DISPLAY_OFF 0xAE -#define NOP 0xE3 - -// Scrolling Commands -#define ACTIVATE_SCROLL 0x2F -#define DEACTIVATE_SCROLL 0x2E -#define SCROLL_RIGHT 0x26 -#define SCROLL_LEFT 0x27 -#define SCROLL_RIGHT_UP 0x29 -#define SCROLL_LEFT_UP 0x2A - -// Addressing Setting Commands -#define MEMORY_MODE 0x20 -#define COLUMN_ADDR 0x21 -#define PAGE_ADDR 0x22 -#define PAM_SETCOLUMN_LSB 0x00 -#define PAM_SETCOLUMN_MSB 0x10 -#define PAM_PAGE_ADDR 0xB0 // 0xb0 -- 0xb7 - -// Hardware Configuration Commands -#define DISPLAY_START_LINE 0x40 -#define SEGMENT_REMAP 0xA0 -#define SEGMENT_REMAP_INV 0xA1 -#define MULTIPLEX_RATIO 0xA8 -#define COM_SCAN_INC 0xC0 -#define COM_SCAN_DEC 0xC8 -#define DISPLAY_OFFSET 0xD3 -#define COM_PINS 0xDA -#define COM_PINS_SEQ 0x02 -#define COM_PINS_ALT 0x12 -#define COM_PINS_SEQ_LR 0x22 -#define COM_PINS_ALT_LR 0x32 - -// Timing & Driving Commands -#define DISPLAY_CLOCK 0xD5 -#define PRE_CHARGE_PERIOD 0xD9 -#define VCOM_DETECT 0xDB - -// Charge Pump Commands -#define CHARGE_PUMP 0x8D - -// Misc defines -#ifndef OLED_BLOCK_COUNT -# define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8) -#endif -#ifndef OLED_BLOCK_SIZE -# define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT) -#endif - -#define OLED_ALL_BLOCKS_MASK (((((OLED_BLOCK_TYPE)1 << (OLED_BLOCK_COUNT - 1)) - 1) << 1) | 1) - -// i2c defines -#define I2C_CMD 0x00 -#define I2C_DATA 0x40 -#if defined(__AVR__) -# define I2C_TRANSMIT_P(data) i2c_transmit_P((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) -#else // defined(__AVR__) -# define I2C_TRANSMIT_P(data) i2c_transmit((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) -#endif // defined(__AVR__) -#define I2C_TRANSMIT(data) i2c_transmit((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) -#define I2C_WRITE_REG(mode, data, size) i2c_writeReg((OLED_DISPLAY_ADDRESS << 1), mode, data, size, OLED_I2C_TIMEOUT) - -#define HAS_FLAGS(bits, flags) ((bits & flags) == flags) - -// Display buffer's is the same as the OLED memory layout -// this is so we don't end up with rounding errors with -// parts of the display unusable or don't get cleared correctly -// and also allows for drawing & inverting -uint8_t oled_buffer[OLED_MATRIX_SIZE]; -uint8_t * oled_cursor; -OLED_BLOCK_TYPE oled_dirty = 0; -bool oled_initialized = false; -bool oled_active = false; -bool oled_scrolling = false; -uint8_t oled_brightness = OLED_BRIGHTNESS; -uint8_t oled_rotation = 0; -uint8_t oled_rotation_width = 0; -uint8_t oled_scroll_speed = 0; // this holds the speed after being remapped to ssd1306 internal values -uint8_t oled_scroll_start = 0; -uint8_t oled_scroll_end = 7; -#if OLED_TIMEOUT > 0 -uint32_t oled_timeout; -#endif -#if OLED_SCROLL_TIMEOUT > 0 -uint32_t oled_scroll_timeout; -#endif -#if OLED_UPDATE_INTERVAL > 0 -uint16_t oled_update_timeout; -#endif - -// Internal variables to reduce math instructions - -#if defined(__AVR__) -// identical to i2c_transmit, but for PROGMEM since all initialization is in PROGMEM arrays currently -// probably should move this into i2c_master... -static i2c_status_t i2c_transmit_P(uint8_t address, const uint8_t *data, uint16_t length, uint16_t timeout) { - i2c_status_t status = i2c_start(address | I2C_WRITE, timeout); - - for (uint16_t i = 0; i < length && status >= 0; i++) { - status = i2c_write(pgm_read_byte((const char *)data++), timeout); - if (status) break; - } - - i2c_stop(); - - return status; -} -#endif - -// Flips the rendering bits for a character at the current cursor position -static void InvertCharacter(uint8_t *cursor) { - const uint8_t *end = cursor + OLED_FONT_WIDTH; - while (cursor < end) { - *cursor = ~(*cursor); - cursor++; - } -} - -bool oled_init(uint8_t rotation) { - oled_rotation = oled_init_user(rotation); - if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { - oled_rotation_width = OLED_DISPLAY_WIDTH; - } else { - oled_rotation_width = OLED_DISPLAY_HEIGHT; - } - i2c_init(); - - static const uint8_t PROGMEM display_setup1[] = { - I2C_CMD, - DISPLAY_OFF, - DISPLAY_CLOCK, - 0x80, - MULTIPLEX_RATIO, - OLED_DISPLAY_HEIGHT - 1, - DISPLAY_OFFSET, - 0x00, - DISPLAY_START_LINE | 0x00, - CHARGE_PUMP, - 0x14, -#if (OLED_IC != OLED_IC_SH1106) - // MEMORY_MODE is unsupported on SH1106 (Page Addressing only) - MEMORY_MODE, - 0x00, // Horizontal addressing mode -#endif - }; - if (I2C_TRANSMIT_P(display_setup1) != I2C_STATUS_SUCCESS) { - print("oled_init cmd set 1 failed\n"); - return false; - } - - if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_180)) { - static const uint8_t PROGMEM display_normal[] = {I2C_CMD, SEGMENT_REMAP_INV, COM_SCAN_DEC}; - if (I2C_TRANSMIT_P(display_normal) != I2C_STATUS_SUCCESS) { - print("oled_init cmd normal rotation failed\n"); - return false; - } - } else { - static const uint8_t PROGMEM display_flipped[] = {I2C_CMD, SEGMENT_REMAP, COM_SCAN_INC}; - if (I2C_TRANSMIT_P(display_flipped) != I2C_STATUS_SUCCESS) { - print("display_flipped failed\n"); - return false; - } - } - - static const uint8_t PROGMEM display_setup2[] = {I2C_CMD, COM_PINS, OLED_COM_PINS, CONTRAST, OLED_BRIGHTNESS, PRE_CHARGE_PERIOD, 0xF1, VCOM_DETECT, 0x20, DISPLAY_ALL_ON_RESUME, NORMAL_DISPLAY, DEACTIVATE_SCROLL, DISPLAY_ON}; - if (I2C_TRANSMIT_P(display_setup2) != I2C_STATUS_SUCCESS) { - print("display_setup2 failed\n"); - return false; - } - -#if OLED_TIMEOUT > 0 - oled_timeout = timer_read32() + OLED_TIMEOUT; -#endif -#if OLED_SCROLL_TIMEOUT > 0 - oled_scroll_timeout = timer_read32() + OLED_SCROLL_TIMEOUT; -#endif - - oled_clear(); - oled_initialized = true; - oled_active = true; - oled_scrolling = false; - return true; -} - -__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { return rotation; } - -void oled_clear(void) { - memset(oled_buffer, 0, sizeof(oled_buffer)); - oled_cursor = &oled_buffer[0]; - oled_dirty = OLED_ALL_BLOCKS_MASK; -} - -static void calc_bounds(uint8_t update_start, uint8_t *cmd_array) { - // Calculate commands to set memory addressing bounds. - uint8_t start_page = OLED_BLOCK_SIZE * update_start / OLED_DISPLAY_WIDTH; - uint8_t start_column = OLED_BLOCK_SIZE * update_start % OLED_DISPLAY_WIDTH; -#if (OLED_IC == OLED_IC_SH1106) - // Commands for Page Addressing Mode. Sets starting page and column; has no end bound. - // Column value must be split into high and low nybble and sent as two commands. - cmd_array[0] = PAM_PAGE_ADDR | start_page; - cmd_array[1] = PAM_SETCOLUMN_LSB | ((OLED_COLUMN_OFFSET + start_column) & 0x0f); - cmd_array[2] = PAM_SETCOLUMN_MSB | ((OLED_COLUMN_OFFSET + start_column) >> 4 & 0x0f); - cmd_array[3] = NOP; - cmd_array[4] = NOP; - cmd_array[5] = NOP; -#else - // Commands for use in Horizontal Addressing mode. - cmd_array[1] = start_column; - cmd_array[4] = start_page; - cmd_array[2] = (OLED_BLOCK_SIZE + OLED_DISPLAY_WIDTH - 1) % OLED_DISPLAY_WIDTH + cmd_array[1]; - cmd_array[5] = (OLED_BLOCK_SIZE + OLED_DISPLAY_WIDTH - 1) / OLED_DISPLAY_WIDTH - 1; -#endif -} - -static void calc_bounds_90(uint8_t update_start, uint8_t *cmd_array) { - cmd_array[1] = OLED_BLOCK_SIZE * update_start / OLED_DISPLAY_HEIGHT * 8; - cmd_array[4] = OLED_BLOCK_SIZE * update_start % OLED_DISPLAY_HEIGHT; - cmd_array[2] = (OLED_BLOCK_SIZE + OLED_DISPLAY_HEIGHT - 1) / OLED_DISPLAY_HEIGHT * 8 - 1 + cmd_array[1]; - ; - cmd_array[5] = (OLED_BLOCK_SIZE + OLED_DISPLAY_HEIGHT - 1) % OLED_DISPLAY_HEIGHT / 8; -} - -uint8_t crot(uint8_t a, int8_t n) { - const uint8_t mask = 0x7; - n &= mask; - return a << n | a >> (-n & mask); -} - -static void rotate_90(const uint8_t *src, uint8_t *dest) { - for (uint8_t i = 0, shift = 7; i < 8; ++i, --shift) { - uint8_t selector = (1 << i); - for (uint8_t j = 0; j < 8; ++j) { - dest[i] |= crot(src[j] & selector, shift - (int8_t)j); - } - } -} - -void oled_render(void) { - if (!oled_initialized) { - return; - } - - // Do we have work to do? - oled_dirty &= OLED_ALL_BLOCKS_MASK; - if (!oled_dirty || oled_scrolling) { - return; - } - - // Find first dirty block - uint8_t update_start = 0; - while (!(oled_dirty & ((OLED_BLOCK_TYPE)1 << update_start))) { - ++update_start; - } - - // Set column & page position - static uint8_t display_start[] = {I2C_CMD, COLUMN_ADDR, 0, OLED_DISPLAY_WIDTH - 1, PAGE_ADDR, 0, OLED_DISPLAY_HEIGHT / 8 - 1}; - if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { - calc_bounds(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start - } else { - calc_bounds_90(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start - } - - // Send column & page position - if (I2C_TRANSMIT(display_start) != I2C_STATUS_SUCCESS) { - print("oled_render offset command failed\n"); - return; - } - - if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { - // Send render data chunk as is - if (I2C_WRITE_REG(I2C_DATA, &oled_buffer[OLED_BLOCK_SIZE * update_start], OLED_BLOCK_SIZE) != I2C_STATUS_SUCCESS) { - print("oled_render data failed\n"); - return; - } - } else { - // Rotate the render chunks - const static uint8_t source_map[] = OLED_SOURCE_MAP; - const static uint8_t target_map[] = OLED_TARGET_MAP; - - static uint8_t temp_buffer[OLED_BLOCK_SIZE]; - memset(temp_buffer, 0, sizeof(temp_buffer)); - for (uint8_t i = 0; i < sizeof(source_map); ++i) { - rotate_90(&oled_buffer[OLED_BLOCK_SIZE * update_start + source_map[i]], &temp_buffer[target_map[i]]); - } - - // Send render data chunk after rotating - if (I2C_WRITE_REG(I2C_DATA, &temp_buffer[0], OLED_BLOCK_SIZE) != I2C_STATUS_SUCCESS) { - print("oled_render90 data failed\n"); - return; - } - } - - // Turn on display if it is off - oled_on(); - - // Clear dirty flag - oled_dirty &= ~((OLED_BLOCK_TYPE)1 << update_start); -} - -void oled_set_cursor(uint8_t col, uint8_t line) { - uint16_t index = line * oled_rotation_width + col * OLED_FONT_WIDTH; - - // Out of bounds? - if (index >= OLED_MATRIX_SIZE) { - index = 0; - } - - oled_cursor = &oled_buffer[index]; -} - -void oled_advance_page(bool clearPageRemainder) { - uint16_t index = oled_cursor - &oled_buffer[0]; - uint8_t remaining = oled_rotation_width - (index % oled_rotation_width); - - if (clearPageRemainder) { - // Remaining Char count - remaining = remaining / OLED_FONT_WIDTH; - - // Write empty character until next line - while (remaining--) oled_write_char(' ', false); - } else { - // Next page index out of bounds? - if (index + remaining >= OLED_MATRIX_SIZE) { - index = 0; - remaining = 0; - } - - oled_cursor = &oled_buffer[index + remaining]; - } -} - -void oled_advance_char(void) { - uint16_t nextIndex = oled_cursor - &oled_buffer[0] + OLED_FONT_WIDTH; - uint8_t remainingSpace = oled_rotation_width - (nextIndex % oled_rotation_width); - - // Do we have enough space on the current line for the next character - if (remainingSpace < OLED_FONT_WIDTH) { - nextIndex += remainingSpace; - } - - // Did we go out of bounds - if (nextIndex >= OLED_MATRIX_SIZE) { - nextIndex = 0; - } - - // Update cursor position - oled_cursor = &oled_buffer[nextIndex]; -} - -// Main handler that writes character data to the display buffer -void oled_write_char(const char data, bool invert) { - // Advance to the next line if newline - if (data == '\n') { - // Old source wrote ' ' until end of line... - oled_advance_page(true); - return; - } - - if (data == '\r') { - oled_advance_page(false); - return; - } - - // copy the current render buffer to check for dirty after - static uint8_t oled_temp_buffer[OLED_FONT_WIDTH]; - memcpy(&oled_temp_buffer, oled_cursor, OLED_FONT_WIDTH); - - _Static_assert(sizeof(font) >= ((OLED_FONT_END + 1 - OLED_FONT_START) * OLED_FONT_WIDTH), "OLED_FONT_END references outside array"); - - // set the reder buffer data - uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index - if (cast_data < OLED_FONT_START || cast_data > OLED_FONT_END) { - memset(oled_cursor, 0x00, OLED_FONT_WIDTH); - } else { - const uint8_t *glyph = &font[(cast_data - OLED_FONT_START) * OLED_FONT_WIDTH]; - memcpy_P(oled_cursor, glyph, OLED_FONT_WIDTH); - } - - // Invert if needed - if (invert) { - InvertCharacter(oled_cursor); - } - - // Dirty check - if (memcmp(&oled_temp_buffer, oled_cursor, OLED_FONT_WIDTH)) { - uint16_t index = oled_cursor - &oled_buffer[0]; - oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE)); - // Edgecase check if the written data spans the 2 chunks - oled_dirty |= ((OLED_BLOCK_TYPE)1 << ((index + OLED_FONT_WIDTH - 1) / OLED_BLOCK_SIZE)); - } - - // Finally move to the next char - oled_advance_char(); -} - -void oled_write(const char *data, bool invert) { - const char *end = data + strlen(data); - while (data < end) { - oled_write_char(*data, invert); - data++; - } -} - -void oled_write_ln(const char *data, bool invert) { - oled_write(data, invert); - oled_advance_page(true); -} - -void oled_pan(bool left) { - uint16_t i = 0; - for (uint16_t y = 0; y < OLED_DISPLAY_HEIGHT / 8; y++) { - if (left) { - for (uint16_t x = 0; x < OLED_DISPLAY_WIDTH - 1; x++) { - i = y * OLED_DISPLAY_WIDTH + x; - oled_buffer[i] = oled_buffer[i + 1]; - } - } else { - for (uint16_t x = OLED_DISPLAY_WIDTH - 1; x > 0; x--) { - i = y * OLED_DISPLAY_WIDTH + x; - oled_buffer[i] = oled_buffer[i - 1]; - } - } - } - oled_dirty = OLED_ALL_BLOCKS_MASK; -} - -oled_buffer_reader_t oled_read_raw(uint16_t start_index) { - if (start_index > OLED_MATRIX_SIZE) start_index = OLED_MATRIX_SIZE; - oled_buffer_reader_t ret_reader; - ret_reader.current_element = &oled_buffer[start_index]; - ret_reader.remaining_element_count = OLED_MATRIX_SIZE - start_index; - return ret_reader; -} - -void oled_write_raw_byte(const char data, uint16_t index) { - if (index > OLED_MATRIX_SIZE) index = OLED_MATRIX_SIZE; - if (oled_buffer[index] == data) return; - oled_buffer[index] = data; - oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE)); -} - -void oled_write_raw(const char *data, uint16_t size) { - uint16_t cursor_start_index = oled_cursor - &oled_buffer[0]; - if ((size + cursor_start_index) > OLED_MATRIX_SIZE) size = OLED_MATRIX_SIZE - cursor_start_index; - for (uint16_t i = cursor_start_index; i < cursor_start_index + size; i++) { - if (oled_buffer[i] == data[i]) continue; - oled_buffer[i] = data[i]; - oled_dirty |= ((OLED_BLOCK_TYPE)1 << (i / OLED_BLOCK_SIZE)); - } -} - -void oled_write_pixel(uint8_t x, uint8_t y, bool on) { - if (x >= oled_rotation_width) { - return; - } - uint16_t index = x + (y / 8) * oled_rotation_width; - if (index >= OLED_MATRIX_SIZE) { - return; - } - uint8_t data = oled_buffer[index]; - if (on) { - data |= (1 << (y % 8)); - } else { - data &= ~(1 << (y % 8)); - } - if (oled_buffer[index] != data) { - oled_buffer[index] = data; - oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE)); - } -} - -#if defined(__AVR__) -void oled_write_P(const char *data, bool invert) { - uint8_t c = pgm_read_byte(data); - while (c != 0) { - oled_write_char(c, invert); - c = pgm_read_byte(++data); - } -} - -void oled_write_ln_P(const char *data, bool invert) { - oled_write_P(data, invert); - oled_advance_page(true); -} - -void oled_write_raw_P(const char *data, uint16_t size) { - uint16_t cursor_start_index = oled_cursor - &oled_buffer[0]; - if ((size + cursor_start_index) > OLED_MATRIX_SIZE) size = OLED_MATRIX_SIZE - cursor_start_index; - for (uint16_t i = cursor_start_index; i < cursor_start_index + size; i++) { - uint8_t c = pgm_read_byte(data++); - if (oled_buffer[i] == c) continue; - oled_buffer[i] = c; - oled_dirty |= ((OLED_BLOCK_TYPE)1 << (i / OLED_BLOCK_SIZE)); - } -} -#endif // defined(__AVR__) - -bool oled_on(void) { - if (!oled_initialized) { - return oled_active; - } - -#if OLED_TIMEOUT > 0 - oled_timeout = timer_read32() + OLED_TIMEOUT; -#endif - - static const uint8_t PROGMEM display_on[] = {I2C_CMD, DISPLAY_ON}; - if (!oled_active) { - if (I2C_TRANSMIT_P(display_on) != I2C_STATUS_SUCCESS) { - print("oled_on cmd failed\n"); - return oled_active; - } - oled_active = true; - } - return oled_active; -} - -bool oled_off(void) { - if (!oled_initialized) { - return !oled_active; - } - - static const uint8_t PROGMEM display_off[] = {I2C_CMD, DISPLAY_OFF}; - if (oled_active) { - if (I2C_TRANSMIT_P(display_off) != I2C_STATUS_SUCCESS) { - print("oled_off cmd failed\n"); - return oled_active; - } - oled_active = false; - } - return !oled_active; -} - -bool is_oled_on(void) { return oled_active; } - -uint8_t oled_set_brightness(uint8_t level) { - if (!oled_initialized) { - return oled_brightness; - } - - uint8_t set_contrast[] = {I2C_CMD, CONTRAST, level}; - if (oled_brightness != level) { - if (I2C_TRANSMIT(set_contrast) != I2C_STATUS_SUCCESS) { - print("set_brightness cmd failed\n"); - return oled_brightness; - } - oled_brightness = level; - } - return oled_brightness; -} - -uint8_t oled_get_brightness(void) { return oled_brightness; } - -// Set the specific 8 lines rows of the screen to scroll. -// 0 is the default for start, and 7 for end, which is the entire -// height of the screen. For 128x32 screens, rows 4-7 are not used. -void oled_scroll_set_area(uint8_t start_line, uint8_t end_line) { - oled_scroll_start = start_line; - oled_scroll_end = end_line; -} - -void oled_scroll_set_speed(uint8_t speed) { - // Sets the speed for scrolling... does not take effect - // until scrolling is either started or restarted - // the ssd1306 supports 8 speeds - // FrameRate2 speed = 7 - // FrameRate3 speed = 4 - // FrameRate4 speed = 5 - // FrameRate5 speed = 0 - // FrameRate25 speed = 6 - // FrameRate64 speed = 1 - // FrameRate128 speed = 2 - // FrameRate256 speed = 3 - // for ease of use these are remaped here to be in order - static const uint8_t scroll_remap[8] = {7, 4, 5, 0, 6, 1, 2, 3}; - oled_scroll_speed = scroll_remap[speed]; -} - -bool oled_scroll_right(void) { - if (!oled_initialized) { - return oled_scrolling; - } - - // Dont enable scrolling if we need to update the display - // This prevents scrolling of bad data from starting the scroll too early after init - if (!oled_dirty && !oled_scrolling) { - uint8_t display_scroll_right[] = {I2C_CMD, SCROLL_RIGHT, 0x00, oled_scroll_start, oled_scroll_speed, oled_scroll_end, 0x00, 0xFF, ACTIVATE_SCROLL}; - if (I2C_TRANSMIT(display_scroll_right) != I2C_STATUS_SUCCESS) { - print("oled_scroll_right cmd failed\n"); - return oled_scrolling; - } - oled_scrolling = true; - } - return oled_scrolling; -} - -bool oled_scroll_left(void) { - if (!oled_initialized) { - return oled_scrolling; - } - - // Dont enable scrolling if we need to update the display - // This prevents scrolling of bad data from starting the scroll too early after init - if (!oled_dirty && !oled_scrolling) { - uint8_t display_scroll_left[] = {I2C_CMD, SCROLL_LEFT, 0x00, oled_scroll_start, oled_scroll_speed, oled_scroll_end, 0x00, 0xFF, ACTIVATE_SCROLL}; - if (I2C_TRANSMIT(display_scroll_left) != I2C_STATUS_SUCCESS) { - print("oled_scroll_left cmd failed\n"); - return oled_scrolling; - } - oled_scrolling = true; - } - return oled_scrolling; -} - -bool oled_scroll_off(void) { - if (!oled_initialized) { - return !oled_scrolling; - } - - if (oled_scrolling) { - static const uint8_t PROGMEM display_scroll_off[] = {I2C_CMD, DEACTIVATE_SCROLL}; - if (I2C_TRANSMIT_P(display_scroll_off) != I2C_STATUS_SUCCESS) { - print("oled_scroll_off cmd failed\n"); - return oled_scrolling; - } - oled_scrolling = false; - oled_dirty = OLED_ALL_BLOCKS_MASK; - } - return !oled_scrolling; -} - -uint8_t oled_max_chars(void) { - if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { - return OLED_DISPLAY_WIDTH / OLED_FONT_WIDTH; - } - return OLED_DISPLAY_HEIGHT / OLED_FONT_WIDTH; -} - -uint8_t oled_max_lines(void) { - if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { - return OLED_DISPLAY_HEIGHT / OLED_FONT_HEIGHT; - } - return OLED_DISPLAY_WIDTH / OLED_FONT_HEIGHT; -} - -void oled_task(void) { - if (!oled_initialized) { - return; - } - -#if OLED_UPDATE_INTERVAL > 0 - if (timer_elapsed(oled_update_timeout) >= OLED_UPDATE_INTERVAL) { - oled_update_timeout = timer_read(); - oled_set_cursor(0, 0); - oled_task_user(); - } -#else - oled_set_cursor(0, 0); - oled_task_user(); -#endif - -#if OLED_SCROLL_TIMEOUT > 0 - if (oled_dirty && oled_scrolling) { - oled_scroll_timeout = timer_read32() + OLED_SCROLL_TIMEOUT; - oled_scroll_off(); - } -#endif - - // Smart render system, no need to check for dirty - oled_render(); - - // Display timeout check -#if OLED_TIMEOUT > 0 - if (oled_active && timer_expired32(timer_read32(), oled_timeout)) { - oled_off(); - } -#endif - -#if OLED_SCROLL_TIMEOUT > 0 - if (!oled_scrolling && timer_expired32(timer_read32(), oled_scroll_timeout)) { -# ifdef OLED_SCROLL_TIMEOUT_RIGHT - oled_scroll_right(); -# else - oled_scroll_left(); -# endif - } -#endif -} - -__attribute__((weak)) void oled_task_user(void) {} diff --git a/drivers/oled/oled_driver.h b/drivers/oled/oled_driver.h index 72ab21247d59..13b73ede9d05 100644 --- a/drivers/oled/oled_driver.h +++ b/drivers/oled/oled_driver.h @@ -154,10 +154,22 @@ along with this program. If not, see . # endif #endif +#if !defined(OLED_FADE_OUT_INTERVAL) +# define OLED_FADE_OUT_INTERVAL 0x00 +#endif + +#if OLED_FADE_OUT_INTERVAL > 0x0F || OLED_FADE_OUT_INTERVAL < 0x00 +# error OLED_FADE_OUT_INTERVAL must be between 0x00 and 0x0F +#endif + #if !defined(OLED_I2C_TIMEOUT) # define OLED_I2C_TIMEOUT 100 #endif +#if !defined(OLED_UPDATE_INTERVAL) && defined(SPLIT_KEYBOARD) +# define OLED_UPDATE_INTERVAL 50 +#endif + typedef struct __attribute__((__packed__)) { uint8_t *current_element; uint16_t remaining_element_count; @@ -214,13 +226,17 @@ void oled_write(const char *data, bool invert); void oled_write_ln(const char *data, bool invert); // Pans the buffer to the right (or left by passing true) by moving contents of the buffer +// Useful for moving the screen in preparation for new drawing void oled_pan(bool left); // Returns a pointer to the requested start index in the buffer plus remaining // buffer length as struct oled_buffer_reader_t oled_read_raw(uint16_t start_index); +// Writes a string to the buffer at current cursor position void oled_write_raw(const char *data, uint16_t size); + +// Writes a single byte into the buffer at the specified index void oled_write_raw_byte(const char data, uint16_t index); // Sets a specific pixel on or off @@ -239,17 +255,11 @@ void oled_write_P(const char *data, bool invert); // Remapped to call 'void oled_write_ln(const char *data, bool invert);' on ARM void oled_write_ln_P(const char *data, bool invert); +// Writes a PROGMEM string to the buffer at current cursor position void oled_write_raw_P(const char *data, uint16_t size); #else -// Writes a string to the buffer at current cursor position -// Advances the cursor while writing, inverts the pixels if true # define oled_write_P(data, invert) oled_write(data, invert) - -// Writes a string to the buffer at current cursor position -// Advances the cursor while writing, inverts the pixels if true -// Advances the cursor to the next page, wiring ' ' to the remainder of the current page # define oled_write_ln_P(data, invert) oled_write(data, invert) - # define oled_write_raw_P(data, size) oled_write_raw(data, size) #endif // defined(__AVR__) @@ -303,6 +313,14 @@ bool oled_scroll_left(void); // Returns true if the screen was not scrolling or stops scrolling bool oled_scroll_off(void); +// Returns true if the oled is currently scrolling, false if it is +// not +bool is_oled_scrolling(void); + +// Inverts the display +// Returns true if the screen was or is inverted +bool oled_invert(bool invert); + // Returns the maximum number of characters that will fit on a line uint8_t oled_max_chars(void); diff --git a/drivers/oled/ssd1306_sh1106.c b/drivers/oled/ssd1306_sh1106.c new file mode 100644 index 000000000000..e9049438f527 --- /dev/null +++ b/drivers/oled/ssd1306_sh1106.c @@ -0,0 +1,779 @@ +/* +Copyright 2019 Ryan Caltabiano + +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 "i2c_master.h" +#include "oled_driver.h" +#include OLED_FONT_H +#include "timer.h" +#include "print.h" + +#include + +#include "progmem.h" + +#include "keyboard.h" + +// Used commands from spec sheet: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf +// for SH1106: https://www.velleman.eu/downloads/29/infosheets/sh1106_datasheet.pdf + +// Fundamental Commands +#define CONTRAST 0x81 +#define DISPLAY_ALL_ON 0xA5 +#define DISPLAY_ALL_ON_RESUME 0xA4 +#define NORMAL_DISPLAY 0xA6 +#define INVERT_DISPLAY 0xA7 +#define DISPLAY_ON 0xAF +#define DISPLAY_OFF 0xAE +#define NOP 0xE3 + +// Scrolling Commands +#define ACTIVATE_SCROLL 0x2F +#define DEACTIVATE_SCROLL 0x2E +#define SCROLL_RIGHT 0x26 +#define SCROLL_LEFT 0x27 +#define SCROLL_RIGHT_UP 0x29 +#define SCROLL_LEFT_UP 0x2A + +// Addressing Setting Commands +#define MEMORY_MODE 0x20 +#define COLUMN_ADDR 0x21 +#define PAGE_ADDR 0x22 +#define PAM_SETCOLUMN_LSB 0x00 +#define PAM_SETCOLUMN_MSB 0x10 +#define PAM_PAGE_ADDR 0xB0 // 0xb0 -- 0xb7 + +// Hardware Configuration Commands +#define DISPLAY_START_LINE 0x40 +#define SEGMENT_REMAP 0xA0 +#define SEGMENT_REMAP_INV 0xA1 +#define MULTIPLEX_RATIO 0xA8 +#define COM_SCAN_INC 0xC0 +#define COM_SCAN_DEC 0xC8 +#define DISPLAY_OFFSET 0xD3 +#define COM_PINS 0xDA +#define COM_PINS_SEQ 0x02 +#define COM_PINS_ALT 0x12 +#define COM_PINS_SEQ_LR 0x22 +#define COM_PINS_ALT_LR 0x32 + +// Timing & Driving Commands +#define DISPLAY_CLOCK 0xD5 +#define PRE_CHARGE_PERIOD 0xD9 +#define VCOM_DETECT 0xDB + +// Advance Graphic Commands +#define FADE_BLINK 0x23 +#define ENABLE_FADE 0x20 +#define ENABLE_BLINK 0x30 + +// Charge Pump Commands +#define CHARGE_PUMP 0x8D + +// Misc defines +#ifndef OLED_BLOCK_COUNT +# define OLED_BLOCK_COUNT (sizeof(OLED_BLOCK_TYPE) * 8) +#endif +#ifndef OLED_BLOCK_SIZE +# define OLED_BLOCK_SIZE (OLED_MATRIX_SIZE / OLED_BLOCK_COUNT) +#endif + +#define OLED_ALL_BLOCKS_MASK (((((OLED_BLOCK_TYPE)1 << (OLED_BLOCK_COUNT - 1)) - 1) << 1) | 1) + +// i2c defines +#define I2C_CMD 0x00 +#define I2C_DATA 0x40 +#if defined(__AVR__) +# define I2C_TRANSMIT_P(data) i2c_transmit_P((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) +#else // defined(__AVR__) +# define I2C_TRANSMIT_P(data) i2c_transmit((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) +#endif // defined(__AVR__) +#define I2C_TRANSMIT(data) i2c_transmit((OLED_DISPLAY_ADDRESS << 1), &data[0], sizeof(data), OLED_I2C_TIMEOUT) +#define I2C_WRITE_REG(mode, data, size) i2c_writeReg((OLED_DISPLAY_ADDRESS << 1), mode, data, size, OLED_I2C_TIMEOUT) + +#define HAS_FLAGS(bits, flags) ((bits & flags) == flags) + +// Display buffer's is the same as the OLED memory layout +// this is so we don't end up with rounding errors with +// parts of the display unusable or don't get cleared correctly +// and also allows for drawing & inverting +uint8_t oled_buffer[OLED_MATRIX_SIZE]; +uint8_t * oled_cursor; +OLED_BLOCK_TYPE oled_dirty = 0; +bool oled_initialized = false; +bool oled_active = false; +bool oled_scrolling = false; +bool oled_inverted = false; +uint8_t oled_brightness = OLED_BRIGHTNESS; +oled_rotation_t oled_rotation = 0; +uint8_t oled_rotation_width = 0; +uint8_t oled_scroll_speed = 0; // this holds the speed after being remapped to ssd1306 internal values +uint8_t oled_scroll_start = 0; +uint8_t oled_scroll_end = 7; +#if OLED_TIMEOUT > 0 +uint32_t oled_timeout; +#endif +#if OLED_SCROLL_TIMEOUT > 0 +uint32_t oled_scroll_timeout; +#endif +#if OLED_UPDATE_INTERVAL > 0 +uint16_t oled_update_timeout; +#endif + +// Internal variables to reduce math instructions + +#if defined(__AVR__) +// identical to i2c_transmit, but for PROGMEM since all initialization is in PROGMEM arrays currently +// probably should move this into i2c_master... +static i2c_status_t i2c_transmit_P(uint8_t address, const uint8_t *data, uint16_t length, uint16_t timeout) { + i2c_status_t status = i2c_start(address | I2C_WRITE, timeout); + + for (uint16_t i = 0; i < length && status >= 0; i++) { + status = i2c_write(pgm_read_byte((const char *)data++), timeout); + if (status) break; + } + + i2c_stop(); + + return status; +} +#endif + +// Flips the rendering bits for a character at the current cursor position +static void InvertCharacter(uint8_t *cursor) { + const uint8_t *end = cursor + OLED_FONT_WIDTH; + while (cursor < end) { + *cursor = ~(*cursor); + cursor++; + } +} + +bool oled_init(oled_rotation_t rotation) { +#if defined(USE_I2C) && defined(SPLIT_KEYBOARD) + if (!is_keyboard_master()) { + return true; + } +#endif + + oled_rotation = oled_init_user(rotation); + if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { + oled_rotation_width = OLED_DISPLAY_WIDTH; + } else { + oled_rotation_width = OLED_DISPLAY_HEIGHT; + } + i2c_init(); + + static const uint8_t PROGMEM display_setup1[] = { + I2C_CMD, + DISPLAY_OFF, + DISPLAY_CLOCK, + 0x80, + MULTIPLEX_RATIO, + OLED_DISPLAY_HEIGHT - 1, + DISPLAY_OFFSET, + 0x00, + DISPLAY_START_LINE | 0x00, + CHARGE_PUMP, + 0x14, +#if (OLED_IC != OLED_IC_SH1106) + // MEMORY_MODE is unsupported on SH1106 (Page Addressing only) + MEMORY_MODE, + 0x00, // Horizontal addressing mode +#endif + }; + if (I2C_TRANSMIT_P(display_setup1) != I2C_STATUS_SUCCESS) { + print("oled_init cmd set 1 failed\n"); + return false; + } + + if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_180)) { + static const uint8_t PROGMEM display_normal[] = {I2C_CMD, SEGMENT_REMAP_INV, COM_SCAN_DEC}; + if (I2C_TRANSMIT_P(display_normal) != I2C_STATUS_SUCCESS) { + print("oled_init cmd normal rotation failed\n"); + return false; + } + } else { + static const uint8_t PROGMEM display_flipped[] = {I2C_CMD, SEGMENT_REMAP, COM_SCAN_INC}; + if (I2C_TRANSMIT_P(display_flipped) != I2C_STATUS_SUCCESS) { + print("display_flipped failed\n"); + return false; + } + } + + static const uint8_t PROGMEM display_setup2[] = {I2C_CMD, COM_PINS, OLED_COM_PINS, CONTRAST, OLED_BRIGHTNESS, PRE_CHARGE_PERIOD, 0xF1, VCOM_DETECT, 0x20, DISPLAY_ALL_ON_RESUME, NORMAL_DISPLAY, DEACTIVATE_SCROLL, DISPLAY_ON}; + if (I2C_TRANSMIT_P(display_setup2) != I2C_STATUS_SUCCESS) { + print("display_setup2 failed\n"); + return false; + } + +#if OLED_TIMEOUT > 0 + oled_timeout = timer_read32() + OLED_TIMEOUT; +#endif +#if OLED_SCROLL_TIMEOUT > 0 + oled_scroll_timeout = timer_read32() + OLED_SCROLL_TIMEOUT; +#endif + + oled_clear(); + oled_initialized = true; + oled_active = true; + oled_scrolling = false; + return true; +} + +__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { return rotation; } + +void oled_clear(void) { + memset(oled_buffer, 0, sizeof(oled_buffer)); + oled_cursor = &oled_buffer[0]; + oled_dirty = OLED_ALL_BLOCKS_MASK; +} + +static void calc_bounds(uint8_t update_start, uint8_t *cmd_array) { + // Calculate commands to set memory addressing bounds. + uint8_t start_page = OLED_BLOCK_SIZE * update_start / OLED_DISPLAY_WIDTH; + uint8_t start_column = OLED_BLOCK_SIZE * update_start % OLED_DISPLAY_WIDTH; +#if (OLED_IC == OLED_IC_SH1106) + // Commands for Page Addressing Mode. Sets starting page and column; has no end bound. + // Column value must be split into high and low nybble and sent as two commands. + cmd_array[0] = PAM_PAGE_ADDR | start_page; + cmd_array[1] = PAM_SETCOLUMN_LSB | ((OLED_COLUMN_OFFSET + start_column) & 0x0f); + cmd_array[2] = PAM_SETCOLUMN_MSB | ((OLED_COLUMN_OFFSET + start_column) >> 4 & 0x0f); + cmd_array[3] = NOP; + cmd_array[4] = NOP; + cmd_array[5] = NOP; +#else + // Commands for use in Horizontal Addressing mode. + cmd_array[1] = start_column; + cmd_array[4] = start_page; + cmd_array[2] = (OLED_BLOCK_SIZE + OLED_DISPLAY_WIDTH - 1) % OLED_DISPLAY_WIDTH + cmd_array[1]; + cmd_array[5] = (OLED_BLOCK_SIZE + OLED_DISPLAY_WIDTH - 1) / OLED_DISPLAY_WIDTH - 1; +#endif +} + +static void calc_bounds_90(uint8_t update_start, uint8_t *cmd_array) { + cmd_array[1] = OLED_BLOCK_SIZE * update_start / OLED_DISPLAY_HEIGHT * 8; + cmd_array[4] = OLED_BLOCK_SIZE * update_start % OLED_DISPLAY_HEIGHT; + cmd_array[2] = (OLED_BLOCK_SIZE + OLED_DISPLAY_HEIGHT - 1) / OLED_DISPLAY_HEIGHT * 8 - 1 + cmd_array[1]; + ; + cmd_array[5] = (OLED_BLOCK_SIZE + OLED_DISPLAY_HEIGHT - 1) % OLED_DISPLAY_HEIGHT / 8; +} + +uint8_t crot(uint8_t a, int8_t n) { + const uint8_t mask = 0x7; + n &= mask; + return a << n | a >> (-n & mask); +} + +static void rotate_90(const uint8_t *src, uint8_t *dest) { + for (uint8_t i = 0, shift = 7; i < 8; ++i, --shift) { + uint8_t selector = (1 << i); + for (uint8_t j = 0; j < 8; ++j) { + dest[i] |= crot(src[j] & selector, shift - (int8_t)j); + } + } +} + +void oled_render(void) { + if (!oled_initialized) { + return; + } + + // Do we have work to do? + oled_dirty &= OLED_ALL_BLOCKS_MASK; + if (!oled_dirty || oled_scrolling) { + return; + } + + // Find first dirty block + uint8_t update_start = 0; + while (!(oled_dirty & ((OLED_BLOCK_TYPE)1 << update_start))) { + ++update_start; + } + + // Set column & page position + static uint8_t display_start[] = {I2C_CMD, COLUMN_ADDR, 0, OLED_DISPLAY_WIDTH - 1, PAGE_ADDR, 0, OLED_DISPLAY_HEIGHT / 8 - 1}; + if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { + calc_bounds(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start + } else { + calc_bounds_90(update_start, &display_start[1]); // Offset from I2C_CMD byte at the start + } + + // Send column & page position + if (I2C_TRANSMIT(display_start) != I2C_STATUS_SUCCESS) { + print("oled_render offset command failed\n"); + return; + } + + if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { + // Send render data chunk as is + if (I2C_WRITE_REG(I2C_DATA, &oled_buffer[OLED_BLOCK_SIZE * update_start], OLED_BLOCK_SIZE) != I2C_STATUS_SUCCESS) { + print("oled_render data failed\n"); + return; + } + } else { + // Rotate the render chunks + const static uint8_t source_map[] = OLED_SOURCE_MAP; + const static uint8_t target_map[] = OLED_TARGET_MAP; + + static uint8_t temp_buffer[OLED_BLOCK_SIZE]; + memset(temp_buffer, 0, sizeof(temp_buffer)); + for (uint8_t i = 0; i < sizeof(source_map); ++i) { + rotate_90(&oled_buffer[OLED_BLOCK_SIZE * update_start + source_map[i]], &temp_buffer[target_map[i]]); + } + + // Send render data chunk after rotating + if (I2C_WRITE_REG(I2C_DATA, &temp_buffer[0], OLED_BLOCK_SIZE) != I2C_STATUS_SUCCESS) { + print("oled_render90 data failed\n"); + return; + } + } + + // Turn on display if it is off + oled_on(); + + // Clear dirty flag + oled_dirty &= ~((OLED_BLOCK_TYPE)1 << update_start); +} + +void oled_set_cursor(uint8_t col, uint8_t line) { + uint16_t index = line * oled_rotation_width + col * OLED_FONT_WIDTH; + + // Out of bounds? + if (index >= OLED_MATRIX_SIZE) { + index = 0; + } + + oled_cursor = &oled_buffer[index]; +} + +void oled_advance_page(bool clearPageRemainder) { + uint16_t index = oled_cursor - &oled_buffer[0]; + uint8_t remaining = oled_rotation_width - (index % oled_rotation_width); + + if (clearPageRemainder) { + // Remaining Char count + remaining = remaining / OLED_FONT_WIDTH; + + // Write empty character until next line + while (remaining--) oled_write_char(' ', false); + } else { + // Next page index out of bounds? + if (index + remaining >= OLED_MATRIX_SIZE) { + index = 0; + remaining = 0; + } + + oled_cursor = &oled_buffer[index + remaining]; + } +} + +void oled_advance_char(void) { + uint16_t nextIndex = oled_cursor - &oled_buffer[0] + OLED_FONT_WIDTH; + uint8_t remainingSpace = oled_rotation_width - (nextIndex % oled_rotation_width); + + // Do we have enough space on the current line for the next character + if (remainingSpace < OLED_FONT_WIDTH) { + nextIndex += remainingSpace; + } + + // Did we go out of bounds + if (nextIndex >= OLED_MATRIX_SIZE) { + nextIndex = 0; + } + + // Update cursor position + oled_cursor = &oled_buffer[nextIndex]; +} + +// Main handler that writes character data to the display buffer +void oled_write_char(const char data, bool invert) { + // Advance to the next line if newline + if (data == '\n') { + // Old source wrote ' ' until end of line... + oled_advance_page(true); + return; + } + + if (data == '\r') { + oled_advance_page(false); + return; + } + + // copy the current render buffer to check for dirty after + static uint8_t oled_temp_buffer[OLED_FONT_WIDTH]; + memcpy(&oled_temp_buffer, oled_cursor, OLED_FONT_WIDTH); + + _Static_assert(sizeof(font) >= ((OLED_FONT_END + 1 - OLED_FONT_START) * OLED_FONT_WIDTH), "OLED_FONT_END references outside array"); + + // set the reder buffer data + uint8_t cast_data = (uint8_t)data; // font based on unsigned type for index + if (cast_data < OLED_FONT_START || cast_data > OLED_FONT_END) { + memset(oled_cursor, 0x00, OLED_FONT_WIDTH); + } else { + const uint8_t *glyph = &font[(cast_data - OLED_FONT_START) * OLED_FONT_WIDTH]; + memcpy_P(oled_cursor, glyph, OLED_FONT_WIDTH); + } + + // Invert if needed + if (invert) { + InvertCharacter(oled_cursor); + } + + // Dirty check + if (memcmp(&oled_temp_buffer, oled_cursor, OLED_FONT_WIDTH)) { + uint16_t index = oled_cursor - &oled_buffer[0]; + oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE)); + // Edgecase check if the written data spans the 2 chunks + oled_dirty |= ((OLED_BLOCK_TYPE)1 << ((index + OLED_FONT_WIDTH - 1) / OLED_BLOCK_SIZE)); + } + + // Finally move to the next char + oled_advance_char(); +} + +void oled_write(const char *data, bool invert) { + const char *end = data + strlen(data); + while (data < end) { + oled_write_char(*data, invert); + data++; + } +} + +void oled_write_ln(const char *data, bool invert) { + oled_write(data, invert); + oled_advance_page(true); +} + +void oled_pan(bool left) { + uint16_t i = 0; + for (uint16_t y = 0; y < OLED_DISPLAY_HEIGHT / 8; y++) { + if (left) { + for (uint16_t x = 0; x < OLED_DISPLAY_WIDTH - 1; x++) { + i = y * OLED_DISPLAY_WIDTH + x; + oled_buffer[i] = oled_buffer[i + 1]; + } + } else { + for (uint16_t x = OLED_DISPLAY_WIDTH - 1; x > 0; x--) { + i = y * OLED_DISPLAY_WIDTH + x; + oled_buffer[i] = oled_buffer[i - 1]; + } + } + } + oled_dirty = OLED_ALL_BLOCKS_MASK; +} + +oled_buffer_reader_t oled_read_raw(uint16_t start_index) { + if (start_index > OLED_MATRIX_SIZE) start_index = OLED_MATRIX_SIZE; + oled_buffer_reader_t ret_reader; + ret_reader.current_element = &oled_buffer[start_index]; + ret_reader.remaining_element_count = OLED_MATRIX_SIZE - start_index; + return ret_reader; +} + +void oled_write_raw_byte(const char data, uint16_t index) { + if (index > OLED_MATRIX_SIZE) index = OLED_MATRIX_SIZE; + if (oled_buffer[index] == data) return; + oled_buffer[index] = data; + oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE)); +} + +void oled_write_raw(const char *data, uint16_t size) { + uint16_t cursor_start_index = oled_cursor - &oled_buffer[0]; + if ((size + cursor_start_index) > OLED_MATRIX_SIZE) size = OLED_MATRIX_SIZE - cursor_start_index; + for (uint16_t i = cursor_start_index; i < cursor_start_index + size; i++) { + uint8_t c = *data++; + if (oled_buffer[i] == c) continue; + oled_buffer[i] = c; + oled_dirty |= ((OLED_BLOCK_TYPE)1 << (i / OLED_BLOCK_SIZE)); + } +} + +void oled_write_pixel(uint8_t x, uint8_t y, bool on) { + if (x >= oled_rotation_width) { + return; + } + uint16_t index = x + (y / 8) * oled_rotation_width; + if (index >= OLED_MATRIX_SIZE) { + return; + } + uint8_t data = oled_buffer[index]; + if (on) { + data |= (1 << (y % 8)); + } else { + data &= ~(1 << (y % 8)); + } + if (oled_buffer[index] != data) { + oled_buffer[index] = data; + oled_dirty |= ((OLED_BLOCK_TYPE)1 << (index / OLED_BLOCK_SIZE)); + } +} + +#if defined(__AVR__) +void oled_write_P(const char *data, bool invert) { + uint8_t c = pgm_read_byte(data); + while (c != 0) { + oled_write_char(c, invert); + c = pgm_read_byte(++data); + } +} + +void oled_write_ln_P(const char *data, bool invert) { + oled_write_P(data, invert); + oled_advance_page(true); +} + +void oled_write_raw_P(const char *data, uint16_t size) { + uint16_t cursor_start_index = oled_cursor - &oled_buffer[0]; + if ((size + cursor_start_index) > OLED_MATRIX_SIZE) size = OLED_MATRIX_SIZE - cursor_start_index; + for (uint16_t i = cursor_start_index; i < cursor_start_index + size; i++) { + uint8_t c = pgm_read_byte(data++); + if (oled_buffer[i] == c) continue; + oled_buffer[i] = c; + oled_dirty |= ((OLED_BLOCK_TYPE)1 << (i / OLED_BLOCK_SIZE)); + } +} +#endif // defined(__AVR__) + +bool oled_on(void) { + if (!oled_initialized) { + return oled_active; + } + +#if OLED_TIMEOUT > 0 + oled_timeout = timer_read32() + OLED_TIMEOUT; +#endif + + static const uint8_t PROGMEM display_on[] = +#ifdef OLED_FADE_OUT + {I2C_CMD, FADE_BLINK, 0x00}; +#else + {I2C_CMD, DISPLAY_ON}; +#endif + + if (!oled_active) { + if (I2C_TRANSMIT_P(display_on) != I2C_STATUS_SUCCESS) { + print("oled_on cmd failed\n"); + return oled_active; + } + oled_active = true; + } + return oled_active; +} + +bool oled_off(void) { + if (!oled_initialized) { + return !oled_active; + } + + static const uint8_t PROGMEM display_off[] = +#ifdef OLED_FADE_OUT + {I2C_CMD, FADE_BLINK, ENABLE_FADE | OLED_FADE_OUT_INTERVAL}; +#else + {I2C_CMD, DISPLAY_OFF}; +#endif + + if (oled_active) { + if (I2C_TRANSMIT_P(display_off) != I2C_STATUS_SUCCESS) { + print("oled_off cmd failed\n"); + return oled_active; + } + oled_active = false; + } + return !oled_active; +} + +bool is_oled_on(void) { return oled_active; } + +uint8_t oled_set_brightness(uint8_t level) { + if (!oled_initialized) { + return oled_brightness; + } + + uint8_t set_contrast[] = {I2C_CMD, CONTRAST, level}; + if (oled_brightness != level) { + if (I2C_TRANSMIT(set_contrast) != I2C_STATUS_SUCCESS) { + print("set_brightness cmd failed\n"); + return oled_brightness; + } + oled_brightness = level; + } + return oled_brightness; +} + +uint8_t oled_get_brightness(void) { return oled_brightness; } + +// Set the specific 8 lines rows of the screen to scroll. +// 0 is the default for start, and 7 for end, which is the entire +// height of the screen. For 128x32 screens, rows 4-7 are not used. +void oled_scroll_set_area(uint8_t start_line, uint8_t end_line) { + oled_scroll_start = start_line; + oled_scroll_end = end_line; +} + +void oled_scroll_set_speed(uint8_t speed) { + // Sets the speed for scrolling... does not take effect + // until scrolling is either started or restarted + // the ssd1306 supports 8 speeds + // FrameRate2 speed = 7 + // FrameRate3 speed = 4 + // FrameRate4 speed = 5 + // FrameRate5 speed = 0 + // FrameRate25 speed = 6 + // FrameRate64 speed = 1 + // FrameRate128 speed = 2 + // FrameRate256 speed = 3 + // for ease of use these are remaped here to be in order + static const uint8_t scroll_remap[8] = {7, 4, 5, 0, 6, 1, 2, 3}; + oled_scroll_speed = scroll_remap[speed]; +} + +bool oled_scroll_right(void) { + if (!oled_initialized) { + return oled_scrolling; + } + + // Dont enable scrolling if we need to update the display + // This prevents scrolling of bad data from starting the scroll too early after init + if (!oled_dirty && !oled_scrolling) { + uint8_t display_scroll_right[] = {I2C_CMD, SCROLL_RIGHT, 0x00, oled_scroll_start, oled_scroll_speed, oled_scroll_end, 0x00, 0xFF, ACTIVATE_SCROLL}; + if (I2C_TRANSMIT(display_scroll_right) != I2C_STATUS_SUCCESS) { + print("oled_scroll_right cmd failed\n"); + return oled_scrolling; + } + oled_scrolling = true; + } + return oled_scrolling; +} + +bool oled_scroll_left(void) { + if (!oled_initialized) { + return oled_scrolling; + } + + // Dont enable scrolling if we need to update the display + // This prevents scrolling of bad data from starting the scroll too early after init + if (!oled_dirty && !oled_scrolling) { + uint8_t display_scroll_left[] = {I2C_CMD, SCROLL_LEFT, 0x00, oled_scroll_start, oled_scroll_speed, oled_scroll_end, 0x00, 0xFF, ACTIVATE_SCROLL}; + if (I2C_TRANSMIT(display_scroll_left) != I2C_STATUS_SUCCESS) { + print("oled_scroll_left cmd failed\n"); + return oled_scrolling; + } + oled_scrolling = true; + } + return oled_scrolling; +} + +bool oled_scroll_off(void) { + if (!oled_initialized) { + return !oled_scrolling; + } + + if (oled_scrolling) { + static const uint8_t PROGMEM display_scroll_off[] = {I2C_CMD, DEACTIVATE_SCROLL}; + if (I2C_TRANSMIT_P(display_scroll_off) != I2C_STATUS_SUCCESS) { + print("oled_scroll_off cmd failed\n"); + return oled_scrolling; + } + oled_scrolling = false; + oled_dirty = OLED_ALL_BLOCKS_MASK; + } + return !oled_scrolling; +} + +bool is_oled_scrolling(void) { return oled_scrolling; } + +bool oled_invert(bool invert) { + if (!oled_initialized) { + return oled_inverted; + } + + if (invert && !oled_inverted) { + static const uint8_t PROGMEM display_inverted[] = {I2C_CMD, INVERT_DISPLAY}; + if (I2C_TRANSMIT_P(display_inverted) != I2C_STATUS_SUCCESS) { + print("oled_invert cmd failed\n"); + return oled_inverted; + } + oled_inverted = true; + } else if (!invert && oled_inverted) { + static const uint8_t PROGMEM display_normal[] = {I2C_CMD, NORMAL_DISPLAY}; + if (I2C_TRANSMIT_P(display_normal) != I2C_STATUS_SUCCESS) { + print("oled_invert cmd failed\n"); + return oled_inverted; + } + oled_inverted = false; + } + + return oled_inverted; +} + +uint8_t oled_max_chars(void) { + if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { + return OLED_DISPLAY_WIDTH / OLED_FONT_WIDTH; + } + return OLED_DISPLAY_HEIGHT / OLED_FONT_WIDTH; +} + +uint8_t oled_max_lines(void) { + if (!HAS_FLAGS(oled_rotation, OLED_ROTATION_90)) { + return OLED_DISPLAY_HEIGHT / OLED_FONT_HEIGHT; + } + return OLED_DISPLAY_WIDTH / OLED_FONT_HEIGHT; +} + +void oled_task(void) { + if (!oled_initialized) { + return; + } + +#if OLED_UPDATE_INTERVAL > 0 + if (timer_elapsed(oled_update_timeout) >= OLED_UPDATE_INTERVAL) { + oled_update_timeout = timer_read(); + oled_set_cursor(0, 0); + oled_task_user(); + } +#else + oled_set_cursor(0, 0); + oled_task_user(); +#endif + +#if OLED_SCROLL_TIMEOUT > 0 + if (oled_dirty && oled_scrolling) { + oled_scroll_timeout = timer_read32() + OLED_SCROLL_TIMEOUT; + oled_scroll_off(); + } +#endif + + // Smart render system, no need to check for dirty + oled_render(); + + // Display timeout check +#if OLED_TIMEOUT > 0 + if (oled_active && timer_expired32(timer_read32(), oled_timeout)) { + oled_off(); + } +#endif + +#if OLED_SCROLL_TIMEOUT > 0 + if (!oled_scrolling && timer_expired32(timer_read32(), oled_scroll_timeout)) { +# ifdef OLED_SCROLL_TIMEOUT_RIGHT + oled_scroll_right(); +# else + oled_scroll_left(); +# endif + } +#endif +} + +__attribute__((weak)) void oled_task_user(void) {} diff --git a/drivers/qwiic/micro_oled.c b/drivers/qwiic/micro_oled.c index c7a4ee081d1d..8dfff6968f4a 100644 --- a/drivers/qwiic/micro_oled.c +++ b/drivers/qwiic/micro_oled.c @@ -70,25 +70,28 @@ static uint8_t micro_oled_screen_current[LCDWIDTH * LCDHEIGHT / 8] = {0}; D6 D6.............D6 / D7 D7.............D7 ---- */ - -#if LCDWIDTH == 64 -# if LCDHEIGHT == 48 +#ifdef NO_LCD_SPLASH +// do not initialize with a splash screen +static uint8_t micro_oled_screen_buffer[LCDWIDTH * LCDHEIGHT / 8] = {0}; +#else +# if LCDWIDTH == 64 +# if LCDHEIGHT == 48 static uint8_t micro_oled_screen_buffer[] = { // QMK Logo - generated at http://www.majer.ch/lcd/adf_bitmap.php // 64x48 image 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0xF8, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xF8, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, 0x8C, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x8C, 0x8C, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x31, 0x31, 0x31, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0xF1, 0xE3, 0xE7, 0xCF, 0xCF, 0xCF, 0xCF, 0x00, 0x00, 0xCF, 0xCF, 0xCF, 0xC7, 0xE7, 0xE3, 0xF1, 0xF8, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x31, 0x31, 0x31, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x1F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x1F, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; -# endif -#elif LCDWIDTH == 128 -# if LCDHEIGHT == 32 +# endif +# elif LCDWIDTH == 128 +# if LCDHEIGHT == 32 static uint8_t micro_oled_screen_buffer[LCDWIDTH * LCDHEIGHT / 8] = { // 128x32 qmk image 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xFC, 0xFC, 0xE0, 0xFC, 0xFC, 0xE0, 0xF0, 0xFC, 0xE0, 0xE0, 0xFC, 0xE0, 0xE0, 0xFC, 0xFC, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x10, 0x10, 0x30, 0xE0, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xB2, 0xB2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0xFF, 0xFF, 0xFF, 0x03, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0xB2, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x02, 0x02, 0x03, 0x01, 0x00, 0x06, 0x1F, 0x10, 0x10, 0x10, 0x1F, 0x06, 0x00, 0x03, 0x1E, 0x18, 0x0F, 0x01, 0x0F, 0x18, 0x1E, 0x01, 0x00, 0x0F, 0x1F, 0x12, 0x02, 0x12, 0x13, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0x12, 0x02, 0x12, 0x13, 0x00, 0x00, 0x1F, 0x10, 0x10, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x4D, 0x4D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xF9, 0xF3, 0xF3, 0xC0, 0x80, 0xF3, 0xF3, 0xF3, 0xF9, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xED, 0x4D, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x20, 0x10, 0x10, 0xE0, 0xC0, 0x00, 0x70, 0xC0, 0x00, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x1C, 0xF0, 0x00, 0x00, 0xFC, 0x0C, 0x38, 0xE0, 0x00, 0x00, 0xC0, 0x38, 0x0C, 0xFC, 0x00, 0x00, 0xFC, 0xFC, 0x60, 0x90, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x3F, 0x3F, 0x07, 0x3F, 0x3F, 0x07, 0x0F, 0x3F, 0x07, 0x07, 0x3F, 0x07, 0x07, 0x3F, 0x3F, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x06, 0x04, 0x04, 0x07, 0x01, 0x00, 0x00, 0x13, 0x1E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x07, 0x0D, 0x08, 0x00, 0x07, 0x00, 0x00, 0x01, 0x07, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x07, 0x00, 0x01, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; -# elif LCDHEIGHT == 64 +# elif LCDHEIGHT == 64 static uint8_t micro_oled_screen_buffer[LCDWIDTH * LCDHEIGHT / 8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0xFF, 0x7F, 0x7E, 0xFE, 0xFF, 0xFF, 0xFE, 0xFE, 0x7F, 0x7F, 0xFE, 0xFE, 0xFF, 0xFF, 0xFE, 0x7E, 0x7F, 0xFF, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x88, 0xDD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDD, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -99,10 +102,11 @@ static uint8_t micro_oled_screen_buffer[LCDWIDTH * LCDHEIGHT / 8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; // TODO: generate bitmap of QMK logo here -# endif -#else +# endif +# else // catchall for custom screen sizes static uint8_t micro_oled_screen_buffer[LCDWIDTH * LCDHEIGHT / 8] = {0}; +# endif #endif void micro_oled_init(void) { @@ -145,7 +149,7 @@ void micro_oled_init(void) { #endif send_command(MEMORYMODE); - send_command(0x10); + send_command(0x02); // 0x02 = 10b, Page addressing mode send_command(SETCOMPINS); // 0xDA if (LCDHEIGHT > 32) { @@ -206,6 +210,8 @@ void clear_screen(void) { send_data(0); } } + + memset(micro_oled_screen_current, 0, LCDWIDTH * LCDHEIGHT / 8); } /** \brief Clear SSD1306's memory. @@ -248,13 +254,14 @@ void send_buffer(void) { if (micro_oled_screen_buffer[i * LCDWIDTH + j] != micro_oled_screen_current[i * LCDWIDTH + j]) { if (page_addr != i) { set_page_address(i); + page_addr = i; } if (col_addr != j) { set_column_address(j); + col_addr = j + 1; } send_data(micro_oled_screen_buffer[i * LCDWIDTH + j]); micro_oled_screen_current[i * LCDWIDTH + j] = micro_oled_screen_buffer[i * LCDWIDTH + j]; - col_addr = j + 1; } } } diff --git a/drivers/sensors/adns5050.c b/drivers/sensors/adns5050.c new file mode 100644 index 000000000000..e7273977d5d0 --- /dev/null +++ b/drivers/sensors/adns5050.c @@ -0,0 +1,193 @@ +/* Copyright 2021 Colin Lam (Ploopy Corporation) + * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * Copyright 2019 Sunjun Kim + * Copyright 2019 Hiroyuki Okada + * + * 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 "adns5050.h" +#include "wait.h" +#include "debug.h" +#include "print.h" +#include "gpio.h" + +#ifndef OPTIC_ROTATED +# define OPTIC_ROTATED false +#endif + +// Definitions for the ADNS serial line. +#ifndef ADNS_SCLK_PIN +# define ADNS_SCLK_PIN B7 +#endif + +#ifndef ADNS_SDIO_PIN +# define ADNS_SDIO_PIN C6 +#endif + +#ifndef ADNS_CS_PIN +# define ADNS_CS_PIN B4 +#endif + +#ifdef CONSOLE_ENABLE +void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); } +#endif + +// Initialize the ADNS serial pins. +void adns_init(void) { + setPinOutput(ADNS_SCLK_PIN); + setPinOutput(ADNS_SDIO_PIN); + setPinOutput(ADNS_CS_PIN); +} + +// Perform a synchronization with the ADNS. +// Just as with the serial protocol, this is used by the slave to send a +// synchronization signal to the master. +void adns_sync(void) { + writePinLow(ADNS_CS_PIN); + wait_us(1); + writePinHigh(ADNS_CS_PIN); +} + +void adns_cs_select(void) { + writePinLow(ADNS_CS_PIN); +} + +void adns_cs_deselect(void) { + writePinHigh(ADNS_CS_PIN); +} + +uint8_t adns_serial_read(void) { + setPinInput(ADNS_SDIO_PIN); + uint8_t byte = 0; + + for (uint8_t i = 0; i < 8; ++i) { + writePinLow(ADNS_SCLK_PIN); + wait_us(1); + + byte = (byte << 1) | readPin(ADNS_SDIO_PIN); + + writePinHigh(ADNS_SCLK_PIN); + wait_us(1); + } + + return byte; +} + +void adns_serial_write(uint8_t data) { + setPinOutput(ADNS_SDIO_PIN); + + for (int8_t b = 7; b >= 0; b--) { + writePinLow(ADNS_SCLK_PIN); + + if (data & (1 << b)) + writePinHigh(ADNS_SDIO_PIN); + else + writePinLow(ADNS_SDIO_PIN); + + wait_us(2); + + writePinHigh(ADNS_SCLK_PIN); + } + + // tSWR. See page 15 of the ADNS spec sheet. + // Technically, this is only necessary if the next operation is an SDIO + // read. This is not guaranteed to be the case, but we're being lazy. + wait_us(4); + + // Note that tSWW is never necessary. All write operations require at + // least 32us, which exceeds tSWW, so there's never a need to wait for it. +} + +// Read a byte of data from a register on the ADNS. +// Don't forget to use the register map (as defined in the header file). +uint8_t adns_read_reg(uint8_t reg_addr) { + adns_cs_select(); + + adns_serial_write(reg_addr); + + // We don't need a minimum tSRAD here. That's because a 4ms wait time is + // already included in adns_serial_write(), so we're good. + // See page 10 and 15 of the ADNS spec sheet. + //wait_us(4); + + uint8_t byte = adns_serial_read(); + + // tSRW & tSRR. See page 15 of the ADNS spec sheet. + // Technically, this is only necessary if the next operation is an SDIO + // read or write. This is not guaranteed to be the case. + // Honestly, this wait could probably be removed. + wait_us(1); + + adns_cs_deselect(); + + return byte; +} + +void adns_write_reg(uint8_t reg_addr, uint8_t data) { + adns_cs_select(); + adns_serial_write( 0b10000000 | reg_addr ); + adns_serial_write(data); + adns_cs_deselect(); +} + +report_adns_t adns_read_burst(void) { + adns_cs_select(); + + report_adns_t data; + data.dx = 0; + data.dy = 0; + + adns_serial_write(REG_MOTION_BURST); + + // We don't need a minimum tSRAD here. That's because a 4ms wait time is + // already included in adns_serial_write(), so we're good. + // See page 10 and 15 of the ADNS spec sheet. + //wait_us(4); + + uint8_t x = adns_serial_read(); + uint8_t y = adns_serial_read(); + + // Burst mode returns a bunch of other shit that we don't really need. + // Setting CS to high ends burst mode early. + adns_cs_deselect(); + + data.dx = convert_twoscomp(x); + data.dy = convert_twoscomp(y); + + return data; +} + +// Convert a two's complement byte from an unsigned data type into a signed +// data type. +int8_t convert_twoscomp(uint8_t data) { + if ((data & 0x80) == 0x80) + return -128 + (data & 0x7F); + else + return data; +} + +// Don't forget to use the definitions for CPI in the header file. +void adns_set_cpi(uint8_t cpi) { + adns_write_reg(REG_MOUSE_CONTROL2, cpi); +} + +bool adns_check_signature(void) { + uint8_t pid = adns_read_reg(REG_PRODUCT_ID); + uint8_t rid = adns_read_reg(REG_REVISION_ID); + uint8_t pid2 = adns_read_reg(REG_PRODUCT_ID2); + + return (pid == 0x12 && rid == 0x01 && pid2 == 0x26); +} diff --git a/drivers/sensors/adns5050.h b/drivers/sensors/adns5050.h new file mode 100644 index 000000000000..ff8e8f78e985 --- /dev/null +++ b/drivers/sensors/adns5050.h @@ -0,0 +1,79 @@ +/* Copyright 2021 Colin Lam (Ploopy Corporation) + * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * Copyright 2019 Sunjun Kim + * Copyright 2019 Hiroyuki Okada + * + * 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 + +// Registers +#define REG_PRODUCT_ID 0x00 +#define REG_REVISION_ID 0x01 +#define REG_MOTION 0x02 +#define REG_DELTA_X 0x03 +#define REG_DELTA_Y 0x04 +#define REG_SQUAL 0x05 +#define REG_SHUTTER_UPPER 0x06 +#define REG_SHUTTER_LOWER 0x07 +#define REG_MAXIMUM_PIXEL 0x08 +#define REG_PIXEL_SUM 0x09 +#define REG_MINIMUM_PIXEL 0x0a +#define REG_PIXEL_GRAB 0x0b +#define REG_MOUSE_CONTROL 0x0d +#define REG_MOUSE_CONTROL2 0x19 +#define REG_LED_DC_MODE 0x22 +#define REG_CHIP_RESET 0x3a +#define REG_PRODUCT_ID2 0x3e +#define REG_INV_REV_ID 0x3f +#define REG_MOTION_BURST 0x63 + +// CPI values +#define CPI125 0x11 +#define CPI250 0x12 +#define CPI375 0x13 +#define CPI500 0x14 +#define CPI625 0x15 +#define CPI750 0x16 +#define CPI875 0x17 +#define CPI1000 0x18 +#define CPI1125 0x19 +#define CPI1250 0x1a +#define CPI1375 0x1b + +#ifdef CONSOLE_ENABLE +void print_byte(uint8_t byte); +#endif + +typedef struct { + int8_t dx; + int8_t dy; +} report_adns_t; + +// A bunch of functions to implement the ADNS5050-specific serial protocol. +// Note that the "serial.h" driver is insufficient, because it does not +// manually manipulate a serial clock signal. +void adns_init(void); +void adns_sync(void); +uint8_t adns_serial_read(void); +void adns_serial_write(uint8_t data); +uint8_t adns_read_reg(uint8_t reg_addr); +void adns_write_reg(uint8_t reg_addr, uint8_t data); +report_adns_t adns_read_burst(void); +int8_t convert_twoscomp(uint8_t data); +void adns_set_cpi(uint8_t cpi); +bool adns_check_signature(void); diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c new file mode 100644 index 000000000000..36213179f757 --- /dev/null +++ b/drivers/sensors/adns9800.c @@ -0,0 +1,219 @@ +/* Copyright 2020 Alexander Tulloh + * + * 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 "spi_master.h" +#include "quantum.h" +#include "adns9800_srom_A6.h" +#include "adns9800.h" + +// registers +#define REG_Product_ID 0x00 +#define REG_Revision_ID 0x01 +#define REG_Motion 0x02 +#define REG_Delta_X_L 0x03 +#define REG_Delta_X_H 0x04 +#define REG_Delta_Y_L 0x05 +#define REG_Delta_Y_H 0x06 +#define REG_SQUAL 0x07 +#define REG_Pixel_Sum 0x08 +#define REG_Maximum_Pixel 0x09 +#define REG_Minimum_Pixel 0x0a +#define REG_Shutter_Lower 0x0b +#define REG_Shutter_Upper 0x0c +#define REG_Frame_Period_Lower 0x0d +#define REG_Frame_Period_Upper 0x0e +#define REG_Configuration_I 0x0f +#define REG_Configuration_II 0x10 +#define REG_Frame_Capture 0x12 +#define REG_SROM_Enable 0x13 +#define REG_Run_Downshift 0x14 +#define REG_Rest1_Rate 0x15 +#define REG_Rest1_Downshift 0x16 +#define REG_Rest2_Rate 0x17 +#define REG_Rest2_Downshift 0x18 +#define REG_Rest3_Rate 0x19 +#define REG_Frame_Period_Max_Bound_Lower 0x1a +#define REG_Frame_Period_Max_Bound_Upper 0x1b +#define REG_Frame_Period_Min_Bound_Lower 0x1c +#define REG_Frame_Period_Min_Bound_Upper 0x1d +#define REG_Shutter_Max_Bound_Lower 0x1e +#define REG_Shutter_Max_Bound_Upper 0x1f +#define REG_LASER_CTRL0 0x20 +#define REG_Observation 0x24 +#define REG_Data_Out_Lower 0x25 +#define REG_Data_Out_Upper 0x26 +#define REG_SROM_ID 0x2a +#define REG_Lift_Detection_Thr 0x2e +#define REG_Configuration_V 0x2f +#define REG_Configuration_IV 0x39 +#define REG_Power_Up_Reset 0x3a +#define REG_Shutdown 0x3b +#define REG_Inverse_Product_ID 0x3f +#define REG_Motion_Burst 0x50 +#define REG_SROM_Load_Burst 0x62 +#define REG_Pixel_Burst 0x64 + +#define ADNS_CLOCK_SPEED 2000000 +#define MIN_CPI 200 +#define MAX_CPI 8200 +#define CPI_STEP 200 +#define CLAMP_CPI(value) value < MIN_CPI ? MIN_CPI : value > MAX_CPI ? MAX_CPI : value +#define SPI_MODE 3 +#define SPI_DIVISOR (F_CPU / ADNS_CLOCK_SPEED) +#define US_BETWEEN_WRITES 120 +#define US_BETWEEN_READS 20 +#define US_BEFORE_MOTION 100 +#define MSB1 0x80 + +extern const uint16_t adns_firmware_length; +extern const uint8_t adns_firmware_data[]; + +void adns_spi_start(void){ + spi_start(SPI_SS_PIN, false, SPI_MODE, SPI_DIVISOR); +} + +void adns_write(uint8_t reg_addr, uint8_t data){ + + adns_spi_start(); + spi_write(reg_addr | MSB1); + spi_write(data); + spi_stop(); + wait_us(US_BETWEEN_WRITES); +} + +uint8_t adns_read(uint8_t reg_addr){ + + adns_spi_start(); + spi_write(reg_addr & 0x7f ); + uint8_t data = spi_read(); + spi_stop(); + wait_us(US_BETWEEN_READS); + + return data; +} + +void adns_init() { + + setPinOutput(SPI_SS_PIN); + + spi_init(); + + // reboot + adns_write(REG_Power_Up_Reset, 0x5a); + wait_ms(50); + + // read registers and discard + adns_read(REG_Motion); + adns_read(REG_Delta_X_L); + adns_read(REG_Delta_X_H); + adns_read(REG_Delta_Y_L); + adns_read(REG_Delta_Y_H); + + // upload firmware + + // 3k firmware mode + adns_write(REG_Configuration_IV, 0x02); + + // enable initialisation + adns_write(REG_SROM_Enable, 0x1d); + + // wait a frame + wait_ms(10); + + // start SROM download + adns_write(REG_SROM_Enable, 0x18); + + // write the SROM file + + adns_spi_start(); + + spi_write(REG_SROM_Load_Burst | 0x80); + wait_us(15); + + // send all bytes of the firmware + unsigned char c; + for(int i = 0; i < adns_firmware_length; i++){ + c = (unsigned char)pgm_read_byte(adns_firmware_data + i); + spi_write(c); + wait_us(15); + } + + spi_stop(); + + wait_ms(10); + + // enable laser + uint8_t laser_ctrl0 = adns_read(REG_LASER_CTRL0); + adns_write(REG_LASER_CTRL0, laser_ctrl0 & 0xf0); +} + +config_adns_t adns_get_config(void) { + uint8_t config_1 = adns_read(REG_Configuration_I); + return (config_adns_t){ (config_1 & 0xFF) * CPI_STEP }; +} + +void adns_set_config(config_adns_t config) { + uint8_t config_1 = (CLAMP_CPI(config.cpi) / CPI_STEP) & 0xFF; + adns_write(REG_Configuration_I, config_1); +} + +static int16_t convertDeltaToInt(uint8_t high, uint8_t low){ + + // join bytes into twos compliment + uint16_t twos_comp = (high << 8) | low; + + // convert twos comp to int + if (twos_comp & 0x8000) + return -1 * (~twos_comp + 1); + + return twos_comp; +} + +report_adns_t adns_get_report(void) { + + report_adns_t report = {0, 0}; + + adns_spi_start(); + + // start burst mode + spi_write(REG_Motion_Burst & 0x7f); + + wait_us(US_BEFORE_MOTION); + + uint8_t motion = spi_read(); + + if(motion & 0x80) { + + // clear observation register + spi_read(); + + // delta registers + uint8_t delta_x_l = spi_read(); + uint8_t delta_x_h = spi_read(); + uint8_t delta_y_l = spi_read(); + uint8_t delta_y_h = spi_read(); + + report.x = convertDeltaToInt(delta_x_h, delta_x_l); + report.y = convertDeltaToInt(delta_y_h, delta_y_l); + } + + // clear residual motion + spi_write(REG_Motion & 0x7f); + + spi_stop(); + + return report; +} diff --git a/keyboards/oddball/adns/adns.h b/drivers/sensors/adns9800.h similarity index 100% rename from keyboards/oddball/adns/adns.h rename to drivers/sensors/adns9800.h diff --git a/keyboards/oddball/adns/adns9800_srom_A6.h b/drivers/sensors/adns9800_srom_A6.h similarity index 100% rename from keyboards/oddball/adns/adns9800_srom_A6.h rename to drivers/sensors/adns9800_srom_A6.h diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c new file mode 100644 index 000000000000..48098ff0cca8 --- /dev/null +++ b/drivers/sensors/pimoroni_trackball.c @@ -0,0 +1,201 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * Copyright 2021 Dasky (@daskygit) + * + * 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 "pimoroni_trackball.h" +#include "i2c_master.h" +#include "print.h" + +#ifndef PIMORONI_TRACKBALL_ADDRESS +# define PIMORONI_TRACKBALL_ADDRESS 0x0A +#endif +#ifndef PIMORONI_TRACKBALL_INTERVAL_MS +# define PIMORONI_TRACKBALL_INTERVAL_MS 8 +#endif +#ifndef PIMORONI_TRACKBALL_MOUSE_SCALE +# define PIMORONI_TRACKBALL_MOUSE_SCALE 5 +#endif +#ifndef PIMORONI_TRACKBALL_SCROLL_SCALE +# define PIMORONI_TRACKBALL_SCROLL_SCALE 1 +#endif +#ifndef PIMORONI_TRACKBALL_DEBOUNCE_CYCLES +# define PIMORONI_TRACKBALL_DEBOUNCE_CYCLES 20 +#endif +#ifndef PIMORONI_TRACKBALL_ERROR_COUNT +# define PIMORONI_TRACKBALL_ERROR_COUNT 10 +#endif + +#define TRACKBALL_TIMEOUT 100 +#define TRACKBALL_REG_LED_RED 0x00 +#define TRACKBALL_REG_LED_GRN 0x01 +#define TRACKBALL_REG_LED_BLU 0x02 +#define TRACKBALL_REG_LED_WHT 0x03 +#define TRACKBALL_REG_LEFT 0x04 +#define TRACKBALL_REG_RIGHT 0x05 +#define TRACKBALL_REG_UP 0x06 +#define TRACKBALL_REG_DOWN 0x07 + +static pimoroni_data current_pimoroni_data; +static report_mouse_t mouse_report; +static bool scrolling = false; +static int16_t x_offset = 0; +static int16_t y_offset = 0; +static int16_t h_offset = 0; +static int16_t v_offset = 0; +static uint16_t precision = 128; +static uint8_t error_count = 0; + +float trackball_get_precision(void) { return ((float)precision / 128); } +void trackball_set_precision(float floatprecision) { precision = (floatprecision * 128); } +bool trackball_is_scrolling(void) { return scrolling; } +void trackball_set_scrolling(bool scroll) { scrolling = scroll; } + +void trackball_set_rgbw(uint8_t r, uint8_t g, uint8_t b, uint8_t w) { + uint8_t data[4] = {r, g, b, w}; + __attribute__((unused)) i2c_status_t status = i2c_writeReg(PIMORONI_TRACKBALL_ADDRESS << 1, TRACKBALL_REG_LED_RED, data, sizeof(data), TRACKBALL_TIMEOUT); +#ifdef TRACKBALL_DEBUG + dprintf("Trackball RGBW i2c_status_t: %d\n", status); +#endif +} + +i2c_status_t read_pimoroni_trackball(pimoroni_data* data) { + i2c_status_t status = i2c_readReg(PIMORONI_TRACKBALL_ADDRESS << 1, TRACKBALL_REG_LEFT, (uint8_t*)data, sizeof(*data), TRACKBALL_TIMEOUT); +#ifdef TRACKBALL_DEBUG + dprintf("Trackball READ i2c_status_t: %d\nLeft: %d\nRight: %d\nUp: %d\nDown: %d\nSwtich: %d\n", status, data->left, data->right, data->up, data->down, data->click); +#endif + return status; +} + +__attribute__((weak)) void pointing_device_init(void) { + i2c_init(); + trackball_set_rgbw(0x00, 0x00, 0x00, 0x00); +} + +int16_t trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale) { + uint8_t offset = 0; + bool isnegative = false; + if (negative_dir > positive_dir) { + offset = negative_dir - positive_dir; + isnegative = true; + } else { + offset = positive_dir - negative_dir; + } + uint16_t magnitude = (scale * offset * offset * precision) >> 7; + return isnegative ? -(int16_t)(magnitude) : (int16_t)(magnitude); +} + +void trackball_adapt_values(int8_t* mouse, int16_t* offset) { + if (*offset > 127) { + *mouse = 127; + *offset -= 127; + } else if (*offset < -127) { + *mouse = -127; + *offset += 127; + } else { + *mouse = *offset; + *offset = 0; + } +} + +__attribute__((weak)) void trackball_click(bool pressed, report_mouse_t* mouse) { +#ifdef PIMORONI_TRACKBALL_CLICK + if (pressed) { + mouse->buttons |= MOUSE_BTN1; + } else { + mouse->buttons &= ~MOUSE_BTN1; + } +#endif +} + +__attribute__((weak)) bool pointing_device_task_user(pimoroni_data* trackball_data) { return true; }; + +__attribute__((weak)) void pointing_device_task() { + static fast_timer_t throttle = 0; + static uint16_t debounce = 0; + + if (error_count < PIMORONI_TRACKBALL_ERROR_COUNT && timer_elapsed_fast(throttle) >= PIMORONI_TRACKBALL_INTERVAL_MS) { + i2c_status_t status = read_pimoroni_trackball(¤t_pimoroni_data); + + if (status == I2C_STATUS_SUCCESS) { + error_count = 0; + + if (pointing_device_task_user(¤t_pimoroni_data)) { + mouse_report = pointing_device_get_report(); + + if (!(current_pimoroni_data.click & 128)) { + trackball_click(false, &mouse_report); + if (!debounce) { + if (scrolling) { +#ifdef PIMORONI_TRACKBALL_INVERT_X + h_offset += trackball_get_offsets(current_pimoroni_data.right, current_pimoroni_data.left, PIMORONI_TRACKBALL_SCROLL_SCALE); +#else + h_offset -= trackball_get_offsets(current_pimoroni_data.right, current_pimoroni_data.left, PIMORONI_TRACKBALL_SCROLL_SCALE); +#endif +#ifdef PIMORONI_TRACKBALL_INVERT_Y + v_offset += trackball_get_offsets(current_pimoroni_data.down, current_pimoroni_data.up, PIMORONI_TRACKBALL_SCROLL_SCALE); +#else + v_offset -= trackball_get_offsets(current_pimoroni_data.down, current_pimoroni_data.up, PIMORONI_TRACKBALL_SCROLL_SCALE); +#endif + } else { +#ifdef PIMORONI_TRACKBALL_INVERT_X + x_offset -= trackball_get_offsets(current_pimoroni_data.right, current_pimoroni_data.left, PIMORONI_TRACKBALL_MOUSE_SCALE); +#else + x_offset += trackball_get_offsets(current_pimoroni_data.right, current_pimoroni_data.left, PIMORONI_TRACKBALL_MOUSE_SCALE); +#endif +#ifdef PIMORONI_TRACKBALL_INVERT_Y + y_offset -= trackball_get_offsets(current_pimoroni_data.down, current_pimoroni_data.up, PIMORONI_TRACKBALL_MOUSE_SCALE); +#else + y_offset += trackball_get_offsets(current_pimoroni_data.down, current_pimoroni_data.up, PIMORONI_TRACKBALL_MOUSE_SCALE); +#endif + } + if (scrolling) { +#ifndef PIMORONI_TRACKBALL_ROTATE + trackball_adapt_values(&mouse_report.h, &h_offset); + trackball_adapt_values(&mouse_report.v, &v_offset); +#else + trackball_adapt_values(&mouse_report.h, &v_offset); + trackball_adapt_values(&mouse_report.v, &h_offset); +#endif + mouse_report.x = 0; + mouse_report.y = 0; + } else { +#ifndef PIMORONI_TRACKBALL_ROTATE + trackball_adapt_values(&mouse_report.x, &x_offset); + trackball_adapt_values(&mouse_report.y, &y_offset); +#else + trackball_adapt_values(&mouse_report.x, &y_offset); + trackball_adapt_values(&mouse_report.y, &x_offset); +#endif + mouse_report.h = 0; + mouse_report.v = 0; + } + } else { + debounce--; + } + } else { + trackball_click(true, &mouse_report); + debounce = PIMORONI_TRACKBALL_DEBOUNCE_CYCLES; + } + } + } else { + error_count++; + } + + pointing_device_set_report(mouse_report); + pointing_device_send(); + + throttle = timer_read_fast(); + } +} diff --git a/drivers/sensors/pimoroni_trackball.h b/drivers/sensors/pimoroni_trackball.h new file mode 100644 index 000000000000..6b2a41425d41 --- /dev/null +++ b/drivers/sensors/pimoroni_trackball.h @@ -0,0 +1,37 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * Copyright 2021 Dasky (@daskygit) + * + * 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 "quantum.h" +#include "pointing_device.h" + +typedef struct pimoroni_data { + uint8_t left; + uint8_t right; + uint8_t up; + uint8_t down; + uint8_t click; +} pimoroni_data; + +void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); +void trackball_click(bool pressed, report_mouse_t* mouse); +int16_t trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale); +void trackball_adapt_values(int8_t* mouse, int16_t* offset); +float trackball_get_precision(void); +void trackball_set_precision(float precision); +bool trackball_is_scrolling(void); +void trackball_set_scrolling(bool scroll); diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c new file mode 100644 index 000000000000..17c4675ffa5f --- /dev/null +++ b/drivers/sensors/pmw3360.c @@ -0,0 +1,271 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * Copyright 2019 Sunjun Kim + * Copyright 2020 Ploopy Corporation + * + * 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 "pmw3360.h" +#include "wait.h" +#include "debug.h" +#include "print.h" +#include "pmw3360_firmware.h" + +// Registers +#define REG_Product_ID 0x00 +#define REG_Revision_ID 0x01 +#define REG_Motion 0x02 +#define REG_Delta_X_L 0x03 +#define REG_Delta_X_H 0x04 +#define REG_Delta_Y_L 0x05 +#define REG_Delta_Y_H 0x06 +#define REG_SQUAL 0x07 +#define REG_Raw_Data_Sum 0x08 +#define REG_Maximum_Raw_data 0x09 +#define REG_Minimum_Raw_data 0x0A +#define REG_Shutter_Lower 0x0B +#define REG_Shutter_Upper 0x0C +#define REG_Control 0x0D +#define REG_Config1 0x0F +#define REG_Config2 0x10 +#define REG_Angle_Tune 0x11 +#define REG_Frame_Capture 0x12 +#define REG_SROM_Enable 0x13 +#define REG_Run_Downshift 0x14 +#define REG_Rest1_Rate_Lower 0x15 +#define REG_Rest1_Rate_Upper 0x16 +#define REG_Rest1_Downshift 0x17 +#define REG_Rest2_Rate_Lower 0x18 +#define REG_Rest2_Rate_Upper 0x19 +#define REG_Rest2_Downshift 0x1A +#define REG_Rest3_Rate_Lower 0x1B +#define REG_Rest3_Rate_Upper 0x1C +#define REG_Observation 0x24 +#define REG_Data_Out_Lower 0x25 +#define REG_Data_Out_Upper 0x26 +#define REG_Raw_Data_Dump 0x29 +#define REG_SROM_ID 0x2A +#define REG_Min_SQ_Run 0x2B +#define REG_Raw_Data_Threshold 0x2C +#define REG_Config5 0x2F +#define REG_Power_Up_Reset 0x3A +#define REG_Shutdown 0x3B +#define REG_Inverse_Product_ID 0x3F +#define REG_LiftCutoff_Tune3 0x41 +#define REG_Angle_Snap 0x42 +#define REG_LiftCutoff_Tune1 0x4A +#define REG_Motion_Burst 0x50 +#define REG_LiftCutoff_Tune_Timeout 0x58 +#define REG_LiftCutoff_Tune_Min_Length 0x5A +#define REG_SROM_Load_Burst 0x62 +#define REG_Lift_Config 0x63 +#define REG_Raw_Data_Burst 0x64 +#define REG_LiftCutoff_Tune2 0x65 + +bool _inBurst = false; + +void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); } + +bool spi_start_adv(void) { + bool status = spi_start(PMW3360_CS_PIN, PMW3360_SPI_LSBFIRST, PMW3360_SPI_MODE, PMW3360_SPI_DIVISOR); + wait_us(1); + return status; +} + +void spi_stop_adv(void) { + wait_us(1); + spi_stop(); +} + +spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data) { + if (reg_addr != REG_Motion_Burst) { + _inBurst = false; + } + + spi_start_adv(); + // send address of the register, with MSBit = 1 to indicate it's a write + spi_status_t status = spi_write(reg_addr | 0x80); + status = spi_write(data); + + // tSCLK-NCS for write operation + wait_us(20); + + // tSWW/tSWR (=120us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound + wait_us(100); + spi_stop(); + return status; +} + +uint8_t spi_read_adv(uint8_t reg_addr) { + spi_start_adv(); + // send adress of the register, with MSBit = 0 to indicate it's a read + spi_write(reg_addr & 0x7f); + + uint8_t data = spi_read(); + + // tSCLK-NCS for read operation is 120ns + wait_us(1); + + // tSRW/tSRR (=20us) minus tSCLK-NCS + wait_us(19); + + spi_stop(); + return data; +} + +void pmw_set_cpi(uint16_t cpi) { + uint8_t cpival = constrain((cpi / 100) - 1, 0, 0x77); // limits to 0--119 + + spi_start_adv(); + spi_write_adv(REG_Config1, cpival); + spi_stop(); +} + +uint16_t pmw_get_cpi(void) { + uint8_t cpival = spi_read_adv(REG_Config1); + return (uint16_t)(cpival & 0xFF) * 100; +} + +bool pmw_spi_init(void) { + setPinOutput(PMW3360_CS_PIN); + + spi_init(); + _inBurst = false; + + spi_stop(); + spi_start_adv(); + spi_stop(); + + spi_write_adv(REG_Shutdown, 0xb6); // Shutdown first + wait_ms(300); + + spi_start_adv(); + wait_us(40); + spi_stop_adv(); + wait_us(40); + + spi_write_adv(REG_Power_Up_Reset, 0x5a); + wait_ms(50); + + spi_read_adv(REG_Motion); + spi_read_adv(REG_Delta_X_L); + spi_read_adv(REG_Delta_X_H); + spi_read_adv(REG_Delta_Y_L); + spi_read_adv(REG_Delta_Y_H); + + pmw_upload_firmware(); + + spi_stop_adv(); + + wait_ms(10); + pmw_set_cpi(PMW3360_CPI); + + wait_ms(1); + + spi_write_adv(REG_Config2, 0x00); + + spi_write_adv(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -30, 30)); + + bool init_success = pmw_check_signature(); + + writePinLow(PMW3360_CS_PIN); + + return init_success; +} + +void pmw_upload_firmware(void) { + spi_write_adv(REG_SROM_Enable, 0x1d); + + wait_ms(10); + + spi_write_adv(REG_SROM_Enable, 0x18); + + spi_start_adv(); + spi_write(REG_SROM_Load_Burst | 0x80); + wait_us(15); + + unsigned char c; + for (int i = 0; i < firmware_length; i++) { + c = (unsigned char)pgm_read_byte(firmware_data + i); + spi_write(c); + wait_us(15); + } + wait_us(200); + + spi_read_adv(REG_SROM_ID); + + spi_write_adv(REG_Config2, 0x00); + + spi_stop(); + wait_ms(10); +} + +bool pmw_check_signature(void) { + uint8_t pid = spi_read_adv(REG_Product_ID); + uint8_t iv_pid = spi_read_adv(REG_Inverse_Product_ID); + uint8_t SROM_ver = spi_read_adv(REG_SROM_ID); + return (pid == 0x42 && iv_pid == 0xBD && SROM_ver == 0x04); // signature for SROM 0x04 +} + +report_pmw_t pmw_read_burst(void) { + if (!_inBurst) { + dprintf("burst on"); + spi_write_adv(REG_Motion_Burst, 0x00); + _inBurst = true; + } + + spi_start_adv(); + spi_write(REG_Motion_Burst); + wait_us(35); // waits for tSRAD + + report_pmw_t data; + data.motion = 0; + data.dx = 0; + data.mdx = 0; + data.dy = 0; + data.mdx = 0; + + data.motion = spi_read(); + spi_write(0x00); // skip Observation + data.dx = spi_read(); + data.mdx = spi_read(); + data.dy = spi_read(); + data.mdy = spi_read(); + + spi_stop(); + + if (debug_mouse) { + print_byte(data.motion); + print_byte(data.dx); + print_byte(data.mdx); + print_byte(data.dy); + print_byte(data.mdy); + dprintf("\n"); + } + + data.isMotion = (data.motion & 0x80) != 0; + data.isOnSurface = (data.motion & 0x08) == 0; + data.dx |= (data.mdx << 8); + data.dx = data.dx * -1; + data.dy |= (data.mdy << 8); + data.dy = data.dy * -1; + + spi_stop(); + + if (data.motion & 0b111) { // panic recovery, sometimes burst mode works weird. + _inBurst = false; + } + + return data; +} diff --git a/drivers/sensors/pmw3360.h b/drivers/sensors/pmw3360.h new file mode 100644 index 000000000000..124c62cf00eb --- /dev/null +++ b/drivers/sensors/pmw3360.h @@ -0,0 +1,85 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * Copyright 2019 Sunjun Kim + * Copyright 2020 Ploopy Corporation + * + * 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 "spi_master.h" + +#ifndef PMW3360_CPI +# define PMW3360_CPI 1600 +#endif + +#ifndef PMW3360_CLOCK_SPEED +# define PMW3360_CLOCK_SPEED 70000000 +#endif + +#ifndef PMW3360_SPI_LSBFIRST +# define PMW3360_SPI_LSBFIRST false +#endif + +#ifndef PMW3360_SPI_MODE +# define PMW3360_SPI_MODE 3 +#endif + +#ifndef PMW3360_SPI_DIVISOR +# ifdef __AVR__ +# define PMW3360_SPI_DIVISOR (F_CPU / PMW3360_CLOCK_SPEED) +# else +# define PMW3360_SPI_DIVISOR 64 +# endif +#endif + +#ifndef ROTATIONAL_TRANSFORM_ANGLE +# define ROTATIONAL_TRANSFORM_ANGLE 0x00 +#endif + +#ifndef PMW3360_CS_PIN +# error "No chip select pin defined -- missing PMW3360_CS_PIN" +#endif + +#ifdef CONSOLE_ENABLE +void print_byte(uint8_t byte); +#endif + +typedef struct { + int8_t motion; + bool isMotion; // True if a motion is detected. + bool isOnSurface; // True when a chip is on a surface + int16_t dx; // displacement on x directions. Unit: Count. (CPI * Count = Inch value) + int8_t mdx; + int16_t dy; // displacement on y directions. + int8_t mdy; +} report_pmw_t; + + + +bool spi_start_adv(void); +void spi_stop_adv(void); +spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data); +uint8_t spi_read_adv(uint8_t reg_addr); +bool pmw_spi_init(void); +void pmw_set_cpi(uint16_t cpi); +uint16_t pmw_get_cpi(void); +void pmw_upload_firmware(void); +bool pmw_check_signature(void); +report_pmw_t pmw_read_burst(void); + + +#define degToRad(angleInDegrees) ((angleInDegrees)*M_PI / 180.0) +#define radToDeg(angleInRadians) ((angleInRadians)*180.0 / M_PI) +#define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt))) diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360_firmware.h b/drivers/sensors/pmw3360_firmware.h similarity index 100% rename from keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360_firmware.h rename to drivers/sensors/pmw3360_firmware.h diff --git a/drivers/serial.h b/drivers/serial.h new file mode 100644 index 000000000000..d9c2a69e9699 --- /dev/null +++ b/drivers/serial.h @@ -0,0 +1,46 @@ +/* Copyright 2021 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 +#include + +#include + +// initiator is transaction start side +void soft_serial_initiator_init(void); +// target is interrupt accept side +void soft_serial_target_init(void); + +// initiator result +#define TRANSACTION_END 0 +#define TRANSACTION_NO_RESPONSE 0x1 +#define TRANSACTION_DATA_ERROR 0x2 +#define TRANSACTION_TYPE_ERROR 0x4 +int soft_serial_transaction(int sstd_index); + +// target status +// *SSTD_t.status has +// initiator: +// TRANSACTION_END +// or TRANSACTION_NO_RESPONSE +// or TRANSACTION_DATA_ERROR +// target: +// TRANSACTION_DATA_ERROR +// or TRANSACTION_ACCEPTED +#define TRANSACTION_ACCEPTED 0x8 +int soft_serial_get_and_clean_status(int sstd_index); diff --git a/keyboards/0_sixty/rules.mk b/keyboards/0_sixty/rules.mk index 92df0f561516..82cfc95d57b9 100644 --- a/keyboards/0_sixty/rules.mk +++ b/keyboards/0_sixty/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration diff --git a/keyboards/0xc7/61key/61key.c b/keyboards/0xc7/61key/61key.c new file mode 100644 index 000000000000..2db485796ca1 --- /dev/null +++ b/keyboards/0xc7/61key/61key.c @@ -0,0 +1,17 @@ +/* Copyright 2021 0xC7 + * + * 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 "61key.h" diff --git a/keyboards/0xc7/61key/61key.h b/keyboards/0xc7/61key/61key.h new file mode 100644 index 000000000000..ba05a3cbb01b --- /dev/null +++ b/keyboards/0xc7/61key/61key.h @@ -0,0 +1,43 @@ +/* Copyright 2021 0xC7 + * + * 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 KC_NOt, see . + */ + +#pragma once + +#include "quantum.h" + +#define ___ KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3D, \ + K40, K41, K42, K45, K48, K49, K4B, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, ___, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, ___, ___, K3D }, \ + { K40, K41, K42, ___, ___, K45, ___, ___, K48, K49, ___, K4B, ___, K4D } \ +} diff --git a/keyboards/0xc7/61key/config.h b/keyboards/0xc7/61key/config.h new file mode 100644 index 000000000000..d83a855572e8 --- /dev/null +++ b/keyboards/0xc7/61key/config.h @@ -0,0 +1,152 @@ +/* +Copyright 2021 0xC7 + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xE117 +#define PRODUCT_ID 0x6161 +#define DEVICE_VER 0x0001 +#define MANUFACTURER 0xC7 +#define PRODUCT 61Key + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, F7, F6, F5, F4, F1, F0 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file diff --git a/keyboards/0xc7/61key/info.json b/keyboards/0xc7/61key/info.json new file mode 100644 index 000000000000..de24ff668cd1 --- /dev/null +++ b/keyboards/0xc7/61key/info.json @@ -0,0 +1,76 @@ +{ + "keyboard_name": "61Key", + "url": "", + "maintainer": "0xC7", + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 1.25}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1.25, "y": 3}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3, "w": 1.75}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y": 4, "w": 1.25}, + {"x": 12.5, "y": 4, "w": 1.25}, + {"x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/0xc7/61key/keymaps/default/keymap.c b/keyboards/0xc7/61key/keymaps/default/keymap.c new file mode 100644 index 000000000000..62d0d31a6987 --- /dev/null +++ b/keyboards/0xc7/61key/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2021 0xC7 + * + * 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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, MO(1), KC_APP, KC_RCTL + ), + [1] = LAYOUT( + 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_DEL, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LOCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, C(A(KC_DEL)) + ) +}; \ No newline at end of file diff --git a/keyboards/0xc7/61key/keymaps/via/keymap.c b/keyboards/0xc7/61key/keymaps/via/keymap.c new file mode 100644 index 000000000000..3b2d1b451dc9 --- /dev/null +++ b/keyboards/0xc7/61key/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2021 0xC7 + * + * 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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, MO(1), KC_APP, KC_RCTL + ), + [1] = LAYOUT( + 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_DEL, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LOCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, C(A(KC_DEL)) + ), + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/bm60rgb/keymaps/via/rules.mk b/keyboards/0xc7/61key/keymaps/via/rules.mk similarity index 100% rename from keyboards/bm60rgb/keymaps/via/rules.mk rename to keyboards/0xc7/61key/keymaps/via/rules.mk diff --git a/keyboards/0xc7/61key/readme.md b/keyboards/0xc7/61key/readme.md new file mode 100644 index 000000000000..9c4b60315941 --- /dev/null +++ b/keyboards/0xc7/61key/readme.md @@ -0,0 +1,27 @@ +# 61Key + +![61Key](https://i.imgur.com/HdE6c6zh.jpeg) + +Custom keyboard designed by RealEmanGaming aka 0xC7 + +* Keyboard Maintainer: [0xC7](https://github.com/RealEmanGaming) +* Hardware Supported: ATMega32u4 +* Hardware Availability: N/A (private board, might open source) + +Make example for this keyboard (after setting up your build environment): + + make 61key:default + +Flashing example for this keyboard: + + make 61key: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 `RESET` if it is available diff --git a/keyboards/0xc7/61key/rules.mk b/keyboards/0xc7/61key/rules.mk new file mode 100644 index 000000000000..fb249d0e3da4 --- /dev/null +++ b/keyboards/0xc7/61key/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LTO_ENABLE = yes +KEY_LOCK_ENABLE = yes diff --git a/keyboards/0xcb/1337/1337.c b/keyboards/0xcb/1337/1337.c index 142c24639a9e..85781209b3a6 100644 --- a/keyboards/0xcb/1337/1337.c +++ b/keyboards/0xcb/1337/1337.c @@ -20,13 +20,6 @@ void eeconfig_init_kb(void) { #ifdef BACKLIGHT_ENABLE backlight_enable(); backlight_level(5); -#endif -#ifdef RGBLIGHT_ENABLE - rgblight_enable(); - rgblight_sethsv(0, 255, 255); -#ifdef RGBLIGHT_ANIMATIONS - rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); -#endif #endif eeconfig_update_kb(0); diff --git a/keyboards/0xcb/1337/1337.h b/keyboards/0xcb/1337/1337.h index 7de5365d8b8b..e1f238c126c2 100644 --- a/keyboards/0xcb/1337/1337.h +++ b/keyboards/0xcb/1337/1337.h @@ -26,6 +26,7 @@ along with this program. If not, see . * The second converts the arguments into a two-dimensional array which * represents the switch matrix. */ +// clang-format off #define LAYOUT( \ KA1, KA2, KA3, \ KB1, KB2, KB3, \ @@ -36,3 +37,4 @@ along with this program. If not, see . { KB1, KB2, KB3 }, \ { KC1, KC2, KC3 } \ } +// clang-format on diff --git a/keyboards/0xcb/1337/config.h b/keyboards/0xcb/1337/config.h index 25b1eadd91c3..21332c5585ea 100644 --- a/keyboards/0xcb/1337/config.h +++ b/keyboards/0xcb/1337/config.h @@ -17,6 +17,7 @@ along with this program. If not, see . #pragma once #include "config_common.h" +// clang-format off /* USB Device descriptor parameter */ #define VENDOR_ID 0xCB00 @@ -36,25 +37,37 @@ along with this program. If not, see . { E6, B4, B2 } \ } #define TAP_CODE_DELAY 10 +#define ENCODER_DIRECTION_FLIP #define ENCODER_RESOLUTION 4 #define ENCODERS_PAD_A { F5 } #define ENCODERS_PAD_B { F6 } #define BACKLIGHT_PIN B5 -// #define BACKLIGHT_BREATHING +#define BACKLIGHT_BREATHING #define BACKLIGHT_LEVELS 7 #define RGB_DI_PIN D3 #ifdef RGB_DI_PIN - #define RGBLED_NUM 5 + #define RGBLED_NUM 4 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /*== all animations enable ==*/ - #define RGBLIGHT_ANIMATIONS + #define RGBLIGHT_ANIMATIONS /* comment this and uncomment the lines below to save space */ + // #define RGBLIGHT_EFFECT_BREATHING + // #define RGBLIGHT_EFFECT_SNAKE + // #define RGBLIGHT_EFFECT_STATIC_GRADIENT + // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + // #define RGBLIGHT_EFFECT_RAINBOW_MOOD + /* default setup after eeprom reset */ + #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_EFFECT_BREATHING + 2 + #define RGBLIGHT_DEFAULT_HUE 152 + #define RGBLIGHT_DEFAULT_SAT 232 + #define RGBLIGHT_DEFAULT_VAR 255 + #define RGBLIGHT_DEFAULT_SPD 2 #endif +// clang-format on /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -65,6 +78,8 @@ along with this program. If not, see . #define LOCKING_RESYNC_ENABLE /* Oled Size */ #define OLED_DISPLAY_128X64 +#define OLED_FONT_END 255 +#define OLED_FONT_H "gfxfont.c" /* QMK DFU */ #define QMK_LED B0 diff --git a/keyboards/0xcb/1337/gfxfont.c b/keyboards/0xcb/1337/gfxfont.c new file mode 100644 index 000000000000..b78e359c7865 --- /dev/null +++ b/keyboards/0xcb/1337/gfxfont.c @@ -0,0 +1,277 @@ +/* +Copyright 2021 0xCB - Conor Burns + +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 "progmem.h" +// clang-format off +static const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x10, 0x10, 0x10, 0x7C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x00, 0xE0, 0xFC, 0x1E, 0x06, 0xC6, + 0xC6, 0x06, 0x1E, 0xFC, 0xE0, 0x00, + 0x00, 0x00, 0x60, 0xE0, 0x80, 0x00, + 0x00, 0x80, 0xE0, 0x60, 0x00, 0x00, + 0x00, 0x00, 0xE0, 0xF8, 0x3C, 0x0E, + 0x06, 0x06, 0x06, 0x0E, 0x0C, 0x00, + 0x00, 0x00, 0xFE, 0xFE, 0x86, 0x86, + 0x86, 0x86, 0x8C, 0x78, 0x70, 0x00, + 0x00, 0x0E, 0x0E, 0x06, 0x06, 0xFE, + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x8E, 0x86, 0x86, 0x86, + 0x86, 0x86, 0xCE, 0xFE, 0x7C, 0x00, + 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0xE6, 0xE6, 0x3E, 0x3E, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x06, 0x78, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE0, 0x1C, 0x02, 0x01, 0x04, 0x18, + 0x00, 0x00, 0x00, 0x02, 0x0C, 0x00, + 0x80, 0x80, 0x71, 0x02, 0x1C, 0xE0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x78, 0x06, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, + 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, + 0xFC, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0xE0, 0xE0, 0xE0, 0xE0, 0xF0, 0xF0, + 0x00, 0x00, 0x40, 0xF0, 0xFC, 0xFF, + 0xFF, 0xFC, 0xF0, 0xC0, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x3F, 0x78, 0x60, 0x63, + 0x63, 0x60, 0x78, 0x3F, 0x07, 0x00, + 0x00, 0x00, 0x60, 0x79, 0x19, 0x06, + 0x06, 0x19, 0x79, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x1F, 0x3C, 0x70, + 0x60, 0x60, 0x60, 0x70, 0x30, 0x00, + 0x00, 0x00, 0x7F, 0x7F, 0x61, 0x61, + 0x61, 0x61, 0x31, 0x1E, 0x0E, 0x00, + 0x00, 0x60, 0x60, 0x60, 0x60, 0x7F, + 0x7F, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x00, 0x30, 0x71, 0x61, 0x61, 0x61, + 0x61, 0x61, 0x73, 0x7F, 0x3E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, + 0x7F, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xBC, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x87, 0x38, 0x40, 0x80, 0x08, 0x08, + 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, + 0x00, 0x00, 0x80, 0x40, 0x38, 0x87, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0xBC, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, + 0xFC, 0xFE, 0xFC, 0xF8, 0xF9, 0xF3, + 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, + 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0xD0, 0x70, 0x00, 0x07, 0x05, + 0x07, 0x02, 0x02, 0x82, 0xC2, 0x42, + 0x7E, 0xC0, 0xC0, 0xC0, 0x40, 0x7E, + 0x42, 0xC2, 0x82, 0x02, 0x02, 0x07, + 0x05, 0x07, 0x00, 0x70, 0xD0, 0x70, + 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, + 0x10, 0xC8, 0xC8, 0x84, 0x04, 0x02, + 0x02, 0x02, 0x02, 0xC2, 0xC2, 0xC2, + 0xC2, 0xC4, 0xC4, 0xC8, 0x88, 0x90, + 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0xFD, 0x05, 0x04, 0x04, 0x04, + 0x1F, 0x30, 0x40, 0x87, 0x9F, 0x1F, + 0x01, 0x81, 0xFF, 0xFF, 0x00, 0x00, + 0x1E, 0x9E, 0x86, 0x40, 0x30, 0x1F, + 0x04, 0x04, 0x04, 0x05, 0xFD, 0x01, + 0x00, 0x0F, 0x70, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xE0, 0xF8, 0x3E, + 0x0F, 0x03, 0x00, 0xFF, 0xFF, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x70, 0x0F, 0x00, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, + 0xC0, 0xF0, 0xFC, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x07, 0x03, 0x03, + 0x03, 0x03, 0x07, 0xFF, 0xFF, 0xFF, + 0xDF, 0x9F, 0x3F, 0x3C, 0x70, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xC0, 0x5F, 0xD0, 0x90, 0x90, 0x90, + 0xFC, 0x06, 0x01, 0xF8, 0xFC, 0xFC, + 0xC0, 0xC0, 0xFF, 0xFF, 0x00, 0x00, + 0x3C, 0x3C, 0x30, 0x01, 0x06, 0xFC, + 0x90, 0x90, 0x90, 0xD0, 0x5F, 0xC0, + 0x00, 0xF0, 0x0E, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x07, 0x1E, + 0x3C, 0xF0, 0xE0, 0xFF, 0xFF, 0x80, + 0x80, 0x80, 0x80, 0xC1, 0xC1, 0xFF, + 0x3E, 0x00, 0x01, 0x0E, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x05, 0x07, 0x00, 0x70, 0x50, + 0x70, 0x20, 0x20, 0x20, 0x21, 0x3F, + 0x01, 0x61, 0x9F, 0x9F, 0x61, 0x01, + 0x3F, 0x21, 0x20, 0x20, 0x20, 0x70, + 0x50, 0x70, 0x00, 0x07, 0x05, 0x07, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, + 0x08, 0x10, 0x13, 0x23, 0x20, 0x40, + 0x40, 0x40, 0x40, 0x43, 0x43, 0x40, + 0x40, 0x20, 0x20, 0x10, 0x10, 0x08, + 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x07, 0x07, 0x07, 0x07, 0x0F, 0x0F, + 0x0F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, + 0x3F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, + 0x00, 0x80, 0xC0, 0x70, 0x7C, 0x3F, + 0x3F, 0x1F, 0x0F, 0x0F, 0x07, 0x07, + 0x07, 0x03, 0x03, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x03, 0x03, 0x07, + 0x07, 0x07, 0x0F, 0x0F, 0x1E, 0x3E, + 0x3C, 0x7C, 0x70, 0xC0, 0x80, 0x00, +}; +// clang-format on diff --git a/keyboards/0xcb/1337/keymaps/conor/keymap.c b/keyboards/0xcb/1337/keymaps/conor/keymap.c new file mode 100644 index 000000000000..63c3ea9f58f1 --- /dev/null +++ b/keyboards/0xcb/1337/keymaps/conor/keymap.c @@ -0,0 +1,185 @@ +/* +Copyright 2021 0xCB - Conor Burns + +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 +// clang-format off +enum layer_names { + _HOME, + _MISC, + _RGB, + _BLED +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_HOME] = LAYOUT( + KC_MPRV, KC_MNXT, KC_MPLY, + KC_PGUP, KC_PGDN, TO(3), + KC_HOME, KC_END, TO(1) +), +[_MISC] = LAYOUT( + _______, _______, _______, + _______, _______, TO(0), + _______, _______, TO(2) +), +[_RGB] = LAYOUT( + RGB_HUI, RGB_HUD, RGB_MOD, + RGB_SAI, RGB_SAD, TO(1), + RGB_SPI, RGB_SPD, TO(3) +), +[_BLED] = LAYOUT( + BL_STEP, BL_BRTG, BL_TOGG, + BL_ON, BL_OFF, TO(2), + BL_INC, BL_DEC, TO(0) +) +}; +// clang-format on + +/* rotary encoder (SW3) - add more else if blocks for more granular layer control */ +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (IS_LAYER_ON(_RGB)) { + #ifdef RGBLIGHT_ENABLE + if (clockwise) { + rgblight_increase_val(); + } else { + rgblight_decrease_val(); + } + #endif + } else if (IS_LAYER_ON(_BLED)) { + if (clockwise) { + backlight_increase(); + } else { + backlight_decrease(); + } + } else { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} +#endif + +/* oled stuff :) */ +#ifdef OLED_ENABLE +uint16_t startup_timer; + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + startup_timer = timer_read(); + return rotation; +} + +static void render_logo(void) { + static const char PROGMEM raw_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,120, 56, 63, 28, 14, 14, 14,254, 14, 14, 30, 28, 63, 56,120,112,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 19,162, 66, 66, 66, 66, 66, 66, 66,255,255,255, 0, 0, 0,252,254,254,192,192,192,192,255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1,255,255,255, 66, 66, 66, 66, 66, 66, 66,162, 19,160, 64, 0, + 0, 0, 0,128, 64, 64, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,192, 64, 64,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 64,192, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,128,192, 64, 64,192,128, 0, 0, 64, 64, 64, 64, 64,192, 0, 0, 0, 0, 0,249, 8, 8, 8, 8, 8, 8, 8, 8,127,255,255,192,128,128, 15, 31, 31, 1, 1, 1, 1,255, 0, 0, 0, 30, 30, 14, 14,128,192,192,255,255,127, 8, 8, 8, 8, 8, 8, 8, 8,249, 0, 0, 0, + 0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0,127, 68, 68,100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 0, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 0, 0, 0,126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15,254, 30, 28, 28, 28,255, 28, 28, 28, 30,254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + oled_write_raw_P(raw_logo, sizeof(raw_logo)); +} +static void render_logo_font(void) { + static const char PROGMEM qmk_logo[] = { + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xCB, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xCB, 0x9C, 0x9D, 0xCB, 0xCB, + 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xCB, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xBB, 0xBC, 0xBD, 0xBE, 0xCB, + 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xCB, 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xDB, 0xDC, 0xDD, 0xDE, 0xCB, + 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xCB, 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00 + }; + + oled_write_P(qmk_logo, false); +} +/* Shows the name of the current layer and locks for the host (CAPS etc.) */ +static void render_info(void) { + oled_write_P(PSTR("Layer: "), false); + + switch (get_highest_layer(layer_state)) { + case _HOME: + oled_write_ln_P(PSTR("HOME"), false); + break; + case _MISC: + oled_write_ln_P(PSTR("MISC"), false); + break; + case _RGB: + oled_write_ln_P(PSTR("RGB"), false); + break; + case _BLED: + oled_write_ln_P(PSTR("Backlight"), false); + break; + default: + oled_write_ln_P(PSTR("Undefined"), false); + } + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); +} +static void render_rgbled_status(bool) { + char string[4]; + if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) { + uint16_t m = rgblight_get_mode(); + string[3] = '\0'; + string[2] = '0' + m % 10; + string[1] = ( m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' '; + string[0] = m / 10 ? '0' + m / 10 : ' '; + oled_write_P(PSTR("Conf:"), false); + oled_write(string, false); + uint16_t h = rgblight_get_hue()/RGBLIGHT_HUE_STEP; + string[3] = '\0'; + string[2] = '0' + h % 10; + string[1] = ( h /= 10) % 10 ? '0' + (h) % 10 : (h / 10) % 10 ? '0' : ' '; + string[0] = h / 10 ? '0' + h / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + uint16_t s = rgblight_get_sat()/RGBLIGHT_SAT_STEP; + string[3] = '\0'; + string[2] = '0' + s % 10; + string[1] = ( s /= 10) % 10 ? '0' + (s) % 10 : (s / 10) % 10 ? '0' : ' '; + string[0] = s / 10 ? '0' + s / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + uint16_t v = rgblight_get_val()/RGBLIGHT_VAL_STEP; + string[3] = '\0'; + string[2] = '0' + v % 10; + string[1] = ( v /= 10) % 10 ? '0' + (v) % 10 : (v / 10) % 10 ? '0' : ' '; + string[0] = v / 10 ? '0' + v / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + oled_write_ln_P(PSTR("\n MOD HUE SAT VAR"), false); + } else { + oled_write_ln_P(PSTR("\n"), false); + } +} +void oled_task_user(void) { + static bool finished_timer = false; + if (!finished_timer && (timer_elapsed(startup_timer) < 1000)) { + render_logo(); + } else { + if (!finished_timer) { + oled_clear(); + finished_timer = true; + } + render_info(); + render_rgbled_status(true); + render_logo_font(); + } +} +#endif diff --git a/keyboards/bakeneko65/keymaps/via/rules.mk b/keyboards/0xcb/1337/keymaps/conor/rules.mk similarity index 100% rename from keyboards/bakeneko65/keymaps/via/rules.mk rename to keyboards/0xcb/1337/keymaps/conor/rules.mk diff --git a/keyboards/0xcb/1337/keymaps/default/keymap.c b/keyboards/0xcb/1337/keymaps/default/keymap.c index c711bdae90f4..b79ecb767e30 100644 --- a/keyboards/0xcb/1337/keymaps/default/keymap.c +++ b/keyboards/0xcb/1337/keymaps/default/keymap.c @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include QMK_KEYBOARD_H - +// clang-format off enum layer_names { _HOME, _MISC, @@ -45,17 +45,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { BL_INC, BL_DEC, TO(0) ) }; - +// clang-format on /* rotary encoder (SW3) - add more else if blocks for more granular layer control */ #ifdef ENCODER_ENABLE -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (IS_LAYER_ON(_RGB)) { +# ifdef RGBLIGHT_ENABLE if (clockwise) { rgblight_increase_val(); } else { rgblight_decrease_val(); } +# endif } else if (IS_LAYER_ON(_BLED)) { if (clockwise) { backlight_increase(); @@ -69,11 +71,12 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } #endif /* oled stuff :) */ -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE uint16_t startup_timer; oled_rotation_t oled_init_user(oled_rotation_t rotation) { @@ -82,74 +85,18 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { } static void render_logo(void) { - static const char PROGMEM logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x02, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, - 0xf8, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, 0x78, - 0x38, 0x3f, 0x1c, 0x0e, 0x0e, 0x0e, 0xfe, 0x0e, 0x0e, 0x1e, 0x1c, 0x3f, 0x38, 0x78, 0x70, 0xe0, - 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0xf8, 0x05, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xa0, - 0x13, 0xa2, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfc, - 0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x3c, 0x3c, 0x00, 0x00, - 0x01, 0xff, 0xff, 0xff, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xa2, 0x13, 0xa0, 0x40, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0x40, - 0x40, 0xc0, 0x80, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xf9, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f, 0xff, 0xff, 0xc0, 0x80, 0x80, 0x0f, - 0x1f, 0x1f, 0x01, 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x0e, 0x0e, 0x80, 0xc0, - 0xc0, 0xff, 0xff, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf9, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x1f, 0x31, 0x40, 0x4e, 0x40, 0x31, 0x1f, 0x00, 0x00, 0x61, 0x16, 0x08, 0x16, 0x61, - 0x00, 0x00, 0x1f, 0x31, 0x60, 0x40, 0x40, 0x60, 0x20, 0x00, 0x00, 0x7f, 0x44, 0x44, 0x64, 0x3b, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, - 0x40, 0x40, 0x00, 0x00, 0x00, 0x20, 0x64, 0x44, 0x44, 0x6e, 0x3b, 0x00, 0x00, 0x20, 0x64, 0x44, - 0x44, 0x6e, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x03, 0x01, 0x00, 0x00, 0x00, 0x08, 0x14, - 0x23, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x07, - 0x0f, 0xfe, 0x1e, 0x1c, 0x1c, 0x1c, 0xff, 0x1c, 0x1c, 0x1c, 0x1e, 0xfe, 0x0f, 0x07, 0x03, 0x03, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0a, 0x11, 0x0a, 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x10, 0x1f, 0x00, 0x00, 0x10, 0x28, 0x47, 0x28, 0x10, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, - 0x10, 0x10, 0x28, 0x44, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; + static const char PROGMEM raw_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 248, 5, 2, 0, 0, 0, 0, 0, 0, 128, 192, 192, 224, 224, 112, 120, 56, 63, 28, 14, 14, 14, 254, 14, 14, 30, 28, 63, 56, 120, 112, 224, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 2, 5, 248, 5, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 160, 19, 162, 66, 66, 66, 66, 66, 66, 66, 255, 255, 255, 0, 0, 0, 252, 254, 254, 192, 192, 192, 192, 255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1, 255, 255, 255, 66, 66, 66, 66, 66, 66, 66, 162, 19, 160, 64, 0, 0, 0, 0, 128, 64, 64, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 64, 64, 192, 128, 0, 0, 192, 64, 64, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 64, 192, 0, 0, 0, 0, 0, 128, 192, 64, 64, 192, 128, 0, 0, 128, 192, 64, 64, 192, 128, 0, 0, 64, 64, 64, 64, 64, 192, 0, 0, 0, 0, 0, 249, 8, 8, 8, 8, 8, 8, 8, 8, 127, 255, 255, 192, 128, 128, 15, 31, 31, 1, 1, 1, 1, 255, 0, 0, 0, 30, 30, 14, 14, 128, 192, 192, 255, 255, 127, 8, 8, 8, 8, 8, 8, 8, 8, 249, 0, 0, 0, + 0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0, 127, 68, 68, 100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 127, 64, 64, 0, 0, 0, 32, 100, 68, 68, 110, 59, 0, 0, 32, 100, 68, 68, 110, 59, 0, 0, 0, 0, 0, 126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15, 254, 30, 28, 28, 28, 255, 28, 28, 28, 30, 254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + oled_write_raw_P(raw_logo, sizeof(raw_logo)); +} +static void render_logo_font(void) { + static const char PROGMEM qmk_logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x00}; - oled_write_raw_P(logo, sizeof(logo)); + oled_write_P(qmk_logo, false); } /* Shows the name of the current layer and locks for the host (CAPS etc.) */ static void render_info(void) { @@ -174,16 +121,56 @@ static void render_info(void) { led_t led_state = host_keyboard_led_state(); oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); - oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); +} +static void render_rgbled_status(void) { + char string[4]; + if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) { + uint16_t m = rgblight_get_mode(); + string[3] = '\0'; + string[2] = '0' + m % 10; + string[1] = (m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' '; + string[0] = m / 10 ? '0' + m / 10 : ' '; + oled_write_P(PSTR("Conf:"), false); + oled_write(string, false); + uint16_t h = rgblight_get_hue() / RGBLIGHT_HUE_STEP; + string[3] = '\0'; + string[2] = '0' + h % 10; + string[1] = (h /= 10) % 10 ? '0' + (h) % 10 : (h / 10) % 10 ? '0' : ' '; + string[0] = h / 10 ? '0' + h / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + uint16_t s = rgblight_get_sat() / RGBLIGHT_SAT_STEP; + string[3] = '\0'; + string[2] = '0' + s % 10; + string[1] = (s /= 10) % 10 ? '0' + (s) % 10 : (s / 10) % 10 ? '0' : ' '; + string[0] = s / 10 ? '0' + s / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + uint16_t v = rgblight_get_val() / RGBLIGHT_VAL_STEP; + string[3] = '\0'; + string[2] = '0' + v % 10; + string[1] = (v /= 10) % 10 ? '0' + (v) % 10 : (v / 10) % 10 ? '0' : ' '; + string[0] = v / 10 ? '0' + v / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + oled_write_ln_P(PSTR("\n MOD HUE SAT VAR"), false); + } else { + oled_write_ln_P(PSTR("\n"), false); + } } - void oled_task_user(void) { static bool finished_timer = false; - if ((timer_elapsed(startup_timer) < 3000) && !finished_timer) { + if (!finished_timer && (timer_elapsed(startup_timer) < 1000)) { render_logo(); } else { - finished_timer = true; + if (!finished_timer) { + oled_clear(); + finished_timer = true; + } render_info(); + render_rgbled_status(); + render_logo_font(); } } #endif diff --git a/keyboards/0xcb/1337/keymaps/jakob/keymap.c b/keyboards/0xcb/1337/keymaps/jakob/keymap.c new file mode 100644 index 000000000000..190fee21c6de --- /dev/null +++ b/keyboards/0xcb/1337/keymaps/jakob/keymap.c @@ -0,0 +1,185 @@ +/* +Copyright 2021 0xCB - Conor Burns + +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 +// clang-format off +enum layer_names { + _HOME, + _MISC, + _RGB, + _BLED +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_HOME] = LAYOUT( + KC_MPRV, KC_MNXT, KC_MPLY, + KC_PGUP, KC_PGDN, TO(3), + KC_HOME, KC_END, TO(1) +), +[_MISC] = LAYOUT( + _______, _______, _______, + _______, _______, TO(0), + _______, _______, TO(2) +), +[_RGB] = LAYOUT( + RGB_HUI, RGB_HUD, RGB_MOD, + RGB_SAI, RGB_SAD, TO(1), + RGB_SPI, RGB_SPD, TO(3) +), +[_BLED] = LAYOUT( + BL_STEP, BL_BRTG, BL_TOGG, + BL_ON, BL_OFF, TO(2), + BL_INC, BL_DEC, TO(0) +) +}; +// clang-format on + +/* rotary encoder (SW3) - add more else if blocks for more granular layer control */ +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (IS_LAYER_ON(_RGB)) { + #ifdef RGBLIGHT_ENABLE + if (clockwise) { + rgblight_increase_val(); + } else { + rgblight_decrease_val(); + } + #endif + } else if (IS_LAYER_ON(_BLED)) { + if (clockwise) { + backlight_increase(); + } else { + backlight_decrease(); + } + } else { + if (clockwise) { + tap_code16(C(A(KC_UP))); + } else { + tap_code16(C(A(KC_DOWN))); + } + } + return true; +} +#endif + +/* oled stuff :) */ +#ifdef OLED_ENABLE +uint16_t startup_timer; + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + startup_timer = timer_read(); + return rotation; +} + +static void render_logo(void) { + static const char PROGMEM raw_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,120, 56, 63, 28, 14, 14, 14,254, 14, 14, 30, 28, 63, 56,120,112,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 19,162, 66, 66, 66, 66, 66, 66, 66,255,255,255, 0, 0, 0,252,254,254,192,192,192,192,255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1,255,255,255, 66, 66, 66, 66, 66, 66, 66,162, 19,160, 64, 0, + 0, 0, 0,128, 64, 64, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,192, 64, 64,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 64,192, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,128,192, 64, 64,192,128, 0, 0, 64, 64, 64, 64, 64,192, 0, 0, 0, 0, 0,249, 8, 8, 8, 8, 8, 8, 8, 8,127,255,255,192,128,128, 15, 31, 31, 1, 1, 1, 1,255, 0, 0, 0, 30, 30, 14, 14,128,192,192,255,255,127, 8, 8, 8, 8, 8, 8, 8, 8,249, 0, 0, 0, + 0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0,127, 68, 68,100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 0, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 0, 0, 0,126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15,254, 30, 28, 28, 28,255, 28, 28, 28, 30,254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + oled_write_raw_P(raw_logo, sizeof(raw_logo)); +} +static void render_logo_font(void) { + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, + 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, + 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x00 + }; + + oled_write_P(qmk_logo, false); +} +/* Shows the name of the current layer and locks for the host (CAPS etc.) */ +static void render_info(void) { + oled_write_P(PSTR("Layer: "), false); + + switch (get_highest_layer(layer_state)) { + case _HOME: + oled_write_ln_P(PSTR("HOME"), false); + break; + case _MISC: + oled_write_ln_P(PSTR("MISC"), false); + break; + case _RGB: + oled_write_ln_P(PSTR("RGB"), false); + break; + case _BLED: + oled_write_ln_P(PSTR("Backlight"), false); + break; + default: + oled_write_ln_P(PSTR("Undefined"), false); + } + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); +} +static void render_rgbled_status(bool) { + char string[4]; + if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) { + uint16_t m = rgblight_get_mode(); + string[3] = '\0'; + string[2] = '0' + m % 10; + string[1] = ( m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' '; + string[0] = m / 10 ? '0' + m / 10 : ' '; + oled_write_P(PSTR("Conf:"), false); + oled_write(string, false); + uint16_t h = rgblight_get_hue()/RGBLIGHT_HUE_STEP; + string[3] = '\0'; + string[2] = '0' + h % 10; + string[1] = ( h /= 10) % 10 ? '0' + (h) % 10 : (h / 10) % 10 ? '0' : ' '; + string[0] = h / 10 ? '0' + h / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + uint16_t s = rgblight_get_sat()/RGBLIGHT_SAT_STEP; + string[3] = '\0'; + string[2] = '0' + s % 10; + string[1] = ( s /= 10) % 10 ? '0' + (s) % 10 : (s / 10) % 10 ? '0' : ' '; + string[0] = s / 10 ? '0' + s / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + uint16_t v = rgblight_get_val()/RGBLIGHT_VAL_STEP; + string[3] = '\0'; + string[2] = '0' + v % 10; + string[1] = ( v /= 10) % 10 ? '0' + (v) % 10 : (v / 10) % 10 ? '0' : ' '; + string[0] = v / 10 ? '0' + v / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + oled_write_ln_P(PSTR("\n MOD HUE SAT VAR"), false); + } else { + oled_write_ln_P(PSTR("\n"), false); + } +} +void oled_task_user(void) { + static bool finished_timer = false; + if (!finished_timer && (timer_elapsed(startup_timer) < 1000)) { + render_logo(); + } else { + if (!finished_timer) { + oled_clear(); + finished_timer = true; + } + render_info(); + render_rgbled_status(true); + render_logo_font(); + } +} +#endif diff --git a/keyboards/bm40hsrgb/keymaps/via/rules.mk b/keyboards/0xcb/1337/keymaps/jakob/rules.mk similarity index 100% rename from keyboards/bm40hsrgb/keymaps/via/rules.mk rename to keyboards/0xcb/1337/keymaps/jakob/rules.mk diff --git a/keyboards/0xcb/1337/keymaps/via/keymap.c b/keyboards/0xcb/1337/keymaps/via/keymap.c index c711bdae90f4..eefa67ddb60e 100644 --- a/keyboards/0xcb/1337/keymaps/via/keymap.c +++ b/keyboards/0xcb/1337/keymaps/via/keymap.c @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include QMK_KEYBOARD_H - +// clang-format off enum layer_names { _HOME, _MISC, @@ -45,17 +45,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { BL_INC, BL_DEC, TO(0) ) }; - +// clang-format on /* rotary encoder (SW3) - add more else if blocks for more granular layer control */ #ifdef ENCODER_ENABLE -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (IS_LAYER_ON(_RGB)) { - if (clockwise) { - rgblight_increase_val(); - } else { - rgblight_decrease_val(); - } + #ifdef RGBLIGHT_ENABLE + if (clockwise) { + rgblight_increase_val(); + } else { + rgblight_decrease_val(); + } + #endif } else if (IS_LAYER_ON(_BLED)) { if (clockwise) { backlight_increase(); @@ -69,11 +71,12 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } #endif /* oled stuff :) */ -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE uint16_t startup_timer; oled_rotation_t oled_init_user(oled_rotation_t rotation) { @@ -82,74 +85,27 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) { } static void render_logo(void) { - static const char PROGMEM logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x02, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, - 0xf8, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, 0x78, - 0x38, 0x3f, 0x1c, 0x0e, 0x0e, 0x0e, 0xfe, 0x0e, 0x0e, 0x1e, 0x1c, 0x3f, 0x38, 0x78, 0x70, 0xe0, - 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0xf8, 0x05, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xa0, - 0x13, 0xa2, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfc, - 0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x3c, 0x3c, 0x00, 0x00, - 0x01, 0xff, 0xff, 0xff, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xa2, 0x13, 0xa0, 0x40, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0xc0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0x40, - 0x40, 0xc0, 0x80, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xf9, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f, 0xff, 0xff, 0xc0, 0x80, 0x80, 0x0f, - 0x1f, 0x1f, 0x01, 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x0e, 0x0e, 0x80, 0xc0, - 0xc0, 0xff, 0xff, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf9, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x1f, 0x31, 0x40, 0x4e, 0x40, 0x31, 0x1f, 0x00, 0x00, 0x61, 0x16, 0x08, 0x16, 0x61, - 0x00, 0x00, 0x1f, 0x31, 0x60, 0x40, 0x40, 0x60, 0x20, 0x00, 0x00, 0x7f, 0x44, 0x44, 0x64, 0x3b, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, - 0x40, 0x40, 0x00, 0x00, 0x00, 0x20, 0x64, 0x44, 0x44, 0x6e, 0x3b, 0x00, 0x00, 0x20, 0x64, 0x44, - 0x44, 0x6e, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x03, 0x01, 0x00, 0x00, 0x00, 0x08, 0x14, - 0x23, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x07, - 0x0f, 0xfe, 0x1e, 0x1c, 0x1c, 0x1c, 0xff, 0x1c, 0x1c, 0x1c, 0x1e, 0xfe, 0x0f, 0x07, 0x03, 0x03, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0a, 0x11, 0x0a, 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x10, 0x1f, 0x00, 0x00, 0x10, 0x28, 0x47, 0x28, 0x10, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10, - 0x10, 0x10, 0x28, 0x44, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; + static const char PROGMEM raw_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,120, 56, 63, 28, 14, 14, 14,254, 14, 14, 30, 28, 63, 56,120,112,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 19,162, 66, 66, 66, 66, 66, 66, 66,255,255,255, 0, 0, 0,252,254,254,192,192,192,192,255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1,255,255,255, 66, 66, 66, 66, 66, 66, 66,162, 19,160, 64, 0, + 0, 0, 0,128, 64, 64, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,192, 64, 64,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 64,192, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,128,192, 64, 64,192,128, 0, 0, 64, 64, 64, 64, 64,192, 0, 0, 0, 0, 0,249, 8, 8, 8, 8, 8, 8, 8, 8,127,255,255,192,128,128, 15, 31, 31, 1, 1, 1, 1,255, 0, 0, 0, 30, 30, 14, 14,128,192,192,255,255,127, 8, 8, 8, 8, 8, 8, 8, 8,249, 0, 0, 0, + 0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0,127, 68, 68,100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 0, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 0, 0, 0,126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15,254, 30, 28, 28, 28,255, 28, 28, 28, 30,254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + oled_write_raw_P(raw_logo, sizeof(raw_logo)); +} +static void render_logo_font(void) { + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, + 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, + 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x00 + }; - oled_write_raw_P(logo, sizeof(logo)); + oled_write_P(qmk_logo, false); } /* Shows the name of the current layer and locks for the host (CAPS etc.) */ static void render_info(void) { @@ -174,16 +130,56 @@ static void render_info(void) { led_t led_state = host_keyboard_led_state(); oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); - oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); +} +static void render_rgbled_status(void) { + char string[4]; + if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) { + uint16_t m = rgblight_get_mode(); + string[3] = '\0'; + string[2] = '0' + m % 10; + string[1] = ( m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' '; + string[0] = m / 10 ? '0' + m / 10 : ' '; + oled_write_P(PSTR("Conf:"), false); + oled_write(string, false); + uint16_t h = rgblight_get_hue()/RGBLIGHT_HUE_STEP; + string[3] = '\0'; + string[2] = '0' + h % 10; + string[1] = ( h /= 10) % 10 ? '0' + (h) % 10 : (h / 10) % 10 ? '0' : ' '; + string[0] = h / 10 ? '0' + h / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + uint16_t s = rgblight_get_sat()/RGBLIGHT_SAT_STEP; + string[3] = '\0'; + string[2] = '0' + s % 10; + string[1] = ( s /= 10) % 10 ? '0' + (s) % 10 : (s / 10) % 10 ? '0' : ' '; + string[0] = s / 10 ? '0' + s / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + uint16_t v = rgblight_get_val()/RGBLIGHT_VAL_STEP; + string[3] = '\0'; + string[2] = '0' + v % 10; + string[1] = ( v /= 10) % 10 ? '0' + (v) % 10 : (v / 10) % 10 ? '0' : ' '; + string[0] = v / 10 ? '0' + v / 10 : ' '; + oled_write_P(PSTR(","), false); + oled_write(string, false); + oled_write_ln_P(PSTR("\n MOD HUE SAT VAR"), false); + } else { + oled_write_ln_P(PSTR("\n"), false); + } } - void oled_task_user(void) { static bool finished_timer = false; - if ((timer_elapsed(startup_timer) < 3000) && !finished_timer) { + if (!finished_timer && (timer_elapsed(startup_timer) < 1000)) { render_logo(); } else { - finished_timer = true; + if (!finished_timer) { + oled_clear(); + finished_timer = true; + } render_info(); + render_rgbled_status(); + render_logo_font(); } } #endif diff --git a/keyboards/0xcb/1337/readme.md b/keyboards/0xcb/1337/readme.md index da54eb78fc9b..8fef5be7b40f 100644 --- a/keyboards/0xcb/1337/readme.md +++ b/keyboards/0xcb/1337/readme.md @@ -3,16 +3,16 @@ Macro keypad * Keyboard Maintainer: [Conor Burns](https://github.com/conor-burns) -* Hardware Supported: https://github.com/conor-burns/0xcb-1337 -* Hardware Availability: Soon on tindie or order your own parts - the hardware in the repo is Open Source :D +* Hardware Supported: https://github.com/0xcb-dev/0xcb-1337 +* Hardware Availability: On [tindie](https://www.tindie.com/products/0xcb/0xcb-1337-a-customizable-macro-keyboard-with-qmk/) or order your own parts - the hardware in the repo is Open Source :D * PCB renders :) -![](https://github.com/Conor-Burns/0xcb-1337/blob/main/PCB/top.png) +![](https://github.com/0xCB-dev/0xcb-1337/blob/main/PCB/rev3.0/top.png) -![](https://github.com/Conor-Burns/0xcb-1337/blob/main/PCB/bottom.png) +![](https://github.com/0xCB-dev/0xcb-1337/blob/main/PCB/rev3.0/bottom.png) - -To go to bootloader press row 0 col 0 key (top left) while plugging in the board. +More Pictures [here](https://0xcb.dev/1337/) +To go to bootloader press row 0 col 0 key (top left) while plugging in the board. (Or press the reset button on V2.0 and v3.0) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/0xcb/1337/rules.mk b/keyboards/0xcb/1337/rules.mk index 5469b415c217..b08dfd380188 100644 --- a/keyboards/0xcb/1337/rules.mk +++ b/keyboards/0xcb/1337/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,4 +24,5 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes LTO_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/0xcb/static/config.h b/keyboards/0xcb/static/config.h new file mode 100644 index 000000000000..0d36b931eeb8 --- /dev/null +++ b/keyboards/0xcb/static/config.h @@ -0,0 +1,70 @@ +/* +Copyright 2021 0xCB - Conor Burns + +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 "config_common.h" +// clang-format off +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xCB00 +#define PRODUCT_ID 0xA455 +#define DEVICE_VER 0x0001 +#define MANUFACTURER 0xCB +#define PRODUCT Static + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 6 + + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { D5, D6, D7, B0, B1, B2, B3, B4 } +#define MATRIX_COL_PINS { B5, D4, C0, C1, C2, C3 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define TAP_CODE_DELAY 10 +#define ENCODER_DIRECTION_FLIP +#define ENCODER_RESOLUTION 4 +#define ENCODERS_PAD_A { D0 } +#define ENCODERS_PAD_B { D1 } +// clang-format on +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* oled custom font */ +#define OLED_FONT_END 255 +#define OLED_FONT_H "gfxfont.c" + +/* bootmagic */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/0xcb/static/gfxfont.c b/keyboards/0xcb/static/gfxfont.c new file mode 100644 index 000000000000..3f499a5309e6 --- /dev/null +++ b/keyboards/0xcb/static/gfxfont.c @@ -0,0 +1,277 @@ +/* +Copyright 2021 0xCB - Conor Burns + +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 "progmem.h" +// clang-format off +static const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x10, 0x10, 0x10, 0x7C, 0x00, + 0x44, 0xE4, 0xD4, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x00, 0xE0, 0xFC, 0x1E, 0x06, 0xC6, + 0xC6, 0x06, 0x1E, 0xFC, 0xE0, 0x00, + 0x00, 0x00, 0x60, 0xE0, 0x80, 0x00, + 0x00, 0x80, 0xE0, 0x60, 0x00, 0x00, + 0x00, 0x00, 0xE0, 0xF8, 0x3C, 0x0E, + 0x06, 0x06, 0x06, 0x0E, 0x0C, 0x00, + 0x00, 0x00, 0xFE, 0xFE, 0x86, 0x86, + 0x86, 0x86, 0x8C, 0x78, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x38, 0x38, 0xC0, 0xC0, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x0C, 0x0C, 0xF0, 0xF0, + 0x0C, 0x0C, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x7F, 0x07, 0x07, 0x07, + 0x03, 0x03, 0x00, 0x00, 0x00, 0x07, + 0x07, 0x00, 0x00, 0x00, 0x03, 0x03, + 0x07, 0x07, 0x07, 0x7F, 0xFF, 0xFF, + 0x70, 0xD0, 0x70, 0x00, 0x07, 0x05, + 0x07, 0x02, 0x02, 0x82, 0xC2, 0x42, + 0x7E, 0xC0, 0xC0, 0xC0, 0x40, 0x7E, + 0x42, 0xC2, 0x82, 0x02, 0x02, 0x07, + 0x05, 0x07, 0x00, 0x70, 0xD0, 0x70, + 0x00, 0x07, 0x3F, 0x78, 0x60, 0x63, + 0x63, 0x60, 0x78, 0x3F, 0x07, 0x00, + 0x00, 0x00, 0x60, 0x79, 0x19, 0x06, + 0x06, 0x19, 0x79, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x1F, 0x3C, 0x70, + 0x60, 0x60, 0x60, 0x70, 0x30, 0x00, + 0x00, 0x00, 0x7F, 0x7F, 0x61, 0x61, + 0x61, 0x61, 0x31, 0x1E, 0x0E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x07, 0x3F, 0x3F, 0x00, 0x00, + 0x0F, 0x0F, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x0F, 0x0F, 0x00, 0x00, + 0x3F, 0x3F, 0x00, 0x00, 0x03, 0x03, + 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00, + 0x83, 0x83, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0xFE, + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, + 0xC0, 0x5F, 0xD0, 0x90, 0x90, 0x90, + 0xFC, 0x06, 0x01, 0xF8, 0xFC, 0xFC, + 0xC0, 0xC0, 0xFF, 0xFF, 0x00, 0x00, + 0x3C, 0x3C, 0x30, 0x01, 0x06, 0xFC, + 0x90, 0x90, 0x90, 0xD0, 0x5F, 0xC0, + 0x00, 0x18, 0x18, 0x86, 0x86, 0x86, + 0x86, 0x86, 0x86, 0x78, 0x78, 0x00, + 0x00, 0x06, 0x06, 0x06, 0x06, 0x86, + 0x86, 0xE6, 0xE6, 0x1E, 0x1E, 0x00, + 0x00, 0x80, 0x80, 0x60, 0x60, 0x18, + 0x18, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFC, 0xFC, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x0C, 0x0C, 0x00, 0x00, + 0xF0, 0xF0, 0x0C, 0x0C, 0x03, 0x03, + 0x0C, 0x0C, 0xF0, 0xF0, 0x00, 0x00, + 0xFF, 0xFF, 0xC3, 0xC3, 0xC3, 0xC3, + 0xC3, 0xC3, 0x3C, 0x3C, 0x00, 0x00, + 0xC1, 0xC1, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x60, 0x7F, + 0x7F, 0x60, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xC1, 0xC1, + 0x01, 0xFD, 0x05, 0x04, 0x04, 0x04, + 0x1F, 0x30, 0x40, 0x87, 0x9F, 0x1F, + 0x01, 0x81, 0xFF, 0xFF, 0x00, 0x00, + 0x1E, 0x9E, 0x86, 0x40, 0x30, 0x1F, + 0x04, 0x04, 0x04, 0x05, 0xFD, 0x01, + 0x00, 0x7E, 0x7E, 0x61, 0x61, 0x61, + 0x61, 0x61, 0x61, 0x60, 0x60, 0x00, + 0x00, 0x18, 0x18, 0x60, 0x60, 0x61, + 0x61, 0x61, 0x61, 0x1E, 0x1E, 0x00, + 0x00, 0x07, 0x07, 0x06, 0x06, 0x06, + 0x06, 0x7F, 0x7F, 0x06, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0F, 0x0F, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x0C, 0x0C, 0x00, 0x00, + 0x3F, 0x3F, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x3F, 0x3F, 0x00, 0x00, + 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFE, 0xE0, 0xE0, 0xE0, + 0xC0, 0xC0, 0x00, 0x00, 0x00, 0xE0, + 0xE0, 0x00, 0x00, 0x00, 0xC0, 0xC0, + 0xE0, 0xE0, 0xE0, 0xFE, 0xFF, 0xFF, + 0x07, 0x05, 0x07, 0x00, 0x70, 0x50, + 0x70, 0x20, 0x20, 0x20, 0x21, 0x3F, + 0x01, 0x61, 0x9F, 0x9F, 0x61, 0x01, + 0x3F, 0x21, 0x20, 0x20, 0x20, 0x70, + 0x50, 0x70, 0x00, 0x07, 0x05, 0x07, +}; +// clang-format on diff --git a/keyboards/0xcb/static/info.json b/keyboards/0xcb/static/info.json new file mode 100644 index 000000000000..e1ea7132b7a0 --- /dev/null +++ b/keyboards/0xcb/static/info.json @@ -0,0 +1,105 @@ +{ + "keyboard_name": "0xCB Static", + "url": "https://0xCB.dev", + "maintainer": "Conor-Burns", + "width": 12, + "height": 5, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":11, "y":0}, + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":0, "y":2, "w":1.25}, + {"x":1.25, "y":2}, + {"x":2.25, "y":2}, + {"x":3.25, "y":2}, + {"x":4.25, "y":2}, + {"x":5.25, "y":2}, + {"x":6.25, "y":2}, + {"x":7.25, "y":2}, + {"x":8.25, "y":2}, + {"x":9.25, "y":2}, + {"x":10.25, "y":2, "w":1.75}, + {"x":0, "y":3, "w":1.75}, + {"x":1.75, "y":3}, + {"x":2.75, "y":3}, + {"x":3.75, "y":3}, + {"x":4.75, "y":3}, + {"x":5.75, "y":3}, + {"x":6.75, "y":3}, + {"x":7.75, "y":3}, + {"x":8.75, "y":3}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3, "w":1.25}, + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4, "w":2.75}, + {"x":5.75, "y":4}, + {"x":6.75, "y":4, "w":2.25}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4} + ] + }, + "LAYOUT_bigbar": { + "layout": [ + {"x":11, "y":0}, + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":0, "y":2, "w":1.25}, + {"x":1.25, "y":2}, + {"x":2.25, "y":2}, + {"x":3.25, "y":2}, + {"x":4.25, "y":2}, + {"x":5.25, "y":2}, + {"x":6.25, "y":2}, + {"x":7.25, "y":2}, + {"x":8.25, "y":2}, + {"x":9.25, "y":2}, + {"x":10.25, "y":2, "w":1.75}, + {"x":0, "y":3, "w":1.75}, + {"x":1.75, "y":3}, + {"x":2.75, "y":3}, + {"x":3.75, "y":3}, + {"x":4.75, "y":3}, + {"x":5.75, "y":3}, + {"x":6.75, "y":3}, + {"x":7.75, "y":3}, + {"x":8.75, "y":3}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3, "w":1.25}, + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4}, + {"x":2.25, "y":4}, + {"x":3.25, "y":4, "w":6.25}, + {"x":9.5, "y":4, "w":1.25}, + {"x":10.75, "y":4, "w":1.25} + ] + } + } +} diff --git a/keyboards/0xcb/static/keymaps/bongocat/keymap.c b/keyboards/0xcb/static/keymaps/bongocat/keymap.c new file mode 100644 index 000000000000..d7f6db08cc9c --- /dev/null +++ b/keyboards/0xcb/static/keymaps/bongocat/keymap.c @@ -0,0 +1,297 @@ +/* +Copyright 2021 0xCB - Conor Burns + +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 +// clang-format off +enum my_keycodes { + WPM = SAFE_RANGE, +}; +enum layer_names { + _HOME, + _FN2, + _FN3, + _FN4 +}; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_HOME] = LAYOUT_all( + KC_MPLY, + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSPC, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), MO(2) +), +[_FN2] = LAYOUT_all( + RESET, + 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +[_FN3] = LAYOUT_all( + EEP_RST, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, + _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +[_FN4] = LAYOUT_all( + _______, + WPM, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_MSTP, KC_INS, KC_HOME, KC_DEL, KC_END, _______, + _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +}; +// clang-format on +/* WPM toggle key bongocat hehe */ +bool wpm = false; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case WPM: + if (record->event.pressed) { + wpm = !wpm; + } + return false; + default: + return true; + } +} +/*layer switcher */ +layer_state_t layer_state_set_user(layer_state_t state) { + state = update_tri_layer_state(state, _FN2, _FN3, _FN4); + return state; +} +/* rotary encoder (MX12) - add different functions for layers here */ +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (IS_LAYER_ON(_FN4)) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (IS_LAYER_ON(_FN3)) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (IS_LAYER_ON(_FN2)) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} +#endif + +/* oled stuff :) */ +#ifdef OLED_DRIVER_ENABLE +#define IDLE_FRAMES 5 +#define IDLE_SPEED 20 // below this wpm value your animation will idle +#define TAP_FRAMES 2 +#define TAP_SPEED 40 // above this wpm value typing animation to trigger +#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms +#define ANIM_SIZE 636 // number of bytes in array + +uint32_t anim_timer = 0; +uint32_t anim_sleep = 0; +uint8_t current_idle_frame = 0; +uint8_t current_tap_frame = 0; + +uint16_t startup_timer = 0; + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + startup_timer = timer_read(); + return rotation; +} +static void render_logo(void) { + static const char PROGMEM raw_logo[] = { + 0, 8, 0,192,194,192,192, 60, 60, 44, 60,188, 60, 60, 60, 60, 44, 61, 60,192,192,192,208, 1, 0,252,252,180,252, 60, 60, 44, 60,252,253,252,252, 60, 60, 44, 60,244,220,252,252, 0, 0, 16, 0, 0, 0,192,192, 65,192, 60, 60, 52, 60,192,193,192,192, 16, 0, 0,144, 4, 0,252,125,244, 60, 60, 60, 60, 61,252,252,244,252, 60, 60, 60, 61,248,108,252, 0, 0, 61, 60,188, 60, 52,252,252,220,252, 61, 60, 60, 52, 0, 0,192,210, 64,192, 60, 60, 44, 61, 60, 60, 60, 61, 52, 60, 60, 60,192,192, 64,196, 0, 4, 0, + 0, 16, 0, 61, 63, 55, 63,192, 64,192,196,192,192,192,200,192,196,192,192, 3, 3, 2, 11, 0, 0, 35, 3, 3, 3, 0, 64, 2, 0,255,255,253,247, 0, 0, 0, 32, 1, 0, 1, 65, 8, 0,189,244,252,236, 3,130, 3, 1, 0, 68, 0, 0, 3, 34,131, 3,252,252,236,252, 0, 32, 17, 1, 1, 0, 0, 32, 0, 2,255,255,127,247, 0, 1, 0, 8, 1, 1, 1, 0, 0, 0, 16, 0, 64, 0,255,191,255,251, 0,129, 0, 2, 32, 0,255,255,239,255, 0, 0, 2, 0, 0, 0, 8, 64, 0, 1, 0, 0, 3, 35, 3, 3, 0, 8, 0, + 1, 16, 0,192, 64,194,192, 3, 67, 3, 3, 9, 3, 3, 3, 3, 2, 83, 3,252,252,188,244, 0, 2, 32, 0, 0, 2, 0,144, 0, 0,255,255,237,255, 0, 16, 0, 0, 0, 64, 2, 0,128, 0,255,123,255,255, 60, 52, 60, 60, 60, 60, 60, 60, 44, 60, 56, 60,239,255,126,255, 0, 2, 32, 0, 0, 34, 0, 0, 16, 0,255,255,255,223, 0, 0, 4, 0, 0, 0, 33, 0, 0, 17, 0, 0, 0, 0,255,255,239,255, 0,128, 0, 0, 72, 0,255,253,247,255, 0, 0, 1, 0,144, 0, 4, 0, 32, 0, 0, 2,192,192,192,200, 0, 16, 0, + 64, 4, 0, 3, 7, 3, 3, 60, 60, 52,188, 60, 61, 60, 60, 60, 60, 44, 60, 67, 3, 3, 3, 0, 0, 64, 0, 0, 4, 0, 0, 16, 0, 47, 63, 62, 63, 0, 0,132, 0, 0, 0, 0,128, 8, 0,255,255,111,127, 0, 0, 0, 2,128, 0, 0, 0, 64, 4, 0,128,127,127,107,127, 0, 32, 0, 0, 0, 66, 0, 0, 0,136, 55, 63, 61, 63, 0, 0, 0, 2, 0, 64, 0,136, 0, 0, 60, 44,189, 60, 63, 63, 63, 59, 60, 60,172, 60, 0, 64, 3, 2, 3,131, 60, 44, 60, 60, 60, 60,188, 60, 56, 44, 60, 60, 3, 3,131, 2, 0, 32, 2, + }; + oled_write_raw_P(raw_logo, sizeof(raw_logo)); +} +/* Shows the name of the current layer and locks for the host (CAPS etc.) */ +static void render_layer(void) { + led_t led_state = host_keyboard_led_state(); + // clang-format off + static const char PROGMEM logo[][3][7] = { + {{0x97, 0x98, 0x99, 0x9A, 0}, {0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0}, {0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0}}, /* l num CB */ + {{0xB7, 0xB8, 0xB9, 0xBA, 0}, {0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0}, {0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0}}, /* 1 num CB */ + {{0xD7, 0xD8, 0xD9, 0xDA, 0}, {0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0}, {0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0}}, /* 1 cap CB */ + {{0xF7, 0xF8, 0xF9, 0xFA, 0}, {0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0}, {0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0}}, /* l cap CB */ + {{0xB7, 0xC0, 0xC1, 0xBA, 0}, {0xB7, 0xC2, 0xC3, 0xBA, 0}, {0xB7, 0xC4, 0xC5, 0xBA, 0}}, /* 2 3 4 */ + {{0xD7, 0xE0, 0xE1, 0xDA, 0}, {0xD7, 0xE2, 0xE3, 0xDA, 0}, {0xD7, 0xE4, 0xE5, 0xDA, 0}}, /* 2 3 4 */ + }; + // clang-format on + oled_set_cursor(0, 0); + oled_write_P(logo[0][0], false); + oled_set_cursor(0, 3); + oled_write_P(logo[3][0], false); + switch (get_highest_layer(layer_state)) { + case _HOME: + oled_set_cursor(0, 1); + oled_write_P(logo[1][0], false); + oled_set_cursor(0, 2); + oled_write_P(logo[2][0], false); + break; + case _FN2: + oled_set_cursor(0, 1); + oled_write_P(logo[4][0], false); + oled_set_cursor(0, 2); + oled_write_P(logo[5][0], false); + break; + case _FN3: + oled_set_cursor(0, 1); + oled_write_P(logo[4][1], false); + oled_set_cursor(0, 2); + oled_write_P(logo[5][1], false); + break; + case _FN4: + oled_set_cursor(0, 1); + oled_write_P(logo[4][2], false); + oled_set_cursor(0, 2); + oled_write_P(logo[5][2], false); + break; + default: + oled_set_cursor(0, 1); + oled_write_P(PSTR(" "), false); + oled_set_cursor(0, 2); + oled_write_P(PSTR(" "), false); + } + oled_set_cursor(8, 0); + oled_write_P(led_state.num_lock ? logo[0][1] : PSTR(" "), false); + oled_set_cursor(8, 1); + oled_write_P(led_state.num_lock ? logo[1][1] : PSTR(" "), false); + oled_set_cursor(8, 2); + oled_write_P(led_state.caps_lock ? logo[2][1] : PSTR(" "), false); + oled_set_cursor(8, 3); + oled_write_P(led_state.caps_lock ? logo[3][1] : PSTR(" "), false); + + oled_set_cursor(16, 0); + oled_write_P(logo[0][2], false); + oled_set_cursor(16, 1); + oled_write_P(logo[1][2], false); + oled_set_cursor(16, 2); + oled_write_P(logo[2][2], false); + oled_set_cursor(16, 3); + oled_write_P(logo[3][2], false); + + /* Fill empty space to clear animation */ + oled_set_cursor(4, 0); + oled_write_P(PSTR(" "), false); + oled_set_cursor(4, 1); + oled_write_P(PSTR(" "), false); + oled_set_cursor(4, 2); + oled_write_P(PSTR(" "), false); + oled_set_cursor(4, 3); + oled_write_P(PSTR(" "), false); + + oled_set_cursor(14, 0); + oled_write_P(PSTR(" "), false); + oled_set_cursor(14, 1); + oled_write_P(PSTR(" "), false); + oled_set_cursor(14, 2); + oled_write_P(PSTR(" "), false); + oled_set_cursor(14, 3); + oled_write_P(PSTR(" "), false); +} + +static void render_cat(void) { + static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = { + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x82, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x34, 0xc4, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0d, 0x31, 0xc1, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; + static const char PROGMEM prep[][ANIM_SIZE] = { + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; + static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = { + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x98, 0xc0, 0x88, 0x88, 0x8c, 0x9c, 0x1c, 0x1e, 0x0e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x61, 0xf0, 0xf8, 0xfc, 0x60, 0x01, 0x01, 0x01, 0x3c, 0x78, 0xf8, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }; + + void animation_phase(void) { + if (get_current_wpm() <= IDLE_SPEED) { + current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES; + oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE); + } + if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { + oled_write_raw_P(prep[0], ANIM_SIZE); + } + if (get_current_wpm() >= TAP_SPEED) { + current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES; + oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE); + } + } + if (get_current_wpm() != 000) { + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + anim_sleep = timer_read32(); + } else { + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + } +} + +void oled_task_user(void) { + static bool finished_timer = false; + if (!finished_timer && (timer_elapsed(startup_timer) < 3000)) { + render_logo(); + } else { + if (!finished_timer) { + oled_clear(); + finished_timer = true; + } + if (wpm) { + render_cat(); + oled_set_cursor(0, 0); + char string[10]; + uint16_t m = get_current_wpm(); + string[3] = '\0'; + string[2] = '0' + m % 10; + string[1] = ( m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' '; + string[0] = m / 10 ? '0' + m / 10 : ' '; + oled_write_P(PSTR("WPM:"), false); + oled_write(string, false); + } else { + render_layer(); + } + } +} +#endif + +/* Resets via on eep reset - thank you drashna! */ +void eeconfig_init_kb(void) { + via_eeprom_set_valid(false); + via_init(); + eeconfig_init_user(); +} diff --git a/keyboards/0xcb/static/keymaps/bongocat/rules.mk b/keyboards/0xcb/static/keymaps/bongocat/rules.mk new file mode 100644 index 000000000000..d03b5f1ca758 --- /dev/null +++ b/keyboards/0xcb/static/keymaps/bongocat/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +WPM_ENABLE = yes \ No newline at end of file diff --git a/keyboards/0xcb/static/keymaps/default/keymap.c b/keyboards/0xcb/static/keymaps/default/keymap.c new file mode 100644 index 000000000000..139c257e66f3 --- /dev/null +++ b/keyboards/0xcb/static/keymaps/default/keymap.c @@ -0,0 +1,190 @@ +/* +Copyright 2021 0xCB - Conor Burns + +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 +// clang-format off +enum layer_names { + _HOME, + _FN2, + _FN3, + _FN4 +}; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_HOME] = LAYOUT_all( + KC_MPLY, + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSPC, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), MO(2) +), +[_FN2] = LAYOUT_all( + RESET, + 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +[_FN3] = LAYOUT_all( + EEP_RST, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, + _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +[_FN4] = LAYOUT_all( + _______, + _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_MSTP, KC_INS, KC_HOME, KC_DEL, KC_END, _______, + _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +}; +// clang-format on + +/*layer switcher */ +layer_state_t layer_state_set_user(layer_state_t state) { +state = update_tri_layer_state(state, _FN2, _FN3, _FN4); +return state; +} +/* rotary encoder (MX12) - add different functions for layers here */ +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (IS_LAYER_ON(_FN4)) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (IS_LAYER_ON(_FN3)) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (IS_LAYER_ON(_FN2)) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} +#endif + +/* oled stuff :) */ +#ifdef OLED_ENABLE +uint16_t startup_timer = 0; + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + startup_timer = timer_read(); + return rotation; +} +static void render_logo(void) { + static const char PROGMEM raw_logo[] = { + 0, 8, 0,192,194,192,192, 60, 60, 44, 60,188, 60, 60, 60, 60, 44, 61, 60,192,192,192,208, 1, 0,252,252,180,252, 60, 60, 44, 60,252,253,252,252, 60, 60, 44, 60,244,220,252,252, 0, 0, 16, 0, 0, 0,192,192, 65,192, 60, 60, 52, 60,192,193,192,192, 16, 0, 0,144, 4, 0,252,125,244, 60, 60, 60, 60, 61,252,252,244,252, 60, 60, 60, 61,248,108,252, 0, 0, 61, 60,188, 60, 52,252,252,220,252, 61, 60, 60, 52, 0, 0,192,210, 64,192, 60, 60, 44, 61, 60, 60, 60, 61, 52, 60, 60, 60,192,192, 64,196, 0, 4, 0, + 0, 16, 0, 61, 63, 55, 63,192, 64,192,196,192,192,192,200,192,196,192,192, 3, 3, 2, 11, 0, 0, 35, 3, 3, 3, 0, 64, 2, 0,255,255,253,247, 0, 0, 0, 32, 1, 0, 1, 65, 8, 0,189,244,252,236, 3,130, 3, 1, 0, 68, 0, 0, 3, 34,131, 3,252,252,236,252, 0, 32, 17, 1, 1, 0, 0, 32, 0, 2,255,255,127,247, 0, 1, 0, 8, 1, 1, 1, 0, 0, 0, 16, 0, 64, 0,255,191,255,251, 0,129, 0, 2, 32, 0,255,255,239,255, 0, 0, 2, 0, 0, 0, 8, 64, 0, 1, 0, 0, 3, 35, 3, 3, 0, 8, 0, + 1, 16, 0,192, 64,194,192, 3, 67, 3, 3, 9, 3, 3, 3, 3, 2, 83, 3,252,252,188,244, 0, 2, 32, 0, 0, 2, 0,144, 0, 0,255,255,237,255, 0, 16, 0, 0, 0, 64, 2, 0,128, 0,255,123,255,255, 60, 52, 60, 60, 60, 60, 60, 60, 44, 60, 56, 60,239,255,126,255, 0, 2, 32, 0, 0, 34, 0, 0, 16, 0,255,255,255,223, 0, 0, 4, 0, 0, 0, 33, 0, 0, 17, 0, 0, 0, 0,255,255,239,255, 0,128, 0, 0, 72, 0,255,253,247,255, 0, 0, 1, 0,144, 0, 4, 0, 32, 0, 0, 2,192,192,192,200, 0, 16, 0, + 64, 4, 0, 3, 7, 3, 3, 60, 60, 52,188, 60, 61, 60, 60, 60, 60, 44, 60, 67, 3, 3, 3, 0, 0, 64, 0, 0, 4, 0, 0, 16, 0, 47, 63, 62, 63, 0, 0,132, 0, 0, 0, 0,128, 8, 0,255,255,111,127, 0, 0, 0, 2,128, 0, 0, 0, 64, 4, 0,128,127,127,107,127, 0, 32, 0, 0, 0, 66, 0, 0, 0,136, 55, 63, 61, 63, 0, 0, 0, 2, 0, 64, 0,136, 0, 0, 60, 44,189, 60, 63, 63, 63, 59, 60, 60,172, 60, 0, 64, 3, 2, 3,131, 60, 44, 60, 60, 60, 60,188, 60, 56, 44, 60, 60, 3, 3,131, 2, 0, 32, 2, + }; + oled_write_raw_P(raw_logo, sizeof(raw_logo)); +} +/* Shows the name of the current layer and locks for the host (CAPS etc.) */ +static void render_layer(void) { + led_t led_state = host_keyboard_led_state(); + // clang-format off + static const char PROGMEM logo[][3][7] = { + {{0x97, 0x98, 0x99, 0x9A, 0}, {0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0}, {0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0}}, /* l num CB */ + {{0xB7, 0xB8, 0xB9, 0xBA, 0}, {0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0}, {0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0}}, /* 1 num CB */ + {{0xD7, 0xD8, 0xD9, 0xDA, 0}, {0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0}, {0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0}}, /* 1 cap CB */ + {{0xF7, 0xF8, 0xF9, 0xFA, 0}, {0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0}, {0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0}}, /* l cap CB */ + {{0xB7, 0xC0, 0xC1, 0xBA, 0}, {0xB7, 0xC2, 0xC3, 0xBA, 0}, {0xB7, 0xC4, 0xC5, 0xBA, 0}}, /* 2 3 4 */ + {{0xD7, 0xE0, 0xE1, 0xDA, 0}, {0xD7, 0xE2, 0xE3, 0xDA, 0}, {0xD7, 0xE4, 0xE5, 0xDA, 0}}, /* 2 3 4 */ + }; + // clang-format on + oled_set_cursor(0, 0); + oled_write_P(logo[0][0], false); + oled_set_cursor(0, 3); + oled_write_P(logo[3][0], false); + switch (get_highest_layer(layer_state)) { + case _HOME: + oled_set_cursor(0, 1); + oled_write_P(logo[1][0], false); + oled_set_cursor(0, 2); + oled_write_P(logo[2][0], false); + break; + case _FN2: + oled_set_cursor(0, 1); + oled_write_P(logo[4][0], false); + oled_set_cursor(0, 2); + oled_write_P(logo[5][0], false); + break; + case _FN3: + oled_set_cursor(0, 1); + oled_write_P(logo[4][1], false); + oled_set_cursor(0, 2); + oled_write_P(logo[5][1], false); + break; + case _FN4: + oled_set_cursor(0, 1); + oled_write_P(logo[4][2], false); + oled_set_cursor(0, 2); + oled_write_P(logo[5][2], false); + break; + default: + oled_set_cursor(0, 1); + oled_write_P(PSTR(" "), false); + oled_set_cursor(0, 2); + oled_write_P(PSTR(" "), false); + } + oled_set_cursor(8, 0); + oled_write_P(led_state.num_lock ? logo[0][1] : PSTR(" "), false); + oled_set_cursor(8, 1); + oled_write_P(led_state.num_lock ? logo[1][1] : PSTR(" "), false); + oled_set_cursor(8, 2); + oled_write_P(led_state.caps_lock ? logo[2][1] : PSTR(" "), false); + oled_set_cursor(8, 3); + oled_write_P(led_state.caps_lock ? logo[3][1] : PSTR(" "), false); + + oled_set_cursor(16, 0); + oled_write_P(logo[0][2], false); + oled_set_cursor(16, 1); + oled_write_P(logo[1][2], false); + oled_set_cursor(16, 2); + oled_write_P(logo[2][2], false); + oled_set_cursor(16, 3); + oled_write_P(logo[3][2], false); +} + +void oled_task_user(void) { + static bool finished_timer = false; + if (!finished_timer && (timer_elapsed(startup_timer) < 3000)) { + render_logo(); + } else { + if (!finished_timer) { + oled_clear(); + finished_timer = true; + } + render_layer(); + } +} +#endif diff --git a/keyboards/0xcb/static/keymaps/via/keymap.c b/keyboards/0xcb/static/keymaps/via/keymap.c new file mode 100644 index 000000000000..6bb24c1fad02 --- /dev/null +++ b/keyboards/0xcb/static/keymaps/via/keymap.c @@ -0,0 +1,197 @@ +/* +Copyright 2021 0xCB - Conor Burns + +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 +// clang-format off +enum layer_names { + _HOME, + _FN2, + _FN3, + _FN4 +}; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_HOME] = LAYOUT_all( + KC_MPLY, + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSPC, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), MO(2) +), +[_FN2] = LAYOUT_all( + RESET, + 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +[_FN3] = LAYOUT_all( + EEP_RST, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, + _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +[_FN4] = LAYOUT_all( + _______, + _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_MSTP, KC_INS, KC_HOME, KC_DEL, KC_END, _______, + _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ +), +}; +// clang-format on + +/*layer switcher */ +layer_state_t layer_state_set_user(layer_state_t state) { +state = update_tri_layer_state(state, _FN2, _FN3, _FN4); +return state; +} +/* rotary encoder (MX12) - add different functions for layers here */ +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (IS_LAYER_ON(_FN4)) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (IS_LAYER_ON(_FN3)) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (IS_LAYER_ON(_FN2)) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} +#endif + +/* oled stuff :) */ +#ifdef OLED_ENABLE +uint16_t startup_timer = 0; + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + startup_timer = timer_read(); + return rotation; +} +static void render_logo(void) { + static const char PROGMEM raw_logo[] = { + 0, 8, 0,192,194,192,192, 60, 60, 44, 60,188, 60, 60, 60, 60, 44, 61, 60,192,192,192,208, 1, 0,252,252,180,252, 60, 60, 44, 60,252,253,252,252, 60, 60, 44, 60,244,220,252,252, 0, 0, 16, 0, 0, 0,192,192, 65,192, 60, 60, 52, 60,192,193,192,192, 16, 0, 0,144, 4, 0,252,125,244, 60, 60, 60, 60, 61,252,252,244,252, 60, 60, 60, 61,248,108,252, 0, 0, 61, 60,188, 60, 52,252,252,220,252, 61, 60, 60, 52, 0, 0,192,210, 64,192, 60, 60, 44, 61, 60, 60, 60, 61, 52, 60, 60, 60,192,192, 64,196, 0, 4, 0, + 0, 16, 0, 61, 63, 55, 63,192, 64,192,196,192,192,192,200,192,196,192,192, 3, 3, 2, 11, 0, 0, 35, 3, 3, 3, 0, 64, 2, 0,255,255,253,247, 0, 0, 0, 32, 1, 0, 1, 65, 8, 0,189,244,252,236, 3,130, 3, 1, 0, 68, 0, 0, 3, 34,131, 3,252,252,236,252, 0, 32, 17, 1, 1, 0, 0, 32, 0, 2,255,255,127,247, 0, 1, 0, 8, 1, 1, 1, 0, 0, 0, 16, 0, 64, 0,255,191,255,251, 0,129, 0, 2, 32, 0,255,255,239,255, 0, 0, 2, 0, 0, 0, 8, 64, 0, 1, 0, 0, 3, 35, 3, 3, 0, 8, 0, + 1, 16, 0,192, 64,194,192, 3, 67, 3, 3, 9, 3, 3, 3, 3, 2, 83, 3,252,252,188,244, 0, 2, 32, 0, 0, 2, 0,144, 0, 0,255,255,237,255, 0, 16, 0, 0, 0, 64, 2, 0,128, 0,255,123,255,255, 60, 52, 60, 60, 60, 60, 60, 60, 44, 60, 56, 60,239,255,126,255, 0, 2, 32, 0, 0, 34, 0, 0, 16, 0,255,255,255,223, 0, 0, 4, 0, 0, 0, 33, 0, 0, 17, 0, 0, 0, 0,255,255,239,255, 0,128, 0, 0, 72, 0,255,253,247,255, 0, 0, 1, 0,144, 0, 4, 0, 32, 0, 0, 2,192,192,192,200, 0, 16, 0, + 64, 4, 0, 3, 7, 3, 3, 60, 60, 52,188, 60, 61, 60, 60, 60, 60, 44, 60, 67, 3, 3, 3, 0, 0, 64, 0, 0, 4, 0, 0, 16, 0, 47, 63, 62, 63, 0, 0,132, 0, 0, 0, 0,128, 8, 0,255,255,111,127, 0, 0, 0, 2,128, 0, 0, 0, 64, 4, 0,128,127,127,107,127, 0, 32, 0, 0, 0, 66, 0, 0, 0,136, 55, 63, 61, 63, 0, 0, 0, 2, 0, 64, 0,136, 0, 0, 60, 44,189, 60, 63, 63, 63, 59, 60, 60,172, 60, 0, 64, 3, 2, 3,131, 60, 44, 60, 60, 60, 60,188, 60, 56, 44, 60, 60, 3, 3,131, 2, 0, 32, 2, + }; + oled_write_raw_P(raw_logo, sizeof(raw_logo)); +} +/* Shows the name of the current layer and locks for the host (CAPS etc.) */ +static void render_layer(void) { + led_t led_state = host_keyboard_led_state(); + // clang-format off + static const char PROGMEM logo[][3][7] = { + {{0x97, 0x98, 0x99, 0x9A, 0}, {0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0}, {0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0}}, /* l num CB */ + {{0xB7, 0xB8, 0xB9, 0xBA, 0}, {0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0}, {0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0}}, /* 1 num CB */ + {{0xD7, 0xD8, 0xD9, 0xDA, 0}, {0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0}, {0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0}}, /* 1 cap CB */ + {{0xF7, 0xF8, 0xF9, 0xFA, 0}, {0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0}, {0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0}}, /* l cap CB */ + {{0xB7, 0xC0, 0xC1, 0xBA, 0}, {0xB7, 0xC2, 0xC3, 0xBA, 0}, {0xB7, 0xC4, 0xC5, 0xBA, 0}}, /* 2 3 4 */ + {{0xD7, 0xE0, 0xE1, 0xDA, 0}, {0xD7, 0xE2, 0xE3, 0xDA, 0}, {0xD7, 0xE4, 0xE5, 0xDA, 0}}, /* 2 3 4 */ + }; + // clang-format on + oled_set_cursor(0, 0); + oled_write_P(logo[0][0], false); + oled_set_cursor(0, 3); + oled_write_P(logo[3][0], false); + switch (get_highest_layer(layer_state)) { + case _HOME: + oled_set_cursor(0, 1); + oled_write_P(logo[1][0], false); + oled_set_cursor(0, 2); + oled_write_P(logo[2][0], false); + break; + case _FN2: + oled_set_cursor(0, 1); + oled_write_P(logo[4][0], false); + oled_set_cursor(0, 2); + oled_write_P(logo[5][0], false); + break; + case _FN3: + oled_set_cursor(0, 1); + oled_write_P(logo[4][1], false); + oled_set_cursor(0, 2); + oled_write_P(logo[5][1], false); + break; + case _FN4: + oled_set_cursor(0, 1); + oled_write_P(logo[4][2], false); + oled_set_cursor(0, 2); + oled_write_P(logo[5][2], false); + break; + default: + oled_set_cursor(0, 1); + oled_write_P(PSTR(" "), false); + oled_set_cursor(0, 2); + oled_write_P(PSTR(" "), false); + } + oled_set_cursor(8, 0); + oled_write_P(led_state.num_lock ? logo[0][1] : PSTR(" "), false); + oled_set_cursor(8, 1); + oled_write_P(led_state.num_lock ? logo[1][1] : PSTR(" "), false); + oled_set_cursor(8, 2); + oled_write_P(led_state.caps_lock ? logo[2][1] : PSTR(" "), false); + oled_set_cursor(8, 3); + oled_write_P(led_state.caps_lock ? logo[3][1] : PSTR(" "), false); + + oled_set_cursor(16, 0); + oled_write_P(logo[0][2], false); + oled_set_cursor(16, 1); + oled_write_P(logo[1][2], false); + oled_set_cursor(16, 2); + oled_write_P(logo[2][2], false); + oled_set_cursor(16, 3); + oled_write_P(logo[3][2], false); +} + +void oled_task_user(void) { + static bool finished_timer = false; + if (!finished_timer && (timer_elapsed(startup_timer) < 3000)) { + render_logo(); + } else { + if (!finished_timer) { + oled_clear(); + finished_timer = true; + } + render_layer(); + } +} +#endif + +/* Resets via on eep reset - thank you drashna! */ +void eeconfig_init_kb(void) { + via_eeprom_set_valid(false); + via_init(); + eeconfig_init_user(); +} diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/rules.mk b/keyboards/0xcb/static/keymaps/via/rules.mk similarity index 100% rename from keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/rules.mk rename to keyboards/0xcb/static/keymaps/via/rules.mk diff --git a/keyboards/0xcb/static/readme.md b/keyboards/0xcb/static/readme.md new file mode 100644 index 000000000000..8403b4450ec7 --- /dev/null +++ b/keyboards/0xcb/static/readme.md @@ -0,0 +1,27 @@ +# 0xCB Static + +Macro keypad + +* Keyboard Maintainer: [Conor Burns](https://github.com/conor-burns) +* Hardware Supported: https://github.com/0xCB-dev/0xcb-static +* Hardware Availability: Soon on tindie or order your own parts - the hardware in the repo is Open Source :D +* PCB renders :) + +![](https://github.com/0xCB-dev/0xcb-static/blob/main/PCB/rev1.0/top.png) + +![](https://github.com/0xCB-dev/0xcb-static/blob/main/PCB/rev1.0/bottom.png) + +More Pictures [here](https://0xcb.dev/static/) + +To go to bootloader press ESC while plugging in or hold the RESET switch, then hold the BOOT switch, release RESET, release BOOT. +The board should now appear in lsusb (or device manager). + +Make example for this keyboard (after setting up your build environment): + + make 0xcb/static:default + +Flashing example for this keyboard: + + make 0xcb/static: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). diff --git a/keyboards/0xcb/static/rules.mk b/keyboards/0xcb/static/rules.mk new file mode 100644 index 000000000000..e2beed441637 --- /dev/null +++ b/keyboards/0xcb/static/rules.mk @@ -0,0 +1,27 @@ +# MCU name +MCU = atmega328p + +# Bootloader selection +BOOTLOADER = usbasploader + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +ENCODER_ENABLE = yes +LTO_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/0xcb/static/static.c b/keyboards/0xcb/static/static.c new file mode 100644 index 000000000000..c6f5601f29ee --- /dev/null +++ b/keyboards/0xcb/static/static.c @@ -0,0 +1,17 @@ +/* +Copyright 2021 0xCB - Conor Burns + +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 "static.h" diff --git a/keyboards/0xcb/static/static.h b/keyboards/0xcb/static/static.h new file mode 100644 index 000000000000..19b698ef3f6b --- /dev/null +++ b/keyboards/0xcb/static/static.h @@ -0,0 +1,66 @@ +/* +Copyright 2021 0xCB - Conor Burns + +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 "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +// clang-format off +#define LAYOUT_all( \ + K15, \ + K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K35, \ + K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, \ + K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, \ + K60, K70, K61, K71, K72, K64, K74, K65, K75 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05 }, \ + { K10, K11, K12, K13, K14, K15 }, \ + { K20, K21, K22, K23, K24, K25 }, \ + { K30, K31, K32, K33, K34, K35 }, \ + { K40, K41, K42, K43, K44, K45 }, \ + { KC_NO, K51, K52, K53, K54, K55 }, \ + { K60, K61, KC_NO, KC_NO, K64, K65 }, \ + { K70, K71, K72, KC_NO, K74, K75 }, \ +} + +#define LAYOUT_bigbar( \ + K15, \ + K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K35, \ + K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, \ + K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, \ + K60, K70, K61, K72, K65, K75 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05 }, \ + { K10, K11, K12, K13, K14, K15 }, \ + { K20, K21, K22, K23, K24, K25 }, \ + { K30, K31, K32, K33, K34, K35 }, \ + { K40, K41, K42, K43, K44, K45 }, \ + { KC_NO, K51, K52, K53, K54, K55 }, \ + { K60, K61, KC_NO, KC_NO, KC_NO, K65 }, \ + { K70, KC_NO, K72, KC_NO, KC_NO, K75 }, \ +} +// clang-format on diff --git a/keyboards/10bleoledhub/keymaps/default/keymap.c b/keyboards/10bleoledhub/keymaps/default/keymap.c index ee2616819649..84c1f106801f 100644 --- a/keyboards/10bleoledhub/keymaps/default/keymap.c +++ b/keyboards/10bleoledhub/keymaps/default/keymap.c @@ -13,7 +13,7 @@ along with this program. If not, see .*/ /* Keymap _0: (Base Layer) Default Layer * .-----. - * |PGUP | + * |PGUP | * |-----------------. * | 7 | 8 | 9 | * |-----|-----|-----| @@ -37,12 +37,12 @@ along with this program. If not, see .*/ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT( KC_PGUP, - KC_KP_7, KC_KP_8, MO(1), + KC_KP_7, KC_KP_8, MO(1), KC_P4, KC_P5, KC_P6, KC_P1, KC_P2, KC_P3), - [1] = LAYOUT( + [1] = LAYOUT( KC_NUMLOCK, RGB_TOG, RGB_MOD, RGB_M_K, RGB_SAI, RGB_SAD, RGB_HUI, @@ -54,18 +54,19 @@ static void render_logo(void) { oled_write_P(qmk_logo, false); } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void oled_task_user(void) { render_logo(); } #endif -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_PGDN); } else { tap_code(KC_PGUP); } - } + } + return true; } diff --git a/keyboards/10bleoledhub/keymaps/via/keymap.c b/keyboards/10bleoledhub/keymaps/via/keymap.c index d7e986acfc6c..df7130e80b95 100644 --- a/keyboards/10bleoledhub/keymaps/via/keymap.c +++ b/keyboards/10bleoledhub/keymaps/via/keymap.c @@ -9,11 +9,11 @@ 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 .*/ +along with this program. If not, see .*/ /* Keymap _0: (Base Layer) Default Layer * .-----. - * |PGUP | + * |PGUP | * |-----------------. * | 7 | 8 | 9 | * |-----|-----|-----| @@ -37,12 +37,12 @@ along with this program. If not, see .*/ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT( KC_PGUP, - KC_KP_7, KC_KP_8, MO(1), + KC_KP_7, KC_KP_8, MO(1), KC_P4, KC_P5, KC_P6, KC_P1, KC_P2, KC_P3), - [1] = LAYOUT( + [1] = LAYOUT( KC_NUMLOCK, RGB_TOG, RGB_MOD, RGB_M_K, RGB_SAI, RGB_SAD, RGB_HUI, @@ -54,18 +54,19 @@ static void render_logo(void) { oled_write_P(qmk_logo, false); } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void oled_task_user(void) { render_logo(); } #endif -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_PGDN); } else { tap_code(KC_PGUP); } - } + } + return true; } diff --git a/keyboards/10bleoledhub/rules.mk b/keyboards/10bleoledhub/rules.mk index e582b213f778..1e036e660c8e 100644 --- a/keyboards/10bleoledhub/rules.mk +++ b/keyboards/10bleoledhub/rules.mk @@ -10,7 +10,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,5 +24,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output BLUETOOTH = AdafruitBLE -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes diff --git a/keyboards/1upkeyboards/1up60hse/1up60hse.c b/keyboards/1upkeyboards/1up60hse/1up60hse.c index c04018d62c4f..fa62f52e6498 100644 --- a/keyboards/1upkeyboards/1up60hse/1up60hse.c +++ b/keyboards/1upkeyboards/1up60hse/1up60hse.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "1up60hse.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/1upkeyboards/1up60hse/config.h b/keyboards/1upkeyboards/1up60hse/config.h index 9d4ac3eedd43..a38ccf383c32 100644 --- a/keyboards/1upkeyboards/1up60hse/config.h +++ b/keyboards/1upkeyboards/1up60hse/config.h @@ -165,23 +165,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/1upkeyboards/1up60hse/rules.mk b/keyboards/1upkeyboards/1up60hse/rules.mk index 37c18690ce43..0db8fb2a94ac 100644 --- a/keyboards/1upkeyboards/1up60hse/rules.mk +++ b/keyboards/1upkeyboards/1up60hse/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/1upkeyboards/1up60hte/1up60hte.h b/keyboards/1upkeyboards/1up60hte/1up60hte.h index b6d3c8e0d15d..c64bcb124d7f 100644 --- a/keyboards/1upkeyboards/1up60hte/1up60hte.h +++ b/keyboards/1upkeyboards/1up60hte/1up60hte.h @@ -19,31 +19,31 @@ along with this program. If not, see . #include "quantum.h" -#define LAYOUT_tsangan( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K413, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \ - K400, K401, K402, K406, K410, K411, K412 \ +#define LAYOUT_60_tsangan_hhkb( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K413, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \ + K400, K401, K402, K406, K410, K411, K412 \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO }, \ - { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413 } \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO }, \ + { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413 } \ } /* HHKB Variant */ #define LAYOUT_60_hhkb( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K413, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \ - K401, K402, K406, K410, K411 \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \ + K401, K402, K406, K410, K411 \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO }, \ - { KC_NO, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413 } \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO }, \ + { KC_NO, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413 } \ } diff --git a/keyboards/1upkeyboards/1up60hte/info.json b/keyboards/1upkeyboards/1up60hte/info.json index 86521d36bd33..bc98d875e493 100644 --- a/keyboards/1upkeyboards/1up60hte/info.json +++ b/keyboards/1upkeyboards/1up60hte/info.json @@ -1,15 +1,150 @@ { - "keyboard_name": "1up60hte", - "url": "https://www.1upkeyboards.com/shop/controllers/1up-rgb-60-pcb-hte/", - "maintainer": "1upkeyboards", - "width": 15, - "height": 5, + "keyboard_name": "1up60hte", + "url": "https://www.1upkeyboards.com/shop/controllers/1up-rgb-60-pcb-hte/", + "maintainer": "1upkeyboards", + "width": 15, + "height": 5, + "layout_aliases": { + "LAYOUT_tsangan": "LAYOUT_60_tsangan_hhkb" + }, "layouts": { - "LAYOUT_tsangan": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Alt", "x":1.5, "y":4}, {"label":"Meta", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Meta", "x":11, "y":4, "w":1.5}, {"label":"Alt", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}] + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"|", "x":13, "y":0}, + {"label":"~", "x":14, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Control", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Fn", "x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Alt", "x":1.5, "y":4}, + {"label":"Meta", "x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"label":"Meta", "x":11, "y":4, "w":1.5}, + {"label":"Alt", "x":12.5, "y":4}, + {"label":"Ctrl", "x":13.5, "y":4, "w":1.5} + ] }, "LAYOUT_60_hhkb": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Alt", "x":1.5, "y":4}, {"label":"Meta", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Meta", "x":11, "y":4, "w":1.5}, {"label":"Alt", "x":12.5, "y":4}] + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"|", "x":13, "y":0}, + {"label":"~", "x":14, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Control", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Fn", "x":14, "y":3}, + + {"label":"Alt", "x":1.5, "y":4}, + {"label":"Meta", "x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"label":"Meta", "x":11, "y":4, "w":1.5}, + {"label":"Alt", "x":12.5, "y":4} + ] } } } diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c index 2f91e1c76e7c..79a2fa92a7e0 100644 --- a/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c @@ -17,17 +17,19 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_tsangan( - 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_LCTL, 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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL), + [0] = LAYOUT_60_tsangan_hhkb( + 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_LCTL, 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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL + ), - [1] = LAYOUT_tsangan( - RESET, 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_INS, KC_DEL, - KC_CAPS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_CLR, - KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + [1] = LAYOUT_60_tsangan_hhkb( + RESET, 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_INS, KC_DEL, + KC_CAPS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_UP, _______, KC_CLR, + _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ) }; diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c index 81e29ec19130..525e02eef4a8 100644 --- a/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c +++ b/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c @@ -17,17 +17,19 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_tsangan( - 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_LCTL, 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_NO, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_NO), + [0] = LAYOUT_60_hhkb( + 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_LCTL, 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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT + ), - [1] = LAYOUT_tsangan( - RESET, 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_INS, KC_DEL, - KC_CAPS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_CLR, - KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + [1] = LAYOUT_60_hhkb( + RESET, 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_INS, KC_DEL, + KC_CAPS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_UP, _______, KC_CLR, + _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______ + ) }; diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c index ecd5a9040c40..5ecea3759748 100644 --- a/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c +++ b/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c @@ -17,31 +17,35 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_tsangan( - 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_LCTL, 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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL), + [0] = LAYOUT_60_tsangan_hhkb( + 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_LCTL, 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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL + ), - [1] = LAYOUT_tsangan( - RESET, 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_INS, KC_DEL, - KC_CAPS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_CLR, - KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [1] = LAYOUT_60_tsangan_hhkb( + RESET, 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_INS, KC_DEL, + KC_CAPS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______, _______, _______, KC_SLCK, KC_PAUS, KC_UP, _______, KC_CLR, + _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), - [2] = LAYOUT_tsangan( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_60_tsangan_hhkb( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), - [3] = LAYOUT_tsangan( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_60_tsangan_hhkb( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), }; diff --git a/keyboards/1upkeyboards/1up60hte/readme.md b/keyboards/1upkeyboards/1up60hte/readme.md index b49773fd7785..d62aed3990e0 100644 --- a/keyboards/1upkeyboards/1up60hte/readme.md +++ b/keyboards/1upkeyboards/1up60hte/readme.md @@ -1,17 +1,19 @@ - # 1up60hte (Hot Swap Tsangan Edition) ![1up60hte](https://www.1upkeyboards.com/wp-content/uploads/2019/01/PCB-60-HS-TSA-both.jpg) - A 60% PCB with USB C, RGB underglow, backlighting, hotswappable switches, and a Tsangan layout. -Keyboard Maintainer: [Bubnick](https://github.com/bubnick) -Hardware Supported: 1up60hte 60% PCB -Hardware Availability: [1upkeyboards.com](https://www.1upkeyboards.com/shop/controllers/1up-rgb-60-pcb-hte/) +* Keyboard Maintainer: [Bubnick](https://github.com/bubnick) +* Hardware Supported: 1up60hte 60% PCB +* Hardware Availability: [1upkeyboards.com](https://www.1upkeyboards.com/shop/controllers/1up-rgb-60-pcb-hte/) Make example for this keyboard (after setting up your build environment): make 1upkeyboards/1up60hte:default +Flashing example for this keyboard: + + make 1upkeyboards/1up60hte: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). diff --git a/keyboards/1upkeyboards/1up60hte/rules.mk b/keyboards/1upkeyboards/1up60hte/rules.mk index 048407bed27f..9bc293bc1734 100644 --- a/keyboards/1upkeyboards/1up60hte/rules.mk +++ b/keyboards/1upkeyboards/1up60hte/rules.mk @@ -2,28 +2,25 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options -# comment out to disable the options. +# change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + LTO_ENABLE = yes -LAYOUTS = 60_hhkb +LAYOUTS = 60_hhkb 60_tsangan_hhkb diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/default/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/default/keymap.c index 435a631815b8..15b7c9faa71b 100644 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/1up60rgb/keymaps/default/keymap.c @@ -18,46 +18,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 2); PORTB &= ~(1 << 2); - } else { - DDRB &= ~(1 << 2); PORTB &= ~(1 << 2); - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - + setPinOutput(B2); + writePinLow(B2); } else { - + setPinInput(B2); + writePinLow(B2); } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - } diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/iso/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/iso/keymap.c index 39edd00ff5e2..b67de0b0c244 100644 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/iso/keymap.c +++ b/keyboards/1upkeyboards/1up60rgb/keymaps/iso/keymap.c @@ -18,46 +18,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 2); PORTB &= ~(1 << 2); - } else { - DDRB &= ~(1 << 2); PORTB &= ~(1 << 2); - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - + setPinOutput(B2); + writePinLow(B2); } else { - + setPinInput(B2); + writePinLow(B2); } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - } diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c index cba9a205c561..c4d82a476626 100644 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c +++ b/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //***************************** Function bodies *****************************// // enable tri-layer state for _raise + _rgb = _adjust -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _raise, _rgb, _adjust); } diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c index 0b0b51d59575..bd7e96aad93f 100644 --- a/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c +++ b/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c @@ -18,46 +18,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 2); PORTB &= ~(1 << 2); - } else { - DDRB &= ~(1 << 2); PORTB &= ~(1 << 2); - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - + setPinOutput(B2); + writePinLow(B2); } else { - + setPinInput(B2); + writePinLow(B2); } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - } diff --git a/keyboards/1upkeyboards/1up60rgb/rules.mk b/keyboards/1upkeyboards/1up60rgb/rules.mk index ea5308b96058..7949142a1dbc 100644 --- a/keyboards/1upkeyboards/1up60rgb/rules.mk +++ b/keyboards/1upkeyboards/1up60rgb/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/1upkeyboards/super16/config.h b/keyboards/1upkeyboards/super16/config.h index 4d12f2edc2c7..f943fed54c0f 100644 --- a/keyboards/1upkeyboards/super16/config.h +++ b/keyboards/1upkeyboards/super16/config.h @@ -195,26 +195,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/1upkeyboards/super16/keymaps/default/keymap.c b/keyboards/1upkeyboards/super16/keymaps/default/keymap.c index 47889abae574..4414a658c5d8 100644 --- a/keyboards/1upkeyboards/super16/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/super16/keymaps/default/keymap.c @@ -23,19 +23,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_MOD, KC_1, KC_U, KC_P ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/1upkeyboards/super16/rules.mk b/keyboards/1upkeyboards/super16/rules.mk index 209fdeb19297..4f75d53a5fc6 100644 --- a/keyboards/1upkeyboards/super16/rules.mk +++ b/keyboards/1upkeyboards/super16/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -27,7 +20,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by d RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/1upkeyboards/sweet16/keymaps/default/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/default/keymap.c index 4778d2108cc3..9ab912d7b586 100644 --- a/keyboards/1upkeyboards/sweet16/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/sweet16/keymaps/default/keymap.c @@ -27,7 +27,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef ENCODER_ENABLE #include "encoder.h" -void encoder_update_user(int8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); @@ -35,5 +35,6 @@ void encoder_update_user(int8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } #endif diff --git a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c index ad9786ba7f20..6b7b36cbb29d 100644 --- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c +++ b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c @@ -39,17 +39,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+-------+-------+--------| * |SHRUG |DISFACE| HRTFAC| HAPPYF | * |------+-------+-------+--------| - * | ENTER| |LEDCNTR| tapland| + * | ENTER| |LEDCNTR| tapland| * `-------------------------------' */ //purple [_EMOJI] = LAYOUT_ortho_4x4( - TFLIP, TFLIP2, KC_NO, FU , - CLOUD, KC_NO, KC_NO, CMDCLEAR, - SHRUG, DISFACE, HEARTFACE, HAPPYFACE, + TFLIP, TFLIP2, KC_NO, FU , + CLOUD, KC_NO, KC_NO, CMDCLEAR, + SHRUG, DISFACE, HEARTFACE, HAPPYFACE, KC_ENT, RGB_TOG, MO(_LEDCNTL), MO(_TAPLAND) ), - + /* TapLand // * ,-------------------------------. * | str1 | str2 | str3 | str4 | @@ -58,14 +58,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+-------+-------+--------| * | | | | | * |------+-------+-------+--------| - * | | | | | + * | | | | | * `-------------------------------' */ //blue [_TAPLAND] = LAYOUT_ortho_4x4( - TD(TD_EXAMPLE1), TD(TD_EXAMPLE2), TD(TD_EXAMPLE3), TD(TD_EXAMPLE4), - KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO, KC_NO, + TD(TD_EXAMPLE1), TD(TD_EXAMPLE2), TD(TD_EXAMPLE3), TD(TD_EXAMPLE4), + KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO ), /* LEDControl Pad @@ -76,14 +76,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+-------+-------+--------| * |kngrdr| Val- | Sat- | HUE- | * |------+-------+-------+--------| - * | swirl| PLAIN | | ON/OFF | + * | swirl| PLAIN | | ON/OFF | * `-------------------------------' */ //blue [_LEDCNTL] = LAYOUT_ortho_4x4( - RGB_M_SN, RGB_M_B, RGB_M_R, RGB_M_G, - RGB_M_X, RGB_VAI, RGB_SAI, RGB_HUI, - RGB_M_K, RGB_VAD, RGB_SAD, RGB_HUD, + RGB_M_SN, RGB_M_B, RGB_M_R, RGB_M_G, + RGB_M_X, RGB_VAI, RGB_SAI, RGB_HUI, + RGB_M_K, RGB_VAD, RGB_SAD, RGB_HUD, RGB_M_SW, RGB_M_P, KC_NO, RGB_TOG ), }; @@ -91,64 +91,64 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch(keycode) { - case CLOUD: // (っ◕‿◕)っ + case CLOUD: if(record->event.pressed){ - send_unicode_hex_string("0028 3063 25D5 203F 25D5 0029 3063"); + send_unicode_string("(っ◕‿◕)っ"); } return false; break; - case FU: // t(-_-t) + case FU: if(record->event.pressed){ SEND_STRING("t(-_-t)"); } return false; - break; - case HAPPYFACE: // ʘ‿ʘ + break; + case HAPPYFACE: if(record->event.pressed){ - send_unicode_hex_string("0298 203F 0298"); + send_unicode_string("ʘ‿ʘ"); } return false; - break; + break; case CMDCLEAR: if (record->event.pressed) { register_code(KC_LGUI); - tap_code(KC_A); + tap_code(KC_A); unregister_code(KC_LGUI); - tap_code(KC_DEL); + tap_code(KC_DEL); } return false; - break; - case SHRUG: // ¯\_(ツ)_/¯ + break; + case SHRUG: if (record->event.pressed) { - send_unicode_hex_string("00AF 005C 005F 0028 30C4 0029 005F 002F 00AF"); + send_unicode_string("¯\\_(ツ)_/¯"); } - return false; + return false; break; - case HEARTFACE: // ♥‿♥ + case HEARTFACE: if(record->event.pressed){ - send_unicode_hex_string("2665 203F 2665"); + send_unicode_string("♥‿♥"); } return false; - break; - case DISFACE: // ಠ_ಠ + break; + case DISFACE: if(record->event.pressed){ - send_unicode_hex_string("0CA0 005F 0CA0"); + send_unicode_string("ಠ_ಠ"); } return false; break; - case TFLIP: // (╯°□°)╯ ︵ ┻━┻ + case TFLIP: if(record->event.pressed){ - send_unicode_hex_string("0028 256F 00B0 25A1 00B0 0029 256F 0020 FE35 0020 253B 2501 253B"); + send_unicode_string("(╯°□°)╯ ︵ ┻━┻"); } return false; break; - case TFLIP2: // ┻━┻︵ \(°□°)/ ︵ ┻━┻ + case TFLIP2: if(record->event.pressed){ - send_unicode_hex_string("253B 2501 253B FE35 0020 005C 0028 00B0 25A1 00B0 0029 002F 0020 FE35 0020 253B 2501 253B"); + send_unicode_string("┻━┻︵ \\(°□°)/ ︵ ┻━┻"); } return false; break; - } + } } return true; } @@ -195,7 +195,7 @@ void matrix_scan_user(void) { rgblight_setrgb (16, 0, 16); } } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { switch (biton32(state)) { case _TAPLAND: rgblight_setrgb(0, 16, 0); //green @@ -212,4 +212,4 @@ uint32_t layer_state_set_user(uint32_t state) { break; } return state; -} \ No newline at end of file +} diff --git a/keyboards/1upkeyboards/sweet16/keymaps/switchtester/rules.mk b/keyboards/1upkeyboards/sweet16/keymaps/switchtester/rules.mk index c0f2d0182d6b..76d8b3afc1c1 100644 --- a/keyboards/1upkeyboards/sweet16/keymaps/switchtester/rules.mk +++ b/keyboards/1upkeyboards/sweet16/keymaps/switchtester/rules.mk @@ -1,7 +1,7 @@ # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/1upkeyboards/sweet16/rules.mk b/keyboards/1upkeyboards/sweet16/rules.mk index d7e57eb33eb5..9e78a851d706 100644 --- a/keyboards/1upkeyboards/sweet16/rules.mk +++ b/keyboards/1upkeyboards/sweet16/rules.mk @@ -1,7 +1,7 @@ # Build Options # DEFAULT_FOLDER = 1upkeyboards/sweet16/v1 -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/1upkeyboards/sweet16/v1/rules.mk b/keyboards/1upkeyboards/sweet16/v1/rules.mk index 4c4280cdd4cf..817f02aa2357 100644 --- a/keyboards/1upkeyboards/sweet16/v1/rules.mk +++ b/keyboards/1upkeyboards/sweet16/v1/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina RGBLIGHT_ENABLE = yes diff --git a/keyboards/1upkeyboards/sweet16/v2/promicro/promicro.c b/keyboards/1upkeyboards/sweet16/v2/promicro/promicro.c index 0176dc1a3c18..d850a3b5c61f 100644 --- a/keyboards/1upkeyboards/sweet16/v2/promicro/promicro.c +++ b/keyboards/1upkeyboards/sweet16/v2/promicro/promicro.c @@ -2,7 +2,7 @@ #include "encoder.h" #ifdef ENCODER_ENABLED -void encoder_update_kb(int8_t index, bool clockwise) { - encoder_update_user(index, clockwise); +bool encoder_update_kb(uint8_t index, bool clockwise) { + return encoder_update_user(index, clockwise); } #endif diff --git a/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk b/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk index 16510f76743c..a8249511bcef 100644 --- a/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk +++ b/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina ## Features diff --git a/keyboards/1upkeyboards/sweet16/v2/proton_c/rules.mk b/keyboards/1upkeyboards/sweet16/v2/proton_c/rules.mk index 6fb15f5a832c..fcfa05c3a1f0 100644 --- a/keyboards/1upkeyboards/sweet16/v2/proton_c/rules.mk +++ b/keyboards/1upkeyboards/sweet16/v2/proton_c/rules.mk @@ -2,6 +2,9 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + ## Features CONSOLE_ENABLE = yes ENCODER_ENABLE = yes diff --git a/keyboards/2key2crawl/keymaps/default/keymap.c b/keyboards/2key2crawl/keymaps/default/keymap.c index 71222d40f8d3..3e36b60707ac 100644 --- a/keyboards/2key2crawl/keymaps/default/keymap.c +++ b/keyboards/2key2crawl/keymaps/default/keymap.c @@ -16,7 +16,7 @@ void matrix_init_user(void) { -void encoder_update_user(int8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { tap_code(KC_PGUP); @@ -24,5 +24,5 @@ void encoder_update_user(int8_t index, bool clockwise) { tap_code(KC_PGDN); } } + return true; } - diff --git a/keyboards/2key2crawl/keymaps/tabs/keymap.c b/keyboards/2key2crawl/keymaps/tabs/keymap.c index fcf4a2af878c..9066c3f2e6de 100644 --- a/keyboards/2key2crawl/keymaps/tabs/keymap.c +++ b/keyboards/2key2crawl/keymaps/tabs/keymap.c @@ -14,7 +14,7 @@ void matrix_init_user(void) { debug_config.enable = 1; } -void encoder_update_user(int8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { tap_code16(C(KC_T)); @@ -22,5 +22,5 @@ void encoder_update_user(int8_t index, bool clockwise) { tap_code16(C(KC_W)); } } + return true; } - diff --git a/keyboards/2key2crawl/keymaps/vol/keymap.c b/keyboards/2key2crawl/keymaps/vol/keymap.c index 8ffd3f58c8a7..a45d3f778980 100644 --- a/keyboards/2key2crawl/keymaps/vol/keymap.c +++ b/keyboards/2key2crawl/keymaps/vol/keymap.c @@ -14,7 +14,7 @@ void matrix_init_user(void) { debug_config.enable = 1; } -void encoder_update_user(int8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { tap_code(KC_VOLU); @@ -22,4 +22,5 @@ void encoder_update_user(int8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } diff --git a/keyboards/2key2crawl/rules.mk b/keyboards/2key2crawl/rules.mk index e6ef0a288fe0..19a463a5af97 100644 --- a/keyboards/2key2crawl/rules.mk +++ b/keyboards/2key2crawl/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/30wer/rules.mk b/keyboards/30wer/rules.mk index 9a80d5a18af7..c66d134ed430 100644 --- a/keyboards/30wer/rules.mk +++ b/keyboards/30wer/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/3w6/info.json b/keyboards/3w6/info.json new file mode 100644 index 000000000000..5a0e9be2f413 --- /dev/null +++ b/keyboards/3w6/info.json @@ -0,0 +1,56 @@ +{ + "keyboard_name": "3w6", + "url": "https://github.com/weteor/3W6/", + "maintainer": "weteor", + "width": 13, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "k00", "x": 0, "y": 0.8}, + {"label": "k01", "x": 1, "y": 0.2}, + {"label": "k02", "x": 2, "y": 0}, + {"label": "k03", "x": 3, "y": 0.2}, + {"label": "k04", "x": 4, "y": 0.4}, + + {"label": "k05", "x": 8, "y": 0.4}, + {"label": "k06", "x": 9, "y": 0.2}, + {"label": "k07", "x": 10, "y": 0}, + {"label": "k08", "x": 11, "y": 0.2}, + {"label": "k09", "x": 12, "y": 0.8}, + + {"label": "k10", "x": 0, "y": 1.8}, + {"label": "k11", "x": 1, "y": 1.2}, + {"label": "k12", "x": 2, "y": 1}, + {"label": "k13", "x": 3, "y": 1.2}, + {"label": "k14", "x": 4, "y": 1.4}, + + {"label": "k15", "x": 8, "y": 1.4}, + {"label": "k16", "x": 9, "y": 1.2}, + {"label": "k17", "x": 10, "y": 1}, + {"label": "k18", "x": 11, "y": 1.2}, + {"label": "k19", "x": 12, "y": 1.8}, + + {"label": "k20", "x": 0, "y": 2.8}, + {"label": "k21", "x": 1, "y": 2.2}, + {"label": "k22", "x": 2, "y": 2}, + {"label": "k23", "x": 3, "y": 2.2}, + {"label": "k24", "x": 4, "y": 2.4}, + + {"label": "k25", "x": 8, "y": 2.4}, + {"label": "k26", "x": 9, "y": 2.2}, + {"label": "k27", "x": 10, "y": 2}, + {"label": "k28", "x": 11, "y": 2.2}, + {"label": "k29", "x": 12, "y": 2.8}, + + {"label": "k32", "x": 3.2, "y": 3.6}, + {"label": "k33", "x": 4.2, "y": 3.6}, + {"label": "k34", "x": 5.2, "y": 3.8}, + + {"label": "k35", "x": 6.8, "y": 3.8}, + {"label": "k36", "x": 7.8, "y": 3.6}, + {"label": "k37", "x": 8.8, "y": 3.6} + ] + } + } +} diff --git a/keyboards/3w6/keymaps/default/keymap.c b/keyboards/3w6/keymaps/default/keymap.c new file mode 100644 index 000000000000..029173b6745a --- /dev/null +++ b/keyboards/3w6/keymaps/default/keymap.c @@ -0,0 +1,69 @@ +/* Copyright 2021 weteor + * + * 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 layers +{ + _ALPHA_QWERTY = 0, + _ALPHA_COLEMAK, + _SYM, + _NAV, + _NUM, + _CFG, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + + [_ALPHA_QWERTY] = LAYOUT( + 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_SCLN, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + + LCTL_T(KC_ESC), LT(_NUM,KC_SPC), LT(_NAV, KC_TAB), LT(_SYM, KC_BSPC), KC_ENT, LALT_T(KC_DEL) + ), + [_ALPHA_COLEMAK] = LAYOUT( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SCLN), + LCTL_T(KC_ENT), LT(_NUM,KC_SPC), LT(_NAV, KC_TAB), LT(_SYM, KC_BSPC), KC_ENT, LALT_T(KC_DEL) + ), + [_SYM] = LAYOUT( + KC_GRV , KC_CIRC, KC_AT, KC_DLR, KC_TILD, KC_AMPR, KC_EXLM, KC_PIPE, KC_UNDS, KC_HASH, + KC_SLSH, KC_LBRC, KC_LCBR, KC_LPRN, KC_EQL, KC_ASTR, KC_RPRN, KC_RCBR, KC_RBRC, KC_BSLS, + _______, KC_QUES, KC_PLUS, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, XXXXXXX, _______, + XXXXXXX, MO(_CFG), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_NAV] = LAYOUT( + XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, KC_PGDN, KC_UP, KC_PGUP, KC_DEL, + KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, XXXXXXX, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(_CFG), XXXXXXX + ), + [_NUM] = LAYOUT( + XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PSLS, + XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_P0, KC_P4, KC_P5, KC_P6, KC_PDOT, + XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_PMNS, KC_P1, KC_P2, KC_P3, KC_PAST, + XXXXXXX, XXXXXXX, XXXXXXX, KC_PEQL, KC_PENT, XXXXXXX + ), + [_CFG] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,DF(_ALPHA_QWERTY), DF(_ALPHA_COLEMAK), + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), +}; diff --git a/keyboards/3w6/keymaps/manna-harbour_miryoku/config.h b/keyboards/3w6/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 000000000000..fb567ad7d3a4 --- /dev/null +++ b/keyboards/3w6/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,32 @@ +/* Copyright 2021 weteor + * + * 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 . + */ + +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +#pragma once + +#define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT( \ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K32, K33, K34, K35, K36, K37 \ +) diff --git a/keyboards/3w6/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/3w6/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 000000000000..74df5e0fe120 --- /dev/null +++ b/keyboards/3w6/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,17 @@ +/* Copyright 2021 weteor + * + * 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 . + */ + +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- diff --git a/keyboards/3w6/readme.md b/keyboards/3w6/readme.md new file mode 100644 index 000000000000..5878376bde09 --- /dev/null +++ b/keyboards/3w6/readme.md @@ -0,0 +1,45 @@ +# 3W6 + +![3W6](https://raw.githubusercontent.com/weteor/3W6/main/images/3w6_rev2_1s.jpg) + +The 3w6 is a low profile, split ortholinear keyboard with 36 keys. + +I needed a keyboard for work and wasn't really satisfied with the available alternatives (namely Corne, Kyria and Ferris), mostly because they are either rather large and/or don't have the spacing I would like. + +The 3w6 is designed to be a simple, realiable, cheap and small keyboard to be taken everywhere. + +There are currently two revisions: +* Rev1: + - onboard microcontroller (ATMega32U4) + - USB-C connector Board <-> PC + - USB-C connectors between both split halfs + - choc spacing (18x17mm) + - aggressive pinky stagger + - support for Choc V1 switches +* Rev2: + - everything Rev1 did + - additional middle plate (2mm) + - support for [Pimoroni Trackball](https://shop.pimoroni.com/products/trackball-breakout) instead of outer thumb switch on right half, needs midplate + - mounting holes for [Tenting Puck](https://splitkb.com/collections/keyboard-parts/products/tenting-puck), only usable without mid or switchplate + +--- + +* Keyboard Maintainer: [weteor](https://github.com/weteor) +* Hardware Supported: + * 3w6 rev1 + * 3w6 rev2 (with Pimoroni support) +* Hardware Availability: + * make one yourself: [Design and Productionfiles](https://github.com/weteor/3w6) + * maintainer is selling kits when available +--- +To reach the bootloader, connect the board to the PC and push the reset button on left half. + +Make examples for this keyboard (after setting up your build environment): + + make 3w6/rev1:default + make 3w6/rev2:default + make 3w6/rev2:default_pimoroni + + --- + +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/3w6/rev1/config.h b/keyboards/3w6/rev1/config.h new file mode 100644 index 000000000000..1f0bab97fa12 --- /dev/null +++ b/keyboards/3w6/rev1/config.h @@ -0,0 +1,63 @@ +/* +Copyright 2021 weteor + +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 + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x4658 +#define DEVICE_VER 0x0001 +#define MANUFACTURER weteor +#define PRODUCT 3w6 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 10 + +#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2) +#define MATRIX_COLS_PER_SIDE (MATRIX_COLS / 2) + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS_L { B0, B1, B2, B4} +#define MATRIX_COL_PINS_L { B3, E6, F7, B6, B5 } +#define UNUSED_PINS_L { B7, C6, C7, D2, D3, D4, D5, D6, D7, F0, F1, F4, F5, F6 } + +#define MATRIX_ROW_PINS_R { P10, P11, P12, P05 } +#define MATRIX_COL_PINS_R { P06, P13, P14, P01, P00 } +#define UNUSED_PINS_R { P02, P03, P04, P07, P15, P16, P17 } + + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + diff --git a/keyboards/3w6/rev1/matrix.c b/keyboards/3w6/rev1/matrix.c new file mode 100644 index 000000000000..ae2f96bfa168 --- /dev/null +++ b/keyboards/3w6/rev1/matrix.c @@ -0,0 +1,258 @@ +/* +Copyright 2013 Oleg Kostyuk + 2020 Pierre Chevalier + 2021 weteor + +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 . +*/ + +/* + * This code was heavily inspired by the ergodox_ez keymap, and modernized + * to take advantage of the quantum.h microcontroller agnostics gpio control + * abstractions and use the macros defined in config.h for the wiring as opposed + * to repeating that information all over the place. + */ + +#include QMK_KEYBOARD_H +#include "i2c_master.h" + +extern i2c_status_t tca9555_status; +#define I2C_TIMEOUT 1000 + +// I2C address: +// All address pins of the tca9555 are connected to the ground +// | 0 | 1 | 0 | 0 | A2 | A1 | A0 | +// | 0 | 1 | 0 | 0 | 0 | 0 | 0 | +#define I2C_ADDR (0b0100000 << 1) + +// Register addresses +#define IODIRA 0x06 // i/o direction register +#define IODIRB 0x07 +#define IREGP0 0x00 // GPIO pull-up resistor register +#define IREGP1 0x01 +#define OREGP0 0x02 // general purpose i/o port register (write modifies OLAT) +#define OREGP1 0x03 + +bool i2c_initialized = 0; +i2c_status_t tca9555_status = I2C_ADDR; + +uint8_t init_tca9555(void) { + print("starting init"); + tca9555_status = I2C_ADDR; + + // I2C subsystem + if (i2c_initialized == 0) { + i2c_init(); // on pins D(1,0) + i2c_initialized = true; + wait_ms(I2C_TIMEOUT); + } + + // set pin direction + // - unused : input : 1 + // - input : input : 1 + // - driving : output : 0 + uint8_t conf[2] = { + // This means: write on pin 5 of port 0, read on rest + 0b11011111, + // This means: we will write on pins 0 to 2 on port 1. read rest + 0b11111000, + }; + tca9555_status = i2c_writeReg(I2C_ADDR, IODIRA, conf, 2, I2C_TIMEOUT); + + return tca9555_status; +} + +/* matrix state(1:on, 0:off) */ +static matrix_row_t matrix[MATRIX_ROWS]; // debounced values + +static matrix_row_t read_cols(uint8_t row); +static void init_cols(void); +static void unselect_rows(void); +static void select_row(uint8_t row); + +static uint8_t tca9555_reset_loop; + +void matrix_init_custom(void) { + // initialize row and col + + tca9555_status = init_tca9555(); + + unselect_rows(); + init_cols(); + + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = 0; + } +} + +void matrix_power_up(void) { + tca9555_status = init_tca9555(); + + unselect_rows(); + init_cols(); + + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = 0; + } +} + +// Reads and stores a row, returning +// whether a change occurred. +static inline bool store_matrix_row(matrix_row_t current_matrix[], uint8_t index) { + matrix_row_t temp = read_cols(index); + if (current_matrix[index] != temp) { + current_matrix[index] = temp; + return true; + } + return false; +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + if (tca9555_status) { // if there was an error + if (++tca9555_reset_loop == 0) { + // since tca9555_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans + // this will be approx bit more frequent than once per second + dprint("trying to reset tca9555\n"); + tca9555_status = init_tca9555(); + if (tca9555_status) { + dprint("right side not responding\n"); + } else { + dprint("right side attached\n"); + } + } + } + + bool changed = false; + for (uint8_t i = 0; i < MATRIX_ROWS_PER_SIDE; i++) { + // select rows from left and right hands + uint8_t left_index = i; + uint8_t right_index = i + MATRIX_ROWS_PER_SIDE; + select_row(left_index); + select_row(right_index); + + // we don't need a 30us delay anymore, because selecting a + // left-hand row requires more than 30us for i2c. + + changed |= store_matrix_row(current_matrix, left_index); + changed |= store_matrix_row(current_matrix, right_index); + + unselect_rows(); + } + + return changed; +} + +static void init_cols(void) { + // init on tca9555 + // not needed, already done as part of init_tca9555() + + // init on mcu + pin_t matrix_col_pins_mcu[MATRIX_COLS_PER_SIDE] = MATRIX_COL_PINS_L; + for (int pin_index = 0; pin_index < MATRIX_COLS_PER_SIDE; pin_index++) { + pin_t pin = matrix_col_pins_mcu[pin_index]; + setPinInput(pin); + writePinHigh(pin); + } +} + +static matrix_row_t read_cols(uint8_t row) { + if (row < MATRIX_ROWS_PER_SIDE) { + pin_t matrix_col_pins_mcu[MATRIX_COLS_PER_SIDE] = MATRIX_COL_PINS_L; + matrix_row_t current_row_value = 0; + // For each col... + for (uint8_t col_index = 0; col_index < MATRIX_COLS_PER_SIDE; col_index++) { + // Select the col pin to read (active low) + uint8_t pin_state = readPin(matrix_col_pins_mcu[col_index]); + + // Populate the matrix row with the state of the col pin + current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + } + return current_row_value; + } else { + if (tca9555_status) { // if there was an error + return 0; + } else { + uint8_t data = 0; + uint8_t ports[2] = {0}; + tca9555_status = i2c_readReg(I2C_ADDR, IREGP0, ports, 2, I2C_TIMEOUT); + if (tca9555_status) { // if there was an error + // do nothing + return 0; + } else { + uint8_t port0 = ports[0]; + uint8_t port1 = ports[1]; + + // The initial state was all ones and any depressed key at a given column for the currently selected row will have its bit flipped to zero. + // The return value is a row as represented in the generic matrix code were the rightmost bits represent the lower columns and zeroes represent non-depressed keys while ones represent depressed keys. + // Since the pins are not ordered sequentially, we have to build the correct dataset from the two ports. Refer to the schematic to see where every pin is connected. + data |= ( port0 & 0x01 ); + data |= ( port0 & 0x02 ); + data |= ( port1 & 0x10 ) >> 2; + data |= ( port1 & 0x08 ); + data |= ( port0 & 0x40 ) >> 2; + data = ~(data); + + tca9555_status = I2C_STATUS_SUCCESS; + return data; + } + } + } +} + +static void unselect_rows(void) { + // no need to unselect on tca9555, because the select step sets all + // the other row bits high, and it's not changing to a different + // direction + + // unselect rows on microcontroller + pin_t matrix_row_pins_mcu[MATRIX_ROWS_PER_SIDE] = MATRIX_ROW_PINS_L; + for (int pin_index = 0; pin_index < MATRIX_ROWS_PER_SIDE; pin_index++) { + pin_t pin = matrix_row_pins_mcu[pin_index]; + setPinInput(pin); + writePinLow(pin); + } +} + +static void select_row(uint8_t row) { + uint8_t port0 = 0xff; + uint8_t port1 = 0xff; + + if (row < MATRIX_ROWS_PER_SIDE) { + // select on atmega32u4 + pin_t matrix_row_pins_mcu[MATRIX_ROWS_PER_SIDE] = MATRIX_ROW_PINS_L; + pin_t pin = matrix_row_pins_mcu[row]; + setPinOutput(pin); + writePinLow(pin); + } else { + // select on tca9555 + if (tca9555_status) { // if there was an error + // do nothing + } else { + switch(row) { + case 4: port1 &= ~(1 << 0); break; + case 5: port1 &= ~(1 << 1); break; + case 6: port1 &= ~(1 << 2); break; + case 7: port0 &= ~(1 << 5); break; + default: break; + } + + uint8_t ports[2] = {port0, port1}; + tca9555_status = i2c_writeReg(I2C_ADDR, OREGP0, ports, 2, I2C_TIMEOUT); + // Select the desired row by writing a byte for the entire GPIOB bus where only the bit representing the row we want to select is a zero (write instruction) and every other bit is a one. + // Note that the row - MATRIX_ROWS_PER_SIDE reflects the fact that being on the right hand, the columns are numbered from MATRIX_ROWS_PER_SIDE to MATRIX_ROWS, but the pins we want to write to are indexed from zero up on the GPIOB bus. + } + } +} diff --git a/keyboards/3w6/rev1/readme.md b/keyboards/3w6/rev1/readme.md new file mode 100644 index 000000000000..4d806f92227e --- /dev/null +++ b/keyboards/3w6/rev1/readme.md @@ -0,0 +1,32 @@ +# 3W6 + +![3W6](https://raw.githubusercontent.com/weteor/3W6/main/images/3w6_1s.jpg) +![3W6](https://raw.githubusercontent.com/weteor/3W6/main/images/3w6_3s.jpg) + +The 3w6 is a low profile, split ortholinear keyboard with 36 keys. + +* Rev1: + - onboard microcontroller (ATMega32U4) + - USB-C connector Board <-> PC + - USB-C connectors between both split halfs + - choc spacing (18x17mm) + - aggressive pinky stagger + - support for Choc V1 switches + +--- + +* Keyboard Maintainer: [weteor](https://github.com/weteor) +* Hardware Supported: + * 3w6 rev1 +* Hardware Availability (this is an older version, current revision is rev2): + * make one yourself: [Design and Productionfiles](https://github.com/weteor/3w6) +--- +To reach the bootloader, connect the board to the PC and push the reset button on left half. + +Make examples for this keyboard (after setting up your build environment): + + make 3w6/rev1: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). diff --git a/keyboards/3w6/rev1/rev1.c b/keyboards/3w6/rev1/rev1.c new file mode 100644 index 000000000000..3944ec3b1317 --- /dev/null +++ b/keyboards/3w6/rev1/rev1.c @@ -0,0 +1,17 @@ +/* Copyright 2021 weteor + * + * 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 "rev1.h" diff --git a/keyboards/3w6/rev1/rev1.h b/keyboards/3w6/rev1/rev1.h new file mode 100644 index 000000000000..ba881ca431ce --- /dev/null +++ b/keyboards/3w6/rev1/rev1.h @@ -0,0 +1,44 @@ +/* Copyright 2021 weteor + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09,\ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19,\ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29,\ + k32, k33, k34, k35, k36, k37\ +) { \ + { k00, k01, k02, k03, k04 }, \ + { k10, k11, k12, k13, k14 }, \ + { k20, k21, k22, k23, k24 }, \ + { KC_NO, KC_NO, k32, k33, k34 }, \ + \ + { k05, k06, k07, k08, k09 }, \ + { k15, k16, k17, k18, k19 }, \ + { k25, k26, k27, k28, k29 }, \ + { k35, k36, k37, KC_NO, KC_NO }, \ +} diff --git a/keyboards/3w6/rev1/rules.mk b/keyboards/3w6/rev1/rules.mk new file mode 100644 index 000000000000..d4876dde77b5 --- /dev/null +++ b/keyboards/3w6/rev1/rules.mk @@ -0,0 +1,29 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +UNICODE_ENABLE = yes +CUSTOM_MATRIX = lite +NO_USB_STARTUP_CHECK = yes +LTO_ENABLE = no + +SRC += matrix.c +QUANTUM_LIB_SRC += i2c_master.c diff --git a/keyboards/3w6/rev2/config.h b/keyboards/3w6/rev2/config.h new file mode 100644 index 000000000000..d191360607ea --- /dev/null +++ b/keyboards/3w6/rev2/config.h @@ -0,0 +1,63 @@ +/* +Copyright 2021 weteor + +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 + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x4658 +#define DEVICE_VER 0x0002 +#define MANUFACTURER weteor +#define PRODUCT 3w6 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 10 + +#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2) +#define MATRIX_COLS_PER_SIDE (MATRIX_COLS / 2) + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS_L { B0, B1, B2, B4} +#define MATRIX_COL_PINS_L { B3, E6, F7, B6, B5 } +#define UNUSED_PINS_L { B7, C6, C7, D2, D3, D4, D5, D6, D7, F0, F1, F4, F5, F6 } + +#define MATRIX_ROW_PINS_R { P10, P11, P12, P05 } +#define MATRIX_COL_PINS_R { P06, P13, P14, P01, P00 } +#define UNUSED_PINS_R { P02, P03, P04, P07, P15, P16, P17 } + + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/config.h b/keyboards/3w6/rev2/keymaps/default_pimoroni/config.h new file mode 100644 index 000000000000..45c9d5154ee4 --- /dev/null +++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/config.h @@ -0,0 +1,21 @@ +/* Copyright 2021 weteor + * + * 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 PIMORONI_TRACKBALL_INVERT_Y +#define PIMORONI_TRACKBALL_ROTATE + diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/keymap.c b/keyboards/3w6/rev2/keymaps/default_pimoroni/keymap.c new file mode 100644 index 000000000000..a5b8c6006a0b --- /dev/null +++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/keymap.c @@ -0,0 +1,70 @@ +/* +Copyright 2021 weteor + +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 layers +{ + _ALPHA_QWERTY = 0, + _ALPHA_COLEMAK, + _SYM, + _NAV, + _NUM, + _CFG, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + +[_ALPHA_QWERTY] = LAYOUT( + 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_SCLN, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + + LCTL_T(KC_ESC), LT(_NUM,KC_SPC), LT(_NAV, KC_TAB), LT(_SYM, KC_BSPC), KC_ENT, LALT_T(KC_DEL) + ), + [_ALPHA_COLEMAK] = LAYOUT( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SCLN), + LCTL_T(KC_ENT), LT(_NUM,KC_SPC), LT(_NAV, KC_TAB), LT(_SYM, KC_BSPC), KC_ENT, LALT_T(KC_DEL) + ), + [_SYM] = LAYOUT( + KC_GRV , KC_CIRC, KC_AT, KC_DLR, KC_TILD, KC_AMPR, KC_EXLM, KC_PIPE, KC_UNDS, KC_HASH, + KC_SLSH, KC_LBRC, KC_LCBR, KC_LPRN, KC_EQL, KC_ASTR, KC_RPRN, KC_RCBR, KC_RBRC, KC_BSLS, + _______, KC_QUES, KC_PLUS, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, XXXXXXX, _______, + XXXXXXX, MO(_CFG), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_NAV] = LAYOUT( + XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, KC_PGDN, KC_UP, KC_PGUP, KC_DEL, + KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT, XXXXXXX, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(_CFG), XXXXXXX + ), + [_NUM] = LAYOUT( + XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PSLS, + XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_P0, KC_P4, KC_P5, KC_P6, KC_PDOT, + XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_PMNS, KC_P1, KC_P2, KC_P3, KC_PAST, + XXXXXXX, XXXXXXX, XXXXXXX, KC_PEQL, KC_PENT, XXXXXXX + ), + [_CFG] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,DF(_ALPHA_QWERTY), DF(_ALPHA_COLEMAK), + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), +}; diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c new file mode 100644 index 000000000000..c4f4a0441a4f --- /dev/null +++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.c @@ -0,0 +1,177 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "pimoroni_trackball.h" +#include "i2c_master.h" + +static uint8_t scrolling = 0; +static int16_t x_offset = 0; +static int16_t y_offset = 0; +static int16_t h_offset = 0; +static int16_t v_offset = 0; +static float precisionSpeed = 1; + +static uint16_t i2c_timeout_timer; + +#ifndef I2C_TIMEOUT +# define I2C_TIMEOUT 100 +#endif +#ifndef I2C_WAITCHECK +# define I2C_WAITCHECK 1000 +#endif +#ifndef MOUSE_DEBOUNCE +# define MOUSE_DEBOUNCE 5 +#endif + +void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white) { + uint8_t data[] = {0x00, red, green, blue, white}; + i2c_transmit(TRACKBALL_WRITE, data, sizeof(data), I2C_TIMEOUT); +} + +int16_t mouse_offset(uint8_t positive, uint8_t negative, int16_t scale) { + int16_t offset = (int16_t)positive - (int16_t)negative; + int16_t magnitude = (int16_t)(scale * offset * offset * precisionSpeed); + return offset < 0 ? -magnitude : magnitude; +} + +void update_member(int8_t* member, int16_t* offset) { + if (*offset > 127) { + *member = 127; + *offset -= 127; + } else if (*offset < -127) { + *member = -127; + *offset += 127; + } else { + *member = *offset; + *offset = 0; + } +} + +__attribute__((weak)) void trackball_check_click(bool pressed, report_mouse_t* mouse) { + if (pressed) { + mouse->buttons |= MOUSE_BTN1; + } else { + mouse->buttons &= ~MOUSE_BTN1; + } +} + +bool process_record_kb(uint16_t keycode, keyrecord_t* record) { + if (true) { + xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); + } + + + if (!process_record_user(keycode, record)) { return false; } + +/* If Mousekeys is disabled, then use handle the mouse button + * keycodes. This makes things simpler, and allows usage of + * the keycodes in a consistent manner. But only do this if + * Mousekeys is not enable, so it's not handled twice. + */ +#ifndef MOUSEKEY_ENABLE + if (IS_MOUSEKEY_BUTTON(keycode)) { + report_mouse_t currentReport = pointing_device_get_report(); + if (record->event.pressed) { + currentReport.buttons |= 1 << (keycode - KC_MS_BTN1); + } else { + currentReport.buttons &= ~(1 << (keycode - KC_MS_BTN1)); + } + pointing_device_set_report(currentReport); + pointing_device_send(); + } +#endif + + return true; +} + +void trackball_register_button(bool pressed, enum mouse_buttons button) { + report_mouse_t currentReport = pointing_device_get_report(); + if (pressed) { + currentReport.buttons |= button; + } else { + currentReport.buttons &= ~button; + } + pointing_device_set_report(currentReport); +} + +float trackball_get_precision(void) { return precisionSpeed; } +void trackball_set_precision(float precision) { precisionSpeed = precision; } +bool trackball_is_scrolling(void) { return scrolling; } +void trackball_set_scrolling(bool scroll) { scrolling = scroll; } + + +__attribute__((weak)) void pointing_device_init(void) { trackball_set_rgbw(0x80, 0x00, 0x00, 0x00); } + +void pointing_device_task(void) { + static bool debounce; + static uint16_t debounce_timer; + uint8_t state[5] = {}; + if (timer_elapsed(i2c_timeout_timer) > I2C_WAITCHECK) { + if (i2c_readReg(TRACKBALL_WRITE, 0x04, state, 5, I2C_TIMEOUT) == I2C_STATUS_SUCCESS) { + if (!state[4] && !debounce) { + if (scrolling) { +#ifdef PIMORONI_TRACKBALL_INVERT_X + h_offset += mouse_offset(state[2], state[3], 1); +#else + h_offset -= mouse_offset(state[2], state[3], 1); +#endif +#ifdef PIMORONI_TRACKBALL_INVERT_Y + v_offset += mouse_offset(state[1], state[0], 1); +#else + v_offset -= mouse_offset(state[1], state[0], 1); +#endif + } else { +#ifdef PIMORONI_TRACKBALL_INVERT_X + x_offset -= mouse_offset(state[2], state[3], 5); +#else + x_offset += mouse_offset(state[2], state[3], 5); +#endif +#ifdef PIMORONI_TRACKBALL_INVERT_Y + y_offset -= mouse_offset(state[1], state[0], 5); +#else + y_offset += mouse_offset(state[1], state[0], 5); +#endif + } + } else { + if (state[4]) { + debounce = true; + debounce_timer = timer_read(); + } + } + } else { + i2c_timeout_timer = timer_read(); + } + } + + if (timer_elapsed(debounce_timer) > MOUSE_DEBOUNCE) debounce = false; + + report_mouse_t mouse = pointing_device_get_report(); + // trackball_check_click(state[4] & (1 << 7), &mouse); + +#ifndef PIMORONI_TRACKBALL_ROTATE + update_member(&mouse.x, &x_offset); + update_member(&mouse.y, &y_offset); + update_member(&mouse.h, &h_offset); + update_member(&mouse.v, &v_offset); +#else + update_member(&mouse.x, &y_offset); + update_member(&mouse.y, &x_offset); + update_member(&mouse.h, &v_offset); + update_member(&mouse.v, &h_offset); +#endif + pointing_device_set_report(mouse); + pointing_device_send(); +} diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h new file mode 100644 index 000000000000..cfcd5a47a1b1 --- /dev/null +++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/pimoroni_trackball.h @@ -0,0 +1,35 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "quantum.h" +#include "pointing_device.h" + +#ifndef TRACKBALL_ADDRESS +# define TRACKBALL_ADDRESS 0x0A +#endif +#define TRACKBALL_WRITE ((TRACKBALL_ADDRESS << 1) | I2C_WRITE) +#define TRACKBALL_READ ((TRACKBALL_ADDRESS << 1) | I2C_READ) + +void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white); +void trackball_check_click(bool pressed, report_mouse_t *mouse); +void trackball_register_button(bool pressed, enum mouse_buttons button); + +float trackball_get_precision(void); +void trackball_set_precision(float precision); +bool trackball_is_scrolling(void); +void trackball_set_scrolling(bool scroll); \ No newline at end of file diff --git a/keyboards/3w6/rev2/keymaps/default_pimoroni/rules.mk b/keyboards/3w6/rev2/keymaps/default_pimoroni/rules.mk new file mode 100644 index 000000000000..231a88371991 --- /dev/null +++ b/keyboards/3w6/rev2/keymaps/default_pimoroni/rules.mk @@ -0,0 +1,3 @@ +POINTING_DEVICE_ENABLE = yes +SRC += pimoroni_trackball.c +MOUSEKEY_ENABLE = no diff --git a/keyboards/3w6/rev2/matrix.c b/keyboards/3w6/rev2/matrix.c new file mode 100644 index 000000000000..c47c24e1dcfe --- /dev/null +++ b/keyboards/3w6/rev2/matrix.c @@ -0,0 +1,256 @@ +/* +Copyright 2013 Oleg Kostyuk + 2020 Pierre Chevalier + 2021 weteor + +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 . +*/ + +/* + * This code was heavily inspired by the ergodox_ez keymap, and modernized + * to take advantage of the quantum.h microcontroller agnostics gpio control + * abstractions and use the macros defined in config.h for the wiring as opposed + * to repeating that information all over the place. + */ + +#include QMK_KEYBOARD_H +#include "i2c_master.h" + +extern i2c_status_t tca9555_status; +#define I2C_TIMEOUT 1000 + +// I2C address: +// All address pins of the tca9555 are connected to the ground +// | 0 | 1 | 0 | 0 | A2 | A1 | A0 | +// | 0 | 1 | 0 | 0 | 0 | 0 | 0 | +#define I2C_ADDR (0b0100000 << 1) + +// Register addresses +#define IODIRA 0x06 // i/o direction register +#define IODIRB 0x07 +#define IREGP0 0x00 // GPIO pull-up resistor register +#define IREGP1 0x01 +#define OREGP0 0x02 // general purpose i/o port register (write modifies OLAT) +#define OREGP1 0x03 + +bool i2c_initialized = 0; +i2c_status_t tca9555_status = I2C_ADDR; + +uint8_t init_tca9555(void) { + print("starting init"); + tca9555_status = I2C_ADDR; + + // I2C subsystem + if (i2c_initialized == 0) { + i2c_init(); // on pins D(1,0) + i2c_initialized = true; + wait_ms(I2C_TIMEOUT); + } + + // set pin direction + // - unused : input : 1 + // - input : input : 1 + // - driving : output : 0 + uint8_t conf[2] = { + // This means: read all pins of port 0 + 0b11111111, + // This means: we will write on pins 0 to 3 on port 1. read rest + 0b11110000, + }; + tca9555_status = i2c_writeReg(I2C_ADDR, IODIRA, conf, 2, I2C_TIMEOUT); + + return tca9555_status; +} + +/* matrix state(1:on, 0:off) */ +static matrix_row_t matrix[MATRIX_ROWS]; // debounced values + +static matrix_row_t read_cols(uint8_t row); +static void init_cols(void); +static void unselect_rows(void); +static void select_row(uint8_t row); + +static uint8_t tca9555_reset_loop; + +void matrix_init_custom(void) { + // initialize row and col + + tca9555_status = init_tca9555(); + + unselect_rows(); + init_cols(); + + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = 0; + } +} + +void matrix_power_up(void) { + tca9555_status = init_tca9555(); + + unselect_rows(); + init_cols(); + + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = 0; + } +} + +// Reads and stores a row, returning +// whether a change occurred. +static inline bool store_matrix_row(matrix_row_t current_matrix[], uint8_t index) { + matrix_row_t temp = read_cols(index); + if (current_matrix[index] != temp) { + current_matrix[index] = temp; + return true; + } + return false; +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + if (tca9555_status) { // if there was an error + if (++tca9555_reset_loop == 0) { + // since tca9555_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans + // this will be approx bit more frequent than once per second + dprint("trying to reset tca9555\n"); + tca9555_status = init_tca9555(); + if (tca9555_status) { + dprint("right side not responding\n"); + } else { + dprint("right side attached\n"); + } + } + } + + bool changed = false; + for (uint8_t i = 0; i < MATRIX_ROWS_PER_SIDE; i++) { + // select rows from left and right hands + uint8_t left_index = i; + uint8_t right_index = i + MATRIX_ROWS_PER_SIDE; + select_row(left_index); + select_row(right_index); + + // we don't need a 30us delay anymore, because selecting a + // left-hand row requires more than 30us for i2c. + + changed |= store_matrix_row(current_matrix, left_index); + changed |= store_matrix_row(current_matrix, right_index); + + unselect_rows(); + } + + return changed; +} + +static void init_cols(void) { + // init on tca9555 + // not needed, already done as part of init_tca9555() + + // init on mcu + pin_t matrix_col_pins_mcu[MATRIX_COLS_PER_SIDE] = MATRIX_COL_PINS_L; + for (int pin_index = 0; pin_index < MATRIX_COLS_PER_SIDE; pin_index++) { + pin_t pin = matrix_col_pins_mcu[pin_index]; + setPinInput(pin); + writePinHigh(pin); + } +} + +static matrix_row_t read_cols(uint8_t row) { + if (row < MATRIX_ROWS_PER_SIDE) { + pin_t matrix_col_pins_mcu[MATRIX_COLS_PER_SIDE] = MATRIX_COL_PINS_L; + matrix_row_t current_row_value = 0; + // For each col... + for (uint8_t col_index = 0; col_index < MATRIX_COLS_PER_SIDE; col_index++) { + // Select the col pin to read (active low) + uint8_t pin_state = readPin(matrix_col_pins_mcu[col_index]); + + // Populate the matrix row with the state of the col pin + current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + } + return current_row_value; + } else { + if (tca9555_status) { // if there was an error + return 0; + } else { + uint8_t data = 0; + uint8_t port0 = 0; + tca9555_status = i2c_readReg(I2C_ADDR, IREGP0, &port0, 1, I2C_TIMEOUT); + if (tca9555_status) { // if there was an error + // do nothing + return 0; + } else { + port0 = ~port0; + // We read all the pins on GPIOA. + // The initial state was all ones and any depressed key at a given column for the currently selected row will have its bit flipped to zero. + // The return value is a row as represented in the generic matrix code were the rightmost bits represent the lower columns and zeroes represent non-depressed keys while ones represent depressed keys. + // the pins connected to eact columns are sequential, but in reverse order, and counting from zero down (col 5 -> GPIO04, col6 -> GPIO03 and so on). + data |= (port0 & 0x01) << 4; + data |= (port0 & 0x02) << 2; + data |= (port0 & 0x04); + data |= (port0 & 0x08) >> 2; + data |= (port0 & 0x10) >> 4; + + tca9555_status = I2C_STATUS_SUCCESS; + return data; + } + } + } +} + +static void unselect_rows(void) { + // no need to unselect on tca9555, because the select step sets all + // the other row bits high, and it's not changing to a different + // direction + + // unselect rows on microcontroller + pin_t matrix_row_pins_mcu[MATRIX_ROWS_PER_SIDE] = MATRIX_ROW_PINS_L; + for (int pin_index = 0; pin_index < MATRIX_ROWS_PER_SIDE; pin_index++) { + pin_t pin = matrix_row_pins_mcu[pin_index]; + setPinInput(pin); + writePinLow(pin); + } +} + +static void select_row(uint8_t row) { + uint8_t port1 = 0xff; + + if (row < MATRIX_ROWS_PER_SIDE) { + // select on atmega32u4 + pin_t matrix_row_pins_mcu[MATRIX_ROWS_PER_SIDE] = MATRIX_ROW_PINS_L; + pin_t pin = matrix_row_pins_mcu[row]; + setPinOutput(pin); + writePinLow(pin); + } else { + // select on tca9555 + if (tca9555_status) { // if there was an error + // do nothing + } else { + switch(row) { + case 4: port1 &= ~(1 << 0); break; + case 5: port1 &= ~(1 << 1); break; + case 6: port1 &= ~(1 << 2); break; + case 7: + port1 &= ~(1 << 3); + break; + default: break; + } + + tca9555_status = i2c_writeReg(I2C_ADDR, OREGP1, &port1, 1, I2C_TIMEOUT); + // Select the desired row by writing a byte for the entire GPIOB bus where only the bit representing the row we want to select is a zero (write instruction) and every other bit is a one. + // Note that the row - MATRIX_ROWS_PER_SIDE reflects the fact that being on the right hand, the columns are numbered from MATRIX_ROWS_PER_SIDE to MATRIX_ROWS, but the pins we want to write to are indexed from zero up on the GPIOB bus. + } + } +} diff --git a/keyboards/3w6/rev2/readme.md b/keyboards/3w6/rev2/readme.md new file mode 100644 index 000000000000..a17c2fd6be3c --- /dev/null +++ b/keyboards/3w6/rev2/readme.md @@ -0,0 +1,38 @@ +# 3W6 + +![3W6_rev2](https://raw.githubusercontent.com/weteor/3W6/main/images/3w6_rev2_2s.jpg) +![3W6_rev2](https://raw.githubusercontent.com/weteor/3W6/main/images/3w6_rev2_1s.jpg) + +The 3w6 is a low profile, split ortholinear keyboard with 36 keys. + +* Rev2: + - onboard microcontroller (ATMega32U4) + - USB-C connector Board <-> PC + - USB-C connectors between both split halfs + - choc spacing (18x17mm) + - aggressive pinky stagger + - support for Choc V1 switches + - files for midplate (1.6 to 2mm) + - support for [Pimoroni Trackball](https://shop.pimoroni.com/products/trackball-breakout) instead of outer thumb switch on right half, needs midplate + - mounting holes for [Tenting Puck](https://splitkb.com/collections/keyboard-parts/products/tenting-puck), only usable without mid or switchplate + +--- + +* Keyboard Maintainer: [weteor](https://github.com/weteor) +* Hardware Supported: + * 3w6 rev2 (with Pimoroni support) +* Hardware Availability: + * make one yourself: [Design and Productionfiles](https://github.com/weteor/3w6) + * maintainer is selling kits when available + +--- +To reach the bootloader, connect the board to the PC and push the reset button on left half. + +Make examples for this keyboard (after setting up your build environment): + + make 3w6/rev2:default + make 3w6/rev2:default_pimoroni + + --- + +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/3w6/rev2/rev2.c b/keyboards/3w6/rev2/rev2.c new file mode 100644 index 000000000000..17bfb9b8a7dc --- /dev/null +++ b/keyboards/3w6/rev2/rev2.c @@ -0,0 +1,17 @@ +/* Copyright 2021 weteor + * + * 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 "rev2.h" diff --git a/keyboards/3w6/rev2/rev2.h b/keyboards/3w6/rev2/rev2.h new file mode 100644 index 000000000000..ba881ca431ce --- /dev/null +++ b/keyboards/3w6/rev2/rev2.h @@ -0,0 +1,44 @@ +/* Copyright 2021 weteor + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09,\ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19,\ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29,\ + k32, k33, k34, k35, k36, k37\ +) { \ + { k00, k01, k02, k03, k04 }, \ + { k10, k11, k12, k13, k14 }, \ + { k20, k21, k22, k23, k24 }, \ + { KC_NO, KC_NO, k32, k33, k34 }, \ + \ + { k05, k06, k07, k08, k09 }, \ + { k15, k16, k17, k18, k19 }, \ + { k25, k26, k27, k28, k29 }, \ + { k35, k36, k37, KC_NO, KC_NO }, \ +} diff --git a/keyboards/3w6/rev2/rules.mk b/keyboards/3w6/rev2/rules.mk new file mode 100644 index 000000000000..d4876dde77b5 --- /dev/null +++ b/keyboards/3w6/rev2/rules.mk @@ -0,0 +1,29 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +UNICODE_ENABLE = yes +CUSTOM_MATRIX = lite +NO_USB_STARTUP_CHECK = yes +LTO_ENABLE = no + +SRC += matrix.c +QUANTUM_LIB_SRC += i2c_master.c diff --git a/keyboards/40percentclub/25/25.c b/keyboards/40percentclub/25/25.c index 54a42d263c80..8aff7565399f 100644 --- a/keyboards/40percentclub/25/25.c +++ b/keyboards/40percentclub/25/25.c @@ -15,36 +15,9 @@ */ #include "25.h" -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, {{4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, {{4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}}, diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h index 4a927110cf6a..d43c59e06d75 100644 --- a/keyboards/40percentclub/25/config.h +++ b/keyboards/40percentclub/25/config.h @@ -173,23 +173,3 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/40percentclub/25/info.json b/keyboards/40percentclub/25/info.json index abb77a0677c5..ed73de2c7ed0 100644 --- a/keyboards/40percentclub/25/info.json +++ b/keyboards/40percentclub/25/info.json @@ -5,7 +5,7 @@ "width": 6, "height": 2, "layouts": { - "LAYOUT_macro": { + "LAYOUT_ortho_5x5": { "key_count": 15, "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, @@ -15,7 +15,7 @@ {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4} ] }, - "LAYOUT_split": { + "LAYOUT_ortho_5x10": { "key_count": 30, "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, diff --git a/keyboards/40percentclub/25/keymaps/default/keymap.c b/keyboards/40percentclub/25/keymaps/default/keymap.c index ccb54c82a1ae..bea66ea5a474 100644 --- a/keyboards/40percentclub/25/keymaps/default/keymap.c +++ b/keyboards/40percentclub/25/keymaps/default/keymap.c @@ -70,18 +70,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END \ ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/25/keymaps/macro/keymap.c b/keyboards/40percentclub/25/keymaps/macro/keymap.c index 80d227710b88..a1711a380685 100644 --- a/keyboards/40percentclub/25/keymaps/macro/keymap.c +++ b/keyboards/40percentclub/25/keymaps/macro/keymap.c @@ -24,19 +24,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC \ ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/25/rules.mk b/keyboards/40percentclub/25/rules.mk index d01803957159..9a0010bb24aa 100644 --- a/keyboards/40percentclub/25/rules.mk +++ b/keyboards/40percentclub/25/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,12 +18,9 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 # Enable generic behavior for split boards SPLIT_KEYBOARD = yes - -LAYOUTS = ortho_5x5 ortho_5x10 diff --git a/keyboards/40percentclub/4pack/4pack.c b/keyboards/40percentclub/4pack/4pack.c index 98f22a65a5c8..4ab3575ca4d7 100644 --- a/keyboards/40percentclub/4pack/4pack.c +++ b/keyboards/40percentclub/4pack/4pack.c @@ -29,26 +29,3 @@ void matrix_init_kb(void) { // Do the rest matrix_init_user(); } - -/* -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/40percentclub/4pack/config.h b/keyboards/40percentclub/4pack/config.h index b1101484c4ea..00f0d3e57e11 100644 --- a/keyboards/40percentclub/4pack/config.h +++ b/keyboards/40percentclub/4pack/config.h @@ -200,26 +200,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/40percentclub/4pack/keymaps/default/keymap.c b/keyboards/40percentclub/4pack/keymaps/default/keymap.c index 19264651b6ee..a812f4816ba2 100644 --- a/keyboards/40percentclub/4pack/keymaps/default/keymap.c +++ b/keyboards/40percentclub/4pack/keymaps/default/keymap.c @@ -21,6 +21,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_A, KC_S, KC_D, KC_F ), }; - - -void matrix_init_user(void) { } diff --git a/keyboards/40percentclub/4pack/rules.mk b/keyboards/40percentclub/4pack/rules.mk index a945161390d4..e816ff4e65f8 100644 --- a/keyboards/40percentclub/4pack/rules.mk +++ b/keyboards/40percentclub/4pack/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/40percentclub/4x4/4x4.c b/keyboards/40percentclub/4x4/4x4.c index 963b6d00d449..8510b358f5a3 100644 --- a/keyboards/40percentclub/4x4/4x4.c +++ b/keyboards/40percentclub/4x4/4x4.c @@ -1,29 +1 @@ - #include "4x4.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/40percentclub/4x4/4x4.h b/keyboards/40percentclub/4x4/4x4.h index 359cdc80a161..8cc5a150aaa3 100644 --- a/keyboards/40percentclub/4x4/4x4.h +++ b/keyboards/40percentclub/4x4/4x4.h @@ -56,16 +56,3 @@ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, K2c, K2d, K2e, K2f }, \ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3a, K3b, K3c, K3d, K3e, K3f } \ } - -#define LAYOUT_kc_ortho_4x12( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3a, K3b \ -) \ -{ \ - { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0a, KC_##K0b, ___, ___, ___, ___}, \ - { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1a, KC_##K1b, ___, ___, ___, ___}, \ - { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2a, KC_##K2b, ___, ___, ___, ___}, \ - { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3a, KC_##K3b, ___, ___, ___, ___} \ -} diff --git a/keyboards/40percentclub/4x4/config.h b/keyboards/40percentclub/4x4/config.h index cfb5257b1908..f3ed8ed22dc3 100644 --- a/keyboards/40percentclub/4x4/config.h +++ b/keyboards/40percentclub/4x4/config.h @@ -140,23 +140,3 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/40percentclub/4x4/keymaps/default/keymap.c b/keyboards/40percentclub/4x4/keymaps/default/keymap.c index 1f52b20667ad..079f6caeedf6 100644 --- a/keyboards/40percentclub/4x4/keymaps/default/keymap.c +++ b/keyboards/40percentclub/4x4/keymaps/default/keymap.c @@ -86,19 +86,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/4x4/rules.mk b/keyboards/40percentclub/4x4/rules.mk index 91b609103e2b..90eef506ec2b 100644 --- a/keyboards/40percentclub/4x4/rules.mk +++ b/keyboards/40percentclub/4x4/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,12 +17,11 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 -LAYOUTS = ortho_4x4 ortho_4x8 ortho_4x12 ortho_4x16 +LAYOUTS = ortho_4x4 ortho_4x12 # Disable unsupported hardware RGBLIGHT_SUPPORTED = no diff --git a/keyboards/40percentclub/5x5/5x5.c b/keyboards/40percentclub/5x5/5x5.c index 20e5246094c4..b31fcd7814ad 100644 --- a/keyboards/40percentclub/5x5/5x5.c +++ b/keyboards/40percentclub/5x5/5x5.c @@ -1,29 +1 @@ - #include "5x5.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/40percentclub/5x5/config.h b/keyboards/40percentclub/5x5/config.h index 809e0a9e1298..6f098a80ba65 100644 --- a/keyboards/40percentclub/5x5/config.h +++ b/keyboards/40percentclub/5x5/config.h @@ -149,23 +149,3 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/40percentclub/5x5/info.json b/keyboards/40percentclub/5x5/info.json index 1c1df8eda986..1e7bac7a691a 100644 --- a/keyboards/40percentclub/5x5/info.json +++ b/keyboards/40percentclub/5x5/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "40percent.club 4x4", + "keyboard_name": "40percent.club 5x5", "url": "", "maintainer": "qmk", "height": 4, diff --git a/keyboards/40percentclub/5x5/keymaps/default/keymap.c b/keyboards/40percentclub/5x5/keymaps/default/keymap.c index 56ddbb23f5bb..5dfd72f7e9f9 100644 --- a/keyboards/40percentclub/5x5/keymaps/default/keymap.c +++ b/keyboards/40percentclub/5x5/keymaps/default/keymap.c @@ -98,20 +98,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; - - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/5x5/rules.mk b/keyboards/40percentclub/5x5/rules.mk index ae36f660e94a..b806afb4ccc8 100644 --- a/keyboards/40percentclub/5x5/rules.mk +++ b/keyboards/40percentclub/5x5/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,9 +17,8 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 -LAYOUTS = ortho_5x5 ortho_5x10 ortho_5x15 +LAYOUTS = ortho_5x15 diff --git a/keyboards/40percentclub/6lit/6lit.c b/keyboards/40percentclub/6lit/6lit.c index fd3ae7d00977..6c99973d1226 100644 --- a/keyboards/40percentclub/6lit/6lit.c +++ b/keyboards/40percentclub/6lit/6lit.c @@ -15,36 +15,9 @@ */ #include "6lit.h" -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{2, 2}, {1, 2}, {0, 2}}, {{2, 3}, {1, 3}, {0, 3}}, {{0, 0}, {1, 0}, {2, 0}}, diff --git a/keyboards/40percentclub/6lit/config.h b/keyboards/40percentclub/6lit/config.h index 4d21542d138e..a7a68fc73d1c 100644 --- a/keyboards/40percentclub/6lit/config.h +++ b/keyboards/40percentclub/6lit/config.h @@ -174,23 +174,3 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/40percentclub/6lit/info.json b/keyboards/40percentclub/6lit/info.json index ce1a7d6e16cc..dafebea1c12f 100644 --- a/keyboards/40percentclub/6lit/info.json +++ b/keyboards/40percentclub/6lit/info.json @@ -5,14 +5,14 @@ "width": 6, "height": 2, "layouts": { - "LAYOUT_macro": { + "LAYOUT_ortho_2x3": { "key_count": 6, "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1} ] }, - "LAYOUT_split": { + "LAYOUT_ortho_2x6": { "key_count": 12, "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, diff --git a/keyboards/40percentclub/6lit/keymaps/default/keymap.c b/keyboards/40percentclub/6lit/keymaps/default/keymap.c index 6864c72f7863..076d07b5c95e 100644 --- a/keyboards/40percentclub/6lit/keymaps/default/keymap.c +++ b/keyboards/40percentclub/6lit/keymaps/default/keymap.c @@ -21,19 +21,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 \ ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/6lit/keymaps/macro/keymap.c b/keyboards/40percentclub/6lit/keymaps/macro/keymap.c index 6b10ac1330cc..f97288f5161a 100644 --- a/keyboards/40percentclub/6lit/keymaps/macro/keymap.c +++ b/keyboards/40percentclub/6lit/keymaps/macro/keymap.c @@ -21,19 +21,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F22, KC_F23, KC_F24 \ ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/6lit/rules.mk b/keyboards/40percentclub/6lit/rules.mk index 8d32d2c3fb7e..c3b3d25f391f 100644 --- a/keyboards/40percentclub/6lit/rules.mk +++ b/keyboards/40percentclub/6lit/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,10 +18,11 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 # Enable generic behavior for split boards SPLIT_KEYBOARD = yes + +LAYOUTS = ortho_2x3 ortho_2x6 diff --git a/keyboards/40percentclub/foobar/config.h b/keyboards/40percentclub/foobar/config.h index 46f1248f29ae..203ebd77f1b2 100644 --- a/keyboards/40percentclub/foobar/config.h +++ b/keyboards/40percentclub/foobar/config.h @@ -174,23 +174,3 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/40percentclub/foobar/foobar.c b/keyboards/40percentclub/foobar/foobar.c index c032056a155f..fe4e06903cc3 100644 --- a/keyboards/40percentclub/foobar/foobar.c +++ b/keyboards/40percentclub/foobar/foobar.c @@ -15,36 +15,9 @@ */ #include "foobar.h" -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, {{4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, {{4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, diff --git a/keyboards/40percentclub/foobar/info.json b/keyboards/40percentclub/foobar/info.json index c9bbda67c93b..8b44ae597798 100644 --- a/keyboards/40percentclub/foobar/info.json +++ b/keyboards/40percentclub/foobar/info.json @@ -5,7 +5,7 @@ "width": 10, "height": 3, "layouts": { - "LAYOUT_macro": { + "LAYOUT_ortho_3x5": { "key_count": 15, "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, @@ -13,7 +13,7 @@ {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2} ] }, - "LAYOUT_split": { + "LAYOUT_ortho_3x10": { "key_count": 30, "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, diff --git a/keyboards/40percentclub/foobar/keymaps/default/keymap.c b/keyboards/40percentclub/foobar/keymaps/default/keymap.c index 1be4b38dd9d6..02e705998dfc 100644 --- a/keyboards/40percentclub/foobar/keymaps/default/keymap.c +++ b/keyboards/40percentclub/foobar/keymaps/default/keymap.c @@ -73,19 +73,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______ ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/foobar/keymaps/macro/keymap.c b/keyboards/40percentclub/foobar/keymaps/macro/keymap.c index 1e7ec905fda4..a335b0a1158f 100644 --- a/keyboards/40percentclub/foobar/keymaps/macro/keymap.c +++ b/keyboards/40percentclub/foobar/keymaps/macro/keymap.c @@ -22,19 +22,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F21, KC_F22, KC_F23, KC_F14, KC_INT5 \ ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/foobar/rules.mk b/keyboards/40percentclub/foobar/rules.mk index 7516c9bdd844..05e7632a77ec 100644 --- a/keyboards/40percentclub/foobar/rules.mk +++ b/keyboards/40percentclub/foobar/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/40percentclub/gherkin/keymaps/midi/rules.mk b/keyboards/40percentclub/gherkin/keymaps/midi/rules.mk index bfc6dbbd0dbe..a7e93c234126 100644 --- a/keyboards/40percentclub/gherkin/keymaps/midi/rules.mk +++ b/keyboards/40percentclub/gherkin/keymaps/midi/rules.mk @@ -1,4 +1,4 @@ -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/40percentclub/gherkin/keymaps/steno/rules.mk b/keyboards/40percentclub/gherkin/keymaps/steno/rules.mk index a6e76f7cf942..1210452d86f3 100644 --- a/keyboards/40percentclub/gherkin/keymaps/steno/rules.mk +++ b/keyboards/40percentclub/gherkin/keymaps/steno/rules.mk @@ -1,6 +1,6 @@ STENO_ENABLE = yes # Additional protocols for Stenography(+1700), requires VIRTSER -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk b/keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk index 8c48f58507ee..3b0966b94a86 100644 --- a/keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk +++ b/keyboards/40percentclub/gherkin/keymaps/stevexyz/rules.mk @@ -1,6 +1,6 @@ # Build Options (yes/no) # -BOOTMAGIC_ENABLE = lite # Just bootloader enabled with keys +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/40percentclub/gherkin/rules.mk b/keyboards/40percentclub/gherkin/rules.mk index db971e00efc2..5db3f2eedb45 100644 --- a/keyboards/40percentclub/gherkin/rules.mk +++ b/keyboards/40percentclub/gherkin/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/40percentclub/half_n_half/config.h b/keyboards/40percentclub/half_n_half/config.h index e226c72917a5..ca099d47609d 100644 --- a/keyboards/40percentclub/half_n_half/config.h +++ b/keyboards/40percentclub/half_n_half/config.h @@ -188,26 +188,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/40percentclub/half_n_half/half_n_half.c b/keyboards/40percentclub/half_n_half/half_n_half.c index c4e6a4ce0798..e49e54579891 100644 --- a/keyboards/40percentclub/half_n_half/half_n_half.c +++ b/keyboards/40percentclub/half_n_half/half_n_half.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "half_n_half.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/40percentclub/half_n_half/keymaps/default/keymap.c b/keyboards/40percentclub/half_n_half/keymaps/default/keymap.c index 2ab9a8c982fc..323b903f047a 100644 --- a/keyboards/40percentclub/half_n_half/keymaps/default/keymap.c +++ b/keyboards/40percentclub/half_n_half/keymaps/default/keymap.c @@ -51,15 +51,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/half_n_half/rules.mk b/keyboards/40percentclub/half_n_half/rules.mk index bd2b179d8a64..bc9fd0f48b49 100644 --- a/keyboards/40percentclub/half_n_half/rules.mk +++ b/keyboards/40percentclub/half_n_half/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/40percentclub/i75/config.h b/keyboards/40percentclub/i75/config.h index 776f4abb6bb6..0f478b516c48 100644 --- a/keyboards/40percentclub/i75/config.h +++ b/keyboards/40percentclub/i75/config.h @@ -130,26 +130,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/40percentclub/i75/i75.c b/keyboards/40percentclub/i75/i75.c index 7efe3b4549f8..28684e7144d7 100644 --- a/keyboards/40percentclub/i75/i75.c +++ b/keyboards/40percentclub/i75/i75.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "i75.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/40percentclub/i75/keymaps/default/keymap.c b/keyboards/40percentclub/i75/keymaps/default/keymap.c index 3054f8ebe5e6..e4c48bca436b 100644 --- a/keyboards/40percentclub/i75/keymaps/default/keymap.c +++ b/keyboards/40percentclub/i75/keymaps/default/keymap.c @@ -52,15 +52,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/i75/promicro/rules.mk b/keyboards/40percentclub/i75/promicro/rules.mk index e6fef517279c..cf663a7ed6aa 100644 --- a/keyboards/40percentclub/i75/promicro/rules.mk +++ b/keyboards/40percentclub/i75/promicro/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina diff --git a/keyboards/40percentclub/i75/rules.mk b/keyboards/40percentclub/i75/rules.mk index ba535b1c6b62..402bf5c30fa7 100644 --- a/keyboards/40percentclub/i75/rules.mk +++ b/keyboards/40percentclub/i75/rules.mk @@ -1,7 +1,7 @@ # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -12,7 +12,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/40percentclub/i75/teensy2/rules.mk b/keyboards/40percentclub/i75/teensy2/rules.mk index ae398e2588c7..320633f80f33 100644 --- a/keyboards/40percentclub/i75/teensy2/rules.mk +++ b/keyboards/40percentclub/i75/teensy2/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay diff --git a/keyboards/40percentclub/luddite/rules.mk b/keyboards/40percentclub/luddite/rules.mk index 6da5cd05a6d9..e623904b20c7 100644 --- a/keyboards/40percentclub/luddite/rules.mk +++ b/keyboards/40percentclub/luddite/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/40percentclub/mf68/keymaps/andyjack/rules.mk b/keyboards/40percentclub/mf68/keymaps/andyjack/rules.mk index 617f5f6fc92a..1a247b0543dd 100644 --- a/keyboards/40percentclub/mf68/keymaps/andyjack/rules.mk +++ b/keyboards/40percentclub/mf68/keymaps/andyjack/rules.mk @@ -1,2 +1,2 @@ MOUSEKEY_ENABLE = yes -BOOTMAGIC_ENABLE = full +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c b/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c index 6f9179926c02..011d03deba5e 100644 --- a/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c +++ b/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c @@ -20,8 +20,6 @@ #include QMK_KEYBOARD_H -#define KC_ KC_TRNS - #define KC_FN1 MO(_FN) #define KC_FN2 LT(_FN, KC_CAPS) @@ -54,30 +52,30 @@ enum { // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QWERTY] = LAYOUT_kc( /* Default layer +[_QWERTY] = LAYOUT_68_ansi( /* Default layer ┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━┓ ┏━━━━┳━━━━┓ */ - GESC, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,EQL , BSPC , INS ,PGUP, /* + KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_MINS,KC_EQL , KC_BSPC , KC_INS ,KC_PGUP, /* ┣━━━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━━━━━┫ ┣━━━━╋━━━━┫ */ - TAB , Q , W , E , R , T , Y , U , I , O , P ,LBRC,RBRC, BSLS , DEL ,PGDN, /* + 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_PGDN, /* ┣━━━━━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━━━━━━┫ ┗━━━━┻━━━━┛ */ - FN2 , A , S , D , F , G , H , J , K , L ,SCLN,QUOT, ENTER , /* + KC_FN2 , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, KC_ENTER , /* ┣━━━━━━━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━━━━━━━━━┫ ┏━━━━┓ */ - LSFT , Z , X , C , V , B , N , M ,COMM,DOT ,SLSH, RSFT , UP , /* + KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH, KC_RSFT , KC_UP , /* ┣━━━━━┳━━━━┻┳━━━┻━┳━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━┳┻━━━━╋━━━━┻┳━━━━━┳━━┳━━┻━╋━━━━╋━━━━┓ */ - LCTL ,LGUI ,LALT , SPACE ,RALT , FN1 ,RCTL , LEFT,DOWN,RGHT /* + KC_LCTL ,KC_LGUI ,KC_LALT , KC_SPACE ,KC_RALT , KC_FN1 ,KC_RCTL , KC_LEFT,KC_DOWN,KC_RGHT /* ┗━━━━━┻━━━━━┻━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━┻━━━━━┻━━━━━┛ ┗━━━━┻━━━━┻━━━━┛ */), -[_FN] = LAYOUT_kc( /* FN & CAPS layer +[_FN] = LAYOUT_68_ansi( /* FN & CAPS layer ┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━┓ ┏━━━━┳━━━━┓ */ - GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 , F10, F11, F12, RSTP , PSCR,HOME, /* + 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_RSTP , KC_PSCR,KC_HOME, /* ┣Esc ┻ 1! ┻ 2@ ┻ 3# ┻ 4$ ┻ 5% ┻ 6^ ┻ 7& ┻ 8* ┻ 9( ┻ 0) ┻ -_ ┻ =+ ┻━┳━ ←─ ━┫ ┣Ins ╋PgUp┫ */ - ,PLY1,PLY2, , , , , , 7 , 8 , 9 ,BLDN,BLUP,BLTOG , ,END , /* + _______ ,KC_PLY1,KC_PLY2,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_7 , KC_8 , KC_9 ,KC_BLDN,KC_BLUP,KC_BLTOG ,KC_TRNS ,KC_END , /* ┣ Tab ━┻ Q ━┻ W ━┻ E ━┻ R ━┻ T ━┻ Y ━┻ U ━┻ I ━┻ O ━┻ P ━┻ [{ ┻ ]} ┻━ \| ━┫ ┗Del ┻PgDn┛ */ - , , , , , , , , 4 , 5 , 6 , , TERM , /* + _______ ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_4 , KC_5 , KC_6 ,KC_TRNS, KC_TERM , /* ┣━ Caps ━┻ A ━┻ S ━┻ D ━┻ F ━┻ G ━┻ H ━┻ J ━┻ K ━┻ L ━┻ ;: ┻ '" ┻━ Enter ━┫ ┏━━━━┓ */ - ,REC1,REC2, , ,MSTP, ,MUTE, 1 , 2 , 3 , , VOLU, /* + _______ ,KC_REC1,KC_REC2,KC_TRNS,KC_TRNS,KC_MSTP,KC_TRNS,KC_MUTE, KC_1 , KC_2 , KC_3 ,KC_TRNS , KC_VOLU, /* ┣━━ Shift ━┻ Z ━┻ X ━┻ C ━┻ V ━┻ B ━┻ N ━┻ M ━┻ ,< ┻ .> ╋ /? ┻┳━━ Shift ━━┻━╋ ↑ ━╋━━━━┓ */ - , , , MPLY , 0 , , , MPRV,VOLD,MNXT /* + _______,KC_TRNS ,KC_TRNS , KC_MPLY , KC_0 ,KC_TRNS ,KC_TRNS , KC_MPRV,KC_VOLD,KC_MNXT /* ┗Ctrl ┻ GUI ┻ Alt ┻━━━━━━━━━━━━ Space ━━━━━━━━━━━━┻ Alt ┻ Fn ━┻Ctrl ┛ ┗ ← ━┻ ↓ ━┻ → ━┛ */) }; // clang-format on diff --git a/keyboards/40percentclub/mf68/keymaps/factory/keymap.c b/keyboards/40percentclub/mf68/keymaps/factory/keymap.c deleted file mode 100644 index 12032350cd4c..000000000000 --- a/keyboards/40percentclub/mf68/keymaps/factory/keymap.c +++ /dev/null @@ -1,59 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _QWERTY 0 -#define _FN1 1 -#define _FN2 2 -#define KC_ KC_TRNS -#define KC_X0 LT(_FN2, KC_CAPS) -#define KC_X1 MO(_FN1) -#define KC_X2 BL_STEP -#define KC_X3 BL_BRTG -#define KC_X4 BL_TOGG -#define KC_X5 BL_INC -#define KC_X6 BL_DEC - - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( - /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */ - ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,EQL , BSPC , INS ,PGUP, - /*|----`----`----`----`----`----`----`----`----`----`----`----`----`--------| |----`----| */ - TAB , Q , W , E , R , T , Y , U , I , O , P ,LBRC,RBRC, BSLS , DEL ,PGDN, - /*|------`----`----`----`----`----`----`----`----`----`----`----`----`------| `----`----' */ - X0 , A , S , D , F , G , H , J , K , L ,SCLN,QUOT, ENTER , - /*|-------`----`----`----`----`----`----`----`----`----`----`----`----------| ,----. */ - LSFT , Z , X , C , V , B , N , M ,COMM,DOT ,SLSH, RSFT , UP , - /*|---------`----`----`----`----`----`----`----`----`----`----`-------------.--|----|----. */ - LCTL ,LGUI ,LALT , SPACE , X1 ,RALT ,RCTL , LEFT,DOWN,RGHT - /*`-----+-----+-----+------------------------------+------+-----+-----' `----+----+----' */ - ), - - [_FN1] = LAYOUT_kc( - /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */ - GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 , BSPC , ,HOME, - /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| |ins-`pgup| */ - , , UP , , , , , , ,PSCR,SLCK,PAUS, X2 , , ,END, - /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| `del-`pgdn' */ - X0 ,LEFT,DOWN,RGHT, , X6 , X5 , X4 , X3 , X2 ,HOME, , , - /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| ,----. */ - , ,MPLY,MSTP,MPRV,MNXT,VOLD,VOLU,MUTE, ,END , , X5 , - /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */ - , , , , , , , X3 , X6 , X4 - /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' `left+down+rght' */ - ), - - [_FN2] = LAYOUT_kc( - /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */ - GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 , BSPC , VOLU,HOME, - /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| |ins-`pgup| */ - , , , UP , , , , 7 , 8 , 9 , , , , , VOLD,END, - /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| `del-`pgdn' */ - , ,LEFT,DOWN,RGHT, , , 4 , 5 , 6 , , , , - /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| ,----. */ - , , , , , , 0 , 1 , 2 , 3 , , , MUTE, - /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */ - , , , , , , , MPRV,MPLY,MNXT - /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' `left+down+rght' */ - ) -}; diff --git a/keyboards/40percentclub/mf68/keymaps/mf68_ble/keymap.c b/keyboards/40percentclub/mf68/keymaps/mf68_ble/keymap.c index ae7e7297cb89..0002263de517 100644 --- a/keyboards/40percentclub/mf68/keymaps/mf68_ble/keymap.c +++ b/keyboards/40percentclub/mf68/keymaps/mf68_ble/keymap.c @@ -3,51 +3,50 @@ #define _QWERTY 0 #define _FN1 1 #define _FN2 2 -#define KC_ KC_TRNS #define KC_X0 LT(_FN2, KC_GRV) #define KC_X1 MO(_FN1) #define KC_X2 BL_STEP const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( + [_QWERTY] = LAYOUT_68_ansi( /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */ - ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,EQL , BSPC , INS ,PGUP, + 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_INS ,KC_PGUP, /*|----`----`----`----`----`----`----`----`----`----`----`----`----`--------| |----`----| */ - TAB , Q , W , E , R , T , Y , U , I , O , P ,LBRC,RBRC, BSLS , DEL ,PGDN, + 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_PGDN, /*|------`----`----`----`----`----`----`----`----`----`----`----`----`------| `----`----' */ - X0 , A , S , D , F , G , H , J , K , L ,SCLN,QUOT, ENTER , + KC_X0 , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, KC_ENTER , /*|-------`----`----`----`----`----`----`----`----`----`----`----`----------| ,----. */ - LSFT , Z , X , C , V , B , N , M ,COMM,DOT ,SLSH, RSFT , UP , + KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH, KC_RSFT , KC_UP , /*|---------`----`----`----`----`----`----`----`----`----`----`-------------.--|----|----. */ - LCTL ,LGUI ,LALT , SPACE , X1 ,RALT ,RCTL , LEFT,DOWN,RGHT + KC_LCTL ,KC_LGUI ,KC_LALT , KC_SPACE , KC_X1 ,KC_RALT ,KC_RCTL , KC_LEFT,KC_DOWN,KC_RGHT /*`-----+-----+-----+------------------------------+------+-----+-----' `----+----+----' */ ), - [_FN1] = LAYOUT_kc( + [_FN1] = LAYOUT_68_ansi( /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */ - GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 , BSPC , VOLU,HOME, + 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_BSPC , KC_VOLU,KC_HOME, /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| |ins-`pgup| */ - , , , UP , , , , , , , , , X2 , , VOLD,END, + KC_TRNS,KC_TRNS,KC_TRNS, KC_UP ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_X2 , KC_TRNS, KC_VOLD,KC_END, /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| `del-`pgdn' */ - , ,LEFT,DOWN,RGHT, , , , , , , , , + KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| ,----. */ - , , , , , , ,MUTE, , , , , MUTE, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MUTE,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_MUTE, /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */ - , , , , , , , MPRV,MPLY,MNXT + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV,KC_MPLY,KC_MNXT /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' `left+down+rght' */ ), - [_FN2] = LAYOUT_kc( + [_FN2] = LAYOUT_68_ansi( /*,----+----+----+----+----+----+----+----+----+----+----+----+----+--------. ,----+----. */ - GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,F12 , BSPC , VOLU,HOME, + 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_BSPC , KC_VOLU,KC_HOME, /*|esc-`-1--`-2--`-3--`-4--`-5--`-6--`-7--`-8--`-9--`-0--`mnus`plus`--bksp--| |ins-`pgup| */ - , , , UP , , , , 7 , 8 , 9 , , , , , VOLD,END, + KC_TRNS,KC_TRNS,KC_TRNS, KC_UP ,KC_TRNS,KC_TRNS,KC_TRNS, KC_7 , KC_8 , KC_9 ,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_VOLD,KC_END, /*|tab---`-q--`-w--`-e--`-r--`-t--`-y--`-u--`-i--`-o--`-p--`-{--`-}--`--|---| `del-`pgdn' */ - , ,LEFT,DOWN,RGHT, , , 4 , 5 , 6 , , , , + KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS, KC_4 , KC_5 , KC_6 ,KC_TRNS,KC_TRNS, KC_TRNS, /*|caps---`-a--`-s--`-d--`-f--`-g--`-h--`-j--`-k--`-l--`-;--`-'--`----enter-| ,----. */ - , , , , , , 0 , 1 , 2 , 3 , , , MUTE, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_0 , KC_1 , KC_2 , KC_3 ,KC_TRNS, KC_TRNS, KC_MUTE, /*|shift----`-z--`-x--`-c--`-v--`-b--`-n--`-m--`-,--`-.--`-/--`-------shift-.--|-up-|----. */ - , , , , , , , MPRV,MPLY,MNXT + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV,KC_MPLY,KC_MNXT /*`ctrl-+-gui-+-alt-+----------space---------------+-fn---+-alt-+ctrl-' `left+down+rght' */ ) }; diff --git a/keyboards/40percentclub/mf68/mf68.c b/keyboards/40percentclub/mf68/mf68.c index 1da522e7e181..4abee8e0c356 100644 --- a/keyboards/40percentclub/mf68/mf68.c +++ b/keyboards/40percentclub/mf68/mf68.c @@ -1,8 +1 @@ #include "mf68.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} diff --git a/keyboards/40percentclub/mf68/mf68.h b/keyboards/40percentclub/mf68/mf68.h index 6844ed1b092e..71ee4229de93 100644 --- a/keyboards/40percentclub/mf68/mf68.h +++ b/keyboards/40percentclub/mf68/mf68.h @@ -18,20 +18,3 @@ { K60, K61, K62, K63, K64, K65, K66, K67, K68 }, \ { K70, K71, K72, K73, K74, KC_NO, KC_NO, KC_NO, KC_NO } \ } - -#define LAYOUT_kc( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K10, K11, K12, K13, K14, K15, K16, \ - K17, K18, K20, K21, K22, K23, K24, K25, K26, K27, K28, K30, K31, K32, K33, K34, \ - K35, K36, K37, K38, K40, K41, K42, K43, K44, K45, K46, K47, K48, \ - K50, K51, K52, K53, K54, K55, K56, K57, K58, K60, K61, K62, K63, \ - K64, K65, K66, K67, K68, K70, K71, K72, K73, K74 \ -) LAYOUT_68_ansi( \ - KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, \ - KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, \ - KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, \ - KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, \ - KC_##K40, KC_##K41, KC_##K42, KC_##K43, KC_##K44, KC_##K45, KC_##K46, KC_##K47, KC_##K48, \ - KC_##K50, KC_##K51, KC_##K52, KC_##K53, KC_##K54, KC_##K55, KC_##K56, KC_##K57, KC_##K58, \ - KC_##K60, KC_##K61, KC_##K62, KC_##K63, KC_##K64, KC_##K65, KC_##K66, KC_##K67, KC_##K68, \ - KC_##K70, KC_##K71, KC_##K72, KC_##K73, KC_##K74 \ -) diff --git a/keyboards/40percentclub/mf68/rules.mk b/keyboards/40percentclub/mf68/rules.mk index f1967d83e16e..75c1612ff5e6 100644 --- a/keyboards/40percentclub/mf68/rules.mk +++ b/keyboards/40percentclub/mf68/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/40percentclub/nano/info.json b/keyboards/40percentclub/nano/info.json index b135a2d097eb..1ae0512825ae 100644 --- a/keyboards/40percentclub/nano/info.json +++ b/keyboards/40percentclub/nano/info.json @@ -5,7 +5,7 @@ "width": 4, "height": 2, "layouts": { - "LAYOUT": { + "LAYOUT_ortho_2x4": { "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}] } } diff --git a/keyboards/40percentclub/nano/keymaps/drashna/keymap.c b/keyboards/40percentclub/nano/keymaps/drashna/keymap.c index b8947cce7833..13f89dd53d7e 100644 --- a/keyboards/40percentclub/nano/keymaps/drashna/keymap.c +++ b/keyboards/40percentclub/nano/keymaps/drashna/keymap.c @@ -85,15 +85,15 @@ int16_t axisCoordinate(uint8_t pin, uint16_t origin) { int8_t axisToMouseComponent(uint8_t pin, int16_t origin, uint8_t maxSpeed, int8_t polarity) { int coordinate = axisCoordinate(pin, origin); - if (coordinate == 0) { - return 0; - } else { + if (coordinate != 0) { float percent = (float)coordinate / 100; - if (keyboard_report->mods & MOD_BIT(KC_LSFT)) { + if (get_mods() & MOD_BIT(KC_LSFT)) { return percent * precisionSpeed * polarity * (abs(coordinate) / speedRegulator); } else { return percent * maxCursorSpeed * polarity * (abs(coordinate) / speedRegulator); } + } else { + return 0; } } diff --git a/keyboards/40percentclub/nano/nano.c b/keyboards/40percentclub/nano/nano.c index 63e23545e6cb..8761e8add4f6 100644 --- a/keyboards/40percentclub/nano/nano.c +++ b/keyboards/40percentclub/nano/nano.c @@ -1,5 +1 @@ #include "nano.h" - -void matrix_init_kb(void) { - matrix_init_user(); -} diff --git a/keyboards/40percentclub/nano/rules.mk b/keyboards/40percentclub/nano/rules.mk index e9658c4b55f3..4de1d611d2b3 100644 --- a/keyboards/40percentclub/nano/rules.mk +++ b/keyboards/40percentclub/nano/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = yes # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/40percentclub/nein/config.h b/keyboards/40percentclub/nein/config.h index ec088d4434fc..3532c8258bcc 100644 --- a/keyboards/40percentclub/nein/config.h +++ b/keyboards/40percentclub/nein/config.h @@ -184,26 +184,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/40percentclub/nein/info.json b/keyboards/40percentclub/nein/info.json index 2a28ffc00869..4c4b2a384dae 100644 --- a/keyboards/40percentclub/nein/info.json +++ b/keyboards/40percentclub/nein/info.json @@ -5,7 +5,7 @@ "width": 3, "height": 3, "layouts": { - "LAYOUT": { + "LAYOUT_ortho_3x3": { "layout": [ {"x":0, "y":0}, {"x":1, "y":0}, diff --git a/keyboards/40percentclub/nein/rules.mk b/keyboards/40percentclub/nein/rules.mk index 67b7f813ec46..10b4561e9eb2 100644 --- a/keyboards/40percentclub/nein/rules.mk +++ b/keyboards/40percentclub/nein/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/40percentclub/nori/config.h b/keyboards/40percentclub/nori/config.h index e9bbe487a7f0..1c1d8f0fb81a 100644 --- a/keyboards/40percentclub/nori/config.h +++ b/keyboards/40percentclub/nori/config.h @@ -162,23 +162,3 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/40percentclub/nori/keymaps/macro/keymap.c b/keyboards/40percentclub/nori/keymaps/macro/keymap.c index 14dc0b678c98..8c5fa9410430 100644 --- a/keyboards/40percentclub/nori/keymaps/macro/keymap.c +++ b/keyboards/40percentclub/nori/keymaps/macro/keymap.c @@ -23,19 +23,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F21, KC_F22, KC_F23, KC_F24 \ ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/40percentclub/nori/nori.c b/keyboards/40percentclub/nori/nori.c index 9d27df7a5c9c..f60cf98d868d 100644 --- a/keyboards/40percentclub/nori/nori.c +++ b/keyboards/40percentclub/nori/nori.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "nori.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/40percentclub/nori/nori.h b/keyboards/40percentclub/nori/nori.h index 802f0bfce6da..768598b7f807 100644 --- a/keyboards/40percentclub/nori/nori.h +++ b/keyboards/40percentclub/nori/nori.h @@ -40,7 +40,7 @@ { K00, K01, K02, K03, K04, K05, K06, K07, ___, ___, ___, ___ }, \ { K10, K11, K12, K13, K14, K15, K16, K17, ___, ___, ___, ___ }, \ { K20, K21, K22, K23, K24, K25, K26, K27, ___, ___, ___, ___ }, \ - { K30, K31, K32, K33, K34, K35, K35, K37, ___, ___, ___, ___ } \ + { K30, K31, K32, K33, K34, K35, K36, K37, ___, ___, ___, ___ } \ } #define LAYOUT_ortho_4x12( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, \ @@ -54,16 +54,3 @@ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b }, \ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3a, K3b } \ } - -#define LAYOUT_kc_ortho_4x12( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3a, K3b \ -) \ -{ \ - { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0a, KC_##K0b }, \ - { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1a, KC_##K1b }, \ - { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2a, KC_##K2b }, \ - { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3a, KC_##K3b } \ -} diff --git a/keyboards/40percentclub/nori/rules.mk b/keyboards/40percentclub/nori/rules.mk index 1b9766581a03..2d90ccc5c827 100644 --- a/keyboards/40percentclub/nori/rules.mk +++ b/keyboards/40percentclub/nori/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,12 +18,11 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 -LAYOUTS = ortho_4x4 ortho_4x8 ortho_4x12 +LAYOUTS = ortho_4x4 ortho_4x12 # Disable unsupported hardware AUDIO_SUPPORTED = no diff --git a/keyboards/40percentclub/sixpack/config.h b/keyboards/40percentclub/sixpack/config.h index db91ca7b80de..2ec676018c92 100644 --- a/keyboards/40percentclub/sixpack/config.h +++ b/keyboards/40percentclub/sixpack/config.h @@ -40,8 +40,6 @@ along with this program. If not, see . * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) * */ -// #define MATRIX_ROW_PINS { B0 } // B0 equivalents the ground pin -// #define MATRIX_COL_PINS { E6, D7, C6, D4 } #define DIRECT_PINS { \ { D4, C6, D7 }, \ { E6, B4, B5 } \ @@ -56,6 +54,11 @@ along with this program. If not, see . #define BACKLIGHT_LEVELS 6 #define BACKLIGHT_PINS { F4, F5 } // Top Row, Bottom Row +/* LED Indicators */ +#define LED_PIN_ON_STATE 0 +#define LED_CAPS_LOCK_PIN B0 // RX Led +#define LED_NUM_LOCK_PIN D5 // TX Led + // #define RGB_DI_PIN B1 // PB1 on expansion connector // #ifdef RGB_DI_PIN // #define RGBLED_NUM 16 diff --git a/keyboards/40percentclub/sixpack/info.json b/keyboards/40percentclub/sixpack/info.json index 3c78e26fbc4b..0d85f092574a 100644 --- a/keyboards/40percentclub/sixpack/info.json +++ b/keyboards/40percentclub/sixpack/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "sixpack", + "keyboard_name": "Six Pack", "url": "https://www.40percent.club/2017/05/six-pack-11.html", "maintainer": "qmk", "width": 3, diff --git a/keyboards/40percentclub/sixpack/keymaps/via/keymap.c b/keyboards/40percentclub/sixpack/keymaps/via/keymap.c index f3268a22abba..e2eaaa1d0a45 100644 --- a/keyboards/40percentclub/sixpack/keymaps/via/keymap.c +++ b/keyboards/40percentclub/sixpack/keymaps/via/keymap.c @@ -33,9 +33,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS), [3] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - [4] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS), - [5] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS), }; diff --git a/keyboards/40percentclub/sixpack/rules.mk b/keyboards/40percentclub/sixpack/rules.mk index 9d7d9a2cf0f5..046b18343a60 100644 --- a/keyboards/40percentclub/sixpack/rules.mk +++ b/keyboards/40percentclub/sixpack/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,3 +20,5 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output + +LAYOUTS = ortho_2x3 diff --git a/keyboards/40percentclub/tomato/keymaps/default/keymap.c b/keyboards/40percentclub/tomato/keymaps/default/keymap.c index 01a868d7e305..befdad0e2428 100644 --- a/keyboards/40percentclub/tomato/keymaps/default/keymap.c +++ b/keyboards/40percentclub/tomato/keymaps/default/keymap.c @@ -97,47 +97,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { , _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______ ), }; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/40percentclub/tomato/rules.mk b/keyboards/40percentclub/tomato/rules.mk index 312134b7c02d..4cd1fd625bbe 100644 --- a/keyboards/40percentclub/tomato/rules.mk +++ b/keyboards/40percentclub/tomato/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c b/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c index f3e297ec03d6..52372e285785 100644 --- a/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c +++ b/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( /* Base - L0 */ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - LT3_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NO_APOS, MT_RSFT_ENT, + LT3_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NO_QUOT, MT_RSFT_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, MO(4), KC_LCTL, KC_LGUI, MO(4), KC_LALT, MO(2), KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), @@ -84,7 +84,7 @@ LAYOUT( /* Right modifier - L1 */ */ LAYOUT( /* Left modifier - L2 */ - NO_SECT, KC_EXCLAIM, NO_QUO2, KC_HASH, NO_BULT, KC_PERCENT, NO_AMPR, NO_SLSH, NO_EQL, NO_PLUS, NO_BSLS, KC_DELETE, + NO_SECT, KC_EXCLAIM, NO_DQUO, KC_HASH, NO_CURR, KC_PERCENT, NO_AMPR, NO_SLSH, NO_EQL, NO_PLUS, NO_BSLS, KC_DELETE, _______, _______, NO_QUES, NO_LCBR, NO_LBRC, NO_LPRN, NO_RPRN, NO_RBRC, NO_RCBR, KC_F10, KC_F11, KC_F12, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_PGUP, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END @@ -122,9 +122,9 @@ LAYOUT( /* Hold Tab down - L3 */ */ LAYOUT( /* Norsk - L4 */ - _______, _______, NO_AT, NO_PND, NO_DLR, NO_TILD, _______, NO_QUOT, NO_ACUT, NO_GRV, NO_AA, _______, - _______, _______, _______, NO_EURO, _______, _______, _______, _______, NO_CIRC, NO_OSLH, NO_AE, _______, - _______, NO_LESS, _______, _______, _______, _______, _______, NO_MU, _______, _______, _______, _______, + _______, _______, NO_AT, NO_PND, NO_DLR, NO_TILD, _______, NO_QUOT, NO_ACUT, NO_GRV, NO_ARNG, _______, + _______, _______, _______, NO_EURO, _______, _______, _______, _______, NO_CIRC, NO_OSTR, NO_AE, _______, + _______, NO_LABK, _______, _______, _______, _______, _______, NO_MICR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(5), _______, _______, _______ ), diff --git a/keyboards/40percentclub/ut47/rules.mk b/keyboards/40percentclub/ut47/rules.mk index 50868429aca1..4f0d0bdb2f3e 100644 --- a/keyboards/40percentclub/ut47/rules.mk +++ b/keyboards/40percentclub/ut47/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/40percentclub/ut47/ut47.c b/keyboards/40percentclub/ut47/ut47.c index f467fd130ab4..9054335e5ac1 100644 --- a/keyboards/40percentclub/ut47/ut47.c +++ b/keyboards/40percentclub/ut47/ut47.c @@ -18,20 +18,6 @@ #include "protocol/serial.h" #endif -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - bool process_record_kb(uint16_t keycode, keyrecord_t *record) { // put your per-action keyboard code here // runs for every action, just before processing by the firmware @@ -42,9 +28,3 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } return process_record_user(keycode, record); } - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/40percentclub/ut47/ut47.h b/keyboards/40percentclub/ut47/ut47.h index f6456fe911b4..f595d3a458e4 100644 --- a/keyboards/40percentclub/ut47/ut47.h +++ b/keyboards/40percentclub/ut47/ut47.h @@ -29,18 +29,3 @@ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b }, \ { K30, K31, K32, K33, K34, K35, K35, K37, K38, K39, K3a, K3b } \ } - -#define LAYOUT_kc( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, \ - K30, K31, K32, K33, K34, K35, K37, K38, K39, K3a, K3b \ -) \ - LAYOUT( \ - KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0a, KC_##K0b, \ - KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1a, KC_##K1b, \ - KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2a, KC_##K2b, \ - KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K37, KC_##K38, KC_##K39, KC_##K3a, KC_##K3b \ - ) - -#define LAYOUT_kc_ut47 LAYOUT_kc diff --git a/keyboards/45_ats/keymaps/default/keymap.c b/keyboards/45_ats/keymaps/default/keymap.c index 28941b173ff6..de69c4b05ec5 100644 --- a/keyboards/45_ats/keymaps/default/keymap.c +++ b/keyboards/45_ats/keymaps/default/keymap.c @@ -1,20 +1,20 @@ - /* + /* Copyright 2020 Alec Penland Copyright 2020 Garret Gartner - - 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 . - */ + + 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 @@ -31,7 +31,7 @@ enum ats_layers{ #define RS_SLS RSFT_T(KC_SLSH) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Default QWERTY layer + /* Default QWERTY layer * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ * │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │Del│BkS│ │PgU│ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤ @@ -96,7 +96,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return state; } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { tap_code(KC_VOLU); @@ -104,4 +104,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } diff --git a/keyboards/45_ats/keymaps/via/keymap.c b/keyboards/45_ats/keymaps/via/keymap.c index 28941b173ff6..de69c4b05ec5 100644 --- a/keyboards/45_ats/keymaps/via/keymap.c +++ b/keyboards/45_ats/keymaps/via/keymap.c @@ -1,20 +1,20 @@ - /* + /* Copyright 2020 Alec Penland Copyright 2020 Garret Gartner - - 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 . - */ + + 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 @@ -31,7 +31,7 @@ enum ats_layers{ #define RS_SLS RSFT_T(KC_SLSH) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Default QWERTY layer + /* Default QWERTY layer * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ * │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │Del│BkS│ │PgU│ * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤ @@ -96,7 +96,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return state; } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { tap_code(KC_VOLU); @@ -104,4 +104,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } diff --git a/keyboards/45_ats/rules.mk b/keyboards/45_ats/rules.mk index db96f0afc8cf..f68b5b1df8d4 100644 --- a/keyboards/45_ats/rules.mk +++ b/keyboards/45_ats/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/4by3/rules.mk b/keyboards/4by3/rules.mk index 912449366ad6..4fb3d71e4a7b 100644 --- a/keyboards/4by3/rules.mk +++ b/keyboards/4by3/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina EXTRAKEY_ENABLE = yes diff --git a/keyboards/4pplet/aekiso60/keymaps/default/keymap.c b/keyboards/4pplet/aekiso60/keymaps/default/keymap.c index 4f3e895a5e1d..e0938a5fdefe 100644 --- a/keyboards/4pplet/aekiso60/keymaps/default/keymap.c +++ b/keyboards/4pplet/aekiso60/keymaps/default/keymap.c @@ -3,19 +3,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[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_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_ENT, - KC_LCTRL, 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_RALT, KC_RGUI, KC_RCTL), - -[1] = LAYOUT_all( - KC_EXEC, 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_BSPC, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_PENT, - KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_INS, - _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, - RESET, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______) + [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_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_LCTL, 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_RALT, KC_RGUI, KC_RCTL + ), + [1] = LAYOUT_all( + KC_EXEC, 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_BSPC, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, + KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_INS, KC_PENT, + _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + RESET, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______ + ) }; - - diff --git a/keyboards/4pplet/aekiso60/keymaps/via/keymap.c b/keyboards/4pplet/aekiso60/keymaps/via/keymap.c index d2036f60bd76..151c3bc4a762 100644 --- a/keyboards/4pplet/aekiso60/keymaps/via/keymap.c +++ b/keyboards/4pplet/aekiso60/keymaps/via/keymap.c @@ -3,32 +3,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[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_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_ENT, - KC_LCTRL, 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_RALT, KC_RGUI, KC_RCTL), - -[1] = LAYOUT_all( - KC_EXEC, 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_BSPC, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_PENT, - KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_INS, - _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, - RESET, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______), - -[2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______), - -[3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______) + [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_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_LCTL, 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_RALT, KC_RGUI, KC_RCTL + ), + [1] = LAYOUT_all( + KC_EXEC, 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_BSPC, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, + KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_INS, KC_PENT, + _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + RESET, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) }; - diff --git a/keyboards/4pplet/aekiso60/rev_a/rev_a.h b/keyboards/4pplet/aekiso60/rev_a/rev_a.h index f68a320b7fbc..16acf01c2097 100644 --- a/keyboards/4pplet/aekiso60/rev_a/rev_a.h +++ b/keyboards/4pplet/aekiso60/rev_a/rev_a.h @@ -2,12 +2,25 @@ #include "quantum.h" +/* LAYOUT_all + * ┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │ + * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │ │ + * ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1d │ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │ │ + * ├─────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │ + * ├─────┼───┴┬──┴──┬┴───┴───┴─┬─┴─┬─┴───┴───┴┬──┴──┬┴───┬─┴───┤ + * │40 │41 │43 │44 │45 │46 │48 │4a │4b │ + * └─────┴────┴─────┴──────────┴───┴──────────┴─────┴────┴─────┘ + */ #define LAYOUT_all( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ - k40, k41, k43, k44, k45, k46, k48, k4a, k4b \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k1d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k43, k44, k45, k46, k48, k4a, k4b \ ) \ { \ {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ diff --git a/keyboards/4pplet/aekiso60/rev_a/rules.mk b/keyboards/4pplet/aekiso60/rev_a/rules.mk index b98fb7e33fc9..8a382bf8741b 100644 --- a/keyboards/4pplet/aekiso60/rev_a/rules.mk +++ b/keyboards/4pplet/aekiso60/rev_a/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode diff --git a/keyboards/4pplet/bootleg/rev_a/rules.mk b/keyboards/4pplet/bootleg/rev_a/rules.mk index 380c35d4f7a4..d1bf7ce67f1e 100644 --- a/keyboards/4pplet/bootleg/rev_a/rules.mk +++ b/keyboards/4pplet/bootleg/rev_a/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/4pplet/eagle_viper_rep/info.json b/keyboards/4pplet/eagle_viper_rep/info.json new file mode 100644 index 000000000000..b69bcb87d9f2 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/info.json @@ -0,0 +1,78 @@ +{ + "keyboard_name": "Eagle/Viper Rep", + "url": "https://github.com/4pplet/eagle_viper_rep", + "maintainer": "4pplet", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "!", "x": 1, "y": 0 }, + { "label": "@", "x": 2, "y": 0 }, + { "label": "#", "x": 3, "y": 0 }, + { "label": "$", "x": 4, "y": 0 }, + { "label": "%", "x": 5, "y": 0 }, + { "label": "^", "x": 6, "y": 0 }, + { "label": "&", "x": 7, "y": 0 }, + { "label": "*", "x": 8, "y": 0 }, + { "label": "(", "x": 9, "y": 0 }, + { "label": ")", "x": 10, "y": 0 }, + { "label": "_", "x": 11, "y": 0 }, + { "label": "+", "x": 12, "y": 0 }, + { "label": "|", "x": 13, "y": 0 }, + { "label": "~", "x": 14, "y": 0 }, + { "label": "Tab", "x": 0, "y": 1, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 1 }, + { "label": "W", "x": 2.5, "y": 1 }, + { "label": "E", "x": 3.5, "y": 1 }, + { "label": "R", "x": 4.5, "y": 1 }, + { "label": "T", "x": 5.5, "y": 1 }, + { "label": "Y", "x": 6.5, "y": 1 }, + { "label": "U", "x": 7.5, "y": 1 }, + { "label": "I", "x": 8.5, "y": 1 }, + { "label": "O", "x": 9.5, "y": 1 }, + { "label": "P", "x": 10.5, "y": 1 }, + { "label": "{", "x": 11.5, "y": 1 }, + { "label": "}", "x": 12.5, "y": 1 }, + { "label": "Backsp.", "x": 13.5, "y": 1, "w": 1.5 }, + { "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 2 }, + { "label": "S", "x": 2.75, "y": 2 }, + { "label": "D", "x": 3.75, "y": 2 }, + { "label": "F", "x": 4.75, "y": 2 }, + { "label": "G", "x": 5.75, "y": 2 }, + { "label": "H", "x": 6.75, "y": 2 }, + { "label": "J", "x": 7.75, "y": 2 }, + { "label": "K", "x": 8.75, "y": 2 }, + { "label": "L", "x": 9.75, "y": 2 }, + { "label": ":", "x": 10.75, "y": 2 }, + { "label": "\"", "x": 11.75, "y": 2 }, + { "label": "~", "x": 12.75, "y": 2}, + { "label": "Enter", "x": 13.75, "y": 2, "w": 1.25 }, + { "label": "Shift", "x": 0, "y": 3, "w": 1.25 }, + { "label": "|", "x": 1.25, "y": 3 }, + { "label": "Z", "x": 2.25, "y": 3 }, + { "label": "X", "x": 3.25, "y": 3 }, + { "label": "C", "x": 4.25, "y": 3 }, + { "label": "V", "x": 5.25, "y": 3 }, + { "label": "B", "x": 6.25, "y": 3 }, + { "label": "N", "x": 7.25, "y": 3 }, + { "label": "M", "x": 8.25, "y": 3 }, + { "label": "<", "x": 9.25, "y": 3 }, + { "label": ">", "x": 10.25, "y": 3 }, + { "label": "?", "x": 11.25, "y": 3 }, + { "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 }, + { "label": "Fn", "x": 14, "y": 3, "w": 1 }, + { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 4, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 }, + { "label": "Space", "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 4, "w": 1.25 }, + { "label": "Menu", "x": 11.25, "y": 4, "w": 1.25 }, + { "label": "Win", "x": 12.5, "y": 4, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 } + ] + } + } +} diff --git a/keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c b/keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c new file mode 100644 index 000000000000..addf690e4a61 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +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] = { +// main layer +[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_LCTRL, 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT, KC_RGUI, MO(1)), + // basic function layer +[1] = LAYOUT_all( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/4pplet/eagle_viper_rep/keymaps/via/keymap.c b/keyboards/4pplet/eagle_viper_rep/keymaps/via/keymap.c new file mode 100644 index 000000000000..70e55ceb7e02 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/keymaps/via/keymap.c @@ -0,0 +1,55 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +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] = { +// main layer +[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_LCTRL, 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT, KC_RGUI, MO(1)), +// basic function layer +[1] = LAYOUT_all( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +// extra layer for VIA +[2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +// extra layer for VIA +[3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +// extra layer for VIA +[4] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/capsunlocked/cu80/v2_iso_rgb/keymaps/via/rules.mk b/keyboards/4pplet/eagle_viper_rep/keymaps/via/rules.mk similarity index 100% rename from keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/via/rules.mk rename to keyboards/4pplet/eagle_viper_rep/keymaps/via/rules.mk diff --git a/keyboards/4pplet/eagle_viper_rep/readme.md b/keyboards/4pplet/eagle_viper_rep/readme.md new file mode 100644 index 000000000000..76415fd6c0b4 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/readme.md @@ -0,0 +1,19 @@ +# Viper/Eagle REP Rev A + +A alternative PCB for Viper and Eagle V2 and V3 + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: Viper/Eagle REP Rev A + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/eagle_viper_rep/rev_a: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). + +How to enter bootloader (DFU): +* Press and hold the button on the keyboard (the small one on the same side as the MCU) for more than 1 second. The keyboard will then enter bootloader (DFU) mode and it's ready to flash the firmware. +* Note: If holding the button a shorter time, the keyboard will just reset. If you want to exit bootloader mode without flashing a firmware, dissconnect the keyboard from your PC and reconnect it. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. Bootmagic lite is enabled by default. diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/chconf.h b/keyboards/4pplet/eagle_viper_rep/rev_a/chconf.h new file mode 100644 index 000000000000..9e81d8c4a072 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/chconf.h @@ -0,0 +1,23 @@ +/* Copyright 2020 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 + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_ST_RESOLUTION 16 + +#include_next diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h new file mode 100644 index 000000000000..4edb4754e91d --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h @@ -0,0 +1,72 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4444 +#define PRODUCT_ID 0x0007 +#define DEVICE_VER 0x0001 +#define MANUFACTURER 4pplet +#define PRODUCT Eagle Viper REP Rev A + +#define MATRIX_ROWS 10 +#define MATRIX_COLS 7 + +#define MATRIX_COL_PINS { A0, B1, B0, A4, B5, B4, B3 } +#define MATRIX_ROW_PINS { A2, A1, B8, A10, C15, A15, B7, B6, C14, C13} +#define DIODE_DIRECTION COL2ROW + +/* In switch leds */ +#define BACKLIGHT_PIN A3 +#define BACKLIGHT_PWM_DRIVER PWMD2 +#define BACKLIGHT_PWM_CHANNEL 4 +#define BACKLIGHT_PAL_MODE 2 +#define BACKLIGHT_ON_STATE 1 +#define BACKLIGHT_LEVELS 10 +#define BACKLIGHT_BREATHING TRUE + +/* Underglow */ +#define RGB_DI_PIN A7 +#define WS2812_SPI SPID1 +#define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN A5 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define RGBLED_NUM 16 +#define RGBLIGHT_ANIMATIONS + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Indicator leds */ +#define LOCK_LIGHTS TRUE +#define DISPLAY_LAYERS TRUE +#define CAPS_PIN B2 +#define NUM_PIN B12 +#define SCROLL_PIN B13 +#define LAYER_1 B14 +#define LAYER_2 B15 +#define LAYER_3 A8 +#define LAYER_4 A9 +#define LAYER_5 B9 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Added extra layer for use of layer leds */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/halconf.h b/keyboards/4pplet/eagle_viper_rep/rev_a/halconf.h new file mode 100644 index 000000000000..b0dad8d4a4d7 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/halconf.h @@ -0,0 +1,25 @@ +/* Copyright 2020 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 + +#define HAL_USE_I2C FALSE + +#define HAL_USE_PWM TRUE + +#define HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/mcuconf.h b/keyboards/4pplet/eagle_viper_rep/rev_a/mcuconf.h new file mode 100644 index 000000000000..ffa97b392cfe --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/mcuconf.h @@ -0,0 +1,34 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/cannonkeys/db60/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM2 +#define STM32_PWM_USE_TIM2 TRUE + +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE + +/* Reallocate the SysTick timer from TIM2 to TIM3, TIM2 is used for in switch leds */ +#undef STM32_ST_USE_TIMER +#define STM32_ST_USE_TIMER 3 diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/readme.md b/keyboards/4pplet/eagle_viper_rep/rev_a/readme.md new file mode 100644 index 000000000000..76415fd6c0b4 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/readme.md @@ -0,0 +1,19 @@ +# Viper/Eagle REP Rev A + +A alternative PCB for Viper and Eagle V2 and V3 + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: Viper/Eagle REP Rev A + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/eagle_viper_rep/rev_a: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). + +How to enter bootloader (DFU): +* Press and hold the button on the keyboard (the small one on the same side as the MCU) for more than 1 second. The keyboard will then enter bootloader (DFU) mode and it's ready to flash the firmware. +* Note: If holding the button a shorter time, the keyboard will just reset. If you want to exit bootloader mode without flashing a firmware, dissconnect the keyboard from your PC and reconnect it. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Spacebar and B at the same time, plug in your keyboard and wait a second before releasing the keys. Bootmagic lite is enabled by default. diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c b/keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c new file mode 100644 index 000000000000..2971460bd21a --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.c @@ -0,0 +1,108 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +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 "rev_a.h" + +void board_init(void) { + setPinInputHigh(CAPS_PIN); + setPinInputHigh(SCROLL_PIN); + setPinInputHigh(NUM_PIN); +} + +/* Set indicator leds to indicate lock states */ +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if(res && LOCK_LIGHTS) { + if(led_state.caps_lock){ + setPinOutput(CAPS_PIN); + writePin(CAPS_PIN, 0); + } + else + setPinInputHigh(CAPS_PIN); + if(led_state.scroll_lock){ + setPinOutput(SCROLL_PIN); + writePin(SCROLL_PIN, 0); + } + else + setPinInputHigh(SCROLL_PIN); + if(led_state.num_lock){ + setPinOutput(NUM_PIN); + writePin(NUM_PIN, 0); + } + else + setPinInputHigh(NUM_PIN); + } + return res; +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + state = layer_state_set_user(state); + if(DISPLAY_LAYERS){ + setLayerLed(state); + } + return state; +} +/* Set indicator leds to indicate which layer is active */ +void setLayerLed(layer_state_t state){ + switch(get_highest_layer(state)){ + case 0 : + setPinOutput(LAYER_1); + writePin(LAYER_1, 0); + setPinInputHigh(LAYER_2); + setPinInputHigh(LAYER_3); + setPinInputHigh(LAYER_4); + setPinInputHigh(LAYER_5); + break; + case 1 : + setPinOutput(LAYER_2); + writePin(LAYER_2, 0); + setPinInputHigh(LAYER_1); + setPinInputHigh(LAYER_3); + setPinInputHigh(LAYER_4); + setPinInputHigh(LAYER_5); + break; + case 2 : + setPinOutput(LAYER_3); + writePin(LAYER_3, 0); + setPinInputHigh(LAYER_1); + setPinInputHigh(LAYER_2); + setPinInputHigh(LAYER_4); + setPinInputHigh(LAYER_5); + break; + case 3 : + writePin(LAYER_4, 0); + setPinInputHigh(LAYER_5); + setPinInputHigh(LAYER_1); + setPinInputHigh(LAYER_2); + setPinInputHigh(LAYER_3); + setPinOutput(LAYER_4); + break; + case 4 : + setPinOutput(LAYER_5); + writePin(LAYER_5, 0); + setPinInputHigh(LAYER_1); + setPinInputHigh(LAYER_2); + setPinInputHigh(LAYER_3); + setPinInputHigh(LAYER_4); + break; + default : + setPinInputHigh(LAYER_1); + setPinInputHigh(LAYER_2); + setPinInputHigh(LAYER_3); + setPinInputHigh(LAYER_4); + setPinInputHigh(LAYER_5); + } +} diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.h b/keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.h new file mode 100644 index 000000000000..5dac41f92105 --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/rev_a.h @@ -0,0 +1,41 @@ +/* +Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +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 "quantum.h" + +void setLayerLed(layer_state_t state); + +#define LAYOUT_all( \ + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k36, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k56,\ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k76,\ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k96,\ + k80, k90, k91, k93, k94, k85, k95, k86 \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06}, \ + {k10, k11, k12, k13, k14, k15, k16}, \ + {k20, k21, k22, k23, k24, k25, k26}, \ + {k30, k31, k32, k33, k34, k35, k36}, \ + {k40, k41, k42, k43, k44, k45, k46}, \ + {k50, k51, k52, k53, k54, k55, k56}, \ + {k60, k61, k62, k63, k64, k65, k66}, \ + {k70, k71, k72, k73, k74, k75, k76}, \ + {k80, KC_NO, KC_NO, KC_NO, KC_NO, k85, k86}, \ + {k90, k91, KC_NO, k93, k94, k95, k96} \ +} diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk new file mode 100644 index 000000000000..e80e0296a96c --- /dev/null +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = STM32F072 + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = yes +BACKLIGHT_DRIVER = pwm +RGBLIGHT_ENABLE = yes +WS2812_DRIVER = spi + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/4pplet/steezy60/rev_a/rules.mk b/keyboards/4pplet/steezy60/rev_a/rules.mk index b98fb7e33fc9..8a382bf8741b 100644 --- a/keyboards/4pplet/steezy60/rev_a/rules.mk +++ b/keyboards/4pplet/steezy60/rev_a/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode diff --git a/keyboards/4pplet/waffling60/rev_a/rules.mk b/keyboards/4pplet/waffling60/rev_a/rules.mk index b98fb7e33fc9..8a382bf8741b 100644 --- a/keyboards/4pplet/waffling60/rev_a/rules.mk +++ b/keyboards/4pplet/waffling60/rev_a/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode diff --git a/keyboards/4pplet/waffling60/rev_b/rules.mk b/keyboards/4pplet/waffling60/rev_b/rules.mk index 69c524b7366d..f945e0c4d0be 100644 --- a/keyboards/4pplet/waffling60/rev_b/rules.mk +++ b/keyboards/4pplet/waffling60/rev_b/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/6ball/6ball.c b/keyboards/6ball/6ball.c index 5060a5db46a2..1eddde9ba5c7 100644 --- a/keyboards/6ball/6ball.c +++ b/keyboards/6ball/6ball.c @@ -1,5 +1 @@ #include "6ball.h" - -void matrix_init_kb(void) { - matrix_init_user(); -} diff --git a/keyboards/6ball/rules.mk b/keyboards/6ball/rules.mk index e4f7093f7408..ef648135d6e8 100644 --- a/keyboards/6ball/rules.mk +++ b/keyboards/6ball/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = yes # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/7c8/framework/keymaps/default/keymap.c b/keyboards/7c8/framework/keymaps/default/keymap.c index 57dbbfee05cc..592cd02195eb 100644 --- a/keyboards/7c8/framework/keymaps/default/keymap.c +++ b/keyboards/7c8/framework/keymaps/default/keymap.c @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { switch (get_highest_layer(layer_state)) { case _BASE: @@ -93,7 +93,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; case _RAISE: - if (clockwise) { + if (clockwise) { tap_code16(LCTL(KC_RGHT)); } else { tap_code16(LCTL(KC_LEFT)); @@ -120,6 +120,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/7c8/framework/keymaps/steven/keymap.c b/keyboards/7c8/framework/keymaps/steven/keymap.c index be279f107c3b..77134db5bca1 100644 --- a/keyboards/7c8/framework/keymaps/steven/keymap.c +++ b/keyboards/7c8/framework/keymaps/steven/keymap.c @@ -115,9 +115,9 @@ void matrix_scan_user(void) { tap_code16(G(KC_D)); } } -} +} -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { uint8_t layer = get_highest_layer(layer_state); if (index == 0) { if (clockwise) { @@ -126,4 +126,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code16(dynamic_keymap_get_keycode(layer, 10, 0)); } } -} \ No newline at end of file + return true; +} diff --git a/keyboards/7c8/framework/keymaps/via/keymap.c b/keyboards/7c8/framework/keymaps/via/keymap.c index a2a353d85fa6..2fc572b4df2e 100644 --- a/keyboards/7c8/framework/keymaps/via/keymap.c +++ b/keyboards/7c8/framework/keymaps/via/keymap.c @@ -78,7 +78,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { uint8_t layer = get_highest_layer(layer_state); if (index == 0) { if (clockwise) { @@ -87,4 +87,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code16(dynamic_keymap_get_keycode(layer, 10, 0)); } } + return true; } diff --git a/keyboards/7c8/framework/rules.mk b/keyboards/7c8/framework/rules.mk index 185a5119c136..7e5082064f01 100644 --- a/keyboards/7c8/framework/rules.mk +++ b/keyboards/7c8/framework/rules.mk @@ -1,7 +1,10 @@ +# MCU name MCU = atmega328p -BOOTLOADER = USBasp -BOOTMAGIC_ENABLE = no +# Bootloader selection +BOOTLOADER = usbasploader + +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no @@ -10,11 +13,10 @@ SLEEP_LED_ENABLE = no NKRO_ENABLE = no BACKLIGHT_ENABLE = no RGBLIGHT_ENABLE = no -MIDI_ENABLE = no UNICODE_ENABLE = no BLUETOOTH_ENABLE = no AUDIO_ENABLE = no FAUXCLICKY_ENABLE = no LAYOUTS_HAS_RGB = no ENCODER_ENABLE = yes -LEADER_ENABLE = yes \ No newline at end of file +LEADER_ENABLE = yes diff --git a/keyboards/7skb/keymaps/salicylic/keymap.c b/keyboards/7skb/keymaps/salicylic/keymap.c index bf3433b17ce6..ad12f49d5b47 100644 --- a/keyboards/7skb/keymaps/salicylic/keymap.c +++ b/keyboards/7skb/keymaps/salicylic/keymap.c @@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, KC_BSPC, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------| - JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, + JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/7skb/rules.mk b/keyboards/7skb/rules.mk index d663af19f852..79dfac3bb816 100644 --- a/keyboards/7skb/rules.mk +++ b/keyboards/7skb/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/7splus/keymaps/salicylic/keymap.c b/keyboards/7splus/keymaps/salicylic/keymap.c index 4435bf98cba2..cbe4e57dcffe 100644 --- a/keyboards/7splus/keymaps/salicylic/keymap.c +++ b/keyboards/7splus/keymaps/salicylic/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, KC_HOME, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| -LCTL_T(JP_QUOT),JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, KC_END, +LCTL_T(JP_QUOT),JP_HASH,JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, KC_END, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| SFT_T(JP_CIRC),JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, KC_UP, KC_PGUP, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/7splus/rules.mk b/keyboards/7splus/rules.mk index 52da9f00eda8..f5a0657805dd 100644 --- a/keyboards/7splus/rules.mk +++ b/keyboards/7splus/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/8pack/rules.mk b/keyboards/8pack/rules.mk index 4ed443daa59e..e6b4720fea61 100644 --- a/keyboards/8pack/rules.mk +++ b/keyboards/8pack/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,6 +17,6 @@ NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: htt BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = no RGBLIGHT_ENABLE = yes -OLED_DRIVER_ENABLE = no +OLED_ENABLE = no DEFAULT_FOLDER = 8pack/rev12 diff --git a/keyboards/9key/9key.c b/keyboards/9key/9key.c index ed8e91e73b59..bbbabb81c4b8 100644 --- a/keyboards/9key/9key.c +++ b/keyboards/9key/9key.c @@ -1,5 +1 @@ #include "9key.h" - -void matrix_init_kb(void) { - matrix_init_user(); -} \ No newline at end of file diff --git a/keyboards/9key/keymaps/bcat/keymap.c b/keyboards/9key/keymaps/bcat/keymap.c index 5c30d6308dd0..5c08a42a56bf 100644 --- a/keyboards/9key/keymaps/bcat/keymap.c +++ b/keyboards/9key/keymaps/bcat/keymap.c @@ -1,3 +1,19 @@ +/* Copyright 2021 Jonathan Rascher + * + * 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 { @@ -6,18 +22,19 @@ enum layer { }; #define LY_FUNC MO(LAYER_FUNCTION) -#define KY_LOCK LCA(KC_L) /* Cinnamon lock screen */ +#define KY_LOCK LCA(KC_L) /* Cinnamon lock screen */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off [LAYER_DEFAULT] = LAYOUT( KC_MPLY, KC_VOLU, KC_MSTP, KC_MPRV, KC_VOLD, KC_MNXT, KY_LOCK, KC_MUTE, LY_FUNC ), - [LAYER_FUNCTION] = LAYOUT( EEP_RST, _______, RESET, _______, _______, _______, _______, _______, _______ ), + // clang-format on }; diff --git a/keyboards/9key/rules.mk b/keyboards/9key/rules.mk index b6c0c73be952..f4ee96e9bc3b 100644 --- a/keyboards/9key/rules.mk +++ b/keyboards/9key/rules.mk @@ -2,32 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = yes # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = yes TAP_DANCE_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE diff --git a/keyboards/abacus/config.h b/keyboards/abacus/config.h index 70ef55494601..eee2f3f91928 100644 --- a/keyboards/abacus/config.h +++ b/keyboards/abacus/config.h @@ -106,23 +106,3 @@ along with this program. If not, see . /* disable these deprecated features by default */ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/abacus/keymaps/unicodemap/keymap.c b/keyboards/abacus/keymaps/unicodemap/keymap.c index c1d5bd882787..c31b268ca2fe 100644 --- a/keyboards/abacus/keymaps/unicodemap/keymap.c +++ b/keyboards/abacus/keymaps/unicodemap/keymap.c @@ -75,12 +75,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_LOWER] = LAYOUT( NICKURL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, KC_F11, KC_F12, RGB_MODE_PLAIN, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, RGB_MODE_SWIRL, RGB_MODE_SNAKE, RGB_MODE_KNIGHT, RGB_MODE_GRADIENT, XXXXXXX, RGB_TOG, + _______, KC_F11, KC_F12, RGB_MODE_PLAIN, RGB_MODE_BREATHE, RGB_MODE_RAINBOW, RGB_MODE_SWIRL, RGB_MODE_SNAKE, RGB_MODE_KNIGHT, RGB_MODE_GRADIENT, XXXXXXX, RGB_TOG, _______, X(LOVEEYES), X(THINK), X(UPSIDEDOWN), X(NOMOUTH), X(PARTY), X(PEACH), X(HEART), X(EGGPLANT), X(EMOJI100), X(EMOJIB), RGB_HUI, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______ ) - - + + }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { @@ -93,7 +93,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; break; - + case ALTTAB: if (record->event.pressed) { tap_code16(A(KC_TAB)); @@ -108,7 +108,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } -void dip_switch_update_user(uint8_t index, bool active) { +bool dip_switch_update_user(uint8_t index, bool active) { switch (index) { case 0: if(active) { @@ -125,6 +125,7 @@ void dip_switch_update_user(uint8_t index, bool active) { } } } + return true; } @@ -132,7 +133,7 @@ void matrix_init_user(void) { set_unicode_input_mode(UC_WINC); } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { switch(get_highest_layer(layer_state)) { case _BASE: @@ -145,4 +146,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { clockwise ? tap_code(KC_MEDIA_NEXT_TRACK) : tap_code(KC_MEDIA_PREV_TRACK); break; } + return true; } diff --git a/keyboards/abacus/rules.mk b/keyboards/abacus/rules.mk index 6d6a2f19a681..c5dcd9c4c802 100644 --- a/keyboards/abacus/rules.mk +++ b/keyboards/abacus/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 ENCODER_ENABLE = yes diff --git a/keyboards/absinthe/keymaps/default/keymap.c b/keyboards/absinthe/keymaps/default/keymap.c index d6c4549c4721..e5c74366c0c8 100644 --- a/keyboards/absinthe/keymaps/default/keymap.c +++ b/keyboards/absinthe/keymaps/default/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); @@ -39,4 +39,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } diff --git a/keyboards/absinthe/keymaps/via/keymap.c b/keyboards/absinthe/keymaps/via/keymap.c new file mode 100644 index 000000000000..797d14226dc7 --- /dev/null +++ b/keyboards/absinthe/keymaps/via/keymap.c @@ -0,0 +1,70 @@ +/* Copyright 2021 alittlepeace + * + * 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_default( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, 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_BSPC, KC_DEL, KC_END, KC_PGDN, + KC_LCTL, 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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), + + [1] = LAYOUT_default( + _______, 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_SLCK, KC_PAUS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [2] = LAYOUT_default( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [3] = LAYOUT_default( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + switch(get_highest_layer(layer_state)){ + case 1: + if (clockwise){ + tap_code(KC_VOLU); + } else{ + tap_code(KC_VOLD); + } + break; + default: + if (clockwise) { + tap_code(KC_WH_D); + } else { + tap_code(KC_WH_U); + } + break; + } + } + return true; +} + diff --git a/keyboards/absinthe/keymaps/via/rules.mk b/keyboards/absinthe/keymaps/via/rules.mk new file mode 100644 index 000000000000..eb5b445ddf1a --- /dev/null +++ b/keyboards/absinthe/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +MOUSEKEY_ENABLE = yes diff --git a/keyboards/absinthe/rules.mk b/keyboards/absinthe/rules.mk index 78bf2bf1bf9b..634bdccdb743 100644 --- a/keyboards/absinthe/rules.mk +++ b/keyboards/absinthe/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 ENCODER_ENABLE = yes diff --git a/keyboards/abstract/ellipse/keymaps/abstractkb/keymap.c b/keyboards/abstract/ellipse/keymaps/abstractkb/keymap.c index 8d649419d112..4350423183b6 100644 --- a/keyboards/abstract/ellipse/keymaps/abstractkb/keymap.c +++ b/keyboards/abstract/ellipse/keymaps/abstractkb/keymap.c @@ -27,23 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -/*bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -}*/ - -/*void matrix_init_user(void) { - -}*/ - -/*void matrix_scan_user(void) { - -}*/ - -/*void led_set_user(uint8_t usb_led) { - -}*/ - -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); @@ -63,4 +47,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { backlight_decrease(); } } -} \ No newline at end of file + return true; +} diff --git a/keyboards/abstract/ellipse/keymaps/default/keymap.c b/keyboards/abstract/ellipse/keymaps/default/keymap.c index ac1ec986b029..dbcba36f5cf1 100644 --- a/keyboards/abstract/ellipse/keymaps/default/keymap.c +++ b/keyboards/abstract/ellipse/keymaps/default/keymap.c @@ -27,23 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -/*bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -}*/ - -/*void matrix_init_user(void) { - -}*/ - -/*void matrix_scan_user(void) { - -}*/ - -/*void led_set_user(uint8_t usb_led) { - -}*/ - -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_O); @@ -63,4 +47,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_R); } } -} \ No newline at end of file + return true; +} diff --git a/keyboards/abstract/ellipse/rev1/config.h b/keyboards/abstract/ellipse/rev1/config.h index 57c9456fe752..fe368748067c 100644 --- a/keyboards/abstract/ellipse/rev1/config.h +++ b/keyboards/abstract/ellipse/rev1/config.h @@ -178,26 +178,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/abstract/ellipse/rev1/rev1.c b/keyboards/abstract/ellipse/rev1/rev1.c index ae7aa640e4ad..f2a7e484cd89 100644 --- a/keyboards/abstract/ellipse/rev1/rev1.c +++ b/keyboards/abstract/ellipse/rev1/rev1.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "rev1.h" - -/*void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -}*/ \ No newline at end of file diff --git a/keyboards/abstract/ellipse/rev1/rules.mk b/keyboards/abstract/ellipse/rev1/rules.mk index cd55ecdbe7f8..941783b5991d 100644 --- a/keyboards/abstract/ellipse/rev1/rules.mk +++ b/keyboards/abstract/ellipse/rev1/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/acekeyboard/titan60/config.h b/keyboards/acekeyboard/titan60/config.h index d34622b2506e..67d02c98ea07 100644 --- a/keyboards/acekeyboard/titan60/config.h +++ b/keyboards/acekeyboard/titan60/config.h @@ -53,15 +53,15 @@ along with this program. If not, see . /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ -#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 +// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 #define BACKLIGHT_PIN B7 #define BACKLIGHT_LEVELS 3 #define BACKLIGHT_BREATHING -#define RGB_DI_PIN D2 +#define RGB_DI_PIN D0 #ifdef RGB_DI_PIN -# define RGBLED_NUM 14 +# define RGBLED_NUM 6 # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 # define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/acekeyboard/titan60/info.json b/keyboards/acekeyboard/titan60/info.json index 0839c7fb364a..f6e79f0eada5 100644 --- a/keyboards/acekeyboard/titan60/info.json +++ b/keyboards/acekeyboard/titan60/info.json @@ -1,32 +1,36 @@ { - "keyboard_name": "Titan60", - "url": "", - "maintainer": "qmk", - "width": 15, - "height": 5, + "keyboard_name": "Titan60", + "url": "https://acekeyboard.co/", + "maintainer": "keebnewb", + "width": 14, + "height": 5, "layouts": { - "LAYOUT_all_ansi_std": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] - }, - - "LAYOUT_all_ansi_2u_lshift": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] - }, - - "LAYOUT_60_ansi": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}] - }, - - "LAYOUT_60_ansi_tsangan": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}] - }, - - "LAYOUT_60_ansi_split_bs_rshift": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}] - }, - - "LAYOUT_60_ansi_split_spacebar": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}] - } + "LAYOUT_60_ansi": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}] + }, + "LAYOUT_60_ansi_split": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}] + }, + "LAYOUT_60_iso": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}] + }, + "LAYOUT_60_iso_split": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}] + }, + "LAYOUT_60_tsangan": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}] + }, + "LAYOUT_60_tsangan_split": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}] + }, + "LAYOUT_60_utilitarian": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] + }, + "LAYOUT_60_utilitarian_split": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] + }, + "LAYOUT_60_utilitarian_iso_split": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":0, "y":3, "w":2}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] + } } } diff --git a/keyboards/acekeyboard/titan60/keymaps/default/keymap.c b/keyboards/acekeyboard/titan60/keymaps/default/keymap.c index be3ed10bbcec..f631bff3f07f 100644 --- a/keyboards/acekeyboard/titan60/keymaps/default/keymap.c +++ b/keyboards/acekeyboard/titan60/keymaps/default/keymap.c @@ -1,5 +1,5 @@ /* -Copyright 2020 MechMerlin +Copyright 2021 keebnewb 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 @@ -18,31 +18,31 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ - * │ ` │ 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│Menu│Ctrl│ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + * ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ 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│Menu│Ctrl│ + * └─────┴─────┴────┴────────────────────────┴────┴────┴────┴────┘ */ [0] = LAYOUT_60_ansi( - 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_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_B, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL + 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_RCTRL ), [1] = LAYOUT_60_ansi( - 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + 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, + RGB_TOG, RGB_RMOD,KC_UP, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, BS_SWAP, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, + BL_TOGG, BL_DEC, BL_INC, KC_CALC, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, + KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), -}; \ No newline at end of file +}; diff --git a/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c b/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c new file mode 100644 index 000000000000..6f56d2d4205c --- /dev/null +++ b/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2021 keebnewb + +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_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_ENT, + 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_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_RCTRL + ), + + [1] = LAYOUT_60_iso( + 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, + RGB_TOG, RGB_RMOD,KC_UP, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, BS_SWAP, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, + BL_TOGG, BL_DEC, BL_INC, KC_CALC, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS, + KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; diff --git a/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c b/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c new file mode 100644 index 000000000000..4c18f99f551b --- /dev/null +++ b/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2021 keebnewb + +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_60_tsangan( + 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_LCTL, 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_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL + ), + + [1] = LAYOUT_60_tsangan( + KC_SLEP, 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_INS, KC_DEL, + RGB_TOG, RGB_RMOD, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_CLR, + KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS, + BL_TOGG, BL_DEC, BL_INC, KC_CALC, KC_MPLY, KC_MNXT, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, + KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_STOP, KC_TRNS, KC_TRNS + ), +}; diff --git a/keyboards/acekeyboard/titan60/keymaps/utilitarian/keymap.c b/keyboards/acekeyboard/titan60/keymaps/utilitarian/keymap.c new file mode 100644 index 000000000000..c7358d71705b --- /dev/null +++ b/keyboards/acekeyboard/titan60/keymaps/utilitarian/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2021 keebnewb + +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_60_utilitarian( + 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_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTRL,KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_60_utilitarian( + 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, + RGB_TOG, RGB_RMOD,KC_UP, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, BS_SWAP, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, + BL_TOGG, BL_DEC, BL_INC, KC_CALC, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_END, KC_PGDN, 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/acekeyboard/titan60/keymaps/via/keymap.c b/keyboards/acekeyboard/titan60/keymaps/via/keymap.c index c78d8f0b17f3..f6296cc82362 100644 --- a/keyboards/acekeyboard/titan60/keymaps/via/keymap.c +++ b/keyboards/acekeyboard/titan60/keymaps/via/keymap.c @@ -27,38 +27,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ - * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Fn │Ctrl│ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ */ - [0] = LAYOUT_60_ansi( - 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_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, MO(1), KC_RALT, KC_RGUI, KC_RCTL - ), + [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_RCTRL + ), - [1] = LAYOUT_60_ansi( - 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), + [1] = LAYOUT_60_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), - [2] = LAYOUT_60_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ), + [2] = LAYOUT_60_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), - [3] = LAYOUT_60_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; \ No newline at end of file + [3] = LAYOUT_60_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/acekeyboard/titan60/readme.md b/keyboards/acekeyboard/titan60/readme.md index f977b4b89f54..810d9b5a108d 100644 --- a/keyboards/acekeyboard/titan60/readme.md +++ b/keyboards/acekeyboard/titan60/readme.md @@ -1,8 +1,11 @@ # titan60 +![Front of the Titan60 PCB](https://i.imgur.com/LaPzdRl.png) +![Back of the Titan60 PCB](https://i.imgur.com/nbineBj.png) + 60% custom keyboard originally meant for the Saturn 60 -* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) +* Keyboard Maintainer: [keebnewb](https://github.com/thompson-ele) * Hardware Supported: Titan 60 PCB * Hardware Availability: [Acekeyboard](https://acekeyboard.co/) diff --git a/keyboards/acekeyboard/titan60/rules.mk b/keyboards/acekeyboard/titan60/rules.mk index 92f7aba54252..3393f3dc5d58 100644 --- a/keyboards/acekeyboard/titan60/rules.mk +++ b/keyboards/acekeyboard/titan60/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/acekeyboard/titan60/titan60.h b/keyboards/acekeyboard/titan60/titan60.h index 219a28a8b4ed..99b42fe190e3 100644 --- a/keyboards/acekeyboard/titan60/titan60.h +++ b/keyboards/acekeyboard/titan60/titan60.h @@ -1,5 +1,5 @@ /* -Copyright 2020 MechMerlin +Copyright 2021 keebnewb 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 @@ -21,89 +21,134 @@ along with this program. If not, see . #define ___ KC_NO - -#define LAYOUT_all_ansi_std( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k43, \ - k40, k41, k42, k44, k46, k48, k4a, k4d, k4b, k4c, k49 \ +#define LAYOUT_60_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d \ ){ \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, ___, ___ }, \ - { k40, k41, k42, k43, k44, ___, k46, ___, k48, k49, k4a, k4b, k4c, k4d } \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d } \ } -#define LAYOUT_all_ansi_2u_lshift( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ - k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k47, k3c, k43, \ - k40, k41, k42, k44, k46, k48, k4a, k4d, k4b, k4c, k49 \ +// ANSI with all split options +#define LAYOUT_60_ansi_split( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k43, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d \ ){ \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ - { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, ___, ___ }, \ - { k40, k41, k42, k43, k44, ___, k46, k47, k48, k49, k4a, k4b, k4c, k4d } \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ }, \ + { k40, k41, k42, k43, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d } \ } -#define LAYOUT_60_ansi( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ - k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k46, k4a, k4b, k4c, k4d \ +#define LAYOUT_60_iso( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k1d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d \ ){ \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d }, \ - { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, ___, ___ }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ }, \ { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d } \ } -#define LAYOUT_60_ansi_tsangan( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ - k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k43, \ - k40, k41, k42, k46, k4b, k4c, k4d \ +// ISO with all split options +#define LAYOUT_60_iso_split( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k1d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k43, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d \ ){ \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ - { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, ___, ___ }, \ - { k40, k41, k42, k43, ___, ___, k46, ___, ___, ___, ___, k4b, k4c, k4d } \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ }, \ + { k40, k41, k42, k43, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d } \ } -#define LAYOUT_60_ansi_split_bs_rshift( \ +// Tsangan +#define LAYOUT_60_tsangan( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k43, \ - k40, k41, k42, k46, k4a, k4b, k4c, k4d \ + k40, k41, k42, k46, k4b, k4c, k4d \ ){ \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ - { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, ___, ___ }, \ - { k40, k41, k42, k43, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d } \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ }, \ + { k40, k41, k42, k43, ___, ___, k46, ___, ___, ___, ___, k4b, k4c, k4d } \ } -#define LAYOUT_60_ansi_split_spacebar( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ - k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k44, k46, k48, k4a, k4b, k4c, k4d \ +// Tsangan with split left shift +#define LAYOUT_60_tsangan_split( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k43, \ + k40, k41, k42, k46, k4b, k4c, k4d \ +){ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___ }, \ + { k40, k41, k42, k43, ___, ___, k46, ___, ___, ___, ___, k4b, k4c, k4d } \ +} + +#define LAYOUT_60_utilitarian( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, k43, \ + k40, k41, k42, k46, k4a, k4b, k49, k4c, k4d \ ){ \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d }, \ - { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, ___, ___ }, \ - { k40, k41, k42, ___, k44, ___, k46, ___, k48, ___, k4a, k4b, k4c, k4d } \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ + { k40, k41, k42, k43, ___, ___, k46, ___, ___, k49, k4a, k4b, k4c, k4d } \ } +// Utilitarian with split spacebar and split backspace +#define LAYOUT_60_utilitarian_split( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, k43, \ + k40, k41, k42, k44, k46, k48, k4a, k4b, k49, k4c, k4d \ +){ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ + { k40, k41, k42, k43, k44, ___, k46, ___, k48, k49, k4a, k4b, k4c, k4d } \ +} +// Utilitarian with ISO enter, split spacebar and split backspace +#define LAYOUT_60_utilitarian_iso_split( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k1d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, k43, \ + k40, k41, k42, k44, k46, k48, k4a, k4b, k49, k4c, k4d \ +){ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ + { k40, k41, k42, k43, k44, ___, k46, ___, k48, k49, k4a, k4b, k4c, k4d } \ +} diff --git a/keyboards/acheron/arctic/rules.mk b/keyboards/acheron/arctic/rules.mk index 5edab2afe1bd..fc080cfcc972 100644 --- a/keyboards/acheron/arctic/rules.mk +++ b/keyboards/acheron/arctic/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/acheron/austin/keymaps/via/rules.mk b/keyboards/acheron/austin/keymaps/via/rules.mk index ee1e4ceeb4b8..5abd4f5bdf90 100644 --- a/keyboards/acheron/austin/keymaps/via/rules.mk +++ b/keyboards/acheron/austin/keymaps/via/rules.mk @@ -1,2 +1,2 @@ VIA_ENABLE = yes -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite diff --git a/keyboards/acheron/austin/rules.mk b/keyboards/acheron/austin/rules.mk index 6796ab14052d..b7d446119f20 100644 --- a/keyboards/acheron/austin/rules.mk +++ b/keyboards/acheron/austin/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -15,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 # Enter lower-power sleep mode when on the ChibiOS idle thread diff --git a/keyboards/acheron/elongate/config.h b/keyboards/acheron/elongate/config.h index cc94d5f02866..c51c7a821360 100644 --- a/keyboards/acheron/elongate/config.h +++ b/keyboards/acheron/elongate/config.h @@ -193,25 +193,6 @@ along with this program. If not, see . /* disable these deprecated features by default */ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/acheron/elongate/rules.mk b/keyboards/acheron/elongate/rules.mk index 6d5f0fb527df..c357cdcb6bc4 100644 --- a/keyboards/acheron/elongate/rules.mk +++ b/keyboards/acheron/elongate/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 LTO_ENABLE = yes diff --git a/keyboards/acheron/keebspcb/rules.mk b/keyboards/acheron/keebspcb/rules.mk index b08ad400cdd8..cb43e7ab2d93 100644 --- a/keyboards/acheron/keebspcb/rules.mk +++ b/keyboards/acheron/keebspcb/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -15,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 # Enter lower-power sleep mode when on the ChibiOS idle thread diff --git a/keyboards/acheron/lasgweloth/rules.mk b/keyboards/acheron/lasgweloth/rules.mk index 6bfb44ee94e8..2c9fffa015ef 100644 --- a/keyboards/acheron/lasgweloth/rules.mk +++ b/keyboards/acheron/lasgweloth/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/acheron/shark/config.h b/keyboards/acheron/shark/config.h index e45b69b6251a..3adcb060d7ed 100644 --- a/keyboards/acheron/shark/config.h +++ b/keyboards/acheron/shark/config.h @@ -204,26 +204,6 @@ B0, which is unconnected on the PCB //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/acheron/shark/keymaps/ajp10304/readme.md b/keyboards/acheron/shark/keymaps/ajp10304/readme.md index 73e5b831e01c..c17232162475 100644 --- a/keyboards/acheron/shark/keymaps/ajp10304/readme.md +++ b/keyboards/acheron/shark/keymaps/ajp10304/readme.md @@ -1,5 +1,5 @@ # AJP10304 Custom Shark Layout -# Also available for the Planck, JJ40 and Atreus50 +# Also available for the Planck, Quark, JJ40 and Atreus50 **Note:** In the tables below where there are two characters on a key, the second is the output when shift is applied. diff --git a/keyboards/acheron/shark/keymaps/via/rules.mk b/keyboards/acheron/shark/keymaps/via/rules.mk index ee1e4ceeb4b8..5abd4f5bdf90 100644 --- a/keyboards/acheron/shark/keymaps/via/rules.mk +++ b/keyboards/acheron/shark/keymaps/via/rules.mk @@ -1,2 +1,2 @@ VIA_ENABLE = yes -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite diff --git a/keyboards/acheron/shark/rules.mk b/keyboards/acheron/shark/rules.mk index 04f2a7b944b6..38031a1bf823 100644 --- a/keyboards/acheron/shark/rules.mk +++ b/keyboards/acheron/shark/rules.mk @@ -2,10 +2,13 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -16,7 +19,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/acheron/shark/shark.c b/keyboards/acheron/shark/shark.c index b15c8a270e67..ab607edae1f2 100644 --- a/keyboards/acheron/shark/shark.c +++ b/keyboards/acheron/shark/shark.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "shark.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/acr60/acr60.c b/keyboards/acr60/acr60.c index 8a76020e547b..7cba669b84ed 100644 --- a/keyboards/acr60/acr60.c +++ b/keyboards/acr60/acr60.c @@ -1,28 +1,17 @@ -#include "acr60.h" -#include "led.h" - -void matrix_init_kb(void) { - // Keyboard start-up code goes here - // Runs once when the firmware starts up - matrix_init_user(); - led_init_ports(); -}; - -void matrix_scan_kb(void) { - // Looping keyboard code goes here - // This runs every cycle (a lot) - matrix_scan_user(); -}; +/* Copyright 2017 Ryan Mitchell (@newtmitch) + * + * 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 . + */ -void led_init_ports(void) { - // Set caps lock LED pin as output - DDRB |= (1 << 2); - // Default to off - PORTB |= (1 << 2); -} - -void led_set_kb(uint8_t usb_led) { - // Code for caps lock LED as reported by the OS - // Set this per keymap, instead of globally - led_set_user(usb_led); -} +#include "acr60.h" diff --git a/keyboards/acr60/acr60.h b/keyboards/acr60/acr60.h index 9a2d59f6344c..5a52a3bc86a8 100644 --- a/keyboards/acr60/acr60.h +++ b/keyboards/acr60/acr60.h @@ -1,76 +1,93 @@ -#ifndef ARC60_H -#define ARC60_H +/* Copyright 2017 Ryan Mitchell (@newtmitch) + * + * 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 "quantum.h" -#define LAYOUT( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ - K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ - K400, K401, K403, K404, K406, K408, K410, K411, K412, K413, K414 \ +#define ___ KC_NO + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ - { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ - { K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E } \ } -#define LAYOUT_hhkb( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ - K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ - K401, K403, K406, K411, K413 \ +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ - { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ - { KC_NO, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, KC_NO, K411, KC_NO, K413, KC_NO } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ + { K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E } \ } -#define LAYOUT_true_hhkb( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ - K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ - K401, K403, K406, K410, K411 \ +#define LAYOUT_hhkb( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K41, K43, K46, K4B, K4D \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ - { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ - { KC_NO, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, KC_NO, KC_NO } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ + { ___, K41, ___, K43, ___, ___, K46, ___, ___, ___, ___, K4B, ___, K4D, ___ } \ } -#define LAYOUT_2_shifts( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ - K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ - K400, K401, K403, K404, K406, K408, K410, K411, K412, K413, K414 \ +#define LAYOUT_true_hhkb( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K41, K43, K46, K4A, K4B \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ - { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ - { K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ + { ___, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, ___, ___, ___ } \ } #define LAYOUT_directional( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ - K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \ - K400, K401, K403, K404, K406, K408, K410, K411, K412, K413, K414 \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \ + K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ - { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, K313, K314 }, \ - { K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, ___, K3C, K3D, K3E }, \ + { K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E } \ } /* Mitch's keymap, "MitchSplit": @@ -78,30 +95,28 @@ * Split shift is 2.75u + 1.25u + 2.25u (total of 6.25u). Might not work with other orientations. */ /* - * ,-----------------------------------------------------------------------------------------. - * |K000 |K001 |K002 |K003 |K004 |K005 |K006 |K007 |K008 |K009 |K010 |K011 |K012 | K014 | - * |-----------------------------------------------------------------------------------------+ - * | K100 |K102 |K103 |K104 |K105 |K106 |K107 |K108 |K109 |K110 |K111 |K112 |K113 | K114 | - * |-----------------------------------------------------------------------------------------+ - * | K200 |K202 |K203 |K204 |K205 |K206 |K207 |K208 |K209 |K210 |K211 |K212 | K213 | - * |-----------------------------------------------------------------------------------------+ - * | K300 |K302 |K303 |K304 |K305 |K306 |K307 |K308 |K309 |K310 |K311 | K313 |K314 | - * |-----------------------------------------------------------------------------------------+ - * | K400 | K401 | K403 | K404 | K406 | K408 | K410 | K411 | K413 | K414 | - * `-----------------------------------------------------------------------------------------' + * ,-----------------------------------------------------------. + * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0E | + * |-----------------------------------------------------------| + * |10 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B |1C |1D |1E | + * |-----------------------------------------------------------| + * |20 |22 |23 |24 |25 |26 |27 |28 |29 |2A |2B |2C |2D | + * |-----------------------------------------------------------| + * |30 |32 |33 |34 |35 |36 |37 |38 |39 |3A |3B |3D |3E | + * |-----------------------------------------------------------| + * |40 |41 |43 |44 |46 |48 |4A |4B |4D |4E | + * `-----------------------------------------------------------' */ #define LAYOUT_mitchsplit( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, \ - K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ - K400, K401, K403, K404, K406, K408, K410, K411, K413, K414 \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K43, K44, K46, K48, K4A, K4B, K4D, K4E \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, K014 }, \ - { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ - { K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, KC_NO, K413, K414 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, ___, K0E }, \ + { K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E }, \ + { K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, ___, K4D, K4E } \ } - -#endif diff --git a/keyboards/acr60/config.h b/keyboards/acr60/config.h index 9d844b6d4814..7fb907153a91 100644 --- a/keyboards/acr60/config.h +++ b/keyboards/acr60/config.h @@ -1,5 +1,20 @@ -#ifndef CONFIG_H -#define CONFIG_H +/* Copyright 2017 Ryan Mitchell (@newtmitch) + * + * 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 "config_common.h" @@ -22,6 +37,9 @@ /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW +#define LED_CAPS_LOCK_PIN B2 +#define LED_PIN_ON_STATE 0 + /* number of backlight levels */ #define BACKLIGHT_PIN B6 #define BACKLIGHT_LEVELS 5 @@ -41,5 +59,3 @@ #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 - -#endif diff --git a/keyboards/acr60/info.json b/keyboards/acr60/info.json index 660c357990ab..d4008827ff2e 100644 --- a/keyboards/acr60/info.json +++ b/keyboards/acr60/info.json @@ -1,33 +1,448 @@ { - "keyboard_name": "ACR60", - "url": "", - "maintainer": "qmk", - "width": 15, - "height": 5, - "layouts": { - "LAYOUT": { - "key_count": 67, - "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":1.25}, {"label":"K301", "x":1.25, "y":3}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K311", "x":11.25, "y":3}, {"label":"K313", "x":12.25, "y":3, "w":1.75}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K404", "x":3.75, "y":4, "w":2.25}, {"label":"K406", "x":6, "y":4, "w":1.25}, {"label":"K408", "x":7.25, "y":4, "w":2.75}, {"label":"K410", "x":10, "y":4}, {"label":"K411", "x":11, "y":4}, {"label":"K412", "x":12, "y":4}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}] + "keyboard_name": "ACR60", + "url": "", + "maintainer": "qmk", + "width": 15, + "height": 5, + "layout_aliases": { + "LAYOUT_2_shifts": "LAYOUT_all" }, - "LAYOUT_hhkb": { - "key_count": 61, - "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":1.25}, {"label":"K301", "x":1.25, "y":3}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K311", "x":11.25, "y":3}, {"label":"K313", "x":12.25, "y":3, "w":1.75}, {"label":"K314", "x":14, "y":3}, {"label":"K401", "x":1.5, "y":4}, {"label":"K403", "x":2.5, "y":4, "w":1.5}, {"label":"K406", "x":4, "y":4, "w":7}, {"label":"K411", "x":11, "y":4, "w":1.5}, {"label":"K413", "x":12.5, "y":4}] - }, - "LAYOUT_true_hhkb": { - "key_count": 61, - "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":1.25}, {"label":"K301", "x":1.25, "y":3}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K311", "x":11.25, "y":3}, {"label":"K313", "x":12.25, "y":3, "w":1.75}, {"label":"K314", "x":14, "y":3}, {"label":"K401", "x":1.5, "y":4}, {"label":"K403", "x":2.5, "y":4, "w":1.5}, {"label":"K406", "x":4, "y":4, "w":6}, {"label":"K410", "x":10, "y":4, "w":1.5}, {"label":"K411", "x":11.5, "y":4}] - }, - "LAYOUT_2_shifts": { - "key_count": 68, - "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3}, {"label":"K301", "x":1, "y":3}, {"label":"K302", "x":2, "y":3}, {"label":"K303", "x":3, "y":3}, {"label":"K304", "x":4, "y":3}, {"label":"K305", "x":5, "y":3}, {"label":"K306", "x":6, "y":3}, {"label":"K307", "x":7, "y":3}, {"label":"K308", "x":8, "y":3}, {"label":"K309", "x":9, "y":3}, {"label":"K310", "x":10, "y":3}, {"label":"K311", "x":11, "y":3}, {"label":"K312", "x":12, "y":3}, {"label":"K313", "x":13, "y":3}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K404", "x":3.75, "y":4, "w":2.25}, {"label":"K406", "x":6, "y":4, "w":1.25}, {"label":"K408", "x":7.25, "y":4, "w":2.75}, {"label":"K410", "x":10, "y":4}, {"label":"K411", "x":11, "y":4}, {"label":"K412", "x":12, "y":4}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}] - }, - "LAYOUT_directional": { - "key_count": 67, - "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":1.25}, {"label":"K301", "x":1.25, "y":3}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K312", "x":11.25, "y":3, "w":1.75}, {"label":"K313", "x":13, "y":3}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K404", "x":3.75, "y":4, "w":2.25}, {"label":"K406", "x":6, "y":4, "w":1.25}, {"label":"K408", "x":7.25, "y":4, "w":2.75}, {"label":"K410", "x":10, "y":4}, {"label":"K411", "x":11, "y":4}, {"label":"K412", "x":12, "y":4}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}] - }, - "LAYOUT_mitchsplit": { - "key_count": 64, - "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K014", "x":13, "y":0, "w":2}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":2.25}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K311", "x":11.25, "y":3}, {"label":"K313", "x":12.25, "y":3, "w":1.75}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K404", "x":3.75, "y":4, "w":2.75}, {"label":"K406", "x":6.5, "y":4, "w":1.25}, {"label":"K408", "x":7.75, "y":4, "w":2.25}, {"label":"K410", "x":10, "y":4, "w":1.25}, {"label":"K411", "x":11.25, "y":4, "w":1.25}, {"label":"K413", "x":12.5, "y":4, "w":1.25}, {"label":"K414", "x":13.75, "y":4, "w":1.25}] + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K04", "x":4, "y":0}, + {"label":"K05", "x":5, "y":0}, + {"label":"K06", "x":6, "y":0}, + {"label":"K07", "x":7, "y":0}, + {"label":"K08", "x":8, "y":0}, + {"label":"K09", "x":9, "y":0}, + {"label":"K0A", "x":10, "y":0}, + {"label":"K0B", "x":11, "y":0}, + {"label":"K0C", "x":12, "y":0}, + {"label":"K0D", "x":13, "y":0}, + {"label":"K0E", "x":14, "y":0}, + + {"label":"K10", "x":0, "y":1, "w":1.5}, + {"label":"K12", "x":1.5, "y":1}, + {"label":"K13", "x":2.5, "y":1}, + {"label":"K14", "x":3.5, "y":1}, + {"label":"K15", "x":4.5, "y":1}, + {"label":"K16", "x":5.5, "y":1}, + {"label":"K17", "x":6.5, "y":1}, + {"label":"K18", "x":7.5, "y":1}, + {"label":"K19", "x":8.5, "y":1}, + {"label":"K1A", "x":9.5, "y":1}, + {"label":"K1B", "x":10.5, "y":1}, + {"label":"K1C", "x":11.5, "y":1}, + {"label":"K1D", "x":12.5, "y":1}, + {"label":"K1E", "x":13.5, "y":1, "w":1.5}, + + {"label":"K20", "x":0, "y":2, "w":1.75}, + {"label":"K22", "x":1.75, "y":2}, + {"label":"K23", "x":2.75, "y":2}, + {"label":"K24", "x":3.75, "y":2}, + {"label":"K25", "x":4.75, "y":2}, + {"label":"K26", "x":5.75, "y":2}, + {"label":"K27", "x":6.75, "y":2}, + {"label":"K28", "x":7.75, "y":2}, + {"label":"K29", "x":8.75, "y":2}, + {"label":"K2A", "x":9.75, "y":2}, + {"label":"K2B", "x":10.75, "y":2}, + {"label":"K2C", "x":11.75, "y":2}, + {"label":"K2D", "x":12.75, "y":2, "w":2.25}, + + {"label":"K30", "x":0, "y":3}, + {"label":"K31", "x":1, "y":3}, + {"label":"K32", "x":2, "y":3}, + {"label":"K33", "x":3, "y":3}, + {"label":"K34", "x":4, "y":3}, + {"label":"K35", "x":5, "y":3}, + {"label":"K36", "x":6, "y":3}, + {"label":"K37", "x":7, "y":3}, + {"label":"K38", "x":8, "y":3}, + {"label":"K39", "x":9, "y":3}, + {"label":"K3A", "x":10, "y":3}, + {"label":"K3B", "x":11, "y":3}, + {"label":"K3C", "x":12, "y":3}, + {"label":"K3D", "x":13, "y":3}, + {"label":"K3E", "x":14, "y":3}, + + {"label":"K40", "x":0, "y":4, "w":1.25}, + {"label":"K41", "x":1.25, "y":4, "w":1.25}, + {"label":"K43", "x":2.5, "y":4, "w":1.25}, + {"label":"K44", "x":3.75, "y":4, "w":2.25}, + {"label":"K46", "x":6, "y":4, "w":1.25}, + {"label":"K48", "x":7.25, "y":4, "w":2.75}, + {"label":"K4A", "x":10, "y":4}, + {"label":"K4B", "x":11, "y":4}, + {"label":"K4C", "x":12, "y":4}, + {"label":"K4D", "x":13, "y":4}, + {"label":"K4E", "x":14, "y":4} + ] + }, + "LAYOUT": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K04", "x":4, "y":0}, + {"label":"K05", "x":5, "y":0}, + {"label":"K06", "x":6, "y":0}, + {"label":"K07", "x":7, "y":0}, + {"label":"K08", "x":8, "y":0}, + {"label":"K09", "x":9, "y":0}, + {"label":"K0A", "x":10, "y":0}, + {"label":"K0B", "x":11, "y":0}, + {"label":"K0C", "x":12, "y":0}, + {"label":"K0D", "x":13, "y":0}, + {"label":"K0E", "x":14, "y":0}, + + {"label":"K10", "x":0, "y":1, "w":1.5}, + {"label":"K12", "x":1.5, "y":1}, + {"label":"K13", "x":2.5, "y":1}, + {"label":"K14", "x":3.5, "y":1}, + {"label":"K15", "x":4.5, "y":1}, + {"label":"K16", "x":5.5, "y":1}, + {"label":"K17", "x":6.5, "y":1}, + {"label":"K18", "x":7.5, "y":1}, + {"label":"K19", "x":8.5, "y":1}, + {"label":"K1A", "x":9.5, "y":1}, + {"label":"K1B", "x":10.5, "y":1}, + {"label":"K1C", "x":11.5, "y":1}, + {"label":"K1D", "x":12.5, "y":1}, + {"label":"K1E", "x":13.5, "y":1, "w":1.5}, + + {"label":"K20", "x":0, "y":2, "w":1.75}, + {"label":"K22", "x":1.75, "y":2}, + {"label":"K23", "x":2.75, "y":2}, + {"label":"K24", "x":3.75, "y":2}, + {"label":"K25", "x":4.75, "y":2}, + {"label":"K26", "x":5.75, "y":2}, + {"label":"K27", "x":6.75, "y":2}, + {"label":"K28", "x":7.75, "y":2}, + {"label":"K29", "x":8.75, "y":2}, + {"label":"K2A", "x":9.75, "y":2}, + {"label":"K2B", "x":10.75, "y":2}, + {"label":"K2C", "x":11.75, "y":2}, + {"label":"K2D", "x":12.75, "y":2, "w":2.25}, + + {"label":"K30", "x":0, "y":3, "w":1.25}, + {"label":"K31", "x":1.25, "y":3}, + {"label":"K32", "x":2.25, "y":3}, + {"label":"K33", "x":3.25, "y":3}, + {"label":"K34", "x":4.25, "y":3}, + {"label":"K35", "x":5.25, "y":3}, + {"label":"K36", "x":6.25, "y":3}, + {"label":"K37", "x":7.25, "y":3}, + {"label":"K38", "x":8.25, "y":3}, + {"label":"K39", "x":9.25, "y":3}, + {"label":"K3A", "x":10.25, "y":3}, + {"label":"K3B", "x":11.25, "y":3}, + {"label":"K3D", "x":12.25, "y":3, "w":1.75}, + {"label":"K3E", "x":14, "y":3}, + + {"label":"K40", "x":0, "y":4, "w":1.25}, + {"label":"K41", "x":1.25, "y":4, "w":1.25}, + {"label":"K43", "x":2.5, "y":4, "w":1.25}, + {"label":"K44", "x":3.75, "y":4, "w":2.25}, + {"label":"K46", "x":6, "y":4, "w":1.25}, + {"label":"K48", "x":7.25, "y":4, "w":2.75}, + {"label":"K4A", "x":10, "y":4}, + {"label":"K4B", "x":11, "y":4}, + {"label":"K4C", "x":12, "y":4}, + {"label":"K4D", "x":13, "y":4}, + {"label":"K4E", "x":14, "y":4} + ] + }, + "LAYOUT_hhkb": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K04", "x":4, "y":0}, + {"label":"K05", "x":5, "y":0}, + {"label":"K06", "x":6, "y":0}, + {"label":"K07", "x":7, "y":0}, + {"label":"K08", "x":8, "y":0}, + {"label":"K09", "x":9, "y":0}, + {"label":"K0A", "x":10, "y":0}, + {"label":"K0B", "x":11, "y":0}, + {"label":"K0C", "x":12, "y":0}, + {"label":"K0D", "x":13, "y":0}, + {"label":"K0E", "x":14, "y":0}, + + {"label":"K10", "x":0, "y":1, "w":1.5}, + {"label":"K12", "x":1.5, "y":1}, + {"label":"K13", "x":2.5, "y":1}, + {"label":"K14", "x":3.5, "y":1}, + {"label":"K15", "x":4.5, "y":1}, + {"label":"K16", "x":5.5, "y":1}, + {"label":"K17", "x":6.5, "y":1}, + {"label":"K18", "x":7.5, "y":1}, + {"label":"K19", "x":8.5, "y":1}, + {"label":"K1A", "x":9.5, "y":1}, + {"label":"K1B", "x":10.5, "y":1}, + {"label":"K1C", "x":11.5, "y":1}, + {"label":"K1D", "x":12.5, "y":1}, + {"label":"K1E", "x":13.5, "y":1, "w":1.5}, + + {"label":"K20", "x":0, "y":2, "w":1.75}, + {"label":"K22", "x":1.75, "y":2}, + {"label":"K23", "x":2.75, "y":2}, + {"label":"K24", "x":3.75, "y":2}, + {"label":"K25", "x":4.75, "y":2}, + {"label":"K26", "x":5.75, "y":2}, + {"label":"K27", "x":6.75, "y":2}, + {"label":"K28", "x":7.75, "y":2}, + {"label":"K29", "x":8.75, "y":2}, + {"label":"K2A", "x":9.75, "y":2}, + {"label":"K2B", "x":10.75, "y":2}, + {"label":"K2C", "x":11.75, "y":2}, + {"label":"K2D", "x":12.75, "y":2, "w":2.25}, + + {"label":"K30", "x":0, "y":3, "w":1.25}, + {"label":"K31", "x":1.25, "y":3}, + {"label":"K32", "x":2.25, "y":3}, + {"label":"K33", "x":3.25, "y":3}, + {"label":"K34", "x":4.25, "y":3}, + {"label":"K35", "x":5.25, "y":3}, + {"label":"K36", "x":6.25, "y":3}, + {"label":"K37", "x":7.25, "y":3}, + {"label":"K38", "x":8.25, "y":3}, + {"label":"K39", "x":9.25, "y":3}, + {"label":"K3A", "x":10.25, "y":3}, + {"label":"K3B", "x":11.25, "y":3}, + {"label":"K3D", "x":12.25, "y":3, "w":1.75}, + {"label":"K3E", "x":14, "y":3}, + + {"label":"K41", "x":1.5, "y":4}, + {"label":"K43", "x":2.5, "y":4, "w":1.5}, + {"label":"K46", "x":4, "y":4, "w":7}, + {"label":"K4B", "x":11, "y":4, "w":1.5}, + {"label":"K4D", "x":12.5, "y":4} + ] + }, + "LAYOUT_true_hhkb": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K04", "x":4, "y":0}, + {"label":"K05", "x":5, "y":0}, + {"label":"K06", "x":6, "y":0}, + {"label":"K07", "x":7, "y":0}, + {"label":"K08", "x":8, "y":0}, + {"label":"K09", "x":9, "y":0}, + {"label":"K0A", "x":10, "y":0}, + {"label":"K0B", "x":11, "y":0}, + {"label":"K0C", "x":12, "y":0}, + {"label":"K0D", "x":13, "y":0}, + {"label":"K0E", "x":14, "y":0}, + + {"label":"K10", "x":0, "y":1, "w":1.5}, + {"label":"K12", "x":1.5, "y":1}, + {"label":"K13", "x":2.5, "y":1}, + {"label":"K14", "x":3.5, "y":1}, + {"label":"K15", "x":4.5, "y":1}, + {"label":"K16", "x":5.5, "y":1}, + {"label":"K17", "x":6.5, "y":1}, + {"label":"K18", "x":7.5, "y":1}, + {"label":"K19", "x":8.5, "y":1}, + {"label":"K1A", "x":9.5, "y":1}, + {"label":"K1B", "x":10.5, "y":1}, + {"label":"K1C", "x":11.5, "y":1}, + {"label":"K1D", "x":12.5, "y":1}, + {"label":"K1E", "x":13.5, "y":1, "w":1.5}, + + {"label":"K20", "x":0, "y":2, "w":1.75}, + {"label":"K22", "x":1.75, "y":2}, + {"label":"K23", "x":2.75, "y":2}, + {"label":"K24", "x":3.75, "y":2}, + {"label":"K25", "x":4.75, "y":2}, + {"label":"K26", "x":5.75, "y":2}, + {"label":"K27", "x":6.75, "y":2}, + {"label":"K28", "x":7.75, "y":2}, + {"label":"K29", "x":8.75, "y":2}, + {"label":"K2A", "x":9.75, "y":2}, + {"label":"K2B", "x":10.75, "y":2}, + {"label":"K2C", "x":11.75, "y":2}, + {"label":"K2D", "x":12.75, "y":2, "w":2.25}, + + {"label":"K30", "x":0, "y":3, "w":1.25}, + {"label":"K31", "x":1.25, "y":3}, + {"label":"K32", "x":2.25, "y":3}, + {"label":"K33", "x":3.25, "y":3}, + {"label":"K34", "x":4.25, "y":3}, + {"label":"K35", "x":5.25, "y":3}, + {"label":"K36", "x":6.25, "y":3}, + {"label":"K37", "x":7.25, "y":3}, + {"label":"K38", "x":8.25, "y":3}, + {"label":"K39", "x":9.25, "y":3}, + {"label":"K3A", "x":10.25, "y":3}, + {"label":"K3B", "x":11.25, "y":3}, + {"label":"K3D", "x":12.25, "y":3, "w":1.75}, + {"label":"K3E", "x":14, "y":3}, + + {"label":"K41", "x":1.5, "y":4}, + {"label":"K43", "x":2.5, "y":4, "w":1.5}, + {"label":"K46", "x":4, "y":4, "w":6}, + {"label":"K4A", "x":10, "y":4, "w":1.5}, + {"label":"K4B", "x":11.5, "y":4} + ] + }, + "LAYOUT_directional": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K04", "x":4, "y":0}, + {"label":"K05", "x":5, "y":0}, + {"label":"K06", "x":6, "y":0}, + {"label":"K07", "x":7, "y":0}, + {"label":"K08", "x":8, "y":0}, + {"label":"K09", "x":9, "y":0}, + {"label":"K0A", "x":10, "y":0}, + {"label":"K0B", "x":11, "y":0}, + {"label":"K0C", "x":12, "y":0}, + {"label":"K0D", "x":13, "y":0}, + {"label":"K0E", "x":14, "y":0}, + + {"label":"K10", "x":0, "y":1, "w":1.5}, + {"label":"K12", "x":1.5, "y":1}, + {"label":"K13", "x":2.5, "y":1}, + {"label":"K14", "x":3.5, "y":1}, + {"label":"K15", "x":4.5, "y":1}, + {"label":"K16", "x":5.5, "y":1}, + {"label":"K17", "x":6.5, "y":1}, + {"label":"K18", "x":7.5, "y":1}, + {"label":"K19", "x":8.5, "y":1}, + {"label":"K1A", "x":9.5, "y":1}, + {"label":"K1B", "x":10.5, "y":1}, + {"label":"K1C", "x":11.5, "y":1}, + {"label":"K1D", "x":12.5, "y":1}, + {"label":"K1E", "x":13.5, "y":1, "w":1.5}, + + {"label":"K20", "x":0, "y":2, "w":1.75}, + {"label":"K22", "x":1.75, "y":2}, + {"label":"K23", "x":2.75, "y":2}, + {"label":"K24", "x":3.75, "y":2}, + {"label":"K25", "x":4.75, "y":2}, + {"label":"K26", "x":5.75, "y":2}, + {"label":"K27", "x":6.75, "y":2}, + {"label":"K28", "x":7.75, "y":2}, + {"label":"K29", "x":8.75, "y":2}, + {"label":"K2A", "x":9.75, "y":2}, + {"label":"K2B", "x":10.75, "y":2}, + {"label":"K2C", "x":11.75, "y":2}, + {"label":"K2D", "x":12.75, "y":2, "w":2.25}, + + {"label":"K30", "x":0, "y":3, "w":1.25}, + {"label":"K31", "x":1.25, "y":3}, + {"label":"K32", "x":2.25, "y":3}, + {"label":"K33", "x":3.25, "y":3}, + {"label":"K34", "x":4.25, "y":3}, + {"label":"K35", "x":5.25, "y":3}, + {"label":"K36", "x":6.25, "y":3}, + {"label":"K37", "x":7.25, "y":3}, + {"label":"K38", "x":8.25, "y":3}, + {"label":"K39", "x":9.25, "y":3}, + {"label":"K3A", "x":10.25, "y":3}, + {"label":"K3C", "x":11.25, "y":3, "w":1.75}, + {"label":"K3D", "x":13, "y":3}, + {"label":"K3E", "x":14, "y":3}, + + {"label":"K40", "x":0, "y":4, "w":1.25}, + {"label":"K41", "x":1.25, "y":4, "w":1.25}, + {"label":"K43", "x":2.5, "y":4, "w":1.25}, + {"label":"K44", "x":3.75, "y":4, "w":2.25}, + {"label":"K46", "x":6, "y":4, "w":1.25}, + {"label":"K48", "x":7.25, "y":4, "w":2.75}, + {"label":"K4A", "x":10, "y":4}, + {"label":"K4B", "x":11, "y":4}, + {"label":"K4C", "x":12, "y":4}, + {"label":"K4D", "x":13, "y":4}, + {"label":"K4E", "x":14, "y":4} + ] + }, + "LAYOUT_mitchsplit": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K04", "x":4, "y":0}, + {"label":"K05", "x":5, "y":0}, + {"label":"K06", "x":6, "y":0}, + {"label":"K07", "x":7, "y":0}, + {"label":"K08", "x":8, "y":0}, + {"label":"K09", "x":9, "y":0}, + {"label":"K0A", "x":10, "y":0}, + {"label":"K0B", "x":11, "y":0}, + {"label":"K0C", "x":12, "y":0}, + {"label":"K0E", "x":13, "y":0, "w":2}, + + {"label":"K10", "x":0, "y":1, "w":1.5}, + {"label":"K12", "x":1.5, "y":1}, + {"label":"K13", "x":2.5, "y":1}, + {"label":"K14", "x":3.5, "y":1}, + {"label":"K15", "x":4.5, "y":1}, + {"label":"K16", "x":5.5, "y":1}, + {"label":"K17", "x":6.5, "y":1}, + {"label":"K18", "x":7.5, "y":1}, + {"label":"K19", "x":8.5, "y":1}, + {"label":"K1A", "x":9.5, "y":1}, + {"label":"K1B", "x":10.5, "y":1}, + {"label":"K1C", "x":11.5, "y":1}, + {"label":"K1D", "x":12.5, "y":1}, + {"label":"K1E", "x":13.5, "y":1, "w":1.5}, + + {"label":"K20", "x":0, "y":2, "w":1.75}, + {"label":"K22", "x":1.75, "y":2}, + {"label":"K23", "x":2.75, "y":2}, + {"label":"K24", "x":3.75, "y":2}, + {"label":"K25", "x":4.75, "y":2}, + {"label":"K26", "x":5.75, "y":2}, + {"label":"K27", "x":6.75, "y":2}, + {"label":"K28", "x":7.75, "y":2}, + {"label":"K29", "x":8.75, "y":2}, + {"label":"K2A", "x":9.75, "y":2}, + {"label":"K2B", "x":10.75, "y":2}, + {"label":"K2C", "x":11.75, "y":2}, + {"label":"K2D", "x":12.75, "y":2, "w":2.25}, + + {"label":"K30", "x":0, "y":3, "w":2.25}, + {"label":"K32", "x":2.25, "y":3}, + {"label":"K33", "x":3.25, "y":3}, + {"label":"K34", "x":4.25, "y":3}, + {"label":"K35", "x":5.25, "y":3}, + {"label":"K36", "x":6.25, "y":3}, + {"label":"K37", "x":7.25, "y":3}, + {"label":"K38", "x":8.25, "y":3}, + {"label":"K39", "x":9.25, "y":3}, + {"label":"K3A", "x":10.25, "y":3}, + {"label":"K3B", "x":11.25, "y":3}, + {"label":"K3D", "x":12.25, "y":3, "w":1.75}, + {"label":"K3E", "x":14, "y":3}, + + {"label":"K40", "x":0, "y":4, "w":1.25}, + {"label":"K41", "x":1.25, "y":4, "w":1.25}, + {"label":"K43", "x":2.5, "y":4, "w":1.25}, + {"label":"K44", "x":3.75, "y":4, "w":2.75}, + {"label":"K46", "x":6.5, "y":4, "w":1.25}, + {"label":"K48", "x":7.75, "y":4, "w":2.25}, + {"label":"K4A", "x":10, "y":4, "w":1.25}, + {"label":"K4B", "x":11.25, "y":4, "w":1.25}, + {"label":"K4D", "x":12.5, "y":4, "w":1.25}, + {"label":"K4E", "x":13.75, "y":4, "w":1.25} + ] + } } - } } diff --git a/keyboards/acr60/keymaps/default/keymap.c b/keyboards/acr60/keymaps/default/keymap.c index aafc1dfe68fc..e7381c578316 100644 --- a/keyboards/acr60/keymaps/default/keymap.c +++ b/keyboards/acr60/keymaps/default/keymap.c @@ -1,67 +1,38 @@ -#include QMK_KEYBOARD_H - -#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) +/* Copyright 2017 Ryan Mitchell (@newtmitch) + * 2021 James Young for QMK (@noroadsleft) + * + * 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 . + */ -enum custom_keycodes { - SFT_ESC = SAFE_RANGE -}; +#include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - * Default keymap with standard 60% layout. Split space possible but entirely optional with this layout, as this - * layout covers all three split space keys as space keycodes. This also has alt right next to the space bar - * on both sides (Windows keyboard layout), no right-side system/GUI key, and momentary layer switching on - * the right modifiers into the 3rd (macro) and 2nd (function/sfx) layers, respectively. This also has the grave - * accent key set up on the 2nd layer, although on the first layer it includes grave key (tilde) when shift is held down, - * via the function actions code at the bottom. - */ - LAYOUT( - SFT_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_NO, 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_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(2), KC_NO, MO(1), KC_RCTL), - - LAYOUT( - 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_TRNS, KC_DEL, - KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [0] = LAYOUT_all( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXXXX, 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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), - LAYOUT( - KC_TRNS, M(1), M(2), M(3), M(4), M(5), M(6), M(7), M(8), M(9), M(10), M(11), M(12), KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case SFT_ESC: - if (record->event.pressed) { - if (get_mods() & MODS_SHIFT_MASK) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (get_mods() & MODS_SHIFT_MASK) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - - return false; - - default: - return true; - } -} diff --git a/keyboards/acr60/keymaps/mitch/keymap.c b/keyboards/acr60/keymaps/mitch/keymap.c index b7fcb5a04a8d..1567b1481324 100644 --- a/keyboards/acr60/keymaps/mitch/keymap.c +++ b/keyboards/acr60/keymaps/mitch/keymap.c @@ -11,8 +11,6 @@ #define GUIOFF MAGIC_NO_GUI #define GUION MAGIC_UNNO_GUI -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - /* TODO: create handy quick-ref list here for easy grokking of the actual shortcuts in place */ /* @@ -64,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * Hit MO(_FN) and Alt in that order to lock into the _FN layer. */ [_DFT] = LAYOUT_mitchsplit( /* Basic QWERTY */ - F(0), 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ KC_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, \ MO(_FN), 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(_FN), \ @@ -169,37 +167,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -} diff --git a/keyboards/acr60/readme.md b/keyboards/acr60/readme.md index 54ea265f1c9d..70b617dfdadf 100644 --- a/keyboards/acr60/readme.md +++ b/keyboards/acr60/readme.md @@ -1,18 +1,24 @@ -ACR60 -===== +# ACR60 ![acr60](https://cdn.shopify.com/s/files/1/1697/5323/products/20170522001035_1024x1024.jpg?v=1504725199) A customizable 60% keyboard made and sold by mechkeys.ca [More info on MECHKEYS](https://mechkeys.ca) -Keyboard Maintainer: [TurboMech](https://github.com/TurboMech) - -Hardware Supported: ACR60 - -Hardware Availability: [MECHKEYS](https://mechkeys.ca/products/acr60) +* Keyboard Maintainer: [TurboMech](https://github.com/TurboMech) +* Hardware Supported: ACR60 +* Hardware Availability: [~~MECHKEYS~~](https://mechkeys.ca/products/acr60) (no longer available) Make example for this keyboard (after setting up your build environment): make acr60:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +Flashing example for this keyboard: + + make acr60:default:flash + +To reset the board into bootloader mode, do one of the following: + +* Tap the Reset switch mounted on the bottom side of the PCB +* Hold Space+B while connecting the USB cable + +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/acr60/rules.mk b/keyboards/acr60/rules.mk index c1f1f22ba343..89557e4ea79b 100644 --- a/keyboards/acr60/rules.mk +++ b/keyboards/acr60/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/adelheid/config.h b/keyboards/adelheid/config.h index 1d944949ba29..fb57c3956509 100644 --- a/keyboards/adelheid/config.h +++ b/keyboards/adelheid/config.h @@ -182,23 +182,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/adelheid/rules.mk b/keyboards/adelheid/rules.mk index 77a8471e9064..8182e8c1e259 100644 --- a/keyboards/adelheid/rules.mk +++ b/keyboards/adelheid/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/adkb96/adkb96.c b/keyboards/adkb96/adkb96.c index 9a1c85a2ce47..93230ee00c55 100644 --- a/keyboards/adkb96/adkb96.c +++ b/keyboards/adkb96/adkb96.c @@ -2,7 +2,7 @@ #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}}, {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {7, 7}}, {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}, {7, 8}}, diff --git a/keyboards/adkb96/adkb96.h b/keyboards/adkb96/adkb96.h index 4b28775006d9..5a47f16aadcc 100644 --- a/keyboards/adkb96/adkb96.h +++ b/keyboards/adkb96/adkb96.h @@ -5,24 +5,3 @@ #ifdef KEYBOARD_adkb96_rev1 #include "rev1.h" #endif - - -// Used to create a keymap using only KC_ prefixed keys -#define LAYOUT_kc_ortho_6x16( \ - L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, R07, \ - L10, L11, L12, L13, L14, L15, L16, L17, R10, R11, R12, R13, R14, R15, R16, R17, \ - L20, L21, L22, L23, L24, L25, L26, L27, R20, R21, R22, R23, R24, R25, R26, R27, \ - L30, L31, L32, L33, L34, L35, L36, L37, R30, R31, R32, R33, R34, R35, R36, R37, \ - L40, L41, L42, L43, L44, L45, L46, L47, R40, R41, R42, R43, R44, R45, R46, R47, \ - L50, L51, L52, L53, L54, L55, L56, L57, R50, R51, R52, R53, R54, R55, R56, R57 \ - ) \ - LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##L06, KC_##L07, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, KC_##R06, KC_##R07, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##L16, KC_##L17, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, KC_##R16, KC_##R17, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##L26, KC_##L27, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, KC_##R26, KC_##R27, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##L37, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35, KC_##R36, KC_##R37, \ - KC_##L40, KC_##L41, KC_##L42, KC_##L43, KC_##L44, KC_##L45, KC_##L46, KC_##L47, KC_##R40, KC_##R41, KC_##R42, KC_##R43, KC_##R44, KC_##R45, KC_##R46, KC_##R47, \ - KC_##L50, KC_##L51, KC_##L52, KC_##L53, KC_##L54, KC_##L55, KC_##L56, KC_##L57, KC_##R50, KC_##R51, KC_##R52, KC_##R53, KC_##R54, KC_##R55, KC_##R56 ,KC_##R57 \ - ) - -#define LAYOUT_kc LAYOUT_kc_ortho_6x16 diff --git a/keyboards/adkb96/rev1/rev1.c b/keyboards/adkb96/rev1/rev1.c index 872a7e08ff08..594c5329943f 100644 --- a/keyboards/adkb96/rev1/rev1.c +++ b/keyboards/adkb96/rev1/rev1.c @@ -1,15 +1 @@ #include "adkb96.h" - -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; - diff --git a/keyboards/adkb96/rules.mk b/keyboards/adkb96/rules.mk index 95fbc1d48a0c..3447c55afa3f 100644 --- a/keyboards/adkb96/rules.mk +++ b/keyboards/adkb96/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/aeboards/aegis/rules.mk b/keyboards/aeboards/aegis/rules.mk index 8b7a0c7f0be2..95af6b05e5db 100644 --- a/keyboards/aeboards/aegis/rules.mk +++ b/keyboards/aeboards/aegis/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/aeboards/constellation/config.h b/keyboards/aeboards/constellation/config.h deleted file mode 100755 index f2e3f476b2e9..000000000000 --- a/keyboards/aeboards/constellation/config.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2018 Jason Williams (Wilba) - * - * 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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4145 // AE -#define PRODUCT_ID 0x065C // 65 - Constellation -#define DEVICE_VER 0x0001 -#define MANUFACTURER AEBoards -#define PRODUCT AEBoards Constellation - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 15 - -/* key matrix pins */ -#define MATRIX_ROW_PINS { B0, B1, F0, F1, F4 } -#define MATRIX_COL_PINS { E6, D5, B2, B3, D3, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 } -#define UNUSED_PINS - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE - -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/aeboards/constellation/constellation.c b/keyboards/aeboards/constellation/constellation.c index 75d3efe7aca2..0b8354d0715f 100755 --- a/keyboards/aeboards/constellation/constellation.c +++ b/keyboards/aeboards/constellation/constellation.c @@ -1,4 +1,5 @@ /* Copyright 2018 Jason Williams (Wilba) + * Copyright 2021 Harrison Chan (Xelus) * * 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 @@ -16,4 +17,4 @@ // Nothing to see here, move along... ;-) -#include "constellation.h" \ No newline at end of file +#include "constellation.h" diff --git a/keyboards/aeboards/constellation/constellation.h b/keyboards/aeboards/constellation/constellation.h index 53a95d5d8577..a467327712c8 100755 --- a/keyboards/aeboards/constellation/constellation.h +++ b/keyboards/aeboards/constellation/constellation.h @@ -1,4 +1,5 @@ /* Copyright 2018 Jason Williams (Wilba) + * Copyright 2021 Harrison Chan (Xelus) * * 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 @@ -18,18 +19,8 @@ #include "quantum.h" -#define ____ KC_NO - -#define LAYOUT_all( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \ - K400, K401, K402, K408, K409, K410, K412, K413, K414 \ -) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \ - { K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \ -} +#if defined(KEYBOARD_aeboards_constellation_rev1) + #include "rev1.h" +#elif defined(KEYBOARD_aeboards_constellation_rev2) + #include "rev2.h" +#endif diff --git a/keyboards/aeboards/constellation/rev1/config.h b/keyboards/aeboards/constellation/rev1/config.h new file mode 100755 index 000000000000..22dd96f663cd --- /dev/null +++ b/keyboards/aeboards/constellation/rev1/config.h @@ -0,0 +1,48 @@ +/* Copyright 2018 Jason Williams (Wilba) + * Copyright 2021 Harrison Chan (Xelus) + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4145 // AE +#define PRODUCT_ID 0x065C // 65 - Constellation +#define DEVICE_VER 0x0001 +#define MANUFACTURER AEBoards +#define PRODUCT AEBoards Constellation Rev1 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B0, B1, F0, F1, F4 } +#define MATRIX_COL_PINS { E6, D5, B2, B3, D3, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/aeboards/constellation/info.json b/keyboards/aeboards/constellation/rev1/info.json similarity index 100% rename from keyboards/aeboards/constellation/info.json rename to keyboards/aeboards/constellation/rev1/info.json diff --git a/keyboards/aeboards/constellation/rev1/readme.md b/keyboards/aeboards/constellation/rev1/readme.md new file mode 100755 index 000000000000..1102d83d32c9 --- /dev/null +++ b/keyboards/aeboards/constellation/rev1/readme.md @@ -0,0 +1,20 @@ +# CONSTELLATION REV1 + +A gasket 65% keyboard by [aeboards](https://aeboards.com/) + +* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) +* Hardware Supported: CONSTELLATION +* Hardware Availability: Custom keyboard group buys + +Make example for this keyboard (after setting up your build environment): + + make aeboards/constellation/rev1:default + +Reset your keyboard in 3 ways: +
    +
  1. Software reset on Fn + Backspace
  2. +
  3. Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard
  4. +
  5. Physical reset: on the back of the PCB, there is a ISP header which you should short the RST and GND together
  6. +
+ +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/aeboards/constellation/rev1/rev1.c b/keyboards/aeboards/constellation/rev1/rev1.c new file mode 100755 index 000000000000..6e8f0a11921d --- /dev/null +++ b/keyboards/aeboards/constellation/rev1/rev1.c @@ -0,0 +1,18 @@ +/* Copyright 2018 Jason Williams (Wilba) + * Copyright 2021 Harrison Chan (Xelus) + * + * 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 "rev1.h" diff --git a/keyboards/aeboards/constellation/rev1/rev1.h b/keyboards/aeboards/constellation/rev1/rev1.h new file mode 100755 index 000000000000..a2c65e9427ad --- /dev/null +++ b/keyboards/aeboards/constellation/rev1/rev1.h @@ -0,0 +1,36 @@ +/* Copyright 2018 Jason Williams (Wilba) + * Copyright 2021 Harrison Chan (Xelus) + * + * 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 "quantum.h" + +#define ____ KC_NO + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \ + K400, K401, K402, K408, K409, K410, K412, K413, K414 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \ + { K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \ +} diff --git a/keyboards/aeboards/constellation/rev1/rules.mk b/keyboards/aeboards/constellation/rev1/rules.mk new file mode 100755 index 000000000000..b22b64ba74fc --- /dev/null +++ b/keyboards/aeboards/constellation/rev1/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes diff --git a/keyboards/aeboards/constellation/rev2/config.h b/keyboards/aeboards/constellation/rev2/config.h new file mode 100755 index 000000000000..0780c9bf934c --- /dev/null +++ b/keyboards/aeboards/constellation/rev2/config.h @@ -0,0 +1,61 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4145 // AE +#define PRODUCT_ID 0x065C // 65 - Constellation +#define DEVICE_VER 0x0001 +#define MANUFACTURER AEBoards +#define PRODUCT AEBoards Constellation Rev2 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B15, A14, A2, B13, B14 } +#define MATRIX_COL_PINS { B12, A1, H0, C15, C14, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +// I2C setup +#define I2C1_SCL 8 +#define I2C1_SDA 9 +#define I2C1_SCL_PAL_MODE 4 +#define I2C1_SDA_PAL_MODE 4 +#define I2C1_TIMINGR_PRESC 0U +#define I2C1_TIMINGR_SCLDEL 11U +#define I2C1_TIMINGR_SDADEL 0U +#define I2C1_TIMINGR_SCLH 14U +#define I2C1_TIMINGR_SCLL 42U + +// I2C EEPROM +#define EEPROM_I2C_24LC64 diff --git a/keyboards/aeboards/constellation/rev2/halconf.h b/keyboards/aeboards/constellation/rev2/halconf.h new file mode 100644 index 000000000000..35cb84d8268d --- /dev/null +++ b/keyboards/aeboards/constellation/rev2/halconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next + diff --git a/keyboards/aeboards/constellation/rev2/info.json b/keyboards/aeboards/constellation/rev2/info.json new file mode 100644 index 000000000000..172ac4dfa2c7 --- /dev/null +++ b/keyboards/aeboards/constellation/rev2/info.json @@ -0,0 +1,85 @@ +{ + "keyboard_name": "Constellation", + "url": "", + "maintainer": "Xelus22", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + } + } +} diff --git a/keyboards/aeboards/constellation/rev2/mcuconf.h b/keyboards/aeboards/constellation/rev2/mcuconf.h new file mode 100644 index 000000000000..de8e38389e95 --- /dev/null +++ b/keyboards/aeboards/constellation/rev2/mcuconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/aeboards/constellation/rev2/readme.md b/keyboards/aeboards/constellation/rev2/readme.md new file mode 100755 index 000000000000..d0ae3a2157d6 --- /dev/null +++ b/keyboards/aeboards/constellation/rev2/readme.md @@ -0,0 +1,20 @@ +# CONSTELLATION REV2 + +A gasket 65% keyboard by [aeboards](https://aeboards.com/) + +* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) +* Hardware Supported: CONSTELLATION +* Hardware Availability: Custom keyboard group buys + +Make example for this keyboard (after setting up your build environment): + + make aeboards/constellation/rev2:default + +Reset your keyboard in 3 ways: +
    +
  1. Software reset on Fn + Backspace
  2. +
  3. Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard
  4. +
  5. Physical reset button: on the back of the PCB, there are 2 open pins which you can short, labelled RESET
  6. +
+ +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/aeboards/constellation/rev2/rev2.c b/keyboards/aeboards/constellation/rev2/rev2.c new file mode 100755 index 000000000000..7429f2f5f0d8 --- /dev/null +++ b/keyboards/aeboards/constellation/rev2/rev2.c @@ -0,0 +1,21 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * 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 "rev2.h" + +void matrix_io_delay(void) { + __asm__ volatile("nop\nnop\nnop\n"); +} diff --git a/keyboards/aeboards/constellation/rev2/rev2.h b/keyboards/aeboards/constellation/rev2/rev2.h new file mode 100755 index 000000000000..6a219f83596c --- /dev/null +++ b/keyboards/aeboards/constellation/rev2/rev2.h @@ -0,0 +1,35 @@ +/* Copyright 2021 Harrison Chan (Xelus) + * + * 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 "quantum.h" + +#define ____ KC_NO + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \ + K400, K401, K402, K408, K409, K410, K412, K413, K414 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \ + { K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \ +} diff --git a/keyboards/aeboards/constellation/rev2/rules.mk b/keyboards/aeboards/constellation/rev2/rules.mk new file mode 100755 index 000000000000..51d538fad469 --- /dev/null +++ b/keyboards/aeboards/constellation/rev2/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = STM32L422 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +EEPROM_DRIVER = i2c diff --git a/keyboards/aeboards/constellation/rules.mk b/keyboards/aeboards/constellation/rules.mk index 2a82012de5f6..bd2af5d22bf7 100755 --- a/keyboards/aeboards/constellation/rules.mk +++ b/keyboards/aeboards/constellation/rules.mk @@ -1,22 +1 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output -LTO_ENABLE = yes +DEFAULT_FOLDER = aeboards/constellation/rev1 diff --git a/keyboards/aeboards/ext65/keymaps/default/keymap.c b/keyboards/aeboards/ext65/keymaps/default/keymap.c index af753792538b..466b34539f90 100644 --- a/keyboards/aeboards/ext65/keymaps/default/keymap.c +++ b/keyboards/aeboards/ext65/keymaps/default/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void render_layer_state(void) { oled_write_ln(PSTR("LAYER"), false); diff --git a/keyboards/aeboards/ext65/keymaps/via/keymap.c b/keyboards/aeboards/ext65/keymaps/via/keymap.c index af753792538b..466b34539f90 100644 --- a/keyboards/aeboards/ext65/keymaps/via/keymap.c +++ b/keyboards/aeboards/ext65/keymaps/via/keymap.c @@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void render_layer_state(void) { oled_write_ln(PSTR("LAYER"), false); diff --git a/keyboards/aeboards/ext65/keymaps/via/rules.mk b/keyboards/aeboards/ext65/keymaps/via/rules.mk index 1e5b99807cb7..e9a8bec8798b 100644 --- a/keyboards/aeboards/ext65/keymaps/via/rules.mk +++ b/keyboards/aeboards/ext65/keymaps/via/rules.mk @@ -1 +1,3 @@ VIA_ENABLE = yes +OLED_ENABLE = yes +# OLED_DRIVER = not a real thing diff --git a/keyboards/aeboards/ext65/rev1/rules.mk b/keyboards/aeboards/ext65/rev1/rules.mk index 05abcb68fb9f..95af6b05e5db 100644 --- a/keyboards/aeboards/ext65/rev1/rules.mk +++ b/keyboards/aeboards/ext65/rev1/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/aeboards/ext65/rev2/config.h b/keyboards/aeboards/ext65/rev2/config.h index 541f07ee986b..778fc3ea6ce7 100644 --- a/keyboards/aeboards/ext65/rev2/config.h +++ b/keyboards/aeboards/ext65/rev2/config.h @@ -51,6 +51,8 @@ along with this program. If not, see . //SPI #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 #define WS2812_EXTERNAL_PULLUP // I2C OLED defines @@ -74,3 +76,5 @@ along with this program. If not, see . #define BACKLIGHT_LEVELS 6 #define BACKLIGHT_BREATHING #define BREATHING_PERIOD 6 + +#define SLEEP_LED_GPT_DRIVER GPTD1 diff --git a/keyboards/aeboards/ext65/rev2/halconf.h b/keyboards/aeboards/ext65/rev2/halconf.h index 6e2f536400ac..9fa1eca60bec 100644 --- a/keyboards/aeboards/ext65/rev2/halconf.h +++ b/keyboards/aeboards/ext65/rev2/halconf.h @@ -27,5 +27,7 @@ #define HAL_USE_SPI TRUE +#define HAL_USE_GPT TRUE + #include_next diff --git a/keyboards/aeboards/ext65/rev2/mcuconf.h b/keyboards/aeboards/ext65/rev2/mcuconf.h index 26ce8061509e..43d53d4f2dd4 100644 --- a/keyboards/aeboards/ext65/rev2/mcuconf.h +++ b/keyboards/aeboards/ext65/rev2/mcuconf.h @@ -32,3 +32,5 @@ #undef STM32_SPI_USE_SPI2 #define STM32_SPI_USE_SPI2 TRUE +#undef STM32_GPT_USE_TIM1 +#define STM32_GPT_USE_TIM1 TRUE diff --git a/keyboards/aeboards/ext65/rev2/rev2.c b/keyboards/aeboards/ext65/rev2/rev2.c index 5d7658101eb4..ce16eb4c4881 100644 --- a/keyboards/aeboards/ext65/rev2/rev2.c +++ b/keyboards/aeboards/ext65/rev2/rev2.c @@ -3,7 +3,7 @@ // Tested and verified working on ext65rev2 void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void board_init(void) { SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); diff --git a/keyboards/aeboards/ext65/rev2/rules.mk b/keyboards/aeboards/ext65/rev2/rules.mk index 78d1e586ad35..4e3d217dbbbf 100644 --- a/keyboards/aeboards/ext65/rev2/rules.mk +++ b/keyboards/aeboards/ext65/rev2/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c b/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c index 099d9b1ab36c..61db52392eb6 100644 --- a/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c +++ b/keyboards/afternoonlabs/breeze/keymaps/eithanshavit/keymap.c @@ -70,4 +70,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ ) -}; \ No newline at end of file +}; diff --git a/keyboards/afternoonlabs/breeze/rev0/rules.mk b/keyboards/afternoonlabs/breeze/rev0/rules.mk index f73350f58902..64710a26f0e7 100644 --- a/keyboards/afternoonlabs/breeze/rev0/rules.mk +++ b/keyboards/afternoonlabs/breeze/rev0/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/afternoonlabs/breeze/rev1/config.h b/keyboards/afternoonlabs/breeze/rev1/config.h index c3b9b9063f0c..383a16d4554f 100644 --- a/keyboards/afternoonlabs/breeze/rev1/config.h +++ b/keyboards/afternoonlabs/breeze/rev1/config.h @@ -1,4 +1,4 @@ -/* Copyright 2021 eithanshavit +/* Copyright 2021 Afternoon Labs * * 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/afternoonlabs/breeze/rev1/readme.md b/keyboards/afternoonlabs/breeze/rev1/readme.md index 9d845f6f37b9..604d95f2528d 100644 --- a/keyboards/afternoonlabs/breeze/rev1/readme.md +++ b/keyboards/afternoonlabs/breeze/rev1/readme.md @@ -4,9 +4,9 @@ Split ergonomics meets productivity. Breeze Rev1 is a split keyboard with 6×4 keys, 4 key thumb cluster, arrow keys, and a 6 key macro cluster, with ortholinear column-staggered. -* Keyboard Maintainer: [Eithan Shavit](https://github.com/eithanshavit) +* Keyboard Maintainer: [AfternoonLabs](https://github.com/afternoonlabs) * Hardware Supported: Breeze Rev1 PCB -* Hardware Availability: Coming soon +* Hardware Availability: [store.afternoonlab.com](https://store.afternoonlabs.com) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/afternoonlabs/breeze/rev1/rules.mk b/keyboards/afternoonlabs/breeze/rev1/rules.mk index d1847482f64d..644161a8e428 100644 --- a/keyboards/afternoonlabs/breeze/rev1/rules.mk +++ b/keyboards/afternoonlabs/breeze/rev1/rules.mk @@ -8,9 +8,9 @@ BOOTLOADER = caterina # change yes to no to disable # SPLIT_KEYBOARD = yes -BOOTMAGIC_ENABLE = lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE diff --git a/keyboards/afternoonlabs/gust/keymaps/default/keymap.c b/keyboards/afternoonlabs/gust/keymaps/default/keymap.c index 33bd13f8607e..ae5fb39592fa 100644 --- a/keyboards/afternoonlabs/gust/keymaps/default/keymap.c +++ b/keyboards/afternoonlabs/gust/keymaps/default/keymap.c @@ -27,7 +27,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌─────────┬─────────┬─────────┐ KC_1, KC_2, KC_3, //├─────────┼─────────┼─────────┤ - KC_4, KC_5, KC_6 + KC_4, KC_5, KC_6, + //├─────────┼─────────┼─────────┤ + + //├─────────┼─────────┼─────────┤ + KC_7, KC_8, KC_9 //└─────────┴─────────┴─────────┘ ) diff --git a/keyboards/afternoonlabs/gust/keymaps/default/readme.md b/keyboards/afternoonlabs/gust/keymaps/default/readme.md index 290eae23e48f..2a22d53a434e 100644 --- a/keyboards/afternoonlabs/gust/keymaps/default/readme.md +++ b/keyboards/afternoonlabs/gust/keymaps/default/readme.md @@ -1,5 +1,5 @@ # Default Gust Layout -![Gust Layout Image](https://i.imgur.com/S94jViT.jpeg) +![Gust Layout Image](https://i.imgur.com/HfouVnS.png) This is the default layout for Gust Macro Board. diff --git a/keyboards/afternoonlabs/gust/rev1/config.h b/keyboards/afternoonlabs/gust/rev1/config.h index 646f21dcc561..650b98c1b801 100644 --- a/keyboards/afternoonlabs/gust/rev1/config.h +++ b/keyboards/afternoonlabs/gust/rev1/config.h @@ -25,11 +25,11 @@ /* key matrix size */ // Rows are doubled-up -#define MATRIX_ROWS 2 +#define MATRIX_ROWS 3 #define MATRIX_COLS 3 // wiring of each half -#define MATRIX_ROW_PINS { F5, F4 } +#define MATRIX_ROW_PINS { F5, F4, D0 } #define MATRIX_COL_PINS { D1, D2, D3 } /* Set 0 if debouncing isn't needed */ diff --git a/keyboards/afternoonlabs/gust/rev1/info.json b/keyboards/afternoonlabs/gust/rev1/info.json index 376cb265b69f..ae742687ce54 100644 --- a/keyboards/afternoonlabs/gust/rev1/info.json +++ b/keyboards/afternoonlabs/gust/rev1/info.json @@ -31,6 +31,18 @@ { "x": 2, "y": 1 + }, + { + "x": 0, + "y": 3 + }, + { + "x": 1, + "y": 3 + }, + { + "x": 2, + "y": 3 } ] } diff --git a/keyboards/afternoonlabs/gust/rev1/readme.md b/keyboards/afternoonlabs/gust/rev1/readme.md index f72e5cc6b9b4..9192d1a35bd7 100644 --- a/keyboards/afternoonlabs/gust/rev1/readme.md +++ b/keyboards/afternoonlabs/gust/rev1/readme.md @@ -2,11 +2,11 @@ ![Gust](https://i.imgur.com/S94jViT.jpeg) -Gust Macro Board is a simple 6 key cluster that comes as a free bonus with the [Breeze Split Keyboard](https://afternoonlabs.com/breeze). +Gust Macro Board is a simple 3x3 key macro board. The bottom row can be snapped off to get a 2x3 board. Gust comes as a free bonus with the [Breeze Split Keyboard](https://afternoonlabs.com/breeze). -* Keyboard Maintainer: [Eithan Shavit](https://github.com/eithanshavit) +* Keyboard Maintainer: [Afternoon Labs](https://github.com/afternoonlabs) * Hardware Supported: Gust Rev1 PCB -* Hardware Availability: Coming soon +* Hardware Availability: [store.afternoonlab.com](https://store.afternoonlabs.com) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/afternoonlabs/gust/rev1/rev1.h b/keyboards/afternoonlabs/gust/rev1/rev1.h index 97f75cef8059..22c1910a1f4d 100644 --- a/keyboards/afternoonlabs/gust/rev1/rev1.h +++ b/keyboards/afternoonlabs/gust/rev1/rev1.h @@ -22,9 +22,11 @@ #define LAYOUT( \ M00, M01, M02, \ - M10, M11, M12 \ + M10, M11, M12, \ + M20, M21, M22 \ ) \ { \ { M00, M01, M02 }, \ - { M10, M11, M12 } \ + { M10, M11, M12 }, \ + { M20, M21, M22 } \ } diff --git a/keyboards/afternoonlabs/gust/rev1/rules.mk b/keyboards/afternoonlabs/gust/rev1/rules.mk index eb0a77dceda3..68aa0c485dd8 100644 --- a/keyboards/afternoonlabs/gust/rev1/rules.mk +++ b/keyboards/afternoonlabs/gust/rev1/rules.mk @@ -7,9 +7,9 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE @@ -19,4 +19,4 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/afternoonlabs/oceanbreeze/config.h b/keyboards/afternoonlabs/oceanbreeze/config.h new file mode 100644 index 000000000000..1197fa225740 --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/config.h @@ -0,0 +1,22 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "config_common.h" + +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/afternoonlabs/oceanbreeze/keymaps/default/keymap.c b/keyboards/afternoonlabs/oceanbreeze/keymaps/default/keymap.c new file mode 100644 index 000000000000..73d0dda0f3e8 --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/keymaps/default/keymap.c @@ -0,0 +1,71 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 { + _MAIN, + _LOWER, + _RAISE, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, 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_DEL, KC_LBRC, KC_RBRC, KC_BSLS, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DOWN, KC_RIGHT, + //└────────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, + //└────────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ) +}; diff --git a/keyboards/afternoonlabs/oceanbreeze/keymaps/default/readme.md b/keyboards/afternoonlabs/oceanbreeze/keymaps/default/readme.md new file mode 100644 index 000000000000..109b0f5e7757 --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/keymaps/default/readme.md @@ -0,0 +1,5 @@ +# Default Ocean Breeze Layout + +![Ocean Breeze Layout Image](https://i.imgur.com/cXGLDVQ.png) + +This is the default suggested layout for Ocean Breeze Split Keyboard. diff --git a/keyboards/afternoonlabs/oceanbreeze/oceanbreeze.c b/keyboards/afternoonlabs/oceanbreeze/oceanbreeze.c new file mode 100644 index 000000000000..35268ecf6f59 --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/oceanbreeze.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "oceanbreeze.h" diff --git a/keyboards/afternoonlabs/oceanbreeze/oceanbreeze.h b/keyboards/afternoonlabs/oceanbreeze/oceanbreeze.h new file mode 100644 index 000000000000..f51f55de130e --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/oceanbreeze.h @@ -0,0 +1,21 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 + +#ifdef KEYBOARD_afternoonlabs_oceanbreeze_rev1 +# include "rev1.h" +#endif diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/config.h b/keyboards/afternoonlabs/oceanbreeze/rev1/config.h new file mode 100644 index 000000000000..6afe6b54e872 --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/rev1/config.h @@ -0,0 +1,49 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x616C +#define PRODUCT_ID 0x0003 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AfternoonLabs +#define PRODUCT OceanBreeze + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 12 +#define MATRIX_COLS 9 + +// wiring of each half +#define MATRIX_ROW_PINS \ + { F4, F5, F6, F7, B1, B6 } +#define MATRIX_COL_PINS \ + { B2, D1, D0, D4, C6, D7, E6, B4, B5 } + +#define SPLIT_HAND_PIN B3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define SOFT_SERIAL_PIN D2 + +#define DIODE_DIRECTION COL2ROW + +#define BOOTMAGIC_LITE_ROW_RIGHT 0 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 +#define BOOTMAGIC_LITE_ROW_LEFT 0 +#define BOOTMAGIC_LITE_COLUMN_LEFT 5 diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/info.json b/keyboards/afternoonlabs/oceanbreeze/rev1/info.json new file mode 100644 index 000000000000..db7d533d1252 --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/rev1/info.json @@ -0,0 +1,86 @@ +{ + "keyboard_name": "OceanBreeze", + "url": "afternoonlabs.com", + "productId": "0x0003", + "maintainer": "afternoonlabs", + "width": 19, + "height": 6, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.375}, + {"x":1, "y":0.375}, + {"x":2, "y":0.125}, + {"x":3, "y":0}, + {"x":4, "y":0.125}, + {"x":5, "y":0.25}, + {"x":9.75, "y":0.25}, + {"x":10.75, "y":0.125}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0.125}, + {"x":13.75, "y":0.375}, + {"x":14.75, "y":0.375}, + {"x":16, "y":0.375}, + {"x":17, "y":0.375}, + {"x":18, "y":0.375}, + + {"x":0, "y":1.375}, + {"x":1, "y":1.375}, + {"x":2, "y":1.125}, + {"x":3, "y":1}, + {"x":4, "y":1.125}, + {"x":5, "y":1.25}, + {"x":9.75, "y":1.25}, + {"x":10.75, "y":1.125}, + {"x":11.75, "y":1}, + {"x":12.75, "y":1.125}, + {"x":13.75, "y":1.375}, + {"x":14.75, "y":1.375}, + {"x":16, "y":1.375}, + {"x":17, "y":1.375}, + {"x":18, "y":1.375}, + + {"x":0, "y":2.375}, + {"x":1, "y":2.375}, + {"x":2, "y":2.125}, + {"x":3, "y":2}, + {"x":4, "y":2.125}, + {"x":5, "y":2.25}, + {"x":9.75, "y":2.25}, + {"x":10.75, "y":2.125}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2.125}, + {"x":13.75, "y":2.375}, + {"x":14.75, "y":2.375}, + {"x":17, "y":2.375}, + + {"x":0, "y":3.375}, + {"x":1, "y":3.375}, + {"x":2, "y":3.125}, + {"x":3, "y":3}, + {"x":4, "y":3.125}, + {"x":5, "y":3.25}, + {"x":6.25, "y":3.75}, + {"x":8.5, "y":3.75}, + {"x":9.75, "y":3.25}, + {"x":10.75, "y":3.125}, + {"x":11.75, "y":3}, + {"x":12.75, "y":3.125}, + {"x":13.75, "y":3.375}, + {"x":14.75, "y":3.375}, + {"x":16, "y":3.375}, + {"x":17, "y":3.375}, + {"x":18, "y":3.375}, + + {"x":2.5, "y":4.25}, + {"x":3.5, "y":4.25}, + {"x":4.5, "y":4.5}, + {"x":6.25, "y":4.75}, + {"x":8.5, "y":4.75}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.25}, + {"x":12.25, "y":4.25} + ] + } + } +} diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/readme.md b/keyboards/afternoonlabs/oceanbreeze/rev1/readme.md new file mode 100644 index 000000000000..0b82913c4bfd --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/rev1/readme.md @@ -0,0 +1,15 @@ +# Breeze + +![Ocean Breeze Layout Image](https://i.imgur.com/cXGLDVQ.png) + +Special Edition of the [Breeze](https://afternoonlabs.com). This one has two 1Us instead of the larger 2U on the thumb cluster. + +* Keyboard Maintainer: [AfternoonLabs](https://github.com/afternoonlabs) +* Hardware Supported: Ocean Breeze Rev1 PCB +* Hardware Availability: [store.afternoonlab.com](https://store.afternoonlabs.com) + +Make example for this keyboard (after setting up your build environment): + + make afternoonlabs/oceanbreeze/rev1: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). diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/rev1.c b/keyboards/afternoonlabs/oceanbreeze/rev1/rev1.c new file mode 100644 index 000000000000..35268ecf6f59 --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/rev1/rev1.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "oceanbreeze.h" diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/rev1.h b/keyboards/afternoonlabs/oceanbreeze/rev1/rev1.h new file mode 100644 index 000000000000..36de22ec1897 --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/rev1/rev1.h @@ -0,0 +1,44 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "oceanbreeze.h" + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, MC0, MC1, MC2, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, MC3, MC4, MC5, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, AUP, \ + L30, L31, L32, L33, L34, L35, LT4, RT1, R30, R31, R32, R33, R34, R35, ALT, ADN, ART, \ + LT0, LT1, LT2, LT3, RT2, RT3, RT4, RT5 \ +) { \ + { L05, L04, L03, L02, L01, L00, XXX, XXX, XXX }, \ + { L15, L14, L13, L12, L11, L10, XXX, XXX, XXX }, \ + { L25, L24, L23, L22, L21, L20, XXX, XXX, XXX }, \ + { L35, L34, L33, L32, L31, L30, XXX, XXX, XXX }, \ + { LT3, LT2, LT1, LT0, XXX, XXX, XXX, XXX, XXX }, \ + { LT4, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ + { R00, R01, R02, R03, R04, R05, MC0, MC1, MC2 }, \ + { R10, R11, R12, R13, R14, R15, MC3, MC4, MC5 }, \ + { R20, R21, R22, R23, R24, R25, XXX, AUP, XXX }, \ + { R30, R31, R32, R33, R34, R35, ALT, ADN, ART }, \ + { RT2, RT3, RT4, RT5, XXX, XXX, XXX, XXX, XXX }, \ + { RT1, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \ +} diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/rules.mk b/keyboards/afternoonlabs/oceanbreeze/rev1/rules.mk new file mode 100644 index 000000000000..1c2532aafd9f --- /dev/null +++ b/keyboards/afternoonlabs/oceanbreeze/rev1/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/afternoonlabs/southern_breeze/config.h b/keyboards/afternoonlabs/southern_breeze/config.h new file mode 100644 index 000000000000..1197fa225740 --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/config.h @@ -0,0 +1,22 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "config_common.h" + +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/default/keymap.c b/keyboards/afternoonlabs/southern_breeze/keymaps/default/keymap.c new file mode 100644 index 000000000000..5dbc6139a5fe --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/keymaps/default/keymap.c @@ -0,0 +1,72 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 { + _MAIN, + _LOWER, + _RAISE, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_MINS, KC_EQL, KC_GRV, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LBRC, KC_RBRC, KC_BSLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_UP, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LEFT, KC_DOWN, KC_RIGHT, 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_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_MUTE, KC_VOLD, KC_VOLU, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + +}; diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/default/readme.md b/keyboards/afternoonlabs/southern_breeze/keymaps/default/readme.md new file mode 100644 index 000000000000..1a9ec11fdcaa --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# Default Southern Breeze Layout + +This is the default suggested layout for the Southern Breeze Split Keyboard (with the arrow cluster on the left half). diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/default/rules.mk b/keyboards/afternoonlabs/southern_breeze/keymaps/default/rules.mk new file mode 100644 index 000000000000..51cdf0b040ff --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/keymaps/default/rules.mk @@ -0,0 +1,9 @@ +# LTO: link time optimization makes the build take slightly longer +# but makes the resulting .hex file smaller, which allows you to +# fit more features into smaller MCUs: +LTO_ENABLE = yes +# Support for these features make the hex file larger, but we want 'em: +MOUSEKEY_ENABLE = yes # Allow mapping of mouse control keys +EXTRAKEY_ENABLE = yes # Allow audio & system control keys +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Support USB N-key roll over. diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c b/keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c new file mode 100644 index 000000000000..691d52315ca7 --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c @@ -0,0 +1,86 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 { + _MAIN, + _LOWER, + _RAISE, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_MINS, KC_EQL, KC_GRV, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LBRC, KC_RBRC, KC_BSLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_UP, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LEFT, KC_DOWN, KC_RIGHT, 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_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_MUTE, KC_VOLD, KC_VOLU, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [3] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ) + +}; diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/via/readme.md b/keyboards/afternoonlabs/southern_breeze/keymaps/via/readme.md new file mode 100644 index 000000000000..1a9ec11fdcaa --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/keymaps/via/readme.md @@ -0,0 +1,3 @@ +# Default Southern Breeze Layout + +This is the default suggested layout for the Southern Breeze Split Keyboard (with the arrow cluster on the left half). diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/via/rules.mk b/keyboards/afternoonlabs/southern_breeze/keymaps/via/rules.mk new file mode 100644 index 000000000000..5b5de19eedbf --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/keymaps/via/rules.mk @@ -0,0 +1,10 @@ +VIA_ENABLE = yes +# LTO: link time optimization makes the build take slightly longer +# but makes the resulting .hex file smaller, which allows you to +# fit more features into smaller MCUs: +LTO_ENABLE = yes +# Support for these features make the hex file larger, but we want 'em: +MOUSEKEY_ENABLE = yes # Allow mapping of mouse control keys +EXTRAKEY_ENABLE = yes # Allow audio & system control keys +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Support USB N-key roll over. diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/config.h b/keyboards/afternoonlabs/southern_breeze/rev1/config.h new file mode 100644 index 000000000000..e1533a6fa0d2 --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/rev1/config.h @@ -0,0 +1,49 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x616C +#define PRODUCT_ID 0x0005 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AfternoonLabs +#define PRODUCT Southern Breeze + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 9 + +// wiring of each half +#define MATRIX_ROW_PINS \ + { F4, F5, F6, F7, B1 } +#define MATRIX_COL_PINS \ + { B2, D1, D0, D4, C6, D7, E6, B4, B5 } + +#define SPLIT_HAND_PIN B3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define SOFT_SERIAL_PIN D2 + +#define DIODE_DIRECTION COL2ROW + +#define BOOTMAGIC_LITE_ROW_RIGHT 0 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 +#define BOOTMAGIC_LITE_ROW_LEFT 0 +#define BOOTMAGIC_LITE_COLUMN_LEFT 5 diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/info.json b/keyboards/afternoonlabs/southern_breeze/rev1/info.json new file mode 100644 index 000000000000..2e88c278670a --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/rev1/info.json @@ -0,0 +1,84 @@ +{ + "keyboard_name": "Southern Breeze", + "url": "afternoonlabs.com/breeze", + "productId": "0x0005", + "maintainer": "eithanshavit", + "width": 19, + "height": 6, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.375}, + {"x":1, "y":0.375}, + {"x":2, "y":0.375}, + {"x":3.25, "y":0.375}, + {"x":4.25, "y":0.375}, + {"x":5.25, "y":0.125}, + {"x":6.25, "y":0}, + {"x":7.25, "y":0.125}, + {"x":8.25, "y":0.25}, + {"x":13, "y":0.25}, + {"x":14, "y":0.125}, + {"x":15, "y":0}, + {"x":16, "y":0.125}, + {"x":17, "y":0.375}, + {"x":18, "y":0.375}, + + {"x":0, "y":1.375}, + {"x":1, "y":1.375}, + {"x":2, "y":1.375}, + {"x":3.25, "y":1.375}, + {"x":4.25, "y":1.375}, + {"x":5.25, "y":1.125}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1.125}, + {"x":8.25, "y":1.25}, + {"x":13, "y":1.25}, + {"x":14, "y":1.125}, + {"x":15, "y":1}, + {"x":16, "y":1.125}, + {"x":17, "y":1.375}, + {"x":18, "y":1.375}, + + {"x":1, "y":2.375}, + {"x":3.25, "y":2.375}, + {"x":4.25, "y":2.375}, + {"x":5.25, "y":2.125}, + {"x":6.25, "y":2}, + {"x":7.25, "y":2.125}, + {"x":8.25, "y":2.25}, + {"x":13, "y":2.25}, + {"x":14, "y":2.125}, + {"x":15, "y":2}, + {"x":16, "y":2.125}, + {"x":17, "y":2.375}, + {"x":18, "y":2.375}, + + {"x":0, "y":3.375}, + {"x":1, "y":3.375}, + {"x":2, "y":3.375}, + {"x":3.25, "y":3.375}, + {"x":4.25, "y":3.375}, + {"x":5.25, "y":3.125}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3.125}, + {"x":8.25, "y":3.25}, + {"x":13, "y":3.25}, + {"x":14, "y":3.125}, + {"x":15, "y":3}, + {"x":16, "y":3.125}, + {"x":17, "y":3.375}, + {"x":18, "y":3.375}, + + {"x":5.75, "y":4.25}, + {"x":6.75, "y":4.25}, + {"x":7.75, "y":4.5}, + {"x":9.5, "y":3.75, "h":2, "r":30}, + {"x":11.75, "y":3.75, "h":2, "r":-30}, + {"x":13.5, "y":4.5}, + {"x":14.5, "y":4.25}, + {"x":15.5, "y":4.25} + ] + } + } +} diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/readme.md b/keyboards/afternoonlabs/southern_breeze/rev1/readme.md new file mode 100644 index 000000000000..bb81a2a441c9 --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/rev1/readme.md @@ -0,0 +1,15 @@ +# Southern Breeze + +![Breeze](https://i.imgur.com/O8FJWD6.jpeg) + +Split ergonomics meets productivity. Southern Breeze Rev1 is a split keyboard with 6×4 keys, 4 key thumb cluster, arrow keys, and a 6 key macro cluster, with ortholinear column-staggered. + +* Keyboard Maintainer: [Eithan Shavit](https://github.com/eithanshavit) +* Hardware Supported: Breeze Rev1 PCB +* Hardware Availability: Coming soon + +Make example for this keyboard (after setting up your build environment): + + make afternoonlabs/southern_breeze/rev1: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). diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/rev1.c b/keyboards/afternoonlabs/southern_breeze/rev1/rev1.c new file mode 100644 index 000000000000..65597253e4cb --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/rev1/rev1.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "rev1.h" diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/rev1.h b/keyboards/afternoonlabs/southern_breeze/rev1/rev1.h new file mode 100644 index 000000000000..eeecc06308cb --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/rev1/rev1.h @@ -0,0 +1,41 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "southern_breeze.h" + +#include "quantum.h" + +#define LAYOUT( \ + LW00, LW01, LW02, L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + LW10, LW11, LW12, L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + LWUP, L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + LWLT, LWDN, LWRT, L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ + LT0, LT1, LT2, LT3, RT0, RT1, RT2, RT3 \ +) \ +{ \ + { L05, L04, L03, L02, L01, L00, LW02, LW01, LW00 }, \ + { L15, L14, L13, L12, L11, L10, LW12, LW11, LW10 }, \ + { L25, L24, L23, L22, L21, L20, KC_NO, LWUP, KC_NO }, \ + { L35, L34, L33, L32, L31, L30, LWRT, LWDN, LWLT }, \ + { LT3, LT2, LT1, LT0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { R00, R01, R02, R03, R04, R05, KC_NO, KC_NO, KC_NO }, \ + { R10, R11, R12, R13, R14, R15, KC_NO, KC_NO, KC_NO }, \ + { R20, R21, R22, R23, R24, R25, KC_NO, KC_NO, KC_NO }, \ + { R30, R31, R32, R33, R34, R35, KC_NO, KC_NO, KC_NO }, \ + { RT0, RT1, RT2, RT3, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ +} diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/rules.mk b/keyboards/afternoonlabs/southern_breeze/rev1/rules.mk new file mode 100644 index 000000000000..64710a26f0e7 --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/rev1/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/afternoonlabs/southern_breeze/southern_breeze.c b/keyboards/afternoonlabs/southern_breeze/southern_breeze.c new file mode 100644 index 000000000000..cac867cafa33 --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/southern_breeze.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "southern_breeze.h" diff --git a/keyboards/afternoonlabs/southern_breeze/southern_breeze.h b/keyboards/afternoonlabs/southern_breeze/southern_breeze.h new file mode 100644 index 000000000000..a6923d6b1ef0 --- /dev/null +++ b/keyboards/afternoonlabs/southern_breeze/southern_breeze.h @@ -0,0 +1,21 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 + +#ifdef KEYBOARD_afternoonlabs_southern_breeze_rev1 +# include "rev1.h" +#endif diff --git a/keyboards/afternoonlabs/summer_breeze/config.h b/keyboards/afternoonlabs/summer_breeze/config.h new file mode 100644 index 000000000000..1197fa225740 --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/config.h @@ -0,0 +1,22 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "config_common.h" + +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c b/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c new file mode 100644 index 000000000000..481c6c01d6c5 --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/keymaps/default/keymap.c @@ -0,0 +1,71 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 { + _MAIN, + _LOWER, + _RAISE, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + _______, KC_WH_U, _______, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_BTN1, KC_WH_D, KC_BTN2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_MS_U, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_MS_L, KC_MS_D, KC_MS_R, 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_LEFT, KC_DOWN, KC_RIGHT, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), +}; diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/default/readme.md b/keyboards/afternoonlabs/summer_breeze/keymaps/default/readme.md new file mode 100644 index 000000000000..88c49403de98 --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# Default Summer Breeze Layout + +This is the default suggested layout for the Summer Breeze Split Keyboard (with both arrow clusters). diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/default/rules.mk b/keyboards/afternoonlabs/summer_breeze/keymaps/default/rules.mk new file mode 100644 index 000000000000..51cdf0b040ff --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/keymaps/default/rules.mk @@ -0,0 +1,9 @@ +# LTO: link time optimization makes the build take slightly longer +# but makes the resulting .hex file smaller, which allows you to +# fit more features into smaller MCUs: +LTO_ENABLE = yes +# Support for these features make the hex file larger, but we want 'em: +MOUSEKEY_ENABLE = yes # Allow mapping of mouse control keys +EXTRAKEY_ENABLE = yes # Allow audio & system control keys +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Support USB N-key roll over. diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c b/keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c new file mode 100644 index 000000000000..3fe1a033fde4 --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c @@ -0,0 +1,86 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 { + _MAIN, + _LOWER, + _RAISE, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + _______, KC_WH_U, _______, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_BTN1, KC_WH_D, KC_BTN2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_MS_U, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + KC_MS_L, KC_MS_D, KC_MS_R, 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_LEFT, KC_DOWN, KC_RIGHT, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_LOWER] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [_RAISE] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ), + + [3] = LAYOUT( + //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘ + ) + +}; diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/via/readme.md b/keyboards/afternoonlabs/summer_breeze/keymaps/via/readme.md new file mode 100644 index 000000000000..88c49403de98 --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/keymaps/via/readme.md @@ -0,0 +1,3 @@ +# Default Summer Breeze Layout + +This is the default suggested layout for the Summer Breeze Split Keyboard (with both arrow clusters). diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/via/rules.mk b/keyboards/afternoonlabs/summer_breeze/keymaps/via/rules.mk new file mode 100644 index 000000000000..5b5de19eedbf --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/keymaps/via/rules.mk @@ -0,0 +1,10 @@ +VIA_ENABLE = yes +# LTO: link time optimization makes the build take slightly longer +# but makes the resulting .hex file smaller, which allows you to +# fit more features into smaller MCUs: +LTO_ENABLE = yes +# Support for these features make the hex file larger, but we want 'em: +MOUSEKEY_ENABLE = yes # Allow mapping of mouse control keys +EXTRAKEY_ENABLE = yes # Allow audio & system control keys +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Support USB N-key roll over. diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/config.h b/keyboards/afternoonlabs/summer_breeze/rev1/config.h new file mode 100644 index 000000000000..86c40389aa8c --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/rev1/config.h @@ -0,0 +1,49 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x616C +#define PRODUCT_ID 0x0004 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AfternoonLabs +#define PRODUCT Summer Breeze + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 9 + +// wiring of each half +#define MATRIX_ROW_PINS \ + { F4, F5, F6, F7, B1 } +#define MATRIX_COL_PINS \ + { B2, D1, D0, D4, C6, D7, E6, B4, B5 } + +#define SPLIT_HAND_PIN B3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define SOFT_SERIAL_PIN D2 + +#define DIODE_DIRECTION COL2ROW + +#define BOOTMAGIC_LITE_ROW_RIGHT 0 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 +#define BOOTMAGIC_LITE_ROW_LEFT 0 +#define BOOTMAGIC_LITE_COLUMN_LEFT 5 diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/info.json b/keyboards/afternoonlabs/summer_breeze/rev1/info.json new file mode 100644 index 000000000000..8a8c3de4770e --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/rev1/info.json @@ -0,0 +1,94 @@ +{ + "keyboard_name": "Summer Breeze", + "url": "afternoonlabs.com/breeze", + "productId": "0x0004", + "maintainer": "eithanshavit", + "width": 19, + "height": 6, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.375}, + {"x":1, "y":0.375}, + {"x":2, "y":0.375}, + {"x":3.25, "y":0.375}, + {"x":4.25, "y":0.375}, + {"x":5.25, "y":0.125}, + {"x":6.25, "y":0}, + {"x":7.25, "y":0.125}, + {"x":8.25, "y":0.25}, + {"x":13, "y":0.25}, + {"x":14, "y":0.125}, + {"x":15, "y":0}, + {"x":16, "y":0.125}, + {"x":17, "y":0.375}, + {"x":18, "y":0.375}, + {"x":19.25, "y":0.375}, + {"x":20.25, "y":0.375}, + {"x":21.25, "y":0.375}, + + {"x":0, "y":1.375}, + {"x":1, "y":1.375}, + {"x":2, "y":1.375}, + {"x":3.25, "y":1.375}, + {"x":4.25, "y":1.375}, + {"x":5.25, "y":1.125}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1.125}, + {"x":8.25, "y":1.25}, + {"x":13, "y":1.25}, + {"x":14, "y":1.125}, + {"x":15, "y":1}, + {"x":16, "y":1.125}, + {"x":17, "y":1.375}, + {"x":18, "y":1.375}, + {"x":19.25, "y":1.375}, + {"x":20.25, "y":1.375}, + {"x":21.25, "y":1.375}, + + {"x":1, "y":2.375}, + {"x":3.25, "y":2.375}, + {"x":4.25, "y":2.375}, + {"x":5.25, "y":2.125}, + {"x":6.25, "y":2}, + {"x":7.25, "y":2.125}, + {"x":8.25, "y":2.25}, + {"x":13, "y":2.25}, + {"x":14, "y":2.125}, + {"x":15, "y":2}, + {"x":16, "y":2.125}, + {"x":17, "y":2.375}, + {"x":18, "y":2.375}, + {"x":20.25, "y":2.375}, + + {"x":0, "y":3.375}, + {"x":1, "y":3.375}, + {"x":2, "y":3.375}, + {"x":3.25, "y":3.375}, + {"x":4.25, "y":3.375}, + {"x":5.25, "y":3.125}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3.125}, + {"x":8.25, "y":3.25}, + {"x":13, "y":3.25}, + {"x":14, "y":3.125}, + {"x":15, "y":3}, + {"x":16, "y":3.125}, + {"x":17, "y":3.375}, + {"x":18, "y":3.375}, + {"x":19.25, "y":3.375}, + {"x":20.25, "y":3.375}, + {"x":21.25, "y":3.375}, + + {"x":5.75, "y":4.25}, + {"x":6.75, "y":4.25}, + {"x":7.75, "y":4.5}, + {"x":9.5, "y":3.75, "h":2, "r":30}, + {"x":11.75, "y":3.75, "h":2, "r":-30}, + {"x":13.5, "y":4.5}, + {"x":14.5, "y":4.25}, + {"x":15.5, "y":4.25} + ] + } + } +} diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/readme.md b/keyboards/afternoonlabs/summer_breeze/rev1/readme.md new file mode 100644 index 000000000000..5eedb8dd4663 --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/rev1/readme.md @@ -0,0 +1,15 @@ +# Summer Breeze + +![Breeze](https://i.imgur.com/O8FJWD6.jpeg) + +Split ergonomics meets productivity. Breeze Rev1 is a split keyboard with 6×4 keys, 4 key thumb clusters, arrow keys, and two 6 key macro clusters, with ortholinear column-staggered. + +* Keyboard Maintainer: [Eithan Shavit](https://github.com/eithanshavit) +* Hardware Supported: Breeze Rev1 PCB +* Hardware Availability: Coming soon + +Make example for this keyboard (after setting up your build environment): + + make afternoonlabs/summer_breeze/rev1: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). diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/rev1.c b/keyboards/afternoonlabs/summer_breeze/rev1/rev1.c new file mode 100644 index 000000000000..65597253e4cb --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/rev1/rev1.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "rev1.h" diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/rev1.h b/keyboards/afternoonlabs/summer_breeze/rev1/rev1.h new file mode 100644 index 000000000000..6ab28066c377 --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/rev1/rev1.h @@ -0,0 +1,41 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "summer_breeze.h" + +#include "quantum.h" + +#define LAYOUT( \ + LW00, LW01, LW02, L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, MC0, MC1, MC2, \ + LW10, LW11, LW12, L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, MC3, MC4, MC5, \ + LW21, L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, AUP, \ + LW30, LW31, LW32, L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, ALT, ADN, ART, \ + LT0, LT1, LT2, LT3, RT0, RT1, RT2, RT3 \ +) \ +{ \ + { L05, L04, L03, L02, L01, L00, LW02, LW01, LW00 }, \ + { L15, L14, L13, L12, L11, L10, LW12, LW11, LW10 }, \ + { L25, L24, L23, L22, L21, L20, KC_NO, LW21, KC_NO }, \ + { L35, L34, L33, L32, L31, L30, LW32, LW31, LW30 }, \ + { LT3, LT2, LT1, LT0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { R00, R01, R02, R03, R04, R05, MC0, MC1, MC2 }, \ + { R10, R11, R12, R13, R14, R15, MC3, MC4, MC5 }, \ + { R20, R21, R22, R23, R24, R25, KC_NO, AUP, KC_NO }, \ + { R30, R31, R32, R33, R34, R35, ALT, ADN, ART }, \ + { RT0, RT1, RT2, RT3, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ +} diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/rules.mk b/keyboards/afternoonlabs/summer_breeze/rev1/rules.mk new file mode 100644 index 000000000000..64710a26f0e7 --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/rev1/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/afternoonlabs/summer_breeze/summer_breeze.c b/keyboards/afternoonlabs/summer_breeze/summer_breeze.c new file mode 100644 index 000000000000..844b8c33a3b9 --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/summer_breeze.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 "summer_breeze.h" diff --git a/keyboards/afternoonlabs/summer_breeze/summer_breeze.h b/keyboards/afternoonlabs/summer_breeze/summer_breeze.h new file mode 100644 index 000000000000..0f3776b8325b --- /dev/null +++ b/keyboards/afternoonlabs/summer_breeze/summer_breeze.h @@ -0,0 +1,21 @@ +/* Copyright 2021 Afternoon Labs + * + * 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 + +#ifdef KEYBOARD_afternoonlabs_summer_breeze_rev1 +# include "rev1.h" +#endif diff --git a/keyboards/ai03/andromeda/andromeda.c b/keyboards/ai03/andromeda/andromeda.c new file mode 100644 index 000000000000..5dd580effdb5 --- /dev/null +++ b/keyboards/ai03/andromeda/andromeda.c @@ -0,0 +1,17 @@ +/* +Copyright 2021 Andrew Kannan + +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 "andromeda.h" diff --git a/keyboards/ai03/andromeda/andromeda.h b/keyboards/ai03/andromeda/andromeda.h new file mode 100644 index 000000000000..1fcae4d772b8 --- /dev/null +++ b/keyboards/ai03/andromeda/andromeda.h @@ -0,0 +1,35 @@ +/* +Copyright 2021 Andrew Kannan + +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 "quantum.h" + +#define LAYOUT_tkl_ansi_wkl( \ + K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K415, \ + K500, K502, K507, K511, K513, K514, K515, K516 \ +) { \ + { K000, KC_NO, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213 , K214, K215, K216 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, KC_NO, KC_NO, KC_NO }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, KC_NO, K415, KC_NO }, \ + { K500, KC_NO, K502, KC_NO, KC_NO, KC_NO, KC_NO, K507, KC_NO, KC_NO, KC_NO, K511, KC_NO, K513, K514, K515, K516 } \ +} diff --git a/keyboards/ai03/andromeda/config.h b/keyboards/ai03/andromeda/config.h new file mode 100644 index 000000000000..e04fb8a56fa3 --- /dev/null +++ b/keyboards/ai03/andromeda/config.h @@ -0,0 +1,43 @@ +/* +Copyright 2021 Andrew Kannan + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xA103 +#define PRODUCT_ID 0x000A +#define DEVICE_VER 0x0001 +#define MANUFACTURER ai03 Design Studio +#define PRODUCT Andromeda + +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +#define MATRIX_COL_PINS { A10, A9, A8, B15, B14, B13, B12, B11, B10, B2, B1, B0, A7, A6, B5, B8, B9 } +#define MATRIX_ROW_PINS { B4, B3, A15, A3, A4, A5 } +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/ai03/andromeda/info.json b/keyboards/ai03/andromeda/info.json new file mode 100644 index 000000000000..200d3fbd7831 --- /dev/null +++ b/keyboards/ai03/andromeda/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "Andromeda", + "url": "", + "maintainer": "ai03", + "width": 18.25, + "height": 6.25, + "layouts": { + "LAYOUT_tkl_ansi_wkl": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.5}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.5}, {"x":4, "y":5.25, "w":7}, {"label":"Alt", "x":11, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}] + } + } +} diff --git a/keyboards/ai03/andromeda/keymaps/default/keymap.c b/keyboards/ai03/andromeda/keymaps/default/keymap.c new file mode 100644 index 000000000000..41db12fc51cb --- /dev/null +++ b/keyboards/ai03/andromeda/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* +Copyright 2012,2013 Jun Wako + +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 { + _BASE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT_tkl_ansi_wkl( + 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_SLCK, 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_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_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT +) + +}; diff --git a/keyboards/ai03/andromeda/keymaps/via/keymap.c b/keyboards/ai03/andromeda/keymaps/via/keymap.c new file mode 100644 index 000000000000..967bfdf2bdcc --- /dev/null +++ b/keyboards/ai03/andromeda/keymaps/via/keymap.c @@ -0,0 +1,65 @@ +/* +Copyright 2012,2013 Jun Wako + +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 { + _BASE, + _FN1, + _FN2, + _FN3 +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT_tkl_ansi_wkl( + 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_SLCK, 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_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_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_tkl_ansi_wkl( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + + [_FN2] = LAYOUT_tkl_ansi_wkl( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + + [_FN3] = LAYOUT_tkl_ansi_wkl( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/jj4x4/keymaps/via/rules.mk b/keyboards/ai03/andromeda/keymaps/via/rules.mk similarity index 100% rename from keyboards/jj4x4/keymaps/via/rules.mk rename to keyboards/ai03/andromeda/keymaps/via/rules.mk diff --git a/keyboards/ai03/andromeda/readme.md b/keyboards/ai03/andromeda/readme.md new file mode 100644 index 000000000000..2ac3b5c1c4e4 --- /dev/null +++ b/keyboards/ai03/andromeda/readme.md @@ -0,0 +1,12 @@ +# ai03 Andromeda + +* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) +* Hardware Supported: Andromeda PCB + +Make example for this keyboard (after setting up your build environment): + + make ai03/andromeda: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). + +Press and hold the reset button for at least 5 seconds before releasing to enter the bootloader mode. diff --git a/keyboards/ai03/andromeda/rules.mk b/keyboards/ai03/andromeda/rules.mk new file mode 100644 index 000000000000..51f82165bb00 --- /dev/null +++ b/keyboards/ai03/andromeda/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ai03/equinox/rev0/rules.mk b/keyboards/ai03/equinox/rev0/rules.mk index 668ad9a28c2b..f8eee8cd8b16 100644 --- a/keyboards/ai03/equinox/rev0/rules.mk +++ b/keyboards/ai03/equinox/rev0/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ai03/equinox/rev1/rules.mk b/keyboards/ai03/equinox/rev1/rules.mk index 668ad9a28c2b..f8eee8cd8b16 100644 --- a/keyboards/ai03/equinox/rev1/rules.mk +++ b/keyboards/ai03/equinox/rev1/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ai03/lunar/config.h b/keyboards/ai03/lunar/config.h index 0af48b8c03d8..499176d398e5 100644 --- a/keyboards/ai03/lunar/config.h +++ b/keyboards/ai03/lunar/config.h @@ -187,26 +187,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ai03/lunar/keymaps/default/keymap.c b/keyboards/ai03/lunar/keymaps/default/keymap.c index 4705d00ec1da..e05775c2d504 100644 --- a/keyboards/ai03/lunar/keymaps/default/keymap.c +++ b/keyboards/ai03/lunar/keymaps/default/keymap.c @@ -76,15 +76,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ai03/lunar/lunar.c b/keyboards/ai03/lunar/lunar.c index 37438c71e61b..9c7bf23a629e 100644 --- a/keyboards/ai03/lunar/lunar.c +++ b/keyboards/ai03/lunar/lunar.c @@ -14,9 +14,3 @@ * along with this program. If not, see . */ #include "lunar.h" - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/ai03/lunar/rules.mk b/keyboards/ai03/lunar/rules.mk index 74808942fc0f..8b4839413d54 100644 --- a/keyboards/ai03/lunar/rules.mk +++ b/keyboards/ai03/lunar/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ai03/orbit/config.h b/keyboards/ai03/orbit/config.h index ee907081ae39..410f63f66017 100644 --- a/keyboards/ai03/orbit/config.h +++ b/keyboards/ai03/orbit/config.h @@ -192,26 +192,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ai03/orbit/keymaps/default/keymap.c b/keyboards/ai03/orbit/keymaps/default/keymap.c index d0c80d9282d2..6d4eef27c707 100644 --- a/keyboards/ai03/orbit/keymaps/default/keymap.c +++ b/keyboards/ai03/orbit/keymaps/default/keymap.c @@ -72,20 +72,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} - -layer_state_t layer_state_set_user(layer_state_t state) { - - return state; -} diff --git a/keyboards/ai03/orbit/orbit.c b/keyboards/ai03/orbit/orbit.c index b51ddbc6e6c6..97553e318a7e 100644 --- a/keyboards/ai03/orbit/orbit.c +++ b/keyboards/ai03/orbit/orbit.c @@ -172,20 +172,6 @@ void matrix_init_kb(void) { matrix_init_user(); } -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - void led_set_kb(uint8_t usb_led) { // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here @@ -222,5 +208,3 @@ uint32_t layer_state_set_kb(uint32_t state) { return layer_state_set_user(state); } - - diff --git a/keyboards/ai03/orbit/rules.mk b/keyboards/ai03/orbit/rules.mk index 80bc0eb11bfb..e0db1b1db6e7 100644 --- a/keyboards/ai03/orbit/rules.mk +++ b/keyboards/ai03/orbit/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ai03/orbit_x/rules.mk b/keyboards/ai03/orbit_x/rules.mk index c08aa7545826..0acf0163941d 100644 --- a/keyboards/ai03/orbit_x/rules.mk +++ b/keyboards/ai03/orbit_x/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 SPLIT_KEYBOARD = yes # Split keyboard diff --git a/keyboards/ai03/polaris/rules.mk b/keyboards/ai03/polaris/rules.mk index e5ed9276b928..958b04a87924 100644 --- a/keyboards/ai03/polaris/rules.mk +++ b/keyboards/ai03/polaris/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ai03/quasar/config.h b/keyboards/ai03/quasar/config.h index f34de690b4d4..0679a45f35cc 100644 --- a/keyboards/ai03/quasar/config.h +++ b/keyboards/ai03/quasar/config.h @@ -194,26 +194,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ai03/quasar/keymaps/default/keymap.c b/keyboards/ai03/quasar/keymaps/default/keymap.c index 6de45951a3da..0d871d9251d0 100644 --- a/keyboards/ai03/quasar/keymaps/default/keymap.c +++ b/keyboards/ai03/quasar/keymaps/default/keymap.c @@ -43,19 +43,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______ ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ai03/quasar/quasar.c b/keyboards/ai03/quasar/quasar.c index ac8b75177191..75d77e355c06 100644 --- a/keyboards/ai03/quasar/quasar.c +++ b/keyboards/ai03/quasar/quasar.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "quasar.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/ai03/quasar/rules.mk b/keyboards/ai03/quasar/rules.mk index b16d852aafb5..f1027b921de8 100644 --- a/keyboards/ai03/quasar/rules.mk +++ b/keyboards/ai03/quasar/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ai03/soyuz/keymaps/default/keymap.c b/keyboards/ai03/soyuz/keymaps/default/keymap.c index 62bb5c228a7e..c145fc3b5252 100644 --- a/keyboards/ai03/soyuz/keymaps/default/keymap.c +++ b/keyboards/ai03/soyuz/keymaps/default/keymap.c @@ -24,19 +24,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_P0, KC_PDOT, KC_PENT \ ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ai03/soyuz/rules.mk b/keyboards/ai03/soyuz/rules.mk index 5af8959743cd..7c3081a74515 100644 --- a/keyboards/ai03/soyuz/rules.mk +++ b/keyboards/ai03/soyuz/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ai03/soyuz/soyuz.c b/keyboards/ai03/soyuz/soyuz.c index dc73f196ef57..e643d14ec16b 100644 --- a/keyboards/ai03/soyuz/soyuz.c +++ b/keyboards/ai03/soyuz/soyuz.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "soyuz.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/ai03/vega/rules.mk b/keyboards/ai03/vega/rules.mk index b5330c8e7e64..51f82165bb00 100644 --- a/keyboards/ai03/vega/rules.mk +++ b/keyboards/ai03/vega/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/ai03/voyager60_alps/config.h b/keyboards/ai03/voyager60_alps/config.h index 98f37e8cfed4..cd749cc50523 100644 --- a/keyboards/ai03/voyager60_alps/config.h +++ b/keyboards/ai03/voyager60_alps/config.h @@ -23,7 +23,7 @@ along with this program. If not, see . #define PRODUCT Voyager60-Alps #define MATRIX_ROWS 5 -#define MATRIX_COLS 15 +#define MATRIX_COLS 14 #define MATRIX_ROW_PINS { B1, B2, B3, F0, F1 } #define MATRIX_COL_PINS { F4, F7, F5, F6, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3} diff --git a/keyboards/ai03/voyager60_alps/rules.mk b/keyboards/ai03/voyager60_alps/rules.mk index f49426d5137f..6c439375728e 100644 --- a/keyboards/ai03/voyager60_alps/rules.mk +++ b/keyboards/ai03/voyager60_alps/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ajisai74/keymaps/salicylic/keymap.c b/keyboards/ajisai74/keymaps/salicylic/keymap.c index 03cecb7a0d9c..f8b430af1cfe 100644 --- a/keyboards/ajisai74/keymaps/salicylic/keymap.c +++ b/keyboards/ajisai74/keymaps/salicylic/keymap.c @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| - JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______, _______, + JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| _______,JP_CIRC,JP_PERC,JP_AMPR,JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/ajisai74/rules.mk b/keyboards/ajisai74/rules.mk index 9b916f556e50..2b0933d53d9c 100644 --- a/keyboards/ajisai74/rules.mk +++ b/keyboards/ajisai74/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/akb/eb46/eb46.c b/keyboards/akb/eb46/eb46.c index 3417b4329a36..a2113d0fe957 100644 --- a/keyboards/akb/eb46/eb46.c +++ b/keyboards/akb/eb46/eb46.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "eb46.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/akb/eb46/rules.mk b/keyboards/akb/eb46/rules.mk index 13f194d5a3a6..63b9285daed7 100644 --- a/keyboards/akb/eb46/rules.mk +++ b/keyboards/akb/eb46/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/akb/raine/rules.mk b/keyboards/akb/raine/rules.mk index 13f194d5a3a6..63b9285daed7 100644 --- a/keyboards/akb/raine/rules.mk +++ b/keyboards/akb/raine/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/akegata_denki/device_one/rules.mk b/keyboards/akegata_denki/device_one/rules.mk index f8e76a5d3900..ec74cb2e80ee 100644 --- a/keyboards/akegata_denki/device_one/rules.mk +++ b/keyboards/akegata_denki/device_one/rules.mk @@ -1,13 +1,15 @@ # MCU name MCU = STM32F042 - BOARD = ST_NUCLEO32_F042K6 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # BACKLIGHT_ENABLE = no -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/al1/al1.c b/keyboards/al1/al1.c index 460a7620cfa7..a7d3980ece8d 100644 --- a/keyboards/al1/al1.c +++ b/keyboards/al1/al1.c @@ -13,4 +13,5 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #include "al1.h" diff --git a/keyboards/al1/al1.h b/keyboards/al1/al1.h index c313a898d228..6b585cc18a3c 100644 --- a/keyboards/al1/al1.h +++ b/keyboards/al1/al1.h @@ -13,41 +13,39 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#ifndef AL1_H -#define AL1_H + +#pragma once #include "quantum.h" +#define XXX KC_NO + #define LAYOUT( \ - K500, K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K415, K414,\ - K501, K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K215, K413,\ - K502, K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \ - K503, K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K412,\ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411 \ -) \ -{ \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015}, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115}, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215}, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315}, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415}, \ - { K500, K501, K502, K503, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO} \ + k50, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k4F, k4E, \ + k51, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k2F, k4D, \ + k52, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, \ + k53, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k4C, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \ + { k50, k51, k52, k53, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \ } #define LAYOUT_split_bs( \ - K500, K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K512, K012, K013, K014, K015, K415, K414, \ - K501, K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K215, K413,\ - K502, K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \ - K503, K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K412,\ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411 \ -) \ -{ \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015}, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115}, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215}, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315}, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415}, \ - { K500, K501, K502, K503, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K512, KC_NO, KC_NO, KC_NO} \ + k50, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k5C, k0C, k0D, k0E, k0F, k4F, k4E, \ + k51, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k2F, k4D, \ + k52, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, \ + k53, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k4C, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \ + { k50, k51, k52, k53, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, k5C, XXX, XXX, XXX } \ } - -#endif diff --git a/keyboards/al1/config.h b/keyboards/al1/config.h index 6f6157c2d01d..b003a9cd6c25 100644 --- a/keyboards/al1/config.h +++ b/keyboards/al1/config.h @@ -15,62 +15,42 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef CONFIG_H -#define CONFIG_H +#pragma once #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6050 -#define DEVICE_VER 0x0104 -#define MANUFACTURER Alsoran -#define PRODUCT AL1 +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6050 +#define DEVICE_VER 0x0104 +#define MANUFACTURER Alsoran +#define PRODUCT AL1 /* key matrix size */ #define MATRIX_ROWS 7 #define MATRIX_COLS 20 -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - #define LED_NUM_LOCK_PIN D0 #define LED_CAPS_LOCK_PIN B7 #define LED_SCROLL_LOCK_PIN D1 #define LED_PIN_ON_STATE 0 #define BACKLIGHT_PIN B6 -#define BACKLIGHT_BREATHING #define BACKLIGHT_LEVELS 3 +#define BACKLIGHT_BREATHING /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). */ -// #define GRAVE_ESC_CTRL_OVERRIDE +//#define GRAVE_ESC_CTRL_OVERRIDE /* * Force NKRO @@ -93,54 +73,6 @@ along with this program. If not, see . */ //#define FORCE_NKRO -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP1 H -//#define MAGIC_KEY_HELP2 SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0_ALT1 ESC -//#define MAGIC_KEY_LAYER0_ALT2 GRAVE -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER PAUSE -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - /* * Feature disable options * These options are also useful to firmware size reduction. @@ -156,27 +88,7 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 -#endif +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/al1/info.json b/keyboards/al1/info.json index f5ab643997a7..4cb5bba7fae0 100644 --- a/keyboards/al1/info.json +++ b/keyboards/al1/info.json @@ -1,15 +1,212 @@ { - "keyboard_name": "AL1", - "url": "", - "maintainer": "qmk", - "width": 20.5, - "height": 5.25, - "layouts": { - "LAYOUT": { - "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Num Lock", "x":16.5, "y":0}, {"label":"/", "x":17.5, "y":0}, {"label":"*", "x":18.5, "y":0}, {"label":"-", "x":19.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15.25, "y":1}, {"label":"7", "x":16.5, "y":1}, {"label":"8", "x":17.5, "y":1}, {"label":"9", "x":18.5, "y":1}, {"label":"+", "x":19.5, "y":1, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":16.5, "y":2}, {"label":"5", "x":17.5, "y":2}, {"label":"6", "x":18.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"↑", "x":15.25, "y":3.25}, {"label":"1", "x":16.5, "y":3}, {"label":"2", "x":17.5, "y":3}, {"label":"3", "x":18.5, "y":3}, {"label":"Enter", "x":19.5, "y":3, "h":2}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4}, {"label":"Alt", "x":2.25, "y":4, "w":1.25}, {"x":3.5, "y":4, "w":7}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":11.75, "y":4}, {"label":"Menu", "x":12.75, "y":4, "w":1.25}, {"label":"←", "x":14.25, "y":4.25}, {"label":"↓", "x":15.25, "y":4.25}, {"label":"→", "x":16.25, "y":4.25}, {"label":"0", "x":17.5, "y":4}, {"label":".", "x":18.5, "y":4}] - }, - "LAYOUT_split_bs": { - "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Num Lock", "x":16.5, "y":0}, {"label":"/", "x":17.5, "y":0}, {"label":"*", "x":18.5, "y":0}, {"label":"-", "x":19.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15.25, "y":1}, {"label":"7", "x":16.5, "y":1}, {"label":"8", "x":17.5, "y":1}, {"label":"9", "x":18.5, "y":1}, {"label":"+", "x":19.5, "y":1, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":16.5, "y":2}, {"label":"5", "x":17.5, "y":2}, {"label":"6", "x":18.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"↑", "x":15.25, "y":3.25}, {"label":"1", "x":16.5, "y":3}, {"label":"2", "x":17.5, "y":3}, {"label":"3", "x":18.5, "y":3}, {"label":"Enter", "x":19.5, "y":3, "h":2}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4}, {"label":"Alt", "x":2.25, "y":4, "w":1.25}, {"x":3.5, "y":4, "w":7}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":11.75, "y":4}, {"label":"Menu", "x":12.75, "y":4, "w":1.25}, {"label":"←", "x":14.25, "y":4.25}, {"label":"↓", "x":15.25, "y":4.25}, {"label":"→", "x":16.25, "y":4.25}, {"label":"0", "x":17.5, "y":4}, {"label":".", "x":18.5, "y":4}] + "keyboard_name": "AL1", + "url": "", + "maintainer": "qmk", + "width": 20.5, + "height": 5.25, + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0, "w": 2}, + + {"x": 15.25, "y": 0}, + + {"x": 16.5, "y": 0}, + {"x": 17.5, "y": 0}, + {"x": 18.5, "y": 0}, + {"x": 19.5, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 15.25, "y": 1}, + + {"x": 16.5, "y": 1}, + {"x": 17.5, "y": 1}, + {"x": 18.5, "y": 1}, + {"x": 19.5, "y": 1, "h": 2}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 16.5, "y": 2}, + {"x": 17.5, "y": 2}, + {"x": 18.5, "y": 2}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 15.25, "y": 3.25}, + + {"x": 16.5, "y": 3}, + {"x": 17.5, "y": 3}, + {"x": 18.5, "y": 3}, + {"x": 19.5, "y": 3, "h": 2}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4}, + {"x": 2.25, "y": 4, "w": 1.25}, + {"x": 3.5, "y": 4, "w": 7}, + {"x": 10.5, "y": 4, "w": 1.25}, + {"x": 11.75, "y": 4}, + {"x": 12.75, "y": 4, "w": 1.25}, + + {"x": 14.25, "y": 4.25}, + {"x": 15.25, "y": 4.25}, + {"x": 16.25, "y": 4.25}, + + {"x": 17.5, "y": 4}, + {"x": 18.5, "y": 4} + ] + }, + "LAYOUT_split_bs": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 15.25, "y": 0}, + + {"x": 16.5, "y": 0}, + {"x": 17.5, "y": 0}, + {"x": 18.5, "y": 0}, + {"x": 19.5, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 15.25, "y": 1}, + + {"x": 16.5, "y": 1}, + {"x": 17.5, "y": 1}, + {"x": 18.5, "y": 1}, + {"x": 19.5, "y": 1, "h": 2}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 16.5, "y": 2}, + {"x": 17.5, "y": 2}, + {"x": 18.5, "y": 2}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 15.25, "y": 3.25}, + + {"x": 16.5, "y": 3}, + {"x": 17.5, "y": 3}, + {"x": 18.5, "y": 3}, + {"x": 19.5, "y": 3, "h": 2}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4}, + {"x": 2.25, "y": 4, "w": 1.25}, + {"x": 3.5, "y": 4, "w": 7}, + {"x": 10.5, "y": 4, "w": 1.25}, + {"x": 11.75, "y": 4}, + {"x": 12.75, "y": 4, "w": 1.25}, + + {"x": 14.25, "y": 4.25}, + {"x": 15.25, "y": 4.25}, + {"x": 16.25, "y": 4.25}, + + {"x": 17.5, "y": 4}, + {"x": 18.5, "y": 4} + ] + } } - } } diff --git a/keyboards/al1/keymaps/default/keymap.c b/keyboards/al1/keymaps/default/keymap.c index d571c05abb18..a3a9d63d3728 100644 --- a/keyboards/al1/keymaps/default/keymap.c +++ b/keyboards/al1/keymaps/default/keymap.c @@ -13,36 +13,23 @@ * 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_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_INS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,\ - 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_DELETE, KC_P7, KC_P8, KC_P9, KC_PPLS,\ - 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_P4, KC_P5, KC_P6, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(1), KC_RGUI, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT ), - - [1] = LAYOUT(\ - 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_BSPC, KC_INS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,\ - KC_TAB, KC_Q, KC_W, KC_E, RESET, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DELETE, KC_P7, KC_P8, KC_P9, KC_PPLS,\ - 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_P4, KC_P5, KC_P6, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_TRNS, KC_RGUI, KC_RCTRL, BL_TOGG, BL_DEC, BL_INC, KC_P0, KC_PDOT ), + LAYOUT( + 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_INS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + + 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, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______ + ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/al1/keymaps/default/readme.md b/keyboards/al1/keymaps/default/readme.md deleted file mode 100644 index b89f4f674516..000000000000 --- a/keyboards/al1/keymaps/default/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for al1 diff --git a/keyboards/al1/keymaps/splitbs/keymap.c b/keyboards/al1/keymaps/splitbs/keymap.c index 51f35d0cfb71..d896b10dbe40 100644 --- a/keyboards/al1/keymaps/splitbs/keymap.c +++ b/keyboards/al1/keymaps/splitbs/keymap.c @@ -1,32 +1,35 @@ +/* Copyright 2018 MechMerlin + * + * 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_split_bs(\ - 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_GRAVE, KC_BSPC, KC_INS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ - 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_DELETE, KC_P7, KC_P8, KC_P9, KC_PPLS,\ - 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_P4, KC_P5, KC_P6, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(1), KC_RGUI, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT ), - [1] = LAYOUT_split_bs(\ - 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_GRAVE, KC_DELETE, KC_INS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ - KC_TAB, KC_Q, KC_W, KC_E, RESET, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DELETE, KC_P7, KC_P8, KC_P9, KC_PPLS,\ - 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_P4, KC_P5, KC_P6, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_TRNS, KC_RGUI, KC_RCTRL, BL_TOGG, BL_DEC, BL_INC, KC_P0, KC_PDOT ), + LAYOUT_split_bs( + 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_GRV, KC_BSPC, KC_INS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + + LAYOUT_split_bs( + _______, 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, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______ + ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/al1/matrix.c b/keyboards/al1/matrix.c index f6e95108737c..1407cbc089ae 100644 --- a/keyboards/al1/matrix.c +++ b/keyboards/al1/matrix.c @@ -1,201 +1,92 @@ -#include -#include -#include -#include -#include "print.h" -#include "debug.h" -#include "util.h" #include "matrix.h" -#ifndef DEBOUNCE -# define DEBOUNCE 5 -#endif -static uint8_t debouncing = DEBOUNCE; - -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t matrix_debouncing[MATRIX_ROWS]; - -static uint8_t read_rows(void); -static void init_rows(void); -static void unselect_cols(void); -static void select_col(uint8_t col); - -inline uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -void matrix_init(void) { - // initialize row and col - unselect_cols(); - init_rows(); - - // initialize matrix state: all keys off - for (uint8_t i=0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; - matrix_debouncing[i] = 0; - } - matrix_init_quantum(); -} - -uint8_t matrix_scan(void) { - for (uint8_t col = 0; col < MATRIX_COLS; col++) { - select_col(col); - _delay_us(3); - uint8_t rows = read_rows(); - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - bool prev_bit = matrix_debouncing[row] & ((matrix_row_t)1<. */ #pragma once -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE #define OLED_DISPLAY_128X64 #define OLED_TIMEOUT 400000 #endif diff --git a/keyboards/aleblazer/zodiark/keymaps/default/keymap.c b/keyboards/aleblazer/zodiark/keymaps/default/keymap.c index 0692aee12426..84953ec582c0 100644 --- a/keyboards/aleblazer/zodiark/keymaps/default/keymap.c +++ b/keyboards/aleblazer/zodiark/keymaps/default/keymap.c @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_MUTE, RGB_TOG, KC_DEL,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , KC_LCTL, KC_LALT, KC_LGUI, LALT(KC_TAB), KC_LOWER, KC_SPC, KC_ENT, KC_ENT, KC_SPC, KC_RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), - + [_LOWER] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_NLCK, _______, _______, _______, _______, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_F12, @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______ ), - + [_RAISE] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_NLCK, _______, _______, _______, _______, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_F12, @@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static void render_logo(void) { static const char PROGMEM qmk_logo[] = { @@ -308,7 +308,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef ENCODER_ENABLE -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { tap_code(KC_VOLU); @@ -322,6 +322,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { rgblight_step_reverse(); } } + return true; } #endif diff --git a/keyboards/aleblazer/zodiark/keymaps/slimoled/config.h b/keyboards/aleblazer/zodiark/keymaps/slimoled/config.h index 36d9637e72db..e2df253c3f43 100644 --- a/keyboards/aleblazer/zodiark/keymaps/slimoled/config.h +++ b/keyboards/aleblazer/zodiark/keymaps/slimoled/config.h @@ -16,7 +16,7 @@ along with this program. If not, see . */ #pragma once -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE #define OLED_DISPLAY_128X32 #define OLED_TIMEOUT 400000 #endif diff --git a/keyboards/aleblazer/zodiark/keymaps/slimoled/keymap.c b/keyboards/aleblazer/zodiark/keymaps/slimoled/keymap.c index 4e98b5cf0d4a..99c5c5e4ee5d 100644 --- a/keyboards/aleblazer/zodiark/keymaps/slimoled/keymap.c +++ b/keyboards/aleblazer/zodiark/keymaps/slimoled/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_MUTE, RGB_TOG, KC_DEL,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , KC_LCTL, KC_LALT, KC_LGUI, LALT(KC_TAB), KC_LOWER, KC_SPC, KC_ENT, KC_ENT, KC_SPC, KC_RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT ), - + [_LOWER] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_NLCK, _______, _______, _______, _______, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_F12, @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______ ), - + [_RAISE] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_NLCK, _______, _______, _______, _______, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_F12, @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static void render_logo(void) { static const char PROGMEM qmk_logo[] = { @@ -311,7 +311,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #ifdef ENCODER_ENABLE -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { tap_code(KC_VOLU); @@ -325,6 +325,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { rgblight_step_reverse(); } } + return true; } #endif diff --git a/keyboards/aleblazer/zodiark/keymaps/via/config.h b/keyboards/aleblazer/zodiark/keymaps/via/config.h index 0c89f634bc2d..2e8732ecc728 100644 --- a/keyboards/aleblazer/zodiark/keymaps/via/config.h +++ b/keyboards/aleblazer/zodiark/keymaps/via/config.h @@ -16,7 +16,7 @@ along with this program. If not, see . */ #pragma once -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE #define OLED_DISPLAY_128X64 #define OLED_TIMEOUT 400000 #endif diff --git a/keyboards/aleblazer/zodiark/keymaps/via/encoder.c b/keyboards/aleblazer/zodiark/keymaps/via/encoder.c index 06d7a25777fe..c08cfed5c173 100644 --- a/keyboards/aleblazer/zodiark/keymaps/via/encoder.c +++ b/keyboards/aleblazer/zodiark/keymaps/via/encoder.c @@ -16,7 +16,7 @@ along with this program. If not, see . #ifdef ENCODER_ENABLE -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { tap_code(KC_VOLU); @@ -30,6 +30,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_PGUP); } } + return true; } #endif diff --git a/keyboards/aleblazer/zodiark/keymaps/via/oled.c b/keyboards/aleblazer/zodiark/keymaps/via/oled.c index 037fe2ff714a..5e4959ab2eca 100644 --- a/keyboards/aleblazer/zodiark/keymaps/via/oled.c +++ b/keyboards/aleblazer/zodiark/keymaps/via/oled.c @@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static void render_logo(void) { static const char PROGMEM qmk_logo[] = { diff --git a/keyboards/aleblazer/zodiark/readme.md b/keyboards/aleblazer/zodiark/readme.md index fe28bedd485b..392744dede78 100644 --- a/keyboards/aleblazer/zodiark/readme.md +++ b/keyboards/aleblazer/zodiark/readme.md @@ -10,11 +10,11 @@ A split keyboard with 5x7 including a thumbcluster, encoders on each side, per k Make example for this keyboard (after setting up your build environment): - make zodiark:default + make aleblazer/zodiark:default Flashing example for this keyboard: - make zodiark:default:flash + make aleblazer/zodiark:default:flash Remove TRRS cable from halves, plug into one side, press reset button when asked. Repeat process on the other side. diff --git a/keyboards/aleblazer/zodiark/rules.mk b/keyboards/aleblazer/zodiark/rules.mk index 89e4850d83dd..fbb3e2f59250 100644 --- a/keyboards/aleblazer/zodiark/rules.mk +++ b/keyboards/aleblazer/zodiark/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,7 +20,8 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output -OLED_DRIVER_ENABLE = yes # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C ENCODER_ENABLE = yes SPLIT_KEYBOARD = yes LTO_ENABLE = yes diff --git a/keyboards/aleth42/keymaps/default/keymap.c b/keyboards/aleth42/keymaps/default/keymap.c index 48214d1e22a6..707af7116a5d 100644 --- a/keyboards/aleth42/keymaps/default/keymap.c +++ b/keyboards/aleth42/keymaps/default/keymap.c @@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left encoder */ switch (get_highest_layer(layer_state)) { case _QWERTY: @@ -146,4 +146,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_PGUP); } } + return true; } diff --git a/keyboards/aleth42/keymaps/via/keymap.c b/keyboards/aleth42/keymaps/via/keymap.c index e747b0d64fc5..2801e65ec4a3 100644 --- a/keyboards/aleth42/keymaps/via/keymap.c +++ b/keyboards/aleth42/keymaps/via/keymap.c @@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left encoder */ switch (get_highest_layer(layer_state)) { case _QWERTY: @@ -146,4 +146,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_PGUP); } } -} \ No newline at end of file + return true; +} diff --git a/keyboards/aleth42/rev0/rules.mk b/keyboards/aleth42/rev0/rules.mk index a54fa022f543..94e5bb278850 100644 --- a/keyboards/aleth42/rev0/rules.mk +++ b/keyboards/aleth42/rev0/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/aleth42/rev1/rules.mk b/keyboards/aleth42/rev1/rules.mk index 9441d4051c6f..d67ab1a680f3 100644 --- a/keyboards/aleth42/rev1/rules.mk +++ b/keyboards/aleth42/rev1/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/alf/dc60/config.h b/keyboards/alf/dc60/config.h index 42c3ebee2044..0064da01fe27 100644 --- a/keyboards/alf/dc60/config.h +++ b/keyboards/alf/dc60/config.h @@ -167,23 +167,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/alf/dc60/keymaps/default/keymap.c b/keyboards/alf/dc60/keymaps/default/keymap.c index acd9753ef0f5..ddc488670c1c 100644 --- a/keyboards/alf/dc60/keymaps/default/keymap.c +++ b/keyboards/alf/dc60/keymaps/default/keymap.c @@ -32,19 +32,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/alf/dc60/rules.mk b/keyboards/alf/dc60/rules.mk index 576ae3cf6a75..fb3421d8966a 100644 --- a/keyboards/alf/dc60/rules.mk +++ b/keyboards/alf/dc60/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/alf/x11/config.h b/keyboards/alf/x11/config.h index fdc7d72e0c30..d643cb29aa25 100644 --- a/keyboards/alf/x11/config.h +++ b/keyboards/alf/x11/config.h @@ -188,26 +188,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/alf/x11/rules.mk b/keyboards/alf/x11/rules.mk index 5d37e73dd3fe..6c45f54894eb 100644 --- a/keyboards/alf/x11/rules.mk +++ b/keyboards/alf/x11/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/alf/x2/keymaps/default/keymap.c b/keyboards/alf/x2/keymaps/default/keymap.c index eb3d7bd468d5..a119c7074280 100644 --- a/keyboards/alf/x2/keymaps/default/keymap.c +++ b/keyboards/alf/x2/keymaps/default/keymap.c @@ -19,20 +19,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - void led_set_user(uint8_t usb_led) { if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 2); PORTB &= ~(1 << 2); + setPinOutput(B2); + writePinLow(B2); } else { - DDRB &= ~(1 << 2); PORTB &= ~(1 << 2); + setPinInput(B2); + writePinLow(B2); } } diff --git a/keyboards/alf/x2/rules.mk b/keyboards/alf/x2/rules.mk index c1f1f22ba343..89557e4ea79b 100644 --- a/keyboards/alf/x2/rules.mk +++ b/keyboards/alf/x2/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/alfredslab/swift65/solder/config.h b/keyboards/alfredslab/swift65/solder/config.h new file mode 100644 index 000000000000..509aae6a8966 --- /dev/null +++ b/keyboards/alfredslab/swift65/solder/config.h @@ -0,0 +1,68 @@ + +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xBBEB +#define PRODUCT_ID 0xD4C3 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AlfredsLab +#define PRODUCT Swift65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B1, B2, B3, D4, D6 } +#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, C7, C6, B6, B5, B4, D7, D5, D3, D1, D0 } + +#define DIODE_DIRECTION COL2ROW + +#define RGB_DI_PIN D2 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 14 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 100 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ + #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +#endif diff --git a/keyboards/alfredslab/swift65/solder/info.json b/keyboards/alfredslab/swift65/solder/info.json new file mode 100644 index 000000000000..a04de1cc1437 --- /dev/null +++ b/keyboards/alfredslab/swift65/solder/info.json @@ -0,0 +1,81 @@ +{ + "keyboard_name": "Swift65", + "url": "https://swiftcables.net/", + "maintainer": "Spooknik", + "width": 16.25, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (B1,F7)", "x":0, "y":0}, + {"label":"K01 (B1,F6)", "x":1, "y":0}, + {"label":"K02 (B1,F5)", "x":2, "y":0}, + {"label":"K03 (B1,F4)", "x":3, "y":0}, + {"label":"K04 (B1,F1)", "x":4, "y":0}, + {"label":"K05 (B1,F0)", "x":5, "y":0}, + {"label":"K06 (B1,C7)", "x":6, "y":0}, + {"label":"K07 (B1,C6)", "x":7, "y":0}, + {"label":"K08 (B1,B6)", "x":8, "y":0}, + {"label":"K09 (B1,B5)", "x":9, "y":0}, + {"label":"K0A (B1,B4)", "x":10, "y":0}, + {"label":"K0B (B1,D7)", "x":11, "y":0}, + {"label":"K0C (B1,D5)", "x":12, "y":0}, + {"label":"K0D (B1,D3)", "x":13, "y":0}, + {"label":"K0F (B1,D0)", "x":14, "y":0}, + {"label":"K0E (B1,D1)", "x":15.25, "y":0}, + {"label":"K10 (B2,F7)", "x":0, "y":1, "w":1.5}, + {"label":"K11 (B2,F6)", "x":1.5, "y":1}, + {"label":"K12 (B2,F5)", "x":2.5, "y":1}, + {"label":"K13 (B2,F4)", "x":3.5, "y":1}, + {"label":"K14 (B2,F1)", "x":4.5, "y":1}, + {"label":"K15 (B2,F0)", "x":5.5, "y":1}, + {"label":"K16 (B2,C7)", "x":6.5, "y":1}, + {"label":"K17 (B2,C6)", "x":7.5, "y":1}, + {"label":"K18 (B2,B6)", "x":8.5, "y":1}, + {"label":"K19 (B2,B5)", "x":9.5, "y":1}, + {"label":"K1A (B2,B4)", "x":10.5, "y":1}, + {"label":"K1B (B2,D7)", "x":11.5, "y":1}, + {"label":"K1C (B2,D5)", "x":12.5, "y":1}, + {"label":"K1D (B2,D3)", "x":13.5, "y":1, "w":1.5}, + {"label":"K1E (B2,D1)", "x":15.25, "y":1}, + {"label":"K20 (B3,F7)", "x":0, "y":2, "w":1.75}, + {"label":"K21 (B3,F6)", "x":1.75, "y":2}, + {"label":"K22 (B3,F5)", "x":2.75, "y":2}, + {"label":"K23 (B3,F4)", "x":3.75, "y":2}, + {"label":"K24 (B3,F1)", "x":4.75, "y":2}, + {"label":"K25 (B3,F0)", "x":5.75, "y":2}, + {"label":"K26 (B3,C7)", "x":6.75, "y":2}, + {"label":"K27 (B3,C6)", "x":7.75, "y":2}, + {"label":"K28 (B3,B6)", "x":8.75, "y":2}, + {"label":"K29 (B3,B5)", "x":9.75, "y":2}, + {"label":"K2A (B3,B4)", "x":10.75, "y":2}, + {"label":"K2B (B3,D7)", "x":11.75, "y":2}, + {"label":"K2C (B3,D5)", "x":12.75, "y":2, "w":2.25}, + {"label":"K2E (B3,D1)", "x":15.25, "y":2}, + {"label":"K30 (D4,F7)", "x":0, "y":3, "w":2.25}, + {"label":"K32 (D4,F5)", "x":2.25, "y":3}, + {"label":"K33 (D4,F4)", "x":3.25, "y":3}, + {"label":"K34 (D4,F1)", "x":4.25, "y":3}, + {"label":"K35 (D4,F0)", "x":5.25, "y":3}, + {"label":"K36 (D4,C7)", "x":6.25, "y":3}, + {"label":"K37 (D4,C6)", "x":7.25, "y":3}, + {"label":"K38 (D4,B6)", "x":8.25, "y":3}, + {"label":"K39 (D4,B5)", "x":9.25, "y":3}, + {"label":"K3A (D4,B4)", "x":10.25, "y":3}, + {"label":"K3B (D4,D7)", "x":11.25, "y":3}, + {"label":"K3C (D4,D5)", "x":12.25, "y":3, "w":1.75}, + {"label":"K3D (D4,D3)", "x":14, "y":3}, + {"label":"K40 (D6,F7)", "x":0, "y":4, "w":1.25}, + {"label":"K41 (D6,F6)", "x":1.25, "y":4, "w":1.25}, + {"label":"K43 (D6,F4)", "x":2.5, "y":4, "w":1.25}, + {"label":"K46 (D6,C7)", "x":3.75, "y":4, "w":6.25}, + {"label":"K4A (D6,B4)", "x":10, "y":4, "w":1.25}, + {"label":"K4B (D6,D7)", "x":11.25, "y":4, "w":1.25}, + {"label":"K4C (D6,D5)", "x":13, "y":4}, + {"label":"K4D (D6,D3)", "x":14, "y":4}, + {"label":"K4E (D6,D1)", "x":15, "y":4} + ] + } + } + ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" +} diff --git a/keyboards/alfredslab/swift65/solder/keymaps/default/keymap.c b/keyboards/alfredslab/swift65/solder/keymaps/default/keymap.c new file mode 100644 index 000000000000..274809bb1160 --- /dev/null +++ b/keyboards/alfredslab/swift65/solder/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2021 Steven Phillips (spooknik) + * + * 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_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_GRV, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + 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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + 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, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + +}; \ No newline at end of file diff --git a/keyboards/alfredslab/swift65/solder/keymaps/default/readme.md b/keyboards/alfredslab/swift65/solder/keymaps/default/readme.md new file mode 100644 index 000000000000..74de1460808a --- /dev/null +++ b/keyboards/alfredslab/swift65/solder/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# Default Swift65 Solder Layout + +![](https://i.imgur.com/7Capi8W.png) diff --git a/keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c b/keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c new file mode 100644 index 000000000000..9936becce637 --- /dev/null +++ b/keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2021 Steven Phillips (spooknik) + * + * 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_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_GRV, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + 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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + 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, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/alfredslab/swift65/solder/keymaps/via/readme.md b/keyboards/alfredslab/swift65/solder/keymaps/via/readme.md new file mode 100644 index 000000000000..74de1460808a --- /dev/null +++ b/keyboards/alfredslab/swift65/solder/keymaps/via/readme.md @@ -0,0 +1,3 @@ +# Default Swift65 Solder Layout + +![](https://i.imgur.com/7Capi8W.png) diff --git a/keyboards/cospad/keymaps/via/rules.mk b/keyboards/alfredslab/swift65/solder/keymaps/via/rules.mk similarity index 100% rename from keyboards/cospad/keymaps/via/rules.mk rename to keyboards/alfredslab/swift65/solder/keymaps/via/rules.mk diff --git a/keyboards/alfredslab/swift65/solder/readme.md b/keyboards/alfredslab/swift65/solder/readme.md new file mode 100644 index 000000000000..b4774381996a --- /dev/null +++ b/keyboards/alfredslab/swift65/solder/readme.md @@ -0,0 +1,20 @@ +# Swift65 + +A 65% Keyboard from Swiftcables + +* Keyboard Maintainer: [Steven Phillips (spoonik)](https://github.com/keyboardcollective) +* Hardware Supported: Swift65 Solder +* Hardware Availability: Soom from Swiftcables + +To enter bootloader for flashing firmware, press layer change key (MO(1)) and Right Shift simultaneously. + +Make example for this keyboard (after setting up your build environment): + + make alfredslab/swift65/solder:default + +Flashing example for this keyboard: + + make alfredslab/swift65/solder: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). + diff --git a/keyboards/alfredslab/swift65/solder/rules.mk b/keyboards/alfredslab/swift65/solder/rules.mk new file mode 100644 index 000000000000..d5207da28d5c --- /dev/null +++ b/keyboards/alfredslab/swift65/solder/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/alfredslab/swift65/solder/solder.c b/keyboards/alfredslab/swift65/solder/solder.c new file mode 100644 index 000000000000..4dd021ba7c92 --- /dev/null +++ b/keyboards/alfredslab/swift65/solder/solder.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Steven Phillips (spooknik) + * + * 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 "solder.h" diff --git a/keyboards/alfredslab/swift65/solder/solder.h b/keyboards/alfredslab/swift65/solder/solder.h new file mode 100644 index 000000000000..7629379f596c --- /dev/null +++ b/keyboards/alfredslab/swift65/solder/solder.h @@ -0,0 +1,33 @@ +/* Copyright 2021 Steven Phillips (spooknik) + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, KC_NO }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO }, \ + { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, KC_NO }, \ +} diff --git a/keyboards/allison/config.h b/keyboards/allison/config.h index f5ec5d90ab2d..450ec893fb5f 100644 --- a/keyboards/allison/config.h +++ b/keyboards/allison/config.h @@ -194,26 +194,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/allison/rules.mk b/keyboards/allison/rules.mk index c26a68e61efc..7cbc61c878fe 100644 --- a/keyboards/allison/rules.mk +++ b/keyboards/allison/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/allison_numpad/config.h b/keyboards/allison_numpad/config.h index b0d53c132e3d..46a9d1d446fd 100644 --- a/keyboards/allison_numpad/config.h +++ b/keyboards/allison_numpad/config.h @@ -194,26 +194,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/allison_numpad/info.json b/keyboards/allison_numpad/info.json index 8b4258bd1a79..1447c4104317 100644 --- a/keyboards/allison_numpad/info.json +++ b/keyboards/allison_numpad/info.json @@ -2,14 +2,71 @@ "keyboard_name": "allison_numpad", "url": "www.yiancar-designs.com", "maintainer": "Yiancar", - "width": 4, - "height": 6.25, + "width": 4, + "height": 6.25, "layouts": { "LAYOUT_ortho_6x4": { - "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"2,0", "x":0, "y":2.25}, {"label":"2,1", "x":1, "y":2.25}, {"label":"2,2", "x":2, "y":2.25}, {"label":"2,3", "x":3, "y":2.25}, {"label":"3,0", "x":0, "y":3.25}, {"label":"3,1", "x":1, "y":3.25}, {"label":"3,2", "x":2, "y":3.25}, {"label":"3,3", "x":3, "y":3.25}, {"label":"4,0", "x":0, "y":4.25}, {"label":"4,1", "x":1, "y":4.25}, {"label":"4,2", "x":2, "y":4.25}, {"label":"4,3", "x":3, "y":4.25}, {"label":"5,0", "x":0, "y":5.25}, {"label":"5,1", "x":1, "y":5.25}, {"label":"5,2", "x":2, "y":5.25}, {"label":"5,3", "x":3, "y":5.25}] + "layout": [ + {"label":"0,0", "x":0, "y":0}, + {"label":"0,1", "x":1, "y":0}, + {"label":"0,2", "x":2, "y":0}, + {"label":"0,3", "x":3, "y":0}, + + {"label":"1,0", "x":0, "y":1.25}, + {"label":"1,1", "x":1, "y":1.25}, + {"label":"1,2", "x":2, "y":1.25}, + {"label":"1,3", "x":3, "y":1.25}, + + {"label":"2,0", "x":0, "y":2.25}, + {"label":"2,1", "x":1, "y":2.25}, + {"label":"2,2", "x":2, "y":2.25}, + {"label":"2,3", "x":3, "y":2.25}, + + {"label":"3,0", "x":0, "y":3.25}, + {"label":"3,1", "x":1, "y":3.25}, + {"label":"3,2", "x":2, "y":3.25}, + {"label":"3,3", "x":3, "y":3.25}, + + {"label":"4,0", "x":0, "y":4.25}, + {"label":"4,1", "x":1, "y":4.25}, + {"label":"4,2", "x":2, "y":4.25}, + {"label":"4,3", "x":3, "y":4.25}, + + {"label":"5,0", "x":0, "y":5.25}, + {"label":"5,1", "x":1, "y":5.25}, + {"label":"5,2", "x":2, "y":5.25}, + {"label":"5,3", "x":3, "y":5.25} + ] }, "LAYOUT_numpad_6x4": { - "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"1,0", "x":0, "y":1.25}, {"label":"1,1", "x":1, "y":1.25}, {"label":"1,2", "x":2, "y":1.25}, {"label":"1,3", "x":3, "y":1.25}, {"label":"2,0", "x":0, "y":2.25}, {"label":"2,1", "x":1, "y":2.25}, {"label":"2,2", "x":2, "y":2.25}, {"label":"3,3", "x":3, "y":2.25, "h":2}, {"label":"3,0", "x":0, "y":3.25}, {"label":"3,1", "x":1, "y":3.25}, {"label":"3,2", "x":2, "y":3.25}, {"label":"4,0", "x":0, "y":4.25}, {"label":"4,1", "x":1, "y":4.25}, {"label":"4,2", "x":2, "y":4.25}, {"label":"5,3", "x":3, "y":4.25, "h":2}, {"label":"5,0", "x":0, "y":5.25, "w":2}, {"label":"5,2", "x":2, "y":5.25}] + "layout": [ + {"label":"0,0", "x":0, "y":0}, + {"label":"0,1", "x":1, "y":0}, + {"label":"0,2", "x":2, "y":0}, + {"label":"0,3", "x":3, "y":0}, + + {"label":"1,0", "x":0, "y":1.25}, + {"label":"1,1", "x":1, "y":1.25}, + {"label":"1,2", "x":2, "y":1.25}, + {"label":"1,3", "x":3, "y":1.25}, + + {"label":"2,0", "x":0, "y":2.25}, + {"label":"2,1", "x":1, "y":2.25}, + {"label":"2,2", "x":2, "y":2.25}, + + {"label":"3,0", "x":0, "y":3.25}, + {"label":"3,1", "x":1, "y":3.25}, + {"label":"3,2", "x":2, "y":3.25}, + {"label":"3,3", "x":3, "y":2.25, "h":2}, + + {"label":"4,0", "x":0, "y":4.25}, + {"label":"4,1", "x":1, "y":4.25}, + {"label":"4,2", "x":2, "y":4.25}, + + {"label":"5,0", "x":0, "y":5.25, "w":2}, + {"label":"5,2", "x":2, "y":5.25}, + {"label":"5,3", "x":3, "y":4.25, "h":2} + ] } } -} \ No newline at end of file +} diff --git a/keyboards/allison_numpad/rules.mk b/keyboards/allison_numpad/rules.mk index 3c176844bdf5..48000ca9a5ed 100644 --- a/keyboards/allison_numpad/rules.mk +++ b/keyboards/allison_numpad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/alpha/keymaps/default/keymap.c b/keyboards/alpha/keymaps/default/keymap.c index c18790fe4b3b..3632ecaea47a 100755 --- a/keyboards/alpha/keymaps/default/keymap.c +++ b/keyboards/alpha/keymaps/default/keymap.c @@ -41,9 +41,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, TO(0), MACRO1, KC_NO, KC_NO, KC_NO), }; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} diff --git a/keyboards/alpha/rules.mk b/keyboards/alpha/rules.mk index 773655f2fbc6..965667d9ad6f 100755 --- a/keyboards/alpha/rules.mk +++ b/keyboards/alpha/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/alpine65/rules.mk b/keyboards/alpine65/rules.mk index 56ee0e25b0e8..f287f36642a2 100644 --- a/keyboards/alpine65/rules.mk +++ b/keyboards/alpine65/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/alps64/rules.mk b/keyboards/alps64/rules.mk index 7dbe8e7dd0f9..91eb9f2e117d 100644 --- a/keyboards/alps64/rules.mk +++ b/keyboards/alps64/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change to no to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/alu84/alu84.c b/keyboards/alu84/alu84.c index 46e510efb5ab..3e058d3ed532 100755 --- a/keyboards/alu84/alu84.c +++ b/keyboards/alu84/alu84.c @@ -14,33 +14,4 @@ * along with this program. If not, see . */ - #include "alu84.h" -#include "rgblight.h" -#include "action_layer.h" -#include "quantum.h" -#include "action.h" - - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - - - diff --git a/keyboards/alu84/alu84.h b/keyboards/alu84/alu84.h index c171e4c1d8a6..dc263eb8d13d 100755 --- a/keyboards/alu84/alu84.h +++ b/keyboards/alu84/alu84.h @@ -14,28 +14,24 @@ * along with this program. If not, see . */ - -#ifndef ALU84_H -#define ALU84_H +#pragma once #include "quantum.h" +#define ___ KC_NO - -#define LAYOUT( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ - K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ - K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ - K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ - K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \ +#define LAYOUT_75_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \ + K50, K51, K53, K56, K5A, K5B, K5C, K5D, K5E, K5F \ ) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ - { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ - { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ - { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ - { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \ + { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \ + { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \ + { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F } \ } - -#endif diff --git a/keyboards/alu84/config.h b/keyboards/alu84/config.h index 9ebc1569e303..3700ced8cfe0 100755 --- a/keyboards/alu84/config.h +++ b/keyboards/alu84/config.h @@ -14,8 +14,7 @@ * along with this program. If not, see . */ -#ifndef ALU84_CONFIG_H -#define ALU84_CONFIG_H +#pragma once #include "config_common.h" @@ -30,21 +29,37 @@ #define MATRIX_ROWS 6 #define MATRIX_COLS 16 -/* key matrix pins */ +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ #define MATRIX_ROW_PINS { D0, D1, D2, D3, D5, B7 } #define MATRIX_COL_PINS { F0, F1, E6, C7, C6, F5, D4, B1, B0, B5, B4, D7, D6, B3, F4, F6 } #define UNUSED_PINS -/* COL2ROW or ROW2COL */ +/* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -/* number of backlight levels */ #define BACKLIGHT_PIN B6 -#ifdef BACKLIGHT_PIN #define BACKLIGHT_LEVELS 3 +#define BACKLIGHT_BREATHING + +#define RGB_DI_PIN E2 +#if defined(RGBLIGHT_ENABLE) +# define RGBLED_NUM 16 +# define RGBLIGHT_HUE_STEP 10 +# define RGBLIGHT_SAT_STEP 10 +# define RGBLIGHT_VAL_STEP 10 +# define RGBLIGHT_ANIMATIONS #endif -/* Set 0 if debouncing isn't needed */ +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ @@ -52,16 +67,3 @@ /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE - -#define RGB_DI_PIN E2 -#ifdef RGB_DI_PIN -#define RGBLED_NUM 16 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 10 -#define RGBLIGHT_VAL_STEP 10 - -#define RGBLIGHT_ANIMATIONS - -#endif - -#endif diff --git a/keyboards/alu84/info.json b/keyboards/alu84/info.json index 97f2b5facca2..cb3a1e5e1041 100644 --- a/keyboards/alu84/info.json +++ b/keyboards/alu84/info.json @@ -1,12 +1,105 @@ { - "keyboard_name": "ALU84", - "url": "", - "maintainer": "qmk", - "width": 16, - "height": 6, - "layouts": { - "LAYOUT": { - "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K015", "x":15, "y":0}, {"label":"K100", "x":0, "y":1}, {"label":"K101", "x":1, "y":1}, {"label":"K102", "x":2, "y":1}, {"label":"K103", "x":3, "y":1}, {"label":"K104", "x":4, "y":1}, {"label":"K105", "x":5, "y":1}, {"label":"K106", "x":6, "y":1}, {"label":"K107", "x":7, "y":1}, {"label":"K108", "x":8, "y":1}, {"label":"K109", "x":9, "y":1}, {"label":"K110", "x":10, "y":1}, {"label":"K111", "x":11, "y":1}, {"label":"K112", "x":12, "y":1}, {"label":"K114", "x":13, "y":1, "w":2}, {"label":"K115", "x":15, "y":1}, {"label":"K200", "x":0, "y":2, "w":1.5}, {"label":"K202", "x":1.5, "y":2}, {"label":"K203", "x":2.5, "y":2}, {"label":"K204", "x":3.5, "y":2}, {"label":"K205", "x":4.5, "y":2}, {"label":"K206", "x":5.5, "y":2}, {"label":"K207", "x":6.5, "y":2}, {"label":"K208", "x":7.5, "y":2}, {"label":"K209", "x":8.5, "y":2}, {"label":"K210", "x":9.5, "y":2}, {"label":"K211", "x":10.5, "y":2}, {"label":"K212", "x":11.5, "y":2}, {"label":"K213", "x":12.5, "y":2}, {"label":"K214", "x":13.5, "y":2, "w":1.5}, {"label":"K215", "x":15, "y":2}, {"label":"K300", "x":0, "y":3, "w":1.75}, {"label":"K302", "x":1.75, "y":3}, {"label":"K303", "x":2.75, "y":3}, {"label":"K304", "x":3.75, "y":3}, {"label":"K305", "x":4.75, "y":3}, {"label":"K306", "x":5.75, "y":3}, {"label":"K307", "x":6.75, "y":3}, {"label":"K308", "x":7.75, "y":3}, {"label":"K309", "x":8.75, "y":3}, {"label":"K310", "x":9.75, "y":3}, {"label":"K311", "x":10.75, "y":3}, {"label":"K312", "x":11.75, "y":3}, {"label":"K313", "x":12.75, "y":3, "w":2.25}, {"label":"K315", "x":15, "y":3}, {"label":"K400", "x":0, "y":4, "w":2.25}, {"label":"K402", "x":2.25, "y":4}, {"label":"K403", "x":3.25, "y":4}, {"label":"K404", "x":4.25, "y":4}, {"label":"K405", "x":5.25, "y":4}, {"label":"K406", "x":6.25, "y":4}, {"label":"K407", "x":7.25, "y":4}, {"label":"K408", "x":8.25, "y":4}, {"label":"K409", "x":9.25, "y":4}, {"label":"K410", "x":10.25, "y":4}, {"label":"K411", "x":11.25, "y":4}, {"label":"K413", "x":12.25, "y":4, "w":1.75}, {"label":"K414", "x":14, "y":4}, {"label":"K415", "x":15, "y":4}, {"label":"K500", "x":0, "y":5, "w":1.25}, {"label":"K501", "x":1.25, "y":5, "w":1.25}, {"label":"K503", "x":2.5, "y":5, "w":1.25}, {"label":"K506", "x":3.75, "y":5, "w":6.25}, {"label":"K510", "x":10, "y":5}, {"label":"K511", "x":11, "y":5}, {"label":"K512", "x":12, "y":5}, {"label":"K513", "x":13, "y":5}, {"label":"K514", "x":14, "y":5}, {"label":"K515", "x":15, "y":5}] + "keyboard_name": "ALU84", + "url": "", + "maintainer": "qmk", + "width": 16, + "height": 6, + "layout_aliases": { + "LAYOUT": "LAYOUT_75_ansi" + }, + "layouts": { + "LAYOUT_75_ansi": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K04", "x":4, "y":0}, + {"label":"K05", "x":5, "y":0}, + {"label":"K06", "x":6, "y":0}, + {"label":"K07", "x":7, "y":0}, + {"label":"K08", "x":8, "y":0}, + {"label":"K09", "x":9, "y":0}, + {"label":"K0A", "x":10, "y":0}, + {"label":"K0B", "x":11, "y":0}, + {"label":"K0C", "x":12, "y":0}, + {"label":"K0D", "x":13, "y":0}, + {"label":"K0E", "x":14, "y":0}, + {"label":"K0F", "x":15, "y":0}, + + {"label":"K10", "x":0, "y":1}, + {"label":"K11", "x":1, "y":1}, + {"label":"K12", "x":2, "y":1}, + {"label":"K13", "x":3, "y":1}, + {"label":"K14", "x":4, "y":1}, + {"label":"K15", "x":5, "y":1}, + {"label":"K16", "x":6, "y":1}, + {"label":"K17", "x":7, "y":1}, + {"label":"K18", "x":8, "y":1}, + {"label":"K19", "x":9, "y":1}, + {"label":"K1A", "x":10, "y":1}, + {"label":"K1B", "x":11, "y":1}, + {"label":"K1C", "x":12, "y":1}, + {"label":"K1E", "x":13, "y":1, "w":2}, + {"label":"K1F", "x":15, "y":1}, + + {"label":"K20", "x":0, "y":2, "w":1.5}, + {"label":"K22", "x":1.5, "y":2}, + {"label":"K23", "x":2.5, "y":2}, + {"label":"K24", "x":3.5, "y":2}, + {"label":"K25", "x":4.5, "y":2}, + {"label":"K26", "x":5.5, "y":2}, + {"label":"K27", "x":6.5, "y":2}, + {"label":"K28", "x":7.5, "y":2}, + {"label":"K29", "x":8.5, "y":2}, + {"label":"K2A", "x":9.5, "y":2}, + {"label":"K2B", "x":10.5, "y":2}, + {"label":"K2C", "x":11.5, "y":2}, + {"label":"K2D", "x":12.5, "y":2}, + {"label":"K2E", "x":13.5, "y":2, "w":1.5}, + {"label":"K2F", "x":15, "y":2}, + + {"label":"K30", "x":0, "y":3, "w":1.75}, + {"label":"K32", "x":1.75, "y":3}, + {"label":"K33", "x":2.75, "y":3}, + {"label":"K34", "x":3.75, "y":3}, + {"label":"K35", "x":4.75, "y":3}, + {"label":"K36", "x":5.75, "y":3}, + {"label":"K37", "x":6.75, "y":3}, + {"label":"K38", "x":7.75, "y":3}, + {"label":"K39", "x":8.75, "y":3}, + {"label":"K3A", "x":9.75, "y":3}, + {"label":"K3B", "x":10.75, "y":3}, + {"label":"K3C", "x":11.75, "y":3}, + {"label":"K3D", "x":12.75, "y":3, "w":2.25}, + {"label":"K3F", "x":15, "y":3}, + + {"label":"K40", "x":0, "y":4, "w":2.25}, + {"label":"K42", "x":2.25, "y":4}, + {"label":"K43", "x":3.25, "y":4}, + {"label":"K44", "x":4.25, "y":4}, + {"label":"K45", "x":5.25, "y":4}, + {"label":"K46", "x":6.25, "y":4}, + {"label":"K47", "x":7.25, "y":4}, + {"label":"K48", "x":8.25, "y":4}, + {"label":"K49", "x":9.25, "y":4}, + {"label":"K4A", "x":10.25, "y":4}, + {"label":"K4B", "x":11.25, "y":4}, + {"label":"K4D", "x":12.25, "y":4, "w":1.75}, + {"label":"K4E", "x":14, "y":4}, + {"label":"K4F", "x":15, "y":4}, + + {"label":"K50", "x":0, "y":5, "w":1.25}, + {"label":"K51", "x":1.25, "y":5, "w":1.25}, + {"label":"K53", "x":2.5, "y":5, "w":1.25}, + {"label":"K56", "x":3.75, "y":5, "w":6.25}, + {"label":"K5A", "x":10, "y":5}, + {"label":"K5B", "x":11, "y":5}, + {"label":"K5C", "x":12, "y":5}, + {"label":"K5D", "x":13, "y":5}, + {"label":"K5E", "x":14, "y":5}, + {"label":"K5F", "x":15, "y":5} + ] + } } - } } diff --git a/keyboards/alu84/keymaps/default/keymap.c b/keyboards/alu84/keymaps/default/keymap.c index 4122978ebaf0..ca370c765a89 100755 --- a/keyboards/alu84/keymaps/default/keymap.c +++ b/keyboards/alu84/keymaps/default/keymap.c @@ -1,100 +1,45 @@ -#include QMK_KEYBOARD_H - -#define _BL 0 -#define _FN1 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* BL - * ,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . - * | Esc | Scrn Brght Up | Scrn Bright Down | Expose | Launchpad | Show Desktop | Dock Hide Tog | Screen Capture | Shortcut | Shortcut | Shortcut| Shortcut | Play/Pause | Mute | Vol Up | Vol Down | - * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -| - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspace | POWER | - * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -| - * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | Shortcut | - * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -| - * | CAPS | A | S | D | F | G | H | J | K | L | ; | ' | Enter | Pg Up | - * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -| - * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up | Pg Dn | - * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -| - * | Control | Option/Alt | Gui | Space | Gui | Opt | Fn (layer) | Left | Down | Right | - * `- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -' +/* Copyright 2017 @TurboMech /u/TurboMech @A9entOran9e#6134 + * 2021 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 . */ - [_BL] = LAYOUT( - KC_ESC, KC_F14, KC_F15, LCTL(KC_UP), LCTL(KC_L), KC_F11, LALT(LGUI(KC_D)), LCTL(KC_S), LCTL(LSFT(KC_O)), LCTL(LGUI(KC_1)), LCTL(LGUI(KC_2)), LCTL(LGUI(KC_3)), KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, - 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_POWER, - 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, LCTL(LGUI(KC_N)), - 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_PGUP, - KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_PGDN, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), - -/* FN1 - * ,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . - * | Quit All | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Trns | Trns | DFU RESET | - * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -| - * | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | DELETE | Lock Shrct | - * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -| - * | Trns | RGB Toggle | RGB Mode | RGB Increase | RGB Decrease | RGB Hue Inc | RGB Hue Dec | RGB Sat Inc | RGB Sat Dec | Trns | Trns | Trns | Trns | Trns | Trns | - * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -| - * | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | - * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -| - * | Trns | Backlight Tog | Backlight Inc | Backlight Dec | Backlight Step | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | - * |- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -| - * | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | Trns | - * `- - -+ - - - - - - - + - - - - - - - - -+ - - - -+ - - - - - + - - - - - - -+ - - - - - - - + - - - - - - - -+ - - - - -+ - - - - -+ - - - - + - - - - -+ - - - - - -+ - - -+ - - - -+ - - - - -' - */ - - [_FN1] = LAYOUT( - LALT(LGUI(KC_Q)), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, RESET, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, LCTL(LALT(LGUI(KC_S))), - KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, BL_TOGG, BL_INC, BL_DEC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +#include QMK_KEYBOARD_H +enum layer_names { + _BL, + _FN1, }; -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 2); PORTB &= ~(1 << 2); - } else { - DDRB &= ~(1 << 2); PORTB &= ~(1 << 2); - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } + [_BL] = LAYOUT_75_ansi( + 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_MUTE, KC_VOLD, KC_VOLU, + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_75_ansi( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, BL_TOGG, BL_INC, BL_DEC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), -} +}; diff --git a/keyboards/alu84/keymaps/turbomech/config.h b/keyboards/alu84/keymaps/turbomech/config.h index 3013df9ba7f7..2a60c1f381a7 100644 --- a/keyboards/alu84/keymaps/turbomech/config.h +++ b/keyboards/alu84/keymaps/turbomech/config.h @@ -14,12 +14,7 @@ * along with this program. If not, see . */ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#define TAPPING_TOGGLE 2 -#include "../../config.h" +#pragma once // place overrides here - -#endif +#define TAPPING_TOGGLE 2 diff --git a/keyboards/alu84/keymaps/turbomech/keymap.c b/keyboards/alu84/keymaps/turbomech/keymap.c index 80006d0dbe79..24c0d2c2dac2 100644 --- a/keyboards/alu84/keymaps/turbomech/keymap.c +++ b/keyboards/alu84/keymaps/turbomech/keymap.c @@ -1,4 +1,5 @@ /* Copyright 2017 @TurboMech /u/TurboMech @A9entOran9e#6134 + * 2021 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 @@ -14,12 +15,9 @@ * along with this program. If not, see . */ - #include QMK_KEYBOARD_H #include "turbomech.h" -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - #define _QWERTY 0 //BASE layer #define _FUNCTION 1 //Function layer @@ -47,13 +45,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -' */ - [_QWERTY] = LAYOUT( - KC_ESC, KC_F14, KC_F15, LCTL(KC_UP), LCTL(KC_L), KC_F11, LALT(LGUI(KC_D)), LCTL(KC_S), LCTL(LSFT(KC_O)), LCTL(LGUI(KC_1)), LCTL(LGUI(KC_2)), LCTL(LGUI(KC_3)), KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, - 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_POWER, - 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, LCTL(LGUI(KC_N)), - 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_PGUP, - KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_PGDN, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + [_QWERTY] = LAYOUT_75_ansi( + KC_ESC, KC_F14, KC_F15, C(KC_UP), C(KC_L), KC_F11, A(G(KC_D)), C(KC_S), C(S(KC_O)), C(G(KC_1)), C(G(KC_2)), C(G(KC_3)), KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, + 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_POWER, + 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, C(G(KC_N)), + 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_PGUP, + KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_PGDN, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), /* FN1 - SEE readme.md * ,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -. @@ -77,81 +76,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -' */ - - [_FUNCTION] = LAYOUT( - LALT(LGUI(KC_Q)), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_RESET, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, LCTL(LALT(LGUI(KC_S))), - KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, BL_TOGG, BL_INC, BL_DEC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_FUNCTION] = LAYOUT_75_ansi( + A(G(KC_Q)), 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_RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, C(A(G(KC_S))), + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, BL_TOGG, BL_INC, BL_DEC, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), }; - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - DDRB |= (1 << 2); PORTB &= ~(1 << 2); - } else { - DDRB &= ~(1 << 2); PORTB &= ~(1 << 2); - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} - -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -} diff --git a/keyboards/alu84/keymaps/turbomech/rules.mk b/keyboards/alu84/keymaps/turbomech/rules.mk index c8b74bfc9a03..6c0a79b11095 100644 --- a/keyboards/alu84/keymaps/turbomech/rules.mk +++ b/keyboards/alu84/keymaps/turbomech/rules.mk @@ -1,12 +1,2 @@ -BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE ?= no # Mouse keys(+4700) -EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) -CONSOLE_ENABLE ?= no # Console for debug(+400) -COMMAND_ENABLE ?= no # Commands for debug and configuration -SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend -NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality -AUDIO_ENABLE ?= no -RGBLIGHT_ENABLE ?= yes -UNICODE_ENABLE ?= yes - +SLEEP_LED_ENABLE = no +UNICODE_ENABLE = yes diff --git a/keyboards/alu84/readme.md b/keyboards/alu84/readme.md index f98addd0bfbd..12da1d8a8f0d 100644 --- a/keyboards/alu84/readme.md +++ b/keyboards/alu84/readme.md @@ -1,16 +1,21 @@ -ALU84 -=== +# ALU84 -![alu84](https://i.imgur.com/wBfazDc.jpg) +![alu84](https://i.imgur.com/wBfazDch.jpg) -A 75% keyboard made and sold by MECHKEYS [More info on MECHKEYS](https://mechkeys.ca). +A 75% keyboard made and sold by MECHKEYS. -Keyboard Maintainer: [TurboMech](https://github.com/TurboMech) -Hardware Supported: ALU84 -Hardware Availability: [MECHKEYS](https://mechkeys.ca) +* Keyboard Maintainer: [The QMK Community](https://github.com/qmk) +* Hardware Supported: ALU84 +* Hardware Availability: [~~MECHKEYS~~](https://mechkeys.ca) (No longer available) Make example for this keyboard (after setting up your build environment): make alu84:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +Flashing example for this keyboard: + + make alu84:default:flash + +To reset the board into bootloader mode, hold Space+B while plugging the cable in. + +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/alu84/rules.mk b/keyboards/alu84/rules.mk index 81dbad070b6a..dff294e07ccc 100755 --- a/keyboards/alu84/rules.mk +++ b/keyboards/alu84/rules.mk @@ -2,25 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options -# comment out to disable the options. +# change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 75_ansi diff --git a/keyboards/amag23/amag23.c b/keyboards/amag23/amag23.c new file mode 100644 index 000000000000..5fda69e9990c --- /dev/null +++ b/keyboards/amag23/amag23.c @@ -0,0 +1,17 @@ +/* Copyright 2021 + * + * 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 "amag23.h" + diff --git a/keyboards/amag23/amag23.h b/keyboards/amag23/amag23.h new file mode 100644 index 000000000000..a737dde63c8d --- /dev/null +++ b/keyboards/amag23/amag23.h @@ -0,0 +1,32 @@ +/* Copyright 2021 + * + * 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 "quantum.h" + +// clang-format off +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, \ + K10, K11, K12, K13, K14, K15, \ + K20, K21, K22, K23, K24, K25, \ + K30, K31, K32, K33, K34 \ +) { \ + { K00, K01, K02, K03, K04, K05 }, \ + { K10, K11, K12, K13, K14, K15 }, \ + { K20, K21, K22, K23, K24, K25 }, \ + { K30, K31, K32, K33, KC_NO, K34 } \ +} +// clang-format on diff --git a/keyboards/amag23/config.h b/keyboards/amag23/config.h new file mode 100644 index 000000000000..798fcf9d0f7f --- /dev/null +++ b/keyboards/amag23/config.h @@ -0,0 +1,50 @@ +/* Copyright 2021 + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4B54 // "KT" +#define PRODUCT_ID 0x2323 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Koolertron +#define PRODUCT AMAG23 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 6 + +#define MATRIX_ROW_PINS { A0, A1, A2, A3 } +#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +#define RGBLED_NUM 7 +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/amag23/info.json b/keyboards/amag23/info.json new file mode 100644 index 000000000000..c57340772508 --- /dev/null +++ b/keyboards/amag23/info.json @@ -0,0 +1,36 @@ +{ + "keyboard_name": "AMAG23", + "url": "http://www.koolertron.com/koolertron-one-handed-macro-mechanical-keyboard-rgb-led-backlit-portable-mini-onehanded-mechanical-gaming-keypad-23-fully-programmable-keys-blue-switches-p-874.html", + "maintainer": "ianmclinden", + "width": 6, + "height": 4, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"K00", "x":0, "y":0}, + {"label":"K01", "x":1, "y":0}, + {"label":"K02", "x":2, "y":0}, + {"label":"K03", "x":3, "y":0}, + {"label":"K04", "x":4, "y":0}, + {"label":"K05", "x":5, "y":0}, + {"label":"K10", "x":0, "y":1}, + {"label":"K11", "x":1, "y":1}, + {"label":"K12", "x":2, "y":1}, + {"label":"K13", "x":3, "y":1}, + {"label":"K14", "x":4, "y":1}, + {"label":"K15", "x":5, "y":1}, + {"label":"K20", "x":0, "y":2}, + {"label":"K21", "x":1, "y":2}, + {"label":"K22", "x":2, "y":2}, + {"label":"K23", "x":3, "y":2}, + {"label":"K24", "x":4, "y":2}, + {"label":"K25", "x":5, "y":2}, + {"label":"K30", "x":0, "y":3}, + {"label":"K31", "x":1, "y":3}, + {"label":"K32", "x":2, "y":3}, + {"label":"K33", "x":3, "y":3}, + {"label":"K34", "x":4, "y":3, "w":2} + ] + } + } +} diff --git a/keyboards/amag23/keymaps/default/keymap.c b/keyboards/amag23/keymaps/default/keymap.c new file mode 100644 index 000000000000..6d36198849a4 --- /dev/null +++ b/keyboards/amag23/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2021 + * + * 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 { + BASE, + FN1 +}; + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [BASE] = LAYOUT_all( /* Base Layer */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_Y, + MO(FN1), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_Z, KC_X, KC_C, KC_B, KC_SPC + ), + [FN1] = LAYOUT_all( /* Function Layer */ + KC_NO, KC_NO, KC_NO, RGB_MOD, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ), +}; +// clang-format on + diff --git a/keyboards/amag23/keymaps/default/readme.md b/keyboards/amag23/keymaps/default/readme.md new file mode 100644 index 000000000000..a1a784cdfc74 --- /dev/null +++ b/keyboards/amag23/keymaps/default/readme.md @@ -0,0 +1,14 @@ +# Factory Keymap for Koolertron AMAG23 + +## Additional Notes +Default Keymap for AMAG23 as indicated on the original [product page](http://www.koolertron.com/koolertron-one-handed-macro-mechanical-keyboard-rgb-led-backlit-portable-mini-onehanded-mechanical-gaming-keypad-23-fully-programmable-keys-blue-switches-p-853.html). + +## Keymap + +![AMAG23 Factory Layout](https://i.imgur.com/c28RfwI.png) + +## Build + +To build the factory keymap, simply run: + + make amag23:default diff --git a/keyboards/amag23/keymaps/qwert/keymap.c b/keyboards/amag23/keymaps/qwert/keymap.c new file mode 100644 index 000000000000..4cb2e4736d2f --- /dev/null +++ b/keyboards/amag23/keymaps/qwert/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2021 + * + * 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 { + BASE, + FN1 +}; + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [BASE] = LAYOUT_all( /* Base Layer */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, + MO(FN1), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_SPC + ), + [FN1] = LAYOUT_all( /* Function Layer */ + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, + _______, RGB_TOG, RGB_VAI, RGB_MOD, RGB_HUI, _______, + _______, _______, RGB_VAD, RGB_RMOD,RGB_HUD, _______, + _______, _______, _______, _______, _______ + ), +}; +// clang-format on + diff --git a/keyboards/amag23/keymaps/qwert/readme.md b/keyboards/amag23/keymaps/qwert/readme.md new file mode 100644 index 000000000000..c3a7df467d81 --- /dev/null +++ b/keyboards/amag23/keymaps/qwert/readme.md @@ -0,0 +1,14 @@ +# QWERT Keymap for Koolertron AMAG23 + +## Additional Notes +QWERT keymap, based on the left hand of an ortholinear layout. + +## Keymap + +![AMAG23 QWERT Layout](https://i.imgur.com/fiDUo77.png) + +## Build + +To build the factory keymap, simply run: + + make amag23:qwert diff --git a/keyboards/amag23/readme.md b/keyboards/amag23/readme.md new file mode 100644 index 000000000000..6ffd64f879d4 --- /dev/null +++ b/keyboards/amag23/readme.md @@ -0,0 +1,27 @@ +# AMAG23 (Koolertron) + +![Koolertron AMAG23](https://i.imgur.com/DakwCxk.jpg) + +One Handed Macro Mechanical Keyboard, 23 Key with optional RGB backlighting. + +- Keyboard Maintainer: [ianmclinden](https://github.com/ianmclinden) +- Hardware Supported: AMAG23 (ATmega32A) +- Hardware Availability: + - [Newegg](https://www.newegg.com/p/32K-00H1-00001) + - [Amazon](https://www.amazon.com/Koolertron-Mechanical-Keyboard-One-Handed-Programmable/dp/B07RM1TBR8) + +Make example for this keyboard (after setting up your build environment): + + make amag23:default + +Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid)) + + make amag23:default:flash + +**Reset Key**: Hold down the *Escape* key while plugging in the keyboard. + +**Tips**: +- The keyboard comes with bootloadHID installed from factory. +- The RGB leds seem to be chained together in diagonal rows. The result is that only 7 individual colors are supported, and these are striped across the keypad. + +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/amag23/rules.mk b/keyboards/amag23/rules.mk new file mode 100644 index 000000000000..5fab15c39124 --- /dev/null +++ b/keyboards/amag23/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32a + +# Bootloader selection +BOOTLOADER = bootloadhid + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +WS2812_DRIVER = i2c diff --git a/keyboards/amj40/keymaps/fabian/rules.mk b/keyboards/amj40/keymaps/fabian/rules.mk index 90559e0dd226..59a2cb09a859 100644 --- a/keyboards/amj40/keymaps/fabian/rules.mk +++ b/keyboards/amj40/keymaps/fabian/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/amj40/keymaps/jetpacktuxedo/rules.mk b/keyboards/amj40/keymaps/jetpacktuxedo/rules.mk index 2b613b28e4ba..780d48a438a8 100644 --- a/keyboards/amj40/keymaps/jetpacktuxedo/rules.mk +++ b/keyboards/amj40/keymaps/jetpacktuxedo/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/amj40/keymaps/myee/rules.mk b/keyboards/amj40/keymaps/myee/rules.mk index fe07e43d8232..b8cc8b42c7bb 100644 --- a/keyboards/amj40/keymaps/myee/rules.mk +++ b/keyboards/amj40/keymaps/myee/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/amj40/rules.mk b/keyboards/amj40/rules.mk index e2f9c83102c3..b91f40ae3219 100755 --- a/keyboards/amj40/rules.mk +++ b/keyboards/amj40/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/amj60/amj60.c b/keyboards/amj60/amj60.c index 02aa116d5477..af0539a679dc 100644 --- a/keyboards/amj60/amj60.c +++ b/keyboards/amj60/amj60.c @@ -1 +1,17 @@ +/* Copyright 2016 Toni (@toneman77) + * + * 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 "amj60.h" diff --git a/keyboards/amj60/amj60.h b/keyboards/amj60/amj60.h index 07b406868ed3..feda68003079 100644 --- a/keyboards/amj60/amj60.h +++ b/keyboards/amj60/amj60.h @@ -1,5 +1,21 @@ -#ifndef AMJ60_H -#define AMJ60_H +/* Copyright 2016 Toni (@toneman77) + * 2021 James Young for QMK (@noroadsleft) + * + * 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 "quantum.h" @@ -7,23 +23,43 @@ #define XXX KC_NO /* AMJ60 layout to the best of my knowledge matrix layout - * ,-----------------------------------------------------------. - * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d| 49| - * |-----------------------------------------------------------| - * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d | - * |-----------------------------------------------------------| - * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2d | - * |-----------------------------------------------------------| - * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3c | 3d | - * |-----------------------------------------------------------| - * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d | - * `-----------------------------------------------------------' + * + * I scoured the internet researching this PCB, which near as I know was + * discontinued around 2017. Fortunately, the wiring seems to be based on the + * GH60, and I own a KC60, which is also based on the GH60. I traced my KC60 + * (which I already had apart!) and worked out the right shift can be split + * 1.75/1 (HHKB style) or 1/1.75 (JIS/ABNT2). With either split, the 1u key + * was on column C, so I used that here. + * + * - noroadsleft + * + * ┌───────┐ + * 2u Backspace │0d │ + * └───────┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │49 │ ┌─────┐ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ │ │ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ ┌──┴┐ │ ISO Enter + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ │2c │2d │ + * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │ └───┴────┘ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ ┌──────────┐ + * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3c │ │3d │ 2.75u RShift + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ └──────────┘ + * │40 │41 │42 │ 45 │4a │4b │4c │4d │ ┌───┬──────┐ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ │3c │3d │ JIS RShift + * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ └───┴──────┘ + * Tsangan │40 │41 │42 │ 45 │4b │4c │4d │ + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + * ┌─────┬───┬─────┬───────────────────────┬─────┬───┬───┬─────┐ + * Topre-style │40 │41 │42 │ 45 │4a │4b │4c │4d │ + * └─────┴───┴─────┴───────────────────────┴─────┴───┴───┴─────┘ + * */ -#define LAYOUT( \ +#define LAYOUT_all( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \ k40, k41, k42, k45, k4a, k4b, k4c, k4d \ ) \ { \ @@ -34,20 +70,6 @@ {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \ } -/* - * ANSI - * ,-----------------------------------------------------------. - * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d | - * |-----------------------------------------------------------| - * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d | - * |-----------------------------------------------------------| - * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2d | - * |-----------------------------------------------------------| - * | 30 | 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | - * |-----------------------------------------------------------| - * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d | - * `-----------------------------------------------------------' - */ #define LAYOUT_60_ansi( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ @@ -63,107 +85,47 @@ {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \ } -/* AMJ60 HHKB matrix layout - * ,------------------------------------------------------------. - * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d| 49 | - * |------------------------------------------------------------| - * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d | - * |------------------------------------------------------------| - * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2d | - * |------------------------------------------------------------| - * | 30 | 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | 3c | - * |------------------------------------------------------------| - * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d | - * `------------------------------------------------------------' - */ - -#define LAYOUT_hhkb( \ +#define LAYOUT_60_hhkb( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \ - k40, k41, k42, k45, k4a, k4b, k4c, k4d \ + k41, k42, k45, k4b, k4c \ ) \ { \ {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \ {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ - {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \ + {XXX, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, XXX, k4b, k4c, XXX} \ } -/* ISO - * ,-----------------------------------------------------------. - * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d | - * |-----------------------------------------------------------| - * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d | - * |-----------------------------------------------------------| - * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c|2d | - * |-----------------------------------------------------------| - * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | - * |-----------------------------------------------------------| - * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d | - * `-----------------------------------------------------------' - */ -#define LAYOUT_iso( \ +#define LAYOUT_60_iso( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ k40, k41, k42, k45, k4a, k4b, k4c, k4d \ ) \ { \ {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ - {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX}, \ {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \ {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \ {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \ } -/* ISO w/ split right shift key matrix layout - * ,-----------------------------------------------------------. - * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d | - * |-----------------------------------------------------------| - * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d | - * |-----------------------------------------------------------| - * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c|2d | - * |-----------------------------------------------------------| - * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | 3c | - * |-----------------------------------------------------------| - * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d | - * `-----------------------------------------------------------' - */ -#define LAYOUT_iso_splitrshift( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \ - k40, k41, k42, k45, k4a, k4b, k4c, k4d \ -) \ -{ \ - {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ - {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ - {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \ - {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ - {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \ -} - -#define LAYOUT_max( \ +#define LAYOUT_60_ansi_split_bs_rshift( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \ k40, k41, k42, k45, k4a, k4b, k4c, k4d \ ) \ { \ {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \ - {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ + {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \ } - -void matrix_init_user(void); -void matrix_scan_user(void); - -#endif diff --git a/keyboards/amj60/config.h b/keyboards/amj60/config.h index 008539368dc0..8d53efd3f393 100644 --- a/keyboards/amj60/config.h +++ b/keyboards/amj60/config.h @@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef CONFIG_H -#define CONFIG_H +#pragma once #include "config_common.h" @@ -31,46 +30,69 @@ along with this program. If not, see . #define MATRIX_ROWS 5 #define MATRIX_COLS 14 -// ROWS: Top to bottom, COLS: Left to right - -#define MATRIX_ROW_PINS { F7, F6, F5, F4, D5} -#define MATRIX_COL_PINS { F1, F0, E6, C7, C6, B0, D4, B1, B7, B5, B4, D7, D6, B3} +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F7, F6, F5, F4, D5 } +#define MATRIX_COL_PINS { F1, F0, E6, C7, C6, B0, D4, B1, B7, B5, B4, D7, D6, B3 } #define UNUSED_PINS -/* COL2ROW or ROW2COL */ +/* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW #define LED_CAPS_LOCK_PIN B2 #define LED_PIN_ON_STATE 0 #define BACKLIGHT_PIN B6 +#define BACKLIGHT_LEVELS 4 +#define BACKLIGHT_BREATHING +#define RGB_DI_PIN E2 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 8 +# define RGBLIGHT_HUE_STEP 10 +# define RGBLIGHT_SAT_STEP 17 +# define RGBLIGHT_VAL_STEP 17 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* Backlight configuration - */ -#define BACKLIGHT_LEVELS 4 - -/* Underlight configuration - */ - -#define RGB_DI_PIN E2 -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 8 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - /* * Feature disable options * These options are also useful to firmware size reduction. @@ -86,7 +108,11 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION -#endif +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/amj60/info.json b/keyboards/amj60/info.json index dd6a7aef0ddf..3bef63e33bf6 100644 --- a/keyboards/amj60/info.json +++ b/keyboards/amj60/info.json @@ -1,27 +1,360 @@ { - "keyboard_name": "AMJ60", - "url": "", - "maintainer": "qmk", - "width": 15, - "height": 5, - "layouts": { - "LAYOUT": { - "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3c", "x":12.25, "y":3, "w":1.75}, {"label":"k3d", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] - }, - "LAYOUT_60_ansi": { - "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2d", "x":12.75, "y":2, "w":2.25}, {"label":"k30", "x":0, "y":3, "w":2.25}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":2.75}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] - }, - "LAYOUT_hhkb": { - "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2d", "x":12.75, "y":2, "w":2.25}, {"label":"k30", "x":0, "y":3, "w":2.25}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] - }, - "LAYOUT_iso": { - "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":2.75}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] - }, - "LAYOUT_iso_splitrshift": { - "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] - }, - "LAYOUT_max": { - "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2d", "x":12.75, "y":2, "w":2.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] + "keyboard_name": "AMJ60", + "url": "", + "maintainer": "qmk", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k49", "x":14, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k1d", "x":13.5, "y":1, "w":1.5}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2c", "x":12.75, "y":2}, + {"label":"k2d", "x":13.75, "y":2, "w":1.25}, + + {"label":"k30", "x":0, "y":3, "w":1.25}, + {"label":"k31", "x":1.25, "y":3}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3d", "x":12.25, "y":3, "w":1.75}, + {"label":"k3c", "x":14, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k45", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4, "w":1.25}, + {"label":"k4b", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":12.5, "y":4, "w":1.25}, + {"label":"k4d", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0, "w":2}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k1d", "x":13.5, "y":1, "w":1.5}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2d", "x":12.75, "y":2, "w":2.25}, + + {"label":"k30", "x":0, "y":3, "w":2.25}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3d", "x":12.25, "y":3, "w":2.75}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k45", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4, "w":1.25}, + {"label":"k4b", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":12.5, "y":4, "w":1.25}, + {"label":"k4d", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k49", "x":14, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k1d", "x":13.5, "y":1, "w":1.5}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2d", "x":12.75, "y":2, "w":2.25}, + + {"label":"k30", "x":0, "y":3, "w":2.25}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3d", "x":12.25, "y":3, "w":1.75}, + {"label":"k3c", "x":14, "y":3}, + + {"label":"k41", "x":1.5, "y":4}, + {"label":"k42", "x":2.5, "y":4, "w":1.5}, + {"label":"k45", "x":4, "y":4, "w":7}, + {"label":"k4b", "x":11, "y":4, "w":1.5}, + {"label":"k4c", "x":12.5, "y":4} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0, "w":2}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2c", "x":12.75, "y":2}, + {"label":"k2d", "x":13.75, "y":1, "w":1.25, "h":2}, + + {"label":"k30", "x":0, "y":3, "w":1.25}, + {"label":"k31", "x":1.25, "y":3}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3d", "x":12.25, "y":3, "w":2.75}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k45", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4, "w":1.25}, + {"label":"k4b", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":12.5, "y":4, "w":1.25}, + {"label":"k4d", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k49", "x":14, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k1d", "x":13.5, "y":1, "w":1.5}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2d", "x":12.75, "y":2, "w":2.25}, + + {"label":"k30", "x":0, "y":3, "w":2.25}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3d", "x":12.25, "y":3, "w":1.75}, + {"label":"k3c", "x":14, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k45", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4, "w":1.25}, + {"label":"k4b", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":12.5, "y":4, "w":1.25}, + {"label":"k4d", "x":13.75, "y":4, "w":1.25} + ] + } } - } } diff --git a/keyboards/amj60/keymaps/default/keymap.c b/keyboards/amj60/keymaps/default/keymap.c index c5dc25018c8c..6a0a394f54e5 100644 --- a/keyboards/amj60/keymaps/default/keymap.c +++ b/keyboards/amj60/keymaps/default/keymap.c @@ -1,55 +1,72 @@ +/* Copyright 2016 Toni (@toneman77) + * 2021 James Young for QMK (@noroadsleft) + * + * 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 -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _DEF 0 -#define _SPC 1 +enum layer_names { + _DEF, + _FN, +}; // dual-role shortcuts -#define SPACEDUAL LT(_SPC, KC_SPACE) +#define FN_SPC LT(_FN, KC_SPC) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _DEF: Default Layer * ,-----------------------------------------------------------. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ | ~ | + * |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ~ | * |-----------------------------------------------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| bspc| + * |Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bspc| * |-----------------------------------------------------------| - * |Caps | A| S| D| F| G| H| J| K| L| ;| '| Return | + * |Caps | A | S | D | F | G | H | J | K | L | ; | ' | Return | * |-----------------------------------------------------------| - * |Sft | Fn0| Z| X| C| V| B| N| M| ,| .| /| Sft |Fn2| + * |Sft | \ | Z | X | C | V | B | N | M | , | . | / |Shift |Fn | * |-----------------------------------------------------------| - * |Ctrl|Win |Alt | Space/Fn0 |Alt |Win |Menu|RCtl| + * |Ctrl|GUI |Alt | Space/Fn |Alt |GUI | Fn |RCtl| * `-----------------------------------------------------------' */ - [_DEF] = LAYOUT_max( - 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, F(0), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, F(1), \ - KC_LCTL, KC_LALT, KC_LGUI, SPACEDUAL, KC_RGUI, KC_RALT, KC_RCTL, F(2)), + [_DEF] = 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_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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, FN_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL + ), /* Keymap 1: F-and-vim Layer, modified with Space (by holding space) * ,-----------------------------------------------------------. - * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| | | + * |PSc|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| | | * |-----------------------------------------------------------| - * | |Paus| Up| [ | ] | | | | ( | ) | | | | Del | + * | |Pau| Up| | | | | | ( | ) | | | | Del | * |-----------------------------------------------------------| - * | |Lft|Dwn|Rgt| | |Left|Down|Right|Up| | | PLAY | + * | |Lft|Dwn|Rgt| | |Lft|Dwn|Up |Rgh| | | Play | * |-----------------------------------------------------------| - * | | | | | < | > | |M0 | | | | | Vol+ | | + * | | | | | | |Spc| | | | | | Vol+ | | * |-----------------------------------------------------------| - * | | | | |Alt |Prev|Vol-|Next| + * | | | | | |Prev|Vol-|Next| * `-----------------------------------------------------------' */ - [_SPC] = LAYOUT_max( - KC_PSCR, 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_PAUS, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_MPLY, \ - _______, _______, _______, _______, _______, _______, KC_SPACE, M(0), _______, _______, _______, _______, KC_VOLU, _______, \ - _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), + [_FN] = LAYOUT_all( + KC_PSCR, 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_PAUS, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_MPLY, + _______, _______, _______, _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, KC_VOLU, _______, + _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), }; diff --git a/keyboards/amj60/keymaps/iso_split_rshift/build.sh b/keyboards/amj60/keymaps/iso_split_rshift/build.sh deleted file mode 100755 index 6b4b4568f54d..000000000000 --- a/keyboards/amj60/keymaps/iso_split_rshift/build.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash -# adjust for cpu -# -j 16 gave best result on a hyperthreaded quad core core i7 - -LIMIT=10 -THREADS="-j 16" -KMAP=iso_split_rshift - -echo "We need sudo later" -sudo ls 2>&1 /dev/null - -function wait_bootloader { - echo "Waiting for Bootloader..." - local STARTTIME=$(date +"%s") - local REMIND=0 - local EXEC=dfu-programmer - local TARGET=atmega32u4 - while true - do - sudo $EXEC $TARGET get > /dev/null 2>&1 - [ $? -eq 0 ] && break - ENDTIME=$(date +"%s") - DURATION=$(($ENDTIME-$STARTTIME)) - if [ $REMIND -eq 0 -a $DURATION -gt $LIMIT ] - then - echo "Did you forget to press the reset button?" - REMIND=1 - fi - sleep 1 - done -} -make clean -make KEYMAP=${KMAP} ${THREADS} -if [[ $? -eq 0 ]] -then - echo "please trigger flashing!" - wait_bootloader - sudo make KEYMAP=${KMAP} dfu ${THREADS} -else - echo "make failed" - exit 77 -fi diff --git a/keyboards/amj60/keymaps/iso_split_rshift/keymap.c b/keyboards/amj60/keymaps/iso_split_rshift/keymap.c deleted file mode 100644 index 4fbf87c65259..000000000000 --- a/keyboards/amj60/keymaps/iso_split_rshift/keymap.c +++ /dev/null @@ -1,113 +0,0 @@ - -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _DEF 0 -#define _SPC 1 -#define _TAB 2 -#define _SFX 3 - -// dual-role shortcuts -#define TABDUAL LT(_TAB, KC_TAB) -#define CAPSDUAL CTL_T(KC_ESC) -#define SPACEDUAL LT(_SPC, KC_SPACE) -#define ENTERDUAL CTL_T(KC_ENT) -// arrow cluster duality bottom right corner -#define ARRLEFT ALT_T(KC_LEFT) -#define ARRDOWN GUI_T(KC_DOWN) -#define ARRUP SFT_T(KC_UP) -#define ARRRIGHT CTL_T(KC_RIGHT) -// german brackets -#define GER_CUR_L RALT(KC_7) // [ -#define GER_CUR_R RALT(KC_0) // ] -#define GER_PAR_L LSFT(KC_8) // ( -#define GER_PAR_R LSFT(KC_9) // ) -#define GER_ANG_L KC_NUBS // < -#define GER_ANG_R LSFT(KC_NUBS) // > -#define GER_BRC_L RALT(KC_8) // [ -#define GER_BRC_R RALT(KC_9) // ] - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _DEF: Default Layer - * ,-----------------------------------------------------------. - * |Grv| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | - * |-----------------------------------------------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | Tab is Fn1 - * |-----------------------------------------------------------| - * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| Return | - * |-----------------------------------------------------------| - * |Sft | < | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn2| RShift is UP - * |-----------------------------------------------------------| - * |Ctrl|Win |Alt | Space/Fn0 |Alt |Win |Menu|RCtl| Gui Menu, RCtrl is - * `-----------------------------------------------------------' LEFT DWN RIGHT - */ - [_DEF] = LAYOUT_iso_splitrshift( - 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, \ - TABDUAL, 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, \ - CAPSDUAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, ENTERDUAL, \ - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, ARRUP, TG(_SFX), \ - KC_LCTL, KC_LGUI, KC_LALT, SPACEDUAL, KC_RALT, ARRLEFT, ARRDOWN, ARRRIGHT), - - /* Keymap 1: F-and-vim Layer, modified with Space (by holding space) - * ,-----------------------------------------------------------. - * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete| - * |-----------------------------------------------------------| - * | |Paus| Up| [ | ] | | | | ( | ) | | | | | - * |-----------------------------------------------------------| - * | |Lft|Dwn|Rgt| | |Left|Down|Right|Up| | | PLAY | - * |-----------------------------------------------------------| - * | | | | | < | > | |M0 | | | | | Vol+ | | - * |-----------------------------------------------------------| - * | | | | |Alt |Prev|Vol-|Next| - * `-----------------------------------------------------------' - */ - [_SPC] = LAYOUT_iso_splitrshift( - KC_PSCR, 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_PAUS, KC_UP, GER_BRC_L, GER_BRC_R, _______, _______, GER_PAR_L, GER_PAR_R, _______, _______, _______, _______, _______, \ - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_MPLY, \ - _______, _______, _______, _______, GER_ANG_L, GER_ANG_R, KC_SPACE, RALT(KC_SPC),_______, _______, _______, _______, KC_VOLU, _______, \ - _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), - - /* Keymap 2: Tab Layer w/ vim pageup, modified with Tab (by holding tab) - * ,-----------------------------------------------------------. - * |WAKE| | | | | | | | | | | | |Insert| TAB+GRC = WAKE - * |-----------------------------------------------------------| - * | | | | | | | | | { | } | | | | | - * |-----------------------------------------------------------| - * | | | | | | |Pos1|PgDn|PgUp|End| | |Retrn | - * |-----------------------------------------------------------| - * | | | | | | | |AF2| | | | | PgUp | | - * |-----------------------------------------------------------| - * | | | | |Alt |Pos1|PgDn|End | - * `-----------------------------------------------------------' - */ - [_TAB] = LAYOUT_iso_splitrshift( - KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \ - _______, _______, _______, _______, _______, _______, _______, GER_CUR_L, GER_CUR_R, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, KC_ENT, \ - _______, _______, _______, _______, _______, _______, _______, A(KC_F2), _______, _______, _______, _______, KC_PGUP, _______, \ - _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END), - - /* Keymap 3: Split right shift Numpad toggle Layer (by tapping the split rshift key) - * ,-----------------------------------------------------------. - * |RSET| | | | | | | 7| 8| 9| | | |Backsp | - * |-----------------------------------------------------------| - * | | | | | | | | 4 | 5 | 6 | | | | \ | - * |-----------------------------------------------------------| - * | | L | L | | | | | 1 | 2 | 3 | | | Return | - * |-----------------------------------------------------------| - * | | | L | L | L | L | L | L | | 0 | | /| Up | | All "L"s represent - * |-----------------------------------------------------------| LED controlling - * |Ctrl|Win |Alt | |Alt |Left|Down|Right| - * `-----------------------------------------------------------' - */ - [_SFX] = LAYOUT_iso_splitrshift( - RESET, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, KC_BSPC, \ - _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, KC_BSLS, \ - _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, XXXXXXX, KC_ENT, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_0, _______, KC_SLSH, KC_UP, _______, \ - _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT), -}; diff --git a/keyboards/amj60/keymaps/iso_split_rshift/readme.md b/keyboards/amj60/keymaps/iso_split_rshift/readme.md deleted file mode 100644 index 2113d93e4d50..000000000000 --- a/keyboards/amj60/keymaps/iso_split_rshift/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -toneman77's custom spacefn Layout -===================== - -##Quantum MK Firmware -For the full Quantum feature list, see the parent readme.md. - -# Features -* heavily modified ISO (!) layout with split right shift key -* spaceFn -* Dual-Role keys: -* - | Original key | when tapped | when held | - | ---------------- | ------------- | ------------- | - | Space | Space | layer change | - | Caps lock | Escape | Control | - | Tab | Tab | layer change | - | Enter | Enter | Control | - -* vim-style arrow keys on hjkl (spacefn layer) -* corresponding Home/PgDn/PgUp/End on hjkl (tab layer) -* bonus arrow keys in the bottom right corner on Alt/Win/Menu/rCtrl/Shift -* more bonus arrow keys on wasd (spacefn layer) -* media keys prev/next/play/vol+/vol- (spacefn layer) -* firmware bootloader button -* additional brackets that only work in german layout due to horrible placement -in the default qwertz layout - - -### Additional Credits -* visualization of the layers [here](http://www.keyboard-layout-editor.com/#/gists/aba4e4396459ede85bc66a22cee88e48) (without the LED keys) diff --git a/keyboards/amj60/keymaps/iso_split_rshift/rules.mk b/keyboards/amj60/keymaps/iso_split_rshift/rules.mk deleted file mode 100644 index 1b34f4f60606..000000000000 --- a/keyboards/amj60/keymaps/iso_split_rshift/rules.mk +++ /dev/null @@ -1,20 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - diff --git a/keyboards/amj60/keymaps/iso_split_rshift/updatemerge.sh b/keyboards/amj60/keymaps/iso_split_rshift/updatemerge.sh deleted file mode 100755 index da5457e19531..000000000000 --- a/keyboards/amj60/keymaps/iso_split_rshift/updatemerge.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -git checkout amj60 # gets you on branch amj60 -git fetch origin # gets you up to date with origin -git merge origin/master diff --git a/keyboards/amj60/keymaps/maximized/keymap.c b/keyboards/amj60/keymaps/maximized/keymap.c deleted file mode 100644 index c5dc25018c8c..000000000000 --- a/keyboards/amj60/keymaps/maximized/keymap.c +++ /dev/null @@ -1,55 +0,0 @@ - -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _DEF 0 -#define _SPC 1 - -// dual-role shortcuts -#define SPACEDUAL LT(_SPC, KC_SPACE) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _DEF: Default Layer - * ,-----------------------------------------------------------. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ | ~ | - * |-----------------------------------------------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| bspc| - * |-----------------------------------------------------------| - * |Caps | A| S| D| F| G| H| J| K| L| ;| '| Return | - * |-----------------------------------------------------------| - * |Sft | Fn0| Z| X| C| V| B| N| M| ,| .| /| Sft |Fn2| - * |-----------------------------------------------------------| - * |Ctrl|Win |Alt | Space/Fn0 |Alt |Win |Menu|RCtl| - * `-----------------------------------------------------------' - */ - [_DEF] = LAYOUT_max( - 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, F(0), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, F(1), \ - KC_LCTL, KC_LALT, KC_LGUI, SPACEDUAL, KC_RGUI, KC_RALT, KC_RCTL, F(2)), - - /* Keymap 1: F-and-vim Layer, modified with Space (by holding space) - * ,-----------------------------------------------------------. - * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| | | - * |-----------------------------------------------------------| - * | |Paus| Up| [ | ] | | | | ( | ) | | | | Del | - * |-----------------------------------------------------------| - * | |Lft|Dwn|Rgt| | |Left|Down|Right|Up| | | PLAY | - * |-----------------------------------------------------------| - * | | | | | < | > | |M0 | | | | | Vol+ | | - * |-----------------------------------------------------------| - * | | | | |Alt |Prev|Vol-|Next| - * `-----------------------------------------------------------' - */ - [_SPC] = LAYOUT_max( - KC_PSCR, 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_PAUS, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ - _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_MPLY, \ - _______, _______, _______, _______, _______, _______, KC_SPACE, M(0), _______, _______, _______, _______, KC_VOLU, _______, \ - _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), - -}; diff --git a/keyboards/amj60/readme.md b/keyboards/amj60/readme.md index 394f86456224..50cf3cfcb23b 100644 --- a/keyboards/amj60/readme.md +++ b/keyboards/amj60/readme.md @@ -1,14 +1,22 @@ -AMJ60 -=== +# AMJ60 + +![AMJ60](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/amj60/s-l1200_640.jpg) A 60% keyboard. -Keyboard Maintainer: QMK Community -Hardware Supported: AMJ60 -Hardware Availability: https://geekhack.org/index.php?topic=77636.0 +* Keyboard Maintainer: [The QMK Community](https://github.com/qmk) +* Hardware Supported: AMJ60 +* Hardware Availability: [~~Taobao~~](http://item.taobao.com/item.htm?id=43500549469) (no longer available) +* References: [Geekhack](https://geekhack.org/index.php?topic=77636.0) Make example for this keyboard (after setting up your build environment): - make amj60:maximized + make amj60:default + +Flashing example for this keyboard: + + make amj60:default:flash + +To reset the board into bootloader mode, tap the Reset switch mounted on the bottom side of the PCB. -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +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/amj60/rules.mk b/keyboards/amj60/rules.mk index 7bc8ffe181b3..16f416140cd2 100644 --- a/keyboards/amj60/rules.mk +++ b/keyboards/amj60/rules.mk @@ -2,29 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options -# comment out to disable the options. +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output -LAYOUTS = 60_ansi +LAYOUTS = 60_ansi 60_hhkb 60_iso 60_ansi_split_bs_rshift diff --git a/keyboards/amj96/amj96.c b/keyboards/amj96/amj96.c index 959e321c8f69..65fca6f12adf 100644 --- a/keyboards/amj96/amj96.c +++ b/keyboards/amj96/amj96.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "amj96.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/amj96/config.h b/keyboards/amj96/config.h index 123bc618b306..eaa33f6281af 100644 --- a/keyboards/amj96/config.h +++ b/keyboards/amj96/config.h @@ -151,26 +151,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - #define RGBLIGHT_ANIMATIONS #define RGBLED_NUM 16 #define RGB_DI_PIN D3 diff --git a/keyboards/amj96/keymaps/default/keymap.c b/keyboards/amj96/keymaps/default/keymap.c index a520fdeb31fb..f670b3c4f434 100644 --- a/keyboards/amj96/keymaps/default/keymap.c +++ b/keyboards/amj96/keymaps/default/keymap.c @@ -35,19 +35,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/amj96/rules.mk b/keyboards/amj96/rules.mk index 6009b14d8dcb..e09d8d0b592d 100644 --- a/keyboards/amj96/rules.mk +++ b/keyboards/amj96/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/amjkeyboard/amj66/amj66.c b/keyboards/amjkeyboard/amj66/amj66.c index 05e29975b66f..6d77e43a0a29 100644 --- a/keyboards/amjkeyboard/amj66/amj66.c +++ b/keyboards/amjkeyboard/amj66/amj66.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "amj66.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/amjkeyboard/amj66/rules.mk b/keyboards/amjkeyboard/amj66/rules.mk index 97fa9bc76fe3..db2667086fac 100644 --- a/keyboards/amjkeyboard/amj66/rules.mk +++ b/keyboards/amjkeyboard/amj66/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/amjpad/keymaps/max/keymap.c b/keyboards/amjpad/keymaps/max/keymap.c index eb50567e987c..7bfaed59991e 100644 --- a/keyboards/amjpad/keymaps/max/keymap.c +++ b/keyboards/amjpad/keymaps/max/keymap.c @@ -4,9 +4,6 @@ #include "rgblight.h" #endif -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -64,37 +61,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT ), }; - -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -} diff --git a/keyboards/amjpad/rules.mk b/keyboards/amjpad/rules.mk index f807eddc2285..297f810b0119 100644 --- a/keyboards/amjpad/rules.mk +++ b/keyboards/amjpad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -22,7 +15,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/anavi/macropad2/config.h b/keyboards/anavi/macropad2/config.h deleted file mode 100644 index f0448e4d710c..000000000000 --- a/keyboards/anavi/macropad2/config.h +++ /dev/null @@ -1,69 +0,0 @@ -/* -Copyright 2021 Leon Anavi - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xCEEB -#define PRODUCT_ID 0x0002 -#define DEVICE_VER 0x0001 -#define MANUFACTURER ANAVI -#define PRODUCT Macro Pad 2 - -/* matrix size */ -#define MATRIX_ROWS 1 -#define MATRIX_COLS 2 - -/* - * Keyboard Matrix Assignments - * - * On this board we have direct connection: no diodes. - */ -#define DIRECT_PINS {{ B2, B0 }} - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -#define BACKLIGHT_PIN B1 -#define BACKLIGHT_LEVELS 2 -#define RGBLIGHT_SLEEP - -//#define RGBLED_NUM 2 -//#define RGB_DI_PIN B2 - -// Save as much space as we can... -#define LAYER_STATE_8BIT -#define NO_ACTION_LAYER -#define NO_ACTION_TAPPING -#define NO_ACTION_ONESHOT -#define NO_RESET - -// usbconfig.h overrides -#define USB_CFG_IOPORTNAME B -#define USB_CFG_DMINUS_BIT 3 -#define USB_CFG_DPLUS_BIT 4 -#define USB_COUNT_SOF 0 -#define USB_INTR_CFG PCMSK -#define USB_INTR_CFG_SET (1< - * - * 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( - C(KC_C), C(KC_V) - ) -}; - -const uint16_t PROGMEM test_combo[] = {C(KC_C), C(KC_V), COMBO_END}; -combo_t key_combos[COMBO_COUNT] = {COMBO_ACTION(test_combo)}; - -void process_combo_event(uint16_t combo_index, bool pressed) { - backlight_step(); -} diff --git a/keyboards/anavi/macropad2/keymaps/default/keymap.c b/keyboards/anavi/macropad2/keymaps/default/keymap.c deleted file mode 100644 index c880ff660a8a..000000000000 --- a/keyboards/anavi/macropad2/keymaps/default/keymap.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright 2021 Leon Anavi - * - * 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_A, KC_B - ) -}; - -const uint16_t PROGMEM test_combo[] = {KC_A, KC_B, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = {COMBO_ACTION(test_combo)}; - -void process_combo_event(uint16_t combo_index, bool pressed) { - backlight_step(); -} diff --git a/keyboards/anavi/macropad2/keymaps/jitsi/keymap.c b/keyboards/anavi/macropad2/keymaps/jitsi/keymap.c deleted file mode 100644 index afd1dd1d14ec..000000000000 --- a/keyboards/anavi/macropad2/keymaps/jitsi/keymap.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2021 Leon Anavi - * - * 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 - -/* - * Jitsi Meet keyboard shortcuts: - * V - Start or stop your camera - * M - Mute or unmute your microphone - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_M, KC_V - ) -}; - -const uint16_t PROGMEM test_combo[] = {KC_M, KC_V, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = {COMBO_ACTION(test_combo)}; - -void process_combo_event(uint16_t combo_index, bool pressed) { - backlight_step(); -} diff --git a/keyboards/anavi/macropad2/keymaps/mute/keymap.c b/keyboards/anavi/macropad2/keymaps/mute/keymap.c deleted file mode 100644 index 642bf66a8ffa..000000000000 --- a/keyboards/anavi/macropad2/keymaps/mute/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2021 Leon Anavi - * - * 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_AUDIO_MUTE, BL_TOGG - ) -}; diff --git a/keyboards/anavi/macropad2/keymaps/mute/rules.mk b/keyboards/anavi/macropad2/keymaps/mute/rules.mk deleted file mode 100644 index a8b14593460a..000000000000 --- a/keyboards/anavi/macropad2/keymaps/mute/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -EXTRAKEY_ENABLE = yes -BACKLIGHT_ENABLE = no diff --git a/keyboards/anavi/macropad2/keymaps/tap_dance/keymap.c b/keyboards/anavi/macropad2/keymaps/tap_dance/keymap.c deleted file mode 100644 index 63854a62e3ac..000000000000 --- a/keyboards/anavi/macropad2/keymaps/tap_dance/keymap.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2021 Leon Anavi - * - * 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 layers { - _BASE = 0, -}; - -enum { - TD_BC = 0 -}; - -qk_tap_dance_action_t tap_dance_actions[] = { - [TD_BC] = ACTION_TAP_DANCE_DOUBLE(KC_B, KC_C) -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - KC_A, TD(TD_BC) - ) -}; diff --git a/keyboards/anavi/macropad2/keymaps/volume/keymap.c b/keyboards/anavi/macropad2/keymaps/volume/keymap.c deleted file mode 100644 index f9ad20d5c5d2..000000000000 --- a/keyboards/anavi/macropad2/keymaps/volume/keymap.c +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright 2021 Leon Anavi - * - * 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_VOLU, KC_VOLD - ) -}; diff --git a/keyboards/anavi/macropad2/keymaps/volume/rules.mk b/keyboards/anavi/macropad2/keymaps/volume/rules.mk deleted file mode 100644 index a8b14593460a..000000000000 --- a/keyboards/anavi/macropad2/keymaps/volume/rules.mk +++ /dev/null @@ -1,2 +0,0 @@ -EXTRAKEY_ENABLE = yes -BACKLIGHT_ENABLE = no diff --git a/keyboards/anavi/macropad2/keymaps/zoom/keymap.c b/keyboards/anavi/macropad2/keymaps/zoom/keymap.c deleted file mode 100644 index 4f681d17f115..000000000000 --- a/keyboards/anavi/macropad2/keymaps/zoom/keymap.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2021 Leon Anavi - * - * 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 - -/* - * The keymap contains the following shortcuts for Zoom meeting: - * - * Alt+A: Mute/unmute my audio - * Alt+V: Start/stop video - */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - LALT(KC_A), LALT(KC_V) - ) -}; - -const uint16_t PROGMEM test_combo[] = {LALT(KC_A), LALT(KC_V), COMBO_END}; -combo_t key_combos[COMBO_COUNT] = {COMBO_ACTION(test_combo)}; - -void process_combo_event(uint16_t combo_index, bool pressed) { - backlight_step(); -} diff --git a/keyboards/anavi/macropad2/macropad2.c b/keyboards/anavi/macropad2/macropad2.c deleted file mode 100644 index 0a95d5d27c19..000000000000 --- a/keyboards/anavi/macropad2/macropad2.c +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright 2021 Leon Anavi - -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 "macropad2.h" diff --git a/keyboards/anavi/macropad2/macropad2.h b/keyboards/anavi/macropad2/macropad2.h deleted file mode 100644 index f3d43ad4f8b5..000000000000 --- a/keyboards/anavi/macropad2/macropad2.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2021 Leon Anavi - -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 "quantum.h" - -/* This a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. - */ -#define LAYOUT( \ - K01, K02 \ -) \ -{ \ - { K01, K02 }, \ -} diff --git a/keyboards/anavi/macropad2/readme.md b/keyboards/anavi/macropad2/readme.md deleted file mode 100644 index 0ef2fede470b..000000000000 --- a/keyboards/anavi/macropad2/readme.md +++ /dev/null @@ -1,49 +0,0 @@ -# ANAVI Macro Pad 8 - -ANAVI Macro Pad 2 is an open source mini mechanical keyboard with 2 keys and backlit. Powered by ATtiny 85 microcontroller and with microUSB connector. Designed with KiCad. - -* Keyboard Maintainer: [Leon Anavi](https://github.com/leon-anavi) -* Hardware Supported: ANAVI Macro Pad 2 -* Hardware Availability: [PCB Files](https://github.com/AnaviTechnology/anavi-macro-pad-2) - -**Note**: Due to limited firmware space, a _**lot**_ of features have to be disabled to get a functioning QMK based keyboard. - -Make example for this keyboard (after setting up your build environment): - - make anavi/macropad2: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). - -## Flashing -### Prerequisites - -```bash -git clone https://github.com/micronucleus/micronucleus.git -cd micronucleus/commandline/ -sudo make install -``` - -On GNU/Linux distributions, you will need proper privileges to access the MCU. You can either use `sudo` when flashing firmware, or place [these files](https://github.com/micronucleus/micronucleus/blob/master/commandline/49-micronucleus.rules) in /etc/udev/rules.d/. Once added run the following: - -```bash -sudo udevadm control --reload-rules -sudo udevadm trigger -``` - -### Instructions - -* Run one of the following commands: - -```bash -make anavi/macropad2:default:flash - -# or directly with... -micronucleus --run -``` - -* Plug ANAVI Macro Pad 2 to the USB port and the flashing procedure should start - -### Recovery - -* [Original Firmware](https://github.com/AnaviTechnology/anavi-macro-pad-2/tree/main/bootloader) -* [Bootloader Repair](https://digistump.com/wiki/digispark/tutorials/proisp) diff --git a/keyboards/anavi/macropad2/rules.mk b/keyboards/anavi/macropad2/rules.mk deleted file mode 100644 index 9841425905a3..000000000000 --- a/keyboards/anavi/macropad2/rules.mk +++ /dev/null @@ -1,34 +0,0 @@ -# MCU name -MCU = attiny85 - -# Bootloader selection -BOOTLOADER = micronucleus -OPT_DEFS += -DBOOTLOADER_SIZE=1862 -PROGRAM_CMD = micronucleus --run $(BUILD_DIR)/$(TARGET).hex - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output - -# Save as much space as we can... -LTO_ENABLE = yes -GRAVE_ESC_ENABLE = no -MAGIC_ENABLE = no -SPACE_CADET_ENABLE = no - -BACKLIGHT_DRIVER = software diff --git a/keyboards/anavi/macropad8/config.h b/keyboards/anavi/macropad8/config.h index fd9d6e357120..4ec8c7312350 100644 --- a/keyboards/anavi/macropad8/config.h +++ b/keyboards/anavi/macropad8/config.h @@ -64,7 +64,7 @@ along with this program. If not, see . # define RGBLIGHT_LIMIT_VAL 255 #endif -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE # define OLED_DISPLAY_128X64 # define OLED_TIMEOUT 60000 # define OLED_FONT_H "keyboards/anavi/macropad8/glcdfont.c" diff --git a/keyboards/anavi/macropad8/keymaps/default/config.h b/keyboards/anavi/macropad8/keymaps/default/config.h new file mode 100644 index 000000000000..dd687cad58f3 --- /dev/null +++ b/keyboards/anavi/macropad8/keymaps/default/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 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 + +#define LAYER_STATE_8BIT diff --git a/keyboards/anavi/macropad8/keymaps/default/keymap.c b/keyboards/anavi/macropad8/keymaps/default/keymap.c index 68fbdf0d14c4..5b69532e1b3d 100644 --- a/keyboards/anavi/macropad8/keymaps/default/keymap.c +++ b/keyboards/anavi/macropad8/keymaps/default/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand } diff --git a/keyboards/anavi/macropad8/keymaps/git/config.h b/keyboards/anavi/macropad8/keymaps/git/config.h new file mode 100644 index 000000000000..3fe0304ffccf --- /dev/null +++ b/keyboards/anavi/macropad8/keymaps/git/config.h @@ -0,0 +1,23 @@ +/* Copyright 2021 Leon Anavi + * + * 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 + +#undef RGBLIGHT_ANIMATIONS +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_SNAKE diff --git a/keyboards/anavi/macropad8/keymaps/git/keymap.c b/keyboards/anavi/macropad8/keymaps/git/keymap.c new file mode 100644 index 000000000000..c1f1681ec094 --- /dev/null +++ b/keyboards/anavi/macropad8/keymaps/git/keymap.c @@ -0,0 +1,144 @@ +/* Copyright 2021 Leon Anavi + * + * 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 + +#define _MAIN 0 +#define _FN 1 + +/* + * This keymap contains the following shortcuts for Git. On the + * first row from left to right: + * + * git status + * git log + * git pull + * git push + * + * On the second row from left to right: + * + * git diff + * git add + * git commit + * FN key to switch to the 2nd layout and control lights + * + */ + +enum custom_keycodes { + GITCOMMIT = SAFE_RANGE, + GITPUSH, + GITPULL, + GITSTATUS, + GITDIFF, + GITLOG, + GITADD +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case GITCOMMIT: + if (record->event.pressed) { + SEND_STRING("git commit -s\n"); + } + break; + case GITPUSH: + if (record->event.pressed) { + SEND_STRING("git push\n"); + } + break; + case GITPULL: + if (record->event.pressed) { + SEND_STRING("git pull\n"); + } + break; + case GITSTATUS: + if (record->event.pressed) { + SEND_STRING("git status\n"); + } + break; + case GITDIFF: + if (record->event.pressed) { + SEND_STRING("git diff "); + } + break; + case GITLOG: + if (record->event.pressed) { + SEND_STRING("git log\n"); + } + break; + case GITADD: + if (record->event.pressed) { + SEND_STRING("git add "); + } + break; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_MAIN] = LAYOUT_ortho_2x4( + GITSTATUS, GITLOG, GITPULL, GITPUSH, + GITDIFF, GITADD, GITCOMMIT, MO(_FN) + ), + + [_FN] = LAYOUT_ortho_2x4( + RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN, + BL_TOGG, BL_STEP, BL_BRTG, _______ + ) +}; + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand +} + +void oled_task_user(void) { + // Host Keyboard Layer Status + oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false); + oled_write_P(PSTR("Active layer: "), false); + + switch (get_highest_layer(layer_state)) { + case _MAIN: + oled_write_ln_P(PSTR("Git"), false); + break; + case _FN: + oled_write_ln_P(PSTR("FN"), false); + break; + default: + // Or use the write_ln shortcut over adding '\n' to the end of your string + oled_write_ln_P(PSTR("N/A"), false); + } + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(PSTR("Num Lock: "), false); + oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false); + oled_write_P(PSTR("Caps Lock: "), false); + oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false); + oled_write_P(PSTR("Scroll Lock: "), false); + oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false); + oled_write_P(PSTR("Backlit: "), false); + oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false); +#ifdef RGBLIGHT_ENABLE + static char rgbStatusLine1[26] = {0}; + snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode()); + oled_write_ln(rgbStatusLine1, false); + static char rgbStatusLine2[26] = {0}; + snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); + oled_write_ln(rgbStatusLine2, false); +#endif +} +#endif diff --git a/keyboards/anavi/macropad8/keymaps/kicad/keymap.c b/keyboards/anavi/macropad8/keymaps/kicad/keymap.c index 938d0d53f0fb..ba47550347c8 100644 --- a/keyboards/anavi/macropad8/keymaps/kicad/keymap.c +++ b/keyboards/anavi/macropad8/keymaps/kicad/keymap.c @@ -50,7 +50,7 @@ const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4}; * F1 - zoom in * F2 - zoom out * F4 - zoom center - * + * */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand } diff --git a/keyboards/anavi/macropad8/keymaps/kodi/keymap.c b/keyboards/anavi/macropad8/keymaps/kodi/keymap.c index 72022a01bb5f..61cedc810997 100644 --- a/keyboards/anavi/macropad8/keymaps/kodi/keymap.c +++ b/keyboards/anavi/macropad8/keymaps/kodi/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand } diff --git a/keyboards/anavi/macropad8/keymaps/obs/keymap.c b/keyboards/anavi/macropad8/keymaps/obs/keymap.c index 0c78883cf3f7..e740482bbdb7 100644 --- a/keyboards/anavi/macropad8/keymaps/obs/keymap.c +++ b/keyboards/anavi/macropad8/keymaps/obs/keymap.c @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand } diff --git a/keyboards/anavi/macropad8/keymaps/zoom/keymap.c b/keyboards/anavi/macropad8/keymaps/zoom/keymap.c index 64f4f5b01b30..ef47102fa561 100644 --- a/keyboards/anavi/macropad8/keymaps/zoom/keymap.c +++ b/keyboards/anavi/macropad8/keymaps/zoom/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand } diff --git a/keyboards/anavi/macropad8/rules.mk b/keyboards/anavi/macropad8/rules.mk index d4443e3fe6ed..60146e3de038 100644 --- a/keyboards/anavi/macropad8/rules.mk +++ b/keyboards/anavi/macropad8/rules.mk @@ -2,30 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -OLED_DRIVER_ENABLE = yes # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/angel17/alpha/alpha.c b/keyboards/angel17/alpha/alpha.c index 3d2d1de77905..1c2936e1574a 100644 --- a/keyboards/angel17/alpha/alpha.c +++ b/keyboards/angel17/alpha/alpha.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "alpha.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/angel17/alpha/config.h b/keyboards/angel17/alpha/config.h index a6d1fed8abc7..3a245532779f 100644 --- a/keyboards/angel17/alpha/config.h +++ b/keyboards/angel17/alpha/config.h @@ -192,26 +192,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/angel17/alpha/rules.mk b/keyboards/angel17/alpha/rules.mk index a67a6c9a39ed..f8f8991978b9 100644 --- a/keyboards/angel17/alpha/rules.mk +++ b/keyboards/angel17/alpha/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/angel17/keymaps/default/keymap.c b/keyboards/angel17/keymaps/default/keymap.c index 8f54b72b4279..1b9f52846dea 100644 --- a/keyboards/angel17/keymaps/default/keymap.c +++ b/keyboards/angel17/keymaps/default/keymap.c @@ -36,19 +36,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_TOG, KC_NO, KC_NO ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/angel17/rev1/config.h b/keyboards/angel17/rev1/config.h index 2364428c5473..2d5baa81db2c 100644 --- a/keyboards/angel17/rev1/config.h +++ b/keyboards/angel17/rev1/config.h @@ -187,26 +187,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/angel17/rev1/rev1.c b/keyboards/angel17/rev1/rev1.c index f97e6caed426..40ff30e62029 100644 --- a/keyboards/angel17/rev1/rev1.c +++ b/keyboards/angel17/rev1/rev1.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "rev1.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/angel17/rev1/rules.mk b/keyboards/angel17/rev1/rules.mk index 430c757c28b3..e4d388dd9851 100644 --- a/keyboards/angel17/rev1/rules.mk +++ b/keyboards/angel17/rev1/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/angel17/rules.mk b/keyboards/angel17/rules.mk index b4a8f4b5f711..bd078fe69693 100644 --- a/keyboards/angel17/rules.mk +++ b/keyboards/angel17/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/angel64/alpha/alpha.c b/keyboards/angel64/alpha/alpha.c index 3d2d1de77905..1c2936e1574a 100644 --- a/keyboards/angel64/alpha/alpha.c +++ b/keyboards/angel64/alpha/alpha.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "alpha.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/angel64/alpha/config.h b/keyboards/angel64/alpha/config.h index 2e44309124c4..bb6820729b3e 100644 --- a/keyboards/angel64/alpha/config.h +++ b/keyboards/angel64/alpha/config.h @@ -185,26 +185,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/angel64/alpha/keymaps/default/keymap.c b/keyboards/angel64/alpha/keymaps/default/keymap.c index 7e880e18c626..802ff138bb36 100644 --- a/keyboards/angel64/alpha/keymaps/default/keymap.c +++ b/keyboards/angel64/alpha/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, _______, KC_NO, _______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void oled_task_user(void) { oled_write_P(PSTR("Layer: "), false); switch (biton32(layer_state)) { diff --git a/keyboards/angel64/rev1/config.h b/keyboards/angel64/rev1/config.h index 2e44309124c4..bb6820729b3e 100644 --- a/keyboards/angel64/rev1/config.h +++ b/keyboards/angel64/rev1/config.h @@ -185,26 +185,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/angel64/rev1/keymaps/default/keymap.c b/keyboards/angel64/rev1/keymaps/default/keymap.c index 905387ac9be8..ff06e418c16e 100644 --- a/keyboards/angel64/rev1/keymaps/default/keymap.c +++ b/keyboards/angel64/rev1/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_APP, KC_RCTL), }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void oled_task_user(void) { // Host Keyboard LED Status oled_write_P(IS_HOST_LED_ON(USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false); diff --git a/keyboards/angel64/rev1/keymaps/kakunpc/keymap.c b/keyboards/angel64/rev1/keymaps/kakunpc/keymap.c index 6f70dd72c391..3780c5e745c3 100644 --- a/keyboards/angel64/rev1/keymaps/kakunpc/keymap.c +++ b/keyboards/angel64/rev1/keymaps/kakunpc/keymap.c @@ -172,7 +172,7 @@ void matrix_scan_user(void) { #endif } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void oled_task_user(void) { oled_write_P(PSTR("Layer: "), false); switch (biton32(layer_state)) { diff --git a/keyboards/angel64/rev1/rev1.c b/keyboards/angel64/rev1/rev1.c index f97e6caed426..40ff30e62029 100644 --- a/keyboards/angel64/rev1/rev1.c +++ b/keyboards/angel64/rev1/rev1.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "rev1.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/angel64/rules.mk b/keyboards/angel64/rules.mk index 9bb80ed5bde6..0fb1829f14ec 100644 --- a/keyboards/angel64/rules.mk +++ b/keyboards/angel64/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,11 +18,11 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 CUSTOM_MATRIX = yes SRC += matrix.c diff --git a/keyboards/anomalykb/a65i/a65i.c b/keyboards/anomalykb/a65i/a65i.c new file mode 100644 index 000000000000..ed9a82938c52 --- /dev/null +++ b/keyboards/anomalykb/a65i/a65i.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Lfgberg + * + * 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 "a65i.h" diff --git a/keyboards/anomalykb/a65i/a65i.h b/keyboards/anomalykb/a65i/a65i.h new file mode 100644 index 000000000000..bc8a2bff18ba --- /dev/null +++ b/keyboards/anomalykb/a65i/a65i.h @@ -0,0 +1,101 @@ +/* Copyright 2021 Lfgberg + * + * 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 "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \ + K40, K41, K42, K47, K4A, K4B, K4D, K4E, K4F \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ +} + +#define LAYOUT_65_ansi_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \ + K40, K41, K42, K47, K4A, K4B, K4D, K4E, K4F \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, K2F }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ +} + +#define LAYOUT_65_ansi_blocker_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \ + K40, K41, K42, K47, K4A, K4B, K4D, K4E, K4F \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, K2F }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ +} + +#define LAYOUT_65_iso_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \ + K40, K41, K42, K47, K4A, K4B, K4D, K4E, K4F \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ +} + +#define LAYOUT_65_iso_blocker_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \ + K40, K41, K42, K47, K4A, K4B, K4D, K4E, K4F \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \ +} diff --git a/keyboards/anomalykb/a65i/config.h b/keyboards/anomalykb/a65i/config.h new file mode 100644 index 000000000000..b6ca4a8b8457 --- /dev/null +++ b/keyboards/anomalykb/a65i/config.h @@ -0,0 +1,46 @@ +/* +Copyright 2021 Lfgberg + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4C47 +#define PRODUCT_ID 0x0004 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AnomalyKB +#define PRODUCT AnomalyKB A65I + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +#define MATRIX_ROW_PINS { B3, B2, B1, B0, B5 } +#define MATRIX_COL_PINS { D7, D6, D4, B4, B6, E6, F1, B7, C6, C7, D5, D3, D2, F0, D1, D0 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/anomalykb/a65i/info.json b/keyboards/anomalykb/a65i/info.json new file mode 100644 index 000000000000..7bcf38b06866 --- /dev/null +++ b/keyboards/anomalykb/a65i/info.json @@ -0,0 +1,397 @@ +{ + "keyboard_name": "A65I", + "maintainer": "Lfgberg", + "width": 16, + "height": 5, + "layout_aliases": { + "LAYOUT_ansi": "LAYOUT_65_ansi_blocker", + "LAYOUT_ansi_splitbs": "LAYOUT_65_ansi_blocker_split_bs", + "LAYOUT_iso": "LAYOUT_65_iso_blocker", + "LAYOUT_iso_splitbs": "LAYOUT_65_iso_blocker_split_bs" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"~", "x":13, "y":0}, + {"label":"Back", "x":14, "y":0}, + {"label":"Print", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"ISO #/~", "x":16.25, "y":2}, + {"label":"ANSI Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"ISO Enter", "x":17.25, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"ISO \\/|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Up", "x":14, "y":3}, + {"label":"Delete", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"MO(1)", "x":11.25, "y":4, "w":1.25}, + {"label":"Left", "x":13, "y":4}, + {"label":"Down", "x":14, "y":4}, + {"label":"Right", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Print", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Up", "x":14, "y":3}, + {"label":"Delete", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"MO(1)", "x":11.25, "y":4, "w":1.25}, + {"label":"Left", "x":13, "y":4}, + {"label":"Down", "x":14, "y":4}, + {"label":"Right", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"~", "x":13, "y":0}, + {"label":"Back", "x":14, "y":0}, + {"label":"Print", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Up", "x":14, "y":3}, + {"label":"Delete", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"MO(1)", "x":11.25, "y":4, "w":1.25}, + {"label":"Left", "x":13, "y":4}, + {"label":"Down", "x":14, "y":4}, + {"label":"Right", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Print", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Up", "x":14, "y":3}, + {"label":"Delete", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"MO(1)", "x":11.25, "y":4, "w":1.25}, + {"label":"Left", "x":13, "y":4}, + {"label":"Down", "x":14, "y":4}, + {"label":"Right", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"~", "x":13, "y":0}, + {"label":"Back", "x":14, "y":0}, + {"label":"Print", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"PgUp", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgDn", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Up", "x":14, "y":3}, + {"label":"Delete", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"MO(1)", "x":11.25, "y":4, "w":1.25}, + {"label":"Left", "x":13, "y":4}, + {"label":"Down", "x":14, "y":4}, + {"label":"Right", "x":15, "y":4} + ] + } + } +} diff --git a/keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c b/keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c new file mode 100644 index 000000000000..6c7b1094b583 --- /dev/null +++ b/keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c @@ -0,0 +1,61 @@ +/* Copyright 2021 Lfgberg + * + * 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] = { +/* Default Layer + * ,----------------------------------------------------------------. + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|~ |Back|Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp| + * |----------------------------------------------------------------| + * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + +[0] = LAYOUT_65_ansi_blocker_split_bs( + 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_GRV, KC_BSPC, KC_PSCR, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Layer One + * ,----------------------------------------------------------------. + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp| + * |----------------------------------------------------------------| + * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + + [1] = LAYOUT_65_ansi_blocker_split_bs( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/anomalykb/a65i/keymaps/default/keymap.c b/keyboards/anomalykb/a65i/keymaps/default/keymap.c new file mode 100644 index 000000000000..c12189c62103 --- /dev/null +++ b/keyboards/anomalykb/a65i/keymaps/default/keymap.c @@ -0,0 +1,61 @@ +/* Copyright 2021 Lfgberg + * + * 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] = { +/* Default Layer + * ,----------------------------------------------------------------. + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp| + * |----------------------------------------------------------------| + * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + +[0] = LAYOUT_65_ansi_blocker( + 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_PSCR, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Layer One + * ,----------------------------------------------------------------. + * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12|Backsp |Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp| + * |----------------------------------------------------------------| + * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + + [1] = LAYOUT_65_ansi_blocker( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/anomalykb/a65i/keymaps/iso/keymap.c b/keyboards/anomalykb/a65i/keymaps/iso/keymap.c new file mode 100644 index 000000000000..b40ea686bc3e --- /dev/null +++ b/keyboards/anomalykb/a65i/keymaps/iso/keymap.c @@ -0,0 +1,61 @@ +/* Copyright 2021 Lfgberg + * + * 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] = { +/* Default Layer + * ,----------------------------------------------------------------. + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Delete|Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| E |PgUp| + * |-----------------------------------------------------| N |----| + * |Caps | A| S| D| F| G| H| J| K| L| ;|' |~ | T |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + +[0] = LAYOUT_65_iso_blocker( + 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_PSCR, + 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_PGUP, + 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_PGDN, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Layer One + * ,----------------------------------------------------------------. + * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete|Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| E |PgUp| + * |-----------------------------------------------------| N |----| + * |Caps | A| S| D| F| G| H| J| K| L| ;|' |~ | T |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + + [1] = LAYOUT_65_iso_blocker( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/anomalykb/a65i/keymaps/iso_splitbs/keymap.c b/keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c new file mode 100644 index 000000000000..7e9b97d406ef --- /dev/null +++ b/keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c @@ -0,0 +1,61 @@ +/* Copyright 2021 Lfgberg + * + * 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] = { +/* Default Layer + * ,----------------------------------------------------------------. + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|~ |Back|Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| E |PgUp| + * |-----------------------------------------------------| N |----| + * |Caps | A| S| D| F| G| H| J| K| L| ;|' |~ | T |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + +[0] = LAYOUT_65_iso_blocker_split_bs( + 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_GRV, KC_BSPC, KC_PSCR, + 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_PGUP, + 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_PGDN, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Layer One + * ,----------------------------------------------------------------. + * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|~ |Back|Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| E |PgUp| + * |-----------------------------------------------------| N |----| + * |Caps | A| S| D| F| G| H| J| K| L| ;|' |~ | T |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + + [1] = LAYOUT_65_iso_blocker_split_bs( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/anomalykb/a65i/keymaps/via/config.h b/keyboards/anomalykb/a65i/keymaps/via/config.h new file mode 100644 index 000000000000..e352e4256781 --- /dev/null +++ b/keyboards/anomalykb/a65i/keymaps/via/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Lfgberg + * + * 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 DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/anomalykb/a65i/keymaps/via/keymap.c b/keyboards/anomalykb/a65i/keymaps/via/keymap.c new file mode 100644 index 000000000000..c12189c62103 --- /dev/null +++ b/keyboards/anomalykb/a65i/keymaps/via/keymap.c @@ -0,0 +1,61 @@ +/* Copyright 2021 Lfgberg + * + * 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] = { +/* Default Layer + * ,----------------------------------------------------------------. + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp| + * |----------------------------------------------------------------| + * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + +[0] = LAYOUT_65_ansi_blocker( + 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_PSCR, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Layer One + * ,----------------------------------------------------------------. + * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12|Backsp |Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp| + * |----------------------------------------------------------------| + * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ + + [1] = LAYOUT_65_ansi_blocker( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/bm16a/keymaps/via/rules.mk b/keyboards/anomalykb/a65i/keymaps/via/rules.mk similarity index 100% rename from keyboards/bm16a/keymaps/via/rules.mk rename to keyboards/anomalykb/a65i/keymaps/via/rules.mk diff --git a/keyboards/anomalykb/a65i/readme.md b/keyboards/anomalykb/a65i/readme.md new file mode 100644 index 000000000000..fbf30301cba3 --- /dev/null +++ b/keyboards/anomalykb/a65i/readme.md @@ -0,0 +1,17 @@ +# a65i + +![a65i](https://i.imgur.com/J4fzVVth.jpg) + +PCB designed by Lfgberg for the AnomalyKB a65i. + +To enter bootloader mode, either utilize the reset button near the MCU, or short the ESC key for bootmagic lite. + +* Keyboard Maintainer: [Lfgberg](https://github.com/lfgberg) +* Hardware Supported: A65I PCB +* Hardware Availability: [AnomalyKB](anomalykb.co) + +Make example for this keyboard (after setting up your build environment): + + make anomalykb/a65i: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). diff --git a/keyboards/anomalykb/a65i/rules.mk b/keyboards/anomalykb/a65i/rules.mk new file mode 100644 index 000000000000..11ed41b34f29 --- /dev/null +++ b/keyboards/anomalykb/a65i/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/aos/tkl/rules.mk b/keyboards/aos/tkl/rules.mk index a56c38a8d1b2..c3f5cbb9c809 100644 --- a/keyboards/aos/tkl/rules.mk +++ b/keyboards/aos/tkl/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/aozora/hotswap/config.h b/keyboards/aozora/hotswap/config.h new file mode 100644 index 000000000000..60277f2635b1 --- /dev/null +++ b/keyboards/aozora/hotswap/config.h @@ -0,0 +1,45 @@ +/* Copyright 2021 Salmon Cat Studio + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xCA75 +#define PRODUCT_ID 0x4014 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Salmon Cat Studio +#define PRODUCT Aozora + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F6, F5, F4, F1, F0 } +#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D0, D1, D4, D6, D7, B4, B5, B6, C6, C7, F7 } + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/aozora/hotswap/hotswap.c b/keyboards/aozora/hotswap/hotswap.c new file mode 100644 index 000000000000..f8197c3c00e2 --- /dev/null +++ b/keyboards/aozora/hotswap/hotswap.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Salmon Cat Studio + * + * 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 "hotswap.h" \ No newline at end of file diff --git a/keyboards/aozora/hotswap/hotswap.h b/keyboards/aozora/hotswap/hotswap.h new file mode 100644 index 000000000000..5282aaf81cd3 --- /dev/null +++ b/keyboards/aozora/hotswap/hotswap.h @@ -0,0 +1,34 @@ +/* Copyright 2021 Salmon Cat Studio + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3D, K3E, K3F, \ + K40, K41, K42, K44, K48, K49, K4A, K4D, K4E, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, KC_NO, K3D, K3E, K3F }, \ + { K40, K41, K42, KC_NO, K44, KC_NO, KC_NO, KC_NO, K48, K49, K4A, KC_NO, KC_NO, K4D, K4E, K4F }, \ +} + diff --git a/keyboards/aozora/hotswap/info.json b/keyboards/aozora/hotswap/info.json new file mode 100644 index 000000000000..9d8e8c51f351 --- /dev/null +++ b/keyboards/aozora/hotswap/info.json @@ -0,0 +1,83 @@ +{ + "keyboard_name": "Aozora", + "url": "https://salmoncat.studio/pages/aozora-%E9%9D%92%E7%A9%BA-6-9-21-7-10-21", + "maintainer": "Food", + "width": 17.25, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (F6,B0)", "x":0, "y":0}, + {"label":"K01 (F6,B1)", "x":1, "y":0}, + {"label":"K02 (F6,B2)", "x":2, "y":0}, + {"label":"K03 (F6,B3)", "x":3, "y":0}, + {"label":"K04 (F6,B7)", "x":4, "y":0}, + {"label":"K05 (F6,D0)", "x":5, "y":0}, + {"label":"K06 (F6,D1)", "x":6, "y":0}, + {"label":"K07 (F6,D4)", "x":7, "y":0}, + {"label":"K08 (F6,D6)", "x":8, "y":0}, + {"label":"K09 (F6,D7)", "x":9, "y":0}, + {"label":"K0A (F6,B4)", "x":10, "y":0}, + {"label":"K0B (F6,B5)", "x":11, "y":0}, + {"label":"K0C (F6,B6)", "x":12, "y":0}, + {"label":"K0D (F6,C6)", "x":13, "y":0, "w":2}, + {"label":"K0E (F6,C7)", "x":15.25, "y":0}, + {"label":"K0F (F6,F7)", "x":16.25, "y":0}, + {"label":"K10 (F5,B0)", "x":0, "y":1, "w":1.5}, + {"label":"K11 (F5,B1)", "x":1.5, "y":1}, + {"label":"K12 (F5,B2)", "x":2.5, "y":1}, + {"label":"K13 (F5,B3)", "x":3.5, "y":1}, + {"label":"K14 (F5,B7)", "x":4.5, "y":1}, + {"label":"K15 (F5,D0)", "x":5.5, "y":1}, + {"label":"K16 (F5,D1)", "x":6.5, "y":1}, + {"label":"K17 (F5,D4)", "x":7.5, "y":1}, + {"label":"K18 (F5,D6)", "x":8.5, "y":1}, + {"label":"K19 (F5,D7)", "x":9.5, "y":1}, + {"label":"K1A (F5,B4)", "x":10.5, "y":1}, + {"label":"K1B (F5,B5)", "x":11.5, "y":1}, + {"label":"K1C (F5,B6)", "x":12.5, "y":1}, + {"label":"K1D (F5,C6)", "x":13.5, "y":1, "w":1.5}, + {"label":"K1E (F5,C7)", "x":15.25, "y":1}, + {"label":"K1F (F5,F7)", "x":16.25, "y":1}, + {"label":"K20 (F4,B0)", "x":0, "y":2, "w":1.75}, + {"label":"K21 (F4,B1)", "x":1.75, "y":2}, + {"label":"K22 (F4,B2)", "x":2.75, "y":2}, + {"label":"K23 (F4,B3)", "x":3.75, "y":2}, + {"label":"K24 (F4,B7)", "x":4.75, "y":2}, + {"label":"K25 (F4,D0)", "x":5.75, "y":2}, + {"label":"K26 (F4,D1)", "x":6.75, "y":2}, + {"label":"K27 (F4,D4)", "x":7.75, "y":2}, + {"label":"K28 (F4,D6)", "x":8.75, "y":2}, + {"label":"K29 (F4,D7)", "x":9.75, "y":2}, + {"label":"K2A (F4,B4)", "x":10.75, "y":2}, + {"label":"K2B (F4,B5)", "x":11.75, "y":2}, + {"label":"K2D (F4,C6)", "x":12.75, "y":2, "w":2.25}, + {"label":"K30 (F1,B0)", "x":0, "y":3, "w":2.25}, + {"label":"K31 (F1,B1)", "x":2.25, "y":3}, + {"label":"K32 (F1,B2)", "x":3.25, "y":3}, + {"label":"K33 (F1,B3)", "x":4.25, "y":3}, + {"label":"K34 (F1,B7)", "x":5.25, "y":3}, + {"label":"K35 (F1,D0)", "x":6.25, "y":3}, + {"label":"K36 (F1,D1)", "x":7.25, "y":3}, + {"label":"K37 (F1,D4)", "x":8.25, "y":3}, + {"label":"K38 (F1,D6)", "x":9.25, "y":3}, + {"label":"K39 (F1,D7)", "x":10.25, "y":3}, + {"label":"K3A (F1,B4)", "x":11.25, "y":3}, + {"label":"K3D (F1,C6)", "x":12.25, "y":3, "w":2.75}, + {"label":"K3E (F1,C7)", "x":15.25, "y":3}, + {"label":"K3F (F1,F7)", "x":16.25, "y":3}, + {"label":"K40 (F0,B0)", "x":0, "y":4, "w":1.25}, + {"label":"K41 (F0,B1)", "x":1.25, "y":4, "w":1.25}, + {"label":"K42 (F0,B2)", "x":2.5, "y":4, "w":1.25}, + {"label":"K44 (F0,B7)", "x":3.75, "y":4, "w":6.25}, + {"label":"K48 (F0,D6)", "x":10, "y":4, "w":1.25}, + {"label":"K49 (F0,D7)", "x":11.25, "y":4, "w":1.25}, + {"label":"K4A (F0,B4)", "x":12.5, "y":4, "w":1.25}, + {"label":"K4D (F0,C6)", "x":14.25, "y":4}, + {"label":"K4E (F0,C7)", "x":15.25, "y":4}, + {"label":"K4F (F0,F7)", "x":16.25, "y":4} + ] + } + } + ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" +} diff --git a/keyboards/aozora/hotswap/keymaps/default/keymap.c b/keyboards/aozora/hotswap/keymaps/default/keymap.c new file mode 100644 index 000000000000..f941f5dff6dc --- /dev/null +++ b/keyboards/aozora/hotswap/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2021 Salmon Cat Studio + * + * 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_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_PSCR, 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_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_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + 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_F13, KC_F14, KC_F15, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/aozora/hotswap/readme.md b/keyboards/aozora/hotswap/readme.md new file mode 100644 index 000000000000..201ae3a73822 --- /dev/null +++ b/keyboards/aozora/hotswap/readme.md @@ -0,0 +1,17 @@ +# Aozora + +A 65%-Style 6-Key keyboard featuring a cloud-shaped badge. + +![SCS Aozora](https://i.imgur.com/dL5nonc.jpg) + +* Keyboard Maintainer: [Food](https://github.com/Phooood) +* Hardware Supported: [Aozora](https://salmoncat.studio/pages/aozora-%E9%9D%92%E7%A9%BA-6-9-21-7-10-21) +* Hardware Availability: [salmoncat.studio](https://salmoncat.studio/pages/aozora-%E9%9D%92%E7%A9%BA-6-9-21-7-10-21) | GB is over. + +Make example for this keyboard (after setting up your build environment): + + make aozora/hotswap:default + +To reset, press the button on the back of the PCB. + +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). \ No newline at end of file diff --git a/keyboards/aozora/hotswap/rules.mk b/keyboards/aozora/hotswap/rules.mk new file mode 100644 index 000000000000..63d0199d0be0 --- /dev/null +++ b/keyboards/aozora/hotswap/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + diff --git a/keyboards/aplyard/aplx6/rev1/rules.mk b/keyboards/aplyard/aplx6/rev1/rules.mk index 905393fa3930..3505b149256e 100644 --- a/keyboards/aplyard/aplx6/rev1/rules.mk +++ b/keyboards/aplyard/aplx6/rev1/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = yes # Unicode diff --git a/keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c b/keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c index c773fb988cf8..5f3ec5b5ddb7 100644 --- a/keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c +++ b/keyboards/aplyard/aplx6/rev2/keymaps/default/keymap.c @@ -1,17 +1,17 @@ - /* Copyright 2020 Aplyard - * - * 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 . + /* Copyright 2020 Aplyard + * + * 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 @@ -22,15 +22,15 @@ enum layer_names { }; #define KC_COPY LCTL(KC_C) //Mac, change it to LGUI(KC_C) -#define KC_CUT LCTL(KC_X) // >> >> LGUI(KC_X) +#define KC_CUT LCTL(KC_X) // >> >> LGUI(KC_X) #define KC_PASTE LCTL(KC_V) // >> >> LGUI(KC_V) //#define KC_MY_COMPUTER LGUI(KC_SPC) //Uncomment this for Mac Spotlight Search const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap __MEDIA: Default Layer + /* Keymap __MEDIA: Default Layer * ,----------------------------------. * | .-------. / / / / / / | - * | | | |------|------|------| | + * | | | |------|------|------| | * | | Pro | | Mute | Play |Vol+/-| | * | | Micro | |------|------|------| | * | | | |----------------------| @@ -43,10 +43,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_MUTE, KC_MPLY, TO(1), KC_MPRV, KC_MSTP, KC_MNXT ), - /* Keymap __DOC + /* Keymap __DOC * ,----------------------------------. * | .-------. / / / / / / | - * | | | |------|------|------| | + * | | | |------|------|------| | * | | Pro | | Home | PgUp | L/R | | * | | Micro | |------|------|------| | * | | | |----------------------| @@ -59,10 +59,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_HOME, KC_PGUP, TO(2), KC_END, KC_PGDN, KC_INS ), - /* Keymap __DOC + /* Keymap __DOC * ,----------------------------------. * | .-------. / / / / / / | - * | | | |------|------|------| | + * | | | |------|------|------| | * | | Pro | | Calc | MyPc |Bright| | * | | Micro | |------|------|------| | * | | | |----------------------| @@ -77,27 +77,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#if defined(OLED_DRIVER_ENABLE) +#if defined(OLED_ENABLE) static void render_logo(void) { //Logo for _MEDIA static const char PROGMEM logo1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 0, 32, 32,160,160,160,160, 32, 32, 0, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,160,144, 8,252,129, 0, 60,126,255,255,255,255,255,255,255,255,126, 60, 0,129,252, 8,144,160, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254, 0, 0, 0, 0, 0, 0,144,144,144,144,240, 0, 0, 48,224,128, 0, 0,224, 48, 0,192,224,176,144,144,240,192, 0, 0,240,240, 16, 16, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 12,254,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 21, 42, 17, 96,135, 88,162, 64, 68,128,137,137,137,137,137,136,128, 68, 64,162, 88,199, 32, 17, 42, 21, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 8, 8, 8, 8, 0, 7, 15, 8, 8, 12, 15, 0, 0, 64, 65,111, 60, 15, 1, 0, 0, 3, 7, 12, 8, 8, 8, 0, 0, 0, 15, 15, 0, 0, 0, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 15, 15, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,160,144, 8,252,129, 0, 60,126,255,255,255,255,255,255,255,255,126, 60, 0,129,252, 8,144,160, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254, 0, 0, 0, 0, 0, 0,144,144,144,144,240, 0, 0, 48,224,128, 0, 0,224, 48, 0,192,224,176,144,144,240,192, 0, 0,240,240, 16, 16, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 12,254,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 21, 42, 17, 96,135, 88,162, 64, 68,128,137,137,137,137,137,136,128, 68, 64,162, 88,199, 32, 17, 42, 21, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 8, 8, 8, 8, 0, 7, 15, 8, 8, 12, 15, 0, 0, 64, 65,111, 60, 15, 1, 0, 0, 3, 7, 12, 8, 8, 8, 0, 0, 0, 15, 15, 0, 0, 0, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 15, 15, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 5, 4, 2, 2, 2, 2, 2, 2, 4, 5, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; //Logo for _DOC static const char PROGMEM logo2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,224,160,224,128,224,160,224,128,224,160,224,128,224,160,224,128,224,160,224,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 17, 16, 16,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254, 0, 0, 0, 0, 0, 0,144,144,144,144,240, 0, 0, 48,224,128, 0, 0,224, 48, 0,192,224,176,144,144,240,192, 0, 0,240,240, 16, 16, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6,130,194,102, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127,145,161,225, 32,224,160,224, 32,224,160,224, 32,224,160,224, 32,224,160,224, 32,224,160, 80, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 8, 8, 8, 8, 0, 7, 15, 8, 8, 12, 15, 0, 0, 64, 65,111, 60, 15, 1, 0, 0, 3, 7, 12, 8, 8, 8, 0, 0, 0, 15, 15, 0, 0, 0, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 12, 14, 11, 9, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 17, 16, 16,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254, 0, 0, 0, 0, 0, 0,144,144,144,144,240, 0, 0, 48,224,128, 0, 0,224, 48, 0,192,224,176,144,144,240,192, 0, 0,240,240, 16, 16, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6,130,194,102, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127,145,161,225, 32,224,160,224, 32,224,160,224, 32,224,160,224, 32,224,160,224, 32,224,160, 80, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 8, 8, 8, 8, 0, 7, 15, 8, 8, 12, 15, 0, 0, 64, 65,111, 60, 15, 1, 0, 0, 3, 7, 12, 8, 8, 8, 0, 0, 0, 15, 15, 0, 0, 0, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 12, 14, 11, 9, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 3, 2, 3, 0, 3, 2, 3, 0, 3, 2, 3, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; //Logo for _POWER static const char PROGMEM logo3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,120,254, 58, 30, 8, 4, 4, 4, 2, 2, 4, 4, 4, 8, 30, 58,254,120,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,248,145, 38, 68,136,144, 16, 32, 32, 32, 32, 16, 16,136, 68, 34,241,254,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254, 0, 0, 0, 0, 0, 0,144,144,144,144,240, 0, 0, 48,224,128, 0, 0,224, 48, 0,192,224,176,144,144,240,192, 0, 0,240,240, 16, 16, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 2, 34, 50, 58,110,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 35,231, 47,255, 62, 62, 61, 61, 61, 61, 61, 61, 62, 62, 63,239, 39,227, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 8, 8, 8, 8, 0, 7, 15, 8, 8, 4, 15, 0, 0, 64, 65,111, 60, 15, 1, 0, 0, 3, 7, 12, 8, 8, 8, 0, 0, 0, 15, 15, 0, 0, 0, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 12, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,248,145, 38, 68,136,144, 16, 32, 32, 32, 32, 16, 16,136, 68, 34,241,254,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,254, 0, 0, 0, 0, 0, 0,144,144,144,144,240, 0, 0, 48,224,128, 0, 0,224, 48, 0,192,224,176,144,144,240,192, 0, 0,240,240, 16, 16, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 2, 34, 50, 58,110,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 35,231, 47,255, 62, 62, 61, 61, 61, 61, 61, 61, 62, 62, 63,239, 39,227, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 8, 8, 8, 8, 0, 7, 15, 8, 8, 4, 15, 0, 0, 64, 65,111, 60, 15, 1, 0, 0, 3, 7, 12, 8, 8, 8, 0, 0, 0, 15, 15, 0, 0, 0, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 12, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; //Switch between logos @@ -110,15 +110,15 @@ static void render_logo(void) { break; default: oled_write_raw_P(logo1, sizeof(logo1)); - } + } } -void oled_task_user(void) { +void oled_task_user(void) { render_logo(); } #endif -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { switch (get_highest_layer(layer_state)) { case 1: @@ -141,6 +141,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { } else { tap_code(KC_VOLD); //edit here your _MEDIA layer(1) encoder keycode } - } + } } -} + return true; +} diff --git a/keyboards/aplyard/aplx6/rev2/rules.mk b/keyboards/aplyard/aplx6/rev2/rules.mk index 5a66a6aa9141..44c93fe3b16e 100644 --- a/keyboards/aplyard/aplx6/rev2/rules.mk +++ b/keyboards/aplyard/aplx6/rev2/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -21,5 +21,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = yes # Unicode -OLED_DRIVER_ENABLE = yes # Enable Support for Oled Display +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enable Support for Oled Display ENCODER_ENABLE = yes # Enable Support for Encoder diff --git a/keyboards/arabica37/keymaps/default/keymap.c b/keyboards/arabica37/keymaps/default/keymap.c index 877fb7347d8b..5a363152d7d0 100644 --- a/keyboards/arabica37/keymaps/default/keymap.c +++ b/keyboards/arabica37/keymaps/default/keymap.c @@ -139,7 +139,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (!is_keyboard_master()) { diff --git a/keyboards/arabica37/keymaps/default/rules.mk b/keyboards/arabica37/keymaps/default/rules.mk index c582662134c4..d34d066ded93 100644 --- a/keyboards/arabica37/keymaps/default/rules.mk +++ b/keyboards/arabica37/keymaps/default/rules.mk @@ -1 +1,2 @@ -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/arabica37/rev1/rules.mk b/keyboards/arabica37/rev1/rules.mk index 251868bbda29..d7bcf149e3d9 100644 --- a/keyboards/arabica37/rev1/rules.mk +++ b/keyboards/arabica37/rev1/rules.mk @@ -2,18 +2,11 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/arch_36/config.h b/keyboards/arch_36/config.h index 3950c4b9a1f3..be4a0a98300c 100644 --- a/keyboards/arch_36/config.h +++ b/keyboards/arch_36/config.h @@ -55,4 +55,6 @@ along with this program. If not, see . 11, 10, 9, 8, 7, 6 } #endif +#define OLED_DISPLAY_128X64 + #define EE_HANDS diff --git a/keyboards/arch_36/keymaps/default/keymap.c b/keyboards/arch_36/keymaps/default/keymap.c index 48412f812ae1..5dff792067cc 100644 --- a/keyboards/arch_36/keymaps/default/keymap.c +++ b/keyboards/arch_36/keymaps/default/keymap.c @@ -122,7 +122,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; @@ -229,69 +229,69 @@ static void render_status(void) { static void render_logo(void) { static const char PROGMEM logo[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x1c, 0x1c, 0x38, 0xf8, - 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, - 0x03, 0x1f, 0x7f, 0xfe, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x87, 0x9f, 0x3f, 0xfc, 0xf0, - 0xe0, 0xc0, 0x00, 0x01, 0x07, 0x0f, 0x3f, 0x3f, 0x7f, 0xfe, 0xfe, 0xee, 0xce, 0xfe, 0x8e, 0x0e, - 0xfe, 0x8e, 0x0e, 0xfe, 0x8e, 0x0e, 0xfe, 0xfe, 0x7e, 0xee, 0xdc, 0x9c, 0x38, 0x78, 0xf0, 0xe0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf7, 0xe3, 0xc3, 0xc7, 0x8f, 0x0e, 0x1f, - 0x1f, 0x3f, 0x7f, 0x7f, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, - 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe7, 0xff, 0xdb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x03, - 0x1f, 0xff, 0xfe, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xfc, 0xff, 0xff, 0x8f, 0x8f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0f, 0x0f, 0x0c, 0x08, 0x0f, 0x0c, 0x08, - 0x0f, 0x0c, 0x08, 0x0f, 0x0c, 0x08, 0x0f, 0x0f, 0x0e, 0x07, 0x03, 0x01, 0x80, 0xc0, 0xe0, 0x40, - 0x01, 0x03, 0x07, 0x1f, 0xfe, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, - 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf3, 0xf3, 0xf3, 0x03, 0x03, 0x03, 0x03, - 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xf3, 0xff, 0xff, 0x9f, 0x8f, 0x80, 0x80, 0xc0, 0xf0, 0xfc, - 0x7e, 0x1e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xce, 0xce, 0xef, 0x67, 0x67, 0x6f, 0x6f, 0xef, 0xee, - 0xce, 0x8e, 0x0e, 0x0e, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0x60, - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, - 0xbf, 0x83, 0x8f, 0xff, 0xff, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, - 0x1c, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0x1c, 0x0e, 0x06, - 0x06, 0x06, 0x06, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x0c, 0x06, 0x06, 0x06, - 0x0e, 0xfe, 0xfc, 0xf8, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, - 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0xff, - 0xef, 0xc7, 0x80, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x1b, 0x39, 0x70, 0xf0, - 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3f, 0x3f, 0x1f, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x07, 0x3f, 0x3f, 0x3c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1f, 0x1c, 0x38, 0x30, - 0x30, 0x30, 0x30, 0x38, 0x18, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x3f, - 0x1f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x1f, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x3c, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x1c, 0x1c, 0x38, 0xf8, + 0xf0, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x03, 0x1f, 0x7f, 0xfe, 0xf0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x87, 0x9f, 0x3f, 0xfc, 0xf0, + 0xe0, 0xc0, 0x00, 0x01, 0x07, 0x0f, 0x3f, 0x3f, 0x7f, 0xfe, 0xfe, 0xee, 0xce, 0xfe, 0x8e, 0x0e, + 0xfe, 0x8e, 0x0e, 0xfe, 0x8e, 0x0e, 0xfe, 0xfe, 0x7e, 0xee, 0xdc, 0x9c, 0x38, 0x78, 0xf0, 0xe0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf7, 0xe3, 0xc3, 0xc7, 0x8f, 0x0e, 0x1f, + 0x1f, 0x3f, 0x7f, 0x7f, 0xfe, 0xfc, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe7, 0xff, 0xdb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x03, + 0x1f, 0xff, 0xfe, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xfc, 0xff, 0xff, 0x8f, 0x8f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0e, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0f, 0x0f, 0x0c, 0x08, 0x0f, 0x0c, 0x08, + 0x0f, 0x0c, 0x08, 0x0f, 0x0c, 0x08, 0x0f, 0x0f, 0x0e, 0x07, 0x03, 0x01, 0x80, 0xc0, 0xe0, 0x40, + 0x01, 0x03, 0x07, 0x1f, 0xfe, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf3, 0xf3, 0xf3, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xf3, 0xff, 0xff, 0x9f, 0x8f, 0x80, 0x80, 0xc0, 0xf0, 0xfc, + 0x7e, 0x1e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xce, 0xce, 0xef, 0x67, 0x67, 0x6f, 0x6f, 0xef, 0xee, + 0xce, 0x8e, 0x0e, 0x0e, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0x60, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xfc, 0xff, + 0xbf, 0x83, 0x8f, 0xff, 0xff, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xfe, + 0x1c, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0x1c, 0x0e, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x0c, 0x06, 0x06, 0x06, + 0x0e, 0xfe, 0xfc, 0xf8, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x33, 0x33, 0x33, 0x33, 0x33, 0x31, + 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x78, 0xff, + 0xef, 0xc7, 0x80, 0x00, 0x00, 0x00, 0xe0, 0xf8, 0xfc, 0x7e, 0x3f, 0x1f, 0x1b, 0x39, 0x70, 0xf0, + 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3f, 0x3f, 0x1f, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x07, 0x3f, 0x3f, 0x3c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x1f, 0x1c, 0x38, 0x30, + 0x30, 0x30, 0x30, 0x38, 0x18, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x3f, + 0x1f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x1f, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x3c, 0x1f, 0x0f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/keyboards/arch_36/keymaps/obosob/config.h b/keyboards/arch_36/keymaps/obosob/config.h index 02be7b511a97..a60cafb5df77 100644 --- a/keyboards/arch_36/keymaps/obosob/config.h +++ b/keyboards/arch_36/keymaps/obosob/config.h @@ -16,7 +16,7 @@ #pragma once -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE #define OLED_DISPLAY_128X64 #endif diff --git a/keyboards/arch_36/keymaps/obosob/keymap.c b/keyboards/arch_36/keymaps/obosob/keymap.c index a938314ac8a5..00e1a837baa3 100644 --- a/keyboards/arch_36/keymaps/obosob/keymap.c +++ b/keyboards/arch_36/keymaps/obosob/keymap.c @@ -67,9 +67,9 @@ enum keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Qwerty ________ ________ -// ________| E |________ ________| I |________ +// ________| E |________ ________| I |________ // | W | | R |________ ________| U | | O | -// ________| |________| | T | | Y | |________| |________ +// ________| |________| | T | | Y | |________| |________ // | Q |________| D |________| | | |________| K |________| P | // | | S | | F |________| |________| J | | L | | // |________| |________| | G | | H | |________| |________| @@ -79,9 +79,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // | Z |________| |________| | | |________| |________| ? | // | | | Esc |________| |________| Tab | | / | // |________| | Ctrl | Enter |________ ________| Space | Alt | |________| -// |________| NUM | Del | | BkSp | NAV |________| +// |________| NUM | Del | | BkSp | NAV |________| // ________| Shift | | Shift |________ -// |________| |________| +// |________| |________| [_QWERTY] = LAYOUT_split_3x5_3( KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, @@ -90,9 +90,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MY_ESC, MY_ENT, MY_DEL, MY_BSPC, MY_SPC, MY_TAB ), // Colemak (Mod-DH) ________ ________ -// ________| F |________ ________| U |________ +// ________| F |________ ________| U |________ // | W | | P |________ ________| L | | Y | -// ________| |________| | B | | J | |________| |________ +// ________| |________| | B | | J | |________| |________ // | Q |________| S |________| | | |________| E |________| : | // | | R | | T |________| |________| N | | I | ; | // |________| |________| | G | | K | |________| |________| @@ -102,9 +102,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // | Z |________| |________| | | |________| |________| ? | // | | | Esc |________| |________| Tab | | / | // |________| | Ctrl | Enter |________ ________| Space | Alt | |________| -// |________| NUM | Del | | BkSp | NAV |________| +// |________| NUM | Del | | BkSp | NAV |________| // ________| Shift | | Shift |________ -// |________| |________| +// |________| |________| [_COLMAK] = LAYOUT_split_3x5_3( KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, @@ -113,9 +113,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MY_ESC, MY_ENT, MY_DEL, MY_BSPC, MY_SPC, MY_TAB ), // Number ________ ________ -// ________| F3 |________ ________| 8 |________ +// ________| F3 |________ ________| 8 |________ // | F2 | | F4 |________ ________| 7 | | 9 | -// ________| |________| | | | + | |________| |________ +// ________| |________| | | | + | |________| |________ // | F1 |________| F7 |________| | | |________| 5 |________| / | // | | F6 | | F8 |________| |________| 4 | | 6 | | // |________| |________| | | | 0 | |________| |________| @@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // | F9 |________| |________| | | |________| |________| * | // | | | |________| |________| | | | // |________| | | |________ ________| ADJUST | | |________| -// |________| **** | | | | |________| +// |________| **** | | | | |________| // |________| | | |________| // |________| |________| [_NUM] = LAYOUT_split_3x5_3( @@ -135,9 +135,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, _______, XXXXXXX, _______, _______, KC_0 ), // Navigation ________ ________ -// ________| OS |________ ________| PgUp |________ +// ________| OS |________ ________| PgUp |________ // | OS | Ctrl | OS |________ ________| PgDn | | End | -// ________| Alt |________| Shift | AltTab | | Home | |________| |________ +// ________| Alt |________| Shift | AltTab | | Home | |________| |________ // | OS |________| Ctrl |________| | | |________| Up |________| PrtScr | // | Super | Alt | | Shift |________| |________| Down | | Right | | // |________| |________| | | | Left | |________| |________| @@ -147,19 +147,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // | |________| |________| | | |________| |________| | // | | | |________| |________| | | | // |________| | | ADJUST |________ ________| | | |________| -// |________| | | | | **** |________| +// |________| | | | | **** |________| // |________| | | |________| -// |________| |________| - [_NAV] = LAYOUT_split_3x5_3( +// |________| |________| + [_NAV] = LAYOUT_split_3x5_3( OS_GUI, OS_ALT, OS_CTL, OS_SFT, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_INS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, AS_TAB, A_TAB, XXXXXXX, XXXXXXX, _______, _______, _______, XXXXXXX, _______, XXXXXXX ), // Symbol ________ ________ -// ________| { |________ ________| |________ +// ________| { |________ ________| |________ // | > | | } |________ ________| | | | -// ________| |________| | ` | | | |________| |________ +// ________| |________| | ` | | | |________| |________ // | < |________| ( |________| | | |________| |________| | | // | | £ | | ) |________| |________| - | | & | | // |________| |________| | ^ | | _ | |________| |________| @@ -169,20 +169,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // | \ |________| |________| | | |________| |________| # | // | | | ? |________| |________| ! | | | // |________| | | ' |________ ________| . | | |________| -// |________| | " | | , | |________| +// |________| | " | | , | |________| // |________| | | |________| -// |________| |________| -// +// |________| |________| +// [_SYM] = LAYOUT_split_3x5_3( KC_LT, KC_GT, KC_LCBR, KC_RCBR, KC_GRV, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUPI, KC_ASTR, KC_HASH, KC_LPRN, KC_RPRN, KC_CIRC, KC_UNDS, KC_MINS, XXXXXXX, KC_AMPR, KC_PIPE, KC_NUBS, KC_DLR, KC_LBRC, KC_RBRC, KC_DQUO, KC_EQL, KC_PLUS, _______, KC_PERC, KC_NUHS, - KC_QUES, KC_QUOT, KC_AT, KC_COMM, KC_DOT, KC_EXLM + KC_QUES, KC_QUOT, KC_AT, KC_COMM, KC_DOT, KC_EXLM ), // Miscellaneous ________ ________ -// ________| {|} |________ ________| |________ +// ________| {|} |________ ________| |________ // | | | {|} |________ ________| | | | -// ________| |________| | | | | |________| |________ +// ________| |________| | | | | |________| |________ // | <|> |________| (|) |________| | | |________| |________| | // | | | | (|) |________| |________| | | | | // |________| |________| | | | | |________| |________| @@ -192,7 +192,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // | |________| |________| | | |________| |________| | // | | | ?_^ |________| |________| !_^ | | | // |________| | | '|' |________ ________| ._^ | | |________| -// |________| | "|" | | ,_ | |________| +// |________| | "|" | | ,_ | |________| // |________| | | |________| // |________| |________| // @@ -203,9 +203,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QUESSPC, QUOT, DQUOT, COMMSPC, DOTSPC, EXLMSPC ), // Adjust ________ ________ -// ________| RESET |________ ________| |________ +// ________| RESET |________ ________| |________ // | | EEPROM | RESET |________ ________| | | | -// ________| |________| | | | | |________| |________ +// ________| |________| | | | | |________| |________ // | |________| RGB |________| | | |________| |________| | // | | RGB | Hue+ | RGB |________| |________| | | | | // |________| Toggle |________| Sat+ | RGB | | | |________| |________| @@ -215,13 +215,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // | |________| |________| Bri- | | |________| |________| | // | | | |________| |________| | | | // |________| | | |________ ________| | | |________| -// |________| **** | | | | **** |________| +// |________| **** | | | | **** |________| // |________| | | |________| // |________| |________| [_ADJUST] = LAYOUT_split_3x5_3( - XXXXXXX, WOKE, EEP_RST, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, QWERTY, COLEMAK, XXXXXXX, XXXXXXX, - XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, WOKE, EEP_RST, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, QWERTY, COLEMAK, XXXXXXX, XXXXXXX, + XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ), }; @@ -235,12 +235,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case QWERTY: if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); + set_single_persistent_default_layer(_QWERTY); } return false; case COLEMAK: if (record->event.pressed) { - set_single_persistent_default_layer(_COLMAK); + set_single_persistent_default_layer(_COLMAK); } return false; case SYM: @@ -396,7 +396,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return state; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE #define ANIM_NUM_FRAMES 4 #define ANIM_FRAME_DURATION 100 @@ -530,273 +530,273 @@ static void render_logo(void) { static const char PROGMEM frame[ANIM_NUM_FRAMES][1024] = { { // leekspin: frame 0 - 0xff, 0xbf, 0xfb, 0x6f, 0xff, 0xdb, 0x7f, 0xf7, 0xde, 0x7c, 0xf1, 0xc6, 0x98, 0x21, 0x66, 0x9a, - 0xc9, 0x24, 0x33, 0xcf, 0x2f, 0xfd, 0xff, 0x6b, 0x7f, 0x9d, 0x81, 0x76, 0x14, 0x81, 0x67, 0x0f, - 0xfb, 0xff, 0xef, 0xbb, 0xff, 0xef, 0xbb, 0xff, 0xef, 0xbb, 0xff, 0xef, 0xbb, 0xff, 0xef, 0xbb, - 0xff, 0x6f, 0xfb, 0xdf, 0x77, 0xff, 0x0d, 0xe0, 0x3f, 0xc0, 0x0d, 0x37, 0xd0, 0x26, 0xa9, 0xd8, - 0xc7, 0x1d, 0xf0, 0xff, 0xff, 0xf0, 0xc7, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf1, 0xc6, - 0xff, 0xf7, 0xf8, 0xf3, 0xcf, 0x90, 0xf7, 0xfc, 0xe3, 0x9b, 0x2e, 0xe2, 0xfc, 0x03, 0xfc, 0x7c, - 0x83, 0x1b, 0x6c, 0xa5, 0xb3, 0x4e, 0x59, 0x64, 0x13, 0xdb, 0xae, 0x20, 0xdf, 0xff, 0xbb, 0xef, - 0xff, 0xbb, 0xef, 0xdf, 0x7b, 0xef, 0xbf, 0xfb, 0x6f, 0xff, 0xdb, 0x7f, 0xf7, 0xdf, 0x7b, 0xef, - 0xff, 0xff, 0xdd, 0x77, 0xff, 0xdd, 0x77, 0xff, 0xdd, 0x77, 0xff, 0xdd, 0x77, 0xfe, 0xdc, 0xf1, - 0xcc, 0x23, 0x99, 0x64, 0x26, 0x98, 0x63, 0x0f, 0x30, 0xcc, 0x33, 0x24, 0xcd, 0x19, 0xe0, 0xff, - 0xff, 0xde, 0x7b, 0xef, 0xbe, 0xfb, 0xef, 0xbe, 0xfb, 0x6f, 0xfe, 0xdb, 0x7f, 0xf6, 0xdf, 0xfd, - 0xb7, 0xff, 0x6d, 0xff, 0xdb, 0xff, 0x00, 0xbd, 0x67, 0x48, 0x13, 0xfc, 0x85, 0xff, 0x5f, 0x3f, - 0xb7, 0x97, 0xcf, 0xcb, 0xeb, 0xcf, 0x97, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xef, 0x9f, 0xd7, 0xcf, 0xcb, 0xdf, 0xd7, 0xcf, 0x8f, 0x3f, 0x1f, 0x7f, 0xff, 0xfe, 0xff, 0xf2, - 0x07, 0xe9, 0x3e, 0x00, 0x35, 0xef, 0xc9, 0x1b, 0xc2, 0xbc, 0x37, 0xc0, 0xff, 0xbf, 0xfb, 0x6e, - 0xef, 0xfb, 0xde, 0xf7, 0xb7, 0xfd, 0xef, 0xbd, 0xf7, 0x77, 0xdd, 0xff, 0xb7, 0xfd, 0xef, 0xbb, - 0xff, 0xff, 0xdd, 0xf7, 0x7f, 0xdd, 0xf7, 0x7f, 0xdd, 0xf7, 0x7f, 0xdd, 0xf7, 0xbf, 0xed, 0xff, - 0xdf, 0xf7, 0xf6, 0x7c, 0xf9, 0xb1, 0xe6, 0xcb, 0x18, 0xa4, 0xb3, 0x09, 0xfc, 0xff, 0xfb, 0x6f, - 0xfe, 0xdf, 0xfb, 0xbf, 0xf7, 0x7e, 0xef, 0xfd, 0xb7, 0xff, 0x6d, 0xff, 0xdb, 0xff, 0xb6, 0xff, - 0x6d, 0xff, 0xdb, 0x7f, 0xf6, 0xdf, 0xf9, 0x21, 0x8e, 0xfb, 0x00, 0x7e, 0xc0, 0xff, 0xfe, 0xff, - 0xf7, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x7f, 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x3f, 0x7f, 0x7f, 0x3f, 0x3f, 0x7f, 0x37, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xef, 0x3f, 0xc0, - 0x6e, 0x3b, 0x09, 0xe0, 0x6f, 0x1a, 0x92, 0x64, 0x6d, 0x99, 0xf2, 0x7f, 0xef, 0xfd, 0xb7, 0xff, - 0x7b, 0xde, 0xf7, 0xbf, 0xfb, 0x7e, 0xef, 0xbf, 0xff, 0xfb, 0xef, 0xbe, 0xfb, 0x6f, 0xfe, 0xdb, - 0xff, 0xff, 0xfe, 0xf7, 0xbf, 0xfb, 0xff, 0xbf, 0xef, 0xfd, 0xdf, 0xf7, 0x7d, 0xff, 0xee, 0x7f, - 0xf7, 0xbd, 0xff, 0xef, 0xfb, 0xbf, 0xfd, 0x77, 0xfe, 0xa0, 0xf9, 0xfe, 0xf0, 0xef, 0xbf, 0xf7, - 0x7f, 0xfb, 0xde, 0xff, 0xbb, 0xff, 0xf7, 0xbe, 0xfb, 0xdf, 0xff, 0xfd, 0xb7, 0xfe, 0xef, 0x7f, - 0xfb, 0xbf, 0xed, 0xff, 0xf7, 0xbe, 0xfb, 0xdf, 0xf0, 0x06, 0x98, 0xe7, 0x3c, 0x03, 0xcf, 0x2f, - 0x1f, 0x9f, 0x7f, 0x7f, 0x7e, 0xf8, 0xf1, 0xe6, 0xf8, 0xc9, 0xca, 0xfa, 0xc8, 0xda, 0xf2, 0xcc, - 0xd9, 0xf2, 0xe0, 0xed, 0xf1, 0xfa, 0xfc, 0x7f, 0x7f, 0x3f, 0xbf, 0x9f, 0x0f, 0xe3, 0x34, 0x8d, - 0xe3, 0x18, 0x17, 0x85, 0xa0, 0x38, 0xcf, 0x13, 0xf8, 0xef, 0xdd, 0x7f, 0xff, 0xf7, 0xfd, 0xef, - 0xbb, 0xff, 0x7f, 0xf7, 0xfd, 0xef, 0xbf, 0xfb, 0xee, 0xff, 0xff, 0xbb, 0xef, 0x7f, 0xfb, 0xee, - 0xff, 0xff, 0xde, 0xf7, 0xff, 0xef, 0xbd, 0xff, 0xdb, 0xff, 0xfe, 0x77, 0x7f, 0xf7, 0xfd, 0x7f, - 0xf7, 0xff, 0xdb, 0x7e, 0xff, 0xef, 0xfb, 0xff, 0xb7, 0xff, 0xc8, 0xff, 0xff, 0xff, 0xfc, 0x27, - 0xff, 0xff, 0xff, 0xed, 0xbf, 0xfe, 0xf7, 0x7f, 0xfb, 0xdf, 0xfe, 0xf7, 0xdf, 0xff, 0xfd, 0x6f, - 0xff, 0xbf, 0xfb, 0xff, 0xde, 0xff, 0xf7, 0xfd, 0xbf, 0x00, 0x77, 0x6c, 0x89, 0x11, 0x04, 0xa2, - 0x08, 0x69, 0x46, 0x90, 0x02, 0x64, 0x94, 0x24, 0x09, 0x91, 0x85, 0x21, 0x09, 0xff, 0xf7, 0xdd, - 0x3d, 0x37, 0x1d, 0x1d, 0x06, 0xc6, 0x07, 0x10, 0x20, 0x83, 0x84, 0x30, 0x66, 0x19, 0x92, 0x06, - 0x40, 0x31, 0x0c, 0xc0, 0x14, 0xb7, 0x09, 0xfa, 0xff, 0xdf, 0xfb, 0xbf, 0xfd, 0xf7, 0xef, 0xef, - 0xff, 0xdf, 0xf7, 0xff, 0x6e, 0xff, 0xff, 0xde, 0xf7, 0xff, 0x7e, 0xdb, 0xff, 0xb7, 0xff, 0xee, - 0xff, 0xff, 0x7f, 0xf6, 0xdf, 0xfd, 0xff, 0xff, 0xef, 0xbb, 0xfe, 0x7f, 0xf7, 0xdf, 0xff, 0xf7, - 0xdd, 0xff, 0xff, 0xbf, 0xed, 0xff, 0xfe, 0xef, 0x3f, 0xde, 0xee, 0xc9, 0xff, 0xff, 0xdf, 0xff, - 0xc9, 0xff, 0x9e, 0xdf, 0xdf, 0xb7, 0xfd, 0xff, 0xef, 0xff, 0xfb, 0xef, 0xfd, 0xbf, 0xf7, 0xff, - 0xbb, 0xef, 0xff, 0xfd, 0xff, 0xef, 0x7e, 0xff, 0xb1, 0x06, 0x7b, 0xc9, 0x00, 0x42, 0x98, 0x31, - 0x46, 0x44, 0x38, 0x89, 0xc4, 0x30, 0x00, 0x42, 0x10, 0x84, 0x20, 0x08, 0x81, 0x03, 0x10, 0x80, - 0x24, 0x00, 0x88, 0x21, 0x04, 0xc0, 0x08, 0xa1, 0x34, 0x4c, 0x03, 0x90, 0x46, 0x00, 0x30, 0xd1, - 0x04, 0x69, 0x88, 0x30, 0x22, 0xcb, 0x04, 0x3f, 0xfb, 0xff, 0xfd, 0x6f, 0xfe, 0xf7, 0xbf, 0xfe, - 0xdb, 0xff, 0xee, 0x7f, 0xf7, 0xbf, 0xfd, 0xef, 0x7e, 0xf7, 0xff, 0xdb, 0xff, 0xb7, 0xfe, 0x7b, - 0xff, 0xff, 0xff, 0xbb, 0xef, 0xff, 0xf6, 0xff, 0xbf, 0xef, 0xff, 0xdf, 0xfd, 0x7f, 0xfe, 0xbf, - 0xef, 0xfe, 0xff, 0xdf, 0xff, 0xfe, 0xff, 0xe4, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xfe, 0xfb, 0x37, 0xfd, 0xfe, 0xff, 0xff, 0x6f, 0xff, 0xf6, 0xff, 0xbf, 0xfb, 0xdf, - 0xff, 0xff, 0x77, 0x7f, 0x9d, 0x9f, 0x27, 0x21, 0xcc, 0x18, 0x63, 0x84, 0x80, 0x2a, 0x29, 0x44, - 0x59, 0x43, 0x94, 0x34, 0x42, 0x49, 0x2c, 0x92, 0x92, 0x64, 0x0c, 0x80, 0xb8, 0x22, 0x86, 0x34, - 0x48, 0x23, 0x34, 0x44, 0xc9, 0x18, 0x46, 0x09, 0x80, 0x72, 0x08, 0x61, 0x80, 0x9b, 0x12, 0x64, - 0x8d, 0x90, 0x23, 0xa8, 0x26, 0x44, 0x59, 0x89, 0x24, 0xd3, 0x1f, 0xff, 0xfd, 0xef, 0xff, 0x7d, - 0xef, 0xfe, 0xf7, 0xbf, 0xfb, 0xdf, 0x7d, 0xff, 0xf7, 0xbf, 0xfe, 0xdb, 0x7f, 0xfd, 0xff, 0xcf, - 0xff, 0xff, 0xfb, 0xff, 0x7f, 0xff, 0xb6, 0xff, 0xff, 0xff, 0xfd, 0xb7, 0xff, 0xfb, 0xbf, 0xff, - 0xef, 0xfb, 0x7e, 0xdf, 0xff, 0xf6, 0xff, 0xdf, 0xff, 0xed, 0xfb, 0xff, 0xef, 0x2f, 0xef, 0xef, - 0xf7, 0xf7, 0x9f, 0xfb, 0xfc, 0xff, 0xf7, 0xdf, 0xbb, 0x7f, 0xff, 0xef, 0xfe, 0xf7, 0x1f, 0x07, - 0xd1, 0x19, 0x22, 0x66, 0x44, 0x98, 0x8b, 0x21, 0x64, 0x1a, 0x42, 0xd4, 0x14, 0x23, 0xa8, 0x4d, - 0x91, 0x92, 0x64, 0x25, 0x99, 0x44, 0x23, 0x88, 0x50, 0x96, 0xa3, 0x18, 0x44, 0x65, 0x99, 0x22, - 0x8a, 0x69, 0x25, 0x86, 0xd8, 0x1d, 0xb7, 0x9a, 0x9e, 0x30, 0x8b, 0xe2, 0xcc, 0xd9, 0xe1, 0xfc, - 0xee, 0xf8, 0xfe, 0xe1, 0xc9, 0x06, 0x98, 0x69, 0x22, 0x92, 0x4c, 0x23, 0xa7, 0x1f, 0x7d, 0xff, - 0xff, 0xbf, 0xef, 0xfb, 0xbe, 0xef, 0x7f, 0xfb, 0xfe, 0x77, 0xff, 0xbf, 0xef, 0xfd, 0xf7, 0xff, + 0xff, 0xbf, 0xfb, 0x6f, 0xff, 0xdb, 0x7f, 0xf7, 0xde, 0x7c, 0xf1, 0xc6, 0x98, 0x21, 0x66, 0x9a, + 0xc9, 0x24, 0x33, 0xcf, 0x2f, 0xfd, 0xff, 0x6b, 0x7f, 0x9d, 0x81, 0x76, 0x14, 0x81, 0x67, 0x0f, + 0xfb, 0xff, 0xef, 0xbb, 0xff, 0xef, 0xbb, 0xff, 0xef, 0xbb, 0xff, 0xef, 0xbb, 0xff, 0xef, 0xbb, + 0xff, 0x6f, 0xfb, 0xdf, 0x77, 0xff, 0x0d, 0xe0, 0x3f, 0xc0, 0x0d, 0x37, 0xd0, 0x26, 0xa9, 0xd8, + 0xc7, 0x1d, 0xf0, 0xff, 0xff, 0xf0, 0xc7, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf1, 0xc6, + 0xff, 0xf7, 0xf8, 0xf3, 0xcf, 0x90, 0xf7, 0xfc, 0xe3, 0x9b, 0x2e, 0xe2, 0xfc, 0x03, 0xfc, 0x7c, + 0x83, 0x1b, 0x6c, 0xa5, 0xb3, 0x4e, 0x59, 0x64, 0x13, 0xdb, 0xae, 0x20, 0xdf, 0xff, 0xbb, 0xef, + 0xff, 0xbb, 0xef, 0xdf, 0x7b, 0xef, 0xbf, 0xfb, 0x6f, 0xff, 0xdb, 0x7f, 0xf7, 0xdf, 0x7b, 0xef, + 0xff, 0xff, 0xdd, 0x77, 0xff, 0xdd, 0x77, 0xff, 0xdd, 0x77, 0xff, 0xdd, 0x77, 0xfe, 0xdc, 0xf1, + 0xcc, 0x23, 0x99, 0x64, 0x26, 0x98, 0x63, 0x0f, 0x30, 0xcc, 0x33, 0x24, 0xcd, 0x19, 0xe0, 0xff, + 0xff, 0xde, 0x7b, 0xef, 0xbe, 0xfb, 0xef, 0xbe, 0xfb, 0x6f, 0xfe, 0xdb, 0x7f, 0xf6, 0xdf, 0xfd, + 0xb7, 0xff, 0x6d, 0xff, 0xdb, 0xff, 0x00, 0xbd, 0x67, 0x48, 0x13, 0xfc, 0x85, 0xff, 0x5f, 0x3f, + 0xb7, 0x97, 0xcf, 0xcb, 0xeb, 0xcf, 0x97, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xef, 0x9f, 0xd7, 0xcf, 0xcb, 0xdf, 0xd7, 0xcf, 0x8f, 0x3f, 0x1f, 0x7f, 0xff, 0xfe, 0xff, 0xf2, + 0x07, 0xe9, 0x3e, 0x00, 0x35, 0xef, 0xc9, 0x1b, 0xc2, 0xbc, 0x37, 0xc0, 0xff, 0xbf, 0xfb, 0x6e, + 0xef, 0xfb, 0xde, 0xf7, 0xb7, 0xfd, 0xef, 0xbd, 0xf7, 0x77, 0xdd, 0xff, 0xb7, 0xfd, 0xef, 0xbb, + 0xff, 0xff, 0xdd, 0xf7, 0x7f, 0xdd, 0xf7, 0x7f, 0xdd, 0xf7, 0x7f, 0xdd, 0xf7, 0xbf, 0xed, 0xff, + 0xdf, 0xf7, 0xf6, 0x7c, 0xf9, 0xb1, 0xe6, 0xcb, 0x18, 0xa4, 0xb3, 0x09, 0xfc, 0xff, 0xfb, 0x6f, + 0xfe, 0xdf, 0xfb, 0xbf, 0xf7, 0x7e, 0xef, 0xfd, 0xb7, 0xff, 0x6d, 0xff, 0xdb, 0xff, 0xb6, 0xff, + 0x6d, 0xff, 0xdb, 0x7f, 0xf6, 0xdf, 0xf9, 0x21, 0x8e, 0xfb, 0x00, 0x7e, 0xc0, 0xff, 0xfe, 0xff, + 0xf7, 0xff, 0xff, 0xff, 0x3f, 0x3f, 0x7f, 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x3f, 0x7f, 0x7f, 0x3f, 0x3f, 0x7f, 0x37, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xef, 0x3f, 0xc0, + 0x6e, 0x3b, 0x09, 0xe0, 0x6f, 0x1a, 0x92, 0x64, 0x6d, 0x99, 0xf2, 0x7f, 0xef, 0xfd, 0xb7, 0xff, + 0x7b, 0xde, 0xf7, 0xbf, 0xfb, 0x7e, 0xef, 0xbf, 0xff, 0xfb, 0xef, 0xbe, 0xfb, 0x6f, 0xfe, 0xdb, + 0xff, 0xff, 0xfe, 0xf7, 0xbf, 0xfb, 0xff, 0xbf, 0xef, 0xfd, 0xdf, 0xf7, 0x7d, 0xff, 0xee, 0x7f, + 0xf7, 0xbd, 0xff, 0xef, 0xfb, 0xbf, 0xfd, 0x77, 0xfe, 0xa0, 0xf9, 0xfe, 0xf0, 0xef, 0xbf, 0xf7, + 0x7f, 0xfb, 0xde, 0xff, 0xbb, 0xff, 0xf7, 0xbe, 0xfb, 0xdf, 0xff, 0xfd, 0xb7, 0xfe, 0xef, 0x7f, + 0xfb, 0xbf, 0xed, 0xff, 0xf7, 0xbe, 0xfb, 0xdf, 0xf0, 0x06, 0x98, 0xe7, 0x3c, 0x03, 0xcf, 0x2f, + 0x1f, 0x9f, 0x7f, 0x7f, 0x7e, 0xf8, 0xf1, 0xe6, 0xf8, 0xc9, 0xca, 0xfa, 0xc8, 0xda, 0xf2, 0xcc, + 0xd9, 0xf2, 0xe0, 0xed, 0xf1, 0xfa, 0xfc, 0x7f, 0x7f, 0x3f, 0xbf, 0x9f, 0x0f, 0xe3, 0x34, 0x8d, + 0xe3, 0x18, 0x17, 0x85, 0xa0, 0x38, 0xcf, 0x13, 0xf8, 0xef, 0xdd, 0x7f, 0xff, 0xf7, 0xfd, 0xef, + 0xbb, 0xff, 0x7f, 0xf7, 0xfd, 0xef, 0xbf, 0xfb, 0xee, 0xff, 0xff, 0xbb, 0xef, 0x7f, 0xfb, 0xee, + 0xff, 0xff, 0xde, 0xf7, 0xff, 0xef, 0xbd, 0xff, 0xdb, 0xff, 0xfe, 0x77, 0x7f, 0xf7, 0xfd, 0x7f, + 0xf7, 0xff, 0xdb, 0x7e, 0xff, 0xef, 0xfb, 0xff, 0xb7, 0xff, 0xc8, 0xff, 0xff, 0xff, 0xfc, 0x27, + 0xff, 0xff, 0xff, 0xed, 0xbf, 0xfe, 0xf7, 0x7f, 0xfb, 0xdf, 0xfe, 0xf7, 0xdf, 0xff, 0xfd, 0x6f, + 0xff, 0xbf, 0xfb, 0xff, 0xde, 0xff, 0xf7, 0xfd, 0xbf, 0x00, 0x77, 0x6c, 0x89, 0x11, 0x04, 0xa2, + 0x08, 0x69, 0x46, 0x90, 0x02, 0x64, 0x94, 0x24, 0x09, 0x91, 0x85, 0x21, 0x09, 0xff, 0xf7, 0xdd, + 0x3d, 0x37, 0x1d, 0x1d, 0x06, 0xc6, 0x07, 0x10, 0x20, 0x83, 0x84, 0x30, 0x66, 0x19, 0x92, 0x06, + 0x40, 0x31, 0x0c, 0xc0, 0x14, 0xb7, 0x09, 0xfa, 0xff, 0xdf, 0xfb, 0xbf, 0xfd, 0xf7, 0xef, 0xef, + 0xff, 0xdf, 0xf7, 0xff, 0x6e, 0xff, 0xff, 0xde, 0xf7, 0xff, 0x7e, 0xdb, 0xff, 0xb7, 0xff, 0xee, + 0xff, 0xff, 0x7f, 0xf6, 0xdf, 0xfd, 0xff, 0xff, 0xef, 0xbb, 0xfe, 0x7f, 0xf7, 0xdf, 0xff, 0xf7, + 0xdd, 0xff, 0xff, 0xbf, 0xed, 0xff, 0xfe, 0xef, 0x3f, 0xde, 0xee, 0xc9, 0xff, 0xff, 0xdf, 0xff, + 0xc9, 0xff, 0x9e, 0xdf, 0xdf, 0xb7, 0xfd, 0xff, 0xef, 0xff, 0xfb, 0xef, 0xfd, 0xbf, 0xf7, 0xff, + 0xbb, 0xef, 0xff, 0xfd, 0xff, 0xef, 0x7e, 0xff, 0xb1, 0x06, 0x7b, 0xc9, 0x00, 0x42, 0x98, 0x31, + 0x46, 0x44, 0x38, 0x89, 0xc4, 0x30, 0x00, 0x42, 0x10, 0x84, 0x20, 0x08, 0x81, 0x03, 0x10, 0x80, + 0x24, 0x00, 0x88, 0x21, 0x04, 0xc0, 0x08, 0xa1, 0x34, 0x4c, 0x03, 0x90, 0x46, 0x00, 0x30, 0xd1, + 0x04, 0x69, 0x88, 0x30, 0x22, 0xcb, 0x04, 0x3f, 0xfb, 0xff, 0xfd, 0x6f, 0xfe, 0xf7, 0xbf, 0xfe, + 0xdb, 0xff, 0xee, 0x7f, 0xf7, 0xbf, 0xfd, 0xef, 0x7e, 0xf7, 0xff, 0xdb, 0xff, 0xb7, 0xfe, 0x7b, + 0xff, 0xff, 0xff, 0xbb, 0xef, 0xff, 0xf6, 0xff, 0xbf, 0xef, 0xff, 0xdf, 0xfd, 0x7f, 0xfe, 0xbf, + 0xef, 0xfe, 0xff, 0xdf, 0xff, 0xfe, 0xff, 0xe4, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfb, 0x37, 0xfd, 0xfe, 0xff, 0xff, 0x6f, 0xff, 0xf6, 0xff, 0xbf, 0xfb, 0xdf, + 0xff, 0xff, 0x77, 0x7f, 0x9d, 0x9f, 0x27, 0x21, 0xcc, 0x18, 0x63, 0x84, 0x80, 0x2a, 0x29, 0x44, + 0x59, 0x43, 0x94, 0x34, 0x42, 0x49, 0x2c, 0x92, 0x92, 0x64, 0x0c, 0x80, 0xb8, 0x22, 0x86, 0x34, + 0x48, 0x23, 0x34, 0x44, 0xc9, 0x18, 0x46, 0x09, 0x80, 0x72, 0x08, 0x61, 0x80, 0x9b, 0x12, 0x64, + 0x8d, 0x90, 0x23, 0xa8, 0x26, 0x44, 0x59, 0x89, 0x24, 0xd3, 0x1f, 0xff, 0xfd, 0xef, 0xff, 0x7d, + 0xef, 0xfe, 0xf7, 0xbf, 0xfb, 0xdf, 0x7d, 0xff, 0xf7, 0xbf, 0xfe, 0xdb, 0x7f, 0xfd, 0xff, 0xcf, + 0xff, 0xff, 0xfb, 0xff, 0x7f, 0xff, 0xb6, 0xff, 0xff, 0xff, 0xfd, 0xb7, 0xff, 0xfb, 0xbf, 0xff, + 0xef, 0xfb, 0x7e, 0xdf, 0xff, 0xf6, 0xff, 0xdf, 0xff, 0xed, 0xfb, 0xff, 0xef, 0x2f, 0xef, 0xef, + 0xf7, 0xf7, 0x9f, 0xfb, 0xfc, 0xff, 0xf7, 0xdf, 0xbb, 0x7f, 0xff, 0xef, 0xfe, 0xf7, 0x1f, 0x07, + 0xd1, 0x19, 0x22, 0x66, 0x44, 0x98, 0x8b, 0x21, 0x64, 0x1a, 0x42, 0xd4, 0x14, 0x23, 0xa8, 0x4d, + 0x91, 0x92, 0x64, 0x25, 0x99, 0x44, 0x23, 0x88, 0x50, 0x96, 0xa3, 0x18, 0x44, 0x65, 0x99, 0x22, + 0x8a, 0x69, 0x25, 0x86, 0xd8, 0x1d, 0xb7, 0x9a, 0x9e, 0x30, 0x8b, 0xe2, 0xcc, 0xd9, 0xe1, 0xfc, + 0xee, 0xf8, 0xfe, 0xe1, 0xc9, 0x06, 0x98, 0x69, 0x22, 0x92, 0x4c, 0x23, 0xa7, 0x1f, 0x7d, 0xff, + 0xff, 0xbf, 0xef, 0xfb, 0xbe, 0xef, 0x7f, 0xfb, 0xfe, 0x77, 0xff, 0xbf, 0xef, 0xfd, 0xf7, 0xff, }, { // leekspin: frame 1 - 0xff, 0xbf, 0xfb, 0xcf, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xff, 0xdf, - 0x77, 0xff, 0xdb, 0xff, 0xb7, 0xff, 0xfb, 0x6f, 0xff, 0xff, 0xdd, 0xf7, 0xff, 0xff, 0xff, 0xbb, - 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0x6f, 0xff, 0xbb, 0xef, - 0xff, 0xbb, 0xef, 0x7f, 0xdb, 0xff, 0x27, 0xd0, 0x5f, 0x60, 0x8d, 0x37, 0xe0, 0x8d, 0x31, 0xd8, - 0xc7, 0x1d, 0xf0, 0xff, 0xff, 0xf0, 0xcf, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xc1, - 0xff, 0xfe, 0xf9, 0xe7, 0xcc, 0x91, 0xf7, 0xfc, 0xe3, 0x99, 0x2e, 0xe2, 0xfc, 0x03, 0xfc, 0x7c, - 0x03, 0x3b, 0xec, 0x85, 0x33, 0x76, 0xcd, 0xa8, 0x23, 0x5b, 0xee, 0x20, 0x9f, 0xff, 0x7b, 0xef, - 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0x6f, 0xff, 0xdb, 0xff, 0xb7, - 0xff, 0xff, 0x76, 0xdf, 0xfd, 0x77, 0xde, 0xfb, 0xbf, 0xf6, 0xdf, 0xfd, 0xb7, 0xff, 0x6d, 0xff, - 0xfe, 0xfb, 0xdf, 0xf6, 0xbf, 0xed, 0xff, 0xef, 0xbf, 0xf6, 0xff, 0xef, 0xfb, 0xbf, 0xee, 0xfb, - 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0x7b, 0xdf, 0xfd, 0xb7, 0xfe, - 0xef, 0xbd, 0xf7, 0x7f, 0xed, 0xff, 0x00, 0x6e, 0xdb, 0x91, 0x24, 0xee, 0x09, 0xff, 0x5f, 0x3f, - 0xa7, 0x9f, 0xcb, 0xcb, 0xef, 0xcb, 0x9f, 0xb7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0x8f, 0xd7, 0xdf, 0xcb, 0xcf, 0xd7, 0xdf, 0x8f, 0x3f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xf0, - 0x07, 0xb3, 0xec, 0x08, 0x33, 0xf7, 0x8c, 0x66, 0x11, 0xdb, 0x2e, 0xa0, 0xff, 0xdf, 0xf7, 0xbd, - 0xef, 0xfe, 0xbb, 0xef, 0x7e, 0xdb, 0xff, 0xb6, 0xff, 0x6d, 0xff, 0xdb, 0xff, 0xb6, 0xff, 0x6d, - 0xff, 0xff, 0xb7, 0xfd, 0xef, 0xbb, 0xff, 0x6e, 0xfb, 0xdf, 0x76, 0xff, 0xdd, 0x77, 0xff, 0xef, - 0xbf, 0xfb, 0xf6, 0x7f, 0xef, 0xff, 0x7f, 0xed, 0xfd, 0xf7, 0xbf, 0xff, 0xde, 0xf7, 0xfd, 0xbf, - 0xf7, 0xde, 0xfb, 0xbf, 0xee, 0xfb, 0xdf, 0x76, 0xff, 0xed, 0xbf, 0xfb, 0x6f, 0xfe, 0xdb, 0xff, - 0xb6, 0xff, 0xed, 0xbf, 0xfb, 0x6f, 0xfc, 0x83, 0x32, 0xde, 0x00, 0xbf, 0xc0, 0xff, 0xfe, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xef, 0x3f, 0xc0, - 0xde, 0x33, 0x0c, 0xe0, 0xb7, 0x1c, 0x85, 0x70, 0x6f, 0x8d, 0xf0, 0x7f, 0xdf, 0xf7, 0xfe, 0xbb, - 0xef, 0x7f, 0xd9, 0xff, 0xbf, 0xf7, 0xff, 0x6f, 0xff, 0xfb, 0xff, 0xb6, 0xff, 0x6d, 0xff, 0xdb, - 0xff, 0xff, 0xff, 0xed, 0xbf, 0xfb, 0xff, 0xdf, 0xf7, 0xfd, 0x7f, 0xef, 0xbb, 0xff, 0xdd, 0xff, - 0x77, 0xfe, 0xef, 0xbb, 0xff, 0x7d, 0xef, 0xff, 0xb6, 0xff, 0xdd, 0xff, 0x7b, 0xde, 0xff, 0xed, - 0x7f, 0xfb, 0xde, 0xff, 0xb7, 0xfd, 0xff, 0xdb, 0x7f, 0xfe, 0xbb, 0xef, 0x7f, 0xdb, 0xfe, 0xef, - 0x7b, 0xfe, 0xef, 0x7d, 0xf7, 0xbf, 0xed, 0x7f, 0xf8, 0x02, 0xc6, 0xbd, 0x34, 0x47, 0x47, 0x9f, - 0x1f, 0x3f, 0x3f, 0x7f, 0x7e, 0xff, 0xff, 0xfe, 0xff, 0xfd, 0xfd, 0xff, 0xfe, 0xff, 0xfd, 0xff, - 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0x7f, 0x9f, 0x9f, 0x0d, 0xe3, 0x3a, 0x8c, - 0x63, 0x58, 0x17, 0x84, 0x21, 0xb8, 0xcf, 0x63, 0xd8, 0xff, 0xef, 0xbb, 0xff, 0xff, 0xfd, 0xf7, - 0xdd, 0xff, 0xbf, 0x7b, 0xff, 0xf6, 0xdf, 0xff, 0xb7, 0xfd, 0xff, 0xef, 0x7d, 0xdf, 0xfb, 0xee, - 0xff, 0xff, 0xbe, 0xef, 0xfb, 0x7f, 0xef, 0xbe, 0xfb, 0xff, 0x77, 0xff, 0xef, 0x7d, 0xff, 0xfb, - 0xff, 0xed, 0xff, 0xdf, 0x7d, 0xef, 0xff, 0xf6, 0x7f, 0xdf, 0xfd, 0xb7, 0xff, 0xfb, 0xdf, 0xfd, - 0xff, 0xb7, 0xff, 0xed, 0x7f, 0xfe, 0xb7, 0xff, 0xfb, 0xdf, 0xff, 0xf7, 0xff, 0xef, 0xff, 0x7d, - 0xef, 0xff, 0xb7, 0xff, 0xfd, 0xff, 0xdf, 0x77, 0xff, 0x80, 0x36, 0xed, 0x09, 0x12, 0x44, 0x21, - 0x0c, 0x51, 0x51, 0x86, 0x00, 0x58, 0x46, 0x30, 0x24, 0x85, 0x09, 0x21, 0x85, 0xff, 0x7b, 0xed, - 0x3d, 0x1d, 0x1d, 0x47, 0x0e, 0x8e, 0x23, 0x00, 0x22, 0x02, 0xc4, 0xb0, 0x26, 0x19, 0x4c, 0x03, - 0xc0, 0x18, 0x06, 0x60, 0x89, 0xbd, 0x02, 0xfa, 0xff, 0xff, 0xb6, 0xff, 0xfb, 0xbe, 0xf7, 0xf7, - 0xdf, 0x7f, 0xf7, 0xff, 0x6f, 0xfe, 0xff, 0xdf, 0xfb, 0x6f, 0xfe, 0xdf, 0x7b, 0xff, 0xf7, 0xde, - 0x23, 0xcf, 0x9f, 0x37, 0x7d, 0xff, 0xff, 0xf7, 0xff, 0xfb, 0x6f, 0xff, 0xdb, 0xff, 0xbf, 0xfe, - 0xdb, 0xef, 0xff, 0xff, 0xb7, 0xfd, 0x7f, 0xff, 0xef, 0xfb, 0x7f, 0xf7, 0xbd, 0xff, 0xde, 0xdf, - 0xfb, 0xdf, 0xde, 0xd7, 0xbf, 0xef, 0xfb, 0xf7, 0xfe, 0xfb, 0xfb, 0xfd, 0x7c, 0x7f, 0xfd, 0xfe, - 0x7d, 0xfd, 0x9e, 0x62, 0x6f, 0xff, 0xff, 0x7f, 0xd2, 0x08, 0xef, 0x31, 0x00, 0x42, 0x48, 0x39, - 0x86, 0x60, 0x0c, 0xd9, 0x90, 0x20, 0x02, 0x10, 0x44, 0x08, 0x02, 0x10, 0x40, 0x03, 0x11, 0x80, - 0x20, 0x24, 0x81, 0x08, 0x42, 0x90, 0x04, 0xc1, 0x78, 0x06, 0x24, 0x09, 0x42, 0x40, 0x98, 0x22, - 0x30, 0xc9, 0x88, 0x32, 0x44, 0x4d, 0x80, 0x3f, 0xff, 0xfe, 0xf7, 0x7f, 0xed, 0xbf, 0xfe, 0xf7, - 0xbf, 0xfb, 0xdf, 0xfd, 0xef, 0x7f, 0xfb, 0xde, 0xff, 0xef, 0xfb, 0xbf, 0xff, 0x6d, 0xff, 0xf6, - 0x92, 0x24, 0x65, 0x99, 0xc6, 0x30, 0x8b, 0x67, 0x37, 0x87, 0x6f, 0xff, 0xf5, 0x77, 0x7f, 0xfe, - 0xff, 0xef, 0xfe, 0x7f, 0xf7, 0xed, 0x0f, 0xfe, 0xfe, 0xfb, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0x7f, 0xb6, 0xec, 0xfe, 0xff, 0x7e, 0xef, 0xff, 0x7f, 0xf7, 0xff, 0xbf, - 0xef, 0xff, 0xf7, 0x7f, 0x1f, 0x9f, 0x63, 0x03, 0xdc, 0x90, 0x23, 0x8a, 0x20, 0x05, 0xc9, 0x5a, - 0x11, 0xa4, 0x8b, 0x30, 0x24, 0x4b, 0x48, 0x26, 0x34, 0xc1, 0x8c, 0x22, 0x98, 0x91, 0x66, 0x08, - 0x32, 0xc4, 0x99, 0x12, 0x62, 0xcc, 0x00, 0x33, 0x04, 0xc0, 0x38, 0x83, 0x40, 0x96, 0x19, 0x61, - 0x86, 0x18, 0x60, 0x93, 0x4c, 0x24, 0x93, 0x48, 0x6c, 0x83, 0x3f, 0xff, 0xfb, 0xff, 0xdd, 0xff, - 0xf7, 0xfd, 0xff, 0xde, 0xf7, 0x7f, 0xfb, 0xbf, 0xee, 0xff, 0xbd, 0xf7, 0x7f, 0xfb, 0xff, 0xde, - 0xfe, 0xff, 0xde, 0xfe, 0xfe, 0xfe, 0x6f, 0xfe, 0xff, 0xff, 0xff, 0xb7, 0xff, 0xdf, 0x7f, 0xff, - 0xd7, 0xfd, 0xef, 0xff, 0x7d, 0xff, 0xdf, 0xff, 0xf5, 0x7f, 0xf7, 0xff, 0xef, 0xef, 0xe7, 0x7f, - 0xfb, 0xfb, 0xfe, 0xfd, 0xff, 0xfb, 0xef, 0xfd, 0xdf, 0x7f, 0xff, 0xfb, 0xdf, 0xff, 0x0b, 0x07, - 0x35, 0xc9, 0x48, 0x92, 0x93, 0x6c, 0x08, 0x93, 0xc4, 0x30, 0x46, 0x99, 0xa1, 0x26, 0x48, 0x8c, - 0x33, 0xc4, 0x28, 0x0b, 0xd1, 0x34, 0x01, 0xc3, 0x18, 0x64, 0x86, 0x30, 0x4d, 0x90, 0xa6, 0x29, - 0x49, 0x44, 0xb4, 0x83, 0x5a, 0x9c, 0x37, 0x56, 0x9e, 0x21, 0xcc, 0xd1, 0xd6, 0xe4, 0xc9, 0xfc, - 0xec, 0xef, 0xf8, 0xe4, 0xc3, 0x19, 0xa4, 0x26, 0xd0, 0x0d, 0x24, 0xd3, 0x47, 0x1f, 0x7e, 0xff, - 0xff, 0x6f, 0xff, 0xd9, 0xff, 0xbf, 0xe7, 0xff, 0xf9, 0x7f, 0xff, 0xdf, 0xdf, 0xf5, 0xff, 0xfb, + 0xff, 0xbf, 0xfb, 0xcf, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xff, 0xdf, + 0x77, 0xff, 0xdb, 0xff, 0xb7, 0xff, 0xfb, 0x6f, 0xff, 0xff, 0xdd, 0xf7, 0xff, 0xff, 0xff, 0xbb, + 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0x6f, 0xff, 0xbb, 0xef, + 0xff, 0xbb, 0xef, 0x7f, 0xdb, 0xff, 0x27, 0xd0, 0x5f, 0x60, 0x8d, 0x37, 0xe0, 0x8d, 0x31, 0xd8, + 0xc7, 0x1d, 0xf0, 0xff, 0xff, 0xf0, 0xcf, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xc1, + 0xff, 0xfe, 0xf9, 0xe7, 0xcc, 0x91, 0xf7, 0xfc, 0xe3, 0x99, 0x2e, 0xe2, 0xfc, 0x03, 0xfc, 0x7c, + 0x03, 0x3b, 0xec, 0x85, 0x33, 0x76, 0xcd, 0xa8, 0x23, 0x5b, 0xee, 0x20, 0x9f, 0xff, 0x7b, 0xef, + 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0x6f, 0xff, 0xdb, 0xff, 0xb7, + 0xff, 0xff, 0x76, 0xdf, 0xfd, 0x77, 0xde, 0xfb, 0xbf, 0xf6, 0xdf, 0xfd, 0xb7, 0xff, 0x6d, 0xff, + 0xfe, 0xfb, 0xdf, 0xf6, 0xbf, 0xed, 0xff, 0xef, 0xbf, 0xf6, 0xff, 0xef, 0xfb, 0xbf, 0xee, 0xfb, + 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0x7b, 0xdf, 0xfd, 0xb7, 0xfe, + 0xef, 0xbd, 0xf7, 0x7f, 0xed, 0xff, 0x00, 0x6e, 0xdb, 0x91, 0x24, 0xee, 0x09, 0xff, 0x5f, 0x3f, + 0xa7, 0x9f, 0xcb, 0xcb, 0xef, 0xcb, 0x9f, 0xb7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x8f, 0xd7, 0xdf, 0xcb, 0xcf, 0xd7, 0xdf, 0x8f, 0x3f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xf0, + 0x07, 0xb3, 0xec, 0x08, 0x33, 0xf7, 0x8c, 0x66, 0x11, 0xdb, 0x2e, 0xa0, 0xff, 0xdf, 0xf7, 0xbd, + 0xef, 0xfe, 0xbb, 0xef, 0x7e, 0xdb, 0xff, 0xb6, 0xff, 0x6d, 0xff, 0xdb, 0xff, 0xb6, 0xff, 0x6d, + 0xff, 0xff, 0xb7, 0xfd, 0xef, 0xbb, 0xff, 0x6e, 0xfb, 0xdf, 0x76, 0xff, 0xdd, 0x77, 0xff, 0xef, + 0xbf, 0xfb, 0xf6, 0x7f, 0xef, 0xff, 0x7f, 0xed, 0xfd, 0xf7, 0xbf, 0xff, 0xde, 0xf7, 0xfd, 0xbf, + 0xf7, 0xde, 0xfb, 0xbf, 0xee, 0xfb, 0xdf, 0x76, 0xff, 0xed, 0xbf, 0xfb, 0x6f, 0xfe, 0xdb, 0xff, + 0xb6, 0xff, 0xed, 0xbf, 0xfb, 0x6f, 0xfc, 0x83, 0x32, 0xde, 0x00, 0xbf, 0xc0, 0xff, 0xfe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xef, 0x3f, 0xc0, + 0xde, 0x33, 0x0c, 0xe0, 0xb7, 0x1c, 0x85, 0x70, 0x6f, 0x8d, 0xf0, 0x7f, 0xdf, 0xf7, 0xfe, 0xbb, + 0xef, 0x7f, 0xd9, 0xff, 0xbf, 0xf7, 0xff, 0x6f, 0xff, 0xfb, 0xff, 0xb6, 0xff, 0x6d, 0xff, 0xdb, + 0xff, 0xff, 0xff, 0xed, 0xbf, 0xfb, 0xff, 0xdf, 0xf7, 0xfd, 0x7f, 0xef, 0xbb, 0xff, 0xdd, 0xff, + 0x77, 0xfe, 0xef, 0xbb, 0xff, 0x7d, 0xef, 0xff, 0xb6, 0xff, 0xdd, 0xff, 0x7b, 0xde, 0xff, 0xed, + 0x7f, 0xfb, 0xde, 0xff, 0xb7, 0xfd, 0xff, 0xdb, 0x7f, 0xfe, 0xbb, 0xef, 0x7f, 0xdb, 0xfe, 0xef, + 0x7b, 0xfe, 0xef, 0x7d, 0xf7, 0xbf, 0xed, 0x7f, 0xf8, 0x02, 0xc6, 0xbd, 0x34, 0x47, 0x47, 0x9f, + 0x1f, 0x3f, 0x3f, 0x7f, 0x7e, 0xff, 0xff, 0xfe, 0xff, 0xfd, 0xfd, 0xff, 0xfe, 0xff, 0xfd, 0xff, + 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0x7f, 0x9f, 0x9f, 0x0d, 0xe3, 0x3a, 0x8c, + 0x63, 0x58, 0x17, 0x84, 0x21, 0xb8, 0xcf, 0x63, 0xd8, 0xff, 0xef, 0xbb, 0xff, 0xff, 0xfd, 0xf7, + 0xdd, 0xff, 0xbf, 0x7b, 0xff, 0xf6, 0xdf, 0xff, 0xb7, 0xfd, 0xff, 0xef, 0x7d, 0xdf, 0xfb, 0xee, + 0xff, 0xff, 0xbe, 0xef, 0xfb, 0x7f, 0xef, 0xbe, 0xfb, 0xff, 0x77, 0xff, 0xef, 0x7d, 0xff, 0xfb, + 0xff, 0xed, 0xff, 0xdf, 0x7d, 0xef, 0xff, 0xf6, 0x7f, 0xdf, 0xfd, 0xb7, 0xff, 0xfb, 0xdf, 0xfd, + 0xff, 0xb7, 0xff, 0xed, 0x7f, 0xfe, 0xb7, 0xff, 0xfb, 0xdf, 0xff, 0xf7, 0xff, 0xef, 0xff, 0x7d, + 0xef, 0xff, 0xb7, 0xff, 0xfd, 0xff, 0xdf, 0x77, 0xff, 0x80, 0x36, 0xed, 0x09, 0x12, 0x44, 0x21, + 0x0c, 0x51, 0x51, 0x86, 0x00, 0x58, 0x46, 0x30, 0x24, 0x85, 0x09, 0x21, 0x85, 0xff, 0x7b, 0xed, + 0x3d, 0x1d, 0x1d, 0x47, 0x0e, 0x8e, 0x23, 0x00, 0x22, 0x02, 0xc4, 0xb0, 0x26, 0x19, 0x4c, 0x03, + 0xc0, 0x18, 0x06, 0x60, 0x89, 0xbd, 0x02, 0xfa, 0xff, 0xff, 0xb6, 0xff, 0xfb, 0xbe, 0xf7, 0xf7, + 0xdf, 0x7f, 0xf7, 0xff, 0x6f, 0xfe, 0xff, 0xdf, 0xfb, 0x6f, 0xfe, 0xdf, 0x7b, 0xff, 0xf7, 0xde, + 0x23, 0xcf, 0x9f, 0x37, 0x7d, 0xff, 0xff, 0xf7, 0xff, 0xfb, 0x6f, 0xff, 0xdb, 0xff, 0xbf, 0xfe, + 0xdb, 0xef, 0xff, 0xff, 0xb7, 0xfd, 0x7f, 0xff, 0xef, 0xfb, 0x7f, 0xf7, 0xbd, 0xff, 0xde, 0xdf, + 0xfb, 0xdf, 0xde, 0xd7, 0xbf, 0xef, 0xfb, 0xf7, 0xfe, 0xfb, 0xfb, 0xfd, 0x7c, 0x7f, 0xfd, 0xfe, + 0x7d, 0xfd, 0x9e, 0x62, 0x6f, 0xff, 0xff, 0x7f, 0xd2, 0x08, 0xef, 0x31, 0x00, 0x42, 0x48, 0x39, + 0x86, 0x60, 0x0c, 0xd9, 0x90, 0x20, 0x02, 0x10, 0x44, 0x08, 0x02, 0x10, 0x40, 0x03, 0x11, 0x80, + 0x20, 0x24, 0x81, 0x08, 0x42, 0x90, 0x04, 0xc1, 0x78, 0x06, 0x24, 0x09, 0x42, 0x40, 0x98, 0x22, + 0x30, 0xc9, 0x88, 0x32, 0x44, 0x4d, 0x80, 0x3f, 0xff, 0xfe, 0xf7, 0x7f, 0xed, 0xbf, 0xfe, 0xf7, + 0xbf, 0xfb, 0xdf, 0xfd, 0xef, 0x7f, 0xfb, 0xde, 0xff, 0xef, 0xfb, 0xbf, 0xff, 0x6d, 0xff, 0xf6, + 0x92, 0x24, 0x65, 0x99, 0xc6, 0x30, 0x8b, 0x67, 0x37, 0x87, 0x6f, 0xff, 0xf5, 0x77, 0x7f, 0xfe, + 0xff, 0xef, 0xfe, 0x7f, 0xf7, 0xed, 0x0f, 0xfe, 0xfe, 0xfb, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x7f, 0xb6, 0xec, 0xfe, 0xff, 0x7e, 0xef, 0xff, 0x7f, 0xf7, 0xff, 0xbf, + 0xef, 0xff, 0xf7, 0x7f, 0x1f, 0x9f, 0x63, 0x03, 0xdc, 0x90, 0x23, 0x8a, 0x20, 0x05, 0xc9, 0x5a, + 0x11, 0xa4, 0x8b, 0x30, 0x24, 0x4b, 0x48, 0x26, 0x34, 0xc1, 0x8c, 0x22, 0x98, 0x91, 0x66, 0x08, + 0x32, 0xc4, 0x99, 0x12, 0x62, 0xcc, 0x00, 0x33, 0x04, 0xc0, 0x38, 0x83, 0x40, 0x96, 0x19, 0x61, + 0x86, 0x18, 0x60, 0x93, 0x4c, 0x24, 0x93, 0x48, 0x6c, 0x83, 0x3f, 0xff, 0xfb, 0xff, 0xdd, 0xff, + 0xf7, 0xfd, 0xff, 0xde, 0xf7, 0x7f, 0xfb, 0xbf, 0xee, 0xff, 0xbd, 0xf7, 0x7f, 0xfb, 0xff, 0xde, + 0xfe, 0xff, 0xde, 0xfe, 0xfe, 0xfe, 0x6f, 0xfe, 0xff, 0xff, 0xff, 0xb7, 0xff, 0xdf, 0x7f, 0xff, + 0xd7, 0xfd, 0xef, 0xff, 0x7d, 0xff, 0xdf, 0xff, 0xf5, 0x7f, 0xf7, 0xff, 0xef, 0xef, 0xe7, 0x7f, + 0xfb, 0xfb, 0xfe, 0xfd, 0xff, 0xfb, 0xef, 0xfd, 0xdf, 0x7f, 0xff, 0xfb, 0xdf, 0xff, 0x0b, 0x07, + 0x35, 0xc9, 0x48, 0x92, 0x93, 0x6c, 0x08, 0x93, 0xc4, 0x30, 0x46, 0x99, 0xa1, 0x26, 0x48, 0x8c, + 0x33, 0xc4, 0x28, 0x0b, 0xd1, 0x34, 0x01, 0xc3, 0x18, 0x64, 0x86, 0x30, 0x4d, 0x90, 0xa6, 0x29, + 0x49, 0x44, 0xb4, 0x83, 0x5a, 0x9c, 0x37, 0x56, 0x9e, 0x21, 0xcc, 0xd1, 0xd6, 0xe4, 0xc9, 0xfc, + 0xec, 0xef, 0xf8, 0xe4, 0xc3, 0x19, 0xa4, 0x26, 0xd0, 0x0d, 0x24, 0xd3, 0x47, 0x1f, 0x7e, 0xff, + 0xff, 0x6f, 0xff, 0xd9, 0xff, 0xbf, 0xe7, 0xff, 0xf9, 0x7f, 0xff, 0xdf, 0xdf, 0xf5, 0xff, 0xfb, }, { // leekspin: frame 2 - 0xff, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0x6f, 0xff, 0xff, 0xef, - 0xbf, 0xfb, 0xdf, 0xf7, 0xbf, 0xfb, 0x7f, 0x7f, 0xdb, 0xff, 0xbf, 0xfb, 0xef, 0xff, 0x7f, 0xdf, - 0xff, 0xf3, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, - 0xfb, 0xbf, 0xef, 0x7b, 0xdf, 0xf7, 0x2f, 0x60, 0xdf, 0x80, 0x2d, 0x57, 0xd0, 0x93, 0x24, 0xfc, - 0xc3, 0x1b, 0xf4, 0xf7, 0xff, 0xf0, 0xcf, 0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xc1, - 0xff, 0xfe, 0xf9, 0xe7, 0xcc, 0x91, 0xf7, 0xfc, 0xe3, 0x99, 0x2e, 0xe2, 0xfc, 0x03, 0xec, 0x7c, - 0x93, 0x2b, 0x6c, 0x95, 0x53, 0xce, 0x39, 0xc4, 0x33, 0x6b, 0xce, 0x90, 0xbf, 0xef, 0xfb, 0xbf, - 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xed, - 0xff, 0xff, 0xee, 0xbb, 0xff, 0x6e, 0xfb, 0xdf, 0x76, 0xff, 0xdd, 0xf7, 0xbf, 0xed, 0xff, 0xff, - 0xee, 0xff, 0x75, 0xdf, 0xff, 0xf6, 0xdf, 0xff, 0xb7, 0xff, 0xfb, 0xef, 0xfd, 0xb7, 0xff, 0xdb, - 0xfe, 0x6f, 0xfb, 0xbe, 0xef, 0xfb, 0xbe, 0xef, 0xfb, 0xbe, 0xef, 0xfb, 0xbe, 0xef, 0x7b, 0xde, - 0xf7, 0x7d, 0xdf, 0xf7, 0xbd, 0xff, 0x00, 0xf7, 0x9c, 0x21, 0x27, 0xd8, 0x46, 0xff, 0x5f, 0x3f, - 0xa7, 0x9f, 0xcb, 0xcb, 0xef, 0xcb, 0xdf, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xef, 0x9f, 0xd7, 0xcf, 0xcb, 0xdf, 0xd7, 0xcf, 0x8f, 0x3f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xf0, - 0x07, 0x73, 0xdc, 0x01, 0x6e, 0x99, 0x73, 0x4e, 0x88, 0xf3, 0x1e, 0xc0, 0xff, 0x7f, 0xde, 0xf3, - 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0x7b, 0xdf, 0xf6, 0xbf, 0xed, - 0xff, 0xff, 0x76, 0xdf, 0xfd, 0xb7, 0xff, 0xed, 0xbf, 0xfb, 0x6e, 0xff, 0xbd, 0xef, 0xfe, 0xf7, - 0xbf, 0xfd, 0xf7, 0xdf, 0x7f, 0xff, 0xb7, 0xfc, 0xef, 0xff, 0xf7, 0xbf, 0xfa, 0xdf, 0xfd, 0xef, - 0x7b, 0xff, 0xed, 0x7f, 0xde, 0xfb, 0xef, 0xbe, 0xfb, 0xdf, 0xf6, 0x7f, 0xdd, 0xf7, 0xbf, 0xed, - 0xff, 0xbb, 0xef, 0x7e, 0xdb, 0xff, 0x76, 0xc0, 0x1d, 0x77, 0x00, 0x7f, 0xc0, 0xff, 0xfe, 0xff, - 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xef, 0x3f, 0xc0, - 0xbb, 0x37, 0x04, 0xf0, 0xce, 0x39, 0x07, 0x70, 0xdd, 0x86, 0xf2, 0x7f, 0xdf, 0xf7, 0xfd, 0xbf, - 0xef, 0x79, 0xff, 0xef, 0xfd, 0xdf, 0x7b, 0xef, 0xbf, 0xfd, 0xff, 0xfb, 0xdf, 0xf6, 0xbf, 0xed, - 0xff, 0xff, 0xef, 0x7d, 0xff, 0xfb, 0xdf, 0xfd, 0xff, 0x6f, 0xfb, 0xbf, 0xfd, 0xef, 0x7e, 0xf7, - 0xbf, 0xee, 0xfb, 0x7f, 0xdf, 0xfb, 0xbf, 0xfd, 0xef, 0xfe, 0xdf, 0xfb, 0xef, 0xfe, 0xbf, 0xed, - 0xff, 0xf7, 0xbd, 0xff, 0x6f, 0xfb, 0xfe, 0xdf, 0xf7, 0xfd, 0xbf, 0xfb, 0x6f, 0xfe, 0xf7, 0xff, - 0xdd, 0x7f, 0xfb, 0xef, 0xfd, 0xdf, 0x7b, 0xff, 0xe4, 0x09, 0xc9, 0xb6, 0x36, 0x4b, 0x47, 0x9f, - 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xfe, 0xfe, 0xff, 0xfd, 0xff, 0xfe, 0xfd, 0xff, 0xfd, 0xff, - 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0x3f, 0x9f, 0xdf, 0x0d, 0xa3, 0x3a, 0x4c, - 0xe3, 0x18, 0x17, 0x06, 0x60, 0xd8, 0xcf, 0x33, 0xd8, 0xfe, 0xef, 0x7b, 0xdf, 0xff, 0x7f, 0xfd, - 0xfd, 0xf7, 0xdf, 0xff, 0xbe, 0xfb, 0xff, 0xb7, 0xdf, 0xfd, 0xff, 0x6e, 0xff, 0xdd, 0xf7, 0xbe, - 0xff, 0xff, 0xdd, 0xff, 0xef, 0x7b, 0xfe, 0xbf, 0xef, 0x7b, 0xff, 0xbd, 0x37, 0xff, 0xfb, 0x7f, - 0xf7, 0xfd, 0xef, 0xff, 0xbb, 0xff, 0xf7, 0xfe, 0xdb, 0xff, 0xee, 0xff, 0xfb, 0xbe, 0xff, 0xef, - 0xfb, 0x7e, 0xdf, 0xf7, 0xff, 0xbd, 0xff, 0xee, 0xff, 0xdb, 0xff, 0xf7, 0x7f, 0xff, 0xf7, 0xbe, - 0xff, 0x77, 0xff, 0xbb, 0xfe, 0xff, 0xff, 0xb7, 0xff, 0x00, 0xb6, 0xed, 0x09, 0x02, 0x64, 0x81, - 0x0c, 0x31, 0xc5, 0x48, 0x02, 0x24, 0x98, 0x62, 0x24, 0x05, 0x89, 0x21, 0x05, 0xff, 0xfb, 0x6d, - 0x3d, 0x9d, 0x17, 0x1c, 0x4d, 0x07, 0x26, 0x80, 0x11, 0x41, 0x84, 0xb0, 0x66, 0x19, 0x0b, 0x82, - 0x10, 0x64, 0x09, 0x90, 0xc6, 0x3b, 0x08, 0xf6, 0xff, 0xbf, 0xfb, 0xef, 0xff, 0xdd, 0xff, 0xbb, - 0xff, 0x77, 0xf7, 0xbf, 0xfb, 0xfe, 0xb7, 0xff, 0xdf, 0xfd, 0xef, 0x7f, 0xdd, 0xf7, 0xff, 0x6d, - 0xff, 0xff, 0x7b, 0xfe, 0xdf, 0xf7, 0xf7, 0x7d, 0xe9, 0xbe, 0xfe, 0xff, 0xff, 0xfd, 0xff, 0xf7, - 0xfd, 0xcf, 0xff, 0x7f, 0xef, 0xbe, 0xfb, 0xdf, 0xbd, 0xbf, 0xbb, 0xbe, 0xff, 0xbf, 0xef, 0x7d, - 0x77, 0xff, 0xff, 0xdb, 0xfe, 0xff, 0xef, 0x7b, 0xfe, 0xff, 0xbf, 0xfd, 0xef, 0xff, 0xfb, 0xef, - 0xff, 0x7b, 0xff, 0xff, 0xfe, 0xbf, 0xef, 0xff, 0xd8, 0x03, 0xbd, 0x64, 0x00, 0x89, 0xa8, 0x22, - 0x1c, 0xe1, 0x08, 0x56, 0x90, 0x20, 0x04, 0x90, 0x02, 0x20, 0x04, 0x10, 0x41, 0x03, 0x88, 0x20, - 0x04, 0x40, 0x08, 0x81, 0x30, 0x02, 0x10, 0xc4, 0x30, 0x8e, 0x21, 0x08, 0x22, 0xc1, 0x18, 0xc0, - 0x31, 0x0c, 0x60, 0x98, 0xc2, 0x23, 0x0c, 0x5f, 0xff, 0xfb, 0xef, 0xfe, 0x77, 0xfd, 0xff, 0xdb, - 0xff, 0x6f, 0xfb, 0xbf, 0xfd, 0xef, 0xff, 0xdb, 0xfe, 0x7f, 0xf7, 0xdf, 0xfd, 0xef, 0xfb, 0xbf, - 0xff, 0xff, 0xff, 0xf7, 0xff, 0xdd, 0xff, 0xef, 0xff, 0x7b, 0xff, 0xde, 0xff, 0xff, 0x7b, 0xff, - 0xf7, 0xff, 0xef, 0xef, 0xde, 0x73, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xfe, 0xfe, 0xff, 0x89, 0xbf, 0xff, 0xbf, 0xf7, 0x7f, 0x7d, 0xff, 0xef, 0x7e, 0xff, 0xfb, - 0xdf, 0xff, 0xef, 0x7d, 0x1f, 0x97, 0xa7, 0x21, 0x1c, 0xd0, 0x23, 0x0a, 0x40, 0x14, 0xa4, 0x93, - 0x99, 0x24, 0x62, 0x8a, 0x19, 0x51, 0x46, 0xb0, 0x8c, 0x43, 0x18, 0xc4, 0x30, 0x26, 0xc4, 0x18, - 0xc9, 0x26, 0x98, 0x41, 0x4c, 0xb3, 0x80, 0x0d, 0x02, 0x70, 0x88, 0x23, 0xc4, 0x10, 0x96, 0x64, - 0x09, 0x93, 0x24, 0x68, 0x44, 0x95, 0x89, 0x6a, 0x10, 0xc7, 0x3f, 0xfb, 0xff, 0xff, 0x6e, 0xfb, - 0xbf, 0xff, 0xfb, 0xef, 0xff, 0x76, 0xff, 0x9f, 0xfd, 0xdf, 0xff, 0xbb, 0xee, 0xff, 0x3d, 0xff, - 0xff, 0xff, 0xde, 0xfb, 0xff, 0xff, 0xef, 0xbe, 0xff, 0xff, 0xff, 0x77, 0xfd, 0xff, 0xdf, 0xff, - 0xfb, 0x7e, 0xdf, 0xf7, 0xff, 0xff, 0xfe, 0xdf, 0xfd, 0xfb, 0xfb, 0xf7, 0xdf, 0xd9, 0xbf, 0xbf, - 0xd7, 0xf7, 0xfb, 0xfc, 0xff, 0xfb, 0xfb, 0xef, 0xb7, 0x7f, 0xff, 0xf7, 0xff, 0xee, 0x0f, 0x0e, - 0xae, 0x6f, 0x8c, 0x90, 0x53, 0x8c, 0x28, 0x23, 0x99, 0x48, 0x66, 0x91, 0x19, 0x66, 0x48, 0x92, - 0x94, 0x65, 0x24, 0x89, 0x69, 0x46, 0x12, 0xc4, 0x88, 0x32, 0x93, 0x4c, 0x48, 0x33, 0x84, 0x32, - 0xca, 0x0c, 0xb1, 0x22, 0xce, 0x9c, 0x33, 0x96, 0xdf, 0x18, 0xa1, 0xe6, 0xd8, 0xc6, 0xf1, 0xf8, - 0xee, 0xfd, 0xf9, 0xf2, 0xc2, 0x0c, 0x66, 0x90, 0x93, 0x4c, 0x48, 0x33, 0x87, 0x9f, 0x7f, 0xff, - 0xff, 0xff, 0xd7, 0x7d, 0xfd, 0xf7, 0xdf, 0xfb, 0xbf, 0xfe, 0x7b, 0xdf, 0xff, 0xf7, 0xf7, 0xfd, + 0xff, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0x6f, 0xff, 0xff, 0xef, + 0xbf, 0xfb, 0xdf, 0xf7, 0xbf, 0xfb, 0x7f, 0x7f, 0xdb, 0xff, 0xbf, 0xfb, 0xef, 0xff, 0x7f, 0xdf, + 0xff, 0xf3, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, + 0xfb, 0xbf, 0xef, 0x7b, 0xdf, 0xf7, 0x2f, 0x60, 0xdf, 0x80, 0x2d, 0x57, 0xd0, 0x93, 0x24, 0xfc, + 0xc3, 0x1b, 0xf4, 0xf7, 0xff, 0xf0, 0xcf, 0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xc1, + 0xff, 0xfe, 0xf9, 0xe7, 0xcc, 0x91, 0xf7, 0xfc, 0xe3, 0x99, 0x2e, 0xe2, 0xfc, 0x03, 0xec, 0x7c, + 0x93, 0x2b, 0x6c, 0x95, 0x53, 0xce, 0x39, 0xc4, 0x33, 0x6b, 0xce, 0x90, 0xbf, 0xef, 0xfb, 0xbf, + 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xef, 0xfb, 0xbf, 0xed, + 0xff, 0xff, 0xee, 0xbb, 0xff, 0x6e, 0xfb, 0xdf, 0x76, 0xff, 0xdd, 0xf7, 0xbf, 0xed, 0xff, 0xff, + 0xee, 0xff, 0x75, 0xdf, 0xff, 0xf6, 0xdf, 0xff, 0xb7, 0xff, 0xfb, 0xef, 0xfd, 0xb7, 0xff, 0xdb, + 0xfe, 0x6f, 0xfb, 0xbe, 0xef, 0xfb, 0xbe, 0xef, 0xfb, 0xbe, 0xef, 0xfb, 0xbe, 0xef, 0x7b, 0xde, + 0xf7, 0x7d, 0xdf, 0xf7, 0xbd, 0xff, 0x00, 0xf7, 0x9c, 0x21, 0x27, 0xd8, 0x46, 0xff, 0x5f, 0x3f, + 0xa7, 0x9f, 0xcb, 0xcb, 0xef, 0xcb, 0xdf, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xef, 0x9f, 0xd7, 0xcf, 0xcb, 0xdf, 0xd7, 0xcf, 0x8f, 0x3f, 0x1f, 0x7f, 0xff, 0xff, 0xff, 0xf0, + 0x07, 0x73, 0xdc, 0x01, 0x6e, 0x99, 0x73, 0x4e, 0x88, 0xf3, 0x1e, 0xc0, 0xff, 0x7f, 0xde, 0xf3, + 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0xfb, 0xbf, 0xee, 0x7b, 0xdf, 0xf6, 0xbf, 0xed, + 0xff, 0xff, 0x76, 0xdf, 0xfd, 0xb7, 0xff, 0xed, 0xbf, 0xfb, 0x6e, 0xff, 0xbd, 0xef, 0xfe, 0xf7, + 0xbf, 0xfd, 0xf7, 0xdf, 0x7f, 0xff, 0xb7, 0xfc, 0xef, 0xff, 0xf7, 0xbf, 0xfa, 0xdf, 0xfd, 0xef, + 0x7b, 0xff, 0xed, 0x7f, 0xde, 0xfb, 0xef, 0xbe, 0xfb, 0xdf, 0xf6, 0x7f, 0xdd, 0xf7, 0xbf, 0xed, + 0xff, 0xbb, 0xef, 0x7e, 0xdb, 0xff, 0x76, 0xc0, 0x1d, 0x77, 0x00, 0x7f, 0xc0, 0xff, 0xfe, 0xff, + 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xef, 0x3f, 0xc0, + 0xbb, 0x37, 0x04, 0xf0, 0xce, 0x39, 0x07, 0x70, 0xdd, 0x86, 0xf2, 0x7f, 0xdf, 0xf7, 0xfd, 0xbf, + 0xef, 0x79, 0xff, 0xef, 0xfd, 0xdf, 0x7b, 0xef, 0xbf, 0xfd, 0xff, 0xfb, 0xdf, 0xf6, 0xbf, 0xed, + 0xff, 0xff, 0xef, 0x7d, 0xff, 0xfb, 0xdf, 0xfd, 0xff, 0x6f, 0xfb, 0xbf, 0xfd, 0xef, 0x7e, 0xf7, + 0xbf, 0xee, 0xfb, 0x7f, 0xdf, 0xfb, 0xbf, 0xfd, 0xef, 0xfe, 0xdf, 0xfb, 0xef, 0xfe, 0xbf, 0xed, + 0xff, 0xf7, 0xbd, 0xff, 0x6f, 0xfb, 0xfe, 0xdf, 0xf7, 0xfd, 0xbf, 0xfb, 0x6f, 0xfe, 0xf7, 0xff, + 0xdd, 0x7f, 0xfb, 0xef, 0xfd, 0xdf, 0x7b, 0xff, 0xe4, 0x09, 0xc9, 0xb6, 0x36, 0x4b, 0x47, 0x9f, + 0x1f, 0x3f, 0x3f, 0x7f, 0x7f, 0xff, 0xfe, 0xfe, 0xff, 0xfd, 0xff, 0xfe, 0xfd, 0xff, 0xfd, 0xff, + 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0x3f, 0x9f, 0xdf, 0x0d, 0xa3, 0x3a, 0x4c, + 0xe3, 0x18, 0x17, 0x06, 0x60, 0xd8, 0xcf, 0x33, 0xd8, 0xfe, 0xef, 0x7b, 0xdf, 0xff, 0x7f, 0xfd, + 0xfd, 0xf7, 0xdf, 0xff, 0xbe, 0xfb, 0xff, 0xb7, 0xdf, 0xfd, 0xff, 0x6e, 0xff, 0xdd, 0xf7, 0xbe, + 0xff, 0xff, 0xdd, 0xff, 0xef, 0x7b, 0xfe, 0xbf, 0xef, 0x7b, 0xff, 0xbd, 0x37, 0xff, 0xfb, 0x7f, + 0xf7, 0xfd, 0xef, 0xff, 0xbb, 0xff, 0xf7, 0xfe, 0xdb, 0xff, 0xee, 0xff, 0xfb, 0xbe, 0xff, 0xef, + 0xfb, 0x7e, 0xdf, 0xf7, 0xff, 0xbd, 0xff, 0xee, 0xff, 0xdb, 0xff, 0xf7, 0x7f, 0xff, 0xf7, 0xbe, + 0xff, 0x77, 0xff, 0xbb, 0xfe, 0xff, 0xff, 0xb7, 0xff, 0x00, 0xb6, 0xed, 0x09, 0x02, 0x64, 0x81, + 0x0c, 0x31, 0xc5, 0x48, 0x02, 0x24, 0x98, 0x62, 0x24, 0x05, 0x89, 0x21, 0x05, 0xff, 0xfb, 0x6d, + 0x3d, 0x9d, 0x17, 0x1c, 0x4d, 0x07, 0x26, 0x80, 0x11, 0x41, 0x84, 0xb0, 0x66, 0x19, 0x0b, 0x82, + 0x10, 0x64, 0x09, 0x90, 0xc6, 0x3b, 0x08, 0xf6, 0xff, 0xbf, 0xfb, 0xef, 0xff, 0xdd, 0xff, 0xbb, + 0xff, 0x77, 0xf7, 0xbf, 0xfb, 0xfe, 0xb7, 0xff, 0xdf, 0xfd, 0xef, 0x7f, 0xdd, 0xf7, 0xff, 0x6d, + 0xff, 0xff, 0x7b, 0xfe, 0xdf, 0xf7, 0xf7, 0x7d, 0xe9, 0xbe, 0xfe, 0xff, 0xff, 0xfd, 0xff, 0xf7, + 0xfd, 0xcf, 0xff, 0x7f, 0xef, 0xbe, 0xfb, 0xdf, 0xbd, 0xbf, 0xbb, 0xbe, 0xff, 0xbf, 0xef, 0x7d, + 0x77, 0xff, 0xff, 0xdb, 0xfe, 0xff, 0xef, 0x7b, 0xfe, 0xff, 0xbf, 0xfd, 0xef, 0xff, 0xfb, 0xef, + 0xff, 0x7b, 0xff, 0xff, 0xfe, 0xbf, 0xef, 0xff, 0xd8, 0x03, 0xbd, 0x64, 0x00, 0x89, 0xa8, 0x22, + 0x1c, 0xe1, 0x08, 0x56, 0x90, 0x20, 0x04, 0x90, 0x02, 0x20, 0x04, 0x10, 0x41, 0x03, 0x88, 0x20, + 0x04, 0x40, 0x08, 0x81, 0x30, 0x02, 0x10, 0xc4, 0x30, 0x8e, 0x21, 0x08, 0x22, 0xc1, 0x18, 0xc0, + 0x31, 0x0c, 0x60, 0x98, 0xc2, 0x23, 0x0c, 0x5f, 0xff, 0xfb, 0xef, 0xfe, 0x77, 0xfd, 0xff, 0xdb, + 0xff, 0x6f, 0xfb, 0xbf, 0xfd, 0xef, 0xff, 0xdb, 0xfe, 0x7f, 0xf7, 0xdf, 0xfd, 0xef, 0xfb, 0xbf, + 0xff, 0xff, 0xff, 0xf7, 0xff, 0xdd, 0xff, 0xef, 0xff, 0x7b, 0xff, 0xde, 0xff, 0xff, 0x7b, 0xff, + 0xf7, 0xff, 0xef, 0xef, 0xde, 0x73, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xfe, 0xff, 0x89, 0xbf, 0xff, 0xbf, 0xf7, 0x7f, 0x7d, 0xff, 0xef, 0x7e, 0xff, 0xfb, + 0xdf, 0xff, 0xef, 0x7d, 0x1f, 0x97, 0xa7, 0x21, 0x1c, 0xd0, 0x23, 0x0a, 0x40, 0x14, 0xa4, 0x93, + 0x99, 0x24, 0x62, 0x8a, 0x19, 0x51, 0x46, 0xb0, 0x8c, 0x43, 0x18, 0xc4, 0x30, 0x26, 0xc4, 0x18, + 0xc9, 0x26, 0x98, 0x41, 0x4c, 0xb3, 0x80, 0x0d, 0x02, 0x70, 0x88, 0x23, 0xc4, 0x10, 0x96, 0x64, + 0x09, 0x93, 0x24, 0x68, 0x44, 0x95, 0x89, 0x6a, 0x10, 0xc7, 0x3f, 0xfb, 0xff, 0xff, 0x6e, 0xfb, + 0xbf, 0xff, 0xfb, 0xef, 0xff, 0x76, 0xff, 0x9f, 0xfd, 0xdf, 0xff, 0xbb, 0xee, 0xff, 0x3d, 0xff, + 0xff, 0xff, 0xde, 0xfb, 0xff, 0xff, 0xef, 0xbe, 0xff, 0xff, 0xff, 0x77, 0xfd, 0xff, 0xdf, 0xff, + 0xfb, 0x7e, 0xdf, 0xf7, 0xff, 0xff, 0xfe, 0xdf, 0xfd, 0xfb, 0xfb, 0xf7, 0xdf, 0xd9, 0xbf, 0xbf, + 0xd7, 0xf7, 0xfb, 0xfc, 0xff, 0xfb, 0xfb, 0xef, 0xb7, 0x7f, 0xff, 0xf7, 0xff, 0xee, 0x0f, 0x0e, + 0xae, 0x6f, 0x8c, 0x90, 0x53, 0x8c, 0x28, 0x23, 0x99, 0x48, 0x66, 0x91, 0x19, 0x66, 0x48, 0x92, + 0x94, 0x65, 0x24, 0x89, 0x69, 0x46, 0x12, 0xc4, 0x88, 0x32, 0x93, 0x4c, 0x48, 0x33, 0x84, 0x32, + 0xca, 0x0c, 0xb1, 0x22, 0xce, 0x9c, 0x33, 0x96, 0xdf, 0x18, 0xa1, 0xe6, 0xd8, 0xc6, 0xf1, 0xf8, + 0xee, 0xfd, 0xf9, 0xf2, 0xc2, 0x0c, 0x66, 0x90, 0x93, 0x4c, 0x48, 0x33, 0x87, 0x9f, 0x7f, 0xff, + 0xff, 0xff, 0xd7, 0x7d, 0xfd, 0xf7, 0xdf, 0xfb, 0xbf, 0xfe, 0x7b, 0xdf, 0xff, 0xf7, 0xf7, 0xfd, }, { // leekspin: frame 3 - 0xff, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0x6f, 0xff, 0xdb, 0x7f, 0xff, 0xff, - 0xbb, 0xef, 0x7f, 0xdb, 0xff, 0xb7, 0xfd, 0x5d, 0x02, 0xb8, 0xc6, 0x12, 0x30, 0xc4, 0x32, 0x4a, - 0x0c, 0xf1, 0xfd, 0xbf, 0xfb, 0x6d, 0xfb, 0xbb, 0x77, 0x77, 0xbb, 0xef, 0x6f, 0xfb, 0xcf, 0xdf, - 0xbb, 0x6f, 0x7f, 0xdb, 0xff, 0xf7, 0x0f, 0xe0, 0x3f, 0xc0, 0x0d, 0xb7, 0xe0, 0x0d, 0xa9, 0xf8, - 0xc7, 0x1d, 0xf0, 0xff, 0xff, 0xf0, 0xc7, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf1, 0xc6, - 0xff, 0xf7, 0xf8, 0xf3, 0xcf, 0x90, 0xf7, 0xfc, 0xe3, 0x99, 0x2e, 0xe2, 0xfc, 0x03, 0xfc, 0x78, - 0x13, 0x27, 0xec, 0x19, 0x53, 0xe6, 0x2d, 0xd8, 0x83, 0x3b, 0xee, 0x00, 0x7f, 0xff, 0xbb, 0xef, - 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0x7f, 0xdb, 0xff, 0xb7, - 0xff, 0xfb, 0x6f, 0xfe, 0xdb, 0x7f, 0xf6, 0xdf, 0xfd, 0xb7, 0xff, 0x6d, 0xff, 0xdb, 0xff, 0xf7, - 0xff, 0xfd, 0x9f, 0xfb, 0xf7, 0xff, 0xbb, 0x00, 0x66, 0x99, 0x4c, 0x63, 0x99, 0x8c, 0x63, 0x7c, - 0x1f, 0xce, 0x26, 0x35, 0xc9, 0x0b, 0x30, 0x4c, 0x83, 0xb0, 0xfc, 0x6f, 0xef, 0xdb, 0xbf, 0x6e, - 0x7b, 0xdf, 0xf7, 0xbe, 0xee, 0xfd, 0x00, 0xd9, 0x7b, 0x02, 0x86, 0x7c, 0x09, 0xff, 0x5f, 0x3f, - 0xa7, 0x9f, 0xcb, 0xcb, 0xef, 0xcb, 0xdb, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xef, 0x9f, 0xd7, 0xcf, 0xcb, 0xdf, 0xd7, 0xcf, 0x8f, 0x3f, 0x1f, 0x7f, 0xff, 0xff, 0xfb, 0x72, - 0x87, 0xb9, 0x6c, 0x03, 0x3b, 0xcc, 0xd3, 0x36, 0x88, 0xdb, 0x75, 0x84, 0xff, 0xfb, 0xef, 0xbe, - 0xfb, 0xef, 0xfe, 0x7b, 0xef, 0xfe, 0xdb, 0xff, 0xb6, 0xff, 0xed, 0xbf, 0xfb, 0x6f, 0xfe, 0xdb, - 0xff, 0xff, 0x77, 0xfd, 0xef, 0x7b, 0xff, 0xb6, 0xff, 0xed, 0x7f, 0xfb, 0xdf, 0xfe, 0xb7, 0xff, - 0xee, 0xfe, 0xb7, 0xff, 0x7f, 0xef, 0xf9, 0x02, 0x66, 0x99, 0x92, 0x66, 0x49, 0x98, 0xa6, 0xb1, - 0xcd, 0xe4, 0xf3, 0xf9, 0xbc, 0xef, 0xfd, 0xde, 0x77, 0xff, 0xed, 0xbb, 0xfb, 0xf6, 0x6f, 0x1f, - 0x37, 0x4e, 0xce, 0x31, 0x93, 0x63, 0x4c, 0x84, 0x32, 0x59, 0x45, 0x22, 0xaa, 0xc8, 0xfe, 0xff, - 0xf7, 0xf7, 0xdf, 0x7f, 0x3f, 0x3f, 0x7f, 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, - 0x7f, 0x3f, 0x7f, 0x7f, 0x3f, 0x3f, 0x77, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xef, 0x3f, 0xc4, - 0xdd, 0x33, 0x82, 0xc8, 0x3f, 0x32, 0x82, 0xec, 0x33, 0x86, 0xf8, 0x7f, 0xf7, 0xdd, 0xff, 0xbb, - 0xee, 0x7f, 0xdd, 0xf7, 0xff, 0xee, 0xbb, 0xff, 0xf7, 0xbf, 0xfe, 0xff, 0xed, 0xbf, 0xfb, 0x6e, - 0xff, 0xff, 0xbf, 0xed, 0xff, 0xff, 0xb7, 0xff, 0xfd, 0xdf, 0xf7, 0xff, 0x6e, 0xfb, 0xff, 0xb7, - 0xfe, 0xef, 0x7d, 0xf7, 0xbf, 0xfd, 0xdf, 0xf0, 0x06, 0x99, 0xe4, 0x26, 0xff, 0xfd, 0xdf, 0xff, - 0xf6, 0xbf, 0xff, 0xee, 0xfb, 0x7f, 0xdd, 0xff, 0x37, 0x9f, 0xce, 0x27, 0x31, 0xcc, 0x62, 0x9b, - 0x89, 0x26, 0xb2, 0x98, 0x71, 0x46, 0x9e, 0x1d, 0x70, 0x86, 0x89, 0x33, 0x94, 0x87, 0x2f, 0x4f, - 0x1f, 0xbf, 0x3f, 0x7f, 0x7e, 0xf9, 0xe4, 0x60, 0xdb, 0xd8, 0xc6, 0xf8, 0xc9, 0xda, 0xf2, 0xcc, - 0xc8, 0xf3, 0xf4, 0xe0, 0xfb, 0xf8, 0xfe, 0x7f, 0x7f, 0x3f, 0x9f, 0x5f, 0x0f, 0xc9, 0x72, 0x0e, - 0xe1, 0x3c, 0x06, 0x09, 0x61, 0xb4, 0xd7, 0x4c, 0xf1, 0xbf, 0xff, 0xfd, 0xe7, 0xbf, 0xff, 0x7d, - 0xf7, 0xff, 0xed, 0xff, 0xfe, 0xcf, 0xff, 0xbe, 0xf7, 0xdd, 0xff, 0xef, 0xfe, 0x7b, 0xdf, 0xf7, - 0xff, 0xff, 0x7b, 0xdf, 0xfe, 0xfb, 0xdf, 0xfd, 0xef, 0xfe, 0xf7, 0xdf, 0xfb, 0xff, 0x76, 0xff, - 0xef, 0xfd, 0xff, 0xf7, 0xdf, 0x7d, 0xff, 0xff, 0xb0, 0xbf, 0xff, 0xff, 0xf6, 0x9f, 0xff, 0xfb, - 0xfe, 0xdf, 0xf7, 0xfd, 0x9f, 0xef, 0xf1, 0xf4, 0x66, 0xc9, 0xfc, 0xf3, 0xf9, 0xfc, 0xb6, 0xf8, - 0xf1, 0xf6, 0xdc, 0xf1, 0xf2, 0xee, 0xf1, 0xf4, 0x64, 0x01, 0xb4, 0x26, 0x49, 0x10, 0x24, 0x81, - 0x12, 0x94, 0x65, 0x08, 0x02, 0x64, 0x18, 0x42, 0x24, 0x19, 0x01, 0x85, 0x21, 0xbf, 0xff, 0x6d, - 0x5d, 0x37, 0x1d, 0x1d, 0x86, 0x26, 0x07, 0x10, 0x40, 0x09, 0x21, 0xd2, 0x4c, 0x19, 0x42, 0x13, - 0x40, 0x4c, 0x11, 0xc0, 0x0e, 0xbb, 0x80, 0xfe, 0xff, 0x6f, 0xfb, 0xbe, 0xf7, 0xdf, 0xfb, 0xff, - 0xbd, 0xef, 0xfb, 0xff, 0xbd, 0xef, 0xfb, 0xff, 0xdf, 0xfb, 0xef, 0x7e, 0xf7, 0xbf, 0xff, 0x6d, - 0xff, 0xff, 0xef, 0xfb, 0xbf, 0xfe, 0xef, 0x7b, 0xfe, 0xdf, 0xff, 0xf6, 0xdf, 0x7f, 0xf7, 0xdf, - 0xfe, 0xfb, 0xdf, 0x77, 0xff, 0xef, 0xfd, 0xff, 0x6f, 0xfc, 0xa7, 0xbf, 0xff, 0xff, 0xd9, 0xdf, - 0xbe, 0xbf, 0x77, 0x7e, 0xff, 0xdf, 0xfb, 0xfc, 0x7f, 0xdf, 0xff, 0xff, 0xbe, 0xfb, 0xff, 0xfd, - 0xdf, 0xfe, 0xff, 0x7b, 0xfe, 0xbf, 0xff, 0xef, 0xd9, 0x11, 0xef, 0x28, 0x00, 0x41, 0x4c, 0x31, - 0xc4, 0x0c, 0x68, 0x93, 0x10, 0x64, 0x01, 0x10, 0x04, 0x41, 0x10, 0x04, 0x00, 0x43, 0x11, 0x00, - 0x88, 0x22, 0x00, 0x48, 0x82, 0x90, 0x11, 0xc4, 0x30, 0x0d, 0x43, 0x10, 0x24, 0xc1, 0x10, 0xb4, - 0x81, 0x68, 0x24, 0x90, 0x4a, 0x2b, 0x80, 0x3f, 0xff, 0xdb, 0xff, 0xf7, 0xfd, 0xbf, 0xee, 0xff, - 0x7b, 0xef, 0xbe, 0xff, 0xed, 0x7f, 0xf6, 0xbf, 0xfb, 0xfe, 0x6f, 0xff, 0xdb, 0xff, 0xfd, 0x6f, - 0xff, 0xff, 0xfb, 0xfe, 0xef, 0xff, 0xbd, 0xff, 0xf7, 0xff, 0xbd, 0xff, 0xef, 0xff, 0xdf, 0xfe, - 0xff, 0xbd, 0xff, 0xdf, 0xff, 0xff, 0xf7, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xf9, 0xdf, 0x5f, 0xe6, 0xfd, 0xff, 0xff, 0xf7, 0xbf, 0xfb, 0xff, 0xfd, 0xdf, 0xfe, 0xff, - 0xf7, 0xbd, 0xff, 0x5f, 0x37, 0x9f, 0x47, 0x61, 0x9c, 0x10, 0x63, 0x06, 0xc0, 0x09, 0x64, 0x93, - 0x18, 0x66, 0x82, 0x59, 0x11, 0xa6, 0xa4, 0x19, 0x42, 0x32, 0x8c, 0x44, 0x20, 0x98, 0x47, 0x68, - 0x08, 0xd2, 0x93, 0x24, 0x8c, 0x70, 0x02, 0x0d, 0xc0, 0x32, 0x08, 0xe1, 0x82, 0x0a, 0x3a, 0xc0, - 0x16, 0x44, 0x61, 0x19, 0x46, 0xc8, 0x31, 0x06, 0xd8, 0x43, 0x3f, 0xfe, 0xff, 0xf7, 0xbd, 0xff, - 0xdb, 0xff, 0xf7, 0xff, 0xfd, 0xbf, 0xef, 0xef, 0xff, 0x6d, 0xff, 0xf7, 0xfe, 0xfb, 0xaf, 0xff, - 0xff, 0xff, 0xbe, 0xef, 0xfd, 0xff, 0xff, 0xdf, 0xfd, 0xff, 0x7f, 0xfb, 0xdf, 0xfe, 0xef, 0xfd, - 0x7f, 0xff, 0xdb, 0xff, 0xfd, 0xdf, 0xfe, 0x7e, 0xfb, 0xef, 0xef, 0xdf, 0x9f, 0xff, 0xdf, 0xdf, - 0x6f, 0xef, 0xf3, 0xfc, 0xfd, 0xff, 0xf7, 0xef, 0xbf, 0x7d, 0xff, 0xfe, 0xef, 0xdf, 0x1b, 0x26, - 0x27, 0xc9, 0x98, 0x12, 0x63, 0x2c, 0x82, 0x5a, 0x41, 0x94, 0x93, 0x2c, 0x20, 0xd3, 0x8c, 0x24, - 0x53, 0x48, 0x25, 0xb4, 0x83, 0x28, 0x24, 0xc5, 0x11, 0x52, 0x8c, 0x20, 0x9b, 0xa0, 0x26, 0x59, - 0x82, 0x2a, 0x68, 0x86, 0x99, 0x5c, 0x37, 0x96, 0x5e, 0xb1, 0x84, 0xcc, 0xf1, 0xc6, 0xc9, 0xf8, - 0xfe, 0xed, 0xf8, 0xeb, 0xc2, 0x14, 0x51, 0x4d, 0xa4, 0x92, 0x18, 0x63, 0x47, 0x9f, 0x3f, 0xff, - 0xff, 0xff, 0xf7, 0xdc, 0xff, 0xbb, 0xff, 0xf6, 0xdf, 0x7f, 0xff, 0xde, 0xf7, 0xff, 0xfb, 0xfe + 0xff, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0xef, 0xbf, 0xfb, 0x6f, 0xff, 0xdb, 0x7f, 0xff, 0xff, + 0xbb, 0xef, 0x7f, 0xdb, 0xff, 0xb7, 0xfd, 0x5d, 0x02, 0xb8, 0xc6, 0x12, 0x30, 0xc4, 0x32, 0x4a, + 0x0c, 0xf1, 0xfd, 0xbf, 0xfb, 0x6d, 0xfb, 0xbb, 0x77, 0x77, 0xbb, 0xef, 0x6f, 0xfb, 0xcf, 0xdf, + 0xbb, 0x6f, 0x7f, 0xdb, 0xff, 0xf7, 0x0f, 0xe0, 0x3f, 0xc0, 0x0d, 0xb7, 0xe0, 0x0d, 0xa9, 0xf8, + 0xc7, 0x1d, 0xf0, 0xff, 0xff, 0xf0, 0xc7, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf1, 0xc6, + 0xff, 0xf7, 0xf8, 0xf3, 0xcf, 0x90, 0xf7, 0xfc, 0xe3, 0x99, 0x2e, 0xe2, 0xfc, 0x03, 0xfc, 0x78, + 0x13, 0x27, 0xec, 0x19, 0x53, 0xe6, 0x2d, 0xd8, 0x83, 0x3b, 0xee, 0x00, 0x7f, 0xff, 0xbb, 0xef, + 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0xff, 0xbb, 0xef, 0x7f, 0xdb, 0xff, 0xb7, + 0xff, 0xfb, 0x6f, 0xfe, 0xdb, 0x7f, 0xf6, 0xdf, 0xfd, 0xb7, 0xff, 0x6d, 0xff, 0xdb, 0xff, 0xf7, + 0xff, 0xfd, 0x9f, 0xfb, 0xf7, 0xff, 0xbb, 0x00, 0x66, 0x99, 0x4c, 0x63, 0x99, 0x8c, 0x63, 0x7c, + 0x1f, 0xce, 0x26, 0x35, 0xc9, 0x0b, 0x30, 0x4c, 0x83, 0xb0, 0xfc, 0x6f, 0xef, 0xdb, 0xbf, 0x6e, + 0x7b, 0xdf, 0xf7, 0xbe, 0xee, 0xfd, 0x00, 0xd9, 0x7b, 0x02, 0x86, 0x7c, 0x09, 0xff, 0x5f, 0x3f, + 0xa7, 0x9f, 0xcb, 0xcb, 0xef, 0xcb, 0xdb, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xef, 0x9f, 0xd7, 0xcf, 0xcb, 0xdf, 0xd7, 0xcf, 0x8f, 0x3f, 0x1f, 0x7f, 0xff, 0xff, 0xfb, 0x72, + 0x87, 0xb9, 0x6c, 0x03, 0x3b, 0xcc, 0xd3, 0x36, 0x88, 0xdb, 0x75, 0x84, 0xff, 0xfb, 0xef, 0xbe, + 0xfb, 0xef, 0xfe, 0x7b, 0xef, 0xfe, 0xdb, 0xff, 0xb6, 0xff, 0xed, 0xbf, 0xfb, 0x6f, 0xfe, 0xdb, + 0xff, 0xff, 0x77, 0xfd, 0xef, 0x7b, 0xff, 0xb6, 0xff, 0xed, 0x7f, 0xfb, 0xdf, 0xfe, 0xb7, 0xff, + 0xee, 0xfe, 0xb7, 0xff, 0x7f, 0xef, 0xf9, 0x02, 0x66, 0x99, 0x92, 0x66, 0x49, 0x98, 0xa6, 0xb1, + 0xcd, 0xe4, 0xf3, 0xf9, 0xbc, 0xef, 0xfd, 0xde, 0x77, 0xff, 0xed, 0xbb, 0xfb, 0xf6, 0x6f, 0x1f, + 0x37, 0x4e, 0xce, 0x31, 0x93, 0x63, 0x4c, 0x84, 0x32, 0x59, 0x45, 0x22, 0xaa, 0xc8, 0xfe, 0xff, + 0xf7, 0xf7, 0xdf, 0x7f, 0x3f, 0x3f, 0x7f, 0x7f, 0x3f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, + 0x7f, 0x3f, 0x7f, 0x7f, 0x3f, 0x3f, 0x77, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xef, 0x3f, 0xc4, + 0xdd, 0x33, 0x82, 0xc8, 0x3f, 0x32, 0x82, 0xec, 0x33, 0x86, 0xf8, 0x7f, 0xf7, 0xdd, 0xff, 0xbb, + 0xee, 0x7f, 0xdd, 0xf7, 0xff, 0xee, 0xbb, 0xff, 0xf7, 0xbf, 0xfe, 0xff, 0xed, 0xbf, 0xfb, 0x6e, + 0xff, 0xff, 0xbf, 0xed, 0xff, 0xff, 0xb7, 0xff, 0xfd, 0xdf, 0xf7, 0xff, 0x6e, 0xfb, 0xff, 0xb7, + 0xfe, 0xef, 0x7d, 0xf7, 0xbf, 0xfd, 0xdf, 0xf0, 0x06, 0x99, 0xe4, 0x26, 0xff, 0xfd, 0xdf, 0xff, + 0xf6, 0xbf, 0xff, 0xee, 0xfb, 0x7f, 0xdd, 0xff, 0x37, 0x9f, 0xce, 0x27, 0x31, 0xcc, 0x62, 0x9b, + 0x89, 0x26, 0xb2, 0x98, 0x71, 0x46, 0x9e, 0x1d, 0x70, 0x86, 0x89, 0x33, 0x94, 0x87, 0x2f, 0x4f, + 0x1f, 0xbf, 0x3f, 0x7f, 0x7e, 0xf9, 0xe4, 0x60, 0xdb, 0xd8, 0xc6, 0xf8, 0xc9, 0xda, 0xf2, 0xcc, + 0xc8, 0xf3, 0xf4, 0xe0, 0xfb, 0xf8, 0xfe, 0x7f, 0x7f, 0x3f, 0x9f, 0x5f, 0x0f, 0xc9, 0x72, 0x0e, + 0xe1, 0x3c, 0x06, 0x09, 0x61, 0xb4, 0xd7, 0x4c, 0xf1, 0xbf, 0xff, 0xfd, 0xe7, 0xbf, 0xff, 0x7d, + 0xf7, 0xff, 0xed, 0xff, 0xfe, 0xcf, 0xff, 0xbe, 0xf7, 0xdd, 0xff, 0xef, 0xfe, 0x7b, 0xdf, 0xf7, + 0xff, 0xff, 0x7b, 0xdf, 0xfe, 0xfb, 0xdf, 0xfd, 0xef, 0xfe, 0xf7, 0xdf, 0xfb, 0xff, 0x76, 0xff, + 0xef, 0xfd, 0xff, 0xf7, 0xdf, 0x7d, 0xff, 0xff, 0xb0, 0xbf, 0xff, 0xff, 0xf6, 0x9f, 0xff, 0xfb, + 0xfe, 0xdf, 0xf7, 0xfd, 0x9f, 0xef, 0xf1, 0xf4, 0x66, 0xc9, 0xfc, 0xf3, 0xf9, 0xfc, 0xb6, 0xf8, + 0xf1, 0xf6, 0xdc, 0xf1, 0xf2, 0xee, 0xf1, 0xf4, 0x64, 0x01, 0xb4, 0x26, 0x49, 0x10, 0x24, 0x81, + 0x12, 0x94, 0x65, 0x08, 0x02, 0x64, 0x18, 0x42, 0x24, 0x19, 0x01, 0x85, 0x21, 0xbf, 0xff, 0x6d, + 0x5d, 0x37, 0x1d, 0x1d, 0x86, 0x26, 0x07, 0x10, 0x40, 0x09, 0x21, 0xd2, 0x4c, 0x19, 0x42, 0x13, + 0x40, 0x4c, 0x11, 0xc0, 0x0e, 0xbb, 0x80, 0xfe, 0xff, 0x6f, 0xfb, 0xbe, 0xf7, 0xdf, 0xfb, 0xff, + 0xbd, 0xef, 0xfb, 0xff, 0xbd, 0xef, 0xfb, 0xff, 0xdf, 0xfb, 0xef, 0x7e, 0xf7, 0xbf, 0xff, 0x6d, + 0xff, 0xff, 0xef, 0xfb, 0xbf, 0xfe, 0xef, 0x7b, 0xfe, 0xdf, 0xff, 0xf6, 0xdf, 0x7f, 0xf7, 0xdf, + 0xfe, 0xfb, 0xdf, 0x77, 0xff, 0xef, 0xfd, 0xff, 0x6f, 0xfc, 0xa7, 0xbf, 0xff, 0xff, 0xd9, 0xdf, + 0xbe, 0xbf, 0x77, 0x7e, 0xff, 0xdf, 0xfb, 0xfc, 0x7f, 0xdf, 0xff, 0xff, 0xbe, 0xfb, 0xff, 0xfd, + 0xdf, 0xfe, 0xff, 0x7b, 0xfe, 0xbf, 0xff, 0xef, 0xd9, 0x11, 0xef, 0x28, 0x00, 0x41, 0x4c, 0x31, + 0xc4, 0x0c, 0x68, 0x93, 0x10, 0x64, 0x01, 0x10, 0x04, 0x41, 0x10, 0x04, 0x00, 0x43, 0x11, 0x00, + 0x88, 0x22, 0x00, 0x48, 0x82, 0x90, 0x11, 0xc4, 0x30, 0x0d, 0x43, 0x10, 0x24, 0xc1, 0x10, 0xb4, + 0x81, 0x68, 0x24, 0x90, 0x4a, 0x2b, 0x80, 0x3f, 0xff, 0xdb, 0xff, 0xf7, 0xfd, 0xbf, 0xee, 0xff, + 0x7b, 0xef, 0xbe, 0xff, 0xed, 0x7f, 0xf6, 0xbf, 0xfb, 0xfe, 0x6f, 0xff, 0xdb, 0xff, 0xfd, 0x6f, + 0xff, 0xff, 0xfb, 0xfe, 0xef, 0xff, 0xbd, 0xff, 0xf7, 0xff, 0xbd, 0xff, 0xef, 0xff, 0xdf, 0xfe, + 0xff, 0xbd, 0xff, 0xdf, 0xff, 0xff, 0xf7, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xf9, 0xdf, 0x5f, 0xe6, 0xfd, 0xff, 0xff, 0xf7, 0xbf, 0xfb, 0xff, 0xfd, 0xdf, 0xfe, 0xff, + 0xf7, 0xbd, 0xff, 0x5f, 0x37, 0x9f, 0x47, 0x61, 0x9c, 0x10, 0x63, 0x06, 0xc0, 0x09, 0x64, 0x93, + 0x18, 0x66, 0x82, 0x59, 0x11, 0xa6, 0xa4, 0x19, 0x42, 0x32, 0x8c, 0x44, 0x20, 0x98, 0x47, 0x68, + 0x08, 0xd2, 0x93, 0x24, 0x8c, 0x70, 0x02, 0x0d, 0xc0, 0x32, 0x08, 0xe1, 0x82, 0x0a, 0x3a, 0xc0, + 0x16, 0x44, 0x61, 0x19, 0x46, 0xc8, 0x31, 0x06, 0xd8, 0x43, 0x3f, 0xfe, 0xff, 0xf7, 0xbd, 0xff, + 0xdb, 0xff, 0xf7, 0xff, 0xfd, 0xbf, 0xef, 0xef, 0xff, 0x6d, 0xff, 0xf7, 0xfe, 0xfb, 0xaf, 0xff, + 0xff, 0xff, 0xbe, 0xef, 0xfd, 0xff, 0xff, 0xdf, 0xfd, 0xff, 0x7f, 0xfb, 0xdf, 0xfe, 0xef, 0xfd, + 0x7f, 0xff, 0xdb, 0xff, 0xfd, 0xdf, 0xfe, 0x7e, 0xfb, 0xef, 0xef, 0xdf, 0x9f, 0xff, 0xdf, 0xdf, + 0x6f, 0xef, 0xf3, 0xfc, 0xfd, 0xff, 0xf7, 0xef, 0xbf, 0x7d, 0xff, 0xfe, 0xef, 0xdf, 0x1b, 0x26, + 0x27, 0xc9, 0x98, 0x12, 0x63, 0x2c, 0x82, 0x5a, 0x41, 0x94, 0x93, 0x2c, 0x20, 0xd3, 0x8c, 0x24, + 0x53, 0x48, 0x25, 0xb4, 0x83, 0x28, 0x24, 0xc5, 0x11, 0x52, 0x8c, 0x20, 0x9b, 0xa0, 0x26, 0x59, + 0x82, 0x2a, 0x68, 0x86, 0x99, 0x5c, 0x37, 0x96, 0x5e, 0xb1, 0x84, 0xcc, 0xf1, 0xc6, 0xc9, 0xf8, + 0xfe, 0xed, 0xf8, 0xeb, 0xc2, 0x14, 0x51, 0x4d, 0xa4, 0x92, 0x18, 0x63, 0x47, 0x9f, 0x3f, 0xff, + 0xff, 0xff, 0xf7, 0xdc, 0xff, 0xbb, 0xff, 0xf6, 0xdf, 0x7f, 0xff, 0xde, 0xf7, 0xff, 0xfb, 0xfe } }; diff --git a/keyboards/arch_36/rules.mk b/keyboards/arch_36/rules.mk index 588ef01e3e68..8f4e7a81a80a 100644 --- a/keyboards/arch_36/rules.mk +++ b/keyboards/arch_36/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -18,7 +18,8 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes # Split common diff --git a/keyboards/ares/ares.h b/keyboards/ares/ares.h index 6628bb022709..13b8d885cf30 100644 --- a/keyboards/ares/ares.h +++ b/keyboards/ares/ares.h @@ -1,5 +1,6 @@ /* Copyright 2019 Evy Dekkers + 2021 James Young for QMK (@noroadsleft) 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 @@ -21,7 +22,7 @@ along with this program. If not, see . #define XXX KC_NO -#define LAYOUT( \ +#define LAYOUT_all( \ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4e, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ @@ -35,3 +36,33 @@ along with this program. If not, see . {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \ {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4e} \ } + +#define LAYOUT_60_ansi_split_bs_rshift( \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4e, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k00, k01, k02, k06, k0a, k0b, k0c, k0d \ +) \ +{ \ + {k00, k01, k02, XXX, XXX, XXX, k06, XXX, XXX, XXX, k0a, k0b, k0c, k0d, XXX}, \ + {k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX}, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \ + {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4e} \ +} + +#define LAYOUT_60_hhkb( \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4e, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k01, k02, k06, k0b, k0c \ +) \ +{ \ + {XXX, k01, k02, XXX, XXX, XXX, k06, XXX, XXX, XXX, XXX, k0b, k0c, XXX, XXX}, \ + {k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX}, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \ + {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4e} \ +} diff --git a/keyboards/ares/config.h b/keyboards/ares/config.h index 35e885d69310..652b71e46369 100644 --- a/keyboards/ares/config.h +++ b/keyboards/ares/config.h @@ -49,5 +49,5 @@ along with this program. If not, see . // #define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) /* Bootmagic Lite key configuration */ -// #define BOOTMAGIC_LITE_ROW 0 -// #define BOOTMAGIC_LITE_COLUMN 0 +#define BOOTMAGIC_LITE_ROW 4 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ares/info.json b/keyboards/ares/info.json index 00911deb93cf..ba5cf1592f7d 100644 --- a/keyboards/ares/info.json +++ b/keyboards/ares/info.json @@ -1,12 +1,224 @@ { - "keyboard_name": "LSJ Ares", - "url": "", - "maintainer": "qmk", - "width": 15, - "height": 5, + "keyboard_name": "LSJ Ares", + "url": "", + "maintainer": "qmk", + "width": 15, + "height": 5, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { - "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"Back space", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"|", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] + "LAYOUT_all": { + "layout": [ + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"|", "x":13, "y":0}, + {"label":"Back space", "x":14, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"|", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Fn", "x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Win", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":12.5, "y":4} + ] } } -} \ No newline at end of file +} diff --git a/keyboards/ares/keymaps/default/keymap.c b/keyboards/ares/keymaps/default/keymap.c index 490dbdf62632..8b95db5078fa 100644 --- a/keyboards/ares/keymaps/default/keymap.c +++ b/keyboards/ares/keymaps/default/keymap.c @@ -17,24 +17,26 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -#define _MA 0 -#define _FN 1 - -#define ______ KC_TRNS +enum layer_names { + _MA, + _FN, +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_MA] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, - KC_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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTRL), -[_FN] = LAYOUT( - RGB_MOD, BL_TOGG, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, - ______, ______, ______, ______, ______, ______, ______, ______) - + [_MA] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [_FN] = LAYOUT_all( + RGB_MOD, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) + }; diff --git a/keyboards/ares/readme.md b/keyboards/ares/readme.md index 376cee437f80..a1e04ecf91e1 100644 --- a/keyboards/ares/readme.md +++ b/keyboards/ares/readme.md @@ -1,8 +1,8 @@ -# lSJ Ares +# LSJ Ares * Keyboard Maintainer: QMK Community * Hardware Supported: LSJ Ares PCB -* Hardware Availability: +* Hardware Availability: [2018 Geekhack Group Buy](https://geekhack.org/index.php?topic=93146.0) Make example for this keyboard (after setting up your build environment): @@ -12,6 +12,6 @@ Flashing example for this keyboard ([after setting up the bootloadHID flashing e make ares:default:flash -**Reset Key**: Hold down the *left control* key while plugging in the keyboard. +**Reset Key**: Hold down the top left key, commonly programmed as *Escape*, while plugging in the 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). diff --git a/keyboards/ares/rules.mk b/keyboards/ares/rules.mk index 076cbdc39ab6..d726cc5ec040 100644 --- a/keyboards/ares/rules.mk +++ b/keyboards/ares/rules.mk @@ -2,21 +2,20 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid -# build options -BOOTMAGIC_ENABLE = lite -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = no -COMMAND_ENABLE = yes -BACKLIGHT_ENABLE = yes -RGBLIGHT_ENABLE = no +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow WS2812_DRIVER = i2c + +LAYOUTS = 60_ansi_split_bs_rshift 60_hhkb diff --git a/keyboards/arisu/config.h b/keyboards/arisu/config.h index b1f9cf86d0da..227b714191cf 100644 --- a/keyboards/arisu/config.h +++ b/keyboards/arisu/config.h @@ -182,23 +182,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/arisu/keymaps/stanrc85/keymap.c b/keyboards/arisu/keymaps/stanrc85/keymap.c new file mode 100644 index 000000000000..a8430b9a332f --- /dev/null +++ b/keyboards/arisu/keymaps/stanrc85/keymap.c @@ -0,0 +1,50 @@ +/* Copyright 2021 Stanrc85 + * + * 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 +#include "stanrc85.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, + KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(_FN2_60), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, LT_BPCF, KC_LGUI, LT_SPCF, TD_TWIN, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_DEFAULT] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, 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_BSPC, 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, MO(_FN2_60), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, MO(_FN1_60), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1_60] = LAYOUT( + KC_TILD, 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_DEL, _______, + _______, _______, CA_QUOT, _______, CA_SCLN, KC_VOLU, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PSCR, _______, _______, KC_INS, _______, + KC_CAPS, _______, _______, KC_LCTL, KC_LSFT, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, + _______, KC_RDP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FN2_60] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT) + ) +}; diff --git a/keyboards/arisu/keymaps/stanrc85/rules.mk b/keyboards/arisu/keymaps/stanrc85/rules.mk new file mode 100644 index 000000000000..9db643c8e64d --- /dev/null +++ b/keyboards/arisu/keymaps/stanrc85/rules.mk @@ -0,0 +1 @@ +USER_NAME := stanrc85 \ No newline at end of file diff --git a/keyboards/arisu/rules.mk b/keyboards/arisu/rules.mk index a83e4649faed..7eff22648074 100644 --- a/keyboards/arisu/rules.mk +++ b/keyboards/arisu/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -18,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/arrayperipherals/1x4p1/keymaps/default/keymap.c b/keyboards/arrayperipherals/1x4p1/keymaps/default/keymap.c index cf4433d8c83c..6a48a3102f0c 100644 --- a/keyboards/arrayperipherals/1x4p1/keymaps/default/keymap.c +++ b/keyboards/arrayperipherals/1x4p1/keymaps/default/keymap.c @@ -17,7 +17,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_MS_WH_UP); @@ -25,6 +25,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_MS_WH_DOWN); } } + return true; } // diff --git a/keyboards/arrayperipherals/1x4p1/keymaps/via/keymap.c b/keyboards/arrayperipherals/1x4p1/keymaps/via/keymap.c index d419050a3db0..87739b377e6e 100644 --- a/keyboards/arrayperipherals/1x4p1/keymaps/via/keymap.c +++ b/keyboards/arrayperipherals/1x4p1/keymaps/via/keymap.c @@ -17,7 +17,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_MS_WH_UP); @@ -25,6 +25,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_MS_WH_DOWN); } } + return true; } // diff --git a/keyboards/arrayperipherals/1x4p1/rules.mk b/keyboards/arrayperipherals/1x4p1/rules.mk index 3bbc6dbf8796..5e6cb36ac1f2 100644 --- a/keyboards/arrayperipherals/1x4p1/rules.mk +++ b/keyboards/arrayperipherals/1x4p1/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ash1800/config.h b/keyboards/ash1800/config.h index fe839e47f684..b1f5182b0fff 100644 --- a/keyboards/ash1800/config.h +++ b/keyboards/ash1800/config.h @@ -196,26 +196,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ash1800/rules.mk b/keyboards/ash1800/rules.mk index dc36b11b99a6..8e8d10a3414a 100644 --- a/keyboards/ash1800/rules.mk +++ b/keyboards/ash1800/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ash_xiix/rules.mk b/keyboards/ash_xiix/rules.mk index 32981133b2eb..efca6bac6db9 100644 --- a/keyboards/ash_xiix/rules.mk +++ b/keyboards/ash_xiix/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ashpil/modelm_usbc/rules.mk b/keyboards/ashpil/modelm_usbc/rules.mk index 714408a2e9d4..da33d481cf04 100644 --- a/keyboards/ashpil/modelm_usbc/rules.mk +++ b/keyboards/ashpil/modelm_usbc/rules.mk @@ -2,19 +2,12 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/at101_bh/keymaps/default/keymap.c b/keyboards/at101_bh/keymaps/default/keymap.c index 086c25e1c774..1962dd7479fb 100644 --- a/keyboards/at101_bh/keymaps/default/keymap.c +++ b/keyboards/at101_bh/keymaps/default/keymap.c @@ -19,35 +19,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - void led_set_user(uint8_t usb_led) { - DDRB |= (1 << 4); - DDRD |= (1 << 6) | (1 << 7); + setPinOutput(B4); + setPinOutput(D6); + setPinOutput(D7); if (usb_led & (1 << USB_LED_NUM_LOCK)) { - PORTD |= (1 << 7); + writePinHigh(D7); } else { - PORTD &= ~(1 << 7); + writePinLow(D7); } if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - PORTB |= (1 << 4); + writePinHigh(B4); } else { - PORTB &= ~(1 << 4); + writePinLow(B4); } if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - PORTD |= (1 << 6); + writePinHigh(D6); } else { - PORTD &= ~(1 << 6); + writePinLow(D6); } -} \ No newline at end of file +} diff --git a/keyboards/at101_bh/rules.mk b/keyboards/at101_bh/rules.mk index 1930d9f27f56..3d435af45300 100644 --- a/keyboards/at101_bh/rules.mk +++ b/keyboards/at101_bh/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/at_at/660m/rules.mk b/keyboards/at_at/660m/rules.mk index a94604fb0930..e0d442ed3c8f 100644 --- a/keyboards/at_at/660m/rules.mk +++ b/keyboards/at_at/660m/rules.mk @@ -2,11 +2,14 @@ MCU = STM32F072 BOARD = GENERIC_STM32_F072XB +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/atomic/atomic.c b/keyboards/atomic/atomic.c index eba5ed61f680..1bd663c514da 100644 --- a/keyboards/atomic/atomic.c +++ b/keyboards/atomic/atomic.c @@ -1,3 +1,19 @@ +/* Copyright 2015 Jack Humbert + * + * 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 "atomic.h" void matrix_init_kb(void) { @@ -5,8 +21,8 @@ void matrix_init_kb(void) { // runs once when the firmware starts up // Turn status LED on - DDRE |= (1<<6); - PORTE |= (1<<6); + setPinOutput(E6); + writePinHigh(E6); matrix_init_user(); } diff --git a/keyboards/atomic/atomic.h b/keyboards/atomic/atomic.h index a22029f7695d..7579f49e3342 100644 --- a/keyboards/atomic/atomic.h +++ b/keyboards/atomic/atomic.h @@ -1,10 +1,22 @@ -#ifndef ATOMIC_H -#define ATOMIC_H +/* Copyright 2015 Jack Humbert + * + * 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 "quantum.h" -#include -#include -#include // This a shortcut to help you visually see your layout. // The following is an example using the Planck MIT layout @@ -24,7 +36,7 @@ { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \ } -#define LAYOUT_grid( \ +#define LAYOUT_ortho_5x15( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E,\ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,\ @@ -37,7 +49,3 @@ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E } \ } - -#define LAYOUT_ortho_5x15 LAYOUT_grid - -#endif \ No newline at end of file diff --git a/keyboards/atomic/config.h b/keyboards/atomic/config.h index 06019dd54363..cb4aee0f7fc1 100644 --- a/keyboards/atomic/config.h +++ b/keyboards/atomic/config.h @@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef CONFIG_H -#define CONFIG_H +#pragma once #include "config_common.h" @@ -24,8 +23,8 @@ along with this program. If not, see . #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x6060 #define DEVICE_VER 0x0001 -#define MANUFACTURER Ortholinear Keyboards -#define PRODUCT The Atomic Keyboard +#define MANUFACTURER OLKB +#define PRODUCT Atomic /* key matrix size */ #define MATRIX_ROWS 5 @@ -85,54 +84,6 @@ along with this program. If not, see . */ //#define FORCE_NKRO -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP1 H -//#define MAGIC_KEY_HELP2 SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0_ALT1 ESC -//#define MAGIC_KEY_LAYER0_ALT2 GRAVE -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -#define MAGIC_KEY_BOOTLOADER B -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - /* * Feature disable options * These options are also useful to firmware size reduction. @@ -150,5 +101,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/atomic/info.json b/keyboards/atomic/info.json index 6e543b7b5531..b4054eacdc7f 100644 --- a/keyboards/atomic/info.json +++ b/keyboards/atomic/info.json @@ -1,11 +1,168 @@ { - "keyboard_name": "Atomic", - "maintainer": "qmk", - "width": 15, - "height": 5, - "layouts": { - "LAYOUT_semi_standard": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2, "w":2}, {"x":14, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3, "w":2}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] + "keyboard_name": "Atomic", + "maintainer": "jackhumbert", + "width": 15, + "height": 5, + "layout_aliases": { + "LAYOUT_grid": "LAYOUT_ortho_5x15" + }, + "layouts": { + "LAYOUT_semi_standard": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2, "w":2}, + {"x":14, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3, "w":2}, + {"x":13, "y":3}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4} + ] + }, + "LAYOUT_ortho_5x15": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"x":7, "y":4}, + {"x":8, "y":4}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4} + ] + } } - } } diff --git a/keyboards/atomic/keymaps/abienz.c b/keyboards/atomic/keymaps/abienz.c deleted file mode 100644 index 7cc27d71a6d7..000000000000 --- a/keyboards/atomic/keymaps/abienz.c +++ /dev/null @@ -1,18 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_grid( /* Colemak */ - 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_NO , - KC_TAB, CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , - KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_QUOT, KC_ENT, KC_NO, KC_PGUP, - KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, CM_COMM, CM_DOT, CM_SLSH, KC_RSFT, KC_NO, KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_NO, KC_LALT, MO(1), KC_SPC, KC_NO, KC_RALT, MO(1), KC_RGUI, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, - ), - [1] = LAYOUT_grid( /* function */ - 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_BSPC, KC_NO , - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_SLEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MPLY, - KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, MO(1), KC_TRNS, KC_NO, KC_TRNS, MO(1), KC_TRNS, KC_NO, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, - ), -}; diff --git a/keyboards/atomic/keymaps/abienz/keymap.c b/keyboards/atomic/keymaps/abienz/keymap.c new file mode 100644 index 000000000000..c499807d769c --- /dev/null +++ b/keyboards/atomic/keymaps/abienz/keymap.c @@ -0,0 +1,19 @@ +#include QMK_KEYBOARD_H +#include "keymap_colemak.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_5x15(/* Colemak */ + 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, XXXXXXX, + KC_TAB, CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_QUOT, KC_ENT, XXXXXXX, KC_PGUP, + KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, CM_COMM, CM_DOT, CM_SLSH, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, XXXXXXX, KC_LALT, MO(1), KC_SPC, XXXXXXX, KC_RALT, MO(1), KC_RGUI, XXXXXXX, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_ortho_5x15(/* function */ + 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_BSPC, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_MPLY, + _______, _______, XXXXXXX, _______, MO(1), _______, XXXXXXX, _______, MO(1), _______, XXXXXXX, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), +}; diff --git a/keyboards/atomic/keymaps/default/keymap.c b/keyboards/atomic/keymaps/default/keymap.c index 6d314f147922..d4bdc1837183 100644 --- a/keyboards/atomic/keymaps/default/keymap.c +++ b/keyboards/atomic/keymaps/default/keymap.c @@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * '--------------------------------------------------------------------------------------------------------------------------------------' */ - [_QW] = LAYOUT_grid( /* QWERTY */ + [_QW] = LAYOUT_ortho_5x15( /* QWERTY */ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_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_ESC, 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_ENT, KC_PGUP, @@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * '--------------------------------------------------------------------------------------------------------------------------------------' */ - [_CM] = LAYOUT_grid( /* COLEMAK */ + [_CM] = LAYOUT_ortho_5x15( /* COLEMAK */ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP, @@ -134,7 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * '--------------------------------------------------------------------------------------------------------------------------------------' */ - [_DV] = LAYOUT_grid( /* DVORAK */ + [_DV] = LAYOUT_ortho_5x15( /* DVORAK */ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, KC_ENT, KC_ENT, KC_PGUP, @@ -156,7 +156,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * '--------------------------------------------------------------------------------------------------------------------------------------' */ - [_LW] = LAYOUT_grid( /* LOWERED */ + [_LW] = LAYOUT_ortho_5x15( /* LOWERED */ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_INS , _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______, @@ -178,7 +178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * '--------------------------------------------------------------------------------------------------------------------------------------' */ - [_RS] = LAYOUT_grid( /* RAISED */ + [_RS] = LAYOUT_ortho_5x15( /* RAISED */ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, KC_INS , _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___, _______, @@ -200,7 +200,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * '--------------------------------------------------------------------------------------------------------------------------------------' */ - [_FN] = LAYOUT_grid( /* FUNCTION */ + [_FN] = LAYOUT_ortho_5x15( /* FUNCTION */ KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___, KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR, KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U, diff --git a/keyboards/atomic/keymaps/michelle.c b/keyboards/atomic/keymaps/michelle.c deleted file mode 100644 index 6dd2de2791e4..000000000000 --- a/keyboards/atomic/keymaps/michelle.c +++ /dev/null @@ -1,169 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_grid( /* Dvorak */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_NO , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ - // │ X │ │ X │ - // └─────────────────┘ └─────────────────┘ - KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_NO, KC_PGUP , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ - // │ X │ │ X │ - // └─────────────────┘ └─────────────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_NO, KC_UP, KC_PGDN , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ - // │ X │ │ X │ - // └─────────────────┘ └─────────────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - KC_LCTL, MO(1), KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, MO(2), KC_LEFT, KC_DOWN, KC_RGHT , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐ - // │ X │ X │ X │ X │ X │ X │ X │ X │ X │ - // └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - // ┌───────────────────── 6.25u ────────────────────────────┐ - // │ X │ - // └────────────────────────────────────────────────────────┘ - // ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐ - // │ X │ X │ X │ X │ X │ X │ - // └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘ - ), - [1] = LAYOUT_grid( /* Qwerty + F keys */ - 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_BSPC, KC_NO , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - 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_INS, KC_DEL , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ - // │ X │ │ X │ - // └─────────────────┘ └─────────────────┘ - 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_ENT, KC_NO, KC_PGUP , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ - // │ X │ │ X │ - // └─────────────────┘ └─────────────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - 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_NO, KC_UP, KC_PGDN , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ - // │ X │ │ X │ - // └─────────────────┘ └─────────────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - KC_LCTL, KC_TRNS, KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐ - // │ X │ X │ X │ X │ X │ X │ X │ X │ X │ - // └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - // ┌───────────────────── 6.25u ────────────────────────────┐ - // │ X │ - // └────────────────────────────────────────────────────────┘ - // ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐ - // │ X │ X │ X │ X │ X │ X │ - // └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘ - ), - [2] = LAYOUT_grid( /* Numpad + qwerty shortcut keys */ - { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_P7, KC_P8, KC_P9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_NO , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_P4, KC_P5, KC_P6, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ - // │ X │ │ X │ - // └─────────────────┘ └─────────────────┘ - KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_P1, KC_P2, KC_P3, KC_S, KC_MINS, KC_ENT, KC_NO, KC_PGUP , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ - // │ X │ │ X │ - // └─────────────────┘ └─────────────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_X, KC_B, KC_P0, KC_P0, KC_PENT, KC_Z, KC_RSFT, KC_NO, KC_UP, KC_PGDN , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ - // │ X │ │ X │ - // └─────────────────┘ └─────────────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - KC_LCTL, KC_TRNS, KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT , - // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ - // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ - // ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐ - // │ X │ X │ X │ X │ X │ X │ X │ X │ X │ - // └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘ - // ┌─ 2u ────────────┐ - // │ X │ - // └─────────────────┘ - // ┌───────────────────── 6.25u ────────────────────────────┐ - // │ X │ - // └────────────────────────────────────────────────────────┘ - // ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐ - // │ X │ X │ X │ X │ X │ X │ - // └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘ - ), -}; diff --git a/keyboards/atomic/keymaps/michelle/keymap.c b/keyboards/atomic/keymaps/michelle/keymap.c new file mode 100644 index 000000000000..da6942716801 --- /dev/null +++ b/keyboards/atomic/keymaps/michelle/keymap.c @@ -0,0 +1,25 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_5x15( /* Dvorak */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, XXXXXXX, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL, + KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, XXXXXXX, KC_PGUP, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, + KC_LCTL, MO(1), XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, MO(2), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_ortho_5x15( /* Qwerty + F keys */ + 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_BSPC, XXXXXXX, + 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_INS, KC_DEL, + 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_ENT, XXXXXXX, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, + KC_LCTL, _______, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT + ), + [2] = LAYOUT_ortho_5x15( /* Numpad + qwerty shortcut keys */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_P7, KC_P8, KC_P9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, XXXXXXX, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_P4, KC_P5, KC_P6, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL, + KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_P1, KC_P2, KC_P3, KC_S, KC_MINS, KC_ENT, XXXXXXX, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_X, KC_B, KC_P0, KC_P0, KC_PENT, KC_Z, KC_RSFT, XXXXXXX, KC_UP, KC_PGDN, + KC_LCTL, _______, XXXXXXX, KC_LALT, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT + ), +}; diff --git a/keyboards/atomic/keymaps/pvc/keymap.c b/keyboards/atomic/keymaps/pvc/keymap.c index 51e697f96853..9ed79899d324 100644 --- a/keyboards/atomic/keymaps/pvc/keymap.c +++ b/keyboards/atomic/keymaps/pvc/keymap.c @@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | LCTRL | LWIN | FN | LALT | UPPER | SPACE . SPACE | LOWER | OSHIFT | RALT | APP | RCTRL | LEFT | DOWN | RIGHT | '--------------------------------------------------------------------------------------------------------------------------------------' */ - [LAYER_QWERTY] = LAYOUT_grid( + [LAYER_QWERTY] = LAYOUT_ortho_5x15( 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_BSPC, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_ENT , KC_PGUP, @@ -142,7 +142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ______ | ______ | ______ | ______ | UPPER | KP 0 . KP 0 | ______ | RALT | KP . | KP ENT | ______ | ______ | ______ | ______ | '--------------------------------------------------------------------------------------------------------------------------------------' */ - [LAYER_UPPER] = LAYOUT_grid( + [LAYER_UPPER] = LAYOUT_ortho_5x15( KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX, _______, _______, KC_PAUS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, KC_INS , _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, KC_HOME, @@ -162,7 +162,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ______ | ______ | ______ | ______ | ______ | ______ . ______ | LOWER | ______ | ______ | ______ | ______ | ______ | ______ | ______ | '--------------------------------------------------------------------------------------------------------------------------------------' */ - [LAYER_LOWER] = LAYOUT_grid( + [LAYER_LOWER] = LAYOUT_ortho_5x15( KC_PSCR, 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_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT , _______, _______, _______, KC_INS , _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______, _______, KC_HOME, @@ -182,7 +182,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ______ | ______ | FN | ______ | ______ | PLAY . PLAY | ______ | ______ | ______ | ______ | ______ | PREV | VOL DN | NEXT | '--------------------------------------------------------------------------------------------------------------------------------------' */ - [LAYER_FUNCTION] = LAYOUT_grid( + [LAYER_FUNCTION] = LAYOUT_ortho_5x15( XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_SLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, @@ -202,7 +202,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ______ | ______ | ______ | ______ | ______ | MS BT1 . MS BT1 | ______ | ______ | ______ | ______ | ______ | MS L | MS D | MS R | '--------------------------------------------------------------------------------------------------------------------------------------' */ - [LAYER_MOUSE] = LAYOUT_grid( + [LAYER_MOUSE] = LAYOUT_ortho_5x15( KC_ESC , KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_MS_UL, KC_MS_U, M_MS_UR, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_R, XXXXXXX, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, KC_MS_L, XXXXXXX, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, @@ -222,7 +222,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER | XXXXXX . XXXXXX | LOWER | XXXXXX | XXXXXX | XXXXXX | XXXXXX | TEMPO- | VOICE- | TEMPO+ | '--------------------------------------------------------------------------------------------------------------------------------------' */ - [LAYER_ADJUST] = LAYOUT_grid( + [LAYER_ADJUST] = LAYOUT_ortho_5x15( XXXXXXX, M_HELP1, M_HELP2, M_HELP3, M_HELP4, M_HELP5, M_HELP6, M_HELP7, M_HELP8, M_HELP9, XXXXXXX, MU_TOG , AU_TOG , XXXXXXX, XXXXXXX, XXXXXXX, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, diff --git a/keyboards/atomic/keymaps/pvc/rules.mk b/keyboards/atomic/keymaps/pvc/rules.mk index fa693923e54a..9385227ef613 100644 --- a/keyboards/atomic/keymaps/pvc/rules.mk +++ b/keyboards/atomic/keymaps/pvc/rules.mk @@ -1,4 +1,4 @@ -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/atomic/keymaps/twolayer.c b/keyboards/atomic/keymaps/twolayer.c deleted file mode 100644 index 9ecbbc6df3b0..000000000000 --- a/keyboards/atomic/keymaps/twolayer.c +++ /dev/null @@ -1,63 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* QWERTY - MIT ENHANCED / GRID COMPATIBLE - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | LCTRL1 | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | - * |--------+--------+--------+--------+--------+- 6.25u ---------+--------+--------+--------+--------+-----------------+--------+--------| - * | BRITE | LALT | FN | XXXXXX . SPACE | RCTRL | RALT | FN | LEFT | DOWN | RIGHT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - [0] = LAYOUT_grid( /* QWERTY */ - 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_BSPC, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, - KC_LCTL, 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_ENT, KC_PGUP, - 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_RSFT, KC_UP, KC_PGDN, - M(0), KC_ALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, - ), - - /* FUNCTION - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | GRV | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | NUM LK | | | | | | | | INSERT | END1 | HOME | XXXXXX . | MOUS U | WHEEL- | - * |--------+--------+--------+--------+--------+- 6.25 ------------+--------+--------+------+--------+-----------------+--------+--------| - * | | | FN | XXXXXX . MS BT1 | | | FN | MOUS L | MOUS D | MOUS R | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - [1] = LAYOUT_grid( /* FUNCTION LAYER*/ - 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, ___T___, ___T___, - KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR, - KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U, - KC_NLCK, _______, _______, _______, _______, _______, _______, _______, KC_INSERT, KC_END, KC_HOME, ___T___, ___T___, KC_MS_U, KC_WH_D, - _______, _______, MO(1), _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, MO(1), KC_MS_L, KC_MS_D, KC_MS_R, - ), -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - // MACRODOWN only works in this function - switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - #ifdef BACKLIGHT_ENABLE - backlight_step(); - #endif - } else { - unregister_code(KC_RSFT); - } - break; - } - return MACRO_NONE; -}; diff --git a/keyboards/atomic/keymaps/twolayer/keymap.c b/keyboards/atomic/keymaps/twolayer/keymap.c new file mode 100644 index 000000000000..a38ddf358bfe --- /dev/null +++ b/keyboards/atomic/keymaps/twolayer/keymap.c @@ -0,0 +1,46 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* QWERTY - MIT ENHANCED / GRID COMPATIBLE + * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| + * | LCTRL1 | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| + * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | + * |--------+--------+--------+--------+--------+- 6.25u ---------+--------+--------+--------+--------+-----------------+--------+--------| + * | BRITE | LALT | FN | XXXXXX . SPACE | RCTRL | RALT | FN | LEFT | DOWN | RIGHT | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_ortho_5x15( /* QWERTY */ + 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_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_LCTL, 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_ENT, KC_PGUP, + 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_RSFT, KC_UP, KC_PGDN, + BL_STEP, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* FUNCTION + * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. + * | GRV | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| + * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| + * | NUM LK | | | | | | | | INSERT | END1 | HOME | XXXXXX . | MOUS U | WHEEL- | + * |--------+--------+--------+--------+--------+- 6.25 ------------+--------+--------+------+--------+-----------------+--------+--------| + * | | | FN | XXXXXX . MS BT1 | | | FN | MOUS L | MOUS D | MOUS R | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_ortho_5x15( /* FUNCTION LAYER*/ + 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_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR, + KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, KC_WH_U, + KC_NLCK, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_END, KC_HOME, _______, _______, KC_MS_U, KC_WH_D, + _______, _______, MO(1), _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, MO(1), KC_MS_L, KC_MS_D, KC_MS_R + ), +}; diff --git a/keyboards/atomic/rules.mk b/keyboards/atomic/rules.mk index 5a057f973c86..bae5d5b7fa26 100644 --- a/keyboards/atomic/rules.mk +++ b/keyboards/atomic/rules.mk @@ -2,33 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output LAYOUTS = ortho_5x15 diff --git a/keyboards/atreus/astar/rules.mk b/keyboards/atreus/astar/rules.mk index e6fef517279c..cf663a7ed6aa 100644 --- a/keyboards/atreus/astar/rules.mk +++ b/keyboards/atreus/astar/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina diff --git a/keyboards/atreus/astar_mirrored/rules.mk b/keyboards/atreus/astar_mirrored/rules.mk index e6fef517279c..cf663a7ed6aa 100644 --- a/keyboards/atreus/astar_mirrored/rules.mk +++ b/keyboards/atreus/astar_mirrored/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina diff --git a/keyboards/atreus/feather/rules.mk b/keyboards/atreus/feather/rules.mk index e40b103acb1e..35d74315394b 100644 --- a/keyboards/atreus/feather/rules.mk +++ b/keyboards/atreus/feather/rules.mk @@ -5,13 +5,6 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options diff --git a/keyboards/atreus/keymaps/erlandsona/keymap.c b/keyboards/atreus/keymaps/erlandsona/keymap.c index 151288edc2ba..c261e892d4f6 100644 --- a/keyboards/atreus/keymaps/erlandsona/keymap.c +++ b/keyboards/atreus/keymaps/erlandsona/keymap.c @@ -1,6 +1,3 @@ -// this is the style you want to emulate. -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, - #include QMK_KEYBOARD_H // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -23,21 +20,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_LPRN, KC_RPRN, KC_MINS, KC_EQL , KC_LBRC, KC_TAB , KC_5 , KC_6 , KC_7 , KC_8 , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_RBRC, _______, KC_9 , KC_0 , KC_DOT , KC_COMM, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______, - _______, _______, _______, _______, KC_DEL , F(MOUS), _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, KC_DEL , TG(MOUS), _______, _______, _______, _______, _______, _______ ), [MOUS] = LAYOUT( /* Mouse and Media Keys */ KC_SLCK, KC_PAUSE, KC_F11 , KC_F10 , KC_F9 , KC_F8 , KC_F7 , KC_F6 , KC_F5 , KC_F4, KC_VOLD, KC_ACL0 , KC_ACL1, KC_ACL2, KC_VOLU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_F3, KC_MUTE, KC_MPRV , KC_MPLY, KC_MNXT, KC_MUTE, KC_WH_R, KC_WH_U, KC_WH_D, KC_WH_L, KC_F2, - _______, _______ , _______, _______, _______, _______, _______, KC_BTN1, F(BASE), RESET , KC_F12 , KC_F1 + _______, _______ , _______, _______, _______, _______, _______, KC_BTN1, TO(BASE), RESET , KC_F12 , KC_F1 ), }; - - -// I prefer this layer switching strategy to the TG and MO functions. -// so that I can get out of mouse mode just by tapping/holding my base layer FN key. -const uint16_t PROGMEM fn_actions[] = { - [BASE] = ACTION_LAYER_OFF(2, 1), // switch back to layer 0 - [MOUS] = ACTION_LAYER_ON(2, 1) // switch to layer 2 -}; diff --git a/keyboards/atreus/keymaps/khitsule/keymap.c b/keyboards/atreus/keymaps/khitsule/keymap.c index e6a5366916ee..1190efa3cb3d 100644 --- a/keyboards/atreus/keymaps/khitsule/keymap.c +++ b/keyboards/atreus/keymaps/khitsule/keymap.c @@ -16,12 +16,6 @@ enum layers { #define KM_DRIGHT LGUI(LCTL(KC_RIGHT)) #define TSKMGR LCTL(LSFT(KC_ESC)) -#define tap_mod_macro(record, mod, macro) ( ((record)->event.pressed) ? \ - ( ((record)->tap.count <= 0 || (record)->tap.interrupted) ? MACRO(D(mod), END) : MACRO_NONE ) : \ - ( ((record)->tap.count > 0 && !((record)->tap.interrupted)) ? (macro) : MACRO(U(mod), END) ) ) - - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [ALPH] = LAYOUT( KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, @@ -54,21 +48,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ) }; - -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_MACRO_TAP(1), - [2] = ACTION_MACRO_TAP(2) -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch(id) { - case 1: - return tap_mod_macro(record, LGUI, MACRO( D(LSFT), T(9), U(LSFT), END)); - break; - case 2: - return tap_mod_macro(record, LALT, MACRO( D(LSFT), T(0), U(LSFT), END)); - break; - - } - return MACRO_NONE; -}; diff --git a/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h b/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 000000000000..5084aa5b9fb9 --- /dev/null +++ b/keyboards/atreus/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,22 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 XXX KC_NO + +#define LAYOUT_miryoku(\ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ +)\ +LAYOUT(\ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ +XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX\ +) diff --git a/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 000000000000..1520387e8887 --- /dev/null +++ b/keyboards/atreus/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,5 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 . diff --git a/keyboards/atreus/keymaps/replicaJunction/config.h b/keyboards/atreus/keymaps/replicaJunction/config.h index 8e786aa0da8b..a02f9a95dbad 100644 --- a/keyboards/atreus/keymaps/replicaJunction/config.h +++ b/keyboards/atreus/keymaps/replicaJunction/config.h @@ -1,11 +1,51 @@ +/* Copyright 2021 Joshua T. + * + * 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 -// Layer definitions +// Do not allow one macro to contain the other macro +#define DYNAMIC_MACRO_NO_NESTING + +// "THE most important tap hold configuration setting" +// https://precondition.github.io/home-row-mods#ignore-mod-tap-interrupt +// https://docs.qmk.fm/#/tap_hold?id=ignore-mod-tap-interrupt +#define IGNORE_MOD_TAP_INTERRUPT + +// This one is a style choice. Play with it both on and off to see which +// one suits you better. +// https://precondition.github.io/home-row-mods#permissive-hold +// https://docs.qmk.fm/#/tap_hold?id=permissive-hold +#define PERMISSIVE_HOLD + +// If you press a dual-role key for longer than TAPPING_TERM, then +// release it without pressing another key, without this setting nothing +// would happen. With this setting, it sends the key's tap function. +// https://precondition.github.io/home-row-mods#retro-tapping +#define RETRO_TAPPING + +// Disable some unused features to save space +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE + +///// +// Flags for stuff in my userspace + +#define USER_INCLUDE_GAMING_LAYER +#define USER_INCLUDE_MACRO_LAYER -#define L_COLEMAK 0 -#define L_NUM 1 -#define L_EXTEND 2 -#define L_FUNC 3 -#define L_LL_R 4 -#define L_LL_E 5 -#define L_LL_I 6 +// "Super Alt-Tab" +// https://docs.qmk.fm/#/feature_macros?id=super-alt%E2%86%AFtab +#define USER_SUPER_ALT_TAB_TIMEOUT 500 diff --git a/keyboards/atreus/keymaps/replicaJunction/keymap.c b/keyboards/atreus/keymaps/replicaJunction/keymap.c index c3cc371151f2..32cc95d2fd23 100644 --- a/keyboards/atreus/keymaps/replicaJunction/keymap.c +++ b/keyboards/atreus/keymaps/replicaJunction/keymap.c @@ -1,78 +1,95 @@ -/* - * Keyboard: Atreus - * Keymap: replicaJunction - * Version: 2.1 +/* Copyright 2021 Joshua T. + * + * 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 #include "replicaJunction.h" +#define BSP_SYM LT(L_SYMBOLS, KC_BSPC) +#define SPC_NAV LT(L_NAVIGATION, KC_SPC) +#define EQL_FUN LT(L_FN, KC_EQL) + +#define ESC_SFT LSFT_T(KC_ESC) +#define TAB_SFT RSFT_T(KC_TAB) + +#define DF_TYPE DF(L_BASE) +#define DF_GAME DF(L_GAMING) + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[L_COLEMAK] = LAYOUT( - KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, - KC_A, KC_R_LT, KC_S_LT, KC_T, KC_G, KC_M, KC_N, KC_E_LT, KC_I_LT, KC_O, - KX_Z_MT, KX_X_MT, KX_C_MT, KX_D_MT, KC_V, KC_K, KX_H_MT, KX_COMT, KX_DOMT, KX_SLMT, - TD_LAYR, KC_LGUI, KC_TAB, KC_LSFT, KX_BKNM, KX_DCTL, KX_NALT, KX_SPAC, KC_RSFT, KC_MINS, KC_QUOT, KC_EQL -) -, +[L_BASE] = LAYOUT( + KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, + KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, + KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM,KC_DOT, KC_SLSH, + KC_ESC, KC_LGUI,KC_TAB, ESC_SFT,BSP_SYM,CTL_DEL,ALT_ENT,SPC_NAV,TAB_SFT,KC_MINS,KC_QUOT,EQL_FUN +), -[L_NUM] = LAYOUT( - KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_SLSH, KC_COLN, KC_7, KC_8, KC_9, KC_SLSH, - KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_PIPE, KC_HASH, KC_4, KC_5, KC_6, KC_ASTR, - KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_BSLS, KC_BSPC, KC_1, KC_2, KC_3, KC_MINS, - _______, KC_AMPR, KC_TILD, KC_GRV, ooooooo, _______, KC_ENT, MO_FUNC, KC_0, KC_DOT, KC_EQL, KC_PLUS -) -, +[L_GAMING] = LAYOUT( + _______,_______,_______,_______,_______, _______,_______,_______,_______,_______, + _______,_______,_______,_______,_______, _______,_______,_______,_______,_______, + _______,_______,KC_C, KC_D, _______, _______,_______,_______,_______,_______, + _______,KC_TAB, KC_LALT,KC_LSFT,KC_SPC, KC_LCTL,KC_LALT,KC_BSPC,KC_BTN1,KC_BTN2,KC_BTN3,_______ +), -[L_EXTEND] = LAYOUT( - _______, _______, _______, KC_APP, KX_CGR, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, - KC_LGUI, KC_LSFT, KC_LALT, KC_LCTL, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, - _______, _______, _______, KX_SRCH, KX_PAST, _______, KX_STAB, KC_TAB, _______, KC_INS, - _______, _______, _______, _______, MO_FUNC, KC_DEL, KC_ENT, _______, _______, _______, _______, KC_PSCR -) -, +[L_NUMBERS] = LAYOUT( + _______,_______,_______,_______,_______, KC_HASH,KC_7, KC_8, KC_9, KC_SLSH, + _______,_______,_______,_______,_______, KC_PLUS,KC_4, KC_5, KC_6, KC_ASTR, + _______,_______,_______,_______,_______, KC_MINS,KC_1, KC_2, KC_3, KC_BSLS, + _______,_______,_______,_______,_______,_______,_______,_______,KC_0, KC_0, KC_DOT, KC_ENT +), -[L_FUNC] = LAYOUT( - _______, _______, M_LCLIK, M_RCLIK, M_MCLIK, KC_VOLU, KC_F9, KC_F10, KC_F11, KC_F12, - KC_LGUI, KC_LSFT, KC_LALT, KC_LCTL, M_WHLUP, KC_MUTE, KC_F5, KC_F6, KC_F7, KC_F8, - M_LEFT, M_DOWN, M_UP, M_RIGHT, M_WHLDN, KC_VOLD, KC_F1, KC_F2, KC_F3, KC_F4, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) -, +[L_SYMBOLS] = LAYOUT( + KC_AT, KC_LT, KC_DLR, KC_GT, XXXXXXX, XXXXXXX,KC_LBRC,KC_UNDS,KC_RBRC,XXXXXXX, + KC_BSLS,KC_LPRN,KC_DQUO,KC_RPRN,KC_HASH, KC_PERC,KC_LCBR,KC_EQL, KC_RCBR,KC_PIPE, + KC_EXLM,KC_COLN,KC_ASTR,KC_PLUS,XXXXXXX, XXXXXXX,KC_AMPR,KC_CIRC,KC_TILD,KC_GRV, + _______,_______,_______,_______,ooooooo,_______,_______,ooooooo,CAPWORD,_______,_______,_______ +), -[L_LL_R] = LAYOUT( - _______, _______, _______, _______, _______, KC_COLN, KC_P7, KC_P8, KC_P9, KC_PSLS, - _______, ooooooo, KC_AMPR, KC_PIPE, _______, KC_HASH, KC_P4, KC_P5, KC_P6, KC_PAST, - _______, _______, _______, _______, _______, KC_BSPC, KC_P1, KC_P2, KC_P3, KC_PMNS, - _______, _______, _______, _______, _______, _______, _______, _______, KC_0, KC_DOT, KC_EQL, KC_PLUS -) -, +[L_NAVIGATION] = LAYOUT( + OS_UNDO,OS_CUT, OS_PAST,OS_COPY,OS_SALL, KC_PGUP,KC_HOME,KC_UP, KC_END, KC_DEL, + KC_LGUI,KC_LALT,KC_LSFT,KC_LCTL,_______, KC_PGDN,KC_LEFT,KC_DOWN,KC_RGHT,KC_BSPC, + WIN_V, _______,_______,OS_FIND,SEARCH, _______,SFT_TAB,KC_TAB, KC_APP, KC_PSCR, + _______,_______,_______,NUMWORD,ooooooo,_______,_______,ooooooo,_______,_______,_______,_______ +), -[L_LL_E] = LAYOUT( - RJ_MAKE, RJ_EQ, RJ_LEQ, RJ_GEQ, RJ_GEQR, _______, _______, _______, _______, _______, - _______, _______, RJ_SELS, RJ_DUND, _______, _______, _______, ooooooo, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -) -, +[L_FN] = LAYOUT( + RESET, _______,_______,_______,_______, KC_VOLU,KC_F9, KC_F10, KC_F11, KC_F12, + MS_JIGL,_______,_______,_______,_______, KC_MUTE,KC_F5, KC_F6, KC_F7, KC_F8, + _______,K_SECR1,K_SECR2,K_SECR3,K_SECR4, KC_VOLD,KC_F1, KC_F2, KC_F3, KC_F4, + DF_TYPE,DF_GAME,_______,_______,_______,KC_LCTL,KC_LALT,_______,_______,_______,_______,ooooooo +), -[L_LL_I] = LAYOUT( - KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_SLSH, _______, KC_UNDS, KC_GRV, _______, _______, - KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_PIPE, _______, KC_MINS, KC_QUOT, ooooooo, _______, - KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_TILD, KC_DQT, _______, _______, - _______, KC_AMPR, KC_LABK, KC_RABK, _______, _______, _______, _______, _______, _______, _______, _______ +[L_MACROS] = LAYOUT( + QK_MAKE,_______,DM_REC2,DM_REC1,DM_RSTP, _______,SHEBANG,_______,_______,_______, + QK_FLSH,_______,DM_PLY2,DM_PLY1,_______, PRG_NE, PRG_EQ, PRG_GEQ,PRG_LEQ,PRG_ARR, + QK_VERS,_______,_______,_______,_______, _______,PS_ITEM,FS_PIPE,_______,FS_ARR, + _______,_______,_______,_______,ooooooo,_______,_______,ooooooo,_______,_______,_______,_______ ) -}; -// Uncomment any of these to add keyboard-specific code. Otherwise, they -// will use user defaults defined in the replicaJunction.h header file. +// Template +// [L_FUNC] = LAYOUT( +// _______,_______,_______,_______,_______, _______,_______,_______,_______,_______, +// _______,_______,_______,_______,_______, _______,_______,_______,_______,_______, +// _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, +// _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ +// ), -// bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { -// return true; -// } +}; -// void matrix_init_keymap(void) {}; +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, L_SYMBOLS, L_NAVIGATION, L_MACROS); +} -// void matrix_scan_keymap(void) {}; diff --git a/keyboards/atreus/keymaps/replicaJunction/kle/base-layer.txt b/keyboards/atreus/keymaps/replicaJunction/kle/base-layer.txt deleted file mode 100644 index aec41316f23c..000000000000 --- a/keyboards/atreus/keymaps/replicaJunction/kle/base-layer.txt +++ /dev/null @@ -1,34 +0,0 @@ -[{r:10,rx:1,y:-0.1,x:2},"F"], -[{y:-0.65,x:1},"W",{x:1},"P"], -[{y:-0.75},"Q"], -[{y:-0.9,x:4},"B"], -[{y:-0.7,x:2},"S"], -[{y:-0.65,x:1,c:"#45b866"},"R",{x:1,c:"#cccccc"},"T"], -[{y:-0.75},"A"], -[{y:-0.9,x:4},"G"], -[{y:-0.7,x:2},"C\n\n\n"], -[{y:-0.65,x:1},"X\n\n\nCtrl",{x:1},"D\n\n\nCtrlAlt"], -[{y:-0.75},"Z"], -[{y:-0.9,x:4},"V\n\n\nAlt"], -[{y:-0.75,x:5,h:1.5},"Del\nCtrl"], -[{y:-0.95,x:2},"Tab"], -[{y:-0.65,x:1,a:7,fa:[7]},"",{x:1,a:4,f:3},"Shift"], -[{y:-0.75,f:3},"Layer tap"], -[{y:-0.9,x:4,f:3},""], -[{r:-10,rx:7,ry:0.965,y:-0.2,x:2,f:3},"U"], -[{y:-0.65,x:1,f:3},"L",{x:1,f:3},"Y"], -[{y:-0.75,x:4,f:3},":\n;"], -[{y:-0.9,f:3},"J"], -[{y:-0.7,x:2,c:"#ffb07b",f:3},"E"], -[{y:-0.65,x:1,c:"#cccccc",f:3},"N",{x:1,c:"#5dcde3",f:3},"I"], -[{y:-0.75,x:4,c:"#cccccc",f:3},"O"], -[{y:-0.9,f:3},"M"], -[{y:-0.7,x:2,f:3},"<\n,\n\nCtrlAlt"], -[{y:-0.65,x:1,f:3},"H\n\n\nAlt",{x:1,f:3},">\n.\n\n"], -[{y:-0.75,x:4,f:3},"?\n/\n\nCtrl"], -[{y:-0.9,f:3},"K"], -[{y:-0.75,x:-1,f:3,h:1.5},"Enter\nAlt"], -[{y:-0.95,x:2,f:3},"_\n-"], -[{y:-0.65,x:1,f:3},"Shift",{x:1,f:3},"\"\n'"], -[{y:-0.75,x:4,f:3},"+\n="], -[{y:-0.9,c:"#ffe08d",f:3},"Space"] diff --git a/keyboards/atreus/keymaps/replicaJunction/kle/e-layer.txt b/keyboards/atreus/keymaps/replicaJunction/kle/e-layer.txt deleted file mode 100644 index 2b4105b2b42f..000000000000 --- a/keyboards/atreus/keymaps/replicaJunction/kle/e-layer.txt +++ /dev/null @@ -1,34 +0,0 @@ -[{r:10,rx:1,y:-0.1,x:2},"<="], -[{y:-0.65,x:1},"==",{x:1},">="], -[{y:-0.75},"make"], -[{y:-0.9,x:4},"=>"], -[{y:-0.7,x:2},"select *"], -[{y:-0.65,x:1,a:7},"",{x:1,a:4},"$_"], -[{y:-0.75,a:7},""], -[{y:-0.9,x:4},""], -[{y:-0.7,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75},""], -[{y:-0.9,x:4},""], -[{y:-0.75,x:5,h:1.5},""], -[{y:-0.95,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75},""], -[{y:-0.9,x:4},""], -[{r:-10,rx:7,ry:0.965,y:-0.2,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75,x:4},""], -[{y:-0.9},""], -[{y:-0.7,x:2,c:"#ffb07b"},""], -[{y:-0.65,x:1,c:"#cccccc"},"",{x:1},""], -[{y:-0.75,x:4},""], -[{y:-0.9},""], -[{y:-0.7,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75,x:4},""], -[{y:-0.9},""], -[{y:-0.75,x:-1,h:1.5},""], -[{y:-0.95,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75,x:4},""], -[{y:-0.9},""] diff --git a/keyboards/atreus/keymaps/replicaJunction/kle/fn-layer.txt b/keyboards/atreus/keymaps/replicaJunction/kle/fn-layer.txt deleted file mode 100644 index d45fb7e97dc1..000000000000 --- a/keyboards/atreus/keymaps/replicaJunction/kle/fn-layer.txt +++ /dev/null @@ -1,35 +0,0 @@ -[{r:10,rx:1,y:-0.1,x:2},"RClick"], -[{y:-0.65,x:1,a:7},"",{x:1,a:4},"LClick"], -[{y:-0.75,a:7},""], -[{y:-0.9,x:4,a:4},"MClick"], -[{y:-0.7,x:2},"Alt"], -[{y:-0.65,x:1},"Shift",{x:1},"Ctrl"], -[{y:-0.75,a:7,fa:[7]},""], -[{y:-0.9,x:4,a:4,fa:[5,0,0,0,0,0,0,0,0,0,7]},"\n\n\n\n\n\n\n\n\n\n"], -[{y:-0.7,x:2,fa:[0,0,0,0,0,0,0,0,0,0,7]},"\n\n\n\n\n\n\n\n\n\n"], -[{y:-0.65,x:1},"\n\n\n\n\n\n\n\n\n\n",{x:1},"\n\n\n\n\n\n\n\n\n\n"], -[{y:-0.75},"\n\n\n\n\n\n\n\n\n\n"], -[{y:-0.9,x:4,fa:[5,0,0,0,0,0,0,0,0,0,7]},"\n\n\n\n\n\n\n\n\n\n"], -[{y:-0.75,x:5,a:7,h:1.5},""], -[{y:-0.95,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75},""], -[{y:-0.9,x:4,c:"#ffe08d"},""], -[{r:-10,rx:7,ry:0.965,y:-0.2,x:2,c:"#cccccc",a:4,f:3},"F10"], -[{y:-0.65,x:1,f:3},"F9",{x:1,f:3},"F11"], -[{y:-0.75,x:4,f:3},"F12"], -[{y:-0.9,a:7},""], -[{y:-0.7,x:2,a:4,f:3},"F6"], -[{y:-0.65,x:1,f:3},"F5",{x:1,f:3},"F7"], -[{y:-0.75,x:4,f:3},"F8"], -[{y:-0.9,a:7},""], -[{y:-0.7,x:2,a:4,f:3},"F2"], -[{y:-0.65,x:1,f:3},"F1",{x:1,f:3},"F3"], -[{y:-0.75,x:4,f:3},"F4"], -[{y:-0.9,a:7},""], -[{y:-0.75,x:-1,h:1.5},""], -[{y:-0.95,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75,x:4},""], -[{y:-0.9,c:"#ffe08d"},""] - diff --git a/keyboards/atreus/keymaps/replicaJunction/kle/i-layer.txt b/keyboards/atreus/keymaps/replicaJunction/kle/i-layer.txt deleted file mode 100644 index 45bef783a30b..000000000000 --- a/keyboards/atreus/keymaps/replicaJunction/kle/i-layer.txt +++ /dev/null @@ -1,34 +0,0 @@ -[{r:10,rx:1,y:-0.1,x:2},"{"], -[{y:-0.65,x:1},"@",{x:1},"}"], -[{y:-0.75},"!"], -[{y:-0.9,x:4},"/"], -[{y:-0.7,x:2},"("], -[{y:-0.65,x:1},"$",{x:1},")"], -[{y:-0.75},"#"], -[{y:-0.9,x:4},"|"], -[{y:-0.7,x:2},"["], -[{y:-0.65,x:1},"^",{x:1},"]"], -[{y:-0.75},"%"], -[{y:-0.9,x:4},"\\"], -[{y:-0.75,x:5,a:7,h:1.5},""], -[{y:-0.95,x:2,a:4},"<"], -[{y:-0.65,x:1},"&",{x:1},">"], -[{y:-0.75,a:7},""], -[{y:-0.9,x:4},""], -[{r:-10,rx:7,ry:0.965,y:-0.2,x:2,a:4},"`"], -[{y:-0.65,x:1},"_",{x:1,a:7},""], -[{y:-0.75,x:4},""], -[{y:-0.9},""], -[{y:-0.7,x:2,a:4},"'"], -[{y:-0.65,x:1},"-",{x:1,c:"#5dcde3",a:7},""], -[{y:-0.75,x:4,c:"#cccccc"},""], -[{y:-0.9},""], -[{y:-0.7,x:2,a:4},"\""], -[{y:-0.65,x:1},"~",{x:1,a:7},""], -[{y:-0.75,x:4},""], -[{y:-0.9},""], -[{y:-0.75,x:-1,h:1.5},""], -[{y:-0.95,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75,x:4},""], -[{y:-0.9},""] diff --git a/keyboards/atreus/keymaps/replicaJunction/kle/r-layer.txt b/keyboards/atreus/keymaps/replicaJunction/kle/r-layer.txt deleted file mode 100644 index 3d44383863ab..000000000000 --- a/keyboards/atreus/keymaps/replicaJunction/kle/r-layer.txt +++ /dev/null @@ -1,34 +0,0 @@ -[{r:10,rx:1,y:-0.1,x:2,a:7},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75},""], -[{y:-0.9,x:4},""], -[{y:-0.7,x:2,a:4},"&"], -[{y:-0.65,x:1,c:"#45b866",a:7},"",{x:1,c:"#cccccc",a:4},"|"], -[{y:-0.75,a:7},""], -[{y:-0.9,x:4},""], -[{y:-0.7,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75},""], -[{y:-0.9,x:4},""], -[{y:-0.75,x:5,h:1.5},""], -[{y:-0.95,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75},""], -[{y:-0.9,x:4},""], -[{r:-10,rx:7,ry:0.965,y:-0.2,x:2,a:4},"8"], -[{y:-0.65,x:1},"7",{x:1},"9"], -[{y:-0.75,x:4},"/"], -[{y:-0.9},":"], -[{y:-0.7,x:2},"5"], -[{y:-0.65,x:1},"4",{x:1},"6"], -[{y:-0.75,x:4},"*"], -[{y:-0.9},"#"], -[{y:-0.7,x:2},"2"], -[{y:-0.65,x:1},"1",{x:1},"3"], -[{y:-0.75,x:4},"-"], -[{y:-0.9},""], -[{y:-0.75,x:-1,a:7,h:1.5},""], -[{y:-0.95,x:2,a:4},"."], -[{y:-0.65,x:1},"0",{x:1},"="], -[{y:-0.75,x:4},"+"], -[{y:-0.9},"Space"] diff --git a/keyboards/atreus/keymaps/replicaJunction/kle/space-layer.txt b/keyboards/atreus/keymaps/replicaJunction/kle/space-layer.txt deleted file mode 100644 index d1ffa35f895d..000000000000 --- a/keyboards/atreus/keymaps/replicaJunction/kle/space-layer.txt +++ /dev/null @@ -1,34 +0,0 @@ -[{r:10,rx:1,y:-0.1,x:2,a:7},""], -[{y:-0.65,x:1},"",{x:1,fa:[7]},""], -[{y:-0.75},""], -[{y:-0.9,x:4},""], -[{y:-0.7,x:2,a:4,f:3},"Alt"], -[{y:-0.65,x:1,f:3},"Shift",{x:1,f:3},"Ctrl"], -[{y:-0.75,a:7},""], -[{y:-0.9,x:4},""], -[{y:-0.7,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75},""], -[{y:-0.9,x:4},""], -[{y:-0.75,x:5,h:1.5},""], -[{y:-0.95,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75},""], -[{y:-0.9,x:4},""], -[{r:-10,rx:7,ry:0.965,y:-0.2,x:2},""], -[{y:-0.65,x:1,a:4,f:3},"Home",{x:1,f:3},"End"], -[{y:-0.75,x:4,f:3},"Delete"], -[{y:-0.9,f:3},"PgUp"], -[{y:-0.7,x:2,a:7},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75,x:4,a:4,f:3},"Bksp"], -[{y:-0.9,f:3},"PgDn"], -[{y:-0.7,x:2,f:3},"Tab"], -[{y:-0.65,x:1,f:3},"Shift+\n\n\n\n\n\nTab",{x:1,a:7},""], -[{y:-0.75,x:4,a:4,f:3},"Insert"], -[{y:-0.9,a:7},""], -[{y:-0.75,x:-1,h:1.5},""], -[{y:-0.95,x:2},""], -[{y:-0.65,x:1},"",{x:1},""], -[{y:-0.75,x:4,a:4,f:3},"Prnt Scrn"], -[{y:-0.9,c:"#ffe08d",a:7},""] diff --git a/keyboards/atreus/keymaps/replicaJunction/readme.md b/keyboards/atreus/keymaps/replicaJunction/readme.md index f1d6c47b132e..6aa356f4f733 100644 --- a/keyboards/atreus/keymaps/replicaJunction/readme.md +++ b/keyboards/atreus/keymaps/replicaJunction/readme.md @@ -1,103 +1,7 @@ # replicaJunction - Atreus Layout -This layout is designed to make the absolute most out of the Atreus 40% keyboard. +I no longer actively use this keyboard. I've replaced it with the [Keyboardio Atreus](../../../keyboardio/atreus/keymaps/replicaJunction/readme.md). -This layout is probably not perfect for you. That's okay! Use it for ideas as you design your own perfect layout. +I still try to make sure the layout compiles, but I'm no longer tweaking it or adding new features. -Most of the custom logic in this keyboard is actually not in these files. Instead, it's in the directory `/users/replicaJunction` (from the root of the QMK repo). This allows me to share macros and custom logic between multiple keyboards. A `process_record_keyboard()` function defined weakly in `replicaJunction.h` allows keyboards to process records individually as well without overriding the `process_record_user()` function. (My Ergodox uses this to handle its LEDs, for example.) - -The default letter layout in this keymap is [Colemak-ModDH](https://colemakmods.github.io/mod-dh/). I use the "matrix version" of that layout, which retains the M key on the home row as in normal Colemak. - -## Design Goals - -I designed this layout with the following goals in mind: - -* Nothing may interfere with ordinary typing. -* Symbols need to be accessible quickly and organized in a manner I can remember. -* Limit more difficult finger movements (and pinky usage in general). - -### Nothing may interfere with ordinary typing - -For a long time, this meant that I couldn't use letters or home row keys as dual-role keys. I'm a fast typer, and I'm sometimes already typing the next letter before I've fully released the previous one. Normal keyboards don't care about this, but if I started adding dual-role functionality to letters, I found that I would sometimes type the next letter before releasing the layer toggle, and the letter I tried to send would still be sent under the layer I thought I'd left off. - -Fortunately, though, QMK has addressed this with the `PERMISSIVE_HOLD` flag. [Details are on the QMK docs page.](https://docs.qmk.fm/#/feature_advanced_keycodes?id=permissive-hold) - -Using that flag, I'm comfortable having layer shift keys on the home row, and this goes a long way to eliminate finger stress. - -### Sympols need to be accessible quickly - -Symbols are available under my left hand by holding the I key (on my right hand). I've grouped parenthesis, slashes, and braces together; the remaining symbols are ordered in the same way as they appear on USA keycap legends (for example, 1 is !, so that symbol is first in my lineup). Practically, I just had to get used to these other "misc" symbols. - -This also means that some symbols are accessible in more than one way. For example, the carats (greater than and less than) are available both in the "normal" location (Shift+Comma / Shift+Period) and on the symbol layer. I make regular changes to some of the symbols I don't use as commonly as I think of them. - -### Limit more difficult finger movements - -This is why I kept trying to put layer toggles on the home row keys instead of just placing them on random thumb keys. I suffer from RSI, and it's important for me to watch out for more "stressful" finger movements. - -The home row is the easiest row for your fingers to hit, followed by the upper row, and the lower row is noticeably more difficult to press. Because of this, I favored the upper row over the lower one any time I had the option to do so. - -## Features - -### ZXC Mods - -Keys on the bottom row of each half of this keyboard can be held to send modifier keys. I've tried to map this in a relatively logical manner: - -* Z / Slash: Ctrl -* X / Period: GUI -* C / Comma: Ctrl+Alt -* D / H: Alt - -Combined with Shift keys on the thumbs, this makes all modifiers quick to access on either hand. - -### Layer tap dance - -The lower-left key on the left hand can be used to apply or remove layers based on a number of taps: - -* 1 tap sends Escape, and also disables any persistent layers. -* 2 taps enables the Number pad layer. -* 5 or more taps resets the keyboard. - -## Extend Layer - -[Originally found on the Colemak forums](https://forum.colemak.com/topic/2014-extend-extra-extreme/), having a QMK-powered keyboard allows a super easy implementation of this concept. The idea is to place commonly-used keys under easy reach of your hands. Since I work with text often, my most common needs are things like Ctrl+Shift+arrow keys, and they're easy to access using this layer. (While technically it's four keypresses instead of just three, since it takes one key to enter the layer, that one key is a thumb button and the other three are all on the home row, so I find it much more comfortable than modifiers on a traditional keyboard.) - -Also featured in this layer is easy access to Tab, plus a Shift+Tab key. Alt-Tabbing back and forth, along with Ctrl-Tab, are super easy and friendly. When I need Ctrl+Alt+Delete, I typically use the ones found on this layer. - -## Layout Images - -Colored keys indicate keys that swap to another layer when held. - -These images are located in the `kle` folder of this directory. Also included is the "raw data" from Keyboard-Layout-Editor in a corresponding text file. - -### Base layer - -![Base layer](kle/base-layer.png) - -### R layer - -![R layer](kle/r-layer.png) - -### E layer - -![E layer](kle/i-layer.png) - -### I layer - -![I layer](kle/i-layer.png) - -### Space layer - -![Space layer](kle/space-layer.png) - -### Function layer - -![Function layer](kle/fn-layer.png) - -## Credits - -* [Drashna](https://github.com/qmk/qmk_firmware/blob/master/users/drashna/readme.md) - * User / keymap function ideas -* [Jeremy](https://github.com/qmk/qmk_firmware/blob/master/keyboards/atreus/keymaps/jeremy/readme.md) - * Sanity check on the Function keys (_of course they should be in rows of 4, not rows of 3 like a number pad. Why did I ever use anything else?_) -* [DreymaR of the Colemak forums](https://forum.colemak.com/topic/2014-extend-extra-extreme/) - * Original idea of the Extend layer +Most of the interesting features in this layout are defined in [my userspace folder](../../../../users/replicaJunction/readme.md). Refer to the documentation and code there for more details. diff --git a/keyboards/atreus/keymaps/replicaJunction/rules.mk b/keyboards/atreus/keymaps/replicaJunction/rules.mk index 9ff9c3fbb23c..13730aec650d 100644 --- a/keyboards/atreus/keymaps/replicaJunction/rules.mk +++ b/keyboards/atreus/keymaps/replicaJunction/rules.mk @@ -1,12 +1,28 @@ -# https://docs.qmk.fm/getting_started_make_guide.html +# Userspace options +USER_CAPS_WORD_ENABLE = yes +USER_MOUSE_JIGGLE_ENABLE = yes +USER_NUM_WORD_ENABLE = yes +USER_SECRETS_ENABLE = yes -MOUSEKEY_ENABLE = yes -TAP_DANCE_ENABLE = yes -# KEY_LOCK_ENABLE = yes -# CONSOLE_ENABLE = no -# COMMAND_ENABLE = no +DYNAMIC_MACRO_ENABLE = yes -# Use the "Unicode map" method -# UNICODE_ENABLE = no -# UNICODEMAP_ENABLE = yes +# Extra features that are nice but takes space. Enable only if they're +# used in the layout. +WPM_ENABLE = no +# EXTRAKEY_ENABLE = no # For volume keys and similar +# MOUSEKEY_ENABLE = no # Them mouse keys yo +KEY_OVERRIDE_ENABLE = no +LEADER_ENABLE = no +TAP_DANCE_ENABLE = no +# RGBLIGHT_ENABLE = no # Keyboard RGB underglow +RGB_MATRIX_ENABLE = no +# Features I definitely don't care aboud +LTO_ENABLE = yes +CONSOLE_ENABLE = no +VERBOSE = no +DEBUG_MATRIX_SCAN_RATE = no +DEBUG_MATRIX = no +MAGIC_ENABLE = no +SPACE_CADET_ENABLE = no +GRAVE_ESC_ENABLE = no diff --git a/keyboards/atreus/keymaps/ridingqwerty/rules.mk b/keyboards/atreus/keymaps/ridingqwerty/rules.mk index ebf83f02e8ae..ecead0e01bce 100644 --- a/keyboards/atreus/keymaps/ridingqwerty/rules.mk +++ b/keyboards/atreus/keymaps/ridingqwerty/rules.mk @@ -1,11 +1,15 @@ +# MCU name MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # BACKLIGHT_ENABLE = no -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -16,4 +20,3 @@ RGBLIGHT_ENABLE = no TAP_DANCE_ENABLE = no UNICODE_ENABLE = no UNICODEMAP_ENABLE = yes - diff --git a/keyboards/atreus/keymaps/xk/rules.mk b/keyboards/atreus/keymaps/xk/rules.mk index 5b69426acabf..a2c5143eff32 100644 --- a/keyboards/atreus/keymaps/xk/rules.mk +++ b/keyboards/atreus/keymaps/xk/rules.mk @@ -11,5 +11,5 @@ AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = yes # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite diff --git a/keyboards/atreus/promicro/rules.mk b/keyboards/atreus/promicro/rules.mk index e6fef517279c..cf663a7ed6aa 100644 --- a/keyboards/atreus/promicro/rules.mk +++ b/keyboards/atreus/promicro/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina diff --git a/keyboards/atreus/rules.mk b/keyboards/atreus/rules.mk index cc58cd464784..a9a3e2e7170c 100644 --- a/keyboards/atreus/rules.mk +++ b/keyboards/atreus/rules.mk @@ -1,7 +1,7 @@ # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -12,7 +12,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = yes # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/atreus/teensy2/rules.mk b/keyboards/atreus/teensy2/rules.mk index ae398e2588c7..320633f80f33 100644 --- a/keyboards/atreus/teensy2/rules.mk +++ b/keyboards/atreus/teensy2/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay diff --git a/keyboards/atreus62/atreus62.h b/keyboards/atreus62/atreus62.h index de6f64063bd5..6af5d8bf6e86 100644 --- a/keyboards/atreus62/atreus62.h +++ b/keyboards/atreus62/atreus62.h @@ -1,5 +1,4 @@ -#ifndef ATREUS62_H -#define ATREUS62_H +#pragma once #include "quantum.h" @@ -20,21 +19,3 @@ { k30, k31, k32, k33, k34, k35, k46, k36, k37, k38, k39, k3a, k3b }, \ { k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b, k4c, k4d } \ } - -// Used to create a keymap using only KC_ prefixed keys. -#define LAYOUT_kc( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \ - k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d \ -) \ -{ \ - { KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_NO, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b }, \ - { KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_NO, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b }, \ - { KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_NO, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b }, \ - { KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k47, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b }, \ - { KC_##k40, KC_##k41, KC_##k42, KC_##k43, KC_##k44, KC_##k45, KC_##k46, KC_##k48, KC_##k49, KC_##k4a, KC_##k4b, KC_##k4c, KC_##k4d } \ -} - -#endif diff --git a/keyboards/atreus62/keymaps/194h/keymap.c b/keyboards/atreus62/keymaps/194h/keymap.c index 1d069e9d4231..b9587b03e8d8 100644 --- a/keyboards/atreus62/keymaps/194h/keymap.c +++ b/keyboards/atreus62/keymaps/194h/keymap.c @@ -31,7 +31,7 @@ #define NO_RCBR RALT(KC_0) // } #define NO_COLN LSFT(KC_DOT) // : #define NO_SCLN LSFT(KC_COMM) // ; -#define NO_MU RALT(KC_M) // µ +#define NO_MICR RALT(KC_M) // µ #define NO_EURO RALT(KC_E) // € #define NO_SECT LSFT(KC_GRV) // § #define NO_GERC RALT(KC_COMM) // ¸ diff --git a/keyboards/atreus62/keymaps/atreus52/README.md b/keyboards/atreus62/keymaps/atreus52/README.md deleted file mode 100644 index 245df7deb459..000000000000 --- a/keyboards/atreus62/keymaps/atreus52/README.md +++ /dev/null @@ -1,10 +0,0 @@ - - -Atreus52 Modification -======================= - -Firmware for my custom keyboard based on the Atreus layout, but with 5 rows and only 5 columns per hand. -More documentation coming soon. - -# License - GPL-3+ diff --git a/keyboards/atreus62/keymaps/atreus52/config.h b/keyboards/atreus62/keymaps/atreus52/config.h deleted file mode 100644 index 91b626b56080..000000000000 --- a/keyboards/atreus62/keymaps/atreus52/config.h +++ /dev/null @@ -1,16 +0,0 @@ -#include "../../config.h" - -#undef MANUFACTURER -#undef PRODUCT -#undef MATRIX_ROW_PINS -#undef MATRIX_COL_PINS -#undef DIODE_DIRECTION - -/* USB Device descriptor parameter */ -#define MANUFACTURER Mesh Industries -#define PRODUCT Atreus52 Treeboard - -#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 } -#define MATRIX_COL_PINS { B2, B1, F7, F6, F5, F4, B6, D3, D2, D1, D0, D4, B3 } - -#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/atreus62/keymaps/atreus52/keymap.c b/keyboards/atreus62/keymaps/atreus52/keymap.c deleted file mode 100644 index 2abd49b116da..000000000000 --- a/keyboards/atreus62/keymaps/atreus52/keymap.c +++ /dev/null @@ -1,88 +0,0 @@ -#include QMK_KEYBOARD_H - -// Layers -#define DVORAK 0 -#define QWERTY 1 -#define RAISE 2 -#define LOWER 3 -#define BDO 4 -#define RESETL 5 - -#define KC_RAIS MO(RAISE) -#define KC_LOWR MO(LOWER) -#define KC_TGBD TG(BDO) -#define KC_TGRS TG(RESETL) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [DVORAK] = LAYOUT_kc( - NO, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, NO, \ - NO, QUOT, COMM, DOT, P, Y, F, G, C, R, L, NO, \ - NO, A, O, E, U, I, D, H, T, N, S, NO, \ - NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, \ - NO, TGBD, LALT, LCTL, LOWR, LSFT, BSPC, ENT, SPC, RAIS, LGUI, LEFT, RGHT, NO - ), - - [QWERTY] = LAYOUT_kc( - NO, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, NO, \ - NO, Q, W, E, R, T, Y, U, I, O, P, NO, \ - NO, A, S, D, F, G, H, J, K, L, SCLN, NO, \ - NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, \ - NO, TGBD, LALT, LCTL, LOWR, LSFT, BSPC, ENT, SPC, RAIS, LGUI, LEFT, RGHT, NO - ), - - [RAISE] = LAYOUT_kc( - NO, MRWD, MPRV, MPLY, MNXT, MFFD, TRNS, MUTE, VOLD, VOLU, DEL, NO, \ - NO, TILD, GRV, LCBR, RCBR, DQUO, QUOT, EQL, PLUS, MINS, QUES, NO, \ - NO, ESC, TAB, LPRN, RPRN, BSLS, SLSH, LEFT, DOWN, UP, RGHT, NO, \ - NO, TRNS, TRNS, LBRC, RBRC, TRNS, INS, PIPE, UNDS, TRNS, TRNS, NO, \ - NO, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TGRS, NO - ), - - [LOWER] = LAYOUT_kc( - NO, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, NO, \ - NO, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, NO, \ - NO, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, NO, \ - NO, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, DOT, TRNS, TRNS, TRNS, NO, \ - NO, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, NO - ), - - [BDO] = LAYOUT_kc( - NO, ESC, 1, 2, 3, 4, 5, 0, SLSH, U, C, NO, \ - NO, TAB, Q, W, E, R, 6, Y, I, O, P, NO, \ - NO, LSFT, A, S, D, F, 7, G, H, J, K, NO, \ - NO, T, Z, X, C, V, 8, B, N, M, L, NO, \ - NO, LCTL, SPC, SPC, SPC, SPC, COMM, ENT, 9, NO, NO, NO, TGBD, NO - ), - - [RESETL] = LAYOUT( - KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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, TG(RESETL),KC_NO - ) -}; - -static uint8_t qw_dv_swap_state = 0; - -bool process_record_user (uint16_t keycode, keyrecord_t *record) { - if (keycode == KC_LGUI) { - if (record->event.pressed) { - qw_dv_swap_state |= 0b00000001; - } else { - qw_dv_swap_state &= ~(0b00000001); - } - } - if (keycode == KC_LCTL) { - if (record->event.pressed) { - qw_dv_swap_state |= 0b00000010; - } else { - qw_dv_swap_state &= ~(0b00000010); - } - } - - if (qw_dv_swap_state == 0b00000011) { - layer_invert(DVORAK); - } - return true; -} diff --git a/keyboards/atreus62/keymaps/atreus52/rules.mk b/keyboards/atreus62/keymaps/atreus52/rules.mk deleted file mode 100644 index efa309d20172..000000000000 --- a/keyboards/atreus62/keymaps/atreus52/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -NKRO_ENABLE = true -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = no diff --git a/keyboards/atreus62/rules.mk b/keyboards/atreus62/rules.mk index 5f9cd6c78d39..7ed0e63685a5 100644 --- a/keyboards/atreus62/rules.mk +++ b/keyboards/atreus62/rules.mk @@ -2,29 +2,20 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work #BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -#MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = yes # Unicode -#BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/atxkb/1894/rules.mk b/keyboards/atxkb/1894/rules.mk index cdd4a7324b68..cebc72694bff 100644 --- a/keyboards/atxkb/1894/rules.mk +++ b/keyboards/atxkb/1894/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 LTO_ENABLE = yes diff --git a/keyboards/aves65/aves65.c b/keyboards/aves65/aves65.c index 35b93f7aeeaa..f495edf73715 100644 --- a/keyboards/aves65/aves65.c +++ b/keyboards/aves65/aves65.c @@ -1 +1,18 @@ +/* +Copyright 2019 I/O Keyboards + +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 "aves65.h" diff --git a/keyboards/aves65/aves65.h b/keyboards/aves65/aves65.h index ee35909efacd..701b3b327499 100644 --- a/keyboards/aves65/aves65.h +++ b/keyboards/aves65/aves65.h @@ -1,8 +1,71 @@ +/* +Copyright 2019 I/O Keyboards + +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 "quantum.h" // readability #define ___ KC_NO + +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k1d, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2c, k1e, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ + k40, k41, k42, k46, k4a, k4b, k49, k4c, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4a, k4b, k4c, k4d, k4e } \ +} + +#define LAYOUT_65_iso( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ + k40, k41, k42, k46, k4a, k4b, k49, k4c, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, ___, k1e }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4a, k4b, k4c, k4d, k4e } \ +} + +#define LAYOUT_65_iso_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k1d, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ + k40, k41, k42, k46, k4a, k4b, k49, k4c, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4a, k4b, k4c, k4d, k4e } \ +} + #define LAYOUT_65_iso_blocker( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \ @@ -17,3 +80,78 @@ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d, k4e } \ } + +#define LAYOUT_65_iso_blocker_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k1d, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d, k4e } \ +} + +#define LAYOUT_65_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2c, k1e, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ + k40, k41, k42, k46, k4a, k4b, k49, k4c, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, ___, k1e }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4a, k4b, k4c, k4d, k4e } \ +} + +#define LAYOUT_65_ansi_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k1d, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2c, k1e, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ + k40, k41, k42, k46, k4a, k4b, k49, k4c, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, k49, k4a, k4b, k4c, k4d, k4e } \ +} + +#define LAYOUT_65_ansi_blocker( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2c, k1e, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, ___, k1e }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d, k4e } \ +} + +#define LAYOUT_65_ansi_blocker_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k1d, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2c, k1e, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ + { k40, k41, k42, ___, ___, ___, k46, ___, ___, ___, k4a, k4b, k4c, k4d, k4e } \ +} diff --git a/keyboards/aves65/info.json b/keyboards/aves65/info.json index 9454f1183508..3c68b4fa60ed 100644 --- a/keyboards/aves65/info.json +++ b/keyboards/aves65/info.json @@ -1,10 +1,243 @@ { - "keyboard_name": "Aves65", - "url": "", - "maintainer": "Hund", - "width": 16, - "height": 5, + "keyboard_name": "Aves65", + "url": "", + "maintainer": "Hund", + "width": 16, + "height": 5, "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k1d", "x":13, "y":0}, + {"label":"k0d", "x":14, "y":0}, + {"label":"k0e", "x":15, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k2c", "x":13.5, "y":1, "w":1.5}, + {"label":"k1e", "x":15, "y":1}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2d", "x":12.75, "y":2, "w":2.25}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":1.25}, + {"label":"k31", "x":1.25, "y":3}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k46", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4}, + {"label":"k4b", "x":11, "y":4}, + {"label":"k49", "x":12, "y":4}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0, "w":2}, + {"label":"k0e", "x":15, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k1e", "x":15, "y":1}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2c", "x":12.75, "y":2}, + {"label":"k2d", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":1.25}, + {"label":"k31", "x":1.25, "y":3}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k46", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4}, + {"label":"k4b", "x":11, "y":4}, + {"label":"k49", "x":12, "y":4}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_split_bs": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k1d", "x":13, "y":0}, + {"label":"k0d", "x":14, "y":0}, + {"label":"k0e", "x":15, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k1e", "x":15, "y":1}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2c", "x":12.75, "y":2}, + {"label":"k2d", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":1.25}, + {"label":"k31", "x":1.25, "y":3}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k46", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4}, + {"label":"k4b", "x":11, "y":4}, + {"label":"k49", "x":12, "y":4}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, "LAYOUT_65_iso_blocker": { "layout": [ {"label":"k00", "x":0, "y":0}, @@ -22,7 +255,7 @@ {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k0e", "x":15, "y":0}, - + {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, @@ -37,7 +270,7 @@ {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1e", "x":15, "y":1}, - + {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, @@ -53,7 +286,7 @@ {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"k2e", "x":15, "y":2}, - + {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, @@ -69,7 +302,388 @@ {"label":"k3c", "x":12.25, "y":3, "w":1.75}, {"label":"k3d", "x":14, "y":3}, {"label":"k3e", "x":15, "y":3}, - + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k46", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4, "w":1.25}, + {"label":"k4b", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k1d", "x":13, "y":0}, + {"label":"k0d", "x":14, "y":0}, + {"label":"k0e", "x":15, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k1e", "x":15, "y":1}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2c", "x":12.75, "y":2}, + {"label":"k2d", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":1.25}, + {"label":"k31", "x":1.25, "y":3}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k46", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4, "w":1.25}, + {"label":"k4b", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0, "w":2}, + {"label":"k0e", "x":15, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k2c", "x":13.5, "y":1, "w":1.5}, + {"label":"k1e", "x":15, "y":1}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2d", "x":12.75, "y":2, "w":2.25}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":2.25}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k46", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4}, + {"label":"k4b", "x":11, "y":4}, + {"label":"k49", "x":12, "y":4}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_split_bs": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k1d", "x":13, "y":0}, + {"label":"k0d", "x":14, "y":0}, + {"label":"k0e", "x":15, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k2c", "x":13.5, "y":1, "w":1.5}, + {"label":"k1e", "x":15, "y":1}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2d", "x":12.75, "y":2, "w":2.25}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":2.25}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k46", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4}, + {"label":"k4b", "x":11, "y":4}, + {"label":"k49", "x":12, "y":4}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0, "w":2}, + {"label":"k0e", "x":15, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k2c", "x":13.5, "y":1, "w":1.5}, + {"label":"k1e", "x":15, "y":1}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2d", "x":12.75, "y":2, "w":2.25}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":2.25}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + + {"label":"k40", "x":0, "y":4, "w":1.25}, + {"label":"k41", "x":1.25, "y":4, "w":1.25}, + {"label":"k42", "x":2.5, "y":4, "w":1.25}, + {"label":"k46", "x":3.75, "y":4, "w":6.25}, + {"label":"k4a", "x":10, "y":4, "w":1.25}, + {"label":"k4b", "x":11.25, "y":4, "w":1.25}, + {"label":"k4c", "x":13, "y":4}, + {"label":"k4d", "x":14, "y":4}, + {"label":"k4e", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k1d", "x":13, "y":0}, + {"label":"k0d", "x":14, "y":0}, + {"label":"k0e", "x":15, "y":0}, + + {"label":"k10", "x":0, "y":1, "w":1.5}, + {"label":"k11", "x":1.5, "y":1}, + {"label":"k12", "x":2.5, "y":1}, + {"label":"k13", "x":3.5, "y":1}, + {"label":"k14", "x":4.5, "y":1}, + {"label":"k15", "x":5.5, "y":1}, + {"label":"k16", "x":6.5, "y":1}, + {"label":"k17", "x":7.5, "y":1}, + {"label":"k18", "x":8.5, "y":1}, + {"label":"k19", "x":9.5, "y":1}, + {"label":"k1a", "x":10.5, "y":1}, + {"label":"k1b", "x":11.5, "y":1}, + {"label":"k1c", "x":12.5, "y":1}, + {"label":"k2c", "x":13.5, "y":1, "w":1.5}, + {"label":"k1e", "x":15, "y":1}, + + {"label":"k20", "x":0, "y":2, "w":1.75}, + {"label":"k21", "x":1.75, "y":2}, + {"label":"k22", "x":2.75, "y":2}, + {"label":"k23", "x":3.75, "y":2}, + {"label":"k24", "x":4.75, "y":2}, + {"label":"k25", "x":5.75, "y":2}, + {"label":"k26", "x":6.75, "y":2}, + {"label":"k27", "x":7.75, "y":2}, + {"label":"k28", "x":8.75, "y":2}, + {"label":"k29", "x":9.75, "y":2}, + {"label":"k2a", "x":10.75, "y":2}, + {"label":"k2b", "x":11.75, "y":2}, + {"label":"k2d", "x":12.75, "y":2, "w":2.25}, + {"label":"k2e", "x":15, "y":2}, + + {"label":"k30", "x":0, "y":3, "w":2.25}, + {"label":"k32", "x":2.25, "y":3}, + {"label":"k33", "x":3.25, "y":3}, + {"label":"k34", "x":4.25, "y":3}, + {"label":"k35", "x":5.25, "y":3}, + {"label":"k36", "x":6.25, "y":3}, + {"label":"k37", "x":7.25, "y":3}, + {"label":"k38", "x":8.25, "y":3}, + {"label":"k39", "x":9.25, "y":3}, + {"label":"k3a", "x":10.25, "y":3}, + {"label":"k3b", "x":11.25, "y":3}, + {"label":"k3c", "x":12.25, "y":3, "w":1.75}, + {"label":"k3d", "x":14, "y":3}, + {"label":"k3e", "x":15, "y":3}, + {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, diff --git a/keyboards/aves65/keymaps/default/keymap.c b/keyboards/aves65/keymaps/default/keymap.c index 3b093cad043c..98d968b34f59 100644 --- a/keyboards/aves65/keymaps/default/keymap.c +++ b/keyboards/aves65/keymaps/default/keymap.c @@ -1,18 +1,58 @@ +/* +Copyright 2019 I/O Keyboards + +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 -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _MA 0 +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3, +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_MA] = LAYOUT_65_iso_blocker( - 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_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_DEL, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGUP, - 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_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT) +[_BASE] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, KC_BSPC, 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_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + 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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FN1), KC_LEFT, KC_DOWN, KC_RGHT), + +[_FN1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +[_FN2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +[_FN3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; diff --git a/keyboards/aves65/keymaps/via/keymap.c b/keyboards/aves65/keymaps/via/keymap.c new file mode 100644 index 000000000000..98d968b34f59 --- /dev/null +++ b/keyboards/aves65/keymaps/via/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2019 I/O Keyboards + +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 { + _BASE, + _FN1, + _FN2, + _FN3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_BASE] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, KC_BSPC, 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_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + 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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FN1), KC_LEFT, KC_DOWN, KC_RGHT), + +[_FN1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +[_FN2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +[_FN3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + +}; diff --git a/keyboards/bm16s/keymaps/via/rules.mk b/keyboards/aves65/keymaps/via/rules.mk similarity index 100% rename from keyboards/bm16s/keymaps/via/rules.mk rename to keyboards/aves65/keymaps/via/rules.mk diff --git a/keyboards/aves65/rules.mk b/keyboards/aves65/rules.mk index d4c28631d060..8aa3f6bbb272 100644 --- a/keyboards/aves65/rules.mk +++ b/keyboards/aves65/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,8 +18,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output -LAYOUTS = 65_iso_blocker +LAYOUTS = 65_ansi 65_ansi_split_bs 65_ansi_blocker 65_ansi_blocker_split_bs 65_iso 65_iso_blocker 65_iso_blocker_split_bs diff --git a/keyboards/axolstudio/helpo/rules.mk b/keyboards/axolstudio/helpo/rules.mk index 3076166479fc..393121685f89 100644 --- a/keyboards/axolstudio/helpo/rules.mk +++ b/keyboards/axolstudio/helpo/rules.mk @@ -5,12 +5,12 @@ MCU = atmega32a F_CPU = 16000000 # Bootloader selection -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/axolstudio/yeti/rules.mk b/keyboards/axolstudio/yeti/rules.mk index 4253e34a7770..91aac93e2f64 100644 --- a/keyboards/axolstudio/yeti/rules.mk +++ b/keyboards/axolstudio/yeti/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/baguette/baguette.c b/keyboards/baguette/baguette.c index 751a31725626..99305cf2deba 100644 --- a/keyboards/baguette/baguette.c +++ b/keyboards/baguette/baguette.c @@ -49,23 +49,3 @@ void matrix_init_kb(void) { matrix_init_user(); } - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/baguette/config.h b/keyboards/baguette/config.h index 7ec18109ccde..153260947cd1 100644 --- a/keyboards/baguette/config.h +++ b/keyboards/baguette/config.h @@ -164,23 +164,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/baguette/keymaps/default/keymap.c b/keyboards/baguette/keymaps/default/keymap.c index 4dfcb837a55a..1ad1000003cd 100644 --- a/keyboards/baguette/keymaps/default/keymap.c +++ b/keyboards/baguette/keymaps/default/keymap.c @@ -30,21 +30,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, BL_TOGG, BL_STEP, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_RCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/baguette/keymaps/iso/keymap.c b/keyboards/baguette/keymaps/iso/keymap.c index ea8baf08ee5f..fb6d472d60d6 100644 --- a/keyboards/baguette/keymaps/iso/keymap.c +++ b/keyboards/baguette/keymaps/iso/keymap.c @@ -30,21 +30,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, BL_TOGG, BL_STEP, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_RCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/baguette/rules.mk b/keyboards/baguette/rules.mk index 0bd78643ceed..bca9b94c3a12 100644 --- a/keyboards/baguette/rules.mk +++ b/keyboards/baguette/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bakeneko60/rules.mk b/keyboards/bakeneko60/rules.mk index cc1b100ec9bb..a344e51058fb 100644 --- a/keyboards/bakeneko60/rules.mk +++ b/keyboards/bakeneko60/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/bakeneko65/bakeneko65.c b/keyboards/bakeneko65/bakeneko65.c deleted file mode 100644 index aa1ba8e66185..000000000000 --- a/keyboards/bakeneko65/bakeneko65.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2020 Koichi Katano - * - * 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 "bakeneko65.h" diff --git a/keyboards/bakeneko65/config.h b/keyboards/bakeneko65/config.h deleted file mode 100644 index 65b3ff88e292..000000000000 --- a/keyboards/bakeneko65/config.h +++ /dev/null @@ -1,109 +0,0 @@ -/* -Copyright 2020 Koichi Katano - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x3A0E -#define PRODUCT_ID 0x4C82 -#define DEVICE_VER 0x0001 -#define MANUFACTURER kkatano -#define PRODUCT Bakeneko 65 - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 16 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { E6, B7, F7, F4, F5 } -#define MATRIX_COL_PINS { F6, B0, F1, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is useful for the Windows task manager shortcut (ctrl+shift+esc). - */ -//#define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -/* Bootmagic Lite key configuration */ -//#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/bakeneko65/info.json b/keyboards/bakeneko65/info.json deleted file mode 100644 index 25b438c297b7..000000000000 --- a/keyboards/bakeneko65/info.json +++ /dev/null @@ -1,313 +0,0 @@ -{ - "keyboard_name": "Bakeneko 65", - "url": "https://github.com/kkatano/bakeneko-65-pcb", - "maintainer": "kkatano", - "width": 16, - "height": 5, - "layouts": { - "LAYOUT_65_ansi_split_bs": { - "layout": [ - { "x":0, "y":0 }, - { "x":1, "y":0 }, - { "x":2, "y":0 }, - { "x":3, "y":0 }, - { "x":4, "y":0 }, - { "x":5, "y":0 }, - { "x":6, "y":0 }, - { "x":7, "y":0 }, - { "x":8, "y":0 }, - { "x":9, "y":0 }, - { "x":10, "y":0 }, - { "x":11, "y":0 }, - { "x":12, "y":0 }, - { "x":13, "y":0 }, - { "x":14, "y":0 }, - { "x":15, "y":0 }, - - { "x":0, "y":1, "w":1.5 }, - { "x":1.5, "y":1 }, - { "x":2.5, "y":1 }, - { "x":3.5, "y":1 }, - { "x":4.5, "y":1 }, - { "x":5.5, "y":1 }, - { "x":6.5, "y":1 }, - { "x":7.5, "y":1 }, - { "x":8.5, "y":1 }, - { "x":9.5, "y":1 }, - { "x":10.5, "y":1 }, - { "x":11.5, "y":1 }, - { "x":12.5, "y":1 }, - { "x":13.5, "y":1, "w":1.5 }, - { "x":15, "y":1 }, - - { "x":0, "y":2, "w":1.75 }, - { "x":1.75, "y":2 }, - { "x":2.75, "y":2 }, - { "x":3.75, "y":2 }, - { "x":4.75, "y":2 }, - { "x":5.75, "y":2 }, - { "x":6.75, "y":2 }, - { "x":7.75, "y":2 }, - { "x":8.75, "y":2 }, - { "x":9.75, "y":2 }, - { "x":10.75, "y":2 }, - { "x":11.75, "y":2 }, - { "x":12.75, "y":2, "w":2.25 }, - { "x":15, "y":2 }, - - { "x":0, "y":3, "w":2.25 }, - { "x":2.25, "y":3 }, - { "x":3.25, "y":3 }, - { "x":4.25, "y":3 }, - { "x":5.25, "y":3 }, - { "x":6.25, "y":3 }, - { "x":7.25, "y":3 }, - { "x":8.25, "y":3 }, - { "x":9.25, "y":3 }, - { "x":10.25, "y":3 }, - { "x":11.25, "y":3 }, - { "x":12.25, "y":3, "w":1.75 }, - { "x":14, "y":3 }, - { "x":15, "y":3 }, - - { "x":0, "y":4, "w":1.25 }, - { "x":1.25, "y":4, "w":1.25 }, - { "x":2.5, "y":4, "w":1.25 }, - { "x":3.75, "y":4, "w":6.25 }, - { "x":10, "y":4 }, - { "x":11, "y":4 }, - { "x":12, "y":4 }, - { "x":13, "y":4 }, - { "x":14, "y":4 }, - { "x":15, "y":4 } - ] - }, - "LAYOUT_65_ansi": { - "layout": [ - { "x":0, "y":0 }, - { "x":1, "y":0 }, - { "x":2, "y":0 }, - { "x":3, "y":0 }, - { "x":4, "y":0 }, - { "x":5, "y":0 }, - { "x":6, "y":0 }, - { "x":7, "y":0 }, - { "x":8, "y":0 }, - { "x":9, "y":0 }, - { "x":10, "y":0 }, - { "x":11, "y":0 }, - { "x":12, "y":0 }, - { "x":13, "y":0, "w": 2 }, - { "x":15, "y":0 }, - - { "x":0, "y":1, "w":1.5 }, - { "x":1.5, "y":1 }, - { "x":2.5, "y":1 }, - { "x":3.5, "y":1 }, - { "x":4.5, "y":1 }, - { "x":5.5, "y":1 }, - { "x":6.5, "y":1 }, - { "x":7.5, "y":1 }, - { "x":8.5, "y":1 }, - { "x":9.5, "y":1 }, - { "x":10.5, "y":1 }, - { "x":11.5, "y":1 }, - { "x":12.5, "y":1 }, - { "x":13.5, "y":1, "w":1.5 }, - { "x":15, "y":1 }, - - { "x":0, "y":2, "w":1.75 }, - { "x":1.75, "y":2 }, - { "x":2.75, "y":2 }, - { "x":3.75, "y":2 }, - { "x":4.75, "y":2 }, - { "x":5.75, "y":2 }, - { "x":6.75, "y":2 }, - { "x":7.75, "y":2 }, - { "x":8.75, "y":2 }, - { "x":9.75, "y":2 }, - { "x":10.75, "y":2 }, - { "x":11.75, "y":2 }, - { "x":12.75, "y":2, "w":2.25 }, - { "x":15, "y":2 }, - - { "x":0, "y":3, "w":2.25 }, - { "x":2.25, "y":3 }, - { "x":3.25, "y":3 }, - { "x":4.25, "y":3 }, - { "x":5.25, "y":3 }, - { "x":6.25, "y":3 }, - { "x":7.25, "y":3 }, - { "x":8.25, "y":3 }, - { "x":9.25, "y":3 }, - { "x":10.25, "y":3 }, - { "x":11.25, "y":3 }, - { "x":12.25, "y":3, "w":1.75 }, - { "x":14, "y":3 }, - { "x":15, "y":3 }, - - { "x":0, "y":4, "w":1.25 }, - { "x":1.25, "y":4, "w":1.25 }, - { "x":2.5, "y":4, "w":1.25 }, - { "x":3.75, "y":4, "w":6.25 }, - { "x":10, "y":4 }, - { "x":11, "y":4 }, - { "x":12, "y":4 }, - { "x":13, "y":4 }, - { "x":14, "y":4 }, - { "x":15, "y":4 } - ] - }, - "LAYOUT_65_ansi_split_bs_2_right_mods": { - "layout": [ - { "x":0, "y":0 }, - { "x":1, "y":0 }, - { "x":2, "y":0 }, - { "x":3, "y":0 }, - { "x":4, "y":0 }, - { "x":5, "y":0 }, - { "x":6, "y":0 }, - { "x":7, "y":0 }, - { "x":8, "y":0 }, - { "x":9, "y":0 }, - { "x":10, "y":0 }, - { "x":11, "y":0 }, - { "x":12, "y":0 }, - { "x":13, "y":0 }, - { "x":14, "y":0 }, - { "x":15, "y":0 }, - - { "x":0, "y":1, "w":1.5 }, - { "x":1.5, "y":1 }, - { "x":2.5, "y":1 }, - { "x":3.5, "y":1 }, - { "x":4.5, "y":1 }, - { "x":5.5, "y":1 }, - { "x":6.5, "y":1 }, - { "x":7.5, "y":1 }, - { "x":8.5, "y":1 }, - { "x":9.5, "y":1 }, - { "x":10.5, "y":1 }, - { "x":11.5, "y":1 }, - { "x":12.5, "y":1 }, - { "x":13.5, "y":1, "w":1.5 }, - { "x":15, "y":1 }, - - { "x":0, "y":2, "w":1.75 }, - { "x":1.75, "y":2 }, - { "x":2.75, "y":2 }, - { "x":3.75, "y":2 }, - { "x":4.75, "y":2 }, - { "x":5.75, "y":2 }, - { "x":6.75, "y":2 }, - { "x":7.75, "y":2 }, - { "x":8.75, "y":2 }, - { "x":9.75, "y":2 }, - { "x":10.75, "y":2 }, - { "x":11.75, "y":2 }, - { "x":12.75, "y":2, "w":2.25 }, - { "x":15, "y":2 }, - - { "x":0, "y":3, "w":2.25 }, - { "x":2.25, "y":3 }, - { "x":3.25, "y":3 }, - { "x":4.25, "y":3 }, - { "x":5.25, "y":3 }, - { "x":6.25, "y":3 }, - { "x":7.25, "y":3 }, - { "x":8.25, "y":3 }, - { "x":9.25, "y":3 }, - { "x":10.25, "y":3 }, - { "x":11.25, "y":3 }, - { "x":12.25, "y":3, "w":1.75 }, - { "x":14, "y":3 }, - { "x":15, "y":3 }, - - { "x":0, "y":4, "w":1.25 }, - { "x":1.25, "y":4, "w":1.25 }, - { "x":2.5, "y":4, "w":1.25 }, - { "x":3.75, "y":4, "w":6.25 }, - { "x":10, "y":4, "w":1.5 }, - { "x":11.5, "y":4, "w":1.5 }, - { "x":13, "y":4 }, - { "x":14, "y":4 }, - { "x":15, "y":4 } - ] - }, - "LAYOUT_65_ansi_2_right_mods": { - "layout": [ - { "x":0, "y":0 }, - { "x":1, "y":0 }, - { "x":2, "y":0 }, - { "x":3, "y":0 }, - { "x":4, "y":0 }, - { "x":5, "y":0 }, - { "x":6, "y":0 }, - { "x":7, "y":0 }, - { "x":8, "y":0 }, - { "x":9, "y":0 }, - { "x":10, "y":0 }, - { "x":11, "y":0 }, - { "x":12, "y":0 }, - { "x":13, "y":0, "w": 2 }, - { "x":15, "y":0 }, - - { "x":0, "y":1, "w":1.5 }, - { "x":1.5, "y":1 }, - { "x":2.5, "y":1 }, - { "x":3.5, "y":1 }, - { "x":4.5, "y":1 }, - { "x":5.5, "y":1 }, - { "x":6.5, "y":1 }, - { "x":7.5, "y":1 }, - { "x":8.5, "y":1 }, - { "x":9.5, "y":1 }, - { "x":10.5, "y":1 }, - { "x":11.5, "y":1 }, - { "x":12.5, "y":1 }, - { "x":13.5, "y":1, "w":1.5 }, - { "x":15, "y":1 }, - - { "x":0, "y":2, "w":1.75 }, - { "x":1.75, "y":2 }, - { "x":2.75, "y":2 }, - { "x":3.75, "y":2 }, - { "x":4.75, "y":2 }, - { "x":5.75, "y":2 }, - { "x":6.75, "y":2 }, - { "x":7.75, "y":2 }, - { "x":8.75, "y":2 }, - { "x":9.75, "y":2 }, - { "x":10.75, "y":2 }, - { "x":11.75, "y":2 }, - { "x":12.75, "y":2, "w":2.25 }, - { "x":15, "y":2 }, - - { "x":0, "y":3, "w":2.25 }, - { "x":2.25, "y":3 }, - { "x":3.25, "y":3 }, - { "x":4.25, "y":3 }, - { "x":5.25, "y":3 }, - { "x":6.25, "y":3 }, - { "x":7.25, "y":3 }, - { "x":8.25, "y":3 }, - { "x":9.25, "y":3 }, - { "x":10.25, "y":3 }, - { "x":11.25, "y":3 }, - { "x":12.25, "y":3, "w":1.75 }, - { "x":14, "y":3 }, - { "x":15, "y":3 }, - - { "x":0, "y":4, "w":1.25 }, - { "x":1.25, "y":4, "w":1.25 }, - { "x":2.5, "y":4, "w":1.25 }, - { "x":3.75, "y":4, "w":6.25 }, - { "x":10, "y":4, "w":1.5 }, - { "x":11.5, "y":4, "w":1.5 }, - { "x":13, "y":4 }, - { "x":14, "y":4 }, - { "x":15, "y":4 } - ] - } - } -} diff --git a/keyboards/bakeneko65/keymaps/default/readme.md b/keyboards/bakeneko65/keymaps/default/readme.md deleted file mode 100644 index 34d1b4e9312a..000000000000 --- a/keyboards/bakeneko65/keymaps/default/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for Bakeneko 65 diff --git a/keyboards/bakeneko65/readme.md b/keyboards/bakeneko65/readme.md deleted file mode 100644 index 87960d2f1596..000000000000 --- a/keyboards/bakeneko65/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -# Bakeneko 65 - -A simple 65% keyboard - -* Keyboard Maintainer: [kkatano](https://github.com/kkatano) -* Hardware Supported: Bakeneko 65 -* Hardware Availability: [Open source on GitHub](https://github.com/kkatano/bakeneko-65) - -Make example for this keyboard (after setting up your build environment): - - make bakeneko65:default - -Flashing example for this keyboard: - - make bakeneko65: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). diff --git a/keyboards/bakeneko65/rev2/config.h b/keyboards/bakeneko65/rev2/config.h new file mode 100644 index 000000000000..6639e823955a --- /dev/null +++ b/keyboards/bakeneko65/rev2/config.h @@ -0,0 +1,109 @@ +/* +Copyright 2020 Koichi Katano + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x3A0E +#define PRODUCT_ID 0x4C82 +#define DEVICE_VER 0x0001 +#define MANUFACTURER kkatano +#define PRODUCT Bakeneko 65 V2 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { E6, B7, F7, F4, F5 } +#define MATRIX_COL_PINS { F6, B0, F1, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/bakeneko65/rev2/info.json b/keyboards/bakeneko65/rev2/info.json new file mode 100644 index 000000000000..cbaadc3c347f --- /dev/null +++ b/keyboards/bakeneko65/rev2/info.json @@ -0,0 +1,313 @@ +{ + "keyboard_name": "Bakeneko 65 V2", + "url": "https://github.com/kkatano/bakeneko-65", + "maintainer": "kkatano", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_65_ansi_split_bs": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0 }, + { "x":14, "y":0 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4 }, + { "x":11, "y":4 }, + { "x":12, "y":4 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + }, + "LAYOUT_65_ansi": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0, "w": 2 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4 }, + { "x":11, "y":4 }, + { "x":12, "y":4 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + }, + "LAYOUT_65_ansi_split_bs_2_right_mods": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0 }, + { "x":14, "y":0 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4, "w":1.5 }, + { "x":11.5, "y":4, "w":1.5 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + }, + "LAYOUT_65_ansi_2_right_mods": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0, "w": 2 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4, "w":1.5 }, + { "x":11.5, "y":4, "w":1.5 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + } + } +} diff --git a/keyboards/bakeneko65/keymaps/default/keymap.c b/keyboards/bakeneko65/rev2/keymaps/default/keymap.c similarity index 100% rename from keyboards/bakeneko65/keymaps/default/keymap.c rename to keyboards/bakeneko65/rev2/keymaps/default/keymap.c diff --git a/keyboards/bakeneko65/rev2/keymaps/default/readme.md b/keyboards/bakeneko65/rev2/keymaps/default/readme.md new file mode 100644 index 000000000000..71ad76773fd3 --- /dev/null +++ b/keyboards/bakeneko65/rev2/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Bakeneko 65 V2 diff --git a/keyboards/bakeneko65/keymaps/via/keymap.c b/keyboards/bakeneko65/rev2/keymaps/via/keymap.c similarity index 100% rename from keyboards/bakeneko65/keymaps/via/keymap.c rename to keyboards/bakeneko65/rev2/keymaps/via/keymap.c diff --git a/keyboards/nckiibs/vaneela/keymaps/via/rules.mk b/keyboards/bakeneko65/rev2/keymaps/via/rules.mk similarity index 100% rename from keyboards/nckiibs/vaneela/keymaps/via/rules.mk rename to keyboards/bakeneko65/rev2/keymaps/via/rules.mk diff --git a/keyboards/bakeneko65/rev2/readme.md b/keyboards/bakeneko65/rev2/readme.md new file mode 100644 index 000000000000..8d2fa6bc58fb --- /dev/null +++ b/keyboards/bakeneko65/rev2/readme.md @@ -0,0 +1,17 @@ +# Bakeneko 65 V2 + +A simple 65% keyboard + +* Keyboard Maintainer: [kkatano](https://github.com/kkatano) +* Hardware Supported: Bakeneko 65 V2 +* Hardware Availability: [Open source on GitHub](https://github.com/kkatano/bakeneko-65) + +Make example for this keyboard (after setting up your build environment): + + make bakeneko65/rev2:default + +Flashing example for this keyboard: + + make bakeneko65/rev2: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). diff --git a/keyboards/bakeneko65/rev2/rev2.c b/keyboards/bakeneko65/rev2/rev2.c new file mode 100644 index 000000000000..a4866507908c --- /dev/null +++ b/keyboards/bakeneko65/rev2/rev2.c @@ -0,0 +1,17 @@ +/* Copyright 2020 Koichi Katano + * + * 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 "rev2.h" diff --git a/keyboards/bakeneko65/bakeneko65.h b/keyboards/bakeneko65/rev2/rev2.h similarity index 100% rename from keyboards/bakeneko65/bakeneko65.h rename to keyboards/bakeneko65/rev2/rev2.h diff --git a/keyboards/bakeneko65/rev2/rules.mk b/keyboards/bakeneko65/rev2/rules.mk new file mode 100644 index 000000000000..ea1826e24e3c --- /dev/null +++ b/keyboards/bakeneko65/rev2/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi diff --git a/keyboards/bakeneko65/rev3/config.h b/keyboards/bakeneko65/rev3/config.h new file mode 100644 index 000000000000..6001ce3159bc --- /dev/null +++ b/keyboards/bakeneko65/rev3/config.h @@ -0,0 +1,109 @@ +/* +Copyright 2020 Koichi Katano + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x3A0E +#define PRODUCT_ID 0x4C83 +#define DEVICE_VER 0x0001 +#define MANUFACTURER kkatano +#define PRODUCT Bakeneko 65 V3 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { E6, B7, F7, F4, F5 } +#define MATRIX_COL_PINS { F6, B0, F1, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/bakeneko65/rev3/info.json b/keyboards/bakeneko65/rev3/info.json new file mode 100644 index 000000000000..7e63af038c89 --- /dev/null +++ b/keyboards/bakeneko65/rev3/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "Bakeneko 65 V3", + "url": "https://github.com/kkatano/bakeneko-65", + "maintainer": "kkatano", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [{"x":0, "y":0.25}, {"x":1, "y":0.25}, {"x":2, "y":0.25}, {"x":3, "y":0.25}, {"x":4, "y":0.25}, {"x":5, "y":0.25}, {"x":6, "y":0.25}, {"x":7, "y":0.25}, {"x":8, "y":0.25}, {"x":9, "y":0.25}, {"x":10, "y":0.25}, {"x":11, "y":0.25}, {"x":12, "y":0.25}, {"x":13, "y":0.25}, {"x":14, "y":0.25}, {"x":15, "y":0.25}, {"x":0, "y":1.25, "w":1.5}, {"x":1.5, "y":1.25}, {"x":2.5, "y":1.25}, {"x":3.5, "y":1.25}, {"x":4.5, "y":1.25}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25}, {"x":7.5, "y":1.25}, {"x":8.5, "y":1.25}, {"x":9.5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.25}, {"x":12.5, "y":1.25}, {"x":13.5, "y":1.25, "w":1.5}, {"x":15, "y":1.25}, {"x":0, "y":2.25, "w":1.75}, {"x":1.75, "y":2.25}, {"x":2.75, "y":2.25}, {"x":3.75, "y":2.25}, {"x":4.75, "y":2.25}, {"x":5.75, "y":2.25}, {"x":6.75, "y":2.25}, {"x":7.75, "y":2.25}, {"x":8.75, "y":2.25}, {"x":9.75, "y":2.25}, {"x":10.75, "y":2.25}, {"x":11.75, "y":2.25}, {"x":12.75, "y":2.25, "w":2.25}, {"x":15, "y":2.25}, {"x":0, "y":3.25, "w":2.25}, {"x":2.25, "y":3.25}, {"x":3.25, "y":3.25}, {"x":4.25, "y":3.25}, {"x":5.25, "y":3.25}, {"x":6.25, "y":3.25}, {"x":7.25, "y":3.25}, {"x":8.25, "y":3.25}, {"x":9.25, "y":3.25}, {"x":10.25, "y":3.25}, {"x":11.25, "y":3.25}, {"x":12.25, "y":3.25, "w":1.75}, {"x":14, "y":3.25}, {"x":15, "y":3.25}, {"x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25, "w":1.25}, {"x":2.5, "y":4.25, "w":1.25}, {"x":3.75, "y":4.25, "w":6.25}, {"x":10, "y":4.25, "w":1.25}, {"x":11.25, "y":4.25, "w":1.25}, {"x":13, "y":4.25}, {"x":14, "y":4.25}, {"x":15, "y":4.25}] + } + } +} diff --git a/keyboards/bakeneko65/rev3/keymaps/default/keymap.c b/keyboards/bakeneko65/rev3/keymaps/default/keymap.c new file mode 100644 index 000000000000..eb745e15ce5b --- /dev/null +++ b/keyboards/bakeneko65/rev3/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2020 kkatano + * + * 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 { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_HOME, + 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_END, + 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_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN] = LAYOUT_all( + RESET, 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_INS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/bakeneko65/rev3/keymaps/default/readme.md b/keyboards/bakeneko65/rev3/keymaps/default/readme.md new file mode 100644 index 000000000000..ecac9e3dffe3 --- /dev/null +++ b/keyboards/bakeneko65/rev3/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Bakeneko 65 V3 diff --git a/keyboards/bakeneko65/rev3/keymaps/via/keymap.c b/keyboards/bakeneko65/rev3/keymaps/via/keymap.c new file mode 100644 index 000000000000..aed067bf1060 --- /dev/null +++ b/keyboards/bakeneko65/rev3/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* Copyright 2020 kkatano + * + * 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 { + _L0, + _L1, + _L2, + _L3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_L0] = 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_HOME, + 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_END, + 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_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_L1] = LAYOUT_all( + RESET, 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_INS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_L2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_L3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/nckiibs/vaneelaex/keymaps/via/rules.mk b/keyboards/bakeneko65/rev3/keymaps/via/rules.mk similarity index 100% rename from keyboards/nckiibs/vaneelaex/keymaps/via/rules.mk rename to keyboards/bakeneko65/rev3/keymaps/via/rules.mk diff --git a/keyboards/bakeneko65/rev3/readme.md b/keyboards/bakeneko65/rev3/readme.md new file mode 100644 index 000000000000..e147b11e6fd3 --- /dev/null +++ b/keyboards/bakeneko65/rev3/readme.md @@ -0,0 +1,17 @@ +# Bakeneko 65 V3 + +A simple 65% keyboard + +* Keyboard Maintainer: [kkatano](https://github.com/kkatano) +* Hardware Supported: Bakeneko 65 V3 +* Hardware Availability: [Open source on GitHub](https://github.com/kkatano/bakeneko-65) + +Make example for this keyboard (after setting up your build environment): + + make bakeneko65/rev3:default + +Flashing example for this keyboard: + + make bakeneko65/rev3: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). diff --git a/keyboards/bakeneko65/rev3/rev3.c b/keyboards/bakeneko65/rev3/rev3.c new file mode 100644 index 000000000000..cf1084d495d3 --- /dev/null +++ b/keyboards/bakeneko65/rev3/rev3.c @@ -0,0 +1,17 @@ +/* Copyright 2020 Koichi Katano + * + * 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 "rev3.h" diff --git a/keyboards/bakeneko65/rev3/rev3.h b/keyboards/bakeneko65/rev3/rev3.h new file mode 100644 index 000000000000..3e46097e394d --- /dev/null +++ b/keyboards/bakeneko65/rev3/rev3.h @@ -0,0 +1,33 @@ +/* Copyright 2020 Koichi Katano + * + * 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 "quantum.h" + +#define LAYOUT_all( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k115, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k213, k215, \ + k300, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, k315, \ + k400, k401, k402, k406, k409, k411, k412, k413, k415 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, KC_NO, k115 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, KC_NO, k213, KC_NO, k215 }, \ + { k300, KC_NO, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, KC_NO, k315 }, \ + { k400, k401, k402, KC_NO, KC_NO, KC_NO, k406, KC_NO, KC_NO, k409, KC_NO, k411, k412, k413, KC_NO, k415 } \ +} diff --git a/keyboards/bakeneko65/rev3/rules.mk b/keyboards/bakeneko65/rev3/rules.mk new file mode 100644 index 000000000000..c98974abafc2 --- /dev/null +++ b/keyboards/bakeneko65/rev3/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/bakeneko65/rules.mk b/keyboards/bakeneko65/rules.mk deleted file mode 100644 index f8a290cad533..000000000000 --- a/keyboards/bakeneko65/rules.mk +++ /dev/null @@ -1,24 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output - -LAYOUTS = 65_ansi diff --git a/keyboards/bakeneko80/config.h b/keyboards/bakeneko80/config.h index bda679f5c842..8daafeeca8b7 100644 --- a/keyboards/bakeneko80/config.h +++ b/keyboards/bakeneko80/config.h @@ -193,25 +193,6 @@ along with this program. If not, see . /* disable these deprecated features by default */ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/bakeneko80/rules.mk b/keyboards/bakeneko80/rules.mk index 653fcdb380b5..da99b2a8f7dd 100644 --- a/keyboards/bakeneko80/rules.mk +++ b/keyboards/bakeneko80/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bantam44/rules.mk b/keyboards/bantam44/rules.mk index d90f8155e86e..0219b88fe8ed 100644 --- a/keyboards/bantam44/rules.mk +++ b/keyboards/bantam44/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -23,6 +16,5 @@ COMMAND_ENABLE = yes # Commands for debug and configuration # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend # NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls +MIDI_ENABLE = no # MIDI support # UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/barleycorn/readme.md b/keyboards/barleycorn/readme.md index 775d259681f0..dd96c69e9a80 100644 --- a/keyboards/barleycorn/readme.md +++ b/keyboards/barleycorn/readme.md @@ -5,7 +5,7 @@ An f-row less compact 1800 kit with only through hole components. * Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) -* Hardware Supported: ATMEGA328p with vusb [PCB](https://github.com/yiancar/gingham_pcb) +* Hardware Supported: ATMEGA328p with vusb [PCB](https://github.com/yiancar/barleycorn_pcb) * Hardware Availability: https://mykeyboard.eu/, https://novelkeys.xyz Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/barleycorn/rules.mk b/keyboards/barleycorn/rules.mk index be005ab297e9..e85055a70f0f 100644 --- a/keyboards/barleycorn/rules.mk +++ b/keyboards/barleycorn/rules.mk @@ -2,12 +2,12 @@ MCU = atmega328p # Bootloader selection -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/barleycorn_smd/rules.mk b/keyboards/barleycorn_smd/rules.mk index fba31123d08a..f85860018b20 100644 --- a/keyboards/barleycorn_smd/rules.mk +++ b/keyboards/barleycorn_smd/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/barracuda/info.json b/keyboards/barracuda/info.json index ac43850dae83..41b98151142a 100644 --- a/keyboards/barracuda/info.json +++ b/keyboards/barracuda/info.json @@ -5,7 +5,7 @@ "width": 14, "height": 3, "layouts": { - "LAYOUT": { + "LAYOUT_ortho_3x11": { "layout": [ {"x": 0, "y": 0}, {"x": 1, "y": 0}, diff --git a/keyboards/barracuda/rules.mk b/keyboards/barracuda/rules.mk index 7233e7c00f0f..0706cef8529a 100644 --- a/keyboards/barracuda/rules.mk +++ b/keyboards/barracuda/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,5 +20,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output - -LAYOUTS = ortho_3x11 diff --git a/keyboards/basekeys/slice/keymaps/default/keymap.c b/keyboards/basekeys/slice/keymaps/default/keymap.c index ffb64998e269..ad5e9d9ffe7d 100644 --- a/keyboards/basekeys/slice/keymaps/default/keymap.c +++ b/keyboards/basekeys/slice/keymaps/default/keymap.c @@ -103,7 +103,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return result; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE const char *read_logo(void) { static char logo[] = { diff --git a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c index 331dfc0fe435..54d41cc382fc 100644 --- a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c +++ b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c @@ -103,7 +103,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return result; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE const char *read_logo(void) { static char logo[] = { diff --git a/keyboards/basekeys/slice/rev1/rules.mk b/keyboards/basekeys/slice/rev1/rules.mk index 16d1ed71e08b..351899fa1148 100644 --- a/keyboards/basekeys/slice/rev1/rules.mk +++ b/keyboards/basekeys/slice/rev1/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # this is split keyboard. @@ -17,7 +10,7 @@ SPLIT_KEYBOARD = yes # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c index 36bfb79abdd1..55d914cbc90a 100644 --- a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c +++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c @@ -187,7 +187,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return result; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE const char *read_logo(void) { static char logo[] = { diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c index 5670f275ef88..d0893ae86220 100644 --- a/keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c +++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static void render_qmk_logo(void) { static const char PROGMEM qmk_logo[] = { diff --git a/keyboards/basekeys/slice/rev1_rgb/rules.mk b/keyboards/basekeys/slice/rev1_rgb/rules.mk index 8bf833d3e2a0..4e78d6821670 100644 --- a/keyboards/basekeys/slice/rev1_rgb/rules.mk +++ b/keyboards/basekeys/slice/rev1_rgb/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # this is split keyboard. @@ -17,7 +10,7 @@ SPLIT_KEYBOARD = yes # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -27,7 +20,8 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -OLED_DRIVER_ENABLE = yes # Disable OLED driver. +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Disable OLED driver. UNICODE_ENABLE = no # Unicode -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes diff --git a/keyboards/basekeys/trifecta/config.h b/keyboards/basekeys/trifecta/config.h index 8a9529126013..28c9c18fb27a 100644 --- a/keyboards/basekeys/trifecta/config.h +++ b/keyboards/basekeys/trifecta/config.h @@ -80,11 +80,11 @@ # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -//# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +//# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. # define RGB_MATRIX_HUE_STEP 8 # define RGB_MATRIX_SAT_STEP 8 # define RGB_MATRIX_VAL_STEP 8 diff --git a/keyboards/basekeys/trifecta/keymaps/default/keymap.c b/keyboards/basekeys/trifecta/keymaps/default/keymap.c index 727ebf381ae7..6db61e4768cc 100644 --- a/keyboards/basekeys/trifecta/keymaps/default/keymap.c +++ b/keyboards/basekeys/trifecta/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); @@ -68,4 +68,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_LEFT); } } + return true; } diff --git a/keyboards/basekeys/trifecta/keymaps/via/keymap.c b/keyboards/basekeys/trifecta/keymaps/via/keymap.c index e1f401bc2401..54e25ff370ff 100644 --- a/keyboards/basekeys/trifecta/keymaps/via/keymap.c +++ b/keyboards/basekeys/trifecta/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN] = LAYOUT( - 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_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); @@ -68,4 +68,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { rgblight_step_reverse(); } } + return true; } diff --git a/keyboards/basekeys/trifecta/rules.mk b/keyboards/basekeys/trifecta/rules.mk index 975fe8462070..e21560e91785 100644 --- a/keyboards/basekeys/trifecta/rules.mk +++ b/keyboards/basekeys/trifecta/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/basketweave/config.h b/keyboards/basketweave/config.h index dcc4b2fe5124..afe66c6b14a1 100644 --- a/keyboards/basketweave/config.h +++ b/keyboards/basketweave/config.h @@ -19,7 +19,7 @@ #include "config_common.h" #define VENDOR_ID 0x6B62 -#define PRODUCT_ID 0x6869 +#define PRODUCT_ID 0x8989 #define DEVICE_VER 0x0001 #define MANUFACTURER Clackery #define PRODUCT Basketweave diff --git a/keyboards/basketweave/keymaps/default/keymap.c b/keyboards/basketweave/keymaps/default/keymap.c index 40cf61eea6de..16c082b61d54 100644 --- a/keyboards/basketweave/keymaps/default/keymap.c +++ b/keyboards/basketweave/keymaps/default/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { tap_code(KC_VOLU); @@ -49,4 +49,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } diff --git a/keyboards/basketweave/keymaps/via/keymap.c b/keyboards/basketweave/keymaps/via/keymap.c new file mode 100644 index 000000000000..aa9035dbee8f --- /dev/null +++ b/keyboards/basketweave/keymaps/via/keymap.c @@ -0,0 +1,79 @@ +/* Copyright 2021 null-ll + * + * 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_default( /* base */ + KC_GESC, 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_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_MUTE, + KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + + [1] = LAYOUT_default( /* fn */ + /* esc ` 1 2 3 4 5 6 7 8 9 0 - = bspc */ + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + /* ins tab Q W E R T Y U I O P [ ] \ rotary */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + /* del caps A S D F G H J K L ; ' enter */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, + /* shift Z X C V B B N M , . / shift up */ + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_PGUP, + /* ctrl alt space fn space alt ctrl left down right */ + KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_END + ), + + [2] = LAYOUT_default( /* extra */ + /* esc ` 1 2 3 4 5 6 7 8 9 0 - = bspc */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /* ins tab Q W E R T Y U I O P [ ] \ rotary */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /* del caps A S D F G H J K L ; ' enter */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, + /* shift Z X C V B B N M , . / shift up */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /* ctrl alt space fn space alt ctrl left down right */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_default( /* extra */ + /* esc ` 1 2 3 4 5 6 7 8 9 0 - = bspc */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /* ins tab Q W E R T Y U I O P [ ] \ rotary */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /* del caps A S D F G H J K L ; ' enter */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, + /* shift Z X C V B B N M , . / shift up */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + /* ctrl alt space fn space alt ctrl left down right */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/bm60poker/keymaps/via/rules.mk b/keyboards/basketweave/keymaps/via/rules.mk similarity index 100% rename from keyboards/bm60poker/keymaps/via/rules.mk rename to keyboards/basketweave/keymaps/via/rules.mk diff --git a/keyboards/basketweave/rules.mk b/keyboards/basketweave/rules.mk index 1dfab07929ed..ddc50713c1ea 100644 --- a/keyboards/basketweave/rules.mk +++ b/keyboards/basketweave/rules.mk @@ -5,12 +5,12 @@ MCU = atmega32a F_CPU = 16000000 # Bootloader selection -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/bastardkb/scylla/config.h b/keyboards/bastardkb/scylla/config.h new file mode 100644 index 000000000000..d04dcb97fc24 --- /dev/null +++ b/keyboards/bastardkb/scylla/config.h @@ -0,0 +1,57 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * + * 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 "config_common.h" +#define VENDOR_ID 0xA8F8 +#define PRODUCT_ID 0x1829 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Bastard Keyboards +#define PRODUCT Scylla + +#define MATRIX_ROWS 10 +#define MATRIX_COLS 6 +#define DIODE_DIRECTION ROW2COL +#define MATRIX_ROW_PINS { D7, B5, F7, F6, B6 } +#define MATRIX_COL_PINS { B4, E6, C6, B1, B3, B2 } + +#define RGB_DI_PIN D2 +#define RGBLED_NUM 58 +#define RGBLED_SPLIT { 29, 29 } +#define RGBLIGHT_LIMIT_VAL 120 +#define RGBLIGHT_ANIMATIONS +#define DEBOUNCE 5 +#define SOFT_SERIAL_PIN D0 +#define MASTER_RIGHT + +#ifdef RGBLIGHT_ENABLE +# define RGBLED_NUM 58 +# define RGBLED_SPLIT { 29, 29 } +# define RGBLIGHT_LIMIT_VAL 50 +# define RGBLIGHT_ANIMATIONS +#endif + +// RGB matrix support +#ifdef RGB_MATRIX_ENABLE +# define SPLIT_TRANSPORT_MIRROR +# define DRIVER_LED_TOTAL 58 // Number of LEDs +# define RGB_MATRIX_SPLIT { 29, 29 } +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 +# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_KEYPRESSES +#endif diff --git a/keyboards/bastardkb/scylla/info.json b/keyboards/bastardkb/scylla/info.json new file mode 100644 index 000000000000..a598b0399904 --- /dev/null +++ b/keyboards/bastardkb/scylla/info.json @@ -0,0 +1,71 @@ +{ + "keyboard_name": "The Bastard Keyboard", + "url": "https://bastardkb.com/", + "maintainer": "Quentin Lebastard", + "width": 17, + "height": 8, + "layouts": { + "LAYOUT_split_4x6_5": { + "layout": [ + {"label":"L00", "x":0, "y":0}, + {"label":"L01", "x":1, "y":0}, + {"label":"L02", "x":2, "y":0}, + {"label":"L03", "x":3, "y":0}, + {"label":"L04", "x":4, "y":0}, + {"label":"L05", "x":5, "y":0}, + {"label":"R00", "x":11, "y":0}, + {"label":"R01", "x":12, "y":0}, + {"label":"R02", "x":13, "y":0}, + {"label":"R03", "x":14, "y":0}, + {"label":"R04", "x":15, "y":0}, + {"label":"R05", "x":16, "y":0}, + {"label":"L10", "x":0, "y":1}, + {"label":"L11", "x":1, "y":1}, + {"label":"L12", "x":2, "y":1}, + {"label":"L13", "x":3, "y":1}, + {"label":"L14", "x":4, "y":1}, + {"label":"L15", "x":5, "y":1}, + {"label":"R10", "x":11, "y":1}, + {"label":"R11", "x":12, "y":1}, + {"label":"R12", "x":13, "y":1}, + {"label":"R13", "x":14, "y":1}, + {"label":"R14", "x":15, "y":1}, + {"label":"R15", "x":16, "y":1}, + {"label":"L20", "x":0, "y":2}, + {"label":"L21", "x":1, "y":2}, + {"label":"L22", "x":2, "y":2}, + {"label":"L23", "x":3, "y":2}, + {"label":"L24", "x":4, "y":2}, + {"label":"L25", "x":5, "y":2}, + {"label":"R20", "x":11, "y":2}, + {"label":"R21", "x":12, "y":2}, + {"label":"R22", "x":13, "y":2}, + {"label":"R23", "x":14, "y":2}, + {"label":"R24", "x":15, "y":2}, + {"label":"R25", "x":16, "y":2}, + {"label":"L30", "x":0, "y":3}, + {"label":"L31", "x":1, "y":3}, + {"label":"L32", "x":2, "y":3}, + {"label":"L33", "x":3, "y":3}, + {"label":"L34", "x":4, "y":3}, + {"label":"L35", "x":5, "y":3}, + {"label":"R30", "x":11, "y":3}, + {"label":"R31", "x":12, "y":3}, + {"label":"R32", "x":13, "y":3}, + {"label":"R33", "x":14, "y":3}, + {"label":"R34", "x":15, "y":3}, + {"label":"R35", "x":16, "y":3}, + {"label":"L43", "x":5, "y":4}, + {"label":"L44", "x":6, "y":4}, + {"label":"L45", "x":7, "y":4}, + {"label":"R40", "x":9, "y":4}, + {"label":"R41", "x":10, "y":4}, + {"label":"R40", "x":11, "y":4}, + {"label":"L52", "x":6, "y":5}, + {"label":"L53", "x":7, "y":5}, + {"label":"R52", "x":9, "y":5}, + {"label":"R53", "x":10, "y":5} + ] + } + } +} diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/config.h b/keyboards/bastardkb/scylla/keymaps/cykedev/config.h new file mode 100644 index 000000000000..3b2fa15b96f8 --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/cykedev/config.h @@ -0,0 +1,42 @@ +// Copyright 2021 Christian Eiden, cykedev +// +// 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 + +// Select hand configuration +// #define MASTER_LEFT +// #define MASTER_RIGHT +#define EE_HANDS + +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +#define BOOTMAGIC_LITE_ROW_RIGHT 0 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 + +#define TAPPING_TERM 200 + +// Prevent normal rollover on alphas from accidentally triggering mods. +// #define IGNORE_MOD_TAP_INTERRUPT + +// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. +// #define TAPPING_FORCE_HOLD + +// Apply the modifier on keys that are tapped during a short hold of a modtap +// #define PERMISSIVE_HOLD + +#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY + +#define FORCE_NKRO \ No newline at end of file diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c b/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c new file mode 100644 index 000000000000..42915e43e484 --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c @@ -0,0 +1,198 @@ +// Copyright 2021 Christian Eiden, cykedev +// +// 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 + +#define CM_SPAL LGUI_T(KC_SPC) +#define CM_SPAR RGUI_T(KC_SPC) + +#define SH_ENL LSFT_T(KC_ENT) +#define SH_ENR RSFT_T(KC_ENT) + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +#define QWERT DF(_QWERTY) +#define COLEM DF(_COLEMAK_DH) + +enum layer_names { + _COLEMAK_DH, + _QWERTY, + _RAISE, + _LOWER, + _ADJUST +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_COLEMAK_DH] = LAYOUT_split_4x6_5( + /* COLEMAK_DH + * .-----------------------------------------. .-----------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | W | F | P | B | | J | L | U | Y | ; | \ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Del | A | R | S | T | G | | M | N | E | I | O | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Shft | Z | X | C | D | V | | K | H | , | . | / | Shft | + * '-----------------------------------------/ \-----------------------------------------' + * / RAISE /---------------. .---------------\ LOWER \ + * / / Cmd / Shift / \ Shift \ Cmd \ \ + * '-------/ Space / Enter / \ Enter \ Space \-------' + * /---------------/ \---------------\ + * / Alt / Ctrl / \ Ctrl \ Alt \ + * / / / \ \ \ + * '---------------' '---------------' + */ + KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC, + KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSLS, + KC_DEL , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M , KC_N , KC_E , KC_I , KC_O , KC_QUOT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_D , KC_V , KC_K , KC_H , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + RAISE , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, LOWER , + KC_LALT, KC_LCTL, KC_RCTL, KC_RALT + ), + [_QWERTY] = LAYOUT_split_4x6_5( + /* QWERTY + * .-----------------------------------------. .-----------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Del | A | S | D | F | G | | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Shft | Z | X | C | V | B | | N | M | , | . | / | Shft | + * '-----------------------------------------/ \-----------------------------------------' + * / RAISE /---------------. .---------------\ LOWER \ + * / / Cmd / Shift / \ Shift \ Cmd \ \ + * '-------/ Space / Enter / \ Enter \ Space \-------' + * /---------------/ \---------------\ + * / Alt / Ctrl / \ Ctrl \ Alt \ + * / / / \ \ \ + * '---------------' '---------------' + */ + KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , 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_BSLS, + KC_DEL , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_LSFT, + RAISE , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, LOWER , + KC_LALT, KC_LCTL, KC_RCTL, KC_RALT + ), + [_RAISE] = LAYOUT_split_4x6_5( + /* RAISE + * .-----------------------------------------. .-----------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | [ | ] | | | $ | / | * | # | ~ | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Ins | ! | @ | ( | ) | | | % | - | + | = | ? | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | { | } | | | ^ | & | | | | | | + * '-----------------------------------------/ \-----------------------------------------' + * / /---------------. .---------------\ \ + * / / / / \ \ \ \ + * '-------/ / / \ \ \-------' + * /---------------/ \---------------\ + * / / / \ \ \ + * / / / \ \ \ + * '---------------' '---------------' + */ + XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , + XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, KC_DLR , KC_SLSH, KC_ASTR, KC_HASH, KC_TILD, KC_F12 , + KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, XXXXXXX, KC_PERC, KC_MINS, KC_PPLS, KC_PEQL, KC_QUES, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, KC_CIRC, KC_AMPR, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______ + ), + [_LOWER] = LAYOUT_split_4x6_5( + /* LOWER + * .-----------------------------------------. .-----------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | [ | ] | + | | | | up | | | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Ins | ! | @ | ( | ) | - | | | left | down | rght | ? | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | { | } | = | | | | | | | | + * '-----------------------------------------/ \-----------------------------------------' + * / /---------------. .---------------\ \ + * / / / / \ \ \ \ + * '-------/ / / \ \ \-------' + * /---------------/ \---------------\ + * / / / \ \ \ + * / / / \ \ \ + * '---------------' '---------------' + */ + XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , + XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_PPLS, XXXXXXX, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_F12 , + KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, KC_MINS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUES, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_PEQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______ + ), + [_ADJUST] = LAYOUT_split_4x6_5( + /* ADJUST + * .-----------------------------------------. .-----------------------------------------. + * | | | | | | QWERT| |COLEM | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | V+ | | B + | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | V- | | B - | << | play | >> | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | Mute | | | | | | | | + * '-----------------------------------------/ \-----------------------------------------' + * / /---------------. .---------------\ \ + * / / / / \ \ \ \ + * '-------/ / / \ \ \-------' + * /---------------/ \---------------\ + * / / / \ \ \ + * / / / \ \ \ + * '---------------' '---------------' + */ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERT , COLEM , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_BRID, KC_MRWD, KC_MPLY, KC_MFFD, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case CM_SPAR: + return true; + default: + return false; + } +} + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +// Flexible macOS-friendly Grave Escape +// https://docs.qmk.fm/#/feature_key_overrides?id=flexible-macos-friendly-grave-escape + +const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, S(KC_GRAVE)); +const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, KC_GRAVE); +const key_override_t delete_key_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPACE, KC_DELETE); + + +const key_override_t **key_overrides = (const key_override_t *[]){ + &tilde_esc_override, + &grave_esc_override, + &delete_key_override, + NULL +}; diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk b/keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk new file mode 100644 index 000000000000..1ef732910bfc --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/cykedev/rules.mk @@ -0,0 +1,4 @@ +MOUSEKEY_ENABLE = no # Mouse keys +NKRO_ENABLE = yes # USB Nkey Rollover +RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix +KEY_OVERRIDE_ENABLE = yes # Enable Key Overrides, see https://docs.qmk.fm/#/feature_key_overrides diff --git a/keyboards/bastardkb/scylla/keymaps/default/keymap.c b/keyboards/bastardkb/scylla/keymaps/default/keymap.c new file mode 100644 index 000000000000..49be09b689f2 --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/default/keymap.c @@ -0,0 +1,60 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * + * 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_split_4x6_5( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_MINS, +//-------------------------------------------------//-----------------------------------------------------------// + KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, +//-------------------------------------------------//-----------------------------------------------------------// + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, +//-------------------------------------------------//-----------------------------------------------------------// + KC_LCTL, KC_SPC, MO(1), MO(2), KC_ENT, KC_RGUI, + KC_HOME, KC_BSPC, KC_DEL, KC_RALT + ), + + [1] = LAYOUT_split_4x6_5( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, +//---------------------------------------------------------//-----------------------------------------------------------// + RESET, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS, +//---------------------------------------------------------//-----------------------------------------------------------// + _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE, +//---------------------------------------------------------//-----------------------------------------------------------// + _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, +//---------------------------------------------------------//-----------------------------------------------------------// + KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, KC_RGUI, + KC_SPC, KC_BSPC, KC_RCTL, KC_ENT + ), + + [2] = LAYOUT_split_4x6_5( + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, +//---------------------------------------------------------//--------------------------------------------------------------// + _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_LBRC, KC_RBRC, _______, KC_NLCK, KC_INS, KC_SLCK, KC_MUTE, +//---------------------------------------------------------//--------------------------------------------------------------// + _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU, +//---------------------------------------------------------//--------------------------------------------------------------// + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, +//---------------------------------------------------------//--------------------------------------------------------------// + KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, RESET, + KC_SPC, KC_BSPC, KC_RCTL, KC_ENT + ), +}; diff --git a/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c b/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c new file mode 100644 index 000000000000..94dd182c6921 --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/german_gaming/keymap.c @@ -0,0 +1,90 @@ +/* + * Copyright 2021 Joschua Gandert + * + * 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 +#include "keymap_german.h" + + +enum layer_names { + _BASE, + _GAME, /* WASD shifted right once */ + _LOWER, + _RAISE, + _ADJUST /* when both LOWER and RAISE pressed */ +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_split_4x6_5( + KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , DE_SS , + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , DE_Z , KC_U , KC_I , KC_O , KC_P , DE_UDIA, + KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , DE_ODIA, DE_ADIA, + KC_LCTL, DE_Y , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT, DE_MINS, DE_PLUS, + + RAISE, KC_SPC, KC_LCTL, KC_RALT, KC_BSPC, LOWER, + KC_ENT, KC_LALT, KC_LGUI, KC_RSFT + ), + + [_GAME] = LAYOUT_split_4x6_5( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_T , KC_TAB , KC_Q , KC_W , KC_E , KC_R , _______, _______, KC_UP, _______, _______, _______, + KC_G , KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, + KC_B , KC_LCTL, DE_Y , KC_X , KC_C , KC_V , _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______ + ), + + [_LOWER] = LAYOUT_split_4x6_5( + KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_PSLS, KC_PAST, KC_PMNS, KC_DEL , + _______, DE_HASH, DE_CIRC, KC_PGUP, DE_LABK, _______, _______, KC_P7 , KC_P8 , KC_P9 , KC_PPLS, KC_BSPC , + _______, DE_ACUT, KC_HOME, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 , KC_PDOT, _______ , + _______, KC_PLUS, KC_PIPE, KC_UNDS, _______, _______, KC_P0 , KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_KP_EQUAL, + + _______, KC_RGHT, _______, _______, _______, _______, + KC_LEFT, _______, RESET , _______ + ), + + [_RAISE] = LAYOUT_split_4x6_5( + KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , + _______, _______, _______, KC_UP , _______, _______, KC_LALT, KC_INS , KC_NLCK , KC_CALC, KC_PSCREEN, KC_MUTE, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT , KC_MSEL, KC_MPRV , KC_MPLY , KC_MNXT, _______ , KC_VOLU, + _______, _______, _______, _______, _______, _______, DE_HASH, KC_MYCM , _______ , _______, KC_SLCK , KC_VOLD, + + _______, _______, _______, _______, KC_UP , _______, + _______, _______, _______, KC_DOWN + ), + + [_ADJUST] = LAYOUT_split_4x6_5( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RESET , _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, DF(_GAME), _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, DF(_BASE), _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______ + ), +}; + + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} diff --git a/keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md b/keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md new file mode 100644 index 000000000000..14de01ac4158 --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/german_gaming/readme.md @@ -0,0 +1,24 @@ +![German Gaming Layout Image](https://i.imgur.com/0y938rGh.png) + +Despite being less accurate, the columns in the image are shifted up and down to avoid the [Hermann grid illusion](https://en.wikipedia.org/wiki/Grid_illusion). +​ + +# German Gaming Layout +​ +This layout was build with gaming in mind for a german user. As a result I added a "game" layer that shifts the keys of the left side (below the number row) one to the right, so that WASD is on the ESDF keys. The reason this layer was added is that using WASD is less comfortable with a contoured Dactyl-style keyboard, where each column is adjusted for the respective fingers. ESDF also has the upside of allowing one to stay in the home row. Note that the rightmost column of the default layer, so TGB, ends up in the leftmost position. + +Of course, one could just be forced to reconfigure every game, but that wouldn't be very user-friendly and likely reduce satisfaction with the layout. When in game mode, the right side of keys also features arrow keys on IJKL. + + +## Raise and Lower layer + +Additionally, via the RAISE layer, it's always possible to access the arrow keys, which are often used in game menues. On the exact same position one can access Home, End, Page Down and Page Up via the LOWER layer. The left side of the LOWER layer also contains the few characters that would usually have their own key in a traditional german keyboard. + +The right side features various media keys in the RAISE layer, and a numpad in the LOWER layer. + + +## Firmware + +The keyboard can be put into Reset mode (for flashing a keymap) by pressing **LOWER** + Super (also known as Windows key), or by pressing **LOWER** + **RAISE** + R. + +`MOUSEKEY_ENABLE` was set to `no` for this keymap, since it wasn't used and the size of the firmware ended up being too large. diff --git a/keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk b/keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk new file mode 100644 index 000000000000..0a5b666e8557 --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/german_gaming/rules.mk @@ -0,0 +1 @@ +MOUSEKEY_ENABLE = no diff --git a/keyboards/bastardkb/scylla/keymaps/xyverz/config.h b/keyboards/bastardkb/scylla/keymaps/xyverz/config.h new file mode 100644 index 000000000000..d7baf9937613 --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/xyverz/config.h @@ -0,0 +1,33 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 + +/* Select hand configuration */ +// #define MASTER_LEFT +// #define MASTER_RIGHT +#define EE_HANDS + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 300 +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT +#define LEADER_PER_KEY_TIMING +#define LEADER_TIMEOUT 300 \ No newline at end of file diff --git a/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c b/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c new file mode 100644 index 000000000000..b8f70bdc9beb --- /dev/null +++ b/keyboards/bastardkb/scylla/keymaps/xyverz/keymap.c @@ -0,0 +1,100 @@ +/* + * Copyright 2021 Ian Sterling + * + * 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 { _WINDOWS, _MAC, _LOWER, _RAISE, _ADJUST }; + +enum custom_keycodes { WINDOWS = SAFE_RANGE, MAC, ADJUST }; + +// Aliases to keep the keymap tidy +#define GUIBSPC GUI_T(KC_BSPC) // GUI when held, BSPC when tapped. +#define RGB_SWR RGB_M_SW // Swirl Animation alias +#define RGB_SNK RGB_M_SN // Snake Animation alias +#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook! +#define WINLOCK LGUI(KC_L) // Lock my PC! +#define DELGUI GUI_T(KC_DEL) +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + + +#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook! + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_WINDOWS] = LAYOUT_split_4x6_5( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, + KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, + LOWER, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, RAISE, + KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL + ), + +[_MAC] = LAYOUT_split_4x6_5( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, + KC_GRV, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, + LOWER, KC_BSPC, DELGUI, KC_ENT, KC_SPC, RAISE, + KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL + ), + +[_LOWER] = LAYOUT_split_4x6_5( + KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, + RESET, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, + KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______, + _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_DEL, _______, _______, _______, _______, + MACLOCK, _______, _______, WINLOCK + ), + +[_RAISE] = LAYOUT_split_4x6_5( + KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12, + _______, _______, _______, KC_UP, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, RESET, + KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_DEL, _______, _______, _______, _______, + MACLOCK, _______, _______, WINLOCK + ), + +[_ADJUST] = LAYOUT_split_4x6_5( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, WINDOWS, MAC, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______ + ), + +}; + +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); }; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch (keycode) { + case WINDOWS: + set_single_persistent_default_layer(_WINDOWS); + return false; + case MAC: + set_single_persistent_default_layer(_MAC); + return false; + } + } + return true; +} diff --git a/keyboards/bastardkb/scylla/readme.md b/keyboards/bastardkb/scylla/readme.md new file mode 100644 index 000000000000..70df5cfbb9f1 --- /dev/null +++ b/keyboards/bastardkb/scylla/readme.md @@ -0,0 +1,22 @@ +# Scylla + +A modern, low-profile split ergonomic keyboard + +* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/) +* Hardware Supported: elite-C V4 +* Hardware Availability: [Bastard Keyboards](https://bastardkb.com/) + +Make example for this keyboard (after setting up your build environment): + + make bastardkb/scylla: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). + +See the [keyboard build instructions](https://docs.bastardkb.com) + + +## Important information regarding the reset + +If you modify this firmware, make sure to always have a RESET key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up. + +Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button. diff --git a/keyboards/bastardkb/scylla/rules.mk b/keyboards/bastardkb/scylla/rules.mk new file mode 100644 index 000000000000..a74b61f9b7d9 --- /dev/null +++ b/keyboards/bastardkb/scylla/rules.mk @@ -0,0 +1,26 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE) +RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes +LTO_ENABLE = yes diff --git a/keyboards/bastardkb/scylla/scylla.c b/keyboards/bastardkb/scylla/scylla.c new file mode 100644 index 000000000000..b110d7ff5a60 --- /dev/null +++ b/keyboards/bastardkb/scylla/scylla.c @@ -0,0 +1,61 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * + * 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 "scylla.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // left + { 0, 7, 8, 15, 16, 20 }, + { 1, 6, 9, 14, 17, 21 }, + { 2, 5, 10, 13, 18, 22 }, + { 3, 4, 11, 12, 19, 23 }, + { NO_LED, 28, 24, 26, 27, 25 }, + // right + { 29, 36, 37, 44, 45, 49 }, + { 30, 35, 38, 43, 46, 50 }, + { 31, 34, 39, 42, 47, 51 }, + { 32, 33, 40, 41, 48, 52 }, + { NO_LED, 57, 53, 55, 56, 54 } +}, { + // left + { 0, 0 }, { 0, 16 }, { 0, 32 }, { 0, 48 }, // col 1 + { 20, 48 }, { 20, 32 }, { 20, 16 }, { 20, 0 }, // col 2 + { 41, 0 }, { 41, 16 }, { 41, 32 }, { 41, 48 }, + { 61, 48 }, { 61, 32 }, { 61, 16 }, { 61, 0 }, + { 81, 0 }, { 81, 16 }, { 81, 32 }, { 81, 48 }, + { 102, 0 }, { 102, 16 }, { 102, 32 }, { 102, 48 }, + { 102, 64 }, { 81, 64 }, { 61, 56 }, { 81, 56 }, { 102, 56 }, // left thumb cluster + // right + { 224, 0 }, { 224, 16 }, { 224, 32 }, { 224, 48 }, // col 12 + { 204, 48 }, { 204, 32 }, { 204, 16 }, { 204, 0 }, // col 11 + { 183, 0 }, { 183, 16 }, { 183, 32 }, { 183, 48 }, + { 163, 48 }, { 163, 32 }, { 163, 16 }, { 163, 0 }, + { 142, 0 }, { 142, 16 }, { 142, 32 }, { 142, 48 }, + { 122, 0 }, { 122, 16 }, { 122, 32 }, { 122, 48 }, + { 122, 64 }, { 142, 64 }, { 163, 56 }, { 142, 56 }, { 122, 56 } // right thumb cluster +}, { + // left + 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 2, 2, 2, 2, 2, + // right + 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 2, 2, 2, 2, 2 +} }; +#endif diff --git a/keyboards/bastardkb/scylla/scylla.h b/keyboards/bastardkb/scylla/scylla.h new file mode 100644 index 000000000000..196982952f83 --- /dev/null +++ b/keyboards/bastardkb/scylla/scylla.h @@ -0,0 +1,42 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * + * 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 "quantum.h" + +// SWITCHED 91 and 95 - check on left ? +#define LAYOUT_split_4x6_5( \ + k00, k01, k02, k03, k04, k05, k55, k54, k53, k52, k51, k50, \ + k10, k11, k12, k13, k14, k15, k65, k64, k63, k62, k61, k60, \ + k20, k21, k22, k23, k24, k25, k75, k74, k73, k72, k71, k70, \ + k30, k31, k32, k33, k34, k35, k85, k84, k83, k82, k81, k80, \ + k43, k44, k41, k91, k94, k93, \ + k45, k42, k92, k95 \ +)\ +{\ + { k00, k01, k02, k03, k04, k05 }, \ + { k10, k11, k12, k13, k14, k15 }, \ + { k20, k21, k22, k23, k24, k25 }, \ + { k30, k31, k32, k33, k34, k35 }, \ + { KC_NO, k41, k42, k43, k44, k45 }, \ + { k50, k51, k52, k53, k54, k55 }, \ + { k60, k61, k62, k63, k64, k65 }, \ + { k70, k71, k72, k73, k74, k75 }, \ + { k80, k81, k82, k83, k84, k85 }, \ + { KC_NO, k91, k92, k93, k94, k95 }, \ +} diff --git a/keyboards/bastardkb/skeletyl/config.h b/keyboards/bastardkb/skeletyl/config.h new file mode 100644 index 000000000000..33f3a501090c --- /dev/null +++ b/keyboards/bastardkb/skeletyl/config.h @@ -0,0 +1,55 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * + * 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 "config_common.h" +#define VENDOR_ID 0xA8F8 +#define PRODUCT_ID 0x1830 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Bastard Keyboards +#define PRODUCT Skeletyl + +#define MATRIX_ROWS 8 +#define MATRIX_COLS 5 +#define RGBLIGHT_LIMIT_VAL 180 +#define MATRIX_ROW_PINS { B5, F7, F6, B6 } +#define MATRIX_COL_PINS { E6, C6, B1, B3, B2 } + +#define DIODE_DIRECTION ROW2COL + +#define RGB_DI_PIN D2 +#define RGBLED_NUM 36 +#define RGBLED_SPLIT { 18, 18 } +#define RGBLIGHT_ANIMATIONS + +#define DEBOUNCE 5 + +#define SOFT_SERIAL_PIN D0 + +#define USB_POLLING_INTERVAL_MS 1 +#define MASTER_RIGHT + +// RGB matrix support +#ifdef RGB_MATRIX_ENABLE +# define SPLIT_TRANSPORT_MIRROR +# define DRIVER_LED_TOTAL 36 // Number of LEDs +# define RGB_MATRIX_SPLIT { 18, 18 } +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 +# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_KEYPRESSES +#endif diff --git a/keyboards/bastardkb/skeletyl/info.json b/keyboards/bastardkb/skeletyl/info.json new file mode 100644 index 000000000000..d7ebf8014794 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/info.json @@ -0,0 +1,49 @@ +{ + "keyboard_name": "Skeletyl", + "url": "https://www.bastardkb.com", + "maintainer": "Quentin Lebastard", + "width": 17, + "height": 4, + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + {"label":"L00", "x":0, "y":0}, + {"label":"L01", "x":1, "y":0}, + {"label":"L02", "x":2, "y":0}, + {"label":"L03", "x":3, "y":0}, + {"label":"L04", "x":4, "y":0}, + {"label":"R00", "x":11, "y":0}, + {"label":"R01", "x":12, "y":0}, + {"label":"R02", "x":13, "y":0}, + {"label":"R03", "x":14, "y":0}, + {"label":"R04", "x":15, "y":0}, + {"label":"L10", "x":0, "y":1}, + {"label":"L11", "x":1, "y":1}, + {"label":"L12", "x":2, "y":1}, + {"label":"L13", "x":3, "y":1}, + {"label":"L14", "x":4, "y":1}, + {"label":"R10", "x":11, "y":1}, + {"label":"R11", "x":12, "y":1}, + {"label":"R12", "x":13, "y":1}, + {"label":"R13", "x":14, "y":1}, + {"label":"R14", "x":15, "y":1}, + {"label":"L20", "x":0, "y":2}, + {"label":"L21", "x":1, "y":2}, + {"label":"L22", "x":2, "y":2}, + {"label":"L23", "x":3, "y":2}, + {"label":"L24", "x":4, "y":2}, + {"label":"R20", "x":11, "y":2}, + {"label":"R21", "x":12, "y":2}, + {"label":"R22", "x":13, "y":2}, + {"label":"R23", "x":14, "y":2}, + {"label":"R24", "x":15, "y":2}, + {"label":"L33", "x":4, "y":3}, + {"label":"L34", "x":5, "y":3}, + {"label":"L31", "x":6, "y":3}, + {"label":"R33", "x":9, "y":3}, + {"label":"R34", "x":10, "y":3}, + {"label":"R31", "x":11, "y":3} + ] + } + } +} diff --git a/keyboards/bastardkb/skeletyl/keymaps/default/keymap.c b/keyboards/bastardkb/skeletyl/keymaps/default/keymap.c new file mode 100644 index 000000000000..56e56d9a434c --- /dev/null +++ b/keyboards/bastardkb/skeletyl/keymaps/default/keymap.c @@ -0,0 +1,70 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * + * 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_split_3x5_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + 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_SCLN, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, KC_SPC , MO(1), MO(2), KC_ENT , KC_RALT + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x5_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, KC_SPC, _______, MO(3), KC_ENT, KC_RALT + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x5_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, KC_SPC, MO(3), _______, KC_ENT, KC_RALT + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x5_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, KC_SPC, _______, _______, KC_ENT, KC_RALT + //`--------------------------' `--------------------------' + ) +}; diff --git a/keyboards/bastardkb/skeletyl/readme.md b/keyboards/bastardkb/skeletyl/readme.md new file mode 100644 index 000000000000..6c36b5835641 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/readme.md @@ -0,0 +1,17 @@ +# Skeletyl + +A very small keyboard made for ergonomic enthusiasts. + +* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/) +* Hardware Supported: elite-C V4 +* Hardware Availability: [Bastardkb.com](https://bastardkb.com/) + +Make example for this keyboard (after setting up your build environment): + + make bastardkb/skeletyl:default + +This keyboard is made to be used with the Miryoku layout, do not use the default keymap. + +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). + +See the [keyboard build instructions](http://docs.bastardkb.com/) diff --git a/keyboards/bastardkb/skeletyl/rules.mk b/keyboards/bastardkb/skeletyl/rules.mk new file mode 100644 index 000000000000..1afabf51c3b2 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/rules.mk @@ -0,0 +1,33 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE) +RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes +TAP_DANCE_ENABLE = no +LTO_ENABLE = yes + +AUDIO_SUPPORTED = no +RGB_MATRIX_SUPPORTED = yes +RGBLIGHT_SUPPORTED = yes + +LAYOUTS = split_3x5_3 diff --git a/keyboards/bastardkb/skeletyl/skeletyl.c b/keyboards/bastardkb/skeletyl/skeletyl.c new file mode 100644 index 000000000000..b72becbb2539 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/skeletyl.c @@ -0,0 +1,81 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * + * 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 "skeletyl.h" + +/** + * LEDs index. + * + * ╭────────────────────╮ ╭────────────────────╮ + * 2 3 8 9 12 30 27 26 21 20 + * ├────────────────────┤ ├────────────────────┤ + * 1 4 7 10 13 31 28 25 22 19 + * ├────────────────────┤ ├────────────────────┤ + * 0 5 6 11 14 32 29 24 23 18 + * ╰────────────────────╯ ╰────────────────────╯ + * 15 16 17 35 34 33 + * ╰────────────╯ ╰────────────╯ + */ +// clang-format off +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + /* Key Matrix to LED index. */ + // Left split. + { 2, 3, 8, 9, 12 }, // Top row + { 1, 4, 7, 10, 13 }, // Middle row + { 0, 5, 6, 11, 14 }, // Bottom row + { 17, NO_LED, 15, 16, NO_LED }, // Thumb cluster + // Right split. + { 20, 21, 26, 27, 30 }, // Top row + { 19, 22, 25, 28, 31 }, // Middle row + { 18, 23, 24, 29, 32 }, // Bottom row + { 35, NO_LED, 33, 34, NO_LED }, // Thumb cluster +}, { + /* LED index to physical position. */ + // Left split. + /* index=0 */ { 0, 42 }, { 0, 21 }, { 0, 0 }, // col 1 (left most) + /* index=3 */ { 18, 0 }, { 18, 21 }, { 18, 42 }, // col 2 + /* index=6 */ { 36, 42 }, { 36, 21 }, { 36, 0 }, + /* index=9 */ { 54, 0 }, { 54, 21 }, { 54, 42 }, + /* index=12 */ { 72, 0 }, { 72, 21 }, { 72, 42 }, + /* index=15 */ { 72, 64 }, { 90, 64 }, { 108, 64 }, // Thumb cluster + // Right split. + /* index=18 */ { 224, 42 }, { 224, 21 }, { 224, 0 }, // col 10 (right most) + /* index=21 */ { 206, 0 }, { 206, 21 }, { 206, 42 }, // col 9 + /* index=24 */ { 188, 42 }, { 188, 21 }, { 188, 0 }, + /* index=27 */ { 170, 0 }, { 170, 21 }, { 170, 42 }, + /* index=30 */ { 152, 0 }, { 152, 21 }, { 152, 42 }, + /* index=33 */ { 152, 64 }, { 134, 64 }, { 116, 64 }, // Thumb cluster +}, { + /* LED index to flag. */ + // Left split. + /* index=0 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1 + /* index=3 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2 + /* index=6 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + /* index=9 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + /* index=15 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster + // Right split. + /* index=18 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 10 + /* index=21 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 9 + /* index=24 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + /* index=27 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + /* index=30 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, + /* index=33 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster +} }; +#endif +// clang-format on diff --git a/keyboards/bastardkb/skeletyl/skeletyl.h b/keyboards/bastardkb/skeletyl/skeletyl.h new file mode 100644 index 000000000000..3e90abb01d51 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/skeletyl.h @@ -0,0 +1,38 @@ +/* + * Copyright 2021 Quentin LEBASTARD + * + * 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 "quantum.h" + +// clang-format off +#define LAYOUT_split_3x5_3( \ + k00, k01, k02, k03, k04, k44, k43, k42, k41, k40, \ + k10, k11, k12, k13, k14, k54, k53, k52, k51, k50, \ + k20, k21, k22, k23, k24, k64, k63, k62, k61, k60, \ + k33, k34, k31, k71, k74, k73 \ +) \ +{ \ + { k00, k01, k02, k03, k04 }, \ + { k10, k11, k12, k13, k14 }, \ + { k20, k21, k22, k23, k24 }, \ + { k31, KC_NO, k33, k34, KC_NO }, \ + { k40, k41, k42, k43, k44 }, \ + { k50, k51, k52, k53, k54 }, \ + { k60, k61, k62, k63, k64 }, \ + { k71, KC_NO, k73, k74, KC_NO }, \ +} +// clang-format on diff --git a/keyboards/bastardkb/tbk/rules.mk b/keyboards/bastardkb/tbk/rules.mk index cc88208e33c1..fc12eaf0f524 100644 --- a/keyboards/bastardkb/tbk/rules.mk +++ b/keyboards/bastardkb/tbk/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h index 9aee4d5f9786..a09dafe4882b 100644 --- a/keyboards/bastardkb/tbkmini/config.h +++ b/keyboards/bastardkb/tbkmini/config.h @@ -1,4 +1,4 @@ -/* +/* * Copyright 2021 Quentin LEBASTARD * * This program is free software: you can redistribute it and/or modify @@ -45,3 +45,14 @@ #define F_SCL 400000L #define USB_POLLING_INTERVAL_MS 1 #define MASTER_RIGHT + +// RGB matrix support +#ifdef RGB_MATRIX_ENABLE +# define SPLIT_TRANSPORT_MIRROR +# define DRIVER_LED_TOTAL 42 // Number of LEDs +# define RGB_MATRIX_SPLIT { 21, 21 } +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 +# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +# define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_KEYPRESSES +#endif diff --git a/keyboards/bastardkb/tbkmini/rules.mk b/keyboards/bastardkb/tbkmini/rules.mk index 76f9cf11a401..0addc90dce13 100644 --- a/keyboards/bastardkb/tbkmini/rules.mk +++ b/keyboards/bastardkb/tbkmini/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -17,7 +17,10 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE) +RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes @@ -25,7 +28,7 @@ TAP_DANCE_ENABLE = no LTO_ENABLE = yes AUDIO_SUPPORTED = no -RGB_MATRIX_SUPPORTED = no +RGB_MATRIX_SUPPORTED = yes RGBLIGHT_SUPPORTED = yes LAYOUTS = split_3x6_3 diff --git a/keyboards/bastardkb/tbkmini/tbkmini.c b/keyboards/bastardkb/tbkmini/tbkmini.c index b932401c08dd..7bbd374c012a 100644 --- a/keyboards/bastardkb/tbkmini/tbkmini.c +++ b/keyboards/bastardkb/tbkmini/tbkmini.c @@ -1,4 +1,4 @@ -/* +/* * Copyright 2021 Quentin LEBASTARD * * This program is free software: you can redistribute it and/or modify @@ -16,3 +16,44 @@ */ #include "tbkmini.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // left + { 0, 5, 6, 11, 12, 15 }, + { 1, 4, 7, 10, 13, 16 }, + { 2, 3, 8, 9, 14, 17 }, + { NO_LED, 18, NO_LED, 19, 20, NO_LED }, + // right + { 21, 26, 27, 32, 33, 36 }, + { 22, 25, 28, 31, 34, 37 }, + { 23, 24, 29, 30, 35, 38 }, + { NO_LED, 39, NO_LED, 40, 41, NO_LED } +}, { + // left + { 0, 0 }, { 0, 21 }, { 0, 42 }, // col 1 + { 20, 42 }, { 20, 21 }, { 20, 0 }, // col 2 + { 41, 0 }, { 41, 21 }, { 41, 42 }, + { 61, 42 }, { 61, 21 }, { 61, 0 }, + { 81, 0 }, { 81, 21 }, { 81, 42 }, + { 102, 0 }, { 102, 21 }, { 102, 42 }, + { 61, 64 }, { 81, 64 }, { 102, 64 }, // left thumb cluster + // right + { 224, 0 }, { 224, 21 }, { 224, 42 }, // col 12 + { 204, 42 }, { 204, 21 }, { 204, 0 }, // col 11 + { 183, 0 }, { 183, 21 }, { 183, 42 }, + { 163, 42 }, { 163, 21 }, { 163, 0 }, + { 142, 0 }, { 142, 21 }, { 142, 42 }, + { 122, 0 }, { 122, 21 }, { 122, 42 }, + { 163, 64 }, { 142, 64 }, { 122, 64 } // right thumb cluster +}, { + // left + 2, 2, 2, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, + 2, 2, 2, + // right + 2, 2, 2, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, + 2, 2, 2 +} }; +#endif diff --git a/keyboards/bat43/config.h b/keyboards/bat43/config.h index 645509e43df9..08eac7661237 100644 --- a/keyboards/bat43/config.h +++ b/keyboards/bat43/config.h @@ -194,26 +194,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/bat43/rules.mk b/keyboards/bat43/rules.mk index 8ecfbf9f29dc..d056061a58ae 100644 --- a/keyboards/bat43/rules.mk +++ b/keyboards/bat43/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bear_face/rules.mk b/keyboards/bear_face/rules.mk index 499388ed18f3..285f6cf427c3 100644 --- a/keyboards/bear_face/rules.mk +++ b/keyboards/bear_face/rules.mk @@ -6,7 +6,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -17,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI controls BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output6 diff --git a/keyboards/beatervan/rules.mk b/keyboards/beatervan/rules.mk index 1ea4a84d525c..20c018d958fb 100644 --- a/keyboards/beatervan/rules.mk +++ b/keyboards/beatervan/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -17,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = yes # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bemeier/bmek/rev1/rules.mk b/keyboards/bemeier/bmek/rev1/rules.mk index 17d390f22146..c2c08206c756 100755 --- a/keyboards/bemeier/bmek/rev1/rules.mk +++ b/keyboards/bemeier/bmek/rev1/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/bemeier/bmek/rev2/rules.mk b/keyboards/bemeier/bmek/rev2/rules.mk index 17d390f22146..c2c08206c756 100755 --- a/keyboards/bemeier/bmek/rev2/rules.mk +++ b/keyboards/bemeier/bmek/rev2/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/bemeier/bmek/rev3/rules.mk b/keyboards/bemeier/bmek/rev3/rules.mk index 17d390f22146..c2c08206c756 100755 --- a/keyboards/bemeier/bmek/rev3/rules.mk +++ b/keyboards/bemeier/bmek/rev3/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/bfake/rules.mk b/keyboards/bfake/rules.mk index 5846b173ba11..6f95a118f7d8 100644 --- a/keyboards/bfake/rules.mk +++ b/keyboards/bfake/rules.mk @@ -2,17 +2,10 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # build options -BOOTMAGIC_ENABLE = yes +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/bigseries/1key/keymaps/default/keymap.c b/keyboards/bigseries/1key/keymaps/default/keymap.c index 781205d42a46..830093af54f9 100755 --- a/keyboards/bigseries/1key/keymaps/default/keymap.c +++ b/keyboards/bigseries/1key/keymaps/default/keymap.c @@ -39,9 +39,6 @@ void matrix_init_user(void) { } } -void matrix_scan_user(void) { -} - bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case KC_A: @@ -53,37 +50,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/bigseries/1key/keymaps/tester/keymap.c b/keyboards/bigseries/1key/keymaps/tester/keymap.c index bfecdb38b8e3..8248ae789507 100755 --- a/keyboards/bigseries/1key/keymaps/tester/keymap.c +++ b/keyboards/bigseries/1key/keymaps/tester/keymap.c @@ -42,9 +42,6 @@ void matrix_init_user(void) { } } -void matrix_scan_user(void) { -} - bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case KC_A: @@ -56,37 +53,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/bigseries/1key/rules.mk b/keyboards/bigseries/1key/rules.mk index 18863477f06f..2a2fd181f1ee 100755 --- a/keyboards/bigseries/1key/rules.mk +++ b/keyboards/bigseries/1key/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/bigseries/2key/keymaps/default/keymap.c b/keyboards/bigseries/2key/keymaps/default/keymap.c index de430d24d38d..128a3e9c821a 100755 --- a/keyboards/bigseries/2key/keymaps/default/keymap.c +++ b/keyboards/bigseries/2key/keymaps/default/keymap.c @@ -40,44 +40,3 @@ void matrix_init_user(void) { initialized = 1; } } - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/bigseries/2key/keymaps/lock/keymap.c b/keyboards/bigseries/2key/keymaps/lock/keymap.c index 6acf62d48260..3646fb40d16c 100755 --- a/keyboards/bigseries/2key/keymaps/lock/keymap.c +++ b/keyboards/bigseries/2key/keymaps/lock/keymap.c @@ -42,44 +42,3 @@ void matrix_init_user(void) { initialized = 1; } } - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/bigseries/2key/keymaps/tester/keymap.c b/keyboards/bigseries/2key/keymaps/tester/keymap.c index 025fd734926a..8938b1b40bc6 100755 --- a/keyboards/bigseries/2key/keymaps/tester/keymap.c +++ b/keyboards/bigseries/2key/keymaps/tester/keymap.c @@ -41,44 +41,3 @@ void matrix_init_user(void) { initialized = 1; } } - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/bigseries/2key/rules.mk b/keyboards/bigseries/2key/rules.mk index 18863477f06f..2a2fd181f1ee 100755 --- a/keyboards/bigseries/2key/rules.mk +++ b/keyboards/bigseries/2key/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/bigseries/3key/keymaps/default/keymap.c b/keyboards/bigseries/3key/keymaps/default/keymap.c index 3d3f4923dd3f..855c7c3ecd44 100755 --- a/keyboards/bigseries/3key/keymaps/default/keymap.c +++ b/keyboards/bigseries/3key/keymaps/default/keymap.c @@ -41,9 +41,6 @@ void matrix_init_user(void) { } } -void matrix_scan_user(void) { -} - bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case KC_A: @@ -55,37 +52,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/bigseries/3key/keymaps/tester/keymap.c b/keyboards/bigseries/3key/keymaps/tester/keymap.c index a201acd7e447..7ee0d7a4193d 100755 --- a/keyboards/bigseries/3key/keymaps/tester/keymap.c +++ b/keyboards/bigseries/3key/keymaps/tester/keymap.c @@ -41,44 +41,3 @@ void matrix_init_user(void) { initialized = 1; } } - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/bigseries/3key/rules.mk b/keyboards/bigseries/3key/rules.mk index 18863477f06f..2a2fd181f1ee 100755 --- a/keyboards/bigseries/3key/rules.mk +++ b/keyboards/bigseries/3key/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/bigseries/4key/4key.c b/keyboards/bigseries/4key/4key.c index 891f11bbb01c..fdb9a9251426 100755 --- a/keyboards/bigseries/4key/4key.c +++ b/keyboards/bigseries/4key/4key.c @@ -15,9 +15,3 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "4key.h" - -void matrix_scan_kb(void) { - // Looping keyboard code goes here - // This runs every cycle (a lot) - matrix_scan_user(); -}; diff --git a/keyboards/bigseries/4key/keymaps/default/keymap.c b/keyboards/bigseries/4key/keymaps/default/keymap.c index 4d662a27b97f..5674bc6194cf 100755 --- a/keyboards/bigseries/4key/keymaps/default/keymap.c +++ b/keyboards/bigseries/4key/keymaps/default/keymap.c @@ -40,46 +40,9 @@ void matrix_init_user(void) { } } -void matrix_scan_user(void) { -} - bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { rgblight_step(); } return true; } - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/bigseries/4key/keymaps/tester/keymap.c b/keyboards/bigseries/4key/keymaps/tester/keymap.c index 021c7c4b69ce..eb2e42b7af28 100755 --- a/keyboards/bigseries/4key/keymaps/tester/keymap.c +++ b/keyboards/bigseries/4key/keymaps/tester/keymap.c @@ -41,44 +41,3 @@ void matrix_init_user(void) { initialized = 1; } } - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/bigseries/4key/rules.mk b/keyboards/bigseries/4key/rules.mk index 18863477f06f..2a2fd181f1ee 100755 --- a/keyboards/bigseries/4key/rules.mk +++ b/keyboards/bigseries/4key/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/binepad/bn003/rules.mk b/keyboards/binepad/bn003/rules.mk index 7b15ae06513f..207aad746de1 100644 --- a/keyboards/binepad/bn003/rules.mk +++ b/keyboards/binepad/bn003/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/bioi/g60/rules.mk b/keyboards/bioi/g60/rules.mk index a7e616d4d186..ed9d49370c0b 100644 --- a/keyboards/bioi/g60/rules.mk +++ b/keyboards/bioi/g60/rules.mk @@ -7,9 +7,9 @@ F_CPU = 8000000 # Bootloader selection BOOTLOADER = qmk-dfu -SRC += ../usart.c \ - ../ble.c \ - ../main.c +SRC += usart.c \ + ble.c \ + main.c OPT_DEFS += -DPROTOCOL_BLE OPT_DEFS += -DUART_RX1_BUFFER_SIZE=16 -DUART_TX1_BUFFER_SIZE=16 @@ -18,7 +18,7 @@ OPT_DEFS += -DUSART1_ENABLED # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/bioi/g60ble/rules.mk b/keyboards/bioi/g60ble/rules.mk index 464a6d136c67..6b17e337a10d 100644 --- a/keyboards/bioi/g60ble/rules.mk +++ b/keyboards/bioi/g60ble/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/bioi/morgan65/rules.mk b/keyboards/bioi/morgan65/rules.mk index a7e616d4d186..ed9d49370c0b 100644 --- a/keyboards/bioi/morgan65/rules.mk +++ b/keyboards/bioi/morgan65/rules.mk @@ -7,9 +7,9 @@ F_CPU = 8000000 # Bootloader selection BOOTLOADER = qmk-dfu -SRC += ../usart.c \ - ../ble.c \ - ../main.c +SRC += usart.c \ + ble.c \ + main.c OPT_DEFS += -DPROTOCOL_BLE OPT_DEFS += -DUART_RX1_BUFFER_SIZE=16 -DUART_TX1_BUFFER_SIZE=16 @@ -18,7 +18,7 @@ OPT_DEFS += -DUSART1_ENABLED # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/bioi/s65/rules.mk b/keyboards/bioi/s65/rules.mk index 2c7c89112669..7d43ac7a0b43 100644 --- a/keyboards/bioi/s65/rules.mk +++ b/keyboards/bioi/s65/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/blackplum/rules.mk b/keyboards/blackplum/rules.mk index 6465dec7f896..b969665f4e85 100644 --- a/keyboards/blackplum/rules.mk +++ b/keyboards/blackplum/rules.mk @@ -2,18 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID BOOTLOADER = qmk-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/blank_tehnologii/manibus/rules.mk b/keyboards/blank_tehnologii/manibus/rules.mk index bf50c05ddbf1..039bcb0ab23b 100644 --- a/keyboards/blank_tehnologii/manibus/rules.mk +++ b/keyboards/blank_tehnologii/manibus/rules.mk @@ -6,7 +6,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/blockey/config.h b/keyboards/blockey/config.h index 44a3f0a55a3c..c79c58398209 100644 --- a/keyboards/blockey/config.h +++ b/keyboards/blockey/config.h @@ -162,24 +162,4 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - #endif diff --git a/keyboards/blockey/keymaps/default/keymap.c b/keyboards/blockey/keymaps/default/keymap.c index 82366501aedf..804500cd0fae 100644 --- a/keyboards/blockey/keymaps/default/keymap.c +++ b/keyboards/blockey/keymaps/default/keymap.c @@ -37,19 +37,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/blockey/rules.mk b/keyboards/blockey/rules.mk index e32a36be836f..5faee167e21c 100644 --- a/keyboards/blockey/rules.mk +++ b/keyboards/blockey/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bm16a/bm16a.c b/keyboards/bm16a/bm16a.c deleted file mode 100644 index 3d616f29e9dc..000000000000 --- a/keyboards/bm16a/bm16a.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright 2019 - * - * 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 "bm16a.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/bm16a/config.h b/keyboards/bm16a/config.h deleted file mode 100644 index 496ac4a74dc6..000000000000 --- a/keyboards/bm16a/config.h +++ /dev/null @@ -1,214 +0,0 @@ -/* Copyright 2019 - * - * 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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4B50 // "KP" -#define PRODUCT_ID 0x016A -#define DEVICE_VER 0x0001 -#define MANUFACTURER KPrepublic -#define PRODUCT bm16a - -/* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 4 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ -#define MATRIX_ROW_PINS { D3, D5, D1, D2} -#define MATRIX_COL_PINS { D6, D4, D7, B4} -#define UNUSED_PINS - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - -#define BACKLIGHT_PIN B6 -// #define BACKLIGHT_BREATHING -#define BACKLIGHT_LEVELS 5 - -#define RGB_DI_PIN E2 -#define RGBLED_NUM 4 -#define RGBLIGHT_ANIMATIONS -// #ifdef RGB_DI_PIN -// #define RGBLED_NUM 16 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -// /*== all animations enable ==*/ -// #define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -// #endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is userful for the Windows task manager shortcut (ctrl+shift+esc). - */ -// #define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* key combination for magic key command */ -/* defined by default; to change, uncomment and set to the combination you want */ -// #define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP H -//#define MAGIC_KEY_HELP_ALT SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER0_ALT GRAVE -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER B -//#define MAGIC_KEY_BOOTLOADER_ALT ESC -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_EEPROM_CLEAR BSPACE -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - -/* Bootmagic Lite key configuration */ -// #define BOOTMAGIC_LITE_ROW 0 -// #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/bm16a/readme.md b/keyboards/bm16a/readme.md deleted file mode 100644 index 8d43b7014d03..000000000000 --- a/keyboards/bm16a/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# bm16a - -![bm16a](https://ae01.alicdn.com/kf/HTB1RRRQaZfrK1RjSszcq6xGGFXaY.jpg) - -A 16 key macropad, with USB C, RGB underglow and backlight. - -Keyboard Maintainer: QMK Community -Hardware Supported: The PCBs, controllers supported -Hardware Availability: [KPrepublic](https://kprepublic.com/products/bm16a-16-keys-custom-mechanical-keyboard-pcb-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom-underglow-alps-mx); [AliExpress](https://www.aliexpress.com/store/product/bm16a-16-keys-Custom-Mechanical-Keyboard-PCB-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom/3034003_32970629907.html) - -Make example for this keyboard (after setting up your build environment): - - make bm16a: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). diff --git a/keyboards/bm16a/rules.mk b/keyboards/bm16a/rules.mk deleted file mode 100644 index cd6f78f43ba4..000000000000 --- a/keyboards/bm16a/rules.mk +++ /dev/null @@ -1,33 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 - -LAYOUTS = ortho_4x4 diff --git a/keyboards/bm16s/readme.md b/keyboards/bm16s/readme.md deleted file mode 100644 index 097a38008031..000000000000 --- a/keyboards/bm16s/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# bm16s - -A 16-key macropad, with USB C and per-key RGB backlighting. This is a variant of the BM16A, but with low profile Choc switches. - -Keyboard Maintainer: QMK Community -Hardware Supported: The PCBs, controllers supported -Hardware Availability: [KPrepublic](https://kprepublic.com/collections/pcb/products/bm16s-16-keys-custom-mechanical-keyboard-pcb-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-switch-leds-choc-switch); [AliExpress](https://www.aliexpress.com/item/bm16s-16-keys-Custom-Mechanical-Keyboard-PCB-plate-programmed-numpad-layouts-qmk-firmware-with-rgb-switch/32999247908.html); [Massdrop](https://www.massdrop.com/buy/78169) - -Make example for this keyboard (after setting up your build environment): - - make bm16s: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). diff --git a/keyboards/bm16s/rules.mk b/keyboards/bm16s/rules.mk deleted file mode 100755 index 23573664db53..000000000000 --- a/keyboards/bm16s/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = atmel-dfu - -# Build Options -# comment out to disable the options. -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no -RGBLIGHT_ENABLE = yes - -LAYOUTS = ortho_4x4 diff --git a/keyboards/bm40hsrgb/config.h b/keyboards/bm40hsrgb/config.h deleted file mode 100755 index 5c1ee06212df..000000000000 --- a/keyboards/bm40hsrgb/config.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright 2020 tominabox1 - * - * 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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4B50 // "KP" -#define PRODUCT_ID 0x3430 // "40" -#define DEVICE_VER 0x0001 -#define MANUFACTURER KPRepublic -#define PRODUCT BM40 Hotswap RGB - -/* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 12 - -/* key matrix pins */ -#define MATRIX_ROW_PINS { B3, B2, E6, B5 } -#define MATRIX_COL_PINS { B6, C6, B4, D7, D4, D6, C7, F6, F5, F4, F1, F0 } -#define UNUSED_PINS - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE - -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -#define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 53 -#ifdef RGB_DI_PIN - #define RGB_MATRIX_KEYPRESSES // reacts to keypresses -#endif diff --git a/keyboards/bm40hsrgb/keymaps/signynt/rules.mk b/keyboards/bm40hsrgb/keymaps/signynt/rules.mk deleted file mode 100644 index 29b992b605c6..000000000000 --- a/keyboards/bm40hsrgb/keymaps/signynt/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -#rules - -MOUSEKEY_ENABLE = yes # Mouse keys -BOOTMAGIC_ENABLE = full -EXTRAKEY_ENABLE = yes # Audio control and System control -TAP_DANCE_ENABLE = yes -#RGB_MATRIX_ENABLE = no diff --git a/keyboards/bm40hsrgb/keymaps/signynt_2_loud/rules.mk b/keyboards/bm40hsrgb/keymaps/signynt_2_loud/rules.mk deleted file mode 100644 index 29b992b605c6..000000000000 --- a/keyboards/bm40hsrgb/keymaps/signynt_2_loud/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -#rules - -MOUSEKEY_ENABLE = yes # Mouse keys -BOOTMAGIC_ENABLE = full -EXTRAKEY_ENABLE = yes # Audio control and System control -TAP_DANCE_ENABLE = yes -#RGB_MATRIX_ENABLE = no diff --git a/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/rules.mk b/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/rules.mk deleted file mode 100644 index 29b992b605c6..000000000000 --- a/keyboards/bm40hsrgb/keymaps/signynt_2_quiet/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -#rules - -MOUSEKEY_ENABLE = yes # Mouse keys -BOOTMAGIC_ENABLE = full -EXTRAKEY_ENABLE = yes # Audio control and System control -TAP_DANCE_ENABLE = yes -#RGB_MATRIX_ENABLE = no diff --git a/keyboards/bm40hsrgb/readme.md b/keyboards/bm40hsrgb/readme.md deleted file mode 100644 index a2448f9571da..000000000000 --- a/keyboards/bm40hsrgb/readme.md +++ /dev/null @@ -1,21 +0,0 @@ -# bm40hsrgb - -![BM40 RGB](https://rgoulter.com/images/keyboards/bm40rgb/bm40rgb_large.jpg) - -An ortholinear 40% hotswap keyboard with per-key RGB in-switch LEDs and RGB Backlighting, from KP Republic. - -This firmware was originally taken from a kbfirmware.json and manually converted. You may find the original `.json` files [here](https://drive.google.com/drive/folders/1tlTHQIFcluK2mjZ4UbbKCsdRLgSRSPw6). - -* Keyboard Maintainer: [rgoulter](https://github.com/rgoulter) -* Hardware Supported: bm40hsrgb PCB -* Hardware Availability: [KPRepublic](https://www.aliexpress.com/item/4001147779116.html) - -Make example for this keyboard (after setting up your build environment): - - make bm40hsrgb:default - -Flashing example for this keyboard: - - make bm40hsrgb: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). diff --git a/keyboards/bm40hsrgb/rules.mk b/keyboards/bm40hsrgb/rules.mk deleted file mode 100755 index 426c99c98d86..000000000000 --- a/keyboards/bm40hsrgb/rules.mk +++ /dev/null @@ -1,26 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 - -LAYOUTS = planck_mit -LAYOUTS_HAS_RGB = yes diff --git a/keyboards/bm43a/bm43a.c b/keyboards/bm43a/bm43a.c deleted file mode 100644 index 36543e3721d1..000000000000 --- a/keyboards/bm43a/bm43a.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright 2019 mechmerlin - * - * 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 "bm43a.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/bm43a/config.h b/keyboards/bm43a/config.h deleted file mode 100644 index 2ab84781b446..000000000000 --- a/keyboards/bm43a/config.h +++ /dev/null @@ -1,72 +0,0 @@ -/* -Copyright 2019 mechmerlin - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0000 -#define DEVICE_VER 0x0001 -#define MANUFACTURER KPRepublic -#define PRODUCT BM43A - -/* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 12 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { D1, F4, F1, F0 } -#define MATRIX_COL_PINS { B0, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 } - -#define DIODE_DIRECTION COL2ROW - -#define BACKLIGHT_PIN B7 -// #define BACKLIGHT_BREATHING -#define BACKLIGHT_LEVELS 5 - -#define RGB_DI_PIN E2 -#ifdef RGB_DI_PIN - #define RGBLED_NUM 10 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ - #define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/bm43a/keymaps/stevexyz/readme.md b/keyboards/bm43a/keymaps/stevexyz/readme.md deleted file mode 100644 index 9e4da10d2ad4..000000000000 --- a/keyboards/bm43a/keymaps/stevexyz/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -This is a full-featured bm43a layout inspired by the smaller "Super Micro gherkin" and "jj28" sisters. - -In addition to the default key layer, there is a function/numbers/symbols layer easily activated with either one of the two "meta" (red) keys and containing almost all keyset missing. - -On top of this, activated with both meta keys, there a system layer where are placed media keys, mouse emulation, and Numpad in addition to the PrintScreen/ScrLock/Pause keys. - -The below picture show all layers on the actual keys (if someone would be able to print these labels let me know! :)). - -![layout](https://raw.githubusercontent.com/stevexyz/qmk_firmware/master/keyboards/bm43a/keymaps/stevexyz/layout.jpeg) - -Notes: -- The Windows/OS key is overlayed with the Esc one -- To activate permanently the function/number/symbols layer you can use the "layer tap toggle" functionality (now set to the default 5 presses). For the system layer to be activated permanently is enough to hit shift in this layer (so with the two meta keys pressed) -- From the System Layer you can "jump" to an additional Lights layer pressing the control key -- Meta-Esc (or simply Esc from the System and Lights layers) and the keyboard is coming back to default key layer in case they are activated permanently - - -And a view on the actual build: - -![layout](https://raw.githubusercontent.com/stevexyz/qmk_firmware/master/keyboards/bm43a/keymaps/stevexyz/actualbuild.jpeg) - -In order to compile the module from qmk root directory use the command 'make bm43a:stevexyz' - -And in order to upload the new firmware use the command: 'bin/qmk flash -kb bm43a -km stevexyz' (you can initiate programming with keyboard RESET key, that in this keymap has been moved on the backspace button in the "lights" layer) - diff --git a/keyboards/bm43a/keymaps/stevexyz/rules.mk b/keyboards/bm43a/keymaps/stevexyz/rules.mk deleted file mode 100644 index fa2ef5c2b28a..000000000000 --- a/keyboards/bm43a/keymaps/stevexyz/rules.mk +++ /dev/null @@ -1,8 +0,0 @@ -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -COMMAND_ENABLE = no # Commands for debug and configuration -CONSOLE_ENABLE = no # Console for debug - -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/bm43a/readme.md b/keyboards/bm43a/readme.md deleted file mode 100644 index ee5c173338f1..000000000000 --- a/keyboards/bm43a/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -# bm43a - -A 40% mechanical keyboard. - -This firmware was originally taken from a kbfirmware.json and converted through [kbf_qmk_converter](https://noroadsleft.github.io/kbf_qmk_converter/). You may find the original `.json` files [here](https://drive.google.com/drive/folders/11DowBYrFN_uCNa9Q9bXwuMn91vmZYBcG). - - -Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) -Hardware Supported: bm43a PCB -Hardware Availability: [KPRepublic](https://kprepublic.com/products/bm43a-bm43-43-keys-40-custom-mechanical-keyboard-pcb-programmed-numpad-layouts-qmk-firmware-with-rgb-bottom-underglow-alps-mx) - -Make example for this keyboard (after setting up your build environment): - - make bm43a: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). diff --git a/keyboards/bm43a/rules.mk b/keyboards/bm43a/rules.mk deleted file mode 100644 index 2b32bbee9226..000000000000 --- a/keyboards/bm43a/rules.mk +++ /dev/null @@ -1,31 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bm60poker/config.h b/keyboards/bm60poker/config.h deleted file mode 100644 index 4fbec4f9bd48..000000000000 --- a/keyboards/bm60poker/config.h +++ /dev/null @@ -1,70 +0,0 @@ -/* -Copyright 2020 ipetepete - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4B50 // "KP" -#define PRODUCT_ID 0xEF8D -#define DEVICE_VER 0x0001 -#define MANUFACTURER KP Republic -#define PRODUCT BM60 RGB POKER - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 14 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { B0, B1, B2, B3, E6 } -#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7 } - -#define DIODE_DIRECTION COL2ROW - -#define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 67 -#ifdef RGB_DI_PIN - #define RGBLED_NUM 67 - #define RGB_MATRIX_KEYPRESSES - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_LIMIT_VAL 5 /* The maximum brightness level */ - #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ - #define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/bm60poker/readme.md b/keyboards/bm60poker/readme.md deleted file mode 100644 index 62dde405c469..000000000000 --- a/keyboards/bm60poker/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# BM60 Poker 60% Mechanical Keyboard RGB PCB - -A 60% hotswap inswitch RGB (north facing) keyboard from KP Republic. - -* Keyboard Maintainer: [ipetepete](https://github.com/ipetepete) -* Hardware Supported: BM60 POKER RGB -* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm60-rgb-poker-60-gh60-hot-swap-custom-mechanical-keyboard-pcb-program-qmk-underglow-type-c) - -Make example for this keyboard (after setting up your build environment): - - make bm60poker: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). - -Video tutorials for customizing the layout: [QMK Tutorials](https://www.youtube.com/playlist?list=PLZlceRZZjRugJFL-vnenYnDrbMc6wu_e_) - By MechMerlin diff --git a/keyboards/bm60poker/rules.mk b/keyboards/bm60poker/rules.mk deleted file mode 100644 index 74364ace19c8..000000000000 --- a/keyboards/bm60poker/rules.mk +++ /dev/null @@ -1,25 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 -LAYOUTS = 60_ansi diff --git a/keyboards/bm60rgb/config.h b/keyboards/bm60rgb/config.h deleted file mode 100644 index 3eee00e51edc..000000000000 --- a/keyboards/bm60rgb/config.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -Copyright 2020 MechMerlin - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4B50 // "KP" -#define PRODUCT_ID 0xEF8C -#define DEVICE_VER 0x0001 -#define MANUFACTURER KP Republic -#define PRODUCT BM60 RGB - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 14 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ - -// 0 1 2 3 4 5 6 7 8 9 A B C D -#define MATRIX_ROW_PINS { B0, B1, B2, B3, E6 } -#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7 } - -#define DIODE_DIRECTION COL2ROW - -#define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 69 -#ifdef RGB_DI_PIN - #define RGBLED_NUM 69 - #define RGB_MATRIX_KEYPRESSES -#endif - -// generated by KBFirmware JSON to QMK Parser -// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/bm60rgb/info.json b/keyboards/bm60rgb/info.json deleted file mode 100644 index 30d55f9a0324..000000000000 --- a/keyboards/bm60rgb/info.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "keyboard_name": "BM60 RGB", - "url": "", - "maintainer": "qmk", - "width": 15, - "height": 5, - "layouts": { - "LAYOUT": { - "key_count": 63, - "layout": [ - {"label":"K00 (B0,D0)", "x":0, "y":0}, - {"label":"K01 (B0,D1)", "x":1, "y":0}, - {"label":"K02 (B0,D2)", "x":2, "y":0}, - {"label":"K03 (B0,D3)", "x":3, "y":0}, - {"label":"K04 (B0,D5)", "x":4, "y":0}, - {"label":"K05 (B0,D4)", "x":5, "y":0}, - {"label":"K06 (B0,D6)", "x":6, "y":0}, - {"label":"K07 (B0,D7)", "x":7, "y":0}, - {"label":"K08 (B0,B4)", "x":8, "y":0}, - {"label":"K09 (B0,B5)", "x":9, "y":0}, - {"label":"K0A (B0,B6)", "x":10, "y":0}, - {"label":"K0B (B0,C6)", "x":11, "y":0}, - {"label":"K0C (B0,C7)", "x":12, "y":0}, - {"label":"K0D (B0,F7)", "x":13, "y":0, "w":2}, - {"label":"K10 (B1,D0)", "x":0, "y":1, "w":1.5}, - {"label":"K11 (B1,D1)", "x":1.5, "y":1}, - {"label":"K12 (B1,D2)", "x":2.5, "y":1}, - {"label":"K13 (B1,D3)", "x":3.5, "y":1}, - {"label":"K14 (B1,D5)", "x":4.5, "y":1}, - {"label":"K15 (B1,D4)", "x":5.5, "y":1}, - {"label":"K16 (B1,D6)", "x":6.5, "y":1}, - {"label":"K17 (B1,D7)", "x":7.5, "y":1}, - {"label":"K18 (B1,B4)", "x":8.5, "y":1}, - {"label":"K19 (B1,B5)", "x":9.5, "y":1}, - {"label":"K1A (B1,B6)", "x":10.5, "y":1}, - {"label":"K1B (B1,C6)", "x":11.5, "y":1}, - {"label":"K1C (B1,C7)", "x":12.5, "y":1}, - {"label":"K1D (B1,F7)", "x":13.5, "y":1, "w":1.5}, - {"label":"K20 (B2,D0)", "x":0, "y":2, "w":1.75}, - {"label":"K22 (B2,D2)", "x":1.75, "y":2}, - {"label":"K23 (B2,D3)", "x":2.75, "y":2}, - {"label":"K24 (B2,D5)", "x":3.75, "y":2}, - {"label":"K25 (B2,D4)", "x":4.75, "y":2}, - {"label":"K26 (B2,D6)", "x":5.75, "y":2}, - {"label":"K27 (B2,D7)", "x":6.75, "y":2}, - {"label":"K28 (B2,B4)", "x":7.75, "y":2}, - {"label":"K29 (B2,B5)", "x":8.75, "y":2}, - {"label":"K2A (B2,B6)", "x":9.75, "y":2}, - {"label":"K2B (B2,C6)", "x":10.75, "y":2}, - {"label":"K2C (B2,C7)", "x":11.75, "y":2}, - {"label":"K2D (B2,F7)", "x":12.75, "y":2, "w":2.25}, - {"label":"K31 (B3,D1)", "x":0, "y":3, "w":2.25}, - {"label":"K32 (B3,D2)", "x":2.25, "y":3}, - {"label":"K33 (B3,D3)", "x":3.25, "y":3}, - {"label":"K34 (B3,D5)", "x":4.25, "y":3}, - {"label":"K35 (B3,D4)", "x":5.25, "y":3}, - {"label":"K36 (B3,D6)", "x":6.25, "y":3}, - {"label":"K37 (B3,D7)", "x":7.25, "y":3}, - {"label":"K38 (B3,B4)", "x":8.25, "y":3}, - {"label":"K39 (B3,B5)", "x":9.25, "y":3}, - {"label":"K3A (B3,B6)", "x":10.25, "y":3}, - {"label":"K3B (B3,C6)", "x":11.25, "y":3, "w":1.75}, - {"label":"K3C (B3,C7)", "x":13, "y":3}, - {"label":"K3D (B3,F7)", "x":14, "y":3}, - {"label":"K40 (E6,D0)", "x":0, "y":4, "w":1.25}, - {"label":"K41 (E6,D1)", "x":1.25, "y":4, "w":1.25}, - {"label":"K42 (E6,D2)", "x":2.5, "y":4, "w":1.25}, - {"label":"K46 (E6,D6)", "x":3.75, "y":4, "w":6.25}, - {"label":"K49 (E6,B5)", "x":10, "y":4}, - {"label":"K4A (E6,B6)", "x":11, "y":4}, - {"label":"K4B (E6,C6)", "x":12, "y":4}, - {"label":"K4C (E6,C7)", "x":13, "y":4}, - {"label":"K4D (E6,F7)", "x":14, "y":4} - ] - } - } - ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" -} - diff --git a/keyboards/bm60rgb/keymaps/default/keymap.c b/keyboards/bm60rgb/keymaps/default/keymap.c deleted file mode 100644 index 9099a0407343..000000000000 --- a/keyboards/bm60rgb/keymaps/default/keymap.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 2020 MechMerlin - * - * 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_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_RSFT, KC_UP, KC_SLSH, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -}; diff --git a/keyboards/bm60rgb/keymaps/via/keymap.c b/keyboards/bm60rgb/keymaps/via/keymap.c deleted file mode 100644 index d84aaf5256d0..000000000000 --- a/keyboards/bm60rgb/keymaps/via/keymap.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright 2020 MechMerlin - * - * 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_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_RSFT, KC_UP, KC_SLSH, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/bm60rgb/readme.md b/keyboards/bm60rgb/readme.md deleted file mode 100644 index dc093c7b40ad..000000000000 --- a/keyboards/bm60rgb/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# BM60 RGB - -A 60% hotswap inswitch RGB keyboard from KP Republic. - -* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) -* Hardware Supported: BM60 RGB -* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm60-rgb-60-gh60-hot-swappable-pcb-programmed-qmk-firmware-type-c) - -Make example for this keyboard (after setting up your build environment): - - make bm60rgb: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). diff --git a/keyboards/bm60rgb/rules.mk b/keyboards/bm60rgb/rules.mk deleted file mode 100644 index bf1b1ffa4d75..000000000000 --- a/keyboards/bm60rgb/rules.mk +++ /dev/null @@ -1,37 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 -LTO_ENABLE = yes - -# partially generated by KBFirmware JSON to QMK Parser -# https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/bm60rgb_iso/config.h b/keyboards/bm60rgb_iso/config.h deleted file mode 100644 index 61d30cd83cea..000000000000 --- a/keyboards/bm60rgb_iso/config.h +++ /dev/null @@ -1,72 +0,0 @@ -/* -Copyright 2020 markva - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4B50 // "KP" -#define PRODUCT_ID 0xEF8C -#define DEVICE_VER 0x0001 -#define MANUFACTURER KPRepublic -#define PRODUCT bm60hsrgb-iso - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 14 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ - -// 0 1 2 3 4 5 6 7 8 9 A B C D -#define MATRIX_ROW_PINS { B0, B1, B2, B3, E6 } -#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7 } - -#define DIODE_DIRECTION COL2ROW - -#define RGB_DI_PIN E2 -#define DRIVER_LED_TOTAL 70 -#ifdef RGB_DI_PIN - #define RGBLED_NUM 70 - #define RGB_MATRIX_KEYPRESSES - // #define RGBLIGHT_HUE_STEP 8 - // #define RGBLIGHT_SAT_STEP 8 - // #define RGBLIGHT_VAL_STEP 8 - // #define RGBLIGHT_LIMIT_VAL 180 /* The maximum brightness level */ - // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ - /*== all animations enable ==*/ - // #define RGBLIGHT_ANIMATIONS - // /*== or choose animations ==*/ - // #define RGBLIGHT_EFFECT_BREATHING - // #define RGBLIGHT_EFFECT_RAINBOW_MOOD - // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - // #define RGBLIGHT_EFFECT_SNAKE - // #define RGBLIGHT_EFFECT_KNIGHT - // #define RGBLIGHT_EFFECT_CHRISTMAS - // #define RGBLIGHT_EFFECT_STATIC_GRADIENT - // #define RGBLIGHT_EFFECT_RGB_TEST - // #define RGBLIGHT_EFFECT_ALTERNATING -#endif diff --git a/keyboards/bm60rgb_iso/info.json b/keyboards/bm60rgb_iso/info.json deleted file mode 100644 index 6644a654179c..000000000000 --- a/keyboards/bm60rgb_iso/info.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "keyboard_name": "BM60 RGB ISO", - "url": "", - "maintainer": "qmk", - "width": 15, - "height": 5, - "layouts": { - "LAYOUT": { - "layout": [ - {"label":"K00 (B0,D0)", "x":0, "y":0}, - {"label":"K01 (B0,D1)", "x":1, "y":0}, - {"label":"K02 (B0,D2)", "x":2, "y":0}, - {"label":"K03 (B0,D3)", "x":3, "y":0}, - {"label":"K04 (B0,D5)", "x":4, "y":0}, - {"label":"K05 (B0,D4)", "x":5, "y":0}, - {"label":"K06 (B0,D6)", "x":6, "y":0}, - {"label":"K07 (B0,D7)", "x":7, "y":0}, - {"label":"K08 (B0,B4)", "x":8, "y":0}, - {"label":"K09 (B0,B5)", "x":9, "y":0}, - {"label":"K0A (B0,B6)", "x":10, "y":0}, - {"label":"K0B (B0,C6)", "x":11, "y":0}, - {"label":"K0C (B0,C7)", "x":12, "y":0}, - {"label":"K0D (B0,F7)", "x":13, "y":0, "w":2}, - {"label":"K10 (B1,D0)", "x":0, "y":1, "w":1.5}, - {"label":"K11 (B1,D1)", "x":1.5, "y":1}, - {"label":"K12 (B1,D2)", "x":2.5, "y":1}, - {"label":"K13 (B1,D3)", "x":3.5, "y":1}, - {"label":"K14 (B1,D5)", "x":4.5, "y":1}, - {"label":"K15 (B1,D4)", "x":5.5, "y":1}, - {"label":"K16 (B1,D6)", "x":6.5, "y":1}, - {"label":"K17 (B1,D7)", "x":7.5, "y":1}, - {"label":"K18 (B1,B4)", "x":8.5, "y":1}, - {"label":"K19 (B1,B5)", "x":9.5, "y":1}, - {"label":"K1A (B1,B6)", "x":10.5, "y":1}, - {"label":"K1B (B1,C6)", "x":11.5, "y":1}, - {"label":"K1C (B1,C7)", "x":12.5, "y":1}, - {"label":"K20 (B2,D0)", "x":0, "y":2, "w":1.75}, - {"label":"K22 (B2,D2)", "x":1.75, "y":2}, - {"label":"K23 (B2,D3)", "x":2.75, "y":2}, - {"label":"K24 (B2,D5)", "x":3.75, "y":2}, - {"label":"K25 (B2,D4)", "x":4.75, "y":2}, - {"label":"K26 (B2,D6)", "x":5.75, "y":2}, - {"label":"K27 (B2,D7)", "x":6.75, "y":2}, - {"label":"K28 (B2,B4)", "x":7.75, "y":2}, - {"label":"K29 (B2,B5)", "x":8.75, "y":2}, - {"label":"K2A (B2,B6)", "x":9.75, "y":2}, - {"label":"K2B (B2,C6)", "x":10.75, "y":2}, - {"label":"K2C (B2,C7)", "x":11.75, "y":2}, - {"label":"K2D (B2,F7)", "x":12.75, "y":2}, - {"label":"K1D (B1,F7)", "x":13.75, "y":1, "w":1.25, "h":2}, - {"label":"K30 (B3,D0)", "x":0, "y":3, "w":1.25}, - {"label":"K31 (B3,D1)", "x":1.25, "y":3}, - {"label":"K32 (B3,D2)", "x":2.25, "y":3}, - {"label":"K33 (B3,D3)", "x":3.25, "y":3}, - {"label":"K34 (B3,D5)", "x":4.25, "y":3}, - {"label":"K35 (B3,D4)", "x":5.25, "y":3}, - {"label":"K36 (B3,D6)", "x":6.25, "y":3}, - {"label":"K37 (B3,D7)", "x":7.25, "y":3}, - {"label":"K38 (B3,B4)", "x":8.25, "y":3}, - {"label":"K39 (B3,B5)", "x":9.25, "y":3}, - {"label":"K3A (B3,B6)", "x":10.25, "y":3}, - {"label":"K3B (B3,C6)", "x":11.25, "y":3, "w":1.75}, - {"label":"K3C (B3,C7)", "x":13, "y":3}, - {"label":"K3D (B3,F7)", "x":14, "y":3}, - {"label":"K40 (E6,D0)", "x":0, "y":4, "w":1.25}, - {"label":"K41 (E6,D1)", "x":1.25, "y":4, "w":1.25}, - {"label":"K42 (E6,D2)", "x":2.5, "y":4, "w":1.25}, - {"label":"K46 (E6,D6)", "x":3.75, "y":4, "w":6.25}, - {"label":"K49 (E6,B5)", "x":10, "y":4}, - {"label":"K4A (E6,B6)", "x":11, "y":4}, - {"label":"K4B (E6,C6)", "x":12, "y":4}, - {"label":"K4C (E6,C7)", "x":13, "y":4}, - {"label":"K4D (E6,F7)", "x":14, "y":4} - ] - } - } -} diff --git a/keyboards/bm60rgb_iso/readme.md b/keyboards/bm60rgb_iso/readme.md deleted file mode 100644 index 8ae86e4a6fc4..000000000000 --- a/keyboards/bm60rgb_iso/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# BM60 RGB ISO - -![BM60 RGB ISO](https://i.imgur.com/i3gk2vql.jpg) - -A 60% ISO hotswap inswitch RGB keyboard. - -* Keyboard Maintainer: [markva](https://github.com/markva) -* Hardware Supported: BM60 RGB ISO -* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm60-rgb-iso-uk-eu-rgb-60-hot-swappable-pcb-qmk-firmware-rgb-underglow-type-c) - -Make example for this keyboard (after setting up your build environment): - - make bm60rgb_iso:default - -Flashing example for this keyboard: - - make bm60rgb_iso: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). diff --git a/keyboards/bm60rgb_iso/rules.mk b/keyboards/bm60rgb_iso/rules.mk deleted file mode 100644 index 8a550e633186..000000000000 --- a/keyboards/bm60rgb_iso/rules.mk +++ /dev/null @@ -1,25 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 -LTO_ENABLE = yes diff --git a/keyboards/bm68rgb/bm68rgb.c b/keyboards/bm68rgb/bm68rgb.c deleted file mode 100644 index 4e49a96ca4b9..000000000000 --- a/keyboards/bm68rgb/bm68rgb.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright 2021 peepeetee - * - * 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 "bm68rgb.h" - -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, - { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, - { 30, NO_LED, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43 }, - { NO_LED, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, - { 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 } -}, { - // LED Index to Physical Position - //I have no idea how to calculate this based on a templete, nor do have a good enough ruler to measure this. - // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete - { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 202, 0 }, { 225, 0 }, - // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home - { 4, 16 }, { 22, 16 }, { 37, 16 }, { 52, 16 }, { 67, 16 }, { 82, 16 }, { 97, 16 }, { 112, 16 }, { 127, 16 }, { 142, 16 }, { 157, 16 }, { 172, 16 }, { 187, 16 }, { 206, 16 }, { 225, 16 }, - // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up - { 6, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 201, 32 }, { 225, 32 }, - // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down - { 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 225, 48 }, - // Ctrl, GUI, Alt, Space, RAlt, FN, Ctrl, Left, Down, Right - { 2, 64 }, { 21, 64 }, { 39, 64 }, { 94, 64 }, { 148, 64 }, { 163, 64 }, { 178, 64 }, { 193, 64 }, { 208, 64 }, { 225, 64 }, - // UNDERGLOW - { 185, 45 }, { 160, 45 }, { 125, 45 }, { 95, 45 }, { 60, 45 }, { 25, 45 } -}, { - // LED Index to Flag - //need to recheck what should be a modifier - - // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, - // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, - // Ctrl, GUI, Alt, Space, RAlt, FN, Ctrl, Left, Down, Right - 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, - // UNDERGLOW - 2, 2, 2, 2, 2, 2 -} }; -#endif diff --git a/keyboards/bm68rgb/config.h b/keyboards/bm68rgb/config.h deleted file mode 100644 index 250b9d734ba3..000000000000 --- a/keyboards/bm68rgb/config.h +++ /dev/null @@ -1,144 +0,0 @@ -/* -Copyright 2021 peepeetee - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4B50 //KP -#define PRODUCT_ID 0xEF6F -#define DEVICE_VER 0x0001 -#define MANUFACTURER KPRepublic -#define PRODUCT bm68rgb - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 15 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { B0, \ - B1, \ - B2, \ - B3, \ - E6 } -#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -// The pin connected to the data pin of the LEDs -#define RGB_DI_PIN E2 -// The number of LEDs connected -#define DRIVER_LED_TOTAL 74 -#ifdef RGB_DI_PIN -#define RGBLED_NUM 74 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ -//# define RGBLIGHT_ANIMATIONS -/*== or choose animations ==*/ -//# define RGBLIGHT_EFFECT_BREATHING -//# define RGBLIGHT_EFFECT_RAINBOW_MOOD -//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -//# define RGBLIGHT_EFFECT_SNAKE -//# define RGBLIGHT_EFFECT_KNIGHT -//# define RGBLIGHT_EFFECT_CHRISTMAS -//# define RGBLIGHT_EFFECT_STATIC_GRADIENT -//# define RGBLIGHT_EFFECT_RGB_TEST -//# define RGBLIGHT_EFFECT_ALTERNATING -/*== customize breathing effect ==*/ -/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -/*==== use exp() and sin() ====*/ -//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -#endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is useful for the Windows task manager shortcut (ctrl+shift+esc). - */ -//#define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -/* Bootmagic Lite key configuration */ -//#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/bm68rgb/keymaps/default/keymap.c b/keyboards/bm68rgb/keymaps/default/keymap.c deleted file mode 100644 index eec3b3c264e7..000000000000 --- a/keyboards/bm68rgb/keymaps/default/keymap.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Copyright 2021 peepeetee - * - * 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 { -// _BASE, -// _FN -// }; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_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_DEL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1),KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_65_ansi( - KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - -}; - -/* -Templete - [ ] = LAYOUT_65_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -*/ diff --git a/keyboards/bm68rgb/readme.md b/keyboards/bm68rgb/readme.md deleted file mode 100644 index 4087fd8664e5..000000000000 --- a/keyboards/bm68rgb/readme.md +++ /dev/null @@ -1,24 +0,0 @@ -# bm68rgb - -![bm68rgb](https://i.imgur.com/uuYP8OIl.jpeg) - -A 65% hotswap in switch RGB keyboard from KPRepublic. - -* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee) -* Hardware Supported: BM68 RGB -* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm68rgb-bm68-rgb-65-hot-swappable-custom-mechanical-keyboard-pcb-programmed-qmk-via-firmware-full-rgb-switch-underglow-type-c) - -Make example for this keyboard (after setting up your build environment): - - make bm68rgb:default - -Flashing example for this keyboard: - - make bm68rgb:default:flash - -To reset the board into bootloader mode, do one of the following: - -* Short the two-pad footprint to the left of the spacebar switch while the board is plugged in -* Hold the Esc key while connecting the USB cable (also erases persistent settings) - -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/bm68rgb/rules.mk b/keyboards/bm68rgb/rules.mk deleted file mode 100644 index 15d81ded88aa..000000000000 --- a/keyboards/bm68rgb/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output -RGB_MATRIX_ENABLE = yes -RGB_MATRIX_DRIVER = WS2812 -#LTO_ENABLE = yes - -LAYOUTS = 65_ansi diff --git a/keyboards/boardrun/bizarre/rules.mk b/keyboards/boardrun/bizarre/rules.mk index f841c16c30c3..62115da7a75a 100644 --- a/keyboards/boardrun/bizarre/rules.mk +++ b/keyboards/boardrun/bizarre/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/boardrun/classic/rules.mk b/keyboards/boardrun/classic/rules.mk index 065bd5403481..69352048d8bb 100644 --- a/keyboards/boardrun/classic/rules.mk +++ b/keyboards/boardrun/classic/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/boardsource/3x4/config.h b/keyboards/boardsource/3x4/config.h index c997f72a9d40..a07968a4474b 100644 --- a/keyboards/boardsource/3x4/config.h +++ b/keyboards/boardsource/3x4/config.h @@ -15,7 +15,7 @@ #define MATRIX_ROWS 3 #define MATRIX_COLS 4 -#define MATRIX_ROW_PINS { F7, F6, F5,} +#define MATRIX_ROW_PINS {F7, F6, F5} #define MATRIX_COL_PINS {B6, B2, B3, B1} #define DIODE_DIRECTION COL2ROW @@ -118,23 +118,3 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/boardsource/3x4/rules.mk b/keyboards/boardsource/3x4/rules.mk index 9c9acfda2900..94c4209841cf 100644 --- a/keyboards/boardsource/3x4/rules.mk +++ b/keyboards/boardsource/3x4/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/boardsource/4x12/config.h b/keyboards/boardsource/4x12/config.h index 6125260cd76f..2ba19356db76 100644 --- a/keyboards/boardsource/4x12/config.h +++ b/keyboards/boardsource/4x12/config.h @@ -116,23 +116,3 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/boardsource/4x12/rules.mk b/keyboards/boardsource/4x12/rules.mk index 6799d7072460..08b814342e2f 100644 --- a/keyboards/boardsource/4x12/rules.mk +++ b/keyboards/boardsource/4x12/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/boardsource/5x12/config.h b/keyboards/boardsource/5x12/config.h index 3628431d76ac..80ac3007232f 100644 --- a/keyboards/boardsource/5x12/config.h +++ b/keyboards/boardsource/5x12/config.h @@ -117,23 +117,3 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/boardsource/5x12/rules.mk b/keyboards/boardsource/5x12/rules.mk index 4a60507b48b7..d62c918168fc 100644 --- a/keyboards/boardsource/5x12/rules.mk +++ b/keyboards/boardsource/5x12/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/boardsource/beiwagon/beiwagon.c b/keyboards/boardsource/beiwagon/beiwagon.c new file mode 100644 index 000000000000..f4ba170e6e86 --- /dev/null +++ b/keyboards/boardsource/beiwagon/beiwagon.c @@ -0,0 +1,38 @@ +/* Copyright 2020 Boardsource + * + * 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 "beiwagon.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + {7,8,9}, + {10,11,12}, + {13,14,15}, + {16,17,18} +}, { + {2, 0}, {1, 0}, {0, 0}, + {2, 1}, {1, 1}, {0, 1}, + {2, 2}, {1, 2}, {0, 2}, + {2, 3}, {1, 3}, {0, 3}, +}, { + 2, 2, 2, 2, 2, 2, + 1, 1, 1, + 1, 4, 1, + 1, 4, 1, + 1, 1, 1 + +} }; +#endif + diff --git a/keyboards/boardsource/beiwagon/beiwagon.h b/keyboards/boardsource/beiwagon/beiwagon.h new file mode 100644 index 000000000000..ed5d516529f1 --- /dev/null +++ b/keyboards/boardsource/beiwagon/beiwagon.h @@ -0,0 +1,32 @@ +/* Copyright 2020 Boardsource + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K01, K02, \ + K10, K11, K12, \ + K20, K21, K22, \ + K30, K31, K32\ + ) { \ + {K00, K01, K02 }, \ + {K10, K11, K12 }, \ + {K20, K21, K22 }, \ + {K30, K31, K32 } \ + } + diff --git a/keyboards/boardsource/beiwagon/config.h b/keyboards/boardsource/beiwagon/config.h new file mode 100644 index 000000000000..93856cbb87a7 --- /dev/null +++ b/keyboards/boardsource/beiwagon/config.h @@ -0,0 +1,121 @@ +/* +Copyright 2020 Boardsource + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4273 +#define PRODUCT_ID 0x0066 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Boardsource +#define PRODUCT Beiwagon + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 3 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS {B0, B1, B2, B3} +#define MATRIX_COL_PINS {B5,B6,B7} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +#define BACKLIGHT_BREATHING +#define RGBLIGHT_ANIMATIONS +#define RGB_DI_PIN C6 +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 +#ifdef RGBLIGHT_ENABLE +#define RGBLED_NUM 6 // Number of LEDs +#endif + +#define DRIVER_LED_TOTAL 22 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/boardsource/beiwagon/info.json b/keyboards/boardsource/beiwagon/info.json new file mode 100644 index 000000000000..6b2c9a466cd2 --- /dev/null +++ b/keyboards/boardsource/beiwagon/info.json @@ -0,0 +1,28 @@ +{ + "keyboard_name": "Beiwagon", + "url": "", + "maintainer": "Boardsource", + "width": 3, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "k00", "x": 0, "y": 0 }, + { "label": "k01", "x": 1, "y": 0 }, + { "label": "k02", "x": 2, "y": 0 }, + + { "label": "k10", "x": 0, "y": 1 }, + { "label": "k11", "x": 1, "y": 1 }, + { "label": "k12", "x": 2, "y": 1 }, + + { "label": "k20", "x": 0, "y": 2 }, + { "label": "k21", "x": 1, "y": 2 }, + { "label": "k22", "x": 2, "y": 2 }, + + { "label": "k30", "x": 0, "y": 3 }, + { "label": "k31", "x": 1, "y": 3 }, + { "label": "k32", "x": 2, "y": 3 } + ] + } + } +} diff --git a/keyboards/boardsource/beiwagon/keymaps/default/keymap.c b/keyboards/boardsource/beiwagon/keymaps/default/keymap.c new file mode 100644 index 000000000000..396a0c720769 --- /dev/null +++ b/keyboards/boardsource/beiwagon/keymaps/default/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2020 Boardsource + * + * 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 layers { + _MAIN, + _RAISE, + _LOWER, +}; + +// Readability keycodes +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT( + KC_7, KC_8, KC_9, + KC_4, KC_5, KC_6, + KC_1, KC_2, KC_3, + KC_0, KC_PENT,RAISE + ), + + [_RAISE] = LAYOUT( + KC_7, KC_8, RGB_TOG, + KC_4, KC_5, RGB_MOD, + KC_1, KC_2, KC_3, + KC_0, KC_PENT,KC_TRNS + + ) + +}; + diff --git a/keyboards/boardsource/beiwagon/keymaps/default/readme.md b/keyboards/boardsource/beiwagon/keymaps/default/readme.md new file mode 100644 index 000000000000..95f466aa831b --- /dev/null +++ b/keyboards/boardsource/beiwagon/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Beiwagon diff --git a/keyboards/boardsource/beiwagon/keymaps/via/keymap.c b/keyboards/boardsource/beiwagon/keymaps/via/keymap.c new file mode 100644 index 000000000000..396a0c720769 --- /dev/null +++ b/keyboards/boardsource/beiwagon/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2020 Boardsource + * + * 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 layers { + _MAIN, + _RAISE, + _LOWER, +}; + +// Readability keycodes +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT( + KC_7, KC_8, KC_9, + KC_4, KC_5, KC_6, + KC_1, KC_2, KC_3, + KC_0, KC_PENT,RAISE + ), + + [_RAISE] = LAYOUT( + KC_7, KC_8, RGB_TOG, + KC_4, KC_5, RGB_MOD, + KC_1, KC_2, KC_3, + KC_0, KC_PENT,KC_TRNS + + ) + +}; + diff --git a/keyboards/boardsource/beiwagon/keymaps/via/readme.md b/keyboards/boardsource/beiwagon/keymaps/via/readme.md new file mode 100644 index 000000000000..f1b294c22a70 --- /dev/null +++ b/keyboards/boardsource/beiwagon/keymaps/via/readme.md @@ -0,0 +1 @@ +# The via keymap for Beiwagon diff --git a/keyboards/ramonimbao/mona/keymaps/via/rules.mk b/keyboards/boardsource/beiwagon/keymaps/via/rules.mk similarity index 100% rename from keyboards/ramonimbao/mona/keymaps/via/rules.mk rename to keyboards/boardsource/beiwagon/keymaps/via/rules.mk diff --git a/keyboards/boardsource/beiwagon/readme.md b/keyboards/boardsource/beiwagon/readme.md new file mode 100644 index 000000000000..104c1a1f2abb --- /dev/null +++ b/keyboards/boardsource/beiwagon/readme.md @@ -0,0 +1,21 @@ +# Beiwagon + +![Beiwagon](https://i.imgur.com/eQi2Laqh.jpeg) + +The Beiwagon was designed to be a companion to the Technik keeping the same height and design it is a perfect match to sit along side. + +* Keyboard Maintainer: [Boardsource](https://github.com/boardsource) +* Hardware Supported: V1 pcb +* Hardware Availability: [boardsource](https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2) + +Make example for this keyboard (after setting up your build environment): + + make boardsource/beiwagon:default + +Flashing example for this keyboard: + + make boardsource/beiwagon:default:flash + +Reset keyboard by pushing reset button on back of pcb through access hole. Or hold down top left key while you plug in the usb cable. + +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/boardsource/beiwagon/rules.mk b/keyboards/boardsource/beiwagon/rules.mk new file mode 100644 index 000000000000..5084dcf81ca5 --- /dev/null +++ b/keyboards/boardsource/beiwagon/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 diff --git a/keyboards/boardsource/holiday/spooky/info.json b/keyboards/boardsource/holiday/spooky/info.json index a39b45b72688..e792607fef15 100644 --- a/keyboards/boardsource/holiday/spooky/info.json +++ b/keyboards/boardsource/holiday/spooky/info.json @@ -5,7 +5,7 @@ "width": 3, "height": 2, "layouts": { - "LAYOUT": { + "LAYOUT_ortho_2x3": { "layout": [ { "label": "k00", "x": 0, "y": 0 }, { "label": "k01", "x": 1, "y": 0 }, diff --git a/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c index b4fcfc1bc19b..63fbb1b94cef 100644 --- a/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c +++ b/keyboards/boardsource/holiday/spooky/keymaps/default/keymap.c @@ -24,7 +24,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ [_BASE] = LAYOUT_ortho_2x3( KC_F1, KC_F2, KC_F3, - KC_F4, KC_F5,KC_F6 + KC_F4, KC_F5, KC_F6 ), }; - diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c index 44b234e4ab6c..a9065fdfa2f7 100644 --- a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c +++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/keymap.c @@ -27,44 +27,44 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_MOD, KC_VOLD, KC_F1 ), }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; } static void render_RIP(void) { static const char PROGMEM my_logo[] = { -0xff, 0xff, 0x07, 0x1e, 0x70, 0xc0, 0x00, 0x00, 0xe0, 0x78, 0x1e, 0x07, 0xff, 0xfe, 0x00, 0x00, -0x00, 0x00, 0x03, 0x06, 0x1c, 0xb8, 0xf0, 0xe0, 0xb8, 0x1c, 0x0e, 0x07, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3e, 0x66, 0x63, 0x63, 0x43, 0x43, 0xc3, 0xc2, 0x82, -0x00, 0x00, 0x00, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0xc0, 0xf0, 0x30, 0xf0, 0x80, 0x00, 0x00, 0xc0, -0xf0, 0x10, 0x00, 0x00, 0x00, 0xf3, 0xf3, 0x00, 0x00, 0x10, 0x18, 0xfe, 0x18, 0x10, 0x10, 0x10, -0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0xff, 0xff, -0x30, 0x10, 0x18, 0x18, 0x18, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x90, 0x90, 0x98, -0x98, 0x98, 0xb0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x90, 0x98, 0x98, 0x18, 0x18, 0x10, 0x00, -0x1f, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, -0x00, 0x10, 0x1c, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x0e, 0x1c, 0x18, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0x18, 0x10, 0x10, 0x18, 0x18, 0x0d, 0x0f, -0x03, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1e, 0x1e, 0x07, 0x00, 0x00, 0x01, 0x0f, 0x1c, 0x1e, 0x07, -0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x18, 0x18, 0x18, -0x00, 0x00, 0x03, 0x0f, 0x0c, 0x18, 0x10, 0x10, 0x10, 0x18, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x1f, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x08, 0x18, 0x10, -0x10, 0x10, 0x18, 0x18, 0x08, 0x00, 0x00, 0x08, 0x18, 0x10, 0x11, 0x11, 0x11, 0x19, 0x0f, 0x0e, -0x00, 0x30, 0x30, 0x10, 0x10, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, -0x30, 0x10, 0x18, 0x18, 0x10, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xb0, 0x10, 0x18, -0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x10, 0x18, 0x18, 0x10, 0x30, -0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x18, -0x10, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0x30, 0x10, 0x18, 0x10, 0x30, 0xf0, -0xe0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, -0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x10, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc7, -0xc4, 0x8c, 0x8c, 0xcc, 0xc4, 0x77, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x38, 0x7d, 0xc7, 0xc3, 0x82, -0x82, 0xc3, 0xc7, 0x7d, 0x7c, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0x80, 0x80, 0xc0, 0xc0, -0x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, -0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xd8, 0xcc, -0xc6, 0xc3, 0xc1, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x70, -0x3f, 0x0f, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xcc, 0xc7, 0xc3, 0xc1, 0x00, 0x00, +0xff, 0xff, 0x07, 0x1e, 0x70, 0xc0, 0x00, 0x00, 0xe0, 0x78, 0x1e, 0x07, 0xff, 0xfe, 0x00, 0x00, +0x00, 0x00, 0x03, 0x06, 0x1c, 0xb8, 0xf0, 0xe0, 0xb8, 0x1c, 0x0e, 0x07, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x3e, 0x66, 0x63, 0x63, 0x43, 0x43, 0xc3, 0xc2, 0x82, +0x00, 0x00, 0x00, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0xc0, 0xf0, 0x30, 0xf0, 0x80, 0x00, 0x00, 0xc0, +0xf0, 0x10, 0x00, 0x00, 0x00, 0xf3, 0xf3, 0x00, 0x00, 0x10, 0x18, 0xfe, 0x18, 0x10, 0x10, 0x10, +0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0xff, 0xff, +0x30, 0x10, 0x18, 0x18, 0x18, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x90, 0x90, 0x98, +0x98, 0x98, 0xb0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x90, 0x98, 0x98, 0x18, 0x18, 0x10, 0x00, +0x1f, 0x1f, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, +0x00, 0x10, 0x1c, 0x0e, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x0e, 0x1c, 0x18, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0x18, 0x10, 0x10, 0x18, 0x18, 0x0d, 0x0f, +0x03, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1e, 0x1e, 0x07, 0x00, 0x00, 0x01, 0x0f, 0x1c, 0x1e, 0x07, +0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x18, 0x18, 0x18, +0x00, 0x00, 0x03, 0x0f, 0x0c, 0x18, 0x10, 0x10, 0x10, 0x18, 0x08, 0x00, 0x00, 0x00, 0x1f, 0x1f, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x08, 0x18, 0x10, +0x10, 0x10, 0x18, 0x18, 0x08, 0x00, 0x00, 0x08, 0x18, 0x10, 0x11, 0x11, 0x11, 0x19, 0x0f, 0x0e, +0x00, 0x30, 0x30, 0x10, 0x10, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, +0x30, 0x10, 0x18, 0x18, 0x10, 0x70, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x40, 0xf0, 0xb0, 0x10, 0x18, +0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x70, 0x10, 0x18, 0x18, 0x10, 0x30, +0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x18, +0x10, 0x30, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf0, 0x30, 0x10, 0x18, 0x10, 0x30, 0xf0, +0xe0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x18, 0x18, 0x10, 0x30, 0xf0, 0xe0, 0x00, 0x00, +0x00, 0x00, 0xc0, 0xe0, 0x30, 0x10, 0x18, 0x18, 0x10, 0x30, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc7, +0xc4, 0x8c, 0x8c, 0xcc, 0xc4, 0x77, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x38, 0x7d, 0xc7, 0xc3, 0x82, +0x82, 0xc3, 0xc7, 0x7d, 0x7c, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0x80, 0x80, 0xc0, 0xc0, +0x7f, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, +0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xf0, 0xd8, 0xcc, +0xc6, 0xc3, 0xc1, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x70, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0x70, +0x3f, 0x0f, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xf0, 0xd8, 0xcc, 0xcc, 0xc7, 0xc3, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0x60, 0x7f, 0x1f, 0x00, 0x00, 0x00, 0x00 }; diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk index c582662134c4..d34d066ded93 100644 --- a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk +++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk @@ -1 +1,2 @@ -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c index 88fc47a1dc29..c50e0b4b3fea 100644 --- a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c +++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/keymap.c @@ -27,44 +27,44 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RGB_MOD, KC_3,KC_4 ), }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; } static void render_RIP(void) { static const char PROGMEM my_logo[] = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x08, 0x04, -0x04, 0x7c, 0xfc, 0xf0, 0x00, 0x00, 0x40, 0x20, 0xf0, 0x7c, 0x06, 0x00, 0x41, 0xc0, 0x00, 0x00, -0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0xc0, 0x00, -0x00, 0x00, 0xe0, 0x60, 0x00, 0x80, 0x40, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x3c, 0x02, -0x01, 0xc1, 0xf8, 0x0e, 0x00, 0x01, 0xc0, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x50, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x08, -0x03, 0x00, 0x00, 0x0f, 0x06, 0x01, 0x00, 0x1e, 0x1f, 0x10, 0x00, 0x00, 0x1e, 0x1f, 0x08, 0xc0, -0x3e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1e, 0x11, 0x08, 0x04, 0x1e, 0x11, 0x00, -0x08, 0x06, 0x01, 0x00, 0x1e, 0x19, 0x08, 0x00, 0x1e, 0x0b, 0x08, 0x00, 0x1f, 0x1b, 0x08, 0x00, -0x18, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x12, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x19, 0x08, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, -0x84, 0x84, 0x84, 0xcc, 0x38, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x04, 0x05, 0x0f, 0x79, 0xe1, 0x00, -0x00, 0x00, 0xc0, 0x78, 0x0c, 0x00, 0x00, 0x0c, 0x84, 0x84, 0xcc, 0xf8, 0x30, 0x00, 0x00, 0xe0, -0xf8, 0x0c, 0x04, 0x04, 0x0c, 0xf8, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0x08, 0x0c, -0x04, 0x04, 0xcc, 0x78, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x0c, 0x04, 0x0c, 0x18, 0xf0, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, -0x10, 0x10, 0x10, 0x19, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x07, 0x00, -0x20, 0x1e, 0x03, 0x00, 0x00, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x1d, 0x0f, 0x00, 0x00, 0x03, -0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x00, 0x00, 0x38, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x18, 0x1c, -0x16, 0x13, 0x10, 0x10, 0x00, 0x00, 0x00, 0x07, 0x1c, 0x10, 0x10, 0x10, 0x0c, 0x07, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x08, 0x04, +0x04, 0x7c, 0xfc, 0xf0, 0x00, 0x00, 0x40, 0x20, 0xf0, 0x7c, 0x06, 0x00, 0x41, 0xc0, 0x00, 0x00, +0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0xc0, 0x00, +0x00, 0x00, 0xe0, 0x60, 0x00, 0x80, 0x40, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x3c, 0x02, +0x01, 0xc1, 0xf8, 0x0e, 0x00, 0x01, 0xc0, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xf0, 0x50, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x08, +0x03, 0x00, 0x00, 0x0f, 0x06, 0x01, 0x00, 0x1e, 0x1f, 0x10, 0x00, 0x00, 0x1e, 0x1f, 0x08, 0xc0, +0x3e, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1e, 0x11, 0x08, 0x04, 0x1e, 0x11, 0x00, +0x08, 0x06, 0x01, 0x00, 0x1e, 0x19, 0x08, 0x00, 0x1e, 0x0b, 0x08, 0x00, 0x1f, 0x1b, 0x08, 0x00, +0x18, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x12, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x19, 0x08, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, +0x84, 0x84, 0x84, 0xcc, 0x38, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x04, 0x05, 0x0f, 0x79, 0xe1, 0x00, +0x00, 0x00, 0xc0, 0x78, 0x0c, 0x00, 0x00, 0x0c, 0x84, 0x84, 0xcc, 0xf8, 0x30, 0x00, 0x00, 0xe0, +0xf8, 0x0c, 0x04, 0x04, 0x0c, 0xf8, 0x80, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0x08, 0x0c, +0x04, 0x04, 0xcc, 0x78, 0x00, 0x00, 0x00, 0xf0, 0x18, 0x0c, 0x04, 0x0c, 0x18, 0xf0, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, +0x10, 0x10, 0x10, 0x19, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x07, 0x00, +0x20, 0x1e, 0x03, 0x00, 0x00, 0x00, 0x18, 0x10, 0x10, 0x10, 0x10, 0x1d, 0x0f, 0x00, 0x00, 0x03, +0x0f, 0x18, 0x10, 0x10, 0x18, 0x0f, 0x00, 0x00, 0x38, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x18, 0x1c, +0x16, 0x13, 0x10, 0x10, 0x00, 0x00, 0x00, 0x07, 0x1c, 0x10, 0x10, 0x10, 0x0c, 0x07, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk index c582662134c4..d34d066ded93 100644 --- a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk +++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk @@ -1 +1,2 @@ -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/boardsource/holiday/spooky/rules.mk b/keyboards/boardsource/holiday/spooky/rules.mk index d23e95512672..fd2dc07c680e 100644 --- a/keyboards/boardsource/holiday/spooky/rules.mk +++ b/keyboards/boardsource/holiday/spooky/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,3 +20,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output + +LAYOUTS = ortho_2x3 diff --git a/keyboards/boardsource/microdox/keymaps/cole/keymap.c b/keyboards/boardsource/microdox/keymaps/cole/keymap.c index 62d728000018..8ea96e8f917f 100644 --- a/keyboards/boardsource/microdox/keymaps/cole/keymap.c +++ b/keyboards/boardsource/microdox/keymaps/cole/keymap.c @@ -38,27 +38,27 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - CTRL_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTSC, - SHFT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SHIFT_SLASH, + [_QWERTY] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + CTRL_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTSC, + SHFT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SHIFT_SLASH, MO(_LOWER),KC_LGUI, RASE_ENT, RASE_BACK, LOWER_SPC, KC_TAB ), - [_RAISE] = LAYOUT_split_3x5_3( - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, - KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, - KC_LSFT, KC_GRV, PREVWINDOW, NEXTWINDOW, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + [_RAISE] = LAYOUT_split_3x5_3( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, + KC_LSFT, KC_GRV, PREVWINDOW, NEXTWINDOW, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_LGUI, KC_ENT, KC_BSPC, KC_SPC, _______ ), - [_LOWER] = LAYOUT_split_3x5_3( + [_LOWER] = LAYOUT_split_3x5_3( KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, - KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DQT, - KC_ESC, KC_TILD, PREVWINDOW, NEXTWINDOW, RGB_MODE_FORWARD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DQT, + KC_ESC, KC_TILD, PREVWINDOW, NEXTWINDOW, RGB_MODE_FORWARD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, KC_LGUI, KC_ENT, KC_BSPC, KC_SPC, _______ ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) return OLED_ROTATION_180; @@ -73,7 +73,7 @@ static void render_logo(void) { 0 }; oled_write_P(qmk_logo, false); -} +} static void render_status(void) { switch (get_highest_layer(layer_state)) { diff --git a/keyboards/boardsource/microdox/keymaps/cole/rules.mk b/keyboards/boardsource/microdox/keymaps/cole/rules.mk index 48a51b225024..d34d066ded93 100644 --- a/keyboards/boardsource/microdox/keymaps/cole/rules.mk +++ b/keyboards/boardsource/microdox/keymaps/cole/rules.mk @@ -1 +1,2 @@ -OLED_DRIVER_ENABLE = yes \ No newline at end of file +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/boardsource/microdox/keymaps/via/keymap.c b/keyboards/boardsource/microdox/keymaps/via/keymap.c index 2f4785ad2e8e..96e0a024f012 100644 --- a/keyboards/boardsource/microdox/keymaps/via/keymap.c +++ b/keyboards/boardsource/microdox/keymaps/via/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) return OLED_ROTATION_180; diff --git a/keyboards/boardsource/microdox/keymaps/via/rules.mk b/keyboards/boardsource/microdox/keymaps/via/rules.mk index fc32a8b111e3..c84c1f41767b 100644 --- a/keyboards/boardsource/microdox/keymaps/via/rules.mk +++ b/keyboards/boardsource/microdox/keymaps/via/rules.mk @@ -1,4 +1,5 @@ -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 VIA_ENABLE = yes EXTRAKEY_ENABLE = yes RGBLIGHT_ENABLE = yes diff --git a/keyboards/boardsource/microdox/rules.mk b/keyboards/boardsource/microdox/rules.mk index b6afb77c7830..f35fc68043eb 100644 --- a/keyboards/boardsource/microdox/rules.mk +++ b/keyboards/boardsource/microdox/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -21,3 +21,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes + +LAYOUTS = split_3x5_3 diff --git a/keyboards/boardsource/technik_o/config.h b/keyboards/boardsource/technik_o/config.h new file mode 100644 index 000000000000..0333ce1801bd --- /dev/null +++ b/keyboards/boardsource/technik_o/config.h @@ -0,0 +1,121 @@ +/* +Copyright 2020 Boardsource + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4273 +#define PRODUCT_ID 0x0079 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Boardsource +#define PRODUCT Technik-O + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS {B0, B1, B2, B3} +#define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +#define BACKLIGHT_BREATHING +#define RGBLIGHT_ANIMATIONS +#define RGB_DI_PIN C6 +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 +#ifdef RGBLIGHT_ENABLE +#define RGBLED_NUM 10 // Number of LEDs +#endif + +#define DRIVER_LED_TOTAL 58 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/boardsource/technik_o/info.json b/keyboards/boardsource/technik_o/info.json new file mode 100644 index 000000000000..7b8a28d77d99 --- /dev/null +++ b/keyboards/boardsource/technik_o/info.json @@ -0,0 +1,64 @@ +{ + "keyboard_name": "Technik-O", + "url": "https://boardsource.xyz", + "maintainer": "Boardsource", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT_ortho_4x12": { + "layout": [ + { "label": "K01", "x": 0, "y": 0 }, + { "label": "K02", "x": 1, "y": 0 }, + { "label": "K03", "x": 2, "y": 0 }, + { "label": "K04", "x": 3, "y": 0 }, + { "label": "K05", "x": 4, "y": 0 }, + { "label": "K06", "x": 5, "y": 0 }, + { "label": "K07", "x": 6, "y": 0 }, + { "label": "K08", "x": 7, "y": 0 }, + { "label": "K09", "x": 8, "y": 0 }, + { "label": "K010", "x": 9, "y": 0 }, + { "label": "K011", "x": 10, "y": 0 }, + { "label": "K012", "x": 11, "y": 0 }, + + { "label": "K11", "x": 0, "y": 1 }, + { "label": "K12", "x": 1, "y": 1 }, + { "label": "K13", "x": 2, "y": 1 }, + { "label": "K14", "x": 3, "y": 1 }, + { "label": "K15", "x": 4, "y": 1 }, + { "label": "K16", "x": 5, "y": 1 }, + { "label": "K17", "x": 6, "y": 1 }, + { "label": "K18", "x": 7, "y": 1 }, + { "label": "K19", "x": 8, "y": 1 }, + { "label": "K110", "x": 9, "y": 1 }, + { "label": "K111", "x": 10, "y": 1 }, + { "label": "K112", "x": 11, "y": 1 }, + + { "label": "K21", "x": 0, "y": 2 }, + { "label": "K22", "x": 1, "y": 2 }, + { "label": "K23", "x": 2, "y": 2 }, + { "label": "K24", "x": 3, "y": 2 }, + { "label": "K25", "x": 4, "y": 2 }, + { "label": "K26", "x": 5, "y": 2 }, + { "label": "K27", "x": 6, "y": 2 }, + { "label": "K28", "x": 7, "y": 2 }, + { "label": "K29", "x": 8, "y": 2 }, + { "label": "K210", "x": 9, "y": 2 }, + { "label": "K211", "x": 10, "y": 2 }, + { "label": "K212", "x": 11, "y": 2 }, + + { "label": "K31", "x": 0, "y": 3 }, + { "label": "K32", "x": 1, "y": 3 }, + { "label": "K33", "x": 2, "y": 3 }, + { "label": "K34", "x": 3, "y": 3 }, + { "label": "K35", "x": 4, "y": 3 }, + { "label": "K36", "x": 5, "y": 3 }, + { "label": "K37", "x": 6, "y": 3 }, + { "label": "K38", "x": 7, "y": 3 }, + { "label": "K39", "x": 8, "y": 3 }, + { "label": "K310", "x": 9, "y": 3 }, + { "label": "K311", "x": 10, "y": 3 }, + { "label": "K312", "x": 11, "y": 3 } + ] + } + } +} diff --git a/keyboards/boardsource/technik_o/keymaps/default/keymap.c b/keyboards/boardsource/technik_o/keymaps/default/keymap.c new file mode 100644 index 000000000000..44e2b86ac18b --- /dev/null +++ b/keyboards/boardsource/technik_o/keymaps/default/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2020 Boardsource + * + * 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 layers { + _MAIN, + _RAISE, + _LOWER, +}; + +// Readability keycodes +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT_ortho_4x12( + 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [_RAISE] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + [_LOWER] = LAYOUT_ortho_4x12( + 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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ) + +}; + diff --git a/keyboards/boardsource/technik_o/keymaps/default/readme.md b/keyboards/boardsource/technik_o/keymaps/default/readme.md new file mode 100644 index 000000000000..e9427401d0c9 --- /dev/null +++ b/keyboards/boardsource/technik_o/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Technik-O diff --git a/keyboards/boardsource/technik_o/keymaps/via/keymap.c b/keyboards/boardsource/technik_o/keymaps/via/keymap.c new file mode 100644 index 000000000000..44e2b86ac18b --- /dev/null +++ b/keyboards/boardsource/technik_o/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2020 Boardsource + * + * 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 layers { + _MAIN, + _RAISE, + _LOWER, +}; + +// Readability keycodes +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT_ortho_4x12( + 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , + RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [_RAISE] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + + [_LOWER] = LAYOUT_ortho_4x12( + 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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ) + +}; + diff --git a/keyboards/boardsource/technik_o/keymaps/via/readme.md b/keyboards/boardsource/technik_o/keymaps/via/readme.md new file mode 100644 index 000000000000..6ae03a917f14 --- /dev/null +++ b/keyboards/boardsource/technik_o/keymaps/via/readme.md @@ -0,0 +1 @@ +# The via keymap for Technik-O diff --git a/keyboards/tokyo60/keymaps/via/rules.mk b/keyboards/boardsource/technik_o/keymaps/via/rules.mk similarity index 100% rename from keyboards/tokyo60/keymaps/via/rules.mk rename to keyboards/boardsource/technik_o/keymaps/via/rules.mk diff --git a/keyboards/boardsource/technik_o/readme.md b/keyboards/boardsource/technik_o/readme.md new file mode 100644 index 000000000000..90c3588f9027 --- /dev/null +++ b/keyboards/boardsource/technik_o/readme.md @@ -0,0 +1,21 @@ +# Technik-O + +![Technik-O](https://i.imgur.com/F2VTqAs.jpeg) + +The Technik is a low profile keyboard offered in two layout options. This one is the 4x12 ortho option. This keyboard offers per key and under glow lighting as well as hotswap. + +* Keyboard Maintainer: [Boardsource](https://github.com/boardsource) +* Hardware Supported: V1 pcb +* Hardware Availability: [boardsource](https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2) + +Make example for this keyboard (after setting up your build environment): + + make boardsource/technik_o:default + +Flashing example for this keyboard: + + make boardsource/technik_o:default:flash + +Reset keyboard by pushing reset button on back of pcb through access hole. Or hold down top left key while you plug in the usb cable. + +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/boardsource/technik_o/rules.mk b/keyboards/boardsource/technik_o/rules.mk new file mode 100644 index 000000000000..f42359a91306 --- /dev/null +++ b/keyboards/boardsource/technik_o/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 +LAYOUTS = ortho_4x12 diff --git a/keyboards/boardsource/technik_o/technik_o.c b/keyboards/boardsource/technik_o/technik_o.c new file mode 100644 index 000000000000..706939a58b2c --- /dev/null +++ b/keyboards/boardsource/technik_o/technik_o.c @@ -0,0 +1,38 @@ +/* Copyright 2020 Boardsource + * + * 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 "technik_o.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}, + { 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33}, + { 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45}, + { 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57} +}, { + {220, 17}, {172, 17}, {112, 17}, { 50, 17}, { 4, 17}, { 4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56}, + { 0, 0}, { 20, 0}, { 40, 0}, { 61, 0}, { 81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0}, + { 0, 21}, { 20, 21}, { 40, 21}, { 61, 21}, { 81, 21}, {101, 21}, {122, 21}, {142, 21}, {162, 21}, {183, 21}, {203, 21}, {224, 21}, + { 0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42}, + { 0, 64}, { 20, 64}, { 40, 64}, { 61, 64}, { 81, 64}, {101, 64}, {122, 64}, {142, 64}, {162, 64}, {183, 64}, {203, 64}, {224, 64} +}, { + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1 +} }; +#endif + diff --git a/keyboards/boardsource/technik_o/technik_o.h b/keyboards/boardsource/technik_o/technik_o.h new file mode 100644 index 000000000000..e2af9f834ab5 --- /dev/null +++ b/keyboards/boardsource/technik_o/technik_o.h @@ -0,0 +1,31 @@ +/* Copyright 2020 Boardsource + * + * 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 "quantum.h" +#define LAYOUT_ortho_4x12( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \ + K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \ + K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \ + K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \ + ) { \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \ + {K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \ + {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \ + {K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47} \ + } + diff --git a/keyboards/boardsource/technik_s/config.h b/keyboards/boardsource/technik_s/config.h new file mode 100644 index 000000000000..97dec63efb69 --- /dev/null +++ b/keyboards/boardsource/technik_s/config.h @@ -0,0 +1,121 @@ +/* +Copyright 2020 Boardsource + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4273 +#define PRODUCT_ID 0x0083 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Boardsource +#define PRODUCT Technik-S + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS {B0, B1, B2, B3} +#define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +#define BACKLIGHT_BREATHING +#define RGBLIGHT_ANIMATIONS +#define RGB_DI_PIN C6 +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 +#ifdef RGBLIGHT_ENABLE +#define RGBLED_NUM 10 // Number of LEDs +#endif + +#define DRIVER_LED_TOTAL 55 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/boardsource/technik_s/info.json b/keyboards/boardsource/technik_s/info.json new file mode 100644 index 000000000000..a166c9ae2b39 --- /dev/null +++ b/keyboards/boardsource/technik_s/info.json @@ -0,0 +1,58 @@ +{ + "keyboard_name": "Technik-S", + "url": "", + "maintainer": "Boardsource", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "1", "x": 0, "y": 0 }, + { "label": "2", "x": 1, "y": 0 }, + { "label": "3", "x": 2, "y": 0 }, + { "label": "4", "x": 3, "y": 0 }, + { "label": "5", "x": 4, "y": 0 }, + { "label": "6", "x": 5, "y": 0 }, + { "label": "7", "x": 6, "y": 0 }, + { "label": "8", "x": 7, "y": 0 }, + { "label": "9", "x": 8, "y": 0 }, + { "label": "10", "x": 9, "y": 0 }, + { "label": "11", "x": 10, "y": 0 }, + { "label": "12", "x": 11, "y": 0 }, + { "label": "13", "x": 0, "y": 1, "w": 1.5 }, + { "label": "14", "x": 1.5, "y": 1 }, + { "label": "15", "x": 2.5, "y": 1 }, + { "label": "16", "x": 3.5, "y": 1 }, + { "label": "17", "x": 4.5, "y": 1 }, + { "label": "18", "x": 5.5, "y": 1 }, + { "label": "19", "x": 6.5, "y": 1 }, + { "label": "20", "x": 7.5, "y": 1 }, + { "label": "21", "x": 8.5, "y": 1 }, + { "label": "22", "x": 9.5, "y": 1 }, + { "label": "23", "x": 10.5, "y": 1, "w": 1.5 }, + { "label": "24", "x": 0, "y": 2 }, + { "label": "25", "x": 1, "y": 2 }, + { "label": "26", "x": 2, "y": 2 }, + { "label": "27", "x": 3, "y": 2 }, + { "label": "28", "x": 4, "y": 2 }, + { "label": "29", "x": 5, "y": 2 }, + { "label": "30", "x": 6, "y": 2 }, + { "label": "31", "x": 7, "y": 2 }, + { "label": "32", "x": 8, "y": 2 }, + { "label": "33", "x": 9, "y": 2 }, + { "label": "34", "x": 10, "y": 2 }, + { "label": "35", "x": 11, "y": 2 }, + { "label": "36", "x": 0, "y": 3 }, + { "label": "37", "x": 1, "y": 3 }, + { "label": "38", "x": 2, "y": 3 }, + { "label": "39", "x": 3, "y": 3, "w": 1.5 }, + { "label": "40", "x": 4.5, "y": 3, "w": 1.5 }, + { "label": "41", "x": 6, "y": 3, "w": 1.5 }, + { "label": "42", "x": 7.5, "y": 3, "w": 1.5 }, + { "label": "43", "x": 9, "y": 3 }, + { "label": "44", "x": 10, "y": 3 }, + { "label": "45", "x": 11, "y": 3 } + ] + } + } +} diff --git a/keyboards/boardsource/technik_s/keymaps/default/keymap.c b/keyboards/boardsource/technik_s/keymaps/default/keymap.c new file mode 100644 index 000000000000..89dfaa4ace8c --- /dev/null +++ b/keyboards/boardsource/technik_s/keymaps/default/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2020 Boardsource + * + * 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 layers { + _MAIN, + _RAISE, + _LOWER, +}; + +// Readability keycodes +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT( + 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_LSHIFT,KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT , + RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [_RAISE] = LAYOUT( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, + RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD + ), + + [_LOWER] = 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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD + ) + +}; + diff --git a/keyboards/boardsource/technik_s/keymaps/default/readme.md b/keyboards/boardsource/technik_s/keymaps/default/readme.md new file mode 100644 index 000000000000..0e6753504bf0 --- /dev/null +++ b/keyboards/boardsource/technik_s/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Technik-S diff --git a/keyboards/boardsource/technik_s/keymaps/via/keymap.c b/keyboards/boardsource/technik_s/keymaps/via/keymap.c new file mode 100644 index 000000000000..89dfaa4ace8c --- /dev/null +++ b/keyboards/boardsource/technik_s/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2020 Boardsource + * + * 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 layers { + _MAIN, + _RAISE, + _LOWER, +}; + +// Readability keycodes +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_MAIN] = LAYOUT( + 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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_LSHIFT,KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT , + RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [_RAISE] = LAYOUT( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, + RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD + ), + + [_LOWER] = 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_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD + ) + +}; + diff --git a/keyboards/boardsource/technik_s/keymaps/via/readme.md b/keyboards/boardsource/technik_s/keymaps/via/readme.md new file mode 100644 index 000000000000..54e975a5aa79 --- /dev/null +++ b/keyboards/boardsource/technik_s/keymaps/via/readme.md @@ -0,0 +1 @@ +# The via keymap for Technik-S diff --git a/keyboards/xd60/keymaps/shura30/rules.mk b/keyboards/boardsource/technik_s/keymaps/via/rules.mk old mode 100755 new mode 100644 similarity index 100% rename from keyboards/xd60/keymaps/shura30/rules.mk rename to keyboards/boardsource/technik_s/keymaps/via/rules.mk diff --git a/keyboards/boardsource/technik_s/readme.md b/keyboards/boardsource/technik_s/readme.md new file mode 100644 index 000000000000..9bc60d4018a0 --- /dev/null +++ b/keyboards/boardsource/technik_s/readme.md @@ -0,0 +1,22 @@ +# Technik-S + +![Technik-S](https://i.imgur.com/0QLgu5V.jpeg) + +The technik-s is a 40% staggard keyboard that is designed to fit in the same case as the technik-o a 4x12 ortho + +* Keyboard Maintainer: [Boardsource](https://github.com/boardsource) +* Hardware Supported: V1 pcb +* Hardware Availability: [boardsource](https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2) + +Make example for this keyboard (after setting up your build environment): + + make boardsource/technik_s:default + +Flashing example for this keyboard: + + make boardsource/technik_s:default:flash + +Reset keyboard by pushing reset button on back of pcb through access hole. Or hold down top left key while you plug in the usb cable. +Then run this command in your local qmk repo, or flash using qmk toolbox. + +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/boardsource/technik_s/rules.mk b/keyboards/boardsource/technik_s/rules.mk new file mode 100644 index 000000000000..f749c6e7c146 --- /dev/null +++ b/keyboards/boardsource/technik_s/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 +LTO_ENABLE = yes diff --git a/keyboards/boardsource/technik_s/technik_s.c b/keyboards/boardsource/technik_s/technik_s.c new file mode 100644 index 000000000000..a1fe68d1a3a3 --- /dev/null +++ b/keyboards/boardsource/technik_s/technik_s.c @@ -0,0 +1,38 @@ +/* Copyright 2020 Boardsource + * + * 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 "technik_s.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}, + {22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}, + {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44}, + {45, 46, 47, 48, 49, 50, 51, 52, 53, 54} +}, { + {220, 17}, {172, 17}, {112, 17}, { 50, 17}, { 4, 17}, { 4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56}, + { 0, 0}, { 20, 0}, { 40, 0}, { 61, 0}, { 81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0}, + { 10, 21}, { 30, 21}, { 51, 21}, { 71, 21}, { 91, 21}, {112, 21}, {132, 21}, {152, 21}, {173, 21}, {193, 21}, {214, 21}, + { 0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42}, + { 0, 64}, { 20, 64}, { 40, 64}, { 68, 64}, { 97, 64}, {126, 64}, {154, 64}, {183, 64}, {203, 64}, {224, 64} +}, { + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 4, 4, 1, 1, 1, 1 +} }; +#endif + diff --git a/keyboards/boardsource/technik_s/technik_s.h b/keyboards/boardsource/technik_s/technik_s.h new file mode 100644 index 000000000000..97ee9a7f5f94 --- /dev/null +++ b/keyboards/boardsource/technik_s/technik_s.h @@ -0,0 +1,31 @@ +/* Copyright 2020 Boardsource + * + * 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 "quantum.h" +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \ + K12, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \ + K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \ + K36, K37, K38, K39, K40, K41, K42, K43, K44, K45 \ + ) { \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \ + {K12, KC_NO, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \ + {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \ + {K36, K37, K38, K39,KC_NO,K40, K41,KC_NO,K42, K43, K44, K45} \ + } + diff --git a/keyboards/boardsource/the_mark/config.h b/keyboards/boardsource/the_mark/config.h index cb64c3a6907d..cbfe4cd51096 100644 --- a/keyboards/boardsource/the_mark/config.h +++ b/keyboards/boardsource/the_mark/config.h @@ -41,8 +41,8 @@ along with this program. If not, see . * */ -#define MATRIX_ROW_PINS {B0, B1, B2, B3, B4,} -#define MATRIX_COL_PINS { B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6, D7,F0, F1, F4} +#define MATRIX_ROW_PINS {B0, B1, B2, B3, B4} +#define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6, D7,F0, F1, F4} #define UNUSED_PINS /* COL2ROW, ROW2COL */ @@ -56,8 +56,9 @@ along with this program. If not, see . /* RGB matrix support */ #ifdef RGB_MATRIX_ENABLE -#define DRIVER_LED_TOTAL 24 // Number of LEDs -#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 +# define DRIVER_LED_TOTAL 24 // Number of LEDs +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #endif /* diff --git a/keyboards/boardsource/the_mark/rules.mk b/keyboards/boardsource/the_mark/rules.mk index 8fb8f42bc153..b5aa34173789 100644 --- a/keyboards/boardsource/the_mark/rules.mk +++ b/keyboards/boardsource/the_mark/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/boardsource/the_mark/the_mark.c b/keyboards/boardsource/the_mark/the_mark.c index bb37974f6e6d..59aff7f9acc5 100644 --- a/keyboards/boardsource/the_mark/the_mark.c +++ b/keyboards/boardsource/the_mark/the_mark.c @@ -20,11 +20,11 @@ #ifdef RGB_MATRIX_ENABLE led_config_t g_led_config = { { // Key Matrix to LED Index - { NO_LED, 10 , 9 , NO_LED, 8 , 7 , NO_LED, 6 , 5 , NO_LED, 4 , 3 , NO_LED, 2 , 1 , NO_LED }, - { NO_LED, 11 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 , NO_LED }, - { NO_LED, 12 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 23 , NO_LED }, - { NO_LED, 13 , 14 , NO_LED, 15 , 16 , NO_LED, 17 , 18 , NO_LED, 19 , 20 , NO_LED, 21 , 22 , NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, + { 10 , NO_LED, 9 , NO_LED, 8 , 7 , NO_LED, 6 , 5 , NO_LED, 4 , 3 , NO_LED, 2 , NO_LED, 1 }, + { 11 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 }, + { 12 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 23 }, + { 13 , NO_LED, 14 , NO_LED, 15 , 16 , NO_LED, 17 , 18 , NO_LED, 19 , 20 , NO_LED, 21 , NO_LED, NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 22 }, }, { // LED Index to Physical Position {224, 42}, {224, 21}, {209, 21}, {179, 21}, {164, 21}, {134, 21}, {119, 21}, {89, 21}, {74, 21}, {45, 21}, {30, 21}, {30, 42}, @@ -35,4 +35,15 @@ led_config_t g_led_config = { { LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL } }; + + +void suspend_power_down_kb(void) { + rgb_matrix_set_suspend_state(true); + suspend_power_down_user(); +} + +void suspend_wakeup_init_kb(void) { + rgb_matrix_set_suspend_state(false); + suspend_wakeup_init_user(); +} #endif diff --git a/keyboards/boardwalk/keymaps/mcallaster/keymap.c b/keyboards/boardwalk/keymaps/mcallaster/keymap.c index 9ec6f926711b..ac1df1b0337b 100644 --- a/keyboards/boardwalk/keymaps/mcallaster/keymap.c +++ b/keyboards/boardwalk/keymaps/mcallaster/keymap.c @@ -49,6 +49,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _FN); } diff --git a/keyboards/boardwalk/keymaps/niclake/keymap.c b/keyboards/boardwalk/keymaps/niclake/keymap.c index 2188660d019a..b6a986c0d02d 100644 --- a/keyboards/boardwalk/keymaps/niclake/keymap.c +++ b/keyboards/boardwalk/keymaps/niclake/keymap.c @@ -37,7 +37,7 @@ enum custom_keycodes { #define FN MO(_FN) #define NUM TT(_NUM) #define ADJ MO(_ADJ) -#define MACWIN AG_TOGG +#define MACWIN MAGIC_TOGGLE_ALT_GUI #define RGB_ON RGB_MODE_PLAIN const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -128,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* ADJUST + RGB Control * .-----------------------------------------------------------------------------------------------------------------------------. - * | | Static | Breath | Rainbw | Swirl | Gradnt | Test | | | | | | | | + * | | Static | Breath | Rainbw | Swirl | Gradnt | Twnkle | Test | | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| * | | On/Off | ModeUp | Hue Up | Sat Up | Val Up | | | | | | | RESET | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------| @@ -140,11 +140,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * '-----------------------------------------------------------------------------------------------------------' */ [_ADJ] = LAYOUT_ortho_hhkb( - _______, RGB_ON, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_G, RGB_M_T, _______, _______, _______, _______, _______, _______, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, RESET, _______, - _______, MACWIN, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, - _______, COLEMAK, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + XXXXXXX, RGB_ON, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_G, RGB_M_TW, RGB_M_T, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, + XXXXXXX, MACWIN, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, COLEMAK, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX ) - }; diff --git a/keyboards/boardwalk/keymaps/niclake/rules.mk b/keyboards/boardwalk/keymaps/niclake/rules.mk index 000a2e1215db..0b4dadb10efa 100644 --- a/keyboards/boardwalk/keymaps/niclake/rules.mk +++ b/keyboards/boardwalk/keymaps/niclake/rules.mk @@ -1,3 +1,3 @@ COMMAND_ENABLE = no RGBLIGHT_ENABLE = yes -BOOTMAGIC_ENABLE = full +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite diff --git a/keyboards/boardwalk/rules.mk b/keyboards/boardwalk/rules.mk index 88cce1631392..270f07ff9e6f 100644 --- a/keyboards/boardwalk/rules.mk +++ b/keyboards/boardwalk/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # QMK Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI support AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = yes # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/bop/bop.c b/keyboards/bop/bop.c new file mode 100644 index 000000000000..492d7cfe3777 --- /dev/null +++ b/keyboards/bop/bop.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Brandon Lewis + * + * 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 "bop.h" diff --git a/keyboards/bop/bop.h b/keyboards/bop/bop.h new file mode 100644 index 000000000000..e4ae82529b52 --- /dev/null +++ b/keyboards/bop/bop.h @@ -0,0 +1,35 @@ +/* Copyright 2021 Brandon Lewis + * + * 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 "quantum.h" + +#define LAYOUT( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, K319, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, K419, \ + K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, K319 }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, K419 }, \ + { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K512, K513, K514, K515, K516, K517, K518, K519 } \ +} diff --git a/keyboards/bop/config.h b/keyboards/bop/config.h new file mode 100644 index 000000000000..fa646a582fd3 --- /dev/null +++ b/keyboards/bop/config.h @@ -0,0 +1,52 @@ +/* Copyright 2021 Brandon Lewis + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x666B // fk +#define PRODUCT_ID 0x626F // bo +#define DEVICE_VER 0x0001 // rev 1 +#define MANUFACTURER fruitykeeb +#define PRODUCT bop + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 20 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B7, D0, D1, D2, D3, D4 } +#define MATRIX_COL_PINS { D5, C5, B0, B1, B2, B3, B4, B5, B6, E7, E6, F0, F7, F6, F5, F4, F3, F2, F1, C6 } +// If your board is spamming the end column, change C7 to C6 in the line above and short those pins on the controller + +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Unicode select mode */ +#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WINC diff --git a/keyboards/bop/info.json b/keyboards/bop/info.json new file mode 100644 index 000000000000..f638d84eb6de --- /dev/null +++ b/keyboards/bop/info.json @@ -0,0 +1,138 @@ +{ + "keyboard_name": "bop", + "url": "https://github.com/blewis308/BOP-Keyboard", + "maintainer": "Fruit", + "width": 20.0, + "height": 6.0, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":16, "y":0}, + {"x":17, "y":0}, + {"x":18, "y":0}, + {"x":19, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":6, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + {"x":15, "y":1}, + {"x":16, "y":1}, + {"x":17, "y":1}, + {"x":18, "y":1}, + {"x":19, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2}, + {"x":16, "y":2}, + {"x":17, "y":2}, + {"x":18, "y":2}, + {"x":19, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":16, "y":3}, + {"x":17, "y":3}, + {"x":18, "y":3}, + {"x":19, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + {"x":2, "y":4}, + {"x":3, "y":4}, + {"x":4, "y":4}, + {"x":5, "y":4}, + {"x":6, "y":4}, + {"x":7, "y":4}, + {"x":8, "y":4}, + {"x":9, "y":4}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4}, + {"x":16, "y":4}, + {"x":17, "y":4}, + {"x":18, "y":4}, + {"x":19, "y":4}, + + {"x":0, "y":5}, + {"x":1, "y":5}, + {"x":2, "y":5}, + {"x":3, "y":5}, + {"x":4, "y":5}, + {"x":5, "y":5}, + {"x":6, "y":5}, + {"x":7, "y":5}, + {"x":8, "y":5}, + {"x":9, "y":5}, + {"x":10, "y":5}, + {"x":11, "y":5}, + {"x":12, "y":5}, + {"x":13, "y":5}, + {"x":14, "y":5}, + {"x":15, "y":5}, + {"x":16, "y":5}, + {"x":17, "y":5}, + {"x":18, "y":5}, + {"x":19, "y":5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/bop/keymaps/default/keymap.c b/keyboards/bop/keymaps/default/keymap.c new file mode 100644 index 000000000000..bd97d092c087 --- /dev/null +++ b/keyboards/bop/keymaps/default/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2021 Brandon Lewis + * + * 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( + /* For build guide: go to https://github.com/blewis308/BOP-Keyboard + * ,-----------------------------------------------------------------------------------------------------------------------. + * | F1 | F5 | F9 | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | _ | + | del | { | } | | | + * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| + * | F2 | F6 | F10 | esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |bkspc| home| end |pg up| + * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| + * | F3 | F7 | F11 | tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | : | " |pg dn| + * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| + * | F4 | F8 | F12 |caplk| a | s | d | f | g | h | j | k | l | ; | ' |enter| | 7 | 8 | 9 | + * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 0 |-----+-----+-----| + * |ptscr|scrlk|psbrk|shift| z | x | c | v | b | n | m | < | > | ? |shift| up | | 4 | 5 | 6 | + * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| + * | cut | copy|paste|Lctrl|L gui|L alt| space | n/a | space | , | . | / | left| down|right| 1 | 2 | 3 | + * `-----------------------------------------------------------------------------------------------------------------------' + * + * Notes: spaces and numpad 0 can be 1u instead of 2u also, this is already reflected in the keymap below + */ + + KC_F1, KC_F5, KC_F9, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_DEL, KC_LCBR, KC_RCBR, KC_PIPE, + KC_F2, KC_F6, KC_F10, 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_HOME, KC_END, KC_PGUP, + KC_F3, KC_F7, KC_F11, 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_COLN, KC_DQUO, KC_PGDN, + KC_F4, KC_F8, KC_F12, 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_KP_0, KC_KP_7, KC_KP_8, KC_KP_9, + KC_PSCR, KC_SLCK, KC_PAUS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_LABK, KC_RABK, KC_QUES, KC_RSFT, KC_UP, KC_KP_0, KC_KP_4, KC_KP_5, KC_KP_6, + LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_NO, KC_SPC, KC_SPC, KC_COMM, KC_DOT, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_1, KC_KP_2, KC_KP_3 ) +}; diff --git a/keyboards/bop/keymaps/via/keymap.c b/keyboards/bop/keymaps/via/keymap.c new file mode 100644 index 000000000000..c554c4b19a4f --- /dev/null +++ b/keyboards/bop/keymaps/via/keymap.c @@ -0,0 +1,78 @@ +/* Copyright 2021 Nathan Blais + * + * 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] = { + + /* For build guide: go to https://github.com/blewis308/BOP-Keyboard + * ,-----------------------------------------------------------------------------------------------------------------------. + * | F1 | F5 | F9 | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | _ | + | del | { | } | | | + * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| + * | F2 | F6 | F10 | esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |bkspc| home| end |pg up| + * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| + * | F3 | F7 | F11 | tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | : | " |pg dn| + * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| + * | F4 | F8 | F12 |caplk| a | s | d | f | g | h | j | k | l | ; | ' |enter| | 7 | 8 | 9 | + * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 0 |-----+-----+-----| + * |ptscr|scrlk|psbrk|shift| z | x | c | v | b | n | m | < | > | ? |shift| up | | 4 | 5 | 6 | + * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| + * | cut | copy|paste|Lctrl|L gui|L alt| space |MO(1)| space | , | . | / | left| down|right| 1 | 2 | 3 | + * `-----------------------------------------------------------------------------------------------------------------------' + * + * Notes: spaces and numpad 0 can be 1u instead of 2u also, this is already reflected in the keymap below + */ + /* SUDSACK KEYMAP + KC_PSCR, KC_SLCK, KC_PAUS, KC_INS , KC_CALC, KC_CUT , KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_HOME, + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_COPY, KC_PSTE, KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_UNDS, KC_BSLS, KC_PGUP, + KC_P7 , KC_P8 , KC_P9 , KC_PPLS, KC_LBRC, KC_RBRC, 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_DEL , KC_PGDN, + KC_P4 , KC_P5 , KC_P6 , KC_PPLS, KC_VOLD, KC_VOLU, 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 , LCTL(KC_TAB), + KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_MUTE, KC_MPLY, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_RGUI , + KC_P0 , KC_P0 , KC_PDOT, KC_MPRV, KC_MNXT, KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_RALT, XXXXXXX, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) + */ + [0] = LAYOUT( + KC_F1, KC_F5, KC_F9, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_DEL, KC_LCBR, KC_RCBR, KC_PIPE, + KC_F2, KC_F6, KC_F10, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PMNS, KC_PEQL, KC_BSPC, KC_HOME, KC_END, KC_PGUP, + KC_F3, KC_F7, KC_F11, 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_COLN, KC_DQUO, KC_PGDN, + KC_F4, KC_F8, KC_F12, 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_KP_0, KC_KP_7, KC_KP_8, KC_KP_9, + KC_PSCR, KC_SLCK, KC_PAUS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_LABK, KC_RABK, KC_QUES, KC_RSFT, KC_UP, KC_KP_0, KC_KP_4, KC_KP_5, KC_KP_6, + KC_CUT, KC_COPY, KC_PSTE, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, MO(1) , KC_SPC, KC_SPC, KC_PCMM, KC_PDOT, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_1, KC_KP_2, KC_KP_3), + + [1] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + + [2] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), + + [3] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO), +}; diff --git a/keyboards/bop/keymaps/via/rules.mk b/keyboards/bop/keymaps/via/rules.mk new file mode 100644 index 000000000000..61e4c8383e4d --- /dev/null +++ b/keyboards/bop/keymaps/via/rules.mk @@ -0,0 +1,3 @@ + +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/bop/readme.md b/keyboards/bop/readme.md new file mode 100644 index 000000000000..8f86f0655991 --- /dev/null +++ b/keyboards/bop/readme.md @@ -0,0 +1,16 @@ +# bop + +![Bop](https://i.imgur.com/mEWmMgvh.jpg) +![Bop-top](https://i.imgur.com/DbjVdvVh.jpg) + +A huge 6x20 ortholinear keyboard inspired by the BFO-9000 + +* Keyboard Maintainer: [Fruit](https://github.com/Blewis308) +* Hardware Supported: Bop v1.1 PCB, Teensy 2.0++ +* Hardware Availablility: Through Group Buy - Jan 2021 + +Make example for this keyboard (after setting up your build envionment): + + make bop: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). diff --git a/keyboards/bop/rules.mk b/keyboards/bop/rules.mk new file mode 100644 index 000000000000..74f58ddfdb5c --- /dev/null +++ b/keyboards/bop/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = halfkay + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SWAP_HANDS_ENABLE = no diff --git a/keyboards/boston/info.json b/keyboards/boston/info.json index be4b6bc60742..f6b745f89dda 100644 --- a/keyboards/boston/info.json +++ b/keyboards/boston/info.json @@ -1,12 +1,13 @@ { - "keyboard_name": "boston", - "url": "https://github.com/bluepylons/Boston", - "maintainer": "Pylon", - "width": 20.5, - "height": 7.75, + "keyboard_name": "boston", + "url": "https://github.com/bluepylons/Boston", + "maintainer": "bluepylons", + "width": 20.5, + "height": 7.75, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ + {"label":"Encoder", "x":0, "y":0}, {"label":"P1", "x":1.5, "y":0}, {"label":"P2", "x":2.5, "y":0}, {"label":"P3", "x":3.5, "y":0}, @@ -25,6 +26,7 @@ {"label":"Insert", "x":17.5, "y":0}, {"label":"Home", "x":18.5, "y":0}, {"label":"PgUp", "x":19.5, "y":0}, + {"label":"Esc", "x":0, "y":1}, {"label":"F1", "x":1.5, "y":1}, {"label":"F2", "x":2.5, "y":1}, @@ -56,11 +58,11 @@ {"label":"*", "x":8, "y":2.5}, {"label":"(", "x":9, "y":2.5}, {"label":")", "x":10, "y":2.5}, - {"label":"_", "x":11, "y":2.5}, - {"label":"+", "x":12, "y":2.5}, - {"label":"Backspace", "x":13, "y":2.5}, - {"label":"Backspace", "x":14, "y":2.5}, - {"label":"P16", "x":15.25, "y":2.5}, + {"label":"_", "x":11, "y":2.5}, + {"label":"+", "x":12, "y":2.5}, + {"label":"Backspace", "x":13, "y":2.5}, + {"label":"Backspace", "x":14, "y":2.5}, + {"label":"P16", "x":15.25, "y":2.5}, {"label":"Num Lock", "x":16.5, "y":2.5}, {"label":"/", "x":17.5, "y":2.5}, {"label":"*", "x":18.5, "y":2.5}, @@ -119,13 +121,12 @@ {"label":">", "x":10.25, "y":5.5}, {"label":"?", "x":11.25, "y":5.5}, {"label":"Right Shift", "x":12.25, "y":5.5, "w":1.75}, - {"label":"Up", "x":14.25, "y":5.75}, + {"label":"Up", "x":14.25, "y":5.75}, {"label":"1", "x":16.5, "y":5.5}, {"label":"2", "x":17.5, "y":5.5}, {"label":"3", "x":18.5, "y":5.5}, {"label":"Enter", "x":19.5, "y":5.5, "h":2}, - {"label":"Ctrl", "x":0, "y":6.5, "w":1.25}, {"label":"OS", "x":1.25, "y":6.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":6.5, "w":1.25}, diff --git a/keyboards/boston/keymaps/default/keymap.c b/keyboards/boston/keymaps/default/keymap.c index 6a3cc1e60a41..a1955216e607 100644 --- a/keyboards/boston/keymaps/default/keymap.c +++ b/keyboards/boston/keymaps/default/keymap.c @@ -20,33 +20,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_MUTE, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_MPRV, KC_MPLY, KC_MNXT , KC_INS , KC_HOME, KC_PGUP, + KC_MUTE, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_MPRV, KC_MPLY, KC_MNXT , KC_INS , KC_HOME, KC_PGUP, 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_SLCK, KC_PAUSE, KC_DEL , KC_END , KC_PGDN, KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_CALC, KC_NLCK , KC_PSLS, KC_PAST, KC_PMNS, 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, RGB_TOG, KC_P7 , KC_P8 , KC_P9 , KC_PEQL, 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_ENT , KC_MSEL, KC_P4 , KC_P5 , KC_P6 , KC_PPLS, KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1 , KC_P2 , KC_P3 , KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_APP , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_P0 , KC_PDOT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_APP , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_P0 , KC_PDOT ), - + [1] = LAYOUT_all( - - _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, + + _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______ , _______, _______, _______, - _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ + _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ ), -}; +}; -void encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { tap_code(KC_VOLU); - } - else { + } else { tap_code(KC_VOLD); - } - } + } + return true; +} diff --git a/keyboards/boston/keymaps/rgb-light-layers/keymap.c b/keyboards/boston/keymaps/rgb-light-layers/keymap.c index 44e3df70f51b..6e556325172a 100644 --- a/keyboards/boston/keymaps/rgb-light-layers/keymap.c +++ b/keyboards/boston/keymaps/rgb-light-layers/keymap.c @@ -20,96 +20,96 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_MUTE, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_MPRV, KC_MPLY, KC_MNXT , KC_INS , KC_HOME, KC_PGUP, + KC_MUTE, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_MPRV, KC_MPLY, KC_MNXT , KC_INS , KC_HOME, KC_PGUP, 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_SLCK, KC_PAUSE, KC_DEL , KC_END , KC_PGDN, KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_CALC, KC_NLCK , KC_PSLS, KC_PAST, KC_PMNS, 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, RGB_TOG, KC_P7 , KC_P8 , KC_P9 , KC_PEQL, 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_ENT , KC_MSEL, KC_P4 , KC_P5 , KC_P6 , KC_PPLS, KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1 , KC_P2 , KC_P3 , KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_APP , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_P0 , KC_PDOT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_APP , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_P0 , KC_PDOT ), - + [1] = LAYOUT_all( - - _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, + + _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______ , _______, _______, _______, - _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ + _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ ), [2] = LAYOUT_all( - - _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, + + _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______ , _______, _______, _______, - _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ + _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ ), - + [3] = LAYOUT_all( - - _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, + + _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______ , _______, _______, _______, - _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ + _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ ), - + [4] = LAYOUT_all( - - _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, + + _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______ , _______, _______, _______, - _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ + _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ ), [5] = LAYOUT_all( - - _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, + + _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______ , _______, _______, _______, - _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ + _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ ), - + [6] = LAYOUT_all( - - _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, + + _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______ , _______, _______, _______, - _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ + _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ ), - + [7] = LAYOUT_all( - - _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, + + _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______, _______ , _______, _______, _______, _______,_______,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______, _______ , _______, _______, _______, - _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ + _______,_______,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______, _______, _______, _______ , _______, _______ ), -}; +}; uint8_t go_to_layer = 0; /* Used for the layer changing code for the encoder below */ -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (matrix_is_on(6, 10)) { /* Use the knob to change layers when holding down Menu key. Unfortunately using layers to initiate this behavior is not possible. */ if (clockwise) { @@ -121,7 +121,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { else { go_to_layer=0; } - + layer_on(go_to_layer); } @@ -129,7 +129,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { else { layer_off(go_to_layer); - + /* update go_to_layer*/ if(go_to_layer>0) { go_to_layer--; @@ -142,15 +142,16 @@ void encoder_update_user(uint8_t index, bool clockwise) { } } - + else { /* normal operation as volume knob */ if (clockwise) { tap_code(KC_VOLU); - } + } else { tap_code(KC_VOLD); } } + return true; } /*Default layer is white.*/ @@ -220,4 +221,3 @@ bool led_update_user(led_t led_state) { rgblight_set_layer_state(0, true); return true; } - diff --git a/keyboards/boston/rules.mk b/keyboards/boston/rules.mk index 47dc20576753..e6eaba0d79f5 100644 --- a/keyboards/boston/rules.mk +++ b/keyboards/boston/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/boston_meetup/2019/2019.c b/keyboards/boston_meetup/2019/2019.c index 933c14dee4f9..fd283b087ab7 100644 --- a/keyboards/boston_meetup/2019/2019.c +++ b/keyboards/boston_meetup/2019/2019.c @@ -182,9 +182,10 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return process_record_user(keycode, record); } -void encoder_update_kb(uint8_t index, bool clockwise) { +bool encoder_update_kb(uint8_t index, bool clockwise) { encoder_value = (encoder_value + (clockwise ? 1 : -1)) % 64; queue_for_send = true; + return true; } #endif diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h index d9fd93da6e28..a1f4fc456d05 100644 --- a/keyboards/boston_meetup/2019/config.h +++ b/keyboards/boston_meetup/2019/config.h @@ -113,26 +113,6 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ - -#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 2 /* Haptic Driver initialization settings * Feedback Control Settings */ diff --git a/keyboards/boston_meetup/2019/keymaps/default/keymap.c b/keyboards/boston_meetup/2019/keymaps/default/keymap.c index 8e729ca714c1..6375599455db 100644 --- a/keyboards/boston_meetup/2019/keymaps/default/keymap.c +++ b/keyboards/boston_meetup/2019/keymaps/default/keymap.c @@ -156,10 +156,3 @@ bool music_mask_user(uint16_t keycode) { return true; } } - -void matrix_init_user(void) { -} - - -void matrix_scan_user(void) { -} diff --git a/keyboards/boston_meetup/2019/rules.mk b/keyboards/boston_meetup/2019/rules.mk index c79ce4b441a9..236f28c4e51c 100644 --- a/keyboards/boston_meetup/2019/rules.mk +++ b/keyboards/boston_meetup/2019/rules.mk @@ -2,11 +2,14 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # BACKLIGHT_ENABLE = no -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -21,4 +24,3 @@ RGB_MATRIX_DRIVER = WS2812 HAPTIC_ENABLE += DRV2605L QWIIC_ENABLE = yes QWIIC_DRIVERS += MICRO_OLED -# SERIAL_LINK_ENABLE = yes diff --git a/keyboards/botanicalkeyboards/fm2u/rules.mk b/keyboards/botanicalkeyboards/fm2u/rules.mk index be4309735628..190f1f3b4929 100644 --- a/keyboards/botanicalkeyboards/fm2u/rules.mk +++ b/keyboards/botanicalkeyboards/fm2u/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/box75/rules.mk b/keyboards/box75/rules.mk index 2d2f71e19531..a4f84f999b54 100644 --- a/keyboards/box75/rules.mk +++ b/keyboards/box75/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/bpiphany/frosty_flake/config.h b/keyboards/bpiphany/frosty_flake/config.h index 344db5f0d91e..ae19184a6a7f 100644 --- a/keyboards/bpiphany/frosty_flake/config.h +++ b/keyboards/bpiphany/frosty_flake/config.h @@ -40,7 +40,12 @@ along with this program. If not, see . /* * Keyboard Matrix Assignments + * + * MATRIX_ROW_PINS and MATRIX_COL_PINS aren't actually used and are included + * for data driven compatibility. */ +#define MATRIX_COL_PINS { B0, B3, B2, B1, B6, B4, B5, C7 } +#define MATRIX_ROW_PINS { NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } #define UNUSED_PINS { C0, C1, C2, C3, C4, D2, D7 } /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ diff --git a/keyboards/bpiphany/frosty_flake/frosty_flake.h b/keyboards/bpiphany/frosty_flake/frosty_flake.h index cc870c277e08..f4f69f1a3d56 100644 --- a/keyboards/bpiphany/frosty_flake/frosty_flake.h +++ b/keyboards/bpiphany/frosty_flake/frosty_flake.h @@ -111,12 +111,26 @@ KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \ KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \ KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \ -) LAYOUT_tkl( \ - KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ - KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \ - KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \ - KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \ - KN2, KC_NO, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \ - KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \ -) +) \ +{ \ +/* 0 1 2 3 4 5 6 7 */ \ +/* A */ { KC_NO, KA1, KC_NO, KC_NO, KA4, KA5, KC_NO, KA7, }, \ +/* B */ { KB0, KB1, KB2, KB3, KB4, KC_NO, KB6, KB7, }, \ +/* C */ { KC0, KC_NO, KC_NO, KC_NO, KC_NO, KC5, KC6, KC7, }, \ +/* D */ { KD0, KD1, KD2, KD3, KD4, KD5, KC_NO, KD7, }, \ +/* E */ { KC_NO, KE1, KE2, KE3, KE4, KE5, KE6, KE7, }, \ +/* F */ { KF0, KF1, KF2, KF3, KF4, KF5, KF6, KF7, }, \ +/* G */ { KG0, KG1, KG2, KG3, KG4, KG5, KG6, KG7, }, \ +/* H */ { KC_NO, KH1, KH2, KH3, KH4, KH5, KH6, KH7, }, \ +/* I */ { KC_NO, KI1, KI2, KI3, KI4, KI5, KC_NO, KI7, }, \ +/* J */ { KC_NO, KJ1, KJ2, KJ3, KJ4, KJ5, KJ6, KJ7, }, \ +/* K */ { KK0, KC_NO, KC_NO, KC_NO, KK4, KC_NO, KK6, KC_NO, }, \ +/* L */ { KL0, KC_NO, KC_NO, KC_NO, KL4, KC_NO, KC_NO, KC_NO, }, \ +/* M */ { KC_NO, KC_NO, KC_NO, KM3, KC_NO, KC_NO, KC_NO, KC_NO, }, \ +/* N */ { KC_NO, KC_NO, KN2, KN3, KC_NO, KC_NO, KC_NO, KC_NO, }, \ +/* O */ { KO0, KC_NO, KC_NO, KC_NO, KO4, KC_NO, KO6, KO7, }, \ +/* P */ { KC_NO, KC_NO, KP2, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, \ +/* Q */ { KC_NO, KC_NO, KC_NO, KC_NO, KQ4, KC_NO, KC_NO, KQ7, }, \ +/* R */ { KR0, KC_NO, KR2, KR3, KR4, KR5, KR6, KR7, }, \ +} diff --git a/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/rules.mk b/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/rules.mk index 1b0aead1d0f7..2c5d53c82114 100644 --- a/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/rules.mk +++ b/keyboards/bpiphany/frosty_flake/keymaps/QFR_JM/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/bpiphany/frosty_flake/keymaps/default/rules.mk b/keyboards/bpiphany/frosty_flake/keymaps/default/rules.mk index a5a411e8f234..6b3e36879d76 100644 --- a/keyboards/bpiphany/frosty_flake/keymaps/default/rules.mk +++ b/keyboards/bpiphany/frosty_flake/keymaps/default/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -12,6 +12,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/rules.mk b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/rules.mk index de0f30e48e7b..c2682fb1b4a2 100644 --- a/keyboards/bpiphany/frosty_flake/keymaps/nikchi/rules.mk +++ b/keyboards/bpiphany/frosty_flake/keymaps/nikchi/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/bpiphany/frosty_flake/keymaps/tkl/rules.mk b/keyboards/bpiphany/frosty_flake/keymaps/tkl/rules.mk index c76a5a80e4b3..1d89eaf917bf 100644 --- a/keyboards/bpiphany/frosty_flake/keymaps/tkl/rules.mk +++ b/keyboards/bpiphany/frosty_flake/keymaps/tkl/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/bpiphany/frosty_flake/rules.mk b/keyboards/bpiphany/frosty_flake/rules.mk index 8756a89b6ef3..ab8bc8ac9a2f 100644 --- a/keyboards/bpiphany/frosty_flake/rules.mk +++ b/keyboards/bpiphany/frosty_flake/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bpiphany/kitten_paw/keymaps/default/keymap.c b/keyboards/bpiphany/kitten_paw/keymaps/default/keymap.c index bd909c288cc7..8f229c8ba853 100644 --- a/keyboards/bpiphany/kitten_paw/keymaps/default/keymap.c +++ b/keyboards/bpiphany/kitten_paw/keymaps/default/keymap.c @@ -13,19 +13,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_P1, KC_P2, KC_P3,KC_PENT, \ KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c index e2b56132bfbe..cc4d0bca636c 100644 --- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c +++ b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c @@ -1,12 +1,6 @@ #include QMK_KEYBOARD_H #include "mousekey.h" -#undef C -#undef S -#define C(kc) LCTL(KC_##kc) -#define S(kc) LSFT(KC_##kc) -#define RA(kc) RALT(KC_##kc) -#define KC_SLCT KC_SELECT #define MEDAPP LT(MEDIA, KC_APP) uint8_t current_layer_global = 255; @@ -21,19 +15,16 @@ enum layers { MISC, }; -enum function_id { - LSHFT_PAREN, +enum custom_keycodes { + LSHFT_PAREN = SAFE_RANGE, RSHFT_PAREN, LCTRL_BRACKET, RCTRL_BRACKET, LALT_CURLY, RALT_CURLY, - CTRL_CLICK -}; - -enum macro_id { - GRV, - CFLEX + CTRL_CLICK, + M_GRV, + M_CFLEX }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -42,25 +33,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \ 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_P7, KC_P8, KC_P9,KC_PPLS, \ TT(MOUSE1), 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_P4, KC_P5, KC_P6, \ - F(8),KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, F(9), KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT, \ - F(1),KC_LGUI, F(3), LT(MISC, KC_SPC), F(4),TT(PROG1), MEDAPP, F(2), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT), + LSHFT_PAREN,KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, RSHFT_PAREN, KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT, \ + LCTRL_BRACKET,KC_LGUI, LALT_CURLY, LT(MISC, KC_SPC), RALT_CURLY,TT(PROG1), MEDAPP, RCTRL_BRACKET, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT), /* Layer 1: Programming Layer 1, emulating US l ayout */ [PROG1] = LAYOUT(\ KC_ESC,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ - M(GRV),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH, S(0),_______, _______,_______,_______, _______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______, KC_Z,_______,_______,_______,_______, RA(8), RA(9),RA(MINS), _______,_______,_______, _______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,S(COMM),S(BSLS), _______, _______,_______,_______, \ - MO(PROG2),_______, KC_Y,_______,_______,_______,_______,_______,_______,_______,_______, S(7), MO(PROG2), _______, _______,_______,_______,_______, \ + M_GRV,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH,S(KC_0),_______, _______,_______,_______, _______,_______,_______,_______, \ + _______,_______,_______,_______,_______,_______, KC_Z,_______,_______,_______,_______,ALGR(KC_8),ALGR(KC_9),ALGR(KC_MINS), _______,_______,_______, _______,_______,_______,_______, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,S(KC_COMM),S(KC_BSLS), _______, _______,_______,_______, \ + MO(PROG2),_______, KC_Y,_______,_______,_______,_______,_______,_______,_______,_______, S(KC_7), MO(PROG2), _______, _______,_______,_______,_______, \ _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______), /* Layer 2: programming layer 2 all keys that are not FN keys are sent as LSFT+key on this layer */ [PROG2] = LAYOUT(\ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ - RA(RBRC),_______, RA(Q),KC_BSLS,_______,_______,M(CFLEX), S(6),S(RBRC), S(8), S(9),S(SLSH),KC_RBRC,_______, _______,_______,_______, _______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RA(7), RA(0),RA(NUBS), _______,_______,_______, _______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, S(DOT), S(2), _______, _______,_______,_______, \ - _______,S(NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(NUBS),S(MINS), _______, _______, _______,_______,_______,_______, \ + ALGR(KC_RBRC),_______, ALGR(KC_Q),KC_BSLS,_______,_______,M_CFLEX, S(KC_6),S(KC_RBRC), S(KC_8),S(KC_9),S(KC_SLSH),KC_RBRC,_______, _______,_______,_______, _______,_______,_______,_______, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, ALGR(KC_7),ALGR(KC_0),ALGR(KC_NUBS), _______,_______,_______, _______,_______,_______,_______, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, S(KC_DOT), S(KC_2), _______, _______,_______,_______, \ + _______,S(KC_NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(KC_NUBS),S(KC_MINS), _______, _______, _______,_______,_______,_______, \ _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______), /* Layer 3: media layer */ [MEDIA] = LAYOUT(\ @@ -72,11 +63,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX,_______,XXXXXXX, KC_MRWD,KC_MSTP,KC_MFFD, XXXXXXX,XXXXXXX), /* Layer 4: Mouse layer */ [MOUSE1] = LAYOUT(\ - F(6),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ + TO(DEFAULT),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ _______,KC_ACL0,KC_ACL1,KC_ACL2,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ - _______,KC_BTN4,KC_WH_D,KC_MS_U,KC_WH_U,_______, C(Z),_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ - _______,KC_BTN5,KC_MS_L,KC_MS_D,KC_MS_R, F(7),KC_WH_L,KC_WH_D,KC_WH_U,KC_WH_R,_______,_______, _______, _______,_______,_______, \ - MO(MOUSE2),_______, C(Y), C(X), C(C), C(V),_______,KC_BTN2,KC_BTN3,C(PGUP),C(PGDN),_______, KC_RSFT, _______, _______,_______,_______,_______, \ + _______,KC_BTN4,KC_WH_D,KC_MS_U,KC_WH_U,_______, C(KC_Z),_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ + _______,KC_BTN5,KC_MS_L,KC_MS_D,KC_MS_R, CTRL_CLICK,KC_WH_L,KC_WH_D,KC_WH_U,KC_WH_R,_______,_______, _______, _______,_______,_______, \ + MO(MOUSE2),_______,C(KC_Y),C(KC_X),C(KC_C),C(KC_V),_______,KC_BTN2,KC_BTN3,C(KC_PGUP),C(KC_PGDN),_______, KC_RSFT, _______, _______,_______,_______,_______, \ KC_LCTL,_______,KC_LALT, KC_BTN1, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, _______,_______,_______, _______,_______), /* Layer 5: Mouse layer 2*/ [MOUSE2] = LAYOUT(\ @@ -90,44 +81,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MISC] = LAYOUT(\ _______, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______,_______,_______, \ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ - _______,KC_SLCT, C(W), KC_UP,_______,_______,_______,_______,KC_BSPC, KC_DEL,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ + _______,KC_SLCT, C(KC_W), KC_UP,_______,_______,_______,_______,KC_BSPC, KC_DEL,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ _______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,KC_HOME,KC_PGDN,KC_PGUP,_______,_______,_______, _______, _______,_______,_______, \ - KC_LSFT,_______, C(Y), C(X), C(C), C(V), KC_SPC, KC_END,_______,C(PGUP),C(PGDN),_______, _______, _______, _______,_______,_______,_______, \ + KC_LSFT,_______,C(KC_Y),C(KC_X),C(KC_C),C(KC_V), KC_SPC, KC_END,_______,C(KC_PGUP),C(KC_PGDN),_______, _______, _______, _______,_______,_______,_______, \ _______,_______,_______, LT(MISC, KC_SPC), _______,_______,_______,_______, _______,_______,_______, _______,_______), }; -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_FUNCTION_TAP(LCTRL_BRACKET), // tap to print [ - [2] = ACTION_FUNCTION_TAP(RCTRL_BRACKET), // tap to print ] - [3] = ACTION_FUNCTION_TAP(LALT_CURLY), // tap to print { - [4] = ACTION_FUNCTION_TAP(RALT_CURLY), // tap to print } - [6] = ACTION_LAYER_SET_CLEAR(DEFAULT), - [7] = ACTION_FUNCTION_TAP(CTRL_CLICK), - [8] = ACTION_FUNCTION_TAP(LSHFT_PAREN), // tap to print ( - [9] = ACTION_FUNCTION_TAP(RSHFT_PAREN), // tap to print ) -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - // MACRODOWN only works in this function - switch(id) { - case GRV: // macro to print accent grave - return (record->event.pressed ? - MACRO( D(LSFT), T(EQL), U(RALT), T(SPC), END) : - MACRO_NONE ); - case CFLEX: // print accent circonflex - return (record->event.pressed ? - MACRO( T(GRV), T(SPC), END ) : - MACRO_NONE ); - } - return MACRO_NONE; -}; - - -void matrix_init_user(void) { - -} - void matrix_scan_user(void) { uint8_t layer; layer = biton32(layer_state); @@ -147,10 +106,6 @@ void matrix_scan_user(void) { } } -void led_set_user(uint8_t usb_led) { - -} - void tap_helper(keyrecord_t *record, uint16_t orig_mod, uint16_t macro_mod, uint16_t macro_kc ) { if (record->event.pressed) { if (record->tap.count > 0 && !record->tap.interrupted) { @@ -175,28 +130,45 @@ void tap_helper(keyrecord_t *record, uint16_t orig_mod, uint16_t macro_mod, uint } } -/* if LCTRL is tabbed, print (, or ) if RCTRL is tabbed, same for LALT/RALT and [/] */ -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - // The code is copied from keymap_hasu.c in the tmk keyboards hhkb folder - switch (id) { +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + uint8_t layer; + layer = biton32(layer_state); + if (layer == PROG2) { + if (keycode >= KC_A && keycode <= KC_EXSEL && \ + !( // do not send LSFT + these keycodes, they are needed for emulating the US layout + keycode == KC_NONUS_BSLASH || + keycode == KC_RBRC || + keycode == KC_BSLS || + keycode == KC_GRV + )) { + // LSFT is the modifier for this layer, so we set LSFT for every key to get the expected behavior + if (record->event.pressed) { + register_mods(MOD_LSFT); + } else { + unregister_mods(MOD_LSFT); + } + } + } + + switch (keycode) { case LCTRL_BRACKET: tap_helper(record, KC_LCTL, KC_RALT, KC_8); - break; + return false; case RCTRL_BRACKET: tap_helper(record, KC_RCTL, KC_RALT, KC_9); - break; + return false; case LALT_CURLY: tap_helper(record, KC_LALT, KC_RALT, KC_7); - break; + return false; case RALT_CURLY: tap_helper(record, KC_RALT, KC_RALT, KC_0); - break; + return false; case LSHFT_PAREN: tap_helper(record, KC_LSFT, KC_LSFT, KC_8); - break; + return false; case RSHFT_PAREN: tap_helper(record, KC_RSFT, KC_LSFT, KC_9); - break; + return false; case CTRL_CLICK: if (record->event.pressed) { mousekey_clear(); @@ -212,28 +184,16 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { unregister_mods(MOD_BIT(KC_LCTL)); send_keyboard_report(); } - break; + return false; + case M_GRV: + tap_code16(S(KC_EQL)); + tap_code(KC_SPC); + return false; + case M_CFLEX: + tap_code(KC_GRV); + tap_code(KC_SPC); + return false; } -} -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - uint8_t layer; - layer = biton32(layer_state); - if (layer == PROG2) { - if (keycode >= KC_A && keycode <= KC_EXSEL && \ - !( // do not send LSFT + these keycodes, they are needed for emulating the US layout - keycode == KC_NONUS_BSLASH || - keycode == KC_RBRC || - keycode == KC_BSLS || - keycode == KC_GRV - )) { - // LSFT is the modifier for this layer, so we set LSFT for every key to get the expected behavior - if (record->event.pressed) { - register_mods(MOD_LSFT); - } else { - unregister_mods(MOD_LSFT); - } - } - } return true; } diff --git a/keyboards/bpiphany/kitten_paw/rules.mk b/keyboards/bpiphany/kitten_paw/rules.mk index 23546e4f0a08..caab5b5ffe76 100644 --- a/keyboards/bpiphany/kitten_paw/rules.mk +++ b/keyboards/bpiphany/kitten_paw/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bpiphany/pegasushoof/2013/2013.c b/keyboards/bpiphany/pegasushoof/2013/2013.c index 7a489b22a70a..c9bd01a9978f 100644 --- a/keyboards/bpiphany/pegasushoof/2013/2013.c +++ b/keyboards/bpiphany/pegasushoof/2013/2013.c @@ -23,37 +23,3 @@ extern inline void ph_caps_led_off(void); extern inline void ph_sclk_led_on(void); extern inline void ph_sclk_led_off(void); - - -__attribute__ ((weak)) -void matrix_init_user(void) { -}; - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -__attribute__ ((weak)) -bool process_action_user(keyrecord_t *record) { - return true; -} - -__attribute__ ((weak)) -void led_set_user(uint8_t usb_led) { -} - -void matrix_init_kb(void) { - matrix_init_user(); -} - -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -bool process_action_kb(keyrecord_t *record) { - return process_action_user(record); -} - -void led_set_kb(uint8_t usb_led) { - led_set_user(usb_led); -} diff --git a/keyboards/bpiphany/pegasushoof/2013/2013.h b/keyboards/bpiphany/pegasushoof/2013/2013.h index b3e911ab41b7..7a4d7f0b5862 100644 --- a/keyboards/bpiphany/pegasushoof/2013/2013.h +++ b/keyboards/bpiphany/pegasushoof/2013/2013.h @@ -45,14 +45,16 @@ along with this program. If not, see . KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO1, \ KB2, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KB3, KC6, \ KP4, KD2, KN6, KQ6, KN0, KA3, KM0, KP1, KC0, KQ0, KR0 \ - ) LAYOUT( \ - KG6, KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0, KN5, KN7, KP7, \ - KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO2, KR4, KC4, KE4, \ - KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KO3, KQ4, KC5, KE5, \ - KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO1, \ - KB2,KC_NO,KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KB3, KC6, \ - KP4, KD2, KN6, KQ6, KN0, KA3, KM0, KP1, KC0, KQ0, KR0 \ - ) + ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ + /* 0 */ { KC_NO , KC_NO , KC0 , KC_NO , KC_NO , KF0 , KC_NO , KC_NO , KC_NO , KJ0 , KK0 , KC_NO , KM0 , KN0 , KO0 , KC_NO , KQ0 , KR0 }, \ + /* 1 */ { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KG1 , KH1 , KI1 , KJ1 , KK1 , KL1 , KM1 , KC_NO , KO1 , KP1 , KC_NO , KC_NO }, \ + /* 2 */ { KC_NO , KB2 , KC_NO , KD2 , KC_NO , KF2 , KG2 , KH2 , KI2 , KJ2 , KK2 , KL2 , KM2 , KC_NO , KO2 , KC_NO , KC_NO , KC_NO }, \ + /* 3 */ { KA3 , KB3 , KC_NO , KC_NO , KC_NO , KF3 , KG3 , KH3 , KI3 , KJ3 , KK3 , KL3 , KM3 , KC_NO , KO3 , KC_NO , KC_NO , KC_NO }, \ + /* 4 */ { KC_NO , KC_NO , KC4 , KC_NO , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , KM4 , KC_NO , KO4 , KP4 , KQ4 , KR4 }, \ + /* 5 */ { KC_NO , KC_NO , KC5 , KC_NO , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , KK5 , KL5 , KM5 , KN5 , KO5 , KP5 , KC_NO , KC_NO }, \ + /* 6 */ { KC_NO , KC_NO , KC6 , KC_NO , KC_NO , KF6 , KG6 , KC_NO , KI6 , KJ6 , KK6 , KL6 , KC_NO , KN6 , KO6 , KC_NO , KQ6 , KC_NO }, \ + /* 7 */ { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KF7 , KG7 , KH7 , KI7 , KJ7 , KK7 , KL7 , KM7 , KN7 , KC_NO , KP7 , KC_NO , KC_NO } \ + } #define LAYOUT_tkl_jis( \ KG6, KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0, KN5, KN7, KP7, \ diff --git a/keyboards/bpiphany/pegasushoof/2015/2015.c b/keyboards/bpiphany/pegasushoof/2015/2015.c index 62841e7af189..401dc2633b74 100644 --- a/keyboards/bpiphany/pegasushoof/2015/2015.c +++ b/keyboards/bpiphany/pegasushoof/2015/2015.c @@ -23,36 +23,3 @@ extern inline void ph_caps_led_off(void); extern inline void ph_sclk_led_on(void); extern inline void ph_sclk_led_off(void); - -__attribute__ ((weak)) -void matrix_init_user(void) { -}; - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -__attribute__ ((weak)) -bool process_action_user(keyrecord_t *record) { - return true; -} - -__attribute__ ((weak)) -void led_set_user(uint8_t usb_led) { -} - -void matrix_init_kb(void) { - matrix_init_user(); -} - -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -bool process_action_kb(keyrecord_t *record) { - return process_action_user(record); -} - -void led_set_kb(uint8_t usb_led) { - led_set_user(usb_led); -} diff --git a/keyboards/bpiphany/pegasushoof/2015/2015.h b/keyboards/bpiphany/pegasushoof/2015/2015.h index 8a0084d4053a..418772aa2875 100644 --- a/keyboards/bpiphany/pegasushoof/2015/2015.h +++ b/keyboards/bpiphany/pegasushoof/2015/2015.h @@ -47,14 +47,16 @@ along with this program. If not, see . KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \ KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \ KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \ - ) LAYOUT( \ - KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ - KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \ - KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \ - KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \ - KN2,KC_NO,KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \ - KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \ - ) + ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ + /* 0 */ { ___ , KB0 , KC0 , KD0 , ___ , KF0 , KG0 , ___ , ___ , ___ , KK0 , KL0 , ___ , ___ , KO0 , ___ , ___ , KR0 }, \ + /* 1 */ { KA1 , KB1 , ___ , KD1 , KE1 , KF1 , KG1 , KH1 , KI1 , KJ1 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , ___ }, \ + /* 2 */ { ___ , KB2 , ___ , KD2 , KE2 , KF2 , KG2 , KH2 , KI2 , KJ2 , ___ , ___ , ___ , KN2 , ___ , KP2 , ___ , KR2 }, \ + /* 3 */ { ___ , KB3 , ___ , KD3 , KE3 , KF3 , KG3 , KH3 , KI3 , KJ3 , ___ , ___ , KM3 , KN3 , ___ , ___ , ___ , KR3 }, \ + /* 4 */ { KA4 , KB4 , ___ , KD4 , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , ___ , ___ , KO4 , ___ , KQ4 , KR4 }, \ + /* 5 */ { KA5 , ___ , KC5 , KD5 , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , KR5 }, \ + /* 6 */ { ___ , KB6 , KC6 , ___ , KE6 , KF6 , KG6 , KH6 , ___ , KJ6 , KK6 , ___ , ___ , ___ , KO6 , ___ , ___ , KR6 }, \ + /* 7 */ { KA7 , KB7 , KC7 , KD7 , KE7 , KF7 , KG7 , KH7 , KI7 , KJ7 , ___ , ___ , ___ , ___ , KO7 , ___ , KQ7 , KR7 } \ + } #define LAYOUT_tkl_iso( \ KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ @@ -63,14 +65,16 @@ along with this program. If not, see . KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB3, KB1, \ KN2, KI6, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \ KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \ - ) LAYOUT( \ - KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ - KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \ - KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \ - KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \ - KN2, KI6 ,KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \ - KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \ - ) + ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \ + /* 0 */ { ___ , KB0 , KC0 , KD0 , ___ , KF0 , KG0 , ___ , ___ , ___ , KK0 , KL0 , ___ , ___ , KO0 , ___ , ___ , KR0 }, \ + /* 1 */ { KA1 , KB1 , ___ , KD1 , KE1 , KF1 , KG1 , KH1 , KI1 , KJ1 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , ___ }, \ + /* 2 */ { ___ , KB2 , ___ , KD2 , KE2 , KF2 , KG2 , KH2 , KI2 , KJ2 , ___ , ___ , ___ , KN2 , ___ , KP2 , ___ , KR2 }, \ + /* 3 */ { ___ , KB3 , ___ , KD3 , KE3 , KF3 , KG3 , KH3 , KI3 , KJ3 , ___ , ___ , KM3 , KN3 , ___ , ___ , ___ , KR3 }, \ + /* 4 */ { KA4 , KB4 , ___ , KD4 , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , ___ , ___ , KO4 , ___ , KQ4 , KR4 }, \ + /* 5 */ { KA5 , ___ , KC5 , KD5 , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , KR5 }, \ + /* 6 */ { ___ , KB6 , KC6 , ___ , KE6 , KF6 , KG6 , KH6 , KI6 , KJ6 , KK6 , ___ , ___ , ___ , KO6 , ___ , ___ , KR6 }, \ + /* 7 */ { KA7 , KB7 , KC7 , KD7 , KE7 , KF7 , KG7 , KH7 , KI7 , KJ7 , ___ , ___ , ___ , ___ , KO7 , ___ , KQ7 , KR7 } \ + } #define LAYOUT_tkl_jis( \ KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ diff --git a/keyboards/bpiphany/pegasushoof/2015/matrix.c b/keyboards/bpiphany/pegasushoof/2015/matrix.c index 42c5da3bc538..b05869fedac0 100644 --- a/keyboards/bpiphany/pegasushoof/2015/matrix.c +++ b/keyboards/bpiphany/pegasushoof/2015/matrix.c @@ -33,6 +33,18 @@ static matrix_row_t matrix_debouncing[MATRIX_ROWS]; static matrix_row_t read_cols(void); static void select_row(uint8_t col); +// user-defined overridable functions + +__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); } + +__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); } + +__attribute__((weak)) void matrix_init_user(void) {} + +__attribute__((weak)) void matrix_scan_user(void) {} + +// helper functions + inline uint8_t matrix_rows(void) { return MATRIX_ROWS; diff --git a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c index f9234a7b2f9d..7884462021d9 100644 --- a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c +++ b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c @@ -24,8 +24,8 @@ along with this program. If not, see . #define SE_AO KC_LBRC #define SE_CIRC KC_RBRC #define SE_QUOT KC_BSLS -#define SE_OE KC_SCLN -#define SE_AE KC_QUOT +#define SE_ODIA KC_SCLN +#define SE_ADIA KC_QUOT #define SE_MINS KC_SLSH #define SE_LTGT KC_NUBS #define SE_LCBR RALT(KC_7) @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [KM_BLOWRAK] = LAYOUT( \ 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_SLCK,KC_PAUS, \ SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,SE_ACUT,KC_BSPC, KC_INS, KC_HOME,KC_PGUP, \ - KC_TAB, SE_AO, SE_AE, SE_OE, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_COMM,SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \ + KC_TAB, SE_AO, SE_ADIA,SE_ODIA,KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_COMM,SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \ KC_LCTRL,KC_A, KC_O, KC_E, KC_U, KC_I, KC_H, KC_D, KC_T, KC_N, KC_S, SE_MINS, KC_ENT, \ KC_LSFT, SE_LTGT,KC_DOT, KC_Q, KC_J, KC_K, KC_B, KC_X, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \ MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,TG(KM_QWERTY), KC_LEFT,KC_DOWN,KC_RGHT), @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_SLCK,KC_PAUS, \ SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,SE_ACUT,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, SE_AO, SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \ - KC_LCTRL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_OE, SE_AE, KC_ENT, \ + KC_LCTRL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_ODIA,SE_ADIA, KC_ENT, \ KC_LSFT, SE_LTGT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, SE_MINS, KC_RSFT, KC_UP, \ MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,TG(KM_QWERTY), KC_LEFT,KC_DOWN,KC_RGHT), /* Layer 2: Media layer */ diff --git a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/rules.mk b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/rules.mk index 8254a83891d1..9af05bb3d958 100644 --- a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/rules.mk +++ b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/bpiphany/pegasushoof/keymaps/citadel/rules.mk b/keyboards/bpiphany/pegasushoof/keymaps/citadel/rules.mk index 3eb289a71667..294a245aabcd 100644 --- a/keyboards/bpiphany/pegasushoof/keymaps/citadel/rules.mk +++ b/keyboards/bpiphany/pegasushoof/keymaps/citadel/rules.mk @@ -1,7 +1,7 @@ # Build Options # change to "no" to disable the options # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/bpiphany/pegasushoof/keymaps/default/rules.mk b/keyboards/bpiphany/pegasushoof/keymaps/default/rules.mk index d6ebcd5d7998..c31adb4d3a95 100644 --- a/keyboards/bpiphany/pegasushoof/keymaps/default/rules.mk +++ b/keyboards/bpiphany/pegasushoof/keymaps/default/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -13,5 +13,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. diff --git a/keyboards/bpiphany/pegasushoof/keymaps/default_jis/rules.mk b/keyboards/bpiphany/pegasushoof/keymaps/default_jis/rules.mk index 8254a83891d1..5bc8da632aa9 100644 --- a/keyboards/bpiphany/pegasushoof/keymaps/default_jis/rules.mk +++ b/keyboards/bpiphany/pegasushoof/keymaps/default_jis/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -13,5 +13,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. diff --git a/keyboards/bpiphany/pegasushoof/rules.mk b/keyboards/bpiphany/pegasushoof/rules.mk index ffb642a9cf9c..db6d85f75a81 100644 --- a/keyboards/bpiphany/pegasushoof/rules.mk +++ b/keyboards/bpiphany/pegasushoof/rules.mk @@ -2,26 +2,18 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/bpiphany/sixshooter/rules.mk b/keyboards/bpiphany/sixshooter/rules.mk index 0aafb9099f62..96d87d728f26 100644 --- a/keyboards/bpiphany/sixshooter/rules.mk +++ b/keyboards/bpiphany/sixshooter/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bpiphany/sixshooter/sixshooter.c b/keyboards/bpiphany/sixshooter/sixshooter.c index 87a739454d33..e95a06f16f8f 100644 --- a/keyboards/bpiphany/sixshooter/sixshooter.c +++ b/keyboards/bpiphany/sixshooter/sixshooter.c @@ -16,23 +16,3 @@ extern inline void sixshooter_led_5_off(void); extern inline void sixshooter_led_all_on(void); extern inline void sixshooter_led_all_off(void); - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/bpiphany/tiger_lily/config.h b/keyboards/bpiphany/tiger_lily/config.h index cc619a5b8e09..d3e2464bee91 100644 --- a/keyboards/bpiphany/tiger_lily/config.h +++ b/keyboards/bpiphany/tiger_lily/config.h @@ -21,8 +21,8 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 +#define VENDOR_ID 0x4245 //BE +#define PRODUCT_ID 0x544C //TL #define DEVICE_VER 0x0001 #define MANUFACTURER Bathroom Epiphanies #define PRODUCT tiger_lily @@ -40,7 +40,12 @@ along with this program. If not, see . /* * Keyboard Matrix Assignments + * + * MATRIX_ROW_PINS and MATRIX_COL_PINS aren't actually used and are included + * for data driven compatibility. */ +#define MATRIX_ROW_PINS { C2, B3, B4, B2, B1, C7, B6, B5 } +#define MATRIX_COL_PINS { NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } #define UNUSED_PINS { B0, C4, D3 } #define LED_NUM_LOCK_PIN C5 diff --git a/keyboards/bpiphany/tiger_lily/keymaps/default/rules.mk b/keyboards/bpiphany/tiger_lily/keymaps/default/rules.mk index 46af5cd7b4b7..638f4ffe535c 100644 --- a/keyboards/bpiphany/tiger_lily/keymaps/default/rules.mk +++ b/keyboards/bpiphany/tiger_lily/keymaps/default/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -12,7 +12,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/bpiphany/tiger_lily/keymaps/default_ansi/rules.mk b/keyboards/bpiphany/tiger_lily/keymaps/default_ansi/rules.mk index 7a331cd530cf..9e839e7bfc1e 100644 --- a/keyboards/bpiphany/tiger_lily/keymaps/default_ansi/rules.mk +++ b/keyboards/bpiphany/tiger_lily/keymaps/default_ansi/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -12,7 +12,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/bpiphany/tiger_lily/keymaps/via/config.h b/keyboards/bpiphany/tiger_lily/keymaps/via/config.h new file mode 100644 index 000000000000..356dc9fdb488 --- /dev/null +++ b/keyboards/bpiphany/tiger_lily/keymaps/via/config.h @@ -0,0 +1,18 @@ +/* Copyright 2021 Fehmer + * + * 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 DYNAMIC_KEYMAP_LAYER_COUNT 3 \ No newline at end of file diff --git a/keyboards/bpiphany/tiger_lily/keymaps/via/keymap.c b/keyboards/bpiphany/tiger_lily/keymaps/via/keymap.c new file mode 100644 index 000000000000..07651605227a --- /dev/null +++ b/keyboards/bpiphany/tiger_lily/keymaps/via/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2021 Fehmer + * + * 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_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_SLCK,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_NLCK,KC_PSLS,KC_PAST,KC_PMNS, + 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_P7, KC_P8, KC_P9,KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3,KC_PENT, + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT), +[1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, + KC_TRNS,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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, + KC_TRNS,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/bpiphany/tiger_lily/keymaps/via/rules.mk b/keyboards/bpiphany/tiger_lily/keymaps/via/rules.mk new file mode 100644 index 000000000000..39478ff8c976 --- /dev/null +++ b/keyboards/bpiphany/tiger_lily/keymaps/via/rules.mk @@ -0,0 +1,13 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +MOUSEKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes +CONSOLE_ENABLE = no +COMMAND_ENABLE = yes +NKRO_ENABLE = yes +BACKLIGHT_ENABLE = no +MIDI_ENABLE = no +AUDIO_ENABLE = no +UNICODE_ENABLE = no +RGBLIGHT_ENABLE = no +SLEEP_LED_ENABLE = no \ No newline at end of file diff --git a/keyboards/bpiphany/tiger_lily/rules.mk b/keyboards/bpiphany/tiger_lily/rules.mk index 23546e4f0a08..caab5b5ffe76 100644 --- a/keyboards/bpiphany/tiger_lily/rules.mk +++ b/keyboards/bpiphany/tiger_lily/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bpiphany/unloved_bastard/config.h b/keyboards/bpiphany/unloved_bastard/config.h index 5bd8e532a509..61a86d723ed3 100644 --- a/keyboards/bpiphany/unloved_bastard/config.h +++ b/keyboards/bpiphany/unloved_bastard/config.h @@ -141,24 +141,4 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - #endif diff --git a/keyboards/bpiphany/unloved_bastard/info.json b/keyboards/bpiphany/unloved_bastard/info.json index ff8c52d9c290..782abf130378 100644 --- a/keyboards/bpiphany/unloved_bastard/info.json +++ b/keyboards/bpiphany/unloved_bastard/info.json @@ -4,7 +4,7 @@ "width": 18.25, "height": 6.5, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"label":"Alt", "x":10, "y":5.5, "w":1.25}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}] }, "LAYOUT_tkl_iso": { diff --git a/keyboards/bpiphany/unloved_bastard/keymaps/default_ansi/keymap.c b/keyboards/bpiphany/unloved_bastard/keymaps/default_ansi/keymap.c index 783e37196ea5..a65346d8a7fa 100644 --- a/keyboards/bpiphany/unloved_bastard/keymaps/default_ansi/keymap.c +++ b/keyboards/bpiphany/unloved_bastard/keymaps/default_ansi/keymap.c @@ -24,19 +24,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/bpiphany/unloved_bastard/keymaps/default_iso/keymap.c b/keyboards/bpiphany/unloved_bastard/keymaps/default_iso/keymap.c index b6b78c2c5a72..30dee23ad124 100644 --- a/keyboards/bpiphany/unloved_bastard/keymaps/default_iso/keymap.c +++ b/keyboards/bpiphany/unloved_bastard/keymaps/default_iso/keymap.c @@ -24,19 +24,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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,KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/bpiphany/unloved_bastard/rules.mk b/keyboards/bpiphany/unloved_bastard/rules.mk index b211fa5e976d..c4ed9e2850f1 100644 --- a/keyboards/bpiphany/unloved_bastard/rules.mk +++ b/keyboards/bpiphany/unloved_bastard/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/bt66tech/bt66tech60/rules.mk b/keyboards/bt66tech/bt66tech60/rules.mk index e043210f34a7..cab321ea9f0c 100644 --- a/keyboards/bt66tech/bt66tech60/rules.mk +++ b/keyboards/bt66tech/bt66tech60/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = stm32duino # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/bthlabs/geekpad/config.h b/keyboards/bthlabs/geekpad/config.h index 85fa2f00bbdd..411930a24562 100644 --- a/keyboards/bthlabs/geekpad/config.h +++ b/keyboards/bthlabs/geekpad/config.h @@ -165,26 +165,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/bthlabs/geekpad/geekpad.c b/keyboards/bthlabs/geekpad/geekpad.c index e52507c93dc6..6b8edd31c344 100644 --- a/keyboards/bthlabs/geekpad/geekpad.c +++ b/keyboards/bthlabs/geekpad/geekpad.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "geekpad.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/bthlabs/geekpad/rules.mk b/keyboards/bthlabs/geekpad/rules.mk index 1a7800dd14d2..7fdd71fec7bb 100644 --- a/keyboards/bthlabs/geekpad/rules.mk +++ b/keyboards/bthlabs/geekpad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/buildakb/potato65/rules.mk b/keyboards/buildakb/potato65/rules.mk index 468d4dbcec70..f9a47bfa706a 100644 --- a/keyboards/buildakb/potato65/rules.mk +++ b/keyboards/buildakb/potato65/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/buildakb/potato65hs/config.h b/keyboards/buildakb/potato65hs/config.h new file mode 100644 index 000000000000..b3b2cfdcd450 --- /dev/null +++ b/keyboards/buildakb/potato65hs/config.h @@ -0,0 +1,63 @@ +/* +Copyright 2021 Maelkk + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4A56 +#define PRODUCT_ID 0x0002 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Maelkk +#define PRODUCT Potato 65 Hotswap + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { F5, F4, F6, F0, D2 } +#define MATRIX_COL_PINS { D3, D4, D6, D7, B4, B5, B6, F1, B0, B1, B2, B3, B7, D0, D1 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#define RGB_DI_PIN D5 +#ifdef RGB_DI_PIN +# define RGBLIGHT_ANIMATIONS +# define RGBLED_NUM 16 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 240 +# define RGBLIGHT_SLEEP +#endif diff --git a/keyboards/buildakb/potato65hs/info.json b/keyboards/buildakb/potato65hs/info.json new file mode 100644 index 000000000000..264adbbb6b01 --- /dev/null +++ b/keyboards/buildakb/potato65hs/info.json @@ -0,0 +1,84 @@ +{ + "keyboard_name": "Potato 65 Hotswap", + "url": "https://github.com/Aeonstrife/potato65hotswap", + "maintainer": "Maelkk", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + { "x":0, "y":0 }, + { "x":1, "y":0 }, + { "x":2, "y":0 }, + { "x":3, "y":0 }, + { "x":4, "y":0 }, + { "x":5, "y":0 }, + { "x":6, "y":0 }, + { "x":7, "y":0 }, + { "x":8, "y":0 }, + { "x":9, "y":0 }, + { "x":10, "y":0 }, + { "x":11, "y":0 }, + { "x":12, "y":0 }, + { "x":13, "y":0, "w": 2 }, + { "x":15, "y":0 }, + + { "x":0, "y":1, "w":1.5 }, + { "x":1.5, "y":1 }, + { "x":2.5, "y":1 }, + { "x":3.5, "y":1 }, + { "x":4.5, "y":1 }, + { "x":5.5, "y":1 }, + { "x":6.5, "y":1 }, + { "x":7.5, "y":1 }, + { "x":8.5, "y":1 }, + { "x":9.5, "y":1 }, + { "x":10.5, "y":1 }, + { "x":11.5, "y":1 }, + { "x":12.5, "y":1 }, + { "x":13.5, "y":1, "w":1.5 }, + { "x":15, "y":1 }, + + { "x":0, "y":2, "w":1.75 }, + { "x":1.75, "y":2 }, + { "x":2.75, "y":2 }, + { "x":3.75, "y":2 }, + { "x":4.75, "y":2 }, + { "x":5.75, "y":2 }, + { "x":6.75, "y":2 }, + { "x":7.75, "y":2 }, + { "x":8.75, "y":2 }, + { "x":9.75, "y":2 }, + { "x":10.75, "y":2 }, + { "x":11.75, "y":2 }, + { "x":12.75, "y":2, "w":2.25 }, + { "x":15, "y":2 }, + + { "x":0, "y":3, "w":2.25 }, + { "x":2.25, "y":3 }, + { "x":3.25, "y":3 }, + { "x":4.25, "y":3 }, + { "x":5.25, "y":3 }, + { "x":6.25, "y":3 }, + { "x":7.25, "y":3 }, + { "x":8.25, "y":3 }, + { "x":9.25, "y":3 }, + { "x":10.25, "y":3 }, + { "x":11.25, "y":3 }, + { "x":12.25, "y":3, "w":1.75 }, + { "x":14, "y":3 }, + { "x":15, "y":3 }, + + { "x":0, "y":4, "w":1.25 }, + { "x":1.25, "y":4, "w":1.25 }, + { "x":2.5, "y":4, "w":1.25 }, + { "x":3.75, "y":4, "w":6.25 }, + { "x":10, "y":4, "w":1.25 }, + { "x":11.25, "y":4, "w":1.25 }, + { "x":13, "y":4 }, + { "x":14, "y":4 }, + { "x":15, "y":4 } + ] + } + } +} diff --git a/keyboards/buildakb/potato65hs/keymaps/default/keymap.c b/keyboards/buildakb/potato65hs/keymaps/default/keymap.c new file mode 100644 index 000000000000..f7a5ff424677 --- /dev/null +++ b/keyboards/buildakb/potato65hs/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2021 Maelkk + * + * 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 { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_65_ansi_blocker( + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN] = LAYOUT_65_ansi_blocker( + KC_TILD, 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_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; \ No newline at end of file diff --git a/keyboards/buildakb/potato65hs/keymaps/default/readme.md b/keyboards/buildakb/potato65hs/keymaps/default/readme.md new file mode 100644 index 000000000000..bb34368c9966 --- /dev/null +++ b/keyboards/buildakb/potato65hs/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# Default Potato65 Hotswap Layout + +This is the default layout for the Potato65 Hotswap keyboard. Largely based on the KBD67 layout. diff --git a/keyboards/buildakb/potato65hs/keymaps/via/keymap.c b/keyboards/buildakb/potato65hs/keymaps/via/keymap.c new file mode 100644 index 000000000000..269fca73743f --- /dev/null +++ b/keyboards/buildakb/potato65hs/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* Copyright 2021 Maelkk + * + * 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 { + _BASE, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_65_ansi_blocker( + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN1] = LAYOUT_65_ansi_blocker( + KC_TILD, 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_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ), + [_FN2] = LAYOUT_65_ansi_blocker( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FN3] = LAYOUT_65_ansi_blocker( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; \ No newline at end of file diff --git a/keyboards/buildakb/potato65hs/keymaps/via/readme.md b/keyboards/buildakb/potato65hs/keymaps/via/readme.md new file mode 100644 index 000000000000..4e3ddd1228a5 --- /dev/null +++ b/keyboards/buildakb/potato65hs/keymaps/via/readme.md @@ -0,0 +1,3 @@ +# Default Potato65 Layout + +This is the VIA layout for the Potato65 Hotswap Keyboard. Largely based on the KBD67 layout. diff --git a/keyboards/xd60/keymaps/via/rules.mk b/keyboards/buildakb/potato65hs/keymaps/via/rules.mk similarity index 100% rename from keyboards/xd60/keymaps/via/rules.mk rename to keyboards/buildakb/potato65hs/keymaps/via/rules.mk diff --git a/keyboards/buildakb/potato65hs/potato65hs.c b/keyboards/buildakb/potato65hs/potato65hs.c new file mode 100644 index 000000000000..2b5ca899b3cc --- /dev/null +++ b/keyboards/buildakb/potato65hs/potato65hs.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Maelkk + * + * 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 "potato65hs.h" diff --git a/keyboards/buildakb/potato65hs/potato65hs.h b/keyboards/buildakb/potato65hs/potato65hs.h new file mode 100644 index 000000000000..5f7b9cbf1926 --- /dev/null +++ b/keyboards/buildakb/potato65hs/potato65hs.h @@ -0,0 +1,33 @@ +/* Copyright 2021 Maelkk + * + * 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 "quantum.h" + +#define LAYOUT_65_ansi_blocker( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \ + K400, K401, K402, K403, K409, K410, K411, K413, K414 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, KC_NO, K213, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ + { K400, K401, K402, K403, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K409, K410, KC_NO, K411, K413, K414 } \ +} diff --git a/keyboards/buildakb/potato65hs/readme.md b/keyboards/buildakb/potato65hs/readme.md new file mode 100644 index 000000000000..bf8abea83956 --- /dev/null +++ b/keyboards/buildakb/potato65hs/readme.md @@ -0,0 +1,24 @@ +# Potato65 Hotswap Keyboard + +![Potato65 Hotswap](https://i.imgur.com/ysAGZCmh.jpg) + +A hot-swappable gasket mount stacked acrylic 65% keyboard + +- Keyboard Maintainer: [Maelkk](https://github.com/Aeonstrife) +- Hardware Supported: Potato65 Keyboard +- Hardware Availability: Private Group-Buy + +Make example for this keyboard (after setting up your build environment): + + make buildakb/potato65hs:default + +Flashing example for this keyboard: + + make buildakb/potato65hs:default:flash + +To reset into bootloader mode: + +While plugged in, press the RESET switch located on the back of the pcb. +The keyboard should now be in bootloader mode. + +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). \ No newline at end of file diff --git a/keyboards/buildakb/potato65hs/rules.mk b/keyboards/buildakb/potato65hs/rules.mk new file mode 100644 index 000000000000..aa6be8e4ae40 --- /dev/null +++ b/keyboards/buildakb/potato65hs/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow + +LAYOUTS = 65_ansi_blocker diff --git a/keyboards/business_card/alpha/alpha.c b/keyboards/business_card/alpha/alpha.c index 3d2d1de77905..1c2936e1574a 100644 --- a/keyboards/business_card/alpha/alpha.c +++ b/keyboards/business_card/alpha/alpha.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "alpha.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/business_card/alpha/config.h b/keyboards/business_card/alpha/config.h index b9bb67f05f47..239a6c8cc40c 100644 --- a/keyboards/business_card/alpha/config.h +++ b/keyboards/business_card/alpha/config.h @@ -186,26 +186,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/business_card/alpha/keymaps/default/keymap.c b/keyboards/business_card/alpha/keymaps/default/keymap.c index 4c7b4237c372..6bf201655dba 100644 --- a/keyboards/business_card/alpha/keymaps/default/keymap.c +++ b/keyboards/business_card/alpha/keymaps/default/keymap.c @@ -26,16 +26,12 @@ LAYOUT(/* Base */ ), }; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } - -void led_set_user(uint8_t usb_led) {} - void keyboard_post_init_user(void) { rgblight_enable_noeeprom(); rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_MOOD); } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static void render_logo(void) { static const char PROGMEM qmk_logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, diff --git a/keyboards/business_card/alpha/rules.mk b/keyboards/business_card/alpha/rules.mk index 19083c8c473b..7a2558ac62f8 100644 --- a/keyboards/business_card/alpha/rules.mk +++ b/keyboards/business_card/alpha/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,8 +18,8 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/business_card/beta/beta.c b/keyboards/business_card/beta/beta.c index c43be6c16ad5..7a9aa1b9bd61 100644 --- a/keyboards/business_card/beta/beta.c +++ b/keyboards/business_card/beta/beta.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "beta.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/business_card/beta/config.h b/keyboards/business_card/beta/config.h index 1db0abbc90ab..e4b0ead7f626 100644 --- a/keyboards/business_card/beta/config.h +++ b/keyboards/business_card/beta/config.h @@ -186,26 +186,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/business_card/beta/keymaps/default/keymap.c b/keyboards/business_card/beta/keymaps/default/keymap.c index c317a236c43d..beff48d9847a 100644 --- a/keyboards/business_card/beta/keymaps/default/keymap.c +++ b/keyboards/business_card/beta/keymaps/default/keymap.c @@ -25,20 +25,12 @@ LAYOUT(/* Base */ ), }; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } - void matrix_init_user(void) { rgblight_enable_noeeprom(); rgblight_mode_noeeprom(RGBLIGHT_MODE_RAINBOW_MOOD); } -void matrix_scan_user(void) {} - -void led_set_user(uint8_t usb_led) {} - -void keyboard_post_init_user(void) {} - -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static void render_logo(void) { static const char PROGMEM qmk_logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, diff --git a/keyboards/business_card/beta/rules.mk b/keyboards/business_card/beta/rules.mk index 19083c8c473b..7a2558ac62f8 100644 --- a/keyboards/business_card/beta/rules.mk +++ b/keyboards/business_card/beta/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,8 +18,8 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/business_card/business_card.c b/keyboards/business_card/business_card.c index a57c004570b7..01beb28220ff 100644 --- a/keyboards/business_card/business_card.c +++ b/keyboards/business_card/business_card.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "business_card.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/business_card/rules.mk b/keyboards/business_card/rules.mk index 5989077345fa..c616896e4c7c 100644 --- a/keyboards/business_card/rules.mk +++ b/keyboards/business_card/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/butterstick/butterstick.c b/keyboards/butterstick/butterstick.c index 431e93fa12ed..3bcbcbe8b419 100644 --- a/keyboards/butterstick/butterstick.c +++ b/keyboards/butterstick/butterstick.c @@ -15,20 +15,6 @@ */ #include "butterstick.h" -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} -*/ - void matrix_scan_kb(void) { #ifdef DEBUG_MATRIX for (uint8_t c = 0; c < MATRIX_COLS; c++) @@ -38,19 +24,3 @@ void matrix_scan_kb(void) { matrix_scan_user(); } - -/* -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/butterstick/rules.mk b/keyboards/butterstick/rules.mk index b73ed405ad60..c0d463c2df38 100644 --- a/keyboards/butterstick/rules.mk +++ b/keyboards/butterstick/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu MOUSEKEY_ENABLE = yes # Mouse keys diff --git a/keyboards/c39/keymaps/drashna/config.h b/keyboards/c39/keymaps/drashna/config.h index 73b0b8acfe6b..e48bc46ca829 100644 --- a/keyboards/c39/keymaps/drashna/config.h +++ b/keyboards/c39/keymaps/drashna/config.h @@ -28,3 +28,7 @@ #define RGBLED_NUM 15 #define SOLENOID_PIN B11 + +#define AUDIO_PIN A5 +#define AUDIO_PIN_ALT A4 +#define AUDIO_PIN_ALT_AS_NEGATIVE diff --git a/keyboards/c39/keymaps/drashna/keymap.c b/keyboards/c39/keymaps/drashna/keymap.c index b5d11104d354..6fd1f1298449 100755 --- a/keyboards/c39/keymaps/drashna/keymap.c +++ b/keyboards/c39/keymaps/drashna/keymap.c @@ -39,60 +39,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_base_wrapper( + [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper( _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ ), - [_COLEMAK] = LAYOUT_base_wrapper( + [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper( + ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, + ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, + ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ + ), + [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper( _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ ), - [_DVORAK] = LAYOUT_base_wrapper( + [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper( _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ ), - [_WORKMAN] = LAYOUT_base_wrapper( - _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, - _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, - _________________WORKMAN_L3________________, _________________WORKMAN_R3________________ - ), - - [_NORMAN] = LAYOUT_base_wrapper( - _________________NORMAN_L1_________________, _________________NORMAN_L1_________________, - _________________NORMAN_L2_________________, _________________NORMAN_R2_________________, - _________________NORMAN_L3_________________, _________________NORMAN_R3_________________ - ), - - [_MALTRON] = LAYOUT_base_wrapper( - _________________MALTRON_L1________________, _________________MALTRON_R1________________, - _________________MALTRON_L2________________, _________________MALTRON_R2________________, - _________________MALTRON_L3________________, _________________MALTRON_R3________________ - ), - - [_EUCALYN] = LAYOUT_base_wrapper( - _________________EUCALYN_L1________________, _________________EUCALYN_R1________________, - _________________EUCALYN_L2________________, _________________EUCALYN_R2________________, - _________________EUCALYN_L3________________, _________________EUCALYN_R3________________ - ), - - [_CARPLAX] = LAYOUT_base_wrapper( - _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________, - _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________, - _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________ - ), - - [_MODS] = LAYOUT_wrapper( - _______, ___________________BLANK___________________, _______, ___________________BLANK___________________, _______, - _______, ___________________BLANK___________________, _______, ___________________BLANK___________________, _______, - KC_LSFT, ___________________BLANK___________________, _______, ___________________BLANK___________________, _______ - ), - [_LOWER] = LAYOUT_wrapper( KC_TILD, _________________LOWER_L1__________________, _______, _________________LOWER_R1__________________, KC_BSPC, KC_DEL, _________________LOWER_L2__________________, _______, _________________LOWER_R2__________________, KC_PIPE, diff --git a/keyboards/c39/keymaps/drashna/rules.mk b/keyboards/c39/keymaps/drashna/rules.mk index 09c29f0e8f2f..2cfa2e483bed 100644 --- a/keyboards/c39/keymaps/drashna/rules.mk +++ b/keyboards/c39/keymaps/drashna/rules.mk @@ -1,8 +1,11 @@ +# MCU name MCU = STM32F303 BOARD = QMK_PROTON_C -BOOTLOADER = -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000) +# Bootloader selection +BOOTLOADER = stm32-dfu + +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/c39/keymaps/kuchosauronad0/rules.mk b/keyboards/c39/keymaps/kuchosauronad0/rules.mk index ac7c77dd4608..a6304cdf4afc 100644 --- a/keyboards/c39/keymaps/kuchosauronad0/rules.mk +++ b/keyboards/c39/keymaps/kuchosauronad0/rules.mk @@ -1,5 +1,5 @@ BOOTLOADER = caterina -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/c39/rules.mk b/keyboards/c39/rules.mk index ed3554aac4bb..0cdaa3e2cef0 100755 --- a/keyboards/c39/rules.mk +++ b/keyboards/c39/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/caffeinated/serpent65/chconf.h b/keyboards/caffeinated/serpent65/chconf.h new file mode 100644 index 000000000000..cbbae31079fb --- /dev/null +++ b/keyboards/caffeinated/serpent65/chconf.h @@ -0,0 +1,25 @@ +/* Copyright 2020 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 + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#include_next diff --git a/keyboards/caffeinated/serpent65/config.h b/keyboards/caffeinated/serpent65/config.h new file mode 100644 index 000000000000..f09a1c2b0810 --- /dev/null +++ b/keyboards/caffeinated/serpent65/config.h @@ -0,0 +1,109 @@ +/* +Copyright 2021 jrfhoutx + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4353 // "CS" = Caffeinated Studios +#define PRODUCT_ID 0x6501 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Caffeinated Studios +#define PRODUCT Serpent65 + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 8 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS {B11, B10, B2, B1, B0, A7, A6, A5, B13, B12} +#define MATRIX_COL_PINS {A1, A2, A3, A4, B14, B15, A8, A9} +//{C13, C14, C15, A0,A2,A3,A4,A5,A6, A1,B12,B1} +/* Unused pins, in the default layout, are: +EncA (B6) because it is not used in the default PCB +All Extra pins (A8, B15, B14, B13, B3, B5, B8, B9) , for the same reason; +B0, which is unconnected on the PCB +*/ +//#define UNUSED_PINS { B0, B6, B13, B14, B15, B8, B9, B5, B3 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/caffeinated/serpent65/info.json b/keyboards/caffeinated/serpent65/info.json new file mode 100644 index 000000000000..ebcf9345e5d5 --- /dev/null +++ b/keyboards/caffeinated/serpent65/info.json @@ -0,0 +1,87 @@ +{ + "keyboard_name": "Serpent65", + "keyboard_folder": "caffeinated/serpent65", + "url": "https", + "maintainer": "jrfhoutx", + "width": 16.25, + "height": 5.25, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15.25, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":2, "w":1.25}, + {"x":15.25, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14.25, "y":3.25}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4, "w":1.5}, + {"x":13.25, "y":4.25}, + {"x":14.25, "y":4.25}, + {"x":15.25, "y":4.25} + ] + } + } +} diff --git a/keyboards/caffeinated/serpent65/keymaps/default/keymap.c b/keyboards/caffeinated/serpent65/keymaps/default/keymap.c new file mode 100644 index 000000000000..cf0097f912b3 --- /dev/null +++ b/keyboards/caffeinated/serpent65/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2021 jrfhoutx + * + * 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] = { + /* Keymap BASE: (Base Layer) Default Layer + * .---------------------------------------------------------------------. + * |Esc | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| ~ | \ | Ins | + * |---------------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [ | ] | BkSpc | Del | + * |---------------------------------------------------------------------| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| Return | PgUp| + * |---------------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift | Up | | + * |---------------------------------------------------------------------| + * | LCtrl | GUI | Alt | Space | Alt | MO(1) | L | Dn | R | + * `---------------------------------------------------------------------' + */ +[0] = LAYOUT_all( /* Serpent65 Base */ + 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_GRV, KC_BSLS, KC_INS, + 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_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, KC_ENT, KC_PGUP, + KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + +[1] = LAYOUT_all( /* Serpent65 Base */ + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/caffeinated/serpent65/keymaps/default/readme.md b/keyboards/caffeinated/serpent65/keymaps/default/readme.md new file mode 100644 index 000000000000..fd995e9e2a47 --- /dev/null +++ b/keyboards/caffeinated/serpent65/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for the Cafeinated Studios Serpent65 diff --git a/keyboards/caffeinated/serpent65/keymaps/via/keymap.c b/keyboards/caffeinated/serpent65/keymaps/via/keymap.c new file mode 100644 index 000000000000..d4f6d9e20b32 --- /dev/null +++ b/keyboards/caffeinated/serpent65/keymaps/via/keymap.c @@ -0,0 +1,64 @@ +/* Copyright 2021 jrfhoutx + * + * 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] = { + /* Keymap BASE: (Base Layer) Default Layer + * .---------------------------------------------------------------------. + * |Esc | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| ~ | \ | Ins | + * |---------------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [ | ] | BkSpc | Del | + * |---------------------------------------------------------------------| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| Return | PgUp| + * |---------------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift | Up | | + * |---------------------------------------------------------------------| + * | LCtrl | GUI | Alt | Space | Alt | MO(1) | L | Dn | R | + * `---------------------------------------------------------------------' + */ +[0] = LAYOUT_all( /* Serpent65 Base */ + 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_GRV, KC_BSLS, KC_INS, + 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_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, KC_ENT, KC_PGUP, + KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + +[1] = LAYOUT_all( /* Serpent65 Base */ + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all( /* Serpent65 Base */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all( /* Serpent65 Base */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/caffeinated/serpent65/keymaps/via/readme.md b/keyboards/caffeinated/serpent65/keymaps/via/readme.md new file mode 100644 index 000000000000..156593344fc0 --- /dev/null +++ b/keyboards/caffeinated/serpent65/keymaps/via/readme.md @@ -0,0 +1 @@ +# The VIA keymap for the Cafeinated Studios Serpent65 diff --git a/keyboards/xd68/keymaps/via/rules.mk b/keyboards/caffeinated/serpent65/keymaps/via/rules.mk similarity index 100% rename from keyboards/xd68/keymaps/via/rules.mk rename to keyboards/caffeinated/serpent65/keymaps/via/rules.mk diff --git a/keyboards/caffeinated/serpent65/readme.md b/keyboards/caffeinated/serpent65/readme.md new file mode 100644 index 000000000000..58a90ec02c93 --- /dev/null +++ b/keyboards/caffeinated/serpent65/readme.md @@ -0,0 +1,23 @@ +# Caffeinated Studios' Serpent65 + +![Serpent65](https://i.imgur.com/rAsZsXk.png) + +The Serpent65 is a 65% created by Caffeinated Studios. The board supports ANSI and ISO modifiers as well as split backspace and stepped/non-stepped caps lock. + +The PCB is an ARM powered board utilizing the STM32F072CBT6 mcu, designed by BlindAssassin111. The PCB is designed to work with the universal daughterboard and a 4in (~100mm) 4 pin JST SR cable with reversed pinout (pin 1 of both connectors is the same wire etc.). + +On the PCB is a single button for a reset for flashing. As well, there is a [Segger J-Link 6-pin Needle Adapter](https://www.segger.com/products/debug-probes/j-link/accessories/adapters/6-pin-needle-adapter/) footprint for reflashing the mcu as a backup in case of a bootloader issue. + +* Keyboard Maintainer: [jrfhoutx](https://github.com/jrfhoutx) +* Hardware Supported: Serpent65 +* Hardware Availability: Coming Soon + +Make example for this keyboard (after setting up your build environment): + + make caffeinated/serpent65:default + +Flashing example for this keyboard: + + make caffeinated/serpent65: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). diff --git a/keyboards/caffeinated/serpent65/rules.mk b/keyboards/caffeinated/serpent65/rules.mk new file mode 100644 index 000000000000..806bdbabb667 --- /dev/null +++ b/keyboards/caffeinated/serpent65/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/caffeinated/serpent65/serpent65.c b/keyboards/caffeinated/serpent65/serpent65.c new file mode 100644 index 000000000000..ad812ee44c88 --- /dev/null +++ b/keyboards/caffeinated/serpent65/serpent65.c @@ -0,0 +1,16 @@ +/* Copyright 2021 jrfhoutx + * + * 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 "serpent65.h" diff --git a/keyboards/caffeinated/serpent65/serpent65.h b/keyboards/caffeinated/serpent65/serpent65.h new file mode 100644 index 000000000000..a218e327980e --- /dev/null +++ b/keyboards/caffeinated/serpent65/serpent65.h @@ -0,0 +1,52 @@ +/* Copyright 2021 jrfhoutx + * + * 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 "quantum.h" +#define ___ KC_NO + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + * + * + * Use LAYOUT_all for ISO and Tsangan builds + * + */ + +#define LAYOUT_all( \ + K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K07, K17, \ + K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K27, K37, \ + K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K47, K57, \ + K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K67, \ + K80, K90, K81, K83, K85, K95, K96, K87, K97 \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, }, \ + { K30, K31, K32, K33, K34, K35, ___, K37, }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, }, \ + { K50, K51, K52, K53, K54, K55, ___, K57, }, \ + { K60, K61, K62, K63, K64, K65, K66, K67, }, \ + { K70, K71, K72, K73, K74, K75, ___, ___, }, \ + { K80, K81, ___, K83, ___, K85, ___, K87, }, \ + { K90, ___, ___, ___, ___, K95, K96, K97 } \ +} diff --git a/keyboards/cannonkeys/aella/aella.c b/keyboards/cannonkeys/aella/aella.c new file mode 100644 index 000000000000..862bf414519e --- /dev/null +++ b/keyboards/cannonkeys/aella/aella.c @@ -0,0 +1 @@ +#include "aella.h" diff --git a/keyboards/cannonkeys/aella/aella.h b/keyboards/cannonkeys/aella/aella.h new file mode 100644 index 000000000000..457c5111c160 --- /dev/null +++ b/keyboards/cannonkeys/aella/aella.h @@ -0,0 +1,19 @@ +#pragma once + +#include "quantum.h" + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K415, \ + K500, K502, K506, K510, K511, K512, K513, K515 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, KC_NO, K415 }, \ + { K500, KC_NO, K502, KC_NO, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, KC_NO, K515 } \ +} diff --git a/keyboards/cannonkeys/aella/chconf.h b/keyboards/cannonkeys/aella/chconf.h new file mode 100644 index 000000000000..645412d47c65 --- /dev/null +++ b/keyboards/cannonkeys/aella/chconf.h @@ -0,0 +1,31 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/cannonkeys/obliterated75/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#include_next + diff --git a/keyboards/cannonkeys/aella/config.h b/keyboards/cannonkeys/aella/config.h new file mode 100644 index 000000000000..b32880d40979 --- /dev/null +++ b/keyboards/cannonkeys/aella/config.h @@ -0,0 +1,63 @@ +/* +Copyright 2015 Jun Wako + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xCA04 +#define PRODUCT_ID 0x0007 +#define DEVICE_VER 0x0001 +#define MANUFACTURER CannonKeys +#define PRODUCT Aella + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 16 + +#define MATRIX_COL_PINS { A5, B0, B1, B2, B10, A9, C13, B9, B8, B7, B6, B5, B4, B3, A15, A14 } +#define MATRIX_ROW_PINS { A13, B12, B11, B14, A8, A7 } +#define DIODE_DIRECTION COL2ROW + + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/aella/info.json b/keyboards/cannonkeys/aella/info.json new file mode 100644 index 000000000000..4b2310f3f0be --- /dev/null +++ b/keyboards/cannonkeys/aella/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "Aella", + "url": "https://www.alchemistkeyboards.com/aella", + "maintainer": "Alchemist Keyboards", + "width": 16, + "height": 6, + "layouts": { + "LAYOUT_all": { + "layout": [{"x":0, "y":0}, {"x":1.25, "y":0}, {"x":2.25, "y":0}, {"x":3.25, "y":0}, {"x":4.25, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.75, "y":0}, {"x":10.75, "y":0}, {"x":11.75, "y":0}, {"x":12.75, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.5}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":3.5, "y":2}, {"x":4.5, "y":2}, {"x":5.5, "y":2}, {"x":6.5, "y":2}, {"x":7.5, "y":2}, {"x":8.5, "y":2}, {"x":9.5, "y":2}, {"x":10.5, "y":2}, {"x":11.5, "y":2}, {"x":12.5, "y":2}, {"x":13.5, "y":2, "w":1.5}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.75}, {"x":1.75, "y":3}, {"x":2.75, "y":3}, {"x":3.75, "y":3}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3, "w":1.25}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"x":2.25, "y":4}, {"x":3.25, "y":4}, {"x":4.25, "y":4}, {"x":5.25, "y":4}, {"x":6.25, "y":4}, {"x":7.25, "y":4}, {"x":8.25, "y":4}, {"x":9.25, "y":4}, {"x":10.25, "y":4}, {"x":11.25, "y":4}, {"x":12.25, "y":4, "w":1.75}, {"x":14, "y":4}, {"x":15, "y":4}, {"x":0, "y":5, "w":1.5}, {"x":2.25, "y":5, "w":1.25}, {"x":3.5, "y":5, "w":6.25}, {"x":9.75, "y":5, "w":1.25}, {"x":11, "y":5, "w":1.25}, {"x":13, "y":5}, {"x":14, "y":5}, {"x":15, "y":5}] + } + } +} diff --git a/keyboards/cannonkeys/aella/keymaps/default/keymap.c b/keyboards/cannonkeys/aella/keymaps/default/keymap.c new file mode 100644 index 000000000000..4bd71e79f99c --- /dev/null +++ b/keyboards/cannonkeys/aella/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +/* +Copyright 2012,2013 Jun Wako + +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 + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = 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_MPLY, KC_MUTE, + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, KC_PGUP, + KC_LSFT, KC_NUHS, 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_PGDN, + KC_LCTL, KC_LALT, KC_SPC, MO(_FN1), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = 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_TRNS, KC_TRNS, + KC_GESC, 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_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/cannonkeys/aella/keymaps/via/keymap.c b/keyboards/cannonkeys/aella/keymaps/via/keymap.c new file mode 100644 index 000000000000..3a204be6c516 --- /dev/null +++ b/keyboards/cannonkeys/aella/keymaps/via/keymap.c @@ -0,0 +1,71 @@ +/* +Copyright 2012,2013 Jun Wako + +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 + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = 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_MPLY, KC_MUTE, + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, KC_PGUP, + KC_LSFT, KC_NUHS, 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_PGDN, + KC_LCTL, KC_LALT, KC_SPC, MO(_FN1), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = 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_TRNS, KC_TRNS, + KC_GESC, 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_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS + ), + + + [_FN2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_FN3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/xd75/keymaps/via/rules.mk b/keyboards/cannonkeys/aella/keymaps/via/rules.mk similarity index 100% rename from keyboards/xd75/keymaps/via/rules.mk rename to keyboards/cannonkeys/aella/keymaps/via/rules.mk diff --git a/keyboards/cannonkeys/aella/readme.md b/keyboards/cannonkeys/aella/readme.md new file mode 100644 index 000000000000..32015375659e --- /dev/null +++ b/keyboards/cannonkeys/aella/readme.md @@ -0,0 +1,10 @@ +# Alchemist Keyboards Aella + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: STM32F072CBT6 + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/aella: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). diff --git a/keyboards/cannonkeys/aella/rules.mk b/keyboards/cannonkeys/aella/rules.mk new file mode 100644 index 000000000000..909806553faa --- /dev/null +++ b/keyboards/cannonkeys/aella/rules.mk @@ -0,0 +1,28 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/an_c/config.h b/keyboards/cannonkeys/an_c/config.h index 922ea37b2be6..83e98c2e2804 100644 --- a/keyboards/cannonkeys/an_c/config.h +++ b/keyboards/cannonkeys/an_c/config.h @@ -56,6 +56,8 @@ along with this program. If not, see . #define RGBLED_NUM 14 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 /* * Feature disable options diff --git a/keyboards/cannonkeys/an_c/rules.mk b/keyboards/cannonkeys/an_c/rules.mk index 8ed2d0ead7cb..66e6b65776c4 100644 --- a/keyboards/cannonkeys/an_c/rules.mk +++ b/keyboards/cannonkeys/an_c/rules.mk @@ -1,17 +1,23 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover CUSTOM_MATRIX = no # Custom matrix file BACKLIGHT_ENABLE = yes @@ -20,8 +26,5 @@ WS2812_DRIVER = spi LAYOUTS = 60_ansi 60_tsangan_hhkb -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF - # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/atlas/config.h b/keyboards/cannonkeys/atlas/config.h index 72ee927e2fa1..1ba5c0fb0e97 100644 --- a/keyboards/cannonkeys/atlas/config.h +++ b/keyboards/cannonkeys/atlas/config.h @@ -50,6 +50,8 @@ along with this program. If not, see . #define RGB_DI_PIN B15 #define RGBLED_NUM 22 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 /* * Feature disable options diff --git a/keyboards/cannonkeys/atlas/rules.mk b/keyboards/cannonkeys/atlas/rules.mk index 8037597b5ac6..ee32cf30bdd5 100644 --- a/keyboards/cannonkeys/atlas/rules.mk +++ b/keyboards/cannonkeys/atlas/rules.mk @@ -1,9 +1,12 @@ -# MCU Name +# MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/cannonkeys/atlas_alps/rules.mk b/keyboards/cannonkeys/atlas_alps/rules.mk index 8fbc75bf22c4..d89b310334b3 100644 --- a/keyboards/cannonkeys/atlas_alps/rules.mk +++ b/keyboards/cannonkeys/atlas_alps/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/cannonkeys/balance/balance.c b/keyboards/cannonkeys/balance/balance.c new file mode 100644 index 000000000000..2bb4485521d8 --- /dev/null +++ b/keyboards/cannonkeys/balance/balance.c @@ -0,0 +1,27 @@ +/* +Copyright 2021 Andrew Kannan + +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 "balance.h" + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} diff --git a/keyboards/cannonkeys/balance/balance.h b/keyboards/cannonkeys/balance/balance.h new file mode 100644 index 000000000000..7d0ad50a3fbd --- /dev/null +++ b/keyboards/cannonkeys/balance/balance.h @@ -0,0 +1,33 @@ +/* +Copyright 2021 Andrew Kannan + +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 "quantum.h" + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, K116, K117, K118, K119, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, K216, K217, K218, K219, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K315, K316, K317, K318, K319, \ + K400, K401, K402, K406, K410, K411, K412, K413, K415, K416, K417, K418, K419 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, K019 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, KC_NO, K115, K116, K117, K118, K119 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215, K216, K217, K218, K219 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, KC_NO, K315, K316, K317, K318, K319 }, \ + { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, KC_NO, K415, K416, K417, K418, K419 } \ +} diff --git a/keyboards/cannonkeys/balance/chconf.h b/keyboards/cannonkeys/balance/chconf.h new file mode 100644 index 000000000000..9f541944f81d --- /dev/null +++ b/keyboards/cannonkeys/balance/chconf.h @@ -0,0 +1,31 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/cannonkeys/db60/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#include_next + diff --git a/keyboards/cannonkeys/balance/config.h b/keyboards/cannonkeys/balance/config.h new file mode 100644 index 000000000000..2cdf7d27a740 --- /dev/null +++ b/keyboards/cannonkeys/balance/config.h @@ -0,0 +1,71 @@ +/* +Copyright 2015 Jun Wako + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xCA04 +#define PRODUCT_ID 0xBA77 +#define DEVICE_VER 0x0001 +#define MANUFACTURER CannonKeys +#define PRODUCT Balance + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 20 + +#define MATRIX_COL_PINS { B11, B10, B2, B1, B0, A7, A6, A5, A4, A3, A2, A1, F1, C15, B3, C14, C13, B9, B8, B7 } +#define MATRIX_ROW_PINS { B4, A15, A14, A0, F0 } +#define DIODE_DIRECTION COL2ROW + + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define ENCODERS_PAD_A { B5 } +#define ENCODERS_PAD_B { B6 } + +#define ENCODER_RESOLUTION 2 +#define TAP_CODE_DELAY 25 + +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/balance/halconf.h b/keyboards/cannonkeys/balance/halconf.h new file mode 100644 index 000000000000..de8d8035d04b --- /dev/null +++ b/keyboards/cannonkeys/balance/halconf.h @@ -0,0 +1,31 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/cannonkeys/db60/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#define HAL_USE_PWM TRUE + +#define HAL_USE_SPI TRUE + +#include_next + diff --git a/keyboards/cannonkeys/balance/info.json b/keyboards/cannonkeys/balance/info.json new file mode 100644 index 000000000000..ce37a2797445 --- /dev/null +++ b/keyboards/cannonkeys/balance/info.json @@ -0,0 +1,106 @@ +{ + "keyboard_name": "Balance", + "url": "https://cannonkeys.com", + "maintainer": "awkannan", + "width": 20.5, + "height": 5.5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"~", "x":0, "y":0.25}, + {"label":"!", "x":1, "y":0.25}, + {"label":"@", "x":2, "y":0.25}, + {"label":"#", "x":3, "y":0.25}, + {"label":"$", "x":4, "y":0.25}, + {"label":"%", "x":5, "y":0.25}, + {"label":"^", "x":6, "y":0.25}, + {"label":"&", "x":7, "y":0.25}, + {"label":"*", "x":8, "y":0.25}, + {"label":"(", "x":9, "y":0.25}, + {"label":")", "x":10, "y":0.25}, + {"label":"_", "x":11, "y":0.25}, + {"label":"+", "x":12, "y":0.25}, + {"label":"Backspace", "x":13, "y":0.25}, + {"label":"Delete", "x":14, "y":0.25}, + {"label":"KNOB", "x":15.25, "y":0}, + {"label":"Num Lock", "x":16.5, "y":0.25}, + {"label":"/", "x":17.5, "y":0.25}, + {"label":"*", "x":18.5, "y":0.25}, + {"label":"-", "x":19.5, "y":0.25}, + + {"label":"Tab", "x":0, "y":1.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":1.25}, + {"label":"W", "x":2.5, "y":1.25}, + {"label":"E", "x":3.5, "y":1.25}, + {"label":"R", "x":4.5, "y":1.25}, + {"label":"T", "x":5.5, "y":1.25}, + {"label":"Y", "x":6.5, "y":1.25}, + {"label":"U", "x":7.5, "y":1.25}, + {"label":"I", "x":8.5, "y":1.25}, + {"label":"O", "x":9.5, "y":1.25}, + {"label":"P", "x":10.5, "y":1.25}, + {"label":"{", "x":11.5, "y":1.25}, + {"label":"}", "x":12.5, "y":1.25}, + {"label":"|", "x":13.5, "y":1.25, "w":1.5}, + {"label":"PgUp", "x":15.25, "y":1.25}, + {"label":"7", "x":16.5, "y":1.25}, + {"label":"8", "x":17.5, "y":1.25}, + {"label":"9", "x":18.5, "y":1.25}, + {"label":"+", "x":19.5, "y":1.25}, + + {"label":"Caps Lock", "x":0, "y":2.25, "w":1.75}, + {"label":"A", "x":1.75, "y":2.25}, + {"label":"S", "x":2.75, "y":2.25}, + {"label":"D", "x":3.75, "y":2.25}, + {"label":"F", "x":4.75, "y":2.25}, + {"label":"G", "x":5.75, "y":2.25}, + {"label":"H", "x":6.75, "y":2.25}, + {"label":"J", "x":7.75, "y":2.25}, + {"label":"K", "x":8.75, "y":2.25}, + {"label":"L", "x":9.75, "y":2.25}, + {"label":":", "x":10.75, "y":2.25}, + {"label":"\"", "x":11.75, "y":2.25}, + {"label":"ISO ~", "x":12.75, "y":2.25}, + {"label":"Enter", "x":13.75, "y":2.25, "w":1.25}, + {"label":"PgDn", "x":15.25, "y":2.25}, + {"label":"4", "x":16.5, "y":2.25}, + {"label":"5", "x":17.5, "y":2.25}, + {"label":"6", "x":18.5, "y":2.25}, + {"label":"+", "x":19.5, "y":2.25}, + + {"label":"Shift", "x":0, "y":3.25, "w":1.25}, + {"label":"ISO |", "x":1.25, "y":3.25}, + {"label":"Z", "x":2.25, "y":3.25}, + {"label":"X", "x":3.25, "y":3.25}, + {"label":"C", "x":4.25, "y":3.25}, + {"label":"V", "x":5.25, "y":3.25}, + {"label":"B", "x":6.25, "y":3.25}, + {"label":"N", "x":7.25, "y":3.25}, + {"label":"M", "x":8.25, "y":3.25}, + {"label":"<", "x":9.25, "y":3.25}, + {"label":">", "x":10.25, "y":3.25}, + {"label":"?", "x":11.25, "y":3.25}, + {"label":"Shift", "x":12.25, "y":3.25, "w":2.75}, + {"label":"Up", "x":15.25, "y":3.5}, + {"label":"1", "x":16.5, "y":3.25}, + {"label":"2", "x":17.5, "y":3.25}, + {"label":"3", "x":18.5, "y":3.25}, + {"label":"Enter", "x":19.5, "y":3.25}, + + {"label":"Ctrl", "x":0, "y":4.25, "w":1.25}, + {"label":"Win", "x":1.25, "y":4.25}, + {"label":"Alt", "x":2.25, "y":4.25, "w":1.25}, + {"label":"Space", "x":3.5, "y":4.25, "w":7}, + {"label":"Alt", "x":10.5, "y":4.25, "w":1.25}, + {"label":"Fn", "x":11.75, "y":4.25}, + {"label":"Ctrl", "x":12.75, "y":4.25, "w":1.25}, + {"label":"Left", "x":14.25, "y":4.5}, + {"label":"Down", "x":15.25, "y":4.5}, + {"label":"Right", "x":16.25, "y":4.5}, + {"label":"0", "x":17.5, "y":4.25}, + {"label":".", "x":18.5, "y":4.25}, + {"label":"Enter", "x":19.5, "y":4.25} + ] + } + } +} diff --git a/keyboards/cannonkeys/balance/keymaps/default/keymap.c b/keyboards/cannonkeys/balance/keymaps/default/keymap.c new file mode 100644 index 000000000000..b1e507bc172f --- /dev/null +++ b/keyboards/cannonkeys/balance/keymaps/default/keymap.c @@ -0,0 +1,46 @@ +/* +Copyright 2012,2013 Jun Wako + +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 + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_MPLY, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_NUBS, KC_ENT, KC_PGDN, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + [_FN1] = LAYOUT_all( + RESET , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, 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/cannonkeys/balance/keymaps/via/keymap.c b/keyboards/cannonkeys/balance/keymaps/via/keymap.c new file mode 100644 index 000000000000..ad5f009d4326 --- /dev/null +++ b/keyboards/cannonkeys/balance/keymaps/via/keymap.c @@ -0,0 +1,56 @@ +/* +Copyright 2012,2013 Jun Wako + +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 + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1, + _FN2, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_MPLY, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_NUBS, KC_ENT, KC_PGDN, KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + [_FN1] = LAYOUT_all( + RESET , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_FN2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, 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/xd84/keymaps/via/rules.mk b/keyboards/cannonkeys/balance/keymaps/via/rules.mk similarity index 100% rename from keyboards/xd84/keymaps/via/rules.mk rename to keyboards/cannonkeys/balance/keymaps/via/rules.mk diff --git a/keyboards/cannonkeys/balance/mcuconf.h b/keyboards/cannonkeys/balance/mcuconf.h new file mode 100644 index 000000000000..f2212bd2c4f5 --- /dev/null +++ b/keyboards/cannonkeys/balance/mcuconf.h @@ -0,0 +1,34 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/cannonkeys/db60/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE + diff --git a/keyboards/cannonkeys/balance/readme.md b/keyboards/cannonkeys/balance/readme.md new file mode 100644 index 000000000000..eb06169845d0 --- /dev/null +++ b/keyboards/cannonkeys/balance/readme.md @@ -0,0 +1,10 @@ +# CannonKeys Balance + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: STM32F072CBT6 + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/balance: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). diff --git a/keyboards/cannonkeys/balance/rules.mk b/keyboards/cannonkeys/balance/rules.mk new file mode 100644 index 000000000000..97ec216b092e --- /dev/null +++ b/keyboards/cannonkeys/balance/rules.mk @@ -0,0 +1,29 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/bluepill/keyboard.c b/keyboards/cannonkeys/bluepill/keyboard.c deleted file mode 100644 index 6a8edd4a93f6..000000000000 --- a/keyboards/cannonkeys/bluepill/keyboard.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include -#include "util.h" -#include "quantum.h" - -#ifdef BOARD_STM32_F103_STM32DUINO -#define LED_ON() do { palClearPad(GPIOC, 13) ;} while (0) -#define LED_OFF() do { palSetPad(GPIOC, 13); } while (0) -#define LED_TGL() do { palTogglePad(GPIOC, 13); } while (0) -#else -#define LED_ON() -#define LED_OFF() -#define LED_TGL() -#endif - -void matrix_init_kb(void){ - LED_ON(); - wait_ms(500); - LED_OFF(); -} diff --git a/keyboards/cannonkeys/bluepill/ws2812.c b/keyboards/cannonkeys/bluepill/ws2812.c deleted file mode 100644 index 779e905198de..000000000000 --- a/keyboards/cannonkeys/bluepill/ws2812.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - * LEDDriver.c - * - * Created on: Aug 26, 2013 - * Author: Omri Iluz - */ - -#include "ws2812.h" -#include - -#define BYTES_FOR_LED_BYTE 4 -#define NB_COLORS 3 -#define BYTES_FOR_LED BYTES_FOR_LED_BYTE*NB_COLORS -#define DATA_SIZE BYTES_FOR_LED*NB_LEDS -#define RESET_SIZE 200 -#define PREAMBLE_SIZE 4 -// Define the spi your LEDs are plugged to here -#define WS2812_SPI SPID2 -// Define the number of LEDs you wish to control in your LED strip -#define NB_LEDS RGBLED_NUM - - #define LED_SPIRAL 1 - - static uint8_t txbuf[PREAMBLE_SIZE + DATA_SIZE + RESET_SIZE]; -static uint8_t get_protocol_eq(uint8_t data, int pos); - - /* - * This lib is meant to be used asynchronously, thus the colors contained in - * the txbuf will be sent in loop, so that the colors are always the ones you - * put in the table (the user thus have less to worry about) - * - * Since the data are sent via DMA, and the call to spiSend is a blocking one, - * the processor ressources are not used to much, if you see your program being - * too slow, simply add a: - * chThdSleepMilliseconds(x); - * after the spiSend, where you increment x untill you are satisfied with your - * program speed, another trick may be to lower this thread priority : your call - */ -static THD_WORKING_AREA(LEDS_THREAD_WA, 128); -static THD_FUNCTION(ledsThread, arg) { - (void) arg; - while(1){ - spiSend(&WS2812_SPI, PREAMBLE_SIZE + DATA_SIZE + RESET_SIZE, txbuf); - } -} - - static const SPIConfig spicfg = { - false, - NULL, - PORT_WS2812, - PIN_WS2812, - SPI_CR1_BR_1|SPI_CR1_BR_0 // baudrate : fpclk / 8 => 1tick is 0.32us (2.25 MHz) -}; - - /* - * Function used to initialize the driver. - * - * Starts by shutting off all the LEDs. - * Then gets access on the LED_SPI driver. - * May eventually launch an animation on the LEDs (e.g. a thread setting the - * txbuff values) - */ -void leds_init(void){ - /* MOSI pin*/ - palSetPadMode(PORT_WS2812, PIN_WS2812, PAL_MODE_STM32_ALTERNATE_PUSHPULL); - for(int i = 0; i < RESET_SIZE; i++) - txbuf[DATA_SIZE+i] = 0x00; - for (int i=0; i. /* USB Device descriptor parameter */ #define VENDOR_ID 0xCA04 -#define PRODUCT_ID 0xDB60 #define DEVICE_VER 0x0001 #define MANUFACTURER CannonKeys -#define PRODUCT DB60 #define MATRIX_ROWS 5 #define MATRIX_COLS 15 @@ -57,6 +55,8 @@ along with this program. If not, see . #define RGB_DI_PIN B15 #define RGBLED_NUM 20 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 /* * Feature disable options diff --git a/keyboards/cannonkeys/db60/db60.h b/keyboards/cannonkeys/db60/db60.h index 741ab7d0edfc..b0d5105e9fed 100644 --- a/keyboards/cannonkeys/db60/db60.h +++ b/keyboards/cannonkeys/db60/db60.h @@ -1,61 +1,23 @@ -#pragma once + /* Copyright 2021 Andrew Kannan + * + * 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" - -#define KNO KC_NO - -#define LAYOUT_60_ansi( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \ - K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ - K40, K41, K42, K45, K4A, K4B, K4C, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \ - { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \ - { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ -} - -#define LAYOUT_60_tsangan_hhkb( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \ - K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\ - K40, K41, K42, K45, K4B, K4C, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \ - { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \ - { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, KNO, K4B, K4C, KNO, K4E } \ -} - -#define LAYOUT_60_iso( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ - K40, K41, K42, K45, K4A, K4B, K4C, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, KNO }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \ - { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ -} - -#define LAYOUT_all( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\ - K40, K41, K42, K45, K4A, K4B, K4C, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \ - { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ -} +#if defined(KEYBOARD_cannonkeys_db60_j02) + #include "j02.h" +#elif defined(KEYBOARD_cannonkeys_db60_hotswap) + #include "hotswap.h" +#else + #include "rev2.h" +#endif diff --git a/keyboards/cannonkeys/db60/hotswap/config.h b/keyboards/cannonkeys/db60/hotswap/config.h new file mode 100644 index 000000000000..3ea9693404a6 --- /dev/null +++ b/keyboards/cannonkeys/db60/hotswap/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2021 Andrew Kannan + +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 PRODUCT_ID 0xDB62 +#define PRODUCT DB60 Hotswap diff --git a/keyboards/cannonkeys/db60/hotswap/hotswap.h b/keyboards/cannonkeys/db60/hotswap/hotswap.h new file mode 100644 index 000000000000..84e3528fd0a9 --- /dev/null +++ b/keyboards/cannonkeys/db60/hotswap/hotswap.h @@ -0,0 +1,63 @@ + /* Copyright 2021 Andrew Kannan + * + * 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 "quantum.h" + +#define KNO KC_NO + +#define LAYOUT_60_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KNO, K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \ + { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \ + { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ +} + +#define LAYOUT_60_tsangan_hhkb( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\ + K40, K41, K42, K46, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \ + { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \ + { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, KNO, K4B, K4C, KNO, K4E } \ +} + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\ + K40, K41, K42, K46, K4A, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \ + { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ +} diff --git a/keyboards/cannonkeys/db60/hotswap/readme.md b/keyboards/cannonkeys/db60/hotswap/readme.md new file mode 100644 index 000000000000..818d02d06077 --- /dev/null +++ b/keyboards/cannonkeys/db60/hotswap/readme.md @@ -0,0 +1,12 @@ +# CannonKeys DB60 + +DB60 "Daughterboard 60" Keyboard + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: STM32F072CBT6 (or equivalent) + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/db60/j02: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). diff --git a/keyboards/cannonkeys/db60/hotswap/rules.mk b/keyboards/cannonkeys/db60/hotswap/rules.mk new file mode 100644 index 000000000000..b6e5c668f85f --- /dev/null +++ b/keyboards/cannonkeys/db60/hotswap/rules.mk @@ -0,0 +1 @@ +LAYOUTS = 60_ansi 60_tsangan_hhkb diff --git a/keyboards/cannonkeys/db60/j02/config.h b/keyboards/cannonkeys/db60/j02/config.h new file mode 100644 index 000000000000..392cec3a5593 --- /dev/null +++ b/keyboards/cannonkeys/db60/j02/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2021 Andrew Kannan + +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 PRODUCT_ID 0xDB60 +#define PRODUCT DB60 diff --git a/keyboards/cannonkeys/db60/j02/j02.h b/keyboards/cannonkeys/db60/j02/j02.h new file mode 100644 index 000000000000..0b854560864e --- /dev/null +++ b/keyboards/cannonkeys/db60/j02/j02.h @@ -0,0 +1,77 @@ + /* Copyright 2021 Andrew Kannan + * + * 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 "quantum.h" + +#define KNO KC_NO + +#define LAYOUT_60_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ + K40, K41, K42, K45, K4A, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \ + { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \ + { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ +} + +#define LAYOUT_60_tsangan_hhkb( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\ + K40, K41, K42, K45, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \ + { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \ + { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, KNO, K4B, K4C, KNO, K4E } \ +} + +#define LAYOUT_60_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ + K40, K41, K42, K45, K4A, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, KNO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \ + { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ +} + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\ + K40, K41, K42, K45, K4A, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \ + { K40, K41, K42, KNO, KNO, K45, KNO, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ +} diff --git a/keyboards/cannonkeys/db60/j02/readme.md b/keyboards/cannonkeys/db60/j02/readme.md new file mode 100644 index 000000000000..818d02d06077 --- /dev/null +++ b/keyboards/cannonkeys/db60/j02/readme.md @@ -0,0 +1,12 @@ +# CannonKeys DB60 + +DB60 "Daughterboard 60" Keyboard + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: STM32F072CBT6 (or equivalent) + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/db60/j02: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). diff --git a/keyboards/cannonkeys/db60/j02/rules.mk b/keyboards/cannonkeys/db60/j02/rules.mk new file mode 100644 index 000000000000..f53da9b05184 --- /dev/null +++ b/keyboards/cannonkeys/db60/j02/rules.mk @@ -0,0 +1 @@ +LAYOUTS = 60_ansi 60_tsangan_hhkb 60_iso diff --git a/keyboards/cannonkeys/db60/keymaps/via/keymap.c b/keyboards/cannonkeys/db60/keymaps/via/keymap.c index 47af39164f50..b25d36a9c256 100644 --- a/keyboards/cannonkeys/db60/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/db60/keymaps/via/keymap.c @@ -30,7 +30,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT_all( - KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_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_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, MO(_FN1), @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_FN1] = LAYOUT_all( - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + 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, KC_DEL, RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/db60/readme.md b/keyboards/cannonkeys/db60/readme.md index c1000ae2ca89..54f4a8b93519 100644 --- a/keyboards/cannonkeys/db60/readme.md +++ b/keyboards/cannonkeys/db60/readme.md @@ -3,10 +3,23 @@ DB60 "Daughterboard 60" Keyboard * Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) -* Hardware Supported: STM32F072CBT6 +* Hardware Supported: STM32F072CBT6 (or equivalent) Make example for this keyboard (after setting up your build environment): - make cannonkeys/db60:default + make cannonkeys/db60/rev2: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). + +Some notes about the versions: +The original DB60 was shipped with the J-02. To build that, you will need to use the following command: + + make cannonkeys/db60/j02:default + +Solderable DB60s were shipped with keyboards after the J-02. This variant has cutouts along the top and bottom to support O-ring gasket mounting. To build these, you can use this command: + + make cannonkeys/db60/rev2:default + +Hotswap ANSI DB60s were shipped with the Bakeneko keyboards from CannonKeys. These also have the o-ring gasket mounting points. To build this: + + make cannonkeys/db60/hotswap:default diff --git a/keyboards/cannonkeys/db60/rev2/config.h b/keyboards/cannonkeys/db60/rev2/config.h new file mode 100644 index 000000000000..df3527b70518 --- /dev/null +++ b/keyboards/cannonkeys/db60/rev2/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2021 Andrew Kannan + +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 PRODUCT_ID 0xDB61 +#define PRODUCT DB60v2 diff --git a/keyboards/cannonkeys/db60/rev2/readme.md b/keyboards/cannonkeys/db60/rev2/readme.md new file mode 100644 index 000000000000..b52f38f9a01c --- /dev/null +++ b/keyboards/cannonkeys/db60/rev2/readme.md @@ -0,0 +1,12 @@ +# CannonKeys DB60 + +DB60 "Daughterboard 60" Keyboard + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: STM32F072CBT6 (or equivalent) + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/db60/rev2: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). diff --git a/keyboards/cannonkeys/db60/rev2/rev2.h b/keyboards/cannonkeys/db60/rev2/rev2.h new file mode 100644 index 000000000000..6740e70ee397 --- /dev/null +++ b/keyboards/cannonkeys/db60/rev2/rev2.h @@ -0,0 +1,77 @@ + /* Copyright 2021 Andrew Kannan + * + * 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 "quantum.h" + +#define KNO KC_NO + +#define LAYOUT_60_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \ + { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \ + { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ +} + +#define LAYOUT_60_tsangan_hhkb( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\ + K40, K41, K42, K46, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KNO, KNO, K2E }, \ + { K30, KNO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \ + { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, KNO, K4B, K4C, KNO, K4E } \ +} + +#define LAYOUT_60_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, KNO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, KNO }, \ + { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ +} + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E,\ + K40, K41, K42, K46, K4A, K4B, K4C, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KNO, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KNO, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KNO, K3E }, \ + { K40, K41, K42, KNO, KNO, KNO, K46, KNO, KNO, KNO, K4A, K4B, K4C, KNO, K4E } \ +} diff --git a/keyboards/cannonkeys/db60/rev2/rules.mk b/keyboards/cannonkeys/db60/rev2/rules.mk new file mode 100644 index 000000000000..f53da9b05184 --- /dev/null +++ b/keyboards/cannonkeys/db60/rev2/rules.mk @@ -0,0 +1 @@ +LAYOUTS = 60_ansi 60_tsangan_hhkb 60_iso diff --git a/keyboards/cannonkeys/db60/rules.mk b/keyboards/cannonkeys/db60/rules.mk index 23385081674e..be4c05831bdd 100644 --- a/keyboards/cannonkeys/db60/rules.mk +++ b/keyboards/cannonkeys/db60/rules.mk @@ -1,10 +1,16 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -15,10 +21,7 @@ BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes WS2812_DRIVER = spi -LAYOUTS = 60_ansi 60_tsangan_hhkb 60_iso - -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF +DEFAULT_FOLDER = cannonkeys/db60/rev2 # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/devastatingtkl/config.h b/keyboards/cannonkeys/devastatingtkl/config.h index 15c0d4e35647..0a76a3466fc9 100644 --- a/keyboards/cannonkeys/devastatingtkl/config.h +++ b/keyboards/cannonkeys/devastatingtkl/config.h @@ -56,6 +56,8 @@ along with this program. If not, see . #define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 /* * Feature disable options diff --git a/keyboards/cannonkeys/devastatingtkl/rules.mk b/keyboards/cannonkeys/devastatingtkl/rules.mk index 4ce69bf4ae73..1a11e0a892d7 100644 --- a/keyboards/cannonkeys/devastatingtkl/rules.mk +++ b/keyboards/cannonkeys/devastatingtkl/rules.mk @@ -1,10 +1,16 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -16,8 +22,5 @@ BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes WS2812_DRIVER = spi -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF - # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/instant60/config.h b/keyboards/cannonkeys/instant60/config.h index bd0ae316021f..d34bc0003e8f 100644 --- a/keyboards/cannonkeys/instant60/config.h +++ b/keyboards/cannonkeys/instant60/config.h @@ -56,6 +56,8 @@ along with this program. If not, see . #define RGBLED_NUM 14 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 /* * Feature disable options diff --git a/keyboards/cannonkeys/instant60/rules.mk b/keyboards/cannonkeys/instant60/rules.mk index 0973ad954780..e483bb0722d6 100644 --- a/keyboards/cannonkeys/instant60/rules.mk +++ b/keyboards/cannonkeys/instant60/rules.mk @@ -1,16 +1,22 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover CUSTOM_MATRIX = no # Custom matrix file BACKLIGHT_ENABLE = yes @@ -19,8 +25,5 @@ WS2812_DRIVER = spi LAYOUTS = 60_ansi 60_tsangan_hhkb -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF - # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/instant65/config.h b/keyboards/cannonkeys/instant65/config.h index ecfb55fe006a..dc097494b2eb 100644 --- a/keyboards/cannonkeys/instant65/config.h +++ b/keyboards/cannonkeys/instant65/config.h @@ -56,6 +56,8 @@ along with this program. If not, see . #define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 /* diff --git a/keyboards/cannonkeys/instant65/rules.mk b/keyboards/cannonkeys/instant65/rules.mk index eba941f89bd8..3b168ce1d082 100644 --- a/keyboards/cannonkeys/instant65/rules.mk +++ b/keyboards/cannonkeys/instant65/rules.mk @@ -1,10 +1,16 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -21,6 +27,3 @@ WS2812_DRIVER = spi # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/cannonkeys/iron165/rules.mk b/keyboards/cannonkeys/iron165/rules.mk index 3925458dda5b..641a6c14daee 100644 --- a/keyboards/cannonkeys/iron165/rules.mk +++ b/keyboards/cannonkeys/iron165/rules.mk @@ -1,15 +1,18 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover CUSTOM_MATRIX = no # Custom matrix file BACKLIGHT_ENABLE = yes diff --git a/keyboards/cannonkeys/obliterated75/config.h b/keyboards/cannonkeys/obliterated75/config.h index b2edfecd3da1..7a8a7ff28cbe 100644 --- a/keyboards/cannonkeys/obliterated75/config.h +++ b/keyboards/cannonkeys/obliterated75/config.h @@ -56,6 +56,8 @@ along with this program. If not, see . #define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 /* diff --git a/keyboards/cannonkeys/obliterated75/rules.mk b/keyboards/cannonkeys/obliterated75/rules.mk index 3ff3bb919814..3c724e3d0def 100644 --- a/keyboards/cannonkeys/obliterated75/rules.mk +++ b/keyboards/cannonkeys/obliterated75/rules.mk @@ -1,10 +1,16 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -13,13 +19,9 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 WS2812_DRIVER = spi -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF - # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/onyx/rules.mk b/keyboards/cannonkeys/onyx/rules.mk index 50235c6e11a8..d93fd6f560f5 100644 --- a/keyboards/cannonkeys/onyx/rules.mk +++ b/keyboards/cannonkeys/onyx/rules.mk @@ -1,10 +1,16 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -18,8 +24,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF - # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/ortho48/ortho48.h b/keyboards/cannonkeys/ortho48/ortho48.h index b0197c3cf77c..1e51c37af7ee 100644 --- a/keyboards/cannonkeys/ortho48/ortho48.h +++ b/keyboards/cannonkeys/ortho48/ortho48.h @@ -6,13 +6,13 @@ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k36 , k37, k38, k39, k3a, k3b \ + k30, k31, k32, k33, k34, k35 , k37, k38, k39, k3a, k3b \ ) \ { \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ - { k30, k31, k32, k33, k34, KC_NO, k36, k37, k38, k39, k3a, k3b } \ + { k30, k31, k32, k33, k34, k35, KC_NO, k37, k38, k39, k3a, k3b } \ } #define LAYOUT_ortho_4x12( \ diff --git a/keyboards/cannonkeys/ortho48/rules.mk b/keyboards/cannonkeys/ortho48/rules.mk index 6e468c49a3b7..de9e49b3aed0 100644 --- a/keyboards/cannonkeys/ortho48/rules.mk +++ b/keyboards/cannonkeys/ortho48/rules.mk @@ -4,11 +4,7 @@ MCU = STM32F103 # Bootloader selection BOOTLOADER = stm32duino -# project specific files -VPATH += keyboards/cannonkeys/bluepill -SRC = keyboard.c - -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/cannonkeys/ortho60/ortho60.h b/keyboards/cannonkeys/ortho60/ortho60.h index 2dcc00ddb9fd..0f3ae127aada 100644 --- a/keyboards/cannonkeys/ortho60/ortho60.h +++ b/keyboards/cannonkeys/ortho60/ortho60.h @@ -7,14 +7,14 @@ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \ - k40, k41, k42, k43, k44, k46 , k47, k48, k49, k4a, k4b \ + k40, k41, k42, k43, k44, k45 , k47, k48, k49, k4a, k4b \ ) \ { \ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \ - { k40, k41, k42, k43, k44, KC_NO, k46, k47, k48, k49, k4a, k4b }, \ + { k40, k41, k42, k43, k44, k45, KC_NO, k47, k48, k49, k4a, k4b }, \ } #define LAYOUT_ortho_5x12( \ diff --git a/keyboards/cannonkeys/ortho60/rules.mk b/keyboards/cannonkeys/ortho60/rules.mk index ea9bd6b2df70..bed0311bce5f 100644 --- a/keyboards/cannonkeys/ortho60/rules.mk +++ b/keyboards/cannonkeys/ortho60/rules.mk @@ -4,11 +4,7 @@ MCU = STM32F103 # Bootloader selection BOOTLOADER = stm32duino -# project specific files -VPATH += keyboards/cannonkeys/bluepill -SRC = keyboard.c - -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/cannonkeys/ortho75/info.json b/keyboards/cannonkeys/ortho75/info.json index b6aaa8e7e8d2..a57f184218fa 100644 --- a/keyboards/cannonkeys/ortho75/info.json +++ b/keyboards/cannonkeys/ortho75/info.json @@ -5,7 +5,7 @@ "width": 15, "height": 5, "layouts": { - "LAYOUT_ortho_5x12": { + "LAYOUT_ortho_5x15": { "layout": [ {"label":"`", "x":0, "y":0}, {"label":"1", "x":1, "y":0}, diff --git a/keyboards/cannonkeys/ortho75/ortho75.c b/keyboards/cannonkeys/ortho75/ortho75.c index c3ceee28c009..7c722d7156dd 100644 --- a/keyboards/cannonkeys/ortho75/ortho75.c +++ b/keyboards/cannonkeys/ortho75/ortho75.c @@ -11,7 +11,8 @@ uint32_t layer_state_set_kb(uint32_t state) { return state; } -void encoder_update_kb(uint8_t index, bool clockwise) { +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) return false; uint16_t mapped_code = 0; if (index == 0) { if (clockwise) { @@ -46,4 +47,5 @@ void encoder_update_kb(uint8_t index, bool clockwise) { while (timer_elapsed(held_keycode_timer) < MEDIA_KEY_DELAY){ /* no-op */ } unregister_code(mapped_code); } + return true; } diff --git a/keyboards/cannonkeys/ortho75/rules.mk b/keyboards/cannonkeys/ortho75/rules.mk index e132ccaf1891..03f77ff4232d 100644 --- a/keyboards/cannonkeys/ortho75/rules.mk +++ b/keyboards/cannonkeys/ortho75/rules.mk @@ -4,11 +4,7 @@ MCU = STM32F103 # Bootloader selection BOOTLOADER = stm32duino -# project specific files -VPATH += keyboards/cannonkeys/bluepill -SRC = keyboard.c - -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/cannonkeys/practice60/rules.mk b/keyboards/cannonkeys/practice60/rules.mk index 3f9ca1448f7e..469dd57a9895 100644 --- a/keyboards/cannonkeys/practice60/rules.mk +++ b/keyboards/cannonkeys/practice60/rules.mk @@ -4,11 +4,7 @@ MCU = STM32F103 # Bootloader selection BOOTLOADER = stm32duino -# project specific files -VPATH += keyboards/cannonkeys/bluepill -SRC = keyboard.c - -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/cannonkeys/practice65/rules.mk b/keyboards/cannonkeys/practice65/rules.mk index 344844b0ef11..c6bcdcb3c0aa 100644 --- a/keyboards/cannonkeys/practice65/rules.mk +++ b/keyboards/cannonkeys/practice65/rules.mk @@ -4,11 +4,7 @@ MCU = STM32F103 # Bootloader selection BOOTLOADER = stm32duino -# project specific files -VPATH += keyboards/cannonkeys/bluepill -SRC = keyboard.c - -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/cannonkeys/rekt1800/rules.mk b/keyboards/cannonkeys/rekt1800/rules.mk index c4f07f544598..962b9dcf404d 100644 --- a/keyboards/cannonkeys/rekt1800/rules.mk +++ b/keyboards/cannonkeys/rekt1800/rules.mk @@ -1,10 +1,16 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -15,8 +21,5 @@ CUSTOM_MATRIX = no # Custom matrix file BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = no -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF - # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/sagittarius/config.h b/keyboards/cannonkeys/sagittarius/config.h index 6c1648713e64..a263ebc71312 100644 --- a/keyboards/cannonkeys/sagittarius/config.h +++ b/keyboards/cannonkeys/sagittarius/config.h @@ -60,6 +60,8 @@ along with this program. If not, see . #define RGBLED_NUM 8 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 #define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/cannonkeys/sagittarius/rules.mk b/keyboards/cannonkeys/sagittarius/rules.mk index 62d0ab63d4e8..65498ef6af79 100644 --- a/keyboards/cannonkeys/sagittarius/rules.mk +++ b/keyboards/cannonkeys/sagittarius/rules.mk @@ -1,13 +1,16 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF +DFU_SUFFIX_ARGS = -v FFFF -p FFFF # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/cannonkeys/satisfaction75/bootloader_defs.h b/keyboards/cannonkeys/satisfaction75/bootloader_defs.h deleted file mode 100644 index dccd0fa5d11e..000000000000 --- a/keyboards/cannonkeys/satisfaction75/bootloader_defs.h +++ /dev/null @@ -1,5 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here (page 175): - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFC800 diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h index dfb624a0d7b3..e100cc99b1e1 100644 --- a/keyboards/cannonkeys/satisfaction75/config.h +++ b/keyboards/cannonkeys/satisfaction75/config.h @@ -51,6 +51,18 @@ along with this program. If not, see . /* define if matrix has ghost */ //#define MATRIX_HAS_GHOST +// I2C config +#define I2C_DRIVER I2CD1 +#define I2C1_SCL_BANK GPIOB +#define I2C1_SCL 6 +#define I2C1_SDA 7 +#define I2C1_SCL_PAL_MODE 1 +#define I2C1_SDA_PAL_MODE 1 +#define I2C1_TIMINGR_PRESC 0x00U +#define I2C1_TIMINGR_SCLDEL 0x03U +#define I2C1_TIMINGR_SDADEL 0x01U +#define I2C1_TIMINGR_SCLH 0x03U +#define I2C1_TIMINGR_SCLL 0x09U /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 diff --git a/keyboards/cannonkeys/satisfaction75/i2c_master.c b/keyboards/cannonkeys/satisfaction75/i2c_master.c deleted file mode 100644 index d87f7668d55e..000000000000 --- a/keyboards/cannonkeys/satisfaction75/i2c_master.c +++ /dev/null @@ -1,124 +0,0 @@ -/* Copyright 2018 Jack Humbert - * Copyright 2018 Yiancar - * - * 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 . - */ - -/* This library is only valid for STM32 processors. - * This library follows the convention of the AVR i2c_master library. - * As a result addresses are expected to be already shifted (addr << 1). - * I2CD1 is the default driver which corresponds to pins B6 and B7. This - * can be changed. - * Please ensure that HAL_USE_I2C is TRUE in the halconf.h file and that - * STM32_I2C_USE_I2C1 is TRUE in the mcuconf.h file. Pins B6 and B7 are used - * but using any other I2C pins should be trivial. - */ - -#include "i2c_master.h" -#include "quantum.h" -#include -#include - -static uint8_t i2c_address; - -// This configures the I2C clock to 400khz assuming a 48Mhz clock -// For more info : https://www.st.com/en/embedded-software/stsw-stm32126.html -static const I2CConfig i2cconfig = { - STM32_TIMINGR_PRESC(0x00U) | - STM32_TIMINGR_SCLDEL(0x03U) | STM32_TIMINGR_SDADEL(0x01U) | - STM32_TIMINGR_SCLH(0x03U) | STM32_TIMINGR_SCLL(0x09U), - 0, - 0 -}; - -static i2c_status_t chibios_to_qmk(const msg_t status) { - switch (status) { - case I2C_NO_ERROR: - return I2C_STATUS_SUCCESS; - case I2C_TIMEOUT: - return I2C_STATUS_TIMEOUT; - // I2C_BUS_ERROR, I2C_ARBITRATION_LOST, I2C_ACK_FAILURE, I2C_OVERRUN, I2C_PEC_ERROR, I2C_SMB_ALERT - default: - return I2C_STATUS_ERROR; - } -} - -__attribute__ ((weak)) -void i2c_init(void) -{ - // Try releasing special pins for a short time - palSetPadMode(GPIOB, 6, PAL_MODE_INPUT); - palSetPadMode(GPIOB, 7, PAL_MODE_INPUT); - - chThdSleepMilliseconds(10); - - palSetPadMode(GPIOB, 6, PAL_MODE_ALTERNATE(1) | PAL_STM32_OTYPE_OPENDRAIN); - palSetPadMode(GPIOB, 7, PAL_MODE_ALTERNATE(1) | PAL_STM32_OTYPE_OPENDRAIN); - - //i2cInit(); //This is invoked by halInit() so no need to redo it. -} - -i2c_status_t i2c_start(uint8_t address) -{ - i2c_address = address; - i2cStart(&I2C_DRIVER, &i2cconfig); - return I2C_STATUS_SUCCESS; -} - -i2c_status_t i2c_transmit(uint8_t address, const uint8_t* data, uint16_t length, uint16_t timeout) -{ - i2c_address = address; - i2cStart(&I2C_DRIVER, &i2cconfig); - i2cAcquireBus(&I2C_DRIVER); - msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (i2c_address >> 1), data, length, 0, 0, TIME_MS2I(timeout)); - i2cReleaseBus(&I2C_DRIVER); - return chibios_to_qmk(status); -} - -i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout) -{ - i2c_address = address; - i2cStart(&I2C_DRIVER, &i2cconfig); - msg_t status = i2cMasterReceiveTimeout(&I2C_DRIVER, (i2c_address >> 1), data, length, TIME_MS2I(timeout)); - return chibios_to_qmk(status); -} - -i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, const uint8_t* data, uint16_t length, uint16_t timeout) -{ - i2c_address = devaddr; - i2cStart(&I2C_DRIVER, &i2cconfig); - - uint8_t complete_packet[length + 1]; - for(uint8_t i = 0; i < length; i++) - { - complete_packet[i+1] = data[i]; - } - complete_packet[0] = regaddr; - - msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (i2c_address >> 1), complete_packet, length + 1, 0, 0, TIME_MS2I(timeout)); - return chibios_to_qmk(status); -} - -i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout) -{ - i2c_address = devaddr; - i2cStart(&I2C_DRIVER, &i2cconfig); - msg_t status = i2cMasterTransmitTimeout(&I2C_DRIVER, (i2c_address >> 1), ®addr, 1, data, length, TIME_MS2I(timeout)); - return chibios_to_qmk(status); -} - -void i2c_stop(void) -{ - i2cStop(&I2C_DRIVER); -} diff --git a/keyboards/cannonkeys/satisfaction75/rules.mk b/keyboards/cannonkeys/satisfaction75/rules.mk index e3abea546378..3f0f8cda7c91 100644 --- a/keyboards/cannonkeys/satisfaction75/rules.mk +++ b/keyboards/cannonkeys/satisfaction75/rules.mk @@ -2,6 +2,12 @@ MCU = STM32F072 BOARD = GENERIC_STM32_F072XB +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # comment out to disable the options. # @@ -10,12 +16,12 @@ SRC += led.c \ satisfaction_encoder.c \ satisfaction_oled.c -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover CUSTOM_MATRIX = no # Custom matrix file ENCODER_ENABLE = yes @@ -25,8 +31,5 @@ QWIIC_DRIVERS += MICRO_OLED DEFAULT_FOLDER = cannonkeys/satisfaction75/rev1 -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF - # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction75.c b/keyboards/cannonkeys/satisfaction75/satisfaction75.c index fd85b8230b90..682805f3217d 100644 --- a/keyboards/cannonkeys/satisfaction75/satisfaction75.c +++ b/keyboards/cannonkeys/satisfaction75/satisfaction75.c @@ -244,7 +244,7 @@ void read_host_led_state(void) { } } -uint32_t layer_state_set_kb(uint32_t state) { +layer_state_t layer_state_set_kb(layer_state_t state) { state = layer_state_set_user(state); layer = biton32(state); queue_for_send = true; @@ -300,7 +300,8 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } -void encoder_update_kb(uint8_t index, bool clockwise) { +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) return false; encoder_value = (encoder_value + (clockwise ? 1 : -1)) % 64; queue_for_send = true; if (index == 0) { @@ -325,6 +326,7 @@ void encoder_update_kb(uint8_t index, bool clockwise) { } } } + return true; } void custom_config_reset(void){ @@ -380,7 +382,7 @@ void matrix_init_kb(void) } -void matrix_scan_kb(void) { +void housekeeping_task_kb(void) { rtcGetTime(&RTCD1, &last_timespec); uint16_t minutes_since_midnight = last_timespec.millisecond / 1000 / 60; @@ -451,4 +453,4 @@ void via_eeprom_reset(void) eeconfig_disable(); } -#endif // VIA_ENABLE \ No newline at end of file +#endif // VIA_ENABLE diff --git a/keyboards/cannonkeys/savage65/config.h b/keyboards/cannonkeys/savage65/config.h index 07672643ed22..3c3166c91938 100644 --- a/keyboards/cannonkeys/savage65/config.h +++ b/keyboards/cannonkeys/savage65/config.h @@ -56,6 +56,8 @@ along with this program. If not, see . #define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 /* diff --git a/keyboards/cannonkeys/savage65/rules.mk b/keyboards/cannonkeys/savage65/rules.mk index 8e1b984fd4ac..92e945d8f59a 100644 --- a/keyboards/cannonkeys/savage65/rules.mk +++ b/keyboards/cannonkeys/savage65/rules.mk @@ -1,17 +1,23 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover CUSTOM_MATRIX = no # Custom matrix file BACKLIGHT_ENABLE = yes @@ -21,7 +27,4 @@ WS2812_DRIVER = spi # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF - LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs 65_ansi_blocker_tsangan 65_iso_blocker diff --git a/keyboards/cannonkeys/tmov2/config.h b/keyboards/cannonkeys/tmov2/config.h index 5f44584e0d27..cddff4ce7eb3 100644 --- a/keyboards/cannonkeys/tmov2/config.h +++ b/keyboards/cannonkeys/tmov2/config.h @@ -56,6 +56,8 @@ along with this program. If not, see . #define RGBLED_NUM 22 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 /* * Feature disable options diff --git a/keyboards/cannonkeys/tmov2/rules.mk b/keyboards/cannonkeys/tmov2/rules.mk index 9b29e8fd1793..7464df414b27 100644 --- a/keyboards/cannonkeys/tmov2/rules.mk +++ b/keyboards/cannonkeys/tmov2/rules.mk @@ -1,17 +1,23 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover CUSTOM_MATRIX = no # Custom matrix file BACKLIGHT_ENABLE = yes @@ -20,6 +26,3 @@ WS2812_DRIVER = spi # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE - -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF diff --git a/keyboards/cannonkeys/tsukuyomi/config.h b/keyboards/cannonkeys/tsukuyomi/config.h index 00cd0eee99a2..d3e955450fbf 100644 --- a/keyboards/cannonkeys/tsukuyomi/config.h +++ b/keyboards/cannonkeys/tsukuyomi/config.h @@ -56,6 +56,8 @@ along with this program. If not, see . #define RGBLED_NUM 20 #define WS2812_SPI SPID2 #define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN B13 /* diff --git a/keyboards/cannonkeys/tsukuyomi/rules.mk b/keyboards/cannonkeys/tsukuyomi/rules.mk index ce881f1986a1..3b168ce1d082 100644 --- a/keyboards/cannonkeys/tsukuyomi/rules.mk +++ b/keyboards/cannonkeys/tsukuyomi/rules.mk @@ -1,16 +1,22 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality @@ -19,8 +25,5 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output WS2812_DRIVER = spi -# Wildcard to allow APM32 MCU -DFU_SUFFIX_ARGS = -p FFFF -v FFFF - # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/vicious40/chconf.h b/keyboards/cannonkeys/vicious40/chconf.h new file mode 100644 index 000000000000..f3eb1c05e539 --- /dev/null +++ b/keyboards/cannonkeys/vicious40/chconf.h @@ -0,0 +1,31 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/cannonkeys/savage65/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#include_next + diff --git a/keyboards/cannonkeys/vicious40/config.h b/keyboards/cannonkeys/vicious40/config.h new file mode 100644 index 000000000000..768ee7397d64 --- /dev/null +++ b/keyboards/cannonkeys/vicious40/config.h @@ -0,0 +1,70 @@ +/* +Copyright 2015 Jun Wako + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xCA04 +#define PRODUCT_ID 0x0004 +#define DEVICE_VER 0x0001 +#define MANUFACTURER CannonKeys +#define PRODUCT Vicious40 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +#define MATRIX_COL_PINS { B0, A7, A5, B1, B2, B10, B11, A9, B6, B7, B8, B9 } +#define MATRIX_ROW_PINS { A15, B3, B4, B5 } +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN A6 +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 1 +#define BACKLIGHT_LEVELS 6 +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 6 + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/cannonkeys/vicious40/halconf.h b/keyboards/cannonkeys/vicious40/halconf.h new file mode 100644 index 000000000000..63f5cf44a1aa --- /dev/null +++ b/keyboards/cannonkeys/vicious40/halconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/cannonkeys/savage65/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next + diff --git a/keyboards/cannonkeys/vicious40/info.json b/keyboards/cannonkeys/vicious40/info.json new file mode 100644 index 000000000000..657f18bfbe88 --- /dev/null +++ b/keyboards/cannonkeys/vicious40/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "Vicious40", + "url": "https://cannonkeys.com", + "maintainer": "awkannan", + "width": 12.75, + "height": 4, + "layouts": { + "LAYOUT_default": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Backspace", "x":11, "y":0, "w":1.75}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"Enter", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"Up", "x":10.75, "y":2}, {"label":"?", "x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Super", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Space", "x":3, "y":3, "w":2.25}, {"label":"Space", "x":5.25, "y":3, "w":1.25}, {"label":"Space", "x":6.5, "y":3, "w":2.75}, {"label":"Left", "x":9.75, "y":3}, {"label":"Down", "x":10.75, "y":3}, {"label":"Right", "x":11.75, "y":3}] + } + } +} diff --git a/keyboards/cannonkeys/vicious40/keymaps/default/keymap.c b/keyboards/cannonkeys/vicious40/keymaps/default/keymap.c new file mode 100644 index 000000000000..25959e719eca --- /dev/null +++ b/keyboards/cannonkeys/vicious40/keymaps/default/keymap.c @@ -0,0 +1,52 @@ +/* +Copyright 2012,2013 Jun Wako + +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 + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1, + _FN2 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT_default( + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, KC_LGUI, KC_LALT, LT(_FN1, KC_SPC), KC_SPC, LT(_FN2, KC_SPC), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_default( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), + + [_FN2] = LAYOUT_default( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_INS, + KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_TOGG, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_BRTG + ) +}; diff --git a/keyboards/cannonkeys/vicious40/keymaps/via/keymap.c b/keyboards/cannonkeys/vicious40/keymaps/via/keymap.c new file mode 100644 index 000000000000..fa74f8271e42 --- /dev/null +++ b/keyboards/cannonkeys/vicious40/keymaps/via/keymap.c @@ -0,0 +1,60 @@ +/* +Copyright 2012,2013 Jun Wako + +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 + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = LAYOUT_default( + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, KC_LGUI, KC_LALT, LT(_FN1, KC_SPC), KC_SPC, LT(_FN2, KC_SPC), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_default( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), + + [_FN2] = LAYOUT_default( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_INS, + KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_INC, BL_TOGG, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_BRTG + ), + + [_FN3] = LAYOUT_default( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/xd87/keymaps/via/rules.mk b/keyboards/cannonkeys/vicious40/keymaps/via/rules.mk similarity index 100% rename from keyboards/xd87/keymaps/via/rules.mk rename to keyboards/cannonkeys/vicious40/keymaps/via/rules.mk diff --git a/keyboards/cannonkeys/vicious40/mcuconf.h b/keyboards/cannonkeys/vicious40/mcuconf.h new file mode 100644 index 000000000000..54e614d1c2c5 --- /dev/null +++ b/keyboards/cannonkeys/vicious40/mcuconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/cannonkeys/savage65/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + diff --git a/keyboards/cannonkeys/vicious40/readme.md b/keyboards/cannonkeys/vicious40/readme.md new file mode 100644 index 000000000000..741902fe2d59 --- /dev/null +++ b/keyboards/cannonkeys/vicious40/readme.md @@ -0,0 +1,12 @@ +# CannonKeys Vicious40 + +Vicious40 Keyboard + +* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +* Hardware Supported: STM32F072CBT6 or APM32F072CBT6 + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/vicious40: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). diff --git a/keyboards/cannonkeys/vicious40/rules.mk b/keyboards/cannonkeys/vicious40/rules.mk new file mode 100644 index 000000000000..a62db25372f2 --- /dev/null +++ b/keyboards/cannonkeys/vicious40/rules.mk @@ -0,0 +1,28 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/cannonkeys/vicious40/vicious40.c b/keyboards/cannonkeys/vicious40/vicious40.c new file mode 100644 index 000000000000..ae8ca5082b39 --- /dev/null +++ b/keyboards/cannonkeys/vicious40/vicious40.c @@ -0,0 +1,17 @@ + /* Copyright 2021 Andrew Kannan + * + * 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 "vicious40.h" diff --git a/keyboards/cannonkeys/vicious40/vicious40.h b/keyboards/cannonkeys/vicious40/vicious40.h new file mode 100644 index 000000000000..fd48716748ab --- /dev/null +++ b/keyboards/cannonkeys/vicious40/vicious40.h @@ -0,0 +1,33 @@ + /* Copyright 2021 Andrew Kannan + * + * 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 "quantum.h" + +#define XXXX KC_NO + +#define LAYOUT_default( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \ + K300, K301, K302, K303, K304, K306, K309, K310, K311 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211 }, \ + { K300, K301, K302, K303, K304, XXXX, K306, XXXX, XXXX, K309, K310, K311 } \ +} diff --git a/keyboards/capsunlocked/cu65/cu65.h b/keyboards/capsunlocked/cu65/cu65.h index dafaba3322b6..78bed765c4dc 100644 --- a/keyboards/capsunlocked/cu65/cu65.h +++ b/keyboards/capsunlocked/cu65/cu65.h @@ -65,3 +65,17 @@ along with this program. If not, see . { K300, K301, KC_NO,K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \ { K400, K401, K402, KC_NO,KC_NO,KC_NO,KC_NO,K407, KC_NO,KC_NO,K410, KC_NO,K412, K413, K414, K415 } \ } + +#define LAYOUT_65_iso_blocker_split_bs( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ + K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ + K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \ + K400, K401, K402, K407, K410, K412, K413, K414, K415 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ + { K100, KC_NO,K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, KC_NO,K115 }, \ + { K200, KC_NO,K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ + { K300, K301, KC_NO,K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \ + { K400, K401, K402, KC_NO,KC_NO,KC_NO,KC_NO,K407, KC_NO,KC_NO,K410, KC_NO,K412, K413, K414, K415 } \ +} diff --git a/keyboards/capsunlocked/cu65/info.json b/keyboards/capsunlocked/cu65/info.json index 4f8f08a2f5fc..065367836cee 100644 --- a/keyboards/capsunlocked/cu65/info.json +++ b/keyboards/capsunlocked/cu65/info.json @@ -233,6 +233,83 @@ {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4} ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0}, + {"label":"Delete", "x":14, "y":0}, + {"label":"Insert", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"Home", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Fn", "x":11.25, "y":4, "w":1.25}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] } } } diff --git a/keyboards/capsunlocked/cu65/keymaps/default/keymap.c b/keyboards/capsunlocked/cu65/keymaps/default/keymap.c index 4f185d8cf26e..05f4bdb99506 100644 --- a/keyboards/capsunlocked/cu65/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu65/keymaps/default/keymap.c @@ -21,16 +21,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_65_ansi_blocker( /* * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ - * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Ins│ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Ins│ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │Del│ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │  Enter │Pg+│ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │Pg+│ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ - * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │Pg-│ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │Pg-│ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ - * │Ctrl│LGUI│LAlt│      Space      │RAlt│ L1 │ │ ← │ ↓ │ → │ - * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * │Ctrl│LGUI│LAlt│ Space │RAlt│ L1 │ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, 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, @@ -41,16 +41,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_ansi_blocker( /* * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ - * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│       │   │ + * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ │ │ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ - * │   │   │   │   │   │   │   │   │   │   │   │   │   │     │   │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ - * │      │   │   │   │   │   │   │   │   │   │   │   │        │   │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ - * │        │   │   │   │   │   │   │   │   │   │   │      │ │   │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ - * │    │    │    │                        │    │    │ │ │ │ │ - * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * │ │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c b/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c index a11eb3f3abd5..c84317270c6e 100644 --- a/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c +++ b/keyboards/capsunlocked/cu65/keymaps/iso/keymap.c @@ -21,16 +21,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_65_iso_blocker( /* * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ - * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Ins│ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Ins│ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │     │Del│ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │Del│ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent├───┤ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │  │Pg+│ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │Pg+│ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ - * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │Pg-│ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │Pg-│ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ - * │Ctrl│LGUI│LAlt│      Space      │RAlt│ L1 │ │ ← │ ↓ │ → │ - * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * │Ctrl│LGUI│LAlt│ Space │RAlt│ L1 │ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, 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, @@ -41,16 +41,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_iso_blocker( /* * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ - * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│       │   │ + * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ │ │ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ - * │   │   │   │   │   │   │   │   │   │   │   │   │   │     │   │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    ├───┤ - * │      │   │   │   │   │   │   │   │   │   │   │   │   │    │   │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ - * │    │   │   │   │   │   │   │   │   │   │   │   │      │ │   │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ - * │    │    │    │                        │    │    │ │ │ │ │ - * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * │ │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/capsunlocked/cu65/keymaps/iso_split_bs/keymap.c b/keyboards/capsunlocked/cu65/keymaps/iso_split_bs/keymap.c new file mode 100644 index 000000000000..2de0de76b48e --- /dev/null +++ b/keyboards/capsunlocked/cu65/keymaps/iso_split_bs/keymap.c @@ -0,0 +1,61 @@ +/* +Copyright 2020 CapsUnlocked + +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_65_iso_blocker_split_bs( + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Del│Ins│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │Hom│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent├───┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │Pg+│ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │Pg-│ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │Ctrl│LGUI│LAlt│ Space │RAlt│ L1 │ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, + 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_HOME, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP, + 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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_iso_blocker_split_bs( + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + */ + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/capsunlocked/cu65/keymaps/iso_split_bs/readme.md b/keyboards/capsunlocked/cu65/keymaps/iso_split_bs/readme.md new file mode 100644 index 000000000000..5ec6b24d12b7 --- /dev/null +++ b/keyboards/capsunlocked/cu65/keymaps/iso_split_bs/readme.md @@ -0,0 +1 @@ +# A 69-key variant of the ISO keymap for CU65 (w/ split Backspace) diff --git a/keyboards/capsunlocked/cu65/rules.mk b/keyboards/capsunlocked/cu65/rules.mk index 520df45ab1e1..c09576738ed0 100644 --- a/keyboards/capsunlocked/cu65/rules.mk +++ b/keyboards/capsunlocked/cu65/rules.mk @@ -1,13 +1,13 @@ # MCU name MCU = atmega32u4 -# Bootloader +# Bootloader selection BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -21,4 +21,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output -LAYOUTS = 65_ansi_blocker 65_iso_blocker +LAYOUTS = 65_ansi_blocker 65_iso_blocker 65_iso_blocker_split_bs diff --git a/keyboards/capsunlocked/cu7/config.h b/keyboards/capsunlocked/cu7/config.h new file mode 100644 index 000000000000..cc22be0f0258 --- /dev/null +++ b/keyboards/capsunlocked/cu7/config.h @@ -0,0 +1,72 @@ +/* +Copyright 2021 CapsUnlocked + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4355 +#define PRODUCT_ID 0x0007 +#define DEVICE_VER 0x0001 +#define MANUFACTURER CapsUnlocked +#define PRODUCT CU7 + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 3 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ + +#define ENCODER_RESOLUTION 2 + +#define ENCODERS_PAD_A { D6 } +#define ENCODERS_PAD_B { D4 } + +#define MATRIX_ROW_PINS { D7, F0, F6 } +#define MATRIX_COL_PINS { F5, F7, F4 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define RGB_DI_PIN F1 +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +// #define RGBLIGHT_EFFECT_BREATHING +#define RGBLED_NUM 6 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 +#define RGBLIGHT_LIMIT_VAL 50 +#endif diff --git a/keyboards/capsunlocked/cu7/cu7.c b/keyboards/capsunlocked/cu7/cu7.c new file mode 100644 index 000000000000..815ac53c9409 --- /dev/null +++ b/keyboards/capsunlocked/cu7/cu7.c @@ -0,0 +1,14 @@ +/* +Copyright 2021 CapsUnlocked +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 "cu7.h" diff --git a/keyboards/capsunlocked/cu7/cu7.h b/keyboards/capsunlocked/cu7/cu7.h new file mode 100644 index 000000000000..2f30dbb2d57e --- /dev/null +++ b/keyboards/capsunlocked/cu7/cu7.h @@ -0,0 +1,36 @@ +/* +Copyright 2021 CapsUnlocked +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 "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +#define LAYOUT( \ + K01, \ + K10, K11, K12, \ + K20, K21, K22 \ +) { \ + { KC_NO, K01, KC_NO }, \ + { K10, K11, K12 }, \ + { K20, K21, K22 } \ +} + diff --git a/keyboards/capsunlocked/cu7/info.json b/keyboards/capsunlocked/cu7/info.json new file mode 100644 index 000000000000..f679f1ed2fd1 --- /dev/null +++ b/keyboards/capsunlocked/cu7/info.json @@ -0,0 +1,22 @@ +{ + "keyboard_name": "CU7", + "url": "https://caps-unlocked.com/cu7/", + "maintainer": "rys", + "width": 3, + "height": 4.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0.5, "y":0, "w":2, "h":2}, + + {"x":0, "y":2.5}, + {"x":1, "y":2.5}, + {"x":2, "y":2.5}, + + {"x":0, "y":3.5}, + {"x":1, "y":3.5}, + {"x":2, "y":3.5} + ] + } + } +} diff --git a/keyboards/capsunlocked/cu7/keymaps/default/keymap.c b/keyboards/capsunlocked/cu7/keymaps/default/keymap.c new file mode 100644 index 000000000000..66ee4f7a9045 --- /dev/null +++ b/keyboards/capsunlocked/cu7/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* +Copyright 2021 CapsUnlocked + +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( + MO(1), + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6 + ), + [1] = LAYOUT( + _______, + RGB_MOD, KC_UP, RESET, + KC_LEFT, KC_DOWN, KC_RGHT + ), +}; + +// Volume up/down on the encoder +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } + else { + tap_code_delay(KC_VOLD, 10); + } + + return true; +} diff --git a/keyboards/capsunlocked/cu7/keymaps/default/readme.md b/keyboards/capsunlocked/cu7/keymaps/default/readme.md new file mode 100644 index 000000000000..e6123685748a --- /dev/null +++ b/keyboards/capsunlocked/cu7/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for CU7 \ No newline at end of file diff --git a/keyboards/capsunlocked/cu7/readme.md b/keyboards/capsunlocked/cu7/readme.md new file mode 100644 index 000000000000..bd5759a3971a --- /dev/null +++ b/keyboards/capsunlocked/cu7/readme.md @@ -0,0 +1,15 @@ +# CU7 + +The CU7 is a customisable 3x2 key macropad with a clickable rotary encoder. + +To place the keyboard into bootloader mode in order to flash it, use the reset button on the PCB. + +* Keyboard maintainer: [rys](https://github.com/rys) +* Hardware supported: CU7 +* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu7/) + +Make and flash example for this keyboard (after setting up your build environment): + + make capsunlocked/cu7: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). diff --git a/keyboards/capsunlocked/cu7/rules.mk b/keyboards/capsunlocked/cu7/rules.mk new file mode 100644 index 000000000000..2863e7f537fa --- /dev/null +++ b/keyboards/capsunlocked/cu7/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes diff --git a/keyboards/capsunlocked/cu80/v2_ansi/config.h b/keyboards/capsunlocked/cu80/v2_ansi/config.h index a32d2e9439ee..4ff0af5c271d 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/config.h +++ b/keyboards/capsunlocked/cu80/v2_ansi/config.h @@ -19,37 +19,10 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4355 -#define PRODUCT_ID 0x0081 -#define DEVICE_VER 0x0001 -#define MANUFACTURER CapsUnlocked -#define PRODUCT CU80 v2 ANSI - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 17 - -#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 } -#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGB_DI_PIN E6 -#ifdef RGB_DI_PIN - #define RGBLIGHT_ANIMATIONS - #define RGBLED_NUM 87 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_LIMIT_VAL 50 -#endif +/* Define RGB */ +#define DRIVER_LED_TOTAL 87 +#define RGBLIGHT_ANIMATIONS diff --git a/keyboards/capsunlocked/cu80/v2_ansi/info.json b/keyboards/capsunlocked/cu80/v2_ansi/info.json index 168b1bfae24a..f4b8a1f70956 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/info.json +++ b/keyboards/capsunlocked/cu80/v2_ansi/info.json @@ -1,100 +1,142 @@ { - "keyboard_name": "CapsUnlocked CU80 v2 ANSI", - "maintainer": "rys", - "url": "https://caps-unlocked.com/cu80-round-2/", - "width": 18.25, - "height": 6.5, - "layouts": { - "LAYOUT_tkl_ansi": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":2, "y":0}, - {"label":"F2", "x":3, "y":0}, - {"label":"F3", "x":4, "y":0}, - {"label":"F4", "x":5, "y":0}, - {"label":"F5", "x":6.5, "y":0}, - {"label":"F6", "x":7.5, "y":0}, - {"label":"F7", "x":8.5, "y":0}, - {"label":"F8", "x":9.5, "y":0}, - {"label":"F9", "x":11, "y":0}, - {"label":"F10", "x":12, "y":0}, - {"label":"F11", "x":13, "y":0}, - {"label":"F12", "x":14, "y":0}, - {"label":"PrtSc", "x":15.25, "y":0}, - {"label":"Scroll Lock", "x":16.25, "y":0}, - {"label":"Pause", "x":17.25, "y":0}, - {"label":"\u00ac", "x":0, "y":1.5}, - {"label":"!", "x":1, "y":1.5}, - {"label":"@", "x":2, "y":1.5}, - {"label":"£", "x":3, "y":1.5}, - {"label":"$", "x":4, "y":1.5}, - {"label":"%", "x":5, "y":1.5}, - {"label":"^", "x":6, "y":1.5}, - {"label":"&", "x":7, "y":1.5}, - {"label":"*", "x":8, "y":1.5}, - {"label":"(", "x":9, "y":1.5}, - {"label":")", "x":10, "y":1.5}, - {"label":"_", "x":11, "y":1.5}, - {"label":"+", "x":12, "y":1.5}, - {"label":"Backspace", "x":13, "y":1.5, "w":2}, - {"label":"Insert", "x":15.25, "y":1.5}, - {"label":"Home", "x":16.25, "y":1.5}, - {"label":"PgUp", "x":17.25, "y":1.5}, - {"label":"Tab", "x":0, "y":2.5, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.5}, - {"label":"W", "x":2.5, "y":2.5}, - {"label":"E", "x":3.5, "y":2.5}, - {"label":"R", "x":4.5, "y":2.5}, - {"label":"T", "x":5.5, "y":2.5}, - {"label":"Y", "x":6.5, "y":2.5}, - {"label":"U", "x":7.5, "y":2.5}, - {"label":"I", "x":8.5, "y":2.5}, - {"label":"O", "x":9.5, "y":2.5}, - {"label":"P", "x":10.5, "y":2.5}, - {"label":"{", "x":11.5, "y":2.5}, - {"label":"}", "x":12.5, "y":2.5}, - {"label":"|", "x":13.5, "y":2.5, "w":1.5}, - {"label":"Delete", "x":15.25, "y":2.5}, - {"label":"End", "x":16.25, "y":2.5}, - {"label":"PgDn", "x":17.25, "y":2.5}, - {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, - {"label":"A", "x":1.75, "y":3.5}, - {"label":"S", "x":2.75, "y":3.5}, - {"label":"D", "x":3.75, "y":3.5}, - {"label":"F", "x":4.75, "y":3.5}, - {"label":"G", "x":5.75, "y":3.5}, - {"label":"H", "x":6.75, "y":3.5}, - {"label":"J", "x":7.75, "y":3.5}, - {"label":"K", "x":8.75, "y":3.5}, - {"label":"L", "x":9.75, "y":3.5}, - {"label":":", "x":10.75, "y":3.5}, - {"label":"\"", "x":11.75, "y":3.5}, - {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, - {"label":"Shift", "x":0, "y":4.5, "w":2.25}, - {"label":"Z", "x":2.25, "y":4.5}, - {"label":"X", "x":3.25, "y":4.5}, - {"label":"C", "x":4.25, "y":4.5}, - {"label":"V", "x":5.25, "y":4.5}, - {"label":"B", "x":6.25, "y":4.5}, - {"label":"N", "x":7.25, "y":4.5}, - {"label":"M", "x":8.25, "y":4.5}, - {"label":"<", "x":9.25, "y":4.5}, - {"label":">", "x":10.25, "y":4.5}, - {"label":"?", "x":11.25, "y":4.5}, - {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, - {"label":"Up", "x":16.25, "y":4.5}, - {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, - {"label":"Alt", "x":1.25, "y":5.5, "w":1.25}, - {"label":"Win", "x":2.5, "y":5.5, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.5, "w":6.25}, - {"label":"Win", "x":10, "y":5.5, "w":1.25}, - {"label":"AltGr", "x":11.25, "y":5.5, "w":1.25}, - {"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25}, - {"label":"Fn", "x":13.75, "y":5.5, "w":1.25}, - {"label":"Left", "x":15.25, "y":5.5}, - {"label":"Down", "x":16.25, "y":5.5}, - {"label":"Right", "x":17.25, "y":5.5} - ] - } + "manufacturer": "CapsUnlocked", + "keyboard_name": "CapsUnlocked CU80 v2 ANSI", + "maintainer": "rys / maz0r", + "height": 6.5, + "width": 18.25, + "bootloader": "atmel-dfu", + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "audio": false, + "backlight": false, + "bluetooth": false, + "bootmagic_lite": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true, + "rgblight": true, + "sleep_led": false, + "unicode": false + }, + "matrix_pins": { + "cols": ["B0", "B1", "B2", "B3", "F4", "F5", "F6", "F7", "B6", "B5", "D7", "B4", "D6", "F0", "D1", "C6", "D4"], + "rows": ["D3", "D2", "B7", "F1", "C7", "D5"] + }, + "processor": "atmega32u4", + "rgblight": { + "animations": { + "all": false + }, + "brightness_steps": 8, + "hue_steps": 8, + "led_count": 87, + "max_brightness": 50, + "pin": "E6", + "saturation_steps": 8 + }, + "url": "https://caps-unlocked.com/cu80-round-2/", + "usb": { + "device_ver": "0x0001", + "pid": "0x0081", + "vid": "0x4355" + }, + "community_layouts": ["tkl_ansi"], + "layouts": { + "LAYOUT_tkl_ansi": { + "c_macro": true, + "filename": "keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.h", + "layout": [ + { "label": "Esc", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "F1", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "F2", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "F3", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 }, + { "label": "F4", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 }, + { "label": "F5", "matrix": [0, 6], "w": 1, "x": 6.5, "y": 0 }, + { "label": "F6", "matrix": [0, 7], "w": 1, "x": 7.5, "y": 0 }, + { "label": "F7", "matrix": [0, 8], "w": 1, "x": 8.5, "y": 0 }, + { "label": "F8", "matrix": [0, 9], "w": 1, "x": 9.5, "y": 0 }, + { "label": "F9", "matrix": [0, 10], "w": 1, "x": 11, "y": 0 }, + { "label": "F10", "matrix": [0, 11], "w": 1, "x": 12, "y": 0 }, + { "label": "F11", "matrix": [0, 12], "w": 1, "x": 13, "y": 0 }, + { "label": "F12", "matrix": [0, 13], "w": 1, "x": 14, "y": 0 }, + { "label": "PrtSc", "matrix": [0, 14], "w": 1, "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "matrix": [0, 15], "w": 1, "x": 16.25, "y": 0 }, + { "label": "Pause", "matrix": [0, 16], "w": 1, "x": 17.25, "y": 0 }, + { "label": "\u00ac", "matrix": [1, 0], "w": 1, "x": 0, "y": 1.5 }, + { "label": "!", "matrix": [1, 1], "w": 1, "x": 1, "y": 1.5 }, + { "label": "@", "matrix": [1, 2], "w": 1, "x": 2, "y": 1.5 }, + { "label": "\u00a3", "matrix": [1, 3], "w": 1, "x": 3, "y": 1.5 }, + { "label": "$", "matrix": [1, 4], "w": 1, "x": 4, "y": 1.5 }, + { "label": "%", "matrix": [1, 5], "w": 1, "x": 5, "y": 1.5 }, + { "label": "^", "matrix": [1, 6], "w": 1, "x": 6, "y": 1.5 }, + { "label": "&", "matrix": [1, 7], "w": 1, "x": 7, "y": 1.5 }, + { "label": "*", "matrix": [1, 8], "w": 1, "x": 8, "y": 1.5 }, + { "label": "(", "matrix": [1, 9], "w": 1, "x": 9, "y": 1.5 }, + { "label": ")", "matrix": [1, 10], "w": 1, "x": 10, "y": 1.5 }, + { "label": "_", "matrix": [1, 11], "w": 1, "x": 11, "y": 1.5 }, + { "label": "+", "matrix": [1, 12], "w": 1, "x": 12, "y": 1.5 }, + { "label": "Backspace", "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, + { "label": "Insert", "matrix": [1, 14], "w": 1, "x": 15.25, "y": 1.5 }, + { "label": "Home", "matrix": [1, 15], "w": 1, "x": 16.25, "y": 1.5 }, + { "label": "PgUp", "matrix": [1, 16], "w": 1, "x": 17.25, "y": 1.5 }, + { "label": "Tab", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, + { "label": "Q", "matrix": [2, 1], "w": 1, "x": 1.5, "y": 2.5 }, + { "label": "W", "matrix": [2, 2], "w": 1, "x": 2.5, "y": 2.5 }, + { "label": "E", "matrix": [2, 3], "w": 1, "x": 3.5, "y": 2.5 }, + { "label": "R", "matrix": [2, 4], "w": 1, "x": 4.5, "y": 2.5 }, + { "label": "T", "matrix": [2, 5], "w": 1, "x": 5.5, "y": 2.5 }, + { "label": "Y", "matrix": [2, 6], "w": 1, "x": 6.5, "y": 2.5 }, + { "label": "U", "matrix": [2, 7], "w": 1, "x": 7.5, "y": 2.5 }, + { "label": "I", "matrix": [2, 8], "w": 1, "x": 8.5, "y": 2.5 }, + { "label": "O", "matrix": [2, 9], "w": 1, "x": 9.5, "y": 2.5 }, + { "label": "P", "matrix": [2, 10], "w": 1, "x": 10.5, "y": 2.5 }, + { "label": "{", "matrix": [2, 11], "w": 1, "x": 11.5, "y": 2.5 }, + { "label": "}", "matrix": [2, 12], "w": 1, "x": 12.5, "y": 2.5 }, + { "label": "|", "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.5 }, + { "label": "Delete", "matrix": [2, 14], "w": 1, "x": 15.25, "y": 2.5 }, + { "label": "End", "matrix": [2, 15], "w": 1, "x": 16.25, "y": 2.5 }, + { "label": "PgDn", "matrix": [2, 16], "w": 1, "x": 17.25, "y": 2.5 }, + { "label": "Caps Lock", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, + { "label": "A", "matrix": [3, 1], "w": 1, "x": 1.75, "y": 3.5 }, + { "label": "S", "matrix": [3, 2], "w": 1, "x": 2.75, "y": 3.5 }, + { "label": "D", "matrix": [3, 3], "w": 1, "x": 3.75, "y": 3.5 }, + { "label": "F", "matrix": [3, 4], "w": 1, "x": 4.75, "y": 3.5 }, + { "label": "G", "matrix": [3, 5], "w": 1, "x": 5.75, "y": 3.5 }, + { "label": "H", "matrix": [3, 6], "w": 1, "x": 6.75, "y": 3.5 }, + { "label": "J", "matrix": [3, 7], "w": 1, "x": 7.75, "y": 3.5 }, + { "label": "K", "matrix": [3, 8], "w": 1, "x": 8.75, "y": 3.5 }, + { "label": "L", "matrix": [3, 9], "w": 1, "x": 9.75, "y": 3.5 }, + { "label": ":", "matrix": [3, 10], "w": 1, "x": 10.75, "y": 3.5 }, + { "label": "\"", "matrix": [3, 11], "w": 1, "x": 11.75, "y": 3.5 }, + { "label": "Enter", "matrix": [3, 12], "w": 2.25, "x": 12.75, "y": 3.5 }, + { "label": "Shift", "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.5 }, + { "label": "Z", "matrix": [4, 2], "w": 1, "x": 2.25, "y": 4.5 }, + { "label": "X", "matrix": [4, 3], "w": 1, "x": 3.25, "y": 4.5 }, + { "label": "C", "matrix": [4, 4], "w": 1, "x": 4.25, "y": 4.5 }, + { "label": "V", "matrix": [4, 5], "w": 1, "x": 5.25, "y": 4.5 }, + { "label": "B", "matrix": [4, 6], "w": 1, "x": 6.25, "y": 4.5 }, + { "label": "N", "matrix": [4, 7], "w": 1, "x": 7.25, "y": 4.5 }, + { "label": "M", "matrix": [4, 8], "w": 1, "x": 8.25, "y": 4.5 }, + { "label": "<", "matrix": [4, 9], "w": 1, "x": 9.25, "y": 4.5 }, + { "label": ">", "matrix": [4, 10], "w": 1, "x": 10.25, "y": 4.5 }, + { "label": "?", "matrix": [4, 11], "w": 1, "x": 11.25, "y": 4.5 }, + { "label": "Shift", "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, + { "label": "Up", "matrix": [4, 15], "w": 1, "x": 16.25, "y": 4.5 }, + { "label": "Ctrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.5 }, + { "label": "Alt", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.5 }, + { "label": "Win", "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.5 }, + { "label": "Space", "matrix": [5, 5], "w": 6.25, "x": 3.75, "y": 5.5 }, + { "label": "Win", "matrix": [5, 9], "w": 1.25, "x": 10, "y": 5.5 }, + { "label": "AltGr", "matrix": [5, 10], "w": 1.25, "x": 11.25, "y": 5.5 }, + { "label": "Ctrl", "matrix": [5, 11], "w": 1.25, "x": 12.5, "y": 5.5 }, + { "label": "Fn", "matrix": [5, 12], "w": 1.25, "x": 13.75, "y": 5.5 }, + { "label": "Left", "matrix": [5, 13], "w": 1, "x": 15.25, "y": 5.5 }, + { "label": "Down", "matrix": [5, 15], "w": 1, "x": 16.25, "y": 5.5 }, + { "label": "Right", "matrix": [5, 16], "w": 1, "x": 17.25, "y": 5.5 } + ] } + } } diff --git a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c index 0e17b349a873..e8480605b77c 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi( RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD ), }; diff --git a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c index 1a1de7230ce7..fb487aa833e0 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c +++ b/keyboards/capsunlocked/cu80/v2_ansi/keymaps/via/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_ansi( RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD ), [2] = LAYOUT_tkl_ansi( diff --git a/keyboards/capsunlocked/cu80/v2_ansi/readme.md b/keyboards/capsunlocked/cu80/v2_ansi/readme.md index 4ade5be0884e..4768917fc8ce 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/readme.md +++ b/keyboards/capsunlocked/cu80/v2_ansi/readme.md @@ -4,12 +4,13 @@ The CU80 v2 ANSI is the PCB for round 2 of the CU80 TKL keyboard, with fixed lay To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in, or use the reset button on the back of the PCB. -* Keyboard maintainer: [rys](https://github.com/rys) +* Keyboard maintainer: [rys](https://github.com/rys) & [maz0r](https://github.com/maz0r) * Hardware supported: [CU80 v2 ANSI](https://imgur.com/gOWpJqe) * Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/) Make and flash example for this keyboard (after setting up your build environment): make capsunlocked/cu80/v2_ansi:default:flash + make capsunlocked/cu80/v2_ansi/rgb: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). diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h b/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h new file mode 100644 index 000000000000..7e0f0bfccdf4 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h @@ -0,0 +1,35 @@ +/* +Copyright 2021 CapsUnlocked + +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 + +/* enable RGB matrix */ +#define CU80_RGB + +/* update the product for RGB Matrix variant in VIA/VIAL and Remap-keys.app */ +#undef PRODUCT +#define PRODUCT CU80 v2 ANSI RGB + +/* moved to RGB specific */ +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 + +/* RGB firmware override */ +#undef RGBLIGHT_ANIMATIONS +#undef RGBLIGHT_HUE_STEP +#undef RGBLIGHT_SAT_STEP +#undef RGBLIGHT_VAL_STEP +#undef RGBLIGHT_LIMIT_VAL diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json b/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json new file mode 100644 index 000000000000..f97e2036450c --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json @@ -0,0 +1,8 @@ +{ + "features": { + "rgblight": false + }, + "usb": { + "pid": "0x0082" + } +} diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/readme.md b/keyboards/capsunlocked/cu80/v2_ansi/rgb/readme.md new file mode 100644 index 000000000000..0919483592de --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2_ansi/rgb/readme.md @@ -0,0 +1,3 @@ +# CU80 v2 ANSI RGB + +Overrides \ No newline at end of file diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/rules.mk b/keyboards/capsunlocked/cu80/v2_ansi/rgb/rules.mk new file mode 100644 index 000000000000..d213c84de36e --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2_ansi/rgb/rules.mk @@ -0,0 +1,4 @@ +RGB_MATRIX_ENABLE = yes # Enable RGB matrix +RGB_MATRIX_DRIVER = WS2812 # Set Driver to WS2812 + +LTO_ENABLE = yes diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rules.mk b/keyboards/capsunlocked/cu80/v2_ansi/rules.mk index da23ce18661a..7c5554a087cf 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/rules.mk +++ b/keyboards/capsunlocked/cu80/v2_ansi/rules.mk @@ -7,19 +7,4 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output - -LAYOUTS = tkl_ansi +NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue diff --git a/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c b/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c index f0c108ecc88f..ef920474bb73 100644 --- a/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c +++ b/keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.c @@ -16,3 +16,33 @@ along with this program. If not, see . */ #include "v2_ansi.h" + +#ifdef CU80_RGB + +void matrix_init_kb(void) { + setPinOutput(E6); + matrix_init_user(); +} + +/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */ +void rgb_matrix_indicators_kb(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(62, 255, 255, 255); + } + if (host_keyboard_led_state().scroll_lock) { + rgb_matrix_set_color(14, 255, 255, 255); + } +} + +/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */ +led_config_t g_led_config = {{{0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50}, {63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75}, {86, 85, 84, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, 82, 81, 80, 79, 78, NO_LED, 77, 76} + + }, + /*board layout accounting for led directions */ + {{0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 13}, {212, 13}, {198, 13}, {184, 13}, {169, 13}, {155, 13}, {141, 13}, {127, 13}, {113, 13}, {99, 13}, {85, 13}, {71, 13}, {56, 13}, {42, 13}, {28, 13}, {14, 13}, {0, 13}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, + {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64} + + }, + /* marks scroll and caps as function modifiers for led effects */ + {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1}}; +#endif diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/config.h b/keyboards/capsunlocked/cu80/v2_ansi_rgb/config.h deleted file mode 100644 index fe0728696345..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi_rgb/config.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -Copyright 2021 CapsUnlocked - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4355 -#define PRODUCT_ID 0x0082 -#define DEVICE_VER 0x0001 -#define MANUFACTURER CapsUnlocked -#define PRODUCT CU80 v2 ANSI RGB - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 17 - -#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 } -#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - - -/* Define RGB */ -#define RGB_DI_PIN E6 -#define RGB_MATRIX_KEYPRESSES -#define DRIVER_LED_TOTAL 87 -#define RGBLED_NUM 87 -#define RGBLIGHT_LIMIT_VAL 50 - - diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/info.json b/keyboards/capsunlocked/cu80/v2_ansi_rgb/info.json deleted file mode 100644 index 809b7d5cfa1e..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi_rgb/info.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "keyboard_name": "CapsUnlocked CU80 v2 ANSI RGB", - "maintainer": "rys", - "url": "https://caps-unlocked.com/cu80-round-2/", - "width": 18.25, - "height": 6.5, - "layouts": { - "LAYOUT_tkl_ansi": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":2, "y":0}, - {"label":"F2", "x":3, "y":0}, - {"label":"F3", "x":4, "y":0}, - {"label":"F4", "x":5, "y":0}, - {"label":"F5", "x":6.5, "y":0}, - {"label":"F6", "x":7.5, "y":0}, - {"label":"F7", "x":8.5, "y":0}, - {"label":"F8", "x":9.5, "y":0}, - {"label":"F9", "x":11, "y":0}, - {"label":"F10", "x":12, "y":0}, - {"label":"F11", "x":13, "y":0}, - {"label":"F12", "x":14, "y":0}, - {"label":"PrtSc", "x":15.25, "y":0}, - {"label":"Scroll Lock", "x":16.25, "y":0}, - {"label":"Pause", "x":17.25, "y":0}, - {"label":"\u00ac", "x":0, "y":1.5}, - {"label":"!", "x":1, "y":1.5}, - {"label":"@", "x":2, "y":1.5}, - {"label":"£", "x":3, "y":1.5}, - {"label":"$", "x":4, "y":1.5}, - {"label":"%", "x":5, "y":1.5}, - {"label":"^", "x":6, "y":1.5}, - {"label":"&", "x":7, "y":1.5}, - {"label":"*", "x":8, "y":1.5}, - {"label":"(", "x":9, "y":1.5}, - {"label":")", "x":10, "y":1.5}, - {"label":"_", "x":11, "y":1.5}, - {"label":"+", "x":12, "y":1.5}, - {"label":"Backspace", "x":13, "y":1.5, "w":2}, - {"label":"Insert", "x":15.25, "y":1.5}, - {"label":"Home", "x":16.25, "y":1.5}, - {"label":"PgUp", "x":17.25, "y":1.5}, - {"label":"Tab", "x":0, "y":2.5, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.5}, - {"label":"W", "x":2.5, "y":2.5}, - {"label":"E", "x":3.5, "y":2.5}, - {"label":"R", "x":4.5, "y":2.5}, - {"label":"T", "x":5.5, "y":2.5}, - {"label":"Y", "x":6.5, "y":2.5}, - {"label":"U", "x":7.5, "y":2.5}, - {"label":"I", "x":8.5, "y":2.5}, - {"label":"O", "x":9.5, "y":2.5}, - {"label":"P", "x":10.5, "y":2.5}, - {"label":"{", "x":11.5, "y":2.5}, - {"label":"}", "x":12.5, "y":2.5}, - {"label":"|", "x":13.5, "y":2.5, "w":1.5}, - {"label":"Delete", "x":15.25, "y":2.5}, - {"label":"End", "x":16.25, "y":2.5}, - {"label":"PgDn", "x":17.25, "y":2.5}, - {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, - {"label":"A", "x":1.75, "y":3.5}, - {"label":"S", "x":2.75, "y":3.5}, - {"label":"D", "x":3.75, "y":3.5}, - {"label":"F", "x":4.75, "y":3.5}, - {"label":"G", "x":5.75, "y":3.5}, - {"label":"H", "x":6.75, "y":3.5}, - {"label":"J", "x":7.75, "y":3.5}, - {"label":"K", "x":8.75, "y":3.5}, - {"label":"L", "x":9.75, "y":3.5}, - {"label":":", "x":10.75, "y":3.5}, - {"label":"\"", "x":11.75, "y":3.5}, - {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, - {"label":"Shift", "x":0, "y":4.5, "w":2.25}, - {"label":"Z", "x":2.25, "y":4.5}, - {"label":"X", "x":3.25, "y":4.5}, - {"label":"C", "x":4.25, "y":4.5}, - {"label":"V", "x":5.25, "y":4.5}, - {"label":"B", "x":6.25, "y":4.5}, - {"label":"N", "x":7.25, "y":4.5}, - {"label":"M", "x":8.25, "y":4.5}, - {"label":"<", "x":9.25, "y":4.5}, - {"label":">", "x":10.25, "y":4.5}, - {"label":"?", "x":11.25, "y":4.5}, - {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, - {"label":"Up", "x":16.25, "y":4.5}, - {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, - {"label":"Alt", "x":1.25, "y":5.5, "w":1.25}, - {"label":"Win", "x":2.5, "y":5.5, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.5, "w":6.25}, - {"label":"Win", "x":10, "y":5.5, "w":1.25}, - {"label":"AltGr", "x":11.25, "y":5.5, "w":1.25}, - {"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25}, - {"label":"Fn", "x":13.75, "y":5.5, "w":1.25}, - {"label":"Left", "x":15.25, "y":5.5}, - {"label":"Down", "x":16.25, "y":5.5}, - {"label":"Right", "x":17.25, "y":5.5} - ] - } - } -} diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/keymap.c deleted file mode 100644 index b27fe2c9be0e..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 CapsUnlocked - -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_tkl_ansi( - 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_SLCK, 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_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_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_tkl_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), -}; diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/readme.md b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/readme.md deleted file mode 100644 index 717c2c283a47..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/default/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# The default ANSI keymap for the CU80 - -This CU80 is keymap is for the fixed ANSI variant with fully populated bottom row. diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/keymap.c deleted file mode 100644 index 9d53b04cd23d..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi_rgb/keymaps/via/keymap.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright 2021 CapsUnlocked - * - * 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_tkl_ansi( - 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_SLCK, 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_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_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_tkl_ansi( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), - [2] = LAYOUT_tkl_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_tkl_ansi( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/readme.md b/keyboards/capsunlocked/cu80/v2_ansi_rgb/readme.md deleted file mode 100644 index 302248f117e4..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi_rgb/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -# CU80 v2 ANSI RGB - -The CU80 v2 ANSI is the PCB for round 2 of the CU80 TKL keyboard, with matrix RGB lighting, fixed ANSI layout and VIA support. - -This firmware adds RGB matrix support. - -To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in. - -* Keyboard maintainer: [rys](https://github.com/rys) -* Hardware supported: CU80 v2 ANSI -* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/) - -Make and flash example for this keyboard (after setting up your build environment): - - make capsunlocked/cu80/v2_ansi_rgb:default:flash - make capsunlocked/cu80/v2_ansi_rgb:via: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). diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/rules.mk b/keyboards/capsunlocked/cu80/v2_ansi_rgb/rules.mk deleted file mode 100644 index 0473b7d4141b..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi_rgb/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output -RGB_MATRIX_ENABLE = yes # Enable RGB matrix -RGB_MATRIX_DRIVER = WS2812 # Set Driver to WS2812 -NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue - - -LAYOUTS = tkl_ansi diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.c b/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.c deleted file mode 100644 index 7065d960f154..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.c +++ /dev/null @@ -1,67 +0,0 @@ -/* -Copyright 2021 CapsUnlocked - -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 "v2_ansi_rgb.h" -#include "rgb_matrix_types.h" - - -void matrix_init_kb(void) { - setPinOutput(E6); - matrix_init_user(); -} - -/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */ -void rgb_matrix_indicators_kb(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(62, 255, 255, 255); - } - if (host_keyboard_led_state().scroll_lock) { - rgb_matrix_set_color(14, 255, 255, 255); - } -} - -/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */ -led_config_t g_led_config = { - { - { 0,NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, - { 32,31 ,30 ,29 ,28 ,27 ,26 ,25 ,24 ,23 ,22 ,21 ,20 ,19 ,18 ,17 ,16 }, - { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 }, - { 62, 61, 60, 59,58,57,56,55,54,53,52,51,50 }, - { 63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75 }, - { 86 ,85 ,84 ,NO_LED, NO_LED ,83, NO_LED,NO_LED, NO_LED ,82 ,81 ,80 ,79 ,78 ,NO_LED,77 ,76 } - - }, - /*board layout accounting for led directions */ - { - {0,0}, {28,0}, {42,0}, {56,0}, {71,0}, {85,0}, {99,0}, {113,0}, {127,0}, {141,0}, {155,0}, {169,0}, {184,0}, {198,0}, {212,0}, {226,0}, - {226,13}, {212,13}, {198,13}, {184,13}, {169,13}, {155,13}, {141,13}, {127,13}, {113,13}, {99,13}, {85,13}, {71,13}, {56,13}, {42,13}, {28,13}, {14,13}, {0,13}, - {0,26}, {14,26}, {28,26}, {42,26}, {56,26}, {71,26}, {85,26}, {99,26}, {113,26}, {127,26}, {141,26}, {155,26}, {169,26}, {184,26}, {198,26}, {212,26}, {226,26}, - {169,38}, {155,38}, {141,38}, {127,38}, {113,38}, {99,38}, {85,38}, {71,38}, {56,38}, {42,38}, {28,38}, {14,38}, {0,38}, - {0,51}, {28,51}, {42,51}, {56,51}, {71,51}, {85,51}, {99,51}, {113,51}, {127,51}, {141,51}, {155,51}, {169,51}, {212,51}, - {226,64}, {212,64}, {184,64}, {169,64}, {155,64}, {141,64}, {127,64}, {71,64}, {28,64}, {14,64}, {0,64} - - }, - /* marks scroll and caps as function modifiers for led effects */ - { - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 - } -}; diff --git a/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.h b/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.h deleted file mode 100644 index 61aecfa0089b..000000000000 --- a/keyboards/capsunlocked/cu80/v2_ansi_rgb/v2_ansi_rgb.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -Copyright 2021 CapsUnlocked - -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 "quantum.h" - -/* This a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. - */ - -#define LAYOUT_tkl_ansi( \ - K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ - \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \ - K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K415, \ - K500, K501, K502, K505, K509, K510, K511, K512, K513, K515, K516 \ -) { \ - { K000, KC_NO, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, KC_NO, K415, KC_NO }, \ - { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, K509, K510, K511, K512, K513, KC_NO, K515, K516 }, \ -} diff --git a/keyboards/capsunlocked/cu80/v2_iso/config.h b/keyboards/capsunlocked/cu80/v2_iso/config.h index d757fd33a396..7980837acffd 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/config.h +++ b/keyboards/capsunlocked/cu80/v2_iso/config.h @@ -19,37 +19,11 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4355 -#define PRODUCT_ID 0x0080 -#define DEVICE_VER 0x0001 -#define MANUFACTURER CapsUnlocked -#define PRODUCT CU80 v2 ISO - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 17 - -#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 } -#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -#define RGB_DI_PIN E6 -#ifdef RGB_DI_PIN - #define RGBLIGHT_ANIMATIONS - #define RGBLED_NUM 88 - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_LIMIT_VAL 50 -#endif +/* Define RGB */ +#define DRIVER_LED_TOTAL 88 +#define RGBLIGHT_ANIMATIONS diff --git a/keyboards/capsunlocked/cu80/v2_iso/info.json b/keyboards/capsunlocked/cu80/v2_iso/info.json index 746e3ae7c8ca..fd572704d950 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/info.json +++ b/keyboards/capsunlocked/cu80/v2_iso/info.json @@ -1,101 +1,143 @@ { - "keyboard_name": "CapsUnlocked CU80 v2 ISO", - "maintainer": "rys", - "url": "https://caps-unlocked.com/cu80-round-2/", - "width": 18.25, - "height": 6.5, - "layouts": { - "LAYOUT_tkl_iso": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":2, "y":0}, - {"label":"F2", "x":3, "y":0}, - {"label":"F3", "x":4, "y":0}, - {"label":"F4", "x":5, "y":0}, - {"label":"F5", "x":6.5, "y":0}, - {"label":"F6", "x":7.5, "y":0}, - {"label":"F7", "x":8.5, "y":0}, - {"label":"F8", "x":9.5, "y":0}, - {"label":"F9", "x":11, "y":0}, - {"label":"F10", "x":12, "y":0}, - {"label":"F11", "x":13, "y":0}, - {"label":"F12", "x":14, "y":0}, - {"label":"PrtSc", "x":15.25, "y":0}, - {"label":"Scroll Lock", "x":16.25, "y":0}, - {"label":"Pause", "x":17.25, "y":0}, - {"label":"\u00ac", "x":0, "y":1.5}, - {"label":"!", "x":1, "y":1.5}, - {"label":"\"", "x":2, "y":1.5}, - {"label":"£", "x":3, "y":1.5}, - {"label":"$", "x":4, "y":1.5}, - {"label":"%", "x":5, "y":1.5}, - {"label":"^", "x":6, "y":1.5}, - {"label":"&", "x":7, "y":1.5}, - {"label":"*", "x":8, "y":1.5}, - {"label":"(", "x":9, "y":1.5}, - {"label":")", "x":10, "y":1.5}, - {"label":"_", "x":11, "y":1.5}, - {"label":"+", "x":12, "y":1.5}, - {"label":"Backspace", "x":13, "y":1.5, "w":2}, - {"label":"Insert", "x":15.25, "y":1.5}, - {"label":"Home", "x":16.25, "y":1.5}, - {"label":"PgUp", "x":17.25, "y":1.5}, - {"label":"Tab", "x":0, "y":2.5, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.5}, - {"label":"W", "x":2.5, "y":2.5}, - {"label":"E", "x":3.5, "y":2.5}, - {"label":"R", "x":4.5, "y":2.5}, - {"label":"T", "x":5.5, "y":2.5}, - {"label":"Y", "x":6.5, "y":2.5}, - {"label":"U", "x":7.5, "y":2.5}, - {"label":"I", "x":8.5, "y":2.5}, - {"label":"O", "x":9.5, "y":2.5}, - {"label":"P", "x":10.5, "y":2.5}, - {"label":"{", "x":11.5, "y":2.5}, - {"label":"}", "x":12.5, "y":2.5}, - {"label":"Delete", "x":15.25, "y":2.5}, - {"label":"End", "x":16.25, "y":2.5}, - {"label":"PgDn", "x":17.25, "y":2.5}, - {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, - {"label":"A", "x":1.75, "y":3.5}, - {"label":"S", "x":2.75, "y":3.5}, - {"label":"D", "x":3.75, "y":3.5}, - {"label":"F", "x":4.75, "y":3.5}, - {"label":"G", "x":5.75, "y":3.5}, - {"label":"H", "x":6.75, "y":3.5}, - {"label":"J", "x":7.75, "y":3.5}, - {"label":"K", "x":8.75, "y":3.5}, - {"label":"L", "x":9.75, "y":3.5}, - {"label":":", "x":10.75, "y":3.5}, - {"label":"@", "x":11.75, "y":3.5}, - {"label":"~", "x":12.75, "y":3.5}, - {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2}, - {"label":"Shift", "x":0, "y":4.5, "w":1.25}, - {"label":"|", "x":1.25, "y":4.5}, - {"label":"Z", "x":2.25, "y":4.5}, - {"label":"X", "x":3.25, "y":4.5}, - {"label":"C", "x":4.25, "y":4.5}, - {"label":"V", "x":5.25, "y":4.5}, - {"label":"B", "x":6.25, "y":4.5}, - {"label":"N", "x":7.25, "y":4.5}, - {"label":"M", "x":8.25, "y":4.5}, - {"label":"<", "x":9.25, "y":4.5}, - {"label":">", "x":10.25, "y":4.5}, - {"label":"?", "x":11.25, "y":4.5}, - {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, - {"label":"Up", "x":16.25, "y":4.5}, - {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, - {"label":"Alt", "x":1.25, "y":5.5, "w":1.25}, - {"label":"Win", "x":2.5, "y":5.5, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.5, "w":6.25}, - {"label":"Win", "x":10, "y":5.5, "w":1.25}, - {"label":"AltGr", "x":11.25, "y":5.5, "w":1.25}, - {"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25}, - {"label":"Fn", "x":13.75, "y":5.5, "w":1.25}, - {"label":"Left", "x":15.25, "y":5.5}, - {"label":"Down", "x":16.25, "y":5.5}, - {"label":"Right", "x":17.25, "y":5.5} - ] - } + "manufacturer": "CapsUnlocked", + "keyboard_name": "CapsUnlocked CU80 v2 ISO", + "maintainer": "rys / maz0r", + "height": 6.5, + "width": 18.25, + "bootloader": "atmel-dfu", + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "audio": false, + "backlight": false, + "bluetooth": false, + "bootmagic_lite": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true, + "rgblight": true, + "sleep_led": false, + "unicode": false + }, + "matrix_pins": { + "cols": ["B0", "B1", "B2", "B3", "F4", "F5", "F6", "F7", "B6", "B5", "D7", "B4", "D6", "F0", "D1", "C6", "D4"], + "rows": ["D3", "D2", "B7", "F1", "C7", "D5"] + }, + "processor": "atmega32u4", + "rgblight": { + "animations": { + "all": false + }, + "brightness_steps": 8, + "hue_steps": 8, + "led_count": 88, + "max_brightness": 50, + "pin": "E6", + "saturation_steps": 8 + }, + "url": "https://caps-unlocked.com/cu80-round-2/", + "usb": { + "device_ver": "0x0001", + "pid": "0x0080", + "vid": "0x4355" + }, + "community_layouts": ["tkl_iso"], + "layouts": { + "LAYOUT_tkl_iso": { + "c_macro": true, + "filename": "keyboards/capsunlocked/cu80/v2_iso/v2_iso.h", + "layout": [ + { "label": "Esc", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "F1", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "F2", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "F3", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 }, + { "label": "F4", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 }, + { "label": "F5", "matrix": [0, 6], "w": 1, "x": 6.5, "y": 0 }, + { "label": "F6", "matrix": [0, 7], "w": 1, "x": 7.5, "y": 0 }, + { "label": "F7", "matrix": [0, 8], "w": 1, "x": 8.5, "y": 0 }, + { "label": "F8", "matrix": [0, 9], "w": 1, "x": 9.5, "y": 0 }, + { "label": "F9", "matrix": [0, 10], "w": 1, "x": 11, "y": 0 }, + { "label": "F10", "matrix": [0, 11], "w": 1, "x": 12, "y": 0 }, + { "label": "F11", "matrix": [0, 12], "w": 1, "x": 13, "y": 0 }, + { "label": "F12", "matrix": [0, 13], "w": 1, "x": 14, "y": 0 }, + { "label": "PrtSc", "matrix": [0, 14], "w": 1, "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "matrix": [0, 15], "w": 1, "x": 16.25, "y": 0 }, + { "label": "Pause", "matrix": [0, 16], "w": 1, "x": 17.25, "y": 0 }, + { "label": "\u00ac", "matrix": [1, 0], "w": 1, "x": 0, "y": 1.5 }, + { "label": "!", "matrix": [1, 1], "w": 1, "x": 1, "y": 1.5 }, + { "label": "\"", "matrix": [1, 2], "w": 1, "x": 2, "y": 1.5 }, + { "label": "\u00a3", "matrix": [1, 3], "w": 1, "x": 3, "y": 1.5 }, + { "label": "$", "matrix": [1, 4], "w": 1, "x": 4, "y": 1.5 }, + { "label": "%", "matrix": [1, 5], "w": 1, "x": 5, "y": 1.5 }, + { "label": "^", "matrix": [1, 6], "w": 1, "x": 6, "y": 1.5 }, + { "label": "&", "matrix": [1, 7], "w": 1, "x": 7, "y": 1.5 }, + { "label": "*", "matrix": [1, 8], "w": 1, "x": 8, "y": 1.5 }, + { "label": "(", "matrix": [1, 9], "w": 1, "x": 9, "y": 1.5 }, + { "label": ")", "matrix": [1, 10], "w": 1, "x": 10, "y": 1.5 }, + { "label": "_", "matrix": [1, 11], "w": 1, "x": 11, "y": 1.5 }, + { "label": "+", "matrix": [1, 12], "w": 1, "x": 12, "y": 1.5 }, + { "label": "Backspace", "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 }, + { "label": "Insert", "matrix": [1, 14], "w": 1, "x": 15.25, "y": 1.5 }, + { "label": "Home", "matrix": [1, 15], "w": 1, "x": 16.25, "y": 1.5 }, + { "label": "PgUp", "matrix": [1, 16], "w": 1, "x": 17.25, "y": 1.5 }, + { "label": "Tab", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 }, + { "label": "Q", "matrix": [2, 1], "w": 1, "x": 1.5, "y": 2.5 }, + { "label": "W", "matrix": [2, 2], "w": 1, "x": 2.5, "y": 2.5 }, + { "label": "E", "matrix": [2, 3], "w": 1, "x": 3.5, "y": 2.5 }, + { "label": "R", "matrix": [2, 4], "w": 1, "x": 4.5, "y": 2.5 }, + { "label": "T", "matrix": [2, 5], "w": 1, "x": 5.5, "y": 2.5 }, + { "label": "Y", "matrix": [2, 6], "w": 1, "x": 6.5, "y": 2.5 }, + { "label": "U", "matrix": [2, 7], "w": 1, "x": 7.5, "y": 2.5 }, + { "label": "I", "matrix": [2, 8], "w": 1, "x": 8.5, "y": 2.5 }, + { "label": "O", "matrix": [2, 9], "w": 1, "x": 9.5, "y": 2.5 }, + { "label": "P", "matrix": [2, 10], "w": 1, "x": 10.5, "y": 2.5 }, + { "label": "{", "matrix": [2, 11], "w": 1, "x": 11.5, "y": 2.5 }, + { "label": "}", "matrix": [2, 12], "w": 1, "x": 12.5, "y": 2.5 }, + { "label": "Delete", "matrix": [2, 14], "w": 1, "x": 15.25, "y": 2.5 }, + { "label": "End", "matrix": [2, 15], "w": 1, "x": 16.25, "y": 2.5 }, + { "label": "PgDn", "matrix": [2, 16], "w": 1, "x": 17.25, "y": 2.5 }, + { "label": "Caps Lock", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 }, + { "label": "A", "matrix": [3, 1], "w": 1, "x": 1.75, "y": 3.5 }, + { "label": "S", "matrix": [3, 2], "w": 1, "x": 2.75, "y": 3.5 }, + { "label": "D", "matrix": [3, 3], "w": 1, "x": 3.75, "y": 3.5 }, + { "label": "F", "matrix": [3, 4], "w": 1, "x": 4.75, "y": 3.5 }, + { "label": "G", "matrix": [3, 5], "w": 1, "x": 5.75, "y": 3.5 }, + { "label": "H", "matrix": [3, 6], "w": 1, "x": 6.75, "y": 3.5 }, + { "label": "J", "matrix": [3, 7], "w": 1, "x": 7.75, "y": 3.5 }, + { "label": "K", "matrix": [3, 8], "w": 1, "x": 8.75, "y": 3.5 }, + { "label": "L", "matrix": [3, 9], "w": 1, "x": 9.75, "y": 3.5 }, + { "label": ":", "matrix": [3, 10], "w": 1, "x": 10.75, "y": 3.5 }, + { "label": "@", "matrix": [3, 11], "w": 1, "x": 11.75, "y": 3.5 }, + { "label": "~", "matrix": [3, 12], "w": 1, "x": 12.75, "y": 3.5 }, + { "h": 2, "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2.5 }, + { "label": "Shift", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 }, + { "label": "|", "matrix": [4, 1], "w": 1, "x": 1.25, "y": 4.5 }, + { "label": "Z", "matrix": [4, 2], "w": 1, "x": 2.25, "y": 4.5 }, + { "label": "X", "matrix": [4, 3], "w": 1, "x": 3.25, "y": 4.5 }, + { "label": "C", "matrix": [4, 4], "w": 1, "x": 4.25, "y": 4.5 }, + { "label": "V", "matrix": [4, 5], "w": 1, "x": 5.25, "y": 4.5 }, + { "label": "B", "matrix": [4, 6], "w": 1, "x": 6.25, "y": 4.5 }, + { "label": "N", "matrix": [4, 7], "w": 1, "x": 7.25, "y": 4.5 }, + { "label": "M", "matrix": [4, 8], "w": 1, "x": 8.25, "y": 4.5 }, + { "label": "<", "matrix": [4, 9], "w": 1, "x": 9.25, "y": 4.5 }, + { "label": ">", "matrix": [4, 10], "w": 1, "x": 10.25, "y": 4.5 }, + { "label": "?", "matrix": [4, 11], "w": 1, "x": 11.25, "y": 4.5 }, + { "label": "Shift", "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 }, + { "label": "Up", "matrix": [4, 15], "w": 1, "x": 16.25, "y": 4.5 }, + { "label": "Ctrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.5 }, + { "label": "Alt", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.5 }, + { "label": "Win", "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.5 }, + { "label": "Space", "matrix": [5, 5], "w": 6.25, "x": 3.75, "y": 5.5 }, + { "label": "Win", "matrix": [5, 9], "w": 1.25, "x": 10, "y": 5.5 }, + { "label": "AltGr", "matrix": [5, 10], "w": 1.25, "x": 11.25, "y": 5.5 }, + { "label": "Ctrl", "matrix": [5, 11], "w": 1.25, "x": 12.5, "y": 5.5 }, + { "label": "Fn", "matrix": [5, 12], "w": 1.25, "x": 13.75, "y": 5.5 }, + { "label": "Left", "matrix": [5, 13], "w": 1, "x": 15.25, "y": 5.5 }, + { "label": "Down", "matrix": [5, 15], "w": 1, "x": 16.25, "y": 5.5 }, + { "label": "Right", "matrix": [5, 16], "w": 1, "x": 17.25, "y": 5.5 } + ] } + } } diff --git a/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c index 2438a9ebc98b..1b1caa877679 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c +++ b/keyboards/capsunlocked/cu80/v2_iso/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_APP, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_iso( RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, diff --git a/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c index 3f6c28abb2ba..f63ab5a53c81 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c +++ b/keyboards/capsunlocked/cu80/v2_iso/keymaps/via/keymap.c @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, KC_APP, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_tkl_iso( RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, diff --git a/keyboards/capsunlocked/cu80/v2_iso/readme.md b/keyboards/capsunlocked/cu80/v2_iso/readme.md index bcdbfaa6270c..cf8c5fc6fa9a 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/readme.md +++ b/keyboards/capsunlocked/cu80/v2_iso/readme.md @@ -4,12 +4,13 @@ The CU80 v2 ISO is the PCB for round 2 of the CU80 TKL keyboard, with fixed layo To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in, or use the reset button on the back of the PCB. -* Keyboard maintainer: [rys](https://github.com/rys) +* Keyboard maintainer: [rys](https://github.com/rys) & [maz0r](https://github.com/maz0r) * Hardware supported: [CU80 v2 ISO](https://imgur.com/yMZMt6j) * Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/) Make and flash example for this keyboard (after setting up your build environment): make capsunlocked/cu80/v2_iso:default:flash + make capsunlocked/cu80/v2_iso/rgb: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). diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h b/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h new file mode 100644 index 000000000000..3f784e2e0634 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h @@ -0,0 +1,34 @@ +/* +Copyright 2021 CapsUnlocked + +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 . +*/ + +/* enable RGB matrix */ +#define CU80_RGB + +/* update the product for RGB Matrix variant in VIA/VIAL and Remap-keys.app */ +#undef PRODUCT +#define PRODUCT CU80 v2 ISO RGB + +/* moved to RGB specific */ +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50 + +/* RGB firmware override */ +#undef RGBLIGHT_ANIMATIONS +#undef RGBLIGHT_HUE_STEP +#undef RGBLIGHT_SAT_STEP +#undef RGBLIGHT_VAL_STEP +#undef RGBLIGHT_LIMIT_VAL diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json b/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json new file mode 100644 index 000000000000..36748237c5d0 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json @@ -0,0 +1,8 @@ +{ + "features": { + "rgblight": false + }, + "usb": { + "pid": "0x0083" + } +} diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/readme.md b/keyboards/capsunlocked/cu80/v2_iso/rgb/readme.md new file mode 100644 index 000000000000..c53bf7407848 --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2_iso/rgb/readme.md @@ -0,0 +1,3 @@ +# CU80 v2 ISO RGB + +Overrides \ No newline at end of file diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/rules.mk b/keyboards/capsunlocked/cu80/v2_iso/rgb/rules.mk new file mode 100644 index 000000000000..d213c84de36e --- /dev/null +++ b/keyboards/capsunlocked/cu80/v2_iso/rgb/rules.mk @@ -0,0 +1,4 @@ +RGB_MATRIX_ENABLE = yes # Enable RGB matrix +RGB_MATRIX_DRIVER = WS2812 # Set Driver to WS2812 + +LTO_ENABLE = yes diff --git a/keyboards/capsunlocked/cu80/v2_iso/rules.mk b/keyboards/capsunlocked/cu80/v2_iso/rules.mk index 565041418295..7c5554a087cf 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/rules.mk +++ b/keyboards/capsunlocked/cu80/v2_iso/rules.mk @@ -7,19 +7,4 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output - -LAYOUTS = tkl_iso +NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue diff --git a/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c b/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c index 748deb10866c..2caef36bc7c3 100644 --- a/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c +++ b/keyboards/capsunlocked/cu80/v2_iso/v2_iso.c @@ -16,3 +16,27 @@ along with this program. If not, see . */ #include "v2_iso.h" +#ifdef CU80_RGB + +void matrix_init_kb(void) { + setPinOutput(E6); + matrix_init_user(); +} + +/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */ +void rgb_matrix_indicators_kb(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(62, 255, 255, 255); + } + if (host_keyboard_led_state().scroll_lock) { + rgb_matrix_set_color(14, 255, 255, 255); + } +} + +/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */ +led_config_t g_led_config = {{{0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50}, {63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76}, {87, 86, 85, NO_LED, NO_LED, 84, NO_LED, NO_LED, NO_LED, 83, 82, 81, 80, 79, NO_LED, 78, 77}}, + /*board layout accounting for led directions */ + {{0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 26}, {212, 26}, {198, 26}, {184, 26}, {169, 26}, {155, 26}, {141, 26}, {127, 26}, {113, 26}, {99, 26}, {85, 26}, {71, 26}, {56, 26}, {42, 26}, {28, 26}, {14, 26}, {0, 26}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {14, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64}}, + /* marks scroll and caps as function modifiers for led effects */ + {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1}}; +#endif diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/config.h b/keyboards/capsunlocked/cu80/v2_iso_rgb/config.h deleted file mode 100644 index eb607ce88d56..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso_rgb/config.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -Copyright 2021 CapsUnlocked - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4355 -#define PRODUCT_ID 0x0083 -#define DEVICE_VER 0x0001 -#define MANUFACTURER CapsUnlocked -#define PRODUCT CU80 v2 ISO RGB - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 17 - -#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 } -#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* Define RGB */ -#define RGB_DI_PIN E6 -#define DRIVER_LED_TOTAL 88 -#define RGBLED_NUM 88 -#define RGB_MATRIX_KEYPRESSES -#define RGBLIGHT_LIMIT_VAL 50 diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/info.json b/keyboards/capsunlocked/cu80/v2_iso_rgb/info.json deleted file mode 100644 index 75de023929ea..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso_rgb/info.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "keyboard_name": "CapsUnlocked CU80 v2 ISO RGB", - "maintainer": "rys", - "url": "https://caps-unlocked.com/cu80-round-2/", - "width": 18.25, - "height": 6.5, - "layouts": { - "LAYOUT_tkl_iso": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":2, "y":0}, - {"label":"F2", "x":3, "y":0}, - {"label":"F3", "x":4, "y":0}, - {"label":"F4", "x":5, "y":0}, - {"label":"F5", "x":6.5, "y":0}, - {"label":"F6", "x":7.5, "y":0}, - {"label":"F7", "x":8.5, "y":0}, - {"label":"F8", "x":9.5, "y":0}, - {"label":"F9", "x":11, "y":0}, - {"label":"F10", "x":12, "y":0}, - {"label":"F11", "x":13, "y":0}, - {"label":"F12", "x":14, "y":0}, - {"label":"PrtSc", "x":15.25, "y":0}, - {"label":"Scroll Lock", "x":16.25, "y":0}, - {"label":"Pause", "x":17.25, "y":0}, - {"label":"\u00ac", "x":0, "y":1.5}, - {"label":"!", "x":1, "y":1.5}, - {"label":"\"", "x":2, "y":1.5}, - {"label":"£", "x":3, "y":1.5}, - {"label":"$", "x":4, "y":1.5}, - {"label":"%", "x":5, "y":1.5}, - {"label":"^", "x":6, "y":1.5}, - {"label":"&", "x":7, "y":1.5}, - {"label":"*", "x":8, "y":1.5}, - {"label":"(", "x":9, "y":1.5}, - {"label":")", "x":10, "y":1.5}, - {"label":"_", "x":11, "y":1.5}, - {"label":"+", "x":12, "y":1.5}, - {"label":"Backspace", "x":13, "y":1.5, "w":2}, - {"label":"Insert", "x":15.25, "y":1.5}, - {"label":"Home", "x":16.25, "y":1.5}, - {"label":"PgUp", "x":17.25, "y":1.5}, - {"label":"Tab", "x":0, "y":2.5, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.5}, - {"label":"W", "x":2.5, "y":2.5}, - {"label":"E", "x":3.5, "y":2.5}, - {"label":"R", "x":4.5, "y":2.5}, - {"label":"T", "x":5.5, "y":2.5}, - {"label":"Y", "x":6.5, "y":2.5}, - {"label":"U", "x":7.5, "y":2.5}, - {"label":"I", "x":8.5, "y":2.5}, - {"label":"O", "x":9.5, "y":2.5}, - {"label":"P", "x":10.5, "y":2.5}, - {"label":"{", "x":11.5, "y":2.5}, - {"label":"}", "x":12.5, "y":2.5}, - {"label":"Delete", "x":15.25, "y":2.5}, - {"label":"End", "x":16.25, "y":2.5}, - {"label":"PgDn", "x":17.25, "y":2.5}, - {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, - {"label":"A", "x":1.75, "y":3.5}, - {"label":"S", "x":2.75, "y":3.5}, - {"label":"D", "x":3.75, "y":3.5}, - {"label":"F", "x":4.75, "y":3.5}, - {"label":"G", "x":5.75, "y":3.5}, - {"label":"H", "x":6.75, "y":3.5}, - {"label":"J", "x":7.75, "y":3.5}, - {"label":"K", "x":8.75, "y":3.5}, - {"label":"L", "x":9.75, "y":3.5}, - {"label":":", "x":10.75, "y":3.5}, - {"label":"@", "x":11.75, "y":3.5}, - {"label":"~", "x":12.75, "y":3.5}, - {"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2}, - {"label":"Shift", "x":0, "y":4.5, "w":1.25}, - {"label":"|", "x":1.25, "y":4.5}, - {"label":"Z", "x":2.25, "y":4.5}, - {"label":"X", "x":3.25, "y":4.5}, - {"label":"C", "x":4.25, "y":4.5}, - {"label":"V", "x":5.25, "y":4.5}, - {"label":"B", "x":6.25, "y":4.5}, - {"label":"N", "x":7.25, "y":4.5}, - {"label":"M", "x":8.25, "y":4.5}, - {"label":"<", "x":9.25, "y":4.5}, - {"label":">", "x":10.25, "y":4.5}, - {"label":"?", "x":11.25, "y":4.5}, - {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, - {"label":"Up", "x":16.25, "y":4.5}, - {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, - {"label":"Alt", "x":1.25, "y":5.5, "w":1.25}, - {"label":"Win", "x":2.5, "y":5.5, "w":1.25}, - {"label":"Space", "x":3.75, "y":5.5, "w":6.25}, - {"label":"Win", "x":10, "y":5.5, "w":1.25}, - {"label":"AltGr", "x":11.25, "y":5.5, "w":1.25}, - {"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25}, - {"label":"Fn", "x":13.75, "y":5.5, "w":1.25}, - {"label":"Left", "x":15.25, "y":5.5}, - {"label":"Down", "x":16.25, "y":5.5}, - {"label":"Right", "x":17.25, "y":5.5} - ] - } - } -} diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/keymap.c deleted file mode 100644 index 1b1caa877679..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/keymap.c +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2021 CapsUnlocked - -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_tkl_iso( - 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_SLCK, 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_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_tkl_iso( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), -}; diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/readme.md b/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/readme.md deleted file mode 100644 index bf55002afea9..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/default/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -# The default ISO keymap for the CU80 - -This CU80 is keymap is for the fixed ISO variant with fully populated bottom row. diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/via/keymap.c deleted file mode 100644 index f63ab5a53c81..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso_rgb/keymaps/via/keymap.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright 2021 CapsUnlocked - * - * 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_tkl_iso( - 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_SLCK, 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_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [1] = LAYOUT_tkl_iso( - RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD - ), - [2] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_tkl_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/readme.md b/keyboards/capsunlocked/cu80/v2_iso_rgb/readme.md deleted file mode 100644 index 004612942f8f..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso_rgb/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -# CU80 v2 ISO RGB - -The CU80 v2 ISO is the PCB for round 2 of the CU80 TKL keyboard, with fixed layout ISO and VIA support. - -This firmware adds RGB matrix support. - -To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in, or use the reset button on the back of the PCB. - -* Keyboard maintainer: [rys](https://github.com/rys) -* Hardware supported: [CU80 v2 ISO](https://imgur.com/yMZMt6j) -* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/) - -Make and flash example for this keyboard (after setting up your build environment): - - make capsunlocked/cu80/v2_iso_rgb:default:flash - make capsunlocked/cu80/v2_iso_rgb:via: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). diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/rules.mk b/keyboards/capsunlocked/cu80/v2_iso_rgb/rules.mk deleted file mode 100644 index 454c08c6175f..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso_rgb/rules.mk +++ /dev/null @@ -1,28 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output -RGB_MATRIX_ENABLE = yes # Enable RGB matrix -RGB_MATRIX_DRIVER = WS2812 # Set Driver to WS2812 -NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue - - -LAYOUTS = tkl_iso diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.c b/keyboards/capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.c deleted file mode 100644 index 641fce69ef5a..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.c +++ /dev/null @@ -1,64 +0,0 @@ -/* -Copyright 2021 CapsUnlocked - -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 "v2_iso_rgb.h" -#include "rgb_matrix_types.h" - -void matrix_init_kb(void) { - setPinOutput(E6); - matrix_init_user(); -} - -/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */ -void rgb_matrix_indicators_kb(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(62, 255, 255, 255); - } - if (host_keyboard_led_state().scroll_lock) { - rgb_matrix_set_color(14, 255, 255, 255); - } -} - -/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */ -led_config_t g_led_config = { - { - { 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, }, - { 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16,}, - { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,}, - { 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50,}, - { 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76,}, - { 87, 86, 85, NO_LED, NO_LED, 84, NO_LED, NO_LED, NO_LED, 83, 82, 81, 80, 79, NO_LED, 78, 77} - }, - /*board layout accounting for led directions */ - { - {0,0}, {28,0}, {42,0}, {56,0}, {71,0}, {85,0}, {99,0}, {113,0}, {127,0}, {141,0}, {155,0}, {169,0}, {184,0}, {198,0}, {212,0}, {226,0}, - {226,26}, {212,26}, {198,26}, {184,26}, {169,26}, {155,26}, {141,26}, {127,26}, {113,26}, {99,26}, {85,26}, {71,26}, {56,26}, {42,26}, {28,26}, {14,26}, {0,26}, - {0,26}, {14,26}, {28,26}, {42,26}, {56,26}, {71,26}, {85,26}, {99,26}, {113,26}, {127,26}, {141,26}, {155,26}, {169,26}, {184,26}, {198,26}, {212,26}, {226,26}, - {169,38}, {155,38}, {141,38}, {127,38}, {113,38}, {99,38}, {85,38}, {71,38}, {56,38}, {42,38}, {28,38}, {14,38}, {0,38}, - {0,51}, {14,51}, {28,51}, {42,51}, {56,51}, {71,51}, {85,51}, {99,51}, {113,51}, {127,51}, {141,51}, {155,51}, {169,51}, {212,51}, - {226,64}, {212,64}, {184,64}, {169,64}, {155,64}, {141,64}, {127,64}, {71,64}, {28,64}, {14,64}, {0,64} - }, - /* marks scroll and caps as function modifiers for led effects */ - { - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 - } -}; diff --git a/keyboards/capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.h b/keyboards/capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.h deleted file mode 100644 index affdc9da9ffc..000000000000 --- a/keyboards/capsunlocked/cu80/v2_iso_rgb/v2_iso_rgb.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -Copyright 2021 CapsUnlocked - -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 "quantum.h" - -/* This a shortcut to help you visually see your layout. - * - * The first section contains all of the arguments representing the physical - * layout of the board and position of the keys. - * - * The second converts the arguments into a two-dimensional array which - * represents the switch matrix. - */ - -#define LAYOUT_tkl_iso( \ - K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \ - \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K213, \ - K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K415, \ - K500, K501, K502, K505, K509, K510, K511, K512, K513, K515, K516 \ -) { \ - { K000, KC_NO, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, KC_NO, K415, KC_NO }, \ - { K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, K509, K510, K511, K512, K513, KC_NO, K515, K516 }, \ -} diff --git a/keyboards/carbo65/carbo65.c b/keyboards/carbo65/carbo65.c new file mode 100644 index 000000000000..1d04b48221b8 --- /dev/null +++ b/keyboards/carbo65/carbo65.c @@ -0,0 +1,21 @@ +/* Copyright 2021 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 "carbo65.h" + +void led_init_ports(void) { + // Set our LED pins as open drain outputs + palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN); +} diff --git a/keyboards/carbo65/carbo65.h b/keyboards/carbo65/carbo65.h new file mode 100644 index 000000000000..7613c8aa57f8 --- /dev/null +++ b/keyboards/carbo65/carbo65.h @@ -0,0 +1,34 @@ +/* Copyright 2021 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 + +#define XXX KC_NO + +#include "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E } \ +} diff --git a/keyboards/carbo65/config.h b/keyboards/carbo65/config.h new file mode 100644 index 000000000000..8475b3b1bbc0 --- /dev/null +++ b/keyboards/carbo65/config.h @@ -0,0 +1,80 @@ +/* +Copyright 2021 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x8968 +#define PRODUCT_ID 0x4336 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Yiancar-Designs +#define PRODUCT Carbo65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +#define MATRIX_ROW_PINS { A2, B9, B8, B5, B4 } +#define MATRIX_COL_PINS { A1, B1, B0, A7, A6, A5, A4, A3, B2, B10, B11, B12, B13, B14, B15 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Ensure we jump to bootloader if the RESET keycode was pressed */ +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE + +/* Indicator LEDs */ +#define LED_CAPS_LOCK_PIN B6 +#define LED_PIN_ON_STATE 0 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/carbo65/info.json b/keyboards/carbo65/info.json new file mode 100644 index 000000000000..27b44b9529fe --- /dev/null +++ b/keyboards/carbo65/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "Carbo65", + "url": "https://yiancar-designs.com", + "maintainer": "Yiancar-Designs", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + } + } +} diff --git a/keyboards/carbo65/keymaps/default/keymap.c b/keyboards/carbo65/keymaps/default/keymap.c new file mode 100644 index 000000000000..d8a7cb550402 --- /dev/null +++ b/keyboards/carbo65/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +/* Copyright 2021 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( /* Base */ + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT_all( /* FN */ + 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, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/carbo65/keymaps/default/readme.md b/keyboards/carbo65/keymaps/default/readme.md new file mode 100644 index 000000000000..93da5395f23f --- /dev/null +++ b/keyboards/carbo65/keymaps/default/readme.md @@ -0,0 +1,5 @@ +# The default keymap for Carbo 65. VIA support disabled. + +![Layer 0](https://i.imgur.com/3UZuHOl.png) + +![Layer 1](https://i.imgur.com/SmFQQ4c.png) diff --git a/keyboards/carbo65/keymaps/via/keymap.c b/keyboards/carbo65/keymaps/via/keymap.c new file mode 100644 index 000000000000..74005be77b7c --- /dev/null +++ b/keyboards/carbo65/keymaps/via/keymap.c @@ -0,0 +1,46 @@ +/* Copyright 2021 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_all( /* Base */ + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_all( /* FN */ + 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, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +[2] = LAYOUT_all( /* Empty for dynamic keymaps */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all( /* Empty for dynamic keymaps */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/carbo65/keymaps/via/readme.md b/keyboards/carbo65/keymaps/via/readme.md new file mode 100644 index 000000000000..2cac26364805 --- /dev/null +++ b/keyboards/carbo65/keymaps/via/readme.md @@ -0,0 +1,5 @@ +# The default keymap for Carbo 65. VIA support enabled. + +![Layer 0](https://i.imgur.com/3UZuHOl.png) + +![Layer 1](https://i.imgur.com/SmFQQ4c.png) diff --git a/keyboards/xd96/keymaps/via/rules.mk b/keyboards/carbo65/keymaps/via/rules.mk similarity index 100% rename from keyboards/xd96/keymaps/via/rules.mk rename to keyboards/carbo65/keymaps/via/rules.mk diff --git a/keyboards/carbo65/readme.md b/keyboards/carbo65/readme.md new file mode 100644 index 000000000000..039976b3e861 --- /dev/null +++ b/keyboards/carbo65/readme.md @@ -0,0 +1,32 @@ +# Carbo 65 + +This is a standard 65% layout PCB. It supports VIA. + +* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A TKL keyboard with STM32F072CB +* Hardware Availability: https://www.tantsim.com + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make carbo65: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 CLI (`make carbo65::flash`) diff --git a/keyboards/carbo65/rules.mk b/keyboards/carbo65/rules.mk new file mode 100644 index 000000000000..447588cba936 --- /dev/null +++ b/keyboards/carbo65/rules.mk @@ -0,0 +1,27 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Do not put the microcontroller into power saving mode +# when we get USB suspend event. We want it to keep updating +# backlight effects. +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/cassette42/common/oled_helper.c b/keyboards/cassette42/common/oled_helper.c index de908f128aaa..8800699a8501 100644 --- a/keyboards/cassette42/common/oled_helper.c +++ b/keyboards/cassette42/common/oled_helper.c @@ -1,4 +1,4 @@ -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE # include QMK_KEYBOARD_H # include # include diff --git a/keyboards/cassette42/common/oled_helper.h b/keyboards/cassette42/common/oled_helper.h index 6c2680664cd1..daeb7bfa4d5f 100644 --- a/keyboards/cassette42/common/oled_helper.h +++ b/keyboards/cassette42/common/oled_helper.h @@ -1,4 +1,4 @@ -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void render_logo(void); @@ -19,4 +19,4 @@ void render_led_status(void); # define UPDATE_LED_STATUS() # define RENDER_LED_STATUS(a) -#endif \ No newline at end of file +#endif diff --git a/keyboards/cassette42/keymaps/default/keymap.c b/keyboards/cassette42/keymaps/default/keymap.c index 2f53c1d6ca95..b678ccf9b594 100644 --- a/keyboards/cassette42/keymaps/default/keymap.c +++ b/keyboards/cassette42/keymaps/default/keymap.c @@ -33,10 +33,10 @@ enum layer_number { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // LAYOUT(LeftEncoder, RightEncoder, LeftSwitch, CenterLeftSwitch, CenterRightSwitch, RightSwitch) - [_AUDIO] = LAYOUT(KC_MUTE, KC_ENT, LT(_HUE, KC_MPRV), LT(_SAT, KC_MPLY), LT(_VAL, KC_MNXT), LT(_MODE, KC_SPC)), - [_HUE] = LAYOUT(RGB_TOG, RGBRST, _______, _______, RGB_HUD, RGB_HUI), - [_SAT] = LAYOUT(_______, _______, _______, _______, RGB_SAD, RGB_SAI), - [_VAL] = LAYOUT(_______, _______, RGB_VAD, RGB_VAI, _______, RGB_VAI), + [_AUDIO] = LAYOUT(KC_MUTE, KC_ENT, LT(_HUE, KC_MPRV), LT(_SAT, KC_MPLY), LT(_VAL, KC_MNXT), LT(_MODE, KC_SPC)), + [_HUE] = LAYOUT(RGB_TOG, RGBRST, _______, _______, RGB_HUD, RGB_HUI), + [_SAT] = LAYOUT(_______, _______, _______, _______, RGB_SAD, RGB_SAI), + [_VAL] = LAYOUT(_______, _______, RGB_VAD, RGB_VAI, _______, RGB_VAI), [_MODE] = LAYOUT(_______, WRTROM, RGB_RMOD, RGB_MOD, RGB_MOD, _______), }; @@ -64,7 +64,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE # include # include @@ -110,9 +110,7 @@ void oled_task_user(void) { } #endif -void led_set_user(uint8_t usb_led) {} - -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { oled_on(); if (index == 0) { /* left encoder */ switch (layer_state) { @@ -171,4 +169,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_UP); } } + return true; } diff --git a/keyboards/cassette42/rules.mk b/keyboards/cassette42/rules.mk index 4fd8e384b354..08200eb82c58 100644 --- a/keyboards/cassette42/rules.mk +++ b/keyboards/cassette42/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -21,6 +21,7 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 SRC += ./common/oled_helper.c diff --git a/keyboards/catch22/rules.mk b/keyboards/catch22/rules.mk index 1622b95c5aa5..e9f6cff127be 100644 --- a/keyboards/catch22/rules.mk +++ b/keyboards/catch22/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/centromere/centromere.c b/keyboards/centromere/centromere.c index 269c60fd7505..8d46520e38e2 100644 --- a/keyboards/centromere/centromere.c +++ b/keyboards/centromere/centromere.c @@ -5,21 +5,21 @@ void led_init(void) { setPinOutput(C4); // Set red LED pin as output setPinOutput(C5); // Set blue LED pin as output setPinOutput(D1); // Set green LED pin as output - + writePinHigh(C4); // Turn off red LED pin writePinHigh(C5); // Turn off blue LED pin writePinHigh(D1); // Turn off green LED pin - + #else setPinOutput(F4); // Set red LED pin as output setPinOutput(F5); // Set blue LED pin as output setPinOutput(D1); // Set green LED pin as output - + writePinHigh(F4); // Turn off red LED pin writePinHigh(F5); // Turn off blue LED pin writePinHigh(D1); // Turn off green LED pin - + #endif } @@ -33,7 +33,7 @@ void matrix_init_kb(void) { #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, {{9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, {{9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, diff --git a/keyboards/centromere/keymaps/default_u2/rules.mk b/keyboards/centromere/keymaps/default_u2/rules.mk index 5fdb02af5ac1..6ab81f6b120c 100644 --- a/keyboards/centromere/keymaps/default_u2/rules.mk +++ b/keyboards/centromere/keymaps/default_u2/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u2 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu diff --git a/keyboards/centromere/rules.mk b/keyboards/centromere/rules.mk index 2469d244a64b..89fc3c607c39 100644 --- a/keyboards/centromere/rules.mk +++ b/keyboards/centromere/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -27,7 +20,6 @@ CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = yes # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/cest73/tkm/config.h b/keyboards/cest73/tkm/config.h new file mode 100644 index 000000000000..e925f397150a --- /dev/null +++ b/keyboards/cest73/tkm/config.h @@ -0,0 +1,55 @@ + /* Copyright 2021 cest73 + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xBADD +#define PRODUCT_ID 0xAA55 +#define DEVICE_VER 0x0001 +#define MANUFACTURER cest73 +#define PRODUCT TKM-2021 R1.03 + +/* key matrix size */ +#define MATRIX_ROWS 11 +#define MATRIX_COLS 10 + +/* matrix sz handy ruler: 1 2 3 4 5 6 7 8 9 10 11 12 */ +/* key matrix pins */ +/* row handy ruler: r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 */ +#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7, C6, C7, D0 } +/* column handy ruler: c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 */ +#define MATRIX_COL_PINS { D1, D2, D3, D4, D5, D6, D7, F0, F1, F4 } +#define UNUSED_PINS { } + +//NOTE: if D6 pin shows any issues in exploatation the LED on the Teensy is to be removed + +#define LED_NUM_LOCK_PIN F6 +#define LED_CAPS_LOCK_PIN F5 +#define LED_SCROLL_LOCK_PIN F7 +#define LED_PIN_ON_STATE 0 +//TODO change the E6 pin to either B5, B6, B7 or C6 to utilize hardware PWM on a future PCB revision +#define BACKLIGHT_PIN E6 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* force n-key rollover*/ +#define FORCE_NKRO diff --git a/keyboards/cest73/tkm/info.json b/keyboards/cest73/tkm/info.json new file mode 100644 index 000000000000..87295a663f46 --- /dev/null +++ b/keyboards/cest73/tkm/info.json @@ -0,0 +1,128 @@ +{ + "keyboard_name": "TKM 2021", + "url": "https://geekhack.org/index.php?topic=110499", + "maintainer": "cest73 (aka fire-h0und)", + "width": 21, + "height": 6.75, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Fn", "x":0, "y":0}, + {"label":"PrtSc", "x":1, "y":0}, + {"label":"Scroll Lock", "x":2, "y":0}, + {"label":"Pause", "x":3, "y":0}, + {"label":"Esc", "x":4.5, "y":0}, + {"label":"F1", "x":6, "y":0}, + {"label":"F2", "x":7, "y":0}, + {"label":"F3", "x":8, "y":0}, + {"label":"F4", "x":9, "y":0}, + {"label":"F5", "x":10.25, "y":0}, + {"label":"F6", "x":11.25, "y":0}, + {"label":"F7", "x":12.25, "y":0}, + {"label":"F8", "x":13.25, "y":0}, + {"label":"F9", "x":14.5, "y":0}, + {"label":"F10", "x":15.5, "y":0}, + {"label":"F11", "x":16.5, "y":0}, + {"label":"F12", "x":17.5, "y":0}, + {"label":"Home", "x":19, "y":0}, + {"label":"PgUp", "x":20, "y":0}, + + {"label":"-", "x":0, "y":1.5}, + {"label":"*", "x":1, "y":1.5}, + {"label":"/", "x":2, "y":1.5}, + {"label":"Num Lock", "x":3, "y":1.5}, + {"label":"~", "x":4.5, "y":1.5}, + {"label":"!", "x":5.5, "y":1.5}, + {"label":"\"", "x":6.5, "y":1.5}, + {"label":"\u00a3", "x":7.5, "y":1.5}, + {"label":"$", "x":8.5, "y":1.5}, + {"label":"%", "x":9.5, "y":1.5}, + {"label":"^", "x":10.5, "y":1.5}, + {"label":"&", "x":11.5, "y":1.5}, + {"label":"*", "x":12.5, "y":1.5}, + {"label":"(", "x":13.5, "y":1.5}, + {"label":")", "x":14.5, "y":1.5}, + {"label":"_", "x":15.5, "y":1.5}, + {"label":"+", "x":16.5, "y":1.5}, + {"label":"Backspace", "x":17.5, "y":1.5}, + {"label":"Backspace", "x":18.5, "y":1.5}, + {"label":"Insert", "x":20, "y":1.5}, + + {"label":"+", "x":0, "y":2.5}, + {"label":"9", "x":1, "y":2.5}, + {"label":"8", "x":2, "y":2.5}, + {"label":"7", "x":3, "y":2.5}, + {"label":"Tab", "x":4.5, "y":2.5, "w":1.5}, + {"label":"Q", "x":6, "y":2.5}, + {"label":"W", "x":7, "y":2.5}, + {"label":"E", "x":8, "y":2.5}, + {"label":"R", "x":9, "y":2.5}, + {"label":"T", "x":10, "y":2.5}, + {"label":"Y", "x":11, "y":2.5}, + {"label":"U", "x":12, "y":2.5}, + {"label":"I", "x":13, "y":2.5}, + {"label":"O", "x":14, "y":2.5}, + {"label":"P", "x":15, "y":2.5}, + {"label":"{", "x":16, "y":2.5}, + {"label":"}", "x":17, "y":2.5}, + {"label":"Backslash", "x":18, "y":2.5, "w":1.5}, + {"label":"Delete", "x":20, "y":2.5}, + + {"label":"+", "x":0, "y":3.5}, + {"label":"6", "x":1, "y":3.5}, + {"label":"5", "x":2, "y":3.5}, + {"label":"4", "x":3, "y":3.5}, + {"label":"CAPS", "x":4.5, "y":3.5, "w":1.25}, + {"label":"A", "x":6.25, "y":3.5}, + {"label":"S", "x":7.25, "y":3.5}, + {"label":"D", "x":8.25, "y":3.5}, + {"label":"F", "x":9.25, "y":3.5}, + {"label":"G", "x":10.25, "y":3.5}, + {"label":"H", "x":11.25, "y":3.5}, + {"label":"J", "x":12.25, "y":3.5}, + {"label":"K", "x":13.25, "y":3.5}, + {"label":"L", "x":14.25, "y":3.5}, + {"label":":", "x":15.25, "y":3.5}, + {"label":"@", "x":16.25, "y":3.5}, + {"label":"|", "x":17.25, "y":3.5}, + {"label":"Enter", "x":18.25, "y":3.5, "w":1.25}, + {"label":"PgDn", "x":20, "y":3.5}, + + {"label":"Enter", "x":0, "y":4.5}, + {"label":"3", "x":1, "y":4.5}, + {"label":"2", "x":2, "y":4.5}, + {"label":"1", "x":3, "y":4.5}, + {"label":"Shift", "x":4.5, "y":4.5, "w":1.25}, + {"label":"|", "x":5.75, "y":4.5}, + {"label":"Z", "x":6.75, "y":4.5}, + {"label":"X", "x":7.75, "y":4.5}, + {"label":"C", "x":8.75, "y":4.5}, + {"label":"V", "x":9.75, "y":4.5}, + {"label":"B", "x":10.75, "y":4.5}, + {"label":"N", "x":11.75, "y":4.5}, + {"label":"M", "x":12.75, "y":4.5}, + {"label":"<", "x":13.75, "y":4.5}, + {"label":">", "x":14.75, "y":4.5}, + {"label":"?", "x":15.75, "y":4.5}, + {"label":"Shift", "x":16.75, "y":4.5, "w":1.75}, + {"label":"\u2191", "x":18.75, "y":4.75}, + {"label":"End", "x":20, "y":4.5}, + + {"label":"Enter", "x":0, "y":5.5}, + {"label":".", "x":1, "y":5.5}, + {"label":",", "x":2, "y":5.5}, + {"label":"0", "x":3, "y":5.5}, + {"label":"Ctrl", "x":4.5, "y":5.5, "w":1.25}, + {"label":"Win", "x":5.75, "y":5.5}, + {"label":"Alt", "x":6.75, "y":5.5, "w":1.25}, + {"label":"Space", "x":8, "y":5.5, "w":6.25}, + {"label":"AltGr", "x":14.25, "y":5.5}, + {"label":"Menu", "x":15.25, "y":5.5}, + {"label":"Ctrl", "x":16.25, "y":5.5, "w":1.25}, + {"label":"\u2190", "x":17.75, "y":5.75}, + {"label":"\u2193", "x":18.75, "y":5.75}, + {"label":"\u2192", "x":19.75, "y":5.75} + ] + } + } +} diff --git a/keyboards/cest73/tkm/keymaps/default/keymap.c b/keyboards/cest73/tkm/keymaps/default/keymap.c new file mode 100644 index 000000000000..0fa9ea921ded --- /dev/null +++ b/keyboards/cest73/tkm/keymaps/default/keymap.c @@ -0,0 +1,79 @@ + /* Copyright 2021 cest73 + * + * 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 { + _BASE, + _FN +}; + +/* + * ┌───┬───┬───┬───┐ ┌───┐ ┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┬───┐ + * │Fn │PSc│Scr│Pse│ │Esc│ │F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12│ │Hme│PgU│ + * └───┴───┴───┴───┘ └───┘ └───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ └───┴───┘ + * + * ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ + * │ - │ * │ / │Num│ │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsl│Bsp│ │Ins│ + * ├───┼───┼───┼───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┤ + * │ + │ 9 │ 8 │ 7 │ │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│ + * ├───┼───┼───┼───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────│ ├───┤ + * │ = │ 6 │ 5 │ 4 │ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Etl│ Ent│ │PgD│ + * ├───┼───┼───┼───┤ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┘ ├───┤ + * │Tab│ 3 │ 2 │ 1 │ │Shft│Shl│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│┌───┐│End│ + * ├───┼───┼───┼───┤ ├────┼───┼───┴┬──┴───┴───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴──┬───┘│ ↑ │└───┘ + * │Ent│ . │ , │ 0 │ │Ctrl│GUI│Alt │                        │Alt│Mnu│Ctrl│┌───┼───┼───┐ + * └───┴───┴───┴───┘ └────┴───┴────┴────────────────────────┴───┴───┴────┘│ ← │ ↓ │ → │ + * └───┴───┴───┘ + */ + /* + * ┌───┬───┬───┬───┐ ┌───┐ ┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┬───┐ + * │ │ │ │ │ │Rst│ │  │  │  │  ││  │  │  │  ││  │ │ │ │ │ │ │ + * └───┴───┴───┴───┘ └───┘ └───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ └───┴───┘ + * + * ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ + * │ │   │   │ │ │   │   │   │   │   │   │   │   │   │   │   │   │   │ │ │ │ │ + * ├───┼───┼───┼───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┤ + * │   │   │   │   │ │   │   │   │   │   │   │   │   │   │   │   │   │   │     │ │ │ + * ├───┼───┼───┼───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────│ ├───┤ + * │   │   │   │   │ │  │   │   │   │   │   │ ← │ ↑ │ ↓ │ → │   │   │ │ Ent│ │ │ + * ├───┼───┼───┼───┤ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┘ ├───┤ + * │ │   │   │   │ │Shft│ │   │   │   │   │   │   │   │   │   │   │ Shift│┌───┐│ │ + * ├───┼───┼───┼───┤ ├────┼───┼───┴┬──┴───┴───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴──┬───┘│ ↑ │└───┘ + * │ │   │  │   │ │Ctrl│GUI│Alt │                        │Alt│Mnu│Ctrl│┌───┼───┼───┐ + * └───┴───┴───┴───┘ └────┴───┴────┴────────────────────────┴───┴───┴────┘│ ← │ ↓ │ → │ + * └───┴───┴───┘ + */ + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_all( + MO(1), KC_PSCR, KC_SLCK, KC_PAUS, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGUP, + KC_PMNS, KC_PAST, KC_PSLS, KC_NLCK, 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_BSLS, KC_BSPC, KC_INS, + KC_PPLS, KC_P9, KC_P8, KC_P7, 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_PEQL, KC_P6, KC_P5, KC_P4, 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_PGDN, + KC_TAB, KC_P3, KC_P2, KC_P1, 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_END, + KC_PENT, KC_PDOT, KC_PCMM, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_UP, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, 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/cest73/tkm/readme.md b/keyboards/cest73/tkm/readme.md new file mode 100644 index 000000000000..947cc2677961 --- /dev/null +++ b/keyboards/cest73/tkm/readme.md @@ -0,0 +1,22 @@ +# Ten Key Mirrored - 2021 + +![TKM-2021](https://imgur.com/AlvRk1zh.jpg) + +Another take on left side numpad and this time mirrored too for the ever more spacious mouse playground. + +* Keyboard Maintainer: cest73 (aka fire-h0und) +* Hardware Supported: TKM-2021 (multiple layouts and switch options including ALPS, ISO and BAE) +* Hardware Availability: https://geekhack.org/index.php?topic=110499 + + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb cest73/tkm -km default + +As the board uses Teensy 2.0 as a daughter board, to bring the board into flash mode is it sufficient to press the button present on the Teensy. + +[TKM-2021 PCB](https://geekhack.org/index.php?action=dlattach;topic=110499.0;attach=268641;image) + +Despite many hours gazing over the schematics there was a nasty error on the first batch: namely the 6 and 7 columns got swapped in the design process. Luckily it was trivial to fix in the firmware section (see the comments in the layout file(s)). + +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/cest73/tkm/rules.mk b/keyboards/cest73/tkm/rules.mk new file mode 100644 index 000000000000..193b9b7007c5 --- /dev/null +++ b/keyboards/cest73/tkm/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = halfkay + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/cest73/tkm/tkm.c b/keyboards/cest73/tkm/tkm.c new file mode 100644 index 000000000000..b127e9eb5317 --- /dev/null +++ b/keyboards/cest73/tkm/tkm.c @@ -0,0 +1,16 @@ + /* Copyright 2021 cest73 + * + * 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 "tkm.h" diff --git a/keyboards/cest73/tkm/tkm.h b/keyboards/cest73/tkm/tkm.h new file mode 100644 index 000000000000..e846f5f597c5 --- /dev/null +++ b/keyboards/cest73/tkm/tkm.h @@ -0,0 +1,66 @@ + /* Copyright 2021 cest73 + * + * 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 "quantum.h" + +/* This a shortcut to help you visually see your layout. + * The first section contains "names" for physical keys of the keyboard + * and defines their position on the board. + * The second section defines position of the keys on the switch matrix + * (where COLUMNS and ROWS crosses). + This looks so much better in an terminal window :-(*/ + /* + * ┌───┬───┬───┬───┐ ┌───┐ ┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┬───┐ + * │Fn │PSc│Scr│Pse│ │Esc│ │F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12│ │Hme│PgU│ + * └───┴───┴───┴───┘ └───┘ └───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ └───┴───┘ + * + * ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ + * │ - │ * │ / │Num│ │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsl│Bsp│ │Ins│ + * ├───┼───┼───┼───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┤ + * │ + │ 9 │ 8 │ 7 │ │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│ + * ├───┼───┼───┼───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────│ ├───┤ + * │ = │ 6 │ 5 │ 4 │ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Etl│ Ent│ │PgD│ + * ├───┼───┼───┼───┤ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┘ ├───┤ + * │Tab│ 3 │ 2 │ 1 │ │Shft│Shl│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│┌───┐│End│ + * ├───┼───┼───┼───┤ ├────┼───┼───┴┬──┴───┴───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴──┬───┘│ ↑ │└───┘ + * │Ent│ . │ , │ 0 │ │Ctrl│GUI│Alt │                        │Alt│Mnu│Ctrl│┌───┼───┼───┐ + * └───┴───┴───┴───┘ └────┴───┴────┴────────────────────────┴───┴───┴────┘│ ← │ ↓ │ → │ + * └───┴───┴───┘ + */ +// due to a nasty PCB layout bug the R1.03 board has "6" and "7" keyboard coulmns swapped... + +#define LAYOUT_all( \ + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k15, k05, k06, k16, k07, k17, k08, k18, k09, \ +\ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k35, k25, k26, k36, k27, k37, k28, k19, k38, k29, \ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k55, k45, k46, k56, k47, k57, k48, k58, k49, \ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k75, k65, k66, k76, k67, k77, k68, k78, k69, \ + k39, k90, k81, k91, k82, k92, k83, k93, k84, k94, k95, k85, k86, k96, k87, k97, k88, k98, k89, \ + k80, kA0, k59, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8, kA9, k99, k79 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49 }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59 }, \ + { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69 }, \ + { k70, k71, k72, k73, k74, k75, k76, k77, k78, k79 }, \ + { k80, k81, k82, k83, k84, k85, k86, k87, k88, k89 }, \ + { k90, k91, k92, k93, k94, k95, k96, k97, k98, k99 }, \ + { kA0, kA1, kA2, kA3, kA4, kA5, kA6, kA7, kA8, kA9 } \ +} diff --git a/keyboards/charue/sunsetter/chconf.h b/keyboards/charue/sunsetter/chconf.h new file mode 100644 index 000000000000..c0f309c8dcad --- /dev/null +++ b/keyboards/charue/sunsetter/chconf.h @@ -0,0 +1,31 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/charue/sunsetter/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#include_next + diff --git a/keyboards/charue/sunsetter/config.h b/keyboards/charue/sunsetter/config.h new file mode 100644 index 000000000000..ac7746fa72b6 --- /dev/null +++ b/keyboards/charue/sunsetter/config.h @@ -0,0 +1,38 @@ +/* +Copyright 2020 Michael Pio "Coarse" Mayol + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4344 // CD for CharueDesign +#define PRODUCT_ID 0x5353 // SS for Sunsetter +#define DEVICE_VER 0x0001 // Revision prototype +#define MANUFACTURER CharueDesign +#define PRODUCT Sunsetter + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 18 + +#define MATRIX_COL_PINS { B13, B12, B1, B0, A7, A6, A5, A4, A3, B9, B8, B7, B6, B5, B4, F0, B3, A15 } +#define MATRIX_ROW_PINS { A8, B14, B11, B10, B2 } +#define DIODE_DIRECTION COL2ROW +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define LED_CAPS_LOCK_PIN F1 +#define LED_PIN_ON_STATE 0 diff --git a/keyboards/charue/sunsetter/info.json b/keyboards/charue/sunsetter/info.json new file mode 100644 index 000000000000..8f4220cb0d8d --- /dev/null +++ b/keyboards/charue/sunsetter/info.json @@ -0,0 +1,441 @@ +{ + "keyboard_name": "Sunsetter", + "url": "https://charue-design.com/products/sunsetter", + "maintainer": "coarse", + "width": 18.25, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"F1", "x":0, "y":0}, + {"label":"F2", "x":1, "y":0}, + {"label":"~", "x":2.25, "y":0}, + {"label":"!", "x":3.25, "y":0}, + {"label":"@", "x":4.25, "y":0}, + {"label":"#", "x":5.25, "y":0}, + {"label":"$", "x":6.25, "y":0}, + {"label":"%", "x":7.25, "y":0}, + {"label":"^", "x":8.25, "y":0}, + {"label":"&", "x":9.25, "y":0}, + {"label":"*", "x":10.25, "y":0}, + {"label":"(", "x":11.25, "y":0}, + {"label":")", "x":12.25, "y":0}, + {"label":"_", "x":13.25, "y":0}, + {"label":"+", "x":14.25, "y":0}, + {"label":"Backspace", "x":15.25, "y":0}, + {"label":"Backspace", "x":16.25, "y":0}, + {"label":"", "x":17.25, "y":0}, + + {"label":"F3", "x":0, "y":1}, + {"label":"F4", "x":1, "y":1}, + {"label":"Tab", "x":2.25, "y":1, "w":1.5}, + {"label":"Q", "x":3.75, "y":1}, + {"label":"W", "x":4.75, "y":1}, + {"label":"E", "x":5.75, "y":1}, + {"label":"R", "x":6.75, "y":1}, + {"label":"T", "x":7.75, "y":1}, + {"label":"Y", "x":8.75, "y":1}, + {"label":"U", "x":9.75, "y":1}, + {"label":"I", "x":10.75, "y":1}, + {"label":"O", "x":11.75, "y":1}, + {"label":"P", "x":12.75, "y":1}, + {"label":"{", "x":13.75, "y":1}, + {"label":"}", "x":14.75, "y":1}, + {"label":"|", "x":15.75, "y":1, "w":1.5}, + {"label":"", "x":17.25, "y":1}, + + {"label":"F5", "x":0, "y":2}, + {"label":"F6", "x":1, "y":2}, + {"label":"Caps Lock", "x":2.25, "y":2, "w":1.25}, + {"label":"A", "x":4, "y":2}, + {"label":"S", "x":5, "y":2}, + {"label":"D", "x":6, "y":2}, + {"label":"F", "x":7, "y":2}, + {"label":"G", "x":8, "y":2}, + {"label":"H", "x":9, "y":2}, + {"label":"J", "x":10, "y":2}, + {"label":"K", "x":11, "y":2}, + {"label":"L", "x":12, "y":2}, + {"label":":", "x":13, "y":2}, + {"label":"\"", "x":14, "y":2}, + {"label":"~", "x":18.5, "y":2}, + {"label":"Enter", "x":15, "y":2, "w":2.25}, + {"label":"Enter", "x":19.5, "y":1, "w":1.25, "h":2}, + {"label":"", "x":17.25, "y":2}, + + {"label":"F7", "x":0, "y":3}, + {"label":"F8", "x":1, "y":3}, + {"label":"Shift", "x":2.25, "y":3, "w":1.25}, + {"label":"|", "x":3.5, "y":3}, + {"label":"Z", "x":4.5, "y":3}, + {"label":"X", "x":5.5, "y":3}, + {"label":"C", "x":6.5, "y":3}, + {"label":"V", "x":7.5, "y":3}, + {"label":"B", "x":8.5, "y":3}, + {"label":"N", "x":9.5, "y":3}, + {"label":"M", "x":10.5, "y":3}, + {"label":"<", "x":11.5, "y":3}, + {"label":">", "x":12.5, "y":3}, + {"label":"?", "x":13.5, "y":3}, + {"label":"Shift", "x":14.5, "y":3, "w":1.75}, + {"label":"", "x":16.25, "y":3}, + {"label":"", "x":17.25, "y":3}, + + {"label":"F9/11", "x":0, "y":4}, + {"label":"F10/12", "x":1, "y":4}, + {"label":"Ctrl", "x":2.25, "y":4, "w":1.25}, + {"label":"Win", "x":3.5, "y":4, "w":1.25}, + {"label":"Alt", "x":4.75, "y":4, "w":1.25}, + {"label":"2.25", "x":6, "y":4, "w":2.25}, + {"label":"1.25", "x":8.25, "y":4, "w":1.25}, + {"label":"2.75", "x":9.5, "y":4, "w":2.75}, + {"label":"Fn", "x":12.25, "y":4}, + {"label":"Win", "x":13.25, "y":4}, + {"label":"Ctrl", "x":14.25, "y":4}, + {"label":"", "x":15.25, "y":4}, + {"label":"", "x":16.25, "y":4}, + {"label":"", "x":17.25, "y":4} + ] + }, + "LAYOUT_1065_ansi": { + "layout": [ + {"label":"F1", "x":0, "y":0}, + {"label":"F2", "x":1, "y":0}, + {"label":"~", "x":2.25, "y":0}, + {"label":"!", "x":3.25, "y":0}, + {"label":"@", "x":4.25, "y":0}, + {"label":"#", "x":5.25, "y":0}, + {"label":"$", "x":6.25, "y":0}, + {"label":"%", "x":7.25, "y":0}, + {"label":"^", "x":8.25, "y":0}, + {"label":"&", "x":9.25, "y":0}, + {"label":"*", "x":10.25, "y":0}, + {"label":"(", "x":11.25, "y":0}, + {"label":")", "x":12.25, "y":0}, + {"label":"_", "x":13.25, "y":0}, + {"label":"+", "x":14.25, "y":0}, + {"label":"Backspace", "x":15.25, "y":0, "w":2}, + {"label":"", "x":17.25, "y":0}, + + {"label":"F3", "x":0, "y":1}, + {"label":"F4", "x":1, "y":1}, + {"label":"Tab", "x":2.25, "y":1, "w":1.5}, + {"label":"Q", "x":3.75, "y":1}, + {"label":"W", "x":4.75, "y":1}, + {"label":"E", "x":5.75, "y":1}, + {"label":"R", "x":6.75, "y":1}, + {"label":"T", "x":7.75, "y":1}, + {"label":"Y", "x":8.75, "y":1}, + {"label":"U", "x":9.75, "y":1}, + {"label":"I", "x":10.75, "y":1}, + {"label":"O", "x":11.75, "y":1}, + {"label":"P", "x":12.75, "y":1}, + {"label":"{", "x":13.75, "y":1}, + {"label":"}", "x":14.75, "y":1}, + {"label":"|", "x":15.75, "y":1, "w":1.5}, + {"label":"", "x":17.25, "y":1}, + + {"label":"F5", "x":0, "y":2}, + {"label":"F6", "x":1, "y":2}, + {"label":"Caps Lock", "x":2.25, "y":2, "w":1.25}, + {"label":"A", "x":4, "y":2}, + {"label":"S", "x":5, "y":2}, + {"label":"D", "x":6, "y":2}, + {"label":"F", "x":7, "y":2}, + {"label":"G", "x":8, "y":2}, + {"label":"H", "x":9, "y":2}, + {"label":"J", "x":10, "y":2}, + {"label":"K", "x":11, "y":2}, + {"label":"L", "x":12, "y":2}, + {"label":":", "x":13, "y":2}, + {"label":"\"", "x":14, "y":2}, + {"label":"Enter", "x":15, "y":2, "w":2.25}, + {"label":"", "x":17.25, "y":2}, + + {"label":"F7", "x":0, "y":3}, + {"label":"F8", "x":1, "y":3}, + {"label":"Shift", "x":2.25, "y":3, "w":2.25}, + {"label":"Z", "x":4.5, "y":3}, + {"label":"X", "x":5.5, "y":3}, + {"label":"C", "x":6.5, "y":3}, + {"label":"V", "x":7.5, "y":3}, + {"label":"B", "x":8.5, "y":3}, + {"label":"N", "x":9.5, "y":3}, + {"label":"M", "x":10.5, "y":3}, + {"label":"<", "x":11.5, "y":3}, + {"label":">", "x":12.5, "y":3}, + {"label":"?", "x":13.5, "y":3}, + {"label":"Shift", "x":14.5, "y":3, "w":1.75}, + {"label":"", "x":16.25, "y":3}, + {"label":"", "x":17.25, "y":3}, + + {"label":"F9/11", "x":0, "y":4}, + {"label":"F10/12", "x":1, "y":4}, + {"label":"Ctrl", "x":2.25, "y":4, "w":1.25}, + {"label":"Win", "x":3.5, "y":4, "w":1.25}, + {"label":"Alt", "x":4.75, "y":4, "w":1.25}, + {"label":"6.25", "x":6, "y":4, "w":6.25}, + {"label":"Fn", "x":12.25, "y":4}, + {"label":"", "x":15.25, "y":4}, + {"label":"", "x":16.25, "y":4}, + {"label":"", "x":17.25, "y":4} + ] + }, + "LAYOUT_1065_ansi_split_bs": { + "layout": [ + {"label":"F1", "x":0, "y":0}, + {"label":"F2", "x":1, "y":0}, + {"label":"~", "x":2.25, "y":0}, + {"label":"!", "x":3.25, "y":0}, + {"label":"@", "x":4.25, "y":0}, + {"label":"#", "x":5.25, "y":0}, + {"label":"$", "x":6.25, "y":0}, + {"label":"%", "x":7.25, "y":0}, + {"label":"^", "x":8.25, "y":0}, + {"label":"&", "x":9.25, "y":0}, + {"label":"*", "x":10.25, "y":0}, + {"label":"(", "x":11.25, "y":0}, + {"label":")", "x":12.25, "y":0}, + {"label":"_", "x":13.25, "y":0}, + {"label":"+", "x":14.25, "y":0}, + {"label":"Backspace", "x":15.25, "y":0}, + {"label":"Backspace", "x":16.25, "y":0}, + {"label":"", "x":17.25, "y":0}, + + {"label":"F3", "x":0, "y":1}, + {"label":"F4", "x":1, "y":1}, + {"label":"Tab", "x":2.25, "y":1, "w":1.5}, + {"label":"Q", "x":3.75, "y":1}, + {"label":"W", "x":4.75, "y":1}, + {"label":"E", "x":5.75, "y":1}, + {"label":"R", "x":6.75, "y":1}, + {"label":"T", "x":7.75, "y":1}, + {"label":"Y", "x":8.75, "y":1}, + {"label":"U", "x":9.75, "y":1}, + {"label":"I", "x":10.75, "y":1}, + {"label":"O", "x":11.75, "y":1}, + {"label":"P", "x":12.75, "y":1}, + {"label":"{", "x":13.75, "y":1}, + {"label":"}", "x":14.75, "y":1}, + {"label":"|", "x":15.75, "y":1, "w":1.5}, + {"label":"", "x":17.25, "y":1}, + + {"label":"F5", "x":0, "y":2}, + {"label":"F6", "x":1, "y":2}, + {"label":"Caps Lock", "x":2.25, "y":2, "w":1.25}, + {"label":"A", "x":4, "y":2}, + {"label":"S", "x":5, "y":2}, + {"label":"D", "x":6, "y":2}, + {"label":"F", "x":7, "y":2}, + {"label":"G", "x":8, "y":2}, + {"label":"H", "x":9, "y":2}, + {"label":"J", "x":10, "y":2}, + {"label":"K", "x":11, "y":2}, + {"label":"L", "x":12, "y":2}, + {"label":":", "x":13, "y":2}, + {"label":"\"", "x":14, "y":2}, + {"label":"Enter", "x":15, "y":2, "w":2.25}, + {"label":"", "x":17.25, "y":2}, + + {"label":"F7", "x":0, "y":3}, + {"label":"F8", "x":1, "y":3}, + {"label":"Shift", "x":2.25, "y":3, "w":2.25}, + {"label":"Z", "x":4.5, "y":3}, + {"label":"X", "x":5.5, "y":3}, + {"label":"C", "x":6.5, "y":3}, + {"label":"V", "x":7.5, "y":3}, + {"label":"B", "x":8.5, "y":3}, + {"label":"N", "x":9.5, "y":3}, + {"label":"M", "x":10.5, "y":3}, + {"label":"<", "x":11.5, "y":3}, + {"label":">", "x":12.5, "y":3}, + {"label":"?", "x":13.5, "y":3}, + {"label":"Shift", "x":14.5, "y":3, "w":1.75}, + {"label":"", "x":16.25, "y":3}, + {"label":"", "x":17.25, "y":3}, + + {"label":"F9/11", "x":0, "y":4}, + {"label":"F10/12", "x":1, "y":4}, + {"label":"Ctrl", "x":2.25, "y":4, "w":1.25}, + {"label":"Win", "x":3.5, "y":4, "w":1.25}, + {"label":"Alt", "x":4.75, "y":4, "w":1.25}, + {"label":"6.25", "x":6, "y":4, "w":6.25}, + {"label":"Fn", "x":12.25, "y":4}, + {"label":"", "x":15.25, "y":4}, + {"label":"", "x":16.25, "y":4}, + {"label":"", "x":17.25, "y":4} + ] + }, + "LAYOUT_1065_iso": { + "layout": [ + {"label":"F1", "x":0, "y":0}, + {"label":"F2", "x":1, "y":0}, + {"label":"~", "x":2.25, "y":0}, + {"label":"!", "x":3.25, "y":0}, + {"label":"@", "x":4.25, "y":0}, + {"label":"#", "x":5.25, "y":0}, + {"label":"$", "x":6.25, "y":0}, + {"label":"%", "x":7.25, "y":0}, + {"label":"^", "x":8.25, "y":0}, + {"label":"&", "x":9.25, "y":0}, + {"label":"*", "x":10.25, "y":0}, + {"label":"(", "x":11.25, "y":0}, + {"label":")", "x":12.25, "y":0}, + {"label":"_", "x":13.25, "y":0}, + {"label":"+", "x":14.25, "y":0}, + {"label":"Backspace", "x":15.25, "y":0, "w":2}, + {"label":"", "x":17.25, "y":0}, + + {"label":"F3", "x":0, "y":1}, + {"label":"F4", "x":1, "y":1}, + {"label":"Tab", "x":2.25, "y":1, "w":1.5}, + {"label":"Q", "x":3.75, "y":1}, + {"label":"W", "x":4.75, "y":1}, + {"label":"E", "x":5.75, "y":1}, + {"label":"R", "x":6.75, "y":1}, + {"label":"T", "x":7.75, "y":1}, + {"label":"Y", "x":8.75, "y":1}, + {"label":"U", "x":9.75, "y":1}, + {"label":"I", "x":10.75, "y":1}, + {"label":"O", "x":11.75, "y":1}, + {"label":"P", "x":12.75, "y":1}, + {"label":"{", "x":13.75, "y":1}, + {"label":"}", "x":14.75, "y":1}, + {"label":"", "x":17.25, "y":1}, + + {"label":"F5", "x":0, "y":2}, + {"label":"F6", "x":1, "y":2}, + {"label":"Caps Lock", "x":2.25, "y":2, "w":1.25}, + {"label":"A", "x":4, "y":2}, + {"label":"S", "x":5, "y":2}, + {"label":"D", "x":6, "y":2}, + {"label":"F", "x":7, "y":2}, + {"label":"G", "x":8, "y":2}, + {"label":"H", "x":9, "y":2}, + {"label":"J", "x":10, "y":2}, + {"label":"K", "x":11, "y":2}, + {"label":"L", "x":12, "y":2}, + {"label":":", "x":13, "y":2}, + {"label":"\"", "x":14, "y":2}, + {"label":"~", "x":15, "y":2}, + {"label":"Enter", "x":16, "y":1, "w":1.25, "h":2}, + {"label":"", "x":17.25, "y":2}, + + {"label":"F7", "x":0, "y":3}, + {"label":"F8", "x":1, "y":3}, + {"label":"Shift", "x":2.25, "y":3, "w":1.25}, + {"label":"|", "x":3.5, "y":3}, + {"label":"Z", "x":4.5, "y":3}, + {"label":"X", "x":5.5, "y":3}, + {"label":"C", "x":6.5, "y":3}, + {"label":"V", "x":7.5, "y":3}, + {"label":"B", "x":8.5, "y":3}, + {"label":"N", "x":9.5, "y":3}, + {"label":"M", "x":10.5, "y":3}, + {"label":"<", "x":11.5, "y":3}, + {"label":">", "x":12.5, "y":3}, + {"label":"?", "x":13.5, "y":3}, + {"label":"Shift", "x":14.5, "y":3, "w":1.75}, + {"label":"", "x":16.25, "y":3}, + {"label":"", "x":17.25, "y":3}, + + {"label":"F9/11", "x":0, "y":4}, + {"label":"F10/12", "x":1, "y":4}, + {"label":"Ctrl", "x":2.25, "y":4, "w":1.25}, + {"label":"Win", "x":3.5, "y":4, "w":1.25}, + {"label":"Alt", "x":4.75, "y":4, "w":1.25}, + {"label":"6.25", "x":6, "y":4, "w":6.25}, + {"label":"Fn", "x":12.25, "y":4}, + {"label":"", "x":15.25, "y":4}, + {"label":"", "x":16.25, "y":4}, + {"label":"", "x":17.25, "y":4} + ] + }, + "LAYOUT_1065_iso_split_bs": { + "layout": [ + {"label":"F1", "x":0, "y":0}, + {"label":"F2", "x":1, "y":0}, + {"label":"~", "x":2.25, "y":0}, + {"label":"!", "x":3.25, "y":0}, + {"label":"@", "x":4.25, "y":0}, + {"label":"#", "x":5.25, "y":0}, + {"label":"$", "x":6.25, "y":0}, + {"label":"%", "x":7.25, "y":0}, + {"label":"^", "x":8.25, "y":0}, + {"label":"&", "x":9.25, "y":0}, + {"label":"*", "x":10.25, "y":0}, + {"label":"(", "x":11.25, "y":0}, + {"label":")", "x":12.25, "y":0}, + {"label":"_", "x":13.25, "y":0}, + {"label":"+", "x":14.25, "y":0}, + {"label":"Backspace", "x":15.25, "y":0}, + {"label":"Backspace", "x":16.25, "y":0}, + {"label":"", "x":17.25, "y":0}, + + {"label":"F3", "x":0, "y":1}, + {"label":"F4", "x":1, "y":1}, + {"label":"Tab", "x":2.25, "y":1, "w":1.5}, + {"label":"Q", "x":3.75, "y":1}, + {"label":"W", "x":4.75, "y":1}, + {"label":"E", "x":5.75, "y":1}, + {"label":"R", "x":6.75, "y":1}, + {"label":"T", "x":7.75, "y":1}, + {"label":"Y", "x":8.75, "y":1}, + {"label":"U", "x":9.75, "y":1}, + {"label":"I", "x":10.75, "y":1}, + {"label":"O", "x":11.75, "y":1}, + {"label":"P", "x":12.75, "y":1}, + {"label":"{", "x":13.75, "y":1}, + {"label":"}", "x":14.75, "y":1}, + {"label":"", "x":17.25, "y":1}, + + {"label":"F5", "x":0, "y":2}, + {"label":"F6", "x":1, "y":2}, + {"label":"Caps Lock", "x":2.25, "y":2, "w":1.25}, + {"label":"A", "x":4, "y":2}, + {"label":"S", "x":5, "y":2}, + {"label":"D", "x":6, "y":2}, + {"label":"F", "x":7, "y":2}, + {"label":"G", "x":8, "y":2}, + {"label":"H", "x":9, "y":2}, + {"label":"J", "x":10, "y":2}, + {"label":"K", "x":11, "y":2}, + {"label":"L", "x":12, "y":2}, + {"label":":", "x":13, "y":2}, + {"label":"\"", "x":14, "y":2}, + {"label":"~", "x":15, "y":2}, + {"label":"Enter", "x":16, "y":1, "w":1.25, "h":2}, + {"label":"", "x":17.25, "y":2}, + + {"label":"F7", "x":0, "y":3}, + {"label":"F8", "x":1, "y":3}, + {"label":"Shift", "x":2.25, "y":3, "w":1.25}, + {"label":"|", "x":3.5, "y":3}, + {"label":"Z", "x":4.5, "y":3}, + {"label":"X", "x":5.5, "y":3}, + {"label":"C", "x":6.5, "y":3}, + {"label":"V", "x":7.5, "y":3}, + {"label":"B", "x":8.5, "y":3}, + {"label":"N", "x":9.5, "y":3}, + {"label":"M", "x":10.5, "y":3}, + {"label":"<", "x":11.5, "y":3}, + {"label":">", "x":12.5, "y":3}, + {"label":"?", "x":13.5, "y":3}, + {"label":"Shift", "x":14.5, "y":3, "w":1.75}, + {"label":"", "x":16.25, "y":3}, + {"label":"", "x":17.25, "y":3}, + + {"label":"F9/11", "x":0, "y":4}, + {"label":"F10/12", "x":1, "y":4}, + {"label":"Ctrl", "x":2.25, "y":4, "w":1.25}, + {"label":"Win", "x":3.5, "y":4, "w":1.25}, + {"label":"Alt", "x":4.75, "y":4, "w":1.25}, + {"label":"6.25", "x":6, "y":4, "w":6.25}, + {"label":"Fn", "x":12.25, "y":4}, + {"label":"", "x":15.25, "y":4}, + {"label":"", "x":16.25, "y":4}, + {"label":"", "x":17.25, "y":4} + ] + } + } +} diff --git a/keyboards/charue/sunsetter/keymaps/default/keymap.c b/keyboards/charue/sunsetter/keymaps/default/keymap.c new file mode 100755 index 000000000000..01cf15282f89 --- /dev/null +++ b/keyboards/charue/sunsetter/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +/* +Copyright 2012,2013 Jun Wako + +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_1065_ansi( + KC_F1, KC_F2, KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU, + KC_F3, KC_F4, 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_VOLD, + KC_F5, KC_F6, 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_MUTE, + KC_F7, KC_F8, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_MNXT, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), +}; diff --git a/keyboards/charue/sunsetter/keymaps/default_all/keymap.c b/keyboards/charue/sunsetter/keymaps/default_all/keymap.c new file mode 100644 index 000000000000..99ac800734c6 --- /dev/null +++ b/keyboards/charue/sunsetter/keymaps/default_all/keymap.c @@ -0,0 +1,26 @@ +/* +Copyright 2012,2013 Jun Wako + +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_F1, KC_F2, KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_VOLU, + KC_F3, KC_F4, 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_VOLD, + KC_F5, KC_F6, 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_ENT , KC_MUTE, + KC_F7, KC_F8, 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_MNXT, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), +}; diff --git a/keyboards/charue/sunsetter/keymaps/default_iso/keymap.c b/keyboards/charue/sunsetter/keymaps/default_iso/keymap.c new file mode 100644 index 000000000000..84b0a99e3597 --- /dev/null +++ b/keyboards/charue/sunsetter/keymaps/default_iso/keymap.c @@ -0,0 +1,26 @@ +/* +Copyright 2012,2013 Jun Wako + +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_1065_iso( + KC_F1, KC_F2, KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU, + KC_F3, KC_F4, 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_VOLD, + KC_F5, KC_F6, 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_MUTE, + KC_F7, KC_F8, 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_MNXT, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), +}; diff --git a/keyboards/charue/sunsetter/keymaps/via/keymap.c b/keyboards/charue/sunsetter/keymaps/via/keymap.c new file mode 100644 index 000000000000..ceba72e92f96 --- /dev/null +++ b/keyboards/charue/sunsetter/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +/* +Copyright 2012,2013 Jun Wako + +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_1065_ansi( + KC_F1, KC_F2, KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU, + KC_F3, KC_F4, 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_VOLD, + KC_F5, KC_F6, 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_MUTE, + KC_F7, KC_F8, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_MNXT, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT_1065_ansi( + KC_F1, KC_F2, KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU, + KC_F3, KC_F4, 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_VOLD, + KC_F5, KC_F6, 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_MUTE, + KC_F7, KC_F8, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_MNXT, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + [2] = LAYOUT_1065_ansi( + KC_F1, KC_F2, KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU, + KC_F3, KC_F4, 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_VOLD, + KC_F5, KC_F6, 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_MUTE, + KC_F7, KC_F8, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_MNXT, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + [3] = LAYOUT_1065_ansi( + KC_F1, KC_F2, KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU, + KC_F3, KC_F4, 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_VOLD, + KC_F5, KC_F6, 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_MUTE, + KC_F7, KC_F8, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_MNXT, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), +}; diff --git a/keyboards/charue/sunsetter/keymaps/via/rules.mk b/keyboards/charue/sunsetter/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/charue/sunsetter/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/charue/sunsetter/mcuconf.h b/keyboards/charue/sunsetter/mcuconf.h new file mode 100644 index 000000000000..ba981e4c051f --- /dev/null +++ b/keyboards/charue/sunsetter/mcuconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/charue/sunsetter/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_I2C_USE_DMA +#define STM32_I2C_USE_DMA FALSE + diff --git a/keyboards/charue/sunsetter/readme.md b/keyboards/charue/sunsetter/readme.md new file mode 100644 index 000000000000..84c0f3ed79ff --- /dev/null +++ b/keyboards/charue/sunsetter/readme.md @@ -0,0 +1,19 @@ +# Sunsetter + +![Sunsetter](https://i.imgur.com/tJRg8zt.png) + +A 65 + 10% F-Key Column Keyboard kit made and sold by Charue Design. [More info on charue-design.com](https://charue-design.com/) + +* Keyboard Maintainer: [Coarse](https://github.com/coarse) +* Hardware Supported: [Sunsetter PCB](https://charue-design.com/collections/sunsetter/products/sunsetter-pcb-extra) +* Hardware Availability: [Charue Design](https://charue-design.com/) + +#### Jumping to Bootloader + +To enter the bootloader, you may use bootmagic by holding `Space+B` or by holding the reset button located at the back of the PCB, right beside the left shift key, for a few seconds. + +Make example for this keyboard (after setting up your build environment): + + make charue/sunsetter: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). diff --git a/keyboards/charue/sunsetter/rules.mk b/keyboards/charue/sunsetter/rules.mk new file mode 100644 index 000000000000..51f82165bb00 --- /dev/null +++ b/keyboards/charue/sunsetter/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/charue/sunsetter/sunsetter.c b/keyboards/charue/sunsetter/sunsetter.c new file mode 100644 index 000000000000..4d1cdf4e80f6 --- /dev/null +++ b/keyboards/charue/sunsetter/sunsetter.c @@ -0,0 +1,18 @@ +/* +Copyright 2020 Michael Pio "Coarse" Mayol + +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 "sunsetter.h" diff --git a/keyboards/charue/sunsetter/sunsetter.h b/keyboards/charue/sunsetter/sunsetter.h new file mode 100644 index 000000000000..51dd26f4ec71 --- /dev/null +++ b/keyboards/charue/sunsetter/sunsetter.h @@ -0,0 +1,114 @@ +/* +Copyright 2020 Michael Pio "Coarse" Mayol + +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 "quantum.h" + +#define ____ KC_NO + +/* LAYOUT_all + * ┌───────┐ + * │016 │2u Backspace + * └───────┘ + * ┌───┬───┐┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │000│001││002│003│004│005│006│007│008│009│010│011│012│013│014│015│016│017│ + * ├───┼───┤├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ + * │100│101││102 │103│104│105│106│107│108│109│110│111│112│113│114│116 │117│ │ │ISO + * 2.25u ├───┼───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐216 │Enter + * LShift │200│201││202 │203│204│205│206│207│208│209│210│211│212│213│215 │217│ │214│ │ + * ┌────────┐ ├───┼───┤├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ + * │302 │ │300│301││302 │303│304│305│306│307│308│309│310│311│312│313│314 │316│317│ + * └────────┘ ├───┼───┤├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + * │400│401││402 │403 │404 │406 │408 │410 │412│413│414│415│416│417│ + * └───┴───┘└────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘ + * ┌────────────────────────┐ └───┬───┘ + * │ 408 │ (a) + * └────────────────────────┘ + * + * (a) Positions 413 and 414 are present on the PCB, but inaccessible when using the standard Sunsetter top case. + */ + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K116, K117, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, \ + K400, K401, K402, K403, K404, K406, K408, K410, K412, K413, K414, K415, K416, K417 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, ____, K116, K117 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, ____, K316, K317 }, \ + { K400, K401, K402, K403, K404, ____, K406, ____, K408, ____, K410, ____, K412, K413, K414, K415, K416, K417 } \ +} + +#define LAYOUT_1065_ansi( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K016, K017, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K116, K117, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, K217, \ + K300, K301, K302, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, \ + K400, K401, K402, K403, K404, K408, K412, K415, K416, K417 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, ____, K016, K017 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, ____, K116, K117 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215, ____, K217 }, \ + { K300, K301, K302, ____, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, ____, K316, K317 }, \ + { K400, K401, K402, K403, K404, ____, ____, ____, K408, ____, ____, ____, K412, ____, ____, K415, K416, K417 } \ +} + +#define LAYOUT_1065_ansi_split_bs( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K116, K117, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, K217, \ + K300, K301, K302, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, \ + K400, K401, K402, K403, K404, K408, K412, K415, K416, K417 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, ____, K116, K117 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215, ____, K217 }, \ + { K300, K301, K302, ____, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, ____, K316, K317 }, \ + { K400, K401, K402, K403, K404, ____, ____, ____, K408, ____, ____, ____, K412, ____, ____, K415, K416, K417 } \ +} + +#define LAYOUT_1065_iso( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K016, K017, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K117, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K216, K217, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, \ + K400, K401, K402, K403, K404, K408, K412, K415, K416, K417 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, ____, K016, K017 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, ____, ____, K117 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, ____, K216, K217 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, ____, K316, K317 }, \ + { K400, K401, K402, K403, K404, ____, ____, ____, K408, ____, ____, ____, K412, ____, ____, K415, K416, K417 } \ +} + +#define LAYOUT_1065_iso_split_bs( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K117, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K216, K217, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K316, K317, \ + K400, K401, K402, K403, K404, K408, K412, K415, K416, K417 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, ____, ____, K117 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, ____, K216, K217 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, ____, K316, K317 }, \ + { K400, K401, K402, K403, K404, ____, ____, ____, K408, ____, ____, ____, K412, ____, ____, K415, K416, K417 } \ +} diff --git a/keyboards/chavdai40/bootloader_defs.h b/keyboards/chavdai40/bootloader_defs.h deleted file mode 100644 index 6b218f7bd34b..000000000000 --- a/keyboards/chavdai40/bootloader_defs.h +++ /dev/null @@ -1,5 +0,0 @@ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFC400 \ No newline at end of file diff --git a/keyboards/chavdai40/rev1/rules.mk b/keyboards/chavdai40/rev1/rules.mk index 64c6f662af8e..46fec5dd9ec5 100644 --- a/keyboards/chavdai40/rev1/rules.mk +++ b/keyboards/chavdai40/rev1/rules.mk @@ -1,9 +1,12 @@ # MCU name MCU = STM32F042 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -15,4 +18,4 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output \ No newline at end of file +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/chavdai40/rev2/rules.mk b/keyboards/chavdai40/rev2/rules.mk index 64c6f662af8e..46fec5dd9ec5 100644 --- a/keyboards/chavdai40/rev2/rules.mk +++ b/keyboards/chavdai40/rev2/rules.mk @@ -1,9 +1,12 @@ # MCU name MCU = STM32F042 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -15,4 +18,4 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output \ No newline at end of file +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/checkerboards/axon40/axon40.c b/keyboards/checkerboards/axon40/axon40.c new file mode 100644 index 000000000000..a18e99cfabd2 --- /dev/null +++ b/keyboards/checkerboards/axon40/axon40.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Nathan Spears +* +* 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 "axon40.h" diff --git a/keyboards/checkerboards/axon40/axon40.h b/keyboards/checkerboards/axon40/axon40.h new file mode 100644 index 000000000000..fc0c0b1df18e --- /dev/null +++ b/keyboards/checkerboards/axon40/axon40.h @@ -0,0 +1,33 @@ +/* Copyright 2021 Nathan Spears + * + * 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 "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \ + K300, K301, K302, K303, K304, K305 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211 }, \ + { XXX, K300, K301, XXX, K302, XXX, XXX, K303, XXX, K304, K305, XXX } \ +} diff --git a/keyboards/checkerboards/axon40/config.h b/keyboards/checkerboards/axon40/config.h new file mode 100644 index 000000000000..f2deb4ad8367 --- /dev/null +++ b/keyboards/checkerboards/axon40/config.h @@ -0,0 +1,56 @@ +/* Copyright 2021 Nathan Spears + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7070 +#define PRODUCT_ID 0x1119 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Nasp +#define PRODUCT Axon40 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D2, D3, D1, D5 } +#define MATRIX_COL_PINS { C7, B7, D4, D6, F0, F1, C6, B6, B5, B4, E6, B0 } + +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define RGB_DI_PIN D7 +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 29 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 290 diff --git a/keyboards/checkerboards/axon40/info.json b/keyboards/checkerboards/axon40/info.json new file mode 100644 index 000000000000..e0a3fb8b212f --- /dev/null +++ b/keyboards/checkerboards/axon40/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "Axon40", + "url": "", + "maintainer": "nasp", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":1, "y":3}, {"x":2, "y":3, "w":1.5}, {"x":3.5, "y":3, "w":2.25}, {"x":5.75, "y":3, "w":2.75}, {"x":8.5, "y":3, "w":1.5}, {"x":10, "y":3}] + } + } +} diff --git a/keyboards/checkerboards/axon40/keymaps/default/config.h b/keyboards/checkerboards/axon40/keymaps/default/config.h new file mode 100644 index 000000000000..6d6bb8ea3902 --- /dev/null +++ b/keyboards/checkerboards/axon40/keymaps/default/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 +#define TAPPING_TERM 200 diff --git a/keyboards/checkerboards/axon40/keymaps/default/keymap.c b/keyboards/checkerboards/axon40/keymaps/default/keymap.c new file mode 100644 index 000000000000..93c801ae7839 --- /dev/null +++ b/keyboards/checkerboards/axon40/keymaps/default/keymap.c @@ -0,0 +1,86 @@ +/* Copyright 2021 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Ctrl | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | OS | Alt | Layer | Space | Alt | Caps | | + * `-----------------------------------------------------------------------------------' + */ +[0] = LAYOUT_all( \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + CTL_T(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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_RALT, KC_CAPS \ +), + +/* 1 +* ,---------------------------------------------------------------------------------------. +* |------------+------+------+------+------+------+------+------+------+------+------+----| +* | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | +* |------------+------+------+------+------+-------------+------+------+------+------+----| +* | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | +* |------------+------+------+------+------+------|------+------+------+------+------+----| +* | | | | | | | | + | = | | | | +* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| +* | | CTRL-ALT-DEL | TASK | | Space | ' | ` | | +* `---------------------------------------------------------------------------------------' + */ + +[1] = LAYOUT_all( \ + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, \ + CALTDEL, TSKMGR, _______, KC_SPC, KC_NUBS, KC_GRV \ +), + +/* 2 +* ,--------------------------------------------------------------------------------------. +* |------------+------+------+------+------+------+------+------+------+------+------+---| +* | | | | UP | | | | _ | | [ | ] | | +* |------------+------+------+------+------+-------------+------+------+------+------+---| +* | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | +* |------------+------+------+------+------+-----+-----+------+------+------+------+-----| +* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | +* |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| +* | | RESET | RGB | | | RGB Mod | RGB Mod Rev | | +* `---------------------------------------------------------------------------------------' +*/ + +[2] = LAYOUT_all( \ + RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, \ + RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, \ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ + RESET, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD \ +), + +}; diff --git a/keyboards/checkerboards/axon40/keymaps/default/readme.md b/keyboards/checkerboards/axon40/keymaps/default/readme.md new file mode 100644 index 000000000000..4bab3a595c1c --- /dev/null +++ b/keyboards/checkerboards/axon40/keymaps/default/readme.md @@ -0,0 +1,2 @@ +# The Default Axon40 Layout + diff --git a/keyboards/checkerboards/axon40/keymaps/npspears/config.h b/keyboards/checkerboards/axon40/keymaps/npspears/config.h new file mode 100644 index 000000000000..6d6bb8ea3902 --- /dev/null +++ b/keyboards/checkerboards/axon40/keymaps/npspears/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 +#define TAPPING_TERM 200 diff --git a/keyboards/checkerboards/axon40/keymaps/npspears/keymap.c b/keyboards/checkerboards/axon40/keymaps/npspears/keymap.c new file mode 100644 index 000000000000..f8fed200e811 --- /dev/null +++ b/keyboards/checkerboards/axon40/keymaps/npspears/keymap.c @@ -0,0 +1,85 @@ +/* Copyright 2015-2017 Jack Humbert + * Modified by Nasp for the Orbit40 + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Ctrl | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | OS | Alt | Layer | Space | Alt | RGB | Super | + * `-----------------------------------------------------------------------------------' + */ +[0] = LAYOUT_all( \ + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \ + CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \ + KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_RALT, KC_CAPS \ +), + +/* 1 + * ,-----------------------------------------------------------------------------------. + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[1] = LAYOUT_all( \ + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, \ + CALTDEL, TSKMGR, _______, KC_SPC, KC_NUBS, KC_GRV \ +), + +/* 2 + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | " | , | . | P | Y | F | G | C | R | L | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[2] = LAYOUT_all( \ + RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, \ + RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, \ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ + RESET, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD \ +), + +}; diff --git a/keyboards/checkerboards/axon40/keymaps/via/keymap.c b/keyboards/checkerboards/axon40/keymaps/via/keymap.c new file mode 100644 index 000000000000..24be3f64f5ad --- /dev/null +++ b/keyboards/checkerboards/axon40/keymaps/via/keymap.c @@ -0,0 +1,109 @@ +/* Copyright 2021 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Ctrl | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | OS | Alt | Layer | Space | Alt | RGB | Super | + * `-----------------------------------------------------------------------------------' + */ + +[0] = LAYOUT_all( \ + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, \ + CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \ + KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_RALT, KC_CAPS \ +), + +/* 1 + * ,-----------------------------------------------------------------------------------. + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + +[1] = LAYOUT_all( \ + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______, \ + CALTDEL, TSKMGR, _______, KC_SPC, KC_NUBS, KC_GRV \ +), + +/* 2 + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | " | , | . | P | Y | F | G | C | R | L | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + +[2] = LAYOUT_all( \ + RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, \ + RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, \ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ + RESET, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD \ +), + +/* 2 + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | " | , | . | P | Y | F | G | C | R | L | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | / | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ + +[3] = LAYOUT_all( \ + RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, \ + RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, \ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ + RESET, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD \ +), + +}; diff --git a/keyboards/checkerboards/axon40/keymaps/via/rules.mk b/keyboards/checkerboards/axon40/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/checkerboards/axon40/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/checkerboards/axon40/readme.md b/keyboards/checkerboards/axon40/readme.md new file mode 100644 index 000000000000..2797afa141f8 --- /dev/null +++ b/keyboards/checkerboards/axon40/readme.md @@ -0,0 +1,15 @@ +# Axon40 + +The Axon40 PCB is a modified layout for the Neuron ortho. It's ortho but with a bottom row with larger than 1u keys. + +- Keyboard Maintainer: Nasp +- Hardware Supported: Axon40 +- Hardware Availability: www.CheckerBoards.xyz + +Make example for this keyboard (after setting up your build environment): + + make checkerboards/axon40:default + +Enter the bootloader by shorting GND and RESET between switches 37 and 38. + +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/checkerboards/axon40/rules.mk b/keyboards/checkerboards/axon40/rules.mk new file mode 100644 index 000000000000..6c439375728e --- /dev/null +++ b/keyboards/checkerboards/axon40/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/checkerboards/candybar_ortho/candybar_ortho.c b/keyboards/checkerboards/candybar_ortho/candybar_ortho.c new file mode 100644 index 000000000000..8f127cd36e84 --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/candybar_ortho.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Nathan Spears +* +* 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 "candybar_ortho.h" diff --git a/keyboards/checkerboards/candybar_ortho/candybar_ortho.h b/keyboards/checkerboards/candybar_ortho/candybar_ortho.h new file mode 100644 index 000000000000..692024ff20c3 --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/candybar_ortho.h @@ -0,0 +1,67 @@ +/* Copyright 2021 Nathan Spears + * + * 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 "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_grid( \ + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, k28, \ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k47, k57, k48, \ + k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k76, k67, k77, k68 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k08 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k28 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, XXX }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k48 }, \ + { k60, k61, k62, k63, k64, k65, k66, k67, XXX }, \ + { k70, k71, k72, k73, k74, k75, k76, k77, k68 } \ +} +#define LAYOUT_2x3u( \ + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, k28, \ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k47, k57, k48, \ + k60, k70, k61, k71, k72, k73, k64, k74, k75, k76, k67, k77, k68 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k08 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k28 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, XXX }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k48 }, \ + { k60, k61, XXX, XXX, k64, XXX, XXX, k67, XXX }, \ + { k70, k71, k72, k73, k74, k75, k76, k77, k68 } \ +} +#define LAYOUT_7u( \ + k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k07, k17, k08, \ + k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, k28, \ + k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k47, k57, k48, \ + k60, k70, k61, k71, k62, k64, k66, k76, k67, k77, k68 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k08 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k28 }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, XXX }, \ + { k50, k51, k52, k53, k54, k55, k56, k57, k48 }, \ + { k60, k61, k62, XXX, k64, XXX, k66, k67, XXX }, \ + { k70, k71, XXX, XXX, XXX, XXX, k76, k77, k68 } \ +} diff --git a/keyboards/checkerboards/candybar_ortho/config.h b/keyboards/checkerboards/candybar_ortho/config.h new file mode 100644 index 000000000000..df83da61dfae --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/config.h @@ -0,0 +1,55 @@ +/* Copyright 2021 Nathan Spears + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7070 +#define PRODUCT_ID 0x3215 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Nasp +#define PRODUCT CandyBar Ortho + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 9 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B4, D4, D7, D6, B5, B6, C7, C6 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D0, D1, D2 } + +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define RGB_DI_PIN B7 +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 18 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/checkerboards/candybar_ortho/info.json b/keyboards/checkerboards/candybar_ortho/info.json new file mode 100644 index 000000000000..2ec898cbb0af --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/info.json @@ -0,0 +1,18 @@ +{ + "keyboard_name": "CandyBar_Ortho", + "url": "", + "maintainer": "nasp", + "width": 17, + "height": 4, + "layouts": { + "LAYOUT_grid": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"label":"Y", "x":11, "y":0}, {"label":"U", "x":12, "y":0}, {"label":"I", "x":13, "y":0}, {"label":"O", "x":14, "y":0}, {"label":"P", "x":15, "y":0}, {"label":"Back Space", "x":16, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"x":10, "y":1}, {"label":"H", "x":11, "y":1}, {"label":"J", "x":12, "y":1}, {"label":"K", "x":13, "y":1}, {"label":"L", "x":14, "y":1}, {"label":";", "x":15, "y":1}, {"label":"'", "x":16, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"label":"N", "x":11, "y":2}, {"label":"M", "x":12, "y":2}, {"label":",", "x":13, "y":2}, {"label":".", "x":14, "y":2}, {"label":"/", "x":15, "y":2}, {"label":"Return", "x":16, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"label":"8", "x":7, "y":3}, {"x":8, "y":3}, {"label":"10", "x":9, "y":3}, {"label":"11", "x":10, "y":3}, {"label":"12", "x":11, "y":3}, {"label":"⇑", "x":12, "y":3}, {"label":"←", "x":13, "y":3}, {"label":"15", "x":14, "y":3}, {"label":"↑", "x":15, "y":3}, {"label":"→", "x":16, "y":3}] + }, + "LAYOUT_2x3u": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"label":"Y", "x":11, "y":0}, {"label":"U", "x":12, "y":0}, {"label":"I", "x":13, "y":0}, {"label":"O", "x":14, "y":0}, {"label":"P", "x":15, "y":0}, {"label":"Back Space", "x":16, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"x":10, "y":1}, {"label":"H", "x":11, "y":1}, {"label":"J", "x":12, "y":1}, {"label":"K", "x":13, "y":1}, {"label":"L", "x":14, "y":1}, {"label":";", "x":15, "y":1}, {"label":"'", "x":16, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"label":"N", "x":11, "y":2}, {"label":"M", "x":12, "y":2}, {"label":",", "x":13, "y":2}, {"label":".", "x":14, "y":2}, {"label":"/", "x":15, "y":2}, {"label":"Return", "x":16, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3, "w":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3, "w":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":16, "y":3}] + }, + "LAYOUT_7u": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"label":"Y", "x":11, "y":0}, {"label":"U", "x":12, "y":0}, {"label":"I", "x":13, "y":0}, {"label":"O", "x":14, "y":0}, {"label":"P", "x":15, "y":0}, {"label":"Back Space", "x":16, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"x":6, "y":1}, {"label":"7", "x":7, "y":1}, {"label":"8", "x":8, "y":1}, {"label":"9", "x":9, "y":1}, {"x":10, "y":1}, {"label":"H", "x":11, "y":1}, {"label":"J", "x":12, "y":1}, {"label":"K", "x":13, "y":1}, {"label":"L", "x":14, "y":1}, {"label":";", "x":15, "y":1}, {"label":"'", "x":16, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"label":"N", "x":11, "y":2}, {"label":"M", "x":12, "y":2}, {"label":",", "x":13, "y":2}, {"label":".", "x":14, "y":2}, {"label":"/", "x":15, "y":2}, {"label":"Return", "x":16, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3, "w":7}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":16, "y":3}] + } + } +} diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/config.h b/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/config.h new file mode 100644 index 000000000000..6d6bb8ea3902 --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 +#define TAPPING_TERM 200 diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c new file mode 100644 index 000000000000..615257c8828c --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c @@ -0,0 +1,83 @@ +/* Copyright 2021 Nathan Spears + * + * 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.s + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + + +// Defines for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* 0 + * .----------------------------------------------------------------------------------------------------------------------. + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | Home | Tab | Q | W | E | R | T | N7 | N8 | N9 | NLCK | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | PgUp |C(ESC)| A | S | D | F | G | N4 | N5 | N6 | + | H | J | K | L | '" | ;: | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | PgDn |Shift | Z | X | C | V | B | N1 | N2 | N3 | - | N | M | , | . | ? | Ent | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | Grv | L-OS | LAlt | RGB | Lay1-TT | NO | Dot | / | Spac(Lay2) | RALT |RCTRL |C.A.D.| Caps | + * '----------------------------------------------------------------------------------------------------------------------' + */ +[0] = LAYOUT_2x3u( + KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_NLCK, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_PGUP, CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_PGDN, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_GRV, KC_LGUI, KC_LALT, RGB_TOG, TT(1), KC_P0, KC_PDOT, KC_BSLS, LT(2, KC_SPC), KC_RALT, KC_RCTRL, CALTDEL, KC_CAPS +), + +/* 1 + * .----------------------------------------------------------------------------------------------------------------------. + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | ~ | | ! | @ | # | $ | % | | | | | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | \ | | 1 | 2 | 3 | 4 | 5 | | | | | 6 | 7 | 8 | 9 | 0 | / | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + | = | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * |C.A.D.| TMGR | | | | | | | | | SPC | | | ` | + * '----------------------------------------------------------------------------------------------------------------------' + */ +[1] = LAYOUT_2x3u( + KC_TILD, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + CALTDEL, TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, KC_SPC, KC_NUBS, KC_GRV +), + +/* 2 + * .----------------------------------------------------------------------------------------------------------------------. + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | RHUI | RSAI | | | UP | | | | | | | | _ | | ( | ) | RVAI | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | RHUD | RSAD | | LEFT | DOWN |RIGHT | | | | | | | - | | [ | ] | RVAD | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | | | F1 | F2 | F3 | F4 | F5 | | | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * |RESET | RTOG | | | | | | | | | | RMOD |RRMOD | + * '----------------------------------------------------------------------------------------------------------------------' + */ +[2] = LAYOUT_2x3u( + RGB_HUI, RGB_SAI, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, + RGB_HUD, RGB_SAD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, + _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + RESET, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD +), +}; diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/7u/config.h b/keyboards/checkerboards/candybar_ortho/keymaps/7u/config.h new file mode 100644 index 000000000000..6d6bb8ea3902 --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/7u/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 +#define TAPPING_TERM 200 diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c new file mode 100644 index 000000000000..e76ffa1c3cb8 --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c @@ -0,0 +1,83 @@ +/* Copyright 2021 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* 0 +* .----------------------------------------------------------------------------------------------------------------------. +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | Tab | Q | W | E | R | T | NLCK | N7 | N8 | N9 | HOME | Y | U | I | O | P | Bksp | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* |C(ESC)| A | S | D | F | G | INS | N4 | N5 | N6 | PgUp | H | J | K | L | '" | ;: | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* |Shift | Z | X | C | V | B | DEL | N1 | N2 | N3 | PgDn | N | M | , | . | ? | Ent | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | LCTRL| LOS | LALT | / | ` | Spac(Lay2) | = | RALT |RCTRL | Caps |RESET | +* '----------------------------------------------------------------------------------------------------------------------' +*/ +[0] = LAYOUT_7u( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_HOME, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_INS, KC_P4, KC_P5, KC_P6, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_P1, KC_P2, KC_P3, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_LCTRL, KC_LGUI, KC_LALT, KC_BSLS, KC_GRV, LT(2, KC_SPC), KC_EQL, KC_RALT, KC_RCTRL, KC_CAPS, RESET +), + +/* 1 + * .----------------------------------------------------------------------------------------------------------------------. + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | | | | | | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | \ | 1 | 2 | 3 | 4 | 5 | | | | | 6 | 7 | 8 | 9 | 0 | / | | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + | = | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * |C.A.D.|TSMGR | | | | | | | SPC | | | ` | + * '----------------------------------------------------------------------------------------------------------------------' + */ +[1] = LAYOUT_7u( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, + CALTDEL, TSKMGR, _______, _______, _______, _______, _______, _______, KC_SPC, KC_NUBS, KC_GRV +), + +/* 2 +* .----------------------------------------------------------------------------------------------------------------------. +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | RHUI | RSAI | | | UP | | | | | | | | _ | | ( | ) | RVAI | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | RHUD | RSAD | | LEFT | DOWN |RIGHT | | | | | | | - | | [ | ] | RVAD | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* |RESET | RTOG | | | | | | | | RMOD |RRMOD | +* '----------------------------------------------------------------------------------------------------------------------' +*/ +[2] = LAYOUT_7u( + RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, + RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + RESET, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD +), +}; diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/default/config.h b/keyboards/checkerboards/candybar_ortho/keymaps/default/config.h new file mode 100644 index 000000000000..6d6bb8ea3902 --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/default/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 +#define TAPPING_TERM 200 diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c new file mode 100644 index 000000000000..ff3d6afe6c4d --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c @@ -0,0 +1,83 @@ +/* Copyright 2021 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty +* .-----------------------------------------------------------------------------------------------------------------------. +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* | Tab | Q | W | E | R | T | NLCK | N7 | N8 | N9 | HOME | Y | U | I | O | P | Bksp | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* |C(ESC)| A | S | D | F | G | INS | N4 | N5 | N6 | PgUp | H | J | K | L | '" | ;: | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* |Shift | Z | X | C | V | B | DEL | N1 | N2 | N3 | PgDn | N | M | , | . | ? | Ent | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* | LCTRL| LOS | LALT | / | ` | - | = | [ |TT(1) |LT(SPC)| ] | MENU | RALT | ROS |RCTRL | CAPS |RESET | +* '-----------------------------------------------------------------------------------------------------------------------' +*/ +[0] = LAYOUT_grid( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_HOME, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_INS, KC_P4, KC_P5, KC_P6, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_P1, KC_P2, KC_P3, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_LCTRL, KC_LGUI, KC_LALT, KC_BSLS, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, TT(1), LT(2, KC_SPC), KC_RBRC, KC_MENU, KC_RALT, KC_RGUI, KC_RCTRL, KC_CAPS, RESET +), + +/* 1 +* .-----------------------------------------------------------------------------------------------------------------------. +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* | ~ | ! | @ | # | $ | % | | | | | | ^ | & | * | ( | ) | Bksp | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* | \ | 1 | 2 | 3 | 4 | 5 | | | | | 6 | 7 | 8 | 9 | 0 | / | | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* | | | | | | | | | | | | | | | + | = | | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* |C.A.D.|TSKMGR| | | | | | | | | | | | | SPC | | | ` | +* '-----------------------------------------------------------------------------------------------------------------------' +*/ +[1] = LAYOUT_grid( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, + CALTDEL, TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SPC, KC_NUBS, KC_GRV +), + +/* 2 +* .----------------------------------------------------------------------------------------------------------------------. +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | RHUI | RSAI | | | UP | | | | | | | | _ | | ( | ) | RVAI | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | RHUD | RSAD | | LEFT | DOWN |RIGHT | | | | | | | - | | [ | ] | RVAD | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* |RESET | RTOG | | | | | | | | | | | | | | RMOD |RRMOD | +* '----------------------------------------------------------------------------------------------------------------------' +*/ +[2] = LAYOUT_grid( + RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, + RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + RESET, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD +), +}; diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/default/readme.md b/keyboards/checkerboards/candybar_ortho/keymaps/default/readme.md new file mode 100644 index 000000000000..9ee103b70965 --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/default/readme.md @@ -0,0 +1,2 @@ +# The Default Candybar_Ortho Layout + diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/via/config.h b/keyboards/checkerboards/candybar_ortho/keymaps/via/config.h new file mode 100644 index 000000000000..6d6bb8ea3902 --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/via/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 +#define TAPPING_TERM 200 diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c new file mode 100644 index 000000000000..ff3d6afe6c4d --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c @@ -0,0 +1,83 @@ +/* Copyright 2021 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty +* .-----------------------------------------------------------------------------------------------------------------------. +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* | Tab | Q | W | E | R | T | NLCK | N7 | N8 | N9 | HOME | Y | U | I | O | P | Bksp | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* |C(ESC)| A | S | D | F | G | INS | N4 | N5 | N6 | PgUp | H | J | K | L | '" | ;: | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* |Shift | Z | X | C | V | B | DEL | N1 | N2 | N3 | PgDn | N | M | , | . | ? | Ent | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* | LCTRL| LOS | LALT | / | ` | - | = | [ |TT(1) |LT(SPC)| ] | MENU | RALT | ROS |RCTRL | CAPS |RESET | +* '-----------------------------------------------------------------------------------------------------------------------' +*/ +[0] = LAYOUT_grid( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_HOME, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_INS, KC_P4, KC_P5, KC_P6, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_P1, KC_P2, KC_P3, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_LCTRL, KC_LGUI, KC_LALT, KC_BSLS, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, TT(1), LT(2, KC_SPC), KC_RBRC, KC_MENU, KC_RALT, KC_RGUI, KC_RCTRL, KC_CAPS, RESET +), + +/* 1 +* .-----------------------------------------------------------------------------------------------------------------------. +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* | ~ | ! | @ | # | $ | % | | | | | | ^ | & | * | ( | ) | Bksp | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* | \ | 1 | 2 | 3 | 4 | 5 | | | | | 6 | 7 | 8 | 9 | 0 | / | | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* | | | | | | | | | | | | | | | + | = | | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------| +* |C.A.D.|TSKMGR| | | | | | | | | | | | | SPC | | | ` | +* '-----------------------------------------------------------------------------------------------------------------------' +*/ +[1] = LAYOUT_grid( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, + CALTDEL, TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SPC, KC_NUBS, KC_GRV +), + +/* 2 +* .----------------------------------------------------------------------------------------------------------------------. +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | RHUI | RSAI | | | UP | | | | | | | | _ | | ( | ) | RVAI | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | RHUD | RSAD | | LEFT | DOWN |RIGHT | | | | | | | - | | [ | ] | RVAD | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | +* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| +* |RESET | RTOG | | | | | | | | | | | | | | RMOD |RRMOD | +* '----------------------------------------------------------------------------------------------------------------------' +*/ +[2] = LAYOUT_grid( + RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI, + RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + RESET, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD +), +}; diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/via/readme.md b/keyboards/checkerboards/candybar_ortho/keymaps/via/readme.md new file mode 100644 index 000000000000..16ffb72e72fc --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/via/readme.md @@ -0,0 +1,2 @@ +# Keymap for VIA + diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/via/rules.mk b/keyboards/checkerboards/candybar_ortho/keymaps/via/rules.mk new file mode 100644 index 000000000000..16d33cd89fe4 --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes + diff --git a/keyboards/checkerboards/candybar_ortho/readme.md b/keyboards/checkerboards/candybar_ortho/readme.md new file mode 100644 index 000000000000..c92db470550a --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/readme.md @@ -0,0 +1,13 @@ +# CandyBar_Ortho + +The CandyBar Ortho PCB is a drop-in replacement PCB with an ortho layout for the CandyBar by TheKey.Company. + +* Keyboard Maintainer: Nasp +* Hardware Supported: CandyBar +* Hardware Availability: https://www.checkerboards.xyz/candybar-ortho-prototype-pcb-and-fr4-plate.html + +Make example for this keyboard (after setting up your build environment): + + make checkerboards/candybar_ortho: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). diff --git a/keyboards/checkerboards/candybar_ortho/rules.mk b/keyboards/checkerboards/candybar_ortho/rules.mk new file mode 100644 index 000000000000..048738b24d27 --- /dev/null +++ b/keyboards/checkerboards/candybar_ortho/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/checkerboards/g_idb60/config.h b/keyboards/checkerboards/g_idb60/config.h new file mode 100644 index 000000000000..996097d5a877 --- /dev/null +++ b/keyboards/checkerboards/g_idb60/config.h @@ -0,0 +1,48 @@ + /* +Copyright 2021 Nathan Spears + + 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7070 +#define PRODUCT_ID 0x3508 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Nasp +#define PRODUCT G_IDB60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D6, D7, B4, B5, F7 } +#define MATRIX_COL_PINS { B6, C6, C7, D4, F6, F0, B0, F1, F4, F5, D1, D0, D3, D5 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/checkerboards/g_idb60/g_idb60.c b/keyboards/checkerboards/g_idb60/g_idb60.c new file mode 100644 index 000000000000..d09f2dbb2048 --- /dev/null +++ b/keyboards/checkerboards/g_idb60/g_idb60.c @@ -0,0 +1,18 @@ + /* + Copyright 2021 Nathan Spears + + 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 "g_idb60.h" diff --git a/keyboards/checkerboards/g_idb60/g_idb60.h b/keyboards/checkerboards/g_idb60/g_idb60.h new file mode 100644 index 000000000000..d471c6a775c2 --- /dev/null +++ b/keyboards/checkerboards/g_idb60/g_idb60.h @@ -0,0 +1,36 @@ + /* + Copyright 2021 Nathan Spears + + 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 "quantum.h" + +#define xxx KC_NO + +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k2D, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \ + k40, k41, k42, k43, k44, k45, k46 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, xxx }, \ + { k40, k41, k42, xxx, xxx, xxx, k43, xxx, xxx, xxx, k44, k45, k46, xxx } \ +} diff --git a/keyboards/checkerboards/g_idb60/info.json b/keyboards/checkerboards/g_idb60/info.json new file mode 100644 index 000000000000..4988376fd55b --- /dev/null +++ b/keyboards/checkerboards/g_idb60/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "g_idb60", + "url": "", + "maintainer": "nasp", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"~", "x":13, "y":0}, {"label":"Bksp", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}] + } + } +} diff --git a/keyboards/checkerboards/g_idb60/keymaps/default/config.h b/keyboards/checkerboards/g_idb60/keymaps/default/config.h new file mode 100644 index 000000000000..7012e9a7e650 --- /dev/null +++ b/keyboards/checkerboards/g_idb60/keymaps/default/config.h @@ -0,0 +1,24 @@ + /* + Copyright 2021 Nathan Spears + + 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 TAPPING_TERM 175 + +#define PERMISSIVE_HOLD + +#define MOD_TAP_INTERUPT diff --git a/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c b/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c new file mode 100644 index 000000000000..730b2597b1b9 --- /dev/null +++ b/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c @@ -0,0 +1,85 @@ + /* + Copyright 2021 Nathan Spears + + 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 + + +#define RS_SLS RSFT_T(KC_SLSH) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Default QWERTY layer + * ,-------------------------------------------------------------. + * |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ |Del| + * |-------------------------------------------------------------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | + * |-------------------------------------------------------------| + * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-------------------------------------------------------------| + * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | FN | + * |-------------------------------------------------------------| + * |Ctrl |GUI |Alt | Space |Alt |GUI |Ctrl | + * `-------------------------------------------------------------' + */ + [0] = LAYOUT_all( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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_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, TT(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + /* Main Numbers, Symbols & Function Layer + * ,------------------------------------------------------------------------------. + * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Del | | + * |------------------------------------------------------------------------------| + * |RTOG |RMOD| UP | | | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BRTHE |LFT|DWN|RGHT| | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BINC |BDEC|BTOG| | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * | | | | | | |RESET | + * `------------------------------------------------------------------------------' + */ + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______,_______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET + ), + + /* Main Numbers, Symbols & Function Layer + * ,------------------------------------------------------------------------------. + * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Del | | + * |------------------------------------------------------------------------------| + * |RTOG |RMOD| UP | | | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BRTHE |LFT|DWN|RGHT| | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BINC |BDEC|BTOG| | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * | | | | | | |RESET | + * `------------------------------------------------------------------------------' + */ + [2] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______,_______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET + ) +}; diff --git a/keyboards/checkerboards/g_idb60/keymaps/via/config.h b/keyboards/checkerboards/g_idb60/keymaps/via/config.h new file mode 100644 index 000000000000..e862c2548397 --- /dev/null +++ b/keyboards/checkerboards/g_idb60/keymaps/via/config.h @@ -0,0 +1,22 @@ + /* + Copyright 2021 Nathan Spears + + 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 TAPPING_TERM 175 + +#define TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/g_idb60/keymaps/via/keymap.c b/keyboards/checkerboards/g_idb60/keymaps/via/keymap.c new file mode 100644 index 000000000000..cd6c10c7e0ea --- /dev/null +++ b/keyboards/checkerboards/g_idb60/keymaps/via/keymap.c @@ -0,0 +1,85 @@ + /* + Copyright 2021 Nathan Spears + + 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 + + +#define RS_SLS RSFT_T(KC_SLSH) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Default QWERTY layer + * ,-------------------------------------------------------------. + * |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ |Del| + * |-------------------------------------------------------------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | + * |-------------------------------------------------------------| + * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-------------------------------------------------------------| + * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | FN | + * |-------------------------------------------------------------| + * |Ctrl |GUI |Alt | Space |Alt |GUI |Ctrl | + * `-------------------------------------------------------------' + */ + [0] = LAYOUT_all( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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_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, TT(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + /* Main Numbers, Symbols & Function Layer + * ,------------------------------------------------------------------------------. + * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Del | | + * |------------------------------------------------------------------------------| + * |RTOG |RMOD| UP | | | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BRTHE |LFT|DWN|RGHT| | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BINC |BDEC|BTOG| | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * | | | | | | |RESET | + * `------------------------------------------------------------------------------' + */ + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET + ), + + /* Main Numbers, Symbols & Function Layer + * ,------------------------------------------------------------------------------. + * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Del | | + * |------------------------------------------------------------------------------| + * |RTOG |RMOD| UP | | | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BRTHE |LFT|DWN|RGHT| | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BINC |BDEC|BTOG| | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * | | | | | | |RESET | + * `------------------------------------------------------------------------------' + */ + [2] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET + ) +}; diff --git a/keyboards/checkerboards/g_idb60/keymaps/via/rules.mk b/keyboards/checkerboards/g_idb60/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/checkerboards/g_idb60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/checkerboards/g_idb60/readme.md b/keyboards/checkerboards/g_idb60/readme.md new file mode 100644 index 000000000000..19d2dc83718b --- /dev/null +++ b/keyboards/checkerboards/g_idb60/readme.md @@ -0,0 +1,15 @@ +# G-IDB60 + +60% drop-in PCB for IDB60 feauturing Tsangan bottom row, split right shift, and split backspace. + +- Keyboard Maintainer: [Nasp](https://github.com/npspears) +- Hardware Supported: G-IDB60 PCB +- Hardware Availability: https://www.checkerboards.xyz/gidb60.html + +Make example for this keyboard (after setting up your build environment): + + make checkerboards/g_idb60:default + +Enter the bootloader by shorting RESET and GND next to the spacebar switch. + +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/checkerboards/g_idb60/rules.mk b/keyboards/checkerboards/g_idb60/rules.mk new file mode 100644 index 000000000000..c98974abafc2 --- /dev/null +++ b/keyboards/checkerboards/g_idb60/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/checkerboards/nop60/config.h b/keyboards/checkerboards/nop60/config.h new file mode 100644 index 000000000000..784594df7c94 --- /dev/null +++ b/keyboards/checkerboards/nop60/config.h @@ -0,0 +1,64 @@ + /* +Copyright 2021 Nathan Spears + + 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7070 +#define PRODUCT_ID 0x1416 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Nasp +#define PRODUCT NOP60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { F0, F1, E6, B7, C6 } +#define MATRIX_COL_PINS { F6, F5, F4, D0, D7, D3, D4, D5, D6, F7, C7, B4, B6, B5 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Switch LED Backlighting */ +#define BACKLIGHT_PIN D1 +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_LEVELS 6 +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 6 + +// ws2812 options +#define RGB_DI_PIN D2 // pin the DI on the ws2812 is hooked-up to +#define RGBLIGHT_ANIMATIONS // run RGB animations +#define RGBLED_NUM 14 // number of LEDs +#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue +#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation +#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) + + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/checkerboards/nop60/info.json b/keyboards/checkerboards/nop60/info.json new file mode 100644 index 000000000000..b8d081c2622e --- /dev/null +++ b/keyboards/checkerboards/nop60/info.json @@ -0,0 +1,155 @@ +{ + "keyboard_name": "nop60", + "maintainer": "nasp", + "height": 5, + "width": 15, + "url": "", + "layout_aliases": { + "LAYOUT_2x3u": "LAYOUT_60_tsangan_hhkb_split_space", + "LAYOUT_7u": "LAYOUT_60_tsangan_hhkb" + }, + "layouts": { + "LAYOUT_60_tsangan_hhkb_split_space": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"~", "x":13, "y":0}, + {"label":"Bksp", "x":14, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Fn", "x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":3}, + {"x":7, "y":4}, + {"x":8, "y":4, "w":3}, + {"label":"Alt", "x":11, "y":4, "w":1.5}, + {"label":"Win", "x":12.5, "y":4}, + {"label":"Ctrl", "x":13.5, "y":4, "w":1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"~", "x":13, "y":0}, + {"label":"Bksp", "x":14, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Fn", "x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"label":"Alt", "x":11, "y":4, "w":1.5}, + {"label":"Win", "x":12.5, "y":4}, + {"label":"Ctrl", "x":13.5, "y":4, "w":1.5} + ] + } + } +} diff --git a/keyboards/checkerboards/nop60/keymaps/7u/config.h b/keyboards/checkerboards/nop60/keymaps/7u/config.h new file mode 100644 index 000000000000..faba80d278f8 --- /dev/null +++ b/keyboards/checkerboards/nop60/keymaps/7u/config.h @@ -0,0 +1,25 @@ + /* + Copyright 2020 Alec Penland + Copyright 2020 Garret Gartner + + 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 TAPPING_TERM 175 + +#define PERMISSIVE_HOLD + +#define MOD_TAP_INTERUPT diff --git a/keyboards/checkerboards/nop60/keymaps/7u/keymap.c b/keyboards/checkerboards/nop60/keymaps/7u/keymap.c new file mode 100644 index 000000000000..61bca2616dc9 --- /dev/null +++ b/keyboards/checkerboards/nop60/keymaps/7u/keymap.c @@ -0,0 +1,85 @@ + /* + Copyright 2021 Nathan Spears + + 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 + + +#define RS_SLS RSFT_T(KC_SLSH) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Default QWERTY layer + * ,-------------------------------------------------------------. + * |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ |Del| + * |-------------------------------------------------------------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | + * |-------------------------------------------------------------| + * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-------------------------------------------------------------| + * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | FN | + * |-------------------------------------------------------------| + * |Ctrl |GUI |Alt | Space |Alt |GUI |Ctrl | + * `-------------------------------------------------------------' + */ + [0] = LAYOUT_60_tsangan_hhkb( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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_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, TT(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + /* Main Numbers, Symbols & Function Layer + * ,------------------------------------------------------------------------------. + * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Del | | + * |------------------------------------------------------------------------------| + * |RTOG |RMOD| UP | | | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BRTHE |LFT|DWN|RGHT| | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BINC |BDEC|BTOG| | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * | | | | | | |RESET | + * `------------------------------------------------------------------------------' + */ + [1] = LAYOUT_60_tsangan_hhkb( + 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, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET + ), + + /* Main Numbers, Symbols & Function Layer + * ,------------------------------------------------------------------------------. + * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Del | | + * |------------------------------------------------------------------------------| + * |RTOG |RMOD| UP | | | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BRTHE |LFT|DWN|RGHT| | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BINC |BDEC|BTOG| | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * | | | | | | |RESET | + * `------------------------------------------------------------------------------' + */ + [2] = LAYOUT_60_tsangan_hhkb( + 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, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET + ) +}; diff --git a/keyboards/checkerboards/nop60/keymaps/default/config.h b/keyboards/checkerboards/nop60/keymaps/default/config.h new file mode 100644 index 000000000000..598074ad2c78 --- /dev/null +++ b/keyboards/checkerboards/nop60/keymaps/default/config.h @@ -0,0 +1,23 @@ + /* + Copyright 2020 Alec Penland + Copyright 2020 Garret Gartner + + 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 TAPPING_TERM 175 + +#define TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/nop60/keymaps/default/keymap.c b/keyboards/checkerboards/nop60/keymaps/default/keymap.c new file mode 100644 index 000000000000..ef3ff4b8bdac --- /dev/null +++ b/keyboards/checkerboards/nop60/keymaps/default/keymap.c @@ -0,0 +1,83 @@ + /* + Copyright 2021 Nathan Spears + + 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] = { + /* Default QWERTY layer + * ,-------------------------------------------------------------. + * |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ |Del| + * |-------------------------------------------------------------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | + * |-------------------------------------------------------------| + * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-------------------------------------------------------------| + * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | FN | + * |-------------------------------------------------------------| + * |Ctrl |GUI |Alt |Space |BLTOG |Space |Alt |GUI |Ctrl | + * `-------------------------------------------------------------' + */ + [0] = LAYOUT_60_tsangan_hhkb_split_space( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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_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, KC_SPC, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, BL_TOGG, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + /* Main Numbers, Symbols & Function Layer (MOMENTARY) + * ,------------------------------------------------------------------------------. + * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Del | | + * |------------------------------------------------------------------------------| + * |RTOG |RMOD| UP | | | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BRTHE |LFT|DWN|RGHT| | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BINC |BDEC|BTOG| | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * | | | | | | | | |RESET | + * `------------------------------------------------------------------------------' + */ + [1] = LAYOUT_60_tsangan_hhkb_split_space( + 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, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RESET + ), + + /* ALTERNATE Function layer (MOMENTARY) + * ,------------------------------------------------------------------------------. + * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Del | | + * |------------------------------------------------------------------------------| + * |RTOG |RMOD| UP | | | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BRTHE |LFT|DWN|RGHT| | | | | | | | | | | + * |------------------------------------------------------------------------------| + * |BINC |BDEC|BTOG| | | | | | | | | | | | + * |------------------------------------------------------------------------------| + * | | | | | | | | |RESET | + * `------------------------------------------------------------------------------' + */ + [2] = LAYOUT_60_tsangan_hhkb_split_space( + 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, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RESET + ) +}; diff --git a/keyboards/checkerboards/nop60/keymaps/via/config.h b/keyboards/checkerboards/nop60/keymaps/via/config.h new file mode 100644 index 000000000000..e862c2548397 --- /dev/null +++ b/keyboards/checkerboards/nop60/keymaps/via/config.h @@ -0,0 +1,22 @@ + /* + Copyright 2021 Nathan Spears + + 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 TAPPING_TERM 175 + +#define TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/nop60/keymaps/via/keymap.c b/keyboards/checkerboards/nop60/keymaps/via/keymap.c new file mode 100644 index 000000000000..1fbed16ca1bb --- /dev/null +++ b/keyboards/checkerboards/nop60/keymaps/via/keymap.c @@ -0,0 +1,100 @@ + /* + Copyright 2021 Nathan Spears + + 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 + +// Layer names +enum nop60_layers{ + // - Base layer: + _BASE, + // - Symbols, numbers, and functions: + _FN1, + // - Alternate Function layer: + _FN2, + // - VIA Layer: + _VIA +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Default QWERTY layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ + * │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │Del│BkS│ │PgU│ + * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤ + * │Tab │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ' │Enter │ │PgD│ + * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤ + * │LShift│ Z │ X │ C │ V │ B │ N │ M │ , │ . │Sft/│ ┌───┐ │CAP│ + * ├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ ↑ │ └───┘ + * │LCtl│OS │LAlt│ Fn │ Space │RAlt│ Ln │ ┌───┼───┼───┐ + * └────┴───┴────┴──────────┴────────┴────┴────┘ │ ← │ ↓ │ → │ + * └───┴───┴───┘ + */ + [_BASE] = LAYOUT_60_tsangan_hhkb_split_space( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, 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_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, KC_SPC, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, BL_TOGG, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + /* Main Numbers, Symbols & Function Layer (MOMENTARY) + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ + * │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ [ │ ] │ \ │ │ │Hme│ + * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤ + * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │ │End│ + * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤ + * │ │ ( │ ) │ ; │ . │ │ - │ + │ * │ / │ = │ ┌───┐ │ │ + * ├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ │ └───┘ + * │ │ │ │ │ │ │ │ ┌───┼───┼───┐ + * └────┴───┴────┴──────────┴────────┴────┴────┘ │ │ │ │ + * └───┴───┴───┘ + */ + [_FN1] = LAYOUT_60_tsangan_hhkb_split_space( + 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, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RESET + ), + + /* ALTERNATE Function layer (MOMENTARY) + * ┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐ + * │ PWR│F1 │F2 │F3 │F4 │F5 │F6 │ │ │ │ │PRV│NXT│ │VL+│ + * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤ + * │ SLP │F7 │F8 │F9 │F10│F11│F12│ │ │ │ │ PLAY │ │VL-│ + * ├─────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤ + * │ WAKE │ │ │ │ │ │ │ │ │ │ │ ┌───┐ │ │ + * ├────┬──┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ │ └───┘ + * │RSET│ │ │ │ │ │ │ ┌───┼───┼───┐ + * └────┴────┴────┴──────────┴────────┴────┴────┘ │ │ │ │ + * └───┴───┴───┘ + */ + [_FN2] = LAYOUT_60_tsangan_hhkb_split_space( + 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, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RESET + ), + + [_VIA] = LAYOUT_60_tsangan_hhkb_split_space( + 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, _______, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, RESET + ) +}; diff --git a/keyboards/checkerboards/nop60/keymaps/via/rules.mk b/keyboards/checkerboards/nop60/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/checkerboards/nop60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/checkerboards/nop60/nop60.c b/keyboards/checkerboards/nop60/nop60.c new file mode 100644 index 000000000000..b8a67e87df55 --- /dev/null +++ b/keyboards/checkerboards/nop60/nop60.c @@ -0,0 +1,18 @@ + /* + Copyright 2021 Nathan Spears + + 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 "nop60.h" diff --git a/keyboards/checkerboards/nop60/nop60.h b/keyboards/checkerboards/nop60/nop60.h new file mode 100644 index 000000000000..6e98e854b7ff --- /dev/null +++ b/keyboards/checkerboards/nop60/nop60.h @@ -0,0 +1,49 @@ + /* + Copyright 2021 Nathan Spears + + 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 "quantum.h" + +#define xxx KC_NO + +#define LAYOUT_60_tsangan_hhkb_split_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k4D, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, \ + k40, k41, k42, k44, k46, k48, k4A, k4B, k4C \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, xxx }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, xxx, k3D }, \ + { k40, k41, k42, xxx, k44, xxx, k46, xxx, k48, xxx, k4A, k4B, k4C, k4D } \ +} +#define LAYOUT_60_tsangan_hhkb( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k4D, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, \ + k40, k41, k42, k46, k4A, k4B, k4C \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, xxx }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, xxx, k3D }, \ + { k40, k41, k42, xxx, xxx, xxx, k46, xxx, xxx, xxx, k4A, k4B, k4C, k4D } \ +} diff --git a/keyboards/checkerboards/nop60/readme.md b/keyboards/checkerboards/nop60/readme.md new file mode 100644 index 000000000000..fc5fecbfa01c --- /dev/null +++ b/keyboards/checkerboards/nop60/readme.md @@ -0,0 +1,13 @@ +# NOP60 + +60% Universal PCB feauturing Tsangan bottom row, 2x3u bar support, backlighting, and RGB underglow. + +- Keyboard Maintainer: [Nasp](https://github.com/npspears) +- Hardware Supported: NOP60 PCB +- Hardware Availability: www.checkerboards.xyz + +Make example for this keyboard (after setting up your build environment): + + make checkerboards/nop60: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). diff --git a/keyboards/checkerboards/nop60/rules.mk b/keyboards/checkerboards/nop60/rules.mk new file mode 100644 index 000000000000..befbc73ed507 --- /dev/null +++ b/keyboards/checkerboards/nop60/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/checkerboards/quark_squared/config.h b/keyboards/checkerboards/quark_squared/config.h new file mode 100644 index 000000000000..89e7eb072553 --- /dev/null +++ b/keyboards/checkerboards/quark_squared/config.h @@ -0,0 +1,55 @@ +/* Copyright 2021 Nathan Spears + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7070 +#define PRODUCT_ID 0x5342 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Nasp +#define PRODUCT QUARK² + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { C5, C4, C6, C7 } +#define MATRIX_COL_PINS { B4, B5, B6, B3, C2, B2, D6, D2, D3, D4, D5, B1 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +// ws2812 options +#define RGB_DI_PIN D0 // pin the DI on the ws2812 is hooked-up to +#define RGBLIGHT_ANIMATIONS // run RGB animations +#define RGBLED_NUM 14 // number of LEDs +#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue +#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation +#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/checkerboards/quark_squared/info.json b/keyboards/checkerboards/quark_squared/info.json new file mode 100644 index 000000000000..2b97b34854b7 --- /dev/null +++ b/keyboards/checkerboards/quark_squared/info.json @@ -0,0 +1,15 @@ +{ + "keyboard_name": "Quark_Squared", + "url": "", + "maintainer": "nasp", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT_ortho_2x225u": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Super", "x":1.25, "y":3, "w":1.25}, {"label":"Alt", "x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":2.25}, {"x":6, "y":3, "w":2.25}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"label":"Super", "x":9.5, "y":3, "w":1.25}, {"label":"Ctrl", "x":10.75, "y":3, "w":1.25}] + }, + "LAYOUT_ortho_2u": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Alt", "x":1.25, "y":3, "w":1.25}, {"label":"Super", "x":2.5, "y":3, "w":1.25}, {"label":"⇓", "x":3.75, "y":3, "w":1.25}, {"x":5, "y":3, "w":2}, {"label":"←", "x":7, "y":3, "w":1.25}, {"label":"↓", "x":8.25, "y":3, "w":1.25}, {"label":"↑", "x":9.5, "y":3, "w":1.25}, {"label":"→", "x":10.75, "y":3, "w":1.25}] + } + } +} diff --git a/keyboards/checkerboards/quark_squared/keymaps/2u/config.h b/keyboards/checkerboards/quark_squared/keymaps/2u/config.h new file mode 100644 index 000000000000..b1498826ee3e --- /dev/null +++ b/keyboards/checkerboards/quark_squared/keymaps/2u/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/quark_squared/keymaps/2u/keymap.c b/keyboards/checkerboards/quark_squared/keymaps/2u/keymap.c new file mode 100644 index 000000000000..0892729cf3a1 --- /dev/null +++ b/keyboards/checkerboards/quark_squared/keymaps/2u/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2021 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_ortho_2u( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_GRV, KC_LGUI, KC_LALT, TT(1), KC_SPC, TT(2), CALTDEL, KC_RALT, KC_CAPS + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_ortho_2u( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, KC_NUBS, KC_GRV, _______ + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_ortho_2u( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/checkerboards/quark_squared/keymaps/default/config.h b/keyboards/checkerboards/quark_squared/keymaps/default/config.h new file mode 100644 index 000000000000..b1498826ee3e --- /dev/null +++ b/keyboards/checkerboards/quark_squared/keymaps/default/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/quark_squared/keymaps/default/keymap.c b/keyboards/checkerboards/quark_squared/keymaps/default/keymap.c new file mode 100644 index 000000000000..56aa2ea6b20c --- /dev/null +++ b/keyboards/checkerboards/quark_squared/keymaps/default/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2021 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_ortho_2x225u( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, CALTDEL, KC_RALT, KC_CAPS + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_ortho_2x225u( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______ + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_ortho_2x225u( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/checkerboards/quark_squared/keymaps/via/config.h b/keyboards/checkerboards/quark_squared/keymaps/via/config.h new file mode 100644 index 000000000000..b1498826ee3e --- /dev/null +++ b/keyboards/checkerboards/quark_squared/keymaps/via/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/quark_squared/keymaps/via/keymap.c b/keyboards/checkerboards/quark_squared/keymaps/via/keymap.c new file mode 100644 index 000000000000..928965f97381 --- /dev/null +++ b/keyboards/checkerboards/quark_squared/keymaps/via/keymap.c @@ -0,0 +1,102 @@ +/* Copyright 2021 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_ortho_2x225u( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, CALTDEL, KC_RALT, KC_CAPS + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + + [1] = LAYOUT_ortho_2x225u( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______ + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + + [2] = LAYOUT_ortho_2x225u( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, _______, _______, _______, _______, _______, _______, _______ + ), + + /* [3] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + + [3] = LAYOUT_ortho_2x225u( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/checkerboards/quark_squared/keymaps/via/rules.mk b/keyboards/checkerboards/quark_squared/keymaps/via/rules.mk new file mode 100644 index 000000000000..69de2e4c5a0c --- /dev/null +++ b/keyboards/checkerboards/quark_squared/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/checkerboards/quark_squared/quark_squared.c b/keyboards/checkerboards/quark_squared/quark_squared.c new file mode 100644 index 000000000000..fbd7346cc0d5 --- /dev/null +++ b/keyboards/checkerboards/quark_squared/quark_squared.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Nathan Spears + * + * 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 "quark_squared.h" diff --git a/keyboards/checkerboards/quark_squared/quark_squared.h b/keyboards/checkerboards/quark_squared/quark_squared.h new file mode 100644 index 000000000000..d3d88422124f --- /dev/null +++ b/keyboards/checkerboards/quark_squared/quark_squared.h @@ -0,0 +1,46 @@ +/* Copyright 2021 Nathan Spears + * + * 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 "quantum.h" + +#define XXX KC_NO + + +#define LAYOUT_ortho_2x225u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \ + k30, k31, k33, k34, k36, k38, k39, k3B \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ + { k30, k31, XXX, k33, k34, XXX, k36, XXX, k38, k39, XXX, k3B } \ +} + +#define LAYOUT_ortho_2u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \ + k30, k31, k33, k34, k35, k36, k38, k39, k3B \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ + { k30, k31, XXX, k33, k34, k35, k36, XXX, k38, k39, XXX, k3B } \ +} diff --git a/keyboards/checkerboards/quark_squared/readme.md b/keyboards/checkerboards/quark_squared/readme.md new file mode 100644 index 000000000000..bbbe2bfb5b3b --- /dev/null +++ b/keyboards/checkerboards/quark_squared/readme.md @@ -0,0 +1,15 @@ +# Quark_Squared + +![Quark_Squared](https://i.imgur.com/zYH25zQ.png) + +The Quark² PCB is a hotswap version of the Quark PCB. Just like the OG, it has a modified layout than a traditonal 4x12 ortholinear keyboard. + +* Keyboard Maintainer: [Nasp](https://github.com/npspears) +* Hardware Supported: Planck +* Hardware Availability: https://www.checkerboards.xyz/Quark2_p_35.html + +Make example for this keyboard (after setting up your build environment): + + make checkerboards:quark_squared: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). diff --git a/keyboards/checkerboards/quark_squared/rules.mk b/keyboards/checkerboards/quark_squared/rules.mk new file mode 100644 index 000000000000..5e96711c408a --- /dev/null +++ b/keyboards/checkerboards/quark_squared/rules.mk @@ -0,0 +1,27 @@ +# MCU name +MCU = atmega32u2 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +UNICODE_ENABLE = yes # Unicode + +# Disable unsupported hardware +AUDIO_SUPPORTED = no +BACKLIGHT_SUPPORTED = no diff --git a/keyboards/checkerboards/ud40_ortho_alt/config.h b/keyboards/checkerboards/ud40_ortho_alt/config.h new file mode 100644 index 000000000000..0595b41acfca --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/config.h @@ -0,0 +1,55 @@ +/* Copyright 2021 Nathan Spears + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7070 +#define PRODUCT_ID 0x7030 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Nasp +#define PRODUCT UD40_Ortho_Alt + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { E6, F0, F1, F4 } +#define MATRIX_COL_PINS { B2, B1, F7, D6, D7, B4, B5, B6, C6, C7, F5, F6 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +// ws2812 options +#define RGB_DI_PIN D4 // pin the DI on the ws2812 is hooked-up to +#define RGBLIGHT_ANIMATIONS // run RGB animations +#define RGBLED_NUM 12 // number of LEDs +#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue +#define RGBLIGHT_SAT_STEP 12 // units to step when in/decresing saturation +#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) diff --git a/keyboards/checkerboards/ud40_ortho_alt/info.json b/keyboards/checkerboards/ud40_ortho_alt/info.json new file mode 100644 index 000000000000..620bc0300a43 --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/info.json @@ -0,0 +1,24 @@ +{ + "keyboard_name": "UD40_Ortho_Alt", + "url": "", + "maintainer": "nasp", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT_default": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3, "w":1.25}, {"x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":2.25}, {"x":6, "y":3, "w":2.25}, {"x":8.25, "y":3, "w":1.25}, {"x":9.5, "y":3, "w":1.25}, {"x":10.75, "y":3, "w":1.25}] + }, + "LAYOUT_2x3u_alt": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3, "w":1.5}, {"x":1.5, "y":3, "w":1.5}, {"x":3, "y":3, "w":3}, {"x":6, "y":3, "w":3}, {"x":9, "y":3, "w":1.5}, {"x":10.5, "y":3, "w":1.5}] + }, + "LAYOUT_600u": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "w":6}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}] + }, + "LAYOUT_600u_alt": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3, "w":1.5}, {"x":1.5, "y":3, "w":1.5}, {"x":3, "y":3, "w":6}, {"x":9, "y":3, "w":1.5}, {"x":10.5, "y":3, "w":1.5}] + }, + "LAYOUT_700u": { + "layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3, "w":1.25}, {"x":2.5, "y":3, "w":7}, {"x":9.5, "y":3, "w":1.25}, {"x":10.75, "y":3, "w":1.25}] + } + } +} diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/config.h b/keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/config.h new file mode 100644 index 000000000000..b1498826ee3e --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/keymap.c new file mode 100644 index 000000000000..92216ed03f2a --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/2x3u_alt/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2020 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_2x3u_alt( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + CTL_T(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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + RESET, KC_LALT, TT(1), LT(2, KC_SPC), KC_LGUI, KC_CAPS + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_2x3u_alt( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_2x3u_alt( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, RESET, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/config.h b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/config.h new file mode 100644 index 000000000000..b1498826ee3e --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c new file mode 100644 index 000000000000..74bbd2918f69 --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2020 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_600u( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + CTL_T(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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + RESET, RGB_TOG, KC_LALT, LT(2, KC_SPC), TT(1), KC_LGUI, KC_CAPS + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_600u( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + CALTDEL, _______, TSKMGR, _______, _______, KC_NUBS, KC_GRV + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_600u( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, RESET, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/config.h b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/config.h new file mode 100644 index 000000000000..b1498826ee3e --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/keymap.c new file mode 100644 index 000000000000..76c8b06cc42c --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u_alt/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2020 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_600u_alt( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + CTL_T(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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + RESET, KC_LALT, LT(2, KC_SPC), TT(1), KC_RGUI + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_600u_alt( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + CALTDEL, TSKMGR, _______, KC_NUBS, KC_GRV + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_600u_alt( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, RESET, _______, _______, _______ + ) +}; diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/config.h b/keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/config.h new file mode 100644 index 000000000000..b1498826ee3e --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/keymap.c new file mode 100644 index 000000000000..37f46f72e3bd --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/700u/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2020 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_700u( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + CTL_T(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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + RESET, KC_LALT, LT(2, KC_SPC), TT(1), KC_RGUI + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_700u( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + CALTDEL, TSKMGR, _______, KC_NUBS, KC_GRV + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_700u( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, RESET, _______, _______, _______ + ) +}; diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/config.h b/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/config.h new file mode 100644 index 000000000000..b1498826ee3e --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/keymap.c new file mode 100644 index 000000000000..88c1834d15d6 --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2020 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_default( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + CTL_T(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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + RESET, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_default( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______ + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_default( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, RESET, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/readme.md b/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/readme.md new file mode 100644 index 000000000000..126d92ab548c --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/default/readme.md @@ -0,0 +1,4 @@ +# The Default UD40 Ortho Alt Layout +# 1.25 - 1.25 - 1.25 - 2.25 - 2.25 - 1.25 - 1.25 - 1.25 +# or +# 1 - 1 - 1 - 3 - 3 - 1 - 1 - 1 diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/config.h b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/config.h new file mode 100644 index 000000000000..b1498826ee3e --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Nathan Spears + * + * 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 TAPPING_TOGGLE 2 diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c new file mode 100644 index 000000000000..59579383a502 --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2020 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | RESET | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_default( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + RESET, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_default( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______ + ), + + /* [2] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_default( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, RESET, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/readme.md b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/readme.md new file mode 100644 index 000000000000..126d92ab548c --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/npspears/readme.md @@ -0,0 +1,4 @@ +# The Default UD40 Ortho Alt Layout +# 1.25 - 1.25 - 1.25 - 2.25 - 2.25 - 1.25 - 1.25 - 1.25 +# or +# 1 - 1 - 1 - 3 - 3 - 1 - 1 - 1 diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c new file mode 100644 index 000000000000..cbe2d9778aa6 --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c @@ -0,0 +1,100 @@ +/* Copyright 2020 Nathan Spears + * + * 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 for task manager and such +#define CALTDEL LCTL(LALT(KC_DEL)) +#define TSKMGR LCTL(LSFT(KC_ESC)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* [0] + * ,-----------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------------+------+------+------+------+-------------+------+------+------+------+------| + * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------| + * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS | + * `-----------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_default( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + CTL_T(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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_PSCR, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS + ), + + /* [1] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | + | = | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | | + * `---------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_default( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______, + KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______ + ), + + /* [2] + * ,--------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+---| + * | | | | UP | | | | _ | | [ | ] | | + * |------------+------+------+------+------+-------------+------+------+------+------+---| + * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | | + * |------------+------+------+------+------+-----+-----+------+------+------+------+-----| + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---| + * | RESET | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [2] = LAYOUT_default( + _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + RESET, _______, _______, _______, _______, _______, _______, _______ + ), + + /* [3] + * ,---------------------------------------------------------------------------------------. + * |------------+------+------+------+------+------+------+------+------+------+------+----| + * | | | | | | | | | | | | | | + * |------------+------+------+------+------+-------------+------+------+------+------+----| + * | | | | | | | | | | | | | | + * |------------+------+------+------+------+------|------+------+------+------+------+----| + * | | | | | | | | | | | | | | + * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----| + * | | | | | | | | | | | | | | + * `---------------------------------------------------------------------------------------' + */ + [3] = LAYOUT_default( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + + }; diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/rules.mk b/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/checkerboards/ud40_ortho_alt/readme.md b/keyboards/checkerboards/ud40_ortho_alt/readme.md new file mode 100644 index 000000000000..c7118f82e4f3 --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/readme.md @@ -0,0 +1,17 @@ +# UD40_Ortho_Alt + +![UD40_Ortho_Alt](https://i.imgur.com/NnGIo0O.png) + +The UD40_Ortho_Alt PCB is a modified layout for the UD040. It's similar to traditional ortho but the bottom row keys are larger than 1u. + +* Keyboard Maintainer: [Nasp](https://github.com/npspears) +* Hardware Supported: UD40 +* Hardware Availability: MyKeyboard.EU + +Make example for this keyboard (after setting up your build environment): + + make checkerboards/ud40_ortho_alt:default + +Enter the bootloader by shorting GND and RESET just above the Atmega MCU. + +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/checkerboards/ud40_ortho_alt/rules.mk b/keyboards/checkerboards/ud40_ortho_alt/rules.mk new file mode 100644 index 000000000000..833c455bd777 --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +UNICODE_ENABLE = yes # Unicode + diff --git a/keyboards/checkerboards/ud40_ortho_alt/ud40_ortho_alt.c b/keyboards/checkerboards/ud40_ortho_alt/ud40_ortho_alt.c new file mode 100644 index 000000000000..7000732a1319 --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/ud40_ortho_alt.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Nathan Spears + * + * 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 "ud40_ortho_alt.h" diff --git a/keyboards/checkerboards/ud40_ortho_alt/ud40_ortho_alt.h b/keyboards/checkerboards/ud40_ortho_alt/ud40_ortho_alt.h new file mode 100644 index 000000000000..9a0bb6b6080d --- /dev/null +++ b/keyboards/checkerboards/ud40_ortho_alt/ud40_ortho_alt.h @@ -0,0 +1,81 @@ +/* Copyright 2021 Nathan Spears + * + * 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 "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_default( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \ + k30, k31, k32, k33, k34, k35, k36, k37 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ + { k30, k31, XXX, k32, k33, XXX, k34, XXX, k35, k36, XXX, k37 } \ +} + +#define LAYOUT_2x3u_alt( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \ + k30, k31, k32, k33, k34, k35 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ + { k30, XXX, XXX, k31, k32, XXX, k33, XXX, XXX, k34, XXX, k35 } \ +} + +#define LAYOUT_600u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \ + k30, k31, k32, k33, k34, k35, k36 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ + { k30, k31, XXX, k32, XXX, XXX, k33, XXX, k34, k35, XXX, k36 } \ +} + +#define LAYOUT_600u_alt( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \ + k30, k31, k32, k33, k34 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ + { k30, XXX, XXX, k31, XXX, XXX, k32, XXX, XXX, k33, XXX, k34 } \ +} + +#define LAYOUT_700u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \ + k30, k31, k32, k33, k34 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ + { k30, k31, XXX, XXX, XXX, XXX, k32, XXX, XXX, k33, XXX, k34 } \ +} diff --git a/keyboards/cherrybstudio/cb1800/cb1800.c b/keyboards/cherrybstudio/cb1800/cb1800.c new file mode 100644 index 000000000000..6a42e65db565 --- /dev/null +++ b/keyboards/cherrybstudio/cb1800/cb1800.c @@ -0,0 +1,14 @@ +/* +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 "cb1800.h" diff --git a/keyboards/cherrybstudio/cb1800/cb1800.h b/keyboards/cherrybstudio/cb1800/cb1800.h new file mode 100644 index 000000000000..990bc5cfd6b2 --- /dev/null +++ b/keyboards/cherrybstudio/cb1800/cb1800.h @@ -0,0 +1,38 @@ +/* +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 "quantum.h" + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004,K005, K006, K007, K008, K009, K010, K100, K101, K909, K102, K103, K104, K105, \ + K106, K107, K108, K109, \ + K110, K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K300, K301, K302, K303, K304, K305, K306, \ + K307, K308, K309, K310, K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K500, K501, K502, \ + K503, K504, K505, K506, K507, K508, K509, K510, K600, K601, K602, K603, K604, K605, K606, K607, K608, K609, \ + K610, K700, K701, K702, K703, K704, K705, K706, K707, K708, K709, K710, K800, K801, K802, K803, K804, K805, \ + K806, K807, K808, K809, K810, K900, K901, K902, K903, K904, K905, K906, K907, K908 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310 }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410 }, \ + { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510 }, \ + { K600, K601, K602, K603, K604, K605, K606, K607, K608, K609, K610 }, \ + { K700, K701, K702, K703, K704, K705, K706, K707, K708, K709, K710 }, \ + { K800, K801, K802, K803, K804, K805, K806, K807, K808, K809, K810 }, \ + { K900, K901, K902, K903, K904, K905, K906, K907, K908, K909, KC_NO } \ +} + diff --git a/keyboards/cherrybstudio/cb1800/config.h b/keyboards/cherrybstudio/cb1800/config.h new file mode 100644 index 000000000000..81d24669dca0 --- /dev/null +++ b/keyboards/cherrybstudio/cb1800/config.h @@ -0,0 +1,63 @@ +/* +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4342 // CB +#define PRODUCT_ID 0x1818 +#define DEVICE_VER 0x0001 +#define MANUFACTURER CherryB.Studio +#define PRODUCT CB1800 + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 11 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + * 0 1 2 3 4 5 6 7 8 9 +*/ +#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7, C6, C7 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, D7, F0, F1, F4 } +//#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* LED Indicators */ +#define LED_CAPS_LOCK_PIN F5 +#define LED_NUM_LOCK_PIN F6 +#define LED_SCROLL_LOCK_PIN F7 + + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define RGB_DI_PIN E6 +#ifdef RGB_DI_PIN +# define RGBLIGHT_ANIMATIONS +# define RGBLED_NUM 20 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +#endif diff --git a/keyboards/cherrybstudio/cb1800/info.json b/keyboards/cherrybstudio/cb1800/info.json new file mode 100644 index 000000000000..b83b8fadc607 --- /dev/null +++ b/keyboards/cherrybstudio/cb1800/info.json @@ -0,0 +1,128 @@ +{ + "keyboard_name": "cb1800", + "url": "https://discord.gg/qVwv3gcq83", + "maintainer": "duongaanh", + "width": 19.5, + "height": 7.25, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Esc", "x":14, "y":0}, + {"label":"Insert", "x":15.5, "y":0}, + {"label":"Home", "x":16.5, "y":0}, + {"label":"PgUp", "x":17.5, "y":0}, + {"label":"PrtSc", "x":18.5, "y":0}, + + {"label":"Delete", "x":15.5, "y":1}, + {"label":"End", "x":16.5, "y":1}, + {"label":"PgDn", "x":17.5, "y":1}, + {"label":"Scroll Lock", "x":18.5, "y":1}, + + {"label":"~", "x":0, "y":2}, + {"label":"!", "x":1, "y":2}, + {"label":"@", "x":2, "y":2}, + {"label":"#", "x":3, "y":2}, + {"label":"$", "x":4, "y":2}, + {"label":"%", "x":5, "y":2}, + {"label":"^", "x":6, "y":2}, + {"label":"&", "x":7, "y":2}, + {"label":"*", "x":8, "y":2}, + {"label":"(", "x":9, "y":2}, + {"label":")", "x":10, "y":2}, + {"label":"_", "x":11, "y":2}, + {"label":"+", "x":12, "y":2}, + {"x":13, "y":2}, + {"label":"Backspace", "x":14, "y":2}, + {"label":"Num Lock", "x":15.5, "y":2}, + {"label":"/", "x":16.5, "y":2}, + {"label":"*", "x":17.5, "y":2}, + {"label":"Pause", "x":18.5, "y":2}, + + {"label":"Tab", "x":0, "y":3, "w":1.5}, + {"label":"Q", "x":1.5, "y":3}, + {"label":"W", "x":2.5, "y":3}, + {"label":"E", "x":3.5, "y":3}, + {"label":"R", "x":4.5, "y":3}, + {"label":"T", "x":5.5, "y":3}, + {"label":"Y", "x":6.5, "y":3}, + {"label":"U", "x":7.5, "y":3}, + {"label":"I", "x":8.5, "y":3}, + {"label":"O", "x":9.5, "y":3}, + {"label":"P", "x":10.5, "y":3}, + {"label":"{", "x":11.5, "y":3}, + {"label":"}", "x":12.5, "y":3}, + {"label":"|", "x":13.5, "y":3, "w":1.5}, + {"label":"7", "x":15.5, "y":3}, + {"label":"8", "x":16.5, "y":3}, + {"label":"9", "x":17.5, "y":3}, + {"label":"-", "x":18.5, "y":3}, + + {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, + {"label":"A", "x":1.75, "y":4}, + {"label":"S", "x":2.75, "y":4}, + {"label":"D", "x":3.75, "y":4}, + {"label":"F", "x":4.75, "y":4}, + {"label":"G", "x":5.75, "y":4}, + {"label":"H", "x":6.75, "y":4}, + {"label":"J", "x":7.75, "y":4}, + {"label":"K", "x":8.75, "y":4}, + {"label":"L", "x":9.75, "y":4}, + {"label":":", "x":10.75, "y":4}, + {"label":"\"", "x":11.75, "y":4}, + {"label":"ISO~", "x":12.75, "y":4}, + {"label":"Enter", "x":13.75, "y":4, "w":1.25}, + {"label":"4", "x":15.5, "y":4}, + {"label":"5", "x":16.5, "y":4}, + {"label":"6", "x":17.5, "y":4}, + {"label":"+", "x":18.5, "y":4}, + + {"label":"Shift", "x":0, "y":5, "w":1.25}, + {"label":"ISO|", "x":1.25, "y":5}, + {"label":"Z", "x":2.25, "y":5}, + {"label":"X", "x":3.25, "y":5}, + {"label":"C", "x":4.25, "y":5}, + {"label":"V", "x":5.25, "y":5}, + {"label":"B", "x":6.25, "y":5}, + {"label":"N", "x":7.25, "y":5}, + {"label":"M", "x":8.25, "y":5}, + {"label":"<", "x":9.25, "y":5}, + {"label":">", "x":10.25, "y":5}, + {"label":"?", "x":11.25, "y":5}, + {"label":"Shift", "x":12.25, "y":5, "w":1.75}, + {"label":"Up", "x":14.25, "y":5.25}, + {"label":"1", "x":15.5, "y":5}, + {"label":"2", "x":16.5, "y":5}, + {"label":"3", "x":17.5, "y":5}, + {"label":"Enter", "x":18.5, "y":5}, + + {"label":"LCtrl", "x":0, "y":6}, + {"label":"LGui", "x":1, "y":6}, + {"label":"LAlt", "x":2, "y":6}, + {"label":"Space", "x":3, "y":6, "w":6}, + {"label":"RAlt", "x":9, "y":6}, + {"label":"RGui", "x":10, "y":6}, + {"label":"Menu", "x":11, "y":6}, + {"label":"LCtrl", "x":12, "y":6}, + {"label":"Left", "x":13.25, "y":6.25}, + {"label":"Down", "x":14.25, "y":6.25}, + {"label":"Right", "x":15.25, "y":6.25}, + {"label":"0", "x":16.5, "y":6}, + {"label":".", "x":17.5, "y":6}, + {"label":"Enter", "x":18.5, "y":6} + ] + } + } +} diff --git a/keyboards/cherrybstudio/cb1800/keymaps/default/keymap.c b/keyboards/cherrybstudio/cb1800/keymaps/default/keymap.c new file mode 100644 index 000000000000..75a1c207039e --- /dev/null +++ b/keyboards/cherrybstudio/cb1800/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* +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, RESET, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, + KC_DEL, KC_END, KC_PGDN, KC_SLCK, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, 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/cherrybstudio/cb1800/keymaps/default/readme.md b/keyboards/cherrybstudio/cb1800/keymaps/default/readme.md new file mode 100644 index 000000000000..d68382007dd0 --- /dev/null +++ b/keyboards/cherrybstudio/cb1800/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for cb1800 \ No newline at end of file diff --git a/keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c b/keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c new file mode 100644 index 000000000000..7bdb7b023e84 --- /dev/null +++ b/keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c @@ -0,0 +1,56 @@ +/* +Copyright 2020 Tybera +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, RESET, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, + KC_DEL, KC_END, KC_PGDN, KC_SLCK, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, 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_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, 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_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, 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/cherrybstudio/cb1800/keymaps/via/rules.mk b/keyboards/cherrybstudio/cb1800/keymaps/via/rules.mk new file mode 100644 index 000000000000..ca9fed0e6b53 --- /dev/null +++ b/keyboards/cherrybstudio/cb1800/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/cherrybstudio/cb1800/readme.md b/keyboards/cherrybstudio/cb1800/readme.md new file mode 100644 index 000000000000..8ab8f3462f0c --- /dev/null +++ b/keyboards/cherrybstudio/cb1800/readme.md @@ -0,0 +1,26 @@ +# CherryB Studio CB1800 + +![cb1800](https://i.imgur.com/QRJ6DFsl.jpg) + +A G80-1800 inspired PCB for CB1800 Zakabato and any suitable 1800 layout keyboards. + +* Keyboard Maintainer: duongaanh +* Hardware Supported: cb1800, atmega32u4 +* Hardware Availability: [CherryB Studio](https://www.reddit.com/r/mechmarket/comments/mneayy/ic_cb1800zanbato_1800_classic_by_cherryb/) + +Make example for this keyboard (after setting up your build environment): + + make cherrybstudio/cb1800:default + +Flashing example for this keyboard: + + make cherrybstudio/cb1800:default:flash + +## Accessing Bootloader Mode + +To access Bootloader Mode, do one of the following: + +* Tap the Reset switch mounted on the top side of the PCB to the left of the spacebar +* Hold the top left key of the keyboard while connecting the USB cable + +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/cherrybstudio/cb1800/rules.mk b/keyboards/cherrybstudio/cb1800/rules.mk new file mode 100644 index 000000000000..4572a7aa6312 --- /dev/null +++ b/keyboards/cherrybstudio/cb1800/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/cherrybstudio/cb87/cb87.c b/keyboards/cherrybstudio/cb87/cb87.c new file mode 100644 index 000000000000..4dcdd898eb2a --- /dev/null +++ b/keyboards/cherrybstudio/cb87/cb87.c @@ -0,0 +1,14 @@ +/* +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 "cb87.h" \ No newline at end of file diff --git a/keyboards/cherrybstudio/cb87/cb87.h b/keyboards/cherrybstudio/cb87/cb87.h new file mode 100644 index 000000000000..b3106894bd5f --- /dev/null +++ b/keyboards/cherrybstudio/cb87/cb87.h @@ -0,0 +1,73 @@ +/* +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 "quantum.h" + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K100, K101, K102, K103, K104, K105, \ + K106, K107, K108, K109, K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K300, K301, K302, \ + K303, K304, K305, K306, K307, K308, K309, K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, \ + K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K600, K601, K602, K603, \ + K604, K605, K606, K607, K608, K609, K700, K701, K702, K703, K704, K705, K706, K707, \ + K708, K709, K800, K801, K802, K803, K804, K805, K806, K807, K808 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309 }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409 }, \ + { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509 }, \ + { K600, K601, K602, K603, K604, K605, K606, K607, K608, K609 }, \ + { K700, K701, K702, K703, K704, K705, K706, K707, K708, K709 }, \ + { K800, K801, K802, K803, K804, K805, K806, K807, K808, KC_NO } \ +} + +#define LAYOUT_tkl_ansi( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K100, K101, K102, K103, K104, K105, \ + K106, K107, K108, K109, K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K300, K301, K302, \ + K303, K304, K305, K306, K307, K308, K309, K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, \ + K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K600, K601, K603, \ + K604, K606, K607, K608, K609, K700, K701, K702, K703, K704, K705, K706, K707, \ + K708, K709, K800, K801, K802, K803, K804, K805, K806, K807, K808 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309 }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409 }, \ + { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509 }, \ + { K600, K601, KC_NO, K603, K604, KC_NO, K606, K607, K608, K609 }, \ + { K700, K701, K702, K703, K704, K705, K706, K707, K708, K709 }, \ + { K800, K801, K802, K803, K804, K805, K806, K807, K808, KC_NO } \ +} + +#define LAYOUT_tkl_iso( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K100, K101, K102, K103, K104, K105, \ + K106, K107, K108, K109, K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K300, K301, K302, \ + K303, K304, K305, K306, K307, K308, K309, K400, K401, K402, K403, K404, K405, K407, K408, K409, \ + K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K600, K601, K602, K603, \ + K604, K605, K606, K607, K608, K609, K700, K701, K702, K703, K704, K705, K706, K707, \ + K708, K709, K800, K801, K802, K803, K804, K805, K806, K807, K808 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309 }, \ + { K400, K401, K402, K403, K404, K405, KC_NO, K407, K408, K409 }, \ + { K500, K501, K502, K503, K504, K505, K506, K507, K508, K509 }, \ + { K600, K601, K602, K603, K604, K605, K606, K607, K608, K609 }, \ + { K700, K701, K702, K703, K704, K705, K706, K707, K708, K709 }, \ + { K800, K801, K802, K803, K804, K805, K806, K807, K808, KC_NO } \ +} diff --git a/keyboards/cherrybstudio/cb87/config.h b/keyboards/cherrybstudio/cb87/config.h new file mode 100644 index 000000000000..41a153081db3 --- /dev/null +++ b/keyboards/cherrybstudio/cb87/config.h @@ -0,0 +1,63 @@ +/* +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4342 // CB +#define PRODUCT_ID 0x8787 +#define DEVICE_VER 0x0001 +#define MANUFACTURER CherryB Studio +#define PRODUCT CB87 + +/* key matrix size */ +#define MATRIX_ROWS 9 +#define MATRIX_COLS 10 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + * 0 1 2 3 4 5 6 7 8 9 +*/ +#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7, D0, D1, D2, D3 } +#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, F5, C6, C7, F7 } +//#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW +#define BACKLIGHT_PIN B6 +#ifdef BACKLIGHT_PIN +#define BACKLIGHT_LEVELS 3 +#endif + +#define LED_CAPS_LOCK_PIN F0 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define RGB_DI_PIN E6 +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 22 /* 16 Bottom 6 top*/ +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif diff --git a/keyboards/cherrybstudio/cb87/info.json b/keyboards/cherrybstudio/cb87/info.json new file mode 100644 index 000000000000..cd02a5816620 --- /dev/null +++ b/keyboards/cherrybstudio/cb87/info.json @@ -0,0 +1,295 @@ +{ + "keyboard_name": "CB87", + "url": "https://discord.gg/qVwv3gcq83", + "maintainer": "duongaanh", + "width": 18.25, + "height": 6.5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":2, "y":0}, + {"label":"F2", "x":3, "y":0}, + {"label":"F3", "x":4, "y":0}, + {"label":"F4", "x":5, "y":0}, + {"label":"F5", "x":6.5, "y":0}, + {"label":"F6", "x":7.5, "y":0}, + {"label":"F7", "x":8.5, "y":0}, + {"label":"F8", "x":9.5, "y":0}, + {"label":"F9", "x":11, "y":0}, + {"label":"F10", "x":12, "y":0}, + {"label":"F11", "x":13, "y":0}, + {"label":"F12", "x":14, "y":0}, + {"label":"PrtSc", "x":15.25, "y":0}, + {"label":"Scroll Lock", "x":16.25, "y":0}, + {"label":"Pause", "x":17.25, "y":0}, + {"label":"~", "x":0, "y":1.5}, + {"label":"1", "x":1, "y":1.5}, + {"label":"2", "x":2, "y":1.5}, + {"label":"3", "x":3, "y":1.5}, + {"label":"4", "x":4, "y":1.5}, + {"label":"5", "x":5, "y":1.5}, + {"label":"6", "x":6, "y":1.5}, + {"label":"7", "x":7, "y":1.5}, + {"label":"8", "x":8, "y":1.5}, + {"label":"9", "x":9, "y":1.5}, + {"label":"0", "x":10, "y":1.5}, + {"label":"-", "x":11, "y":1.5}, + {"label":"=", "x":12, "y":1.5}, + {"label":"Backspace", "x":13, "y":1.5, "w":2}, + {"label":"Insert", "x":15.25, "y":1.5}, + {"label":"Home", "x":16.25, "y":1.5}, + {"label":"PgUp", "x":17.25, "y":1.5}, + {"label":"Tab", "x":0, "y":2.5, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.5}, + {"label":"W", "x":2.5, "y":2.5}, + {"label":"E", "x":3.5, "y":2.5}, + {"label":"R", "x":4.5, "y":2.5}, + {"label":"T", "x":5.5, "y":2.5}, + {"label":"Y", "x":6.5, "y":2.5}, + {"label":"U", "x":7.5, "y":2.5}, + {"label":"I", "x":8.5, "y":2.5}, + {"label":"O", "x":9.5, "y":2.5}, + {"label":"P", "x":10.5, "y":2.5}, + {"label":"[", "x":11.5, "y":2.5}, + {"label":"]", "x":12.5, "y":2.5}, + {"label":"\\", "x":13.5, "y":2.5, "w":1.5}, + {"label":"Delete", "x":15.25, "y":2.5}, + {"label":"End", "x":16.25, "y":2.5}, + {"label":"PgDn", "x":17.25, "y":2.5}, + {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, + {"label":"A", "x":1.75, "y":3.5}, + {"label":"S", "x":2.75, "y":3.5}, + {"label":"D", "x":3.75, "y":3.5}, + {"label":"F", "x":4.75, "y":3.5}, + {"label":"G", "x":5.75, "y":3.5}, + {"label":"H", "x":6.75, "y":3.5}, + {"label":"J", "x":7.75, "y":3.5}, + {"label":"K", "x":8.75, "y":3.5}, + {"label":"L", "x":9.75, "y":3.5}, + {"label":";", "x":10.75, "y":3.5}, + {"label":"'", "x":11.75, "y":3.5}, + {"label":"ISO", "x":12.75, "y":3.5}, + {"label":"Enter", "x":13.75, "y":3.5, "w":1.25}, + {"label":"Shift", "x":0, "y":4.5, "w":1.25}, + {"label":"ISO", "x":1.25, "y":4.5}, + {"label":"Z", "x":2.25, "y":4.5}, + {"label":"X", "x":3.25, "y":4.5}, + {"label":"C", "x":4.25, "y":4.5}, + {"label":"V", "x":5.25, "y":4.5}, + {"label":"B", "x":6.25, "y":4.5}, + {"label":"N", "x":7.25, "y":4.5}, + {"label":"M", "x":8.25, "y":4.5}, + {"label":",", "x":9.25, "y":4.5}, + {"label":".", "x":10.25, "y":4.5}, + {"label":"/", "x":11.25, "y":4.5}, + {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, + {"label":"Up", "x":16.25, "y":4.5}, + {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5.5, "w":6.25}, + {"label":"Alt", "x":10, "y":5.5, "w":1.25}, + {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, + {"label":"App", "x":12.5, "y":5.5, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, + {"label":"Left", "x":15.25, "y":5.5}, + {"label":"Down", "x":16.25, "y":5.5}, + {"label":"Right", "x":17.25, "y":5.5} + ] + }, + "LAYOUT_tkl_ansi": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.25, "y":0}, + + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5, "w":2}, + {"x":15.25, "y":1.5}, + {"x":16.25, "y":1.5}, + {"x":17.25, "y":1.5}, + + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5, "w":1.5}, + {"x":15.25, "y":2.5}, + {"x":16.25, "y":2.5}, + {"x":17.25, "y":2.5}, + + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5, "w":2.25}, + + {"x":0, "y":4.5, "w":2.25}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":2.75}, + {"x":16.25, "y":4.5}, + + {"x":0, "y":5.5, "w":1.25}, + {"x":1.25, "y":5.5, "w":1.25}, + {"x":2.5, "y":5.5, "w":1.25}, + {"x":3.75, "y":5.5, "w":6.25}, + {"x":10, "y":5.5, "w":1.25}, + {"x":11.25, "y":5.5, "w":1.25}, + {"x":12.5, "y":5.5, "w":1.25}, + {"x":13.75, "y":5.5, "w":1.25}, + {"x":15.25, "y":5.5}, + {"x":16.25, "y":5.5}, + {"x":17.25, "y":5.5} + ] + }, + "LAYOUT_tkl_iso": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + {"x":17.25, "y":0}, + + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5, "w":2}, + {"x":15.25, "y":1.5}, + {"x":16.25, "y":1.5}, + {"x":17.25, "y":1.5}, + + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":15.25, "y":2.5}, + {"x":16.25, "y":2.5}, + {"x":17.25, "y":2.5}, + + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5}, + {"x":13.75, "y":2.5, "w":1.25, "h":2}, + + {"x":0, "y":4.5, "w":1.25}, + {"x":1.25, "y":4.5}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":2.75}, + {"x":16.25, "y":4.5}, + + {"x":0, "y":5.5, "w":1.25}, + {"x":1.25, "y":5.5, "w":1.25}, + {"x":2.5, "y":5.5, "w":1.25}, + {"x":3.75, "y":5.5, "w":6.25}, + {"x":10, "y":5.5, "w":1.25}, + {"x":11.25, "y":5.5, "w":1.25}, + {"x":12.5, "y":5.5, "w":1.25}, + {"x":13.75, "y":5.5, "w":1.25}, + {"x":15.25, "y":5.5}, + {"x":16.25, "y":5.5}, + {"x":17.25, "y":5.5} + ] + } + } +} diff --git a/keyboards/cherrybstudio/cb87/keymaps/default/keymap.c b/keyboards/cherrybstudio/cb87/keymaps/default/keymap.c new file mode 100644 index 000000000000..d95c56dc8d07 --- /dev/null +++ b/keyboards/cherrybstudio/cb87/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* +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_PSCR, KC_SLCK, 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_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_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, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/cherrybstudio/cb87/keymaps/default/readme.md b/keyboards/cherrybstudio/cb87/keymaps/default/readme.md new file mode 100644 index 000000000000..75b731fa17e6 --- /dev/null +++ b/keyboards/cherrybstudio/cb87/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for CB87 diff --git a/keyboards/cherrybstudio/cb87/keymaps/via/keymap.c b/keyboards/cherrybstudio/cb87/keymaps/via/keymap.c new file mode 100644 index 000000000000..3cd72b66705c --- /dev/null +++ b/keyboards/cherrybstudio/cb87/keymaps/via/keymap.c @@ -0,0 +1,50 @@ +/* +Copyright 2020 Tybera +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_PSCR, KC_SLCK, 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_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_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, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/cherrybstudio/cb87/keymaps/via/rules.mk b/keyboards/cherrybstudio/cb87/keymaps/via/rules.mk new file mode 100644 index 000000000000..ca9fed0e6b53 --- /dev/null +++ b/keyboards/cherrybstudio/cb87/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/cherrybstudio/cb87/readme.md b/keyboards/cherrybstudio/cb87/readme.md new file mode 100644 index 000000000000..72bd8c32fab9 --- /dev/null +++ b/keyboards/cherrybstudio/cb87/readme.md @@ -0,0 +1,26 @@ +# CherryB Studio CB87 + +![CB87](https://i.imgur.com/balJ20Xl.png) + +A TKL PCB for CherryB Studio Freyr and replacement for some TKL keyboards. + +* Keyboard Maintainer: duongaanh +* Hardware Supported: CB87, atmega32u4 +* Hardware Availability: [CherryB Studio](https://www.reddit.com/r/mechmarket/comments/kkgs6p/gb_freyr_tkl_cb_edition_holiday_preorder/) + +Make example for this keyboard (after setting up your build environment): + + make cherrybstudio/cb87:default + +Flashing example for this keyboard: + + make cherrybstudio/cb87:default:flash + +## Accessing Bootloader Mode + +To access Bootloader Mode, do one of the following: + +* Tap the Reset switch mounted on the top side of the PCB to the left of the spacebar +* Hold the top left key of the keyboard while connecting the USB cable + +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/cherrybstudio/cb87/rules.mk b/keyboards/cherrybstudio/cb87/rules.mk new file mode 100644 index 000000000000..2004c92ab719 --- /dev/null +++ b/keyboards/cherrybstudio/cb87/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = tkl_ansi tkl_iso diff --git a/keyboards/cheshire/curiosity/rules.mk b/keyboards/cheshire/curiosity/rules.mk index d9a7d86ab395..6de036f0d3af 100644 --- a/keyboards/cheshire/curiosity/rules.mk +++ b/keyboards/cheshire/curiosity/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/chidori/config.h b/keyboards/chidori/config.h index 69292e7f9e28..9d8bc3e26aaf 100644 --- a/keyboards/chidori/config.h +++ b/keyboards/chidori/config.h @@ -196,26 +196,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/chidori/keymaps/oled_sample/keymap.c b/keyboards/chidori/keymaps/oled_sample/keymap.c index 6c9b7869ba2a..a3bb7c280779 100644 --- a/keyboards/chidori/keymaps/oled_sample/keymap.c +++ b/keyboards/chidori/keymaps/oled_sample/keymap.c @@ -181,7 +181,7 @@ bool led_update_user(led_t led_state) { return false; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void oled_write_layer_state(void) { oled_write_P(PSTR("Layer: "), false); diff --git a/keyboards/chidori/keymaps/oled_sample/rules.mk b/keyboards/chidori/keymaps/oled_sample/rules.mk index cc60236cac91..7a7b1acc03aa 100644 --- a/keyboards/chidori/keymaps/oled_sample/rules.mk +++ b/keyboards/chidori/keymaps/oled_sample/rules.mk @@ -1,2 +1,3 @@ # Enable SSD1306 OLED -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/chidori/rules.mk b/keyboards/chidori/rules.mk index 312a4a372e2e..7f3a54d48cc7 100644 --- a/keyboards/chidori/rules.mk +++ b/keyboards/chidori/rules.mk @@ -2,19 +2,12 @@ MCU = atmega328p # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/chili/config.h b/keyboards/chili/config.h index 08c24758751e..b9eff3c48a00 100644 --- a/keyboards/chili/config.h +++ b/keyboards/chili/config.h @@ -158,23 +158,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/chili/rules.mk b/keyboards/chili/rules.mk index a99c946d2878..505a40ba1d93 100644 --- a/keyboards/chili/rules.mk +++ b/keyboards/chili/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output diff --git a/keyboards/chimera_ergo/chimera_ergo.h b/keyboards/chimera_ergo/chimera_ergo.h index 78e5c0dac54a..32d02886c475 100644 --- a/keyboards/chimera_ergo/chimera_ergo.h +++ b/keyboards/chimera_ergo/chimera_ergo.h @@ -46,21 +46,6 @@ // This a shortcut to help you visually see your layout. // The first section contains all of the arguements // The second converts the arguments into a two-dimensional array -#define LAYOUT_kc( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \ - k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \ - k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \ - k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, \ - k48, k49, k50, k51 \ -) \ -{ \ - { KC_NO, KC_NO, KC_##k26, KC_##k15, KC_##k28, KC_##k01, KC_##k42, KC_##k31, KC_##k20, KC_##k33, KC_NO, KC_NO }, \ - { KC_##k00, KC_NO, KC_##k14, KC_##k27, KC_##k16, KC_##k36, KC_##k47, KC_##k19, KC_##k32, KC_##k21, KC_NO, KC_##k11 }, \ - { KC_##k12, KC_##k25, KC_##k02, KC_##k39, KC_##k17, KC_##k49, KC_##k50, KC_##k18, KC_##k44, KC_##k09, KC_##k34, KC_##k23 }, \ - { KC_##k24, KC_##k13, KC_##k38, KC_##k04, KC_##k05, KC_##k48, KC_##k51, KC_##k06, KC_##k07, KC_##k45, KC_##k22, KC_##k35 }, \ - { KC_##k29, KC_##k41, KC_##k03, KC_##k40, KC_##k37, KC_NO, KC_##k30, KC_##k43, KC_##k08, KC_##k10, KC_##k46, KC_NO }, \ -} - #define LAYOUT( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \ k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \ diff --git a/keyboards/chimera_ergo/rules.mk b/keyboards/chimera_ergo/rules.mk index 01d5c3c70ce3..441d0d09caa4 100644 --- a/keyboards/chimera_ergo/rules.mk +++ b/keyboards/chimera_ergo/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,9 +17,8 @@ CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls +MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # # project specific files SRC += matrix.c serial_uart.c diff --git a/keyboards/chimera_ls/chimera_ls.h b/keyboards/chimera_ls/chimera_ls.h index 8ca8534eb99a..45c91acc3dba 100644 --- a/keyboards/chimera_ls/chimera_ls.h +++ b/keyboards/chimera_ls/chimera_ls.h @@ -60,18 +60,5 @@ { k06, k07, k08, k10, KC_NO, k05, k04, k03, k01, KC_NO } \ } -#define LAYOUT_kc_ortho_4x12( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \ - k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \ - k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \ - k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 \ - ) { \ - { KC_##k43, KC_##k45, KC_##k34, KC_##k11, KC_##k23, KC_##k40, KC_##k38, KC_##k25, KC_##k00, KC_##k12 }, \ - { KC_##k31, KC_##k44, KC_##k46, KC_##k35, KC_##k22, KC_##k28, KC_##k39, KC_##k37, KC_##k24, KC_##k13 }, \ - { KC_##k30, KC_##k32, KC_##k33, KC_##k47, KC_##k09, KC_##k29, KC_##k27, KC_##k26, KC_##k36, KC_##k02 }, \ - { KC_##k19, KC_##k20, KC_##k21, KC_##k42, KC_##k18, KC_##k16, KC_##k15, KC_##k14, KC_##k41, KC_##k17 }, \ - { KC_##k06, KC_##k07, KC_##k08, KC_##k10, KC_NO, KC_##k05, KC_##k04, KC_##k03, KC_##k01, KC_NO } \ -} - #endif diff --git a/keyboards/chimera_ls/rules.mk b/keyboards/chimera_ls/rules.mk index 536e6053a161..4ffab53a7e08 100644 --- a/keyboards/chimera_ls/rules.mk +++ b/keyboards/chimera_ls/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,9 +17,8 @@ CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls +MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # project specific files SRC += matrix.c serial_uart.c diff --git a/keyboards/chimera_ortho/chimera_ortho.h b/keyboards/chimera_ortho/chimera_ortho.h index fc2eba86bd41..ec893990a3a9 100644 --- a/keyboards/chimera_ortho/chimera_ortho.h +++ b/keyboards/chimera_ortho/chimera_ortho.h @@ -60,18 +60,4 @@ { KC_NO, k28, k14, k00, k45, k48, k13, k27, k44, KC_NO } \ } -#define LAYOUT_kc( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, \ - k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, \ - k28, k29, k31, k32, k33, k34, k35, k36, k37, k38, k41, k42, k43, k44, \ - k45, k46, k47, k48 \ -) \ -{ \ - { KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k08, KC_##k09, KC_##k10, KC_##k11, KC_##k12 }, \ - { KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26 }, \ - { KC_##k29, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k37, KC_##k38, KC_##k41, KC_##k42, KC_##k43 }, \ - { KC_NO, KC_##k06, KC_##k20, KC_##k35, KC_##k46, KC_##k47, KC_##k36, KC_##k21, KC_##k07, KC_NO }, \ - { KC_NO, KC_##k28, KC_##k14, KC_##k00, KC_##k45, KC_##k48, KC_##k13, KC_##k27, KC_##k44, KC_NO } \ -} - #endif diff --git a/keyboards/chimera_ortho/keymaps/dcompact/config.h b/keyboards/chimera_ortho/keymaps/dcompact/config.h deleted file mode 100644 index d1e5c3aabfcb..000000000000 --- a/keyboards/chimera_ortho/keymaps/dcompact/config.h +++ /dev/null @@ -1,9 +0,0 @@ -#define TAPPING_TERM 150 -#define TAPPING_TOGGLE 2 - -#define MOUSEKEY_DELAY 200 -#define MOUSEKEY_INTERVAL 60 -#define MOUSEKEY_MAX_SPEED 50 -#define MOUSEKEY_TIME_TO_MAX 80 -#define MOUSEKEY_WHEEL_MAX_SPEED 8 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 15 diff --git a/keyboards/chimera_ortho/keymaps/dcompact/keymap.c b/keyboards/chimera_ortho/keymaps/dcompact/keymap.c deleted file mode 100644 index 1c6ef7d6f9ab..000000000000 --- a/keyboards/chimera_ortho/keymaps/dcompact/keymap.c +++ /dev/null @@ -1,119 +0,0 @@ -#include QMK_KEYBOARD_H - -enum chimera_ortho_layers -{ - _BASE, - _NAV, - _SYM, - _FUNC, - _MOUSE -}; - -#define KC_NAV MO(_NAV) -#define KC_SYM MO(_SYM) -#define KC_FUNC MO(_FUNC) -#define KC_MOUSE TT(_MOUSE) - -#define KC_DELSHFT SFT_T(KC_DEL) -#define KC_CTLENT CTL_T(KC_ENT) -#define KC_SYMSPC LT(_SYM, KC_SPC) - -#define KC_WK_LEFT LCA(KC_LEFT) -#define KC_WK_DOWN LCA(KC_DOWN) -#define KC_WK_UP LCA(KC_UP) -#define KC_WK_RGHT LCA(KC_RGHT) - -#define KC_QUAKE LCTL(KC_GRAVE) - -#define LONGPRESS_DELAY 150 - -// These are needed because of the 'KC_'-adding macro -// This macro can be found in ../../chimera_ortho.h -#define KC_RESET RESET -#define KC_ KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_BASE] = LAYOUT_kc( - //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - LALT ,TAB ,QUOT ,COMM ,DOT ,P ,Y ,F ,G ,C ,R ,L ,SLSH ,FUNC - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - ,LGUI ,ESC ,A ,O ,E ,U ,I ,D ,H ,T ,N ,S ,MINS ,MOUSE - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - ,LCTL ,DELSHFT,SCLN ,Q ,J ,K ,X ,B ,M ,W ,V ,Z ,BSPC ,ENTER - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - ,LSHIFT ,NAV ,SYMSPC ,CTLENT - //\-------------------------------+-------+-------+-------/ \-------+-------+---------------------------------------/ - ), - - [_NAV] = LAYOUT_kc( - //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - , , , , , , , ,HOME ,PGDOWN ,PGUP ,END , , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , ,PSCR ,MENU , , , , , ,LEFT ,DOWN ,UP ,RIGHT , , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , ,CAPS ,NLCK ,INS , , , , ,WK_LEFT,WK_DOWN,WK_UP ,WK_RGHT, , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , , , , - //\-------------------------------+-------+-------+-------/ \-------+-------+---------------------------------------/ - ), - - [_SYM] = LAYOUT_kc( - //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - ,QUAKE ,GRAVE ,TILDE ,BSLASH ,PIPE ,LPRN ,RPRN ,7 ,8 ,9 ,SLSH ,EQUAL , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , , ,EXLM ,AT ,HASH ,DLR ,LCBR ,RCBR ,4 ,5 ,6 ,ASTR ,PLUS , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , , ,PERC ,CIRC ,AMPR ,ASTR ,LBRC ,RBRC ,1 ,2 ,3 ,MINUS , , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , , , ,0 - //\-------------------------------+-------+-------+-------/ \-------+-------+---------------------------------------/ - ), - - [_FUNC] = LAYOUT_kc( - //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - ,RESET ,SLEP ,MRWD ,MPLY ,MFFD , , ,F9 ,F10 ,F11 ,F12 , , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , , ,PWR ,MUTE ,VOLD ,VOLU , , ,F5 ,F6 ,F7 ,F8 , , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , , ,WAKE ,MPRV ,MPLY ,MNXT , , ,F1 ,F2 ,F3 ,F4 , , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , , , , - //\-------------------------------+-------+-------+-------/ \-------+-------+---------------------------------------/ - ), - - [_MOUSE] = LAYOUT_kc( - //,-------+-------+-------+-------+-------+-------+-------. ,-------+-------+-------+-------+-------+-------+-------. - , , , , , , , , , , , , , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , , , ,BTN1 ,BTN3 ,BTN2 , , ,MS_L ,MS_D ,MS_U ,MS_R , , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , , , ,ACL0 ,ACL1 ,ACL2 , , ,WH_L ,WH_D ,WH_U ,WH_R , , - //|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| - , , , , - //\-------------------------------+-------+-------+-------/ \-------+-------+---------------------------------------/ - ), -}; - -// These control the color of the LED on the receiver -// For color reference, see ../../chimera_ortho.h -void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - - switch (layer) { - case _BASE: - set_led_cyan; - break; - case _NAV: - set_led_blue; - break; - case _SYM: - set_led_magenta; - break; - case _FUNC: - set_led_yellow; - default: - set_led_white; - break; - } -}; diff --git a/keyboards/chimera_ortho/keymaps/dcompact/readme.md b/keyboards/chimera_ortho/keymaps/dcompact/readme.md deleted file mode 100644 index bf72567ef10b..000000000000 --- a/keyboards/chimera_ortho/keymaps/dcompact/readme.md +++ /dev/null @@ -1,45 +0,0 @@ -# DCompact Layout - -**Dvorak, Layered, Mouse-Enabled, Compact -- Plover coming soon!?!~** - -_See [the layout source](keymap.c) for the actual layout_ - -## Goals - -The following are the goals kept in mind when designing the DCompact -layout: - -- Provide minimal travel distance when typing English or coding -- Consistent muscle memory translation from standard QWERTY -- Stateless typing experience -- OS-agnostic features, macros, and key placement -- Minimize dependence on mouse usage - -These are generally all met or balanced within reason. This layout is -not intended at all to be a familiar layout for much of anyone (except -maybe those who already type in Dvorak) -- this is meant to amplify the -best parts of having limited, ortholinear keys with layering. - -## As Reference Material - -If you're reading this hoping to find reference material to implement -your own layout, then please feel free to copy over this layout and -make edits where you see fit. I removed a lot of the features I felt -extraneous to my usage and simplified style where I felt needed. This -would hopefully mean that my code should feel like a good base to -develop from for those new to QMK. - -_Remember that settings defined in the layout directory override and -merge with those in the keyboard folder_ - -## Relevant Links - -- [Online Dvorak Layout Trainer](https://learn.dvorak.nl/) -- [Dvorak Wikipedia Page](https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard) -- [QMK Docs](https://docs.qmk.fm/#/) -- [QMK KeyCode Reference](https://docs.qmk.fm/#/keycodes) - -## Contact - -Maintainer: [Dan](https://github.com/loksonarius) - diff --git a/keyboards/chimera_ortho/keymaps/gordon/keymap.c b/keyboards/chimera_ortho/keymaps/gordon/keymap.c deleted file mode 100644 index 5bd2019c26f9..000000000000 --- a/keyboards/chimera_ortho/keymaps/gordon/keymap.c +++ /dev/null @@ -1,363 +0,0 @@ -// this is the style you want to emulate. -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, - -#include QMK_KEYBOARD_H -#include "version.h" -#include "gordon.h" - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. - -#define CALTDEL LCTL(LALT(KC_DEL)) -#define TSKMGR LCTL(LSFT(KC_ESC)) - -#define KC_SNAPLEFT LGUI(KC_LEFT) -#define KC_SNAPRIGHT LGUI(KC_RIGHT) -#define KC_SNAPUP LGUI(KC_UP) -#define KC_SNAPDOWN LGUI(KC_DOWN) -#define KC_PREVTAB LCTL(LSFT(KC_TAB)) -#define KC_NEXTTAB LCTL(KC_TAB) -#define KC_WORKRIGHT LCTL(LGUI(KC_RIGHT)) -#define KC_WORKLEFT LCTL(LGUI(KC_LEFT)) - -#define KC_NMPD TG(_NUMPAD) -#define KC_SYMB TG(_SYMBOLS) - -#define KC_SCTL MT(MOD_LCTL, KC_LBRC) -#define KC_SCTR MT(MOD_LCTL, KC_RBRC) -#define KC_SPLT MT(MOD_LALT, KC_MINS) -#define KC_SPRT MT(MOD_LALT, KC_1) -#define KC_GBRC MT(MOD_RGUI, KC_8) -#define KC_GQOT MT(MOD_LGUI, KC_QUOT) -#define KC_CSHW MT(MOD_LCTL|MOD_LSFT,KC_W) - -#define KC_CDEL LCTL(KC_DEL) -#define KC_AUDUP KC_AUDIO_VOL_UP -#define KC_AUDOWN KC_AUDIO_VOL_DOWN - - -#define KC_MEHS MEH_T(KC_S) -#define KC_MEHL MEH_T(KC_L) -#define KC_GWIN GUI_T(KC_G) -#define KC_FCTL CTL_T(KC_F) -#define KC_JCTL CTL_T(KC_J) -#define KC_ZCTL CTL_T(KC_Z) -#define KC_ALTV ALT_T(KC_V) -#define KC_ALTN ALT_T(KC_N) -#define KC_MEHX ALL_T(KC_X) -#define KC_RESET RESET - -//LTs -#define KC_MESC LT(_MACROS, KC_ESC) -#define KC_DNUM LT(_NUMPAD, KC_D) -#define KC_SPFN LT(_NAV,KC_EQL) -#define KC_EMAUS LT(_MOUSE,KC_E) -#define KC_ENAV LT(_NAV,KC_E) -#define KC_INAV LT(_TEXTNAV,KC_I) -#define KC_BSPSYM LT(_SYMBOLS,KC_BSPACE) -#define KC_ENTSYM LT(_SYMBOLS,KC_ENTER) -#define KC_CLNMAUS LT(_MOUSE,KC_SCOLON) - -#define KC_FUNC TT(_FUNCTION) - -//TAP DANCE -#define KC_F6F7 TD(F6F7) -#define KC_ALF4 TD(ALTF4) -#define KC_TTT TD(TTT) -#define KC_ENHM TD(HOME_END) -#define KC_CLPS TD(CALC_PRINTSCREEN) - - -#define KC_INCL M(0) -#define KC_PULL M(1) -#define KC_PUSH M(2) -#define KC_SCAP M(3) -#define KC_SCOF M(4) -#define KC_CAD LALT(LCTL(KC_DEL)) - -#define LONGPRESS_DELAY 150 -//#define LAYER_TOGGLE_DELAY 300 - -// Fillers to make layering more clear -#define KC_ KC_TRNS - -/* TODO: - * - * DONE: RESET and CAD into macro layer. - * DONE: WINUP AND WINDOWN in NAV layer - * DONE: Get rid of caps layer. not sure what it is even for. - * DONE: LMEH - * DONE: plus, divide, multiply on left hand for num layer - * DONE: F1 - F12 on a layer toggle (not a temp toggle but a one shot or something) - * DONE: Volume, page up and down for mouse layer. - * DONE: Add full user files - without using anything. - * DONE: Insert, ctrl delete - * DONE: Home and End - * DONE: Printscreen - - * Easier way to open new terminal (instead of alt + F2) - * Intellij/text navigation layer (ctrl delete could be here). - * Macro for "System.exit(0)" probably macro layer and "c" - * Some sort of tap dance for comma, H, right pinky, and possibly other corners. - * Something more with the right hand. not sure what. - * Mouse: Left scroll, right scroll - * Passwords and any other macros. - * LED for control - * All modifiers reset - * Russain layer - * Hebrew layer - * Get rid of stupid git pull and push macros. - * -*/ - -enum { - TTT = 4, - HOME_END, - CALC_PRINTSCREEN -}; - -static xtap ttt_state = { - .is_press_action = true, - .state = 0 -}; - - -//Already exists in gordon.c, shouldn't need this anymore -/*// To activate SINGLE_HOLD, you will need to hold for 200ms first. -// This tap dance favors keys that are used frequently in typing like 'f' -int cur_dance (qk_tap_dance_state_t *state) { - if (state->count == 1) { - if (state->interrupted) { - return SINGLE_TAP; - } - else { - if (!state->pressed) return SINGLE_TAP; - else return SINGLE_HOLD; - } - } - //If count = 2, and it has been interrupted - assume that user is trying to type the letter associated - //with single tap. - else if (state->count == 2) { - if (state->interrupted) return DOUBLE_SINGLE_TAP; - else if (state->pressed) return DOUBLE_HOLD; - else return DOUBLE_TAP; - } - else if ((state->count == 3) && ((state->interrupted) || (!state->pressed))) return TRIPLE_TAP; - else if (state->count == 3) return TRIPLE_HOLD; - else return 8; //magic number. At some point this method will expand to work for more presses -}*/ - -/* "Super tap toggle" - * Basically, TT but for two or more layers for a single key. - * This particular dance: - * Single tap/hold - TT for Function layer - * Double tap/hold - TT for Numpad layer - * Triple tap/hold - TT for Mouse layer - * -*/ -void TTT_finished (qk_tap_dance_state_t *state, void *user_data) { - ttt_state.state = cur_dance(state); - switch (ttt_state.state) { - case SINGLE_TAP: layer_invert(_FUNCTION); break; - case SINGLE_HOLD: layer_on(_FUNCTION); break; - case DOUBLE_TAP: layer_invert(_NUMPAD); break; - case DOUBLE_HOLD: layer_on(_NUMPAD); break; - case DOUBLE_SINGLE_TAP: layer_invert(_NUMPAD); break; - case TRIPLE_TAP: layer_invert(_MOUSE); break; - case TRIPLE_HOLD: layer_on(_MOUSE); break; - } -} - -void TTT_reset (qk_tap_dance_state_t *state, void *user_data) { - switch (ttt_state.state) { - case SINGLE_TAP: break; - case SINGLE_HOLD: layer_off(_FUNCTION); break; - case DOUBLE_TAP: break; - case DOUBLE_HOLD: layer_off(_NUMPAD); break; - case DOUBLE_SINGLE_TAP: break; - case TRIPLE_TAP: break; - case TRIPLE_HOLD: layer_off(_MOUSE); break; - } - ttt_state.state = 0; -} - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - MESC, Q ,CSHW,ENAV, R , T ,SPC , CLPS, Y , U ,INAV, O , P ,TTT, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - TAB , A , MEHS,DNUM,FCTL,GWIN,GRAVE, TILD, H ,JCTL, K ,MEHL,CLNMAUS,ENHM, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - MINUS,ZCTL,MEHX, C ,ALTV, B ,DELETE, INS ,ALTN, M ,COMM,DOT ,SLSH,UNDS, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - LSHIFT,BSPSYM, SPC ,ENTSYM - // \------------------+----+----+---/ \---+----+----+-------------------/ - ), - - [_NUMPAD] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - , , , ,ASTR, , , , , 7 , 8 , 9 ,ASTR,/**/, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - ,MINS,PLUS,/**/,EQUAL, , , , , 4 , 5 , 6 ,PLUS, , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , ,SLSH, , , , , 1 , 2 , 3 ,SLSH, , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , 0 - // \------------------+----+----+---/ \---+----+----+-------------------/ - ), - - [_SYMBOLS] = LAYOUT_kc( - //,----+----+-----+----+----+----+----. ,----+----+----+----+----+----+----. - ,EXLM, AT ,LCBR,RCBR,HASH, , ,CIRC,AMPR,ASTR,LPRN,RPRN,/**/, - //|----+----+-----+----+----+----+----| |----+----+----+----+----+----+----| - ,EXLM,EXLM,LPRN,RPRN , , , , ,DQUO,EQUAL,QUOTE,RCBR, , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - ,DOLLAR, PERC,LBRACKET,RBRACKET, , , ,PIPE,BSLASH,PLUS, , , , - //|----+----+-----+----+----+----+----| |----+----+----+----+----+----+----| - UNDS,/**/, ,/**/ - // \-------------------+----+----+---/ \---+----+----+-------------------/ - ), - - [_FUNCTION] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - F6F7 ,F1 ,F2 ,F3 ,ALF4,F5 ,F6 , F7 ,F8 ,F9 ,F10 ,F11 ,F12 ,/**/, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , , , , , , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , , , , , , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , - // \------------------+----+----+---/ \---+----+----+-------------------/ - ), - - [_NAV] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - , ,SNAPLEFT,/**/,SNAPRIGHT,, , , , , UP , , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - ,SNAPUP,PREVTAB, ,NEXTTAB,SNAPDOWN,, , ,LEFT,DOWN,RGHT, , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , ,WORKLEFT, ,WORKRIGHT,, , , ,PGUP,PGDN, , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - CDEL ,DEL, , - // \------------------+----+----+---/ \---+----+----+-------------------/ - ), - - [_TEXTNAV] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - , , , , , , , , , ,/**/, , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , , , , , , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , , , , , , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , - // \------------------+----+----+---/ \---+----+----+-------------------/ - ), - - [_MOUSE] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - , , ,MS_UP, , , , , , , UP , , , ,/**/ - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , ,MS_LEFT,MS_DOWN,MS_RIGHT, , , , ,LEFT,DOWN,RGHT,/**/, , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , , , , , , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - ,MS_BTN1 ,MS_BTN2 , - // \------------------+----+----+---/ \---+----+----+-------------------/ - ), - - - [_MACROS] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - /**/,RESET,SECRET_2,SECRET_3, , , ,SYSTEM_SLEEP, , ,INCL, , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - CAD ,SECRET_1, , , , , , , , , , , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - SCAP, , , , , , , , , , , , ,SCAP, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , - // \------------------+----+----+---/ \---+----+----+-------------------/ - ) - -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { - /* include some kind of library or header */ - case 0: - if (record->event.pressed) { - SEND_STRING("#include <>"); - return MACRO( T(LEFT), END); - } - break; - case 1: - if (record->event.pressed) { - SEND_STRING("git pull"); - return MACRO( T(ENT), END ); - } - break; - case 2: - if (record->event.pressed){ - SEND_STRING("git push"); - return MACRO( T(ENT), END ); - } - break; - case 3: - if (record->event.pressed){ - // layer_on(_CAPS); - // register_code(KC_CAPSLOCK); - // unregister_code(KC_CAPSLOCK); - } - break; - case 4: - if (record->event.pressed){ - // layer_off(_CAPS); - // register_code(KC_CAPSLOCK); - // unregister_code(KC_CAPSLOCK); - } - break; - } - return MACRO_NONE; -}; - - -void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - - switch (layer) { - case _QWERTY: - set_led_green; - break; - case _MOUSE: - set_led_yellow; - break; - case _NUMPAD: - set_led_blue; - break; - case _SYMBOLS: - set_led_red; - break; - case _NAV: - set_led_magenta; - break; - case _MACROS: - set_led_green; - _delay_ms(45); - set_led_red; - _delay_ms(45); - break; - case _FUNCTION: - set_led_green; - _delay_ms(45); - set_led_blue; - _delay_ms(45); - break; - default: - set_led_green; - break; - } -}; diff --git a/keyboards/chimera_ortho/rules.mk b/keyboards/chimera_ortho/rules.mk index e3bbaa39d415..c2ef78562ebd 100644 --- a/keyboards/chimera_ortho/rules.mk +++ b/keyboards/chimera_ortho/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,9 +17,8 @@ CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls +MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # project specific files SRC += matrix.c serial_uart.c diff --git a/keyboards/chimera_ortho_plus/rules.mk b/keyboards/chimera_ortho_plus/rules.mk index c11b5c601ea3..242427220598 100644 --- a/keyboards/chimera_ortho_plus/rules.mk +++ b/keyboards/chimera_ortho_plus/rules.mk @@ -1,20 +1,13 @@ # MCU name MCU = atmega32u4 -# Bootloader -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp +# Bootloader selection BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = yes diff --git a/keyboards/chlx/merro60/config.h b/keyboards/chlx/merro60/config.h new file mode 100644 index 000000000000..526433ef8f96 --- /dev/null +++ b/keyboards/chlx/merro60/config.h @@ -0,0 +1,58 @@ +/* +Copyright 2021 Alexander Lee + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4358 // "CX" - chlx +#define PRODUCT_ID 0x0601 +#define DEVICE_VER 0x0100 +#define MANUFACTURER chlx +#define PRODUCT chlx merro60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D4, D5, D3, B5, F4 } +#define MATRIX_COL_PINS { B7, D1, D0, B0, B1, E6, B2, B3, D2, D7, B4, B6, C6, C7, D6 } +#define UNUSED_PINS +// #define UNUSED_PINS { F0, F1, F5, F6, F7 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* VIA related config */ +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/chlx/merro60/info.json b/keyboards/chlx/merro60/info.json new file mode 100644 index 000000000000..00ae7cf177f4 --- /dev/null +++ b/keyboards/chlx/merro60/info.json @@ -0,0 +1,509 @@ +{ + "keyboard_name": "merro60", + "url": "www.github.com/gaclee3b", + "maintainer": "gaclee3b", + "width": 15, + "height": 5, + "layout_aliases": { + "LAYOUT_default": "LAYOUT_all", + "LAYOUT_hhkb": "LAYOUT_60_hhkb", + "LAYOUT_iso": "LAYOUT_60_iso_split_bs_rshift", + "LAYOUT_tsangan": "LAYOUT_60_tsangan_hhkb" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2}, + {"x": 13.75, "y": 2, "w": 1.25}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1.25, "y": 3}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y": 4, "w": 1.25}, + {"x": 12.5, "y": 4, "w": 1.25}, + {"x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":2.75}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y": 4, "w": 1.25}, + {"x": 12.5, "y": 4, "w": 1.25}, + {"x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 1.5, "y": 4}, + {"x": 2.5, "y": 4, "w": 1.5}, + {"x": 4, "y": 4, "w": 7}, + {"x": 11, "y": 4, "w": 1.5}, + {"x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0, "w": 2}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2}, + {"x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1.25, "y": 3}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 2.75}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y": 4, "w": 1.25}, + {"x": 12.5, "y": 4, "w": 1.25}, + {"x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2}, + {"x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1.25, "y": 3}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y": 4, "w": 1.25}, + {"x": 12.5, "y": 4, "w": 1.25}, + {"x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 0, "y": 4, "w": 1.5}, + {"x": 1.5, "y": 4}, + {"x": 2.5, "y": 4, "w": 1.5}, + {"x": 4, "y": 4, "w": 7}, + {"x": 11, "y": 4, "w": 1.5}, + {"x": 12.5, "y": 4}, + {"x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} + diff --git a/keyboards/chlx/merro60/keymaps/ansi/keymap.c b/keyboards/chlx/merro60/keymaps/ansi/keymap.c new file mode 100644 index 000000000000..eebc623cc857 --- /dev/null +++ b/keyboards/chlx/merro60/keymaps/ansi/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2021 Alexander Lee + +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_60_ansi_split_bs_rshift( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_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_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL), + +[1] = LAYOUT_60_ansi_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, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, RESET, + _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/chlx/merro60/keymaps/default/keymap.c b/keyboards/chlx/merro60/keymaps/default/keymap.c new file mode 100644 index 000000000000..ee16d638002a --- /dev/null +++ b/keyboards/chlx/merro60/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2021 Alexander Lee + +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_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_UP, KC_ENT, + KC_LSFT, KC_LEFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGHT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_DOWN, KC_RCTL), + +[1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/chlx/merro60/keymaps/hhkb/keymap.c b/keyboards/chlx/merro60/keymaps/hhkb/keymap.c new file mode 100644 index 000000000000..b7058cfc1b14 --- /dev/null +++ b/keyboards/chlx/merro60/keymaps/hhkb/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2021 Alexander Lee + +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_60_hhkb( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_LCTL, 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_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI), + +[1] = LAYOUT_60_hhkb( + 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_INS, KC_DEL, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, RESET, + _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______), +}; diff --git a/keyboards/chlx/merro60/keymaps/iso/keymap.c b/keyboards/chlx/merro60/keymaps/iso/keymap.c new file mode 100644 index 000000000000..fdfbeafce0d4 --- /dev/null +++ b/keyboards/chlx/merro60/keymaps/iso/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2021 Alexander Lee + +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_60_iso_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_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_RGHT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), + +[1] = LAYOUT_60_iso_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, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/chlx/merro60/keymaps/tsangan/keymap.c b/keyboards/chlx/merro60/keymaps/tsangan/keymap.c new file mode 100644 index 000000000000..560abd994743 --- /dev/null +++ b/keyboards/chlx/merro60/keymaps/tsangan/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2021 Alexander Lee + +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_60_tsangan_hhkb( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_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_tsangan_hhkb( + 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, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/chlx/merro60/keymaps/via/keymap.c b/keyboards/chlx/merro60/keymaps/via/keymap.c new file mode 100644 index 000000000000..1e44a9cfd6c8 --- /dev/null +++ b/keyboards/chlx/merro60/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* +Copyright 2021 Alexander Lee + +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_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_UP, KC_ENT, + KC_LSFT, KC_LEFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGHT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_DOWN, KC_RCTL), + +[1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, BL_STEP, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), + +[2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), + +[3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______) + +}; + diff --git a/keyboards/chlx/merro60/keymaps/via/rules.mk b/keyboards/chlx/merro60/keymaps/via/rules.mk new file mode 100644 index 000000000000..5f615ff62b74 --- /dev/null +++ b/keyboards/chlx/merro60/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes + diff --git a/keyboards/chlx/merro60/merro60.c b/keyboards/chlx/merro60/merro60.c new file mode 100644 index 000000000000..4182c65c766e --- /dev/null +++ b/keyboards/chlx/merro60/merro60.c @@ -0,0 +1,19 @@ +/* +Copyright 2021 Alexander Lee + +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 "merro60.h" + diff --git a/keyboards/chlx/merro60/merro60.h b/keyboards/chlx/merro60/merro60.h new file mode 100644 index 000000000000..dee6a5a96ab6 --- /dev/null +++ b/keyboards/chlx/merro60/merro60.h @@ -0,0 +1,214 @@ +/* +Copyright 2021 Alexander Lee + +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 "quantum.h" + +// Corresponding changes to the layout names and/or definitions must also be made to info.json + +#define XXX KC_NO + +/* //////////////////// LAYOUT_all //////////////////// + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ + * │40 │41 │42 │45 (6.25u) │4a │4b │4c │4d │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +*/ + +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k45, k4a, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ +} + +/* //////////////////// LAYOUT_60_ansi //////////////////// + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │40 │41 │42 │45 │4a │4b │4c │4d │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +*/ +#define LAYOUT_60_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k45, k4a, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \ + { XXX, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, XXX }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ +} + +/* //////////////////// LAYOUT_60_ansi_split_bs_rshift //////////////////// + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ + * │40 │41 │42 │45 │4a │4b │4d │4e │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +*/ +#define LAYOUT_60_ansi_split_bs_rshift( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k45, k4a, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \ + { XXX, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ +} + +/* //////////////////// LAYOUT_60_hhkb //////////////////// + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ + * │▓▓▓▓▓│41 │42 │45 (7u) │4b │4c │▓▓▓▓▓│ + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +*/ +#define LAYOUT_60_hhkb( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k41, k42, k45, k4b, k4c \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \ + { XXX, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \ + { XXX, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, XXX, k4b, k4c, XXX, XXX } \ +} + +/* //////////////////// LAYOUT_60_iso //////////////////// + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2d │ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │40 │41 │42 │45 │4a │4b │4c │4d │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +*/ +#define LAYOUT_60_iso( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k45, k4a, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, XXX }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ +} + +/* //////////////////// LAYOUT_60_iso_split_bs_rshift //////////////////// + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2d │ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ + * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ + * │40 │41 │42 │45 │4a │4b │4c │4d │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +*/ +#define LAYOUT_60_iso_split_bs_rshift( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k45, k4a, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ +} + +/* //////////////////// LAYOUT_60_tsangan_hhkb //////////////////// + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ + * │40 │41 │42 │45 (7u) │4b │4c │4d │ + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +*/ +#define LAYOUT_60_tsangan_hhkb( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k45, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \ + { XXX, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, XXX, k4b, k4c, k4d, XXX } \ +} diff --git a/keyboards/chlx/merro60/readme.md b/keyboards/chlx/merro60/readme.md new file mode 100644 index 000000000000..f783c0e438f7 --- /dev/null +++ b/keyboards/chlx/merro60/readme.md @@ -0,0 +1,20 @@ +# merro60 + +merro60 PCB + +A standard 60% format keyboard pcb with USB-C and unified daughterboard compatibility. +Has modified cutouts to allow usage of certain tray mount cases into gummy gasket o-ring mount. + +Keyboard Maintainer: [Alexander Lee](https://github.com/gaclee3b) +Hardware Supported: chlx PCB merro60.1, merro60.1.1, merro60.1.2 + +Enter bootloader mode by any of the following options - +- When unplugged, holding the top-left key (typically ESC) while plugging in the keyboard +- When plugged in, pressing and releasing the reset button on the pcb bottom behind the CAPSLOCK / A-key region +- When plugged in, shorting out the two reset metal contacts near the spacebar switch location (NOT the spacebar switch pin holes) + +Make example for this keyboard (after setting up your build environment): + + make chlx/merro60: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). diff --git a/keyboards/chlx/merro60/rules.mk b/keyboards/chlx/merro60/rules.mk new file mode 100644 index 000000000000..bbf18ab1cc66 --- /dev/null +++ b/keyboards/chlx/merro60/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_hhkb 60_iso 60_tsangan_hhkb diff --git a/keyboards/choc_taro/config.h b/keyboards/choc_taro/config.h index 7dee9d336401..3b1ad493a131 100644 --- a/keyboards/choc_taro/config.h +++ b/keyboards/choc_taro/config.h @@ -191,26 +191,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/choc_taro/rules.mk b/keyboards/choc_taro/rules.mk index 19b81990aaba..9afd6f51cb54 100644 --- a/keyboards/choc_taro/rules.mk +++ b/keyboards/choc_taro/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/choco60/rev1/rules.mk b/keyboards/choco60/rev1/rules.mk index 12453d839e54..aa5c9d06ec87 100644 --- a/keyboards/choco60/rev1/rules.mk +++ b/keyboards/choco60/rev1/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/choco60/rev2/config.h b/keyboards/choco60/rev2/config.h index 378323497154..46aef108d838 100644 --- a/keyboards/choco60/rev2/config.h +++ b/keyboards/choco60/rev2/config.h @@ -29,7 +29,8 @@ along with this program. If not, see . */ #define MATRIX_ROW_PINS { C5, C4, B6, B7, C7 } #define MATRIX_ROW_PINS_RIGHT { D3, D2, D5, D6, B0 } -#define MATRIX_COL_PINS { C6, B4, B3, B2, B1, B0 } +/* The last three NO_PIN are dummies to make the same size as MATRIX_ROW_PINS_RIGHT. */ +#define MATRIX_COL_PINS { C6, B4, B3, B2, B1, B0, NO_PIN, NO_PIN, NO_PIN } #define MATRIX_COL_PINS_RIGHT { C7, B7, B6, B5, B4, B3, B2, C6, D4 } #define UNUSED_PINS diff --git a/keyboards/choco60/rev2/rules.mk b/keyboards/choco60/rev2/rules.mk index b93b9467a6a6..44937cdcb9ae 100644 --- a/keyboards/choco60/rev2/rules.mk +++ b/keyboards/choco60/rev2/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/christmas_tree/christmas_tree.c b/keyboards/christmas_tree/christmas_tree.c index 04d41c1db333..c03670a3a54f 100644 --- a/keyboards/christmas_tree/christmas_tree.c +++ b/keyboards/christmas_tree/christmas_tree.c @@ -1,5 +1 @@ #include "christmas_tree.h" - -void matrix_init_kb(void) { - matrix_init_user(); -} diff --git a/keyboards/christmas_tree/rules.mk b/keyboards/christmas_tree/rules.mk index da85eb37286c..4d3400deca06 100644 --- a/keyboards/christmas_tree/rules.mk +++ b/keyboards/christmas_tree/rules.mk @@ -2,32 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/ck60i/ck60i.c b/keyboards/ck60i/ck60i.c index 2516e636de60..7e5cd3321864 100644 --- a/keyboards/ck60i/ck60i.c +++ b/keyboards/ck60i/ck60i.c @@ -17,12 +17,14 @@ along with this program. If not, see . #include "ck60i.h" -__attribute__((weak)) void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) return false; if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } - } + } + return true; } diff --git a/keyboards/ck60i/info.json b/keyboards/ck60i/info.json new file mode 100644 index 000000000000..f7bec1378deb --- /dev/null +++ b/keyboards/ck60i/info.json @@ -0,0 +1,82 @@ +{ + "keyboard_name": "CK60i", + "url": "", + "maintainer": "qmk", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":2, "w":1.25}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4} + ] + } + } +} diff --git a/keyboards/ck60i/rules.mk b/keyboards/ck60i/rules.mk index 10f86791e948..18b4e737ffcb 100644 --- a/keyboards/ck60i/rules.mk +++ b/keyboards/ck60i/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ckeys/handwire_101/config.h b/keyboards/ckeys/handwire_101/config.h index f1e784fd245d..11ec21e2f3b5 100755 --- a/keyboards/ckeys/handwire_101/config.h +++ b/keyboards/ckeys/handwire_101/config.h @@ -23,8 +23,8 @@ along with this program. If not, see . #define VENDOR_ID 0xFEED #define PRODUCT_ID 0x6060 #define DEVICE_VER 0x0001 -#define MANUFACTURER ckeys_handwire -#define PRODUCT ckeys_handwire +#define MANUFACTURER cKeys +#define PRODUCT Handwire 101 /* key matrix size */ #define MATRIX_ROWS 4 @@ -64,26 +64,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* * Force NKRO * diff --git a/keyboards/ckeys/handwire_101/handwire_101.c b/keyboards/ckeys/handwire_101/handwire_101.c index a6ff8f0e3d0f..7d251ddce6c5 100755 --- a/keyboards/ckeys/handwire_101/handwire_101.c +++ b/keyboards/ckeys/handwire_101/handwire_101.c @@ -1,28 +1,17 @@ -#include "handwire_101.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - // Turn status LED on - //DDRD |= (1<<6); - //PORTD |= (1<<6); - - matrix_init_user(); -} +/* Copyright 2019 Branden Byers + * + * 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 . + */ -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} +#include "handwire_101.h" diff --git a/keyboards/ckeys/handwire_101/handwire_101.h b/keyboards/ckeys/handwire_101/handwire_101.h index 0f0309c3245c..5d6ef6ff09f7 100755 --- a/keyboards/ckeys/handwire_101/handwire_101.h +++ b/keyboards/ckeys/handwire_101/handwire_101.h @@ -1,12 +1,24 @@ +/* Copyright 2019 Branden Byers + * + * 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 "quantum.h" -// This a shortcut to help you visually see your layout. -// The following is an example using the Planck MIT layout -// The first section contains all of the arguements -// The second converts the arguments into a two-dimensional array -#define LAYOUT( \ +#define LAYOUT_ortho_4x4( \ k00, k01, k02, k03, \ k10, k11, k12, k13, \ k20, k21, k22, k23, \ @@ -18,4 +30,3 @@ { k20, k21, k22, k23 }, \ { k30, k31, k32, k33 } \ } - diff --git a/keyboards/ckeys/handwire_101/info.json b/keyboards/ckeys/handwire_101/info.json index dfe6c4830462..8113e391dbec 100644 --- a/keyboards/ckeys/handwire_101/info.json +++ b/keyboards/ckeys/handwire_101/info.json @@ -1,13 +1,35 @@ { - "keyboard_name": "cKeys Handwire 101", - "url": "https://ckeys.org/slides/handwire/", - "maintainer": "brandenbyers", - "width": 4, - "height": 4, - "layouts": { - "LAYOUT_ortho_4x4": { - "key_count": 16, - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}] + "keyboard_name": "cKeys Handwire 101", + "url": "https://ckeys.org/slides/handwire/", + "maintainer": "brandenbyers", + "width": 4, + "height": 4, + "layout_aliases": { + "LAYOUT": "LAYOUT_ortho_4x4" + }, + "layouts": { + "LAYOUT_ortho_4x4": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3} + ] + } } - } } diff --git a/keyboards/ckeys/handwire_101/keymaps/default/config.h b/keyboards/ckeys/handwire_101/keymaps/default/config.h deleted file mode 100755 index 9935accb02dd..000000000000 --- a/keyboards/ckeys/handwire_101/keymaps/default/config.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -// Add overrides here diff --git a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c index 8c65406ddb7f..fdca99fd0726 100755 --- a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c +++ b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c @@ -1,177 +1,191 @@ +/* Copyright 2019 Branden Byers + * + * 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 layers { - _BASE, // base layer - _LAYERS, // layer of all layers - _MUSIC, // music mode - _MUSIC_4_LIFE, // music mode until unplugged - _MOUSE, // mousekeys - _TERMINAL, // terminal - _ADMIN // admin duties + _BASE, // base layer + _LAYERS, // layer of all layers + _MUSIC, // music mode + _MUSIC_4_LIFE, // music mode until unplugged + _MOUSE, // mousekeys + _TERMINAL, // terminal + _ADMIN // admin duties }; enum custom_keycodes { - TERM_ABOUT = SAFE_RANGE, - TERM_PRINT, - TERM_FLUSH, - TERM_HELP, - CKEYS_ABOUT, + TERM_ABOUT = SAFE_RANGE, + TERM_PRINT, + TERM_FLUSH, + TERM_HELP, + CKEYS_ABOUT, }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* BASE (numpad) - * ,-----------------------. - * | 7 | 8 | 9 | / | <-- Hold for LAYERS - * |-----+-----+-----+-----| - * | 4 | 5 | 6 | * | - * |-----+-----+-----+-----| - * | 1 | 2 | 3 | - | - * |-----+-----+-----+-----| - * | 0 | . | = | + | - * `---------------------- ' - */ - [_BASE] = LAYOUT( - KC_KP_7, KC_KP_8, KC_KP_9, LT(MO(_LAYERS), KC_PSLS), \ - KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, \ - KC_KP_1, KC_KP_2, KC_KP_3, KC_PMNS, \ - KC_KP_0, KC_KP_DOT, KC_KP_EQUAL, KC_PPLS \ - ), + * ,-----------------------. + * | 7 | 8 | 9 | / | <-- Hold for LAYERS + * |-----+-----+-----+-----| + * | 4 | 5 | 6 | * | + * |-----+-----+-----+-----| + * | 1 | 2 | 3 | - | + * |-----+-----+-----+-----| + * | 0 | . | = | + | + * `-----------------------' + */ + [_BASE] = LAYOUT_ortho_4x4( + KC_P7, KC_P8, KC_P9, LT(_LAYERS, KC_PSLS), + KC_P4, KC_P5, KC_P6, KC_PAST, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_P0, KC_PDOT, KC_PEQL, KC_PPLS + ), /* LAYERS - * ,---------------------------. - * | MUSIC | | | X | - * |---------+-----+-----+-----| - * | MOUSE | | | | - * |---------+-----+-----+-----| - * |TERMINAL | | | | - * |---------+-----+-----+-----| - * | ADMIN | | | | - * `---------------------------' - */ - [_LAYERS] = LAYOUT( - TG(_MUSIC), _______, _______, _______, \ - TG(_MOUSE), _______, _______, _______, \ - TG(_TERMINAL), _______, _______, _______, \ - TG(_ADMIN), _______, _______, _______\ - ), + * ,---------------------------. + * | MUSIC | | | X | + * |---------+-----+-----+-----| + * | MOUSE | | | | + * |---------+-----+-----+-----| + * |TERMINAL | | | | + * |---------+-----+-----+-----| + * | ADMIN | | | | + * `---------------------------' + */ + [_LAYERS] = LAYOUT_ortho_4x4( + TG(_MUSIC), _______, _______, _______, + TG(_MOUSE), _______, _______, _______, + TG(_TERMINAL), _______, _______, _______, + TG(_ADMIN), _______, _______, _______ + ), /* MUSIC - * ,-----------------------. - * | X | | | X | - * |-----+-----+-----+-----| - * | | | |4EVER| - * |-----+-----+-----+-----| - * | OFF | | | | - * |-----+-----+-----+-----| - * | ON | | |MODES| - * `---------------------- ' - */ - // TODO: Make this music layer the one to jump to other music layers (different octaves) - [_MUSIC] = LAYOUT( - _______, _______, _______, _______, \ - _______, _______, _______, TG(_MUSIC_4_LIFE), \ - MU_OFF, _______, _______, _______, \ - MU_ON, _______, _______, MU_MOD \ - ), + * ,-----------------------. + * | X | | | X | + * |-----+-----+-----+-----| + * | | | |4EVER| + * |-----+-----+-----+-----| + * | OFF | | | | + * |-----+-----+-----+-----| + * | ON | | |MODES| + * `-----------------------' + */ + // TODO: Make this music layer the one to jump to other music layers (different octaves) + [_MUSIC] = LAYOUT_ortho_4x4( + _______, _______, _______, _______, + _______, _______, _______, TG(_MUSIC_4_LIFE), + MU_OFF, _______, _______, _______, + MU_ON, _______, _______, MU_MOD + ), /* MUSIC_4_LIFE - * ,-----------------------. - * | ♫ | ♫ | ♫ | ♫ | - * |-----+-----+-----+-----| - * | ♫ | ♫ | ♫ | ♫ | - * |-----+-----+-----+-----| - * | ♫ | ♫ | ♫ | ♫ | - * |-----+-----+-----+-----| - * | ♫ | ♫ | ♫ | ♫ | - * `---------------------- ' - */ - [_MUSIC_4_LIFE] = LAYOUT( - KC_M, KC_M, KC_M, KC_M, \ - KC_M, KC_M, KC_M, KC_M, \ - KC_M, KC_M, KC_M, KC_M, \ - KC_M, KC_M, KC_M, KC_M \ - ), + * ,-----------------------. + * | ♫ | ♫ | ♫ | ♫ | + * |-----+-----+-----+-----| + * | ♫ | ♫ | ♫ | ♫ | + * |-----+-----+-----+-----| + * | ♫ | ♫ | ♫ | ♫ | + * |-----+-----+-----+-----| + * | ♫ | ♫ | ♫ | ♫ | + * `-----------------------' + */ + [_MUSIC_4_LIFE] = LAYOUT_ortho_4x4( + KC_M, KC_M, KC_M, KC_M, + KC_M, KC_M, KC_M, KC_M, + KC_M, KC_M, KC_M, KC_M, + KC_M, KC_M, KC_M, KC_M + ), /* MOUSE - * ,-------------------------------------------------. - * | BUTTON 5 | | SCROLL UP | X | - * |-----------+-----------+------------+------------| - * | X |LEFT CLICK | UP |RIGHT CLICK | - * |-----------+-----------+------------+------------| - * | BUTTON 4 | LEFT | DOWN | RIGHT | - * |-----------+-----------+------------+------=-----| - * | BUTTON 3 |SCROLL LEFT|SCROLL DOWN |SCROLL RIGHT| - * `-------------------------------------------------' - */ - [_MOUSE] = LAYOUT( - KC_MS_BTN5, _______, KC_MS_WH_UP, _______, \ - _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, \ - KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, \ - KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT \ - ), + * ,-------------------------------------------------. + * | BUTTON 5 | | SCROLL UP | X | + * |-----------+-----------+------------+------------| + * | X |LEFT CLICK | UP |RIGHT CLICK | + * |-----------+-----------+------------+------------| + * | BUTTON 4 | LEFT | DOWN | RIGHT | + * |-----------+-----------+------------+------=-----| + * | BUTTON 3 |SCROLL LEFT|SCROLL DOWN |SCROLL RIGHT| + * `-------------------------------------------------' + */ + [_MOUSE] = LAYOUT_ortho_4x4( + KC_BTN5, _______, KC_WH_U, _______, + _______, KC_BTN1, KC_MS_U, KC_BTN2, + KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R, + KC_BTN3, KC_WH_L, KC_WH_D, KC_WH_R + ), /* TERMINAL - * ,---------------------------------------. - * | |ABOUT| | X | - * |------------+-----+----------+---------| - * |TERMINAL OFF|PRINT| | | - * |------------+-----+----------+---------| - * | X |FLUSH| | | - * |------------+-----+----------+---------| - * |TERMINAL ON |HELP | | | - * `--------=======------------------------' - */ - [_TERMINAL] = LAYOUT( - _______, TERM_ABOUT, _______, _______, \ - TERM_OFF, TERM_PRINT, _______, _______, \ - _______, TERM_FLUSH, _______, _______, \ - TERM_ON, TERM_HELP , _______, _______\ - ), + * ,---------------------------------------. + * | |ABOUT| | X | + * |------------+-----+----------+---------| + * |TERMINAL OFF|PRINT| | | + * |------------+-----+----------+---------| + * | X |FLUSH| | | + * |------------+-----+----------+---------| + * |TERMINAL ON |HELP | | | + * `--------=======------------------------' + */ + [_TERMINAL] = LAYOUT_ortho_4x4( + _______, TERM_ABOUT, _______, _______, + TERM_OFF, TERM_PRINT, _______, _______, + _______, TERM_FLUSH, _______, _______, + TERM_ON, TERM_HELP , _______, _______ + ), /* ADMIN - * ,-----------------------------------------. - * | RESET | | | X | - * |------------+-----+-----------+----------| - * |ABOUT CKEYS | | | | - * |------------+-----+-----------+----------| - * | | |CLICKY UP |CLICKY OFF| - * |------------+-----+-----------+----------| - * | X | |CLICKY DOWN|CLICKY ON | - * `-----------------------------------------' - */ - [_ADMIN] = LAYOUT( - RESET, _______, _______, _______, \ - CKEYS_ABOUT, _______, _______, _______, \ - _______, _______, _______, CK_OFF, \ - _______, _______, _______, CK_ON \ - ), + * ,-----------------------------------------. + * | RESET | | | X | + * |------------+-----+-----------+----------| + * |ABOUT CKEYS | | | | + * |------------+-----+-----------+----------| + * | | |CLICKY UP |CLICKY OFF| + * |------------+-----+-----------+----------| + * | X | |CLICKY DOWN|CLICKY ON | + * `-----------------------------------------' + */ + [_ADMIN] = LAYOUT_ortho_4x4( + RESET, _______, _______, _______, + CKEYS_ABOUT, _______, _______, _______, + _______, _______, _______, CK_OFF, + _______, _______, _______, CK_ON + ), }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TERM_ABOUT: - if (record->event.pressed) { - // when keycode TERM_ABOUT is pressed - SEND_STRING("about"SS_TAP(X_ENTER)); - } else { - // when keycode TERM_ABOUT is released - } - break; - case TERM_PRINT: - if (record->event.pressed) { - SEND_STRING("print"SS_TAP(X_ENTER)); - } else { } - break; - case TERM_FLUSH: - if (record->event.pressed) { - SEND_STRING("flush"SS_TAP(X_ENTER)); - } else { } - break; - case TERM_HELP: - if (record->event.pressed) { - SEND_STRING("help"SS_TAP(X_ENTER)); - } else { } - break; - case CKEYS_ABOUT: - if (record->event.pressed) { - SEND_STRING("https://cKeys.org"SS_TAP(X_ENTER)"Making people smile one keyboard at a time."SS_TAP(X_ENTER)"cKeys is a volunteer-run 501(c)(3) nonprofit organization."SS_TAP(X_ENTER)); - } else { } - break; - } - return true; + switch (keycode) { + case TERM_ABOUT: + if (record->event.pressed) { + // when keycode TERM_ABOUT is pressed + SEND_STRING("about\n"); + } + break; + case TERM_PRINT: + if (record->event.pressed) { + SEND_STRING("print\n"); + } + break; + case TERM_FLUSH: + if (record->event.pressed) { + SEND_STRING("flush\n"); + } + break; + case TERM_HELP: + if (record->event.pressed) { + SEND_STRING("help\n"); + } + break; + case CKEYS_ABOUT: + if (record->event.pressed) { + SEND_STRING("https://cKeys.org\nMaking people smile one keyboard at a time.\ncKeys is a volunteer-run 501(c)(3) nonprofit organization.\n"); + } + break; + } + return true; }; diff --git a/keyboards/ckeys/handwire_101/rules.mk b/keyboards/ckeys/handwire_101/rules.mk index 715738a0cd48..a9d18b634508 100755 --- a/keyboards/ckeys/handwire_101/rules.mk +++ b/keyboards/ckeys/handwire_101/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -#MIDI_ENABLE = yes # MIDI controls +MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/ckeys/nakey/config.h b/keyboards/ckeys/nakey/config.h index 9fa59689dba2..54775de72f2a 100644 --- a/keyboards/ckeys/nakey/config.h +++ b/keyboards/ckeys/nakey/config.h @@ -157,24 +157,4 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - #endif diff --git a/keyboards/ckeys/nakey/keymaps/default/keymap.c b/keyboards/ckeys/nakey/keymaps/default/keymap.c index be147b2d88c8..4ecacc731fe7 100644 --- a/keyboards/ckeys/nakey/keymaps/default/keymap.c +++ b/keyboards/ckeys/nakey/keymaps/default/keymap.c @@ -24,19 +24,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P0, KC_PDOT, KC_PENT \ ), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ckeys/nakey/nakey.c b/keyboards/ckeys/nakey/nakey.c index ba2fb90ebe40..84c0b03ff66f 100644 --- a/keyboards/ckeys/nakey/nakey.c +++ b/keyboards/ckeys/nakey/nakey.c @@ -13,30 +13,3 @@ * along with this program. If not, see . */ #include "nakey.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/ckeys/nakey/rules.mk b/keyboards/ckeys/nakey/rules.mk index 6910997e8e3b..a1a2a0087d58 100644 --- a/keyboards/ckeys/nakey/rules.mk +++ b/keyboards/ckeys/nakey/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ckeys/obelus/obelus.c b/keyboards/ckeys/obelus/obelus.c index 2905f0724df0..fc6b961f2a69 100644 --- a/keyboards/ckeys/obelus/obelus.c +++ b/keyboards/ckeys/obelus/obelus.c @@ -9,20 +9,3 @@ void matrix_init_kb(void) { matrix_init_user(); } - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} diff --git a/keyboards/ckeys/obelus/rules.mk b/keyboards/ckeys/obelus/rules.mk index 706cfd61f9a6..add1f2add336 100644 --- a/keyboards/ckeys/obelus/rules.mk +++ b/keyboards/ckeys/obelus/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = yes # MIDI controls +MIDI_ENABLE = yes # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = yes # Audio output on port C6 diff --git a/keyboards/ckeys/thedora/config.h b/keyboards/ckeys/thedora/config.h index c7557aa62d6d..cd09be3f76e5 100755 --- a/keyboards/ckeys/thedora/config.h +++ b/keyboards/ckeys/thedora/config.h @@ -62,26 +62,6 @@ #define DAC_SAMPLE_MAX 65535U -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* * Force NKRO * diff --git a/keyboards/ckeys/thedora/keymaps/default/keymap.c b/keyboards/ckeys/thedora/keymaps/default/keymap.c index c407fbe2640c..783475eb0a40 100755 --- a/keyboards/ckeys/thedora/keymaps/default/keymap.c +++ b/keyboards/ckeys/thedora/keymaps/default/keymap.c @@ -144,7 +144,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_PGDN); @@ -152,4 +152,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_PGUP); } } + return true; } diff --git a/keyboards/ckeys/thedora/readme.md b/keyboards/ckeys/thedora/readme.md index 273811d0fafc..991b5df02dc6 100755 --- a/keyboards/ckeys/thedora/readme.md +++ b/keyboards/ckeys/thedora/readme.md @@ -51,7 +51,7 @@ You can find the default layout in `thedora/keymaps/default/keymap.c` This is the bit of code at the end of `keymap.c` that needs to changed if you want to change the behavior of the rotary encoder. ``` -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_PGDN); // What the rotary encoder repeatedly does when turned right. @@ -59,6 +59,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_PGUP); // What it does when turned to the left. } } + return true; } ``` diff --git a/keyboards/ckeys/thedora/rules.mk b/keyboards/ckeys/thedora/rules.mk index aa378710c0e0..3feda7540360 100755 --- a/keyboards/ckeys/thedora/rules.mk +++ b/keyboards/ckeys/thedora/rules.mk @@ -2,11 +2,14 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # BACKLIGHT_ENABLE = no -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -14,7 +17,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration #SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover AUDIO_ENABLE = yes -MIDI_ENABLE = yes # MIDI controls +MIDI_ENABLE = yes # MIDI support RGBLIGHT_ENABLE = no ENCODER_ENABLE = yes -# SERIAL_LINK_ENABLE = yes diff --git a/keyboards/ckeys/thedora/thedora.c b/keyboards/ckeys/thedora/thedora.c index 438320ef1c62..68d0a9af5105 100755 --- a/keyboards/ckeys/thedora/thedora.c +++ b/keyboards/ckeys/thedora/thedora.c @@ -1,28 +1 @@ #include "thedora.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - // Turn status LED on - //DDRD |= (1<<6); - //PORTD |= (1<<6); - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} diff --git a/keyboards/ckeys/washington/config.h b/keyboards/ckeys/washington/config.h index 1f4fb8f9d10d..5b28b8d8b058 100644 --- a/keyboards/ckeys/washington/config.h +++ b/keyboards/ckeys/washington/config.h @@ -195,26 +195,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ckeys/washington/keymaps/default/keymap.c b/keyboards/ckeys/washington/keymaps/default/keymap.c index bfe296383153..a83a28e955fd 100644 --- a/keyboards/ckeys/washington/keymaps/default/keymap.c +++ b/keyboards/ckeys/washington/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { switch (biton32(layer_state)) { case _BASE: if (clockwise) { @@ -55,9 +55,10 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_MPRV); } } + return true; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void oled_task_user(void) { // Host Keyboard Layer Status oled_write_P(PSTR("Layer: "), false); @@ -79,4 +80,4 @@ void oled_task_user(void) { oled_write_P(IS_LED_ON(usb_led, USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false); oled_write_P(IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false); } -#endif \ No newline at end of file +#endif diff --git a/keyboards/ckeys/washington/rules.mk b/keyboards/ckeys/washington/rules.mk index 65f6105055e2..e7fc056bd1af 100644 --- a/keyboards/ckeys/washington/rules.mk +++ b/keyboards/ckeys/washington/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,8 +18,8 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 ENCODER_ENABLE = yes # Enable support for encoders -OLED_DRIVER_ENABLE = yes # Enable support for OLED displays +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enable support for OLED displays diff --git a/keyboards/claw44/keymaps/oled/keymap.c b/keyboards/claw44/keymaps/oled/keymap.c index 5a590341679c..07cb581712ca 100644 --- a/keyboards/claw44/keymaps/oled/keymap.c +++ b/keyboards/claw44/keymaps/oled/keymap.c @@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void render_layer_state(void) { switch (get_highest_layer(layer_state)) { diff --git a/keyboards/claw44/keymaps/oled/rules.mk b/keyboards/claw44/keymaps/oled/rules.mk index c582662134c4..d34d066ded93 100644 --- a/keyboards/claw44/keymaps/oled/rules.mk +++ b/keyboards/claw44/keymaps/oled/rules.mk @@ -1 +1,2 @@ -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/claw44/rev1/rev1.h b/keyboards/claw44/rev1/rev1.h index 79ae9586dbc9..9a05977153fb 100644 --- a/keyboards/claw44/rev1/rev1.h +++ b/keyboards/claw44/rev1/rev1.h @@ -18,16 +18,3 @@ { R25, R24, R23, R22, R21, R20 }, \ { KC_NO, KC_NO, R33, R32, R31, R30 } \ } - -#define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, R30, R31, R32, R33 \ - ) \ - LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##R30, KC_##R31, KC_##R32, KC_##R33 \ - ) diff --git a/keyboards/claw44/rev1/rules.mk b/keyboards/claw44/rev1/rules.mk index b1af22c59a2a..12aa20282ec4 100644 --- a/keyboards/claw44/rev1/rules.mk +++ b/keyboards/claw44/rev1/rules.mk @@ -1,5 +1,5 @@ # Build Options -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -15,5 +15,5 @@ SWAP_HANDS_ENABLE = no # Enable one-hand typing # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -OLED_DRIVER_ENABLE = no # Add OLED displays support +OLED_ENABLE = no # Add OLED displays support SPLIT_KEYBOARD = yes diff --git a/keyboards/claw44/rules.mk b/keyboards/claw44/rules.mk index f4d44b23b799..d81152159596 100644 --- a/keyboards/claw44/rules.mk +++ b/keyboards/claw44/rules.mk @@ -2,20 +2,13 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/clawsome/bookerboard/rules.mk b/keyboards/clawsome/bookerboard/rules.mk index 92a34279957c..bf89504ceb42 100644 --- a/keyboards/clawsome/bookerboard/rules.mk +++ b/keyboards/clawsome/bookerboard/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/clawsome/coupe/rules.mk b/keyboards/clawsome/coupe/rules.mk index dba2a63d44b3..ae186b3d7c55 100644 --- a/keyboards/clawsome/coupe/rules.mk +++ b/keyboards/clawsome/coupe/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -18,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/clawsome/doodle/config.h b/keyboards/clawsome/doodle/config.h new file mode 100644 index 000000000000..df33e6d84cf5 --- /dev/null +++ b/keyboards/clawsome/doodle/config.h @@ -0,0 +1,45 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7767 +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AlisGraveNil +#define PRODUCT doodle + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 3 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D4, C6 } +#define MATRIX_COL_PINS { D7, F4, E6 } + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/clawsome/doodle/doodle.c b/keyboards/clawsome/doodle/doodle.c new file mode 100644 index 000000000000..4f1b77351245 --- /dev/null +++ b/keyboards/clawsome/doodle/doodle.c @@ -0,0 +1,17 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "doodle.h" \ No newline at end of file diff --git a/keyboards/clawsome/doodle/doodle.h b/keyboards/clawsome/doodle/doodle.h new file mode 100644 index 000000000000..131d50ad2600 --- /dev/null +++ b/keyboards/clawsome/doodle/doodle.h @@ -0,0 +1,27 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K01, K02, \ + K10, K11, K12 \ +) { \ + { K00, K01, K02 }, \ + { K10, K11, K12 } \ +} diff --git a/keyboards/clawsome/doodle/info.json b/keyboards/clawsome/doodle/info.json new file mode 100644 index 000000000000..aa1b657d7af0 --- /dev/null +++ b/keyboards/clawsome/doodle/info.json @@ -0,0 +1,20 @@ +{ + "keyboard_name": "doodle", + "url": "www.clawboards.xyz", + "maintainer": "AAClawson (AlisGraveNil)", + "width": 3, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (D4,D7)", "x":0, "y":0}, + {"label":"K01 (D4,F4)", "x":1, "y":0}, + {"label":"K02 (D4,E6)", "x":2, "y":0}, + {"label":"K10 (C6,D7)", "x":0, "y":1}, + {"label":"K11 (C6,F4)", "x":1, "y":1}, + {"label":"K12 (C6,E6)", "x":2, "y":1} + ] + } + } +} + diff --git a/keyboards/clawsome/doodle/keymaps/default/keymap.c b/keyboards/clawsome/doodle/keymaps/default/keymap.c new file mode 100644 index 000000000000..e3bcc955bc78 --- /dev/null +++ b/keyboards/clawsome/doodle/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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_1, KC_2, KC_3, + KC_4, KC_5, KC_6 + ), + +}; diff --git a/keyboards/clawsome/doodle/rules.mk b/keyboards/clawsome/doodle/rules.mk new file mode 100644 index 000000000000..e847ae36b61d --- /dev/null +++ b/keyboards/clawsome/doodle/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/clawsome/fightpad/rules.mk b/keyboards/clawsome/fightpad/rules.mk index fd76a52478f7..7f0fa90fde73 100644 --- a/keyboards/clawsome/fightpad/rules.mk +++ b/keyboards/clawsome/fightpad/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/clawsome/gamebuddy/config.h b/keyboards/clawsome/gamebuddy/config.h deleted file mode 100644 index d5fad415f9eb..000000000000 --- a/keyboards/clawsome/gamebuddy/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2020 AAClawson (AlisGraveNil) - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x17B9 -#define DEVICE_VER 0x0001 -#define MANUFACTURER AlisGraveNil -#define PRODUCT GameBuddy - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 7 - -#define MATRIX_ROW_PINS { D1, D0, E6, B3, B2 } -#define MATRIX_COL_PINS { F5, F6, F7, B1, C6, D7, B6 } - -#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/clawsome/gamebuddy/gamebuddy.c b/keyboards/clawsome/gamebuddy/gamebuddy.c deleted file mode 100644 index 464bdef8926c..000000000000 --- a/keyboards/clawsome/gamebuddy/gamebuddy.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Copyright 2020 AAClawson (AlisGraveNil) - * - * 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 "gamebuddy.h" \ No newline at end of file diff --git a/keyboards/clawsome/gamebuddy/info.json b/keyboards/clawsome/gamebuddy/info.json deleted file mode 100644 index 5562f0615efe..000000000000 --- a/keyboards/clawsome/gamebuddy/info.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "keyboard_name": "GameBuddy", - "url": "", - "maintainer": "qmk", - "width": 7, - "height": 5, - "layouts": { - "LAYOUT": { - "layout": [ - {"label":"K00 (D1,F5)", "x":0, "y":0}, - {"label":"K01 (D1,F6)", "x":1, "y":0}, - {"label":"K02 (D1,F7)", "x":2, "y":0}, - {"label":"K03 (D1,B1)", "x":3, "y":0}, - {"label":"K04 (D1,C6)", "x":4, "y":0}, - {"label":"K05 (D1,D7)", "x":5, "y":0}, - {"label":"K10 (D0,F5)", "x":0, "y":1}, - {"label":"K11 (D0,F6)", "x":1, "y":1}, - {"label":"K12 (D0,F7)", "x":2, "y":1}, - {"label":"K13 (D0,B1)", "x":3, "y":1}, - {"label":"K14 (D0,C6)", "x":4, "y":1}, - {"label":"K15 (D0,D7)", "x":5, "y":1}, - {"label":"K20 (E6,F5)", "x":0, "y":2, "w":2}, - {"label":"K22 (E6,F7)", "x":2, "y":2}, - {"label":"K23 (E6,B1)", "x":3, "y":2}, - {"label":"K24 (E6,C6)", "x":4, "y":2}, - {"label":"K25 (E6,D7)", "x":5, "y":2}, - {"label":"K30 (B3,F5)", "x":0, "y":3}, - {"label":"K31 (B3,F6)", "x":1, "y":3}, - {"label":"K32 (B3,F7)", "x":2, "y":3}, - {"label":"K33 (B3,B1)", "x":3, "y":3}, - {"label":"K34 (B3,C6)", "x":4, "y":3}, - {"label":"K35 (B3,D7)", "x":5, "y":3}, - {"label":"K46 (B2,B6)", "x":6, "y":3, "h":2}, - {"label":"K44 (B2,C6)", "x":4, "y":4}, - {"label":"K45 (B2,D7)", "x":5, "y":4} - ] - } - } - ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" -} - diff --git a/keyboards/clawsome/gamebuddy/rules.mk b/keyboards/clawsome/gamebuddy/rules.mk deleted file mode 100644 index a3a91009b08f..000000000000 --- a/keyboards/clawsome/gamebuddy/rules.mk +++ /dev/null @@ -1,24 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = caterina - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/clawsome/gamebuddy/v1_0/config.h b/keyboards/clawsome/gamebuddy/v1_0/config.h new file mode 100644 index 000000000000..91b6fc6374a6 --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_0/config.h @@ -0,0 +1,36 @@ +/* +Copyright 2020 AAClawson (AlisGraveNil) + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x17B9 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AlisGraveNil +#define PRODUCT GameBuddy1_0 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 7 + +#define MATRIX_ROW_PINS { D1, D0, E6, B3, B2 } +#define MATRIX_COL_PINS { F5, F6, F7, B1, C6, D7, B6 } + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/clawsome/gamebuddy/v1_0/info.json b/keyboards/clawsome/gamebuddy/v1_0/info.json new file mode 100644 index 000000000000..59c4d934865f --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_0/info.json @@ -0,0 +1,41 @@ +{ + "keyboard_name": "GameBuddy1_0", + "url": "www.clawboards.xyz", + "maintainer": "AA Clawson (AlisGraveNil)", + "width": 7, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (D1,F5)", "x":0, "y":0}, + {"label":"K01 (D1,F6)", "x":1, "y":0}, + {"label":"K02 (D1,F7)", "x":2, "y":0}, + {"label":"K03 (D1,B1)", "x":3, "y":0}, + {"label":"K04 (D1,C6)", "x":4, "y":0}, + {"label":"K05 (D1,D7)", "x":5, "y":0}, + {"label":"K10 (D0,F5)", "x":0, "y":1}, + {"label":"K11 (D0,F6)", "x":1, "y":1}, + {"label":"K12 (D0,F7)", "x":2, "y":1}, + {"label":"K13 (D0,B1)", "x":3, "y":1}, + {"label":"K14 (D0,C6)", "x":4, "y":1}, + {"label":"K15 (D0,D7)", "x":5, "y":1}, + {"label":"K20 (E6,F5)", "x":0, "y":2, "w":2}, + {"label":"K22 (E6,F7)", "x":2, "y":2}, + {"label":"K23 (E6,B1)", "x":3, "y":2}, + {"label":"K24 (E6,C6)", "x":4, "y":2}, + {"label":"K25 (E6,D7)", "x":5, "y":2}, + {"label":"K30 (B3,F5)", "x":0, "y":3}, + {"label":"K31 (B3,F6)", "x":1, "y":3}, + {"label":"K32 (B3,F7)", "x":2, "y":3}, + {"label":"K33 (B3,B1)", "x":3, "y":3}, + {"label":"K34 (B3,C6)", "x":4, "y":3}, + {"label":"K35 (B3,D7)", "x":5, "y":3}, + {"label":"K46 (B2,B6)", "x":6, "y":3, "h":2}, + {"label":"K44 (B2,C6)", "x":4, "y":4}, + {"label":"K45 (B2,D7)", "x":5, "y":4} + ] + } + } + ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" +} + diff --git a/keyboards/clawsome/gamebuddy/keymaps/default/keymap.c b/keyboards/clawsome/gamebuddy/v1_0/keymaps/default/keymap.c similarity index 100% rename from keyboards/clawsome/gamebuddy/keymaps/default/keymap.c rename to keyboards/clawsome/gamebuddy/v1_0/keymaps/default/keymap.c diff --git a/keyboards/clawsome/gamebuddy/readme.md b/keyboards/clawsome/gamebuddy/v1_0/readme.md similarity index 100% rename from keyboards/clawsome/gamebuddy/readme.md rename to keyboards/clawsome/gamebuddy/v1_0/readme.md diff --git a/keyboards/clawsome/gamebuddy/v1_0/rules.mk b/keyboards/clawsome/gamebuddy/v1_0/rules.mk new file mode 100644 index 000000000000..b51dafa80948 --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_0/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/clawsome/gamebuddy/v1_0/v1_0.c b/keyboards/clawsome/gamebuddy/v1_0/v1_0.c new file mode 100644 index 000000000000..b63474c28aef --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_0/v1_0.c @@ -0,0 +1,16 @@ +/* Copyright 2020 AAClawson (AlisGraveNil) + * + * 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 "v1_0.h" diff --git a/keyboards/clawsome/gamebuddy/gamebuddy.h b/keyboards/clawsome/gamebuddy/v1_0/v1_0.h similarity index 100% rename from keyboards/clawsome/gamebuddy/gamebuddy.h rename to keyboards/clawsome/gamebuddy/v1_0/v1_0.h diff --git a/keyboards/clawsome/gamebuddy/v1_m/config.h b/keyboards/clawsome/gamebuddy/v1_m/config.h new file mode 100644 index 000000000000..748e35237a82 --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_m/config.h @@ -0,0 +1,45 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7767 +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AlisGraveNil +#define PRODUCT GameBuddy1_M + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 7 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { C6, D7, B5, B3, B2 } +#define MATRIX_COL_PINS { B1, F7, F6, F5, E6, B4, B6 } + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/clawsome/gamebuddy/v1_m/info.json b/keyboards/clawsome/gamebuddy/v1_m/info.json new file mode 100644 index 000000000000..411e19c6794e --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_m/info.json @@ -0,0 +1,41 @@ +{ + "keyboard_name": "GameBuddy1_M", + "url": "www.clawboards.xyz", + "maintainer": "AAClawson (AlisGraveNil)", + "width": 7, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (C6,B1)", "x":0, "y":0}, + {"label":"K01 (C6,F7)", "x":1, "y":0}, + {"label":"K02 (C6,F6)", "x":2, "y":0}, + {"label":"K03 (C6,F5)", "x":3, "y":0}, + {"label":"K04 (C6,E6)", "x":4, "y":0}, + {"label":"K05 (C6,B4)", "x":5, "y":0}, + {"label":"K10 (D7,B1)", "x":0, "y":1}, + {"label":"K11 (D7,F7)", "x":1, "y":1}, + {"label":"K12 (D7,F6)", "x":2, "y":1}, + {"label":"K13 (D7,F5)", "x":3, "y":1}, + {"label":"K14 (D7,E6)", "x":4, "y":1}, + {"label":"K15 (D7,B4)", "x":5, "y":1}, + {"label":"K20 (B5,B1)", "x":0, "y":2}, + {"label":"K21 (B5,F7)", "x":1, "y":2}, + {"label":"K22 (B5,F6)", "x":2, "y":2}, + {"label":"K23 (B5,F5)", "x":3, "y":2}, + {"label":"K24 (B5,E6)", "x":4, "y":2}, + {"label":"K25 (B5,B4)", "x":5, "y":2}, + {"label":"K30 (B3,B1)", "x":0, "y":3}, + {"label":"K31 (B3,F7)", "x":1, "y":3}, + {"label":"K32 (B3,F6)", "x":2, "y":3}, + {"label":"K33 (B3,F5)", "x":3, "y":3}, + {"label":"K34 (B3,E6)", "x":4, "y":3}, + {"label":"K35 (B3,B4)", "x":5, "y":3}, + {"label":"K46 (B2,B6)", "x":6, "y":3, "h":2}, + {"label":"K44 (B2,E6)", "x":4, "y":4}, + {"label":"K45 (B2,B4)", "x":5, "y":4} + ] + } + } +} + diff --git a/keyboards/clawsome/gamebuddy/v1_m/keymaps/default/keymap.c b/keyboards/clawsome/gamebuddy/v1_m/keymaps/default/keymap.c new file mode 100644 index 000000000000..88f40733d53f --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_m/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, + KC_TAB, KC_V, KC_Q, KC_W, KC_E, KC_R, + KC_LSFT, KC_LSFT, KC_A, KC_S, KC_D, KC_G, + KC_LCTL, KC_N, KC_X, KC_F, KC_C, KC_M, KC_SPC, + KC_LALT, KC_LGUI + ), + +}; + diff --git a/keyboards/clawsome/gamebuddy/v1_m/readme.md b/keyboards/clawsome/gamebuddy/v1_m/readme.md new file mode 100644 index 000000000000..add8b04ea02a --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_m/readme.md @@ -0,0 +1,13 @@ +# GameBuddy + +This is a 5x7 macropad designed for left OR right hand usage in videogames, with special focus on FPS layouts! + +* Keyboard Maintainer: [AAClawson](https://github.com/AlisGraveNil) +* Hardware Supported: GameBuddy, Pro Micro, Elite-C, nice!nano +* Hardware Availability: www.clawboards.xyz + +Make example for this keyboard (after setting up your build environment): + + make clawsome/gamebuddy/v1_m: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). diff --git a/keyboards/clawsome/gamebuddy/v1_m/rules.mk b/keyboards/clawsome/gamebuddy/v1_m/rules.mk new file mode 100644 index 000000000000..e847ae36b61d --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_m/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/clawsome/gamebuddy/v1_m/v1_m.c b/keyboards/clawsome/gamebuddy/v1_m/v1_m.c new file mode 100644 index 000000000000..88db72d27b8a --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_m/v1_m.c @@ -0,0 +1,16 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "v1_m.h" diff --git a/keyboards/clawsome/gamebuddy/v1_m/v1_m.h b/keyboards/clawsome/gamebuddy/v1_m/v1_m.h new file mode 100644 index 000000000000..23e4d03bbc7f --- /dev/null +++ b/keyboards/clawsome/gamebuddy/v1_m/v1_m.h @@ -0,0 +1,33 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, \ + K10, K11, K12, K13, K14, K15, \ + K20, K21, K22, K23, K24, K25, \ + K30, K31, K32, K33, K34, K35, K46, \ + K44, K45 \ +) { \ + { K00, K01, K02, K03, K04, K05, KC_NO }, \ + { K10, K11, K12, K13, K14, K15, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, KC_NO }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, K44, K45, K46 }, \ +} diff --git a/keyboards/clawsome/hatchback/config.h b/keyboards/clawsome/hatchback/config.h new file mode 100644 index 000000000000..6560ad154f1b --- /dev/null +++ b/keyboards/clawsome/hatchback/config.h @@ -0,0 +1,45 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7767 +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AlisGraveNil +#define PRODUCT hatchbackTKL + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 10 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B0, B6, D4, B4, D0, B5, D1, E6, D2, D7, D3, C6 } +#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, D5, C7, F1 } + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/clawsome/hatchback/hatchback.c b/keyboards/clawsome/hatchback/hatchback.c new file mode 100644 index 000000000000..117593a68899 --- /dev/null +++ b/keyboards/clawsome/hatchback/hatchback.c @@ -0,0 +1,17 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "hatchback.h" diff --git a/keyboards/clawsome/hatchback/hatchback.h b/keyboards/clawsome/hatchback/hatchback.h new file mode 100644 index 000000000000..b55f6adc2802 --- /dev/null +++ b/keyboards/clawsome/hatchback/hatchback.h @@ -0,0 +1,43 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "quantum.h" + +// clang-format off +#define LAYOUT( \ + K00, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K07, K18, K09, \ + K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K38, K29, \ + K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, K58, K49, \ + K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K76, \ + K80, K90, K81, K91, K82, K92, K83, K93, K84, K94, K85, K96, K98, \ + KA0, KB0, KA1, KA2, KA3, KA4, KA5, KB5, KA6, KB6, KA7, KB8, KA9 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, KC_NO, K09 }, \ + { KC_NO, K11, K12, K13, K14, K15, K16, KC_NO, K18, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, KC_NO, K29 }, \ + { K30, K31, K32, K33, K34, K35, K36, KC_NO, K38, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, KC_NO, K49 }, \ + { K50, K51, K52, K53, K54, K55, K56, KC_NO, K58, KC_NO }, \ + { K60, K61, K62, K63, K64, K65, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K70, K71, K72, K73, K74, K75, K76, KC_NO, KC_NO, KC_NO }, \ + { K80, K81, K82, K83, K84, K85, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K90, K91, K92, K93, K94, KC_NO, K96, KC_NO, K98, KC_NO }, \ + { KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7, KC_NO, KA9 }, \ + { KB0, KC_NO, KC_NO, KC_NO, KC_NO, KB5, KB6, KC_NO, KB8, KC_NO }, \ +} +// clang-format on diff --git a/keyboards/clawsome/hatchback/info.json b/keyboards/clawsome/hatchback/info.json new file mode 100644 index 000000000000..f3d750607d39 --- /dev/null +++ b/keyboards/clawsome/hatchback/info.json @@ -0,0 +1,102 @@ +{ + "keyboard_name": "hatchbackTKL", + "url": "www.clawboards.xyz", + "maintainer": "AAClawson (AlisGraveNil)", + "width": 18.25, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (B0,F4)", "x":0, "y":0}, + {"label":"K01 (B0,F5)", "x":2, "y":0}, + {"label":"K11 (B6,F5)", "x":3, "y":0}, + {"label":"K02 (B0,F6)", "x":4, "y":0}, + {"label":"K12 (B6,F6)", "x":5, "y":0}, + {"label":"K03 (B0,F7)", "x":6.5, "y":0}, + {"label":"K13 (B6,F7)", "x":7.5, "y":0}, + {"label":"K04 (B0,B1)", "x":8.5, "y":0}, + {"label":"K14 (B6,B1)", "x":9.5, "y":0}, + {"label":"K05 (B0,B3)", "x":11, "y":0}, + {"label":"K15 (B6,B3)", "x":12, "y":0}, + {"label":"K06 (B0,B2)", "x":13, "y":0}, + {"label":"K16 (B6,B2)", "x":14, "y":0}, + {"label":"K07 (B0,D5)", "x":15.25, "y":0}, + {"label":"K18 (B6,C7)", "x":16.25, "y":0}, + {"label":"K09 (B0,F1)", "x":17.25, "y":0}, + {"label":"K20 (D4,F4)", "x":0, "y":1.5}, + {"label":"K30 (B4,F4)", "x":1, "y":1.5}, + {"label":"K21 (D4,F5)", "x":2, "y":1.5}, + {"label":"K31 (B4,F5)", "x":3, "y":1.5}, + {"label":"K22 (D4,F6)", "x":4, "y":1.5}, + {"label":"K32 (B4,F6)", "x":5, "y":1.5}, + {"label":"K23 (D4,F7)", "x":6, "y":1.5}, + {"label":"K33 (B4,F7)", "x":7, "y":1.5}, + {"label":"K24 (D4,B1)", "x":8, "y":1.5}, + {"label":"K34 (B4,B1)", "x":9, "y":1.5}, + {"label":"K25 (D4,B3)", "x":10, "y":1.5}, + {"label":"K35 (B4,B3)", "x":11, "y":1.5}, + {"label":"K26 (D4,B2)", "x":12, "y":1.5}, + {"label":"K36 (B4,B2)", "x":13, "y":1.5, "w":2}, + {"label":"K27 (D4,D5)", "x":15.25, "y":1.5}, + {"label":"K38 (B4,C7)", "x":16.25, "y":1.5}, + {"label":"K29 (D4,F1)", "x":17.25, "y":1.5}, + {"label":"K40 (D0,F4)", "x":0, "y":2.5, "w":1.5}, + {"label":"K50 (B5,F4)", "x":1.5, "y":2.5}, + {"label":"K41 (D0,F5)", "x":2.5, "y":2.5}, + {"label":"K51 (B5,F5)", "x":3.5, "y":2.5}, + {"label":"K42 (D0,F6)", "x":4.5, "y":2.5}, + {"label":"K52 (B5,F6)", "x":5.5, "y":2.5}, + {"label":"K43 (D0,F7)", "x":6.5, "y":2.5}, + {"label":"K53 (B5,F7)", "x":7.5, "y":2.5}, + {"label":"K44 (D0,B1)", "x":8.5, "y":2.5}, + {"label":"K54 (B5,B1)", "x":9.5, "y":2.5}, + {"label":"K45 (D0,B3)", "x":10.5, "y":2.5}, + {"label":"K55 (B5,B3)", "x":11.5, "y":2.5}, + {"label":"K46 (D0,B2)", "x":12.5, "y":2.5}, + {"label":"K56 (B5,B2)", "x":13.5, "y":2.5, "w":1.5}, + {"label":"K47 (D0,D5)", "x":15.25, "y":2.5}, + {"label":"K58 (B5,C7)", "x":16.25, "y":2.5}, + {"label":"K49 (D0,F1)", "x":17.25, "y":2.5}, + {"label":"K60 (D1,F4)", "x":0, "y":3.5, "w":1.75}, + {"label":"K70 (E6,F4)", "x":1.75, "y":3.5}, + {"label":"K61 (D1,F5)", "x":2.75, "y":3.5}, + {"label":"K71 (E6,F5)", "x":3.75, "y":3.5}, + {"label":"K62 (D1,F6)", "x":4.75, "y":3.5}, + {"label":"K72 (E6,F6)", "x":5.75, "y":3.5}, + {"label":"K63 (D1,F7)", "x":6.75, "y":3.5}, + {"label":"K73 (E6,F7)", "x":7.75, "y":3.5}, + {"label":"K64 (D1,B1)", "x":8.75, "y":3.5}, + {"label":"K74 (E6,B1)", "x":9.75, "y":3.5}, + {"label":"K65 (D1,B3)", "x":10.75, "y":3.5}, + {"label":"K75 (E6,B3)", "x":11.75, "y":3.5}, + {"label":"K76 (E6,B2)", "x":12.75, "y":3.5, "w":2.25}, + {"label":"K80 (D2,F4)", "x":0, "y":4.5, "w":2.25}, + {"label":"K90 (D7,F4)", "x":2.25, "y":4.5}, + {"label":"K81 (D2,F5)", "x":3.25, "y":4.5}, + {"label":"K91 (D7,F5)", "x":4.25, "y":4.5}, + {"label":"K82 (D2,F6)", "x":5.25, "y":4.5}, + {"label":"K92 (D7,F6)", "x":6.25, "y":4.5}, + {"label":"K83 (D2,F7)", "x":7.25, "y":4.5}, + {"label":"K93 (D7,F7)", "x":8.25, "y":4.5}, + {"label":"K84 (D2,B1)", "x":9.25, "y":4.5}, + {"label":"K94 (D7,B1)", "x":10.25, "y":4.5}, + {"label":"K85 (D2,B3)", "x":11.25, "y":4.5}, + {"label":"K96 (D7,B2)", "x":12.25, "y":4.5, "w":2.75}, + {"label":"K98 (D7,C7)", "x":16.25, "y":4.5}, + {"label":"KA0 (D3,F4)", "x":0, "y":5.5, "w":1.25}, + {"label":"KB0 (C6,F4)", "x":1.25, "y":5.5, "w":1.25}, + {"label":"KA1 (D3,F5)", "x":2.5, "y":5.5, "w":1.25}, + {"label":"KA2 (D3,F6)", "x":3.75, "y":5.5, "w":2.25}, + {"label":"KA3 (D3,F7)", "x":6, "y":5.5, "w":1.75}, + {"label":"KA4 (D3,B1)", "x":7.75, "y":5.5, "w":2.25}, + {"label":"KA5 (D3,B3)", "x":10, "y":5.5, "w":1.25}, + {"label":"KB5 (C6,B3)", "x":11.25, "y":5.5, "w":1.25}, + {"label":"KA6 (D3,B2)", "x":12.5, "y":5.5, "w":1.25}, + {"label":"KB6 (C6,B2)", "x":13.75, "y":5.5, "w":1.25}, + {"label":"KA7 (D3,D5)", "x":15.25, "y":5.5}, + {"label":"KB8 (C6,C7)", "x":16.25, "y":5.5}, + {"label":"KA9 (D3,F1)", "x":17.25, "y":5.5} + ] + } + } +} diff --git a/keyboards/clawsome/hatchback/keymaps/default/keymap.c b/keyboards/clawsome/hatchback/keymaps/default/keymap.c new file mode 100644 index 000000000000..279666e06cc1 --- /dev/null +++ b/keyboards/clawsome/hatchback/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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_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_SLCK, 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + +}; + diff --git a/keyboards/clawsome/hatchback/readme.md b/keyboards/clawsome/hatchback/readme.md new file mode 100644 index 000000000000..2a680288bf3c --- /dev/null +++ b/keyboards/clawsome/hatchback/readme.md @@ -0,0 +1,14 @@ +# SUV + +This is TKL keyboard that can be converted down into a 75% keyboard and a 13key macropad (see "luggage rack") + +- Keyboard Maintainer: [AAClawson](https://github.com/AlisGraveNil) +- Hardware Supported: Hatchback, Elite-C (as TKL); Pro-Micro and nice!nano (as 75%) +- Hardware Availability: In stock within the next month + +Make example for this keyboard (after setting up your build environment): + + make clawsome/hatchback:default + Connect your board to your computer; connect the "GND" and "RST" pins on your controller using a wire or a pair of tweezers and hold it for 3 seconds to force the controller into bootloader mode. Then use QMK Toolbox to flash the .hex you downloaded from the QMK website. If using an Elite-C, there's a small black reset button on the PCB you can press instead of trying to connect the two pins. + +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/clawsome/hatchback/rules.mk b/keyboards/clawsome/hatchback/rules.mk new file mode 100644 index 000000000000..eda367da7bd3 --- /dev/null +++ b/keyboards/clawsome/hatchback/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/clawsome/luggage_rack/config.h b/keyboards/clawsome/luggage_rack/config.h new file mode 100644 index 000000000000..32b3ea45619b --- /dev/null +++ b/keyboards/clawsome/luggage_rack/config.h @@ -0,0 +1,45 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7767 +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AlisGraveNil +#define PRODUCT luggage_rack + +/* key matrix size */ +#define MATRIX_ROWS 9 +#define MATRIX_COLS 3 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D3, F4, B0, B2, F7, B6, B1, F5, F6 } +#define MATRIX_COL_PINS { D4, D0, D1 } + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/clawsome/luggage_rack/info.json b/keyboards/clawsome/luggage_rack/info.json new file mode 100644 index 000000000000..53905b50eb8a --- /dev/null +++ b/keyboards/clawsome/luggage_rack/info.json @@ -0,0 +1,26 @@ +{ + "keyboard_name": "luggage_rack", + "url": "www.clawboards.xyz", + "maintainer": "AlisGraveNil", + "width": 3, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (D3,D4)", "x":0, "y":0}, + {"label":"K11 (F4,D0)", "x":1, "y":0}, + {"label":"K02 (D3,D1)", "x":2, "y":0}, + {"label":"K20 (B0,D4)", "x":0, "y":1.5}, + {"label":"K31 (B2,D0)", "x":1, "y":1.5}, + {"label":"K22 (B0,D1)", "x":2, "y":1.5}, + {"label":"K40 (F7,D4)", "x":0, "y":2.5}, + {"label":"K51 (B6,D0)", "x":1, "y":2.5}, + {"label":"K42 (F7,D1)", "x":2, "y":2.5}, + {"label":"K61 (B1,D0)", "x":1, "y":4.5}, + {"label":"K70 (F5,D4)", "x":0, "y":5.5}, + {"label":"K81 (F6,D0)", "x":1, "y":5.5}, + {"label":"K72 (F5,D1)", "x":2, "y":5.5} + ] + } + } +} diff --git a/keyboards/clawsome/luggage_rack/keymaps/default/keymap.c b/keyboards/clawsome/luggage_rack/keymaps/default/keymap.c new file mode 100644 index 000000000000..5d7871730d5d --- /dev/null +++ b/keyboards/clawsome/luggage_rack/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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_PSCR, KC_SLCK, KC_PAUS, + KC_INS, KC_HOME, KC_PGUP, + KC_DEL, KC_END, KC_PGDN, + + KC_UP, + KC_LEFT, KC_DOWN, KC_RGHT + ), + +}; diff --git a/keyboards/clawsome/luggage_rack/luggage_rack.c b/keyboards/clawsome/luggage_rack/luggage_rack.c new file mode 100644 index 000000000000..3a49c797d0b8 --- /dev/null +++ b/keyboards/clawsome/luggage_rack/luggage_rack.c @@ -0,0 +1,17 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "luggage_rack.h" diff --git a/keyboards/clawsome/luggage_rack/luggage_rack.h b/keyboards/clawsome/luggage_rack/luggage_rack.h new file mode 100644 index 000000000000..20c4947bd250 --- /dev/null +++ b/keyboards/clawsome/luggage_rack/luggage_rack.h @@ -0,0 +1,38 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K11, K02, \ + K20, K31, K22, \ + K40, K51, K42, \ + \ + K61, \ + K70, K81, K72 \ +) { \ + { K00, KC_NO, K02 }, \ + { KC_NO, K11, KC_NO }, \ + { K20, KC_NO, K22 }, \ + { KC_NO, K31, KC_NO }, \ + { K40, KC_NO, K42 }, \ + { KC_NO, K51, KC_NO }, \ + { KC_NO, K61, KC_NO }, \ + { K70, KC_NO, K72 }, \ + { KC_NO, K81, KC_NO }, \ +} diff --git a/keyboards/clawsome/luggage_rack/readme.md b/keyboards/clawsome/luggage_rack/readme.md new file mode 100644 index 000000000000..69856494d5ea --- /dev/null +++ b/keyboards/clawsome/luggage_rack/readme.md @@ -0,0 +1,13 @@ +# Luggage Rack + +This is 13-key macropad based on the nav cluster of a 100% layout. This is only available as a break-away item if you get a HatchbackTKL keyboard. + +- Keyboard Maintainer: [AAClawson](https://github.com/AlisGraveNil) +- Hardware Supported: Luggage Rack, Pro-Micro, nice!nano, Elite-C +- Hardware Availability: Only available in conjunction with the Hatchback + +Make example for this keyboard (after setting up your build environment): + + make clawsome/luggage_rack: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). diff --git a/keyboards/clawsome/luggage_rack/rules.mk b/keyboards/clawsome/luggage_rack/rules.mk new file mode 100644 index 000000000000..eda367da7bd3 --- /dev/null +++ b/keyboards/clawsome/luggage_rack/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/clawsome/numeros/rules.mk b/keyboards/clawsome/numeros/rules.mk index c0d663b11347..32603db3b0db 100644 --- a/keyboards/clawsome/numeros/rules.mk +++ b/keyboards/clawsome/numeros/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/clawsome/roadster/rules.mk b/keyboards/clawsome/roadster/rules.mk index 6b8d1b5f071c..eda367da7bd3 100644 --- a/keyboards/clawsome/roadster/rules.mk +++ b/keyboards/clawsome/roadster/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/clawsome/sedan/config.h b/keyboards/clawsome/sedan/config.h index f93132eb742d..2a02a9a1e7b6 100644 --- a/keyboards/clawsome/sedan/config.h +++ b/keyboards/clawsome/sedan/config.h @@ -40,7 +40,7 @@ along with this program. If not, see . * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) * */ -#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4 } -#define MATRIX_COL_PINS { B5, B6, B7, C0, C1, C2, C3, C4, C5, C6, C7, D0, D1, D2, D3 } +#define MATRIX_ROW_PINS { C6, D4, D0, D1, D3 } +#define MATRIX_COL_PINS { B0, F4, F7, B1, B3, B2, B6, F0, F1, C7, D5, B7, B5, B4, E6 } #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/clawsome/sedan/keymaps/default/keymap.c b/keyboards/clawsome/sedan/keymaps/default/keymap.c index 099296578978..9007fb9ab680 100644 --- a/keyboards/clawsome/sedan/keymaps/default/keymap.c +++ b/keyboards/clawsome/sedan/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_HOME, 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_END, 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_PGUP, - 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_UP, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), diff --git a/keyboards/clawsome/sedan/rules.mk b/keyboards/clawsome/sedan/rules.mk index 47532471a210..00ee7f89159c 100644 --- a/keyboards/clawsome/sedan/rules.mk +++ b/keyboards/clawsome/sedan/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -18,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/clawsome/sidekick/rules.mk b/keyboards/clawsome/sidekick/rules.mk index 8c9c905e65d6..bf89504ceb42 100644 --- a/keyboards/clawsome/sidekick/rules.mk +++ b/keyboards/clawsome/sidekick/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -18,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/clawsome/suv/config.h b/keyboards/clawsome/suv/config.h new file mode 100644 index 000000000000..8ea2ed5bdcea --- /dev/null +++ b/keyboards/clawsome/suv/config.h @@ -0,0 +1,45 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7767 +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AlisGraveNil +#define PRODUCT suv1.1 + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 11 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F0, B6, D0, F6, D4, F7, B3, B1, B0, C6, B2, D7 } +#define MATRIX_COL_PINS { D3, D2, D1, B4, B5, B7, D5, C7, F1, F5, F4 } + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/clawsome/suv/info.json b/keyboards/clawsome/suv/info.json new file mode 100644 index 000000000000..f44f6aa4447a --- /dev/null +++ b/keyboards/clawsome/suv/info.json @@ -0,0 +1,120 @@ +{ + "keyboard_name": "suv1.1", + "url": "www.clawboards.xyz", + "maintainer": "AAClawson (AlisGraveNil)", + "width": 22.5, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (F0,D3)", "x":0, "y":0}, + {"label":"K01 (F0,D2)", "x":2, "y":0}, + {"label":"K11 (B6,D2)", "x":3, "y":0}, + {"label":"K02 (F0,D1)", "x":4, "y":0}, + {"label":"K12 (B6,D1)", "x":5, "y":0}, + {"label":"K03 (F0,B4)", "x":6.5, "y":0}, + {"label":"K13 (B6,B4)", "x":7.5, "y":0}, + {"label":"K04 (F0,B5)", "x":8.5, "y":0}, + {"label":"K14 (B6,B5)", "x":9.5, "y":0}, + {"label":"K05 (F0,B7)", "x":11, "y":0}, + {"label":"K15 (B6,B7)", "x":12, "y":0}, + {"label":"K06 (F0,D5)", "x":13, "y":0}, + {"label":"K16 (B6,D5)", "x":14, "y":0}, + {"label":"K07 (F0,C7)", "x":15.25, "y":0}, + {"label":"K17 (B6,C7)", "x":16.25, "y":0}, + {"label":"K08 (F0,F1)", "x":17.25, "y":0}, + {"label":"K20 (D0,D3)", "x":0, "y":1.5}, + {"label":"K30 (F6,D3)", "x":1, "y":1.5}, + {"label":"K21 (D0,D2)", "x":2, "y":1.5}, + {"label":"K31 (F6,D2)", "x":3, "y":1.5}, + {"label":"K22 (D0,D1)", "x":4, "y":1.5}, + {"label":"K32 (F6,D1)", "x":5, "y":1.5}, + {"label":"K23 (D0,B4)", "x":6, "y":1.5}, + {"label":"K33 (F6,B4)", "x":7, "y":1.5}, + {"label":"K24 (D0,B5)", "x":8, "y":1.5}, + {"label":"K34 (F6,B5)", "x":9, "y":1.5}, + {"label":"K25 (D0,B7)", "x":10, "y":1.5}, + {"label":"K35 (F6,B7)", "x":11, "y":1.5}, + {"label":"K26 (D0,D5)", "x":12, "y":1.5}, + {"label":"K36 (F6,D5)", "x":13, "y":1.5, "w":2}, + {"label":"K27 (D0,C7)", "x":15.25, "y":1.5}, + {"label":"K37 (F6,C7)", "x":16.25, "y":1.5}, + {"label":"K28 (D0,F1)", "x":17.25, "y":1.5}, + {"label":"K38 (F6,F1)", "x":18.5, "y":1.5}, + {"label":"K29 (D0,F5)", "x":19.5, "y":1.5}, + {"label":"K39 (F6,F5)", "x":20.5, "y":1.5}, + {"label":"K2A (D0,F4)", "x":21.5, "y":1.5}, + {"label":"K40 (D4,D3)", "x":0, "y":2.5, "w":1.5}, + {"label":"K50 (F7,D3)", "x":1.5, "y":2.5}, + {"label":"K41 (D4,D2)", "x":2.5, "y":2.5}, + {"label":"K51 (F7,D2)", "x":3.5, "y":2.5}, + {"label":"K42 (D4,D1)", "x":4.5, "y":2.5}, + {"label":"K52 (F7,D1)", "x":5.5, "y":2.5}, + {"label":"K43 (D4,B4)", "x":6.5, "y":2.5}, + {"label":"K53 (F7,B4)", "x":7.5, "y":2.5}, + {"label":"K44 (D4,B5)", "x":8.5, "y":2.5}, + {"label":"K54 (F7,B5)", "x":9.5, "y":2.5}, + {"label":"K45 (D4,B7)", "x":10.5, "y":2.5}, + {"label":"K55 (F7,B7)", "x":11.5, "y":2.5}, + {"label":"K46 (D4,D5)", "x":12.5, "y":2.5}, + {"label":"K56 (F7,D5)", "x":13.5, "y":2.5, "w":1.5}, + {"label":"K47 (D4,C7)", "x":15.25, "y":2.5}, + {"label":"K57 (F7,C7)", "x":16.25, "y":2.5}, + {"label":"K48 (D4,F1)", "x":17.25, "y":2.5}, + {"label":"K58 (F7,F1)", "x":18.5, "y":2.5}, + {"label":"K49 (D4,F5)", "x":19.5, "y":2.5}, + {"label":"K59 (F7,F5)", "x":20.5, "y":2.5}, + {"label":"K4A (D4,F4)", "x":21.5, "y":2.5, "h":2}, + {"label":"K60 (B3,D3)", "x":0, "y":3.5, "w":1.75}, + {"label":"K70 (B1,D3)", "x":1.75, "y":3.5}, + {"label":"K61 (B3,D2)", "x":2.75, "y":3.5}, + {"label":"K71 (B1,D2)", "x":3.75, "y":3.5}, + {"label":"K62 (B3,D1)", "x":4.75, "y":3.5}, + {"label":"K72 (B1,D1)", "x":5.75, "y":3.5}, + {"label":"K63 (B3,B4)", "x":6.75, "y":3.5}, + {"label":"K73 (B1,B4)", "x":7.75, "y":3.5}, + {"label":"K64 (B3,B5)", "x":8.75, "y":3.5}, + {"label":"K74 (B1,B5)", "x":9.75, "y":3.5}, + {"label":"K65 (B3,B7)", "x":10.75, "y":3.5}, + {"label":"K75 (B1,B7)", "x":11.75, "y":3.5}, + {"label":"K76 (B1,D5)", "x":12.75, "y":3.5, "w":2.25}, + {"label":"K78 (B1,F1)", "x":18.5, "y":3.5}, + {"label":"K69 (B3,F5)", "x":19.5, "y":3.5}, + {"label":"K79 (B1,F5)", "x":20.5, "y":3.5}, + {"label":"K80 (B0,D3)", "x":0, "y":4.5, "w":2.25}, + {"label":"K90 (C6,D3)", "x":2.25, "y":4.5}, + {"label":"K81 (B0,D2)", "x":3.25, "y":4.5}, + {"label":"K91 (C6,D2)", "x":4.25, "y":4.5}, + {"label":"K82 (B0,D1)", "x":5.25, "y":4.5}, + {"label":"K92 (C6,D1)", "x":6.25, "y":4.5}, + {"label":"K83 (B0,B4)", "x":7.25, "y":4.5}, + {"label":"K93 (C6,B4)", "x":8.25, "y":4.5}, + {"label":"K84 (B0,B5)", "x":9.25, "y":4.5}, + {"label":"K94 (C6,B5)", "x":10.25, "y":4.5}, + {"label":"K85 (B0,B7)", "x":11.25, "y":4.5}, + {"label":"K96 (C6,D5)", "x":12.25, "y":4.5, "w":2.75}, + {"label":"K97 (C6,C7)", "x":16.25, "y":4.5}, + {"label":"K98 (C6,F1)", "x":18.5, "y":4.5}, + {"label":"K89 (B0,F5)", "x":19.5, "y":4.5}, + {"label":"K99 (C6,F5)", "x":20.5, "y":4.5}, + {"label":"K8A (B0,F4)", "x":21.5, "y":4.5, "h":2}, + {"label":"KA0 (B2,D3)", "x":0, "y":5.5, "w":1.25}, + {"label":"KB0 (D7,D3)", "x":1.25, "y":5.5, "w":1.25}, + {"label":"KA1 (B2,D2)", "x":2.5, "y":5.5, "w":1.25}, + {"label":"KA2 (B2,D1)", "x":3.75, "y":5.5, "w":2.25}, + {"label":"KA3 (B2,B4)", "x":6, "y":5.5, "w":1.75}, + {"label":"KA4 (B2,B5)", "x":7.75, "y":5.5, "w":2.25}, + {"label":"KA5 (B2,B7)", "x":10, "y":5.5, "w":1.25}, + {"label":"KB5 (D7,B7)", "x":11.25, "y":5.5, "w":1.25}, + {"label":"KA6 (B2,D5)", "x":12.5, "y":5.5, "w":1.25}, + {"label":"KB6 (D7,D5)", "x":13.75, "y":5.5, "w":1.25}, + {"label":"KA7 (B2,C7)", "x":15.25, "y":5.5}, + {"label":"KB7 (D7,C7)", "x":16.25, "y":5.5}, + {"label":"KA8 (B2,F1)", "x":17.25, "y":5.5}, + {"label":"KB8 (D7,F1)", "x":18.5, "y":5.5, "w":2}, + {"label":"KB9 (D7,F5)", "x":20.5, "y":5.5} + ] + } + } +} + diff --git a/keyboards/clawsome/suv/keymaps/default/keymap.c b/keyboards/clawsome/suv/keymaps/default/keymap.c new file mode 100644 index 000000000000..b09cf08ddc0d --- /dev/null +++ b/keyboards/clawsome/suv/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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_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_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + +}; + diff --git a/keyboards/clawsome/suv/readme.md b/keyboards/clawsome/suv/readme.md new file mode 100644 index 000000000000..1676a8dc78f3 --- /dev/null +++ b/keyboards/clawsome/suv/readme.md @@ -0,0 +1,13 @@ +# SUV + +This is 100% keyboard with the standard layout of a 104-key setup. + +- Keyboard Maintainer: [AAClawson](https://github.com/AlisGraveNil) +- Hardware Supported: SUV, Elite-C +- Hardware Availability: In stock within the next month + +Make example for this keyboard (after setting up your build environment): + + make clawsome/suv: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). diff --git a/keyboards/clawsome/suv/rules.mk b/keyboards/clawsome/suv/rules.mk new file mode 100644 index 000000000000..e847ae36b61d --- /dev/null +++ b/keyboards/clawsome/suv/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/clawsome/suv/suv.c b/keyboards/clawsome/suv/suv.c new file mode 100644 index 000000000000..d456be885064 --- /dev/null +++ b/keyboards/clawsome/suv/suv.c @@ -0,0 +1,17 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "suv.h" \ No newline at end of file diff --git a/keyboards/clawsome/suv/suv.h b/keyboards/clawsome/suv/suv.h new file mode 100644 index 000000000000..64ed0e7d0f47 --- /dev/null +++ b/keyboards/clawsome/suv/suv.h @@ -0,0 +1,41 @@ +/* Copyright 2021 AAClawson (AlisGraveNil) + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K07, K17, K08, \ + K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K37, K28, K38, K29, K39, K2A, \ + K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, K57, K48, K58, K49, K59, K4A, \ + K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K76, K78, K69, K79, \ + K80, K90, K81, K91, K82, K92, K83, K93, K84, K94, K85, K96, K97, K98, K89, K99, K8A, \ + KA0, KB0, KA1, KA2, KA3, KA4, KA5, KB5, KA6, KB6, KA7, KB7, KA8, KB8, KB9 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, KC_NO, KC_NO }, \ + { KC_NO, K11, K12, K13, K14, K15, K16, K17, KC_NO, KC_NO, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A }, \ + { K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, KC_NO }, \ + { K60, K61, K62, K63, K64, K65, KC_NO, KC_NO, KC_NO, K69, KC_NO }, \ + { K70, K71, K72, K73, K74, K75, K76, KC_NO, K78, K79, KC_NO }, \ + { K80, K81, K82, K83, K84, K85, KC_NO, KC_NO, KC_NO, K89, K8A }, \ + { K90, K91, K92, K93, K94, KC_NO, K96, K97, K98, K99, KC_NO }, \ + { KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7, KA8, KC_NO, KC_NO }, \ + { KB0, KC_NO, KC_NO, KC_NO, KC_NO, KB5, KB6, KB7, KB8, KB9, KC_NO }, \ +} diff --git a/keyboards/clueboard/2x1800/2019/2019.c b/keyboards/clueboard/2x1800/2019/2019.c index 29f7a4901ceb..40032cd66975 100644 --- a/keyboards/clueboard/2x1800/2019/2019.c +++ b/keyboards/clueboard/2x1800/2019/2019.c @@ -144,13 +144,11 @@ bool led_update_kb(led_t led_state) { return res; } -__attribute__ ((weak)) -bool encoder_update_keymap(int8_t index, bool clockwise) { - return false; -} +__attribute__((weak)) bool encoder_update_keymap(uint8_t index, bool clockwise) { return true; } +__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return encoder_update_keymap(index, clockwise); } -void encoder_update_kb(int8_t index, bool clockwise) { - if (!encoder_update_keymap(index, clockwise)) { +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { // Encoder 1, outside left if (index == 0 && clockwise) { tap_code(KC_MS_U); // turned right @@ -179,4 +177,5 @@ void encoder_update_kb(int8_t index, bool clockwise) { tap_code(KC_MS_L); // turned left } } + return true; } diff --git a/keyboards/clueboard/2x1800/2019/2019.h b/keyboards/clueboard/2x1800/2019/2019.h index e4738a4b90a1..5debfacc5d68 100644 --- a/keyboards/clueboard/2x1800/2019/2019.h +++ b/keyboards/clueboard/2x1800/2019/2019.h @@ -29,8 +29,7 @@ enum TWOx1800_keycodes { #define SAFE_RANGE NEW_SAFE_RANGE // Encoder update function that returns true/false -__attribute__ ((weak)) -bool encoder_update_keymap(int8_t index, bool clockwise); +bool encoder_update_keymap(uint8_t index, bool clockwise); // Encoder button combo check void check_encoder_buttons(void); diff --git a/keyboards/converter/ibm_5291/.noci b/keyboards/clueboard/2x1800/2021/.noci similarity index 100% rename from keyboards/converter/ibm_5291/.noci rename to keyboards/clueboard/2x1800/2021/.noci diff --git a/keyboards/clueboard/2x1800/2021/2021.c b/keyboards/clueboard/2x1800/2021/2021.c new file mode 100644 index 000000000000..40f2a2ed671e --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/2021.c @@ -0,0 +1,154 @@ +/* Copyright 2017 Zach White + * + * 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 "2021.h" +#include "max7219.h" +#include "font.h" + +#ifndef DRAWING_TOY_MODE +static uint16_t led_frame_timer = 0; + +void matrix_scan_kb(void) { + if (timer_elapsed(led_frame_timer) > 100) { + max7219_message_sign_task(true); + led_frame_timer = timer_read(); + } +} +#endif + +void matrix_init_kb(void) { + max7219_init(); + +#if defined(MAX7219_LED_TEST) + while(1) { + for (int i=0; i 0) { // turned left + led_position[0]--; + } else { + led_position[0]=NUM_COLUMNS-1; + } + } + + // Encoder 2, right + else if (index == 1 && clockwise) { + if (led_position[1] < 7) { // turned right + led_position[1]++; + } else { + led_position[1]=0; + } + } else if (index == 1) { + if (led_position[1] > 0) { // turned left + led_position[1]--; + } else { + led_position[1]=7; + } + } + + max7219_set_led(led_position[1], led_position[0], true); +#else + // Encoder 1, left + if (index == 0 && clockwise) { + tap_code(KC_MS_R); // turned right + } else if (index == 0) { + tap_code(KC_MS_L); // turned left + } + + // Encoder 2, right + else if (index == 1 && clockwise) { + tap_code(KC_MS_U); // turned right + } else if (index == 1) { + tap_code(KC_MS_D); // turned left + } +#endif + } + return true; +} diff --git a/keyboards/clueboard/2x1800/2021/2021.h b/keyboards/clueboard/2x1800/2021/2021.h new file mode 100644 index 000000000000..ecb9e00c4e65 --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/2021.h @@ -0,0 +1,18 @@ +/* Copyright 2017 Zach White + * + * 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 "quantum.h" diff --git a/keyboards/clueboard/2x1800/2021/config.h b/keyboards/clueboard/2x1800/2021/config.h new file mode 100644 index 000000000000..eccede6a418e --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/config.h @@ -0,0 +1,96 @@ +/* +Copyright 2017 Zach White + +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 "config_common.h" + +/* audio support */ +#define AUDIO_PIN_ALT B7 +#define AUDIO_PIN C4 +#define AUDIO_CLICKY + +/* + * Encoder Assignments + */ +#define ENCODERS_PAD_A { D0, C5 } +#define ENCODERS_PAD_B { D1, C6 } +#define ENCODER_RESOLUTION 4 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +// Configure our MAX7219's +//#define MAX7219_LOAD B0 +//#define MAX7219_CONTROLLERS 4 +//#define MAX7219_LED_INTENSITY 1 // Max: 15 + +// Define this to disable the startup test +//#define MAX7219_NO_STARTUP_TEST + +/* This controls the speed of the sign, lower is faster. This is the minimal + * time between animation frames, in ms. Actual time between frames will + * always be slightly longer due to other keyboard tasks. + */ +//#define MAX7219_SCROLL_TIME 100 + +/* This setting controls how big the scrollable area for your message sign + * is. If you set it to 0 your display will not work. If you set it to 1 + * you will have no buffer area, and you will only be able to display a + * total of 6 characters. Every number after that increases the buffer area + * by 32 columns. + * + * You can calculate how big to make this for the number of characters you + * want to display: + * + * * 6 / 32 + 1 + * + * You do not need to tune this unless you are trying to save ram. + */ +//#define MAX7219_BUFFER_MULTIPLIER 24 + +// You can only define one of these at a time: + +// Define this to test all LEDs. Keyboard functions will not work. +//#define MAX7219_LED_TEST + +// Define this to iterate through LEDs 1 by 1. Keyboard functions will not work. +//#define MAX7219_LED_ITERATE + +// Define this to show a simple animation. Keyboard functions will not work. +//#define MAX7219_LED_DANCE + +// Define this to show all the characters available +//#define MAX7219_LED_FONTTEST + +// Define this to show Clueboard on the sign +//#define MAX7219_LED_CLUEBOARD + +// Define this to show the Konami code on the sign +//#define MAX7219_LED_KONAMI + +// Define this to show QMK on the sign +//#define MAX7219_LED_QMK_POWERED + +// Define this to treat the message board like an etch-a-sketch +//#define DRAWING_TOY_MODE + +// Define this if you don't want any of the above +//#define MAX7219_LED_CUSTOM diff --git a/keyboards/clueboard/2x1800/2021/font.h b/keyboards/clueboard/2x1800/2021/font.h new file mode 100644 index 000000000000..5ddcbfba56f5 --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/font.h @@ -0,0 +1,156 @@ +/* 5x8 Font for Clueboard 2x1800. + * + * Copyright (c) 2021 Zach White + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * This permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +// Top row of keyboard, when shift held +#define CHR_TILDE {0b00110000, 0b01000000, 0b00110000, 0b00001000, 0b00110000, 0b00000000} +#define CHR_BANG {0b00000000, 0b00000000, 0b11111010, 0b10000000, 0b00000000, 0b00000000} +#define CHR_AT {0b01001100, 0b10010010, 0b10011110, 0b10000010, 0b01111100, 0b00000000} +#define CHR_POUND {0b00101000, 0b11111110, 0b00101000, 0b11111110, 0b00101000, 0b00000000} +#define CHR_DOLLAR {0b00100100, 0b01010100, 0b11111110, 0b10101010, 0b01001000, 0b00000000} +#define CHR_PERCENT {0b11000010, 0b11000100, 0b00010000, 0b00100110, 0b01000110, 0b00000000} +#define CHR_CARET {0b00100000, 0b01000000, 0b10000000, 0b01000000, 0b00100000, 0b00000000} +#define CHR_AMPERSAND {0b01101100, 0b10010010, 0b10101010, 0b01000100, 0b00001010, 0b00000000} +#define CHR_ASTERISK {0b00101000, 0b00010000, 0b01111100, 0b00010000, 0b00101000, 0b00000000} +#define CHR_LPAREN {0b00000000, 0b00111000, 0b01000100, 0b10000010, 0b00000000, 0b00000000} +#define CHR_RPAREN {0b00000000, 0b10000010, 0b01000100, 0b00111000, 0b00000000, 0b00000000} +#define CHR_UNDERSCORE {0b00000010, 0b00000010, 0b00000010, 0b00000010, 0b00000010, 0b00000000} +#define CHR_PLUS {0b00010000, 0b00010000, 0b01111100, 0b00010000, 0b00010000, 0b00000000} + +// Top row of keyboard, without shift +#define CHR_BACKTICK {0b00000000, 0b11000000, 0b01100000, 0b10000000, 0b00000000, 0b00000000} +#define CHR_1 {0b00100000, 0b01000010, 0b11111110, 0b00000010, 0b00000010, 0b00000000} +#define CHR_2 {0b01000010, 0b10000110, 0b10001010, 0b10010010, 0b01100010, 0b00000000} +#define CHR_3 {0b10000100, 0b10000010, 0b10100010, 0b11010010, 0b10001100, 0b00000000} +#define CHR_4 {0b00011000, 0b00101000, 0b01001000, 0b11111110, 0b00001000, 0b00000000} +#define CHR_5 {0b11100100, 0b10100010, 0b10100010, 0b10100010, 0b10011100, 0b00000000} +#define CHR_6 {0b00111100, 0b01010010, 0b10010010, 0b10010010, 0b00001100, 0b00000000} +#define CHR_7 {0b11000000, 0b10001110, 0b10010000, 0b10100000, 0b11000000, 0b00000000} +#define CHR_8 {0b01101100, 0b10010010, 0b10010010, 0b10010010, 0b01101100, 0b00000000} +#define CHR_9 {0b01100000, 0b10010010, 0b10010010, 0b10010010, 0b01111000, 0b00000000} +#define CHR_0 {0b01111100, 0b10001010, 0b10010010, 0b10100010, 0b01111100, 0b00000000} +#define CHR_DASH {0b00000000, 0b00010000, 0b00010000, 0b00010000, 0b00000000, 0b00000000} +#define CHR_EQUAL {0b00000000, 0b00101000, 0b00101000, 0b00101000, 0b00000000, 0b00000000} + +// Letters +#define CHR_A {0b01111110, 0b10001000, 0b10001000, 0b10001000, 0b01111110, 0b00000000} +#define CHR_B {0b11111110, 0b10010010, 0b10010010, 0b10010010, 0b01101100, 0b00000000} +#define CHR_C {0b01111100, 0b10000010, 0b10000010, 0b10000010, 0b01000100, 0b00000000} +#define CHR_D {0b11111110, 0b10000010, 0b10000010, 0b10000010, 0b01111100, 0b00000000} +#define CHR_E {0b11111110, 0b10010010, 0b10010010, 0b10010010, 0b10000010, 0b00000000} +#define CHR_F {0b11111110, 0b10010000, 0b10010000, 0b10010000, 0b10000000, 0b00000000} +#define CHR_G {0b01111100, 0b10000010, 0b10010010, 0b10010010, 0b01011100, 0b00000000} +#define CHR_H {0b11111110, 0b00010000, 0b00010000, 0b00010000, 0b11111110, 0b00000000} +#define CHR_I {0b00000000, 0b10000010, 0b11111110, 0b10000010, 0b00000000, 0b00000000} +#define CHR_J {0b00000100, 0b00000010, 0b10000010, 0b11111100, 0b10000000, 0b00000000} +#define CHR_K {0b11111110, 0b00010000, 0b00101000, 0b01000100, 0b10000010, 0b00000000} +#define CHR_L {0b00000000, 0b11111110, 0b00000010, 0b00000010, 0b00000010, 0b00000000} +#define CHR_M {0b11111110, 0b01000000, 0b00110000, 0b01000000, 0b11111110, 0b00000000} +#define CHR_N {0b11111110, 0b01100000, 0b00010000, 0b00001100, 0b11111110, 0b00000000} +#define CHR_O {0b01111100, 0b10000010, 0b10000010, 0b10000010, 0b01111100, 0b00000000} +#define CHR_P {0b11111110, 0b10010000, 0b10010000, 0b10010000, 0b01100000, 0b00000000} +#define CHR_Q {0b01111100, 0b10000010, 0b10001010, 0b10000100, 0b01111010, 0b00000000} +#define CHR_R {0b11111110, 0b10010000, 0b10011000, 0b10010100, 0b01100010, 0b00000000} +#define CHR_S {0b01100100, 0b10010010, 0b10010010, 0b10010010, 0b01001100, 0b00000000} +#define CHR_T {0b10000000, 0b10000000, 0b11111110, 0b10000000, 0b10000000, 0b00000000} +#define CHR_U {0b11111100, 0b00000010, 0b00000010, 0b00000010, 0b11111100, 0b00000000} +#define CHR_V {0b11111000, 0b00000100, 0b00000010, 0b00000100, 0b11111000, 0b00000000} +#define CHR_W {0b11111100, 0b00000010, 0b00011100, 0b00000010, 0b11111110, 0b00000000} +#define CHR_X {0b11000110, 0b00101000, 0b00010000, 0b00101000, 0b11000110, 0b00000000} +#define CHR_Y {0b11100000, 0b00010000, 0b00001110, 0b00010000, 0b11100000, 0b00000000} +#define CHR_Z {0b10000110, 0b10001010, 0b10010010, 0b10100010, 0b11000010, 0b00000000} + +#define CHR_a {0b00000100, 0b00101010, 0b00101010, 0b00101010, 0b00011110, 0b00000000} +#define CHR_b {0b11111110, 0b00010010, 0b00100010, 0b00100010, 0b00011100, 0b00000000} +#define CHR_c {0b00011100, 0b00100010, 0b00100010, 0b00100010, 0b00000100, 0b00000000} +#define CHR_d {0b00011100, 0b00100010, 0b00100010, 0b00010010, 0b11111110, 0b00000000} +#define CHR_e {0b00011100, 0b00101010, 0b00101010, 0b00101010, 0b00011000, 0b00000000} +#define CHR_f {0b00000000, 0b00010000, 0b01111110, 0b10010000, 0b10000000, 0b01000000} +#define CHR_g {0b00011000, 0b00100101, 0b00100101, 0b00100101, 0b00111110, 0b00000000} +#define CHR_h {0b11111110, 0b00010000, 0b00100000, 0b00100000, 0b00011110, 0b00000000} +#define CHR_i {0b00000000, 0b00010010, 0b10111110, 0b00000010, 0b00000000, 0b00000000} +#define CHR_j {0b00000100, 0b00000010, 0b00100010, 0b10111100, 0b00000000, 0b00000000} +#define CHR_k {0b11111110, 0b00001000, 0b00010100, 0b00100010, 0b00000000, 0b00000000} +#define CHR_l {0b00000000, 0b10000010, 0b11111110, 0b00000010, 0b00000000, 0b00000000} +#define CHR_m {0b00111110, 0b00100000, 0b00111110, 0b00100000, 0b00111110, 0b00000000} +#define CHR_n {0b00111110, 0b00010000, 0b00100000, 0b00100000, 0b00011110, 0b00000000} +#define CHR_o {0b00011100, 0b00100010, 0b00100010, 0b00100010, 0b00011100, 0b00000000} +#define CHR_p {0b00111111, 0b00100100, 0b00100100, 0b00100100, 0b00011000, 0b00000000} +#define CHR_q {0b00011000, 0b00100100, 0b00100100, 0b00011000, 0b00111111, 0b00000000} +#define CHR_r {0b00111110, 0b00010000, 0b00100000, 0b00100000, 0b00010000, 0b00000000} +#define CHR_s {0b00010010, 0b00101010, 0b00101010, 0b00101010, 0b00000100, 0b00000000} +#define CHR_t {0b00100000, 0b11111100, 0b00100010, 0b00000010, 0b00000100, 0b00000000} +#define CHR_u {0b00111100, 0b00000010, 0b00000010, 0b00000100, 0b00111110, 0b00000000} +#define CHR_v {0b00111000, 0b00000100, 0b00000010, 0b00000100, 0b00111000, 0b00000000} +#define CHR_w {0b00111100, 0b00000010, 0b00111100, 0b00000010, 0b00111100, 0b00000000} +#define CHR_x {0b00100010, 0b00010100, 0b00001000, 0b00010100, 0b00100010, 0b00000000} +#define CHR_y {0b00111000, 0b00000101, 0b00000101, 0b00000101, 0b00111110, 0b00000000} +#define CHR_z {0b00100010, 0b00100110, 0b00101010, 0b00110010, 0b00100010, 0b00000000} + +// Punctuation +#define CHR_LCURLY {0b00000000, 0b00010000, 0b01101100, 0b10000010, 0b00000000, 0b00000000} +#define CHR_RCURLY {0b00000000, 0b10000010, 0b01101100, 0b00010000, 0b00000000, 0b00000000} +#define CHR_PIPE {0b00000000, 0b00000000, 0b11101110, 0b00000000, 0b00000000, 0b00000000} +#define CHR_COLON {0b00000000, 0b00000000, 0b01101100, 0b01101100, 0b00000000, 0b00000000} +#define CHR_QUOTE {0b00000000, 0b01110000, 0b00000000, 0b01110000, 0b00000000, 0b00000000} +#define CHR_LESSTHAN {0b00010000, 0b00101000, 0b01000100, 0b10000010, 0b00000000, 0b00000000} +#define CHR_GREATERTHAN {0b10000010, 0b01000100, 0b00101000, 0b00010000, 0b00000000, 0b00000000} +#define CHR_QUESTIONMARK {0b01000000, 0b10000000, 0b10001010, 0b10010000, 0b01100000, 0b00000000} +#define CHR_INTERROBANG {0b01100000, 0b10000000, 0b11101010, 0b10010000, 0b01100000, 0b00000000} +#define CHR_LBRACKET {0b00000000, 0b11111110, 0b10000010, 0b10000010, 0b00000000, 0b00000000} +#define CHR_RBRACKET {0b00000000, 0b10000010, 0b10000010, 0b11111110, 0b00000000, 0b00000000} +#define CHR_BACKSLASH {0b01000000, 0b00100000, 0b00010000, 0b00001000, 0b00000100, 0b00000000} +#define CHR_SEMICOLON {0b00000000, 0b00000000, 0b01101010, 0b01101100, 0b00000000, 0b00000000} +#define CHR_APOSTROPHE {0b00000000, 0b00000000, 0b01110000, 0b00000000, 0b00000000, 0b00000000} +#define CHR_COMMA {0b00000000, 0b00000000, 0b00001010, 0b00001100, 0b00000000, 0b00000000} +#define CHR_PERIOD {0b00000000, 0b00000000, 0b00000110, 0b00000110, 0b00000000, 0b00000000} +#define CHR_SLASH {0b00000100, 0b00001000, 0b00010000, 0b00100000, 0b01000000, 0b00000000} +#define CHR_SPACE {0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000} +#define CHR_DEGREES {0b11000000, 0b11000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000} + +// Graphics +#define CHR_CENT {0b00111000, 0b01000100, 0b11111110, 0b01000100, 0b00101000, 0b00000000} +#define CHR_DEGREES_C {0b11000000, 0b11001100, 0b00010010, 0b00010010, 0b00000000, 0b00000000} +#define CHR_DEGREES_F {0b11000000, 0b11011110, 0b00010100, 0b00010000, 0b00000000, 0b00000000} +#define CHR_DIVISION {0b00010000, 0b00010000, 0b01010100, 0b00010000, 0b00010000, 0b00000000} +#define CHR_LEFT_ARROW {0b00010000, 0b00111000, 0b01010100, 0b00010000, 0b00010000, 0b00000000} +#define CHR_RIGHT_ARROW {0b00010000, 0b00010000, 0b01010100, 0b00111000, 0b00010000, 0b00000000} +#define CHR_UP_ARROW {0b00010000, 0b00100000, 0b01111110, 0b00100000, 0b00010000, 0b00000000} +#define CHR_DOWN_ARROW {0b00001000, 0b00000100, 0b01111110, 0b00000100, 0b00001000, 0b00000000} +#define CHR_PI {0b00100010, 0b00111100, 0b00100000, 0b00111110, 0b00100010, 0b00000000} +#define CHR_PSI {0b01111000, 0b00001000, 0b01111110, 0b00001000, 0b01111000, 0b00000000} + +// Predefined messages +#define MSG_FONTTEST {CHR_TILDE, CHR_BANG, CHR_AT, CHR_POUND, CHR_PERCENT, CHR_CARET, CHR_AMPERSAND, CHR_LPAREN, CHR_RPAREN, CHR_UNDERSCORE, CHR_PLUS, CHR_BACKTICK, CHR_1, CHR_2, CHR_3, CHR_4, CHR_5, CHR_6, CHR_7, CHR_8, CHR_9, CHR_0, CHR_DASH, CHR_EQUAL, CHR_A, CHR_B, CHR_C, CHR_D, CHR_E, CHR_F, CHR_G, CHR_H, CHR_I, CHR_J, CHR_K, CHR_L, CHR_M, CHR_N, CHR_O, CHR_P, CHR_Q, CHR_R, CHR_S, CHR_T, CHR_U, CHR_V, CHR_W, CHR_X, CHR_Y, CHR_Z, CHR_a, CHR_b, CHR_c, CHR_d, CHR_e, CHR_f, CHR_g, CHR_h, CHR_i, CHR_j, CHR_k, CHR_l, CHR_m, CHR_n, CHR_o, CHR_p, CHR_q, CHR_r, CHR_s, CHR_t, CHR_u, CHR_v, CHR_w, CHR_x, CHR_y, CHR_z, CHR_LCURLY, CHR_RCURLY, CHR_PIPE, CHR_COLON, CHR_QUOTE, CHR_LESSTHAN, CHR_GREATERTHAN, CHR_QUESTIONMARK, CHR_INTERROBANG, CHR_LBRACKET, CHR_RBRACKET, CHR_BACKSLASH, CHR_SEMICOLON, CHR_APOSTROPHE, CHR_COMMA, CHR_PERIOD, CHR_SLASH, CHR_CENT, CHR_DEGREES, CHR_DEGREES_C, CHR_DEGREES_F, CHR_DIVISION, CHR_LEFT_ARROW, CHR_RIGHT_ARROW, CHR_UP_ARROW, CHR_DOWN_ARROW, CHR_PI, CHR_PSI} +#define MSG_FONTTEST_LEN 104 + +#define MSG_CLUEBOARD {CHR_INTERROBANG, CHR_C, CHR_l, CHR_u, CHR_e, CHR_b, CHR_o, CHR_a, CHR_r, CHR_d} +#define MSG_CLUEBOARD_LEN 10 + +#define MSG_KONAMI {CHR_UP_ARROW, CHR_SPACE, CHR_UP_ARROW, CHR_SPACE, CHR_DOWN_ARROW, CHR_SPACE, CHR_DOWN_ARROW, CHR_SPACE, CHR_LEFT_ARROW, CHR_SPACE, CHR_RIGHT_ARROW, CHR_SPACE, CHR_LEFT_ARROW, CHR_SPACE, CHR_RIGHT_ARROW, CHR_SPACE, CHR_B, CHR_SPACE, CHR_A, CHR_SPACE, CHR_LESSTHAN, CHR_S, CHR_E, CHR_L, CHR_E, CHR_C, CHR_T, CHR_GREATERTHAN, CHR_SPACE, CHR_LESSTHAN, CHR_S, CHR_T, CHR_A, CHR_R, CHR_T, CHR_GREATERTHAN} +#define MSG_KONAMI_LEN 36 + +#define MSG_QMK_POWERED {CHR_PSI, CHR_P, CHR_o, CHR_w, CHR_e, CHR_r, CHR_e, CHR_d, CHR_SPACE, CHR_b, CHR_y, CHR_SPACE, CHR_Q, CHR_M, CHR_K} +#define MSG_QMK_POWERED_LEN 15 diff --git a/keyboards/clueboard/2x1800/2021/info.json b/keyboards/clueboard/2x1800/2021/info.json new file mode 100644 index 000000000000..460be68cb6a3 --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/info.json @@ -0,0 +1,425 @@ +{ + "manufacturer": "Clueboard", + "keyboard_name": "Clueboard 2x1800 2021", + "maintainer": "skullydazed", + "height": 6.5, + "width": 24, + "bootloader": "halfkay", + "debounce": 5, + "diode_direction": "ROW2COL", + "features": { + "audio": true, + "bootmagic": false, + "console": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "B5", + "num_lock": "B4", + "scroll_lock": "B6" + }, + "matrix_pins": { + "cols": ["D2", "D3", "D4", "D5", "D7", "E0", "E1", "F0", "E6", "A0", "E7"], + "rows": ["C0", "C1", "C2", "C3", "C7", "F7", "F1", "F2", "F3", "F4", "F5", "F6"] + }, + "processor": "at90usb1286", + "usb": { + "pid": "0x23A0" + }, + "layout_aliases": { + "KEYMAP": "LAYOUT_all", + "LAYOUT": "LAYOUT_all" + }, + "layouts": { + "LAYOUT_4u_space": { + "key_count": 124, + "layout": [ + { "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "matrix": [0, 4], "w": 1, "x": 4.75, "y": 0 }, + { "matrix": [0, 6], "w": 1, "x": 6.25, "y": 0 }, + { "matrix": [0, 7], "w": 1, "x": 7.25, "y": 0 }, + { "matrix": [0, 8], "w": 1, "x": 8.25, "y": 0 }, + { "matrix": [0, 9], "w": 1, "x": 9.25, "y": 0 }, + { "matrix": [0, 10], "w": 1, "x": 10.75, "y": 0 }, + { "matrix": [6, 0], "w": 1, "x": 11.75, "y": 0 }, + { "matrix": [6, 1], "w": 1, "x": 12.75, "y": 0 }, + { "matrix": [6, 2], "w": 1, "x": 13.75, "y": 0 }, + { "matrix": [6, 3], "w": 1, "x": 15.25, "y": 0 }, + { "matrix": [6, 4], "w": 1, "x": 16.25, "y": 0 }, + { "matrix": [6, 5], "w": 1, "x": 17.25, "y": 0 }, + { "matrix": [6, 6], "w": 1, "x": 18.25, "y": 0 }, + { "matrix": [6, 7], "w": 1, "x": 20, "y": 0 }, + { "matrix": [6, 8], "w": 1, "x": 21, "y": 0 }, + { "matrix": [6, 9], "w": 1, "x": 22, "y": 0 }, + { "matrix": [6, 10], "w": 1, "x": 23, "y": 0 }, + { "matrix": [1, 0], "w": 1, "x": 0, "y": 1.25 }, + { "matrix": [1, 1], "w": 1, "x": 1, "y": 1.25 }, + { "matrix": [1, 2], "w": 1, "x": 2, "y": 1.25 }, + { "matrix": [1, 3], "w": 1, "x": 3, "y": 1.25 }, + { "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1.25 }, + { "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1.25 }, + { "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1.25 }, + { "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1.25 }, + { "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1.25 }, + { "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1.25 }, + { "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1.25 }, + { "matrix": [7, 0], "w": 1, "x": 11.5, "y": 1.25 }, + { "matrix": [7, 1], "w": 1, "x": 12.5, "y": 1.25 }, + { "matrix": [7, 2], "w": 1, "x": 13.5, "y": 1.25 }, + { "matrix": [7, 3], "w": 1, "x": 14.5, "y": 1.25 }, + { "matrix": [7, 4], "w": 1, "x": 15.5, "y": 1.25 }, + { "matrix": [7, 5], "w": 1, "x": 16.5, "y": 1.25 }, + { "matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25 }, + { "matrix": [7, 7], "w": 1, "x": 20, "y": 1.25 }, + { "matrix": [7, 8], "w": 1, "x": 21, "y": 1.25 }, + { "matrix": [7, 9], "w": 1, "x": 22, "y": 1.25 }, + { "matrix": [7, 10], "w": 1, "x": 23, "y": 1.25 }, + { "h": 2, "matrix": [2, 0], "w": 1, "x": 0, "y": 2.25 }, + { "matrix": [2, 1], "w": 1, "x": 1, "y": 2.25 }, + { "matrix": [2, 2], "w": 1, "x": 2, "y": 2.25 }, + { "matrix": [2, 3], "w": 1, "x": 3, "y": 2.25 }, + { "matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.25 }, + { "matrix": [2, 5], "w": 1, "x": 6, "y": 2.25 }, + { "matrix": [2, 6], "w": 1, "x": 7, "y": 2.25 }, + { "matrix": [2, 7], "w": 1, "x": 8, "y": 2.25 }, + { "matrix": [2, 8], "w": 1, "x": 9, "y": 2.25 }, + { "matrix": [2, 9], "w": 1, "x": 10, "y": 2.25 }, + { "matrix": [2, 10], "w": 1, "x": 11, "y": 2.25 }, + { "matrix": [8, 0], "w": 1, "x": 12, "y": 2.25 }, + { "matrix": [8, 1], "w": 1, "x": 13, "y": 2.25 }, + { "matrix": [8, 2], "w": 1, "x": 14, "y": 2.25 }, + { "matrix": [8, 3], "w": 1, "x": 15, "y": 2.25 }, + { "matrix": [8, 4], "w": 1, "x": 16, "y": 2.25 }, + { "matrix": [8, 5], "w": 1, "x": 17, "y": 2.25 }, + { "matrix": [8, 6], "w": 1.5, "x": 18, "y": 2.25 }, + { "matrix": [8, 7], "w": 1, "x": 20, "y": 2.25 }, + { "matrix": [8, 8], "w": 1, "x": 21, "y": 2.25 }, + { "matrix": [8, 9], "w": 1, "x": 22, "y": 2.25 }, + { "h": 2, "matrix": [8, 10], "w": 1, "x": 23, "y": 2.25 }, + { "matrix": [3, 1], "w": 1, "x": 1, "y": 3.25 }, + { "matrix": [3, 2], "w": 1, "x": 2, "y": 3.25 }, + { "matrix": [3, 3], "w": 1, "x": 3, "y": 3.25 }, + { "matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.25 }, + { "matrix": [3, 5], "w": 1, "x": 6.25, "y": 3.25 }, + { "matrix": [3, 6], "w": 1, "x": 7.25, "y": 3.25 }, + { "matrix": [3, 7], "w": 1, "x": 8.25, "y": 3.25 }, + { "matrix": [3, 8], "w": 1, "x": 9.25, "y": 3.25 }, + { "matrix": [3, 9], "w": 1, "x": 10.25, "y": 3.25 }, + { "matrix": [3, 10], "w": 1, "x": 11.25, "y": 3.25 }, + { "matrix": [9, 0], "w": 1, "x": 12.25, "y": 3.25 }, + { "matrix": [9, 1], "w": 1, "x": 13.25, "y": 3.25 }, + { "matrix": [9, 2], "w": 1, "x": 14.25, "y": 3.25 }, + { "matrix": [9, 3], "w": 1, "x": 15.25, "y": 3.25 }, + { "matrix": [9, 4], "w": 1, "x": 16.25, "y": 3.25 }, + { "matrix": [9, 5], "w": 2.25, "x": 17.25, "y": 3.25 }, + { "matrix": [9, 7], "w": 1, "x": 20, "y": 3.25 }, + { "matrix": [9, 8], "w": 1, "x": 21, "y": 3.25 }, + { "matrix": [9, 9], "w": 1, "x": 22, "y": 3.25 }, + { "h": 2, "matrix": [4, 0], "w": 1, "x": 0, "y": 4.25 }, + { "matrix": [4, 1], "w": 1, "x": 1, "y": 4.25 }, + { "matrix": [4, 2], "w": 1, "x": 2, "y": 4.25 }, + { "matrix": [4, 3], "w": 1, "x": 3, "y": 4.25 }, + { "matrix": [4, 4], "w": 1.25, "x": 5.5, "y": 4.25 }, + { "matrix": [4, 5], "w": 1, "x": 6.75, "y": 4.25 }, + { "matrix": [4, 6], "w": 1, "x": 7.75, "y": 4.25 }, + { "matrix": [4, 7], "w": 1, "x": 8.75, "y": 4.25 }, + { "matrix": [4, 8], "w": 1, "x": 9.75, "y": 4.25 }, + { "matrix": [4, 9], "w": 1, "x": 10.75, "y": 4.25 }, + { "matrix": [4, 10], "w": 1, "x": 11.75, "y": 4.25 }, + { "matrix": [10, 0], "w": 1, "x": 12.75, "y": 4.25 }, + { "matrix": [10, 1], "w": 1, "x": 13.75, "y": 4.25 }, + { "matrix": [10, 2], "w": 1, "x": 14.75, "y": 4.25 }, + { "matrix": [10, 3], "w": 1, "x": 15.75, "y": 4.25 }, + { "matrix": [10, 4], "w": 1.75, "x": 16.75, "y": 4.25 }, + { "matrix": [10, 5], "w": 1, "x": 20, "y": 4.25 }, + { "matrix": [9, 6], "w": 1, "x": 21, "y": 4.25 }, + { "matrix": [10, 7], "w": 1, "x": 22, "y": 4.25 }, + { "h": 2, "matrix": [10, 8], "w": 1, "x": 23, "y": 4.25 }, + { "matrix": [10, 9], "w": 1, "x": 4.25, "y": 4.5 }, + { "matrix": [10, 10], "w": 1, "x": 18.75, "y": 4.5 }, + { "matrix": [5, 1], "w": 1, "x": 1, "y": 5.25 }, + { "matrix": [5, 2], "w": 1, "x": 2, "y": 5.25 }, + { "matrix": [5, 3], "w": 1, "x": 6.5, "y": 5.25 }, + { "matrix": [5, 4], "w": 1, "x": 7.5, "y": 5.25 }, + { "matrix": [5, 5], "w": 1, "x": 8.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 4, "x": 9.5, "y": 5.25 }, + { "matrix": [5, 7], "w": 1, "x": 13.5, "y": 5.25 }, + { "matrix": [5, 8], "w": 1, "x": 14.5, "y": 5.25 }, + { "matrix": [11, 0], "w": 1, "x": 15.5, "y": 5.25 }, + { "matrix": [11, 2], "w": 1, "x": 16.5, "y": 5.25 }, + { "matrix": [11, 3], "w": 1, "x": 21, "y": 5.25 }, + { "matrix": [11, 4], "w": 1, "x": 22, "y": 5.25 }, + { "matrix": [11, 5], "w": 1, "x": 3.25, "y": 5.5 }, + { "matrix": [10, 6], "w": 1, "x": 4.25, "y": 5.5 }, + { "matrix": [11, 6], "w": 1, "x": 5.25, "y": 5.5 }, + { "matrix": [11, 7], "w": 1, "x": 17.75, "y": 5.5 }, + { "matrix": [11, 8], "w": 1, "x": 18.75, "y": 5.5 }, + { "matrix": [11, 9], "w": 1, "x": 19.75, "y": 5.5 } + ] + }, + "LAYOUT_7u_space": { + "key_count": 121, + "layout": [ + { "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "matrix": [0, 4], "w": 1, "x": 4.75, "y": 0 }, + { "matrix": [0, 6], "w": 1, "x": 6.25, "y": 0 }, + { "matrix": [0, 7], "w": 1, "x": 7.25, "y": 0 }, + { "matrix": [0, 8], "w": 1, "x": 8.25, "y": 0 }, + { "matrix": [0, 9], "w": 1, "x": 9.25, "y": 0 }, + { "matrix": [0, 10], "w": 1, "x": 10.75, "y": 0 }, + { "matrix": [6, 0], "w": 1, "x": 11.75, "y": 0 }, + { "matrix": [6, 1], "w": 1, "x": 12.75, "y": 0 }, + { "matrix": [6, 2], "w": 1, "x": 13.75, "y": 0 }, + { "matrix": [6, 3], "w": 1, "x": 15.25, "y": 0 }, + { "matrix": [6, 4], "w": 1, "x": 16.25, "y": 0 }, + { "matrix": [6, 5], "w": 1, "x": 17.25, "y": 0 }, + { "matrix": [6, 6], "w": 1, "x": 18.25, "y": 0 }, + { "matrix": [6, 7], "w": 1, "x": 20, "y": 0 }, + { "matrix": [6, 8], "w": 1, "x": 21, "y": 0 }, + { "matrix": [6, 9], "w": 1, "x": 22, "y": 0 }, + { "matrix": [6, 10], "w": 1, "x": 23, "y": 0 }, + { "matrix": [1, 0], "w": 1, "x": 0, "y": 1.25 }, + { "matrix": [1, 1], "w": 1, "x": 1, "y": 1.25 }, + { "matrix": [1, 2], "w": 1, "x": 2, "y": 1.25 }, + { "matrix": [1, 3], "w": 1, "x": 3, "y": 1.25 }, + { "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1.25 }, + { "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1.25 }, + { "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1.25 }, + { "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1.25 }, + { "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1.25 }, + { "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1.25 }, + { "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1.25 }, + { "matrix": [7, 0], "w": 1, "x": 11.5, "y": 1.25 }, + { "matrix": [7, 1], "w": 1, "x": 12.5, "y": 1.25 }, + { "matrix": [7, 2], "w": 1, "x": 13.5, "y": 1.25 }, + { "matrix": [7, 3], "w": 1, "x": 14.5, "y": 1.25 }, + { "matrix": [7, 4], "w": 1, "x": 15.5, "y": 1.25 }, + { "matrix": [7, 5], "w": 1, "x": 16.5, "y": 1.25 }, + { "matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25 }, + { "matrix": [7, 7], "w": 1, "x": 20, "y": 1.25 }, + { "matrix": [7, 8], "w": 1, "x": 21, "y": 1.25 }, + { "matrix": [7, 9], "w": 1, "x": 22, "y": 1.25 }, + { "matrix": [7, 10], "w": 1, "x": 23, "y": 1.25 }, + { "h": 2, "matrix": [2, 0], "w": 1, "x": 0, "y": 2.25 }, + { "matrix": [2, 1], "w": 1, "x": 1, "y": 2.25 }, + { "matrix": [2, 2], "w": 1, "x": 2, "y": 2.25 }, + { "matrix": [2, 3], "w": 1, "x": 3, "y": 2.25 }, + { "matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.25 }, + { "matrix": [2, 5], "w": 1, "x": 6, "y": 2.25 }, + { "matrix": [2, 6], "w": 1, "x": 7, "y": 2.25 }, + { "matrix": [2, 7], "w": 1, "x": 8, "y": 2.25 }, + { "matrix": [2, 8], "w": 1, "x": 9, "y": 2.25 }, + { "matrix": [2, 9], "w": 1, "x": 10, "y": 2.25 }, + { "matrix": [2, 10], "w": 1, "x": 11, "y": 2.25 }, + { "matrix": [8, 0], "w": 1, "x": 12, "y": 2.25 }, + { "matrix": [8, 1], "w": 1, "x": 13, "y": 2.25 }, + { "matrix": [8, 2], "w": 1, "x": 14, "y": 2.25 }, + { "matrix": [8, 3], "w": 1, "x": 15, "y": 2.25 }, + { "matrix": [8, 4], "w": 1, "x": 16, "y": 2.25 }, + { "matrix": [8, 5], "w": 1, "x": 17, "y": 2.25 }, + { "matrix": [8, 6], "w": 1.5, "x": 18, "y": 2.25 }, + { "matrix": [8, 7], "w": 1, "x": 20, "y": 2.25 }, + { "matrix": [8, 8], "w": 1, "x": 21, "y": 2.25 }, + { "matrix": [8, 9], "w": 1, "x": 22, "y": 2.25 }, + { "h": 2, "matrix": [8, 10], "w": 1, "x": 23, "y": 2.25 }, + { "matrix": [3, 1], "w": 1, "x": 1, "y": 3.25 }, + { "matrix": [3, 2], "w": 1, "x": 2, "y": 3.25 }, + { "matrix": [3, 3], "w": 1, "x": 3, "y": 3.25 }, + { "matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.25 }, + { "matrix": [3, 5], "w": 1, "x": 6.25, "y": 3.25 }, + { "matrix": [3, 6], "w": 1, "x": 7.25, "y": 3.25 }, + { "matrix": [3, 7], "w": 1, "x": 8.25, "y": 3.25 }, + { "matrix": [3, 8], "w": 1, "x": 9.25, "y": 3.25 }, + { "matrix": [3, 9], "w": 1, "x": 10.25, "y": 3.25 }, + { "matrix": [3, 10], "w": 1, "x": 11.25, "y": 3.25 }, + { "matrix": [9, 0], "w": 1, "x": 12.25, "y": 3.25 }, + { "matrix": [9, 1], "w": 1, "x": 13.25, "y": 3.25 }, + { "matrix": [9, 2], "w": 1, "x": 14.25, "y": 3.25 }, + { "matrix": [9, 3], "w": 1, "x": 15.25, "y": 3.25 }, + { "matrix": [9, 4], "w": 1, "x": 16.25, "y": 3.25 }, + { "matrix": [9, 5], "w": 2.25, "x": 17.25, "y": 3.25 }, + { "matrix": [9, 7], "w": 1, "x": 20, "y": 3.25 }, + { "matrix": [9, 8], "w": 1, "x": 21, "y": 3.25 }, + { "matrix": [9, 9], "w": 1, "x": 22, "y": 3.25 }, + { "h": 2, "matrix": [4, 0], "w": 1, "x": 0, "y": 4.25 }, + { "matrix": [4, 1], "w": 1, "x": 1, "y": 4.25 }, + { "matrix": [4, 2], "w": 1, "x": 2, "y": 4.25 }, + { "matrix": [4, 3], "w": 1, "x": 3, "y": 4.25 }, + { "matrix": [4, 4], "w": 1.25, "x": 5.5, "y": 4.25 }, + { "matrix": [4, 5], "w": 1, "x": 6.75, "y": 4.25 }, + { "matrix": [4, 6], "w": 1, "x": 7.75, "y": 4.25 }, + { "matrix": [4, 7], "w": 1, "x": 8.75, "y": 4.25 }, + { "matrix": [4, 8], "w": 1, "x": 9.75, "y": 4.25 }, + { "matrix": [4, 9], "w": 1, "x": 10.75, "y": 4.25 }, + { "matrix": [4, 10], "w": 1, "x": 11.75, "y": 4.25 }, + { "matrix": [10, 0], "w": 1, "x": 12.75, "y": 4.25 }, + { "matrix": [10, 1], "w": 1, "x": 13.75, "y": 4.25 }, + { "matrix": [10, 2], "w": 1, "x": 14.75, "y": 4.25 }, + { "matrix": [10, 3], "w": 1, "x": 15.75, "y": 4.25 }, + { "matrix": [10, 4], "w": 1.75, "x": 16.75, "y": 4.25 }, + { "matrix": [10, 5], "w": 1, "x": 20, "y": 4.25 }, + { "matrix": [9, 6], "w": 1, "x": 21, "y": 4.25 }, + { "matrix": [10, 7], "w": 1, "x": 22, "y": 4.25 }, + { "h": 2, "matrix": [10, 8], "w": 1, "x": 23, "y": 4.25 }, + { "matrix": [10, 9], "w": 1, "x": 4.25, "y": 4.5 }, + { "matrix": [10, 10], "w": 1, "x": 18.75, "y": 4.5 }, + { "matrix": [5, 1], "w": 1, "x": 1, "y": 5.25 }, + { "matrix": [5, 2], "w": 1, "x": 2, "y": 5.25 }, + { "matrix": [5, 3], "w": 1, "x": 6.5, "y": 5.25 }, + { "matrix": [5, 4], "w": 1, "x": 7.5, "y": 5.25 }, + { "matrix": [5, 5], "w": 7, "x": 8.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 1, "x": 15.5, "y": 5.25 }, + { "matrix": [5, 7], "w": 1, "x": 16.5, "y": 5.25 }, + { "matrix": [11, 0], "w": 1, "x": 21, "y": 5.25 }, + { "matrix": [11, 4], "w": 1, "x": 22, "y": 5.25 }, + { "matrix": [11, 5], "w": 1, "x": 3.25, "y": 5.5 }, + { "matrix": [10, 6], "w": 1, "x": 4.25, "y": 5.5 }, + { "matrix": [11, 6], "w": 1, "x": 5.25, "y": 5.5 }, + { "matrix": [11, 7], "w": 1, "x": 17.75, "y": 5.5 }, + { "matrix": [11, 8], "w": 1, "x": 18.75, "y": 5.5 }, + { "matrix": [11, 9], "w": 1, "x": 19.75, "y": 5.5 } + ] + }, + "LAYOUT_all": { + "key_count": 127, + "layout": [ + { "label": "Home", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "End", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "PgUp", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "PgDn", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "Esc", "matrix": [0, 4], "w": 1, "x": 4.75, "y": 0 }, + { "label": "F1", "matrix": [0, 6], "w": 1, "x": 6.25, "y": 0 }, + { "label": "F2", "matrix": [0, 7], "w": 1, "x": 7.25, "y": 0 }, + { "label": "F3", "matrix": [0, 8], "w": 1, "x": 8.25, "y": 0 }, + { "label": "F4", "matrix": [0, 9], "w": 1, "x": 9.25, "y": 0 }, + { "label": "F5", "matrix": [0, 10], "w": 1, "x": 10.75, "y": 0 }, + { "label": "F6", "matrix": [6, 0], "w": 1, "x": 11.75, "y": 0 }, + { "label": "F7", "matrix": [6, 1], "w": 1, "x": 12.75, "y": 0 }, + { "label": "F8", "matrix": [6, 2], "w": 1, "x": 13.75, "y": 0 }, + { "label": "F9", "matrix": [6, 3], "w": 1, "x": 15.25, "y": 0 }, + { "label": "F10", "matrix": [6, 4], "w": 1, "x": 16.25, "y": 0 }, + { "label": "F11", "matrix": [6, 5], "w": 1, "x": 17.25, "y": 0 }, + { "label": "F12", "matrix": [6, 6], "w": 1, "x": 18.25, "y": 0 }, + { "label": "PrtSc", "matrix": [6, 7], "w": 1, "x": 20, "y": 0 }, + { "label": "Scroll Lock", "matrix": [6, 8], "w": 1, "x": 21, "y": 0 }, + { "label": "Pause", "matrix": [6, 9], "w": 1, "x": 22, "y": 0 }, + { "label": "Insert", "matrix": [6, 10], "w": 1, "x": 23, "y": 0 }, + { "label": "-", "matrix": [1, 0], "w": 1, "x": 0, "y": 1.25 }, + { "label": "Num Lock", "matrix": [1, 1], "w": 1, "x": 1, "y": 1.25 }, + { "label": "/", "matrix": [1, 2], "w": 1, "x": 2, "y": 1.25 }, + { "label": "*", "matrix": [1, 3], "w": 1, "x": 3, "y": 1.25 }, + { "label": "~", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1.25 }, + { "label": "!", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1.25 }, + { "label": "@", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1.25 }, + { "label": "#", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1.25 }, + { "label": "$", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1.25 }, + { "label": "%", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1.25 }, + { "label": "^", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1.25 }, + { "label": "&", "matrix": [7, 0], "w": 1, "x": 11.5, "y": 1.25 }, + { "label": "*", "matrix": [7, 1], "w": 1, "x": 12.5, "y": 1.25 }, + { "label": "(", "matrix": [7, 2], "w": 1, "x": 13.5, "y": 1.25 }, + { "label": ")", "matrix": [7, 3], "w": 1, "x": 14.5, "y": 1.25 }, + { "label": "_", "matrix": [7, 4], "w": 1, "x": 15.5, "y": 1.25 }, + { "label": "+", "matrix": [7, 5], "w": 1, "x": 16.5, "y": 1.25 }, + { "label": "Backspace", "matrix": [7, 6], "w": 2, "x": 17.5, "y": 1.25 }, + { "label": "Num Lock", "matrix": [7, 7], "w": 1, "x": 20, "y": 1.25 }, + { "label": "/", "matrix": [7, 8], "w": 1, "x": 21, "y": 1.25 }, + { "label": "*", "matrix": [7, 9], "w": 1, "x": 22, "y": 1.25 }, + { "label": "-", "matrix": [7, 10], "w": 1, "x": 23, "y": 1.25 }, + { "h": 2, "label": "+", "matrix": [2, 0], "w": 1, "x": 0, "y": 2.25 }, + { "label": "7", "matrix": [2, 1], "w": 1, "x": 1, "y": 2.25 }, + { "label": "8", "matrix": [2, 2], "w": 1, "x": 2, "y": 2.25 }, + { "label": "9", "matrix": [2, 3], "w": 1, "x": 3, "y": 2.25 }, + { "label": "Tab", "matrix": [2, 4], "w": 1.5, "x": 4.5, "y": 2.25 }, + { "label": "Q", "matrix": [2, 5], "w": 1, "x": 6, "y": 2.25 }, + { "label": "W", "matrix": [2, 6], "w": 1, "x": 7, "y": 2.25 }, + { "label": "E", "matrix": [2, 7], "w": 1, "x": 8, "y": 2.25 }, + { "label": "R", "matrix": [2, 8], "w": 1, "x": 9, "y": 2.25 }, + { "label": "T", "matrix": [2, 9], "w": 1, "x": 10, "y": 2.25 }, + { "label": "Y", "matrix": [2, 10], "w": 1, "x": 11, "y": 2.25 }, + { "label": "U", "matrix": [8, 0], "w": 1, "x": 12, "y": 2.25 }, + { "label": "I", "matrix": [8, 1], "w": 1, "x": 13, "y": 2.25 }, + { "label": "O", "matrix": [8, 2], "w": 1, "x": 14, "y": 2.25 }, + { "label": "P", "matrix": [8, 3], "w": 1, "x": 15, "y": 2.25 }, + { "label": "{", "matrix": [8, 4], "w": 1, "x": 16, "y": 2.25 }, + { "label": "}", "matrix": [8, 5], "w": 1, "x": 17, "y": 2.25 }, + { "label": "|", "matrix": [8, 6], "w": 1.5, "x": 18, "y": 2.25 }, + { "label": "7", "matrix": [8, 7], "w": 1, "x": 20, "y": 2.25 }, + { "label": "8", "matrix": [8, 8], "w": 1, "x": 21, "y": 2.25 }, + { "label": "9", "matrix": [8, 9], "w": 1, "x": 22, "y": 2.25 }, + { "h": 2, "label": "+", "matrix": [8, 10], "w": 1, "x": 23, "y": 2.25 }, + { "label": "4", "matrix": [3, 1], "w": 1, "x": 1, "y": 3.25 }, + { "label": "5", "matrix": [3, 2], "w": 1, "x": 2, "y": 3.25 }, + { "label": "6", "matrix": [3, 3], "w": 1, "x": 3, "y": 3.25 }, + { "label": "Caps Lock", "matrix": [3, 4], "w": 1.75, "x": 4.5, "y": 3.25 }, + { "label": "A", "matrix": [3, 5], "w": 1, "x": 6.25, "y": 3.25 }, + { "label": "S", "matrix": [3, 6], "w": 1, "x": 7.25, "y": 3.25 }, + { "label": "D", "matrix": [3, 7], "w": 1, "x": 8.25, "y": 3.25 }, + { "label": "F", "matrix": [3, 8], "w": 1, "x": 9.25, "y": 3.25 }, + { "label": "G", "matrix": [3, 9], "w": 1, "x": 10.25, "y": 3.25 }, + { "label": "H", "matrix": [3, 10], "w": 1, "x": 11.25, "y": 3.25 }, + { "label": "J", "matrix": [9, 0], "w": 1, "x": 12.25, "y": 3.25 }, + { "label": "K", "matrix": [9, 1], "w": 1, "x": 13.25, "y": 3.25 }, + { "label": "L", "matrix": [9, 2], "w": 1, "x": 14.25, "y": 3.25 }, + { "label": ":", "matrix": [9, 3], "w": 1, "x": 15.25, "y": 3.25 }, + { "label": "\"", "matrix": [9, 4], "w": 1, "x": 16.25, "y": 3.25 }, + { "label": "Enter", "matrix": [9, 5], "w": 2.25, "x": 17.25, "y": 3.25 }, + { "label": "4", "matrix": [9, 7], "w": 1, "x": 20, "y": 3.25 }, + { "label": "5", "matrix": [9, 8], "w": 1, "x": 21, "y": 3.25 }, + { "label": "6", "matrix": [9, 9], "w": 1, "x": 22, "y": 3.25 }, + { "h": 2, "label": "Enter", "matrix": [4, 0], "w": 1, "x": 0, "y": 4.25 }, + { "label": "1", "matrix": [4, 1], "w": 1, "x": 1, "y": 4.25 }, + { "label": "2", "matrix": [4, 2], "w": 1, "x": 2, "y": 4.25 }, + { "label": "3", "matrix": [4, 3], "w": 1, "x": 3, "y": 4.25 }, + { "label": "\\u2191", "matrix": [4, 4], "w": 1, "x": 4.25, "y": 4.5 }, + { "label": "Shift", "matrix": [4, 5], "w": 1.25, "x": 5.5, "y": 4.25 }, + { "label": "Z", "matrix": [4, 6], "w": 1, "x": 6.75, "y": 4.25 }, + { "label": "X", "matrix": [4, 7], "w": 1, "x": 7.75, "y": 4.25 }, + { "label": "C", "matrix": [4, 8], "w": 1, "x": 8.75, "y": 4.25 }, + { "label": "V", "matrix": [4, 9], "w": 1, "x": 9.75, "y": 4.25 }, + { "label": "B", "matrix": [4, 10], "w": 1, "x": 10.75, "y": 4.25 }, + { "label": "N", "matrix": [10, 0], "w": 1, "x": 11.75, "y": 4.25 }, + { "label": "M", "matrix": [10, 1], "w": 1, "x": 12.75, "y": 4.25 }, + { "label": "<", "matrix": [10, 2], "w": 1, "x": 13.75, "y": 4.25 }, + { "label": ">", "matrix": [10, 3], "w": 1, "x": 14.75, "y": 4.25 }, + { "label": "?", "matrix": [10, 4], "w": 1, "x": 15.75, "y": 4.25 }, + { "label": "Shift", "matrix": [10, 5], "w": 1.75, "x": 16.75, "y": 4.25 }, + { "label": "\\u2191", "matrix": [9, 6], "w": 1, "x": 18.75, "y": 4.5 }, + { "label": "1", "matrix": [10, 7], "w": 1, "x": 20, "y": 4.25 }, + { "label": "2", "matrix": [10, 8], "w": 1, "x": 21, "y": 4.25 }, + { "label": "3", "matrix": [10, 9], "w": 1, "x": 22, "y": 4.25 }, + { "h": 2, "label": "Enter", "matrix": [10, 10], "w": 1, "x": 23, "y": 4.25 }, + { "label": "0", "matrix": [5, 1], "w": 1, "x": 1, "y": 5.25 }, + { "label": ".", "matrix": [5, 2], "w": 1, "x": 2, "y": 5.25 }, + { "label": "\\u2190", "matrix": [5, 3], "w": 1, "x": 3.25, "y": 5.5 }, + { "label": "\\u2193", "matrix": [5, 4], "w": 1, "x": 4.25, "y": 5.5 }, + { "label": "\\u2192", "matrix": [5, 5], "w": 1, "x": 5.25, "y": 5.5 }, + { "label": "Ctrl", "matrix": [5, 6], "w": 1, "x": 6.5, "y": 5.25 }, + { "label": "Win", "matrix": [5, 7], "w": 1, "x": 7.5, "y": 5.25 }, + { "label": "Alt", "matrix": [5, 8], "w": 1, "x": 8.5, "y": 5.25 }, + { "label": "1u", "matrix": [5, 9], "w": 1, "x": 9.5, "y": 5.25 }, + { "label": "1u", "matrix": [5, 10], "w": 1, "x": 10.5, "y": 5.25 }, + { "label": "1u", "matrix": [11, 0], "w": 1, "x": 11.5, "y": 5.25 }, + { "label": "1u", "matrix": [11, 1], "w": 1, "x": 12.5, "y": 5.25 }, + { "label": "Alt", "matrix": [11, 2], "w": 1, "x": 13.5, "y": 5.25 }, + { "label": "Win", "matrix": [11, 3], "w": 1, "x": 14.5, "y": 5.25 }, + { "label": "Menu", "matrix": [11, 4], "w": 1, "x": 15.5, "y": 5.25 }, + { "label": "Ctrl", "matrix": [11, 5], "w": 1, "x": 16.5, "y": 5.25 }, + { "label": "\\u2190", "matrix": [10, 6], "w": 1, "x": 17.75, "y": 5.5 }, + { "label": "\\u2193", "matrix": [11, 6], "w": 1, "x": 18.75, "y": 5.5 }, + { "label": "\\u2192", "matrix": [11, 7], "w": 1, "x": 19.75, "y": 5.5 }, + { "label": "0", "matrix": [11, 8], "w": 1, "x": 21, "y": 5.25 }, + { "label": ".", "matrix": [11, 9], "w": 1, "x": 22, "y": 5.25 } + ] + } + } +} diff --git a/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json b/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json new file mode 100644 index 000000000000..7122f42d4fc5 --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "author": "skullydazed", + "notes": "", + "keyboard": "clueboard/2x1800/2018", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_HOME", "KC_END", "KC_PGUP", "KC_PGDN", "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_SLCK", "KC_PAUS", "KC_INS", + "KC_PMNS", "KC_NLCK", "KC_PSLS", "KC_PAST", "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_NLCK", "KC_PSLS", "KC_PAST", "KC_PMNS", + "KC_PPLS", "KC_P7", "KC_P8", "KC_P9", "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_P7", "KC_P8", "KC_P9", "KC_PPLS", + "KC_P4", "KC_P5", "KC_P6", "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_P4", "KC_P5", "KC_P6", + "KC_PENT", "KC_P1", "KC_P2", "KC_P3", "KC_UP", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_P1", "KC_P2", "KC_P3", "KC_PENT", + "KC_P0", "KC_PDOT", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_SPC", "KC_SPC", "KC_SPC", "KC_RALT", "KC_RGUI", "KC_APP", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_P0", "KC_PDOT" + ] + ] +} diff --git a/keyboards/clueboard/2x1800/2021/keymaps/default_4u/keymap.c b/keyboards/clueboard/2x1800/2021/keymaps/default_4u/keymap.c new file mode 100644 index 000000000000..14d76a59fcb8 --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/keymaps/default_4u/keymap.c @@ -0,0 +1,28 @@ +/* Copyright 2017 Zach White + * + * 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_4u_space( + KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SLCK, KC_PAUS, KC_INS, \ + \ + KC_PMNS, KC_NLCK, KC_PSLS, KC_PAST, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ + KC_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, \ + KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, \ + KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, \ + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT \ +) +}; diff --git a/keyboards/clueboard/2x1800/2021/keymaps/default_4u/readme.md b/keyboards/clueboard/2x1800/2021/keymaps/default_4u/readme.md new file mode 100644 index 000000000000..a696972e8c4b --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/keymaps/default_4u/readme.md @@ -0,0 +1 @@ +# The default keymap for 2x1800 with 4u Spacebar diff --git a/keyboards/clueboard/2x1800/2021/keymaps/default_7u/keymap.c b/keyboards/clueboard/2x1800/2021/keymaps/default_7u/keymap.c new file mode 100644 index 000000000000..3717bd54089e --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/keymaps/default_7u/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2017 Zach White + * + * 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_7u_space( + KC_HOME, KC_END, KC_PGUP, KC_PGDN, 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_SLCK, KC_PAUS, KC_DEL, \ + \ + KC_PMNS, KC_NLCK, KC_PSLS, KC_PAST, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ + KC_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, \ + KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, \ + KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, \ + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT \ +) +}; + + +#ifdef AUDIO_ENABLE + float song_one_up[][2] = SONG(ONE_UP_SOUND); +#endif + +volatile uint8_t runonce = true; +static uint16_t my_timer; + +void matrix_init_user(void) { + my_timer = timer_read(); +} + +void matrix_scan_user(void) { + if (runonce && timer_elapsed(my_timer) > 500) { + runonce = false; +#ifdef AUDIO_ENABLE + PLAY_SONG(song_one_up); +#endif + } +} diff --git a/keyboards/clueboard/2x1800/2021/keymaps/default_7u/readme.md b/keyboards/clueboard/2x1800/2021/keymaps/default_7u/readme.md new file mode 100644 index 000000000000..f5718e842dc2 --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/keymaps/default_7u/readme.md @@ -0,0 +1 @@ +# The default keymap for 2x1800 with 7u spacebar diff --git a/keyboards/clueboard/2x1800/2021/keymaps/signboard/config.h b/keyboards/clueboard/2x1800/2021/keymaps/signboard/config.h new file mode 100644 index 000000000000..81995d66f39e --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/keymaps/signboard/config.h @@ -0,0 +1,20 @@ +/* Copyright 2017 Zach White + * + * 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 MAX7219_LED_FONTTEST + +// place overrides here diff --git a/keyboards/clueboard/2x1800/2021/keymaps/signboard/keymap.c b/keyboards/clueboard/2x1800/2021/keymaps/signboard/keymap.c new file mode 100644 index 000000000000..3559455b66cc --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/keymaps/signboard/keymap.c @@ -0,0 +1,50 @@ +#include QMK_KEYBOARD_H +#include "font.h" +#include "max7219.h" + +enum custom_keycodes { + MSG_CB = SAFE_RANGE, + MSG_CS, + MSG_KMI, + MSG_QMK, +}; + +uint8_t custom_message[5][6] = {CHR_M, CHR_y, CHR_SPACE, CHR_2, CHR_CENT}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + MSG_CB, MSG_QMK, MSG_KMI, MSG_CS, 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_SLCK, KC_PAUS, KC_INS, + KC_PMNS, KC_NLCK, KC_PSLS, KC_PAST, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, + KC_PENT, KC_P1, KC_P2, KC_P3, KC_UP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch (keycode) { + case MSG_CB: + max7219_led_scrolling=true; + uint8_t cb_msg[MSG_CLUEBOARD_LEN][6] = MSG_CLUEBOARD; + max7219_message_sign(cb_msg, MSG_CLUEBOARD_LEN); + return true; + case MSG_CS: + max7219_led_scrolling=false; + max7219_message_sign(custom_message, 5); + return true; + case MSG_KMI: + max7219_led_scrolling=true; + uint8_t kmi_msg[MSG_KONAMI_LEN][6] = MSG_KONAMI; + max7219_message_sign(kmi_msg, MSG_KONAMI_LEN); + return true; + case MSG_QMK: + max7219_led_scrolling=true; + uint8_t qmk_msg[MSG_QMK_POWERED_LEN][6] = MSG_QMK_POWERED; + max7219_message_sign(qmk_msg, MSG_QMK_POWERED_LEN); + return true; + } + } + return true; +}; diff --git a/keyboards/clueboard/2x1800/2021/keymaps/signboard/readme.md b/keyboards/clueboard/2x1800/2021/keymaps/signboard/readme.md new file mode 100644 index 000000000000..4e3457efce62 --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/keymaps/signboard/readme.md @@ -0,0 +1 @@ +# The default keymap for 2x1800 diff --git a/keyboards/clueboard/2x1800/2021/max7219.c b/keyboards/clueboard/2x1800/2021/max7219.c new file mode 100644 index 000000000000..1ba22362fe4f --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/max7219.c @@ -0,0 +1,318 @@ +/* + * Copyright (c) 2021 Zach White + * Copyright (c) 2007 Eberhard Fahle + * + * max7219.c - A library for controling Leds with a MAX7219/MAX7221 + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * This permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +/* + * This driver started as a port of Arduino's LedControl to QMK. The + * original Arduino code can be found here: + * + * https://github.com/wayoda/LedControl + * + * Unlike LedControl we are using the native SPI support, you will need to + * use the native SPI pins for your MCU. You can set the CS pin with + * `#define MAX7219_LOAD `. + * + * This has only been tested on AVR, specifically a Teensy 2.0++. + */ + +#include "max7219.h" +#include "font.h" + +// Datastructures +bool max7219_led_scrolling = true; +uint16_t max7219_buffer_end = 0; +uint8_t max7219_spidata[MAX_BYTES]; +uint8_t max7219_led_a[8][MAX7219_BUFFER_SIZE]; + +/* Write max7219_spidata to all the max7219's + */ +void max7219_write_all(void) { + dprintf("max7219_write_all()\n"); + if (spi_start(MAX7219_LOAD, false, 0, 8)) { + for(int i = MAX_BYTES; i>0; i--) { + dprintf("spi_write(%d)\n", max7219_spidata[i-1]); + spi_write(max7219_spidata[i-1]); + } + spi_stop(); + } else { + xprintf("Could not spi_start!\n"); + } +} + +/* Write the current frame in max7219_led_a to all the max7219's + */ +void max7219_write_frame(void) { + dprintf("max7219_write_frame()\n"); + + // Set our opcode and data + for (int col=0; col<8; col++) { + for (int device_num=0; device_num + * macros from font.h to populate your array. + * + * Example: + * + * uint8_t message[10][6] = {CHR_INTERROBANG, CHR_C, CHR_l, CHR_u, CHR_e, CHR_b, CHR_o, CHR_a, CHR_r, CHR_d}; + * max7219_message(message, 10); + */ +void max7219_message_sign(uint8_t message[][6], size_t message_len) { + uint8_t letter_num = 0; + uint8_t letter_col = 0; + max7219_buffer_end = message_len * 6 + 32; + + for (int device_num=0; device_num= message_len) { + max7219_led_a[col][device_num] = 0b00000000; + } else { + max7219_led_a[col][device_num] = message[letter_num][letter_col]; + if (letter_col == 5) { + letter_num++; + letter_col = 0; + } else { + letter_col++; + } + } + } + } + + max7219_write_frame(); +} + +/* Scroll the content on the sign left by 1 column. + * + * When loop_message is true columns that slide off the left will be added + * to the right to be displayed again. + */ +void max7219_message_sign_task(bool loop_message) { + uint8_t left_col = 0b00000000; + + if (!max7219_led_scrolling) { + return; + } + + if (loop_message) { + left_col = max7219_led_a[0][0]; + } + + int i=0; + + for (int device_num=0; device_num0; i--) { + max7219_spidata[i-1]=0; + } + + // Set our opcode and data + uint8_t offset = device_num*2; + max7219_spidata[offset] = data; + max7219_spidata[offset+1] = opcode; + + // Write the data + max7219_write_all(); +} + +/* Turn off all the LEDs + */ +void max7219_clear_display(void) { + dprintf("max7219_clear_display();\n"); + + for (int col=0; col<8; col++) { + for (int device_num=0; device_num= MAX7219_CONTROLLERS) { + return; + } + + max7219_write(device_num, OP_DISPLAYTEST, enabled); +} + +/* Initialize the max7219 system and set the controller(s) to a default state. + */ +void max7219_init(void) { + wait_ms(1500); + dprintf("max7219_init()\n"); + + setPinOutput(MAX7219_LOAD); + writePinHigh(MAX7219_LOAD); + spi_init(); + + for (int i=0; i= MAX7219_CONTROLLERS) { + return; + } + + max7219_write(device_num, OP_DECODEMODE, mode); +} + +/* Set the intensity (brightness) for the LEDs. + */ +void max7219_set_intensity(int device_num, int intensity) { + dprintf("max7219_set_intensity(%d, %d);\n", device_num, intensity); + + if (device_num<0 || device_num >= MAX7219_CONTROLLERS) { + return; + } + + if (intensity >= 0 && intensity<16) { + max7219_write(device_num, OP_INTENSITY, intensity); + } +} + +/* Control a single LED. + */ +void max7219_set_led(int row, int column, bool state) { + dprintf("max7219_set_led(%d, %d, %d);\n", row, column, state); + + if (column<0 || column>8*MAX7219_CONTROLLERS) { + xprintf("max7219_set_led: column (%d) out of bounds\n", column); + return; + } + + if (row<0 || row>7) { + xprintf("max7219_set_led: row (%d) out of bounds\n", row); + return; + } + + /* At this point we reverse the sense of row and column to match the + * physical layout of my LEDs. + */ + uint8_t device_num = column / 8; + uint8_t col = column % 8; + uint8_t val = 0b10000000 >> row; + + if (state) { + max7219_led_a[col][device_num] = max7219_led_a[col][device_num]|val; + } else { + val = ~val; + max7219_led_a[col][device_num] = max7219_led_a[col][device_num]&val; + } + max7219_write(device_num, col+1, max7219_led_a[col][device_num]); +} + +/* Set the number of digits (rows) to be scanned. + */ +void max7219_set_scan_limit(int device_num, int limit) { + dprintf("max7219_set_scan_limit(%d, %d);\n", device_num, limit); + + if (device_num<0 || device_num >= MAX7219_CONTROLLERS) { + return; + } + + if (limit >= 0 && limit < 8) { + max7219_write(device_num, OP_SCANLIMIT, limit); + } +} + +/* Enable (true) or disable (false) the controller. + */ +void max7219_shutdown(int device_num, bool shutdown) { + dprintf("max7219_shutdown(%d, %d);\n", device_num, shutdown); + + if (device_num<0 || device_num >= MAX7219_CONTROLLERS) { + return; + } + + max7219_write(device_num, OP_SHUTDOWN, !shutdown); +} diff --git a/keyboards/clueboard/2x1800/2021/max7219.h b/keyboards/clueboard/2x1800/2021/max7219.h new file mode 100644 index 000000000000..95d1d9389d1b --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/max7219.h @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2021 Zach White + * Copyright (c) 2007 Eberhard Fahle + * + * max7219.h - A library for controling Leds with a MAX7219/MAX7221 + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * This permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ +#pragma once +#include "quantum.h" +#include "spi_master.h" + +// Set defaults if they're not set +#ifndef MAX7219_LOAD +# define MAX7219_LOAD B0 +#endif + +#ifndef MAX7219_CONTROLLERS +# define MAX7219_CONTROLLERS 4 +#endif + +#ifndef MAX7219_LED_INTENSITY +# define MAX7219_LED_INTENSITY 1 +#endif + +#ifndef MAX7219_SCROLL_TIME +# define MAX7219_SCROLL_TIME 100 +#endif + +#ifndef MAX7219_BUFFER_MULTIPLIER +# define MAX7219_BUFFER_MULTIPLIER 24 +#endif + +#if !defined(MAX7219_LED_TEST) && !defined(MAX7219_LED_ITERATE) && !defined(MAX7219_LED_DANCE) && !defined(MAX7219_LED_FONTTEST) && !defined(MAX7219_LED_CLUEBOARD) && !defined(MAX7219_LED_KONAMI) && !defined(MAX7219_LED_QMK_POWERED) && !defined(MAX7219_DRAWING_TOY_MODE) && !defined(MAX7219_LED_CUSTOM) +# define MAX7219_QMK_POWERED +#endif + +// Configure our MAX7219's +#define MAX_BYTES MAX7219_CONTROLLERS * 2 +#define LED_COUNT MAX7219_CONTROLLERS * 64 +#define MAX7219_BUFFER_SIZE MAX7219_CONTROLLERS*MAX7219_BUFFER_MULTIPLIER + +// Opcodes for the MAX7219 +#define OP_DECODEMODE 9 +#define OP_INTENSITY 10 +#define OP_SCANLIMIT 11 +#define OP_SHUTDOWN 12 +#define OP_DISPLAYTEST 15 + +// Datastructures +extern uint8_t max7219_led_a[8][MAX7219_BUFFER_SIZE]; +extern bool max7219_led_scrolling; + +// Functions +void max7219_write(int device_num, volatile uint8_t opcode, volatile uint8_t data); +void max7219_write_all(void); +void max7219_write_frame(void); +void max7219_clear_display(void); +void max7219_display_test(int device_num, bool enabled); +void max7219_init(void); +void max7219_message_sign(uint8_t message[][6], size_t message_len); +void max7219_message_sign_task(bool loop_message); +void max7219_set_decode_mode(int device_num, int mode); +void max7219_set_intensity(int device_num, int intensity); +void max7219_set_led(int row, int column, bool state); +void max7219_set_all_leds(uint8_t led_matrix[LED_COUNT]); +void max7219_set_scan_limit(int device_num, int limit); +void max7219_shutdown(int device_num, bool is_in_shutdown); diff --git a/keyboards/clueboard/2x1800/2021/readme.md b/keyboards/clueboard/2x1800/2021/readme.md new file mode 100644 index 000000000000..97d536740b70 --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/readme.md @@ -0,0 +1,17 @@ +# Clueboard 2x1800 + +Clueboard 2x1800 LED Sign Edition + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Clueboard 2x1800 PCB +* Hardware Availability: 2021 Apr 1 Group Buy + +Make example for this keyboard: + + make clueboard/2x1800/2021:default + +Flashing example for this keyboard: + + make clueboard/2x1800/2021: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). diff --git a/keyboards/clueboard/2x1800/2021/rules.mk b/keyboards/clueboard/2x1800/2021/rules.mk new file mode 100644 index 000000000000..e9f44d7bd23e --- /dev/null +++ b/keyboards/clueboard/2x1800/2021/rules.mk @@ -0,0 +1 @@ +QUANTUM_LIB_SRC += max7219.c spi_master.c diff --git a/keyboards/clueboard/60/60.c b/keyboards/clueboard/60/60.c index aac4e94c3daa..90d16613946b 100644 --- a/keyboards/clueboard/60/60.c +++ b/keyboards/clueboard/60/60.c @@ -14,11 +14,3 @@ * along with this program. If not, see . */ #include "60.h" - -void matrix_init_kb(void) { - -} - -void matrix_scan_kb(void) { - -} diff --git a/keyboards/clueboard/60/config.h b/keyboards/clueboard/60/config.h index 1ca9d9844e0b..9263a8f6570d 100644 --- a/keyboards/clueboard/60/config.h +++ b/keyboards/clueboard/60/config.h @@ -19,12 +19,6 @@ #include "config_common.h" -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 - /* Backlight configuration */ #define BACKLIGHT_LEVELS 1 diff --git a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c index 54420d31b6fa..56d4c47071c6 100644 --- a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c +++ b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c @@ -40,8 +40,9 @@ // CTRL when held, ESC when tapped #define CTL_ESC CTL_T(KC_ESC) -// Reset RGB mode to layer signalling -#define RGB_RST F(0) +enum custom_keycodes { + RGB_RST = SAFE_RANGE +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: Base Layer (Default Layer) */ @@ -103,21 +104,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #endif }; -/* This is a list of user defined functions. F(N) corresponds to item N - of this list. - */ -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(0), // Calls action_function() -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch (id) { - case 0: - if (record->event.pressed) { - rgblight_mode(1); - rgblight_sethsv(206, 255, 255); - } - } +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_RST: + if (record->event.pressed) { + rgblight_mode(1); + rgblight_sethsv(206, 255, 255); + } + return false; + } + return true; } enum layer_id { diff --git a/keyboards/clueboard/66/keymaps/tetris/keymap.c b/keyboards/clueboard/66/keymaps/tetris/keymap.c index ef3abd667200..26dd97feecd9 100644 --- a/keyboards/clueboard/66/keymaps/tetris/keymap.c +++ b/keyboards/clueboard/66/keymaps/tetris/keymap.c @@ -1,9 +1,6 @@ #include QMK_KEYBOARD_H #include "tetris_text.h" -// Helpful defines -#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT)) - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -12,11 +9,15 @@ #define _FL 1 #define _CL 2 +enum custom_keycodes { + TETRIS_START = SAFE_RANGE +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: Base Layer (Default Layer) */ [_BL] = LAYOUT( - F(0), 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_GRV, KC_BSPC, KC_PGUP, + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, 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_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_RO, KC_RSFT, KC_UP, @@ -41,71 +42,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), }; -/* This is a list of user defined functions. F(N) corresponds to item N - of this list. - */ -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(0), // Calls action_function() - [1] = ACTION_FUNCTION(1) -}; - static uint8_t tetris_key_presses = 0; static uint16_t tetris_timer = 0; static uint8_t tetris_running = 0; static int tetris_keypress = 0; -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t mods_pressed; - static bool mod_flag; - - switch (id) { - case 0: - // clueboard specific hook to make escape quite tetris - if (tetris_running) { - tetris_running = 0; - return; - } - - /* Handle the combined Grave/Esc key - */ - mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed - - if (record->event.pressed) { - /* The key is being pressed. - */ - if (mods_pressed) { - mod_flag = true; - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - /* The key is being released. - */ - if (mod_flag) { - mod_flag = false; - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - case 1: - if (record->event.pressed) { - tetris_running = 1; - tetris_timer = 0; - tetris_keypress = 0; - // set randomness using total number of key presses - tetris_start(tetris_key_presses); - } - break; - } -} - /* * Set up tetris */ @@ -130,6 +71,25 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } + switch (keycode) { + case KC_GESC: + // clueboard specific hook to make escape quite tetris + if (tetris_running) { + tetris_running = 0; + return false; + } + break; + case TETRIS_START: + if (record->event.pressed) { + tetris_running = 1; + tetris_timer = 0; + tetris_keypress = 0; + // set randomness using total number of key presses + tetris_start(tetris_key_presses); + } + return false; + } + return true; } @@ -148,57 +108,45 @@ void matrix_scan_user(void) { } } -void send_keycode(uint16_t keycode) { - register_code(keycode); - unregister_code(keycode); -} - -void send_keycode_shift(uint16_t keycode) { - register_code(KC_LSFT); - register_code(keycode); - unregister_code(keycode); - unregister_code(KC_LSFT); -} - void tetris_send_up(void) { - send_keycode(KC_UP); + tap_code(KC_UP); } void tetris_send_left(void) { - send_keycode(KC_LEFT); + tap_code(KC_LEFT); } void tetris_send_down(void) { - send_keycode(KC_DOWN); + tap_code(KC_DOWN); } void tetris_send_right(void) { - send_keycode(KC_RGHT); + tap_code(KC_RGHT); } void tetris_send_backspace(void) { - send_keycode(KC_BSPC); + tap_code(KC_BSPC); } void tetris_send_delete(void) { - send_keycode(KC_DEL); + tap_code(KC_DEL); } void tetris_send_string(const char *s) { for (int i = 0; s[i] != 0; i++) { if (s[i] >= 'a' && s[i] <= 'z') { - send_keycode(KC_A + (s[i] - 'a')); + tap_code(KC_A + (s[i] - 'a')); } else if (s[i] >= 'A' && s[i] <= 'Z') { - send_keycode_shift(KC_A + (s[i] - 'A')); + tap_code16(S(KC_A + (s[i] - 'A'))); } else if (s[i] >= '1' && s[i] <= '9') { - send_keycode(KC_1 + (s[i] - '1')); + tap_code(KC_1 + (s[i] - '1')); } else { switch (s[i]) { - case ' ': send_keycode(KC_SPACE); break; - case '.': send_keycode(KC_DOT); break; - case '0': send_keycode(KC_0); break; + case ' ': tap_code(KC_SPACE); break; + case '.': tap_code(KC_DOT); break; + case '0': tap_code(KC_0); break; } } } } void tetris_send_newline(void) { - send_keycode(KC_ENT); + tap_code(KC_ENT); } int tetris_get_keypress(void) { diff --git a/keyboards/clueboard/66/rev4/config.h b/keyboards/clueboard/66/rev4/config.h index 2c11cf1ec05f..bc5a9bf336fd 100644 --- a/keyboards/clueboard/66/rev4/config.h +++ b/keyboards/clueboard/66/rev4/config.h @@ -2,12 +2,6 @@ #include "config_common.h" -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 - /* Backlight configuration */ #define BACKLIGHT_LEVELS 1 diff --git a/keyboards/clueboard/66/rev4/rev4.c b/keyboards/clueboard/66/rev4/rev4.c index 00d4f325e507..510181827097 100644 --- a/keyboards/clueboard/66/rev4/rev4.c +++ b/keyboards/clueboard/66/rev4/rev4.c @@ -1,12 +1,6 @@ #include "rev4.h" -void matrix_init_kb(void) { - led_init_ports(); - - matrix_init_user(); -} - -void led_init_ports() { +void led_init_ports(void) { // Set our LED pins as output setPinOutput(B13); // LED1 writePinLow(B13); diff --git a/keyboards/clueboard/66_hotswap/gen1/config.h b/keyboards/clueboard/66_hotswap/gen1/config.h index 5ed3c5b2722a..7e53e0a011ec 100644 --- a/keyboards/clueboard/66_hotswap/gen1/config.h +++ b/keyboards/clueboard/66_hotswap/gen1/config.h @@ -18,12 +18,6 @@ #pragma once #include "config_common.h" -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 - /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ // #define DEBOUNCE 6 @@ -71,26 +65,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Backlight configuration */ #define BACKLIGHT_LEVELS 10 diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c index dd399317c1b5..8e3db70d0718 100644 --- a/keyboards/clueboard/66_hotswap/gen1/gen1.c +++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c @@ -16,9 +16,7 @@ #include "gen1.h" #ifdef LED_MATRIX_ENABLE - #include "is31fl3731-simple.h" - -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { /* Refer to IS31 manual for these locations * driver * | LED address diff --git a/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c new file mode 100644 index 000000000000..9c4bd407942b --- /dev/null +++ b/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2017 Zach White + * + * 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 + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +#define _BL 0 +#define _FL 1 +#define _CL 2 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[_BL] = LAYOUT_66_ansi( + KC_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_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_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_UP, \ + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT), + + /* Keymap _FL: Function Layer + */ +[_FL] = LAYOUT_66_ansi( + 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, KC_VOLU, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \ + _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ + _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP, \ + _______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END), + + /* Keymap _CL: Control layer + */ +[_CL] = LAYOUT_66_ansi( + BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI, \ + _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \ + _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ + _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI, \ + _______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), +}; diff --git a/keyboards/clueboard/66_hotswap/keymaps/66_ansi/readme.md b/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/readme.md similarity index 100% rename from keyboards/clueboard/66_hotswap/keymaps/66_ansi/readme.md rename to keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/readme.md diff --git a/keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c b/keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c new file mode 100644 index 000000000000..3d640d89b149 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c @@ -0,0 +1,139 @@ +/* Copyright 2017 Zach White + * + * 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 + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +#define _BL 0 +#define _FL 1 +#define _CL 2 + +enum custom_keycodes { + S_BSKTC = SAFE_RANGE, + S_ODEJY, + S_RCKBY, + S_DOEDR, + S_SCALE, + S_ONEUP, + S_COIN, + S_SONIC, + S_ZELDA +}; + +#ifdef AUDIO_ENABLE + float song_basketcase[][2] = SONG(BASKET_CASE); + float song_ode_to_joy[][2] = SONG(ODE_TO_JOY); + float song_rock_a_bye_baby[][2] = SONG(ROCK_A_BYE_BABY); + float song_doe_a_deer[][2] = SONG(DOE_A_DEER); + float song_scale[][2] = SONG(MUSIC_SCALE_SOUND); + float song_coin[][2] = SONG(COIN_SOUND); + float song_one_up[][2] = SONG(ONE_UP_SOUND); + float song_sonic_ring[][2] = SONG(SONIC_RING); + float song_zelda_puzzle[][2] = SONG(ZELDA_PUZZLE); +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[_BL] = LAYOUT( + KC_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_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_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_UP, \ + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_SPC, KC_RGUI,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT), + + /* Keymap _FL: Function Layer + */ +[_FL] = LAYOUT( + 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, KC_VOLU, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \ + _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ + _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP, \ + _______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END), + + /* Keymap _CL: Control layer + */ +[_CL] = LAYOUT( + BL_STEP,S_ONEUP,S_SCALE,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, BL_TOGG, BL_INC, \ + _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC, \ + _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ + _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI, \ + _______,_______,_______, BL_BRTG,BL_BRTG, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), +}; + + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + #ifdef AUDIO_ENABLE + case S_BSKTC: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_basketcase); + } + return false; + case S_ODEJY: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_ode_to_joy); + } + return false; + case S_RCKBY: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_rock_a_bye_baby); + } + return false; + case S_DOEDR: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_doe_a_deer); + } + return false; + case S_SCALE: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_scale); + } + return false; + case S_ONEUP: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_one_up); + } + return false; + case S_COIN: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_coin); + } + return false; + case S_SONIC: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_sonic_ring); + } + return false; + case S_ZELDA: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_zelda_puzzle); + } + return false; + #endif + } + return true; +} diff --git a/keyboards/clueboard/66_hotswap/keymaps/default/readme.md b/keyboards/clueboard/66_hotswap/gen1/keymaps/default/readme.md similarity index 100% rename from keyboards/clueboard/66_hotswap/keymaps/default/readme.md rename to keyboards/clueboard/66_hotswap/gen1/keymaps/default/readme.md diff --git a/keyboards/clueboard/66_hotswap/keymaps/json/keymap.json b/keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json similarity index 100% rename from keyboards/clueboard/66_hotswap/keymaps/json/keymap.json rename to keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json diff --git a/keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c deleted file mode 100644 index 224362fe549e..000000000000 --- a/keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c +++ /dev/null @@ -1,36 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = LAYOUT_66_ansi( - KC_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_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_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_UP, \ - KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = LAYOUT_66_ansi( - 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, KC_VOLU, \ - _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \ - _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP, \ - _______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT_66_ansi( - BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI, \ - _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \ - _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI, \ - _______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), -}; diff --git a/keyboards/clueboard/66_hotswap/keymaps/default/keymap.c b/keyboards/clueboard/66_hotswap/keymaps/default/keymap.c deleted file mode 100644 index 6451cf0370bc..000000000000 --- a/keyboards/clueboard/66_hotswap/keymaps/default/keymap.c +++ /dev/null @@ -1,123 +0,0 @@ -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -#define _BL 0 -#define _FL 1 -#define _CL 2 - -enum custom_keycodes { - S_BSKTC = SAFE_RANGE, - S_ODEJY, - S_RCKBY, - S_DOEDR, - S_SCALE, - S_ONEUP, - S_COIN, - S_SONIC, - S_ZELDA -}; - -#ifdef AUDIO_ENABLE - float song_basketcase[][2] = SONG(BASKET_CASE); - float song_ode_to_joy[][2] = SONG(ODE_TO_JOY); - float song_rock_a_bye_baby[][2] = SONG(ROCK_A_BYE_BABY); - float song_doe_a_deer[][2] = SONG(DOE_A_DEER); - float song_scale[][2] = SONG(MUSIC_SCALE_SOUND); - float song_coin[][2] = SONG(COIN_SOUND); - float song_one_up[][2] = SONG(ONE_UP_SOUND); - float song_sonic_ring[][2] = SONG(SONIC_RING); - float song_zelda_puzzle[][2] = SONG(ZELDA_PUZZLE); -#endif - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: Base Layer (Default Layer) - */ -[_BL] = LAYOUT( - KC_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_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_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_UP, \ - KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_SPC, KC_RGUI,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT), - - /* Keymap _FL: Function Layer - */ -[_FL] = LAYOUT( - 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, KC_VOLU, \ - _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \ - _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP, \ - _______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END), - - /* Keymap _CL: Control layer - */ -[_CL] = LAYOUT( - BL_STEP,S_ONEUP,S_SCALE,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, BL_TOGG, BL_INC, \ - _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC, \ - _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ - _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI, \ - _______,_______,_______, BL_BRTG,BL_BRTG, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), -}; - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - #ifdef AUDIO_ENABLE - case S_BSKTC: - if (record->event.pressed) { - stop_all_notes(); - PLAY_SONG(song_basketcase); - } - return false; - case S_ODEJY: - if (record->event.pressed) { - stop_all_notes(); - PLAY_SONG(song_ode_to_joy); - } - return false; - case S_RCKBY: - if (record->event.pressed) { - stop_all_notes(); - PLAY_SONG(song_rock_a_bye_baby); - } - return false; - case S_DOEDR: - if (record->event.pressed) { - stop_all_notes(); - PLAY_SONG(song_doe_a_deer); - } - return false; - case S_SCALE: - if (record->event.pressed) { - stop_all_notes(); - PLAY_SONG(song_scale); - } - return false; - case S_ONEUP: - if (record->event.pressed) { - stop_all_notes(); - PLAY_SONG(song_one_up); - } - return false; - case S_COIN: - if (record->event.pressed) { - stop_all_notes(); - PLAY_SONG(song_coin); - } - return false; - case S_SONIC: - if (record->event.pressed) { - stop_all_notes(); - PLAY_SONG(song_sonic_ring); - } - return false; - case S_ZELDA: - if (record->event.pressed) { - stop_all_notes(); - PLAY_SONG(song_zelda_puzzle); - } - return false; - #endif - } - return true; -} diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c new file mode 100644 index 000000000000..9c4bd407942b --- /dev/null +++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2017 Zach White + * + * 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 + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +#define _BL 0 +#define _FL 1 +#define _CL 2 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[_BL] = LAYOUT_66_ansi( + KC_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_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_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_UP, \ + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT), + + /* Keymap _FL: Function Layer + */ +[_FL] = LAYOUT_66_ansi( + 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, KC_VOLU, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \ + _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ + _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP, \ + _______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END), + + /* Keymap _CL: Control layer + */ +[_CL] = LAYOUT_66_ansi( + BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI, \ + _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \ + _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ + _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI, \ + _______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), +}; diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/readme.md b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/readme.md new file mode 100644 index 000000000000..25b5d7eb18c7 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/readme.md @@ -0,0 +1,11 @@ +![Clueboard Layout Image](http://i.imgur.com/7Capi8W.png) + +# Basic Clueboard 66% Hotswap Layout + +This is the default layout that comes flashed on every Clueboard. For the most +part it's a straightforward and easy to follow layout. The only unusual key is +the key in the upper left, which sends Escape normally, but Grave when any of +the Ctrl, Alt, or GUI modifiers are held down. + +This uses `LAYOUT_66_ansi`, which is compatable with the `66_ansi` community +layout. diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c new file mode 100644 index 000000000000..3b8ff6600506 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c @@ -0,0 +1,139 @@ +/* Copyright 2017 Zach White + * + * 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 + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +#define _BL 0 +#define _FL 1 +#define _CL 2 + +enum custom_keycodes { + S_BSKTC = SAFE_RANGE, + S_ODEJY, + S_RCKBY, + S_DOEDR, + S_SCALE, + S_ONEUP, + S_COIN, + S_SONIC, + S_ZELDA +}; + +#ifdef AUDIO_ENABLE + float song_basketcase[][2] = SONG(BASKET_CASE); + float song_ode_to_joy[][2] = SONG(ODE_TO_JOY); + float song_rock_a_bye_baby[][2] = SONG(ROCK_A_BYE_BABY); + float song_doe_a_deer[][2] = SONG(DOE_A_DEER); + float song_scale[][2] = SONG(MUSIC_SCALE_SOUND); + float song_coin[][2] = SONG(COIN_SOUND); + float song_one_up[][2] = SONG(ONE_UP_SOUND); + float song_sonic_ring[][2] = SONG(SONIC_RING); + float song_zelda_puzzle[][2] = SONG(ZELDA_PUZZLE); +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[_BL] = LAYOUT( + KC_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_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_ENT, \ + KC_LSFT, KC_NUHS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_NUBS,KC_RSFT, KC_UP, \ + KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_SPC, KC_RGUI,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT), + + /* Keymap _FL: Function Layer + */ +[_FL] = LAYOUT( + 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, KC_VOLU, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \ + _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, KC_PGUP, \ + _______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END), + + /* Keymap _CL: Control layer + */ +[_CL] = LAYOUT( + BL_STEP,S_ONEUP,S_SCALE,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, BL_TOGG, BL_INC, \ + _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC, \ + _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, \ + _______,_______,_______, BL_BRTG,BL_BRTG, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI), +}; + + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + #ifdef AUDIO_ENABLE + case S_BSKTC: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_basketcase); + } + return false; + case S_ODEJY: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_ode_to_joy); + } + return false; + case S_RCKBY: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_rock_a_bye_baby); + } + return false; + case S_DOEDR: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_doe_a_deer); + } + return false; + case S_SCALE: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_scale); + } + return false; + case S_ONEUP: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_one_up); + } + return false; + case S_COIN: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_coin); + } + return false; + case S_SONIC: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_sonic_ring); + } + return false; + case S_ZELDA: + if (record->event.pressed) { + stop_all_notes(); + PLAY_SONG(song_zelda_puzzle); + } + return false; + #endif + } + return true; +} diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/default/readme.md b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/readme.md new file mode 100644 index 000000000000..66e52308869d --- /dev/null +++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/readme.md @@ -0,0 +1,8 @@ +![Clueboard Layout Image](http://i.imgur.com/7Capi8W.png) + +# Default Clueboard 66% Hotswap Layout + +This is the default layout that comes flashed on every Clueboard. For the most +part it's a straightforward and easy to follow layout. The only unusual key is +the key in the upper left, which sends Escape normally, but Grave when any of +the Ctrl, Alt, or GUI modifiers are held down. diff --git a/keyboards/clueboard/card/keymaps/default/keymap.c b/keyboards/clueboard/card/keymaps/default/keymap.c index 0d94eb46c92a..23ff1c4ec21e 100644 --- a/keyboards/clueboard/card/keymaps/default/keymap.c +++ b/keyboards/clueboard/card/keymaps/default/keymap.c @@ -29,13 +29,6 @@ float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); float tone_goodbye[][2] = SONG(GOODBYE_SOUND); #endif -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { - -} - bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { #ifdef AUDIO_ENABLE @@ -64,6 +57,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } } - -void led_set_user(uint8_t usb_led) { -} diff --git a/keyboards/clueboard/card/keymaps/default/rules.mk b/keyboards/clueboard/card/keymaps/default/rules.mk index 82ee482bed11..b49199b43dd6 100644 --- a/keyboards/clueboard/card/keymaps/default/rules.mk +++ b/keyboards/clueboard/card/keymaps/default/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -12,6 +12,5 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/clueboard/card/keymaps/rgb_effects/keymap.c b/keyboards/clueboard/card/keymaps/rgb_effects/keymap.c index 92d39aef5b62..c30e5082075e 100644 --- a/keyboards/clueboard/card/keymaps/rgb_effects/keymap.c +++ b/keyboards/clueboard/card/keymaps/rgb_effects/keymap.c @@ -12,17 +12,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint8_t RGBLED_SNAKE_INTERVALS[] PROGMEM = {255, 170, 85}; const uint8_t RGBLED_KNIGHT_INTERVALS[] PROGMEM = {255, 170, 85}; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { -} diff --git a/keyboards/clueboard/card/keymaps/rgb_effects/rules.mk b/keyboards/clueboard/card/keymaps/rgb_effects/rules.mk index 54d74abbe53a..527823d692fe 100644 --- a/keyboards/clueboard/card/keymaps/rgb_effects/rules.mk +++ b/keyboards/clueboard/card/keymaps/rgb_effects/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -12,6 +12,5 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/cmm_studio/saka68/hotswap/rules.mk b/keyboards/cmm_studio/saka68/hotswap/rules.mk index 14b22efbdb00..552479e96993 100644 --- a/keyboards/cmm_studio/saka68/hotswap/rules.mk +++ b/keyboards/cmm_studio/saka68/hotswap/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/cmm_studio/saka68/solder/rules.mk b/keyboards/cmm_studio/saka68/solder/rules.mk index a90eef1fc65a..23ba502fc9d3 100644 --- a/keyboards/cmm_studio/saka68/solder/rules.mk +++ b/keyboards/cmm_studio/saka68/solder/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/coarse/cordillera/config.h b/keyboards/coarse/cordillera/config.h index 33b0d7944a3a..1d8c9e294c04 100644 --- a/keyboards/coarse/cordillera/config.h +++ b/keyboards/coarse/cordillera/config.h @@ -35,6 +35,7 @@ along with this program. If not, see . #define LED_NUM_LOCK_PIN B0 #define LED_CAPS_LOCK_PIN A1 #define LED_SCROLL_LOCK_PIN A0 +#define LED_PIN_ON_STATE 0 #define BACKLIGHT_PIN A8 #define BACKLIGHT_PWM_DRIVER PWMD1 diff --git a/keyboards/coarse/cordillera/rules.mk b/keyboards/coarse/cordillera/rules.mk index d35a6a65921d..df87d4de71e5 100644 --- a/keyboards/coarse/cordillera/rules.mk +++ b/keyboards/coarse/cordillera/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/peiorisboards/ixora/chconf.h b/keyboards/coarse/ixora/chconf.h similarity index 100% rename from keyboards/peiorisboards/ixora/chconf.h rename to keyboards/coarse/ixora/chconf.h diff --git a/keyboards/peiorisboards/ixora/config.h b/keyboards/coarse/ixora/config.h similarity index 100% rename from keyboards/peiorisboards/ixora/config.h rename to keyboards/coarse/ixora/config.h diff --git a/keyboards/peiorisboards/ixora/halconf.h b/keyboards/coarse/ixora/halconf.h similarity index 100% rename from keyboards/peiorisboards/ixora/halconf.h rename to keyboards/coarse/ixora/halconf.h diff --git a/keyboards/peiorisboards/ixora/info.json b/keyboards/coarse/ixora/info.json similarity index 100% rename from keyboards/peiorisboards/ixora/info.json rename to keyboards/coarse/ixora/info.json diff --git a/keyboards/peiorisboards/ixora/ixora.c b/keyboards/coarse/ixora/ixora.c similarity index 100% rename from keyboards/peiorisboards/ixora/ixora.c rename to keyboards/coarse/ixora/ixora.c diff --git a/keyboards/peiorisboards/ixora/ixora.h b/keyboards/coarse/ixora/ixora.h similarity index 100% rename from keyboards/peiorisboards/ixora/ixora.h rename to keyboards/coarse/ixora/ixora.h diff --git a/keyboards/coarse/ixora/keymaps/default/keymap.c b/keyboards/coarse/ixora/keymaps/default/keymap.c new file mode 100644 index 000000000000..65daf5c218b1 --- /dev/null +++ b/keyboards/coarse/ixora/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +/* Copyright 2018 Peioris + * + * 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] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,-----------------. + * |RESET| 2 | 3 | + * |-----------------| + * |Caps |NmLk |ScLk | + * `-----------------' + */ +[0] = LAYOUT_full( + RESET, KC_2, KC_3, + KC_CAPS, KC_NLCK, KC_SLCK) +}; diff --git a/keyboards/peiorisboards/ixora/keymaps/wntrmln/keymap.c b/keyboards/coarse/ixora/keymaps/wntrmln/keymap.c similarity index 100% rename from keyboards/peiorisboards/ixora/keymaps/wntrmln/keymap.c rename to keyboards/coarse/ixora/keymaps/wntrmln/keymap.c diff --git a/keyboards/coarse/ixora/readme.md b/keyboards/coarse/ixora/readme.md new file mode 100644 index 000000000000..a094bbd5e7dd --- /dev/null +++ b/keyboards/coarse/ixora/readme.md @@ -0,0 +1,22 @@ +Ixora +========= + +[Ixora](https://i.imgur.com/GqDk3XY.png) + + +Ixora is an ARM-powered 6-key macropad with a USB connector, hotswap sockets, and indicator LEDs. + +Keyboard Maintainer: [Coarse](https://github.com/coarse) +Hardware Supported: Ixora PCB +Hardware Availability: [Coarse](https://github.com/coarse) + +Make example for this keyboard (after setting up your build environment): + + make coarse/ixora:default + +See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. + +#### Developer's Note + +STM32F042xx chips does not allow jumping to bootloader without BOOT0 being set to high, therefore it is impossible to enter the bootloader from sending a `RESET` keycode nor using bootmagic or bootmagic lite. +The only way to enter bootloader is to hold the BOOT0 button while the keyboard is powering up or after a power reset (done by pressing the reset switch or sending a `RESET` keycode). diff --git a/keyboards/coarse/ixora/rules.mk b/keyboards/coarse/ixora/rules.mk new file mode 100644 index 000000000000..339fdee920b5 --- /dev/null +++ b/keyboards/coarse/ixora/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = STM32F042 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# comment out to disable the options. +# +BACKLIGHT_ENABLE = no +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # USB Nkey Rollover +NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in + + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/vinta/chconf.h b/keyboards/coarse/vinta/chconf.h similarity index 100% rename from keyboards/vinta/chconf.h rename to keyboards/coarse/vinta/chconf.h diff --git a/keyboards/vinta/config.h b/keyboards/coarse/vinta/config.h similarity index 100% rename from keyboards/vinta/config.h rename to keyboards/coarse/vinta/config.h diff --git a/keyboards/vinta/halconf.h b/keyboards/coarse/vinta/halconf.h similarity index 100% rename from keyboards/vinta/halconf.h rename to keyboards/coarse/vinta/halconf.h diff --git a/keyboards/vinta/info.json b/keyboards/coarse/vinta/info.json similarity index 100% rename from keyboards/vinta/info.json rename to keyboards/coarse/vinta/info.json diff --git a/keyboards/coarse/vinta/keymaps/default/keymap.c b/keyboards/coarse/vinta/keymaps/default/keymap.c new file mode 100644 index 000000000000..58a8f7ab59cc --- /dev/null +++ b/keyboards/coarse/vinta/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2018 Peioris + * + * 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] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,----------------------------------------------------------------. + * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ | ` |Del | + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| Bspc|PgUp| + * |----------------------------------------------------------------| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|End | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |Alt|RST|Ctrl|Lef|Dow|Rig | + * `----------------------------------------------------------------' + */ +[0] = LAYOUT_69_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_BSLS, KC_GRV, 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_BSPC, KC_PGUP,\ + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,\ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, \ + KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, RESET, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), +}; diff --git a/keyboards/coarse/vinta/readme.md b/keyboards/coarse/vinta/readme.md new file mode 100644 index 000000000000..42291cd1fe49 --- /dev/null +++ b/keyboards/coarse/vinta/readme.md @@ -0,0 +1,22 @@ +Vinta +========= + +[Vinta](https://i.imgur.com/huX3lff.jpg) + + +This is an ARM-powered 65% keyboard PCB with USB Mini B connector and breakout for optional RGB underglow. + +Keyboard Maintainer: [Coarse](https://github.com/coarse) +Hardware Supported: Vinta with STM32F042K6T6 +Hardware Availability: Private Groupbuy + +Make example for this keyboard (after setting up your build environment): + + make coarse/vinta:default + +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. + +#### Developer's Note + +STM32F042xx chips does not allow jumping to bootloader without BOOT0 being set to high, therefore it is impossible to enter the bootloader from sending a `RESET` keycode nor using bootmagic or bootmagic lite. +The only way to enter bootloader is to hold the BOOT0 button while the keyboard is powering up or after a power reset (done by pressing the reset switch or sending a `RESET` keycode). diff --git a/keyboards/coarse/vinta/rules.mk b/keyboards/coarse/vinta/rules.mk new file mode 100644 index 000000000000..e887eb0981f8 --- /dev/null +++ b/keyboards/coarse/vinta/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = STM32F042 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# comment out to disable the options. +# +BACKLIGHT_ENABLE = no +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # USB Nkey Rollover +NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in + +LAYOUTS = 65_ansi_blocker + + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/coarse/vinta/vinta.c b/keyboards/coarse/vinta/vinta.c new file mode 100644 index 000000000000..edd45511b498 --- /dev/null +++ b/keyboards/coarse/vinta/vinta.c @@ -0,0 +1 @@ +#include "vinta.h" diff --git a/keyboards/vinta/vinta.h b/keyboards/coarse/vinta/vinta.h similarity index 100% rename from keyboards/vinta/vinta.h rename to keyboards/coarse/vinta/vinta.h diff --git a/keyboards/cocoa40/cocoa40.c b/keyboards/cocoa40/cocoa40.c index 22d19828d6a6..fdc9f9c0eaca 100644 --- a/keyboards/cocoa40/cocoa40.c +++ b/keyboards/cocoa40/cocoa40.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "cocoa40.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/cocoa40/rules.mk b/keyboards/cocoa40/rules.mk index 5d56f07fa822..a4f430c8f463 100644 --- a/keyboards/cocoa40/rules.mk +++ b/keyboards/cocoa40/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE =no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/comet46/comet46.h b/keyboards/comet46/comet46.h index b6598f01785f..c108d4193b30 100644 --- a/keyboards/comet46/comet46.h +++ b/keyboards/comet46/comet46.h @@ -6,20 +6,6 @@ // This a shortcut to help you visually see your layout. // The first section contains all of the arguements // The second converts the arguments into a two-dimensional array -#define LAYOUT_kc( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11,\ - k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25,\ - k26, k27, k28, k29, k31, k32, k33, k34, k35, k36, k37, k38, k41, k42,\ - k43, k44, k45, k46, k47, k48 \ -) \ -{ \ - { KC_##k13, KC_##k01, KC_##k26, KC_##k12, KC_##k00, KC_##k11, KC_##k25, KC_##k42, KC_##k10, KC_##k24}, \ - { KC_##k03, KC_##k28, KC_##k14, KC_##k02, KC_##k27, KC_##k41, KC_##k09, KC_##k23, KC_##k38, KC_##k08}, \ - { KC_##k31, KC_##k16, KC_##k04, KC_##k29, KC_##k15, KC_##k22, KC_##k37, KC_##k07, KC_##k21, KC_##k36}, \ - { KC_NO, KC_##k32, KC_##k17, KC_##k05, KC_##k43, KC_##k48, KC_##k06, KC_##k20, KC_##k35, KC_NO }, \ - { KC_NO, KC_##k45, KC_##k33, KC_##k18, KC_##k44, KC_##k47, KC_##k19, KC_##k34, KC_##k46, KC_NO }, \ -} - #define LAYOUT( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11,\ k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25,\ diff --git a/keyboards/comet46/keymaps/default-rgbled/keymap.c b/keyboards/comet46/keymaps/default-rgbled/keymap.c index a576cc36b132..d1e5b663dcbc 100644 --- a/keyboards/comet46/keymaps/default-rgbled/keymap.c +++ b/keyboards/comet46/keymaps/default-rgbled/keymap.c @@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); } diff --git a/keyboards/comet46/keymaps/satt/keymap.c b/keyboards/comet46/keymaps/satt/keymap.c index eec40eff49c4..57aa6359345d 100644 --- a/keyboards/comet46/keymaps/satt/keymap.c +++ b/keyboards/comet46/keymaps/satt/keymap.c @@ -30,7 +30,7 @@ enum custom_keycodes { }; // JIS keycodes -#define KC_JZHT JP_ZHTG // hankaku/zenkaku|kanzi +#define KC_JZHT JP_ZKHK // hankaku/zenkaku|kanzi #define KC_JCIR JP_CIRC // ^, ~ #define KC_JAT JP_AT // @, ` #define KC_JLBR JP_LBRC // [, { @@ -40,8 +40,8 @@ enum custom_keycodes { #define KC_JMHE JP_MHEN // muhenkan #define KC_JHEN JP_HENK // henkan #define KC_JKAN JP_KANA // katakana/hiragana|ro-mazi -#define KC_JMKA JP_MKANA //kana on MacOSX -#define KC_JMEI JP_MEISU //eisu on MacOSX +#define KC_JMKA JP_LANG1 //kana on MacOSX +#define KC_JMEI KC_LANG2 //eisu on MacOSX #define KC_JAMP JP_AMPR // & #define KC_JQUO JP_QUOT // ' #define KC_JLPR JP_LPRN // ( @@ -75,100 +75,96 @@ enum custom_keycodes { #define KC_CAD LCA(KC_DEL) #define KC_RST RESET -// Fillers to make layering more clear -#define KC_ KC_TRNS -#define KC_XXXX KC_NO - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( + [_QWERTY] = LAYOUT( //,----+----+----+----+----+----+ +----+----+----+----+----+----. - CAEC, Q , W , E , R , T , Y , U , I , O , P ,DEL , + KC_CAEC, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_DEL , //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| - CSTB, A , S , D , F , G ,LPRN, RPRN, H , J , K , L ,SCLN,BSPC, + KC_CSTB, KC_A , KC_S , KC_D , KC_F , KC_G ,KC_LPRN, KC_RPRN, KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_BSPC, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - LSFT, Z , X , C , V , B ,LBRC, RBRC, N , M ,COMM,DOT ,SLSH,QUOT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_LBRC, KC_RBRC, KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_QUOT, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - IMOF,LWR ,SPCT, ENSF,RSE ,IMON + KC_IMOF,KC_LWR ,KC_SPCT, KC_ENSF,KC_RSE ,KC_IMON // +----+----+---/ \---+----+----+ ), - [_LOWER] = LAYOUT_kc( + [_LOWER] = LAYOUT( //,----+----+----+----+----+----+ +----+----+----+----+----+----. - ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, , + _______,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,_______, //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| - , F1 , F2 , F3 , F4 , F5 , F6 , GRV ,BSLS,MINS,EQL ,LBRC,RBRC, , + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_GRV ,KC_BSLS,KC_MINS,KC_EQL ,KC_LBRC,KC_RBRC,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , F7 , F8 , F9 , F10, F11, F12, TILD,PIPE,UNDS,PLUS,LCBR,RCBR, , + _______, KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12, KC_TILD,KC_PIPE,KC_UNDS,KC_PLUS,KC_LCBR,KC_RCBR,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , + _______,_______,_______, _______,_______,_______ // +----+----+---/ \---+----+----+ ), - [_RAISE] = LAYOUT_kc( + [_RAISE] = LAYOUT( //,----+----+----+----+----+----+ +----+----+----+----+----+----. - , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , , + _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,_______, //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| - , , , , , , , XXXX,LEFT,DOWN, UP ,RGHT,END , , + _______,_______,_______,_______,_______,_______,_______, XXXXXXX,KC_LEFT,KC_DOWN, KC_UP ,KC_RGHT,KC_END ,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , HOME,XXXX,PGDN,PGUP,XXXX,XXXX, , + _______,_______,_______,_______,_______,_______,_______, KC_HOME,XXXXXXX,KC_PGDN,KC_PGUP,XXXXXXX,XXXXXXX,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , + _______,_______,_______, _______,_______,_______ // +----+----+---/ \---+----+----+ ), - [_PSEUDO_US] = LAYOUT_kc( + [_PSEUDO_US] = LAYOUT( //,----+----+----+----+----+----+ +----+----+----+----+----+----. - CAEC, Q , W , E , R , T , Y , U , I , O , P ,DEL , + KC_CAEC, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_DEL , //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| - CSTB, A , S , D , F , G ,JLPR, JRPR, H , J , K , L ,J2US,BSPC, + KC_CSTB, KC_A , KC_S , KC_D , KC_F , KC_G ,KC_JLPR, KC_JRPR, KC_H , KC_J , KC_K , KC_L ,KC_J2US,KC_BSPC, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - LSFT, Z , X , C , V , B ,J2US, J2US, N , M ,COMM,DOT ,SLSH,J2US, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_J2US, KC_J2US, KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_J2US, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - IMOF,P_LW,SPCT, ENSF,P_RS,IMON + KC_IMOF,KC_P_LW,KC_SPCT, KC_ENSF,KC_P_RS,KC_IMON // +----+----+---/ \---+----+----+ ), - [_PSEUDO_US_LOWER] = LAYOUT_kc( + [_PSEUDO_US_LOWER] = LAYOUT( //,----+----+----+----+----+----+ +----+----+----+----+----+----. - ,EXLM,JAT ,HASH,DLR ,PERC, JCIR,JAMP,JAST,JLPR,JRPR, , + _______,KC_EXLM,KC_JAT ,KC_HASH,KC_DLR ,KC_PERC, KC_JCIR,KC_JAMP,KC_JAST,KC_JLPR,KC_JRPR,_______, //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| - , F1 , F2 , F3 , F4 , F5 , F6 , JGRV,JBSL,MINS,JEQL,JLBR,JRBR, , + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_JGRV,KC_JBSL,KC_MINS,KC_JEQL,KC_JLBR,KC_JRBR,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , F7 , F8 , F9 , F10, F11, F12, JTIL,JPIP,JUND,JPLU,JLCB,JRCB, , + _______, KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12, KC_JTIL,KC_JPIP,KC_JUND,KC_JPLU,KC_JLCB,KC_JRCB,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , + _______,_______,_______, _______,_______,_______ // +----+----+---/ \---+----+----+ ), - [_PSEUDO_US_RAISE] = LAYOUT_kc( + [_PSEUDO_US_RAISE] = LAYOUT( //,----+----+----+----+----+----+ +----+----+----+----+----+----. - , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , , + _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,_______, //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| - , , , , , ,JZHT, XXXX,LEFT,DOWN, UP ,RGHT,END , , + _______,_______,_______,_______,_______,_______,KC_JZHT, XXXXXXX,KC_LEFT,KC_DOWN, KC_UP ,KC_RGHT,KC_END ,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , HOME,XXXX,PGDN,PGUP,XXXX,XXXX, , + _______,_______,_______,_______,_______,_______,_______, KC_HOME,XXXXXXX,KC_PGDN,KC_PGUP,XXXXXXX,XXXXXXX,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , + _______,_______,_______, _______,_______,_______ // +----+----+---/ \---+----+----+ ), - [_ADJUST] = LAYOUT_kc( + [_ADJUST] = LAYOUT( //,----+----+----+----+----+----+ +----+----+----+----+----+----. - , , , , , , , , , , , , + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| - , , , , , ,CAD , QWRT, , , , , , , + _______,_______,_______,_______,_______,_______,KC_CAD , KC_QWRT,_______,_______,_______,_______,_______,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , ,RST , P_US, , , , , , , + _______,_______,_______,_______,_______,_______,KC_RST , KC_P_US,_______,_______,_______,_______,_______,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , + _______,_______,_______, _______,_______,_______ // +----+----+---/ \---+----+----+ ) }; -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { switch (biton32(state)) { case _PSEUDO_US_LOWER: case _PSEUDO_US_RAISE: diff --git a/keyboards/comet46/rules.mk b/keyboards/comet46/rules.mk index 1f22b7535eb2..4fecf968666d 100644 --- a/keyboards/comet46/rules.mk +++ b/keyboards/comet46/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,9 +17,8 @@ CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls +MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # project specific files SRC += matrix.c \ diff --git a/keyboards/compound/compound.c b/keyboards/compound/compound.c new file mode 100644 index 000000000000..046eae950fcc --- /dev/null +++ b/keyboards/compound/compound.c @@ -0,0 +1,18 @@ +/* +Copyright 2021 Rafael Yumagulov + +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 "compound.h" diff --git a/keyboards/compound/compound.h b/keyboards/compound/compound.h new file mode 100644 index 000000000000..697ca3d0f81f --- /dev/null +++ b/keyboards/compound/compound.h @@ -0,0 +1,38 @@ +/* +Copyright 2021 Rafael Yumagulov + +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 "quantum.h" + +// Improve readability +#define XXX KC_NO + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k46, k4a, k4b, k4c \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, XXX, XXX}, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, XXX}, \ + {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, XXX, XXX} \ +} diff --git a/keyboards/compound/config.h b/keyboards/compound/config.h new file mode 100644 index 000000000000..43edc00660f5 --- /dev/null +++ b/keyboards/compound/config.h @@ -0,0 +1,48 @@ +/* +Copyright 2021 Rafael Yumagulov + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x420A +#define PRODUCT_ID 0xB0BA +#define DEVICE_VER 0x0001 +#define MANUFACTURER Sabomov +#define PRODUCT Compound + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS {B0,B7,D0,D1,D2} +#define MATRIX_COL_PINS {F0,D5,D4,D6,D7,B4,B5,B6,C6,C7,F7,F6,F5,F4,F1} + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define QMK_ESC_OUTPUT B3 // usually COL +#define QMK_ESC_INPUT F0 // usually ROW diff --git a/keyboards/compound/info.json b/keyboards/compound/info.json new file mode 100644 index 000000000000..ad899d1a4c0b --- /dev/null +++ b/keyboards/compound/info.json @@ -0,0 +1,79 @@ +{ + "keyboard_name": "Compound", + "url": "https://geekhack.org/index.php?topic=111187.0", + "maintainer": "yumagulovrn", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 0, "y": 4, "w": 1.5}, + {"x": 1.5, "y": 4}, + {"x": 2.5, "y": 4, "w": 1.5}, + {"x": 4, "y": 4, "w": 7}, + {"x": 11, "y": 4, "w": 1.5}, + {"x": 12.5, "y": 4}, + {"x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/compound/keymaps/default/keymap.c b/keyboards/compound/keymaps/default/keymap.c new file mode 100644 index 000000000000..c5f4bd73896e --- /dev/null +++ b/keyboards/compound/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2021 Rafael Yumagulov + +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 { + _MA, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_MA] = LAYOUT( + 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(_FN), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), + +[_FN] = LAYOUT( + RESET, 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_INS, KC_DEL, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/compound/keymaps/via/keymap.c b/keyboards/compound/keymaps/via/keymap.c new file mode 100644 index 000000000000..797be4dc6838 --- /dev/null +++ b/keyboards/compound/keymaps/via/keymap.c @@ -0,0 +1,49 @@ +/* +Copyright 2021 Rafael Yumagulov + +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_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_RCTL), + +[1] = LAYOUT( + RESET, 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_INS, KC_DEL, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______), + +[2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______), + +[3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/compound/keymaps/via/rules.mk b/keyboards/compound/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/compound/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/compound/readme.md b/keyboards/compound/readme.md new file mode 100644 index 000000000000..9422939ac83e --- /dev/null +++ b/keyboards/compound/readme.md @@ -0,0 +1,30 @@ +# Compound + +![Compound](https://imgur.com/0DC9F9dh.jpg) + +A compact 60% Compound keyboard with fixed Tsangan style layout. + +* Keyboard Maintainer: [yumagulovrn](https://github.com/yumagulovrn) +* Hardware Supported: Compound PCB +* Hardware Availability: [GeekHack IC](https://geekhack.org/index.php?topic=111187.0) + +## Entering bootloader mode + +Keyboard doesn't have dedicated RESET button on the PCB, however, there are alternatives: + +### Bootmagic + +Hold down ESC while plugging the keyboard in. + +### Shorting RESET pin + +Short GND and RST pads on the bottom of the keyboard. Location of the pads can be seen [here](https://imgur.com/uw7Zz7Y.jpg). + + +## Building keyboard firmware + +Make example for this keyboard (after setting up your build environment): + + make compound: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). diff --git a/keyboards/compound/rules.mk b/keyboards/compound/rules.mk new file mode 100644 index 000000000000..23ba502fc9d3 --- /dev/null +++ b/keyboards/compound/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/contra/contra.h b/keyboards/contra/contra.h index 1ff481097ac0..74aad77d0b09 100755 --- a/keyboards/contra/contra.h +++ b/keyboards/contra/contra.h @@ -27,17 +27,4 @@ { K300, K301, K302, K303, K304, K305, K305, K307, K308, K309, K310, K311 } \ } -#define LAYOUT_kc_ortho_4x12( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311 \ -) \ - LAYOUT_ortho_4x12( \ - KC_##K000, KC_##K001, KC_##K002, KC_##K003, KC_##K004, KC_##K005, KC_##K006, KC_##K007, KC_##K008, KC_##K009, KC_##K010, KC_##K011, \ - KC_##K100, KC_##K101, KC_##K102, KC_##K103, KC_##K104, KC_##K105, KC_##K106, KC_##K107, KC_##K108, KC_##K109, KC_##K110, KC_##K111, \ - KC_##K200, KC_##K201, KC_##K202, KC_##K203, KC_##K204, KC_##K205, KC_##K206, KC_##K207, KC_##K208, KC_##K209, KC_##K210, KC_##K211, \ - KC_##K300, KC_##K301, KC_##K302, KC_##K303, KC_##K304, KC_##K305, KC_##K306, KC_##K307, KC_##K308, KC_##K309, KC_##K310, KC_##K311 \ - ) - #endif diff --git a/keyboards/contra/keymaps/dana/rules.mk b/keyboards/contra/keymaps/dana/rules.mk index cf891fad3534..bd29e0f41075 100644 --- a/keyboards/contra/keymaps/dana/rules.mk +++ b/keyboards/contra/keymaps/dana/rules.mk @@ -4,7 +4,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/contra/keymaps/deastiny/keymap.c b/keyboards/contra/keymaps/deastiny/keymap.c index 846cbe9c7b11..026db263edf4 100644 --- a/keyboards/contra/keymaps/deastiny/keymap.c +++ b/keyboards/contra/keymaps/deastiny/keymap.c @@ -46,9 +46,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { `-----------------------------------------------------------------------------------' **/ [_DVORAK] = LAYOUT_planck_mit( - KC_ESC, DE_UE, DE_COMM, DE_DOT, DE_P, DE_Y, DE_F, DE_G, DE_C, DE_T, DE_Z, KC_BSPC, + KC_ESC, DE_UDIA, DE_COMM, DE_DOT, DE_P, DE_Y, DE_F, DE_G, DE_C, DE_T, DE_Z, KC_BSPC, KC_TAB, DE_A, DE_O, DE_E, DE_I, DE_U, DE_H, DE_D, DE_R, DE_N, DE_S, DE_L, - KC_LSFT, DE_AE, DE_OE, DE_Q, DE_J, DE_K, DE_X, DE_B, DE_M, DE_W, DE_V, KC_ENT , + KC_LSFT, DE_ADIA, DE_ODIA, DE_Q, DE_J, DE_K, DE_X, DE_B, DE_M, DE_W, DE_V, KC_ENT , KC_LCTL, KC_LGUI, KC_LALT, MO(3), LOWER, KC_SPC, RAISE, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN ), @@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT_planck_mit( DE_TILD, DE_EXLM, DE_AT, DE_HASH, DE_DLR, DE_PERC, DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, KC_DEL, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_UNDS, DE_PLUS, DE_LCBR, DE_RCBR, DE_PIPE, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, DE_QST, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, DE_QUES, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY ), diff --git a/keyboards/contra/keymaps/losinggeneration/rules.mk b/keyboards/contra/keymaps/losinggeneration/rules.mk index 17ef684830f4..34b0ba318fba 100644 --- a/keyboards/contra/keymaps/losinggeneration/rules.mk +++ b/keyboards/contra/keymaps/losinggeneration/rules.mk @@ -5,7 +5,7 @@ AUDIO_ENABLE = no # Audio output on port C6 BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite COMMAND_ENABLE = no # Commands for debug and configuration CONSOLE_ENABLE = no # Console for debug(+400) MIDI_ENABLE = no # MIDI controls diff --git a/keyboards/contra/keymaps/maxr1998/keymap.c b/keyboards/contra/keymaps/maxr1998/keymap.c index c32a8566115c..044ed0c0cb4e 100644 --- a/keyboards/contra/keymaps/maxr1998/keymap.c +++ b/keyboards/contra/keymaps/maxr1998/keymap.c @@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_FN] = { - {_______, _______, _______, _______, _______, _______, _______, DE_UE, _______, DE_OE, _______, KC_DEL }, - {KC_LOCK, DE_AE, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______}, + {_______, _______, _______, _______, _______, _______, _______, DE_UDIA, _______, DE_ODIA, _______, KC_DEL }, + {KC_LOCK, DE_ADIA, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______}, {_______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_TOG, RGB_HUI, KC_PGUP, _______}, {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END } }, @@ -85,13 +85,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NR] = { {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_HASH, _______}, - {_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, + {_______, DE_LABK, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______} }, [_NR_L3] = { {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS }, {_______, DE_Q, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, + {_______, DE_LABK, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, {_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______} }, diff --git a/keyboards/contra/rules.mk b/keyboards/contra/rules.mk index 5894ca13267c..2900d0ea6cd4 100755 --- a/keyboards/contra/rules.mk +++ b/keyboards/contra/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -22,7 +15,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/converter/a1200/a1200.c b/keyboards/converter/a1200/a1200.c new file mode 100644 index 000000000000..5e7e40428738 --- /dev/null +++ b/keyboards/converter/a1200/a1200.c @@ -0,0 +1,16 @@ +/* Copyright 2021 8bits4ever + * + * 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 "a1200.h" diff --git a/keyboards/converter/a1200/a1200.h b/keyboards/converter/a1200/a1200.h new file mode 100644 index 000000000000..ae99809e0972 --- /dev/null +++ b/keyboards/converter/a1200/a1200.h @@ -0,0 +1,47 @@ +/* Copyright 2021 8bits4ever + * + * 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 _x_ KC_NO + +#include "quantum.h" + +/* This a shortcut to help you visually see your layout. + * The first section contains "names" for physical keys of the keyboard + * and defines their position on the board. + * The second section defines position of the keys on the switch matrix + * (where COLUMNS and ROWS crosses). */ + +#define LAYOUT( \ + K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, \ + \ + K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N,K4O, K4P, K4Q, K4R, K4S, K4T, K4U, \ + K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3R, K3S, K3T, K3U, \ + K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, K2O, K2P, K2Q, K2R, K2S, K2T, \ + K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, K1M, K0F, K0G, K0H, K1O, K1P, K1Q, K1R, \ + K0A, K0B, K0C, K0D, K0E, K0I, K0J \ +) \ +{ \ +/* "Q" */ { K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K2O, K0F, K4P }, \ +/* "A" */ { K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, K4P, K0H, K0B }, \ +/* "Z" */ { K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, K4O, K0C, K4O, K0G, K0A }, \ +/* PAD */ { K4U, K2T, K3T, K2S, K1Q, K0J, K3S, K2R, K1P, K1R, K3R, K2Q, K1O, K0I, K3U, K1A }, \ +/* "1" */ { K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K2P, K2A }, \ +/* 05 */ { _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, K1M }, \ +/* FN */ { K5A, K4R, K5B, K5C, K5D, K5E, K5F, K4S, K5G, K4T, K5H, K5I, K5J, K5K, K4Q, K0D }, \ +/* 07 */ { _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, _x_, K0E }, \ +} +/* A(15) B(16) C(17) D(18) E(19) F(20) G(21) H(22) I(23) J(24) K(25) L(26) M(27) N(28) O(29) P(30) */ diff --git a/keyboards/converter/a1200/info.json b/keyboards/converter/a1200/info.json new file mode 100644 index 000000000000..e4b443daaa95 --- /dev/null +++ b/keyboards/converter/a1200/info.json @@ -0,0 +1,112 @@ +{ + "keyboard_name": "Amiga 1200 Keyboard", + "maintainer": "8bits4ever", + "width": 22.5, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":2, "y":0}, + {"label":"F2", "x":3, "y":0}, + {"label":"F3", "x":4, "y":0}, + {"label":"F4", "x":5, "y":0}, + {"label":"F5", "x":6, "y":0}, + {"label":"F6", "x":8, "y":0}, + {"label":"F7", "x":9, "y":0}, + {"label":"F8", "x":10, "y":0}, + {"label":"F9", "x":11, "y":0}, + {"label":"F10", "x":12, "y":0}, + + {"label":"~", "x":0, "y":1.5}, + {"label":"!", "x":1, "y":1.5}, + {"label":"@", "x":2, "y":1.5}, + {"label":"#", "x":3, "y":1.5}, + {"label":"$", "x":4, "y":1.5}, + {"label":"%", "x":5, "y":1.5}, + {"label":"^", "x":6, "y":1.5}, + {"label":"&", "x":7, "y":1.5}, + {"label":"*", "x":8, "y":1.5}, + {"label":"(", "x":9, "y":1.5}, + {"label":")", "x":10, "y":1.5}, + {"label":"_", "x":11, "y":1.5}, + {"label":"+", "x":12, "y":1.5}, + {"label":"`", "x":13, "y":1.5}, + {"label":"Backspace", "x":14, "y":1.5}, + {"label":"Del", "x":15.25, "y":1.5, "w":1.5}, + {"label":"Help", "x":16.75, "y":1.5, "w":1.5}, + {"label":"Num Lock", "x":18.5, "y":1.5}, + {"label":"/", "x":19.5, "y":1.5}, + {"label":"*", "x":20.5, "y":1.5}, + {"label":"-", "x":21.5, "y":1.5}, + + {"label":"Tab", "x":0, "y":2.5, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.5}, + {"label":"W", "x":2.5, "y":2.5}, + {"label":"E", "x":3.5, "y":2.5}, + {"label":"R", "x":4.5, "y":2.5}, + {"label":"T", "x":5.5, "y":2.5}, + {"label":"Y", "x":6.5, "y":2.5}, + {"label":"U", "x":7.5, "y":2.5}, + {"label":"I", "x":8.5, "y":2.5}, + {"label":"O", "x":9.5, "y":2.5}, + {"label":"P", "x":10.5, "y":2.5}, + {"label":"{", "x":11.5, "y":2.5}, + {"label":"}", "x":12.5, "y":2.5}, + {"label":"7", "x":18.5, "y":2.5}, + {"label":"8", "x":19.5, "y":2.5}, + {"label":"9", "x":20.5, "y":2.5}, + {"label":"+", "x":21.5, "y":2.5}, + + {"label":"CTRL", "x":0, "y":3.5}, + {"label":"Caps Lock", "x":1, "y":3.5}, + {"label":"A", "x":2, "y":3.5}, + {"label":"S", "x":3, "y":3.5}, + {"label":"D", "x":4, "y":3.5}, + {"label":"F", "x":5, "y":3.5}, + {"label":"G", "x":6, "y":3.5}, + {"label":"H", "x":7, "y":3.5}, + {"label":"J", "x":8, "y":3.5}, + {"label":"K", "x":9, "y":3.5}, + {"label":"L", "x":10, "y":3.5}, + {"label":":", "x":11, "y":3.5}, + {"label":"\"", "x":12, "y":3.5}, + {"label":"~", "x":13, "y":3.5}, + {"label":"Enter", "x":14, "y":2.5, "w":1, "h":2}, + {"label":"\u2191", "x":16.25, "y":3.5}, + {"label":"4", "x":18.5, "y":3.5}, + {"label":"5", "x":19.5, "y":3.5}, + {"label":"6", "x":20.5, "y":3.5}, + {"label":"+", "x":21.5, "y":3.5}, + + {"label":"Shift", "x":0, "y":4.5, "w":1.25}, + {"label":"|", "x":1.25, "y":4.5}, + {"label":"Z", "x":2.25, "y":4.5}, + {"label":"X", "x":3.25, "y":4.5}, + {"label":"C", "x":4.25, "y":4.5}, + {"label":"V", "x":5.25, "y":4.5}, + {"label":"B", "x":6.25, "y":4.5}, + {"label":"N", "x":7.25, "y":4.5}, + {"label":"M", "x":8.25, "y":4.5}, + {"label":"<", "x":9.25, "y":4.5}, + {"label":">", "x":10.25, "y":4.5}, + {"label":"?", "x":11.25, "y":4.5}, + {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, + {"label":"\u2190", "x":15.25, "y":4.5}, + {"label":"\u2193", "x":16.25, "y":4.5}, + {"label":"\u2192", "x":17.25, "y":4.5}, + {"label":"1", "x":18.5, "y":4.5}, + {"label":"2", "x":19.5, "y":4.5}, + {"label":"3", "x":20.5, "y":4.5}, + {"label":"Enter", "x":21.5, "y":4.5, "h":2}, + + {"label":"Alt", "x":1, "y":5.5, "w":1.5}, + {"label":"Amiga", "x":2.5, "y":5.5, "w":1.5}, + {"label":"Space", "x":4, "y":5.5, "w":7}, + {"label":"Amiga", "x":11, "y":5.5, "w":1.5}, + {"label":"Alt", "x":12.5, "y":5.5, "w":1.5}, + {"label":"0", "x":18.5, "y":5.5, "w":2}, + {"label":".", "x":20.5, "y":5.5}] + } + } +} diff --git a/keyboards/converter/a1200/keymaps/default/keymap.c b/keyboards/converter/a1200/keymaps/default/keymap.c new file mode 100644 index 000000000000..4f7c7be8430b --- /dev/null +++ b/keyboards/converter/a1200/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2021 8bits4ever + * + * 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_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + + 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_BSLS, KC_BSPC, KC_DEL, MO(1), KC_LPRN, KC_RPRN, KC_PSLS, KC_PAST, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_LCTL, 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_NO, KC_ENT, KC_UP, KC_P4, KC_P5, KC_P6, KC_PPLS, + 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, KC_LEFT, KC_DOWN, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_P0, KC_PDOT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_SLCK, _______, KC_PSCR, + _______, _______, _______, _______, RESET,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______, _______, _______, _______, + _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), +}; + diff --git a/keyboards/converter/a1200/miss1200/config.h b/keyboards/converter/a1200/miss1200/config.h new file mode 100644 index 000000000000..5a6c679651a7 --- /dev/null +++ b/keyboards/converter/a1200/miss1200/config.h @@ -0,0 +1,62 @@ +/* +Copyright 2021 8bits4ever + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFFFF +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER 8bits4ever +#define PRODUCT MiSS-1200 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, F0, B1, B3 } +#define MATRIX_COL_PINS { D0, D1, C7, D6, B7, B6, B5, B4, E6, D7, C6, D4, B2, D5, D3, D2 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +#define LED_CAPS_LOCK_PIN B0 +#define LED_PIN_ON_STATE 0 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/converter/a1200/miss1200/rules.mk b/keyboards/converter/a1200/miss1200/rules.mk new file mode 100644 index 000000000000..aa06ad50ad04 --- /dev/null +++ b/keyboards/converter/a1200/miss1200/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/converter/a1200/readme.md b/keyboards/converter/a1200/readme.md new file mode 100644 index 000000000000..96c36b6207aa --- /dev/null +++ b/keyboards/converter/a1200/readme.md @@ -0,0 +1,55 @@ +# Amiga 1200 Keyboard Converter + +Modification of the Model-M 101 membrane adapter (converter/modelm101) to work with Amiga 1200 keyboard (and possibly Amiga 500/600 too). +The adapter allows using the original Amiga keyboard as a USB input device, either with a desktop PC or a R-Pi/FPGA board hosted inside the Amiga case. + +Available for two micros: AT90USB1286 (Teensy 2++ board), and ATmega32u4 (MiSS-1200 FPGA board). + +A small PCB adapter is needed for connecting the keyboard membrane to the Teensy 2.0++ board. A very simple example of such a board is available here: +https://github.com/8bits4ever/A1200-Keyboard-Adapter + +The MiSS-1200 FPGA board features a dedicated connector for the Amiga 1200 membrane keyboard. + +Files have been modified in accordance to the Amiga keyboard layout and features. A second layer has been implemented (momentary toggle "Help" key) to access unexistent keys (like F11 and F12). This is a work in progress. + + +Pins of the Teensy board you should use by default: +``` +Columns: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +Pins: D2 D3 D4 D5 D6 D7 E0 E1 C0 C1 C2 C3 C4 C5 C6 C7 +-------------------------------------------------------- +Rows: 1 2 3 4 5 6 7 8 +Pins: F0 F1 F2 F3 F4 F5 F6 F7 +-------------------------------------------------------- +Status LEDs: CapsLock +5V +Pins: B6 5V +``` + +Pins assignment MiSS-1200 board (ATmega32u4): +``` +Columns: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 +Pins: D0 D1 C7 D6 B7 B6 B5 B4 E6 D7 C6 D4 B2 D5 D3 D2 +-------------------------------------------------------- +Rows: 1 2 3 4 5 6 7 8 +Pins: F7 F6 F5 F4 F1 F0 B1 B3 +-------------------------------------------------------- +Status LEDs: CapsLock +5V +Pins: B0 5V +``` + +* Keyboard Maintainer: [8bits4ever](https://github.com/8bits4ever) +* Hardware Supported: Teensy 2.0++ board by PJRC, MiSS-1200 FPGA by 8bits4ever +* Hardware Availability: https://www.pjrc.com/store/teensypp.html + +For first time flashing use the reset button to enter in bootloader mode. Once the board is flashed you can use "HELP"+"R" on the Amiga keyboard for reflashing. + +Make example for this keyboard (after setting up your build environment): + + make converter/a1200/teensy2pp:default + +Or: + + make converter/a1200/miss1200: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). diff --git a/keyboards/converter/a1200/teensy2pp/config.h b/keyboards/converter/a1200/teensy2pp/config.h new file mode 100644 index 000000000000..19e7ca9b95a9 --- /dev/null +++ b/keyboards/converter/a1200/teensy2pp/config.h @@ -0,0 +1,61 @@ +/* +Copyright 2021 8bits4ever + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER 8bits4ever +#define PRODUCT Amiga-1200 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { F0, F1, F2, F3, F4, F5, F6, F7 } +#define MATRIX_COL_PINS { D2, D3, D4, D5, D6, D7, E0, E1, C0, C1, C2, C3, C4, C5, C6, C7 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed (5 is default) */ +#define DEBOUNCE 5 + +#define LED_CAPS_LOCK_PIN B6 + + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/converter/a1200/teensy2pp/rules.mk b/keyboards/converter/a1200/teensy2pp/rules.mk new file mode 100644 index 000000000000..2758f0d6b337 --- /dev/null +++ b/keyboards/converter/a1200/teensy2pp/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = halfkay + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/converter/adb_usb/rules.mk b/keyboards/converter/adb_usb/rules.mk index 70df2561d190..56967770b3b1 100644 --- a/keyboards/converter/adb_usb/rules.mk +++ b/keyboards/converter/adb_usb/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration diff --git a/keyboards/converter/hp_46010a/rules.mk b/keyboards/converter/hp_46010a/rules.mk index b7199d7f9028..edcea3b22d3e 100644 --- a/keyboards/converter/hp_46010a/rules.mk +++ b/keyboards/converter/hp_46010a/rules.mk @@ -2,32 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = no SPLIT_KEYBOARD = no WAIT_FOR_USB = yes LAYOUTS_HAS_RGB = no diff --git a/keyboards/converter/ibm_5291/config.h b/keyboards/converter/ibm_5291/config.h deleted file mode 100644 index adf66cc697f8..000000000000 --- a/keyboards/converter/ibm_5291/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2018 listofoptions - -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 "config_common.h" - -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER QMK -#define PRODUCT 5291 keyboard converter - -#define MATRIX_ROWS 24 -#define MATRIX_COLS 4 - -#define MATRIX_ROW_PINS {B2, B3, B4, B5, B6} -#define MATRIX_COL_PINS {B0, B1} -#define MATRIX_DATA_PIN D0 -#define MATRIX_STROBE_PIN D1 -#define LED_PIN D6 - - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 0 diff --git a/keyboards/converter/ibm_5291/ibm_5291.c b/keyboards/converter/ibm_5291/ibm_5291.c deleted file mode 100644 index 9b937a545ae2..000000000000 --- a/keyboards/converter/ibm_5291/ibm_5291.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "ibm_5291.h" -#include -#include "quantum.h" \ No newline at end of file diff --git a/keyboards/converter/ibm_5291/ibm_5291.h b/keyboards/converter/ibm_5291/ibm_5291.h deleted file mode 100644 index aa1b403242e2..000000000000 --- a/keyboards/converter/ibm_5291/ibm_5291.h +++ /dev/null @@ -1,69 +0,0 @@ -/* -Copyright 2018 listofoptions - -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 "quantum.h" - -/* - * ,-------. ,--------------------------------------------------------------------------. - * | F1| F2| |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BS |NumLck |ScrLck | - * |-------| |--------------------------------------------------------------------------| - * | F3| F4| | Tab | Q| W| E| R| T| Y| U| I| O| P| [| ] | | 7| 8| 9| -| - * |-------| |------------------------------------------------------|Ent|---------------| - * | F5| F6| | Ctrl | A| S| D| F| G| H| J| K| L| ;| '| `| | 4| 5| 6| | - * |-------| |----------------------------------------------------------------------| | - * | F7| F8| |Shif| \| Z| X| C| V| B| N| M| ,| .| /|Shift|PrS| 1| 2| 3| +| - * |-------| |----------------------------------------------------------------------| | - * | F9|F10| | Alt | Space |CapsLck| 0 | . | | - * `-------' `--------------------------------------------------------------------------' -*/ - -#define LAYOUT_5291( \ - KEY_F1,KEY_F2, KEY_ESC, KEY_1, KEY_2,KEY_3,KEY_4,KEY_5,KEY_6,KEY_7,KEY_8,KEY_9, KEY_0, KEY_MIN, KEY_EQU, KEY_BACK, KEY_NLOCK, KEY_SLOCK, \ - KEY_F3,KEY_F4, KEY_TAB, KEY_Q, KEY_W,KEY_E,KEY_R,KEY_T,KEY_Y,KEY_U,KEY_I,KEY_O, KEY_P, KEY_LBRC,KEY_RBRC, KEY_PAD7,KEY_PAD8, KEY_PAD9,KEY_PMIN, \ - KEY_F5,KEY_F6, KEY_LCTR,KEY_A, KEY_S,KEY_D,KEY_F,KEY_G,KEY_H,KEY_J,KEY_K,KEY_L, KEY_SEMI,KEY_QUOT,KEY_TICK, KEY_ENTR,KEY_PAD4,KEY_PAD5, KEY_PAD6, \ - KEY_F7,KEY_F8, KEY_LSFS,KEY_BSLS,KEY_Z,KEY_X,KEY_C,KEY_V,KEY_B,KEY_N,KEY_M,KEY_COMM,KEY_DOT, KEY_SLS,KEY_RSFS, KEY_PAST,KEY_PAD1,KEY_PAD2, KEY_PAD3,KEY_PPLS, \ - KEY_F9,KEY_F10, KEY_LALT, KEY_SPACE, KEY_CLOCK, KEY_PAD0, KEY_PDOT \ -) \ -{ {KEY_Z, KEY_S, KEY_W, KEY_3 }\ -, {KEY_X, KEY_D, KEY_E, KEY_4 }\ -, {KEY_C, KEY_F, KEY_R, KEY_5 }\ -, {KEY_V, KEY_G, KEY_T, KEY_6 }\ -, {KEY_B, KEY_H, KEY_Y, KEY_7 }\ -, {KEY_N, KEY_J, KEY_U, KEY_8 }\ -, {KEY_PAD2, KEY_PAD5,KEY_PAD8,KEY_NLOCK }\ -, {KEY_M, KEY_K, KEY_I, KEY_9 }\ -, {KEY_COMM, KEY_L, KEY_O, KEY_0 }\ -, {KEY_DOT, KEY_SEMI,KEY_P, KEY_MIN }\ -, {KEY_SLS, KEY_QUOT,KEY_LBRC,KEY_EQU }\ -, {KEY_SPACE, KEY_RSFS,KEY_TICK,KEY_RBRC }\ -, {KEY_CLOCK, KEY_PAST,KEY_ENTR,KEY_BACK }\ -, {KEY_PAD0, KEY_PAD1,KEY_PAD4,KEY_PAD7 }\ -, {KEY_PPLS, KC_NO, KEY_PMIN,KEY_SLOCK }\ -, {KEY_PDOT, KEY_PAD3,KEY_PAD6,KEY_PAD9 }\ -, {KEY_BSLS, KEY_A, KEY_Q, KEY_2 }\ -, {KEY_LALT, KC_NO, KC_NO, KEY_1 }\ -, {KEY_F7, KEY_F5, KEY_F3, KEY_F1 }\ -, {KEY_F8, KEY_F6, KEY_F4, KEY_F2 }\ -, {KC_F10, KC_NO, KC_NO, KC_NO }\ -, {KC_F9, KC_NO, KC_NO, KC_NO }\ -, {KEY_LSFS, KEY_LCTR,KEY_TAB, KEY_ESC }\ -, {KC_NO, KC_NO, KC_NO, KC_NO }\ -} - -#define LAYOUT LAYOUT_5291 \ No newline at end of file diff --git a/keyboards/converter/ibm_5291/info.json b/keyboards/converter/ibm_5291/info.json deleted file mode 100644 index b4b12930960b..000000000000 --- a/keyboards/converter/ibm_5291/info.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "keyboard_name": "IBM 5291", - "url": "https://deskthority.net/wiki/IBM_Model_F#IBM_5291_Keyboard", - "maintainer": "listofoptions", - "width": 21, - "height": 5, - "layouts": { - "LAYOUT": { - "layout": [ - {"label":"Sys Req", "x":0, "y":0}, - {"label":"Cmd", "x":1, "y":0}, - {"label":"`", "x":2.25, "y":0}, - {"label":"1", "x":3.25, "y":0}, - {"label":"2", "x":4.25, "y":0}, - {"label":"3", "x":5.25, "y":0}, - {"label":"4", "x":6.25, "y":0}, - {"label":"5", "x":7.25, "y":0}, - {"label":"6", "x":8.25, "y":0}, - {"label":"7", "x":9.25, "y":0}, - {"label":"8", "x":10.25, "y":0}, - {"label":"9", "x":11.25, "y":0}, - {"label":"0", "x":12.25, "y":0}, - {"label":"-", "x":13.25, "y":0}, - {"label":"=", "x":14.25, "y":0}, - {"label":"Backspace", "x":15.25, "y":0, "w":1.75}, - {"label":"Reverse Tab", "x":17, "y":0, "w":2}, - {"label":"Dup", "x":19, "y":0, "w":2}, - {"label":"Del", "x":0, "y":1}, - {"label":"Erase Input", "x":1, "y":1}, - {"label":"Tab", "x":2.25, "y":1, "w":1.5}, - {"label":"Q", "x":3.75, "y":1}, - {"label":"W", "x":4.75, "y":1}, - {"label":"E", "x":5.75, "y":1}, - {"label":"R", "x":6.75, "y":1}, - {"label":"T", "x":7.75, "y":1}, - {"label":"Y", "x":8.75, "y":1}, - {"label":"U", "x":9.75, "y":1}, - {"label":"I", "x":10.75, "y":1}, - {"label":"O", "x":11.75, "y":1}, - {"label":"P", "x":12.75, "y":1}, - {"label":"¢", "x":13.75, "y":1}, - {"label":"\\", "x":14.75, "y":1, "w":1.25}, - {"label":"7", "x":17, "y":1}, - {"label":"8", "x":18, "y":1}, - {"label":"9", "x":19, "y":1}, - {"label":"Field -", "x":20, "y":1}, - {"label":"Print", "x":0, "y":2}, - {"label":"Help", "x":1, "y":2}, - {"label":"Caps Lock", "x":2.25, "y":2, "w":1.75}, - {"label":"A", "x":4, "y":2}, - {"label":"S", "x":5, "y":2}, - {"label":"D", "x":6, "y":2}, - {"label":"F", "x":7, "y":2}, - {"label":"G", "x":8, "y":2}, - {"label":"H", "x":9, "y":2}, - {"label":"J", "x":10, "y":2}, - {"label":"K", "x":11, "y":2}, - {"label":"L", "x":12, "y":2}, - {"label":";", "x":13, "y":2}, - {"label":"'", "x":14, "y":2}, - {"label":"{", "x":15, "y":2}, - {"label":"Field Exit", "x":16, "y":1, "h":2}, - {"label":"4", "x":17, "y":2}, - {"label":"5", "x":18, "y":2}, - {"label":"6", "x":19, "y":2}, - {"label":"Roll Up", "x":0, "y":3}, - {"label":"Roll Down", "x":1, "y":3}, - {"label":"Shift", "x":2.25, "y":3, "w":1.25}, - {"label":"<", "x":3.5, "y":3}, - {"label":"Z", "x":4.5, "y":3}, - {"label":"X", "x":5.5, "y":3}, - {"label":"C", "x":6.5, "y":3}, - {"label":"V", "x":7.5, "y":3}, - {"label":"B", "x":8.5, "y":3}, - {"label":"N", "x":9.5, "y":3}, - {"label":"M", "x":10.5, "y":3}, - {"label":",", "x":11.5, "y":3}, - {"label":".", "x":12.5, "y":3}, - {"label":"/", "x":13.5, "y":3}, - {"label":"Shift", "x":14.5, "y":3, "w":1.5}, - {"label":"Return", "x":16, "y":3}, - {"label":"1", "x":17, "y":3}, - {"label":"2", "x":18, "y":3}, - {"label":"3", "x":19, "y":3}, - {"label":"Field +", "x":20, "y":2, "h":3}, - {"label":"Left", "x":0, "y":4}, - {"label":"Right", "x":1, "y":4}, - {"label":"Error Reset", "x":2.25, "y":4, "w":2}, - {"label":"Space", "x":4.25, "y":4, "w":9.75}, - {"label":"Enter Rec Adv", "x":14, "y":4, "w":2}, - {"label":"0", "x":16, "y":4, "w":2}, - {"label":".", "x":18, "y":4, "w":2} - ] - } - } -} diff --git a/keyboards/converter/ibm_5291/keymaps/default/keymap.c b/keyboards/converter/ibm_5291/keymaps/default/keymap.c deleted file mode 100644 index 9b286c887d61..000000000000 --- a/keyboards/converter/ibm_5291/keymaps/default/keymap.c +++ /dev/null @@ -1,233 +0,0 @@ -/* -Copyright 2018 listofoptions - -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 xt_keycodes - { XT_PAST = SAFE_RANGE // XT pad asterisk / print screen - , XT_SLCK // XT scroll lock / break - , XT_F6 // F6 / app key - , XT_F5 // F5 / gui - , XT_F9 // F9 / F11 - , XT_F10 // F10 / F12 - } ; - -static bool shift_pressed = false , - alt_pressed = false , - ctrl_pressed = false , - xt_pscr_pressed = false , - xt_brk_pressed = false , - xt_app_pressed = false , - xt_gui_pressed = false , - xt_lout_pressed = false , - xt_f11_pressed = false , - xt_f12_pressed = false ; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_LSFT: - case KC_RSFT: - if (record->event.pressed) { - shift_pressed = true ; - } else { - shift_pressed = false ; - } - return true; - break; - - case KC_LALT: - if (record->event.pressed) { - alt_pressed = true ; - } else { - alt_pressed = false ; - } - return true; - break; - - case KC_LCTL: - if (record->event.pressed) { - ctrl_pressed = true ; - } else { - ctrl_pressed = false ; - } - return true; - break; - - case XT_PAST: - if (record->event.pressed) { - if (shift_pressed) { - xt_pscr_pressed = true ; - register_code(KC_PSCR); - } else { - register_code(KC_PAST); - } - } else { - if (xt_pscr_pressed) { - xt_pscr_pressed = false ; - unregister_code(KC_PSCR); - } else { - unregister_code(KC_PAST); - } - } - return false; - break; - - case XT_SLCK: - if (record->event.pressed) { - if (ctrl_pressed) { - xt_brk_pressed = true ; - register_code(KC_BRK); - } else { - register_code(KC_SLCK); - } - } else { - if (xt_brk_pressed) { - xt_brk_pressed = false ; - unregister_code(KC_BRK); - } else { - unregister_code(KC_SLCK); - } - } - return false; - break; - - case XT_F6: - if (record->event.pressed) { - if (shift_pressed) { - xt_app_pressed = true ; - register_code(KC_APP); - } else { - register_code(KC_F6); - } - } else { - if (xt_app_pressed) { - xt_app_pressed = false ; - unregister_code(KC_APP); - } else { - unregister_code(KC_F6); - } - } - return false; - break; - - case XT_F5: - if (record->event.pressed) { - if (shift_pressed) { - xt_gui_pressed = true ; - register_code(KC_LGUI); - } else if (ctrl_pressed) { - xt_lout_pressed = true ; - register_code (KC_LGUI) ; - register_code (KC_L) ; - } else { - register_code(KC_F5); - } - } else { - if (xt_gui_pressed) { - xt_gui_pressed = false ; - unregister_code(KC_LGUI); - } else if (xt_lout_pressed) { - xt_lout_pressed = false ; - unregister_code (KC_LGUI) ; - unregister_code (KC_L) ; - } else { - unregister_code(KC_F5); - } - } - return false; - break; - - case XT_F9: - if (record->event.pressed) { - if (shift_pressed) { - xt_f11_pressed = true ; - register_code(KC_F11); - } else { - register_code(KC_F9); - } - } else { - if (xt_f11_pressed) { - xt_f11_pressed = false ; - unregister_code(KC_F11); - } else { - unregister_code(KC_F9); - } - } - return false; - break; - - case XT_F10: - if (record->event.pressed) { - if (shift_pressed) { - xt_f12_pressed = true ; - register_code(KC_F12); - } else { - register_code(KC_F10); - } - } else { - if (xt_f12_pressed) { - xt_f12_pressed = false ; - unregister_code(KC_F12); - } else { - unregister_code(KC_F10); - } - } - return false; - break; - - default: - return true; - break; - } - - return true; -} -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// default layout is the standard XT layout -/* - * ,-------. ,--------------------------------------------------------------------------. - * | F1| F2| |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BS |NumLck |ScrLck | - * |-------| |--------------------------------------------------------------------------| - * | F3| F4| | Tab | Q| W| E| R| T| Y| U| I| O| P| [| ] | | 7| 8| 9| -| - * |-------| |------------------------------------------------------|Ent|---------------| - * | F5| F6| | Ctrl | A| S| D| F| G| H| J| K| L| ;| '| `| | 4| 5| 6| | - * |-------| |----------------------------------------------------------------------| | - * | F7| F8| |Shif| \| Z| X| C| V| B| N| M| ,| .| /|Shift| *| 1| 2| 3| +| - * |-------| |----------------------------------------------------------------------| | - * | F9|F10| | Alt | Space |CapsLck| 0 | . | | - * `-------' `--------------------------------------------------------------------------' -*/ -/* - [0] = LAYOUT ( - KC_F1,KC_F2, 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_NLCK, XT_SLCK, - KC_F3,KC_F4, 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_P7,KC_P8, KC_P9, KC_PMNS, - XT_F5,XT_F6, KC_LCTL,KC_A, KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L, KC_SCLN,KC_QUOT,KC_GRV, KC_ENT, KC_P4,KC_P5, KC_P6, - KC_F7,KC_F8, KC_LSFT,KC_BSLS,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,XT_PAST,KC_P1,KC_P2, KC_P3, KC_PPLS, - XT_F9,XT_F10,KC_LALT, KC_SPACE, KC_CAPS, KC_P0, KC_PDOT - ) -*/ - [0] = LAYOUT ( - KC_F1,KC_F2, 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_NLCK, KC_SLCK, - KC_F3,KC_F4, 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_P7,KC_P8, KC_P9, KC_PMNS, - KC_F5,KC_F6, KC_LCTL,KC_A, KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L, KC_SCLN,KC_QUOT,KC_GRV, KC_ENT, KC_P4,KC_P5, KC_P6, - KC_F7,KC_F8, KC_LSFT,KC_BSLS,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,KC_PAST,KC_P1,KC_P2, KC_P3, KC_PPLS, - KC_F9,KC_F10,KC_LALT, KC_SPACE, KC_CAPS, KC_P0, KC_PDOT - ) -} ; - diff --git a/keyboards/converter/ibm_5291/keymaps/kbdbabel_doc_ibm5291_kbd.pdf b/keyboards/converter/ibm_5291/keymaps/kbdbabel_doc_ibm5291_kbd.pdf deleted file mode 100644 index 3560598f02b8bacc12ef9426875a5b7076e32eab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13054 zcmb_@by$?!*0>x z2-2Y_zZX5{+;h)&pYQwqap&QA-0yzZ+I!_*>s@=vsiUka2o(|~;_UsBP(UOGf`E|L z4~S%C!J2S{y@vxx9GKAqt2#P+z)>Kusx!<3t_-(9+QQ}KiQGL@t#aia^fB@Mua>Vy)h$OAUK-#sv}4wxDD&x^KSi* z_+=G3Jkx#2edkoT9FK7LwiY5BJuqPxqa6~@%N7FV$RD0+7uwH{C$f<3 z{{9E=wvcz;uYosF7_UhAk6U9=?+0c;0;ACOtqKY3ve&x!;oV7< zHhAGxd*@4px=r@f;>_^UXA8d6hdbPI~&dAALzHzEh~d+U%l##-P?w$pZ_!(9oB9|8To&UH|xz2MHpB ze@sCu1B_!4o%^-yXM+ANX_^ml8ps%%BpxbrRh6fAw0x^ML?DK1E`*DZF?~+bA6PPS6i4Ufv+2CI zO?m3kT$Q4)ic|fo37tY zlsC@tEotUa8g~Ov=Cy!|0XkCs_(DaRt&cC;H|QkGx=hAozkTR}^}9)aV*gxU@7hNj zntU?;vD2-Geq5HqkRb!|VttSzO*T&d{80v*0RJFrIX33L+b8)nhS|!4Pg(YNV0zP272*@+%1ow3Nt(SOkljm~ z&5%DZe1-eW&GHHvH5o>6O00-3-fXz*%)ovaedWz(0fu5`wX4{ZAM;Iy3f-7QrQe66 zd`d(z?MjB5NRQqt@Lr81=p7wNelW5;JF*_Y3S)?STiF_hVotz+;5=m^wEgJ`Jg?F# zPtYpRCB08cD!#X6v?+##9_hro-4AIyU=U!=XU^rGyjJhYf9%S{I-cPkc8%frZgcD> zer+X~T9}V)C9K#tGKM#8pt-t|6?L?KH_NZ7>Gk~aP$Xeywd8?Yw;+vBO@W4+$aNI| zQUE%{#Tz|mMPkh_1R<5w&zVDibagMHL3`URTM}Q$wQ-XTMoL<8OT((i)AQkNy&?g>aHT$FY&Lop>)BXh2~48BaUmm?xgo74 zjDq74w9$}eU}pQe_VIyjKx40O#h0Di&r(!g=n&8mgWi|lEH@o_xBhi2MfZt8dMytH z(Jc^GY<10*xXq>~%{AGEGEhI}MR?Y2;i7WW3_Z6OVbNxu)i9WnH$v)lhk)u8T9Z%; zKAZ|mwqsQq%u5#D9bLr_r8LuS*2`)|cTC~G94Ax7&~cHOe;C7et=2*P!uaFjlL&~@JO z8fbnP@uG(p*9+q-&tDJ-nSJ*?d6lW22}p{E%H7RT^eH!zRJbsj$8jUmgYAbN6>M@A;v#lrZ?Ra}UIvc41H$aq|2Qtdh| z5gRpOn7K!ki=+%X+}JqHF}B!9!^9I3u3L?x`e6oOD6O`+x!a`cy{Y~BhV+ZSkv82J zr5|SE)%~_JP20aA%_LHfk0|vukD1I!W6;#2?*!SrDcG&p3J=uM3mo9sok^QGW;9VS zNfk7lUcez8I;@JFeh*il;i`sJR0U;sHNroFNj#fNQ!v;3DZ6@Uib|CZLB?&+a=|U< z(4%MzFBS4Ev@i7E1=k=0`^bn9fNh3(mQr)PO{sODC0ew`!pWkIvaot-;@!=#-&|fS zovsqBLx4>T3ah~FE)kk}v=>QWqt6QoEVmK2Q#YyqWd>b<8C0hvTljQ~X0aI(^972B zYVZj+)3y6*zvO&oXNRqT>x!3$6kn0b$4soz7-ru&0AW9PQxaqM)_rVYOMhh3oDNrs zjX>ZLMI+txnr(T3VcMNT8s*{?l`&<&rR$qY+ulzNZm`8fLVc@B38o=4568+O^^q9?dq{Zb@i}(psEJ_9QlXEhcG67;JBNT-atpt2i7IA5 z!Uz$bHe|vR62WokqY)5QGy=k7GGwqY;U)Wi=XC{}0ADDb8=NWHkX^GnuzTUfHxqOa z>PS*slHyo^s(z3!MGqQ<6Ee*-%8=&DXRO!kVj=0`HQrPQDElJ401BOx1xzcfm%cT@Xs2E_Ut3>J$gx@X!ncZM)U4MP@ z-pud35uf1Z1y_35dN$bI&*S{XPsNXj=*LsGgiX>kmciX-TftoVr_EzUzCA11Y3^^L8d)7)rZ68< zr|LjY#Mgt1QSX=Tq`rnvbkeAHQZc}tdgB`2E!MkM;>KH8qU2-iS?B%xX3)xStE)oA zhVXgbP`rH*fo*YU@!i*huLJRoSM-osc8)j5c2dlvoS@DT0XArft#jSxJW7e@d9GC? zv6^x(LnzV47+v3Ge0QFCQaC)pdQLiDVq`zWf&+~)HO_;Z+eG7p%wp0prtlKA8ooyZ zr6D}n1w<6F6|~0;Gu>h^2fwLv8;NeKkFU?0y!1OQ^$m#xc0P?Vo7UF$(3(p6x^t&} zed=9#Ho3#_LS|DbWmqdN_nEv+guwNirA}LAub^vvJy@0;{iw%2tkVH`0zV_kvbz=3 zO=QtJr3w0kv?ycf`2%@kLzaW}Rj$0w`tjm?Bsj~MD6(O}^D%c5M+6qn`VNj|Yf60)Q7Jmg7{~uUxSb#J zA;5hBDq~Hy(^uJ2cJD4aic2${Kv-6DOs+7Cn#|+FjP#dlc54IhIVR$8uVH~;?G!Bpe6hny8KtNnZl)JpdS`dF-L(SY;Yu=PFCCc@bon_%sooZdJ zxxCL+#7mA`oVU;V*97ESIKDcJ_>zoYhMqy*rzi`a0o3DjvApl2g_^}9x<$F^I^X$e zJ8{Fy)iOBs^v@ZLssJ4y^5{!#DspO!2$$*H>CU6#doxeqpR%!crL$FJ^}38-O!ar7 zN^)WsQ#~HZr>8fJz{YHiuF+W~BawK#zDM?rGHn`-x{Rht=vSIX!>SjgQ}9}W^uBZl zyt%-%JmR^yw7l39&IdPWh_<3|qQ7~FuWvgp=CzJq+V3r%U-mmm<}dOwEW*q5)3pDL z{p#+kRgV5eDRYCLpP7SP`FFUcS%>E(HM5@y52@RoOQ)|<>FF3vPw<;-QdbhgO@y9+ z$*5nAmeNEfQ}}TnqxI<0d1>}D*z>J-TwXIya|^2R$vFSxSkekuwInuQ@3O*rGGe$S zdXiJy$fX-Eqc!Q!wz?C4o;T%j%4*XyUYW8Lr-*N++J-xPwfr!d#?^K@+})_k6{^)D zlnifaZ0^#lyd~Vd=pN_eb!}WSiyfg-JxtJP^Wb`gB}+123A}{DB4aVE(42CB{bqFe zO#<3S2KE6JxDu14*Ni^w#ctCdCq81ELEQ{f!{6SlZ5rcwqw?9$p%+7xk8E|EoG3C= z`n6Q6 zyfvvZa0O|xHQS)jlsS4FIHuXry%}=AI z7|Ol*M+A8V4?x(r@;0$+L_Y6(ttOW?KAk$Skapn$x!4y^d+j*(iK)fjf_5*iyvP$W z?H?mj%D1y7{1{z+YxV=Imb@zG4XnRi-J(9_9=<*UuKJ~{(j~;SE32*Q1%KorR5H_! zM}qHYbOfBBsOLppv{H&IWEkVJQ;+z!e6@NTM)Sqx2%{q2y!$!8eN)%kEcxXMYJ3XrJ(MKk{D zwdm)KKZl>@+7BunJIl6gVAFI#>L_(HKa>=*(Vxn0ZEi4DY2unswuJD?W+dWdINgrS zh});xBWiZF-Sr*SR5LeZ(S*@(DC#zPF{2ZCtj1*%StNLGNFbNgvJz7RK>=x%(IjqKZct`dhOGat7KQcbKSpBKUaPG*C%2% zj^c+8Zob_2_t7>By~AI{e{%hBOYR#!r7jTt`K*vF9jxKcT7ov0E{)Th%paoh!n^nA zlxWPVO+Ayo4Xc#7LFUC3J|D_5gN>g_Z_hFU65D__YT(H1M&M@XkPEI`8j4QWB7 z_h`{+Z&D*n)E_buVa@rmzyy522#fcdM~MLWq_S=*3y={repJ_Zm&9FHDRyumz797 z$Ifv+BW+Lp5?}f+IB)Cfu(yo3OX~3bXWrL2alDIQPr*n9oH19vUHslo_~HyQdBwWl z?Iu}a^c8{wd+CEN&K&(uyRQV5EY^W3qh3%=lNIl9RUzFnH4q-Z*);gg<fjxBdiKk!0RfkhzcZA<{b@fZ;WOBp9L7Yacg}_nZx^B0K%`MQ^N{4?g0eWHyM;% z;>pddt1ZU+UuymhDa|NraPD1l-C0nB0AE-a$S_O0y{W+1&i-DuEsV*&hubpUTvH*j zw$zp=*cvOWC7M2lj>IkN{*rCo`2&+T#Nk(}uXNduE-)k@1=t@7-s{VaQRa=&&Zppe zaR+th8q<@lZOKMP5Ysqr;=035o+8q-v-TV;& zekup5oyG^7QYnSsaQ~hsMFt{PWw_sOYA!zS(rXy>OHJBnph?qtass^?i0D$htHSa7 zgp9hZIk}xi6<3G_J!87>k)iB-O&ZqKwK}k=3V%#!o`j$4q^@5%C_dgY!d;@Y|tqZ+4 znX`NzjW}Nx#CO~#(u8N_kgp1djsnLm%c;tK35)gWp1u(=q@rIH)?1yAIQ%Z0{lGOv zsbjf*x#BJUW)@i|tFc0FnLts;mb{E#Hr@Q0xoM_}dL8$% zpKEAmaec2!%IsB2yPW3AT%UHKlk6T^a@1bxjsEVF^_7nHHs2pRM-SVut9GZ{PB+%3 zz9QNm{=nRi7$5LfX#Y8^HTgLOrgcv?HlWbCb3Dt>FqqJ6O^&PBSg6!z#(-aN0X;*TYPymdX@*9j8cV{wl^>w7U@ zCxQv4?=_lh)|i_g)W5J7L$s8uN_i&--%xw-^{9VfCm7sbOEZv_1Ijy2tCIimxhCf{ znn)f^MP%XlU}(>E89d6m+_|6qBQ$%~_rB%6D7Pc;@mc970IlokO{roF9BJ$x&g@D5j2#q7( zkF$9ra{0jh(T0OOUyqaa^X0;egYy%k)11hlTR+am*K*}Xhi)1U@wamr3|%~?+9SUE z#IAY*-y8?og0^mHUUk$TZrn;6c(B|k&iHuD^{E>9E7#AhB_cV@KdAgxKW9GIdWH8R zV&FkoN8nqRp&v1Xq~*1#-u-WI29}Mo&7F~4N*K`=$+WBY?bt)$C^S=PfPESoZIvPP zWr$Vgy4{PA>l;^bSC(BE4JEo58!XQs8i%atWf9;@4f|EJH zgStAD&o^I8>^?rWXZ$dPv2K-?@UzyeSz0Je<{KAvhZgNo`B3J4)U*{UHm;1?;S>){ zo)XP`HY>J~JbL9GZ*wJm--c!e8~lcnF@L>H+>|8+BQTz8m8gmO1gpR0KK zT6jdZFtl5EG*LuT8LBC}obs4AVq==&4SZ7i`30FxqFh0|VvglDgRKxt=peio z@?s`daj#PtFJmBHaWM(XV{S(xoF1>ZT5FTo;sFdqvT3_42IfIOF95=Psr!%e$(bKRp?0F&mbiY{SD}gyOjW4Pm)AqyoaJ z^fEPJz}l#rlBfzg-I(~XI9j*`*h$c_)gu-~Ed`xtT{pBC+?JRXr*dEY+?We|30zSa zq#ND6-jeVmaQePY$yLMF`$5>`PGp~MUl*hlXBm#5uMYFuqdX6-is?8dFodD6S(GZj zs7>Q*ulUSWN!3Cm5Qp_8`?+Xj{zqB=LuQ{2pR=70W#dkj>B>e)(Hax?_~akGYfPx9 zOlj6`SKu&juG-o?TwMDk7QsEtO1|@TNik5F*s+)EDU=BgfW4_j!mb`T@c{g8GhIz)Bz-~oa5!^a|lhcBpn?44|Q zn7Fu%x#p-&CWwsqf7HLQv!ST#r8LcIh`S?7PrgU`vE?yoRstS@OEl!1BstE!#Zd^~ z+mJ?gS8UVZ#GAiTCV63r{SHP&47l)$>k&*J^)VUloRex##)`KNix06_8$N0O*_u$9 zj$0M{+#eFuKDnZ@K=GZ>;MtGm8}_XggKjP>1#fPMvtnD&-=!j@)^SBRp(V=&uNzZF z-|JiS!l*A16fJ$~4pz_td*HxYGT+f5otEfa0^M(lzc|85)hGOjF;&)#_C`4(g>^V3w=K z$pu8+-}?%U@6*hE}5$ z&~b0buZ@R{+OM#VSkyjxYoh-!!7~}>_3J0}E997b0a4#>n*nKlxm_98^=HG&veq5N zu0WbbR^Dk8iDx32-_^;ali#ZMy*DfCn5@8&Ng(JZW`yMpp1SNs_RmolMpgeZ9WI9Z z2TyPe#~`NF*#EE;=o@DwfPg305GCkqi2}EQ}9X-yQoE`{5SvCd)j+ zTT{!;WIKXnf5lulAdZq|#pWV-u8+8{GgfR%ks~*xj@=)ptPjZY7c)OJgzK8+(gumY z&@}$&-WYd)-w|jSeR(-Oa&HDNZlQoM%bYSh_vZCfTLH=Q64{=Dy*cm!a0xPO(i7FP zk=avYPb(X(Iko8K*|xRYT%vu|G_^>I1WpLcOfA4vBU8t{V0&+uUH4{3= zqa&&$6&q0{C*gqDkU@-llQ05Tx0t}*0z&)Q)p4zHbo`)}d)tk>J}t5mLc4n|b@!&# zxxD4#29gZVvl;Ai2xwyaW^tnu9*fgyV%@H-v0`iow@$xe<3AcmUu7Ie5jHBTlWD=JZZVy7xdos;gD6Sq8YMm?r`3Q73i0jj6#U< z__8)0Vel#K@waHGZXOfLN>vom5;gX@^j~KJtj+aW;6^UPcK;E_>XtCS#V~}{D*BO= zzbxhc{*fJd0VyXj-MEghWVlAeTh^)112XbrEjQ*~E$cVf3)ipA*%UYbsdIh6z=p{=j_Ca3Ct_Qh5s%<8T;e%+!qw|KBP zzKYsik!v~ZPBKHe+o67}uQVYoNx#mM-GB9S@w*YYqt(mJ-S*fDHMN7gGiw=e*hF6J z%2Ho#sV4Nvw?EXeMH>t$zqr+`ui5&`>$0U5Km`e@3HZq z7m-Fk$)?b^5sL^GmFXgv5B&^n-%Bd#g?ODOmVMV{;b-#{lYE5sE>zzCq~=1BBoII9*3{MNxs{F9 z!>04|WZ$13WG{ffBLAOdf#=DA=amo7+aI3iKRl;ImY9LxrC{DM>kG8(d1syd+?{CM zi)pHk$`%fue~WmWhPk!}flqQe}MwlQ#ghxbXJBB$m` zM9F5!%D$X+!gevU;|t{dY8;`m%lq-P%WG>y%Wrp2QUd*e8D}>!#!ier-xc$h=x#H#k2Q)9YY$^fW?Ygh@xS8+i zfSh7vhJAzi{TnSUdPE4jNkxvq+r2U`?%~qrD=F*7z^>f;a1G0xj#i0{LLgYN(eT`E zx@rvab_$LC&g+!cyn}%AGo^HUVaNevF@7@Y-ELGGVNpP@8t18O3HJS1qV+567ZHVl z;dDC0R1kB8O*^W=(2|0(R#O zWHa`~24o;t1pf0udcG#-HkQV1_cOAl)wgBv@|rY)0#rG1;6&u*hab>vkO-88jeK|n-!tiOVNnZWd>QjAPLmU^%Pqx5Fv4F=I3yg3phne8 z^Bb+cAjH~{am?b7Pajt+(su48oY6m!v z(nzq5sK|hVJ^1D^V8I`%-q*HD>o1JbEflhqOlyO#|=U~y2}EwKrm1sKDV2#nrf8s z2Qo;~)ExselgblH@R;kw4tZIzro1TBuqrugL5j3=eoLx@eRo>6H*e|6j?yErB;~H7s z14V0`?y$9+;^^z2tuv=@#i-;N@;ufSF~L6c&rVfV6SN`KBugd5U!{=1E-7J*dQH(R zeakuS^j-D+LfC0|NK|e?_b{{d19)4f9PZgkuaUzm4FBu~JzCbTr(aP2kVXG>I@#)M z#!uIyiz}rYdev}*?H_HD!058I^0J}w@?R)KOjwNQk4e#g^<5hHy28OaFnc&y3vTNO zQ$qTH%pkyPF)1;Sq^Ph35m*oD0d!%4q#yto3XbpqiCp$*0`qWpq$kP-?hbTs>Y$J| z`fv|3Fwox#0vo`6JOD%$9}hMC-?+aqRFMES^m27QBA}lWd<%F67IX()_JRJI`h&j9 z9e($P0*e6zf__ox4gza9+PZ_xh%V{ZBeDPiD|lWmdAZsjsL;Pq|G>Nj^ME-c?f+cj z58}1p9xz+r4G1dykG&=SeSv>*K?J_5qXmM>%m1;H)V~1rB#182^!`T1C6~Wh0P9H- zN&frW%f~-nD#6_0mvRB$hC6$~JsfRdzvu>E&H*As0KKn{2zwCpk}o~5zNfXvrNSEm7Kx|@Q7e|DryT#uyFWLWtlwYRsr(lTw+RIo=^Uv;F zsIa7jy!;;qCad7%3bS#7dw{Ir_KpZS?ys#K+#p9=Ic_5{Er^!uEx3c@Z9f!T-%s1X z#?Q${%9dL}o=8>!2G}KB&ia6@-cifb38(7q~YPqHOJ?^#IHKy&&);$L-+Z;VKOVdwY8ed5Z`kQTAY{l#~=0A`BK576c#!-F*=r zFdspL`wd{fUxYXs|AmHd7y3n$kPXrW>}U*z3PHesZlnybgK~8Ba6}?Nmm9;Zk)9rM z+~U?^5NjJ@h@h~IwVfao3YQXu06#$yDBM~^%1&HVSkm^-om~G$;lFJKya4tR0Ym_d zqyew9^|XPb7QfJ0$Hh=c(IA`Ov{hKTV)pwbWsz$5^A3+Uwrdb|G*P&=wX~#_kv5(#zzL_W z{Qs%{|DwulZT=$D)f46X%fxMMz;I{yB}MLl)}R2Lwl>msNR$fWM%W?Y%+QRK%p3WZJfNFk0+x`~6v!nd)!7n`U zzt;K>%K0?~I4Gbe@L%pPPXzie{r-Ck{p-vFf`A;i_vMKOjQ&03{_RNp(?fawlY{aC z5%AIr02{va10H4ROP_%VLnMH6LE@LYa0BiFfB}B>ze4;KlYCHcJ0b`ODnfL5w*3Bq z#Kpu!#6WhS-*Zriq!*NV;V#4c zKjx(VCmi%Y;Yx`CNy|TRCI81BPzaEs`~waO6$1kNpST_cs1^o9C5Ln;Q4-Uu$ z1f(-aAY-_UrXa97!VU@godAHVFd- diff --git a/keyboards/converter/ibm_5291/matrix.c b/keyboards/converter/ibm_5291/matrix.c deleted file mode 100644 index 3946d02e518d..000000000000 --- a/keyboards/converter/ibm_5291/matrix.c +++ /dev/null @@ -1,284 +0,0 @@ -/* -Copyright 2018 listofoptions - -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 -#include -#include -#if defined(__AVR__) -#include -#endif -#include - -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" -#include "matrix.h" -#include "timer.h" - -#include "config.h" - - -#ifndef DEBOUNCE -# define DEBOUNCE 5 -#endif - -#define print_matrix_header() print("\nr/c 01234567\n") -#define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -#define matrix_bitpop(i) bitpop(matrix[i]) -#define ROW_SHIFTER ((uint8_t)1) -#define check_bit(var,pos) ((var) & (1<<(pos))) - -#define NUM_ROW_PINS 5 -#define NUM_COL_PINS 2 - -static const uint8_t row_pins [NUM_ROW_PINS] = MATRIX_ROW_PINS ; -static const uint8_t col_pins [NUM_ROW_PINS] = MATRIX_COL_PINS ; - -#if ( DEBOUNCE > 0 ) -static uint16_t debouncing_time ; -static bool debouncing = false ; -#endif - -static uint8_t matrix [MATRIX_ROWS] = {0}; - -#if ( DEBOUNCE > 0 ) -static uint8_t matrix_debounce [MATRIX_ROWS] = {0}; -#endif - -static -inline -void toggle_led(void) { - uint8_t pin = LED_PIN ; - _SFR_IO8((pin >> 4) + 2) ^= _BV(pin & 0xF); -} - -static -inline -void init_led(void) { - uint8_t pin = LED_PIN ; - _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT - _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW -} - -static -inline -void init_data(void) { - uint8_t pin = MATRIX_DATA_PIN ; - _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN - _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // LO -} - -static -inline -void init_strobe(void) { - uint8_t pin = MATRIX_STROBE_PIN ; - _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT - _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI -} - -static -inline -void init_rows(void) { - for ( uint8_t i = 0 ; i < NUM_ROW_PINS; ++i ) { - uint8_t pin = row_pins[i]; - _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT - _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW - } -} - -static -inline -void init_cols(void) { - for ( uint8_t i = 0 ; i < NUM_COL_PINS; ++i ) { - uint8_t pin = col_pins[i]; - _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT - _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW - } -} - -static -inline -void select_row(uint8_t current_row) { - for ( uint8_t i = 0 ; i < NUM_ROW_PINS; ++i ) { - uint8_t pin = row_pins[i] ; - if ( check_bit( current_row, i ) ) { - _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI - } else { - _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW - } - } - wait_us(30) ; -} - -static -inline -void select_col(uint8_t current_col) { - for ( uint8_t i = 0 ; i < NUM_COL_PINS; ++i ) { - uint8_t pin = col_pins[i] ; - if ( check_bit( current_col, i ) ) { - _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI - } else { - _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW - } - } - wait_us(30) ; -} - -static -inline -uint8_t matrix_strobe(uint8_t col_index) { - uint8_t strobe_pin = MATRIX_STROBE_PIN ; - uint8_t data_pin = MATRIX_DATA_PIN ; - - // set strobe pin low - _SFR_IO8((strobe_pin >> 4) + 2) &= ~_BV(strobe_pin & 0xF); - - wait_us(30) ; - - // read data - uint8_t data = (_SFR_IO8(data_pin >> 4) & _BV(data_pin & 0xF)) ; - - // set strobe pin hi - _SFR_IO8((strobe_pin >> 4) + 2) |= _BV(strobe_pin & 0xF); - - uint8_t out = data ? (1 << col_index) : 0 ; - return out ; -} - -static -bool matrix_read(uint8_t current_matrix[], uint8_t current_row) { - // Store last value of row prior to reading - uint8_t last_row_value = current_matrix[current_row]; - - // Clear data in matrix row - current_matrix[current_row] = 0; - - select_row(current_row); - - // For each col... - for(uint8_t col_index = 0; col_index < MATRIX_COLS; ++col_index) { - - select_col(col_index) ; - - // strobe the matrix - // Populate the matrix row with the state of the data pin - current_matrix[current_row] |= matrix_strobe(col_index) ; - } - - bool test = last_row_value != current_matrix[current_row] ; - return test ; -} - -__attribute__ ((weak)) -void matrix_init_quantum(void) { - matrix_init_kb(); -} - -__attribute__ ((weak)) -void matrix_scan_quantum(void) { - matrix_scan_kb(); -} - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -inline -uint8_t matrix_get_row(uint8_t row) { - return matrix[row]; -} - -void matrix_init(void) { - init_led() ; - init_rows() ; - init_cols() ; - init_data() ; - init_strobe() ; - - // initialize matrix state: all keys off - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; -# if (DEBOUNCE > 0) - matrix_debounce [i] = 0; -# endif - } - - matrix_init_quantum() ; -} - -uint8_t matrix_scan(void) { - for ( uint8_t current_row = 0; current_row < MATRIX_ROWS; ++current_row ) { -# if (DEBOUNCE > 0) - bool matrix_changed = matrix_read(matrix_debounce, current_row); - - if (matrix_changed) { - debouncing = true ; - debouncing_time = timer_read(); - } - -# else - matrix_read(matrix, current_row); -# endif - } - -# if (DEBOUNCE > 0) - if (debouncing && (timer_elapsed(debouncing_time) > DEBOUNCE)) { - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = matrix_debounce[i]; - } - debouncing = false; - } -# endif - - matrix_scan_quantum(); - return 1; -} - -void matrix_print(void) { - print_matrix_header(); - - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - print_hex8(row); print(": "); - print_matrix_row(row); - print("\n"); - } -} diff --git a/keyboards/converter/ibm_5291/matrix.csv b/keyboards/converter/ibm_5291/matrix.csv deleted file mode 100644 index 40462c2143ef..000000000000 --- a/keyboards/converter/ibm_5291/matrix.csv +++ /dev/null @@ -1,96 +0,0 @@ -0,Z -1,S -2,W -3,3 -4,X -5,D -6,E -7,4 -8,C -9,F -10,R -11,5 -12,V -13,G -14,T -15,6 -16,B -17,H -18,Y -19,7 -20,N -21,J -22,U -23,8 -24,PAD_2 -25,PAD_5 -26,PAD_8 -27,NUM_LOCK -28,M -29,K -30,I -31,9 -32,COMMA -33,L -34,O -35,0 -36,PERIOD -37,SEMICOLON -38,P -39,MINUS -40,SLASH -41,QUOTE -42,LEFT_BRACE -43,EQUAL -44,SPACE -45,RSHIFT -46,BACK_QUOTE -47,RIGHT_BRACE -48,CAPS_LOCK -49,PAD_ASTERIX -50,ENTER -51,BACKSPACE -52,PAD_0 -53,PAD_1 -54,PAD_4 -55,PAD_7 -56,PAD_PLUS -57,UNASSIGNED -58,PAD_MINUS -59,SCROLL_LOCK -60,PAD_PERIOD -61,PAD_3 -62,PAD_6 -63,PAD_9 -64,BACKSLASH -65,A -66,Q -67,2 -68,LALT -69,UNASSIGNED -70,UNASSIGNED -71,1 -72,F7 -73,F5 -74,F3 -75,F1 -76,F8 -77,F6 -78,F4 -79,F2 -80,F10 -81,UNASSIGNED -82,UNASSIGNED -83,UNASSIGNED -84,F9 -85,UNASSIGNED -86,UNASSIGNED -87,UNASSIGNED -88,LSHIFT -89,LCTRL -90,TAB -91,ESC -92,UNASSIGNED -93,UNASSIGNED -94,UNASSIGNED -95,UNASSIGNED diff --git a/keyboards/converter/ibm_5291/readme.md b/keyboards/converter/ibm_5291/readme.md deleted file mode 100644 index 03406d3f9de6..000000000000 --- a/keyboards/converter/ibm_5291/readme.md +++ /dev/null @@ -1,72 +0,0 @@ -# IBM 5291 keyboard converter - -[IBM 5291](https://deskthority.net/wiki/IBM_Model_F#IBM_5291_Keyboard) - -A converter for the eponymous keyboard. - -Keyboard Maintainer: [Listofoptions](https://github.com/listofoptions) -Hardware Supported: IBM 5291, Teensy 2.0 - -Make example for this keyboard (after setting up your build environment): - - make converter/ibm_5291: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). - - -The pinout is as follows: - -IBM−5291−Cable to Pinhead−14 - -| pin | description -----|------------------------ -1 | GND -2 | NC -3 | GND -4 | GN) -5 | +5V -6 | D0 -7 | D1 -8 | D2 -9 | D3 -10| D4 -11| D5 -12| D6 -13| Strobe -14| Out - -The pins on this connector are organized -![here](https://geekhack.org/index.php?action=dlattach;topic=48950.0;attach=36759;image) - -IBM−5291−2 Cable with DB15M connector - -| pin | description -----|------------- -|1,2,3 | GND -|4 | +5V -|5 | D0 -|6 | D1 -|7 | D2 -|8 | D3 -|9 | D4 -|10 | D5 -|11 | D6 -|12 | Strobe -|13 | Out -|14 | PE -|15 | NC - -The above connector is actually numbered so it should be easier to determine -where the needed connections are. - -To connect to the teensy, the following are pins are needed (if you should choose not set your own): - -* PB0 -> PB6 are connected to D0 -> D6 -* +5V is connected to the corresponding teensy pin -* gnd is as well, only one of the gnd pins needs to be connected though. -* strobe is connected to pin PD1 -* data is connected to PD0 -* PE does not need to be connected to anything, but it could also be connected to gnd - -sources: - http://www.retrocomputing.eu/documents/5291_MaintenanceLibrary.pdf diff --git a/keyboards/converter/ibm_5291/rules.mk b/keyboards/converter/ibm_5291/rules.mk deleted file mode 100644 index 0b53753ebc6a..000000000000 --- a/keyboards/converter/ibm_5291/rules.mk +++ /dev/null @@ -1,38 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = halfkay - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = no -SPLIT_KEYBOARD = no -WAIT_FOR_USB = yes -LAYOUTS_HAS_RGB = no -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -CUSTOM_MATRIX = yes - -SRC = matrix.c diff --git a/keyboards/converter/ibm_terminal/keymaps/default/rules.mk b/keyboards/converter/ibm_terminal/keymaps/default/rules.mk index 749b93312cd1..cbec57e1d055 100644 --- a/keyboards/converter/ibm_terminal/keymaps/default/rules.mk +++ b/keyboards/converter/ibm_terminal/keymaps/default/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -12,10 +12,8 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. PS2_USE_USART = yes -API_SYSEX_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c b/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c new file mode 100644 index 000000000000..3828f09f5d06 --- /dev/null +++ b/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2020 dsanchezseco +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 layers { + DVO, // dvorak + QWE, // qwerty + SYS, // system +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* dvorak */ + [DVO] = LAYOUT( + KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_PSCR, KC_PAUS, MO(SYS), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + + LCTL(KC_A), LCTL(KC_Z), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, XXXXXXX, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_BSPC, KC_PEQL, KC_PSLS, KC_PAST, + LCTL(KC_B), LCTL(KC_X), KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, XXXXXXX, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS, + LCTL(KC_D), LCTL(KC_C), KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_BSLS, KC_ENT, KC_UP, KC_P4, KC_P5, KC_P6, KC_PPLS, + LCTL(KC_F), LCTL(KC_V), KC_LSFT, KC_BSLS, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, XXXXXXX, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT, + LCTL(KC_G), LCTL(KC_W), KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LGUI, XXXXXXX, KC_P0, KC_PDOT, XXXXXXX + ), + /* qwerty */ + [QWE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, XXXXXXX + ), + + /* system */ + [SYS] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, KC_NLCK, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, TO(DVO), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, TO(QWE), _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, XXXXXXX + ), +}; diff --git a/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/rules.mk b/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/rules.mk new file mode 100644 index 000000000000..0a5b666e8557 --- /dev/null +++ b/keyboards/converter/ibm_terminal/keymaps/dsanchezseco/rules.mk @@ -0,0 +1 @@ +MOUSEKEY_ENABLE = no diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk b/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk index 76d349920fc7..8c5f3d70343e 100644 --- a/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk +++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -16,7 +16,6 @@ UNICODEMAP_ENABLE = yes BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. PS2_USE_USART = yes -API_SYSEX_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/converter/ibm_terminal/rules.mk b/keyboards/converter/ibm_terminal/rules.mk index 059d7b303e20..8f15d65c2aad 100644 --- a/keyboards/converter/ibm_terminal/rules.mk +++ b/keyboards/converter/ibm_terminal/rules.mk @@ -2,33 +2,24 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. PS2_USE_USART = yes -API_SYSEX_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend CUSTOM_MATRIX = yes diff --git a/keyboards/converter/m0110_usb/rules.mk b/keyboards/converter/m0110_usb/rules.mk index a0f0c5ce426d..f59530ce4610 100644 --- a/keyboards/converter/m0110_usb/rules.mk +++ b/keyboards/converter/m0110_usb/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration diff --git a/keyboards/converter/modelm101/keymaps/default/keymap.c b/keyboards/converter/modelm101/keymaps/default/keymap.c index 644e9a5ef82e..3f01f2c65cdc 100644 --- a/keyboards/converter/modelm101/keymaps/default/keymap.c +++ b/keyboards/converter/modelm101/keymaps/default/keymap.c @@ -25,19 +25,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/converter/modelm101/modelm101.c b/keyboards/converter/modelm101/modelm101.c index c2204bea660e..708259cab48e 100644 --- a/keyboards/converter/modelm101/modelm101.c +++ b/keyboards/converter/modelm101/modelm101.c @@ -25,27 +25,6 @@ void keyboard_pre_init_kb(void) { writePinHigh(B6); } -void matrix_init_kb(void) { - /* put your keyboard start-up code here - * runs once when the firmware starts up */ - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - /* put your looping keyboard code here - * runs every cycle (a lot) */ - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - /* put your per-action keyboard code here - * runs for every action, just before processing by the firmware */ - - return process_record_user(keycode, record); -} - void led_set_kb(uint8_t usb_led) { if (usb_led & (1<. +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER tiltowait +#define PRODUCT IBM Model M Space-Saving Keyboard + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_COL_PINS { C7, C6, C5, C4, C3, C2, C1, C0, E1, E0, D7, D5, D4, D3, D2, D1 } +#define MATRIX_ROW_PINS { F0, F1, F2, F3, F4, F5, F6, F7 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed (5 is default) */ +#define DEBOUNCE 5 + +/* The Model M does not have NKRO */ +#define MATRIX_HAS_GHOST + +#define LED_NUM_LOCK_PIN B4 +#define LED_CAPS_LOCK_PIN B6 +#define LED_SCROLL_LOCK_PIN B5 + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/converter/modelm_ssk/info.json b/keyboards/converter/modelm_ssk/info.json new file mode 100644 index 000000000000..e347d667222b --- /dev/null +++ b/keyboards/converter/modelm_ssk/info.json @@ -0,0 +1,457 @@ +{ + "keyboard_name": "IBM Model M Space-Saving Keyboard", + "url": "https://github.com/tiltowait/qmk_firmware/tree/modelm_ssk/keyboards/converter/modelm_ssk", + "maintainer": "tiltowait", + "width": 17.75, + "height": 6.5, + "layouts": + { + "LAYOUT": + { + "layout": + [ + { + "label": "Esc", + "x": 0, + "y": 0 + }, + { + "label": "F1", + "x": 2, + "y": 0 + }, + { + "label": "F2", + "x": 3, + "y": 0 + }, + { + "label": "F3", + "x": 4, + "y": 0 + }, + { + "label": "F4", + "x": 5, + "y": 0 + }, + { + "label": "F5", + "x": 6.5, + "y": 0 + }, + { + "label": "F6", + "x": 7.5, + "y": 0 + }, + { + "label": "F7", + "x": 8.5, + "y": 0 + }, + { + "label": "F8", + "x": 9.5, + "y": 0 + }, + { + "label": "F9", + "x": 11, + "y": 0 + }, + { + "label": "F10", + "x": 12, + "y": 0 + }, + { + "label": "F11", + "x": 13, + "y": 0 + }, + { + "label": "F12", + "x": 14, + "y": 0 + }, + { + "label": "PrtSc", + "x": 15.25, + "y": 0 + }, + { + "label": "Scroll Lock", + "x": 16.25, + "y": 0 + }, + { + "label": "Pause", + "x": 17.25, + "y": 0 + }, + { + "label": "~", + "x": 0, + "y": 1.5 + }, + { + "label": "!", + "x": 1, + "y": 1.5 + }, + { + "label": "@", + "x": 2, + "y": 1.5 + }, + { + "label": "#", + "x": 3, + "y": 1.5 + }, + { + "label": "$", + "x": 4, + "y": 1.5 + }, + { + "label": "%", + "x": 5, + "y": 1.5 + }, + { + "label": "^", + "x": 6, + "y": 1.5 + }, + { + "label": "&", + "x": 7, + "y": 1.5 + }, + { + "label": "*", + "x": 8, + "y": 1.5 + }, + { + "label": "(", + "x": 9, + "y": 1.5 + }, + { + "label": ")", + "x": 10, + "y": 1.5 + }, + { + "label": "_", + "x": 11, + "y": 1.5 + }, + { + "label": "+", + "x": 12, + "y": 1.5 + }, + { + "label": "Backspace", + "x": 13, + "y": 1.5, + "w": 2 + }, + { + "label": "Insert", + "x": 15.25, + "y": 1.5 + }, + { + "label": "Home", + "x": 16.25, + "y": 1.5 + }, + { + "label": "PgUp", + "x": 17.25, + "y": 1.5 + }, + { + "label": "Tab", + "x": 0, + "y": 2.5, + "w": 1.5 + }, + { + "label": "Q", + "x": 1.5, + "y": 2.5 + }, + { + "label": "W", + "x": 2.5, + "y": 2.5 + }, + { + "label": "E", + "x": 3.5, + "y": 2.5 + }, + { + "label": "R", + "x": 4.5, + "y": 2.5 + }, + { + "label": "T", + "x": 5.5, + "y": 2.5 + }, + { + "label": "Y", + "x": 6.5, + "y": 2.5 + }, + { + "label": "U", + "x": 7.5, + "y": 2.5 + }, + { + "label": "I", + "x": 8.5, + "y": 2.5 + }, + { + "label": "O", + "x": 9.5, + "y": 2.5 + }, + { + "label": "P", + "x": 10.5, + "y": 2.5 + }, + { + "label": "{", + "x": 11.5, + "y": 2.5 + }, + { + "label": "}", + "x": 12.5, + "y": 2.5 + }, + { + "label": "|", + "x": 13.5, + "y": 2.5, + "w": 1.5 + }, + { + "label": "Delete", + "x": 15.25, + "y": 2.5 + }, + { + "label": "End", + "x": 16.25, + "y": 2.5 + }, + { + "label": "PgDn", + "x": 17.25, + "y": 2.5 + }, + { + "label": "Caps Lock", + "x": 0, + "y": 3.5, + "w": 1.5 + }, + { + "label": "A", + "x": 1.75, + "y": 3.5 + }, + { + "label": "S", + "x": 2.75, + "y": 3.5 + }, + { + "label": "D", + "x": 3.75, + "y": 3.5 + }, + { + "label": "F", + "x": 4.75, + "y": 3.5 + }, + { + "label": "G", + "x": 5.75, + "y": 3.5 + }, + { + "label": "H", + "x": 6.75, + "y": 3.5 + }, + { + "label": "J", + "x": 7.75, + "y": 3.5 + }, + { + "label": "K", + "x": 8.75, + "y": 3.5 + }, + { + "label": "L", + "x": 9.75, + "y": 3.5 + }, + { + "label": ":", + "x": 10.75, + "y": 3.5 + }, + { + "label": "\"", + "x": 11.75, + "y": 3.5 + }, + { + "label": "~", + "x": 12.75, + "y": 3.5 + }, + { + "label": "Enter", + "x": 13.75, + "y": 3.5, + "w": 1.25 + }, + { + "label": "Shift", + "x": 0, + "y": 4.5, + "w": 1.25 + }, + { + "label": "|", + "x": 1.25, + "y": 4.5 + }, + { + "label": "Z", + "x": 2.25, + "y": 4.5 + }, + { + "label": "X", + "x": 3.25, + "y": 4.5 + }, + { + "label": "C", + "x": 4.25, + "y": 4.5 + }, + { + "label": "V", + "x": 5.25, + "y": 4.5 + }, + { + "label": "B", + "x": 6.25, + "y": 4.5 + }, + { + "label": "N", + "x": 7.25, + "y": 4.5 + }, + { + "label": "M", + "x": 8.25, + "y": 4.5 + }, + { + "label": "<", + "x": 9.25, + "y": 4.5 + }, + { + "label": ">", + "x": 10.25, + "y": 4.5 + }, + { + "label": "?", + "x": 11.25, + "y": 4.5 + }, + { + "label": "Shift", + "x": 12.25, + "y": 4.5, + "w": 2.75 + }, + { + "label": "↑", + "x": 16.25, + "y": 4.5 + }, + { + "label": "Ctrl", + "x": 0, + "y": 5.5, + "w": 1.5 + }, + { + "label": "Alt", + "x": 2.5, + "y": 5.5, + "w": 1.5 + }, + { + "x": 4, + "y": 5.5, + "w": 7 + }, + { + "label": "Alt", + "x": 11, + "y": 5.5, + "w": 1.5 + }, + { + "label": "Ctrl", + "x": 13.5, + "y": 5.5, + "w": 1.5 + }, + { + "label": "←", + "x": 15.25, + "y": 5.5 + }, + { + "label": "↓", + "x": 16.25, + "y": 5.5 + }, + { + "label": "→", + "x": 17.25, + "y": 5.5 + } + ] + } + } +} diff --git a/keyboards/converter/modelm_ssk/keymaps/default/keymap.c b/keyboards/converter/modelm_ssk/keymaps/default/keymap.c new file mode 100644 index 000000000000..adf557b268eb --- /dev/null +++ b/keyboards/converter/modelm_ssk/keymaps/default/keymap.c @@ -0,0 +1,114 @@ +/* Copyright 2019-2021 iw0rm3r, tiltowait + * + * 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 custom_layers { + _BASE, + _NUMPAD, +}; + +enum custom_keycodes { + NUM_SCRL = SAFE_RANGE +}; + +void toggle_numpad_layer(int set_state); + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( /* Base layer */ + 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, NUM_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_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_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_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_NUMPAD] = LAYOUT( /* Numpad Layer */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_7, KC_KP_8, KC_KP_9, KC_TRNS, KC_KP_MINUS, KC_KP_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ASTERISK, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_0, KC_TRNS, KC_KP_DOT, KC_KP_SLASH, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + static uint16_t last_num_scroll = 0; /* For unregistering the proper key */ + + switch (keycode) { + case NUM_SCRL: /* Numlock / Scroll Lock */ + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + /* Remove the shift modifiers */ + uint8_t shift_mods = get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)); + del_mods(MOD_MASK_SHIFT); + + last_num_scroll = KC_NUMLOCK; + register_code(last_num_scroll); + toggle_numpad_layer(-1); + + /* Reset the shift modifiers */ + set_mods(shift_mods); + } else { + last_num_scroll = KC_SCROLLLOCK; + register_code(last_num_scroll); + } + } else { + unregister_code(last_num_scroll); + } + break; + } + return true; +} + +void toggle_numpad_layer(int set_state) { + static uint8_t numlock_enabled = 0; + + /* set_state allows us to explicitly change the numlock state + rather than merely toggling it. */ + if (set_state == -1) { + numlock_enabled = !numlock_enabled; + } else { + numlock_enabled = set_state; + } + + if (numlock_enabled) { + layer_on(_NUMPAD); + } + else { + layer_off(_NUMPAD); + } +} + +bool led_update_user(led_t led_state) { + /* In rare and unlikely conditions, it's possible for numlock + state to change externally from the keyboard. If this happens, + we want to match the new state. + + On Windows and Linux, this means that the keyboard will technically + toggle the numpad layer twice. + */ + + static int8_t numlock_state = -1; /* Unknown state at default */ + + if (led_state.num_lock != numlock_state) { + numlock_state = led_state.num_lock; + toggle_numpad_layer(led_state.num_lock); + } + return true; +} + diff --git a/keyboards/converter/modelm_ssk/keymaps/default/readme.md b/keyboards/converter/modelm_ssk/keymaps/default/readme.md new file mode 100644 index 000000000000..bc829be26628 --- /dev/null +++ b/keyboards/converter/modelm_ssk/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for modelm_ssk diff --git a/keyboards/converter/modelm_ssk/keymaps/tiltowait/config.h b/keyboards/converter/modelm_ssk/keymaps/tiltowait/config.h new file mode 100644 index 000000000000..151118fdf675 --- /dev/null +++ b/keyboards/converter/modelm_ssk/keymaps/tiltowait/config.h @@ -0,0 +1,21 @@ +/* Copyright 2021 tiltowait + * + * 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 + +// place overrides here + +#define PERMISSIVE_HOLD diff --git a/keyboards/converter/modelm_ssk/keymaps/tiltowait/keymap.c b/keyboards/converter/modelm_ssk/keymaps/tiltowait/keymap.c new file mode 100644 index 000000000000..58726fec86f5 --- /dev/null +++ b/keyboards/converter/modelm_ssk/keymaps/tiltowait/keymap.c @@ -0,0 +1,116 @@ +/* Copyright 2021 tiltowait + * + * 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 custom_layers { + _BASE, + _SECOND, + _NUMPAD, +}; + +enum custom_keycodes { + NUM_SCRL = SAFE_RANGE /* Dual-purpose Scroll Lock / Numlock button as on original hardware */ +}; + +void toggle_numlock_layer(int set_state); + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( /* Base layer */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_MUTE, KC_F10, KC_VOLD, KC_VOLU, S(G(KC_4)), NUM_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_BSLS, KC_INS, KC_HOME, KC_PGUP, + LT(_SECOND,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_DEL, KC_END, KC_PGDN, + KC_LCTL, 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_LALT, LGUI_T(KC_ENT), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_SECOND] = LAYOUT( /* Layer 1 */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S(A(KC_MINS)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, C(KC_LEFT), C(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, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, S(A(KC_M)), KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, C(KC_SPC), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_NUMPAD] = LAYOUT( /* Numpad Layer */ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_7, KC_KP_8, KC_KP_9, KC_TRNS, KC_KP_MINUS, KC_KP_PLUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ASTERISK, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_0, KC_TRNS, KC_KP_DOT, KC_KP_SLASH, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + static uint16_t last_num_scroll = 0; /* For unregistering the proper key */ + + switch (keycode) { + case NUM_SCRL: + if (record->event.pressed) { + if (get_mods() & MOD_MASK_SHIFT) { + /* Remove the shift modifiers */ + uint8_t shift_mods = get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)); + set_mods(get_mods() & ~(MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) ); + + last_num_scroll = KC_NUMLOCK; + register_code(last_num_scroll); + toggle_numlock_layer(-1); + + /* Reset the shift modifiers */ + set_mods(shift_mods); + } else { + last_num_scroll = KC_SCROLLLOCK; + register_code(last_num_scroll); + } + } else { + unregister_code(last_num_scroll); + } + break; + } + return true; +} + +void toggle_numlock_layer(int set_state) { + static uint8_t numlock_enabled = 0; + + /* set_state allows us to explicitly change the numlock state + rather than merely toggling it. */ + if (set_state == -1) { + numlock_enabled = !numlock_enabled; + } else { + numlock_enabled = set_state; + } + + if (numlock_enabled) { + layer_on(_NUMPAD); + } + else { + layer_off(_NUMPAD); + } +} + +bool led_update_kb(led_t led_state) { + static int8_t numlock_state = -1; + + if (led_state.num_lock != numlock_state) { + numlock_state = led_state.num_lock; + toggle_numlock_layer(led_state.num_lock); + } + return true; +} diff --git a/keyboards/converter/modelm_ssk/keymaps/tiltowait/readme.md b/keyboards/converter/modelm_ssk/keymaps/tiltowait/readme.md new file mode 100644 index 000000000000..aecdd89b82da --- /dev/null +++ b/keyboards/converter/modelm_ssk/keymaps/tiltowait/readme.md @@ -0,0 +1,11 @@ +# The maintainer's personal keymap for modelm_ssk + +This is a keymap suitable for macOS use. + +* Backspace and backslash have been swapped (HHKB style) +* Capslock is LCTRL +* LCTRL is LALT +* LALT is LGUI +* Tab shifts to layer 1 on hold +* Layer 1 has a couple of Mac shortcuts, plus Vim-style arrow keys +* Shift+Numlock enables numlock diff --git a/keyboards/converter/modelm_ssk/modelm_ssk.c b/keyboards/converter/modelm_ssk/modelm_ssk.c new file mode 100644 index 000000000000..1b01115e5db4 --- /dev/null +++ b/keyboards/converter/modelm_ssk/modelm_ssk.c @@ -0,0 +1,19 @@ +/* Copyright 2019 iw0rm3r + * + * 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 "modelm_ssk.h" + + + diff --git a/keyboards/converter/modelm_ssk/modelm_ssk.h b/keyboards/converter/modelm_ssk/modelm_ssk.h new file mode 100644 index 000000000000..5c4b9b80eac0 --- /dev/null +++ b/keyboards/converter/modelm_ssk/modelm_ssk.h @@ -0,0 +1,45 @@ +/* Copyright 2019-2021 iw0rm3r, tiltowait + * + * 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 "quantum.h" + +/* This a shortcut to help you visually see your layout. + * The first section contains "names" for physical keys of the keyboard + * and defines their position on the board. + * The second section defines position of the keys on the switch matrix + * (where COLUMNS and ROWS crosses). */ + +#define LAYOUT( \ + K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, \ + \ + K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, K4P, K4Q, \ + K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3N, K3O, K3P, K3Q, \ + K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, \ + K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, K1M, K1N, \ + K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H \ +) \ +{ \ +/* 00 */ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K1G, K0C, K1H, KC_NO, KC_NO, K1L, K0G, K0H, KC_NO, K0F, K0D }, \ +/* 01 */ { K0E, K1M, K1C, K1D, K1E, K1F, K2N, K1I, K1J, K1K, KC_NO, KC_NO, KC_NO, KC_NO, K5P, KC_NO }, \ +/* 02 */ { KC_NO, KC_NO, K2B, K2C, K2D, K2E, K3N, K2H, K2I, K2J, K2K, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ +/* 03 */ { KC_NO, KC_NO, K3B, K3C, K3D, K3E, KC_NO, K3H, K3I, K3J, K3K, KC_NO, KC_NO, KC_NO, KC_NO, K5O }, \ +/* 04 */ { KC_NO, KC_NO, K4B, K4C, K4D, K4E, K5K, K4H, K4I, K4J, K4K, K5L, K5M, K3Q, K3P, K5N }, \ +/* 05 */ { K0A, KC_NO, K4A, K5B, K5C, K4F, K5J, K4G, K4M, K5I, K4L, K3O, K4O, K4Q, K4P, KC_NO }, \ +/* 06 */ { KC_NO, K1A, K3A, K2A, K5D, K3F, K4N, K3G, K3M, K5H, K3L, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ +/* 07 */ { KC_NO, KC_NO, K5A, KC_NO, K5E, K2F, K5F, K2G, K5G, KC_NO, K2L, KC_NO, KC_NO, KC_NO, K1N, K0B }, \ +} +/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ diff --git a/keyboards/converter/modelm_ssk/readme.md b/keyboards/converter/modelm_ssk/readme.md new file mode 100644 index 000000000000..8105a0c2dfd3 --- /dev/null +++ b/keyboards/converter/modelm_ssk/readme.md @@ -0,0 +1,55 @@ +# modelm_ssk + +![IBM Model M Space-Saving Keyboard](https://i.imgur.com/CSXrQI5.jpg) + +This is a QMK firmware configuration for the IBM Model M Space-Saving Keyboard (SSK). Based on [this project](https://github.com/qmk/qmk_firmware/tree/master/keyboards/converter/modelm101), it features a few slight improvements and, most importantly, a full remapping to match the SSK's matrix, which differs from its full-sized cousins. The modification is easily reversible, as no part of the keyboard is permanently changed. Just take out the replacement controller and reinstall the original, should you desire. + +The numpad layer (accessed with Shift + Scroll Lock as with the original controller) is mapped to layer 7 by default. All non-numpad keys are transparent. + +**Note:** As of this writing, this configuration has only been tested on the 1392464 SSK. It's possible other models differ in their internal matrices. Should the provided matrix not work for you (and you are certain of your connections), you can enable debugging with `CONSOLE_ENABLE = yes` in `rules.mk` and by following the directions in `default/keymap.c`. Once done, [QMK Toolbox](https://github.com/qmk/qmk_toolbox) will display row/col information to help you remap `modelm_ssk.h`. + +## Requirements + +* [Teensy++ 2.0](https://www.pjrc.com/store/teensypp.html) - I recommend buying one with pins already attached +* A Trio-Mate 16-pin ribbon connector (6-520315-6 or 6-520415-6) +* A Trio-Mate 8-pin ribbon connector (5-120628-8 or 5-520314-8). Alternatively, two 16-pin connectors can be used if the 8-pin is out of stock. Just be sure to line up your pins correctly +* Breadboard or perfboard. A perfboard is recommended due to its reduced height and low clearance inside the chassis +* Mini-B to USB-A cable +* Jumper wires and wire strippers/cutters +* Soldering iron if not using a breadboard + +## Setup + +![Finished controller](https://i.imgur.com/m1yuo4F.jpg) + +The controller uses the following mapping (in zero-indexed hex): + +``` +Column: 0 1 2 3 4 5 6 7 8 9 A B C D E F +Pin: C7 C6 C5 C4 C3 C2 C1 C0 E1 E0 D7 D5 D4 D3 D2 D1 +-------------------------------------------------------- +Row: 0 1 2 3 4 5 6 7 +Pin: F0 F1 F2 F3 F4 F5 F6 F7 +``` + +**IMPORTANT:** It is necessary to skip pin D6 on the Teensy. There is an LED attached to this pin, which can cause interference with registering keys. Alternatively, you can remove the LED from the board, which is likely to be a permanent modification of the Teensy. The choice is yours. I am not responsible for any damage to your Teensy or keyboard. + +## A note on the Unicomp Mini M + +This configuration will not work out of the box with the [Unicomp Mini M](https://www.pckeyboard.com/page/product/MINI_M). That keyboard uses a 16x12 matrix rather than the SSK's 16x8 in order to reduce occurrences of 2KRO lockup. It also features lock lights, which the SSK lacks. However, it should be possible to map out the Mini M's matrix to get it working. + +## Maintainer + +* Keyboard Maintainer: [tiltowait](https://github.com/tiltowait), original work by [iw0rm3r](https://github.com/iw0rm3r) +* Hardware Supported: Teensy 2.0++ board by PJRC +* Hardware Availability: https://www.pjrc.com/store/teensypp.html + +## Building + +Make example for this keyboard (after setting up your build environment): + + make converter/modelm_ssk:default + +You must press the button on the Teensy to enter the bootloader the first time. Afterward, so long as you keep `COMMAND_ENABLE = yes` in `rules.mk` (enabled by default), you can use `Left Shift + Right Shift + B` to enter the bootloader. With this method, you can omit `:teensy` from the end of the `make` command. + +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/converter/modelm_ssk/rules.mk b/keyboards/converter/modelm_ssk/rules.mk new file mode 100644 index 000000000000..31dbac78be34 --- /dev/null +++ b/keyboards/converter/modelm_ssk/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = halfkay + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +# Do not enable NKRO_ENABLE. The SSK lacks diodes and cannot support it +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/default/keymap.c b/keyboards/converter/numeric_keypad_IIe/keymaps/default/keymap.c index a8f45535569a..d4aed559f44b 100644 --- a/keyboards/converter/numeric_keypad_IIe/keymaps/default/keymap.c +++ b/keyboards/converter/numeric_keypad_IIe/keymaps/default/keymap.c @@ -40,23 +40,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_SPACE, KC_KP_0, KC_KP_COMMA, KC_KP_DOT, KC_RETURN, KC_QUESTION \ ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void keyboard_post_init_user(void) { - -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.c b/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.c index c29d85d488ef..a2f8a5bd6e8c 100644 --- a/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.c +++ b/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "numeric_keypad_IIe.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/converter/numeric_keypad_IIe/rules.mk b/keyboards/converter/numeric_keypad_IIe/rules.mk index b828d7c361d3..8c574d996053 100644 --- a/keyboards/converter/numeric_keypad_IIe/rules.mk +++ b/keyboards/converter/numeric_keypad_IIe/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/converter/palm_usb/rules.mk b/keyboards/converter/palm_usb/rules.mk index 15114192e7de..ff1ddc8f4958 100644 --- a/keyboards/converter/palm_usb/rules.mk +++ b/keyboards/converter/palm_usb/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/converter/periboard_512/config.h b/keyboards/converter/periboard_512/config.h new file mode 100644 index 000000000000..e2fdc7435891 --- /dev/null +++ b/keyboards/converter/periboard_512/config.h @@ -0,0 +1,32 @@ +/* Copyright 2021 Sife + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Sife +#define PRODUCT Periboard 512 + +/* matrix properties */ +#define MATRIX_COLS 19 +#define MATRIX_ROWS 8 +#define DEBOUNCE 5 +#define MATRIX_HAS_GHOST diff --git a/keyboards/converter/periboard_512/info.json b/keyboards/converter/periboard_512/info.json new file mode 100644 index 000000000000..0fb1e9539ab2 --- /dev/null +++ b/keyboards/converter/periboard_512/info.json @@ -0,0 +1,128 @@ +{ + "keyboard_name": "Perixx Periboard-512", + "url": "https://github.com/Sife-ops/qmk_firmware/tree/periboard_512/keyboards/converter/periboard_512", + "maintainer": "Sife-ops", + "diode_direction": "ROW2COL", + "matrix_pins": { + "cols": ["B7", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "E0", "E1", "C0", "C1", "C2", "C3", "C4", "C5", "C6", "C7"], + "rows": ["B6", "B5", "B4", "B3", "B2", "B1", "B0", "E7"] + }, + "height": 6.333, + "width": 23.5, + "url": "", + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "x":0, "y":0, "h":0.833}, + {"label":"F1", "x":2, "y":0, "h":0.833}, + {"label":"F2", "x":3, "y":0, "h":0.833}, + {"label":"F3", "x":4, "y":0, "h":0.833}, + {"label":"F4", "x":5, "y":0, "h":0.833}, + {"label":"F5", "x":6, "y":0, "h":0.833}, + {"label":"F6", "x":7, "y":0, "h":0.833}, + {"label":"F7", "x":8, "y":0, "h":0.833}, + {"label":"F8", "x":9, "y":0, "h":0.833}, + {"label":"F9", "x":10, "y":0, "h":0.833}, + {"label":"F10", "x":11, "y":0, "h":0.833}, + {"label":"F11", "x":12, "y":0, "h":0.833}, + {"label":"F12", "x":13, "y":0, "h":0.833}, + {"label":"PrtSc", "x":14.25, "y":0, "h":0.833}, + {"label":"Scroll Lock", "x":15.25, "y":0, "h":0.833}, + {"label":"Pause", "x":16.25, "y":0, "h":0.833}, + + {"label":"~", "x":0, "y":1.333}, + {"label":"!", "x":1, "y":1.333}, + {"label":"@", "x":2, "y":1.333}, + {"label":"#", "x":3, "y":1.333}, + {"label":"$", "x":4, "y":1.333}, + {"label":"%", "x":5, "y":1.333}, + {"label":"^", "x":6, "y":1.333}, + {"label":"&", "x":7, "y":1.333}, + {"label":"*", "x":8, "y":1.333}, + {"label":"(", "x":9, "y":1.333}, + {"label":")", "x":10, "y":1.333}, + {"label":"_", "x":11, "y":1.333}, + {"label":"+", "x":12, "y":1.333}, + {"label":"Backspace", "x":13, "y":1.333, "w":2}, + {"label":"Insert", "x":16.25, "y":3, "h":0.833}, + {"label":"Home", "x":15.25, "y":1.333, "h":0.833}, + {"label":"PgUp", "x":16.25, "y":1.333, "h":0.833}, + {"label":"Num Lock", "x":17.5, "y":1.333}, + {"label":"/", "x":18.5, "y":1.333}, + {"label":"*", "x":19.5, "y":1.333}, + {"label":"-", "x":20.5, "y":1.333}, + + {"label":"Tab", "x":0, "y":2.333, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.333}, + {"label":"W", "x":2.5, "y":2.333}, + {"label":"E", "x":3.5, "y":2.333}, + {"label":"R", "x":4.5, "y":2.333}, + {"label":"T", "x":5.5, "y":2.333}, + {"label":"Y", "x":6.5, "y":2.333}, + {"label":"U", "x":7.5, "y":2.333}, + {"label":"I", "x":8.5, "y":2.333}, + {"label":"O", "x":9.5, "y":2.333}, + {"label":"P", "x":10.5, "y":2.333}, + {"label":"{", "x":11.5, "y":2.333}, + {"label":"}", "x":12.5, "y":2.333}, + {"label":"|", "x":13.5, "y":2.333, "w":1.5}, + {"label":"Delete", "x":15.25, "y":3, "h":0.833}, + {"label":"End", "x":15.25, "y":2.167, "h":0.833}, + {"label":"PgDn", "x":16.25, "y":2.167, "h":0.833}, + {"label":"7", "x":17.5, "y":2.333}, + {"label":"8", "x":18.5, "y":2.333}, + {"label":"9", "x":19.5, "y":2.333}, + {"label":"+", "x":20.5, "y":2.333, "h":2}, + + {"label":"Caps Lock", "x":0, "y":3.333, "w":1.75}, + {"label":"A", "x":1.75, "y":3.333}, + {"label":"S", "x":2.75, "y":3.333}, + {"label":"D", "x":3.75, "y":3.333}, + {"label":"F", "x":4.75, "y":3.333}, + {"label":"G", "x":5.75, "y":3.333}, + {"label":"H", "x":6.75, "y":3.333}, + {"label":"J", "x":7.75, "y":3.333}, + {"label":"K", "x":8.75, "y":3.333}, + {"label":"L", "x":9.75, "y":3.333}, + {"label":":", "x":10.75, "y":3.333}, + {"label":"\"", "x":11.75, "y":3.333}, + {"label":"Enter", "x":12.75, "y":3.333, "w":2.25}, + {"label":"4", "x":17.5, "y":3.333}, + {"label":"5", "x":18.5, "y":3.333}, + {"label":"6", "x":19.5, "y":3.333}, + + {"label":"Shift", "x":0, "y":4.333, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.333}, + {"label":"X", "x":3.25, "y":4.333}, + {"label":"C", "x":4.25, "y":4.333}, + {"label":"V", "x":5.25, "y":4.333}, + {"label":"B", "x":6.25, "y":4.333}, + {"label":"N", "x":7.25, "y":4.333}, + {"label":"M", "x":8.25, "y":4.333}, + {"label":"<", "x":9.25, "y":4.333}, + {"label":">", "x":10.25, "y":4.333}, + {"label":"?", "x":11.25, "y":4.333}, + {"label":"Shift", "x":12.25, "y":4.333, "w":2.75}, + {"label":"Up", "x":15.75, "y":3.833, "h":0.833}, + {"label":"1", "x":17.5, "y":4.333}, + {"label":"2", "x":18.5, "y":4.333}, + {"label":"3", "x":19.5, "y":4.333}, + {"label":"Enter", "x":20.5, "y":4.333, "h":2}, + + {"label":"Ctrl", "x":0, "y":5.333, "w":1.25}, + {"label":"GUI", "x":1.25, "y":5.333, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.333, "w":1.25}, + {"label":"Space", "x":3.75, "y":5.333, "w":6.25}, + {"label":"Alt", "x":10, "y":5.333, "w":1.25}, + {"label":"GUI", "x":11.25, "y":5.333, "w":1.25}, + {"label":"Menu", "x":12.5, "y":5.333, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":5.333, "w":1.25}, + {"label":"Left", "x":15.25, "y":4.667, "h":0.833}, + {"label":"Down", "x":15.75, "y":5.5, "h":0.833}, + {"label":"Right", "x":16.25, "y":4.667, "h":0.833}, + {"label":"0", "x":17.5, "y":5.333, "w":2}, + {"label":".", "x":19.5, "y":5.333} + ] + } + } +} diff --git a/keyboards/converter/periboard_512/keymaps/default/keymap.c b/keyboards/converter/periboard_512/keymaps/default/keymap.c new file mode 100644 index 000000000000..5d528416f35a --- /dev/null +++ b/keyboards/converter/periboard_512/keymaps/default/keymap.c @@ -0,0 +1,56 @@ +/* Copyright 2021 Sife + * + * 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( /* Base layer */ + 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_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + LALT_T(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, RALT_T(KC_BSLS), KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, + LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, RCTL_T(KC_BSPC), KC_P4, KC_P5, KC_P6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + MO(1), KC_LALT, LGUI_T(KC_F13), KC_SPC, RGUI_T(KC_F13), RALT_T(KC_ENT), KC_HENK, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_DOWN, KC_ENT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, MO(2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* [<++>] = LAYOUT( */ + /* _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, */ + /* _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, */ + /* _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, */ + /* _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, */ + /* _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, */ + /* _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ */ + /* ), */ + +}; diff --git a/keyboards/converter/periboard_512/periboard_512.c b/keyboards/converter/periboard_512/periboard_512.c new file mode 100644 index 000000000000..11c65e923a64 --- /dev/null +++ b/keyboards/converter/periboard_512/periboard_512.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Sife + * + * 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 "periboard_512.h" diff --git a/keyboards/converter/periboard_512/periboard_512.h b/keyboards/converter/periboard_512/periboard_512.h new file mode 100644 index 000000000000..d79264233916 --- /dev/null +++ b/keyboards/converter/periboard_512/periboard_512.h @@ -0,0 +1,39 @@ +/* Copyright 2021 Sife + * + * 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 "quantum.h" + +#define LAYOUT( \ + K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, \ + \ + K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, K4P, K4Q, K4R, K4S, K4T, K4U, \ + K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3N, K3O, K3P, K3Q, K3R, K3S, K3T, K3U, \ + K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, K2O, K2P, \ + K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, K1M, K1N, K1O, K1P, K1Q, \ + K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J, K0K, K0L, K0M \ +) \ +{ \ + { KC_NO, K4L, K5I, K4M, KC_NO, K5C, K5B, K4A, K0A, KC_NO, K4F, KC_NO, K4P, K4Q, K3O, K4O, K5J, KC_NO, K4G }, \ + { KC_NO, K4K, K4J, K4I, KC_NO, K4D, K4C, K4B, KC_NO, KC_NO, K4E, K5N, K3P, K3Q, K5L, K5M, K5K, KC_NO, K4H }, \ + { KC_NO, K3K, K3J, K3I, K3H, K3D, K3C, K3B, KC_NO, KC_NO, K3E, K5O, K3U, K3T, K3R, K3S, KC_NO, K0G, KC_NO }, \ + { KC_NO, K2K, K2J, K2I, K2H, K2D, K2C, K2B, KC_NO, KC_NO, K2E, KC_NO, K1Q, K1P, K1N, K1O, K3N, K0B, KC_NO }, \ + { KC_NO, K3L, K5H, K3M, K3G, K5D, K2A, K3A, KC_NO, K1A, K3F, KC_NO, KC_NO, K2P, K2N, K2O, K4N, KC_NO, KC_NO }, \ + { KC_NO, K2L, KC_NO, K5G, K2G, K5E, KC_NO, K5A, KC_NO, KC_NO, K2F, K0C, K1M, K0M, KC_NO, K0L, K5F, KC_NO, KC_NO }, \ + { K0F, KC_NO, K1J, K1I, K1H, K1D, K1C, K1B, K0H, K1L, K1E, KC_NO, K5P, K4T, K4R, K4S, K2M, KC_NO, KC_NO }, \ + { KC_NO, K1K, KC_NO, KC_NO, K1G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K1F, K0E, K0I, K4U, K0J, K0K, K0D, KC_NO, KC_NO }, \ +} diff --git a/keyboards/converter/periboard_512/readme.md b/keyboards/converter/periboard_512/readme.md new file mode 100644 index 000000000000..026a90154b27 --- /dev/null +++ b/keyboards/converter/periboard_512/readme.md @@ -0,0 +1,21 @@ +# Periboard-512 + +![Periboard-512](https://i.imgur.com/ohd61TK.jpeg) + +For this project I converted low-cost consumer keyboard to QMK using a Perixx Periboard-512 and a Teensy++ 2.0. + +* Keyboard Maintainer: [Sife-ops](https://github.com/Sife-ops) +* Hardware Supported: Periboard-512, Teensy++ 2.0 +* Hardware Availability: [Periboard-512](https://www.amazon.com/Perixx-PERIBOARD-512-Ergonomic-Split-Keyboard/dp/B075GZVD4T), [Teensy++ 2.0](https://www.pjrc.com/store/teensypp.html) + +Make example for this keyboard (after setting up your build environment): + + make converter/periboard_512:default + +Flashing example for this keyboard: + + make converter/periboard_512: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). + +[Build guide](https://gist.github.com/Sife-ops/af1916136d641ffee86e8f0f62afc5a4) diff --git a/keyboards/converter/periboard_512/rules.mk b/keyboards/converter/periboard_512/rules.mk new file mode 100644 index 000000000000..522fb510849f --- /dev/null +++ b/keyboards/converter/periboard_512/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = halfkay + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/converter/siemens_tastatur/config.h b/keyboards/converter/siemens_tastatur/config.h index ae6f1a209aa3..cd54ed3d83bb 100644 --- a/keyboards/converter/siemens_tastatur/config.h +++ b/keyboards/converter/siemens_tastatur/config.h @@ -26,11 +26,11 @@ along with this program. If not, see . #define PRODUCT Siemens Tastatur /* key matrix size */ -#define MATRIX_ROWS 4 +#define MATRIX_ROWS 5 #define MATRIX_COLS 19 //This is all fake and not used -#define MATRIX_COL_PINS { B11, B10, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0, C15, C14 } +#define MATRIX_COL_PINS { B11, B10, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0, C15, C14, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } #define MATRIX_ROW_PINS { B3, B4, B5, B6, B7 } #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/converter/siemens_tastatur/keymaps/default/keymap.c b/keyboards/converter/siemens_tastatur/keymaps/default/keymap.c index 70edf94d73f6..0ce8a64ab7ae 100644 --- a/keyboards/converter/siemens_tastatur/keymaps/default/keymap.c +++ b/keyboards/converter/siemens_tastatur/keymaps/default/keymap.c @@ -51,10 +51,6 @@ void matrix_init_user(void) { writePinLow(B0); } -void matrix_scan_user(void) { - -} - void led_set_user(uint8_t usb_led) { if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { writePinHigh(B0); diff --git a/keyboards/converter/siemens_tastatur/rules.mk b/keyboards/converter/siemens_tastatur/rules.mk index 451d07e676b6..08cc9741a32f 100644 --- a/keyboards/converter/siemens_tastatur/rules.mk +++ b/keyboards/converter/siemens_tastatur/rules.mk @@ -6,7 +6,7 @@ BOOTLOADER = stm32duino SRC = matrix.c -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/converter/siemens_tastatur/siemens_tastatur.c b/keyboards/converter/siemens_tastatur/siemens_tastatur.c index 298f24c36f95..21d00c8c30e9 100644 --- a/keyboards/converter/siemens_tastatur/siemens_tastatur.c +++ b/keyboards/converter/siemens_tastatur/siemens_tastatur.c @@ -15,31 +15,3 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "siemens_tastatur.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - diff --git a/keyboards/converter/sun_usb/rules.mk b/keyboards/converter/sun_usb/rules.mk index 5a1a117c0c89..e863d25745f0 100644 --- a/keyboards/converter/sun_usb/rules.mk +++ b/keyboards/converter/sun_usb/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = lufa-dfu # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/converter/usb_usb/ble/rules.mk b/keyboards/converter/usb_usb/ble/rules.mk index 93e85832dc17..76af3e1fa36c 100644 --- a/keyboards/converter/usb_usb/ble/rules.mk +++ b/keyboards/converter/usb_usb/ble/rules.mk @@ -1,7 +1,7 @@ # Processor frequency F_CPU = 8000000 -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -12,7 +12,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/converter/usb_usb/keymaps/narze/README.md b/keyboards/converter/usb_usb/keymaps/narze/README.md index a089568d2cfa..eb9dbbf60b0f 100644 --- a/keyboards/converter/usb_usb/keymaps/narze/README.md +++ b/keyboards/converter/usb_usb/keymaps/narze/README.md @@ -2,7 +2,7 @@ ## Key features - Qwerty + [Colemak](https://colemak.com) layouts, and you can type Qwerty on software-level Colemak as well. Very useful for gaming or when your friend wanna type something but don't use Colemak. -- [(S)uper (D)uper Mode](https://github.com/jasonrudolph/keyboard#super-duper-mode) inspired by [jasonrudolph](https://github.com/jasonrudolph), with [some extensions](https://gist.github.com/narze/861e2167784842d38771) such as backspace & forward delete. +- [(S)uper (D)uper Mode](/users/narze/readme.md) ## Build instructions - `cd /path/to/qmk_firmware` diff --git a/keyboards/converter/usb_usb/rules.mk b/keyboards/converter/usb_usb/rules.mk index d277853cfd1c..ea7224d5341c 100644 --- a/keyboards/converter/usb_usb/rules.mk +++ b/keyboards/converter/usb_usb/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite #MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control #CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/converter/usb_usb/usb_usb.h b/keyboards/converter/usb_usb/usb_usb.h index e0c7c9c0d452..1d1b6770d12d 100644 --- a/keyboards/converter/usb_usb/usb_usb.h +++ b/keyboards/converter/usb_usb/usb_usb.h @@ -127,15 +127,40 @@ along with this program. If not, see . K39,K04,K16,K07,K09,K0A,K0B,K0D,K0E,K0F,K33,K34, K28, K5C,K5D,K5E,K57, \ KE1,K1D,K1B,K06,K19,K05,K11,K10,K36,K37,K38, KE5, K52, K59,K5A,K5B, \ KE0,KE3,KE2, K2C, KE6,KE7,K65,KE4, K50,K51,K4F, K62, K63,K58 \ -) LAYOUT_all( \ - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ - K29, K3A, K3B, K3C, K3D, K3E, K3F, K40, K41, K42, K43, K44, K45, K46, K47, K48, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ - K35, K1E, K1F, K20, K21, K22, K23, K24, K25, K26, K27, K2D, K2E, KC_NO, K2A, K49, K4A, K4B, K53, K54, K55, K56, KC_NO, KC_NO, \ - K2B, K14, K1A, K08, K15, K17, K1C, K18, K0C, K12, K13, K2F, K30, K31, K4C, K4D, K4E, K5F, K60, K61, K57, KC_NO, KC_NO, \ - K39, K04, K16, K07, K09, K0A, K0B, K0D, K0E, K0F, K33, K34, KC_NO, K28, K5C, K5D, K5E, KC_NO, KC_NO, KC_NO, \ - KE1, KC_NO, K1D, K1B, K06, K19, K05, K11, K10, K36, K37, K38, KC_NO, KE5, K52, K59, K5A, K5B, KC_NO, KC_NO, KC_NO, \ - KE0, KE3, KE2, KC_NO, KC_NO, K2C, KC_NO, KC_NO, KC_NO, KE6, KE7, K65, KE4, K50, K51, K4F, K62, K63, K58, KC_NO, KC_NO \ -) +) { \ + { KC_NO, KC_NO, KC_NO, KC_NO, K04, K05, K06, K07, /* 00-07 */ \ + K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, /* 08-0F */ \ + { K10, K11, K12, K13, K14, K15, K16, K17, /* 10-17 */ \ + K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, /* 18-1F */ \ + { K20, K21, K22, K23, K24, K25, K26, K27, /* 20-27 */ \ + K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, /* 28-2F */ \ + { K30, K31, KC_NO, K33, K34, K35, K36, K37, /* 30-37 */ \ + K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, /* 38-3F */ \ + { K40, K41, K42, K43, K44, K45, K46, K47, /* 40-47 */ \ + K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, /* 48-4F */ \ + { K50, K51, K52, K53, K54, K55, K56, K57, /* 50-57 */ \ + K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, /* 58-5F */ \ + { K60, K61, K62, K63, KC_NO, K65, KC_NO, KC_NO, /* 60-67 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 68-6F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 70-77 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 78-7F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 80-87 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 88-8F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 90-97 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 98-9F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* A0-A7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* A8-AF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* B0-B7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* B8-BF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* C0-C7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* C8-CF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* D0-D7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* D8-DF */ \ + { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7, /* E0-E7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* E8-EF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* F0-F7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* F8-FF */ \ +} /* ,---. ,---------------. ,---------------. ,---------------. ,-----------. * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| @@ -159,15 +184,40 @@ along with this program. If not, see . K39,K04,K16,K07,K09,K0A,K0B,K0D,K0E,K0F,K33,K34,K32, K5C,K5D,K5E, \ KE1,K64,K1D,K1B,K06,K19,K05,K11,K10,K36,K37,K38, KE5, K52, K59,K5A,K5B,K58, \ KE0,KE3,KE2, K2C, KE6,KE7,K65,KE4, K50,K51,K4F, K62, K63 \ -) LAYOUT_all( \ - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ - K29, K3A, K3B, K3C, K3D, K3E, K3F, K40, K41, K42, K43, K44, K45, K46, K47, K48, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ - K35, K1E, K1F, K20, K21, K22, K23, K24, K25, K26, K27, K2D, K2E, KC_NO, K2A, K49, K4A, K4B, K53, K54, K55, K56, KC_NO, KC_NO, \ - K2B, K14, K1A, K08, K15, K17, K1C, K18, K0C, K12, K13, K2F, K30, K32, K4C, K4D, K4E, K5F, K60, K61, K57, KC_NO, KC_NO, \ - K39, K04, K16, K07, K09, K0A, K0B, K0D, K0E, K0F, K33, K34, K32, K28, K5C, K5D, K5E, KC_NO, KC_NO, KC_NO, \ - KE1, K64, K1D, K1B, K06, K19, K05, K11, K10, K36, K37, K38, KC_NO, KE5, K52, K59, K5A, K5B, KC_NO, KC_NO, KC_NO, \ - KE0, KE3, KE2, KC_NO, KC_NO, K2C, KC_NO, KC_NO, KC_NO, KE6, KE7, K65, KE4, K50, K51, K4F, K62, K63, K58, KC_NO, KC_NO \ -) +) { \ + { KC_NO, KC_NO, KC_NO, KC_NO, K04, K05, K06, K07, /* 00-07 */ \ + K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, /* 08-0F */ \ + { K10, K11, K12, K13, K14, K15, K16, K17, /* 10-17 */ \ + K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, /* 18-1F */ \ + { K20, K21, K22, K23, K24, K25, K26, K27, /* 20-27 */ \ + K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, /* 28-2F */ \ + { K30, K31, K32, K33, K34, K35, K36, K37, /* 30-37 */ \ + K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, /* 38-3F */ \ + { K40, K41, K42, K43, K44, K45, K46, K47, /* 40-47 */ \ + K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, /* 48-4F */ \ + { K50, K51, K52, K53, K54, K55, K56, K57, /* 50-57 */ \ + K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, /* 58-5F */ \ + { K60, K61, K62, K63, K64, K65, KC_NO, KC_NO, /* 60-67 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 68-6F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 70-77 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 78-7F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 80-87 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 88-8F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 90-97 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 98-9F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* A0-A7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* A8-AF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* B0-B7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* B8-BF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* C0-C7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* C8-CF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* D0-D7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* D8-DF */ \ + { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7, /* E0-E7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* E8-EF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* F0-F7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* F8-FF */ \ +} /* ,---. ,---------------. ,---------------. ,---------------. ,-----------. * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| @@ -191,13 +241,38 @@ along with this program. If not, see . K39,K04,K16,K07,K09,K0A,K0B,K0D,K0E,K0F,K33,K34,K32, K5C,K5D,K5E, \ KE1,K1D,K1B,K06,K19,K05,K11,K10,K36,K37,K38, K87,KE5, K52, K59,K5A,K5B,K58, \ KE0,KE3,KE2,K8B, K2C, K8A,K88,KE6,KE7,K65,KE4, K50,K51,K4F, K62, K63 \ -) LAYOUT_all( \ - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ - K29, K3A, K3B, K3C, K3D, K3E, K3F, K40, K41, K42, K43, K44, K45, K46, K47, K48, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \ - K35, K1E, K1F, K20, K21, K22, K23, K24, K25, K26, K27, K2D, K2E, K89, K2A, K49, K4A, K4B, K53, K54, K55, K56, KC_NO, KC_NO, \ - K2B, K14, K1A, K08, K15, K17, K1C, K18, K0C, K12, K13, K2F, K30, K32, K4C, K4D, K4E, K5F, K60, K61, K57, KC_NO, KC_NO, \ - K39, K04, K16, K07, K09, K0A, K0B, K0D, K0E, K0F, K33, K34, K32, K28, K5C, K5D, K5E, KC_NO, KC_NO, KC_NO, \ - KE1, KC_NO, K1D, K1B, K06, K19, K05, K11, K10, K36, K37, K38, K87, KE5, K52, K59, K5A, K5B, KC_NO, KC_NO, KC_NO, \ - KE0, KE3, KE2, K8B, KC_NO, K2C, KC_NO, K8A, K88, KE6, KE7, K65, KE4, K50, K51, K4F, K62, K63, K58, KC_NO, KC_NO \ -) +) { \ + { KC_NO, KC_NO, KC_NO, KC_NO, K04, K05, K06, K07, /* 00-07 */ \ + K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, /* 08-0F */ \ + { K10, K11, K12, K13, K14, K15, K16, K17, /* 10-17 */ \ + K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, /* 18-1F */ \ + { K20, K21, K22, K23, K24, K25, K26, K27, /* 20-27 */ \ + K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, /* 28-2F */ \ + { K30, K31, K32, K33, K34, K35, K36, K37, /* 30-37 */ \ + K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, /* 38-3F */ \ + { K40, K41, K42, K43, K44, K45, K46, K47, /* 40-47 */ \ + K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, /* 48-4F */ \ + { K50, K51, K52, K53, K54, K55, K56, K57, /* 50-57 */ \ + K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, /* 58-5F */ \ + { K60, K61, K62, K63, K64, K65, KC_NO, KC_NO, /* 60-67 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 68-6F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 70-77 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 78-7F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87, /* 80-87 */ \ + K88, K89, K8A, K8B, KC_NO, KC_NO, KC_NO, KC_NO }, /* 88-8F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 90-97 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 98-9F */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* A0-A7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* A8-AF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* B0-B7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* B8-BF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* C0-C7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* C8-CF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* D0-D7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* D8-DF */ \ + { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7, /* E0-E7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* E8-EF */ \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* F0-F7 */ \ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* F8-FF */ \ +} #endif diff --git a/keyboards/converter/xt_usb/config.h b/keyboards/converter/xt_usb/config.h index e5624d843d4e..5f93fbfc6d39 100644 --- a/keyboards/converter/xt_usb/config.h +++ b/keyboards/converter/xt_usb/config.h @@ -19,14 +19,14 @@ along with this program. If not, see . #include "config_common.h" -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6512 -#define DEVICE_VER 0x0001 -#define MANUFACTURER QMK -#define PRODUCT XT keyboard converter +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6512 +#define DEVICE_VER 0x0001 +#define MANUFACTURER QMK +#define PRODUCT XT keyboard converter - -/* matrix size */ +/* key matrix size */ #define MATRIX_ROWS 16 // keycode bit: 3-0 #define MATRIX_COLS 8 // keycode bit: 6-4 @@ -36,44 +36,31 @@ along with this program. If not, see . get_mods() == (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RSHIFT)) \ ) - -//#define NO_SUSPEND_POWER_DOWN - -/* - * XT Pin interrupt - */ -#define XT_CLOCK_PORT PORTD -#define XT_CLOCK_PIN PIND -#define XT_CLOCK_DDR DDRD -#define XT_CLOCK_BIT 1 -#define XT_DATA_PORT PORTD -#define XT_DATA_PIN PIND -#define XT_DATA_DDR DDRD -#define XT_DATA_BIT 0 -#define XT_RST_PORT PORTB -#define XT_RST_PIN PINB -#define XT_RST_DDR DDRB -#define XT_RST_BIT 7 +#define XT_CLOCK_PIN D1 +#define XT_DATA_PIN D0 +#define XT_RST_PIN B7 /* hard reset: low pulse for 500ms and after that HiZ for safety */ #define XT_RESET() do { \ - XT_RST_PORT &= ~(1<. #include "xt.h" #include "matrix.h" - static void matrix_make(uint8_t code); static void matrix_break(uint8_t code); static uint8_t matrix[MATRIX_ROWS]; -#define ROW(code) (code>>3) -#define COL(code) (code&0x07) + +#define ROW(code) (code >> 3) +#define COL(code) (code & 0x07) __attribute__ ((weak)) void matrix_init_kb(void) { @@ -48,16 +48,16 @@ void matrix_init_user(void) { } __attribute__ ((weak)) -void matrix_scan_user(void) { -} +void matrix_scan_user(void) { } -void matrix_init(void) -{ +void matrix_init(void) { debug_enable = true; xt_host_init(); // initialize matrix state: all keys off - for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00; + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = 0x00; + } matrix_init_quantum(); } @@ -71,7 +71,7 @@ static uint8_t move_e0code(uint8_t code) { case 0x1C: return 0x6F; // Keypad Enter case 0x35: return 0x7F; // Keypad / - // Any XT keyobard with these keys? + // Any XT keyboard with these keys? // http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf // https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc case 0x5B: return 0x5A; // Left GUI @@ -96,8 +96,7 @@ static uint8_t move_e0code(uint8_t code) { return 0x00; } -uint8_t matrix_scan(void) -{ +uint8_t matrix_scan(void) { static enum { XT_STATE_INIT, XT_STATE_E0, @@ -108,8 +107,13 @@ uint8_t matrix_scan(void) } state = XT_STATE_INIT; uint8_t code = xt_host_recv(); - if (!code) return 0; + + if (!code) { + return 0; + } + xprintf("%02X ", code); + switch (state) { case XT_STATE_INIT: switch (code) { @@ -120,10 +124,11 @@ uint8_t matrix_scan(void) state = XT_STATE_E1; break; default: - if (code < 0x80) + if (code < 0x80) { matrix_make(code); - else + } else { matrix_break(code & 0x7F); + } break; } break; @@ -137,10 +142,11 @@ uint8_t matrix_scan(void) state = XT_STATE_INIT; break; default: - if (code < 0x80) + if (code < 0x80) { matrix_make(move_e0code(code)); - else + } else { matrix_break(move_e0code(code & 0x7F)); + } state = XT_STATE_INIT; break; } @@ -181,59 +187,54 @@ uint8_t matrix_scan(void) default: state = XT_STATE_INIT; } + matrix_scan_quantum(); + return 1; } inline -uint8_t matrix_get_row(uint8_t row) -{ +uint8_t matrix_get_row(uint8_t row) { return matrix[row]; } -inline -static void matrix_make(uint8_t code) -{ +inline static void matrix_make(uint8_t code) { if (!matrix_is_on(ROW(code), COL(code))) { - matrix[ROW(code)] |= 1<. #include "quantum.h" +#define XXX KC_NO + /* IBM XT keyboard layout * ,-------. ,--------------------------------------------------------------------------. * | F1| F2| |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BS |NumLck |ScrLck | @@ -44,28 +46,28 @@ along with this program. If not, see . * `-------' `--------------------------------------------------------------------------' */ #define LAYOUT_xt( \ - K3B,K3C, K01,K02,K03,K04,K05,K06,K07,K08,K09,K0A,K0B,K0C,K0D,K0E, K45, K46, \ - K3D,K3E, K0F,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K1A,K1B, K47,K48,K49,K4A, \ - K3F,K40, K1D,K1E,K1F,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K1C,K4B,K4C,K4D, \ - K41,K42, K2A,K2B,K2C,K2D,K2E,K2F,K30,K31,K32,K33,K34,K35,K36,K37,K4F,K50,K51,K4E, \ - K43,K44, K38, K39, K3A, K52, K53 \ + k3B, k3C, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k45, k46, \ + k3D, k3E, k0F, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k47, k48, k49, k4A, \ + k3F, k40, k1D, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k1C, k4B, k4C, k4D, \ + k41, k42, k2A, k2B, k2C, k2D, k2E, k2F, k30, k31, k32, k33, k34, k35, k36, k37, k4F, k50, k51, k4E, \ + k43, k44, k38, k39, k3A, k52, k53 \ ) { \ - { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \ - { K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17 }, \ - { K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27 }, \ - { K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37 }, \ - { K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, K41, K42, K43, K44, K45, K46, K47 }, \ - { K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \ - { K50, K51, K52, K53, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \ + { XXX, k01, k02, k03, k04, k05, k06, k07 }, \ + { k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17 }, \ + { k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27 }, \ + { k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ + { k30, k31, k32, k33, k34, k35, k36, k37 }, \ + { k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ + { k40, k41, k42, k43, k44, k45, k46, k47 }, \ + { k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \ + { k50, k51, k52, k53, XXX, XXX, XXX, XXX }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \ } /* Extended keyboard layout @@ -105,28 +107,28 @@ along with this program. If not, see . * *: special handling codes */ #define LAYOUT( \ - K64,K65,K66,K67,K68,K69,K6A,K6B,K6C,K6D,K6E,K76, \ - K01, K3B,K3C,K3D,K3E,K3F,K40,K41,K42,K43,K44,K57,K58, K54,K46,K55, K5D,K5E,K5F, \ - K29,K02,K03,K04,K05,K06,K07,K08,K09,K0A,K0B,K0C,K0D,K7D,K0E, K71,K74,K77, K45,K7F,K37,K4A, \ - K0F,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K1A,K1B, K2B, K72,K75,K78, K47,K48,K49,K4E, \ - K3A,K1E,K1F,K20,K21,K22,K23,K24,K25,K26,K27,K28, K00,K1C, K4B,K4C,K4D,K7E, \ - K2A,K56,K2C,K2D,K2E,K2F,K30,K31,K32,K33,K34,K35, K73,K36, K60, K4F,K50,K51,K6F, \ - K1D,K5A,K38,K7B, K39, K79,K70,K7C,K5B,K5C,K7A, K61,K62,K63, K52,K53,K59 \ + k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k76, \ + k01, k3B, k3C, k3D, k3E, k3F, k40, k41, k42, k43, k44, k57, k58, k54, k46, k55, k5D, k5E, k5F, \ + k29, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k7D, k0E, k71, k74, k77, k45, k7F, k37, k4A, \ + k0F, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k2B, k72, k75, k78, k47, k48, k49, k4E, \ + k3A, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k28, k00, k1C, k4B, k4C, k4D, k7E, \ + k2A, k56, k2C, k2D, k2E, k2F, k30, k31, k32, k33, k34, k35, k73, k36, k60, k4F, k50, k51, k6F, \ + k1D, k5A, k38, k7B, k39, k79, k70, k7C, k5B, k5C, k7A, k61, k62, k63, k52, k53, k59 \ ) { \ - { K00, K01, K02, K03, K04, K05, K06, K07 }, \ - { K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17 }, \ - { K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27 }, \ - { K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37 }, \ - { K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, K41, K42, K43, K44, K45, K46, K47 }, \ - { K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \ - { K50, K51, K52, K53, K54, K55, K56, K57 }, \ - { K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, \ - { K60, K61, K62, K63, K64, K65, K66, K67 }, \ - { K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ - { K70, K71, K72, K73, K74, K75, K76, K77 }, \ - { K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \ + { k00, k01, k02, k03, k04, k05, k06, k07 }, \ + { k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, k11, k12, k13, k14, k15, k16, k17 }, \ + { k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, k21, k22, k23, k24, k25, k26, k27 }, \ + { k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ + { k30, k31, k32, k33, k34, k35, k36, k37 }, \ + { k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ + { k40, k41, k42, k43, k44, k45, k46, k47 }, \ + { k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \ + { k50, k51, k52, k53, k54, k55, k56, k57 }, \ + { k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \ + { k60, k61, k62, k63, k64, k65, k66, k67 }, \ + { k68, k69, k6A, k6B, k6C, k6D, k6E, k6F }, \ + { k70, k71, k72, k73, k74, k75, k76, k77 }, \ + { k78, k79, k7A, k7B, k7C, k7D, k7E, k7F } \ } diff --git a/keyboards/cool836a/rules.mk b/keyboards/cool836a/rules.mk index 5c0d8f307c54..c98974abafc2 100644 --- a/keyboards/cool836a/rules.mk +++ b/keyboards/cool836a/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/copenhagen_click/click_pad_v1/config.h b/keyboards/copenhagen_click/click_pad_v1/config.h index 62d08fab245c..95d56bb668bf 100755 --- a/keyboards/copenhagen_click/click_pad_v1/config.h +++ b/keyboards/copenhagen_click/click_pad_v1/config.h @@ -194,26 +194,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/copenhagen_click/click_pad_v1/keymaps/default/keymap.c b/keyboards/copenhagen_click/click_pad_v1/keymaps/default/keymap.c index a11872782618..17549dd09565 100755 --- a/keyboards/copenhagen_click/click_pad_v1/keymaps/default/keymap.c +++ b/keyboards/copenhagen_click/click_pad_v1/keymaps/default/keymap.c @@ -43,11 +43,3 @@ void matrix_init_user(void) { breathing_enable(); } - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/copenhagen_click/click_pad_v1/rules.mk b/keyboards/copenhagen_click/click_pad_v1/rules.mk index 2bfc5d095760..2953445a5498 100755 --- a/keyboards/copenhagen_click/click_pad_v1/rules.mk +++ b/keyboards/copenhagen_click/click_pad_v1/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/coseyfannitutti/discipad/config.h b/keyboards/coseyfannitutti/discipad/config.h index 01b12cf3aa63..056239a09b7f 100644 --- a/keyboards/coseyfannitutti/discipad/config.h +++ b/keyboards/coseyfannitutti/discipad/config.h @@ -191,26 +191,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/coseyfannitutti/discipad/rules.mk b/keyboards/coseyfannitutti/discipad/rules.mk index 057bea42bbb0..014751c68995 100644 --- a/keyboards/coseyfannitutti/discipad/rules.mk +++ b/keyboards/coseyfannitutti/discipad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega328p # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/coseyfannitutti/discipline/config.h b/keyboards/coseyfannitutti/discipline/config.h index af2bc452b01e..3efe9a5c3475 100644 --- a/keyboards/coseyfannitutti/discipline/config.h +++ b/keyboards/coseyfannitutti/discipline/config.h @@ -189,26 +189,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/coseyfannitutti/discipline/discipline.h b/keyboards/coseyfannitutti/discipline/discipline.h index 61ac086c8cdf..ebfebfe382fa 100644 --- a/keyboards/coseyfannitutti/discipline/discipline.h +++ b/keyboards/coseyfannitutti/discipline/discipline.h @@ -48,9 +48,7 @@ { K40, K41, K42, _x_, _x_, _x_, K46, _x_, _x_, K49, K4A, _x_, K4C, K4D, K4E} \ } -#define LAYOUT_65_ansi_2_right_mods LAYOUT_65_ansi_blocker - -#define LAYOUT_wkl_ansi_2_right_mods( \ +#define LAYOUT_65_ansi_wkl( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ @@ -64,7 +62,7 @@ { K40, _x_, K42, _x_, _x_, _x_, K46, _x_, _x_, K49, K4A, _x_, K4C, K4D, K4E} \ } -#define LAYOUT_wkl_ansi_3_right_mods( \ +#define LAYOUT_65_ansi_lwkl( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ @@ -106,9 +104,7 @@ { K40, K41, K42, _x_, _x_, _x_, K46, _x_, _x_, K49, K4A, _x_, K4C, K4D, K4E} \ } -#define LAYOUT_65_iso_2_right_mods LAYOUT_65_iso_blocker - -#define LAYOUT_wkl_iso_2_right_mods( \ +#define LAYOUT_65_iso_wkl( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K1D, K2E, \ @@ -122,7 +118,7 @@ { K40, _x_, K42, _x_, _x_, _x_, K46, _x_, _x_, K49, K4A, _x_, K4C, K4D, K4E} \ } -#define LAYOUT_wkl_iso_3_right_mods( \ +#define LAYOUT_65_iso_lwkl( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K1D, K2E, \ diff --git a/keyboards/coseyfannitutti/discipline/info.json b/keyboards/coseyfannitutti/discipline/info.json index 808289824121..83886c27c943 100644 --- a/keyboards/coseyfannitutti/discipline/info.json +++ b/keyboards/coseyfannitutti/discipline/info.json @@ -4,30 +4,618 @@ "maintainer": "coseyfannitutti", "width": 16, "height": 5, + "layout_aliases": { + "LAYOUT_65_ansi_2_right_mods": "LAYOUT_65_ansi_blocker", + "LAYOUT_65_iso_2_right_mods": "LAYOUT_65_iso_blocker", + "LAYOUT_wkl_ansi_2_right_mods": "LAYOUT_65_ansi_wkl", + "LAYOUT_wkl_ansi_3_right_mods": "LAYOUT_65_ansi_lwkl", + "LAYOUT_wkl_iso_2_right_mods": "LAYOUT_65_iso_wkl", + "LAYOUT_wkl_iso_3_right_mods": "LAYOUT_65_iso_lwkl" + }, "layouts": { "LAYOUT_65_ansi": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"~", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"PgDn", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Fn", "x":11, "y":4}, {"label":"Ctrl", "x":12, "y":4}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}] + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] }, - "LAYOUT_65_ansi_2_right_mods": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"~", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"PgDn", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Fn", "x":11.5, "y":4, "w":1.5}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}] + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] }, - "LAYOUT_wkl_ansi_2_right_mods": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"~", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"PgDn", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Alt", "x":1.5, "y":4, "w":1.5}, {"x":3, "y":4, "w":7}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Fn", "x":11.5, "y":4, "w":1.5}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}] + "LAYOUT_65_ansi_wkl": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4, "w":1.5}, + {"x":3, "y":4, "w":7}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] }, - "LAYOUT_wkl_ansi_3_right_mods": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"~", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"PgDn", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Alt", "x":1.5, "y":4, "w":1.5}, {"x":3, "y":4, "w":7}, {"label":"Alt", "x":10, "y":4}, {"label":"Fn", "x":11, "y":4}, {"label":"Ctrl", "x":12, "y":4}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}] + "LAYOUT_65_ansi_lwkl": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4, "w":1.5}, + {"x":3, "y":4, "w":7}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] }, "LAYOUT_65_iso": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] }, - "LAYOUT_65_iso_2_right_mods": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.5}, {"x":11.5, "y":4, "w":1.5}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + "LAYOUT_65_iso_blocker": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] }, - "LAYOUT_wkl_iso_2_right_mods": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4, "w":1.5}, {"x":3, "y":4, "w":7}, {"x":10, "y":4, "w":1.5}, {"x":11.5, "y":4, "w":1.5}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + "LAYOUT_65_iso_wkl": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4, "w":1.5}, + {"x":3, "y":4, "w":7}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4, "w":1.5}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] }, - "LAYOUT_wkl_iso_3_right_mods": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4, "w":1.5}, {"x":3, "y":4, "w":7}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + "LAYOUT_65_iso_lwkl": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4, "w":1.5}, + {"x":3, "y":4, "w":7}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] } } } diff --git a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/config.h b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/config.h new file mode 100644 index 000000000000..1c1f66c89fe0 --- /dev/null +++ b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/config.h @@ -0,0 +1,20 @@ +/* Copyright 2021 James Young (@noroadsleft) + * + * 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 ANSI_NUBS_ROW 3 +#define ANSI_NUBS_COL 2 diff --git a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c new file mode 100644 index 000000000000..b948c9fb1d06 --- /dev/null +++ b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/keymap.c @@ -0,0 +1,72 @@ +/* Copyright 2021 James Young (@noroadsleft) + * + * 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 "noroadsleft.h" + +enum layer_names { + _DV, + _QW, + _NP, + _FN, + _SY +}; + +#define FN_CAPS LT(_FN, KC_CAPS) +#define CTL_GRV MT(MOD_LCTL, KC_GRV) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_DV] = LAYOUT_65_ansi( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGUP, + FN_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_PGDN, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_END, + CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_QW] = LAYOUT_65_ansi( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + CTL_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_NP] = LAYOUT_65_ansi( + _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_E, KC_F, _______, KC_P4, KC_P5, KC_P6, KC_PAST, KC_PSLS, KC_PEQL, _______, _______, + _______, _______, _______, _______, KC_C, KC_D, _______, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PMNS, KC_PENT, _______, + _______, _______, _______, _______, KC_A, KC_B, _______, KC_P0, _______, KC_PDOT, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_FN] = LAYOUT_65_ansi( + 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, DM_REC1, + _______, KC_CALC, KC_APP, _______, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_PSCR, KC_SLCK, KC_PAUS, DM_REC2, + _______, M_SALL, _______, _______, _______, _______, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, DM_RSTP, DM_PLY1, + _______, M_UNDO, M_CUT, M_COPY, M_PASTE, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, TO(_SY), _______, _______, DM_PLY2, + _______, _______, _______, TG(_NP), _______, _______, _______, _______, _______, _______ + ), + + [_SY] = LAYOUT_65_ansi( + TG(_SY), TO(_DV), TO(_QW), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, M_MDSWP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, TG(_NP), XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) + +}; diff --git a/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/rules.mk b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/rules.mk new file mode 100644 index 000000000000..9e6797ed3074 --- /dev/null +++ b/keyboards/coseyfannitutti/discipline/keymaps/noroadsleft/rules.mk @@ -0,0 +1 @@ +DYNAMIC_MACRO_ENABLE = yes diff --git a/keyboards/coseyfannitutti/discipline/rules.mk b/keyboards/coseyfannitutti/discipline/rules.mk index c5153c876e8a..8244ff54c05b 100644 --- a/keyboards/coseyfannitutti/discipline/rules.mk +++ b/keyboards/coseyfannitutti/discipline/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32a F_CPU = 16000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -28,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/coseyfannitutti/mullet/config.h b/keyboards/coseyfannitutti/mullet/config.h index 9d92d0839bd3..b186aa82d1af 100644 --- a/keyboards/coseyfannitutti/mullet/config.h +++ b/keyboards/coseyfannitutti/mullet/config.h @@ -118,23 +118,3 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - diff --git a/keyboards/coseyfannitutti/mullet/mullet.c b/keyboards/coseyfannitutti/mullet/mullet.c index 4f451f3dbb17..18445a6c937f 100644 --- a/keyboards/coseyfannitutti/mullet/mullet.c +++ b/keyboards/coseyfannitutti/mullet/mullet.c @@ -14,10 +14,3 @@ * along with this program. If not, see . */ #include "mullet.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} diff --git a/keyboards/coseyfannitutti/mullet/rules.mk b/keyboards/coseyfannitutti/mullet/rules.mk index 6efa76cb907e..b614f8fe1e35 100644 --- a/keyboards/coseyfannitutti/mullet/rules.mk +++ b/keyboards/coseyfannitutti/mullet/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/coseyfannitutti/mulletpad/config.h b/keyboards/coseyfannitutti/mulletpad/config.h index 782bc16e76ca..b2a930357177 100644 --- a/keyboards/coseyfannitutti/mulletpad/config.h +++ b/keyboards/coseyfannitutti/mulletpad/config.h @@ -41,7 +41,7 @@ along with this program. If not, see . * */ #define MATRIX_ROW_PINS { F4, F1, F5, F6, F7 } -#define MATRIX_COL_PINS { F0, C7, C6, B6, } +#define MATRIX_COL_PINS { F0, C7, C6, B6 } #define UNUSED_PINS /* COL2ROW, ROW2COL */ @@ -118,23 +118,3 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - diff --git a/keyboards/coseyfannitutti/mulletpad/mulletpad.c b/keyboards/coseyfannitutti/mulletpad/mulletpad.c index be335cc547cb..72bb19c3036c 100644 --- a/keyboards/coseyfannitutti/mulletpad/mulletpad.c +++ b/keyboards/coseyfannitutti/mulletpad/mulletpad.c @@ -14,10 +14,3 @@ * along with this program. If not, see . */ #include "mulletpad.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} diff --git a/keyboards/coseyfannitutti/mulletpad/rules.mk b/keyboards/coseyfannitutti/mulletpad/rules.mk index 4a4a7e1e72cd..b74d104e9f4d 100644 --- a/keyboards/coseyfannitutti/mulletpad/rules.mk +++ b/keyboards/coseyfannitutti/mulletpad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/coseyfannitutti/mysterium/config.h b/keyboards/coseyfannitutti/mysterium/config.h index 9b657d5bdafe..4e23392eec48 100644 --- a/keyboards/coseyfannitutti/mysterium/config.h +++ b/keyboards/coseyfannitutti/mysterium/config.h @@ -187,26 +187,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/coseyfannitutti/mysterium/keymaps/ansi_7u/keymap.c b/keyboards/coseyfannitutti/mysterium/keymaps/ansi_7u/keymap.c index 35487eee551c..71f357681e4f 100644 --- a/keyboards/coseyfannitutti/mysterium/keymaps/ansi_7u/keymap.c +++ b/keyboards/coseyfannitutti/mysterium/keymaps/ansi_7u/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_tkl_ansi_7u( - KC_GESC, 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_SLCK, KC_PAUS, + 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_SLCK, 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_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, diff --git a/keyboards/coseyfannitutti/mysterium/keymaps/default/keymap.c b/keyboards/coseyfannitutti/mysterium/keymaps/default/keymap.c index b9df25f347e8..e8091abbbca3 100644 --- a/keyboards/coseyfannitutti/mysterium/keymaps/default/keymap.c +++ b/keyboards/coseyfannitutti/mysterium/keymaps/default/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_tkl_ansi( - KC_GESC, 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_SLCK, KC_PAUS, + 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_SLCK, 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_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, diff --git a/keyboards/coseyfannitutti/mysterium/keymaps/iso/keymap.c b/keyboards/coseyfannitutti/mysterium/keymaps/iso/keymap.c index bad4dc2f42e6..9467b63c3f00 100644 --- a/keyboards/coseyfannitutti/mysterium/keymaps/iso/keymap.c +++ b/keyboards/coseyfannitutti/mysterium/keymaps/iso/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_tkl_iso( - KC_GESC, 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_SLCK, KC_PAUS, + 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_SLCK, 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, diff --git a/keyboards/coseyfannitutti/mysterium/keymaps/via/keymap.c b/keyboards/coseyfannitutti/mysterium/keymaps/via/keymap.c index f7baaea8fc26..a44b0158dfa6 100644 --- a/keyboards/coseyfannitutti/mysterium/keymaps/via/keymap.c +++ b/keyboards/coseyfannitutti/mysterium/keymaps/via/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_tkl_iso( - KC_GESC, 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_SLCK, KC_PAUS, + 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_SLCK, 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_ENT, KC_BSLS, diff --git a/keyboards/coseyfannitutti/mysterium/mysterium.h b/keyboards/coseyfannitutti/mysterium/mysterium.h index b705f04c0d4c..aa2e2b18da0b 100644 --- a/keyboards/coseyfannitutti/mysterium/mysterium.h +++ b/keyboards/coseyfannitutti/mysterium/mysterium.h @@ -58,16 +58,16 @@ K00, K02, K03, K04, K05, K06, K07, K08, K09, K0B, K0C, K0D, K0E, K0F, K0G, K0H, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, K1G, K1H, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2F, K2G, K2H, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K2D, K3D, \ K40, K01, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4D, K4G, \ K50, K51, K52, K56, K59, K5A, K5C, K5E, K5F, K5G, K5H \ ) \ { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, _x_, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \ + { K00, _x_, K02, K03, K04, K05, K06, K07, K08, K09, _x_, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, _x_, K1F, K1G, K1H }, \ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, _x_, K2F, K2G, K2H }, \ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, _x_, K3D, _x_, _x_, _x_, _x_ }, \ - { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, _x_, _x_, K4D, _x_, _x_, K4G, _x_ }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K01, _x_, K4D, _x_, _x_, K4G, _x_ }, \ { K50, K51, K52, _x_, _x_, _x_, K56, _x_, _x_, K59, K5A, _x_, K5C, _x_, K5E, K5F, K5G, K5H } \ } @@ -80,10 +80,10 @@ K50, K51, K52, K56, K5A, K5C, K5E, K5F, K5G, K5H \ ) \ { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, _x_, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \ + { K00, _x_, K02, K03, K04, K05, K06, K07, K08, K09, _x_, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, _x_, K1F, K1G, K1H }, \ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, _x_, K2F, K2G, K2H }, \ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, _x_, K3D, _x_, _x_, _x_, _x_ }, \ - { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, _x_, _x_, K4D, _x_, _x_, K4G, _x_ }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K01, _x_, K4D, _x_, _x_, K4G, _x_ }, \ { K50, K51, K52, _x_, _x_, _x_, K56, _x_, _x_, _x_, K5A, _x_, K5C, _x_, K5E, K5F, K5G, K5H } \ } diff --git a/keyboards/coseyfannitutti/mysterium/rules.mk b/keyboards/coseyfannitutti/mysterium/rules.mk index 65dbecf214fc..b27ac8237d0c 100644 --- a/keyboards/coseyfannitutti/mysterium/rules.mk +++ b/keyboards/coseyfannitutti/mysterium/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32a F_CPU = 16000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -28,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/coseyfannitutti/romeo/config.h b/keyboards/coseyfannitutti/romeo/config.h index 8be834db89df..f87b9ea6d188 100644 --- a/keyboards/coseyfannitutti/romeo/config.h +++ b/keyboards/coseyfannitutti/romeo/config.h @@ -190,26 +190,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/coseyfannitutti/romeo/rules.mk b/keyboards/coseyfannitutti/romeo/rules.mk index 51d0b1ef7339..c653f0c02dec 100644 --- a/keyboards/coseyfannitutti/romeo/rules.mk +++ b/keyboards/coseyfannitutti/romeo/rules.mk @@ -2,19 +2,12 @@ MCU = atmega328p # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/cospad/config.h b/keyboards/cospad/config.h deleted file mode 100644 index fd7baf1b8713..000000000000 --- a/keyboards/cospad/config.h +++ /dev/null @@ -1,223 +0,0 @@ -/* -Copyright 2020 - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4B5C // "KP" -#define PRODUCT_ID 0xB1E5 -#define DEVICE_VER 0x0001 -#define MANUFACTURER KPrepublic -#define PRODUCT Cospad - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 4 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4, D5 } -#define MATRIX_COL_PINS { F0, F1, E6, C7 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - -#define LED_NUM_LOCK_PIN B2 -#define LED_PIN_ON_STATE 0 - -#define BACKLIGHT_PIN F7 -// #define BACKLIGHT_BREATHING -#define BACKLIGHT_LEVELS 3 -#define BACKLIGHT_ON_STATE 0 - -#define RGB_DI_PIN F6 -#ifdef RGB_DI_PIN - #define RGBLED_NUM 4 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -// /*== all animations enable ==*/ - #define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -// /*== customize breathing effect ==*/ -// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -// /*==== use exp() and sin() ====*/ -// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -#endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is userful for the Windows task manager shortcut (ctrl+shift+esc). - */ -// #define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* key combination for magic key command */ -/* defined by default; to change, uncomment and set to the combination you want */ -// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP H -//#define MAGIC_KEY_HELP_ALT SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER0_ALT GRAVE -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER B -//#define MAGIC_KEY_BOOTLOADER_ALT ESC -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_EEPROM_CLEAR BSPACE -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - -/* Bootmagic Lite key configuration */ -// #define BOOTMAGIC_LITE_ROW 0 -// #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/cospad/info.json b/keyboards/cospad/info.json deleted file mode 100644 index 1cd197d3fdd9..000000000000 --- a/keyboards/cospad/info.json +++ /dev/null @@ -1,172 +0,0 @@ -{ - "keyboard_name": "Cospad", - "url": "", - "maintainer": "qmk", - "width": 4, - "height": 6, - "layouts": { - "LAYOUT_numpad_6x4": { - "key_count": 21, - "layout": [ - {"x":0, "y":0}, - {"x":1, "y":0}, - {"x":2, "y":0}, - {"x":3, "y":0}, - - {"x":0, "y":1}, - {"x":1, "y":1}, - {"x":2, "y":1}, - {"x":3, "y":1}, - - {"x":0, "y":2}, - {"x":1, "y":2}, - {"x":2, "y":2}, - - {"x":0, "y":3}, - {"x":1, "y":3}, - {"x":2, "y":3}, - {"x":3, "y":2, "h":2}, - - {"x":0, "y":4}, - {"x":1, "y":4}, - {"x":2, "y":4}, - - {"x":0, "y":5, "w":2}, - {"x":2, "y":5}, - {"x":3, "y":4, "h":2} - ] - }, - "LAYOUT_gamepad_6x4": { - "key_count": 23, - "layout": [ - {"x":0, "y":0}, - {"x":1, "y":0}, - {"x":2, "y":0}, - {"x":3, "y":0}, - - {"x":0, "y":1}, - {"x":1, "y":1}, - {"x":2, "y":1}, - {"x":3, "y":1}, - - {"x":0, "y":2}, - {"x":1, "y":2}, - {"x":2, "y":2}, - - {"x":0, "y":3}, - {"x":1, "y":3}, - {"x":2, "y":3}, - {"x":3, "y":2, "h":2}, - - {"x":0, "y":4}, - {"x":1, "y":4}, - {"x":2, "y":4}, - {"x":3, "y":4}, - - {"x":0, "y":5}, - {"x":1, "y":5}, - {"x":2, "y":5}, - {"x":3, "y":5} - ] - }, - "LAYOUT_ortho_6x4": { - "key_count": 24, - "layout": [ - {"x":0, "y":0}, - {"x":1, "y":0}, - {"x":2, "y":0}, - {"x":3, "y":0}, - - {"x":0, "y":1}, - {"x":1, "y":1}, - {"x":2, "y":1}, - {"x":3, "y":1}, - - {"x":0, "y":2}, - {"x":1, "y":2}, - {"x":2, "y":2}, - {"x":3, "y":2}, - - {"x":0, "y":3}, - {"x":1, "y":3}, - {"x":2, "y":3}, - {"x":3, "y":3}, - - {"x":0, "y":4}, - {"x":1, "y":4}, - {"x":2, "y":4}, - {"x":3, "y":4}, - - {"x":0, "y":5}, - {"x":1, "y":5}, - {"x":2, "y":5}, - {"x":3, "y":5} - ] - }, - "LAYOUT_numpad_6x4_split_plus_zero": { - "key_count": 23, - "layout": [ - {"x":0, "y":0}, - {"x":1, "y":0}, - {"x":2, "y":0}, - {"x":3, "y":0}, - - {"x":0, "y":1}, - {"x":1, "y":1}, - {"x":2, "y":1}, - {"x":3, "y":1}, - - {"x":0, "y":2}, - {"x":1, "y":2}, - {"x":2, "y":2}, - {"x":3, "y":2}, - - {"x":0, "y":3}, - {"x":1, "y":3}, - {"x":2, "y":3}, - {"x":3, "y":3}, - - {"x":0, "y":4}, - {"x":1, "y":4}, - {"x":2, "y":4}, - - {"x":0, "y":5}, - {"x":1, "y":5}, - {"x":2, "y":5}, - {"x":3, "y":4, "h":2} - ] - }, - "LAYOUT_numpad_6x4_split_zero": { - "key_count": 22, - "layout": [ - {"x":0, "y":0}, - {"x":1, "y":0}, - {"x":2, "y":0}, - {"x":3, "y":0}, - - {"x":0, "y":1}, - {"x":1, "y":1}, - {"x":2, "y":1}, - {"x":3, "y":1}, - - {"x":0, "y":2}, - {"x":1, "y":2}, - {"x":2, "y":2}, - - {"x":0, "y":3}, - {"x":1, "y":3}, - {"x":2, "y":3}, - {"x":3, "y":2, "h":2}, - - {"x":0, "y":4}, - {"x":1, "y":4}, - {"x":2, "y":4}, - - {"x":0, "y":5}, - {"x":1, "y":5}, - {"x":2, "y":5}, - {"x":3, "y":4, "h":2} - ] - } - } -} diff --git a/keyboards/cospad/keymaps/detrus/keymap.c b/keyboards/cospad/keymaps/detrus/keymap.c deleted file mode 100644 index 93f95bb01eff..000000000000 --- a/keyboards/cospad/keymaps/detrus/keymap.c +++ /dev/null @@ -1,367 +0,0 @@ -#include QMK_KEYBOARD_H -#include "led.h" -#include - -#ifdef RGBLIGHT_ENABLE -#include "rgblight.h" -#endif - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -enum cospad_layers { - _QWERTY_LAYER, - _QWERTZ_LAYER, - _COLEMA_LAYER, - _DVORAK_LAYER, - _QWERTY_LOWER_LAYER, - _QWERTZ_LOWER_LAYER, - _COLEMA_LOWER_LAYER, - _DVORAK_LOWER_LAYER, - _RAISE_LAYER, - _ALTER_LAYER, -}; - -// To switch the default layer used for the layout, there are special keycodes. -// Which onces detected below serve to switch it. -enum cospad_keycodes { - QWERTY = SAFE_RANGE, - QWERTZ, - COLEMAK, - DVORAK -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - /* Keymap _QWERTY_LAYER: Default layer - * ,-----------------------. - * | T | G | B | Alt | - * |-----|-----|-----|-----| - * | R | F | V | LOW | - * |-----|-----|-----|-----| - * | E | D | C | | - * |-----|-----|-----| Spc | - * | W | S | X | | - * |-----|-----|-----|-----| - * | Q | A | Z | RAI | - * |-----|-----|-----|-----| - * | Esc | Tab | Sft | Ctl | - * `-----------------------' - * - * And it's LOWER layer - * ,-----------------------. - * | P | ; | / | Alt | - * |-----|-----|-----|-----| - * | O | L | . | LOW | - * |-----|-----|-----|-----| - * | I | K | , | | - * |-----|-----|-----| Ent | - * | U | J | M | | - * |-----|-----|-----|-----| - * | Y | H | N | RAI | - * |-----|-----|-----|-----| - * | Esc | Tab | Sft | Ctl | - * `-----------------------' - */ - [_QWERTY_LAYER] = LAYOUT_gamepad_6x4( - KC_T, KC_G, KC_B, KC_LALT, \ - KC_R, KC_F, KC_V, MO(_QWERTY_LOWER_LAYER),\ - KC_E, KC_D, KC_C, \ - KC_W, KC_S, KC_X, KC_SPACE, \ - KC_Q, KC_A, KC_Z, MO(_RAISE_LAYER),\ - KC_GESC, KC_TAB, KC_LSFT, KC_LCTRL), - [_QWERTY_LOWER_LAYER] = LAYOUT_gamepad_6x4( - KC_P, KC_SCLN, KC_SLSH, KC_LALT, \ - KC_O, KC_L, KC_DOT, _______, \ - KC_I, KC_K, KC_COMM, \ - KC_U, KC_J, KC_M, KC_ENTER, \ - KC_Y, KC_H, KC_N, _______, \ - _______, _______, _______, _______), - - - - /* Keymap _QWERTZ_LAYER: Alternate default layer - * ,-----------------------. - * | T | G | B | Alt | - * |-----|-----|-----|-----| - * | R | F | V | LOW | - * |-----|-----|-----|-----| - * | E | D | C | | - * |-----|-----|-----| Spc | - * | W | S | X | | - * |-----|-----|-----|-----| - * | Q | A | Y | RAI | - * |-----|-----|-----|-----| - * | Esc | Tab | Sft | Ctl | - * `-----------------------' - * - * And it's LOWER layer - * ,-----------------------. - * | P | ; | / | Alt | - * |-----|-----|-----|-----| - * | O | L | > | LOW | - * |-----|-----|-----|-----| - * | I | K | < | | - * |-----|-----|-----| Ent | - * | U | J | M | | - * |-----|-----|-----|-----| - * | Z | H | N | RAI | - * |-----|-----|-----|-----| - * | Esc | Tab | Sft | Ctl | - * `-----------------------' - */ - [_QWERTZ_LAYER] = LAYOUT_gamepad_6x4( - KC_T, KC_G, KC_B, KC_LALT, \ - KC_R, KC_F, KC_V, MO(_QWERTZ_LOWER_LAYER),\ - KC_E, KC_D, KC_C, \ - KC_W, KC_S, KC_X, KC_SPACE, \ - KC_Q, KC_A, KC_Y, MO(_RAISE_LAYER),\ - KC_GESC, KC_TAB, KC_LSFT, KC_LCTRL), - [_QWERTZ_LOWER_LAYER] = LAYOUT_gamepad_6x4( - KC_P, KC_SCLN, KC_SLSH, KC_LALT, \ - KC_O, KC_L, KC_DOT, _______, \ - KC_I, KC_K, KC_COMM, \ - KC_U, KC_J, KC_M, KC_ENTER, \ - KC_Z, KC_H, KC_N, _______, \ - _______, _______, _______, _______), - - - - /* Keymap _COLEMA_LAYER: Alternate default layer - * ,-----------------------. - * | G | D | B | Alt | - * |-----|-----|-----|-----| - * | P | T | V | LOW | - * |-----|-----|-----|-----| - * | F | S | C | | - * |-----|-----|-----| Spc | - * | W | R | X | | - * |-----|-----|-----|-----| - * | Q | A | Z | RAI | - * |-----|-----|-----|-----| - * | Esc | Tab | Sft | Ctl | - * `-----------------------' - * - * And it's LOWER layer - * ,-----------------------. - * | ; | O | / | Alt | - * |-----|-----|-----|-----| - * | Y | I | . | LOW | - * |-----|-----|-----|-----| - * | U | E | , | | - * |-----|-----|-----| Ent | - * | L | N | M | | - * |-----|-----|-----|-----| - * | J | H | K | RAI | - * |-----|-----|-----|-----| - * | Esc | Tab | Sft | Ctl | - * `-----------------------' - */ - [_COLEMA_LAYER] = LAYOUT_gamepad_6x4( - KC_T, KC_D, KC_B, KC_LALT, \ - KC_R, KC_T, KC_V, MO(_COLEMA_LOWER_LAYER),\ - KC_E, KC_S, KC_C, \ - KC_W, KC_R, KC_X, KC_SPACE, \ - KC_Q, KC_A, KC_Z, MO(_RAISE_LAYER),\ - KC_GESC, KC_TAB, KC_LSFT, KC_LCTRL), - [_COLEMA_LOWER_LAYER] = LAYOUT_gamepad_6x4( - KC_SCLN, KC_O, KC_SLSH, _______, \ - KC_Y, KC_I, KC_DOT, _______, \ - KC_U, KC_E, KC_COMM, \ - KC_L, KC_N, KC_M, KC_ENTER, \ - KC_J, KC_H, KC_K, _______, \ - KC_F, KC_G, _______, _______), - - - - /* Keymap _DVORAK_LAYER: Alternate default layer - * ,-----------------------. - * | Y | I | X | Alt | - * |-----|-----|-----|-----| - * | P | U | K | LOW | - * |-----|-----|-----|-----| - * | . | E | J | | - * |-----|-----|-----| Spc | - * | , | O | Q | | - * |-----|-----|-----|-----| - * | ' | A | ; | RAI | - * |-----|-----|-----|-----| - * | Esc | Tab | Sft | Ctl | - * `-----------------------' - * - * And it's LOWER layer - * ,-----------------------. - * | L | S | Z | Alt | - * |-----|-----|-----|-----| - * | R | N | V | LOW | - * |-----|-----|-----|-----| - * | C | T | W | | - * |-----|-----|-----| Ent | - * | G | H | M | | - * |-----|-----|-----|-----| - * | F | D | B | RAI | - * |-----|-----|-----|-----| - * | Esc | Tab | Sft | Ctl | - * `-----------------------' - */ - [_DVORAK_LAYER] = LAYOUT_gamepad_6x4( - KC_Y, KC_I, KC_X, KC_LALT, \ - KC_P, KC_U, KC_K, MO(_DVORAK_LOWER_LAYER),\ - KC_DOT, KC_E, KC_J, \ - KC_COMM, KC_O, KC_A, KC_SPACE, \ - KC_QUOT, KC_A, KC_SCLN, MO(_RAISE_LAYER),\ - KC_GESC, KC_TAB, KC_LSFT, KC_LCTRL), - [_DVORAK_LOWER_LAYER] = LAYOUT_gamepad_6x4( - KC_L, KC_S, KC_Z, KC_LALT, \ - KC_R, KC_N, KC_V, _______, \ - KC_C, KC_T, KC_W, \ - KC_G, KC_H, KC_M, KC_ENTER,\ - KC_F, KC_D, KC_B, _______, \ - _______, _______, _______, _______), - - - - /* Keymap _RAISE_LAYER: Additional layer to access more - * ,-----------------------. - * | 5 | 0 | del | Alt | - * |-----|-----|-----|-----| - * | 4 | 9 | -> | LOW | - * |-----|-----|-----|-----| - * | 3 | 8 | <- | | - * |-----|-----|-----| Spc | - * | 2 | 7 | -> | | - * |-----|-----|-----|-----| - * | 1 | 6 | <- | RAI | - * |-----|-----|-----|-----| - * | Esc | Tab | Sft | Ctl | - * `-----------------------' - */ - [_RAISE_LAYER] = LAYOUT_gamepad_6x4( - KC_5, KC_0, KC_BSPC, _______, \ - KC_4, KC_9, KC_RIGHT, _______, \ - KC_3, KC_8, KC_UP, \ - KC_2, KC_7, KC_DOWN, _______, \ - KC_1, KC_6, KC_LEFT, _______, \ - _______, _______, _______, _______), - - - - /* Keymap _ALTER_LAYER: Function layer used to control the Leds - * and use media buttons - * ,----------------------------------------. - * | Val Dec | Bl Toggle | Qwertz | Super | - * |---------|------------|---------|-------| - * | Val Inc | Bl Off | Qwerty | | - * |---------|------------|---------|-------| - * | Sat Dec | Bl On | Colemak | | - * |---------|------------|---------| | - * | Sat Inc | RGB Toggle | Dvorak | | - * |---------|------------|---------|-------| - * | Hue Dec | RGB Next | Vol Dwn | | - * |---------|------------|---------|-------| - * | Hue Inc | RGB Prev | Vol Up | Reset | - * `----------------------------------------' - */ - [_ALTER_LAYER] = LAYOUT_gamepad_6x4( - RGB_VAD, BL_TOGG, QWERTZ, KC_LGUI, \ - RGB_VAI, BL_OFF, QWERTY, _______, \ - RGB_SAD, BL_ON, COLEMAK, \ - RGB_SAI, RGB_TOG, DVORAK, _______, \ - RGB_HUD, RGB_MOD, KC_VOLD, _______, \ - RGB_HUI, RGB_RMOD, KC_VOLU, RESET), -}; - -// Makes sure to update the good tri-layer if a layer changes -uint32_t layer_state_set_user(uint32_t state) { - switch (biton32(default_layer_state)) { - case _QWERTY_LAYER: - state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER); - break; - case _QWERTZ_LAYER: - state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER); - break; - case _COLEMA_LAYER: - state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER); - break; - case _DVORAK_LAYER: - state = update_tri_layer_state(state, _RAISE_LAYER, _DVORAK_LOWER_LAYER, _ALTER_LAYER); - break; - } - return state; -} - -// Makes the tri-layer -uint32_t default_layer_state_set_kb(uint32_t state) { - switch (biton32(state)) { - case _QWERTY_LAYER: - state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER); - state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER); - state = update_tri_layer_state(state, _RAISE_LAYER, _DVORAK_LOWER_LAYER, _ALTER_LAYER); - layer_move(_QWERTY_LAYER); - break; - case _QWERTZ_LAYER: - state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER); - state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER); - state = update_tri_layer_state(state, _RAISE_LAYER, _DVORAK_LOWER_LAYER, _ALTER_LAYER); - layer_move(_QWERTZ_LAYER); - break; - case _COLEMA_LAYER: - state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER); - state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER); - state = update_tri_layer_state(state, _RAISE_LAYER, _DVORAK_LOWER_LAYER, _ALTER_LAYER); - layer_move(_COLEMA_LAYER); - break; - case _DVORAK_LAYER: - state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER); - state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTZ_LOWER_LAYER, _ALTER_LAYER); - state = update_tri_layer_state(state, _RAISE_LAYER, _COLEMA_LOWER_LAYER, _ALTER_LAYER); - layer_move(_DVORAK_LAYER); - break; - } - return state; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case BL_TOGG: - if (record->event.pressed) { - cospad_bl_led_togg(); - } - return false; - case BL_ON: - if (record->event.pressed) { - cospad_bl_led_on(); - } - return false; - case BL_OFF: - if (record->event.pressed) { - cospad_bl_led_off(); - } - return false; - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY_LAYER); - print("switched to QWERTY layout\n"); - } - return false; - break; - case QWERTZ: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTZ_LAYER); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMA_LAYER); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_DVORAK_LAYER); - } - return false; - break; - default: - return true; - } -} diff --git a/keyboards/cospad/readme.md b/keyboards/cospad/readme.md deleted file mode 100644 index 9bb3dfdc0ee2..000000000000 --- a/keyboards/cospad/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -# Cospad - -A DIY keypad kit sold by KPRepublic, runs TKG natively. - -* Keyboard Maintainer: QMK Community -* Hardware Supported: Cospad PCB -* Hardware Availability: [KPrepublic on Aliexpress](https://aliexpress.com/item/cospad-Custom-Mechanical-Keyboard-Kit-up-tp-24-keys-Supports-TKG-TOOLS-Underglow-RGB-PCB-20/32818383873.html) - -Supported Layouts: - -![Numpad layouts](https://i.imgur.com/t03lXJ4.png) -![Ortholinear layouts](https://i.imgur.com/mliUcCc.png) - -Make example for this keyboard (after setting up your build environment): - - make cospad: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). diff --git a/keyboards/cospad/rules.mk b/keyboards/cospad/rules.mk deleted file mode 100644 index fd79af01f382..000000000000 --- a/keyboards/cospad/rules.mk +++ /dev/null @@ -1,32 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 - -LAYOUTS = numpad_6x4 ortho_6x4 diff --git a/keyboards/cozykeys/bloomer/bloomer.c b/keyboards/cozykeys/bloomer/bloomer.c new file mode 100644 index 000000000000..b8612504b119 --- /dev/null +++ b/keyboards/cozykeys/bloomer/bloomer.c @@ -0,0 +1,17 @@ +/* +Copyright 2021 Paul Ewing + +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 "bloomer.h" diff --git a/keyboards/cozykeys/bloomer/bloomer.h b/keyboards/cozykeys/bloomer/bloomer.h new file mode 100644 index 000000000000..f85b80889fee --- /dev/null +++ b/keyboards/cozykeys/bloomer/bloomer.h @@ -0,0 +1,23 @@ +/* +Copyright 2021 Paul Ewing + +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 + +#if defined(KEYBOARD_cozykeys_bloomer_v2) + #include "v2.h" +#elif defined(KEYBOARD_cozykeys_bloomer_v3) + #include "v3.h" +#endif diff --git a/keyboards/cozykeys/bloomer/config.h b/keyboards/cozykeys/bloomer/config.h new file mode 100644 index 000000000000..0f285b4d0ed1 --- /dev/null +++ b/keyboards/cozykeys/bloomer/config.h @@ -0,0 +1,53 @@ +/* +Copyright 2021 Paul Ewing + +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 "config_common.h" + +// USB Device descriptor parameter +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x1191 +#define MANUFACTURER CozyKeys +#define PRODUCT Bloomer + +// Key matrix size +#define MATRIX_ROWS 6 +#define MATRIX_COLS 15 + +// Enable RGB backlight +#ifdef RGBLIGHT_ENABLE +#define RGB_DI_PIN D7 +#define RGBLED_NUM 12 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGBLIGHT_LIMIT_VAL 255 +#define RGBLIGHT_SLEEP +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_BREATHE_TABLE_SIZE 256 +#define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 +#define RGBLIGHT_EFFECT_BREATHE_MAX 255 +#endif + +// Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed +#define DEBOUNCE 5 + +// Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap +#define LOCKING_SUPPORT_ENABLE +// Locking resynchronize hack +#define LOCKING_RESYNC_ENABLE + diff --git a/keyboards/cozykeys/bloomer/readme.md b/keyboards/cozykeys/bloomer/readme.md new file mode 100644 index 000000000000..0232dff1a5f8 --- /dev/null +++ b/keyboards/cozykeys/bloomer/readme.md @@ -0,0 +1,23 @@ +# Bloomer + +![Bloomer](http://assets.cozykeys.xyz/images/keyboards/bloomer/bloomer-angle-2_800x800.jpg) + +- Keyboard Maintainer: [Paul Ewing](https://github.com/pcewing) +- Hardware Supported: ItsyBitsy 32u4 5V 16MHz +- Hardware Availability: [Bloomer Repository](https://github.com/cozykeys/bloomer) + +Make example for this keyboard (after setting up your build environment): + + make cozykeys/bloomer/v2:default # for Bloomer v2 + make cozykeys/bloomer/v3:default # for Bloomer v3 + +Flashing example for this keyboard: + + make cozykeys/bloomer/v2:default:flash # for Bloomer v2 + make cozykeys/bloomer/v3:default:flash # for Bloomer v3 + +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). + +## Flashing the Firmware + +See the QMK docs for handwiring a keyboard; there is a section with instructions on how to flash the *.hex* file to the Teensy 2.0 controller. diff --git a/keyboards/cozykeys/bloomer/v2/config.h b/keyboards/cozykeys/bloomer/v2/config.h new file mode 100644 index 000000000000..49fac4d25412 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v2/config.h @@ -0,0 +1,29 @@ +/* +Copyright 2021 Paul Ewing + +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 "config_common.h" + +// USB Device descriptor parameter +#define DEVICE_VER 0x0002 + +// Keyboard Matrix Assignments +#define MATRIX_ROW_PINS { D0, D1, D3, D2, D4, B2 } +#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B1, B4, C6, E6, B5, B6, B7, D6, C7 } +#define UNUSED_PINS +#define DIODE_DIRECTION COL2ROW + diff --git a/keyboards/cozykeys/bloomer/v2/info.json b/keyboards/cozykeys/bloomer/v2/info.json new file mode 100644 index 000000000000..113515811777 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v2/info.json @@ -0,0 +1,100 @@ +{ + "keyboard_name": "Bloomer", + "url": "https://github.com/cozykeys/bloomer", + "maintainer": "pcewing", + "width": 15, + "height": 6, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "k00", "x": 0.868, "y": 0.0, "r": 10 }, + { "label": "k01", "x": 1.853, "y": 0.174, "r": 10 }, + { "label": "k02", "x": 2.856, "y": 0.244, "r": 10 }, + { "label": "k03", "x": 3.896, "y": 0.107, "r": 10 }, + { "label": "k04", "x": 4.826, "y": 0.591, "r": 10 }, + { "label": "k05", "x": 5.765, "y": 1.023, "r": 10 }, + { "label": "k06", "x": 7.031, "y": 0.724, "r": 0 }, + { "label": "k07", "x": 8.031, "y": 0.46, "r": 0 }, + { "label": "k08", "x": 9.031, "y": 0.724, "r": 0 }, + { "label": "k09", "x": 10.297, "y": 1.023, "r": -10 }, + { "label": "k10", "x": 11.236, "y": 0.591, "r": -10 }, + { "label": "k11", "x": 12.166, "y": 0.107, "r": -10 }, + { "label": "k12", "x": 13.196, "y": 0.192, "r": -10 }, + { "label": "k13", "x": 14.208, "y": 0.174, "r": -10 }, + { "label": "k14", "x": 15.193, "y": 0.0, "r": -10 }, + { "label": "k15", "x": 0.695, "y": 0.985, "r": 10 }, + { "label": "k16", "x": 1.679, "y": 1.158, "r": 10 }, + { "label": "k17", "x": 2.682, "y": 1.229, "r": 10 }, + { "label": "k18", "x": 3.722, "y": 1.092, "r": 10 }, + { "label": "k19", "x": 4.652, "y": 1.576, "r": 10 }, + { "label": "k20", "x": 5.591, "y": 2.008, "r": 10 }, + { "label": "k21", "x": 7.031, "y": 2.249, "r": 0 }, + { "label": "k22", "x": 8.031, "y": 1.985, "r": 0 }, + { "label": "k23", "x": 9.031, "y": 2.249, "r": 0 }, + { "label": "k24", "x": 10.47, "y": 2.008, "r": -10 }, + { "label": "k25", "x": 11.409, "y": 1.576, "r": -10 }, + { "label": "k26", "x": 12.34, "y": 1.092, "r": -10 }, + { "label": "k27", "x": 13.37, "y": 1.177, "r": -10 }, + { "label": "k28", "x": 14.382, "y": 1.158, "r": -10 }, + { "label": "k29", "x": 15.367, "y": 0.985, "r": -10 }, + { "label": "k30", "x": 0.521, "y": 1.97, "r": 10 }, + { "label": "k31", "x": 1.506, "y": 2.143, "r": 10 }, + { "label": "k32", "x": 2.509, "y": 2.214, "r": 10 }, + { "label": "k33", "x": 3.548, "y": 2.077, "r": 10 }, + { "label": "k34", "x": 4.478, "y": 2.561, "r": 10 }, + { "label": "k35", "x": 5.418, "y": 2.993, "r": 10 }, + { "label": "k36", "x": 7.031, "y": 3.249, "r": 0 }, + { "label": "k37", "x": 8.031, "y": 2.985, "r": 0 }, + { "label": "k38", "x": 9.031, "y": 3.249, "r": 0 }, + { "label": "k39", "x": 10.644, "y": 2.993, "r": -10 }, + { "label": "k40", "x": 11.583, "y": 2.561, "r": -10 }, + { "label": "k41", "x": 12.513, "y": 2.077, "r": -10 }, + { "label": "k42", "x": 13.544, "y": 2.162, "r": -10 }, + { "label": "k43", "x": 14.556, "y": 2.143, "r": -10 }, + { "label": "k44", "x": 15.541, "y": 1.97, "r": -10 }, + { "label": "k45", "x": 0.347, "y": 2.954, "r": 10 }, + { "label": "k46", "x": 1.332, "y": 3.128, "r": 10 }, + { "label": "k47", "x": 2.335, "y": 3.198, "r": 10 }, + { "label": "k48", "x": 3.375, "y": 3.062, "r": 10 }, + { "label": "k49", "x": 4.305, "y": 3.546, "r": 10 }, + { "label": "k50", "x": 5.244, "y": 3.978, "r": 10 }, + { "label": "k51", "x": 10.818, "y": 3.978, "r": -10 }, + { "label": "k52", "x": 11.757, "y": 3.546, "r": -10 }, + { "label": "k53", "x": 12.687, "y": 3.062, "r": -10 }, + { "label": "k54", "x": 13.717, "y": 3.147, "r": -10 }, + { "label": "k55", "x": 14.729, "y": 3.128, "r": -10 }, + { "label": "k56", "x": 15.714, "y": 2.954, "r": -10 }, + { "label": "k57", "x": 0.174, "y": 3.939, "r": 10 }, + { "label": "k58", "x": 1.158, "y": 4.113, "r": 10 }, + { "label": "k59", "x": 2.161, "y": 4.183, "r": 10 }, + { "label": "k60", "x": 3.201, "y": 4.047, "r": 10 }, + { "label": "k61", "x": 4.131, "y": 4.53, "r": 10 }, + { "label": "k62", "x": 5.07, "y": 4.963, "r": 10 }, + { "label": "k63", "x": 7.031, "y": 4.984, "r": 0 }, + { "label": "k64", "x": 8.031, "y": 4.51, "r": 0 }, + { "label": "k65", "x": 9.031, "y": 4.984, "r": 0 }, + { "label": "k66", "x": 10.991, "y": 4.963, "r": -10 }, + { "label": "k67", "x": 11.93, "y": 4.53, "r": -10 }, + { "label": "k68", "x": 12.861, "y": 4.047, "r": -10 }, + { "label": "k69", "x": 13.891, "y": 4.131, "r": -10 }, + { "label": "k70", "x": 14.903, "y": 4.113, "r": -10 }, + { "label": "k71", "x": 15.888, "y": 3.939, "r": -10 }, + { "label": "k72", "x": 0.0, "y": 4.924, "r": 10 }, + { "label": "k73", "x": 0.985, "y": 5.098, "r": 10 }, + { "label": "k74", "x": 1.988, "y": 5.168, "r": 10 }, + { "label": "k75", "x": 3.027, "y": 5.031, "r": 10 }, + { "label": "k76", "x": 3.957, "y": 5.515, "r": 10 }, + { "label": "k77", "x": 4.897, "y": 5.947, "r": 10 }, + { "label": "k78", "x": 5.883, "y": 6.115, "r": 10 }, + { "label": "k79", "x": 8.031, "y": 5.51, "r": 0 }, + { "label": "k80", "x": 10.179, "y": 6.115, "r": -10 }, + { "label": "k81", "x": 11.165, "y": 5.947, "r": -10 }, + { "label": "k82", "x": 12.104, "y": 5.515, "r": -10 }, + { "label": "k83", "x": 13.034, "y": 5.031, "r": -10 }, + { "label": "k84", "x": 14.065, "y": 5.116, "r": -10 }, + { "label": "k85", "x": 15.077, "y": 5.098, "r": -10 }, + { "label": "k86", "x": 16.062, "y": 4.924, "r": -10 } + ] + } + } +} diff --git a/keyboards/cozykeys/bloomer/v2/keymaps/default/keymap.c b/keyboards/cozykeys/bloomer/v2/keymaps/default/keymap.c new file mode 100644 index 000000000000..e5eeaa85305f --- /dev/null +++ b/keyboards/cozykeys/bloomer/v2/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +/* +Copyright 2021 Paul Ewing + +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 bloomer_layers { + DEFAULT, + FN +}; + +#define RGB_N RGB_MOD // Rotate to next RGB mode +#define RGB_P RGB_RMOD // Rotate to next RGB mode + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[DEFAULT] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PSCR, KC_SLCK, KC_PAUS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_INS, KC_HOME, KC_PGUP, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_CAPS, KC_END, KC_PGDN, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LEFT, KC_UP, KC_RGHT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_GRV, MO(FN), KC_BSPC, KC_DEL, KC_DOWN, KC_ENT, KC_SPC, KC_LBRC, KC_RBRC, KC_RALT, KC_RGUI, KC_RCTL +), + +[FN] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, + _______, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, KC_GRV, KC_LBRC, KC_RBRC, _______, _______, + _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, RGB_P, RGB_TOG, RGB_N, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_M_P, _______, _______, _______, _______, _______, _______, _______ +) + +}; + diff --git a/keyboards/cozykeys/bloomer/v2/keymaps/default/readme.md b/keyboards/cozykeys/bloomer/v2/keymaps/default/readme.md new file mode 100644 index 000000000000..7595b5aa3594 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v2/keymaps/default/readme.md @@ -0,0 +1,10 @@ +# CozyKeys Bloomer v2 Default Keymap + +## Default Layer + +![Default Layer](https://raw.githubusercontent.com/cozykeys/bloomer/master/keymaps/v2/default/bloomer_layer_default.svg) + +## Function Layer + +![Function Layer](https://raw.githubusercontent.com/cozykeys/bloomer/master/keymaps/v2/default/bloomer_layer_fn.svg) + diff --git a/keyboards/cozykeys/bloomer/v2/readme.md b/keyboards/cozykeys/bloomer/v2/readme.md new file mode 100644 index 000000000000..ac4ab9c93e25 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v2/readme.md @@ -0,0 +1,5 @@ +# CozyKeys Bloomer v2 + +![Bloomer](http://assets.cozykeys.xyz/images/keyboards/bloomer/bloomer-angle-2_800x800.jpg) + +For more information on the Bloomer and how to build/flash the firmware, see the [readme.md](../readme.md) in the parent directory. diff --git a/keyboards/cozykeys/bloomer/v2/rules.mk b/keyboards/cozykeys/bloomer/v2/rules.mk new file mode 100644 index 000000000000..5efc225b8a66 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v2/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/cozykeys/bloomer/v2/v2.c b/keyboards/cozykeys/bloomer/v2/v2.c new file mode 100644 index 000000000000..47dd09373442 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v2/v2.c @@ -0,0 +1,17 @@ +/* +Copyright 2021 Paul Ewing + +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 "v2.h" diff --git a/keyboards/cozykeys/bloomer/v2/v2.h b/keyboards/cozykeys/bloomer/v2/v2.h new file mode 100644 index 000000000000..c6575cd4e62e --- /dev/null +++ b/keyboards/cozykeys/bloomer/v2/v2.h @@ -0,0 +1,38 @@ +/* +Copyright 2021 Paul Ewing + +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 "quantum.h" + +#define ___ KC_NO + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, \ + k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43, k44, \ + k45, k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, k56, \ + k57, k58, k59, k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k70, k71, \ + k72, k73, k74, k75, k76, k77, k78, k79, k80, k81, k82, k83, k84, k85, k86 \ +) \ +{ /* c00 c01 c02 c03 c04 c05 c06 c07 c08 c09 c10 c11 c12 c13 c14 */ \ +/* r0 */ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14 }, \ +/* r1 */ { k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \ +/* r2 */ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43, k44 }, \ +/* r3 */ { k45, k46, k47, k48, k49, k50, ___, ___, ___, k51, k52, k53, k54, k55, k56 }, \ +/* r4 */ { k57, k58, k59, k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k70, k71 }, \ +/* r5 */ { k72, k73, k74, k75, k76, k77, k78, k79, k80, k81, k82, k83, k84, k85, k86 }, \ +} diff --git a/keyboards/cozykeys/bloomer/v3/config.h b/keyboards/cozykeys/bloomer/v3/config.h new file mode 100644 index 000000000000..4bb291be5660 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v3/config.h @@ -0,0 +1,29 @@ +/* +Copyright 2021 Paul Ewing + +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 "config_common.h" + +// USB Device descriptor parameter +#define DEVICE_VER 0x0003 + +// Keyboard Matrix Assignments +#define MATRIX_ROW_PINS { D0, D1, D3, D2, D4, B2 } +#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B1, B4, C6, E6, B5, B6, B7, D6, C7 } +#define UNUSED_PINS +#define DIODE_DIRECTION COL2ROW + diff --git a/keyboards/cozykeys/bloomer/v3/info.json b/keyboards/cozykeys/bloomer/v3/info.json new file mode 100644 index 000000000000..6d547acf1fec --- /dev/null +++ b/keyboards/cozykeys/bloomer/v3/info.json @@ -0,0 +1,103 @@ +{ + "keyboard_name": "Bloomer", + "url": "https://github.com/cozykeys/bloomer", + "maintainer": "pcewing", + "width": 15, + "height": 6, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "k00", "x": 0.868, "y": 0.0, "r": 10 }, + { "label": "k01", "x": 1.853, "y": 0.174, "r": 10 }, + { "label": "k02", "x": 2.856, "y": 0.244, "r": 10 }, + { "label": "k03", "x": 3.896, "y": 0.107, "r": 10 }, + { "label": "k04", "x": 4.826, "y": 0.591, "r": 10 }, + { "label": "k05", "x": 5.765, "y": 1.023, "r": 10 }, + { "label": "k06", "x": 10.507, "y": 1.023, "r": -10 }, + { "label": "k07", "x": 11.446, "y": 0.591, "r": -10 }, + { "label": "k08", "x": 12.376, "y": 0.107, "r": -10 }, + { "label": "k09", "x": 13.406, "y": 0.192, "r": -10 }, + { "label": "k10", "x": 14.418, "y": 0.174, "r": -10 }, + { "label": "k11", "x": 15.403, "y": 0.0, "r": -10 }, + { "label": "k12", "x": 0.695, "y": 0.985, "r": 10 }, + { "label": "k13", "x": 1.679, "y": 1.158, "r": 10 }, + { "label": "k14", "x": 2.682, "y": 1.229, "r": 10 }, + { "label": "k15", "x": 3.722, "y": 1.092, "r": 10 }, + { "label": "k16", "x": 4.652, "y": 1.576, "r": 10 }, + { "label": "k17", "x": 5.591, "y": 2.008, "r": 10 }, + { "label": "k18", "x": 10.68, "y": 2.008, "r": -10 }, + { "label": "k19", "x": 11.619, "y": 1.576, "r": -10 }, + { "label": "k20", "x": 12.55, "y": 1.092, "r": -10 }, + { "label": "k21", "x": 13.58, "y": 1.177, "r": -10 }, + { "label": "k22", "x": 14.592, "y": 1.158, "r": -10 }, + { "label": "k23", "x": 15.577, "y": 0.985, "r": -10 }, + { "label": "k24", "x": 0.521, "y": 1.97, "r": 10 }, + { "label": "k25", "x": 1.506, "y": 2.143, "r": 10 }, + { "label": "k26", "x": 2.509, "y": 2.214, "r": 10 }, + { "label": "k27", "x": 3.548, "y": 2.077, "r": 10 }, + { "label": "k28", "x": 4.478, "y": 2.561, "r": 10 }, + { "label": "k29", "x": 5.418, "y": 2.993, "r": 10 }, + { "label": "k30", "x": 6.402, "y": 3.167, "r": 10 }, + { "label": "k31", "x": 7.636, "y": 3.217, "r": 0 }, + { "label": "k32", "x": 8.636, "y": 3.217, "r": 0 }, + { "label": "k33", "x": 9.869, "y": 3.167, "r": -10 }, + { "label": "k34", "x": 10.854, "y": 2.993, "r": -10 }, + { "label": "k35", "x": 11.793, "y": 2.561, "r": -10 }, + { "label": "k36", "x": 12.723, "y": 2.077, "r": -10 }, + { "label": "k37", "x": 13.754, "y": 2.162, "r": -10 }, + { "label": "k38", "x": 14.766, "y": 2.143, "r": -10 }, + { "label": "k39", "x": 15.75, "y": 1.97, "r": -10 }, + { "label": "k40", "x": 0.347, "y": 2.954, "r": 10 }, + { "label": "k41", "x": 1.332, "y": 3.128, "r": 10 }, + { "label": "k42", "x": 2.335, "y": 3.198, "r": 10 }, + { "label": "k43", "x": 3.375, "y": 3.062, "r": 10 }, + { "label": "k44", "x": 4.305, "y": 3.546, "r": 10 }, + { "label": "k45", "x": 5.244, "y": 3.978, "r": 10 }, + { "label": "k46", "x": 6.229, "y": 4.151, "r": 10 }, + { "label": "k47", "x": 7.636, "y": 4.217, "r": 0 }, + { "label": "k48", "x": 8.636, "y": 4.217, "r": 0 }, + { "label": "k49", "x": 10.043, "y": 4.151, "r": -10 }, + { "label": "k50", "x": 11.027, "y": 3.978, "r": -10 }, + { "label": "k51", "x": 11.967, "y": 3.546, "r": -10 }, + { "label": "k52", "x": 12.897, "y": 3.062, "r": -10 }, + { "label": "k53", "x": 13.927, "y": 3.147, "r": -10 }, + { "label": "k54", "x": 14.939, "y": 3.128, "r": -10 }, + { "label": "k55", "x": 15.924, "y": 2.954, "r": -10 }, + { "label": "k56", "x": 0.174, "y": 3.939, "r": 10 }, + { "label": "k57", "x": 1.158, "y": 4.113, "r": 10 }, + { "label": "k58", "x": 2.161, "y": 4.183, "r": 10 }, + { "label": "k59", "x": 3.201, "y": 4.047, "r": 10 }, + { "label": "k60", "x": 4.131, "y": 4.53, "r": 10 }, + { "label": "k61", "x": 5.07, "y": 4.963, "r": 10 }, + { "label": "k62", "x": 6.055, "y": 5.136, "r": 10 }, + { "label": "k63", "x": 7.136, "y": 5.217, "r": 0 }, + { "label": "k64", "x": 8.136, "y": 5.217, "r": 0 }, + { "label": "k65", "x": 9.136, "y": 5.217, "r": 0 }, + { "label": "k66", "x": 10.216, "y": 5.136, "r": -10 }, + { "label": "k67", "x": 11.201, "y": 4.963, "r": -10 }, + { "label": "k68", "x": 12.14, "y": 4.53, "r": -10 }, + { "label": "k69", "x": 13.07, "y": 4.047, "r": -10 }, + { "label": "k70", "x": 14.101, "y": 4.131, "r": -10 }, + { "label": "k71", "x": 15.113, "y": 4.113, "r": -10 }, + { "label": "k72", "x": 16.098, "y": 3.939, "r": -10 }, + { "label": "k73", "x": 0.0, "y": 4.924, "r": 10 }, + { "label": "k74", "x": 0.985, "y": 5.098, "r": 10 }, + { "label": "k75", "x": 1.988, "y": 5.168, "r": 10 }, + { "label": "k76", "x": 3.027, "y": 5.031, "r": 10 }, + { "label": "k77", "x": 3.957, "y": 5.515, "r": 10 }, + { "label": "k78", "x": 4.897, "y": 5.947, "r": 10 }, + { "label": "k79", "x": 5.881, "y": 6.121, "r": 10 }, + { "label": "k80", "x": 7.136, "y": 6.217, "r": 0 }, + { "label": "k81", "x": 8.136, "y": 6.217, "r": 0 }, + { "label": "k82", "x": 9.136, "y": 6.217, "r": 0 }, + { "label": "k83", "x": 10.39, "y": 6.121, "r": -10 }, + { "label": "k84", "x": 11.375, "y": 5.947, "r": -10 }, + { "label": "k85", "x": 12.314, "y": 5.515, "r": -10 }, + { "label": "k86", "x": 13.244, "y": 5.031, "r": -10 }, + { "label": "k87", "x": 14.274, "y": 5.116, "r": -10 }, + { "label": "k88", "x": 15.287, "y": 5.098, "r": -10 }, + { "label": "k89", "x": 16.271, "y": 4.924, "r": -10 } + ] + } + } +} diff --git a/keyboards/cozykeys/bloomer/v3/keymaps/default/keymap.c b/keyboards/cozykeys/bloomer/v3/keymaps/default/keymap.c new file mode 100644 index 000000000000..7aad9cec61ff --- /dev/null +++ b/keyboards/cozykeys/bloomer/v3/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +/* +Copyright 2021 Paul Ewing + +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 bloomer_layers { + DEFAULT, + FN, +}; + +#define RGB_N RGB_MOD // Rotate to next RGB mode +#define RGB_P RGB_RMOD // Rotate to next RGB mode + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[DEFAULT] = 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_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_PSCR, KC_PAUS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_PGUP, KC_SLCK, KC_NLCK, KC_HOME, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGDN, KC_CAPS, KC_UP, KC_INS, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_GRV, MO(FN), KC_BSPC, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT, KC_SPC, KC_LBRC, KC_RBRC, KC_RALT, KC_RGUI, KC_RCTL +), + +[FN] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, RGB_M_P, _______, _______, KC_GRV, KC_LBRC, KC_RBRC, _______, _______, + _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, RGB_P, RGB_N, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______ +), + +}; + diff --git a/keyboards/cozykeys/bloomer/v3/keymaps/default/readme.md b/keyboards/cozykeys/bloomer/v3/keymaps/default/readme.md new file mode 100644 index 000000000000..b8a37f24c534 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v3/keymaps/default/readme.md @@ -0,0 +1,10 @@ +# CozyKeys Bloomer v3 Default Keymap + +## Default Layer + +![Default Layer](https://raw.githubusercontent.com/cozykeys/bloomer/master/keymaps/v3/default/bloomer_layer_default.svg) + +## Function Layer + +![Function Layer](https://raw.githubusercontent.com/cozykeys/bloomer/master/keymaps/v3/default/bloomer_layer_fn.svg) + diff --git a/keyboards/cozykeys/bloomer/v3/readme.md b/keyboards/cozykeys/bloomer/v3/readme.md new file mode 100644 index 000000000000..b056b321d27d --- /dev/null +++ b/keyboards/cozykeys/bloomer/v3/readme.md @@ -0,0 +1,5 @@ +# CozyKeys Bloomer v3 + +![Bloomer](http://assets.cozykeys.xyz/images/keyboards/bloomer-v3/bloomer-v3-angle_800x800.jpg) + +For more information on the Bloomer and how to build/flash the firmware, see the [readme.md](../readme.md) in the parent directory. diff --git a/keyboards/cozykeys/bloomer/v3/rules.mk b/keyboards/cozykeys/bloomer/v3/rules.mk new file mode 100644 index 000000000000..88ed45787ea6 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v3/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/cozykeys/bloomer/v3/v3.c b/keyboards/cozykeys/bloomer/v3/v3.c new file mode 100644 index 000000000000..080cacd79108 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v3/v3.c @@ -0,0 +1,17 @@ +/* +Copyright 2021 Paul Ewing + +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 "v3.h" diff --git a/keyboards/cozykeys/bloomer/v3/v3.h b/keyboards/cozykeys/bloomer/v3/v3.h new file mode 100644 index 000000000000..3515ef84ce52 --- /dev/null +++ b/keyboards/cozykeys/bloomer/v3/v3.h @@ -0,0 +1,36 @@ +/* +Copyright 2021 Paul Ewing + +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 "quantum.h" + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \ + k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \ + k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, \ + k56, k57, k58, k59, k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k70, k71, k72, \ + k73, k74, k75, k76, k77, k78, k79, k80, k81, k82, k83, k84, k85, k86, k87, k88, k89 \ +) \ +{ /* c00 c01 c02 c03 c04 c05 c06 c07 c08 c09 c10 c11 c12 c13 c14 */ \ +/* r0 */ { k00, k01, k02, k03, k04, k05, k31, k63, k32, k06, k07, k08, k09, k10, k11 }, \ +/* r1 */ { k12, k13, k14, k15, k16, k17, k47, k80, k48, k18, k19, k20, k21, k22, k23 }, \ +/* r2 */ { k24, k25, k26, k27, k28, k29, k30, k64, k33, k34, k35, k36, k37, k38, k39 }, \ +/* r3 */ { k40, k41, k42, k43, k44, k45, k46, k81, k49, k50, k51, k52, k53, k54, k55 }, \ +/* r4 */ { k56, k57, k58, k59, k60, k61, k62, k65, k66, k67, k68, k69, k70, k71, k72 }, \ +/* r5 */ { k73, k74, k75, k76, k77, k78, k79, k82, k83, k84, k85, k86, k87, k88, k89 } \ +} diff --git a/keyboards/cozykeys/speedo/v2/rules.mk b/keyboards/cozykeys/speedo/v2/rules.mk index 53127aafba50..9cd5ae0f81ea 100644 --- a/keyboards/cozykeys/speedo/v2/rules.mk +++ b/keyboards/cozykeys/speedo/v2/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/cozykeys/speedo/v3/rules.mk b/keyboards/cozykeys/speedo/v3/rules.mk index 15eb4da91910..d9ccdee93646 100644 --- a/keyboards/cozykeys/speedo/v3/rules.mk +++ b/keyboards/cozykeys/speedo/v3/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/craftwalk/rules.mk b/keyboards/craftwalk/rules.mk index f5b6bc72c0c8..7f15b7d03b5c 100644 --- a/keyboards/craftwalk/rules.mk +++ b/keyboards/craftwalk/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/crawlpad/keymaps/default/keymap.c b/keyboards/crawlpad/keymaps/default/keymap.c index ec985739f11a..c81bb56bd5d1 100755 --- a/keyboards/crawlpad/keymaps/default/keymap.c +++ b/keyboards/crawlpad/keymaps/default/keymap.c @@ -76,40 +76,3 @@ void matrix_init_user(void) { DDRB |= (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7); PORTB &= ~(1 << 4) & ~(1 << 5) & ~(1 << 6) & ~(1 << 7); } - -void matrix_scan_user(void) { -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/crawlpad/rules.mk b/keyboards/crawlpad/rules.mk index 1d4019b7af3b..9e36e965f4ef 100755 --- a/keyboards/crawlpad/rules.mk +++ b/keyboards/crawlpad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/crazy_keyboard_68/rules.mk b/keyboards/crazy_keyboard_68/rules.mk index 5a51c94e72e3..f7a193ca56db 100644 --- a/keyboards/crazy_keyboard_68/rules.mk +++ b/keyboards/crazy_keyboard_68/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/crbn/crbn.c b/keyboards/crbn/crbn.c index 1da726b9c708..866f2d4265bf 100644 --- a/keyboards/crbn/crbn.c +++ b/keyboards/crbn/crbn.c @@ -15,10 +15,12 @@ */ #include "crbn.h" /* Encoder setting. only one encoder despite 4 possible spots */ -__attribute__((weak)) void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) return false; if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } + return true; } diff --git a/keyboards/crbn/keymaps/via/keymap.c b/keyboards/crbn/keymaps/via/keymap.c new file mode 100644 index 000000000000..91880d93e8e3 --- /dev/null +++ b/keyboards/crbn/keymaps/via/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2021 Ivan Organista + * + * 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] = { + + LAYOUT_crbn_1x2u( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT), + + LAYOUT_crbn_1x2u( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LSFT(KC_NUHS), LSFT(KC_NUBS), KC_HOME, KC_END, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY), + + LAYOUT_crbn_1x2u( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY), + + LAYOUT_crbn_1x2u( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/custommk/genesis/keymaps/via/rules.mk b/keyboards/crbn/keymaps/via/rules.mk similarity index 100% rename from keyboards/custommk/genesis/keymaps/via/rules.mk rename to keyboards/crbn/keymaps/via/rules.mk diff --git a/keyboards/crbn/rules.mk b/keyboards/crbn/rules.mk index 9e47502904b9..3c181d522f68 100644 --- a/keyboards/crbn/rules.mk +++ b/keyboards/crbn/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/crin/config.h b/keyboards/crin/config.h new file mode 100644 index 000000000000..4561a05df0ac --- /dev/null +++ b/keyboards/crin/config.h @@ -0,0 +1,38 @@ +/* +Copyright 2020 KnoblesseOblige + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6400 +#define PRODUCT_ID 0xCC11 +#define DEVICE_VER 0x0001 + +#define MANUFACTURER Bachoo +#define PRODUCT Crin + +#define MATRIX_ROWS 5 +#define MATRIX_COLS 17 + +#define MATRIX_COL_PINS { B11, B10, B2, B1, B0, A7, A6, A5, A4, A3, B9, B8, B7, B6, B5, B4, B3 } +#define MATRIX_ROW_PINS { A9, A8, B15, B14, B13 } +#define DIODE_DIRECTION COL2ROW + +#define DEBOUNCE 5 + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/crin/crin.c b/keyboards/crin/crin.c new file mode 100644 index 000000000000..dd7d9383083b --- /dev/null +++ b/keyboards/crin/crin.c @@ -0,0 +1,18 @@ +/* +Copyright 2020 KnoblesseOblige + +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 "crin.h" diff --git a/keyboards/crin/crin.h b/keyboards/crin/crin.h new file mode 100644 index 000000000000..160fc0b393a4 --- /dev/null +++ b/keyboards/crin/crin.h @@ -0,0 +1,112 @@ +/* +Copyright 2020 KnoblesseOblige + +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 "quantum.h" + +#define kxx KC_NO + +/* + * ┌───────┐ + * 2u Backspace │0d │ + * └───────┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │2d │ │0e │0f │0g │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ┌─────┐ + * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ │1e │1f │1g │ │ │ ISO + * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┐2c │ Enter + * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │ │1d │ │ + * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ ┌─┴───┴────┤ + * │30 │ │30 │41 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │ │3f │ │3b │ 2.75u RShift + * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐ └──────────┘ + * │40 │42 │43 │ 45 │49 │4a │4b │4d │ │4e │4f │4g │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ + * │40 │42 │43 │ 45 │4a │4b │4d │ Tsangan + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + */ + +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2d, k0e, k0f, k0g, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k41, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3f, \ + k40, k42, k43, k45, k49, k4a, k4b, k4d, k4e, k4f, k4g \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, kxx, kxx, kxx }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, kxx, k3d, kxx, k3f, kxx }, \ + { k40, k41, k42, k43, kxx, k45, kxx, kxx, kxx, k49, k4a, k4b, kxx, k4d, k4e, k4f, k4g } \ +} + +#define LAYOUT_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3f, \ + k40, k42, k43, k45, k49, k4a, k4b, k4d, k4e, k4f, k4g \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, kxx, kxx, kxx, kxx }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, kxx, kxx, kxx, k3f, kxx }, \ + { k40, kxx, k42, k43, kxx, k45, kxx, kxx, kxx, k49, k4a, k4b, kxx, k4d, k4e, k4f, k4g } \ +} + +#define LAYOUT_ansi_tsangan( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3f, \ + k40, k42, k43, k45, k4a, k4b, k4d, k4e, k4f, k4g \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, kxx, kxx, kxx, kxx }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, kxx, kxx, kxx, k3f, kxx }, \ + { k40, kxx, k42, k43, kxx, k45, kxx, kxx, kxx, kxx, k4a, k4b, kxx, k4d, k4e, k4f, k4g } \ +} + +#define LAYOUT_iso( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, k1f, k1g, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k1d, k2c, \ + k30, k41, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3f, \ + k40, k42, k43, k45, k49, k4a, k4b, k4d, k4e, k4f, k4g \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, kxx, kxx, kxx, kxx }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, kxx, kxx, kxx, k3f, kxx }, \ + { k40, k41, k42, k43, kxx, k45, kxx, kxx, kxx, k49, k4a, k4b, kxx, k4d, k4e, k4f, k4g } \ +} + +#define LAYOUT_iso_tsangan( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, k1f, k1g, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k1d, k2c, \ + k30, k41, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3f, \ + k40, k42, k43, k45, k4a, k4b, k4d, k4e, k4f, k4g \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, kxx, kxx, kxx, kxx }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, kxx, kxx, kxx, k3f, kxx }, \ + { k40, k41, k42, k43, kxx, k45, kxx, kxx, kxx, kxx, k4a, k4b, kxx, k4d, k4e, k4f, k4g } \ +} diff --git a/keyboards/crin/info.json b/keyboards/crin/info.json new file mode 100644 index 000000000000..a21e3ec395ae --- /dev/null +++ b/keyboards/crin/info.json @@ -0,0 +1,411 @@ +{ + "keyboard_name": "Crin", + "url": "https://bachoo.com", + "maintainer": "KnoblesseOblige", + "width": 18.5, + "height": 5, + "layout_aliases": { + "LAYOUT_default": "LAYOUT_all", + "LAYOUT_tsangan": "LAYOUT_ansi_tsangan" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"|", "x":13, "y":0}, + {"label":"~", "x":14, "y":0}, + {"label":"Insert", "x":15.5, "y":0}, + {"label":"Home", "x":16.5, "y":0}, + {"label":"Page Up", "x":17.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"Delete", "x":15.5, "y":1}, + {"label":"End", "x":16.5, "y":1}, + {"label":"Page Down", "x":17.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Fn", "x":14, "y":3}, + {"label":"Up", "x":16.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"GUI", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, + {"label":"Left", "x":15.5, "y":4}, + {"label":"Down", "x":16.5, "y":4}, + {"label":"Right", "x":17.5, "y":4} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Insert", "x":15.5, "y":0}, + {"label":"Home", "x":16.5, "y":0}, + {"label":"Page Up", "x":17.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"Delete", "x":15.5, "y":1}, + {"label":"End", "x":16.5, "y":1}, + {"label":"Page Down", "x":17.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + {"label":"Up", "x":16.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"GUI", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, + {"label":"Left", "x":15.5, "y":4}, + {"label":"Down", "x":16.5, "y":4}, + {"label":"Right", "x":17.5, "y":4} + ] + }, + "LAYOUT_ansi_tsangan": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Insert", "x":15.5, "y":0}, + {"label":"Home", "x":16.5, "y":0}, + {"label":"Page Up", "x":17.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"Delete", "x":15.5, "y":1}, + {"label":"End", "x":16.5, "y":1}, + {"label":"Page Down", "x":17.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + {"label":"Up", "x":16.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"GUI", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Alt", "x":11, "y":4, "w":1.5}, + {"label":"GUI", "x":12.5, "y":4}, + {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}, + {"label":"Left", "x":15.5, "y":4}, + {"label":"Down", "x":16.5, "y":4}, + {"label":"Right", "x":17.5, "y":4} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Insert", "x":15.5, "y":0}, + {"label":"Home", "x":16.5, "y":0}, + {"label":"Page Up", "x":17.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"Delete", "x":15.5, "y":1}, + {"label":"End", "x":16.5, "y":1}, + {"label":"Page Down", "x":17.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"ISO~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + {"label":"Up", "x":16.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"GUI", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, + {"label":"Left", "x":15.5, "y":4}, + {"label":"Down", "x":16.5, "y":4}, + {"label":"Right", "x":17.5, "y":4} + ] + }, + "LAYOUT_iso_tsangan": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"Insert", "x":15.5, "y":0}, + {"label":"Home", "x":16.5, "y":0}, + {"label":"Page Up", "x":17.5, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"Delete", "x":15.5, "y":1}, + {"label":"End", "x":16.5, "y":1}, + {"label":"Page Down", "x":17.5, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"ISO~", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"|", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + {"label":"Up", "x":16.5, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"GUI", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"label":"Space", "x":4, "y":4, "w":7}, + {"label":"Alt", "x":11, "y":4, "w":1.5}, + {"label":"GUI", "x":12.5, "y":4}, + {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}, + {"label":"Left", "x":15.5, "y":4}, + {"label":"Down", "x":16.5, "y":4}, + {"label":"Right", "x":17.5, "y":4} + ] + } + } +} diff --git a/keyboards/crin/keymaps/default/keymap.c b/keyboards/crin/keymaps/default/keymap.c new file mode 100644 index 000000000000..87bae7da65d4 --- /dev/null +++ b/keyboards/crin/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +/* +Copyright 2012,2013 Jun Wako + +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 + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_ansi_tsangan( + 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_ansi_tsangan( + 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_PSCR, KC_SLCK, KC_PAUS, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_FN2] = LAYOUT_ansi_tsangan( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_FN3] = LAYOUT_ansi_tsangan( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/crin/keymaps/via/keymap.c b/keyboards/crin/keymaps/via/keymap.c new file mode 100644 index 000000000000..87bae7da65d4 --- /dev/null +++ b/keyboards/crin/keymaps/via/keymap.c @@ -0,0 +1,63 @@ +/* +Copyright 2012,2013 Jun Wako + +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 + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1, + _FN2, + _FN3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_ansi_tsangan( + 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_ansi_tsangan( + 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_PSCR, KC_SLCK, KC_PAUS, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_FN2] = LAYOUT_ansi_tsangan( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_FN3] = LAYOUT_ansi_tsangan( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/crin/keymaps/via/rules.mk b/keyboards/crin/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/crin/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/crin/readme.md b/keyboards/crin/readme.md new file mode 100644 index 000000000000..1912cee1f78e --- /dev/null +++ b/keyboards/crin/readme.md @@ -0,0 +1,24 @@ +# Bachoo Crin + +Crin is an F-rowless 65%. + +* Keyboard Maintainer: [KnoblesseOblige](https://github.com/KnoblesseOblige) +* Hardware Supported: STM32F303CBT +* Hardware Availability: TBD + +Make example for this keyboard (after setting up your build environment): + + make crin:default + +Flashing example for this keyboard: + + make crin:default:flash + +To reset the board into bootloader mode, do one of the following: + +* Hold Esc while plugging the PCB in, if Bootmagic Lite is enabled (also erases persistent settings). +* Press the RESET keycode, if programmed on the keymap (Fn+R by default). +* Slide the switch just below the reset button to the left and press the reset button. + * Please note that you must slide it back to the right for the PCB to boot QMK again. + +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/crin/rules.mk b/keyboards/crin/rules.mk new file mode 100644 index 000000000000..efc33163f83c --- /dev/null +++ b/keyboards/crin/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = STM32F303 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/crkbd/config.h b/keyboards/crkbd/config.h index d7a3474733af..f354efbb47d7 100644 --- a/keyboards/crkbd/config.h +++ b/keyboards/crkbd/config.h @@ -21,20 +21,22 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0x4653 -#define PRODUCT_ID 0x0001 -#define DEVICE_VER 0x0001 -#define MANUFACTURER foostan -#define PRODUCT Corne +#define VENDOR_ID 0x4653 +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0001 +#define MANUFACTURER foostan +#define PRODUCT Corne /* key matrix size */ // Rows are doubled-up -#define MATRIX_ROWS 8 -#define MATRIX_COLS 6 -#define MATRIX_ROW_PINS { D4, C6, D7, E6 } +#define MATRIX_ROWS 8 +#define MATRIX_COLS 6 +#define MATRIX_ROW_PINS \ + { D4, C6, D7, E6 } // wiring of each half -#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 } +#define MATRIX_COL_PINS \ + { F4, F5, F6, F7, B1, B3 } // #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order /* define if matrix has ghost */ @@ -51,7 +53,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ //#define LOCKING_RESYNC_ENABLE - /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/crkbd/crkbd.c b/keyboards/crkbd/crkbd.c index ab1381a39b06..6220c9822a57 100644 --- a/keyboards/crkbd/crkbd.c +++ b/keyboards/crkbd/crkbd.c @@ -20,7 +20,7 @@ along with this program. If not, see . #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { // Left {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}, {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, @@ -33,4 +33,3 @@ const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}} }; #endif - diff --git a/keyboards/crkbd/keymaps/armand1m/config.h b/keyboards/crkbd/keymaps/armand1m/config.h index df109a347bdd..405d3296403e 100644 --- a/keyboards/crkbd/keymaps/armand1m/config.h +++ b/keyboards/crkbd/keymaps/armand1m/config.h @@ -45,4 +45,7 @@ along with this program. If not, see . #define RGBLIGHT_VAL_STEP 17 #endif +#define ONESHOT_TAP_TOGGLE 3 /* Tapping this number of times holds the key until tapped once again. */ +#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */ + #define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/armand1m/keymap.c b/keyboards/crkbd/keymaps/armand1m/keymap.c index da68cc2defbe..a37862fad38a 100644 --- a/keyboards/crkbd/keymaps/armand1m/keymap.c +++ b/keyboards/crkbd/keymaps/armand1m/keymap.c @@ -19,48 +19,59 @@ along with this program. If not, see . #include QMK_KEYBOARD_H +enum custom_keycodes { + ARROW_FUNCTION = SAFE_RANGE +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case ARROW_FUNCTION: + if (record->event.pressed) { + SEND_STRING("() => {}"); + } else { + SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_ENTER)); + } + return false; + } + + return true; +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LT(1, KC_ESC), LT(2, KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, MT(MOD_LCTL, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RCTL, KC_SLSH), KC_RSFT, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LALT, LGUI(KC_SPACE), LGUI_T(KC_SPC), MT(MOD_RSFT, KC_ENT), LT(2, KC_BSPC), KC_RALT - //`--------------------------' '--------------------------´ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + LT(1, KC_ESC), LT(2, KC_A), LT(3, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + OSM(MOD_LSFT), MT(MOD_LCTL, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RCTL, KC_SLSH), OSM(MOD_RSFT), + KC_LALT, LGUI(KC_SPACE), LGUI_T(KC_SPC), MT(MOD_RSFT, KC_ENT), MO(2), KC_RALT ), [1] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' '--------------------------´ + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ ), [2] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ - //`--------------------------' '--------------------------´ - ) + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, ARROW_FUNCTION, KC_LT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_GT, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT_split_3x6_3( + _______, XXXXXXX, XXXXXXX, XXXXXXX, LALT(LSFT(KC_0)), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LGUI(LSFT(KC_4)), XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LGUI(KC_MINS), LGUI(KC_PLUS), XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______ + ), }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_master) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand + + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand } return rotation; } @@ -83,37 +94,37 @@ void render_bootmagic_status(bool status) { void oled_render_amsterdam_flag(void) { // 'Flag_of_Amsterdam', 128x32px static const char PROGMEM amsterdam_flag[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf0, 0xe0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, - 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, - 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, - 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, - 0x3f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, - 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, - 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, - 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x0f, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf0, 0xe0, 0xc0, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf0, 0xe0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0x3f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, + 0xff, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0x7f, 0x3f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x0f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x03, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; oled_write_raw_P(amsterdam_flag, sizeof(amsterdam_flag)); @@ -122,4 +133,4 @@ void oled_render_amsterdam_flag(void) { void oled_task_user(void) { oled_render_amsterdam_flag(); } -#endif // OLED_DRIVER_ENABLE +#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/armand1m/readme.md b/keyboards/crkbd/keymaps/armand1m/readme.md index 11479263bf40..0d10ae17d0a0 100644 --- a/keyboards/crkbd/keymaps/armand1m/readme.md +++ b/keyboards/crkbd/keymaps/armand1m/readme.md @@ -1,6 +1,6 @@ # armand1m crkbd layout -This is the personal layout for [@armand1m](https://github.com/armand1m) +This is the personal layout for [@armand1m](https://go.d1m.dev/github) This layout is heavily inspired in my personal Moonlander layout, optimized for my own personal usage. @@ -8,6 +8,35 @@ As of the date of this writing, my environment runs OS X Big Sur with yabai and I am a huge fan of ModTaps, so this layout will contain some of those to allow for a better experience in such a small keyboard like the crkbd. +## Layout + +You can find `json` files for http://www.keyboard-layout-editor.com/ in the keymap folder. + +Here are some screenshots for convenience: + +Base Layer:
+Base Layer + +Numbers Layer:
+Numbers Layer + +Symbols Layer:
+Symbols Layer + +## Choices + +Every keymap is pretty unique and tailored to suit it's main creators needs. Here are some of my choices for the keys and their explanations: + + - Left thumb acts as Space when tapping but as Command when holding: this makes my life so much easier in OS X. Having command reachable all the time just feels right to me and Mod Taps help me a lot on this. + + - Right thumb acts as Enter when tapping but as Right Shift when holding: this is more of an experiment. I usually use shift on my pinkies. It is an interesting feature but I often forget about it. + + - Esc lives in the home row, before A. It also acts as a layer toggle to the numbers layer when held. Having the LT to the numbers layer here allows me to actually reach the number 1 pretty nicely and other numbers on the left hand pretty easily. + + - Keys on the home row are used to switch to layers, so "A" goes to layer 2 when held. I started making this in the Moonlander and migrated the practice, but still sometimes I use the MO 2 on the right thumb. + + - One Shot Keys are enabled for the shifts on the pinkies. If you press it twice: it will lock on shift until pressed again (pretty much like caps lock). These are handy when you're typing and just don't want to hold shift to have a capitalized word. + ## Usage In case you have `qmk` installed: diff --git a/keyboards/crkbd/keymaps/armand1m/rules.mk b/keyboards/crkbd/keymaps/armand1m/rules.mk index 9444b88d51a0..d34d066ded93 100644 --- a/keyboards/crkbd/keymaps/armand1m/rules.mk +++ b/keyboards/crkbd/keymaps/armand1m/rules.mk @@ -1 +1,2 @@ -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/curry/rules.mk b/keyboards/crkbd/keymaps/curry/rules.mk index a75335782d36..fc0e7e1924aa 100644 --- a/keyboards/crkbd/keymaps/curry/rules.mk +++ b/keyboards/crkbd/keymaps/curry/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no CONSOLE_ENABLE = no COMMAND_ENABLE = no @@ -10,7 +10,7 @@ COMMAND_ENABLE = no RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes BOOTLOADER = atmel-dfu SPLIT_TRANSPORT = mirror diff --git a/keyboards/crkbd/keymaps/davidrambo/config.h b/keyboards/crkbd/keymaps/davidrambo/config.h new file mode 100644 index 000000000000..82057151d3cf --- /dev/null +++ b/keyboards/crkbd/keymaps/davidrambo/config.h @@ -0,0 +1,84 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 USE_MATRIX_I2C + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define RGBLIGHT_SPLIT + +//#define SSD1306OLED + +#define TAPPING_TERM 200 +#define PERMISSIVE_HOLD + +#ifdef RGB_MATRIX_ENABLE + #define RGB_MATRIX_STARTUP_HUE 231 + #define RGB_MATRIX_KEYPRESSES // reacts to keypresses + #define RGB_MATRIX_TYPING_MEATMAP_DECREASE_DELAY_MS 50 + // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) + // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + // # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) + // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. + #define RGB_MATRIX_HUE_STEP 8 + #define RGB_MATRIX_SAT_STEP 8 + #define RGB_MATRIX_VAL_STEP 8 + #define RGB_MATRIX_SPD_STEP 10 + + /* Disable the animations you don't want/need. You will need to disable a good number of these * + * because they take up a lot of space. Disable until you can successfully compile your firmware. */ + #define DISABLE_RGB_MATRIX_ALPHAS_MODS + #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define DISABLE_RGB_MATRIX_BREATHING + #define DISABLE_RGB_MATRIX_CYCLE_ALL + #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN + #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL + #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define DISABLE_RGB_MATRIX_DUAL_BEACON + #define DISABLE_RGB_MATRIX_RAINBOW_BEACON + #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define DISABLE_RGB_MATRIX_RAINDROPS + #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + // # define DISABLE_RGB_MATRIX_TYPING_HEATMAP + #define DISABLE_RGB_MATRIX_DIGITAL_RAIN + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define DISABLE_RGB_MATRIX_SPLASH + #define DISABLE_RGB_MATRIX_MULTISPLASH + #define DISABLE_RGB_MATRIX_SOLID_SPLASH + #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif diff --git a/keyboards/crkbd/keymaps/davidrambo/keymap.c b/keyboards/crkbd/keymaps/davidrambo/keymap.c new file mode 100644 index 000000000000..6e9779522079 --- /dev/null +++ b/keyboards/crkbd/keymaps/davidrambo/keymap.c @@ -0,0 +1,126 @@ +/* Copyright 2021 David Rambo + * + * 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 + +//extern uint8_t is_master; + + +enum custom_layers { + _COLEMAK, + _SYMBOL, + _NAVIGATION, + _FKEYS, +}; + +//keycode shorthands +#define SYM MO(1) +#define NAV LT(2, KC_ESC) +#define FKEY MO(3) + +//aliases for clarity in layering +#define SftEnt SFT_T(KC_ENT) // Shift when held, Enter when tapped +#define BSCTL LCTL_T(KC_BSPC) // Ctrl when held, Backspace when tapped +#define CTAB LCTL(KC_TAB) +#define ATAB LALT(KC_TAB) + +//aliases for Navigation layer +#define CBSPC LCTL(KC_BSPC) // delete whole word +#define C_CL LCTL(KC_LEFT) // move cursor one word back +#define C_CR LCTL(KC_RGHT) // move cursor one word forward + +//internet browser tab shortcuts and window swapping +#define CTLPGDN LCTL(KC_PGDN) +#define CTLPGUP LCTL(KC_PGUP) + +#define G_GRV LGUI(KC_GRV) +#define SftEnt SFT_T(KC_ENT) + +enum custom_keycodes { + PLACEHOLDER = SAFE_RANGE, + SET_RGB, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_COLEMAK] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O , KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LALT, KC_LGUI, BSCTL, KC_SPC, SYM , FKEY + //`--------------------------' `--------------------------' + + ), + + [_SYMBOL] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_LBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL , + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_HOME, KC_END, _______, _______, _______, KC_GRV, KC_MINS, KC_PGUP, _______, _______, _______, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, KC_PGDN + //`--------------------------' `--------------------------' + ), + + [_NAVIGATION] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + _______, _______, _______, _______, _______, _______, CTAB , C_CL , KC_UP, C_CR , KC_DEL, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT , KC_DOWN, KC_RGHT, CTLPGDN, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RESET, _______, _______, _______, _______, _______, ATAB , CBSPC , KC_HOME, KC_END, G_GRV , _______, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [_FKEYS] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_TOG, SET_RGB, _______, _______, _______, _______, _______, _______, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, RGB_MOD, RGB_M_P, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______, _______, _______, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + //`--------------------------' `--------------------------' + ) +}; + +void keyboard_post_init_user(void) { +// rgb_matrix_sethsv(191, 43, 81); + rgblight_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP); +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + switch (keycode) { + + case SET_RGB: + if (record->event.pressed) { + rgb_matrix_sethsv_noeeprom(18, 86, 95); + } + return false; + break; + + } + return true; +} diff --git a/keyboards/crkbd/keymaps/davidrambo/readme.md b/keyboards/crkbd/keymaps/davidrambo/readme.md new file mode 100644 index 000000000000..e8ce162b64ef --- /dev/null +++ b/keyboards/crkbd/keymaps/davidrambo/readme.md @@ -0,0 +1 @@ +This is my Corne keymap, which uses Colemak and shortcuts for Linux and Windows. diff --git a/keyboards/crkbd/keymaps/davidrambo/rules.mk b/keyboards/crkbd/keymaps/davidrambo/rules.mk new file mode 100644 index 000000000000..782b689f4204 --- /dev/null +++ b/keyboards/crkbd/keymaps/davidrambo/rules.mk @@ -0,0 +1,3 @@ +RGBLIGHT_ENABLE = no +RGB_MATRIX_ENABLE = yes +BOOTLOADER = atmel-dfu diff --git a/keyboards/crkbd/keymaps/default/keymap.c b/keyboards/crkbd/keymaps/default/keymap.c index 27e3c8406117..88d40ee4073f 100644 --- a/keyboards/crkbd/keymaps/default/keymap.c +++ b/keyboards/crkbd/keymaps/default/keymap.c @@ -17,6 +17,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H +#include const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_split_3x6_3( @@ -69,9 +70,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_master) { + if (!is_keyboard_master()) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand } return rotation; @@ -157,7 +158,7 @@ void oled_render_logo(void) { } void oled_task_user(void) { - if (is_master) { + if (is_keyboard_master()) { oled_render_layer_state(); oled_render_keylog(); } else { @@ -171,4 +172,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } -#endif // OLED_DRIVER_ENABLE +#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/default/rules.mk b/keyboards/crkbd/keymaps/default/rules.mk index 9444b88d51a0..d34d066ded93 100644 --- a/keyboards/crkbd/keymaps/default/rules.mk +++ b/keyboards/crkbd/keymaps/default/rules.mk @@ -1 +1,2 @@ -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/devdev/config.h b/keyboards/crkbd/keymaps/devdev/config.h new file mode 100644 index 000000000000..c858f8f2d09e --- /dev/null +++ b/keyboards/crkbd/keymaps/devdev/config.h @@ -0,0 +1,117 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2021 Dane Evans + + +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 USE_MATRIX_I2C + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define CUSTOM_FONT + +#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 200 + +#define RGBLIGHT_SLEEP +// +#define RGBLIGHT_LAYERS + +#ifdef RGBLIGHT_ENABLE + #undef RGBLED_NUM + + //#define RGBLIGHT_ANIMATIONS + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT + //#define RGBLIGHT_EFFECT_CHRISTMAS + //#define RGBLIGHT_EFFECT_STATIC_GRADIENT + //#define RGBLIGHT_EFFECT_RGB_TEST + //#define RGBLIGHT_EFFECT_ALTERNATING + //#define RGBLIGHT_EFFECT_TWINKLE + + //#define RGBLED_NUM 54 + //#define RGBLED_SPLIT 27 + //#define RGBLED_SPLIT { 27, 27 } // haven't figured out how to use this yet + + #define RGBLED_NUM 27 + #define RGBLIGHT_LIMIT_VAL 120 + #define RGBLIGHT_HUE_STEP 10 + #define RGBLIGHT_SAT_STEP 17 + #define RGBLIGHT_VAL_STEP 17 +#endif + +#ifdef RGB_MATRIX_ENABLE +# define RGB_MATRIX_KEYPRESSES // reacts to keypresses +// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) +// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) +// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. + +#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_GRADIENT_LEFT_RIGHT + +# define RGB_MATRIX_HUE_STEP 8 +# define RGB_MATRIX_SAT_STEP 8 +# define RGB_MATRIX_VAL_STEP 8 +# define RGB_MATRIX_SPD_STEP 10 + +/* Disable the animations you don't want/need. You will need to disable a good number of these * + * because they take up a lot of space. Disable until you can successfully compile your firmware. */ + # define DISABLE_RGB_MATRIX_ALPHAS_MODS +// # define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN +// # define DISABLE_RGB_MATRIX_BREATHING +// # define DISABLE_RGB_MATRIX_CYCLE_ALL +// # define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +// # define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN +// # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN +// # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +// # define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +// # define DISABLE_RGB_MATRIX_DUAL_BEACON +// # define DISABLE_RGB_MATRIX_RAINBOW_BEACON +// # define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS +// # define DISABLE_RGB_MATRIX_RAINDROPS +// # define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + # define DISABLE_RGB_MATRIX_TYPING_HEATMAP +// # define DISABLE_RGB_MATRIX_DIGITAL_RAIN +// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE +// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + # define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// # define DISABLE_RGB_MATRIX_SPLASH +// # define DISABLE_RGB_MATRIX_MULTISPLASH +// # define DISABLE_RGB_MATRIX_SOLID_SPLASH +// # define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH +#endif diff --git a/keyboards/crkbd/keymaps/devdev/keymap.c b/keyboards/crkbd/keymaps/devdev/keymap.c new file mode 100644 index 000000000000..aa4d39a25383 --- /dev/null +++ b/keyboards/crkbd/keymaps/devdev/keymap.c @@ -0,0 +1,410 @@ +/* Copyright 2020 Dane Evans + * + * 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 . + */ + +// CRKBD + +#include QMK_KEYBOARD_H + + +char layer_state_str[24]; + + + enum userspace_layers { + _DEFAULTS = 0, + _COLEMAK = 0, + _COLEMAKDH, + _QWERTY, + _NUM, + _SYM, + _COMMAND, + _NUMPAD, + _SWITCH, + _MOVE, + +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // colemak + [_COLEMAK] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + LT(_NUMPAD,KC_TAB), KC_Q, KC_W, KC_F, KC_P, KC_G, LT(_SWITCH,KC_J), KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I,LT(_NUMPAD,KC_O),KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(_NUM), KC_SPC, KC_ENT, MO(_SYM), KC_LALT + //`--------------------------' `--------------------------' + ), + + // colemak DH + [_COLEMAKDH] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + LT(_NUMPAD,KC_TAB), KC_Q, KC_W, KC_F, KC_P, KC_B, LT(_SWITCH,KC_J), KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I,LT(_NUMPAD,KC_O),KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(_NUM), KC_SPC, KC_ENT, MO(_SYM), KC_LALT + //`--------------------------' `--------------------------' + ), + + // qwerty + [_QWERTY] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, LT(_SWITCH,KC_Y), KC_U, KC_I, KC_O, KC_P, KC_TRNS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_NUMPAD,KC_SCLN), KC_TRNS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + //`--------------------------' `--------------------------' + ), + + + + // numbers - L thumb + [_NUM] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_PGUP, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_DEL, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_WH_D, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_COMMAND), KC_TRNS + //`--------------------------' `--------------------------' + ), + + // symbols - R thumb + [_SYM] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_TRNS, MO(_COMMAND), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + //`--------------------------' `--------------------------' + ), + + // commands - both thumbs + [_COMMAND] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, DF(1), DF(0), C(G(KC_LEFT)), KC_NO, KC_NO, C(G(KC_RGHT)), KC_NO, KC_NO, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, DF(2), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + //`--------------------------' `--------------------------' + ), + + // numpad + [_NUMPAD] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + LT(0,KC_NO), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_CIRC, KC_P7, KC_P8, KC_P9, KC_ASTR, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_P4, KC_P5, KC_P6, KC_EQL, KC_DEL, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PLUS, KC_P1, KC_P2, KC_P3, KC_SLSH, KC_NO, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + OSM(MOD_MEH), KC_NO, KC_TRNS, KC_ENT, KC_P0, KC_PDOT + //`--------------------------' `--------------------------' + ), + + // layer switcher + [_SWITCH] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + TO(0), TO(1), TO(2), TO(3), TO(4), TO(5), KC_NO, TO(7), KC_NO, KC_NO, KC_NO, RESET, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_NO, KC_NO, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EEP_RST, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_SYSTEM_SLEEP, KC_NO, KC_BRID, 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 + //`--------------------------' `--------------------------' + + ), + + // amovement + [_MOVE] = LAYOUT( + //,-----------------------------------------------------. ,-----------------------------------------------------. + LT(0,KC_NO), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_ENT, KC_RGHT, KC_NO, KC_NO, KC_NO, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_APP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_DOWN, KC_PGDN, KC_DEL, KC_NO, KC_NO, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO + //`--------------------------' `--------------------------' + ) + +}; + + +// it appears that these are different to the board numbering. +// when you specify n here, it lightss up n+1 on the board diagram - actually may be an entirely different pattern + +// _QWERTY, +// Light on inner column and underglow +const rgblight_segment_t PROGMEM layer_qwerty_lights[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_AZURE} +); + +// _COLEMAKDH, +// Light on inner column and underglow +const rgblight_segment_t PROGMEM layer_colemakdh_lights[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_RED} +); + +// _NUM, +// Light on inner column and underglow +const rgblight_segment_t PROGMEM layer_num_lights[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_TEAL} +); +// _SYMBOL, +// Light on inner column and underglow +const rgblight_segment_t PROGMEM layer_symbol_lights[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_BLUE} +); +// _COMMAND, +// Light on inner column and underglow +const rgblight_segment_t PROGMEM layer_command_lights[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_PURPLE} +); + + +//_NUMPAD +//havent worked out how to do each side individually either +const rgblight_segment_t PROGMEM layer_numpad_lights[] = RGBLIGHT_LAYER_SEGMENTS( +{0, 10, HSV_ORANGE} +); +const rgblight_segment_t PROGMEM layer_numpad_rh_lights[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_ORANGE}, + {10, 5, HSV_BLUE}, + {15, 3, HSV_BLUE}, + {18, 3, HSV_BLUE} +); + +// _MOVE, +// Light on inner column and underglow +const rgblight_segment_t PROGMEM layer_move_lights[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 10, HSV_PINK} +); + +// _SWITCHER // light up top row +const rgblight_segment_t PROGMEM layer_switcher_lights[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 6, HSV_GREEN}, + {9, 2, HSV_GREEN}, + {17, 2, HSV_GREEN}, + {23, 2, HSV_GREEN} +); + + +// Now define the array of layers. Later layers take precedence +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + layer_qwerty_lights, + layer_colemakdh_lights, + layer_num_lights,// overrides layer 1 + layer_symbol_lights, + layer_command_lights, + layer_numpad_lights, + layer_numpad_rh_lights, + layer_move_lights, + layer_switcher_lights // Overrides other layers +); + +void keyboard_post_init_user(void) { + // Enable the LED layers + rgblight_layers = my_rgb_layers; + rgblight_mode(10);// haven't found a way to set this in a more useful way + +} + + +layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_QWERTY)); + rgblight_set_layer_state(1, layer_state_cmp(state, _DEFAULTS) && layer_state_cmp(default_layer_state,_QWERTY)); + + rgblight_set_layer_state(2, layer_state_cmp(state, _NUM)); + rgblight_set_layer_state(3, layer_state_cmp(state, _SYM)); + rgblight_set_layer_state(4, layer_state_cmp(state, _COMMAND)); + rgblight_set_layer_state(5, layer_state_cmp(state, _NUMPAD)); + if (!is_keyboard_master()) + rgblight_set_layer_state(6, layer_state_cmp(state, _NUMPAD)); + rgblight_set_layer_state(7, layer_state_cmp(state, _MOVE)); + rgblight_set_layer_state(8, layer_state_cmp(state, _SWITCH)); + return state; +} + +/* +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(0, led_state.caps_lock); + return true; +} +*/ + + + +//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + return rotation; +} +// When add source files to SRC in rules.mk, you can use functions. +const char *read_layer_state(void); +const char *read_logo(void); +void set_keylog(uint16_t keycode, keyrecord_t *record); +const char *read_keylog(void); +const char *read_keylogs(void); + + +const char *read_mode_icon(bool swap); +// const char *read_host_led_state(void); +// void set_timelog(void); +// const char *read_timelog(void); + + +void oled_render_layer_state(void) { + char string [24]; + switch (get_highest_layer(default_layer_state|layer_state)) + { + case _QWERTY: + oled_write_ln_P(PSTR("Layer: QWERTY"),false); + break; + case _COLEMAK: + oled_write_ln_P(PSTR("Layer: COLEMAK"),false); + break; + case _COLEMAKDH: + oled_write_ln_P(PSTR("Layer: COLEMAKDH"),false); + break; + case _NUM: + oled_write_ln_P(PSTR("Layer: Numbers"),false); + break; + case _SYM: + oled_write_ln_P(PSTR("Layer: Symbols"),false); + break; + case _COMMAND: + oled_write_ln_P(PSTR("Layer: Command"),false); + break; + case _NUMPAD: + oled_write_ln_P(PSTR("Layer: Numpad"),false); + break; + case _MOVE: + oled_write_ln_P(PSTR("Layer: Movement"),false); + break; + case _SWITCH: + oled_write_ln_P(PSTR("Layer: Layer Switch"),false); + break; + default: + snprintf(string, sizeof(string), "%ld",layer_state); + oled_write_P(PSTR("Layer: Undef-"),false); + oled_write_ln(string, false); + } + } + +/* +void matrix_render_user(struct CharacterMatrix *matrix) { + if (has_usb()) { + // If you want to change the display of OLED, you need to change here + matrix_write_ln(matrix, read_layer_state()); + matrix_write_ln(matrix, read_keylog()); + //matrix_write_ln(matrix, read_keylogs()); + //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); + //matrix_write_ln(matrix, read_host_led_state()); + //matrix_write_ln(matrix, read_timelog()); + } else { + matrix_write(matrix, read_logo()); + } +} +*/ + +char keylog_str[24] = {}; +const char code_to_name[60] = { + ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', + 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', + '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; + +void set_keylog(uint16_t keycode, keyrecord_t *record) { + char name = ' '; + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || + (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } + if (keycode < 60) { + name = code_to_name[keycode]; + } + + // update keylog + snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", + record->event.key.row, record->event.key.col, + keycode, name); +} + +void oled_render_keylog(void) { + oled_write(keylog_str, false); +} + +void render_bootmagic_status(bool status) { + /* Show Ctrl-Gui Swap options */ + static const char PROGMEM logo[][2][3] = { + {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, + {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, + }; + if (status) { + oled_write_ln_P(logo[0][0], false); + oled_write_ln_P(logo[0][1], false); + } else { + oled_write_ln_P(logo[1][0], false); + oled_write_ln_P(logo[1][1], false); + } +} + +void oled_render_logo(void) { + static const char PROGMEM crkbd_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, + 0}; + oled_write_P(crkbd_logo, false); +} + +void oled_task_user(void) { + if (is_master) { + oled_render_layer_state(); + oled_render_keylog(); + } else { + oled_render_logo(); + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + set_keylog(keycode, record); + } + return true; +} +#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/devdev/rules.mk b/keyboards/crkbd/keymaps/devdev/rules.mk new file mode 100644 index 000000000000..4aaf22fd0495 --- /dev/null +++ b/keyboards/crkbd/keymaps/devdev/rules.mk @@ -0,0 +1,5 @@ +MOUSEKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes +RGBLIGHT_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c index a2e799e198b1..11690b0294a4 100644 --- a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c +++ b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c @@ -1,15 +1,10 @@ #include QMK_KEYBOARD_H -#include "split_util.h" - -extern keymap_config_t keymap_config; #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings extern rgblight_config_t rgblight_config; #endif -extern uint8_t is_master; - #define LOWER MO(_LOWER) #define RAISE MO(_RAISE) #define ESC_CTL LCTL_T(KC_ESC) @@ -26,7 +21,7 @@ enum crkbd_layers { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DVORAK] = LAYOUT( \ + [_DVORAK] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------. ,-----------------------------------------------. KC_TAB, KC_QUOT,KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,\ //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| @@ -39,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), - [_LOWER] = LAYOUT( \ + [_LOWER] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------. ,-----------------------------------------------. KC_TILD,KC_EXLM, KC_AT, KC_HASH, KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RIGHT,KC_RPRN,\ //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| @@ -51,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`-----------------------' `----------------------' ), - [_RAISE] = LAYOUT( \ + [_RAISE] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------. ,-----------------------------------------------. KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,KC_RIGHT, KC_0, \ //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| @@ -63,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`-----------------------' `----------------------' ), - [_ADJUST] = LAYOUT( \ + [_ADJUST] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------. ,-----------------------------------------------. RGB_TOG,RGB_HUI,RGB_SAI,RGB_VAI,_______,RGB_M_T, _______,_______,_______,_______,KC_RIGHT,_______,\ //|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| @@ -76,13 +71,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!isLeftHand) + if (!is_keyboard_left()) return OLED_ROTATION_180; // flips the display 180 to see it from my side return rotation; } diff --git a/keyboards/crkbd/keymaps/dsanchezseco/rules.mk b/keyboards/crkbd/keymaps/dsanchezseco/rules.mk index 0de8069718f5..161517dd8553 100644 --- a/keyboards/crkbd/keymaps/dsanchezseco/rules.mk +++ b/keyboards/crkbd/keymaps/dsanchezseco/rules.mk @@ -3,7 +3,7 @@ SRC += ./logo_reader.c # enable OLED displays -OLED_DRIVER_ENABLE = no +OLED_ENABLE = no # enable media keys EXTRAKEY_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/edvorakjp/config.h b/keyboards/crkbd/keymaps/edvorakjp/config.h index b8662aca092d..8787ba88d3bf 100644 --- a/keyboards/crkbd/keymaps/edvorakjp/config.h +++ b/keyboards/crkbd/keymaps/edvorakjp/config.h @@ -1,25 +1,25 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H +#pragma once /* Select hand configuration */ -// #define MASTER_LEFT -#define MASTER_RIGHT +#define MASTER_LEFT +// #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED #define SWAP_SCLN // #define TAPPING_FORCE_HOLD #define TAPPING_TERM 300 #define IGNORE_MOD_TAP_INTERRUPT -#undef RGBLED_NUM -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 100 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 +#ifdef RGBLIGHT_ENABLE +# undef RGBLED_NUM +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLED_NUM 27 +# define RGBLIGHT_LIMIT_VAL 100 +# define RGBLIGHT_HUE_STEP 10 +# define RGBLIGHT_SAT_STEP 17 +# define RGBLIGHT_VAL_STEP 17 +#endif // RGBLIGHT_ENABLE -#endif // CONFIG_USER_H +#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/edvorakjp/keymap.c b/keyboards/crkbd/keymaps/edvorakjp/keymap.c index 32001f22daad..5e56da61a938 100644 --- a/keyboards/crkbd/keymaps/edvorakjp/keymap.c +++ b/keyboards/crkbd/keymaps/edvorakjp/keymap.c @@ -1,9 +1,6 @@ #include QMK_KEYBOARD_H #ifdef PROTOCOL_LUFA - #include "split_util.h" -#endif -#ifdef SSD1306OLED - #include "oled.h" +# include "split_util.h" #endif #include "edvorakjp.h" @@ -14,85 +11,63 @@ * }; */ -#define KC_ KC_TRNS - -#define KC_TMB1 KC_LA(TAB) -#define KC_TMB2 KC_LS(SPC) -#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped -#define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped -#define KC_TMB5 KC_RC(BSPC) -#define KC_TMB6 KC_RG(ENT) -#define KC_TMB7 KC_RC(DEL) +#define LAYOUT_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__) +// clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_EDVORAK] = LAYOUT_kc( - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - GRV ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS, - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS, - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - ESC ,SCLN, X , C , V , Z , H , J , K , L , B ,SLSH, - //`----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----' - TMB1 ,TMB2,TMB3, TMB4,TMB5,TMB6 - // `-----+----+----' `----+----+-----' + [L_EDVORAKJP_BASE] = LAYOUT_wrapper( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_ESC, __EDVORAKJP_BASE_L3__ , __EDVORAKJP_BASE_R3__ , KC_SLSH, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT + //`--------------------------' `--------------------------' ), - [_LOWER] = LAYOUT_kc( - //|----+----+------+------+------+----| |----+------+------+-------+----+----| - , , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , , - //|----+----+------+------+------+----| |----+------+------+-------+----+----| - F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 , - //|----+----+------+------+------+----| |----+------+------+-------+----+----| - PSCR, , HOME , PGDN , PGUP ,END , LEFT, DOWN , UP , RGHT , , , - //`----+----+------+------+------+----+----| |----+----+------+------+-------+----+----' - , , NO , MAC ,TMB7, - // `-----+----+----' `----+----+-----' + [L_EDVORAKJP_LOWER] = LAYOUT_wrapper( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + __EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ , + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS + //`--------------------------' `--------------------------' ), - [_RAISE] = LAYOUT_kc( - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - , ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , , - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - , 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , , - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - PSCR, ,HOME ,PGDN ,PGUP ,END , LEFT,DOWN , UP ,RGHT , , , - //`----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----' - , ,WIN , NO , , - // `-----+----+----' `----+----+----' + [L_EDVORAKJP_RAISE] = LAYOUT_wrapper( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS + //`--------------------------' `--------------------------' ) }; - -#ifdef SSD1306OLED -void matrix_init_keymap(void) { - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h -#ifdef MASTER_RIGHT - iota_gfx_init(has_usb()); // turns on the display -#else - iota_gfx_init(!has_usb()); -#endif // MASTER_RIGHT -} - -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} -#endif +// clang-format on #ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT uint32_t layer_state_set_keymap(uint32_t state) { - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - switch (biton32(state)) { - case _LOWER: - rgblight_sethsv_noeeprom_red(); - break; - case _RAISE: - rgblight_sethsv_noeeprom_green(); - break; - default: // for any other layers, or the default layer - rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3); - rgblight_sethsv_red(); - break; - } - return state; + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + switch (biton32(state)) { + case L_EDVORAKJP_LOWER: + rgblight_sethsv_noeeprom_red(); + break; + case L_EDVORAKJP_RAISE: + rgblight_sethsv_noeeprom_green(); + break; + default: // for any other layers, or the default layer + rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3); + rgblight_sethsv_red(); + break; + } + return state; } #endif diff --git a/keyboards/crkbd/keymaps/edvorakjp/oled.c b/keyboards/crkbd/keymaps/edvorakjp/oled.c index cbb43d06156d..3a3748c691b9 100644 --- a/keyboards/crkbd/keymaps/edvorakjp/oled.c +++ b/keyboards/crkbd/keymaps/edvorakjp/oled.c @@ -1,76 +1,55 @@ +#include #include #include "oled.h" -// NOTE: Redefined to avoid to use snprintf(); It makes size of firmware big. -const char *read_mode_icon(bool windows_mode) { - static const char logo[][2][3] = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}}; - static char mode_icon[10]; - - int mode_number = windows_mode ? 1 : 0; - strcpy(mode_icon, logo[mode_number][0]); - - strcat(mode_icon, "\n"); - strcat(mode_icon, logo[mode_number][1]); - - return mode_icon; +#ifdef OLED_ENABLE +void render_host_led_state(void) { oled_write(read_host_led_state(), false); } + +void render_layer_state(void) { + char layer_name[17]; + oled_write_P(PSTR("Layer: "), false); + + switch (biton32(layer_state)) { + case L_EDVORAKJP_BASE: + oled_write_ln_P(PSTR("Default"), false); + break; + case L_EDVORAKJP_LOWER: + oled_write_ln_P(PSTR("Lower"), false); + break; + case L_EDVORAKJP_RAISE: + oled_write_ln_P(PSTR("Raise"), false); + break; + default: + snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state); + oled_write_ln(layer_name, false); + } } -const char *read_layer_state(void) { - static char layer_state_str[24]; - char layer_name[17]; - - switch (biton32(layer_state)) { - case L_BASE: - strcpy(layer_name, "Default"); - break; - case _RAISE: - strcpy(layer_name, "Raise"); - break; - case _LOWER: - strcpy(layer_name, "Lower"); - break; - default: - snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state); - } +void render_logo(void) { oled_write(read_logo(), false); } - strcpy(layer_state_str, "Layer: "); +void render_mode_icon(bool is_windows) { + static const char logo[][2][3] = { + {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, + {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, + }; + static char mode_icon[10]; - strcat(layer_state_str, layer_name); - strcat(layer_state_str, "\n"); - return layer_state_str; + snprintf(mode_icon, sizeof(mode_icon), "%s\n%s ", logo[is_windows][0], logo[is_windows][1]); + oled_write(mode_icon, false); } -const char *read_host_led_state(void) { - static char led_str[24]; - strcpy(led_str, (host_keyboard_leds() & (1<display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - - matrix_clear(&matrix); -#ifdef MASTER_RIGHT - if (!is_master) { -#else - if (is_master) { -#endif // MASTER_RIGHT - matrix_write(&matrix, read_mode_icon(!get_enable_kc_lang())); - matrix_write(&matrix, " "); - matrix_write(&matrix, read_layer_state()); - matrix_write(&matrix, read_host_led_state()); - } else { - matrix_write(&matrix, read_logo()); - } - matrix_update(&display, &matrix); +void oled_task_user(void) { + if (is_keyboard_left()) { + render_mode_icon(!get_enable_kc_lang()); + render_layer_state(); + render_host_led_state(); + } else { + render_logo(); + } } +#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/edvorakjp/oled.h b/keyboards/crkbd/keymaps/edvorakjp/oled.h index 896347aea98e..d9939c83a0ca 100644 --- a/keyboards/crkbd/keymaps/edvorakjp/oled.h +++ b/keyboards/crkbd/keymaps/edvorakjp/oled.h @@ -1,24 +1,17 @@ -#ifndef OLED_USER_H -#define OLED_USER_H +#pragma once -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#include "ssd1306.h" #include "edvorakjp.h" -//assign the right code to your layers for OLED display -#define L_BASE 0 - -extern uint8_t is_master; extern bool japanese_mode; // method prototypes defined in crkbd/lib +extern const char *read_host_led_state(void); extern const char *read_logo(void); +extern const char *read_mode_icon(bool swap); -const char *read_mode_icon(bool swap); -const char *read_layer_state(void); -const char *read_host_led_state(void); -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source); -void iota_gfx_task_user(void); - -#endif // OLED_CONFIG_USER_H +void render_host_led_state(void); +void render_layer_state(void); +void render_logo(void); +void render_mode_icon(bool is_windows); +oled_rotation_t oled_init_user(oled_rotation_t rotation); +void oled_task_user(void); diff --git a/keyboards/crkbd/keymaps/edvorakjp/rules.mk b/keyboards/crkbd/keymaps/edvorakjp/rules.mk index b4f6d2f1f15d..1291d50e921d 100644 --- a/keyboards/crkbd/keymaps/edvorakjp/rules.mk +++ b/keyboards/crkbd/keymaps/edvorakjp/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -16,17 +16,14 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing TAP_DANCE_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # If you want to change the display of OLED, you need to change here -SRC += ./lib/glcdfont.c \ +SRC += ./lib/host_led_state_reader.c \ ./lib/logo_reader.c \ - oled.c \ - # ./lib/rgb_state_reader.c \ - # ./lib/layer_state_reader.c \ - # ./lib/keylogger.c \ - # ./lib/mode_icon_reader.c \ - # ./lib/host_led_state_reader.c \ - # ./lib/timelogger.c \ + ./lib/mode_icon_reader.c \ + oled.c diff --git a/keyboards/crkbd/keymaps/gotham/config.h b/keyboards/crkbd/keymaps/gotham/config.h index dd58a0fe05d3..05b04e0aa33d 100644 --- a/keyboards/crkbd/keymaps/gotham/config.h +++ b/keyboards/crkbd/keymaps/gotham/config.h @@ -39,7 +39,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_KEYPRESSES // reacts to keypresses -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. # define RGB_MATRIX_HUE_STEP 32 # define RGB_MATRIX_SAT_STEP 64 diff --git a/keyboards/crkbd/keymaps/gotham/keymap.c b/keyboards/crkbd/keymaps/gotham/keymap.c index 6657f21ee9d4..7cf4b7fd501b 100644 --- a/keyboards/crkbd/keymaps/gotham/keymap.c +++ b/keyboards/crkbd/keymaps/gotham/keymap.c @@ -1,7 +1,7 @@ #include QMK_KEYBOARD_H #include "keycodes.h" -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE # include "oled.c" #endif @@ -11,7 +11,7 @@ // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( + [_QWERTY] = LAYOUT_split_3x6_3( //|-----------------------------------------------------| |-----------------------------------------------------| KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), - [_LOWER] = LAYOUT( + [_LOWER] = LAYOUT_split_3x6_3( //|-----------------------------------------------------| |-----------------------------------------------------| KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------------------------| |--------------------------| ), - [_RAISE] = LAYOUT( + [_RAISE] = LAYOUT_split_3x6_3( //|-----------------------------------------------------| |-----------------------------------------------------| KC_ESC, KC_HASH, KC_DLR, KC_LCBR, KC_RCBR, XXXXXXX, XXXXXXX, KC_AMPR, KC_PIPE, KC_EXLM, KC_ASTR, XXXXXXX, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------------------------| |--------------------------| ), - [_ADJUST] = LAYOUT( + [_ADJUST] = LAYOUT_split_3x6_3( //|-----------------------------------------------------| |-----------------------------------------------------| XXXXXXX, CK_RST, CK_DOWN, CK_UP, CK_TOGG, RGB_TOG, MU_TOG, KC_F12, KC_F7, KC_F8, KC_F9, XXXXXXX,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -78,7 +78,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { #endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE if (record->event.pressed) { oled_timer = timer_read(); add_keylog(keycode); diff --git a/keyboards/crkbd/keymaps/gotham/oled.c b/keyboards/crkbd/keymaps/gotham/oled.c index ac6f236fc6b9..4d2c10b60aa7 100644 --- a/keyboards/crkbd/keymaps/gotham/oled.c +++ b/keyboards/crkbd/keymaps/gotham/oled.c @@ -257,7 +257,7 @@ void oled_task_user(void) { } #endif - if (is_master) { + if (is_keyboard_master()) { render_status_main(); } else { render_status_secondary(); diff --git a/keyboards/crkbd/keymaps/gotham/rules.mk b/keyboards/crkbd/keymaps/gotham/rules.mk index eaf8f89fd1f0..48a2c1d72aaa 100644 --- a/keyboards/crkbd/keymaps/gotham/rules.mk +++ b/keyboards/crkbd/keymaps/gotham/rules.mk @@ -2,5 +2,6 @@ MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes AUDIO_ENABLE = yes RGBLIGHT_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 LTO_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/hvp/config.h b/keyboards/crkbd/keymaps/hvp/config.h index c5c6d1cba88e..f32ec8cfbec9 100644 --- a/keyboards/crkbd/keymaps/hvp/config.h +++ b/keyboards/crkbd/keymaps/hvp/config.h @@ -29,6 +29,8 @@ along with this program. If not, see . // #define EE_HANDS #define SSD1306OLED +#define USE_SSD_I2C + #define USE_SERIAL_PD2 diff --git a/keyboards/crkbd/keymaps/hvp/keymap.c b/keyboards/crkbd/keymaps/hvp/keymap.c index 9e1cd5f01cb6..9e72504653a2 100644 --- a/keyboards/crkbd/keymaps/hvp/keymap.c +++ b/keyboards/crkbd/keymaps/hvp/keymap.c @@ -1,13 +1,15 @@ #include QMK_KEYBOARD_H #include "hvp.c" +#ifdef SSD1306OLED +# include "ssd1306.h" +# include +#endif #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings extern rgblight_config_t rgblight_config; #endif -extern uint8_t is_master; - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -25,7 +27,7 @@ enum custom_keycodes { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( + [_QWERTY] = LAYOUT_split_3x6_3( //,-----------------------------------------. ,-----------------------------------------. LT(_ADJUST,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_BSPC, //|------+------+------+------+------+------| |------+------+------+------+------+------| @@ -33,35 +35,35 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|------+------+------+------+------+------| |------+------+------+------+------+------| KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM,KC_DOT,TD(TD3),KC_SFTENT, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - KC_LGUI, LT(1,KC_SPC),MT(MOD_LSFT, KC_SPC), MT(MOD_LSFT,KC_ENT), LT(2,KC_SPC),KC_LALT + KC_LGUI, LT(1,KC_SPC),MT(MOD_LSFT, KC_SPC), MT(MOD_LSFT,KC_ENT), LT(2,KC_SPC),KC_LALT //`--------------------' `--------------------' ), - - [_RAISE] = LAYOUT( + + [_RAISE] = LAYOUT_split_3x6_3( //,-----------------------------------------. ,-----------------------------------------. 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_DEL, _______, _______, _______, _______, _______, _______,KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LCTL, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + KC_LCTL, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______ //`--------------------' `--------------------' ), - [_LOWER] = LAYOUT( + [_LOWER] = LAYOUT_split_3x6_3( //,-----------------------------------------. ,-----------------------------------------. 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_DEL, _______, _______, _______, _______, _______, _______,KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, //|------+------+------+------+------+------| |------+------+------+------+------+------| - KC_LCTL, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TILD, + KC_LCTL, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_TILD, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______ //`--------------------' `--------------------' ), - [_ADJUST] = LAYOUT( + [_ADJUST] = LAYOUT_split_3x6_3( //,-----------------------------------------. ,-----------------------------------------. _______,KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, //|------+------+------+------+------+------| |------+------+------+------+------+------| @@ -69,12 +71,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|------+------+------+------+------+------| |------+------+------+------+------+------| RESET,KC_PSCR,_______,_______,_______,_______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _______, KC_VOLD,KC_MPLY, KC_MNXT, KC_VOLU,_______ + _______, KC_VOLD,KC_MPLY, KC_MNXT, KC_VOLU,_______ //`--------------------' `--------------------' ) }; -int RGB_current_mode; +int RGB_current_mode; // Setting ADJUST layer RGB back to default void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { @@ -91,7 +93,7 @@ void matrix_init_user(void) { #endif //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display + iota_gfx_init(); // turns on the display #endif } @@ -115,10 +117,10 @@ void matrix_scan_user(void) { } void matrix_render_user(struct CharacterMatrix *matrix) { - if (is_master) { + if (is_keyboard_master()) { // If you want to change the display of OLED, you need to change here - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_keylog()); + matrix_write(matrix, read_layer_state()); + matrix_write(matrix, read_keylog()); //matrix_write_ln(matrix, read_keylogs()); //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); //matrix_write_ln(matrix, read_host_led_state()); @@ -180,4 +182,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; } return true; -} \ No newline at end of file +} diff --git a/keyboards/crkbd/keymaps/hvp/rules.mk b/keyboards/crkbd/keymaps/hvp/rules.mk index 03859ab63323..640a07b305eb 100644 --- a/keyboards/crkbd/keymaps/hvp/rules.mk +++ b/keyboards/crkbd/keymaps/hvp/rules.mk @@ -1,4 +1,7 @@ +VPATH += keyboards/crkbd/lib +LIB_SRC += ssd1306.c i2c.c + # If you want to change the display of OLED, you need to change here SRC += ./lib/glcdfont.c \ ./lib/rgb_state_reader.c \ @@ -11,4 +14,4 @@ SRC += ./lib/glcdfont.c \ TAP_DANCE_ENABLE = yes EXTRAKEY_ENABLE = yes # Audio control and System control -# LOCAL_GLCDFONT = yes \ No newline at end of file +# LOCAL_GLCDFONT = yes diff --git a/keyboards/crkbd/keymaps/jarred/config.h b/keyboards/crkbd/keymaps/jarred/config.h index ac4c1cc88f50..012356241d64 100644 --- a/keyboards/crkbd/keymaps/jarred/config.h +++ b/keyboards/crkbd/keymaps/jarred/config.h @@ -29,6 +29,7 @@ along with this program. If not, see . // #define EE_HANDS #define SSD1306OLED +#define USE_SSD_I2C #define USE_SERIAL_PD2 diff --git a/keyboards/crkbd/keymaps/jarred/keymap.c b/keyboards/crkbd/keymaps/jarred/keymap.c index f00a735bfc56..b938636c2aca 100644 --- a/keyboards/crkbd/keymaps/jarred/keymap.c +++ b/keyboards/crkbd/keymaps/jarred/keymap.c @@ -9,8 +9,6 @@ #include "ssd1306.h" #endif -extern keymap_config_t keymap_config; -extern uint8_t is_master; #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings @@ -24,7 +22,7 @@ extern rgblight_config_t rgblight_config; K31, K32, K33, K34, K35, K36 \ ) -#define LAYOUT_crkbd_wrapper(...) LAYOUT(__VA_ARGS__) +#define LAYOUT_crkbd_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__) #define QWERTY_4_CRKBD KC_LCTL, MO(_LW), KC_SPC, KC_ENT, MO(_LW), KC_RALT @@ -37,28 +35,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QWERTY_3_12, QWERTY_4_DOX ), - + [_LW] = LAYOUT_crkbd_wrapper( LOWER_1_12, LOWER_2_12, LOWER_3_12, LOWER_4_DOX ), - + [_NV] = LAYOUT_crkbd_wrapper( NAV_1_12, NAV_2_12, NAV_3_12, NAV_4_DOX ), - + [_NP] = LAYOUT_crkbd_wrapper( NUMPAD_1_12, NUMPAD_2_12, NUMPAD_3_12, NUMPAD_4_DOX ), - + [_MS] = LAYOUT_crkbd_wrapper( MOUSE_1_12, MOUSE_2_12, @@ -70,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void matrix_init_user(void) { //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display + iota_gfx_init(); // turns on the display #endif } @@ -87,9 +85,9 @@ char matrix_line_str[24]; const char *read_layer_state(void) { uint8_t layer = biton32(layer_state); - + strcpy(matrix_line_str, "Layer: "); - + switch (layer) { case _QW: @@ -115,9 +113,9 @@ const char *read_layer_state(void) { } const char *read_usb_state(void) { - + strcpy(matrix_line_str, "USB : "); - + switch (USB_DeviceState) { case DEVICE_STATE_Unattached: strcat(matrix_line_str, "Unattached"); @@ -149,10 +147,13 @@ void matrix_scan_user(void) { } void matrix_render_user(struct CharacterMatrix *matrix) { - if (is_master) { - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_usb_state()); - matrix_write_ln(matrix, read_keylogs()); + if (is_keyboard_master()) { + matrix_write(matrix, read_layer_state()); + matrix_write(matrix, "\n"); + matrix_write(matrix, read_usb_state()); + matrix_write(matrix, "\n"); + matrix_write(matrix, read_keylogs()); + matrix_write(matrix, "\n"); } else { matrix_write(matrix, read_logo()); } diff --git a/keyboards/crkbd/keymaps/jarred/rules.mk b/keyboards/crkbd/keymaps/jarred/rules.mk index ab6329f0ebfb..c5a73d5bd652 100644 --- a/keyboards/crkbd/keymaps/jarred/rules.mk +++ b/keyboards/crkbd/keymaps/jarred/rules.mk @@ -3,7 +3,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -14,7 +14,7 @@ MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE @@ -29,3 +29,6 @@ SRC += ./lib/glcdfont.c \ # ./lib/mode_icon_reader.c \ # ./lib/host_led_state_reader.c \ # ./lib/timelogger.c \ + +VPATH += keyboards/crkbd/lib +LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/kidbrazil/config.h b/keyboards/crkbd/keymaps/kidbrazil/config.h index 6dc468c590a6..752ea862e01a 100644 --- a/keyboards/crkbd/keymaps/kidbrazil/config.h +++ b/keyboards/crkbd/keymaps/kidbrazil/config.h @@ -29,7 +29,8 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -//#define SSD1306OLED +#define SSD1306OLED +#define USE_SSD_I2C #define USE_SERIAL_PD2 @@ -55,7 +56,7 @@ along with this program. If not, see . //# define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects - #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended + #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/crkbd/keymaps/kidbrazil/keymap.c b/keyboards/crkbd/keymaps/kidbrazil/keymap.c index 9c950e537349..7cb08f40d52f 100644 --- a/keyboards/crkbd/keymaps/kidbrazil/keymap.c +++ b/keyboards/crkbd/keymaps/kidbrazil/keymap.c @@ -1,9 +1,9 @@ #include QMK_KEYBOARD_H #include "enums.h" #include "layer.h" +#include "lufa.h" // [Init Variables] ----------------------------------------------------------// -extern uint8_t is_master; // Oled timer similar to Drashna's static uint32_t oled_timer = 0; // Boolean to store LED state @@ -13,35 +13,35 @@ bool master_oled_cleared = false; // [Keymaps] -----------------------------------------------------------------// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( + [_QWERTY] = LAYOUT_split_3x6_3( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, LSFT_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, LGUI_T(KC_PGUP), MO(_NUM), KC_SPC, KC_ENT, MO(_SYM), LALT_T(KC_PGDN) ), - [_NUM] = LAYOUT( + [_NUM] = LAYOUT_split_3x6_3( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, LSFT_T(KC_TAB), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F12, KC_NO, KC_LCTL, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PGUP, KC_PGDN, KC_HOME, KC_END, KC_F11, KC_NO, LGUI_T(KC_PGUP), KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, LALT_T(KC_PGDN) ), - [_SYM] = LAYOUT( + [_SYM] = LAYOUT_split_3x6_3( KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, LSFT_T(KC_TAB), RGB_TOG, KC_MPLY, KC_MUTE, KC_VOLU, KC_VOLD, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, KC_LCTL, KC_CALC, KC_MYCM, KC_MPRV, KC_MNXT, TG(_GAME), KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, LGUI_T(KC_PGUP), KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, LALT_T(KC_PGDN) ), - [_GAME] = LAYOUT( + [_GAME] = LAYOUT_split_3x6_3( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, KC_NO, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, KC_PGUP, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, KC_TAB, MO(_WEAPON), KC_SPC, KC_ENT, KC_TRNS, KC_NO ), - [_WEAPON] = LAYOUT( + [_WEAPON] = LAYOUT_split_3x6_3( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_7, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, @@ -54,7 +54,7 @@ void keyboard_post_init_user(void) { // Set RGB to known state rgb_matrix_enable_noeeprom(); rgb_matrix_set_color_all(RGB_GREEN); - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); user_led_enabled = true; } // [Process User Input] ------------------------------------------------------// @@ -73,7 +73,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { default: // Use process_record_keymap to reset timer on all other keypresses to awaken from idle. if (record->event.pressed) { - #ifdef OLED_DRIVER_ENABLE + #ifdef OLED_ENABLE oled_timer = timer_read32(); #endif // Restore LEDs if they are enabled by user @@ -125,10 +125,10 @@ void matrix_scan_user(void) { } } // [OLED Configuration] ------------------------------------------------------// -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE // Init Oled and Rotate.... oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!has_usb()) + if (!is_keyboard_master()) return OLED_ROTATION_180; // flips the display 180 to see it from my side return rotation; } @@ -176,7 +176,7 @@ void oled_task_user(void) { // First time out switches to logo as first indication of iddle. if (timer_elapsed32(oled_timer) > 100000 && timer_elapsed32(oled_timer) < 479999) { // Render logo on both halves before full timeout - if (is_master && !master_oled_cleared) { + if (is_keyboard_master() && !master_oled_cleared) { // Clear master OLED once so the logo renders properly oled_clear(); master_oled_cleared = true; @@ -202,7 +202,7 @@ void oled_task_user(void) { render_logo(); break; default: - if (is_master) { + if (is_keyboard_master()) { render_master_oled(); } else { render_slave_oled(); diff --git a/keyboards/crkbd/keymaps/kidbrazil/layer.c b/keyboards/crkbd/keymaps/kidbrazil/layer.c index bd04f3b88322..fbcebd66ffb1 100644 --- a/keyboards/crkbd/keymaps/kidbrazil/layer.c +++ b/keyboards/crkbd/keymaps/kidbrazil/layer.c @@ -1,5 +1,6 @@ #include QMK_KEYBOARD_H #include "enums.h" +#include "lufa.h" // Render Blank Space void render_space(void) { diff --git a/keyboards/crkbd/keymaps/kidbrazil/rules.mk b/keyboards/crkbd/keymaps/kidbrazil/rules.mk index a6057a731666..5566a6130b64 100644 --- a/keyboards/crkbd/keymaps/kidbrazil/rules.mk +++ b/keyboards/crkbd/keymaps/kidbrazil/rules.mk @@ -5,8 +5,12 @@ AUDIO_ENABLE = no # Audio output on port C6 MOUSEKEY_ENABLE = no RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # If you want to change the display of OLED, you need to change here SRC += logo_reader.c \ layer.c + +VPATH += keyboards/crkbd/lib +LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/like_jis/config.h b/keyboards/crkbd/keymaps/like_jis/config.h deleted file mode 100644 index a061b4fb09f7..000000000000 --- a/keyboards/crkbd/keymaps/like_jis/config.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define SSD1306OLED - -#define USE_SERIAL_PD2 - -#define PREVENT_STUCK_MODIFIERS -#define TAPPING_FORCE_HOLD -#define TAPPING_TERM 250 - -#undef RGBLED_NUM -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/crkbd/keymaps/like_jis/keymap.c b/keyboards/crkbd/keymaps/like_jis/keymap.c deleted file mode 100644 index 41df6330f514..000000000000 --- a/keyboards/crkbd/keymaps/like_jis/keymap.c +++ /dev/null @@ -1,291 +0,0 @@ -#include QMK_KEYBOARD_H -#include "bootloader.h" -#ifdef PROTOCOL_LUFA - #include "lufa.h" - #include "split_util.h" -#endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif -#include "oled_helper.h" - -extern keymap_config_t keymap_config; - -extern uint8_t is_master; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _BASE = 0, - _LOWER, - _RAISE, - _ADJUST, -}; - -enum custom_keycodes { - LOWER = SAFE_RANGE, - RAISE, - ADJUST, - KANJI, - RGBRST -}; - -enum tapdances{ - TD_CODO = 0, - // TD_MNUB, -}; - -// Layer Mode aliases -#define KC_LOWER LOWER -#define KC_RAISE RAISE - -#define KC______ KC_TRNS -#define KC_XXXXX KC_NO -#define KC_KANJI KANJI - -#define KC_RST RESET -#define KC_LRST RGBRST -#define KC_LTOG RGB_TOG -#define KC_LHUI RGB_HUI -#define KC_LHUD RGB_HUD -#define KC_LSAI RGB_SAI -#define KC_LSAD RGB_SAD -#define KC_LVAI RGB_VAI -#define KC_LVAD RGB_VAD -#define KC_LMOD RGB_MOD -#define KC_KNRM AG_NORM -#define KC_KSWP AG_SWAP - -#define KC_TBSF LSFT_T(KC_TAB) -// #define KC_SPSF LSFT_T(KC_SPC) -#define KC_ALAP LALT_T(KC_APP) - -#define KC_CODO TD(TD_CODO) -// #define KC_MNUB TD(TD_MNUB) - -qk_tap_dance_action_t tap_dance_actions[] = { - [TD_CODO] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT), - // [TD_MNUB] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, LSFT(KC_RO)), -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - ESC, Q, W, E, R, T, Y, U, I, O, P, MINS,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - TBSF, A, S, D, F, G, H, J, K, L, UP, ENT,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - LCTRL, Z, X, C, V, B, N, M, CODO, LEFT, DOWN, RGHT,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - LGUI, LOWER, BSPC, SPC, RAISE, ALAP \ - //`--------------------' `--------------------' - ), - - [_LOWER] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - _____, F1, F2, F3, F4, F5, XXXXX, MINS, EQL, JYEN, LBRC, RBRC,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - _____, F6, F7, F8, F9, F10, XXXXX, XXXXX, XXXXX, SCLN, QUOT, BSLS,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - _____, F11, F12, TAB, KANJI, ENT, XXXXX, XXXXX, COMM, DOT, SLSH, RO,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _____, _____, DEL, _____, _____, APP \ - //`--------------------' `--------------------' - ), - - [_RAISE] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - _____, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, PSLS,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, QUOT, 4, 5, 6, PPLS, PAST,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, 0, 1, 2, 3, DOT, PMNS,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _____, _____, BSPC, _____, _____, LALT \ - //`--------------------' `--------------------' - ), - - [_ADJUST] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - _____, RST, LRST, KNRM, KSWP, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ - //|------+-------+------+------+------+-----| |------+------+------+------+------+------| - _____, LTOG, LHUI, LSAI, LVAI, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, PGUP, XXXXX,\ - //|------+-------+------+------+------+-----| |------+------+------+------+------+------| - _____, LMOD, LHUD, LSAD, LVAD, XXXXX, XXXXX, XXXXX, XXXXX, HOME, PGDN, END,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - _____, _____, XXXXX, _____, _____, XXXXX \ - //`--------------------' `--------------------' - ) -}; - -#define L_BASE _BASE -#define L_LOWER (1<<_LOWER) -#define L_RAISE (1<<_RAISE) -#define L_ADJUST (1<<_ADJUST) -#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) - -#ifdef SSD1306OLED -typedef struct { - uint8_t state; - char name[8]; -}LAYER_DISPLAY_NAME; - -#define LAYER_DISPLAY_MAX 5 -const LAYER_DISPLAY_NAME layer_display_name[LAYER_DISPLAY_MAX] = { - {L_BASE, "Base"}, - {L_BASE + 1, "Base"}, - {L_LOWER, "Lower"}, - {L_RAISE, "Raise"}, - {L_ADJUST_TRI, "Adjust"} -}; - -static inline const char* get_leyer_status(void) { - - for (uint8_t i = 0; i < LAYER_DISPLAY_MAX; ++i) { - if (layer_state == 0 && layer_display_name[i].state == default_layer_state) { - - return layer_display_name[i].name; - } else if (layer_state != 0 && layer_display_name[i].state == layer_state) { - - return layer_display_name[i].name; - } - } - - return "?"; -} - -static char layer_status_buf[24] = "Layer state ready.\n"; -static inline void update_keymap_status(void) { - - snprintf(layer_status_buf, sizeof(layer_status_buf) - 1, "OS:%s Layer:%s\n", - keymap_config.swap_lalt_lgui? "win" : "mac", get_leyer_status()); -} - -static inline void render_keymap_status(struct CharacterMatrix *matrix) { - - matrix_write(matrix, layer_status_buf); -} - -#define UPDATE_KEYMAP_STATUS() update_keymap_status() -#define RENDER_KEYMAP_STATUS(a) render_keymap_status(a) - -#else - -#define UPDATE_KEYMAP_STATUS() -#define RENDER_KEYMAP_STATUS(a) - -#endif - -static inline void update_change_layer(bool pressed, uint8_t layer1, uint8_t layer2, uint8_t layer3) { - - pressed ? layer_on(layer1) : layer_off(layer1); - IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2) ? layer_on(layer3) : layer_off(layer3); -} - -int RGB_current_mode; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - UPDATE_KEY_STATUS(keycode, record); - - bool result = false; - switch (keycode) { - case LOWER: - update_change_layer(record->event.pressed, _LOWER, _RAISE, _ADJUST); - break; - case RAISE: - update_change_layer(record->event.pressed, _RAISE, _LOWER, _ADJUST); - break; - case KANJI: - if (record->event.pressed) { - if (keymap_config.swap_lalt_lgui == false) { - register_code(KC_LANG2); - } else { - SEND_STRING(SS_LALT("`")); - } - } else { - unregister_code(KC_LANG2); - } - break; - #ifdef RGBLIGHT_ENABLE - case RGB_MOD: - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_config.mode; - } - break; - case RGBRST: - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_config.mode; - } - break; - #endif - default: - result = true; - break; - } - - UPDATE_KEYMAP_STATUS(); - return result; -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; - UPDATE_KEYMAP_STATUS(); - #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} - -static inline void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -static inline void render_status(struct CharacterMatrix *matrix) { - - UPDATE_LED_STATUS(); - RENDER_LED_STATUS(matrix); - RENDER_KEYMAP_STATUS(matrix); - UPDATE_LOCK_STATUS(); - RENDER_LOCK_STATUS(matrix); - RENDER_KEY_STATUS(matrix); -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - - #if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } - #endif - - matrix_clear(&matrix); - if (is_master) { - render_status(&matrix); - } else { - RENDER_LOGO(&matrix); - } - - matrix_update(&display, &matrix); -} - -#endif diff --git a/keyboards/crkbd/keymaps/like_jis/oled_helper.c b/keyboards/crkbd/keymaps/like_jis/oled_helper.c deleted file mode 100644 index 500d3c0dc10c..000000000000 --- a/keyboards/crkbd/keymaps/like_jis/oled_helper.c +++ /dev/null @@ -1,83 +0,0 @@ -#ifdef SSD1306OLED -#include QMK_KEYBOARD_H -#include "ssd1306.h" - -void render_logo(struct CharacterMatrix *matrix) { - - const char logo_buf[]={ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - - matrix_write(matrix, logo_buf); -} - -static char keylog_buf[24] = "Key state ready."; -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', ' ', '-', ' ', '@', ' ', ' ', - ' ', ';', ':', ' ', ',', '.', '/', ' ', ' ', ' '}; - -void update_key_status(uint16_t keycode, keyrecord_t *record) { - - if (!record->event.pressed) return; - - char name = (keycode < 60) ? code_to_name[keycode] : ' '; - snprintf(keylog_buf, sizeof(keylog_buf) - 1, "Key:%dx%d %2x %c", - record->event.key.row, record->event.key.col, - (uint16_t)keycode, name); -} - -void render_key_status(struct CharacterMatrix *matrix) { - - matrix_write(matrix, keylog_buf); -} - -static char lock_buf[24] = "Lock state ready.\n"; -void update_lock_status(void) { - - uint8_t leds = host_keyboard_leds(); - char *num_lock = (leds & (1<. // #define EE_HANDS #define SSD1306OLED +#define USE_SSD_I2C #define USE_SERIAL_PD2 diff --git a/keyboards/crkbd/keymaps/madhatter/keymap.c b/keyboards/crkbd/keymaps/madhatter/keymap.c index 57a522deb496..c228a7b5730b 100644 --- a/keyboards/crkbd/keymaps/madhatter/keymap.c +++ b/keyboards/crkbd/keymaps/madhatter/keymap.c @@ -17,8 +17,10 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H - -extern uint8_t is_master; +#ifdef SSD1306OLED +# include "ssd1306.h" +# include +#endif enum corny_layers { _QWERTY, @@ -108,7 +110,7 @@ void matrix_init_user(void) { #endif //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display + iota_gfx_init(); // turns on the display #endif } @@ -132,10 +134,10 @@ void matrix_scan_user(void) { } void matrix_render_user(struct CharacterMatrix *matrix) { - if (is_master) { + if (is_keyboard_master()) { // If you want to change the display of OLED, you need to change here - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_keylog()); + matrix_write(matrix, read_layer_state()); + matrix_write(matrix, read_keylog()); //matrix_write_ln(matrix, read_keylogs()); //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); //matrix_write_ln(matrix, read_host_led_state()); diff --git a/keyboards/crkbd/keymaps/madhatter/rules.mk b/keyboards/crkbd/keymaps/madhatter/rules.mk index f84e5b2af86e..489b16ef1cee 100644 --- a/keyboards/crkbd/keymaps/madhatter/rules.mk +++ b/keyboards/crkbd/keymaps/madhatter/rules.mk @@ -8,3 +8,6 @@ SRC += ./lib/glcdfont.c \ # ./lib/mode_icon_reader.c \ # ./lib/host_led_state_reader.c \ # ./lib/timelogger.c \ + +VPATH += keyboards/crkbd/lib +LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h b/keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h deleted file mode 100644 index a3d430b1e82f..000000000000 --- a/keyboards/crkbd/keymaps/manna-harbour_miryoku/config.h +++ /dev/null @@ -1,16 +0,0 @@ -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- - -#pragma once - -#define LAYOUT_miryoku( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -) \ -LAYOUT( \ -KC_NO, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, KC_NO, \ -KC_NO, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KC_NO, \ -KC_NO, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, KC_NO, \ - K32, K33, K34, K35, K36, K37 \ -) diff --git a/keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c deleted file mode 100644 index a852ddd05cd4..000000000000 --- a/keyboards/crkbd/keymaps/manna-harbour_miryoku/keymap.c +++ /dev/null @@ -1 +0,0 @@ -// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- diff --git a/keyboards/crkbd/keymaps/mcrown/config.h b/keyboards/crkbd/keymaps/mcrown/config.h new file mode 100644 index 000000000000..e40bd639f38d --- /dev/null +++ b/keyboards/crkbd/keymaps/mcrown/config.h @@ -0,0 +1,86 @@ +/** @file config.h + * @brief config header that includes function prototypes and external variables. + * + * 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 . + * + * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 + * + */ + +#pragma once + +/* Select hand configuration */ +#define MASTER_LEFT + +/* Comment this definition out if you want the main display to be output in horizontal mode */ +#define OLED_VERTICAL + +#ifdef RGB_MATRIX_ENABLE + #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 + #define RGB_MATRIX_HUE_STEP 10 + #define RGB_MATRIX_SAT_STEP 10 + #define RGB_MATRIX_VAL_STEP 10 + #define RGB_MATRIX_SPD_STEP 10 +// #define RGB_MATRIX_KEYPRESSES + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS + + /* BEGIN: Disable RGB Effects */ +// #define DISABLE_RGB_MATRIX_SOLID_COLOR +// #define DISABLE_RGB_MATRIX_ALPHAS_MODS +// #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN +// #define DISABLE_RGB_MATRIX_BREATHING +// #define DISABLE_RGB_MATRIX_BAND_SAT +// #define DISABLE_RGB_MATRIX_BAND_VAL +// #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +// #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +// #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT +// #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL +// #define DISABLE_RGB_MATRIX_CYCLE_ALL +// #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +// #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN +// #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN +// #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL + #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL +// #define DISABLE_RGB_MATRIX_DUAL_BEACON + #define DISABLE_RGB_MATRIX_RAINBOW_BEACON + #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define DISABLE_RGB_MATRIX_RAINDROPS +// #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + + /* BEGIN: RGB_MATRIX_FRAMEBUFFER_EFFECTS */ +// #define DISABLE_RGB_MATRIX_TYPING_HEATMAP +// #define DISABLE_RGB_MATRIX_DIGITAL_RAIN + /* END: RGB_MATRIX_FRAMEBUFFER_EFFECTS */ + + /* BEGIN: RGB_MATRIX_KEYPRESSES */ +// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE +// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define DISABLE_RGB_MATRIX_SPLASH +// #define DISABLE_RGB_MATRIX_MULTISPLASH +// #define DISABLE_RGB_MATRIX_SOLID_SPLASH +// #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH + /* END: RGB_MATRIX_KEYPRESSES */ + /* END: Disable RGB Effects */ +#endif + +/* To tell the compiler to use custom font */ +#define OLED_FONT_H "keyboards/crkbd/keymaps/mcrown/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/mcrown/glcdfont.c b/keyboards/crkbd/keymaps/mcrown/glcdfont.c new file mode 100644 index 000000000000..17aa1dde39a0 --- /dev/null +++ b/keyboards/crkbd/keymaps/mcrown/glcdfont.c @@ -0,0 +1,35 @@ +/** @file glcfont.c + * @brief mcrown glcfont module. This module includes the font for mcrown keymap. + * + * 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 . + * + * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 + * + */ + +#include "progmem.h" + +/* Standard ASCII 5x7 font */ +static const unsigned char font[] PROGMEM = +{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0xF0, 0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0x3F, 0xF8, 0xF8, 0xFF, 0x38, 0xFF, 0xF8, 0xF8, 0xF0, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF8, 0xFC, 0x3E, + 0x1E, 0x06, 0x01, 0x00, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xDF, 0xBF, 0xBF, 0x00, 0xBF, 0xBF, 0xDF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x60, 0x60, 0xE0, 0xBF, 0x1F, 0x00, 0x7F, 0x7F, 0x07, 0x1E, 0x38, 0x1E, 0x07, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x0E, 0x1F, 0x3B, 0x71, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x0C, 0x0C, 0x0C, 0x00, 0x7E, 0x7E, 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x7E, 0x7E, 0x03, 0x03, 0x7F, 0x7E, 0x00, 0x0F, + 0x3E, 0x70, 0x3C, 0x06, 0x3C, 0x70, 0x3E, 0x0F, 0x00, 0x32, 0x7B, 0x49, 0x49, 0x3F, 0x7E, 0x00, 0x7F, 0x7E, 0x03, 0x03, 0x00, 0x1E, 0x3F, 0x69, 0x69, 0x6F, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3C, 0x78, 0x70, 0x60, 0x00, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x07, 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x7E, 0x0F, 0x0F, 0x7F, 0x0F, 0x7F, 0x0F, 0x0F, 0x07, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/crkbd/keymaps/mcrown/keymap.c b/keyboards/crkbd/keymaps/mcrown/keymap.c new file mode 100644 index 000000000000..907e1347bb8f --- /dev/null +++ b/keyboards/crkbd/keymaps/mcrown/keymap.c @@ -0,0 +1,141 @@ +/** @file keymap.c + * @brief keymao.c that includes key layout and keylogs functions + * + * 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 . + * + * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 + * + */ + +#include "mcrown.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_wrapper( + /*,-------------------------------------------------|-----|--------------------------------------------------------|.*/ + _____________________QWERTY_L1______________________, _____________________QWERTY_R1______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________________QWERTY_L2______________________, _____________________QWERTY_R2______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________________QWERTY_L3______________________, _____________________QWERTY_R3______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ + /*|-----------------------------------| |----------------------------------|*/ + ), + + [_LOWER] = LAYOUT_wrapper( + /*,-------------------------------------------------|-----|--------------------------------------------------------|.*/ + _____________________LOWER_L1_______________________, _____________________LOWER_R1_______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________________LOWER_L2_______________________, _____________________LOWER_R2_______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________________LOWER_L3_______________________, _____________________LOWER_R3_______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ + /*|-----------------------------------| |----------------------------------|*/ + ), + + [_RAISE] = LAYOUT_wrapper( + /*,-------------------------------------------------|-----|--------------------------------------------------------|.*/ + _____________________RAISE_L1_______________________, _____________________RAISE_R1_______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________________RAISE_L2_______________________, _____________________RAISE_R2_______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________________RAISE_L3_______________________, _____________________RAISE_R3_______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ + /*|-----------------------------------| |----------------------------------|*/ + ), + + [_ADJUST] = LAYOUT_wrapper( + /*,-------------------------------------------------|-----|--------------------------------------------------------|.*/ + _____________________ADJUST_L1______________________, _____________________ADJUST_R1______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________________ADJUST_L2______________________, _____________________ADJUST_R2______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________________ADJUST_L3______________________, _____________________ADJUST_R3______________________, + /*|--------+--------+--------+--------+--------+----| |--------+--------+--------+--------+--------+-----------|*/ + _____________MOD_LEFT_____________, _____________MOD_RIGHT____________ + /*|-----------------------------------| |----------------------------------|*/ + ), +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record){ + bool user_records_press=true; + + if (record->event.pressed){ + add_keylog(keycode); + } + + switch (keycode){ + case QWERTY: + if (record->event.pressed){ + set_single_persistent_default_layer(_QWERTY); + } + break; + + case LOWER: + if(record->event.pressed){ + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + }else{ + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + + case RAISE: + if (record->event.pressed){ + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + }else{ + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + + case ADJUST: + if (record->event.pressed){ + layer_on(_ADJUST); + }else{ + layer_off(_ADJUST); + } + break; + + case RGB_MOD: + #ifdef RGBLIGHT_ENABLE + if(record->event.pressed){ + rgblight_mode(RGB_current_mode); + rgblight_step(); + RGB_current_mode = rgblight_get_mode(); + } + #endif + break; + + case RGBRST: + #ifdef RGBLIGHT_ENABLE + if(record->event.pressed){ + eeconfig_update_rgblight_default(); + rgblight_enable(); + RGB_current_mode = rgblight_get_mode(); + } + #endif + break; + + default: + user_records_press=false; + break; + } + + return false==user_records_press; +} diff --git a/keyboards/crkbd/keymaps/mcrown/mcrown.h b/keyboards/crkbd/keymaps/mcrown/mcrown.h new file mode 100644 index 000000000000..c3ed36eeceee --- /dev/null +++ b/keyboards/crkbd/keymaps/mcrown/mcrown.h @@ -0,0 +1,109 @@ +/** @file mcrown.h + * @brief mcrown header thant incluedes key layout and some definintions. + * + * 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 . + * + * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 + * + */ + +#pragma once + +#include QMK_KEYBOARD_H +#include "oled.h" + +#define KC_XXXXX KC_NO +#define KC_LOWER LOWER +#define KC_RAISE RAISE +#define KC_CTLTB CTL_T(KC_TAB) +#define KC_GUIEI GUI_T(KC_LANG2) +#define KC_ALTKN ALT_T(KC_LANG1) + +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) + +/* For values greater than 0x200, substract that value and add 0x20 so the characters can be mapped */ +#define RM_LSFT(kc) ((uint8_t)(0x20)+(kc-0x200)) + +/* ######################################################################### LAYOUT BLOCKS ##################################################### */ +/* -----------------------------------------BUTTON1---BUTTON2- BUTTON3------- */ +#define _____________MOD_LEFT_____________ KC_GUIEI, KC_LOWER, KC_SPC +#define _____________MOD_RIGHT____________ KC_ENT, KC_RAISE, KC_ALTKN + + +/* ------------------------------------------------------------COL1------COL2-----COL3-----COL4-----COL5-----COL6--------- */ +#define _____________________RAISE_L1_______________________ KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC +#define _____________________RAISE_L2_______________________ KC_LSFT, KC_MPLY, KC_VOLU, KC_MNXT, XXXXXXX, XXXXXXX +#define _____________________RAISE_L3_______________________ KC_CTLTB, KC_CALC, KC_VOLD, KC_MPRV, KC_BRIU, KC_BRID + +#define _____________________RAISE_R1_______________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL +#define _____________________RAISE_R2_______________________ KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV +#define _____________________RAISE_R3_______________________ KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD + +/* ------------------------------------------------------------COL1------COL2-----COL3-----COL4-----COL5-----COL6--------- */ +#define _____________________QWERTY_L1______________________ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T +#define _____________________QWERTY_L2______________________ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G +#define _____________________QWERTY_L3______________________ KC_CTLTB, KC_Z, KC_X, KC_C, KC_V, KC_B + +#define _____________________QWERTY_R1______________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC +#define _____________________QWERTY_R2______________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT +#define _____________________QWERTY_R3______________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT + +/* ------------------------------------------------------------COL1------COL2-----COL3-----COL4-----COL5-----COL6--------- */ +#define _____________________LOWER_L1_______________________ KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5 +#define _____________________LOWER_L2_______________________ KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, KC_PGDN +#define _____________________LOWER_L3_______________________ KC_CTLTB, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 + +#define _____________________LOWER_R1_______________________ KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC +#define _____________________LOWER_R2_______________________ KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_HOME, KC_END +#define _____________________LOWER_R3_______________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 + +/* ------------------------------------------------------------COL1------COL2-----COL3-----COL4-----COL5-----COL6--------- */ +#define _____________________ADJUST_L1______________________ XXXXXXX, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) + #define _____________________ADJUST_L2______________________ XXXXXXX, XXXXXXX, RGB_SPI, RGB_SAI, RGB_HUI, RGB_VAI + #define _____________________ADJUST_L3______________________ XXXXXXX, XXXXXXX, RGB_SPD, RGB_SAD, RGB_HUD, RGB_VAD +#else/* ---------------------------------------------------------------|---------|--------|--------|--------|------------- */ + #define _____________________ADJUST_L2______________________ M_VRSN, M_MALL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + #define _____________________ADJUST_L3______________________ M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +#endif/* --------------------------------------------------------------|---------|--------|--------|--------|------------- */ +#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) + #define _____________________ADJUST_R1______________________ RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + #define _____________________ADJUST_R3______________________ RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +#else/* ---------------------------------------------------------------|---------|--------|--------|--------|------------- */ + #define _____________________ADJUST_R1______________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + #define _____________________ADJUST_R3______________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +#endif/* --------------------------------------------------------------|---------|--------|--------|--------|------------- */ +#define _____________________ADJUST_R2______________________ RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + +/* Each layer gets a name for readability */ +typedef enum custom_layers { + _QWERTY, + _DVORAK, + _COLEMAK, + _LOWER, + _RAISE, + _ADJUST, + _NUMPAD, + _MAX_LAYERS +}CUSTOM_LAYERS_T; + +/* To be used to identify the current working layer */ +typedef enum custom_keycodes{ + QWERTY = SAFE_RANGE, + LOWER, + RAISE, + ADJUST, + BACKLIT, + RGBRST +}CUSTOM_KEYCODES_T; diff --git a/keyboards/crkbd/keymaps/mcrown/oled.c b/keyboards/crkbd/keymaps/mcrown/oled.c new file mode 100644 index 000000000000..b728a5806e09 --- /dev/null +++ b/keyboards/crkbd/keymaps/mcrown/oled.c @@ -0,0 +1,354 @@ +/** @file oled.h + * @brief mcrown oled service implementation. + * + * 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 . + * + * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 + * + */ + +#include QMK_KEYBOARD_H +#include +#include +#include "mcrown.h" +#include "oled.h" + +#define ASCII_TABLE_LENGTH (0x80) +#define KEYLOG_STRING_STARTUP (KEYLOG_EOL_LEN+1) +#define ALT_CODE (0x7E) +#define SPECIAL_KEYS_SHIFT(kc) (0x18+(kc)) + +static void render_keylogger_status(void); + +static char keylog_str[KEYLOG_EOL_LEN] = {' '}; +static uint16_t log_timer = 0; +static uint8_t current_cursor_pos=0; +static uint32_t cursor_oled_timer = 0; +static uint32_t standby_oled_timer = 0; +static char last_c=' '; + +/* Provides the ASCII value or the address of the character selected of the OLED font specified in glcfont.c */ +static const char ascii_t[ASCII_TABLE_LENGTH] = { + /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + /* | | | | | | | | | | | | | | | | */ + 0x0F, 0x1A, 0x1B, 0x19, 0x18, 0x0E, ' ', ' ', 0x11, 0x1C, 0x97, ' ', ' ', ' ', ' ', ' ', /* 0 */ + /* | | | | | | | | | | | | | | | | */ + ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 0x1D, ' ', ' ', ' ', ' ', /* 1 */ + /* | | | | | | | | | | | | | | | | */ + 0x16, '!', '"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', /* 2 */ + /* | | | | | | | | | | | | | | | | */ + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', /* 3 */ + /* | | | | | | | | | | | | | | | | */ + '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', /* 4 */ + /* | | | | | | | | | | | | | | | | */ + 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', /* 5 */ + /* | | | | | | | | | | | | | | | | */ + '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', /* 6 */ + /* | | | | | | | | | | | | | | | | */ + 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', 0x7F, /* 7 */ +}; + +/* This table is to remap and get the corresponding ASCII value based on the KEYCODE (taken as the index of the array) of quatum_keycodes.h module */ +static const unsigned char code_to_ascii[ASCII_TABLE_LENGTH] = { + /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ + /* | | | | | | | | | | | | | | | | */ + 0x00, 0x00, 0x00, 0x00, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', /* 0 */ + /* | | | | | | | | | | | | | | | | */ + 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', /* 1 */ + /* | | | | | | | | | | | | | | | | */ + '3', '4', '5', '6', '7', '8', '9', '0', 0x0A, 0x1B, 0x08, 0x09, ' ', '-', '=', '[', /* 2 */ + /* | | | | | | | | | | | | | | | | */ + ']', '\\', 0x00, ';', '\'', '`', ',', '.', '/', 0x00, 0x00, 0x00, 0x00, 0x00, '!', '@', /* 3 */ + /* | | | | | | | | | | | | | | | | */ + '#', '$', '%', '^', '&', '*', '(', ')', 0x00, 0x00, 0x00, 0x00, 0x00, '_', '+', '{', /* 4 */ + /* | | | | | | | | | | | | | | | | */ + '}', '|', 0x00, 0x00, 0x00, '~', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 5 */ + /* | | | | | | | | | | | | | | | | */ + 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, /* 6 */ + /* | | | | | | | | | | | | | | | | */ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, /* 7 */ +}; + +/** @brief maps the keycode to get the ascii value. + * + * If any argument is invalid, the function has no effect. + * + * @param keycode value of the pressed key. + * @return ascii value of the pressed key or a special value for non-ascii keys. + */ +inline static char get_ascii(int16_t keycode){ + uint8_t ascii_idx=0x00; + + if(keycode 300){ + cursor_oled_timer = timer_read32(); + cursor_f=!cursor_f; + } + oled_write_P(PSTR("\n>:"), false); + if(current_cursor_pos>(KEYLOG_LEN-1)){ + current_cursor_pos=0; + memset(keylog_str, ' ', sizeof(char)*KEYLOG_EOL_LEN); + /* Here the EOL is to clear with white spaces all the keylog area */ + keylog_str[KEYLOG_EOL_LEN-1] = '\0'; + oled_write(keylog_str, false); + /* Reset EOL to the begining of the keylog string */ + keylog_str[0] = '\0'; + } + oled_write(keylog_str, false); + oled_write_char(last_c, cursor_f); + +} + +/** @brief displays the current active layout. + * + * If any argument is invalid, the function has no effect. + * + * @param void. + * @return void. + */ +void render_layout_state(void){ + CUSTOM_LAYERS_T current_layer; + current_layer=(CUSTOM_LAYERS_T)get_highest_layer(layer_state); + +#ifdef OLED_VERTICAL + oled_write_P(PSTR("Lyt:\n"), false); +#else + oled_write_P(PSTR("Layout: "), false); +#endif + + switch (current_layer){ +#ifdef OLED_VERTICAL + case _COLEMAK: + oled_write_P(PSTR("Clmak\n"), false); + break; + + case _DVORAK: + oled_write_P(PSTR("Dvak\n"), false); + break; + + case _QWERTY: + oled_write_P(PSTR("Qwty\n"), false); + break; + + default: + oled_write_P(PSTR("Undf\n"), false); + break; + +#else + case _COLEMAK: + oled_write_P(PSTR("Colemak\n"), false); + break; + + case _DVORAK: + oled_write_P(PSTR("Dvorak\n"), false); + break; + + case _QWERTY: + oled_write_P(PSTR("Qwerty\n"), false); + break; + + default: + oled_write_P(PSTR("Undefined\n"), false); + break; +#endif + } +} + +/** @brief displays the current active layer. + * + * If any argument is invalid, the function has no effect. + * + * @param void. + * @return void. + */ +void render_layer_state(void){ + CUSTOM_LAYERS_T current_layer; + current_layer=(CUSTOM_LAYERS_T)get_highest_layer(layer_state); + +#ifdef OLED_VERTICAL + oled_write_P(PSTR("Lyr:\n"), false); +#else + oled_write_P(PSTR("Layer:"), false); +#endif + + switch(current_layer){ +#ifdef OLED_VERTICAL + case _LOWER: + oled_write_P(PSTR("Lwr\n"), true); + break; + + case _RAISE: + oled_write_P(PSTR("Ris\n"), true); + break; + + case _ADJUST: + oled_write_P(PSTR("Adj\n"), true); + break; + + case _NUMPAD: + oled_write_P(PSTR("Num\n"), true); + break; + + default: + oled_write_P(PSTR("Def\n"), false); + break; + +#else + case _LOWER: + oled_write_P(PSTR(" Lower "), true); + break; + + case _RAISE: + oled_write_P(PSTR(" Raise "), true); + break; + + case _ADJUST: + oled_write_P(PSTR(" Adjust "), true); + break; + + case _NUMPAD: + oled_write_P(PSTR(" Numpad "), true); + break; + + default: + oled_write_P(PSTR(" Default "), false); + break; +#endif + } +} + +/** @brief displays the current status of the main display/ + * + * If any argument is invalid, the function has no effect. + * + * @param void. + * @return void. + */ +void render_status(void){ + render_layout_state(); + oled_write_P(PSTR("\n"), false); + render_layer_state(); + render_keylogger_status(); +} + +/** @brief renders the logo to be displayed. + * + * If any argument is invalid, the function has no effect. + * + * @param void. + * @return void. + */ +static void render_logo(void){ + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, + 0x00}; + + oled_write_P(qmk_logo, false); +} + +/** @brief executes the actions for both displays. + * + * If any argument is invalid, the function has no effect. + * + * @param void. + * @return void. + */ +void oled_task_user(void){ + if (timer_elapsed32(standby_oled_timer) > 15000){ + oled_off(); + }else{ + oled_on(); + if(true==is_keyboard_master()){ + render_status(); + }else{ + render_logo(); + oled_write_P(PSTR("\n"), false); + oled_scroll_left(); + } + } +} + +/** @brief process the current key and add it to the keylog string. + * + * If any argument is invalid, the function has no effect. + * + * @param keycode pressed key. + * @return void. + */ +extern void add_keylog(uint16_t keycode){ + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)){ + keycode&=0x00FF; + } + + if(current_cursor_pos>(KEYLOG_LEN-1)||(current_cursor_pos>KEYLOG_STRING_STARTUP)){ + current_cursor_pos=0; + last_c=get_ascii(keycode); + current_cursor_pos++; + }else{ + if(keycode <= KC_TILD){ + keylog_str[current_cursor_pos]=last_c; + last_c=get_ascii(keycode); + current_cursor_pos++; + } + keylog_str[current_cursor_pos] = '\0'; + } + + log_timer = timer_read(); + + standby_oled_timer = timer_read32(); +} diff --git a/keyboards/crkbd/keymaps/mcrown/oled.h b/keyboards/crkbd/keymaps/mcrown/oled.h new file mode 100644 index 000000000000..7e7c746b9932 --- /dev/null +++ b/keyboards/crkbd/keymaps/mcrown/oled.h @@ -0,0 +1,34 @@ +/** @file oled.h + * @brief oled header that includes function prototypes and external variables. + * + * 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 . + * + * @author Mario Corona (mariocc@comunidad.unam.mx) 2021 + * + */ +#pragma once + +#include +#include "mcrown.h" + +#ifdef OLED_VERTICAL +#define KEYLOG_LEN (48) +#else +#define KEYLOG_LEN (19) +#endif + +#define KEYLOG_EOL_LEN (KEYLOG_LEN+1) + +extern void add_keylog(uint16_t keycode); +extern void update_log(void); diff --git a/keyboards/crkbd/keymaps/mcrown/readme.md b/keyboards/crkbd/keymaps/mcrown/readme.md new file mode 100644 index 000000000000..e6034b123442 --- /dev/null +++ b/keyboards/crkbd/keymaps/mcrown/readme.md @@ -0,0 +1,13 @@ +![the-frey-layout](https://raw.githubusercontent.com/MarioCorona/mcrown_pics/main/mcrown_layout.png) + +# Keyboard layout by MCrown + +This is all four layers: + +- The top indicates the RAISE layer +- The middle indicates the DEFAULT layer +- The bottom indicates the LOWER layer +- Green indicated ADJUST layer + +All the keys respond as you'd expect to the 'shift' key - i.e. on a UK/GB keyboard, `/` becomes `?` and so on. + diff --git a/keyboards/crkbd/keymaps/mcrown/rules.mk b/keyboards/crkbd/keymaps/mcrown/rules.mk new file mode 100644 index 000000000000..922e246ba9ad --- /dev/null +++ b/keyboards/crkbd/keymaps/mcrown/rules.mk @@ -0,0 +1,19 @@ + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +EXTRAKEY_ENABLE = no # Audio control and System control(+450) +RGB_MATRIX_ENABLE = yes # Enable RGB Matrix. +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend + +# If you want to change the display of OLED, you need to change here +SRC += ./lib/rgb_state_reader.c \ + ./lib/layer_state_reader.c \ + ./lib/logo_reader.c \ + ./oled.c\ diff --git a/keyboards/crkbd/keymaps/ninjonas/config.h b/keyboards/crkbd/keymaps/ninjonas/config.h index 8a4ddad7482f..d5b9a86985b6 100644 --- a/keyboards/crkbd/keymaps/ninjonas/config.h +++ b/keyboards/crkbd/keymaps/ninjonas/config.h @@ -34,9 +34,9 @@ along with this program. If not, see . #define RGB_MATRIX_SAT_STEP 10 #define RGB_MATRIX_VAL_STEP 10 #define RGB_MATRIX_SPD_STEP 10 - // #define RGB_MATRIX_KEYPRESSES + // #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS - + // BEGIN: Disable RGB Effects //#define DISABLE_RGB_MATRIX_SOLID_COLOR //#define DISABLE_RGB_MATRIX_ALPHAS_MODS @@ -82,7 +82,9 @@ along with this program. If not, see . #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // END: RGB_MATRIX_KEYPRESSES // END: Disable RGB Effects -#endif +#endif #define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" -#define OLED_DISABLE_TIMEOUT \ No newline at end of file +#define OLED_DISABLE_TIMEOUT + +#define LAYOUT LAYOUT_split_3x6_3 diff --git a/keyboards/crkbd/keymaps/ninjonas/keymap.c b/keyboards/crkbd/keymaps/ninjonas/keymap.c index 57cc23226dc5..bea80d2fd655 100644 --- a/keyboards/crkbd/keymaps/ninjonas/keymap.c +++ b/keyboards/crkbd/keymaps/ninjonas/keymap.c @@ -1,6 +1,8 @@ #include QMK_KEYBOARD_H #include "ninjonas.h" +uint8_t is_master; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT_wrapper( //,----------------------------------------------------. ,----------------------------------------------------. @@ -98,4 +100,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`---------------------' `---------------------' ), */ -}; \ No newline at end of file +}; diff --git a/keyboards/crkbd/keymaps/ninjonas/rules.mk b/keyboards/crkbd/keymaps/ninjonas/rules.mk index 3c3bf923e641..c40a827798ac 100644 --- a/keyboards/crkbd/keymaps/ninjonas/rules.mk +++ b/keyboards/crkbd/keymaps/ninjonas/rules.mk @@ -1,6 +1,7 @@ RGB_MATRIX_ENABLE = yes MOUSEKEY_ENABLE = no -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 LTO_ENABLE = yes # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE diff --git a/keyboards/crkbd/keymaps/oled_sample/keymap.c b/keyboards/crkbd/keymaps/oled_sample/keymap.c index f2d5770b63e7..14b453585572 100644 --- a/keyboards/crkbd/keymaps/oled_sample/keymap.c +++ b/keyboards/crkbd/keymaps/oled_sample/keymap.c @@ -38,21 +38,21 @@ enum crkbd_layers { #define ALTKN ALT_T(KC_LANG1) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( + [_QWERTY] = LAYOUT_split_3x6_3( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, CTLTB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, GUIEI, LOWER, KC_SPC, KC_ENT, RAISE, ALTKN ), - [_LOWER] = LAYOUT( + [_LOWER] = LAYOUT_split_3x6_3( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, CTLTB, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, KC_LSFT, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX, GUIEI, LOWER, KC_SPC, KC_ENT, RAISE, ALTKN ), - [_RAISE] = LAYOUT( + [_RAISE] = LAYOUT_split_3x6_3( KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, CTLTB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), - [_ADJUST] = LAYOUT( + [_ADJUST] = LAYOUT_split_3x6_3( RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, @@ -74,7 +74,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) { return OLED_ROTATION_270; @@ -192,7 +192,7 @@ void render_status_main(void) { void oled_task_user(void) { update_log(); - if (is_master) { + if (is_keyboard_master()) { render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) } else { render_crkbd_logo(); diff --git a/keyboards/crkbd/keymaps/oled_sample/rules.mk b/keyboards/crkbd/keymaps/oled_sample/rules.mk index fb480bba88c9..d9db223cfa5e 100644 --- a/keyboards/crkbd/keymaps/oled_sample/rules.mk +++ b/keyboards/crkbd/keymaps/oled_sample/rules.mk @@ -4,4 +4,5 @@ # the appropriate keymap folder that will get included automatically # RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/omgvee/config.h b/keyboards/crkbd/keymaps/omgvee/config.h deleted file mode 100644 index 5699c3bebe57..000000000000 --- a/keyboards/crkbd/keymaps/omgvee/config.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 USE_MATRIX_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define SSD1306OLED - -#define USE_SERIAL_PD2 - -#define TAPPING_FORCE_HOLD -#define TAPPING_TERM 100 - -#undef RGBLED_NUM -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 -#define BACKLIGHT_LEVELS 10 - -#undef PRODUCT -#define PRODUCT "Vee's hotswappable Helidox/Corne/CRKBD split keeb" - -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/crkbd/keymaps/omgvee/keymap.c b/keyboards/crkbd/keymaps/omgvee/keymap.c deleted file mode 100644 index 2c33d8b8c577..000000000000 --- a/keyboards/crkbd/keymaps/omgvee/keymap.c +++ /dev/null @@ -1,242 +0,0 @@ -#include QMK_KEYBOARD_H -#include "bootloader.h" -#ifdef PROTOCOL_LUFA - #include "lufa.h" - #include "split_util.h" -#endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif - -extern keymap_config_t keymap_config; - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -extern uint8_t is_master; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _ADJUST 3 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, - BACKLIT, - RGBRST -}; - -enum macro_keycodes { - KC_SAMPLEMACRO, -}; - -#define KC______ KC_TRNS -#define KC_XXXXX KC_NO -#define KC_LOWER LOWER -#define KC_RAISE RAISE -#define KC_RST RESET -#define KC_ERST EEPROM_RESET -#define KC_LRST RGBRST -#define KC_LTOG RGB_TOG -#define KC_LHUI RGB_HUI -#define KC_LHUD RGB_HUD -#define KC_LSAI RGB_SAI -#define KC_LSAD RGB_SAD -#define KC_LVAI RGB_VAI -#define KC_LVAD RGB_VAD -#define KC_LMOD RGB_MOD -#define KC_SFCPS SFT_T(KC_CAPS) -#define KC_CTLTB CTL_T(KC_TAB) -#define KC_GUIEI GUI_T(KC_LANG2) -#define KC_ALTKN ALT_T(KC_LANG1) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - SFCPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - CTLTB, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - GUIEI, LOWER, ENT, SPC, RAISE, ALTKN \ - //`--------------------' `--------------------' - ), - - [_LOWER] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - SFCPS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, ENT,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - CTLTB, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, RSFT,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - GUIEI, LOWER, ENT, SPC, RAISE, ALTKN \ - //`--------------------' `--------------------' - ), - - [_RAISE] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - TAB, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, DEL,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - SFCPS, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, MINS, EQL, LCBR, RCBR, PIPE, BSLS,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - CTLTB, XXXXX, VOLD, VOLU, MUTE, MPLY, UNDS, PLUS, LBRC, RBRC, SLSH, RSFT,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - GUIEI, LOWER, ENT, SPC, RAISE, ALTKN \ - //`--------------------' `--------------------' - ), - - [_ADJUST] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - RST, LRST, XXXXX, XXXXX, XXXXX, ERST, MNXT, MPRV, MFFD, MRWD, XXXXX, EJCT,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - LTOG, LHUI, LSAI, LVAI, PGUP, HOME, LEFT, DOWN, UP, RIGHT, XXXXX, INS,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - LMOD, LHUD, LSAD, LVAD, PGDN, END, BRID, BRIU, VOLD, VOLU, MUTE, MPLY,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - GUIEI, LOWER, ENT, SPC, RAISE, ALTKN \ - //`--------------------' `--------------------' - ) -}; - -int RGB_current_mode; - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; - #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -// When add source files to SRC in rules.mk, you can use functions. -const char *read_layer_state(void); -const char *read_logo(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); -const char *read_keylog(void); -const char *read_keylogs(void); - -// const char *read_mode_icon(bool swap); -// const char *read_host_led_state(void); -// void set_timelog(void); -// const char *read_timelog(void); - -void matrix_scan_user(void) { - iota_gfx_task(); -} - -void matrix_render_user(struct CharacterMatrix *matrix) { - if (is_master) { - // If you want to change the display of OLED, you need to change here - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_keylog()); - matrix_write_ln(matrix, read_keylogs()); - //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); - //matrix_write_ln(matrix, read_host_led_state()); - //matrix_write_ln(matrix, read_timelog()); - } else { - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_keylog()); - matrix_write_ln(matrix, read_keylogs()); - //matrix_write(matrix, read_logo()); - } -} - -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); -} -#endif//SSD1306OLED - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { -#ifdef SSD1306OLED - set_keylog(keycode, record); -#endif - // set_timelog(); - } - - switch (keycode) { - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - case RGB_MOD: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_config.mode; - } - #endif - return false; - break; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_config.mode; - } - #endif - break; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/omgvee/readme.md b/keyboards/crkbd/keymaps/omgvee/readme.md deleted file mode 100644 index bc316c2a351a..000000000000 --- a/keyboards/crkbd/keymaps/omgvee/readme.md +++ /dev/null @@ -1,18 +0,0 @@ -# Reade.md for what I want from my HeliDox(CRKBD) layout -====================================================== - - -![My beloved HeliDox keeb](https://i.imgur.com/NbVAB3g.jpg) - -- media keys and media controls -- in-switch LED intensity controls (+/-) -- underglow RGB hue/color controls -- underglow RGB intensity controls -- familiar key arrangement with Enter and symbols on the usual keys (to the right hand side) -- navigation keys should be the vim ones really; -- arrow keys on one layer(most likely on the ADJUST one) - -See keymap.c for layouts - - -P.S> this lil' keeb is so addictive I have no words, really... diff --git a/keyboards/crkbd/keymaps/omgvee/rules.mk b/keyboards/crkbd/keymaps/omgvee/rules.mk deleted file mode 100644 index 88e43aa99f34..000000000000 --- a/keyboards/crkbd/keymaps/omgvee/rules.mk +++ /dev/null @@ -1,32 +0,0 @@ - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -EXTRAFLAGS += -flto -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -SWAP_HANDS_ENABLE = no # Enable one-hand typing - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -# If you want to change the display of OLED, you need to change here -SRC += ./lib/glcdfont.c \ - ./lib/rgb_state_reader.c \ - ./lib/layer_state_reader.c \ - ./lib/logo_reader.c \ - ./lib/keylogger.c \ - # ./lib/mode_icon_reader.c \ - # ./lib/host_led_state_reader.c \ - # ./lib/timelogger.c \ diff --git a/keyboards/crkbd/keymaps/oo/config.h b/keyboards/crkbd/keymaps/oo/config.h new file mode 100644 index 000000000000..8dc71430a109 --- /dev/null +++ b/keyboards/crkbd/keymaps/oo/config.h @@ -0,0 +1,28 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 SPLIT_USB_DETECT + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 100 + +#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/oo/keymap.c b/keyboards/crkbd/keymaps/oo/keymap.c new file mode 100644 index 000000000000..c0416d9726fb --- /dev/null +++ b/keyboards/crkbd/keymaps/oo/keymap.c @@ -0,0 +1,166 @@ +/* + Copyright 2019 @foostan + Copyright 2020 Drashna Jaelre <@drashna> + Copyright 2021 Oliver Ocean <@oliverocean> + + 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_split_3x6_3( + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RALT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + 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_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, MO(1), KC_ENT, MO(2), KC_SPC, KC_RGUI + // |--------+--------+--------| |--------+--------+--------| + ), + + [1] = LAYOUT_split_3x6_3( + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_BSLS, KC_UNDS, KC_TAB, KC_PEQL, KC_TILD, KC_GRV, KC_PEQL, KC_TAB, KC_UNDS, KC_BSLS, 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_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_TRNS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_TRNS + // |--------+--------+--------| |--------+--------+--------| + ), + + [2] = LAYOUT_split_3x6_3( + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_PIPE, KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, KC_RPRN, KC_GT, KC_PIPE, KC_TRNS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PMNS, KC_PPLS, KC_TRNS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_CAPS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_CAPS, KC_TRNS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS + // |--------+--------+--------| |--------+--------+--------| + ) + +}; + + +#ifdef OLED_ENABLE +#include +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + return rotation; +} + +#define L_BASE 0 +#define L_LOWER 2 +#define L_RAISE 4 +#define L_ADJUST 8 + +void oled_render_layer_state(void) { + oled_write_P(PSTR("Layer: "), false); + switch (layer_state) { + case L_BASE: + oled_write_ln_P(PSTR("Default"), false); + break; + case L_LOWER: + oled_write_ln_P(PSTR("Lower"), false); + break; + case L_RAISE: + oled_write_ln_P(PSTR("Raise"), false); + break; + case L_ADJUST: + case L_ADJUST|L_LOWER: + case L_ADJUST|L_RAISE: + case L_ADJUST|L_LOWER|L_RAISE: + oled_write_ln_P(PSTR("Adjust"), false); + break; + } +} + + +char keylog_str[24] = {}; + +const char code_to_name[60] = { + ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', + 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', + '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; + +void set_keylog(uint16_t keycode, keyrecord_t *record) { + char name = ' '; + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || + (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } + if (keycode < 60) { + name = code_to_name[keycode]; + } + + // update keylog + snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", + record->event.key.row, record->event.key.col, + keycode, name); +} + +void oled_render_keylog(void) { + oled_write(keylog_str, false); +} + +void render_bootmagic_status(bool status) { + /* Show Ctrl-Gui Swap options */ + static const char PROGMEM logo[][2][3] = { + {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, + {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, + }; + if (status) { + oled_write_ln_P(logo[0][0], false); + oled_write_ln_P(logo[0][1], false); + } else { + oled_write_ln_P(logo[1][0], false); + oled_write_ln_P(logo[1][1], false); + } +} + +void oled_render_logo(void) { + static const char PROGMEM crkbd_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, + 0}; + oled_write_P(crkbd_logo, false); +} + +void oled_task_user(void) { + if (is_keyboard_master()) { + oled_render_layer_state(); + oled_render_keylog(); + } else { + oled_render_logo(); + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + set_keylog(keycode, record); + } + return true; +} +#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/oo/readme.md b/keyboards/crkbd/keymaps/oo/readme.md new file mode 100644 index 000000000000..e7ef68659959 --- /dev/null +++ b/keyboards/crkbd/keymaps/oo/readme.md @@ -0,0 +1,19 @@ +# Build instructions + +```zsh +# if this is a fresh install of QMK, don't forget to run setup +# or you might be missing necessary tools and libraries! +# https://docs.qmk.fm/#/newbs_getting_started +$ qmk setup + +# using json via the configurator can be easier than starting from scratch +# but you will need to go back and make the formatting readable for future edits +$ qmk json2c -o keymap.c keymap.json + +# compile; use appropriate tool for your microcontroller +$ qmk compile -kb crkbd/rev1/common -km oo + +# flash; each side has to be done separately +$ qmk flash -kb crkbd/rev1/common -km oo + +``` diff --git a/keyboards/crkbd/keymaps/oo/rules.mk b/keyboards/crkbd/keymaps/oo/rules.mk new file mode 100644 index 000000000000..d34d066ded93 --- /dev/null +++ b/keyboards/crkbd/keymaps/oo/rules.mk @@ -0,0 +1,2 @@ +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/rarick/config.h b/keyboards/crkbd/keymaps/rarick/config.h new file mode 100644 index 000000000000..dca1af4cafb2 --- /dev/null +++ b/keyboards/crkbd/keymaps/rarick/config.h @@ -0,0 +1,48 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 + + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 100 + +#ifdef RGBLIGHT_ENABLE + #undef RGBLED_NUM + #define RGBLIGHT_ANIMATIONS + #define RGBLED_NUM 27 + #define RGBLIGHT_LIMIT_VAL 120 + #define RGBLIGHT_HUE_STEP 10 + #define RGBLIGHT_SAT_STEP 17 + #define RGBLIGHT_VAL_STEP 17 +#endif + +// Sets path to OLED font +#define OLED_FONT_H "keyboards/crkbd/keymaps/rarick/glcdfont.c" + +// Limits maximum brightness of LEDs to 150 out of 255 +// Higher may cause the controller to crash. +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 diff --git a/keyboards/crkbd/keymaps/rarick/glcdfont.c b/keyboards/crkbd/keymaps/rarick/glcdfont.c new file mode 100644 index 000000000000..ae81ba573765 --- /dev/null +++ b/keyboards/crkbd/keymaps/rarick/glcdfont.c @@ -0,0 +1,233 @@ +// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. +// See gfxfont.h for newer custom bitmap font info. + +#include "progmem.h" + +// Standard ASCII 5x7 font +// Cowboy Bebop +const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, + 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, + 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, + 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, + 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, + 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, + 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, + 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, + 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, + 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, + 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, + 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, + 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, + 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, + 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, + 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, + 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, + 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, + 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, + 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, + 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, + 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, + 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, + 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, + 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, + 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, + 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, + 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, + 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, + 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, + 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, + 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, + 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, + 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, + 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, + 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, + 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, + 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, + 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, + 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, + 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, + 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, + 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, + 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, + 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, + 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, + 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, + 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, + 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, + 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, + 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, + 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, + 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, + 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, + 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, + 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, + 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, + 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, + 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, + 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, + 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, + 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, + 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, + 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, + 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, + 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, + 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, + 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, + 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, + 0x06, 0x06, 0x06, 0x7F, 0xFF, 0xFF, + 0xFF, 0x07, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, + 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, + 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, + 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, + 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, + 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, + 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, + 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0xFF, 0xFF, + 0xFF, 0x36, 0x3E, 0x7F, 0x3E, 0x1C, + 0x1C, 0x1C, 0x1C, 0x7F, 0xFF, 0x1C, + 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x00, + 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, + 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, + 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, + 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, + 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, + 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, + 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, + 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, + 0x30, 0x30, 0x30, 0x7F, 0x7F, 0x7F, + 0x7F, 0x70, 0x40, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x48, + 0x54, 0x24, 0x00, 0x78, 0x54, 0x54, + 0x04, 0x78, 0x54, 0x54, 0x04, 0x00, + 0x00, 0x0C, 0x70, 0x08, 0x04, 0x78, + 0x44, 0x44, 0x3C, 0x00, 0x78, 0x40, + 0x40, 0x3C, 0x00, 0x00, 0x40, 0x48, + 0x54, 0x24, 0x00, 0x78, 0x14, 0x14, + 0x48, 0x30, 0x28, 0x7C, 0x00, 0x78, + 0x44, 0x44, 0x04, 0x78, 0x54, 0x54, + 0x04, 0x00, 0x00, 0x78, 0x44, 0x44, + 0x04, 0x78, 0x44, 0x44, 0x3C, 0x00, + 0x7C, 0x20, 0x18, 0x78, 0x30, 0x0C, + 0x78, 0x54, 0x54, 0x28, 0x78, 0x44, + 0x44, 0x3C, 0x00, 0x0C, 0x70, 0x08, + 0x44, 0x00, 0x40, 0x00, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/crkbd/keymaps/rarick/keymap.c b/keyboards/crkbd/keymaps/rarick/keymap.c new file mode 100644 index 000000000000..b11bac1e727f --- /dev/null +++ b/keyboards/crkbd/keymaps/rarick/keymap.c @@ -0,0 +1,177 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> + +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 +#include + +#define KC_SFTTB LSFT_T(KC_TAB) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_SFTTB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LALT, MO(1), KC_SPC, KC_ENT, MO(2), KC_RGUI + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + _______, KC_PGUP, KC_UP, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, KC_7, KC_8, KC_9, KC_0, KC_DEL, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_HOME, KC_4, KC_5, KC_6, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_END, KC_1, KC_2, KC_3, XXXXXXX, _______, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, MO(3), _______ + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + _______, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, MO(3), _______, _______, _______, _______ + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______ + //`--------------------------' `--------------------------' + ) +}; + +#ifdef OLED_DRIVER_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + return rotation; +} + +#define L_BASE 0 +#define L_LOWER 2 +#define L_RAISE 4 +#define L_ADJUST 8 + +void oled_render_layer_state(void) { + oled_write_P(PSTR("Layer: "), false); + switch (layer_state) { + case L_BASE: + oled_write_ln_P(PSTR("Spike"), false); + break; + case L_LOWER: + oled_write_ln_P(PSTR("Jet"), false); + break; + case L_RAISE: + oled_write_ln_P(PSTR("Faye"), false); + break; + case L_ADJUST: + case L_ADJUST|L_LOWER: + case L_ADJUST|L_RAISE: + case L_ADJUST|L_LOWER|L_RAISE: + oled_write_ln_P(PSTR("Ed"), false); + break; + } +} + +char keylog_str[24] = {}; + +const char code_to_name[60] = { + ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', + 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', + '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; + +void set_keylog(uint16_t keycode, keyrecord_t *record) { + char name = ' '; + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || + (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } + if (keycode < 60) { + name = code_to_name[keycode]; + } + + // update keylog + snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", + record->event.key.row, record->event.key.col, + keycode, name); +} + +void oled_render_keylog(void) { + oled_write(keylog_str, false); +} + +void render_bootmagic_status(bool status) { + /* Show Ctrl-Gui Swap options */ + static const char PROGMEM logo[][2][3] = { + {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, + {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, + }; + if (status) { + oled_write_ln_P(logo[0][0], false); + oled_write_ln_P(logo[0][1], false); + } else { + oled_write_ln_P(logo[1][0], false); + oled_write_ln_P(logo[1][1], false); + } +} + +void oled_render_logo(void) { + static const char PROGMEM crkbd_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, + 0}; + oled_write_P(crkbd_logo, false); +} + +void oled_task_user(void) { + if (is_keyboard_master()) { + oled_render_layer_state(); + oled_render_keylog(); + } else { + oled_render_logo(); + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + set_keylog(keycode, record); + } + return true; +} + +#endif // OLED_DRIVER_ENABLE diff --git a/keyboards/crkbd/keymaps/rarick/rules.mk b/keyboards/crkbd/keymaps/rarick/rules.mk new file mode 100644 index 000000000000..775268a1d472 --- /dev/null +++ b/keyboards/crkbd/keymaps/rarick/rules.mk @@ -0,0 +1,14 @@ +# Bootloader for the elite-c +BOOTLOADER = atmel-dfu + +# Enable RGB matric +RGB_MATRIX_ENABLE = yes + +# Enable OLED driver +OLED_DRIVER_ENABLE = yes + +# Enable media keys +EXTRAKEY_ENABLE = yes + +# Disabled to save space +MOUSEKEY_ENABLE = no diff --git a/keyboards/crkbd/keymaps/rjhilgefort/keymap.c b/keyboards/crkbd/keymaps/rjhilgefort/keymap.c index a9dbe7657ab6..7ca234a0eee4 100644 --- a/keyboards/crkbd/keymaps/rjhilgefort/keymap.c +++ b/keyboards/crkbd/keymaps/rjhilgefort/keymap.c @@ -103,9 +103,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE +# include + oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_master) { + if (!is_keyboard_master()) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand } return rotation; @@ -203,7 +205,7 @@ void oled_render_logo(void) { } void oled_task_user(void) { - if (is_master) { + if (is_keyboard_master()) { oled_render_layer_state(); oled_render_keylog(); } else { @@ -217,4 +219,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } -#endif // OLED_DRIVER_ENABLE +#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/rjhilgefort/rules.mk b/keyboards/crkbd/keymaps/rjhilgefort/rules.mk index a1b6e79e7e26..c6c258e255e1 100644 --- a/keyboards/crkbd/keymaps/rjhilgefort/rules.mk +++ b/keyboards/crkbd/keymaps/rjhilgefort/rules.mk @@ -4,4 +4,5 @@ BOOTLOADER = atmel-dfu # https://www.reddit.com/r/olkb/comments/9pyc0u/qmk_media_keys_are_not_working/ EXTRAKEY_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/rpbaptist/config.h b/keyboards/crkbd/keymaps/rpbaptist/config.h index 6bd16725f54d..3c5222eda850 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/config.h +++ b/keyboards/crkbd/keymaps/rpbaptist/config.h @@ -25,7 +25,7 @@ along with this program. If not, see . /* Select hand configuration */ #define EE_HANDS -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE # undef SSD1306OLED # define OLED_TIMEOUT 600000 #endif @@ -42,7 +42,7 @@ along with this program. If not, see . #define NO_ACTION_ONESHOT #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 # define RGB_MATRIX_HUE_STEP 8 diff --git a/keyboards/crkbd/keymaps/rpbaptist/keymap.c b/keyboards/crkbd/keymaps/rpbaptist/keymap.c index 0296749d0971..d632e255d5d5 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/keymap.c +++ b/keyboards/crkbd/keymaps/rpbaptist/keymap.c @@ -1,6 +1,5 @@ #include QMK_KEYBOARD_H -extern uint8_t is_master; static uint32_t oled_timer = 0; #ifdef RGB_MATRIX_ENABLE @@ -84,7 +83,7 @@ user_config_t user_config; #define KC_EUR ALGR(KC_5) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_COLEMAKDHM] = LAYOUT( \ + [_COLEMAKDHM] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, BSP_DEL,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -96,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' `--------------------------' ), - [_GAMING] = LAYOUT( \ + [_GAMING] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -108,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' `--------------------------' ), - [_GAMING_EXT] = LAYOUT( \ + [_GAMING_EXT] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. KC_GRV, KC_1, KC_2, _______, KC_3, KC_4, _______, _______, _______, _______, _______, KC_DEL,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -120,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' `--------------------------' ), - [_NUMPAD] = LAYOUT( \ + [_NUMPAD] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_EUR, KC_P7, KC_P8, KC_P9, XXXXXXX, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -132,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' `--------------------------' ), - [_SYM] = LAYOUT( \ + [_SYM] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -144,7 +143,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' `--------------------------' ), - [_NAV] = LAYOUT( \ + [_NAV] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_BSPC,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -156,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' `--------------------------' ), - [_UTIL] = LAYOUT( \ + [_UTIL] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. RESET, XXXXXXX, KC_MPRV, KC_VOLU, KC_MNXT, COLEMAK, RGB_IDL, RGB_MAP, RGB_NXS, XXXXXXX, RGB_HUD, RGB_HUI,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -181,9 +180,9 @@ layer_state_t layer_state_set_user(layer_state_t state) { return state; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_master) { + if (is_keyboard_master()) { return OLED_ROTATION_270; } else { return OLED_ROTATION_180; @@ -299,7 +298,7 @@ void oled_task_user(void) { oled_on(); } - if (is_master) { + if (is_keyboard_master()) { render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) } else { render_crkbd_logo(); @@ -344,7 +343,7 @@ void check_default_layer(uint8_t type) { void rgb_matrix_indicators_user(void) { if ( - user_config.rgb_layer_change && !g_suspend_state && rgb_matrix_config.enable && + user_config.rgb_layer_change && rgb_matrix_config.enable && (!user_config.rgb_matrix_idle_anim || rgb_matrix_get_mode() != user_config.rgb_matrix_idle_mode) ) { diff --git a/keyboards/crkbd/keymaps/rpbaptist/rules.mk b/keyboards/crkbd/keymaps/rpbaptist/rules.mk index 623de8c9412f..2366f669a0d2 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/rules.mk +++ b/keyboards/crkbd/keymaps/rpbaptist/rules.mk @@ -11,7 +11,7 @@ NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: http MOUSEKEY_ENABLE = no # Mouse keys(+4700) RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality @@ -28,7 +28,8 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend BOOTLOADER = qmk-dfu -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 ifeq ($(strip $(THEME)), godspeed) OPT_DEFS += -DTHEME_GODSPEED diff --git a/keyboards/crkbd/keymaps/rs/config.h b/keyboards/crkbd/keymaps/rs/config.h index 9701c2b3f2c1..a2d5092deeab 100644 --- a/keyboards/crkbd/keymaps/rs/config.h +++ b/keyboards/crkbd/keymaps/rs/config.h @@ -28,7 +28,7 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED +// #define SSD1306OLED #define USE_SERIAL_PD2 diff --git a/keyboards/crkbd/keymaps/rs/keymap.c b/keyboards/crkbd/keymaps/rs/keymap.c index 135ccb076c06..7e2a2e066eaa 100644 --- a/keyboards/crkbd/keymaps/rs/keymap.c +++ b/keyboards/crkbd/keymaps/rs/keymap.c @@ -2,37 +2,37 @@ #include "rs.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( + [_QWERTY] = LAYOUT( //,----+----+----+----+----+----. ,----+----+----+----+----+----. - TAB , Q , W , E , R , T , Y , U , I , O , P ,EQL , + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_EQL , //|----+----+----+----+----+----| |----+----+----+----+----+----| - ESCC, A , S , D , F , G , H , J , K , L ,SCLN,QUOT, + KC_ESCC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, //|----+----+----+----+----+----+ |----+----+----+----+----+----| - LSFT, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,ENTS, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_ENTS, //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' - LALT,LGUI,SPC , BSPC,CODE,FN + KC_LALT,KC_LGUI,KC_SPC , KC_BSPC,KC_CODE,KC_FN // `----+----+----' `+---+----+----'c ), - [_CODE] = LAYOUT_kc( + [_CODE] = LAYOUT( //,----+----+----+----+----+----. ,----+----+----+----+----+----. - GRV ,EXLM, AT ,HASH, DLR,PERC, CIRC,LPLT,ASTR,RPGT,NEQL, , + KC_GRV ,KC_EXLM, KC_AT ,KC_HASH, KC_DLR,KC_PERC, KC_CIRC,KC_LPLT,KC_ASTR,KC_RPGT,KC_NEQL,_______, //|----+----+----+----+----+----| |----+----+----+----+----+----| - , 1 , 2 , 3 , 4 , 5 , MINS,LBRC, UP ,RBRC, ,BSLS, + _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_MINS,KC_LBRC, KC_UP ,KC_RBRC,_______,KC_BSLS, //|----+----+----+----+----+----+ |----+----+----+----+----+----| - , 6 , 7 , 8 , 9 , 0 , AMPR,LEFT,DOWN,RGHT, ,PIPE, + _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_AMPR,KC_LEFT,KC_DOWN,KC_RGHT,_______,KC_PIPE, //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' - , ,DOT , , , + _______,_______,KC_DOT , _______,_______,_______ // `----+----+----' `----+----+----' ), - [_FN] = LAYOUT_kc( + [_FN] = LAYOUT( //,----+----+----+----+----+----. ,----+----+----+----+----+----. - , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 , F10, F11, + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, //|----+----+----+----+----+----| |----+----+----+----+----+----| - LTOG,LHUI,LSAI,LVAI,LRST,BRMU, VOLU, ,PGUP, , , , + KC_LTOG,KC_LHUI,KC_LSAI,KC_LVAI,KC_LRST,KC_BRMU, KC_VOLU,_______,KC_PGUP,_______,_______,_______, //|----+----+----+----+----+----+ |----+----+----+----+----+----| - LMOD,LHUD,LSAD,LVAD,RST ,BRMD, VOLD,CTRA,PGDN,CTRE, , , + KC_LMOD,KC_LHUD,KC_LSAD,KC_LVAD,KC_RST ,KC_BRMD, KC_VOLD,KC_CTRA,KC_PGDN,KC_CTRE,_______,_______, //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' - , , , MUTE, , + _______,_______,_______, KC_MUTE,_______,_______ // `----+----+----' `----+----+----' ), }; diff --git a/keyboards/crkbd/keymaps/rs/oled.c b/keyboards/crkbd/keymaps/rs/oled.c index c94dff9eda9e..bd8ae7d299d9 100644 --- a/keyboards/crkbd/keymaps/rs/oled.c +++ b/keyboards/crkbd/keymaps/rs/oled.c @@ -61,7 +61,7 @@ void keylog_set_keymap(uint16_t keycode, keyrecord_t *record) { set_keylog(keycode, record); } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { for (layer_name_idx = 0; layer_name_idx < LAYER_DISPLAY_MAX; ++layer_name_idx) { if (state == 0 && layer_display_name[layer_name_idx].state == default_layer_state) { break; diff --git a/keyboards/crkbd/keymaps/rs/rules.mk b/keyboards/crkbd/keymaps/rs/rules.mk index 683b4b70ddd1..c754ebdcbcf8 100644 --- a/keyboards/crkbd/keymaps/rs/rules.mk +++ b/keyboards/crkbd/keymaps/rs/rules.mk @@ -3,7 +3,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -14,7 +14,7 @@ MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing TAP_DANCE_ENABLE = no diff --git a/keyboards/crkbd/keymaps/snowe/config.h b/keyboards/crkbd/keymaps/snowe/config.h new file mode 100644 index 000000000000..b624b589bccf --- /dev/null +++ b/keyboards/crkbd/keymaps/snowe/config.h @@ -0,0 +1,55 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 USE_MATRIX_I2C + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define USE_SERIAL_PD2 + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 200 + +#define IGNORE_MOD_TAP_INTERRUPT +#undef PERMISSIVE_HOLD + +#ifdef RGBLIGHT_ENABLE + #undef RGBLED_NUM + #define RGBLIGHT_ANIMATIONS + #define RGBLED_NUM 27 + #define RGBLIGHT_LIMIT_VAL 120 + #define RGBLIGHT_HUE_STEP 10 + #define RGBLIGHT_SAT_STEP 17 + #define RGBLIGHT_VAL_STEP 17 +#endif + +#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" + +// fix for me putting alt under A and being a fast typist +#define IGNORE_MOD_TAP_INTERRUPT +//#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY + +#define LAYER_STATE_8BIT \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/snowe/keycode_aliases.h b/keyboards/crkbd/keymaps/snowe/keycode_aliases.h new file mode 100644 index 000000000000..bd70a79aa560 --- /dev/null +++ b/keyboards/crkbd/keymaps/snowe/keycode_aliases.h @@ -0,0 +1,81 @@ +/* + * Copyright 2020 Drashna Jaelre <@drashna> + * Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010> + * + * 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 GUI_ESC GUI_T(KC_ESC) +#define CTL_ESC CTL_T(KC_ESC) +#define SH_BKSP SFT_T(KC_BSPC) +#define SP_RAIS LT(_UPPER, KC_SPC) + +#define LOWER MO(_LOWER) +#define RAISE MO(_UPPER) +#define ADJUST MO(_ADJUST) +#define TG_MODS TG(_MODS) +//#define TG_GAME TG(_GAMEPAD) +//#define OS_LWR OSL(_LOWER) +//#define OS_RSE OSL(_UPPER) + +//#define KC_SEC1 KC_SECRET_1 +//#define KC_SEC2 KC_SECRET_2 +//#define KC_SEC3 KC_SECRET_3 +//#define KC_SEC4 KC_SECRET_4 +//#define KC_SEC5 KC_SECRET_5 + +#define QWERTY KC_QWERTY +#define DVORAK KC_DVORAK +#define COLEMAK KC_COLEMAK +#define WORKMAN KC_WORKMAN + +#define KC_RESET RESET +#define KC_RST KC_RESET + +#ifdef SWAP_HANDS_ENABLE +# define KC_C1R3 SH_TT +#else // SWAP_HANDS_ENABLE +# define KC_C1R3 KC_BSPC +#endif // SWAP_HANDS_ENABLE + +#define BK_LWER LT(_LOWER, KC_BSPC) +#define SP_LWER LT(_LOWER, KC_SPC) +#define DL_RAIS LT(_UPPER, KC_DEL) +#define ET_RAIS LT(_UPPER, KC_ENTER) +#define SFT_ENT SFT_T(KC_ENTER) +#define SP_RAIS LT(_UPPER, KC_SPC) + +/* OSM keycodes, to keep things clean and easy to change */ +#define KC_MLSF OSM(MOD_LSFT) +#define KC_MRSF OSM(MOD_RSFT) + +#define OS_LGUI OSM(MOD_LGUI) +#define OS_RGUI OSM(MOD_RGUI) +#define OS_LSFT OSM(MOD_LSFT) +#define OS_RSFT OSM(MOD_RSFT) +#define OS_LCTL OSM(MOD_LCTL) +#define OS_RCTL OSM(MOD_RCTL) +#define OS_LALT OSM(MOD_LALT) +#define OS_RALT OSM(MOD_RALT) +#define OS_MEH OSM(MOD_MEH) +#define OS_HYPR OSM(MOD_HYPR) + +#define ALT_APP ALT_T(KC_APP) + +#define MG_NKRO MAGIC_TOGGLE_NKRO + +#define UC_IRNY UC(0x2E2E) +#define UC_CLUE UC(0x203D) diff --git a/keyboards/crkbd/keymaps/snowe/keymap.c b/keyboards/crkbd/keymaps/snowe/keymap.c new file mode 100644 index 000000000000..4dfd6ecbeba5 --- /dev/null +++ b/keyboards/crkbd/keymaps/snowe/keymap.c @@ -0,0 +1,190 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> +Copyright 2021 Tyler Thrailkill <@snowe/@snowe2010> + +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 +#include "snowe.h" + +// Symbols chart +// ↯ hyper key (ctrl, alt, shift, super) +// ⌘ command +// ⌥ option +// ⌃ control +// ⇧ shift +// ⌫ backspace +// ⌦ delete +// ⎋ escape +// ↩ enter + +/* Wrapper + * ,-----------------------------------------------. .-----------------------------------------------. + * | Tab | K01 | K02 | K03 | K04 | K05 | | K06 | K07 | K08 | K09 | K0A | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | ⌘/⎋ | ⌃/K11 | K12 | K13 | K14 | K15 | | K16 | K17 | K18 | K19 | ⌥/K1A | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | ↯/⌦ | ⌥/K21 | K22 | K23 | K24 | K25 | | K26 | K27 | K28 | K29 | ⌃/K2A | | + * `-----------------------. | | .-----------------------' + * |-------+-------+-------| |-------+-------+-------| + * | ⌃ | ⇧/↩ | ⌫/LWR | | ␣/RAY | ␣ | R ⌥ | + * `-----------------------' '-----------------------' + */ +// clang-format off +#define LAYOUT_crkbd_base( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ + ) \ + LAYOUT_wrapper( \ + KC_TAB, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ + GUI_ESC, CTL_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, ALT_T(K1A), KC_QUOT, \ + HYPR_T(KC_DEL), ALT_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), KC_BSLS, \ + KC_LCTL, LOWER, SH_BKSP, KC_ENTER, SP_RAIS, KC_LALT \ + ) +// clang-format on +#define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + /* QWERTY + * ,-----------------------------------------------. .-----------------------------------------------. + * | | Q | W | E | R | T | | Y | U | I | O | P | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | A | S | D | F | G | | H | J | K | L | ; | ' | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | Z | X | C | V | B | | N | M | , | . | / | | + * `-----------------------. | | .-----------------------' + * |-------+-------+-------| |-------+-------+-------| + * | | | | | | | | + * `-----------------------' '-----------------------' + */ + [_MAIN] = LAYOUT_crkbd_base_wrapper( + _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, + _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, + _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ + ), + + /* Lower + * ,-----------------------------------------------. .-----------------------------------------------. + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | _ | + | [ | ] | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | ← | ↑ | ↓ | → | | + * `-----------------------. | | .-----------------------' + * |-------+-------+-------| |-------+-------+-------| + * | | | | | | | | + * `-----------------------' '-----------------------' + */ + [_LOWER] = LAYOUT_wrapper( + KC_TILDE, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, + KC_F12 , _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, + _______ , _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, + _______, _______, _______, _______, _______, _______ + ), + + + /* + * ,-----------------------------------------------. .-----------------------------------------------. + * | | | | | | | | | | | | | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | | | | | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | | | | | | + * `-----------------------. | | .-----------------------' + * |-------+-------+-------| |-------+-------+-------| + * | | | | | | | | + * `-----------------------' '-----------------------' + */ + /* Raise + * ,-----------------------------------------------. .-----------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | ← | ↑ | ↓ | → | | + * |-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------| + * | | | | | | | | | home |pg down| pg up | end | | + * `-----------------------. | | .-----------------------' + * |-------+-------+-------| |-------+-------+-------| + * | | | | | | | | + * `-----------------------' '-----------------------' + */ + [_UPPER] = LAYOUT_wrapper( \ + KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, + _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, + _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, + _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT_wrapper( \ + _______, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET, + _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, + _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, + _______, _______, _______, _______, _______, _______ + ) + // clang-format on +}; + +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _UPPER, _ADJUST); } + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_LCTL: + case KC_RCTL: +#ifdef OCEAN_DREAM_ENABLE + is_calm = (record->event.pressed) ? true : false; +#endif +#ifdef LUNA_ENABLE + if (record->event.pressed) { + isSneaking = true; + } else { + isSneaking = false; + } +#endif + break; + case KC_SPC: +#ifdef LUNA_ENABLE + if (record->event.pressed) { + isJumping = true; + showedJump = false; + } else { + isJumping = false; + } +#endif + break; + } + return true; +} + +// uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { +// switch (keycode) { +// case ALT_T(KC_A): +// case SH_BKSP: +// return TAPPING_TERM + 500; +// default: +// return TAPPING_TERM; +// } +//} +// +// bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { +// switch (keycode) { +// case ALT_T(KC_A): +// case SH_BKSP: +// return true; +// default: +// return false; +// } +//} \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/snowe/rules.mk b/keyboards/crkbd/keymaps/snowe/rules.mk new file mode 100644 index 000000000000..ce3b5928fadc --- /dev/null +++ b/keyboards/crkbd/keymaps/snowe/rules.mk @@ -0,0 +1,26 @@ +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +AUDIO_ENABLE = no # Audio output on port C6 +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. +LEADER_ENABLE = no +MIDI_ENABLE = no # MIDI controls +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +SWAP_HANDS_ENABLE = no # Enable one-hand typing +RGBLIGHT_TWINKLE = no +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +RGB_MATRIX_ENABLE = yes + +OCEAN_DREAM_ENABLE = yes +LUNA_ENABLE = no # disabled so travis build succeeds + +# if firmware size over limit, try this option +CFLAGS += -flto + +WPM_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/soundmonster/config.h b/keyboards/crkbd/keymaps/soundmonster/config.h index 1e58af3abec7..8235b4869774 100644 --- a/keyboards/crkbd/keymaps/soundmonster/config.h +++ b/keyboards/crkbd/keymaps/soundmonster/config.h @@ -59,11 +59,11 @@ along with this program. If not, see . # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. # define RGB_MATRIX_HUE_STEP 8 # define RGB_MATRIX_SAT_STEP 8 # define RGB_MATRIX_VAL_STEP 8 diff --git a/keyboards/crkbd/keymaps/soundmonster/keymap.c b/keyboards/crkbd/keymaps/soundmonster/keymap.c index 28b3e19d1396..67cfa78f9281 100644 --- a/keyboards/crkbd/keymaps/soundmonster/keymap.c +++ b/keyboards/crkbd/keymaps/soundmonster/keymap.c @@ -7,12 +7,10 @@ extern keymap_config_t keymap_config; extern rgblight_config_t rgblight_config; #endif -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static uint32_t oled_timer = 0; #endif -extern uint8_t is_master; - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -38,7 +36,7 @@ enum custom_keycodes { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT( + [_QWERTY] = LAYOUT_split_3x6_3( //,-----------------------------------------. ,---------------------------------------------. KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, //|------+------+------+------+------+------| |------+------+-------+------+-------+--------| @@ -50,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------' `--------------------' ), - [_LOWER] = LAYOUT( + [_LOWER] = LAYOUT_split_3x6_3( //,---------------------------------------------. ,-----------------------------------------. KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, //|------+------+-------+-------+-------+-------| |------+------+------+------+------+------| @@ -62,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------' `--------------------' ), - [_RAISE] = LAYOUT( + [_RAISE] = LAYOUT_split_3x6_3( //,-----------------------------------------. ,-----------------------------------------. KC_ESC,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC, //|------+------+------+------+------+------| |------+------+------+------+------+------| @@ -74,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------' `--------------------' ), - [_ADJUST] = LAYOUT( + [_ADJUST] = LAYOUT_split_3x6_3( //,-----------------------------------------. ,-----------------------------------------. RESET,RGBRST, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,KC__MUTE, KC_NO, KC_NO, KC_NO, KC_NO, //|------+------+------+------+------+------| |------+------+------+------+------+------| @@ -104,7 +102,7 @@ void matrix_init_user(void) { #endif } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } void render_space(void) { @@ -298,6 +296,10 @@ void render_status_secondary(void) { render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods()); } +void suspend_power_down_user() { + oled_off(); +} + void oled_task_user(void) { if (timer_elapsed32(oled_timer) > 30000) { oled_off(); @@ -307,7 +309,7 @@ void oled_task_user(void) { else { oled_on(); } #endif - if (is_master) { + if (is_keyboard_master()) { render_status_main(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) } else { render_status_secondary(); @@ -317,7 +319,7 @@ void oled_task_user(void) { #endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_timer = timer_read32(); #endif // set_timelog(); diff --git a/keyboards/crkbd/keymaps/soundmonster/rules.mk b/keyboards/crkbd/keymaps/soundmonster/rules.mk index a73e6fe027c6..62971258e9fd 100644 --- a/keyboards/crkbd/keymaps/soundmonster/rules.mk +++ b/keyboards/crkbd/keymaps/soundmonster/rules.mk @@ -2,5 +2,6 @@ RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes MOUSEKEY_ENABLE = no NKRO_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/sulrich/README.md b/keyboards/crkbd/keymaps/sulrich/README.md new file mode 100644 index 000000000000..0bb585aa2eac --- /dev/null +++ b/keyboards/crkbd/keymaps/sulrich/README.md @@ -0,0 +1,72 @@ +# sulrich crkbd layout + +this is the personal keyboard layout of [@sulrich](https://github.com/sulrich), +and is heavily oriented towards operation in the Mac OS environment. + +there are no LED rules in this keymap and the OLED display uses the default +corne images + +## layout notes + +this layout uses a standard QWERTY layout on the default layer followed by a +separate layer for symbols and numbers (and F-keys) + +### thumb cluster: left + +this contains the Mac OS modifier keys as well as the enter key. these are +transparently mapped through the remaining layers with the exception of the +enter key which is toggled to backspace on the symbols layer. + +### thumb cluster: right + +the largest right thumb button provides the space and the layer toggles. + +### default layer +```text + //,-----------------------------------------------------. ,-----------------------------------------------------. + TAB, Q, W, E, R, T, Y, U, I, O, P, \, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + LCTL, A, S, D, F, G, H, J, K, L, ;, ', + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + LSFT, Z, X, C, V, B, N, M, ,, ., /, RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + OPT, CMD, ENTER, SPC, MO(1), MO(2) + //`--------------------------' `--------------------------' +``` + +### symbols layer [1] + +this layer contains all of the standard symbols. the arrow keys are mapped to +the default vi bindings for single character motion (h, j, k, l). + +```text + //,-----------------------------------------------------. ,-----------------------------------------------------. + ESC, !, @, {, }, |, ^, +, =, -, *, , + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + , #, $, (, ), `, LEFT, DOWN, UP, RIGHT, , ENTER, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + , %, ^, [, ], ~, _, &, <, >, \, , + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + OPT, CMD, BSPACE, SPC, MO(1), MO(2) + //`--------------------------' `--------------------------' +``` + +### number/media layer [2] + +this layer has all of the numbers and the F-keys mapped to reasonably intuitive +locations. additionally, media controls allow for quick access to volume and +track changes. + +```text + //,-----------------------------------------------------. ,-----------------------------------------------------. + ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + , 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, F12, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + , PREV, PLAY, NEXT, VOL_DN, VOL_UP, , MUTE, , , , , + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + OPT, CMD, ENTER, SPC, MO(1), MO(2) + //`--------------------------' `--------------------------' + +``` + diff --git a/keyboards/crkbd/keymaps/sulrich/config.h b/keyboards/crkbd/keymaps/sulrich/config.h new file mode 100644 index 000000000000..29b1f44191d0 --- /dev/null +++ b/keyboards/crkbd/keymaps/sulrich/config.h @@ -0,0 +1,36 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 + +/* select hand configuration */ +#define MASTER_LEFT + +#ifdef RGBLIGHT_ENABLE + #undef RGBLED_NUM + #define RGBLIGHT_ANIMATIONS + #define RGBLED_NUM 27 + #define RGBLIGHT_LIMIT_VAL 120 + #define RGBLIGHT_HUE_STEP 10 + #define RGBLIGHT_SAT_STEP 17 + #define RGBLIGHT_VAL_STEP 17 +#endif + +#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/sulrich/keymap.c b/keyboards/crkbd/keymaps/sulrich/keymap.c new file mode 100644 index 000000000000..f1cd60c526dd --- /dev/null +++ b/keyboards/crkbd/keymaps/sulrich/keymap.c @@ -0,0 +1,156 @@ +/* +Copyright 2021 @sulrich + +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_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + 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_LOPT, KC_LGUI, KC_ENT, KC_SPC, MO(1), MO(2) + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_ESC, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_CIRC, KC_PLUS,KC_EQUAL,KC_MINUS, KC_ASTR, KC_TRNS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN,KC_GRAVE, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, KC_TRNS,KC_ENTER, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_UNDS, KC_AMPR, KC_LABK, KC_RABK,KC_BSLASH,KC_TRNS, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_TRNS,KC_BSPACE, KC_TRNS, KC_TRNS, KC_TRNS + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + 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_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_TRNS, KC_TRNS, KC_ENT, KC_TRNS, KC_TRNS, KC_TRNS + //`--------------------------' `--------------------------' + ) +}; + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + return rotation; +} + +#define L_BASE 0 +#define L_SYMBOLS 2 +#define L_NUMBERS 4 + +void oled_render_layer_state(void) { + oled_write_P(PSTR("layer: "), false); + switch (layer_state) { + case L_BASE: + oled_write_ln_P(PSTR("default"), false); + break; + case L_SYMBOLS: + oled_write_ln_P(PSTR("symbols"), false); + break; + case L_NUMBERS: + oled_write_ln_P(PSTR("numbers/media"), false); + break; + } +} + + +char keylog_str[24] = {}; + +const char code_to_name[60] = { + ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', + 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', + '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; + +void set_keylog(uint16_t keycode, keyrecord_t *record) { + char name = ' '; + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || + (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } + if (keycode < 60) { + name = code_to_name[keycode]; + } + + // update keylog + snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", + record->event.key.row, record->event.key.col, + keycode, name); +} + +void oled_render_keylog(void) { + oled_write(keylog_str, false); +} + +void render_bootmagic_status(bool status) { + /* Show ctrl-Gui Swap options */ + static const char PROGMEM logo[][2][3] = { + {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, + {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, + }; + if (status) { + oled_write_ln_P(logo[0][0], false); + oled_write_ln_P(logo[0][1], false); + } else { + oled_write_ln_P(logo[1][0], false); + oled_write_ln_P(logo[1][1], false); + } +} + +void oled_render_logo(void) { + static const char PROGMEM crkbd_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, + 0}; + oled_write_P(crkbd_logo, false); +} + +void oled_task_user(void) { + if (is_keyboard_master()) { + oled_render_layer_state(); + oled_render_keylog(); + } else { + oled_render_logo(); + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + set_keylog(keycode, record); + } + return true; +} +#endif // OLED_ENABLE + diff --git a/keyboards/crkbd/keymaps/sulrich/rules.mk b/keyboards/crkbd/keymaps/sulrich/rules.mk new file mode 100644 index 000000000000..24d83947a9ef --- /dev/null +++ b/keyboards/crkbd/keymaps/sulrich/rules.mk @@ -0,0 +1,3 @@ +EXTRAKEY_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/thefrey/README.md b/keyboards/crkbd/keymaps/thefrey/README.md deleted file mode 100644 index 69b20cfcd6a3..000000000000 --- a/keyboards/crkbd/keymaps/thefrey/README.md +++ /dev/null @@ -1,16 +0,0 @@ -![the-frey-layout](https://raw.githubusercontent.com/the-frey/the-frey.github.com/master/assets/images/keyboard-layout.jpg) - -# Keyboard layout by the-frey - -This is a layout that allows access to all the paren keys easily, has a tab on the lower layer (for SUPER-TAB app switching) and some utility features like PGUP/PGDOWN and HOME/END. - -In addition, the arrows are on the lower layer and are bound to the vim keys (h,j,k,l). I've found this a productive layout for programming in emacs and hopefully you will too. - -The layout image above shows the keymap, with each key marked with all three layers: - -- The top indicates the raise layer -- The middle indicates the default layer -- The bottom indicates the lower layer - -All the keys respond as you'd expect to the 'shift' key - i.e. on a UK/GB keyboard, `/` becomes `?` and so on. - diff --git a/keyboards/crkbd/keymaps/thefrey/config.h b/keyboards/crkbd/keymaps/thefrey/config.h deleted file mode 100644 index cee901fc816e..000000000000 --- a/keyboards/crkbd/keymaps/thefrey/config.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 USE_MATRIX_I2C -#define FORCE_NKRO - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define SSD1306OLED - -#define USE_SERIAL_PD2 - -#define TAPPING_FORCE_HOLD -#define TAPPING_TERM 100 - -#undef RGBLED_NUM -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/crkbd/keymaps/thefrey/keymap.c b/keyboards/crkbd/keymaps/thefrey/keymap.c deleted file mode 100644 index 9a142a924ae4..000000000000 --- a/keyboards/crkbd/keymaps/thefrey/keymap.c +++ /dev/null @@ -1,243 +0,0 @@ -#include QMK_KEYBOARD_H -#include "bootloader.h" -#ifdef PROTOCOL_LUFA - #include "lufa.h" - #include "split_util.h" -#endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif - -extern keymap_config_t keymap_config; - -#ifdef RGBLIGHT_ENABLE -//Following line allows macro to read current RGB settings -extern rgblight_config_t rgblight_config; -#endif - -extern uint8_t is_master; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _ADJUST 3 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, - BACKLIT, - RGBRST -}; - -enum macro_keycodes { - KC_SAMPLEMACRO, -}; - -#define KC______ KC_TRNS -#define KC_XXXXX KC_NO -#define KC_LOWER LOWER -#define KC_RAISE RAISE -#define KC_RST RESET -#define KC_LRST RGBRST -#define KC_LTOG RGB_TOG -#define KC_LHUI RGB_HUI -#define KC_LHUD RGB_HUD -#define KC_LSAI RGB_SAI -#define KC_LSAD RGB_SAD -#define KC_LVAI RGB_VAI -#define KC_LVAD RGB_VAD -#define KC_LMOD RGB_MOD -#define KC_CTLTB CTL_T(KC_TAB) -#define KC_GUIEI GUI_T(KC_LANG2) -#define KC_ALTKN ALT_T(KC_LANG1) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - CTLTB, A, S, D, F, G, H, J, K, L, SCLN, QUOT,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ - //`--------------------' `--------------------' - ), - - [_LOWER] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - TAB, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, BSPC,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - CTLTB, MUTE, VOLD, VOLU, PGUP, PGDN, LEFT, DOWN, UP, RIGHT, HOME, END,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - LSFT, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, XXXXX,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ - //`--------------------' `--------------------' - ), - - [_RAISE] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - ESC, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, BSPC,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - CTLTB, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, MINS, EQL, LCBR, RCBR, PIPE, GRV,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - LSFT, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, UNDS, PLUS, LBRC, RBRC, BSLS, TILD,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ - //`--------------------' `--------------------' - ), - - [_ADJUST] = LAYOUT_kc( \ - //,-----------------------------------------. ,-----------------------------------------. - RST, LRST, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - LTOG, LHUI, LSAI, LVAI, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ - //|------+------+------+------+------+------| |------+------+------+------+------+------| - LMOD, LHUD, LSAD, LVAD, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ - //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - GUIEI, LOWER, SPC, ENT, RAISE, ALTKN \ - //`--------------------' `--------------------' - ) -}; - -int RGB_current_mode; - -// Setting ADJUST layer RGB back to default -void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { - if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { - layer_on(layer3); - } else { - layer_off(layer3); - } -} - -void matrix_init_user(void) { - #ifdef RGBLIGHT_ENABLE - RGB_current_mode = rgblight_config.mode; - #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -// When add source files to SRC in rules.mk, you can use functions. -const char *read_layer_state(void); -const char *read_logo(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); -const char *read_keylog(void); -const char *read_keylogs(void); - -// const char *read_mode_icon(bool swap); -// const char *read_host_led_state(void); -// void set_timelog(void); -// const char *read_timelog(void); - -void matrix_scan_user(void) { - iota_gfx_task(); -} - -void matrix_render_user(struct CharacterMatrix *matrix) { - if (is_master) { - // If you want to change the display of OLED, you need to change here - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_keylog()); - matrix_write_ln(matrix, read_keylogs()); - //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); - //matrix_write_ln(matrix, read_host_led_state()); - //matrix_write_ln(matrix, read_timelog()); - } else { - matrix_write(matrix, read_logo()); - } -} - -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); -} -#endif//SSD1306OLED - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { -#ifdef SSD1306OLED - set_keylog(keycode, record); -#endif - // set_timelog(); - } - - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - case RGB_MOD: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_config.mode; - } - #endif - return false; - break; - case RGBRST: - #ifdef RGBLIGHT_ENABLE - if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_config.mode; - } - #endif - break; - } - return true; -} diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/config.h b/keyboards/crkbd/keymaps/thumb_ctrl/config.h index 5670d8c646f5..4aee2aed14b7 100755 --- a/keyboards/crkbd/keymaps/thumb_ctrl/config.h +++ b/keyboards/crkbd/keymaps/thumb_ctrl/config.h @@ -28,7 +28,7 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED +// #define SSD1306OLED #define USE_SERIAL_PD2 diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c b/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c index c67958aa14a3..cbd7a46890ae 100755 --- a/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c +++ b/keyboards/crkbd/keymaps/thumb_ctrl/keymap.c @@ -15,8 +15,6 @@ extern keymap_config_t keymap_config; extern rgblight_config_t rgblight_config; #endif -extern uint8_t is_master; - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -62,51 +60,51 @@ enum custom_keycodes { #define KC_ALTDL ALT_T(KC_DEL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( + [_QWERTY] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, //|------+------+------+------+------+------| |------+------+------+------+------+------| - CTLTB, A, S, D, F, G, H, J, K, L, SCLN, QUOT, + KC_CTLTB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, //|------+------+------+------+------+------| |------+------+------+------+------+------| - LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - ALTSP, LOWER, GUIEN, SFTJP, RAISE, ALTDL + KC_ALTSP, KC_LOWER, KC_GUIEN, KC_SFTJP, KC_RAISE, KC_ALTDL //`--------------------' `--------------------' ), - [_LOWER] = LAYOUT_kc( + [_LOWER] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - , 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, , + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, //|------+------+------+------+------+------| |------+------+------+------+------+------| - , HOME, END, PGDN, PGUP, F11, LEFT, DOWN, UP, RGHT, F12, PIPE, + _______, KC_HOME, KC_END, KC_PGDN, KC_PGUP, KC_F11, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F12, KC_PIPE, //|------+------+------+------+------+------| |------+------+------+------+------+------| - , F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, , + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - , , , , , + _______, _______, _______, _______, _______, _______ //`--------------------' `--------------------' ), - [_RAISE] = LAYOUT_kc( + [_RAISE] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - , EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, , + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, //|------+------+------+------+------+------| |------+------+------+------+------+------| - , XXXXX, XXXXX, XXXXX, XXXXX, PSCR, GRV, MINS, PLUS, LCBR, RCBR, BSLS, + _______, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_PSCR, KC_GRV, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSLS, //|------+------+------+------+------+------| |------+------+------+------+------+------| - , XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, TILD, UNDS, EQL, LBRC, RBRC, , + _______, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_TILD, KC_UNDS, KC_EQL, KC_LBRC, KC_RBRC, _______, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - , , , , , + _______, _______, _______, _______, _______, _______ //`--------------------' `--------------------' ), - [_ADJUST] = LAYOUT_kc( + [_ADJUST] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - RST, LRST, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, + KC_RST, KC_LRST, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, //|------+------+------+------+------+------| |------+------+------+------+------+------| - LTOG, LHUI, LSAI, LVAI, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, + KC_LTOG, KC_LHUI, KC_LSAI, KC_LVAI, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, //|------+------+------+------+------+------| |------+------+------+------+------+------| - LMOD, LHUD, LSAD, LVAD, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, + KC_LMOD, KC_LHUD, KC_LSAD, KC_LVAD, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - GUIEI, LOWER, SPC, ENT, RAISE, ALTKN + KC_GUIEI, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_ALTKN //`--------------------' `--------------------' ) }; @@ -250,4 +248,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk b/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk index 16deaf45d1de..e1d691834d9c 100755 --- a/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk +++ b/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk @@ -3,7 +3,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -14,7 +14,7 @@ MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE @@ -29,3 +29,6 @@ SRC += ./lib/glcdfont.c \ # ./lib/mode_icon_reader.c \ # ./lib/host_led_state_reader.c \ # ./lib/timelogger.c \ + +VPATH += keyboards/crkbd/lib +LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/vayashiko/config.h b/keyboards/crkbd/keymaps/vayashiko/config.h new file mode 100644 index 000000000000..dd6cca89e45e --- /dev/null +++ b/keyboards/crkbd/keymaps/vayashiko/config.h @@ -0,0 +1,42 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 USE_MATRIX_I2C + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + + + +#define TAPPING_FORCE_HOLD +#define TAPPING_TERM 100 + +#undef RGBLED_NUM +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 42 +#define RGBLIGHT_LIMIT_VAL 120 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 diff --git a/keyboards/crkbd/keymaps/vayashiko/keymap.c b/keyboards/crkbd/keymaps/vayashiko/keymap.c new file mode 100644 index 000000000000..a1a8f7e9f5bf --- /dev/null +++ b/keyboards/crkbd/keymaps/vayashiko/keymap.c @@ -0,0 +1,182 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> + +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 +#include "keymap_jp.h" + +enum custom_layers { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + 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_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + 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_LCTRL, MO(1), KC_SPC, KC_ENT, MO(2), KC_RALT + //`--------------------------' `--------------------------' + + ), + + [_LOWER] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_DELETE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_7, KC_8, KC_9, JP_MINS,KC_DELETE, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LALT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, KC_4, KC_5, KC_6, JP_PLUS,LSFT(KC_CAPS), + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_0, KC_1, KC_2, KC_3, KC_DOT, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LCTRL, _______, KC_SPC, KC_ENT, MO(3), KC_RALT + //`--------------------------' `--------------------------' + ), + + [_RAISE] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_ESC, JP_EXLM, JP_DQT, JP_HASH, KC_DLR, JP_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_MINS, JP_CIRC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_GRV, XXXXXXX, XXXXXXX, KC_MHEN, KC_G, XXXXXXX, KC_HENK, JP_LBRC, JP_RBRC, XXXXXXX, JP_YEN, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_EQL,JP_AT,LSFT(JP_LBRC),LSFT(JP_RBRC),XXXXXXX,JP_UNDS, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(3), KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [_ADJUST] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_HOME, KC_S, XXXXXXX, KC_END, KC_G, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DOWN, XXXXXXX, XXXXXXX, KC_RSFT, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ) +}; + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_master) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + return rotation; +} + +#define L_BASE 0 +#define L_LOWER 2 +#define L_RAISE 4 +#define L_ADJUST 8 + +void oled_render_layer_state(void) { + oled_write_P(PSTR("Layer: "), false); + switch (layer_state) { + case L_BASE: + oled_write_ln_P(PSTR("Default"), false); + break; + case L_LOWER: + oled_write_ln_P(PSTR("Lower"), false); + break; + case L_RAISE: + oled_write_ln_P(PSTR("Raise"), false); + break; + case L_ADJUST: + case L_ADJUST|L_LOWER: + case L_ADJUST|L_RAISE: + case L_ADJUST|L_LOWER|L_RAISE: + oled_write_ln_P(PSTR("Adjust"), false); + break; + } +} + + +char keylog_str[24] = {}; + +const char code_to_name[60] = { + ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', + 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', + '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; + +void set_keylog(uint16_t keycode, keyrecord_t *record) { + char name = ' '; + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || + (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } + if (keycode < 60) { + name = code_to_name[keycode]; + } + + // update keylog + snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", + record->event.key.row, record->event.key.col, + keycode, name); +} + +void oled_render_keylog(void) { + oled_write(keylog_str, false); +} + +void render_bootmagic_status(bool status) { + /* Show Ctrl-Gui Swap options */ + static const char PROGMEM logo[][2][3] = { + {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, + {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, + }; + if (status) { + oled_write_ln_P(logo[0][0], false); + oled_write_ln_P(logo[0][1], false); + } else { + oled_write_ln_P(logo[1][0], false); + oled_write_ln_P(logo[1][1], false); + } +} + +void oled_render_logo(void) { + static const char PROGMEM crkbd_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, + 0}; + oled_write_P(crkbd_logo, false); +} + +void oled_task_user(void) { + if (is_master) { + oled_render_layer_state(); + oled_render_keylog(); + } else { + oled_render_logo(); + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + set_keylog(keycode, record); + } + return true; +} +#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/thefrey/rules.mk b/keyboards/crkbd/keymaps/vayashiko/rules.mk similarity index 100% rename from keyboards/crkbd/keymaps/thefrey/rules.mk rename to keyboards/crkbd/keymaps/vayashiko/rules.mk diff --git a/keyboards/crkbd/keymaps/via/config.h b/keyboards/crkbd/keymaps/via/config.h new file mode 100644 index 000000000000..fc8e7c47814d --- /dev/null +++ b/keyboards/crkbd/keymaps/via/config.h @@ -0,0 +1,40 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> + +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 + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#ifdef RGBLIGHT_ENABLE +# undef RGBLED_NUM +# define RGBLIGHT_ANIMATIONS +# define RGBLED_NUM 54 +# undef RGBLED_SPLIT +# define RGBLED_SPLIT \ + { 27, 27 } +# define RGBLIGHT_LIMIT_VAL 120 +# define RGBLIGHT_HUE_STEP 10 +# define RGBLIGHT_SAT_STEP 17 +# define RGBLIGHT_VAL_STEP 17 +#endif + +#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/keymaps/via/keymap.c b/keyboards/crkbd/keymaps/via/keymap.c new file mode 100644 index 000000000000..cbaeb93f6d80 --- /dev/null +++ b/keyboards/crkbd/keymaps/via/keymap.c @@ -0,0 +1,176 @@ +/* +Copyright 2019 @foostan +Copyright 2020 Drashna Jaelre <@drashna> + +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_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, FN_MO13, KC_SPC, KC_ENT, FN_MO23, KC_RALT + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + 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, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ) +}; + +#ifdef OLED_ENABLE +#include + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + return rotation; +} + +#define L_BASE 0 +#define L_LOWER 2 +#define L_RAISE 4 +#define L_ADJUST 8 + +void oled_render_layer_state(void) { + oled_write_P(PSTR("Layer: "), false); + switch (layer_state) { + case L_BASE: + oled_write_ln_P(PSTR("Default"), false); + break; + case L_LOWER: + oled_write_ln_P(PSTR("Lower"), false); + break; + case L_RAISE: + oled_write_ln_P(PSTR("Raise"), false); + break; + case L_ADJUST: + case L_ADJUST|L_LOWER: + case L_ADJUST|L_RAISE: + case L_ADJUST|L_LOWER|L_RAISE: + oled_write_ln_P(PSTR("Adjust"), false); + break; + } +} + + +char keylog_str[24] = {}; + +const char code_to_name[60] = { + ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', + 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', + '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; + +void set_keylog(uint16_t keycode, keyrecord_t *record) { + char name = ' '; + if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || + (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } + if (keycode < 60) { + name = code_to_name[keycode]; + } + + // update keylog + snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", + record->event.key.row, record->event.key.col, + keycode, name); +} + +void oled_render_keylog(void) { + oled_write(keylog_str, false); +} + +void render_bootmagic_status(bool status) { + /* Show Ctrl-Gui Swap options */ + static const char PROGMEM logo[][2][3] = { + {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, + {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, + }; + if (status) { + oled_write_ln_P(logo[0][0], false); + oled_write_ln_P(logo[0][1], false); + } else { + oled_write_ln_P(logo[1][0], false); + oled_write_ln_P(logo[1][1], false); + } +} + +void oled_render_logo(void) { + static const char PROGMEM crkbd_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, + 0}; + oled_write_P(crkbd_logo, false); +} + +void oled_task_user(void) { + if (is_keyboard_master()) { + oled_render_layer_state(); + oled_render_keylog(); + } else { + oled_render_logo(); + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + set_keylog(keycode, record); + } + return true; +} +#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/via/rules.mk b/keyboards/crkbd/keymaps/via/rules.mk new file mode 100644 index 000000000000..69841c2358f7 --- /dev/null +++ b/keyboards/crkbd/keymaps/via/rules.mk @@ -0,0 +1,6 @@ +MOUSEKEY_ENABLE = no # Mouse keys +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +VIA_ENABLE = yes # Enable VIA +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +LTO_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h index bdd1a099ae8a..d1c385540235 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/config.h @@ -6,6 +6,7 @@ // #define EE_HANDS #define SSD1306OLED +#define USE_SSD_I2C #define USE_SERIAL_PD2 diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c b/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c index 48f60419fb2c..7940e28025c3 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/keymap.c @@ -13,8 +13,6 @@ extern rgblight_config_t rgblight_config; #endif -extern uint8_t is_master; - enum layer_names { _QWERTY, _LOWER, @@ -31,8 +29,6 @@ enum custom_keycodes { SCRL }; -#define KC______ KC_TRNS -#define KC_XXXXX KC_NO #define KC_LOWER LOWER #define KC_RAISE RAISE #define KC_RST RESET @@ -57,51 +53,51 @@ enum custom_keycodes { #define KC_SCRL SCRL const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( + [_QWERTY] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, //|------+------+------+------+------+------| |------+------+------+------+------+------| - TAB, CTLA, S, D, F, G, H, J, K, L, CTLSC, QUOT, + KC_TAB, KC_CTLA, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTLSC, KC_QUOT, //|------+------+------+------+------+------| |------+------+------+------+------+------| - GRAVE, SFTZ, WINX, C, V, B, N, M, COMM, WINDO, SFTSL,BSLASH, + KC_GRAVE, KC_SFTZ, KC_WINX, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_WINDO, KC_SFTSL,KC_BSLASH, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - LOWER, SPC, SCRL, MBTN1, ENT, RAISE + KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE //`--------------------' `--------------------' ), - [_LOWER] = LAYOUT_kc( + [_LOWER] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - ESC, XXXXX, PGDN, PSCR, PGUP, LBRC, RBRC, 7, 8, 9, XXXXX, XXXXX, + KC_ESC, XXXXXXX, KC_PGDN, KC_PSCR, KC_PGUP, KC_LBRC, KC_RBRC, KC_7, KC_8, KC_9, XXXXXXX, XXXXXXX, //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXX, LCTRL, PLUS, MINS, EQL, LPRN, RPRN, 4, 5, 6, RCTRL, XXXXX, + XXXXXXX, KC_LCTRL, KC_PLUS, KC_MINS, KC_EQL, KC_LPRN, KC_RPRN, KC_4, KC_5, KC_6, KC_RCTRL, XXXXXXX, //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXX, LSFT, HOME, XXXXX, END, LCBR, RCBR, 1, 2, 3, RSFT, XXXXX, + XXXXXXX, KC_LSFT, KC_HOME, XXXXXXX, KC_END, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_RSFT, XXXXXXX, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - LOWER, SPC, SCRL, MBTN1, ENT, 0 + KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_0 //`--------------------' `--------------------' ), - [_RAISE] = LAYOUT_kc( + [_RAISE] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - ESC, XXXXX, F7, F8, F9, F10, BTN2, BTN2, MNXT, MPRV, MPLY, MSTP, + KC_ESC, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_BTN2, KC_BTN2, KC_MNXT, KC_MPRV, KC_MPLY, KC_MSTP, //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXX, LCTRL, F4, F5, F6, F11, LEFT, DOWN, UP, RIGHT, RCTRL, XXXXX, + XXXXXXX, KC_LCTRL, KC_F4, KC_F5, KC_F6, KC_F11, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_RCTRL, XXXXXXX, //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXX, LSFT, F1, F2, F3, F12, XXXXX, XXXXX, VOLU, VOLD, MUTE, RSFT, + XXXXXXX, KC_LSFT, KC_F1, KC_F2, KC_F3, KC_F12, XXXXXXX, XXXXXXX, KC_VOLU, KC_VOLD, KC_MUTE, KC_RSFT, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - LOWER, SPC, SCRL, MBTN1, ENT, RAISE + KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE //`--------------------' `--------------------' ), - [_ADJUST] = LAYOUT_kc( + [_ADJUST] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - RST, LRST, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, RST, + KC_RST, KC_LRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RST, //|------+------+------+------+------+------| |------+------+------+------+------+------| - LTOG, LHUI, LSAI, LVAI, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, + KC_LTOG, KC_LHUI, KC_LSAI, KC_LVAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|------+------+------+------+------+------| |------+------+------+------+------+------| - LMOD, LHUD, LSAD, LVAD, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, + KC_LMOD, KC_LHUD, KC_LSAD, KC_LVAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - LOWER, SPC, SCRL, MBTN1, ENT, RAISE + KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE //`--------------------' `--------------------' ) }; @@ -128,7 +124,7 @@ void matrix_init_user(void) { #endif //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display + iota_gfx_init(); // turns on the display #endif } @@ -147,11 +143,14 @@ void matrix_scan_user(void) { } void matrix_render_user(struct CharacterMatrix *matrix) { - if (is_master) { + if (is_keyboard_master()) { // If you want to change the display of OLED, you need to change here - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_keylog()); - matrix_write_ln(matrix, read_keylogs()); + matrix_write(matrix, read_layer_state()); + matrix_write(matrix, "\n"); + matrix_write(matrix, read_keylog()); + matrix_write(matrix, "\n"); + matrix_write(matrix, read_keylogs()); + matrix_write(matrix, "\n"); } else { matrix_write(matrix, read_logo()); } @@ -224,4 +223,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk b/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk index 46be73c475bc..44ff63ada1e7 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk @@ -9,3 +9,6 @@ SRC += ./lib/glcdfont.c \ ./lib/layer_state_reader.c \ ./lib/logo_reader.c \ ./lib/keylogger.c \ + +VPATH += keyboards/crkbd/lib +LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c b/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c index 8749f7a6861e..14a5b5d90aa9 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_right/keymap.c @@ -16,7 +16,6 @@ extern bool isScrollMode; extern rgblight_config_t rgblight_config; #endif -extern uint8_t is_master; enum layer_names { _QWERTY, @@ -60,51 +59,51 @@ enum custom_keycodes { #define KC_SCRL SCRL const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( + [_QWERTY] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, //|------+------+------+------+------+------| |------+------+------+------+------+------| - TAB, CTLA, S, D, F, G, H, J, K, L, CTLSC, QUOT, + KC_TAB, KC_CTLA, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTLSC, KC_QUOT, //|------+------+------+------+------+------| |------+------+------+------+------+------| - GRAVE, SFTZ, WINX, C, V, B, N, M, COMM, WINDO, SFTSL,BSLASH, + KC_GRAVE, KC_SFTZ, KC_WINX, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_WINDO, KC_SFTSL,KC_BSLASH, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - LOWER, SPC, SCRL, MBTN1, ENT, RAISE + KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE //`--------------------' `--------------------' ), - [_LOWER] = LAYOUT_kc( + [_LOWER] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - ESC, XXXXX, PGDN, PSCR, PGUP, LBRC, RBRC, 7, 8, 9, XXXXX, XXXXX, + KC_ESC, KC_XXXXX, KC_PGDN, KC_PSCR, KC_PGUP, KC_LBRC, KC_RBRC, KC_7, KC_8, KC_9, KC_XXXXX, KC_XXXXX, //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXX, LCTRL, PLUS, MINS, EQL, LPRN, RPRN, 4, 5, 6, RCTRL, XXXXX, + KC_XXXXX, KC_LCTRL, KC_PLUS, KC_MINS, KC_EQL, KC_LPRN, KC_RPRN, KC_4, KC_5, KC_6, KC_RCTRL, KC_XXXXX, //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXX, LSFT, HOME, XXXXX, END, LCBR, RCBR, 1, 2, 3, RSFT, XXXXX, + KC_XXXXX, KC_LSFT, KC_HOME, KC_XXXXX, KC_END, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_RSFT, KC_XXXXX, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - LOWER, SPC, SCRL, MBTN1, ENT, 0 + KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_0 //`--------------------' `--------------------' ), - [_RAISE] = LAYOUT_kc( + [_RAISE] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - ESC, XXXXX, F7, F8, F9, F10, BTN2, BTN2, MNXT, MPRV, MPLY, MSTP, + KC_ESC, KC_XXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_BTN2, KC_BTN2, KC_MNXT, KC_MPRV, KC_MPLY, KC_MSTP, //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXX, LCTRL, F4, F5, F6, F11, LEFT, DOWN, UP, RIGHT, RCTRL, XXXXX, + KC_XXXXX, KC_LCTRL, KC_F4, KC_F5, KC_F6, KC_F11, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_RCTRL, KC_XXXXX, //|------+------+------+------+------+------| |------+------+------+------+------+------| - XXXXX, LSFT, F1, F2, F3, F12, XXXXX, XXXXX, VOLU, VOLD, MUTE, RSFT, + KC_XXXXX, KC_LSFT, KC_F1, KC_F2, KC_F3, KC_F12, KC_XXXXX, KC_XXXXX, KC_VOLU, KC_VOLD, KC_MUTE, KC_RSFT, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - LOWER, SPC, SCRL, MBTN1, ENT, RAISE + KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE //`--------------------' `--------------------' ), - [_ADJUST] = LAYOUT_kc( + [_ADJUST] = LAYOUT( //,-----------------------------------------. ,-----------------------------------------. - RST, LRST, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, RST, + KC_RST, KC_LRST, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_RST, //|------+------+------+------+------+------| |------+------+------+------+------+------| - LTOG, LHUI, LSAI, LVAI, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, + KC_LTOG, KC_LHUI, KC_LSAI, KC_LVAI, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, //|------+------+------+------+------+------| |------+------+------+------+------+------| - LMOD, LHUD, LSAD, LVAD, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, + KC_LMOD, KC_LHUD, KC_LSAD, KC_LVAD, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - LOWER, SPC, SCRL, MBTN1, ENT, RAISE + KC_LOWER, KC_SPC, KC_SCRL, KC_MBTN1, KC_ENT, KC_RAISE //`--------------------' `--------------------' ) }; diff --git a/keyboards/crkbd/keymaps/vxid/config.h b/keyboards/crkbd/keymaps/vxid/config.h index bbf76d705f81..d9c0cbccf402 100644 --- a/keyboards/crkbd/keymaps/vxid/config.h +++ b/keyboards/crkbd/keymaps/vxid/config.h @@ -29,6 +29,7 @@ along with this program. If not, see . // #define EE_HANDS #define SSD1306OLED +#define USE_SSD_I2C #define USE_SERIAL_PD2 diff --git a/keyboards/crkbd/keymaps/vxid/keymap.c b/keyboards/crkbd/keymaps/vxid/keymap.c index e1c73caeb7af..191ad3cbfec8 100644 --- a/keyboards/crkbd/keymaps/vxid/keymap.c +++ b/keyboards/crkbd/keymaps/vxid/keymap.c @@ -7,8 +7,6 @@ extern keymap_config_t keymap_config; -extern uint8_t is_master; - #define _QWERTY 0 #define _LOWER 1 #define _RAISE 2 @@ -25,39 +23,39 @@ enum custom_keycodes { #define KC_RAISE RAISE const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( \ + [_QWERTY] = LAYOUT( \ //,-----------------------------------------. ,-----------------------------------------. - Q, W, E, R, T, ESC, DEL, Y, U, I, O, P,\ + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_DEL, KC_Y, KC_U, KC_I, KC_O, KC_P,\ //|------+------+------+------+------+------| |------+------+------+------+------+------| - A, S, D, F, G, SPC, BSPC, H, J, K, L, SCLN,\ + KC_A, KC_S, KC_D, KC_F, KC_G, KC_SPC, KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN,\ //|------+------+------+------+------+------| |------+------+------+------+------+------| - Z, X, C, V, B, TAB, ENT, N, M, COMM, DOT, SLSH,\ + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TAB, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,\ //|------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - LALT, LGUI, LCTL, LSFT, RAISE, LOWER \ + KC_LALT, KC_LGUI, KC_LCTL, KC_LSFT, KC_RAISE, KC_LOWER \ //`--------------------' `--------------------' ), - [_LOWER] = LAYOUT_kc( \ + [_LOWER] = LAYOUT( \ //,-----------------------------------------. ,------------------------------------------. - 1, 2, 3, 4, 5, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ + KC_1, KC_2, KC_3, KC_4, KC_5, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX,\ //|------+------+------+------+------+------| |-------+------+------+------+------+------| - 6, 7, 8, 9, 0, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ + KC_6, KC_7, KC_8, KC_9, KC_0, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX,\ //|------+------+------+------+------+------| |-------+------+------+------+------+------| - EQL, PLUS, MINS, SLSH, ASTR, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ + KC_EQL, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX,\ //|------+------+------+------+------+------+------| |------+-------+------+------+------+------+------| - LALT, LGUI, LCTL, LSFT, RAISE, LOWER \ + KC_LALT, KC_LGUI, KC_LCTL, KC_LSFT, KC_RAISE, KC_LOWER \ //`--------------------' `--------------------' ), - [_RAISE] = LAYOUT_kc( \ + [_RAISE] = LAYOUT( \ //,-----------------------------------------. ,------------------------------------------. - EXLM, AT, HASH, DLR, PERC, LPRN, RPRN, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LPRN, KC_RPRN, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX,\ //|------+------+------+------+------+------| |-------+------+------+------+------+------| - CIRC, AMPR, ASTR, QUOT, DQUO, LCBR, RCBR, LEFT, DOWN, UP, RIGHT, XXXXX,\ + KC_CIRC, KC_AMPR, KC_ASTR, KC_QUOT, KC_DQUO, KC_LCBR, KC_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_XXXXX,\ //|------+------+------+------+------+------| |-------+------+------+------+------+------| - BSLS, TILD, GRV, UNDS, PIPE, LBRC, RBRC, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,\ + KC_BSLS, KC_TILD, KC_GRV, KC_UNDS, KC_PIPE, KC_LBRC, KC_RBRC, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX, KC_XXXXX,\ //|------+------+------+------+------+------+------| |------+-------+------+------+------+------+------| - LALT, LGUI, LCTL, LSFT, RAISE, LOWER \ + KC_LALT, KC_LGUI, KC_LCTL, KC_LSFT, KC_RAISE, KC_LOWER \ //`--------------------' `--------------------' ) }; diff --git a/keyboards/crkbd/keymaps/vxid/rules.mk b/keyboards/crkbd/keymaps/vxid/rules.mk index 83e87ecf9899..cb104fb34494 100644 --- a/keyboards/crkbd/keymaps/vxid/rules.mk +++ b/keyboards/crkbd/keymaps/vxid/rules.mk @@ -3,7 +3,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -14,7 +14,7 @@ MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE @@ -29,3 +29,6 @@ SRC += ./lib/glcdfont.c \ # ./lib/mode_icon_reader.c \ # ./lib/host_led_state_reader.c \ # ./lib/timelogger.c \ + +VPATH += keyboards/crkbd/lib +LIB_SRC += ssd1306.c i2c.c diff --git a/keyboards/crkbd/keymaps/xyverz/keymap.c b/keyboards/crkbd/keymaps/xyverz/keymap.c index c1777f202350..d99d9d6baf04 100644 --- a/keyboards/crkbd/keymaps/xyverz/keymap.c +++ b/keyboards/crkbd/keymaps/xyverz/keymap.c @@ -17,6 +17,7 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H +#include enum layer_names { _DVORAK, @@ -99,9 +100,9 @@ layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_master) { + if (!is_keyboard_master()) { return OLED_ROTATION_180; // flips the display 180 degrees if offhand } return rotation; @@ -187,7 +188,7 @@ void oled_render_logo(void) { } void oled_task_user(void) { - if (is_master) { + if (is_keyboard_master()) { oled_render_layer_state(); oled_render_keylog(); } else { @@ -201,4 +202,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } -#endif // OLED_DRIVER_ENABLE +#endif // OLED_ENABLE diff --git a/keyboards/crkbd/keymaps/xyverz/rules.mk b/keyboards/crkbd/keymaps/xyverz/rules.mk index 1d320c0f35c6..d34d066ded93 100644 --- a/keyboards/crkbd/keymaps/xyverz/rules.mk +++ b/keyboards/crkbd/keymaps/xyverz/rules.mk @@ -1 +1,2 @@ -OLED_DRIVER_ENABLE = yes \ No newline at end of file +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/rev1/legacy/i2c.c b/keyboards/crkbd/lib/i2c.c similarity index 98% rename from keyboards/crkbd/rev1/legacy/i2c.c rename to keyboards/crkbd/lib/i2c.c index 7b45c3f86664..7b82e838c223 100644 --- a/keyboards/crkbd/rev1/legacy/i2c.c +++ b/keyboards/crkbd/lib/i2c.c @@ -6,7 +6,7 @@ #include #include "i2c.h" -#if defined(USE_I2C) || defined(USE_MATRIX_I2C) +#if defined(USE_SSD_I2C) // Limits the amount of we wait for any one i2c transaction. // Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is diff --git a/keyboards/crkbd/rev1/legacy/i2c.h b/keyboards/crkbd/lib/i2c.h similarity index 100% rename from keyboards/crkbd/rev1/legacy/i2c.h rename to keyboards/crkbd/lib/i2c.h diff --git a/keyboards/crkbd/post_config.h b/keyboards/crkbd/post_config.h new file mode 100644 index 000000000000..00034a163cac --- /dev/null +++ b/keyboards/crkbd/post_config.h @@ -0,0 +1,43 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 + +#ifndef BOOTMAGIC_LITE_ROW +# define BOOTMAGIC_LITE_ROW 0 +#endif +#ifndef BOOTMAGIC_LITE_COLUMN +# define BOOTMAGIC_LITE_COLUMN 1 +#endif + +#ifndef BOOTMAGIC_LITE_ROW_RIGHT +# define BOOTMAGIC_LITE_ROW_RIGHT 4 +#endif +#ifndef BOOTMAGIC_LITE_COLUMN_RIGHT +# define BOOTMAGIC_LITE_COLUMN_RIGHT 1 +#endif + +#ifdef RGBLIGHT_ENABLE +# ifndef RGBLIGHT_LIMIT_VAL +# define RGBLIGHT_LIMIT_VAL 120 +# endif +#endif + +#ifdef RGB_MATRIX_ENABLE +# ifndef RGB_MATRIX_MAXIMUM_BRIGHTNESS +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 +# endif +#endif diff --git a/keyboards/crkbd/readme.md b/keyboards/crkbd/readme.md index 1e5bfb39ab90..f3bf152d20ef 100644 --- a/keyboards/crkbd/readme.md +++ b/keyboards/crkbd/readme.md @@ -20,6 +20,12 @@ make crkbd: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). +## Bootloader + +The Corne PCBs have a reset button next to the TRRS jack to enter in to the bootloader. + +Additionally, if you hold down the "Q" or "P" buttons when plugging in that half of the keyboard (per the default QWERTY layout), this will jump to the bootloader and reset the EEPROM (persistent storage). This would normally be the very top corner-most position, but due to the breakaway column, it's left at Q and P for compatibility. + ## RGB Matrix The Corne Keyboard also supports using the RGB Matrix feature, in place of RGB Light. This provids a better experience when using the keyboard, as it supports a number of per key effects properly. If you're not using the in switch LEDs, then you may want to pass on doing this. @@ -38,7 +44,7 @@ And in your `config.h` file, add the following: # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) diff --git a/keyboards/crkbd/rev1/common/common.c b/keyboards/crkbd/rev1/common/common.c deleted file mode 100644 index ddc0b5fe91dd..000000000000 --- a/keyboards/crkbd/rev1/common/common.c +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 "common.h" diff --git a/keyboards/crkbd/rev1/common/common.h b/keyboards/crkbd/rev1/common/common.h deleted file mode 100644 index 71779e2e0f38..000000000000 --- a/keyboards/crkbd/rev1/common/common.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 "rev1.h" - -#define has_usb() is_keyboard_master() -#define is_master is_keyboard_master() diff --git a/keyboards/crkbd/rev1/common/config.h b/keyboards/crkbd/rev1/common/config.h deleted file mode 100644 index a2c2cde0b7e3..000000000000 --- a/keyboards/crkbd/rev1/common/config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 USE_SERIAL -#define SOFT_SERIAL_PIN D2 - -#ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_SPLIT { 27, 27 } -#endif - -#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/crkbd/rev1/common/keymaps/via/config.h b/keyboards/crkbd/rev1/common/keymaps/via/config.h deleted file mode 100644 index aa2d45e56d43..000000000000 --- a/keyboards/crkbd/rev1/common/keymaps/via/config.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 USE_MATRIX_I2C -#ifdef KEYBOARD_crkbd_rev1_legacy -# undef USE_I2C -# define USE_SERIAL -#endif - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#define USE_SERIAL_PD2 - - -#undef RGBLED_NUM -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 27 -#define RGBLIGHT_LIMIT_VAL 120 -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" diff --git a/keyboards/crkbd/rev1/common/keymaps/via/keymap.c b/keyboards/crkbd/rev1/common/keymaps/via/keymap.c deleted file mode 100644 index ecd1f17a5c7f..000000000000 --- a/keyboards/crkbd/rev1/common/keymaps/via/keymap.c +++ /dev/null @@ -1,174 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, FN_MO13, KC_SPC, KC_ENT, FN_MO23, KC_RALT - //`--------------------------' `--------------------------' - - ), - - [1] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT - //`--------------------------' `--------------------------' - ), - - [2] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - 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, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT - //`--------------------------' `--------------------------' - ), - - [3] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT - //`--------------------------' `--------------------------' - ) -}; - -#ifdef OLED_DRIVER_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_master) { - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - } - return rotation; -} - -#define L_BASE 0 -#define L_LOWER 2 -#define L_RAISE 4 -#define L_ADJUST 8 - -void oled_render_layer_state(void) { - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_ln_P(PSTR("Default"), false); - break; - case L_LOWER: - oled_write_ln_P(PSTR("Lower"), false); - break; - case L_RAISE: - oled_write_ln_P(PSTR("Raise"), false); - break; - case L_ADJUST: - case L_ADJUST|L_LOWER: - case L_ADJUST|L_RAISE: - case L_ADJUST|L_LOWER|L_RAISE: - oled_write_ln_P(PSTR("Adjust"), false); - break; - } -} - - -char keylog_str[24] = {}; - -const char code_to_name[60] = { - ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', - 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', - 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', - 'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\', - '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '}; - -void set_keylog(uint16_t keycode, keyrecord_t *record) { - char name = ' '; - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || - (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; } - if (keycode < 60) { - name = code_to_name[keycode]; - } - - // update keylog - snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", - record->event.key.row, record->event.key.col, - keycode, name); -} - -void oled_render_keylog(void) { - oled_write(keylog_str, false); -} - -void render_bootmagic_status(bool status) { - /* Show Ctrl-Gui Swap options */ - static const char PROGMEM logo[][2][3] = { - {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}, - {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, - }; - if (status) { - oled_write_ln_P(logo[0][0], false); - oled_write_ln_P(logo[0][1], false); - } else { - oled_write_ln_P(logo[1][0], false); - oled_write_ln_P(logo[1][1], false); - } -} - -void oled_render_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -void oled_task_user(void) { - if (is_master) { - oled_render_layer_state(); - oled_render_keylog(); - } else { - oled_render_logo(); - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - set_keylog(keycode, record); - } - return true; -} -#endif // OLED_DRIVER_ENABLE diff --git a/keyboards/crkbd/rev1/common/keymaps/via/rules.mk b/keyboards/crkbd/rev1/common/keymaps/via/rules.mk deleted file mode 100644 index 93b2afed4470..000000000000 --- a/keyboards/crkbd/rev1/common/keymaps/via/rules.mk +++ /dev/null @@ -1,5 +0,0 @@ -MOUSEKEY_ENABLE = no # Mouse keys -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -VIA_ENABLE = yes # Enable VIA -OLED_DRIVER_ENABLE = yes -LTO_ENABLE = yes diff --git a/keyboards/crkbd/rev1/common/rules.mk b/keyboards/crkbd/rev1/common/rules.mk index 0b8106e3f295..836587e45e68 100644 --- a/keyboards/crkbd/rev1/common/rules.mk +++ b/keyboards/crkbd/rev1/common/rules.mk @@ -1,2 +1 @@ -SPLIT_KEYBOARD = yes -SPLIT_TRANSPORT = mirror # for when Split Mirroring drops, it will maintain mirroring functionality +DEFAULT_FOLDER = crkbd/rev1 diff --git a/keyboards/crkbd/rev1/config.h b/keyboards/crkbd/rev1/config.h index 60bd379724eb..337859d05ca1 100644 --- a/keyboards/crkbd/rev1/config.h +++ b/keyboards/crkbd/rev1/config.h @@ -18,15 +18,25 @@ along with this program. If not, see . #pragma once +#define USE_SERIAL +#define SOFT_SERIAL_PIN D2 + /* ws2812 RGB LED */ -#define RGB_DI_PIN D3 +#define RGB_DI_PIN D3 #ifdef RGBLIGHT_ENABLE -# define RGBLED_NUM 12 // Number of LEDs +# define RGBLED_NUM 12 // Number of LEDs +# define RGBLED_SPLIT \ + { 6, 6 } # define RGBLIGHT_SPLIT #endif #ifdef RGB_MATRIX_ENABLE -# define RGBLED_NUM 54 // Number of LEDs +# define RGBLED_NUM 54 // Number of LEDs # define DRIVER_LED_TOTAL RGBLED_NUM +# define RGB_MATRIX_SPLIT \ + { 27, 27 } +# define SPLIT_TRANSPORT_MIRROR #endif + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/crkbd/rev1/legacy/config.h b/keyboards/crkbd/rev1/legacy/config.h deleted file mode 100644 index e95f49125a8e..000000000000 --- a/keyboards/crkbd/rev1/legacy/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 "serial_config.h" - diff --git a/keyboards/crkbd/rev1/legacy/legacy.c b/keyboards/crkbd/rev1/legacy/legacy.c deleted file mode 100644 index 595ff1eaf748..000000000000 --- a/keyboards/crkbd/rev1/legacy/legacy.c +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 "legacy.h" diff --git a/keyboards/crkbd/rev1/legacy/legacy.h b/keyboards/crkbd/rev1/legacy/legacy.h deleted file mode 100644 index 08dfcefbc101..000000000000 --- a/keyboards/crkbd/rev1/legacy/legacy.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 "rev1.h" - -extern uint8_t is_master; \ No newline at end of file diff --git a/keyboards/crkbd/rev1/legacy/matrix.c b/keyboards/crkbd/rev1/legacy/matrix.c deleted file mode 100644 index 371b1913e15e..000000000000 --- a/keyboards/crkbd/rev1/legacy/matrix.c +++ /dev/null @@ -1,397 +0,0 @@ -/* -Copyright 2012 Jun Wako - -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 . -*/ - -/* - * scan matrix - */ -#include -#include -#include -#include -#include -#include -#include -#include "print.h" -#include "debug.h" -#include "util.h" -#include "matrix.h" -#include "split_util.h" -#include "quantum.h" - -#ifdef USE_MATRIX_I2C -# include "i2c.h" -#else // USE_SERIAL -# include "split_scomm.h" -#endif - -#ifndef DEBOUNCE -# define DEBOUNCE 5 -#endif - -#define ERROR_DISCONNECT_COUNT 5 - -static uint8_t debouncing = DEBOUNCE; -static const int ROWS_PER_HAND = MATRIX_ROWS/2; -static uint8_t error_count = 0; -uint8_t is_master = 0 ; - -static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t matrix_debouncing[MATRIX_ROWS]; - -static matrix_row_t read_cols(void); -static void init_cols(void); -static void unselect_rows(void); -static void select_row(uint8_t row); -static uint8_t matrix_master_scan(void); - - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) -{ - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) -{ - return MATRIX_COLS; -} - -void tx_rx_leds_init(void) -{ -#ifndef NO_DEBUG_LEDS - setPinOutput(B0); - setPinOutput(D5); - writePinHigh(B0); - writePinHigh(D5); -#endif -} - -void tx_led_on(void) -{ -#ifndef NO_DEBUG_LEDS - writePinLow(D5); -#endif -} - -void tx_led_off(void) -{ -#ifndef NO_DEBUG_LEDS - writePinHigh(D5); -#endif -} - -void rx_led_on(void) -{ -#ifndef NO_DEBUG_LEDS - writePinLow(B0); -#endif -} - -void rx_led_off(void) -{ -#ifndef NO_DEBUG_LEDS - writePinHigh(B0); -#endif -} - - -void matrix_init(void) -{ - split_keyboard_setup(); - - // initialize row and col - unselect_rows(); - init_cols(); - - tx_rx_leds_init(); - - // initialize matrix state: all keys off - for (uint8_t i=0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; - matrix_debouncing[i] = 0; - } - - is_master = has_usb(); - - matrix_init_quantum(); -} - -uint8_t _matrix_scan(void) -{ - bool changed = false; - // Right hand is stored after the left in the matirx so, we need to offset it - int offset = isLeftHand ? 0 : (ROWS_PER_HAND); - - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { - select_row(i); - _delay_us(30); // without this wait read unstable value. - matrix_row_t cols = read_cols(); - if (matrix_debouncing[i+offset] != cols) { - changed = true; - matrix_debouncing[i+offset] = cols; - debouncing = DEBOUNCE; - } - unselect_rows(); - } - - if (debouncing) { - if (--debouncing) { - _delay_ms(1); - } else { - for (uint8_t i = 0; i < ROWS_PER_HAND; i++) { - matrix[i+offset] = matrix_debouncing[i+offset]; - } - } - } - - return changed; -} - -#ifdef USE_MATRIX_I2C - -// Get rows from other half over i2c -int i2c_transaction(void) { - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - - int err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE); - if (err) goto i2c_error; - - // start of matrix stored at 0x00 - err = i2c_master_write(0x00); - if (err) goto i2c_error; - - // Start read - err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ); - if (err) goto i2c_error; - - if (!err) { - int i; - for (i = 0; i < ROWS_PER_HAND-1; ++i) { - matrix[slaveOffset+i] = i2c_master_read(I2C_ACK); - } - matrix[slaveOffset+i] = i2c_master_read(I2C_NACK); - i2c_master_stop(); - } else { -i2c_error: // the cable is disconnceted, or something else went wrong - i2c_reset_state(); - return err; - } - - return 0; -} - -#else // USE_SERIAL - -int serial_transaction(int master_changed) { - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; -#ifdef SERIAL_USE_MULTI_TRANSACTION - int ret=serial_update_buffers(master_changed); -#else - int ret=serial_update_buffers(); -#endif - if (ret ) { - if(ret==2) rx_led_on(); - return 1; - } - rx_led_off(); - memcpy(&matrix[slaveOffset], - (void *)serial_slave_buffer, SERIAL_SLAVE_BUFFER_LENGTH); - return 0; -} -#endif - -uint8_t matrix_scan(void) -{ - bool changed = false; - if (is_master) { - changed |= matrix_master_scan(); - }else{ - changed |= matrix_slave_scan(); - int offset = (isLeftHand) ? ROWS_PER_HAND : 0; - memcpy(&matrix[offset], - (void *)serial_master_buffer, SERIAL_MASTER_BUFFER_LENGTH); - matrix_scan_quantum(); - } - return (uint8_t) changed; -} - - -uint8_t matrix_master_scan(void) { - - int ret = _matrix_scan(); - int mchanged = 1; - - int offset = (isLeftHand) ? 0 : ROWS_PER_HAND; - -#ifdef USE_MATRIX_I2C -// for (int i = 0; i < ROWS_PER_HAND; ++i) { - /* i2c_slave_buffer[i] = matrix[offset+i]; */ -// i2c_slave_buffer[i] = matrix[offset+i]; -// } -#else // USE_SERIAL - #ifdef SERIAL_USE_MULTI_TRANSACTION - mchanged = memcmp((void *)serial_master_buffer, - &matrix[offset], SERIAL_MASTER_BUFFER_LENGTH); - #endif - memcpy((void *)serial_master_buffer, - &matrix[offset], SERIAL_MASTER_BUFFER_LENGTH); -#endif - -#ifdef USE_MATRIX_I2C - if( i2c_transaction() ) { -#else // USE_SERIAL - if( serial_transaction(mchanged) ) { -#endif - // turn on the indicator led when halves are disconnected - tx_led_on(); - - error_count++; - - if (error_count > ERROR_DISCONNECT_COUNT) { - // reset other half if disconnected - int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0; - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[slaveOffset+i] = 0; - } - } - } else { - // turn off the indicator led on no error - tx_led_off(); - error_count = 0; - } - matrix_scan_quantum(); - return ret; -} - -uint8_t matrix_slave_scan(void) { - int ret = _matrix_scan(); - - int offset = (isLeftHand) ? 0 : ROWS_PER_HAND; - -#ifdef USE_MATRIX_I2C - for (int i = 0; i < ROWS_PER_HAND; ++i) { - /* i2c_slave_buffer[i] = matrix[offset+i]; */ - i2c_slave_buffer[i] = matrix[offset+i]; - } -#else // USE_SERIAL - #ifdef SERIAL_USE_MULTI_TRANSACTION - int change = 0; - #endif - for (int i = 0; i < ROWS_PER_HAND; ++i) { - #ifdef SERIAL_USE_MULTI_TRANSACTION - if( serial_slave_buffer[i] != matrix[offset+i] ) - change = 1; - #endif - serial_slave_buffer[i] = matrix[offset+i]; - } - #ifdef SERIAL_USE_MULTI_TRANSACTION - slave_buffer_change_count += change; - #endif -#endif - return ret; -} - -bool matrix_is_modified(void) -{ - if (debouncing) return false; - return true; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<> 4) + 1) &= ~_BV(col_pins[x] & 0xF); - _SFR_IO8((col_pins[x] >> 4) + 2) |= _BV(col_pins[x] & 0xF); - } -} - -static matrix_row_t read_cols(void) -{ - matrix_row_t result = 0; - for(int x = 0; x < MATRIX_COLS; x++) { - result |= (_SFR_IO8(col_pins[x] >> 4) & _BV(col_pins[x] & 0xF)) ? 0 : (1 << x); - } - return result; -} - -static void unselect_rows(void) -{ - for(int x = 0; x < ROWS_PER_HAND; x++) { - _SFR_IO8((row_pins[x] >> 4) + 1) &= ~_BV(row_pins[x] & 0xF); - _SFR_IO8((row_pins[x] >> 4) + 2) |= _BV(row_pins[x] & 0xF); - } -} - -static void select_row(uint8_t row) -{ - _SFR_IO8((row_pins[row] >> 4) + 1) |= _BV(row_pins[row] & 0xF); - _SFR_IO8((row_pins[row] >> 4) + 2) &= ~_BV(row_pins[row] & 0xF); -} diff --git a/keyboards/crkbd/rev1/legacy/post_config.h b/keyboards/crkbd/rev1/legacy/post_config.h deleted file mode 100644 index b3d6346cc8cf..000000000000 --- a/keyboards/crkbd/rev1/legacy/post_config.h +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 - -#ifdef SSD1306OLED -# define USE_I2C -#endif - -#if defined(OLED_DRIVER_ENABLE) && (defined(USE_I2C) || defined(USE_MATRIX_I2C)) -# error Cannot use both legacy i2c driver and new i2c_master driver at the same time. Undefine USE_I2C and/or USE_MATRIX_I2C -#endif diff --git a/keyboards/crkbd/rev1/legacy/rules.mk b/keyboards/crkbd/rev1/legacy/rules.mk index 94c5fe024207..836587e45e68 100644 --- a/keyboards/crkbd/rev1/legacy/rules.mk +++ b/keyboards/crkbd/rev1/legacy/rules.mk @@ -1,10 +1 @@ -CUSTOM_MATRIX = yes - -SRC += matrix.c \ - split_util.c \ - split_scomm.c - -QUANTUM_LIB_SRC += i2c.c serial.c - -# Disable unsupported hardware -BACKLIGHT_SUPPORTED = no +DEFAULT_FOLDER = crkbd/rev1 diff --git a/keyboards/crkbd/rev1/legacy/serial.c b/keyboards/crkbd/rev1/legacy/serial.c deleted file mode 100644 index f6293c3dc231..000000000000 --- a/keyboards/crkbd/rev1/legacy/serial.c +++ /dev/null @@ -1,589 +0,0 @@ -/* - * WARNING: be careful changing this code, it is very timing dependent - * - * 2018-10-28 checked - * avr-gcc 4.9.2 - * avr-gcc 5.4.0 - * avr-gcc 7.3.0 - */ - -#ifndef F_CPU -#define F_CPU 16000000 -#endif - -#include -#include -#include -#include -#include -#include "serial.h" - -#ifdef SOFT_SERIAL_PIN - -#ifdef __AVR_ATmega32U4__ - // if using ATmega32U4 I2C, can not use PD0 and PD1 in soft serial. - #ifdef USE_I2C - #if SOFT_SERIAL_PIN == D0 || SOFT_SERIAL_PIN == D1 - #error Using ATmega32U4 I2C, so can not use PD0, PD1 - #endif - #endif - - #if SOFT_SERIAL_PIN >= D0 && SOFT_SERIAL_PIN <= D3 - #define SERIAL_PIN_DDR DDRD - #define SERIAL_PIN_PORT PORTD - #define SERIAL_PIN_INPUT PIND - #if SOFT_SERIAL_PIN == D0 - #define SERIAL_PIN_MASK _BV(PD0) - #define EIMSK_BIT _BV(INT0) - #define EICRx_BIT (~(_BV(ISC00) | _BV(ISC01))) - #define SERIAL_PIN_INTERRUPT INT0_vect - #elif SOFT_SERIAL_PIN == D1 - #define SERIAL_PIN_MASK _BV(PD1) - #define EIMSK_BIT _BV(INT1) - #define EICRx_BIT (~(_BV(ISC10) | _BV(ISC11))) - #define SERIAL_PIN_INTERRUPT INT1_vect - #elif SOFT_SERIAL_PIN == D2 - #define SERIAL_PIN_MASK _BV(PD2) - #define EIMSK_BIT _BV(INT2) - #define EICRx_BIT (~(_BV(ISC20) | _BV(ISC21))) - #define SERIAL_PIN_INTERRUPT INT2_vect - #elif SOFT_SERIAL_PIN == D3 - #define SERIAL_PIN_MASK _BV(PD3) - #define EIMSK_BIT _BV(INT3) - #define EICRx_BIT (~(_BV(ISC30) | _BV(ISC31))) - #define SERIAL_PIN_INTERRUPT INT3_vect - #endif - #elif SOFT_SERIAL_PIN == E6 - #define SERIAL_PIN_DDR DDRE - #define SERIAL_PIN_PORT PORTE - #define SERIAL_PIN_INPUT PINE - #define SERIAL_PIN_MASK _BV(PE6) - #define EIMSK_BIT _BV(INT6) - #define EICRx_BIT (~(_BV(ISC60) | _BV(ISC61))) - #define SERIAL_PIN_INTERRUPT INT6_vect - #else - #error invalid SOFT_SERIAL_PIN value - #endif - -#else - #error serial.c now support ATmega32U4 only -#endif - -//////////////// for backward compatibility //////////////////////////////// -#ifndef SERIAL_USE_MULTI_TRANSACTION -/* --- USE Simple API (OLD API, compatible with let's split serial.c) */ - #if SERIAL_SLAVE_BUFFER_LENGTH > 0 - uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0}; - #endif - #if SERIAL_MASTER_BUFFER_LENGTH > 0 - uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0}; - #endif - uint8_t volatile status0 = 0; - -SSTD_t transactions[] = { - { (uint8_t *)&status0, - #if SERIAL_MASTER_BUFFER_LENGTH > 0 - sizeof(serial_master_buffer), (uint8_t *)serial_master_buffer, - #else - 0, (uint8_t *)NULL, - #endif - #if SERIAL_SLAVE_BUFFER_LENGTH > 0 - sizeof(serial_slave_buffer), (uint8_t *)serial_slave_buffer - #else - 0, (uint8_t *)NULL, - #endif - } -}; - -void serial_master_init(void) -{ soft_serial_initiator_init(transactions, TID_LIMIT(transactions)); } - -void serial_slave_init(void) -{ soft_serial_target_init(transactions, TID_LIMIT(transactions)); } - -// 0 => no error -// 1 => slave did not respond -// 2 => checksum error -int serial_update_buffers() -{ - int result; - result = soft_serial_transaction(); - return result; -} - -#endif // end of Simple API (OLD API, compatible with let's split serial.c) -//////////////////////////////////////////////////////////////////////////// - -#define ALWAYS_INLINE __attribute__((always_inline)) -#define NO_INLINE __attribute__((noinline)) -#define _delay_sub_us(x) __builtin_avr_delay_cycles(x) - -// parity check -#define ODD_PARITY 1 -#define EVEN_PARITY 0 -#define PARITY EVEN_PARITY - -#ifdef SERIAL_DELAY - // custom setup in config.h - // #define TID_SEND_ADJUST 2 - // #define SERIAL_DELAY 6 // micro sec - // #define READ_WRITE_START_ADJUST 30 // cycles - // #define READ_WRITE_WIDTH_ADJUST 8 // cycles -#else -// ============ Standard setups ============ - -#ifndef SELECT_SOFT_SERIAL_SPEED -#define SELECT_SOFT_SERIAL_SPEED 1 -// 0: about 189kbps -// 1: about 137kbps (default) -// 2: about 75kbps -// 3: about 39kbps -// 4: about 26kbps -// 5: about 20kbps -#endif - -#if __GNUC__ < 6 - #define TID_SEND_ADJUST 14 -#else - #define TID_SEND_ADJUST 2 -#endif - -#if SELECT_SOFT_SERIAL_SPEED == 0 - // Very High speed - #define SERIAL_DELAY 4 // micro sec - #if __GNUC__ < 6 - #define READ_WRITE_START_ADJUST 33 // cycles - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_START_ADJUST 34 // cycles - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 1 - // High speed - #define SERIAL_DELAY 6 // micro sec - #if __GNUC__ < 6 - #define READ_WRITE_START_ADJUST 30 // cycles - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_START_ADJUST 33 // cycles - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 2 - // Middle speed - #define SERIAL_DELAY 12 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 3 - // Low speed - #define SERIAL_DELAY 24 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 4 - // Very Low speed - #define SERIAL_DELAY 36 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#elif SELECT_SOFT_SERIAL_SPEED == 5 - // Ultra Low speed - #define SERIAL_DELAY 48 // micro sec - #define READ_WRITE_START_ADJUST 30 // cycles - #if __GNUC__ < 6 - #define READ_WRITE_WIDTH_ADJUST 3 // cycles - #else - #define READ_WRITE_WIDTH_ADJUST 7 // cycles - #endif -#else -#error invalid SELECT_SOFT_SERIAL_SPEED value -#endif /* SELECT_SOFT_SERIAL_SPEED */ -#endif /* SERIAL_DELAY */ - -#define SERIAL_DELAY_HALF1 (SERIAL_DELAY/2) -#define SERIAL_DELAY_HALF2 (SERIAL_DELAY - SERIAL_DELAY/2) - -#define SLAVE_INT_WIDTH_US 1 -#ifndef SERIAL_USE_MULTI_TRANSACTION - #define SLAVE_INT_RESPONSE_TIME SERIAL_DELAY -#else - #define SLAVE_INT_ACK_WIDTH_UNIT 2 - #define SLAVE_INT_ACK_WIDTH 4 -#endif - -static SSTD_t *Transaction_table = NULL; -static uint8_t Transaction_table_size = 0; - -inline static void serial_delay(void) ALWAYS_INLINE; -inline static -void serial_delay(void) { - _delay_us(SERIAL_DELAY); -} - -inline static void serial_delay_half1(void) ALWAYS_INLINE; -inline static -void serial_delay_half1(void) { - _delay_us(SERIAL_DELAY_HALF1); -} - -inline static void serial_delay_half2(void) ALWAYS_INLINE; -inline static -void serial_delay_half2(void) { - _delay_us(SERIAL_DELAY_HALF2); -} - -inline static void serial_output(void) ALWAYS_INLINE; -inline static -void serial_output(void) { - SERIAL_PIN_DDR |= SERIAL_PIN_MASK; -} - -// make the serial pin an input with pull-up resistor -inline static void serial_input_with_pullup(void) ALWAYS_INLINE; -inline static -void serial_input_with_pullup(void) { - SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK; - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; -} - -inline static uint8_t serial_read_pin(void) ALWAYS_INLINE; -inline static -uint8_t serial_read_pin(void) { - return !!(SERIAL_PIN_INPUT & SERIAL_PIN_MASK); -} - -inline static void serial_low(void) ALWAYS_INLINE; -inline static -void serial_low(void) { - SERIAL_PIN_PORT &= ~SERIAL_PIN_MASK; -} - -inline static void serial_high(void) ALWAYS_INLINE; -inline static -void serial_high(void) { - SERIAL_PIN_PORT |= SERIAL_PIN_MASK; -} - -void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size) -{ - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - serial_output(); - serial_high(); -} - -void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size) -{ - Transaction_table = sstd_table; - Transaction_table_size = (uint8_t)sstd_table_size; - serial_input_with_pullup(); - - // Enable INT0-INT3,INT6 - EIMSK |= EIMSK_BIT; -#if SERIAL_PIN_MASK == _BV(PE6) - // Trigger on falling edge of INT6 - EICRB &= EICRx_BIT; -#else - // Trigger on falling edge of INT0-INT3 - EICRA &= EICRx_BIT; -#endif -} - -// Used by the sender to synchronize timing with the reciver. -static void sync_recv(void) NO_INLINE; -static -void sync_recv(void) { - for (uint8_t i = 0; i < SERIAL_DELAY*5 && serial_read_pin(); i++ ) { - } - // This shouldn't hang if the target disconnects because the - // serial line will float to high if the target does disconnect. - while (!serial_read_pin()); -} - -// Used by the reciver to send a synchronization signal to the sender. -static void sync_send(void) NO_INLINE; -static -void sync_send(void) { - serial_low(); - serial_delay(); - serial_high(); -} - -// Reads a byte from the serial line -static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) NO_INLINE; -static uint8_t serial_read_chunk(uint8_t *pterrcount, uint8_t bit) { - uint8_t byte, i, p, pb; - - _delay_sub_us(READ_WRITE_START_ADJUST); - for( i = 0, byte = 0, p = PARITY; i < bit; i++ ) { - serial_delay_half1(); // read the middle of pulses - if( serial_read_pin() ) { - byte = (byte << 1) | 1; p ^= 1; - } else { - byte = (byte << 1) | 0; p ^= 0; - } - _delay_sub_us(READ_WRITE_WIDTH_ADJUST); - serial_delay_half2(); - } - /* recive parity bit */ - serial_delay_half1(); // read the middle of pulses - pb = serial_read_pin(); - _delay_sub_us(READ_WRITE_WIDTH_ADJUST); - serial_delay_half2(); - - *pterrcount += (p != pb)? 1 : 0; - - return byte; -} - -// Sends a byte with MSB ordering -void serial_write_chunk(uint8_t data, uint8_t bit) NO_INLINE; -void serial_write_chunk(uint8_t data, uint8_t bit) { - uint8_t b, p; - for( p = PARITY, b = 1<<(bit-1); b ; b >>= 1) { - if(data & b) { - serial_high(); p ^= 1; - } else { - serial_low(); p ^= 0; - } - serial_delay(); - } - /* send parity bit */ - if(p & 1) { serial_high(); } - else { serial_low(); } - serial_delay(); - - serial_low(); // sync_send() / senc_recv() need raise edge -} - -static void serial_send_packet(uint8_t *buffer, uint8_t size) NO_INLINE; -static -void serial_send_packet(uint8_t *buffer, uint8_t size) { - for (uint8_t i = 0; i < size; ++i) { - uint8_t data; - data = buffer[i]; - sync_send(); - serial_write_chunk(data,8); - } -} - -static uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) NO_INLINE; -static -uint8_t serial_recive_packet(uint8_t *buffer, uint8_t size) { - uint8_t pecount = 0; - for (uint8_t i = 0; i < size; ++i) { - uint8_t data; - sync_recv(); - data = serial_read_chunk(&pecount, 8); - buffer[i] = data; - } - return pecount == 0; -} - -inline static -void change_sender2reciver(void) { - sync_send(); //0 - serial_delay_half1(); //1 - serial_low(); //2 - serial_input_with_pullup(); //2 - serial_delay_half1(); //3 -} - -inline static -void change_reciver2sender(void) { - sync_recv(); //0 - serial_delay(); //1 - serial_low(); //3 - serial_output(); //3 - serial_delay_half1(); //4 -} - -static inline uint8_t nibble_bits_count(uint8_t bits) -{ - bits = (bits & 0x5) + (bits >> 1 & 0x5); - bits = (bits & 0x3) + (bits >> 2 & 0x3); - return bits; -} - -// interrupt handle to be used by the target device -ISR(SERIAL_PIN_INTERRUPT) { - -#ifndef SERIAL_USE_MULTI_TRANSACTION - serial_low(); - serial_output(); - SSTD_t *trans = Transaction_table; -#else - // recive transaction table index - uint8_t tid, bits; - uint8_t pecount = 0; - sync_recv(); - bits = serial_read_chunk(&pecount,7); - tid = bits>>3; - bits = (bits&7) != nibble_bits_count(tid); - if( bits || pecount> 0 || tid > Transaction_table_size ) { - return; - } - serial_delay_half1(); - - serial_high(); // response step1 low->high - serial_output(); - _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT*SLAVE_INT_ACK_WIDTH); - SSTD_t *trans = &Transaction_table[tid]; - serial_low(); // response step2 ack high->low -#endif - - // target send phase - if( trans->target2initiator_buffer_size > 0 ) - serial_send_packet((uint8_t *)trans->target2initiator_buffer, - trans->target2initiator_buffer_size); - // target switch to input - change_sender2reciver(); - - // target recive phase - if( trans->initiator2target_buffer_size > 0 ) { - if (serial_recive_packet((uint8_t *)trans->initiator2target_buffer, - trans->initiator2target_buffer_size) ) { - *trans->status = TRANSACTION_ACCEPTED; - } else { - *trans->status = TRANSACTION_DATA_ERROR; - } - } else { - *trans->status = TRANSACTION_ACCEPTED; - } - - sync_recv(); //weit initiator output to high -} - -///////// -// start transaction by initiator -// -// int soft_serial_transaction(int sstd_index) -// -// Returns: -// TRANSACTION_END -// TRANSACTION_NO_RESPONSE -// TRANSACTION_DATA_ERROR -// this code is very time dependent, so we need to disable interrupts -#ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void) { - SSTD_t *trans = Transaction_table; -#else -int soft_serial_transaction(int sstd_index) { - if( sstd_index > Transaction_table_size ) - return TRANSACTION_TYPE_ERROR; - SSTD_t *trans = &Transaction_table[sstd_index]; -#endif - cli(); - - // signal to the target that we want to start a transaction - serial_output(); - serial_low(); - _delay_us(SLAVE_INT_WIDTH_US); - -#ifndef SERIAL_USE_MULTI_TRANSACTION - // wait for the target response - serial_input_with_pullup(); - _delay_us(SLAVE_INT_RESPONSE_TIME); - - // check if the target is present - if (serial_read_pin()) { - // target failed to pull the line low, assume not present - serial_output(); - serial_high(); - *trans->status = TRANSACTION_NO_RESPONSE; - sei(); - return TRANSACTION_NO_RESPONSE; - } - -#else - // send transaction table index - int tid = (sstd_index<<3) | (7 & nibble_bits_count(sstd_index)); - sync_send(); - _delay_sub_us(TID_SEND_ADJUST); - serial_write_chunk(tid, 7); - serial_delay_half1(); - - // wait for the target response (step1 low->high) - serial_input_with_pullup(); - while( !serial_read_pin() ) { - _delay_sub_us(2); - } - - // check if the target is present (step2 high->low) - for( int i = 0; serial_read_pin(); i++ ) { - if (i > SLAVE_INT_ACK_WIDTH + 1) { - // slave failed to pull the line low, assume not present - serial_output(); - serial_high(); - *trans->status = TRANSACTION_NO_RESPONSE; - sei(); - return TRANSACTION_NO_RESPONSE; - } - _delay_sub_us(SLAVE_INT_ACK_WIDTH_UNIT); - } -#endif - - // initiator recive phase - // if the target is present syncronize with it - if( trans->target2initiator_buffer_size > 0 ) { - if (!serial_recive_packet((uint8_t *)trans->target2initiator_buffer, - trans->target2initiator_buffer_size) ) { - serial_output(); - serial_high(); - *trans->status = TRANSACTION_DATA_ERROR; - sei(); - return TRANSACTION_DATA_ERROR; - } - } - - // initiator switch to output - change_reciver2sender(); - - // initiator send phase - if( trans->initiator2target_buffer_size > 0 ) { - serial_send_packet((uint8_t *)trans->initiator2target_buffer, - trans->initiator2target_buffer_size); - } - - // always, release the line when not in use - sync_send(); - - *trans->status = TRANSACTION_END; - sei(); - return TRANSACTION_END; -} - -#ifdef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_get_and_clean_status(int sstd_index) { - SSTD_t *trans = &Transaction_table[sstd_index]; - cli(); - int retval = *trans->status; - *trans->status = 0;; - sei(); - return retval; -} -#endif - -#endif - -// Helix serial.c history -// 2018-1-29 fork from let's split and add PD2, modify sync_recv() (#2308, bceffdefc) -// 2018-6-28 bug fix master to slave comm and speed up (#3255, 1038bbef4) -// (adjusted with avr-gcc 4.9.2) -// 2018-7-13 remove USE_SERIAL_PD2 macro (#3374, f30d6dd78) -// (adjusted with avr-gcc 4.9.2) -// 2018-8-11 add support multi-type transaction (#3608, feb5e4aae) -// (adjusted with avr-gcc 4.9.2) -// 2018-10-21 fix serial and RGB animation conflict (#4191, 4665e4fff) -// (adjusted with avr-gcc 7.3.0) -// 2018-10-28 re-adjust compiler depend value of delay (#4269, 8517f8a66) -// (adjusted with avr-gcc 5.4.0, 7.3.0) diff --git a/keyboards/crkbd/rev1/legacy/serial.h b/keyboards/crkbd/rev1/legacy/serial.h deleted file mode 100644 index 7e0c0847a431..000000000000 --- a/keyboards/crkbd/rev1/legacy/serial.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef SOFT_SERIAL_H -#define SOFT_SERIAL_H - -#include - -// ///////////////////////////////////////////////////////////////// -// Need Soft Serial defines in config.h -// ///////////////////////////////////////////////////////////////// -// ex. -// #define SOFT_SERIAL_PIN ?? // ?? = D0,D1,D2,D3,E6 -// OPTIONAL: #define SELECT_SOFT_SERIAL_SPEED ? // ? = 1,2,3,4,5 -// // 1: about 137kbps (default) -// // 2: about 75kbps -// // 3: about 39kbps -// // 4: about 26kbps -// // 5: about 20kbps -// -// //// USE Simple API (OLD API, compatible with let's split serial.c) -// ex. -// #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -// #define SERIAL_MASTER_BUFFER_LENGTH 1 -// -// //// USE flexible API (using multi-type transaction function) -// #define SERIAL_USE_MULTI_TRANSACTION -// -// ///////////////////////////////////////////////////////////////// - - -#ifndef SERIAL_USE_MULTI_TRANSACTION -/* --- USE Simple API (OLD API, compatible with let's split serial.c) */ -#if SERIAL_SLAVE_BUFFER_LENGTH > 0 -extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH]; -#endif -#if SERIAL_MASTER_BUFFER_LENGTH > 0 -extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH]; -#endif - -void serial_master_init(void); -void serial_slave_init(void); -int serial_update_buffers(void); - -#endif // USE Simple API - -// Soft Serial Transaction Descriptor -typedef struct _SSTD_t { - uint8_t *status; - uint8_t initiator2target_buffer_size; - uint8_t *initiator2target_buffer; - uint8_t target2initiator_buffer_size; - uint8_t *target2initiator_buffer; -} SSTD_t; -#define TID_LIMIT( table ) (sizeof(table) / sizeof(SSTD_t)) - -// initiator is transaction start side -void soft_serial_initiator_init(SSTD_t *sstd_table, int sstd_table_size); -// target is interrupt accept side -void soft_serial_target_init(SSTD_t *sstd_table, int sstd_table_size); - -// initiator resullt -#define TRANSACTION_END 0 -#define TRANSACTION_NO_RESPONSE 0x1 -#define TRANSACTION_DATA_ERROR 0x2 -#define TRANSACTION_TYPE_ERROR 0x4 -#ifndef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_transaction(void); -#else -int soft_serial_transaction(int sstd_index); -#endif - -// target status -// *SSTD_t.status has -// initiator: -// TRANSACTION_END -// or TRANSACTION_NO_RESPONSE -// or TRANSACTION_DATA_ERROR -// target: -// TRANSACTION_DATA_ERROR -// or TRANSACTION_ACCEPTED -#define TRANSACTION_ACCEPTED 0x8 -#ifdef SERIAL_USE_MULTI_TRANSACTION -int soft_serial_get_and_clean_status(int sstd_index); -#endif - -#endif /* SOFT_SERIAL_H */ diff --git a/keyboards/crkbd/rev1/legacy/serial_config.h b/keyboards/crkbd/rev1/legacy/serial_config.h deleted file mode 100644 index 40d11d4de298..000000000000 --- a/keyboards/crkbd/rev1/legacy/serial_config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 . -*/ - -#ifndef SOFT_SERIAL_PIN -#define SOFT_SERIAL_PIN D2 -#define SERIAL_USE_MULTI_TRANSACTION -#endif diff --git a/keyboards/crkbd/rev1/legacy/serial_config_simpleapi.h b/keyboards/crkbd/rev1/legacy/serial_config_simpleapi.h deleted file mode 100644 index bd152ddda34b..000000000000 --- a/keyboards/crkbd/rev1/legacy/serial_config_simpleapi.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 - -#undef SERIAL_USE_MULTI_TRANSACTION -#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 diff --git a/keyboards/crkbd/rev1/legacy/split_scomm.c b/keyboards/crkbd/rev1/legacy/split_scomm.c deleted file mode 100644 index eccf2f3d2f7b..000000000000 --- a/keyboards/crkbd/rev1/legacy/split_scomm.c +++ /dev/null @@ -1,111 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 . -*/ - -#ifdef USE_SERIAL -#ifdef SERIAL_USE_MULTI_TRANSACTION -/* --- USE flexible API (using multi-type transaction function) --- */ - -#include -#include -#include -#include "split_scomm.h" -#include "serial.h" -#ifdef CONSOLE_ENABLE - #include "debug.h" -#endif - -uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0}; -uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0}; -uint8_t volatile status_com = 0; -uint8_t volatile status1 = 0; -uint8_t slave_buffer_change_count = 0; -uint8_t s_change_old = 0xff; -uint8_t s_change_new = 0xff; - -SSTD_t transactions[] = { -#define GET_SLAVE_STATUS 0 - /* master buffer not changed, only recive slave_buffer_change_count */ - { (uint8_t *)&status_com, - 0, NULL, - sizeof(slave_buffer_change_count), &slave_buffer_change_count, - }, -#define PUT_MASTER_GET_SLAVE_STATUS 1 - /* master buffer changed need send, and recive slave_buffer_change_count */ - { (uint8_t *)&status_com, - sizeof(serial_master_buffer), (uint8_t *)serial_master_buffer, - sizeof(slave_buffer_change_count), &slave_buffer_change_count, - }, -#define GET_SLAVE_BUFFER 2 - /* recive serial_slave_buffer */ - { (uint8_t *)&status1, - 0, NULL, - sizeof(serial_slave_buffer), (uint8_t *)serial_slave_buffer - } -}; - -void serial_master_init(void) -{ - soft_serial_initiator_init(transactions, TID_LIMIT(transactions)); -} - -void serial_slave_init(void) -{ - soft_serial_target_init(transactions, TID_LIMIT(transactions)); -} - -// 0 => no error -// 1 => slave did not respond -// 2 => checksum error -int serial_update_buffers(int master_update) -{ - int status, smatstatus; - static int need_retry = 0; - - if( s_change_old != s_change_new ) { - smatstatus = soft_serial_transaction(GET_SLAVE_BUFFER); - if( smatstatus == TRANSACTION_END ) { - s_change_old = s_change_new; -#ifdef CONSOLE_ENABLE - if (debug_matrix) { - uprintf("slave matrix = %b %b %b %b\n", - serial_slave_buffer[0], serial_slave_buffer[1], - serial_slave_buffer[2], serial_slave_buffer[3]); - } -#endif - } - } else { - // serial_slave_buffer dosen't change - smatstatus = TRANSACTION_END; // dummy status - } - - if( !master_update && !need_retry) { - status = soft_serial_transaction(GET_SLAVE_STATUS); - } else { - status = soft_serial_transaction(PUT_MASTER_GET_SLAVE_STATUS); - } - if( status == TRANSACTION_END ) { - s_change_new = slave_buffer_change_count; - need_retry = 0; - } else { - need_retry = 1; - } - return smatstatus; -} - -#endif // SERIAL_USE_MULTI_TRANSACTION -#endif /* USE_SERIAL */ diff --git a/keyboards/crkbd/rev1/legacy/split_scomm.h b/keyboards/crkbd/rev1/legacy/split_scomm.h deleted file mode 100644 index 47f0ca1b9d16..000000000000 --- a/keyboards/crkbd/rev1/legacy/split_scomm.h +++ /dev/null @@ -1,42 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 . -*/ - -#ifndef SPLIT_COMM_H -#define SPLIT_COMM_H - -#ifndef SERIAL_USE_MULTI_TRANSACTION -/* --- USE Simple API (OLD API, compatible with let's split serial.c) --- */ -#include "serial.h" - -#else -/* --- USE flexible API (using multi-type transaction function) --- */ -// Buffers for master - slave communication -#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2 -#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2 - -extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH]; -extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH]; -extern uint8_t slave_buffer_change_count; - -void serial_master_init(void); -void serial_slave_init(void); -int serial_update_buffers(int master_changed); - -#endif - -#endif /* SPLIT_COMM_H */ diff --git a/keyboards/crkbd/rev1/legacy/split_util.c b/keyboards/crkbd/rev1/legacy/split_util.c deleted file mode 100644 index d0fee04ad648..000000000000 --- a/keyboards/crkbd/rev1/legacy/split_util.c +++ /dev/null @@ -1,127 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 -#include -#include -#include -#include -#include -#include "split_util.h" -#include "matrix.h" -#include "keyboard.h" -#include "wait.h" - -#ifdef EE_HANDS -# include "eeconfig.h" -#endif - -#ifdef USE_MATRIX_I2C -# include "i2c_master.h" -#else -# include "split_scomm.h" -#endif - -#ifndef SPLIT_USB_TIMEOUT -# define SPLIT_USB_TIMEOUT 2000 -#endif - -#ifndef SPLIT_USB_TIMEOUT_POLL -# define SPLIT_USB_TIMEOUT_POLL 10 -#endif - -volatile bool isLeftHand = true; - -bool waitForUsb(void) { - for (uint8_t i = 0; i < (SPLIT_USB_TIMEOUT / SPLIT_USB_TIMEOUT_POLL); i++) { - // This will return true if a USB connection has been established - if (UDADDR & _BV(ADDEN)) { - return true; - } - wait_ms(SPLIT_USB_TIMEOUT_POLL); - } - - // Avoid NO_USB_STARTUP_CHECK - Disable USB as the previous checks seem to enable it somehow - (USBCON &= ~(_BV(USBE) | _BV(OTGPADE))); - - return false; -} - -__attribute__((weak)) bool is_keyboard_left(void) { -#if defined(SPLIT_HAND_PIN) - // Test pin SPLIT_HAND_PIN for High/Low, if low it's right hand - setPinInput(SPLIT_HAND_PIN); - return readPin(SPLIT_HAND_PIN); -#elif defined(EE_HANDS) - return eeconfig_read_handedness(); -#elif defined(MASTER_RIGHT) - return !has_usb(); -#endif - - return has_usb(); -} - -__attribute__((weak)) bool has_usb(void) { - static enum { UNKNOWN, MASTER, SLAVE } usbstate = UNKNOWN; - - // only check once, as this is called often - if (usbstate == UNKNOWN) { -#if defined(SPLIT_USB_DETECT) - usbstate = waitForUsb() ? MASTER : SLAVE; -#elif defined(__AVR__) - USBCON |= (1 << OTGPADE); // enables VBUS pad - wait_us(5); - - usbstate = (USBSTA & (1 << VBUS)) ? MASTER : SLAVE; // checks state of VBUS -#else - usbstate = MASTER; -#endif - } - - return (usbstate == MASTER); -} - -static void keyboard_master_setup(void) { - -#ifdef USE_MATRIX_I2C - i2c_init(); -#else - serial_master_init(); -#endif -} - -static void keyboard_slave_setup(void) { - -#ifdef USE_MATRIX_I2C - i2c_slave_init(SLAVE_I2C_ADDRESS); -#else - serial_slave_init(); -#endif -} - -// this code runs before the usb and keyboard is initialized -void split_keyboard_setup(void) { - isLeftHand = is_keyboard_left(); - - if (has_usb()) { - keyboard_master_setup(); - } else { - keyboard_slave_setup(); - } - sei(); -} diff --git a/keyboards/crkbd/rev1/legacy/split_util.h b/keyboards/crkbd/rev1/legacy/split_util.h deleted file mode 100644 index b2ddc1f97a3d..000000000000 --- a/keyboards/crkbd/rev1/legacy/split_util.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2020 Drashna Jaelre <@drashna> - -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 . -*/ - -#ifndef SPLIT_KEYBOARD_UTIL_H -#define SPLIT_KEYBOARD_UTIL_H - -#include -#include "eeconfig.h" - -#define SLAVE_I2C_ADDRESS 0x32 - -extern volatile bool isLeftHand; - -// slave version of matix scan, defined in matrix.c -uint8_t matrix_slave_scan(void); - -void split_keyboard_setup(void); -bool has_usb(void); - -void matrix_master_OLED_init (void); - -#endif diff --git a/keyboards/crkbd/rev1/legacy/ssd1306.c b/keyboards/crkbd/rev1/legacy/ssd1306.c deleted file mode 100644 index b04b7e15c1ad..000000000000 --- a/keyboards/crkbd/rev1/legacy/ssd1306.c +++ /dev/null @@ -1,357 +0,0 @@ -#ifdef SSD1306OLED - -#include "ssd1306.h" -#include "i2c.h" -#include -#include "print.h" -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#endif -#include "sendchar.h" -#include "timer.h" - -struct CharacterMatrix display; - -extern const unsigned char font[] PROGMEM; - -#ifndef OLED_BLANK_CHAR -#define OLED_BLANK_CHAR ' ' -#endif - -#ifndef OLED_BITS_FILTER -#define OLED_BITS_FILTER -#endif - -// Set this to 1 to help diagnose early startup problems -// when testing power-on with ble. Turn it off otherwise, -// as the latency of printing most of the debug info messes -// with the matrix scan, causing keys to drop. -#define DEBUG_TO_SCREEN 0 - -//static uint16_t last_battery_update; -//static uint32_t vbat; -//#define BatteryUpdateInterval 10000 /* milliseconds */ - -// 'last_flush' is declared as uint16_t, -// so this must be less than 65535 -#ifndef ScreenOffInterval -#define ScreenOffInterval 60000 /* milliseconds */ -#endif - -#if DEBUG_TO_SCREEN -static uint8_t displaying; -#endif -static uint16_t last_flush; - -static bool force_dirty = true; - -// Write command sequence. -// Returns true on success. -static inline bool _send_cmd1(uint8_t cmd) { - bool res = false; - - if (i2c_start_write(SSD1306_ADDRESS)) { - xprintf("failed to start write to %d\n", SSD1306_ADDRESS); - goto done; - } - - if (i2c_master_write(0x0 /* command byte follows */)) { - print("failed to write control byte\n"); - - goto done; - } - - if (i2c_master_write(cmd)) { - xprintf("failed to write command %d\n", cmd); - goto done; - } - res = true; -done: - i2c_master_stop(); - return res; -} - -#define send_cmd1(c) if (!_send_cmd1(c)) {goto done;} -#define send_cmds(c) if (!_send_cmds(c,sizeof(c))) {goto done;} -#define cmd1(X) X -#define cmd2(X,Y) X,Y -#define cmd3(X,Y,Z) X,Y,Z - -static bool _send_cmds(const uint8_t* p,uint8_t sz) { - for(uint8_t i=sz;i;i--) { - send_cmd1( pgm_read_byte(p++) ); - } - return true; -done: - return false; -} - -#define SEND_CMDS(...) {static const uint8_t _cmds[] PROGMEM = { __VA_ARGS__,0 };send_cmds(_cmds);} - -static void clear_display(void) { - matrix_clear(&display); - - // Clear all of the display bits (there can be random noise - // in the RAM on startup) - SEND_CMDS( - cmd3(PageAddr, 0, (DisplayHeight / 8) - 1), - cmd3(ColumnAddr, 0, DisplayWidth - 1) - ); - - if (i2c_start_write(SSD1306_ADDRESS)) { - goto done; - } - if (i2c_master_write(0x40)) { - // Data mode - goto done; - } - for (uint8_t row = MatrixRows;row; row--) { - for (uint8_t col = DisplayWidth; col; col--) { - i2c_master_write(0); - } - } - - display.dirty = false; - -done: - i2c_master_stop(); -} - -#if DEBUG_TO_SCREEN -#undef sendchar -static int8_t capture_sendchar(uint8_t c) { - sendchar(c); - iota_gfx_write_char(c); - - if (!displaying) { - iota_gfx_flush(); - } - return 0; -} -#endif - -bool iota_gfx_init(bool rotate) { - bool success = false; - - i2c_master_init(); - SEND_CMDS( - cmd1(DisplayOff), - cmd2(SetDisplayClockDiv, 0x80), - cmd2(SetMultiPlex, DisplayHeight - 1), - cmd2(SetDisplayOffset, 0), - cmd1(SetStartLine | 0x0), - cmd2(SetChargePump, 0x14 /* Enable */), - cmd2(SetMemoryMode, 0 /* horizontal addressing */) - ); - - if(rotate){ - // the following Flip the display orientation 180 degrees - SEND_CMDS( - cmd1(SegRemap), - cmd1(ComScanInc) - ); - }else{ - // Flips the display orientation 0 degrees - SEND_CMDS( - cmd1(SegRemap | 0x1), - cmd1(ComScanDec) - ); - } - - SEND_CMDS( -#ifdef SSD1306_128X64 - cmd2(SetComPins, 0x12), -#else - cmd2(SetComPins, 0x2), -#endif - cmd2(SetContrast, 0x8f), - cmd2(SetPreCharge, 0xf1), - cmd2(SetVComDetect, 0x40), - cmd1(DisplayAllOnResume), - cmd1(NormalDisplay), - cmd1(DeActivateScroll), - cmd1(DisplayOn), - - cmd2(SetContrast, 0) // Dim - ); - - clear_display(); - - success = true; - - iota_gfx_flush(); - -#if DEBUG_TO_SCREEN - print_set_sendchar(capture_sendchar); -#endif - -done: - return success; -} - -bool iota_gfx_off(void) { - bool success = false; - - send_cmd1(DisplayOff); - success = true; - -done: - return success; -} - -bool iota_gfx_on(void) { - bool success = false; - - send_cmd1(DisplayOn); - success = true; - -done: - return success; -} - -void matrix_write_char_inner(struct CharacterMatrix *matrix, uint8_t c) { - *matrix->cursor = c; - ++matrix->cursor; - - if (matrix->cursor - &matrix->display[0][0] == sizeof(matrix->display)) { - // We went off the end; scroll the display upwards by one line - memmove(&matrix->display[0], &matrix->display[1], - MatrixCols * (MatrixRows - 1)); - matrix->cursor = &matrix->display[MatrixRows - 1][0]; - memset(matrix->cursor, OLED_BLANK_CHAR, MatrixCols); - } -} - -void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c) { - matrix->dirty = true; - - if (c == '\n') { - // Clear to end of line from the cursor and then move to the - // start of the next line - uint8_t cursor_col = (matrix->cursor - &matrix->display[0][0]) % MatrixCols; - - while (cursor_col++ < MatrixCols) { - matrix_write_char_inner(matrix, OLED_BLANK_CHAR); - } - return; - } - - matrix_write_char_inner(matrix, c); -} - -void iota_gfx_write_char(uint8_t c) { - matrix_write_char(&display, c); -} - -void matrix_write(struct CharacterMatrix *matrix, const char *data) { - while (*data) { - matrix_write_char(matrix, *data); - ++data; - } -} - -void matrix_write_ln(struct CharacterMatrix *matrix, const char *data) { - matrix_write(matrix, data); - matrix_write(matrix, "\n"); -} - -void iota_gfx_write(const char *data) { - matrix_write(&display, data); -} - -void matrix_write_P(struct CharacterMatrix *matrix, const char *data) { - while (true) { - uint8_t c = pgm_read_byte(data); - if (c == 0) { - return; - } - matrix_write_char(matrix, c); - ++data; - } -} - -void iota_gfx_write_P(const char *data) { - matrix_write_P(&display, data); -} - -void matrix_clear(struct CharacterMatrix *matrix) { - memset(matrix->display, OLED_BLANK_CHAR, sizeof(matrix->display)); - matrix->cursor = &matrix->display[0][0]; - matrix->dirty = true; -} - -void iota_gfx_clear_screen(void) { - matrix_clear(&display); -} - -void matrix_render(struct CharacterMatrix *matrix) { - last_flush = timer_read(); - iota_gfx_on(); -#if DEBUG_TO_SCREEN - ++displaying; -#endif - - // Move to the home position - SEND_CMDS( - cmd3(PageAddr, 0, MatrixRows - 1), - cmd3(ColumnAddr, 0, (MatrixCols * FontWidth) - 1) - ); - - if (i2c_start_write(SSD1306_ADDRESS)) { - goto done; - } - if (i2c_master_write(0x40)) { - // Data mode - goto done; - } - - for (uint8_t row = 0; row < MatrixRows; ++row) { - for (uint8_t col = 0; col < MatrixCols; ++col) { - const uint8_t *glyph = font + (matrix->display[row][col] * FontWidth); - - for (uint8_t glyphCol = 0; glyphCol < FontWidth; ++glyphCol) { - uint8_t colBits = pgm_read_byte(glyph + glyphCol); - i2c_master_write(colBits OLED_BITS_FILTER); - } - - // 1 column of space between chars (it's not included in the glyph) - //i2c_master_write(0); - } - } - - matrix->dirty = false; - -done: - i2c_master_stop(); -#if DEBUG_TO_SCREEN - --displaying; -#endif -} - -void iota_gfx_flush(void) { - matrix_render(&display); -} - -__attribute__ ((weak)) -void iota_gfx_task_user(void) { -} - -void iota_gfx_task(void) { - iota_gfx_task_user(); - - if (display.dirty|| force_dirty) { - iota_gfx_flush(); - force_dirty = false; - } - - if (ScreenOffInterval !=0 && timer_elapsed(last_flush) > ScreenOffInterval) { - iota_gfx_off(); - } -} - -bool process_record_gfx(uint16_t keycode, keyrecord_t *record) { - force_dirty = true; - return true; -} - -#endif diff --git a/keyboards/crkbd/rev1/legacy/ssd1306.h b/keyboards/crkbd/rev1/legacy/ssd1306.h deleted file mode 100644 index 11a3cc67f449..000000000000 --- a/keyboards/crkbd/rev1/legacy/ssd1306.h +++ /dev/null @@ -1,90 +0,0 @@ -#pragma once - -#include -#include -#include "action.h" - -enum ssd1306_cmds { - DisplayOff = 0xAE, - DisplayOn = 0xAF, - - SetContrast = 0x81, - DisplayAllOnResume = 0xA4, - - DisplayAllOn = 0xA5, - NormalDisplay = 0xA6, - InvertDisplay = 0xA7, - SetDisplayOffset = 0xD3, - SetComPins = 0xda, - SetVComDetect = 0xdb, - SetDisplayClockDiv = 0xD5, - SetPreCharge = 0xd9, - SetMultiPlex = 0xa8, - SetLowColumn = 0x00, - SetHighColumn = 0x10, - SetStartLine = 0x40, - - SetMemoryMode = 0x20, - ColumnAddr = 0x21, - PageAddr = 0x22, - - ComScanInc = 0xc0, - ComScanDec = 0xc8, - SegRemap = 0xa0, - SetChargePump = 0x8d, - ExternalVcc = 0x01, - SwitchCapVcc = 0x02, - - ActivateScroll = 0x2f, - DeActivateScroll = 0x2e, - SetVerticalScrollArea = 0xa3, - RightHorizontalScroll = 0x26, - LeftHorizontalScroll = 0x27, - VerticalAndRightHorizontalScroll = 0x29, - VerticalAndLeftHorizontalScroll = 0x2a, -}; - -// Controls the SSD1306 128x32 OLED display via i2c - -#ifndef SSD1306_ADDRESS -#define SSD1306_ADDRESS 0x3C -#endif - -#define DisplayHeight 32 -#define DisplayWidth 128 - -#define FontHeight 8 -#define FontWidth 6 - -#define MatrixRows (DisplayHeight / FontHeight) -#define MatrixCols (DisplayWidth / FontWidth) - -struct CharacterMatrix { - uint8_t display[MatrixRows][MatrixCols]; - uint8_t *cursor; - bool dirty; -}; - -extern struct CharacterMatrix display; - -bool iota_gfx_init(bool rotate); -void iota_gfx_task(void); -bool iota_gfx_off(void); -bool iota_gfx_on(void); -void iota_gfx_flush(void); -void iota_gfx_write_char(uint8_t c); -void iota_gfx_write(const char *data); -void iota_gfx_write_P(const char *data); -void iota_gfx_clear_screen(void); - -void iota_gfx_task_user(void); - -void matrix_clear(struct CharacterMatrix *matrix); -void matrix_write_char_inner(struct CharacterMatrix *matrix, uint8_t c); -void matrix_write_char(struct CharacterMatrix *matrix, uint8_t c); -void matrix_write(struct CharacterMatrix *matrix, const char *data); -void matrix_write_ln(struct CharacterMatrix *matrix, const char *data); -void matrix_write_P(struct CharacterMatrix *matrix, const char *data); -void matrix_render(struct CharacterMatrix *matrix); - -bool process_record_gfx(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/crkbd/rev1/rev1.c b/keyboards/crkbd/rev1/rev1.c index f2df8942abd1..63e4bed52222 100644 --- a/keyboards/crkbd/rev1/rev1.c +++ b/keyboards/crkbd/rev1/rev1.c @@ -83,47 +83,14 @@ led_config_t g_led_config = { { 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1 } }; -#endif - -void matrix_init_kb(void) { -#ifdef RGB_MATRIX_ENABLE - if (!isLeftHand) { - g_led_config = (led_config_t){ { - { 51, 50, 45, 44, 37, 36 }, - { 52, 49, 46, 43, 38, 35 }, - { 53, 48, 47, 42, 39, 34 }, - { NO_LED, NO_LED, NO_LED, 41, 40, 33 }, - { 24, 23, 18, 17, 10, 9 }, - { 25, 22, 19, 16, 11, 8 }, - { 26, 21, 20, 15, 12, 7 }, - { NO_LED, NO_LED, NO_LED, 14, 13, 6 } - }, { - { 139, 16 }, { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 }, - { 139, 39 }, { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 }, - { 164, 55 }, { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 }, - { 208, 42 }, { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }, { 85, 16 }, - { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 }, { 85, 39 }, - { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 }, { 60, 55 }, - { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 }, { 16, 42 }, - { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 } - }, { - 2, 2, 2, 2, 2, 2, 1, - 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 1, 1, 1, 2, - 2, 2, 2, 2, 2, 1, 4, - 4, 4, 4, 4, 4, 1, 1, - 4, 4, 4, 4, 4, 4, 4, - 4, 4, 1, 1, 1 - } }; - } -#endif - matrix_init_user(); +void suspend_power_down_kb(void) { + rgb_matrix_set_suspend_state(true); + suspend_power_down_user(); } -#ifdef SSD1306OLED -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - return process_record_gfx(keycode,record) && process_record_user(keycode, record); +void suspend_wakeup_init_kb(void) { + rgb_matrix_set_suspend_state(false); + suspend_wakeup_init_user(); } #endif diff --git a/keyboards/crkbd/rev1/rev1.h b/keyboards/crkbd/rev1/rev1.h index c805efccceb2..126c4b899865 100644 --- a/keyboards/crkbd/rev1/rev1.h +++ b/keyboards/crkbd/rev1/rev1.h @@ -19,21 +19,7 @@ along with this program. If not, see . #pragma once #include "crkbd.h" -#if defined(KEYBOARD_crkbd_rev1_legacy) -# include "legacy.h" -#elif defined(KEYBOARD_crkbd_rev1_common) -# include "common.h" -#endif - #include "quantum.h" -#include "split_util.h" -#ifdef PROTOCOL_LUFA -# include "lufa.h" -#endif -#ifdef SSD1306OLED -# include "ssd1306.h" -#endif - // clang-format off #define LAYOUT_split_3x6_3( \ @@ -70,18 +56,5 @@ along with this program. If not, see . { KC_NO, KC_NO, KC_NO, R32, R31, R30 } \ } -#define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, R30, R31, R32 \ - ) \ - LAYOUT_split_3x6_3( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \ - KC_##L30, KC_##L31, KC_##L32, KC_##R30, KC_##R31, KC_##R32 \ - ) -// clang-format on #define LAYOUT LAYOUT_split_3x6_3 diff --git a/keyboards/crkbd/rev1/rules.mk b/keyboards/crkbd/rev1/rules.mk index 6bc5a5b03890..d38a61809075 100644 --- a/keyboards/crkbd/rev1/rules.mk +++ b/keyboards/crkbd/rev1/rules.mk @@ -1,3 +1 @@ -LIB_SRC += ssd1306.c - -DEFAULT_FOLDER = crkbd/rev1/legacy +SPLIT_KEYBOARD = yes diff --git a/keyboards/crkbd/rules.mk b/keyboards/crkbd/rules.mk index adbbf016ed84..7e25a39d34a7 100644 --- a/keyboards/crkbd/rules.mk +++ b/keyboards/crkbd/rules.mk @@ -2,39 +2,33 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control +EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - # if firmware size over limit, try this option -# CFLAGS += -flto -LAYOUTS = split_3x5_3 split_3x6_3 +# LTO_ENABLE = yes -DEFAULT_FOLDER = crkbd/rev1/legacy +DEFAULT_FOLDER = crkbd/rev1 + +RGBLIGHT_SUPPORTED = yes +RGB_MATRIX_SUPPORTED = yes + +LAYOUTS = split_3x5_3 split_3x6_3 diff --git a/keyboards/cu24/config.h b/keyboards/cu24/config.h index b6443ab99912..7d1bae60419b 100644 --- a/keyboards/cu24/config.h +++ b/keyboards/cu24/config.h @@ -160,24 +160,4 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - #endif diff --git a/keyboards/cu24/rules.mk b/keyboards/cu24/rules.mk index 36641e4c3d61..8c1dcdd5e64a 100644 --- a/keyboards/cu24/rules.mk +++ b/keyboards/cu24/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/cu75/cu75.c b/keyboards/cu75/cu75.c index 80941df39053..273dd092718b 100644 --- a/keyboards/cu75/cu75.c +++ b/keyboards/cu75/cu75.c @@ -28,12 +28,12 @@ void matrix_init_kb(void) audio_init(); PLAY_SONG(test_sound); // Fix port B5 - cbi(DDRB, 5); - sbi(PORTB, 5); + setPinInput(B5); + writePinHigh(B5); #else // If we're not using the audio pin, drive it low - sbi(DDRC, 6); - cbi(PORTC, 6); + setPinOutput(C6); + writePinLow(C6); #endif #ifdef ISSI_ENABLE issi_init(); @@ -163,13 +163,6 @@ void reset_keyboard_kb(){ reset_keyboard(); } -void led_set_kb(uint8_t usb_led) -{ - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - // LFK lighting info const uint8_t switch_matrices[] = {0, 1}; const uint8_t rgb_matrices[] = {6, 7}; diff --git a/keyboards/cu75/cu75.h b/keyboards/cu75/cu75.h index 5abce8fcd40d..7774187b4f0b 100644 --- a/keyboards/cu75/cu75.h +++ b/keyboards/cu75/cu75.h @@ -1,26 +1,10 @@ #ifndef CU75_H #define CU75_H -/* if the kb.h file exists (because we're running from qmkbuilder) include it */ -#ifdef __has_include -#if __has_include("kb.h") -#include "kb.h" -#endif -#endif - #include "quantum.h" #include "matrix.h" #include -#ifndef cbi -#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) -#endif - -#ifndef sbi -#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) -#endif - - typedef struct RGB_Color { uint16_t red; uint16_t green; diff --git a/keyboards/cu75/keymaps/default/keymap.c b/keyboards/cu75/keymaps/default/keymap.c index c78c5cd121d0..923faf97d508 100644 --- a/keyboards/cu75/keymaps/default/keymap.c +++ b/keyboards/cu75/keymaps/default/keymap.c @@ -57,19 +57,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI \ ), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/cu75/keymaps/default/rules.mk b/keyboards/cu75/keymaps/default/rules.mk index 5eb2a0e80215..b0b31628ceb6 100644 --- a/keyboards/cu75/keymaps/default/rules.mk +++ b/keyboards/cu75/keymaps/default/rules.mk @@ -3,7 +3,7 @@ # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -13,7 +13,6 @@ BACKLIGHT_ENABLE = yes # Disable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Disable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Disable RGB underlight RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend diff --git a/keyboards/cu75/keymaps/iso/keymap.c b/keyboards/cu75/keymaps/iso/keymap.c index 18bd9a59ae7c..60c06905ff43 100644 --- a/keyboards/cu75/keymaps/iso/keymap.c +++ b/keyboards/cu75/keymaps/iso/keymap.c @@ -56,19 +56,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI \ ), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/cu75/keymaps/iso/rules.mk b/keyboards/cu75/keymaps/iso/rules.mk index 9407f1103464..322cbae0e3b8 100644 --- a/keyboards/cu75/keymaps/iso/rules.mk +++ b/keyboards/cu75/keymaps/iso/rules.mk @@ -3,7 +3,7 @@ # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -13,7 +13,6 @@ NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Disable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Disable RGB underlight RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend diff --git a/keyboards/cu75/rules.mk b/keyboards/cu75/rules.mk index 1eb9cf8f76fd..6274267ab150 100644 --- a/keyboards/cu75/rules.mk +++ b/keyboards/cu75/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options diff --git a/keyboards/cu80/rules.mk b/keyboards/cu80/rules.mk index 7c27fe7f9ede..727b65447578 100644 --- a/keyboards/cu80/rules.mk +++ b/keyboards/cu80/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/custommk/genesis/config.h b/keyboards/custommk/genesis/config.h index a527737f00d1..72f33c155423 100644 --- a/keyboards/custommk/genesis/config.h +++ b/keyboards/custommk/genesis/config.h @@ -18,45 +18,3 @@ #include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xF35B -#define PRODUCT_ID 0xFAB0 -#define DEVICE_VER 0x0001 -#define MANUFACTURER customMK -#define PRODUCT Genesis - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 4 - -/* key matrix pins */ -#define MATRIX_ROW_PINS { F0, C7, C6, B6, B5 } -#define MATRIX_COL_PINS { F4, F5, D7, B4 } -#define UNUSED_PINS - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE - -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -#define ENCODERS_PAD_A { F6, D2 } -#define ENCODERS_PAD_B { F7, D1 } -#define ENCODER_RESOLUTION 4 -#define TAP_CODE_DELAY 10 - -#define RGB_DI_PIN E6 -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 13 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_LIMIT_VAL 128 - diff --git a/keyboards/custommk/genesis/genesis.c b/keyboards/custommk/genesis/genesis.c deleted file mode 100644 index 47296dd80408..000000000000 --- a/keyboards/custommk/genesis/genesis.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2020 customMK - * - * 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 "genesis.h" - -__attribute__((weak)) void encoder_update_user(uint8_t index, bool clockwise) { - /* top left encoder */ - if (index == 0) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - /* top right encoder */ - else if (index == 1) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } -} \ No newline at end of file diff --git a/keyboards/custommk/genesis/genesis.h b/keyboards/custommk/genesis/genesis.h deleted file mode 100644 index ad107365230f..000000000000 --- a/keyboards/custommk/genesis/genesis.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright 2020 customMK - * - * 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 "quantum.h" - -#define LAYOUT_numpad_5x4( \ - K00, K01, K02, K03, \ - K10, K11, K12, \ - K20, K21, K22, K23, \ - K30, K31, K32, \ - K40, K42, K43 \ -) { \ - { K00, K01, K02, K03 }, \ - { K10, K11, K12, KC_NO }, \ - { K20, K21, K22, K23 }, \ - { K30, K31, K32, KC_NO }, \ - { K40, KC_NO, K42, K43 } \ -} - -#define LAYOUT_ortho_5x4( \ - K00, K01, K02, K03, \ - K10, K11, K12, K13, \ - K20, K21, K22, K23, \ - K30, K31, K32, K33, \ - K40, K41, K42, K43 \ -) { \ - { K00, K01, K02, K03 }, \ - { K10, K11, K12, K13 }, \ - { K20, K21, K22, K23 }, \ - { K30, K31, K32, K33 }, \ - { K40, K41, K42, K43 } \ -} - diff --git a/keyboards/custommk/genesis/info.json b/keyboards/custommk/genesis/info.json deleted file mode 100644 index ddba21f99e0b..000000000000 --- a/keyboards/custommk/genesis/info.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "keyboard_name": "Genesis", - "url": "https://www.customMK.com", - "maintainer": "customMK", - "width": 4, - "height": 5, - "layouts": { - "LAYOUT_ortho_5x4": { - "layout": [{"label":"MO(1)", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"Mute", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"Pg Up", "x":3, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Pg Dn", "x":3, "y":3}, {"label":"0", "x":0, "y":4}, {"label":"Spc", "x":1, "y":4}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":4}] - }, - "LAYOUT_numpad_5x4": { - "layout": [{"label":"MO(1)", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Enter", "x":3, "y":3, "h":2}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}] - } - - } -} \ No newline at end of file diff --git a/keyboards/custommk/genesis/keymaps/via/keymap.c b/keyboards/custommk/genesis/keymaps/via/keymap.c deleted file mode 100644 index fe375547626e..000000000000 --- a/keyboards/custommk/genesis/keymaps/via/keymap.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright 2020 customMK - * - * 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_ortho_5x4( - MO(1), KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_P4, KC_P5, KC_P6, KC_PGUP, - KC_P1, KC_P2, KC_P3, KC_PGDN, - KC_P0, KC_SPC, KC_PDOT, KC_PENT), - - [1] = LAYOUT_ortho_5x4( - KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS), - - [2] = LAYOUT_ortho_5x4( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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_ortho_5x4( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - 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/custommk/genesis/readme.md b/keyboards/custommk/genesis/readme.md index 58bd27121a8d..bf967a2bdaf9 100644 --- a/keyboards/custommk/genesis/readme.md +++ b/keyboards/custommk/genesis/readme.md @@ -1,10 +1,10 @@ # Genesis +Genesis is a 5x4 ortholinear macro pad designed and produced by customMK. + ![Genesis Macro Pad](https://i.imgur.com/voBjLrM.jpeg) ![Genesis Macro Pad PCB](https://i.imgur.com/ST2vtkV.jpeg) -Genesis is a 5x4 ortholinear macro pad designed and produced by customMK. - * Keyboard Maintainer: [customMK](https://github.com/customMK) * Hardware Supported: Genesis Macro Pad * Hardware Availability: [customMK](https://shop.custommk.com/products/genesis_macropad) diff --git a/keyboards/custommk/genesis/rev1/config.h b/keyboards/custommk/genesis/rev1/config.h new file mode 100644 index 000000000000..3393c53302f6 --- /dev/null +++ b/keyboards/custommk/genesis/rev1/config.h @@ -0,0 +1,65 @@ +/* Copyright 2020 customMK + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xF35B +#define PRODUCT_ID 0xFAB0 +#define DEVICE_VER 0x0001 +#define MANUFACTURER customMK +#define PRODUCT GenesisRev1 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 4 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { F0, C7, C6, B6, B5 } +#define MATRIX_COL_PINS { F4, F5, D7, B4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define ENCODERS_PAD_A { F6, D2 } +#define ENCODERS_PAD_B { F7, D1 } +#define ENCODER_RESOLUTION 2 +#define TAP_CODE_DELAY 10 + +#define RGB_DI_PIN E6 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLED_NUM 13 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGBLIGHT_LIMIT_VAL 128 +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 4 + diff --git a/keyboards/custommk/genesis/rev1/info.json b/keyboards/custommk/genesis/rev1/info.json new file mode 100644 index 000000000000..67bab74bef0a --- /dev/null +++ b/keyboards/custommk/genesis/rev1/info.json @@ -0,0 +1,16 @@ +{ + "keyboard_name": "Genesis Rev1", + "url": "https://www.customMK.com", + "maintainer": "customMK", + "width": 4, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x4": { + "layout": [{"label":"MO(1)", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"Mute", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"Pg Up", "x":3, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Pg Dn", "x":3, "y":3}, {"label":"0", "x":0, "y":4}, {"label":"Spc", "x":1, "y":4}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":4}] + }, + "LAYOUT_numpad_5x4": { + "layout": [{"label":"MO(1)", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Enter", "x":3, "y":3, "h":2}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}] + } + + } +} \ No newline at end of file diff --git a/keyboards/custommk/genesis/keymaps/default/keymap.c b/keyboards/custommk/genesis/rev1/keymaps/default/keymap.c similarity index 100% rename from keyboards/custommk/genesis/keymaps/default/keymap.c rename to keyboards/custommk/genesis/rev1/keymaps/default/keymap.c diff --git a/keyboards/custommk/genesis/keymaps/default/readme.md b/keyboards/custommk/genesis/rev1/keymaps/default/readme.md similarity index 100% rename from keyboards/custommk/genesis/keymaps/default/readme.md rename to keyboards/custommk/genesis/rev1/keymaps/default/readme.md diff --git a/keyboards/custommk/genesis/keymaps/numpad/keymap.c b/keyboards/custommk/genesis/rev1/keymaps/numpad/keymap.c similarity index 100% rename from keyboards/custommk/genesis/keymaps/numpad/keymap.c rename to keyboards/custommk/genesis/rev1/keymaps/numpad/keymap.c diff --git a/keyboards/custommk/genesis/keymaps/numpad/readme.md b/keyboards/custommk/genesis/rev1/keymaps/numpad/readme.md similarity index 100% rename from keyboards/custommk/genesis/keymaps/numpad/readme.md rename to keyboards/custommk/genesis/rev1/keymaps/numpad/readme.md diff --git a/keyboards/custommk/genesis/rev1/keymaps/via/keymap.c b/keyboards/custommk/genesis/rev1/keymaps/via/keymap.c new file mode 100644 index 000000000000..6b795f4c23fe --- /dev/null +++ b/keyboards/custommk/genesis/rev1/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2020 customMK + * + * 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_ortho_5x4( + MO(1), KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PGUP, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PGDN, + KC_P0, KC_SPC, KC_PDOT, KC_PENT), + + [1] = LAYOUT_ortho_5x4( + KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS), + + [2] = LAYOUT_ortho_5x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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_ortho_5x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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/custommk/genesis/keymaps/via/readme.md b/keyboards/custommk/genesis/rev1/keymaps/via/readme.md similarity index 100% rename from keyboards/custommk/genesis/keymaps/via/readme.md rename to keyboards/custommk/genesis/rev1/keymaps/via/readme.md diff --git a/keyboards/xd84pro/keymaps/via/rules.mk b/keyboards/custommk/genesis/rev1/keymaps/via/rules.mk similarity index 100% rename from keyboards/xd84pro/keymaps/via/rules.mk rename to keyboards/custommk/genesis/rev1/keymaps/via/rules.mk diff --git a/keyboards/custommk/genesis/rev1/readme.md b/keyboards/custommk/genesis/rev1/readme.md new file mode 100644 index 000000000000..bba03cceb835 --- /dev/null +++ b/keyboards/custommk/genesis/rev1/readme.md @@ -0,0 +1,19 @@ +# Genesis + +Genesis is a 5x4 ortholinear macro pad designed and produced by customMK. + +* Keyboard Maintainer: [customMK](https://github.com/customMK) +* Hardware Supported: Genesis Macro Pad +* Hardware Availability: [customMK](https://shop.custommk.com/products/genesis_macropad) + +Make example for this keyboard (after setting up your build environment): + + make custommk/genesis/rev1:default + +Flashing example for this keyboard: + + make custommk/genesis/rev1:default:flash + +Genesis Macro Pad has qmk-dfu bootloader preinstalled. To enter the bootloader, run the flashing command above, and then either plug in the USB connection while holding the top-left key, or alternatively, plug in the USB connection and then press the reset button on the PCB + +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/custommk/genesis/rev1/rev1.c b/keyboards/custommk/genesis/rev1/rev1.c new file mode 100644 index 000000000000..ac40eedbf202 --- /dev/null +++ b/keyboards/custommk/genesis/rev1/rev1.c @@ -0,0 +1,38 @@ +/* Copyright 2020 customMK + * + * 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 "rev1.h" + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) return false; + /* top left encoder */ + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + /* top right encoder */ + else if (index == 1) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/custommk/genesis/rev1/rev1.h b/keyboards/custommk/genesis/rev1/rev1.h new file mode 100644 index 000000000000..0516b41ad884 --- /dev/null +++ b/keyboards/custommk/genesis/rev1/rev1.h @@ -0,0 +1,48 @@ +/* Copyright 2020 customMK + * + * 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 "quantum.h" + +#define LAYOUT_numpad_5x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, \ + K20, K21, K22, K23, \ + K30, K31, K32, \ + K40, K42, K43 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, KC_NO }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, KC_NO }, \ + { K40, KC_NO, K42, K43 } \ +} + +#define LAYOUT_ortho_5x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23, \ + K30, K31, K32, K33, \ + K40, K41, K42, K43 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, K33 }, \ + { K40, K41, K42, K43 } \ +} + diff --git a/keyboards/ergotravel/keymaps/ckofy/rules.mk b/keyboards/custommk/genesis/rev1/rules.mk similarity index 100% rename from keyboards/ergotravel/keymaps/ckofy/rules.mk rename to keyboards/custommk/genesis/rev1/rules.mk diff --git a/keyboards/custommk/genesis/rev2/config.h b/keyboards/custommk/genesis/rev2/config.h new file mode 100644 index 000000000000..cbfda53f14c5 --- /dev/null +++ b/keyboards/custommk/genesis/rev2/config.h @@ -0,0 +1,66 @@ +/* Copyright 2020 customMK + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xF35B +#define PRODUCT_ID 0xFAB1 +#define DEVICE_VER 0x0001 +#define MANUFACTURER customMK +#define PRODUCT GenesisRev2 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 4 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { F0, C7, C6, B6, B5, B0} +#define MATRIX_COL_PINS { F4, F5, D7, B4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define ENCODERS_PAD_A { F6, D2 } +#define ENCODERS_PAD_B { F7, D1 } +#define ENCODER_RESOLUTION 2 +#define TAP_CODE_DELAY 10 + +#define RGB_DI_PIN E6 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLED_NUM 13 +#define RGBLIGHT_LAYERS +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGBLIGHT_LIMIT_VAL 128 +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 4 + diff --git a/keyboards/custommk/genesis/rev2/info.json b/keyboards/custommk/genesis/rev2/info.json new file mode 100644 index 000000000000..8dda87c1af10 --- /dev/null +++ b/keyboards/custommk/genesis/rev2/info.json @@ -0,0 +1,76 @@ +{ + "keyboard_name": "Genesis Rev2", + "url": "https://www.customMK.com", + "maintainer": "customMK", + "width": 4, + "height": 6, + "layouts": { + "LAYOUT_ortho_5x4": { + "layout": [{"label":"MO(1)", "x":0, "y":0}, + {"label":"/", "x":1, "y":0}, + {"label":"*", "x":2, "y":0}, + {"label":"Mute", "x":3, "y":0}, + {"label":"7", "x":0, "y":1}, + {"label":"8", "x":1, "y":1}, + {"label":"9", "x":2, "y":1}, + {"label":"+", "x":3, "y":1}, + {"label":"4", "x":0, "y":2}, + {"label":"5", "x":1, "y":2}, + {"label":"6", "x":2, "y":2}, + {"label":"Pg Up", "x":3, "y":2}, + {"label":"1", "x":0, "y":3}, + {"label":"2", "x":1, "y":3}, + {"label":"3", "x":2, "y":3}, + {"label":"Pg Dn", "x":3, "y":3}, + {"label":"0", "x":0, "y":4}, + {"label":"Spc", "x":1, "y":4}, + {"label":".", "x":2, "y":4}, + {"label":"Enter", "x":3, "y":4}] + }, + "LAYOUT_numpad_5x4": { + "layout": [{"label":"MO(1)", "x":0, "y":0}, + {"label":"/", "x":1, "y":0}, + {"label":"*", "x":2, "y":0}, + {"label":"-", "x":3, "y":0}, + {"label":"7", "x":0, "y":1}, + {"label":"8", "x":1, "y":1}, + {"label":"9", "x":2, "y":1}, + {"label":"+", "x":3, "y":1, "h":2}, + {"label":"4", "x":0, "y":2}, + {"label":"5", "x":1, "y":2}, + {"label":"6", "x":2, "y":2}, + {"label":"1", "x":0, "y":3}, + {"label":"2", "x":1, "y":3}, + {"label":"3", "x":2, "y":3}, + {"label":"Enter", "x":3, "y":3, "h":2}, + {"label":"0", "x":0, "y":4, "w":2}, + {"label":".", "x":2, "y":4}] + }, + "LAYOUT_via_6x4": { + "layout": [{"label":"Vol-", "x":0, "y":0}, + {"label":"Vol+", "x":1, "y":0}, + {"label":"Vol-", "x":3, "y":0}, + {"label":"Vol+", "x":4, "y":0}, + {"label":"MO(1)", "x":0.5, "y":1.1}, + {"label":"/", "x":1.5, "y":1.1}, + {"label":"*", "x":2.5, "y":1.1}, + {"label":"Mute", "x":3.5, "y":1.1}, + {"label":"7", "x":0.5, "y":2.1}, + {"label":"8", "x":1.5, "y":2.1}, + {"label":"9", "x":2.5, "y":2.1}, + {"label":"+", "x":3.5, "y":2.1}, + {"label":"4", "x":0.5, "y":3.1}, + {"label":"5", "x":1.5, "y":3.1}, + {"label":"6", "x":2.5, "y":3.1}, + {"label":"Pg Up", "x":3.5, "y":3.1}, + {"label":"1", "x":0.5, "y":4.1}, + {"label":"2", "x":1.5, "y":4.1}, + {"label":"3", "x":2.5, "y":4.1}, + {"label":"Pg Dn", "x":3.5, "y":4.1}, + {"label":"0", "x":0.5, "y":5.1}, + {"label":"Spc", "x":1.5, "y":5.1}, + {"label":".", "x":2.5, "y":5.1}, + {"label":"Enter", "x":3.5, "y":5.1}] + } + } +} \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/keymaps/default/keymap.c b/keyboards/custommk/genesis/rev2/keymaps/default/keymap.c new file mode 100644 index 000000000000..7ba558ca96d9 --- /dev/null +++ b/keyboards/custommk/genesis/rev2/keymaps/default/keymap.c @@ -0,0 +1,76 @@ +/* Copyright 2020 customMK + * + * 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 + +//#define GENESIS_LAYER_COLORS +#define GENESIS_LAYER1_COLOR HSV_CYAN +#define GENESIS_LAYER2_COLOR HSV_GREEN +#define GENESIS_LAYER3_COLOR HSV_WHITE + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_ortho_5x4( + MO(1), KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_BSPC, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_CAPS, + KC_P0, KC_SPC, KC_PDOT, KC_ENT), + + [1] = LAYOUT_ortho_5x4( + KC_TRNS, KC_VOLU, RGB_TOG, RGB_MOD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_HUI, KC_TRNS, KC_TRNS, RGB_HUD), + +}; + + +#ifdef GENESIS_LAYER_COLORS +const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,13,GENESIS_LAYER1_COLOR} + ); + +const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,13,GENESIS_LAYER2_COLOR} + ); + +const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,13,GENESIS_LAYER3_COLOR} + ); + + +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_layer1_layer, + my_layer2_layer, + my_layer3_layer + ); + +//Set the appropriate layer color +layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, layer_state_cmp(state, 1)); + rgblight_set_layer_state(1, layer_state_cmp(state, 2)); + rgblight_set_layer_state(2, layer_state_cmp(state, 3)); + return state; +} + +void keyboard_post_init_user(void) { + //Enable the LED layers + rgblight_layers = my_rgb_layers; +} +#endif \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/keymaps/default/readme.md b/keyboards/custommk/genesis/rev2/keymaps/default/readme.md new file mode 100644 index 000000000000..202402d8319d --- /dev/null +++ b/keyboards/custommk/genesis/rev2/keymaps/default/readme.md @@ -0,0 +1,6 @@ +# Default Genesis Macro Pad Layout + +This is the default layout for the Genesis Macro Pad. It assumes all 1u switches +and optional rotary encoder in the top-left or top-right corner for media volume +control. The top left switch activates Layer 1 which enables control of the RGB +underglow. \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/keymaps/numpad/keymap.c b/keyboards/custommk/genesis/rev2/keymaps/numpad/keymap.c new file mode 100644 index 000000000000..e6b84c3f6be6 --- /dev/null +++ b/keyboards/custommk/genesis/rev2/keymaps/numpad/keymap.c @@ -0,0 +1,89 @@ +/* Copyright 2020 customMK + * + * 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 + +//#define GENESIS_LAYER_COLORS +#define GENESIS_LAYER1_COLOR HSV_CYAN +#define GENESIS_LAYER2_COLOR HSV_GREEN +#define GENESIS_LAYER3_COLOR HSV_WHITE + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_numpad_5x4( + MO(1), KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_ENT), + + [1] = LAYOUT_numpad_5x4( + KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, + KC_TRNS, KC_TRNS, KC_TRNS, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, KC_TRNS, KC_TRNS, + RGB_HUI, KC_TRNS, RGB_HUD), + + [2] = LAYOUT_numpad_5x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, 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_numpad_5x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS), + +}; + + +#ifdef GENESIS_LAYER_COLORS +const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,13,GENESIS_LAYER1_COLOR} + ); + +const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,13,GENESIS_LAYER2_COLOR} + ); + +const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,13,GENESIS_LAYER3_COLOR} + ); + + +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_layer1_layer, + my_layer2_layer, + my_layer3_layer + ); + +//Set the appropriate layer color +layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, layer_state_cmp(state, 1)); + rgblight_set_layer_state(1, layer_state_cmp(state, 2)); + rgblight_set_layer_state(2, layer_state_cmp(state, 3)); + return state; +} + +void keyboard_post_init_user(void) { + //Enable the LED layers + rgblight_layers = my_rgb_layers; +} +#endif \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/keymaps/numpad/readme.md b/keyboards/custommk/genesis/rev2/keymaps/numpad/readme.md new file mode 100644 index 000000000000..795e4341a961 --- /dev/null +++ b/keyboards/custommk/genesis/rev2/keymaps/numpad/readme.md @@ -0,0 +1,3 @@ +# Numpad Genesis Macro Pad Layout + +This is the numpad layout for the Genesis Macro Pad. It assumes the 0, +, and enter keys are all 2u size, with an optional rotary encoder in the top-left or top-right corner for media volume control. The top left switch activates Layer 1 which enables control of the RGB underglow. \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/keymaps/via/keymap.c b/keyboards/custommk/genesis/rev2/keymaps/via/keymap.c new file mode 100644 index 000000000000..eb0f7772cf4b --- /dev/null +++ b/keyboards/custommk/genesis/rev2/keymaps/via/keymap.c @@ -0,0 +1,167 @@ +/* Copyright 2020 customMK + * + * 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 + +//#define GENESIS_LAYER_COLORS +#define GENESIS_LAYER1_COLOR HSV_CYAN +#define GENESIS_LAYER2_COLOR HSV_GREEN +#define GENESIS_LAYER3_COLOR HSV_WHITE + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_via_6x4( + KC_VOLD, KC_VOLU, KC_VOLD, KC_VOLU, + MO(1), KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PGUP, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PGDN, + KC_P0, KC_SPC, KC_PDOT, KC_PENT), + + [1] = LAYOUT_via_6x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS), + + [2] = LAYOUT_via_6x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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_via_6x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +}; + +#ifdef GENESIS_LAYER_COLORS +const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,13,GENESIS_LAYER1_COLOR} + ); + +const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,13,GENESIS_LAYER2_COLOR} + ); + +const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,13,GENESIS_LAYER3_COLOR} + ); + + +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_layer1_layer, + my_layer2_layer, + my_layer3_layer + ); + +//Set the appropriate layer color +layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, layer_state_cmp(state, 1)); + rgblight_set_layer_state(1, layer_state_cmp(state, 2)); + rgblight_set_layer_state(2, layer_state_cmp(state, 3)); + return state; +} + +void keyboard_post_init_user(void) { + //Enable the LED layers + rgblight_layers = my_rgb_layers; +} +#endif + + +keyevent_t encoder_left_ccw = { + .key = (keypos_t){.row = 5, .col = 0}, + .pressed = false +}; + +keyevent_t encoder_left_cw = { + .key = (keypos_t){.row = 5, .col = 1}, + .pressed = false +}; + +keyevent_t encoder_right_ccw = { + .key = (keypos_t){.row = 5, .col = 2}, + .pressed = false +}; + +keyevent_t encoder_right_cw = { + .key = (keypos_t){.row = 5, .col = 3}, + .pressed = false +}; + +void matrix_scan_user(void) { + if (IS_PRESSED(encoder_left_ccw)) { + encoder_left_ccw.pressed = false; + encoder_left_ccw.time = (timer_read() | 1); + action_exec(encoder_left_ccw); + } + + if (IS_PRESSED(encoder_left_cw)) { + encoder_left_cw.pressed = false; + encoder_left_cw.time = (timer_read() | 1); + action_exec(encoder_left_cw); + } + + if (IS_PRESSED(encoder_right_ccw)) { + encoder_right_ccw.pressed = false; + encoder_right_ccw.time = (timer_read() | 1); + action_exec(encoder_right_ccw); + } + + if (IS_PRESSED(encoder_right_cw)) { + encoder_right_cw.pressed = false; + encoder_right_cw.time = (timer_read() | 1); + action_exec(encoder_right_cw); + } + +} + + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + encoder_left_cw.pressed = true; + encoder_left_cw.time = (timer_read() | 1); + action_exec(encoder_left_cw); + } else { + encoder_left_ccw.pressed = true; + encoder_left_ccw.time = (timer_read() | 1); + action_exec(encoder_left_ccw); + } + } else { + if (clockwise) { + encoder_right_cw.pressed = true; + encoder_right_cw.time = (timer_read() | 1); + action_exec(encoder_right_cw); + } else { + encoder_right_ccw.pressed = true; + encoder_right_ccw.time = (timer_read() | 1); + action_exec(encoder_right_ccw); + } + } + return false; +} diff --git a/keyboards/custommk/genesis/rev2/keymaps/via/readme.md b/keyboards/custommk/genesis/rev2/keymaps/via/readme.md new file mode 100644 index 000000000000..aa70d62257de --- /dev/null +++ b/keyboards/custommk/genesis/rev2/keymaps/via/readme.md @@ -0,0 +1,3 @@ +# Genesis Macro Pad Layout for VIA + +This is the via layout for the Genesis Macro Pad. It is identical to the default 1u layout which assumes all 1u switches and optional rotary encoder in the top-left or top-right corner for media volume control. The top-left switch activates Layer 1 which enables control of the RGB underglow. \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/keymaps/via/rules.mk b/keyboards/custommk/genesis/rev2/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/custommk/genesis/rev2/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/custommk/genesis/rev2/readme.md b/keyboards/custommk/genesis/rev2/readme.md new file mode 100644 index 000000000000..1b531b29c753 --- /dev/null +++ b/keyboards/custommk/genesis/rev2/readme.md @@ -0,0 +1,19 @@ +# Genesis + +Genesis Rev2 is the same as Genesis Rev1 firmware, except Rev2 allows encoder function remapping using VIA. + +* Keyboard Maintainer: [customMK](https://github.com/customMK) +* Hardware Supported: Genesis Macro Pad +* Hardware Availability: [customMK](https://shop.custommk.com/products/genesis_macropad) + +Make example for this keyboard (after setting up your build environment): + + make custommk/genesis/rev2:default + +Flashing example for this keyboard: + + make custommk/genesis/rev2:default:flash + +Genesis Macro Pad has qmk-dfu bootloader preinstalled. To enter the bootloader, run the flashing command above, and then either plug in the USB connection while holding the top-left key, or alternatively, plug in the USB connection and then press the reset button on the PCB + +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/custommk/genesis/rev2/rev2.c b/keyboards/custommk/genesis/rev2/rev2.c new file mode 100644 index 000000000000..bfa4cb055830 --- /dev/null +++ b/keyboards/custommk/genesis/rev2/rev2.c @@ -0,0 +1,39 @@ +/* Copyright 2020 customMK + * + * 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 "rev2.h" + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + /* top left encoder */ + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + /* top right encoder */ + else if (index == 1) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return false; +} + diff --git a/keyboards/custommk/genesis/rev2/rev2.h b/keyboards/custommk/genesis/rev2/rev2.h new file mode 100644 index 000000000000..e978e706c3b1 --- /dev/null +++ b/keyboards/custommk/genesis/rev2/rev2.h @@ -0,0 +1,66 @@ +/* Copyright 2020 customMK + * + * 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 "quantum.h" + +#define LAYOUT_numpad_5x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, \ + K20, K21, K22, K23, \ + K30, K31, K32, \ + K40, K42, K43 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, KC_NO }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, KC_NO }, \ + { K40, KC_NO, K42, K43 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO} \ +} + +#define LAYOUT_ortho_5x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23, \ + K30, K31, K32, K33, \ + K40, K41, K42, K43 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, K33 }, \ + { K40, K41, K42, K43 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO} \ +} + + +#define LAYOUT_via_6x4( \ + E00A, E00B, E01A, E01B, \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23, \ + K30, K31, K32, K33, \ + K40, K41, K42, K43 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, K33 }, \ + { K40, K41, K42, K43 }, \ + { E00A, E00B, E01A, E01B } \ +} diff --git a/keyboards/custommk/genesis/rev2/rules.mk b/keyboards/custommk/genesis/rev2/rules.mk new file mode 100644 index 000000000000..1556125ec793 --- /dev/null +++ b/keyboards/custommk/genesis/rev2/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = qmk-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/custommk/genesis/rules.mk b/keyboards/custommk/genesis/rules.mk index 1556125ec793..43a13f1aa29e 100644 --- a/keyboards/custommk/genesis/rules.mk +++ b/keyboards/custommk/genesis/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,4 +20,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output -ENCODER_ENABLE = yes \ No newline at end of file +ENCODER_ENABLE = yes + +DEFAULT_FOLDER = custommk/genesis/rev2 diff --git a/keyboards/cutie_club/borsdorf/rules.mk b/keyboards/cutie_club/borsdorf/rules.mk index 4430f2419cfa..072ef384fc16 100644 --- a/keyboards/cutie_club/borsdorf/rules.mk +++ b/keyboards/cutie_club/borsdorf/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/cutie_club/giant_macro_pad/config.h b/keyboards/cutie_club/giant_macro_pad/config.h new file mode 100755 index 000000000000..c6ef81309d50 --- /dev/null +++ b/keyboards/cutie_club/giant_macro_pad/config.h @@ -0,0 +1,48 @@ +/* Copyright 2021 Cutie Club + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFB9C +#define PRODUCT_ID 0x74B6 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Cutie Club +#define PRODUCT Cupar19 Giant Macro Pad + +/* key matrix size */ +#define MATRIX_ROWS 20 +#define MATRIX_COLS 20 + +/* + * Keyboard Matrix Assignments + */ +#define MATRIX_ROW_PINS { C10, C11, C12, D2, B3, B4, B5, B6, B7, B8, A3, B2, B1, B0, C5, C4, A7, A6, A5, A4 } +#define MATRIX_COL_PINS { C9, C8, C7, C6, B15, B14, B13, B12, A8, A15, B9, A2, A1, A0, C3, C2, C1, C0, F1, F0 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.c b/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.c new file mode 100755 index 000000000000..934817aca28e --- /dev/null +++ b/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Cutie Club + * + * 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 "giant_macro_pad.h" diff --git a/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.h b/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.h new file mode 100755 index 000000000000..8e0b612f3ce6 --- /dev/null +++ b/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.h @@ -0,0 +1,72 @@ +/* Copyright 2021 Cutie Club + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, k00_15, k00_16, k00_17, k00_18, k00_19, \ + k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, k01_14, k01_15, k01_16, k01_17, k01_18, k01_19, \ + k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13, k02_14, k02_15, k02_16, k02_17, k02_18, k02_19, \ + k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13, k03_14, k03_15, k03_16, k03_17, k03_18, k03_19, \ + k04_00, k04_01, k04_02, k04_03, k04_04, k04_05, k04_06, k04_07, k04_08, k04_09, k04_10, k04_11, k04_12, k04_13, k04_14, k04_15, k04_16, k04_17, k04_18, k04_19, \ + k05_00, k05_01, k05_02, k05_03, k05_04, k05_05, k05_06, k05_07, k05_08, k05_09, k05_10, k05_11, k05_12, k05_13, k05_14, k05_15, k05_16, k05_17, k05_18, k05_19, \ + k06_00, k06_01, k06_02, k06_03, k06_04, k06_05, k06_06, k06_07, k06_08, k06_09, k06_10, k06_11, k06_12, k06_13, k06_14, k06_15, k06_16, k06_17, k06_18, k06_19, \ + k07_00, k07_01, k07_02, k07_03, k07_04, k07_05, k07_06, k07_07, k07_08, k07_09, k07_10, k07_11, k07_12, k07_13, k07_14, k07_15, k07_16, k07_17, k07_18, k07_19, \ + k08_00, k08_01, k08_02, k08_03, k08_04, k08_05, k08_06, k08_07, k08_08, k08_09, k08_10, k08_11, k08_12, k08_13, k08_14, k08_15, k08_16, k08_17, k08_18, k08_19, \ + k09_00, k09_01, k09_02, k09_03, k09_04, k09_05, k09_06, k09_07, k09_08, k09_09, k09_10, k09_11, k09_12, k09_13, k09_14, k09_15, k09_16, k09_17, k09_18, k09_19, \ + k10_00, k10_01, k10_02, k10_03, k10_04, k10_05, k10_06, k10_07, k10_08, k10_09, k10_10, k10_11, k10_12, k10_13, k10_14, k10_15, k10_16, k10_17, k10_18, k10_19, \ + k11_00, k11_01, k11_02, k11_03, k11_04, k11_05, k11_06, k11_07, k11_08, k11_09, k11_10, k11_11, k11_12, k11_13, k11_14, k11_15, k11_16, k11_17, k11_18, k11_19, \ + k12_00, k12_01, k12_02, k12_03, k12_04, k12_05, k12_06, k12_07, k12_08, k12_09, k12_10, k12_11, k12_12, k12_13, k12_14, k12_15, k12_16, k12_17, k12_18, k12_19, \ + k13_00, k13_01, k13_02, k13_03, k13_04, k13_05, k13_06, k13_07, k13_08, k13_09, k13_10, k13_11, k13_12, k13_13, k13_14, k13_15, k13_16, k13_17, k13_18, k13_19, \ + k14_00, k14_01, k14_02, k14_03, k14_04, k14_05, k14_06, k14_07, k14_08, k14_09, k14_10, k14_11, k14_12, k14_13, k14_14, k14_15, k14_16, k14_17, k14_18, k14_19, \ + k15_00, k15_01, k15_02, k15_03, k15_04, k15_05, k15_06, k15_07, k15_08, k15_09, k15_10, k15_11, k15_12, k15_13, k15_14, k15_15, k15_16, k15_17, k15_18, k15_19, \ + k16_00, k16_01, k16_02, k16_03, k16_04, k16_05, k16_06, k16_07, k16_08, k16_09, k16_10, k16_11, k16_12, k16_13, k16_14, k16_15, k16_16, k16_17, k16_18, k16_19, \ + k17_00, k17_01, k17_02, k17_03, k17_04, k17_05, k17_06, k17_07, k17_08, k17_09, k17_10, k17_11, k17_12, k17_13, k17_14, k17_15, k17_16, k17_17, k17_18, k17_19, \ + k18_00, k18_01, k18_02, k18_03, k18_04, k18_05, k18_06, k18_07, k18_08, k18_09, k18_10, k18_11, k18_12, k18_13, k18_14, k18_15, k18_16, k18_17, k18_18, k18_19, \ + k19_00, k19_01, k19_02, k19_03, k19_04, k19_05, k19_06, k19_07, k19_08, k19_09, k19_10, k19_11, k19_12, k19_13, k19_14, k19_15, k19_16, k19_17, k19_18, k19_19 \ +) \ +{ \ + { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, k00_15, k00_16, k00_17, k00_18, k00_19 }, \ + { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, k01_14, k01_15, k01_16, k01_17, k01_18, k01_19 }, \ + { k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13, k02_14, k02_15, k02_16, k02_17, k02_18, k02_19 }, \ + { k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13, k03_14, k03_15, k03_16, k03_17, k03_18, k03_19 }, \ + { k04_00, k04_01, k04_02, k04_03, k04_04, k04_05, k04_06, k04_07, k04_08, k04_09, k04_10, k04_11, k04_12, k04_13, k04_14, k04_15, k04_16, k04_17, k04_18, k04_19 }, \ + { k05_00, k05_01, k05_02, k05_03, k05_04, k05_05, k05_06, k05_07, k05_08, k05_09, k05_10, k05_11, k05_12, k05_13, k05_14, k05_15, k05_16, k05_17, k05_18, k05_19 }, \ + { k06_00, k06_01, k06_02, k06_03, k06_04, k06_05, k06_06, k06_07, k06_08, k06_09, k06_10, k06_11, k06_12, k06_13, k06_14, k06_15, k06_16, k06_17, k06_18, k06_19 }, \ + { k07_00, k07_01, k07_02, k07_03, k07_04, k07_05, k07_06, k07_07, k07_08, k07_09, k07_10, k07_11, k07_12, k07_13, k07_14, k07_15, k07_16, k07_17, k07_18, k07_19 }, \ + { k08_00, k08_01, k08_02, k08_03, k08_04, k08_05, k08_06, k08_07, k08_08, k08_09, k08_10, k08_11, k08_12, k08_13, k08_14, k08_15, k08_16, k08_17, k08_18, k08_19 }, \ + { k09_00, k09_01, k09_02, k09_03, k09_04, k09_05, k09_06, k09_07, k09_08, k09_09, k09_10, k09_11, k09_12, k09_13, k09_14, k09_15, k09_16, k09_17, k09_18, k09_19 }, \ + { k10_00, k10_01, k10_02, k10_03, k10_04, k10_05, k10_06, k10_07, k10_08, k10_09, k10_10, k10_11, k10_12, k10_13, k10_14, k10_15, k10_16, k10_17, k10_18, k10_19 }, \ + { k11_00, k11_01, k11_02, k11_03, k11_04, k11_05, k11_06, k11_07, k11_08, k11_09, k11_10, k11_11, k11_12, k11_13, k11_14, k11_15, k11_16, k11_17, k11_18, k11_19 }, \ + { k12_00, k12_01, k12_02, k12_03, k12_04, k12_05, k12_06, k12_07, k12_08, k12_09, k12_10, k12_11, k12_12, k12_13, k12_14, k12_15, k12_16, k12_17, k12_18, k12_19 }, \ + { k13_00, k13_01, k13_02, k13_03, k13_04, k13_05, k13_06, k13_07, k13_08, k13_09, k13_10, k13_11, k13_12, k13_13, k13_14, k13_15, k13_16, k13_17, k13_18, k13_19 }, \ + { k14_00, k14_01, k14_02, k14_03, k14_04, k14_05, k14_06, k14_07, k14_08, k14_09, k14_10, k14_11, k14_12, k14_13, k14_14, k14_15, k14_16, k14_17, k14_18, k14_19 }, \ + { k15_00, k15_01, k15_02, k15_03, k15_04, k15_05, k15_06, k15_07, k15_08, k15_09, k15_10, k15_11, k15_12, k15_13, k15_14, k15_15, k15_16, k15_17, k15_18, k15_19 }, \ + { k16_00, k16_01, k16_02, k16_03, k16_04, k16_05, k16_06, k16_07, k16_08, k16_09, k16_10, k16_11, k16_12, k16_13, k16_14, k16_15, k16_16, k16_17, k16_18, k16_19 }, \ + { k17_00, k17_01, k17_02, k17_03, k17_04, k17_05, k17_06, k17_07, k17_08, k17_09, k17_10, k17_11, k17_12, k17_13, k17_14, k17_15, k17_16, k17_17, k17_18, k17_19 }, \ + { k18_00, k18_01, k18_02, k18_03, k18_04, k18_05, k18_06, k18_07, k18_08, k18_09, k18_10, k18_11, k18_12, k18_13, k18_14, k18_15, k18_16, k18_17, k18_18, k18_19 }, \ + { k19_00, k19_01, k19_02, k19_03, k19_04, k19_05, k19_06, k19_07, k19_08, k19_09, k19_10, k19_11, k19_12, k19_13, k19_14, k19_15, k19_16, k19_17, k19_18, k19_19 } \ +} diff --git a/keyboards/cutie_club/giant_macro_pad/info.json b/keyboards/cutie_club/giant_macro_pad/info.json new file mode 100644 index 000000000000..5c369b8b90a8 --- /dev/null +++ b/keyboards/cutie_club/giant_macro_pad/info.json @@ -0,0 +1,432 @@ +{ + "keyboard_name": "Cupar19 Giant Macro Pad", + "url": "", + "maintainer": "cutie-club", + "height": 20, + "width": 20, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"k00_00", "x":0, "y":0}, + {"label":"k00_01", "x":1, "y":0}, + {"label":"k00_02", "x":2, "y":0}, + {"label":"k00_03", "x":3, "y":0}, + {"label":"k00_04", "x":4, "y":0}, + {"label":"k00_05", "x":5, "y":0}, + {"label":"k00_06", "x":6, "y":0}, + {"label":"k00_07", "x":7, "y":0}, + {"label":"k00_08", "x":8, "y":0}, + {"label":"k00_09", "x":9, "y":0}, + {"label":"k00_10", "x":10, "y":0}, + {"label":"k00_11", "x":11, "y":0}, + {"label":"k00_12", "x":12, "y":0}, + {"label":"k00_13", "x":13, "y":0}, + {"label":"k00_14", "x":14, "y":0}, + {"label":"k00_15", "x":15, "y":0}, + {"label":"k00_16", "x":16, "y":0}, + {"label":"k00_17", "x":17, "y":0}, + {"label":"k00_18", "x":18, "y":0}, + {"label":"k00_19", "x":19, "y":0}, + + {"label":"k01_00", "x":0, "y":1}, + {"label":"k01_01", "x":1, "y":1}, + {"label":"k01_02", "x":2, "y":1}, + {"label":"k01_03", "x":3, "y":1}, + {"label":"k01_04", "x":4, "y":1}, + {"label":"k01_05", "x":5, "y":1}, + {"label":"k01_06", "x":6, "y":1}, + {"label":"k01_07", "x":7, "y":1}, + {"label":"k01_08", "x":8, "y":1}, + {"label":"k01_09", "x":9, "y":1}, + {"label":"k01_10", "x":10, "y":1}, + {"label":"k01_11", "x":11, "y":1}, + {"label":"k01_12", "x":12, "y":1}, + {"label":"k01_13", "x":13, "y":1}, + {"label":"k01_14", "x":14, "y":1}, + {"label":"k01_15", "x":15, "y":1}, + {"label":"k01_16", "x":16, "y":1}, + {"label":"k01_17", "x":17, "y":1}, + {"label":"k01_18", "x":18, "y":1}, + {"label":"k01_19", "x":19, "y":1}, + + {"label":"k02_00", "x":0, "y":2}, + {"label":"k02_01", "x":1, "y":2}, + {"label":"k02_02", "x":2, "y":2}, + {"label":"k02_03", "x":3, "y":2}, + {"label":"k02_04", "x":4, "y":2}, + {"label":"k02_05", "x":5, "y":2}, + {"label":"k02_06", "x":6, "y":2}, + {"label":"k02_07", "x":7, "y":2}, + {"label":"k02_08", "x":8, "y":2}, + {"label":"k02_09", "x":9, "y":2}, + {"label":"k02_10", "x":10, "y":2}, + {"label":"k02_11", "x":11, "y":2}, + {"label":"k02_12", "x":12, "y":2}, + {"label":"k02_13", "x":13, "y":2}, + {"label":"k02_14", "x":14, "y":2}, + {"label":"k02_15", "x":15, "y":2}, + {"label":"k02_16", "x":16, "y":2}, + {"label":"k02_17", "x":17, "y":2}, + {"label":"k02_18", "x":18, "y":2}, + {"label":"k02_19", "x":19, "y":2}, + + {"label":"k03_00", "x":0, "y":3}, + {"label":"k03_01", "x":1, "y":3}, + {"label":"k03_02", "x":2, "y":3}, + {"label":"k03_03", "x":3, "y":3}, + {"label":"k03_04", "x":4, "y":3}, + {"label":"k03_05", "x":5, "y":3}, + {"label":"k03_06", "x":6, "y":3}, + {"label":"k03_07", "x":7, "y":3}, + {"label":"k03_08", "x":8, "y":3}, + {"label":"k03_09", "x":9, "y":3}, + {"label":"k03_10", "x":10, "y":3}, + {"label":"k03_11", "x":11, "y":3}, + {"label":"k03_12", "x":12, "y":3}, + {"label":"k03_13", "x":13, "y":3}, + {"label":"k03_14", "x":14, "y":3}, + {"label":"k03_15", "x":15, "y":3}, + {"label":"k03_16", "x":16, "y":3}, + {"label":"k03_17", "x":17, "y":3}, + {"label":"k03_18", "x":18, "y":3}, + {"label":"k03_19", "x":19, "y":3}, + + {"label":"k04_00", "x":0, "y":4}, + {"label":"k04_01", "x":1, "y":4}, + {"label":"k04_02", "x":2, "y":4}, + {"label":"k04_03", "x":3, "y":4}, + {"label":"k04_04", "x":4, "y":4}, + {"label":"k04_05", "x":5, "y":4}, + {"label":"k04_06", "x":6, "y":4}, + {"label":"k04_07", "x":7, "y":4}, + {"label":"k04_08", "x":8, "y":4}, + {"label":"k04_09", "x":9, "y":4}, + {"label":"k04_10", "x":10, "y":4}, + {"label":"k04_11", "x":11, "y":4}, + {"label":"k04_12", "x":12, "y":4}, + {"label":"k04_13", "x":13, "y":4}, + {"label":"k04_14", "x":14, "y":4}, + {"label":"k04_15", "x":15, "y":4}, + {"label":"k04_16", "x":16, "y":4}, + {"label":"k04_17", "x":17, "y":4}, + {"label":"k04_18", "x":18, "y":4}, + {"label":"k04_19", "x":19, "y":4}, + + {"label":"k05_00", "x":0, "y":5}, + {"label":"k05_01", "x":1, "y":5}, + {"label":"k05_02", "x":2, "y":5}, + {"label":"k05_03", "x":3, "y":5}, + {"label":"k05_04", "x":4, "y":5}, + {"label":"k05_05", "x":5, "y":5}, + {"label":"k05_06", "x":6, "y":5}, + {"label":"k05_07", "x":7, "y":5}, + {"label":"k05_08", "x":8, "y":5}, + {"label":"k05_09", "x":9, "y":5}, + {"label":"k05_10", "x":10, "y":5}, + {"label":"k05_11", "x":11, "y":5}, + {"label":"k05_12", "x":12, "y":5}, + {"label":"k05_13", "x":13, "y":5}, + {"label":"k05_14", "x":14, "y":5}, + {"label":"k05_15", "x":15, "y":5}, + {"label":"k05_16", "x":16, "y":5}, + {"label":"k05_17", "x":17, "y":5}, + {"label":"k05_18", "x":18, "y":5}, + {"label":"k05_19", "x":19, "y":5}, + + {"label":"k06_00", "x":0, "y":6}, + {"label":"k06_01", "x":1, "y":6}, + {"label":"k06_02", "x":2, "y":6}, + {"label":"k06_03", "x":3, "y":6}, + {"label":"k06_04", "x":4, "y":6}, + {"label":"k06_05", "x":5, "y":6}, + {"label":"k06_06", "x":6, "y":6}, + {"label":"k06_07", "x":7, "y":6}, + {"label":"k06_08", "x":8, "y":6}, + {"label":"k06_09", "x":9, "y":6}, + {"label":"k06_10", "x":10, "y":6}, + {"label":"k06_11", "x":11, "y":6}, + {"label":"k06_12", "x":12, "y":6}, + {"label":"k06_13", "x":13, "y":6}, + {"label":"k06_14", "x":14, "y":6}, + {"label":"k06_15", "x":15, "y":6}, + {"label":"k06_16", "x":16, "y":6}, + {"label":"k06_17", "x":17, "y":6}, + {"label":"k06_18", "x":18, "y":6}, + {"label":"k06_19", "x":19, "y":6}, + + {"label":"k07_00", "x":0, "y":7}, + {"label":"k07_01", "x":1, "y":7}, + {"label":"k07_02", "x":2, "y":7}, + {"label":"k07_03", "x":3, "y":7}, + {"label":"k07_04", "x":4, "y":7}, + {"label":"k07_05", "x":5, "y":7}, + {"label":"k07_06", "x":6, "y":7}, + {"label":"k07_07", "x":7, "y":7}, + {"label":"k07_08", "x":8, "y":7}, + {"label":"k07_09", "x":9, "y":7}, + {"label":"k07_10", "x":10, "y":7}, + {"label":"k07_11", "x":11, "y":7}, + {"label":"k07_12", "x":12, "y":7}, + {"label":"k07_13", "x":13, "y":7}, + {"label":"k07_14", "x":14, "y":7}, + {"label":"k07_15", "x":15, "y":7}, + {"label":"k07_16", "x":16, "y":7}, + {"label":"k07_17", "x":17, "y":7}, + {"label":"k07_18", "x":18, "y":7}, + {"label":"k07_19", "x":19, "y":7}, + + {"label":"k08_00", "x":0, "y":8}, + {"label":"k08_01", "x":1, "y":8}, + {"label":"k08_02", "x":2, "y":8}, + {"label":"k08_03", "x":3, "y":8}, + {"label":"k08_04", "x":4, "y":8}, + {"label":"k08_05", "x":5, "y":8}, + {"label":"k08_06", "x":6, "y":8}, + {"label":"k08_07", "x":7, "y":8}, + {"label":"k08_08", "x":8, "y":8}, + {"label":"k08_09", "x":9, "y":8}, + {"label":"k08_10", "x":10, "y":8}, + {"label":"k08_11", "x":11, "y":8}, + {"label":"k08_12", "x":12, "y":8}, + {"label":"k08_13", "x":13, "y":8}, + {"label":"k08_14", "x":14, "y":8}, + {"label":"k08_15", "x":15, "y":8}, + {"label":"k08_16", "x":16, "y":8}, + {"label":"k08_17", "x":17, "y":8}, + {"label":"k08_18", "x":18, "y":8}, + {"label":"k08_19", "x":19, "y":8}, + + {"label":"k09_00", "x":0, "y":9}, + {"label":"k09_01", "x":1, "y":9}, + {"label":"k09_02", "x":2, "y":9}, + {"label":"k09_03", "x":3, "y":9}, + {"label":"k09_04", "x":4, "y":9}, + {"label":"k09_05", "x":5, "y":9}, + {"label":"k09_06", "x":6, "y":9}, + {"label":"k09_07", "x":7, "y":9}, + {"label":"k09_08", "x":8, "y":9}, + {"label":"k09_09", "x":9, "y":9}, + {"label":"k09_10", "x":10, "y":9}, + {"label":"k09_11", "x":11, "y":9}, + {"label":"k09_12", "x":12, "y":9}, + {"label":"k09_13", "x":13, "y":9}, + {"label":"k09_14", "x":14, "y":9}, + {"label":"k09_15", "x":15, "y":9}, + {"label":"k09_16", "x":16, "y":9}, + {"label":"k09_17", "x":17, "y":9}, + {"label":"k09_18", "x":18, "y":9}, + {"label":"k09_19", "x":19, "y":9}, + + {"label":"k10_00", "x":0, "y":10}, + {"label":"k10_01", "x":1, "y":10}, + {"label":"k10_02", "x":2, "y":10}, + {"label":"k10_03", "x":3, "y":10}, + {"label":"k10_04", "x":4, "y":10}, + {"label":"k10_05", "x":5, "y":10}, + {"label":"k10_06", "x":6, "y":10}, + {"label":"k10_07", "x":7, "y":10}, + {"label":"k10_08", "x":8, "y":10}, + {"label":"k10_09", "x":9, "y":10}, + {"label":"k10_10", "x":10, "y":10}, + {"label":"k10_11", "x":11, "y":10}, + {"label":"k10_12", "x":12, "y":10}, + {"label":"k10_13", "x":13, "y":10}, + {"label":"k10_14", "x":14, "y":10}, + {"label":"k10_15", "x":15, "y":10}, + {"label":"k10_16", "x":16, "y":10}, + {"label":"k10_17", "x":17, "y":10}, + {"label":"k10_18", "x":18, "y":10}, + {"label":"k10_19", "x":19, "y":10}, + + {"label":"k11_00", "x":0, "y":11}, + {"label":"k11_01", "x":1, "y":11}, + {"label":"k11_02", "x":2, "y":11}, + {"label":"k11_03", "x":3, "y":11}, + {"label":"k11_04", "x":4, "y":11}, + {"label":"k11_05", "x":5, "y":11}, + {"label":"k11_06", "x":6, "y":11}, + {"label":"k11_07", "x":7, "y":11}, + {"label":"k11_08", "x":8, "y":11}, + {"label":"k11_09", "x":9, "y":11}, + {"label":"k11_10", "x":10, "y":11}, + {"label":"k11_11", "x":11, "y":11}, + {"label":"k11_12", "x":12, "y":11}, + {"label":"k11_13", "x":13, "y":11}, + {"label":"k11_14", "x":14, "y":11}, + {"label":"k11_15", "x":15, "y":11}, + {"label":"k11_16", "x":16, "y":11}, + {"label":"k11_17", "x":17, "y":11}, + {"label":"k11_18", "x":18, "y":11}, + {"label":"k11_19", "x":19, "y":11}, + + {"label":"k12_00", "x":0, "y":12}, + {"label":"k12_01", "x":1, "y":12}, + {"label":"k12_02", "x":2, "y":12}, + {"label":"k12_03", "x":3, "y":12}, + {"label":"k12_04", "x":4, "y":12}, + {"label":"k12_05", "x":5, "y":12}, + {"label":"k12_06", "x":6, "y":12}, + {"label":"k12_07", "x":7, "y":12}, + {"label":"k12_08", "x":8, "y":12}, + {"label":"k12_09", "x":9, "y":12}, + {"label":"k12_10", "x":10, "y":12}, + {"label":"k12_11", "x":11, "y":12}, + {"label":"k12_12", "x":12, "y":12}, + {"label":"k12_13", "x":13, "y":12}, + {"label":"k12_14", "x":14, "y":12}, + {"label":"k12_15", "x":15, "y":12}, + {"label":"k12_16", "x":16, "y":12}, + {"label":"k12_17", "x":17, "y":12}, + {"label":"k12_18", "x":18, "y":12}, + {"label":"k12_19", "x":19, "y":12}, + + {"label":"k13_00", "x":0, "y":13}, + {"label":"k13_01", "x":1, "y":13}, + {"label":"k13_02", "x":2, "y":13}, + {"label":"k13_03", "x":3, "y":13}, + {"label":"k13_04", "x":4, "y":13}, + {"label":"k13_05", "x":5, "y":13}, + {"label":"k13_06", "x":6, "y":13}, + {"label":"k13_07", "x":7, "y":13}, + {"label":"k13_08", "x":8, "y":13}, + {"label":"k13_09", "x":9, "y":13}, + {"label":"k13_10", "x":10, "y":13}, + {"label":"k13_11", "x":11, "y":13}, + {"label":"k13_12", "x":12, "y":13}, + {"label":"k13_13", "x":13, "y":13}, + {"label":"k13_14", "x":14, "y":13}, + {"label":"k13_15", "x":15, "y":13}, + {"label":"k13_16", "x":16, "y":13}, + {"label":"k13_17", "x":17, "y":13}, + {"label":"k13_18", "x":18, "y":13}, + {"label":"k13_19", "x":19, "y":13}, + + {"label":"k14_00", "x":0, "y":14}, + {"label":"k14_01", "x":1, "y":14}, + {"label":"k14_02", "x":2, "y":14}, + {"label":"k14_03", "x":3, "y":14}, + {"label":"k14_04", "x":4, "y":14}, + {"label":"k14_05", "x":5, "y":14}, + {"label":"k14_06", "x":6, "y":14}, + {"label":"k14_07", "x":7, "y":14}, + {"label":"k14_08", "x":8, "y":14}, + {"label":"k14_09", "x":9, "y":14}, + {"label":"k14_10", "x":10, "y":14}, + {"label":"k14_11", "x":11, "y":14}, + {"label":"k14_12", "x":12, "y":14}, + {"label":"k14_13", "x":13, "y":14}, + {"label":"k14_14", "x":14, "y":14}, + {"label":"k14_15", "x":15, "y":14}, + {"label":"k14_16", "x":16, "y":14}, + {"label":"k14_17", "x":17, "y":14}, + {"label":"k14_18", "x":18, "y":14}, + {"label":"k14_19", "x":19, "y":14}, + + {"label":"k15_00", "x":0, "y":15}, + {"label":"k15_01", "x":1, "y":15}, + {"label":"k15_02", "x":2, "y":15}, + {"label":"k15_03", "x":3, "y":15}, + {"label":"k15_04", "x":4, "y":15}, + {"label":"k15_05", "x":5, "y":15}, + {"label":"k15_06", "x":6, "y":15}, + {"label":"k15_07", "x":7, "y":15}, + {"label":"k15_08", "x":8, "y":15}, + {"label":"k15_09", "x":9, "y":15}, + {"label":"k15_10", "x":10, "y":15}, + {"label":"k15_11", "x":11, "y":15}, + {"label":"k15_12", "x":12, "y":15}, + {"label":"k15_13", "x":13, "y":15}, + {"label":"k15_14", "x":14, "y":15}, + {"label":"k15_15", "x":15, "y":15}, + {"label":"k15_16", "x":16, "y":15}, + {"label":"k15_17", "x":17, "y":15}, + {"label":"k15_18", "x":18, "y":15}, + {"label":"k15_19", "x":19, "y":15}, + + {"label":"k16_00", "x":0, "y":16}, + {"label":"k16_01", "x":1, "y":16}, + {"label":"k16_02", "x":2, "y":16}, + {"label":"k16_03", "x":3, "y":16}, + {"label":"k16_04", "x":4, "y":16}, + {"label":"k16_05", "x":5, "y":16}, + {"label":"k16_06", "x":6, "y":16}, + {"label":"k16_07", "x":7, "y":16}, + {"label":"k16_08", "x":8, "y":16}, + {"label":"k16_09", "x":9, "y":16}, + {"label":"k16_10", "x":10, "y":16}, + {"label":"k16_11", "x":11, "y":16}, + {"label":"k16_12", "x":12, "y":16}, + {"label":"k16_13", "x":13, "y":16}, + {"label":"k16_14", "x":14, "y":16}, + {"label":"k16_15", "x":15, "y":16}, + {"label":"k16_16", "x":16, "y":16}, + {"label":"k16_17", "x":17, "y":16}, + {"label":"k16_18", "x":18, "y":16}, + {"label":"k16_19", "x":19, "y":16}, + + {"label":"k17_00", "x":0, "y":17}, + {"label":"k17_01", "x":1, "y":17}, + {"label":"k17_02", "x":2, "y":17}, + {"label":"k17_03", "x":3, "y":17}, + {"label":"k17_04", "x":4, "y":17}, + {"label":"k17_05", "x":5, "y":17}, + {"label":"k17_06", "x":6, "y":17}, + {"label":"k17_07", "x":7, "y":17}, + {"label":"k17_08", "x":8, "y":17}, + {"label":"k17_09", "x":9, "y":17}, + {"label":"k17_10", "x":10, "y":17}, + {"label":"k17_11", "x":11, "y":17}, + {"label":"k17_12", "x":12, "y":17}, + {"label":"k17_13", "x":13, "y":17}, + {"label":"k17_14", "x":14, "y":17}, + {"label":"k17_15", "x":15, "y":17}, + {"label":"k17_16", "x":16, "y":17}, + {"label":"k17_17", "x":17, "y":17}, + {"label":"k17_18", "x":18, "y":17}, + {"label":"k17_19", "x":19, "y":17}, + + {"label":"k18_00", "x":0, "y":18}, + {"label":"k18_01", "x":1, "y":18}, + {"label":"k18_02", "x":2, "y":18}, + {"label":"k18_03", "x":3, "y":18}, + {"label":"k18_04", "x":4, "y":18}, + {"label":"k18_05", "x":5, "y":18}, + {"label":"k18_06", "x":6, "y":18}, + {"label":"k18_07", "x":7, "y":18}, + {"label":"k18_08", "x":8, "y":18}, + {"label":"k18_09", "x":9, "y":18}, + {"label":"k18_10", "x":10, "y":18}, + {"label":"k18_11", "x":11, "y":18}, + {"label":"k18_12", "x":12, "y":18}, + {"label":"k18_13", "x":13, "y":18}, + {"label":"k18_14", "x":14, "y":18}, + {"label":"k18_15", "x":15, "y":18}, + {"label":"k18_16", "x":16, "y":18}, + {"label":"k18_17", "x":17, "y":18}, + {"label":"k18_18", "x":18, "y":18}, + {"label":"k18_19", "x":19, "y":18}, + + {"label":"k19_00", "x":0, "y":19}, + {"label":"k19_01", "x":1, "y":19}, + {"label":"k19_02", "x":2, "y":19}, + {"label":"k19_03", "x":3, "y":19}, + {"label":"k19_04", "x":4, "y":19}, + {"label":"k19_05", "x":5, "y":19}, + {"label":"k19_06", "x":6, "y":19}, + {"label":"k19_07", "x":7, "y":19}, + {"label":"k19_08", "x":8, "y":19}, + {"label":"k19_09", "x":9, "y":19}, + {"label":"k19_10", "x":10, "y":19}, + {"label":"k19_11", "x":11, "y":19}, + {"label":"k19_12", "x":12, "y":19}, + {"label":"k19_13", "x":13, "y":19}, + {"label":"k19_14", "x":14, "y":19}, + {"label":"k19_15", "x":15, "y":19}, + {"label":"k19_16", "x":16, "y":19}, + {"label":"k19_17", "x":17, "y":19}, + {"label":"k19_18", "x":18, "y":19}, + {"label":"k19_19", "x":19, "y":19} + ] + } + } +} diff --git a/keyboards/cutie_club/giant_macro_pad/keymaps/default/keymap.c b/keyboards/cutie_club/giant_macro_pad/keymaps/default/keymap.c new file mode 100755 index 000000000000..2db71e990c13 --- /dev/null +++ b/keyboards/cutie_club/giant_macro_pad/keymaps/default/keymap.c @@ -0,0 +1,453 @@ +/* Copyright 2021 Cutie Club + * + * 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 custom_keycodes { + NUM_0 = 0, + NUM_1, + NUM_2, + NUM_3, + NUM_4, + NUM_5, + NUM_6, + NUM_7, + NUM_8, + NUM_9, + NUM_10, + NUM_11, + NUM_12, + NUM_13, + NUM_14, + NUM_15, + NUM_16, + NUM_17, + NUM_18, + NUM_19, + NUM_20, + NUM_21, + NUM_22, + NUM_23, + NUM_24, + NUM_25, + NUM_26, + NUM_27, + NUM_28, + NUM_29, + NUM_30, + NUM_31, + NUM_32, + NUM_33, + NUM_34, + NUM_35, + NUM_36, + NUM_37, + NUM_38, + NUM_39, + NUM_40, + NUM_41, + NUM_42, + NUM_43, + NUM_44, + NUM_45, + NUM_46, + NUM_47, + NUM_48, + NUM_49, + NUM_50, + NUM_51, + NUM_52, + NUM_53, + NUM_54, + NUM_55, + NUM_56, + NUM_57, + NUM_58, + NUM_59, + NUM_60, + NUM_61, + NUM_62, + NUM_63, + NUM_64, + NUM_65, + NUM_66, + NUM_67, + NUM_68, + NUM_69, + NUM_70, + NUM_71, + NUM_72, + NUM_73, + NUM_74, + NUM_75, + NUM_76, + NUM_77, + NUM_78, + NUM_79, + NUM_80, + NUM_81, + NUM_82, + NUM_83, + NUM_84, + NUM_85, + NUM_86, + NUM_87, + NUM_88, + NUM_89, + NUM_90, + NUM_91, + NUM_92, + NUM_93, + NUM_94, + NUM_95, + NUM_96, + NUM_97, + NUM_98, + NUM_99, + NUM_100, + NUM_101, + NUM_102, + NUM_103, + NUM_104, + NUM_105, + NUM_106, + NUM_107, + NUM_108, + NUM_109, + NUM_110, + NUM_111, + NUM_112, + NUM_113, + NUM_114, + NUM_115, + NUM_116, + NUM_117, + NUM_118, + NUM_119, + NUM_120, + NUM_121, + NUM_122, + NUM_123, + NUM_124, + NUM_125, + NUM_126, + NUM_127, + NUM_128, + NUM_129, + NUM_130, + NUM_131, + NUM_132, + NUM_133, + NUM_134, + NUM_135, + NUM_136, + NUM_137, + NUM_138, + NUM_139, + NUM_140, + NUM_141, + NUM_142, + NUM_143, + NUM_144, + NUM_145, + NUM_146, + NUM_147, + NUM_148, + NUM_149, + NUM_150, + NUM_151, + NUM_152, + NUM_153, + NUM_154, + NUM_155, + NUM_156, + NUM_157, + NUM_158, + NUM_159, + NUM_160, + NUM_161, + NUM_162, + NUM_163, + NUM_164, + NUM_165, + NUM_166, + NUM_167, + NUM_168, + NUM_169, + NUM_170, + NUM_171, + NUM_172, + NUM_173, + NUM_174, + NUM_175, + NUM_176, + NUM_177, + NUM_178, + NUM_179, + NUM_180, + NUM_181, + NUM_182, + NUM_183, + NUM_184, + NUM_185, + NUM_186, + NUM_187, + NUM_188, + NUM_189, + NUM_190, + NUM_191, + NUM_192, + NUM_193, + NUM_194, + NUM_195, + NUM_196, + NUM_197, + NUM_198, + NUM_199, + NUM_200, + NUM_201, + NUM_202, + NUM_203, + NUM_204, + NUM_205, + NUM_206, + NUM_207, + NUM_208, + NUM_209, + NUM_210, + NUM_211, + NUM_212, + NUM_213, + NUM_214, + NUM_215, + NUM_216, + NUM_217, + NUM_218, + NUM_219, + NUM_220, + NUM_221, + NUM_222, + NUM_223, + NUM_224, + NUM_225, + NUM_226, + NUM_227, + NUM_228, + NUM_229, + NUM_230, + NUM_231, + NUM_232, + NUM_233, + NUM_234, + NUM_235, + NUM_236, + NUM_237, + NUM_238, + NUM_239, + NUM_240, + NUM_241, + NUM_242, + NUM_243, + NUM_244, + NUM_245, + NUM_246, + NUM_247, + NUM_248, + NUM_249, + NUM_250, + NUM_251, + NUM_252, + NUM_253, + NUM_254, + NUM_255, + NUM_256, + NUM_257, + NUM_258, + NUM_259, + NUM_260, + NUM_261, + NUM_262, + NUM_263, + NUM_264, + NUM_265, + NUM_266, + NUM_267, + NUM_268, + NUM_269, + NUM_270, + NUM_271, + NUM_272, + NUM_273, + NUM_274, + NUM_275, + NUM_276, + NUM_277, + NUM_278, + NUM_279, + NUM_280, + NUM_281, + NUM_282, + NUM_283, + NUM_284, + NUM_285, + NUM_286, + NUM_287, + NUM_288, + NUM_289, + NUM_290, + NUM_291, + NUM_292, + NUM_293, + NUM_294, + NUM_295, + NUM_296, + NUM_297, + NUM_298, + NUM_299, + NUM_300, + NUM_301, + NUM_302, + NUM_303, + NUM_304, + NUM_305, + NUM_306, + NUM_307, + NUM_308, + NUM_309, + NUM_310, + NUM_311, + NUM_312, + NUM_313, + NUM_314, + NUM_315, + NUM_316, + NUM_317, + NUM_318, + NUM_319, + NUM_320, + NUM_321, + NUM_322, + NUM_323, + NUM_324, + NUM_325, + NUM_326, + NUM_327, + NUM_328, + NUM_329, + NUM_330, + NUM_331, + NUM_332, + NUM_333, + NUM_334, + NUM_335, + NUM_336, + NUM_337, + NUM_338, + NUM_339, + NUM_340, + NUM_341, + NUM_342, + NUM_343, + NUM_344, + NUM_345, + NUM_346, + NUM_347, + NUM_348, + NUM_349, + NUM_350, + NUM_351, + NUM_352, + NUM_353, + NUM_354, + NUM_355, + NUM_356, + NUM_357, + NUM_358, + NUM_359, + NUM_360, + NUM_361, + NUM_362, + NUM_363, + NUM_364, + NUM_365, + NUM_366, + NUM_367, + NUM_368, + NUM_369, + NUM_370, + NUM_371, + NUM_372, + NUM_373, + NUM_374, + NUM_375, + NUM_376, + NUM_377, + NUM_378, + NUM_379, + NUM_380, + NUM_381, + NUM_382, + NUM_383, + NUM_384, + NUM_385, + NUM_386, + NUM_387, + NUM_388, + NUM_389, + NUM_390, + NUM_391, + NUM_392, + NUM_393, + NUM_394, + NUM_395, + NUM_396, + NUM_397, + NUM_398, + NUM_399, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [0] = LAYOUT_all( + NUM_0, NUM_1, NUM_2, NUM_3, NUM_4, NUM_5, NUM_6, NUM_7, NUM_8, NUM_9, NUM_10, NUM_11, NUM_12, NUM_13, NUM_14, NUM_15, NUM_16, NUM_17, NUM_18, NUM_19, + NUM_20, NUM_21, NUM_22, NUM_23, NUM_24, NUM_25, NUM_26, NUM_27, NUM_28, NUM_29, NUM_30, NUM_31, NUM_32, NUM_33, NUM_34, NUM_35, NUM_36, NUM_37, NUM_38, NUM_39, + NUM_40, NUM_41, NUM_42, NUM_43, NUM_44, NUM_45, NUM_46, NUM_47, NUM_48, NUM_49, NUM_50, NUM_51, NUM_52, NUM_53, NUM_54, NUM_55, NUM_56, NUM_57, NUM_58, NUM_59, + NUM_60, NUM_61, NUM_62, NUM_63, NUM_64, NUM_65, NUM_66, NUM_67, NUM_68, NUM_69, NUM_70, NUM_71, NUM_72, NUM_73, NUM_74, NUM_75, NUM_76, NUM_77, NUM_78, NUM_79, + NUM_80, NUM_81, NUM_82, NUM_83, NUM_84, NUM_85, NUM_86, NUM_87, NUM_88, NUM_89, NUM_90, NUM_91, NUM_92, NUM_93, NUM_94, NUM_95, NUM_96, NUM_97, NUM_98, NUM_99, + NUM_100,NUM_101,NUM_102,NUM_103,NUM_104,NUM_105,NUM_106,NUM_107,NUM_108,NUM_109,NUM_110,NUM_111,NUM_112,NUM_113,NUM_114,NUM_115,NUM_116,NUM_117,NUM_118,NUM_119, + NUM_120,NUM_121,NUM_122,NUM_123,NUM_124,NUM_125,NUM_126,NUM_127,NUM_128,NUM_129,NUM_130,NUM_131,NUM_132,NUM_133,NUM_134,NUM_135,NUM_136,NUM_137,NUM_138,NUM_139, + NUM_140,NUM_141,NUM_142,NUM_143,NUM_144,NUM_145,NUM_146,NUM_147,NUM_148,NUM_149,NUM_150,NUM_151,NUM_152,NUM_153,NUM_154,NUM_155,NUM_156,NUM_157,NUM_158,NUM_159, + NUM_160,NUM_161,NUM_162,NUM_163,NUM_164,NUM_165,NUM_166,NUM_167,NUM_168,NUM_169,NUM_170,NUM_171,NUM_172,NUM_173,NUM_174,NUM_175,NUM_176,NUM_177,NUM_178,NUM_179, + NUM_180,NUM_181,NUM_182,NUM_183,NUM_184,NUM_185,NUM_186,NUM_187,NUM_188,NUM_189,NUM_190,NUM_191,NUM_192,NUM_193,NUM_194,NUM_195,NUM_196,NUM_197,NUM_198,NUM_199, + NUM_200,NUM_201,NUM_202,NUM_203,NUM_204,NUM_205,NUM_206,NUM_207,NUM_208,NUM_209,NUM_210,NUM_211,NUM_212,NUM_213,NUM_214,NUM_215,NUM_216,NUM_217,NUM_218,NUM_219, + NUM_220,NUM_221,NUM_222,NUM_223,NUM_224,NUM_225,NUM_226,NUM_227,NUM_228,NUM_229,NUM_230,NUM_231,NUM_232,NUM_233,NUM_234,NUM_235,NUM_236,NUM_237,NUM_238,NUM_239, + NUM_240,NUM_241,NUM_242,NUM_243,NUM_244,NUM_245,NUM_246,NUM_247,NUM_248,NUM_249,NUM_250,NUM_251,NUM_252,NUM_253,NUM_254,NUM_255,NUM_256,NUM_257,NUM_258,NUM_259, + NUM_260,NUM_261,NUM_262,NUM_263,NUM_264,NUM_265,NUM_266,NUM_267,NUM_268,NUM_269,NUM_270,NUM_271,NUM_272,NUM_273,NUM_274,NUM_275,NUM_276,NUM_277,NUM_278,NUM_279, + NUM_280,NUM_281,NUM_282,NUM_283,NUM_284,NUM_285,NUM_286,NUM_287,NUM_288,NUM_289,NUM_290,NUM_291,NUM_292,NUM_293,NUM_294,NUM_295,NUM_296,NUM_297,NUM_298,NUM_299, + NUM_300,NUM_301,NUM_302,NUM_303,NUM_304,NUM_305,NUM_306,NUM_307,NUM_308,NUM_309,NUM_310,NUM_311,NUM_312,NUM_313,NUM_314,NUM_315,NUM_316,NUM_317,NUM_318,NUM_319, + NUM_320,NUM_321,NUM_322,NUM_323,NUM_324,NUM_325,NUM_326,NUM_327,NUM_328,NUM_329,NUM_330,NUM_331,NUM_332,NUM_333,NUM_334,NUM_335,NUM_336,NUM_337,NUM_338,NUM_339, + NUM_340,NUM_341,NUM_342,NUM_343,NUM_344,NUM_345,NUM_346,NUM_347,NUM_348,NUM_349,NUM_350,NUM_351,NUM_352,NUM_353,NUM_354,NUM_355,NUM_356,NUM_357,NUM_358,NUM_359, + NUM_360,NUM_361,NUM_362,NUM_363,NUM_364,NUM_365,NUM_366,NUM_367,NUM_368,NUM_369,NUM_370,NUM_371,NUM_372,NUM_373,NUM_374,NUM_375,NUM_376,NUM_377,NUM_378,NUM_379, + NUM_380,NUM_381,NUM_382,NUM_383,NUM_384,NUM_385,NUM_386,NUM_387,NUM_388,NUM_389,NUM_390,NUM_391,NUM_392,NUM_393,NUM_394,NUM_395,NUM_396,NUM_397,NUM_398,NUM_399 + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + char numString[5]; + itoa(keycode, numString, 10); + SEND_STRING(numString); + return false; +}; diff --git a/keyboards/cutie_club/giant_macro_pad/keymaps/via/config.h b/keyboards/cutie_club/giant_macro_pad/keymaps/via/config.h new file mode 100755 index 000000000000..d7f8524d0095 --- /dev/null +++ b/keyboards/cutie_club/giant_macro_pad/keymaps/via/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Cutie Club + * + * 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 DYNAMIC_KEYMAP_LAYER_COUNT 1 diff --git a/keyboards/cutie_club/giant_macro_pad/keymaps/via/keymap.c b/keyboards/cutie_club/giant_macro_pad/keymaps/via/keymap.c new file mode 100755 index 000000000000..64b3f2b53032 --- /dev/null +++ b/keyboards/cutie_club/giant_macro_pad/keymaps/via/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2021 Cutie Club + * + * 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] = { + /* Base */ + [0] = LAYOUT_all( + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9 + ) +}; diff --git a/keyboards/cutie_club/giant_macro_pad/keymaps/via/rules.mk b/keyboards/cutie_club/giant_macro_pad/keymaps/via/rules.mk new file mode 100755 index 000000000000..74edb2bf0d41 --- /dev/null +++ b/keyboards/cutie_club/giant_macro_pad/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE=yes diff --git a/keyboards/cutie_club/giant_macro_pad/readme.md b/keyboards/cutie_club/giant_macro_pad/readme.md new file mode 100755 index 000000000000..313f1e1a8634 --- /dev/null +++ b/keyboards/cutie_club/giant_macro_pad/readme.md @@ -0,0 +1,13 @@ +# Cupar19 Giant Macro Pad + +![Cupar19 Giant Macro Pad](https://user-images.githubusercontent.com/15253132/118325863-0135e680-b4fc-11eb-99f2-754b155b0acd.png) + +* Keyboard Maintainer: [Cutie Club](https://github.com/cutie-club/) +* Hardware Supported: STM32F072 based giant 20x20 macro pad +* Hardware Availability: N/A (one-off) + +Make example for this keyboard (after setting up your build environment): + + make cutie_club/giant_macro_pad: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). diff --git a/keyboards/cutie_club/giant_macro_pad/rules.mk b/keyboards/cutie_club/giant_macro_pad/rules.mk new file mode 100755 index 000000000000..072ef384fc16 --- /dev/null +++ b/keyboards/cutie_club/giant_macro_pad/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/cutie_club/wraith/config.h b/keyboards/cutie_club/wraith/config.h index 1f3e172d02a4..ffac2174313a 100644 --- a/keyboards/cutie_club/wraith/config.h +++ b/keyboards/cutie_club/wraith/config.h @@ -190,26 +190,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/cutie_club/wraith/keymaps/default/keymap.c b/keyboards/cutie_club/wraith/keymaps/default/keymap.c index 342a411ef775..74a6bff26d99 100644 --- a/keyboards/cutie_club/wraith/keymaps/default/keymap.c +++ b/keyboards/cutie_club/wraith/keymaps/default/keymap.c @@ -40,11 +40,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - -void matrix_init_user(void) { - -} - void matrix_scan_user(void) { // escape LED on layer 1 if (IS_LAYER_ON(1)) { @@ -53,7 +48,3 @@ void matrix_scan_user(void) { writePinHigh(B0); } } - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/cutie_club/wraith/keymaps/timer/keymap.c b/keyboards/cutie_club/wraith/keymaps/timer/keymap.c index e57c62103836..8b79709b3927 100644 --- a/keyboards/cutie_club/wraith/keymaps/timer/keymap.c +++ b/keyboards/cutie_club/wraith/keymaps/timer/keymap.c @@ -42,11 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; - -void matrix_init_user(void) { - -} - void matrix_scan_user(void) { layer_time_remaining -= timer_read()-prev_loop_time; //amount of time elapsed since the start of the previous loop prev_loop_time = timer_read(); //start counting the time to check at the next iteration @@ -84,7 +79,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; }; - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/cutie_club/wraith/rules.mk b/keyboards/cutie_club/wraith/rules.mk index dce4ad6866a7..1e9a932484ad 100644 --- a/keyboards/cutie_club/wraith/rules.mk +++ b/keyboards/cutie_club/wraith/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -22,7 +15,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/cx60/config.h b/keyboards/cx60/config.h new file mode 100644 index 000000000000..5ff4865a77d5 --- /dev/null +++ b/keyboards/cx60/config.h @@ -0,0 +1,58 @@ +/* +Copyright 2019 Rodrigo Feijao + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4358 // "CX" +#define PRODUCT_ID 0x3630 // "60" +#define DEVICE_VER 0x0001 +#define MANUFACTURER CX60 +#define PRODUCT CX60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* Keyboard Matrix Assignments */ +#define MATRIX_ROW_PINS { F1, F4, F5, F6, E6 } +#define MATRIX_COL_PINS { C7, C6, F7, F0, B4, D7, D6, B0, B1, B2, B3, D2, D3, D5 } +#define UNUSED_PINS + +/* Backlight Setup */ +#define BACKLIGHT_PIN B7 +#ifdef BACKLIGHT_PIN +#define BACKLIGHT_LEVELS 5 +#endif + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* RGB Underglow */ +#define RGB_DI_PIN B6 +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 14 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +#define LED_CAPS_LOCK_PIN B5 +#define LED_PIN_ON_STATE 0 diff --git a/keyboards/cx60/cx60.c b/keyboards/cx60/cx60.c new file mode 100644 index 000000000000..2277d1463888 --- /dev/null +++ b/keyboards/cx60/cx60.c @@ -0,0 +1,15 @@ +/* +Copyright 2021 Horns Lyn + +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 "cx60.h" diff --git a/keyboards/cx60/cx60.h b/keyboards/cx60/cx60.h new file mode 100644 index 000000000000..e13b2f36b96c --- /dev/null +++ b/keyboards/cx60/cx60.h @@ -0,0 +1,33 @@ +/* +Copyright 2021 Horns Lyn + +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 "quantum.h" + +/* CX60 Keymap Definition Macro */ +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ + { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \ +} + diff --git a/keyboards/cx60/info.json b/keyboards/cx60/info.json new file mode 100644 index 000000000000..5848cc139d72 --- /dev/null +++ b/keyboards/cx60/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "CX60-VIA", + "url": "", + "maintainer": "qmk", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"label":"Shift", "x":12, "y":3}, {"label":"Up", "x":13, "y":3}, {"label":"Del", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Fn", "x":11, "y":4}, {"label":"Left", "x":12, "y":4}, {"label":"Down", "x":13, "y":4}, {"label":"Right", "x":14, "y":4}] + } + } +} diff --git a/keyboards/cx60/keymaps/default/keymap.c b/keyboards/cx60/keymaps/default/keymap.c new file mode 100644 index 000000000000..1d32050cbdf5 --- /dev/null +++ b/keyboards/cx60/keymaps/default/keymap.c @@ -0,0 +1,49 @@ +/* +Copyright 2021 Horns Lyn +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: Base Layer */ + 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_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_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* 1: Function Layer */ + LAYOUT_all( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI,RGB_VAI, RGB_HUD, + RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAD, RGB_MOD), + + /* 2: Function Layer 2 */ + LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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: Function Layer 3 */ + LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/cx60/keymaps/default/readme.md b/keyboards/cx60/keymaps/default/readme.md new file mode 100644 index 000000000000..37128e7c072a --- /dev/null +++ b/keyboards/cx60/keymaps/default/readme.md @@ -0,0 +1 @@ +# The CX60-VIA default layout diff --git a/keyboards/cx60/keymaps/via/keymap.c b/keyboards/cx60/keymaps/via/keymap.c new file mode 100644 index 000000000000..2a1b08709085 --- /dev/null +++ b/keyboards/cx60/keymaps/via/keymap.c @@ -0,0 +1,50 @@ +/* +Copyright 2021 Horns Lyn + +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: Base Layer */ + 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_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_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* 1: Function Layer */ + LAYOUT_all( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI,RGB_VAI, RGB_HUD, + RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAD, RGB_MOD), + + /* 2: Function Layer 2 */ + LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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: Function Layer 3 */ + LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/cx60/keymaps/via/readme.md b/keyboards/cx60/keymaps/via/readme.md new file mode 100644 index 000000000000..37128e7c072a --- /dev/null +++ b/keyboards/cx60/keymaps/via/readme.md @@ -0,0 +1 @@ +# The CX60-VIA default layout diff --git a/keyboards/cx60/keymaps/via/rules.mk b/keyboards/cx60/keymaps/via/rules.mk new file mode 100644 index 000000000000..ca9fed0e6b53 --- /dev/null +++ b/keyboards/cx60/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/cx60/keymaps/via_caps/config.h b/keyboards/cx60/keymaps/via_caps/config.h new file mode 100644 index 000000000000..fcd63384fa4a --- /dev/null +++ b/keyboards/cx60/keymaps/via_caps/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2021 Horns Lyn + +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 + +/* this is for rgb underglow capslock indicator */ +#define RGBLIGHT_LAYERS +#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF + diff --git a/keyboards/cx60/keymaps/via_caps/keymap.c b/keyboards/cx60/keymaps/via_caps/keymap.c new file mode 100644 index 000000000000..af2d862df4aa --- /dev/null +++ b/keyboards/cx60/keymaps/via_caps/keymap.c @@ -0,0 +1,80 @@ +/* +Copyright 2021 Horns Lyn + +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: Base Layer */ + + /* Qwerty + * ,-----------------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bkspc | + * |-----------------------------------------------------------------------------------------+ + * | 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 | , | . | / | RSh | U | FN | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | Win | Alt | Space | RAlt | FN | L | D | R | + * `-----------------------------------------------------------------------------------------' + */ + + 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_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_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + /* 1: Function Layer */ + LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET, + KC_TRNS, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, RGB_RMOD, RGB_MOD, KC_TRNS, KC_TRNS, RGB_TOG, + KC_TRNS, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_SPD, KC_VOLU, RGB_SPI, + MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_VOLD, RGB_VAI), + + /* 2: Function Layer 2 */ + LAYOUT_all( + KC_PWR, KC_SLEP, KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MYCM, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WWW_HOME, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS), + + /* 3: Function Layer 3 */ + LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 underglow capslock indicator; by Dominic Lee/MYMKB; */ +const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( {0, 14, HSV_RED} ); + +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(0, led_state.caps_lock); + return true; +} + +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( my_capslock_layer ); + +void keyboard_post_init_user(void) { + /* Enable the LED layers */ + rgblight_layers = my_rgb_layers; +} +/* rgb underglow capslock indicator; end; */ diff --git a/keyboards/cx60/keymaps/via_caps/readme.md b/keyboards/cx60/keymaps/via_caps/readme.md new file mode 100644 index 000000000000..37128e7c072a --- /dev/null +++ b/keyboards/cx60/keymaps/via_caps/readme.md @@ -0,0 +1 @@ +# The CX60-VIA default layout diff --git a/keyboards/cx60/keymaps/via_caps/rules.mk b/keyboards/cx60/keymaps/via_caps/rules.mk new file mode 100644 index 000000000000..ca9fed0e6b53 --- /dev/null +++ b/keyboards/cx60/keymaps/via_caps/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/cx60/readme.md b/keyboards/cx60/readme.md new file mode 100644 index 000000000000..868f319b6a14 --- /dev/null +++ b/keyboards/cx60/readme.md @@ -0,0 +1,15 @@ +# CX60-VIA + +64-key 60% with dedicated arrow keys, single-layout, VIA-enabled. + +![Top View of a pair of CX60 Keyboard](https://i.imgur.com/Q2YVuhd.jpg) + +* Keyboard Maintainer: QMK Community +* Hardware Supported: CX60 PCB +* Hardware Availability: [晨星XCstore](https://item.taobao.com/item.htm?id=641932740480) + +Make example for this keyboard (after setting up your build environment): + + make cx60: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). diff --git a/keyboards/cx60/rules.mk b/keyboards/cx60/rules.mk new file mode 100644 index 000000000000..b91f40ae3219 --- /dev/null +++ b/keyboards/cx60/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/cybergear/macro25/LICENSE b/keyboards/cybergear/macro25/LICENSE new file mode 100644 index 000000000000..d159169d1050 --- /dev/null +++ b/keyboards/cybergear/macro25/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/keyboards/cybergear/macro25/config.h b/keyboards/cybergear/macro25/config.h new file mode 100644 index 000000000000..982559ef37d9 --- /dev/null +++ b/keyboards/cybergear/macro25/config.h @@ -0,0 +1,23 @@ +/* Copyright 2021 CyberGear Marius Kavoliunas + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define MANUFACTURER CyberGear +#define PRODUCT Macro25 (mk-macro-01) diff --git a/keyboards/cybergear/macro25/info.json b/keyboards/cybergear/macro25/info.json new file mode 100644 index 000000000000..4117d12bb595 --- /dev/null +++ b/keyboards/cybergear/macro25/info.json @@ -0,0 +1,25 @@ +{ + "keyboard_name": "Macro225 (mk-macro-01)", + "url": "https://github.com/CyberGear/mk-macro-01", + "maintainer": "CyberGear", + "usb": { + "vid": "0x1209", + "pid": "0x69A1", + "device_ver": "0x0001" + }, + "width": 5, + "height": 2, + "diode_direction": "COL2ROW", + "layouts": { + "LAYOUT_ortho_2x5": { + "layout": [ + {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, + {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1} + ] + } + }, + "matrix_pins": { + "rows": ["E6", "B4"], + "cols": ["B1", "F7", "F6", "F5", "F4"] + } +} diff --git a/keyboards/cybergear/macro25/keymaps/default/keymap.c b/keyboards/cybergear/macro25/keymaps/default/keymap.c new file mode 100644 index 000000000000..79a7e65adc14 --- /dev/null +++ b/keyboards/cybergear/macro25/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2021 CyberGear Marius Kavoliunas + * + * 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 + + +#define MAC(kc) (QK_RCTL | QK_RGUI | QK_RALT | (kc)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_2x5( + MAC(KC_KP_0), MAC(KC_KP_1), MAC(KC_KP_2), MAC(KC_KP_3), MAC(KC_KP_4), + MAC(KC_KP_5), MAC(KC_KP_6), MAC(KC_KP_7), MAC(KC_KP_8), MAC(KC_KP_9) + ) +}; diff --git a/keyboards/cybergear/macro25/keymaps/via/keymap.c b/keyboards/cybergear/macro25/keymaps/via/keymap.c new file mode 100644 index 000000000000..c4db95797e49 --- /dev/null +++ b/keyboards/cybergear/macro25/keymaps/via/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2021 CyberGear Marius Kavoliunas + * + * 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 + + +#define MAC(kc) (QK_RCTL | QK_RGUI | QK_RALT | (kc)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_2x5( + MAC(KC_KP_0), MAC(KC_KP_1), MAC(KC_KP_2), MAC(KC_KP_3), MAC(KC_KP_4), + MAC(KC_KP_5), MAC(KC_KP_6), MAC(KC_KP_7), MAC(KC_KP_8), MAC(KC_KP_9) + ), + [1] = LAYOUT_ortho_2x5( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_ortho_2x5( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_ortho_2x5( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/cybergear/macro25/keymaps/via/rules.mk b/keyboards/cybergear/macro25/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/cybergear/macro25/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/cybergear/macro25/macro25.c b/keyboards/cybergear/macro25/macro25.c new file mode 100644 index 000000000000..662c5c1fe306 --- /dev/null +++ b/keyboards/cybergear/macro25/macro25.c @@ -0,0 +1,17 @@ +/* Copyright 2021 CyberGear Marius Kavoliunas + * + * 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 "macro25.h" diff --git a/keyboards/cybergear/macro25/macro25.h b/keyboards/cybergear/macro25/macro25.h new file mode 100644 index 000000000000..22b814a97bed --- /dev/null +++ b/keyboards/cybergear/macro25/macro25.h @@ -0,0 +1,27 @@ +/* Copyright 2021 CyberGear Marius Kavoliunas + * + * 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 "quantum.h" + +#define LAYOUT_ortho_2x5( \ + K00, K01, K02, K03, K04, \ + K05, K06, K07, K08, K09 \ +) { \ + { K00, K01, K02, K03, K04 }, \ + { K05, K06, K07, K08, K09 }, \ +} diff --git a/keyboards/cybergear/macro25/readme.md b/keyboards/cybergear/macro25/readme.md new file mode 100644 index 000000000000..9875e831736b --- /dev/null +++ b/keyboards/cybergear/macro25/readme.md @@ -0,0 +1,15 @@ +# CyberGear Macro25 + +![](https://i.imgur.com/Jk2xGMvh.jpg) + +Macro keyboard made using Arduino Pro Micro, with VIA support. + +* Keyboard Maintainer: [CyberGear](https://github.com/CyberGear) +* Hardware Supported: Arduino Pro Micro +* Hardware Availability: [GitHub](https://github.com/CyberGear/mk-macro-01) + +Make example for this keyboard (after setting up your build environment): + + make cybergear/macro25: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). diff --git a/keyboards/cybergear/macro25/rules.mk b/keyboards/cybergear/macro25/rules.mk new file mode 100644 index 000000000000..f0e9a7a83bfe --- /dev/null +++ b/keyboards/cybergear/macro25/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/daisy/config.h b/keyboards/daisy/config.h deleted file mode 100644 index ea56f948eef7..000000000000 --- a/keyboards/daisy/config.h +++ /dev/null @@ -1,222 +0,0 @@ -/* -Copyright 2020 - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0x4B50 -#define PRODUCT_ID 0xD7DC -#define DEVICE_VER 0x0501 -#define MANUFACTURER KTEC -#define PRODUCT Daisy - -/* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 11 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ -#define MATRIX_ROW_PINS { D2, D3, D5, B7 } -#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6 } -#define UNUSED_PINS - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - -#define LED_CAPS_LOCK_PIN C6 -#define LED_PIN_ON_STATE 0 - -#define BACKLIGHT_PIN D0 -// #define BACKLIGHT_BREATHING -#define BACKLIGHT_LEVELS 6 - -#define RGB_DI_PIN C7 -#ifdef RGB_DI_PIN -# define RGBLED_NUM 8 -# define RGBLIGHT_HUE_STEP 12 -# define RGBLIGHT_SAT_STEP 25 -# define RGBLIGHT_VAL_STEP 12 -// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -// /*== all animations enable ==*/ -# define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -// /*== customize breathing effect ==*/ -// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -// /*==== use exp() and sin() ====*/ -// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -#endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is userful for the Windows task manager shortcut (ctrl+shift+esc). - */ -// #define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* key combination for magic key command */ -/* defined by default; to change, uncomment and set to the combination you want */ -// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP H -//#define MAGIC_KEY_HELP_ALT SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER0_ALT GRAVE -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER B -//#define MAGIC_KEY_BOOTLOADER_ALT ESC -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_EEPROM_CLEAR BSPACE -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - -/* Bootmagic Lite key configuration */ -// #define BOOTMAGIC_LITE_ROW 0 -// #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/daisy/keymaps/default/keymap.c b/keyboards/daisy/keymaps/default/keymap.c deleted file mode 100644 index f07680376643..000000000000 --- a/keyboards/daisy/keymaps/default/keymap.c +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright 2020 - * - * 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 { - _BL, - _LW, - _RS -}; - -#define LOWER MO(_LW) -#define RAISE MO(_RS) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base Layer - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ \ │ - * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ - * │Tab │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Enter│ - * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤ - * │Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │  / │ - * ├────┬─┴─┬─┴──┬┴───┴───┼───┴───┴──┬┴───┼───┼────┤ - * │Ctrl│GUI│Alt │        │ Backspace│Lowr│Rse│ Alt│ - * └────┴───┴────┴────────┴──────────┴────┴───┴────┘ - */ - [_BL] = LAYOUT( - KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_BSPC, LOWER, RAISE, KC_RALT - ), - - /* Function Layer 1 (Lower) - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ - * └───┴┬──┴┬──┴┬──┴───┴───┴┬──┴┬──┴┬──┴┬──┴┬──┴───┘ - * │    │ = │ ▴ │   │   │   │ [ │ ] │ ; │ ' │      │ - * ├────└─┬─┴─┬─┴─┬───┐─┴─┬─└───┴───┴───┴───┘─┬────┤ - * │      │ ◂ │ ▾ │ ▸ │   │   │   │   │   │   │    │ - * ├────┬─└───┴───┴───┘───┌──────────┐┴───┼───┼────┤ - * │    │   │    │        │   Delete │    │   │    │ - * └────┴───┴────┴────────└──────────┘────┴───┴────┘ - */ - [_LW] = LAYOUT( - 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_UP, _______, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_DEL, _______, _______, _______ - ), - - /* Function Layer 2 (Raise) - * ┌───┬───┬───┬───┬───┬───┬───┐───┌───┬───┐───┬───┐ - * │Rst│F1 │F2 │F3 │F4 │F5 │F6 │   │Hom│PgU│   │   │ - * └───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐──└┬──┴┬──┴┐──┴───┤ - * │    │F7 │F8 │F9 │F10│F11│F12│   │ ; │ ' │      │ - * ├────└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴───┴───┴───┴─┐────┤ - * │      │RGB│Mod│HuD│HuI│VaD│VaI│SaD│SaI│BLS│    │ - * ├────┬─└───┴───┴───┴───┴───┴───┴───┴───┴───┘────┤ - * │    │   │    │        │          │    │   │    │ - * └────┴───┴────┴────────┴──────────┴────┴───┴────┘ - */ - [_RS] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGUP, _______, _______, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END, KC_PGDN, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, BL_STEP, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/daisy/keymaps/via/keymap.c b/keyboards/daisy/keymaps/via/keymap.c deleted file mode 100644 index b3156ce3b87e..000000000000 --- a/keyboards/daisy/keymaps/via/keymap.c +++ /dev/null @@ -1,102 +0,0 @@ -/* Copyright 2020 - * - * 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 { - _BL, - _LW, - _RS, - _EM -}; - -#define LOWER MO(_LW) -#define RAISE MO(_RS) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base Layer - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ \ │ - * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ - * │Tab │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Enter│ - * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤ - * │Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │  / │ - * ├────┬─┴─┬─┴──┬┴───┴───┼───┴───┴──┬┴───┼───┼────┤ - * │Ctrl│GUI│Alt │        │ Backspace│Lowr│Rse│ Alt│ - * └────┴───┴────┴────────┴──────────┴────┴───┴────┘ - */ - [_BL] = LAYOUT( - KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_BSPC, LOWER, RAISE, KC_RALT - ), - - /* Function Layer 1 (Lower) - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ - * └───┴┬──┴┬──┴┬──┴───┴───┴┬──┴┬──┴┬──┴┬──┴┬──┴───┘ - * │    │ = │ ▴ │   │   │   │ [ │ ] │ ; │ ' │      │ - * ├────└─┬─┴─┬─┴─┬───┐─┴─┬─└───┴───┴───┴───┘─┬────┤ - * │      │ ◂ │ ▾ │ ▸ │   │   │   │   │   │   │    │ - * ├────┬─└───┴───┴───┘───┌──────────┐┴───┼───┼────┤ - * │    │   │    │        │   Delete │    │   │    │ - * └────┴───┴────┴────────└──────────┘────┴───┴────┘ - */ - [_LW] = LAYOUT( - 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_UP, _______, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, KC_DEL, _______, _______, _______ - ), - - /* Function Layer 2 (Raise) - * ┌───┬───┬───┬───┬───┬───┬───┐───┌───┬───┐───┬───┐ - * │Rst│F1 │F2 │F3 │F4 │F5 │F6 │   │Hom│PgU│   │   │ - * └───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐──└┬──┴┬──┴┐──┴───┤ - * │    │F7 │F8 │F9 │F10│F11│F12│   │ ; │ ' │      │ - * ├────└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴───┴───┴───┴─┐────┤ - * │      │RGB│Mod│HuD│HuI│VaD│VaI│SaD│SaI│BLS│    │ - * ├────┬─└───┴───┴───┴───┴───┴───┴───┴───┴───┘────┤ - * │    │   │    │        │          │    │   │    │ - * └────┴───┴────┴────────┴──────────┴────┴───┴────┘ - */ - [_RS] = LAYOUT( - RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGUP, _______, _______, - _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END, KC_PGDN, _______, - _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, BL_STEP, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - ), - - /* Empty 4th layer for VIA - * ┌───┬───┬───┬───┬───┬───┬───┐───┌───┬───┐───┬───┐ - * | | | | | | | | | | | | | - * └───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐──└┬──┴┬──┴┐──┴───┤ - * │    │  │  │  │ │ │ │   │   │   │      │ - * ├────└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴───┴───┴───┴─┐────┤ - * │      │ │ │ │ │ │ │ │ │ │    │ - * ├────┬─└───┴───┴───┴───┴───┴───┴───┴───┴───┘────┤ - * │    │   │    │        │          │    │   │    │ - * └────┴───┴────┴────────┴──────────┴────┴───┴────┘ - */ - [_EM] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/daisy/readme.md b/keyboards/daisy/readme.md deleted file mode 100644 index a8a93bf79127..000000000000 --- a/keyboards/daisy/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# Daisy - -![Daisy PCB](https://cdn.shopify.com/s/files/1/2711/4238/products/HTB1Pj1UggMPMeJjy1Xcq6xpppXa7_1024x1024.jpg) - -A 40% keyboard kit sold by KPrepublic. - -* Keyboard Maintainer: [westfoxtrot](https://github.com/westfoxtrot) -* Hardware Supported: Daisy PCB Rev.1, Daisy PCB Rev.2 -* Hardware Availability: [KPrepublic](https://kprepublic.com/products/daisy-40-custom-keyboard-pcb) - -Make example for this keyboard (after setting up your build environment): - - make daisy: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). diff --git a/keyboards/daisy/rules.mk b/keyboards/daisy/rules.mk deleted file mode 100644 index 7d2d6d405618..000000000000 --- a/keyboards/daisy/rules.mk +++ /dev/null @@ -1,30 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = atmel-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/daji/seis_cinco/rules.mk b/keyboards/daji/seis_cinco/rules.mk index fa34092cd736..46a16476740d 100644 --- a/keyboards/daji/seis_cinco/rules.mk +++ b/keyboards/daji/seis_cinco/rules.mk @@ -2,16 +2,19 @@ MCU = STM32F072 BOARD = GENERIC_STM32_F072XB +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality diff --git a/keyboards/db/db63/rules.mk b/keyboards/db/db63/rules.mk index 3d51be11332d..3bff3ee31b28 100644 --- a/keyboards/db/db63/rules.mk +++ b/keyboards/db/db63/rules.mk @@ -2,17 +2,10 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # build options -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/dc01/arrow/rules.mk b/keyboards/dc01/arrow/rules.mk index 17de05bc7d37..57b45bf200fb 100644 --- a/keyboards/dc01/arrow/rules.mk +++ b/keyboards/dc01/arrow/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/dc01/left/config.h b/keyboards/dc01/left/config.h index 57614e84ab21..bc934e4a3943 100644 --- a/keyboards/dc01/left/config.h +++ b/keyboards/dc01/left/config.h @@ -42,7 +42,7 @@ along with this program. If not, see . * */ #define MATRIX_ROW_PINS { B6, B5, B4, D7, D6 } -#define MATRIX_COL_PINS { F4, F1, F0, F7, F6, F5 } +#define MATRIX_COL_PINS { F4, F1, F0, F7, F6, F5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } #define UNUSED_PINS #define F_SCL 350000UL @@ -122,23 +122,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/dc01/left/matrix.c b/keyboards/dc01/left/matrix.c index c3b3b39a4f5e..bf5aba849790 100644 --- a/keyboards/dc01/left/matrix.c +++ b/keyboards/dc01/left/matrix.c @@ -26,6 +26,7 @@ along with this program. If not, see . #include "wait.h" #include "print.h" #include "debug.h" +#include "gpio.h" #include "util.h" #include "matrix.h" #include "timer.h" @@ -71,7 +72,7 @@ along with this program. If not, see . #if (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static const uint8_t col_pins[MATRIX_COLS_SCANNED] = MATRIX_COL_PINS; +static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; #endif /* matrix state(1:on, 0:off) */ @@ -451,4 +452,4 @@ i2c_status_t i2c_transaction(uint8_t address, uint32_t mask, uint8_t col_offset) i2c_stop(); return (status < 0) ? status : I2C_STATUS_SUCCESS; -} \ No newline at end of file +} diff --git a/keyboards/dc01/left/rules.mk b/keyboards/dc01/left/rules.mk index cd440a494a74..72f27268bdc3 100644 --- a/keyboards/dc01/left/rules.mk +++ b/keyboards/dc01/left/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/dc01/numpad/rules.mk b/keyboards/dc01/numpad/rules.mk index b60a646e13f0..f66826a6502c 100644 --- a/keyboards/dc01/numpad/rules.mk +++ b/keyboards/dc01/numpad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/dc01/right/rules.mk b/keyboards/dc01/right/rules.mk index 17de05bc7d37..57b45bf200fb 100644 --- a/keyboards/dc01/right/rules.mk +++ b/keyboards/dc01/right/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/dekunukem/duckypad/rules.mk b/keyboards/dekunukem/duckypad/rules.mk index 2deef1eeea6e..ad34fd0d6748 100644 --- a/keyboards/dekunukem/duckypad/rules.mk +++ b/keyboards/dekunukem/duckypad/rules.mk @@ -1,10 +1,13 @@ -# MCU Name +# MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -22,4 +25,5 @@ WS2812_DRIVER = bitbang RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/delikeeb/flatbread60/config.h b/keyboards/delikeeb/flatbread60/config.h new file mode 100644 index 000000000000..6c40d46bffcb --- /dev/null +++ b/keyboards/delikeeb/flatbread60/config.h @@ -0,0 +1,175 @@ +/* +Copyright 2020 noclew + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x9906 +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER delikeeb +#define PRODUCT Flatbread60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F6, B1, B3, B2, B6 } +#define MATRIX_COL_PINS { F4, F5, B5, B4, E6, D7, C6, D4, D0, D1, D2, D3 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + +#define RGB_DI_PIN F7 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 19 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ + #define RGBLIGHT_ANIMATIONS + +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * + */ + +/* key combination for magic key command */ +/* defined by default; to change, uncomment and set to the combination you want */ +// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) + +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* override magic key keymap */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +//#define MAGIC_KEY_HELP H +//#define MAGIC_KEY_HELP_ALT SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER0_ALT GRAVE +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER B +//#define MAGIC_KEY_BOOTLOADER_ALT ESC +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_EEPROM_CLEAR BSPACE +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/nckiibs/flatbread60/flatbread60.c b/keyboards/delikeeb/flatbread60/flatbread60.c similarity index 100% rename from keyboards/nckiibs/flatbread60/flatbread60.c rename to keyboards/delikeeb/flatbread60/flatbread60.c diff --git a/keyboards/nckiibs/flatbread60/flatbread60.h b/keyboards/delikeeb/flatbread60/flatbread60.h similarity index 100% rename from keyboards/nckiibs/flatbread60/flatbread60.h rename to keyboards/delikeeb/flatbread60/flatbread60.h diff --git a/keyboards/nckiibs/flatbread60/info.json b/keyboards/delikeeb/flatbread60/info.json similarity index 100% rename from keyboards/nckiibs/flatbread60/info.json rename to keyboards/delikeeb/flatbread60/info.json diff --git a/keyboards/nckiibs/flatbread60/keymaps/default/keymap.c b/keyboards/delikeeb/flatbread60/keymaps/default/keymap.c similarity index 100% rename from keyboards/nckiibs/flatbread60/keymaps/default/keymap.c rename to keyboards/delikeeb/flatbread60/keymaps/default/keymap.c diff --git a/keyboards/nckiibs/flatbread60/keymaps/default/readme.md b/keyboards/delikeeb/flatbread60/keymaps/default/readme.md similarity index 100% rename from keyboards/nckiibs/flatbread60/keymaps/default/readme.md rename to keyboards/delikeeb/flatbread60/keymaps/default/readme.md diff --git a/keyboards/nckiibs/flatbread60/keymaps/via/keymap.c b/keyboards/delikeeb/flatbread60/keymaps/via/keymap.c similarity index 100% rename from keyboards/nckiibs/flatbread60/keymaps/via/keymap.c rename to keyboards/delikeeb/flatbread60/keymaps/via/keymap.c diff --git a/keyboards/nckiibs/flatbread60/keymaps/via/rules.mk b/keyboards/delikeeb/flatbread60/keymaps/via/rules.mk similarity index 100% rename from keyboards/nckiibs/flatbread60/keymaps/via/rules.mk rename to keyboards/delikeeb/flatbread60/keymaps/via/rules.mk diff --git a/keyboards/delikeeb/flatbread60/readme.md b/keyboards/delikeeb/flatbread60/readme.md new file mode 100644 index 000000000000..6f187833a670 --- /dev/null +++ b/keyboards/delikeeb/flatbread60/readme.md @@ -0,0 +1,19 @@ +# flatbread60 + +![flatbread60](https://i.imgur.com/kIPP0JKl.jpg) + +This is a custom PCB made by a hobbiest, and it has an ortholinear 60 key layout. Flatbread60 supports Pro Micro and its wireless variants, such as Blue Micro. A battery switch slot and extra pinout is on the board. + +* Keyboard Maintainer: [noclew](https://github.com/noclew) +* Hardware Supported: flatbread60 PCB +* Hardware Availability: Not commercially available, but the board fabricaion file will be uploaded in the near future. + +Make example for this keyboard (after setting up your build environment): + + make delikeeb/flatbread60:default + +Flashing example for this keyboard: + + make delikeeb/flatbread60: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). diff --git a/keyboards/delikeeb/flatbread60/rules.mk b/keyboards/delikeeb/flatbread60/rules.mk new file mode 100644 index 000000000000..5fdb14f40e64 --- /dev/null +++ b/keyboards/delikeeb/flatbread60/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/delikeeb/vaguettelite/config.h b/keyboards/delikeeb/vaguettelite/config.h new file mode 100644 index 000000000000..ef1aec49ef4a --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/config.h @@ -0,0 +1,119 @@ +/* +Copyright 2020 noclew + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x9906 +#define PRODUCT_ID 0x0011 +#define DEVICE_VER 0x0003 +#define MANUFACTURER dELIKEEb +#define PRODUCT Vaguette Lite + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F4, B3, D1, D2, D3, F5 } +#define MATRIX_COL_PINS { F6, F7, B1, B2, B6, B5, B4, E6, D7, C6, D0, D4 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/*rotary encoder setting*/ +#define ENCODERS_PAD_A { D5, F1 } +#define ENCODERS_PAD_B { B7, F0 } + +#define RGB_DI_PIN C7 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 9 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +// # define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +// # define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// # define RGBLIGHT_EFFECT_SNAKE +// # define RGBLIGHT_EFFECT_KNIGHT +// # define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +// # define RGBLIGHT_EFFECT_RGB_TEST +// # define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/delikeeb/vaguettelite/info.json b/keyboards/delikeeb/vaguettelite/info.json new file mode 100644 index 000000000000..0f3d6049a2fb --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/info.json @@ -0,0 +1,15 @@ +{ + "keyboard_name": "vaguettelite", + "url": "", + "maintainer": "noclew", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1, "w":1.5}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2, "w":1.25}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":0, "y":3}, {"x":1, "y":3, "w":1.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"x":2.25, "y":4, "w":1.25}, {"x":3.5, "y":4}, {"x":4.5, "y":4, "w":1.25}, {"x":5.75, "y":4, "w":2}, {"x":7.75, "y":4, "w":1.25}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] + }, + "LAYOUT_625u_universal": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1, "w":1.5}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2, "w":2.25}, {"x":14, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] + } + } +} diff --git a/keyboards/delikeeb/vaguettelite/keymaps/default/keymap.c b/keyboards/delikeeb/vaguettelite/keymaps/default/keymap.c new file mode 100644 index 000000000000..98af7556abf2 --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/keymaps/default/keymap.c @@ -0,0 +1,135 @@ +/* Copyright 2020 noclew + * + * 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 { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + BASE = SAFE_RANGE, + LOWER, + RAISE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* BASE + * --------------------------------------------------------------------------------------------------------- + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bspc | Mute | + * --------------------------------------------------------------------------------------------------------- + * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | [ | ] | + *---------------------------------------------------------------------------------------------------------- + * | Esc | A | S | D | F | G | H | J | K | L | ; | Enter | N/A | ' | + *---------------------------------------------------------------------------------------------------------- + * | N/A | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Del | + *---------------------------------------------------------------------------------------------------------- + * | Ctrl | GUI | Alt | Lower | Space | Space | Space | Raise | Alt | Left | Down | Up | Right | + *---------------------------------------------------------------------------------------------------------- + */ + + [_BASE] = LAYOUT_all( + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSPC, KC_AUDIO_MUTE, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS, KC_LBRC, KC_RBRC, + KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_ENT , KC_NO, KC_QUOT, + KC_NO , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, RSFT_T(KC_QUOT), KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , KC_SPC , RAISE, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [_LOWER] = LAYOUT_all( + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F12 , _______, + KC_BSPC, KC_SLSH, KC_7 , KC_8 , KC_9 , KC_PPLS, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, _______, _______, + KC_EQL , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_PIPE, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______, _______, _______, + KC_ENT , _______, KC_PAST, KC_1 , KC_2 , KC_3 , KC_UNDS, KC_DLR , KC_LCBR, KC_RCBR, KC_AMPR, KC_PERC, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL, KC_END , _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT_all( + RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, + _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, + KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + } + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + /* With an if statement we can check which encoder was turned. */ + if (index == 0) { /* First encoder */ + /* And with another if statement we can check the direction. */ + if (clockwise) { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_RIGHT); + } else { + tap_code(KC_VOLU); + } + } else { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_LEFT); + } else { + tap_code(KC_VOLD); + } + } + + } else if (index == 1) { /* Second encoder. Only supported by Elite-C */ + if (clockwise) { + tap_code(KC_RIGHT); + } else { + tap_code(KC_LEFT); + } + } + return true; +} diff --git a/keyboards/delikeeb/vaguettelite/keymaps/default/readme.md b/keyboards/delikeeb/vaguettelite/keymaps/default/readme.md new file mode 100644 index 000000000000..1dc39673446b --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for Vaguette LITE diff --git a/keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/keymap.c b/keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/keymap.c new file mode 100644 index 000000000000..ed028e84b10d --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/keymap.c @@ -0,0 +1,135 @@ +/* Copyright 2020 noclew + * + * 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 { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + BASE = SAFE_RANGE, + LOWER, + RAISE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* BASE + * --------------------------------------------------------------------------------------------------------- + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | BSP | Mute | + * --------------------------------------------------------------------------------------------------------- + * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | [ | ] | + *---------------------------------------------------------------------------------------------------------- + * | Esc | A | S | D | F | G | H | J | K | L | ; | Enter | ' | + *---------------------------------------------------------------------------------------------------------- + * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | + *---------------------------------------------------------------------------------------------------------- + * | Ctrl | GUI | Alt | Space | Raise | Left | Down | Up | Right | + *---------------------------------------------------------------------------------------------------------- + */ + + [_BASE] = LAYOUT_625u_universal( + 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_MINS, KC_BSPC, KC_AUDIO_MUTE, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS, KC_LBRC, KC_RBRC, + KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_ENT , KC_QUOT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, RSFT_T(KC_QUOT), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , RAISE , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT + ), + + [_LOWER] = LAYOUT_625u_universal( + _______, 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_F12 , _______, + KC_BSPC, KC_EQL , KC_7 , KC_8 , KC_9 , KC_SLSH, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, _______, _______, + KC_ENT , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_UNDS, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______, _______, + KC_DLR , KC_PAST, KC_1 , KC_2 , KC_3 , KC_PPLS, KC_PIPE, KC_LCBR, KC_RCBR, KC_PERC, KC_AMPR, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT_625u_universal( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL, KC_END , _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT_625u_universal( + RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, + _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, + KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + } + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + /* With an if statement we can check which encoder was turned. */ + if (index == 0) { /* First encoder */ + /* And with another if statement we can check the direction. */ + if (clockwise) { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_RIGHT); + } else { + tap_code(KC_VOLU); + } + } else { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_LEFT); + } else { + tap_code(KC_VOLD); + } + } + + } else if (index == 1) { /* Second encoder. Only supported by Elite-C */ + if (clockwise) { + tap_code(KC_RIGHT); + } else { + tap_code(KC_LEFT); + } + } + return true; +} diff --git a/keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/readme.md b/keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/readme.md new file mode 100644 index 000000000000..fc537215ee1f --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/keymaps/default_625u_universal/readme.md @@ -0,0 +1 @@ +# The keymap using standard 6.25u spacebar for Vaguette LITE diff --git a/keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c b/keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c new file mode 100644 index 000000000000..58bc0c778310 --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/keymaps/noclew/keymap.c @@ -0,0 +1,155 @@ +/* Copyright 2020 noclew + * + * 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 { + _BASE, + _LOWER, + _RAISE, + _ADJUST, + _MAC, + _GAME +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + BASE = SAFE_RANGE, + LOWER, + RAISE, + MAC, + GAME +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* BASE + * --------------------------------------------------------------------------------------------------------- + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Bspc | Mute | + * --------------------------------------------------------------------------------------------------------- + * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | [ | ] | + *---------------------------------------------------------------------------------------------------------- + * | Esc | A | S | D | F | G | H | J | K | L | ; | Enter | N/A | ' | + *---------------------------------------------------------------------------------------------------------- + * | N/A | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | DEL | + *---------------------------------------------------------------------------------------------------------- + * | Ctrl | GUI | Alt | Lower | Space | Space | Space | Raise | Alt | Left | Down | Up | Right | + *---------------------------------------------------------------------------------------------------------- + */ + + [_BASE] = LAYOUT_all( + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSPC, KC_AUDIO_MUTE, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS, KC_LBRC, KC_RBRC, + KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_ENT , KC_NO, KC_QUOT, + KC_NO , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, RSFT_T(KC_QUOT), KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , KC_SPC , RAISE, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [_MAC] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LALT, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_GAME] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, MO(_LOWER), KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_LOWER] = LAYOUT_all( + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F12 , _______, + KC_BSPC, KC_SLSH, KC_7 , KC_8 , KC_9 , KC_PPLS, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, _______, _______, + KC_EQL , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_PIPE, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______, _______, _______, + KC_ENT , _______, KC_PAST, KC_1 , KC_2 , KC_3 , KC_UNDS, KC_DLR , KC_LCBR, KC_RCBR, KC_AMPR, KC_PERC, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL, KC_END , _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT_all( + RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, + _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, + KC_CAPS, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, TG(_GAME), _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, TG(_MAC), _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + } + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + /* With an if statement we can check which encoder was turned. */ + if (index == 0) { /* First encoder */ + /* And with another if statement we can check the direction. */ + if (clockwise) { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_RIGHT); + } else { + tap_code(KC_VOLU); + } + } else { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_LEFT); + } else { + tap_code(KC_VOLD); + } + } + + } else if (index == 1) { /* Second encoder. Only supported by Elite-C */ + if (clockwise) { + tap_code(KC_RIGHT); + } else { + tap_code(KC_LEFT); + } + } + return true; +} diff --git a/keyboards/delikeeb/vaguettelite/keymaps/noclew/readme.md b/keyboards/delikeeb/vaguettelite/keymaps/noclew/readme.md new file mode 100644 index 000000000000..bc2bbecb7ce8 --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/keymaps/noclew/readme.md @@ -0,0 +1 @@ +# The noclew's keymap for Vaguette LITE diff --git a/keyboards/delikeeb/vaguettelite/keymaps/via/keymap.c b/keyboards/delikeeb/vaguettelite/keymaps/via/keymap.c new file mode 100644 index 000000000000..a84b41b29d3b --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/keymaps/via/keymap.c @@ -0,0 +1,136 @@ +/* Copyright 2020 noclew + * + * 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 { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + BASE = SAFE_RANGE, + LOWER, + RAISE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* BASE + * --------------------------------------------------------------------------------------------------------- + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BSpc | Mute | + * --------------------------------------------------------------------------------------------------------- + * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | [ | ] | + *---------------------------------------------------------------------------------------------------------- + * | Esc | A | S | D | F | G | H | J | K | L | ; | Enter | N/A | ' | + *---------------------------------------------------------------------------------------------------------- + * | N/A | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Del | + *---------------------------------------------------------------------------------------------------------- + * | Ctrl | GUI | Alt | Lower | Space | Space | Space | Raise | Alt | Left | Down | Up | Right | + *---------------------------------------------------------------------------------------------------------- + */ + + [_BASE] = LAYOUT_all( + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSPC, KC_AUDIO_MUTE, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS, KC_LBRC, KC_RBRC, + KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_ENT , KC_NO, KC_QUOT, + KC_NO , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, RSFT_T(KC_QUOT), KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, LOWER , KC_SPC , KC_SPC , KC_SPC , RAISE, KC_RALT, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [_LOWER] = LAYOUT_all( + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F12 , _______, + KC_BSPC, KC_SLSH, KC_7 , KC_8 , KC_9 , KC_PPLS, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, _______, _______, + KC_EQL , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_PIPE, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______, _______, _______, + KC_ENT , _______, KC_PAST, KC_1 , KC_2 , KC_3 , KC_UNDS, KC_DLR , KC_LCBR, KC_RCBR, KC_AMPR, KC_PERC, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL, KC_END , _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT_all( + RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG, + _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, + KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + } + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + /* With an if statement we can check which encoder was turned. */ + if (index == 0) { /* First encoder */ + /* And with another if statement we can check the direction. */ + if (clockwise) { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_RIGHT); + } else { + tap_code(KC_VOLU); + } + } else { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_LEFT); + } else { + tap_code(KC_VOLD); + } + } + + } else if (index == 1) { /* Second encoder. Only supported by Elite-C */ + if (clockwise) { + tap_code(KC_RIGHT); + } else { + tap_code(KC_LEFT); + } + } + return true; +} diff --git a/keyboards/delikeeb/vaguettelite/keymaps/via/rules.mk b/keyboards/delikeeb/vaguettelite/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/delikeeb/vaguettelite/readme.md b/keyboards/delikeeb/vaguettelite/readme.md new file mode 100644 index 000000000000..f076df2e1396 --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/readme.md @@ -0,0 +1,19 @@ +# Vaguette Lite + +![vaguettelite](https://i.imgur.com/bSZKD1cl.jpg) + +Vaguette Lite is a 60% keyboard that has a reduced alphas area, and it is a variation of Vaguette, which is a 40% keyboard with a detachable Numpad. + +* Keyboard Maintainer: [noclew](https://github.com/noclew) +* Hardware Supported: Vaguette Lite PCB +* Hardware Availability: Not commercially available. GB on Reddit and Geekhack time to times. + +Make example for this keyboard (after setting up your build environment): + + make delikeeb/vaguettelite:default + +Flashing example for this keyboard: + + make delikee/vaguettelite: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). diff --git a/keyboards/delikeeb/vaguettelite/rules.mk b/keyboards/delikeeb/vaguettelite/rules.mk new file mode 100644 index 000000000000..2863e7f537fa --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes diff --git a/keyboards/delikeeb/vaguettelite/vaguettelite.c b/keyboards/delikeeb/vaguettelite/vaguettelite.c new file mode 100644 index 000000000000..a91dae9a3feb --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/vaguettelite.c @@ -0,0 +1,17 @@ +/* Copyright 2020 noclew + * + * 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 "vaguettelite.h" diff --git a/keyboards/delikeeb/vaguettelite/vaguettelite.h b/keyboards/delikeeb/vaguettelite/vaguettelite.h new file mode 100644 index 000000000000..20a0e59722ea --- /dev/null +++ b/keyboards/delikeeb/vaguettelite/vaguettelite.h @@ -0,0 +1,57 @@ +/* Copyright 2020 noclew + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k65, k66, k69,\ + k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k67, k68,\ + k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k61, k70,\ + k60, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48, k62,\ + k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k63, k64 \ +) { \ + { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12 }, \ + { k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24 }, \ + { k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36 }, \ + { k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k49, k50, k51, k52, k53, k54, KC_NO, k55, k56, k57, k58, k59}, \ + { k60, KC_NO, k61, k62, k63, k64, k65, k66, k67, k68, k69, k70 } \ +} + +#define LAYOUT_625u_universal( \ + k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k65, k66, k69,\ + k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k67, k68,\ + k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k70,\ + k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48,\ + k49, k50, k51, k54, k57, k58, k59, k63, k64 \ +) { \ + { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12 }, \ + { k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24 }, \ + { k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36 }, \ + { k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k49, k50, k51, KC_NO, KC_NO, k54, KC_NO, KC_NO, KC_NO, k57, k58, k59}, \ + { KC_NO, KC_NO, KC_NO, KC_NO, k63, k64, k65, k66, k67, k68, k69, k70 } \ +} diff --git a/keyboards/delikeeb/vanana/config.h b/keyboards/delikeeb/vanana/config.h new file mode 100644 index 000000000000..3a5a888945d4 --- /dev/null +++ b/keyboards/delikeeb/vanana/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2020 noclew + +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 "config_common.h" + +#define VENDOR_ID 0x9906 +#define PRODUCT_ID 0x0013 +#define MANUFACTURER dELIKEEb diff --git a/keyboards/delikeeb/vanana/info.json b/keyboards/delikeeb/vanana/info.json new file mode 100644 index 000000000000..486e8a7672f4 --- /dev/null +++ b/keyboards/delikeeb/vanana/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "vanana", + "url": "", + "maintainer": "noclew", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":7, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4, "w":1.25}, {"x":5.25, "y":4, "w":1.5}, {"x":8.25, "y":4, "w":1.5}, {"x":9.75, "y":4, "w":1.25}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}] + } + } +} diff --git a/keyboards/delikeeb/vanana/keymaps/default/keymap.c b/keyboards/delikeeb/vanana/keymaps/default/keymap.c new file mode 100644 index 000000000000..281bb36acb1e --- /dev/null +++ b/keyboards/delikeeb/vanana/keymaps/default/keymap.c @@ -0,0 +1,162 @@ +/* Copyright 2020 noclew + * + * 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 + +#ifdef AUDIO_ENABLE + float song_coin[][2] = SONG(COIN_SOUND); +#endif + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + BASE = SAFE_RANGE, + LOWER, + RAISE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* BASE + * ------------------------------------------- ------------------------------------------- + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | + * ------------------------------------------- ------------------------------------------- + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | + * ------------------------------------------- --------- -------------------------------------------- + * | Esc | A | S | D | F | G | | Bksp | | H | J | K | L | ; |Enter | + * ------------------------------------------- --------- ------------------------------------------- + * | Shift| Z | X | C | V | B | | Del | | N | M | , | . | / |Sft(')| + * ------------------------------------------- --------- ------------------------------------------- + * | GUI | Alt | Ctrl |Lower |Space | |Space |Raise |Alt | Left | Right| + * ------------------------------------ ------------------------------------ + */ + + [_BASE] = 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_TAB, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS, + KC_ESC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_BSPC, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_DEL , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, RSFT_T(KC_QUOT), + KC_LGUI, KC_LALT, KC_LCTL, LOWER , KC_SPC, KC_SPC , RAISE , KC_RALT, KC_LEFT, KC_RGHT + ), + + [_LOWER] = LAYOUT( + KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , + KC_BSPC, KC_SLSH, KC_7 , KC_8 , KC_9 , KC_PPLS, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, _______, + KC_EQL , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_LEFT, KC_PIPE, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______, + KC_ENT , KC_PAST, KC_1 , KC_2 , KC_3 , KC_UNDS, KC_RGHT, KC_DLR , KC_LCBR, KC_RCBR, KC_AMPR, KC_PERC, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL , KC_END , _______, + _______, _______, _______, _______, _______, _______, KC_UP , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_QUOT, _______, + _______, _______, _______, _______, _______, _______, KC_DOWN, _______, KC_PGUP, _______, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT( + RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , + _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, + KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_VOLU, _______, _______, _______, _______, _______, _______, + _______, AU_ON , AU_OFF , _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + case RESET: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_SONG(song_coin); + #endif + } + return false; + } + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + /* With an if statement we can check which encoder was turned. */ + if (index == 0) { /* First encoder */ + /* And with another if statement we can check the direction. */ + if (clockwise) { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_RIGHT); + } else if (IS_LAYER_ON(_RAISE)){ + tap_code(KC_DOWN); + } else { + tap_code(KC_VOLU); + } + } else { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_LEFT); + } else if (IS_LAYER_ON(_RAISE)){ + tap_code(KC_UP); + } else { + tap_code(KC_VOLD); + } + } + + } else if (index == 1) { /* Second encoder. Only supported by Elite-C */ + if (clockwise) { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_RIGHT); + } else if (IS_LAYER_ON(_RAISE)){ + tap_code(KC_DOWN); + } else { + tap_code(KC_VOLU); + } + } else { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_LEFT); + } else if (IS_LAYER_ON(_RAISE)){ + tap_code(KC_UP); + } else { + tap_code(KC_VOLD); + } + } + } + return true; +} diff --git a/keyboards/delikeeb/vanana/keymaps/default/readme.md b/keyboards/delikeeb/vanana/keymaps/default/readme.md new file mode 100644 index 000000000000..4fb4d2183a22 --- /dev/null +++ b/keyboards/delikeeb/vanana/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for vanana diff --git a/keyboards/delikeeb/vanana/keymaps/via/keymap.c b/keyboards/delikeeb/vanana/keymaps/via/keymap.c new file mode 100644 index 000000000000..6d04898f3f03 --- /dev/null +++ b/keyboards/delikeeb/vanana/keymaps/via/keymap.c @@ -0,0 +1,81 @@ +/* Copyright 2020 noclew + * + * 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 { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + BASE = SAFE_RANGE, + LOWER, + RAISE, +}; + + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* BASE + * ------------------------------------------- ------------------------------------------- + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | + * ------------------------------------------- ------------------------------------------- + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | + * ------------------------------------------- --------- -------------------------------------------- + * | Esc | A | S | D | F | G | | Bksp | | H | J | K | L | ; |Enter | + * ------------------------------------------- --------- ------------------------------------------- + * | Shift| Z | X | C | V | B | | Del | | N | M | , | . | / | " | + * ------------------------------------------- --------- ------------------------------------------- + * | Ctrl | GUI | Alt |Lower |Space | |Space |Raise |Alt | DOWN | UP | + * ------------------------------------ ------------------------------------ + */ + + [_BASE] = 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_TAB, KC_Q , KC_W , KC_E , KC_R , KC_T, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS, + KC_ESC, KC_A , KC_S , KC_D , KC_F , KC_G, KC_BSPC, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_ENT , + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B, KC_DEL , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, RSFT_T(KC_QUOT), + KC_LCTL, KC_LALT, KC_LGUI, LOWER , KC_SPC, KC_SPC , RAISE , KC_RALT, KC_DOWN, KC_UP + ), + + [_LOWER] = LAYOUT( + KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , + KC_BSPC, KC_SLSH, KC_7 , KC_8 , KC_9 , KC_PPLS, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, _______, + KC_EQL , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_LEFT, KC_PIPE, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______, + KC_ENT , KC_PAST, KC_1 , KC_2 , KC_3 , KC_UNDS, KC_RGHT, KC_DLR , KC_LCBR, KC_RCBR, KC_AMPR, KC_PERC, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL , KC_END , _______, + _______, _______, _______, _______, _______, _______, KC_UP , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_QUOT, _______, + _______, _______, _______, _______, _______, _______, KC_DOWN, _______, KC_PGUP, _______, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT( + RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , + _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, + KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, KC_VOLU, _______, _______, _______, _______, _______, _______, + _______, AU_ON , AU_OFF , _______, _______, _______, KC_VOLD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/delikeeb/vanana/keymaps/via/rules.mk b/keyboards/delikeeb/vanana/keymaps/via/rules.mk new file mode 100644 index 000000000000..9b19aff09190 --- /dev/null +++ b/keyboards/delikeeb/vanana/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/delikeeb/vanana/readme.md b/keyboards/delikeeb/vanana/readme.md new file mode 100644 index 000000000000..9872b6ed122d --- /dev/null +++ b/keyboards/delikeeb/vanana/readme.md @@ -0,0 +1,19 @@ +# Vanana + +![vanana](https://i.imgur.com/I5a5KKNl.jpg) + +Vanana is a non-split ergonomic keyboard with RGB underglow and on-board pinouts for a Bluetooth setup. Designed by dELIKEEb. + +* Keyboard Maintainer: [noclew](https://github.com/noclew) +* Hardware Supported: Vanana PCB +* Hardware Availability: Not commercially available. GB on Reddit and Geekhack time to times. + +Make example for this keyboard (after setting up your build environment): + + make delikeeb/vanana/rev2:default + +Flashing example for this keyboard: + + make delikeeb/vanana/rev2: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). diff --git a/keyboards/delikeeb/vanana/rev1/config.h b/keyboards/delikeeb/vanana/rev1/config.h new file mode 100644 index 000000000000..d584e32a39a0 --- /dev/null +++ b/keyboards/delikeeb/vanana/rev1/config.h @@ -0,0 +1,100 @@ +/* +Copyright 2020 noclew + +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 + +/* USB Device descriptor parameter */ +#define DEVICE_VER 0x0001 +#define PRODUCT Vanana rev1 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D2, D7, B4, B5, B6 } +#define MATRIX_COL_PINS { B2, B3, B1, F7, F5, F6, D3, D1, D0, D4, C6, E6 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Rotary Encoder and Buzzer */ +#define ENCODERS_PAD_A { C7, F1 } +#define ENCODERS_PAD_B { D5, F0 } +#define B7_AUDIO + +#define RGB_DI_PIN F0 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 16 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +// # define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +#define GRAVE_ESC_CTRL_OVERRIDE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/delikeeb/vanana/rev1/rev1.c b/keyboards/delikeeb/vanana/rev1/rev1.c new file mode 100644 index 000000000000..73b5039eb860 --- /dev/null +++ b/keyboards/delikeeb/vanana/rev1/rev1.c @@ -0,0 +1,17 @@ +/* Copyright 2020 noclew + * + * 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 "rev1.h" diff --git a/keyboards/delikeeb/vanana/rev1/rev1.h b/keyboards/delikeeb/vanana/rev1/rev1.h new file mode 100644 index 000000000000..3b125b3ca8b4 --- /dev/null +++ b/keyboards/delikeeb/vanana/rev1/rev1.h @@ -0,0 +1,40 @@ +/* Copyright 2020 noclew + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, \ + k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, \ + k25, k26, k27, k28, k29, k30, k49, k31, k32, k33, k34, k35, k36, \ + k37, k38, k39, k40, k41, k42, k60, k43, k44, k45, k46, k47, k48, \ + k50, k51, k52, k53, k54, k55, k56, k57, k58, k59 \ +) { \ + { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12 }, \ + { k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24 }, \ + { k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36 }, \ + { k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k60 } \ +} diff --git a/keyboards/delikeeb/vanana/rev1/rules.mk b/keyboards/delikeeb/vanana/rev1/rules.mk new file mode 100644 index 000000000000..eee766eca6cf --- /dev/null +++ b/keyboards/delikeeb/vanana/rev1/rules.mk @@ -0,0 +1,2 @@ +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/delikeeb/vanana/rev2/config.h b/keyboards/delikeeb/vanana/rev2/config.h new file mode 100644 index 000000000000..8893bb09f563 --- /dev/null +++ b/keyboards/delikeeb/vanana/rev2/config.h @@ -0,0 +1,100 @@ +/* +Copyright 2020 noclew + +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 + +/* USB Device descriptor parameter */ +#define DEVICE_VER 0x0002 +#define PRODUCT Vanana rev2 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 10 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D1, C6, E6, B4, B5, F5} +#define MATRIX_COL_PINS { B3, B1, F7, F6, F4, D2, D3, D0, D4, D7 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Rotary Encoder and Buzzer */ +#define ENCODERS_PAD_A { B6, F0 } +#define ENCODERS_PAD_B { B2, F1 } +#define B7_AUDIO + +#define RGB_DI_PIN C7 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 16 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +// # define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +#define GRAVE_ESC_CTRL_OVERRIDE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/delikeeb/vanana/rev2/rev2.c b/keyboards/delikeeb/vanana/rev2/rev2.c new file mode 100644 index 000000000000..8f2a2599219a --- /dev/null +++ b/keyboards/delikeeb/vanana/rev2/rev2.c @@ -0,0 +1,17 @@ +/* Copyright 2020 noclew + * + * 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 "rev2.h" diff --git a/keyboards/delikeeb/vanana/rev2/rev2.h b/keyboards/delikeeb/vanana/rev2/rev2.h new file mode 100644 index 000000000000..7f8d16b57f49 --- /dev/null +++ b/keyboards/delikeeb/vanana/rev2/rev2.h @@ -0,0 +1,41 @@ +/* Copyright 2020 noclew + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k01, k02, k03, k04, k05, k55, k60, k06, k07, k08, k09, k10, \ + k11, k12, k13, k14, k15, k54, k59, k16, k17, k18, k19, k20, \ + k21, k22, k23, k24, k25, k53, k56, k58, k26, k27, k28, k29, k30, \ + k31, k32, k33, k34, k35, k52, k51, k57, k36, k37, k38, k39, k40, \ + k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 \ +) { \ + { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10 }, \ + { k11, k12, k13, k14, k15, k16, k17, k18, k19, k20 }, \ + { k21, k22, k23, k24, k25, k26, k27, k28, k29, k30 }, \ + { k31, k32, k33, k34, k35, k36, k37, k38, k39, k40 }, \ + { k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 }, \ + { k51, k52, k53, k54, k55, k56, k57, k58, k59, k60 } \ +} diff --git a/keyboards/delikeeb/vanana/rev2/rules.mk b/keyboards/delikeeb/vanana/rev2/rules.mk new file mode 100644 index 000000000000..8bb6ab5d91ce --- /dev/null +++ b/keyboards/delikeeb/vanana/rev2/rules.mk @@ -0,0 +1,2 @@ +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = yes # Audio output diff --git a/keyboards/delikeeb/vanana/rules.mk b/keyboards/delikeeb/vanana/rules.mk new file mode 100644 index 000000000000..9926ad395c00 --- /dev/null +++ b/keyboards/delikeeb/vanana/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +BLUETOOTH_ENABLE = no # Enable Bluetooth +ENCODER_ENABLE = yes # Enable Rotary Encoder + +# additional features for ELITE-C +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + +DEFAULT_FOLDER = delikeeb/vanana/rev2 diff --git a/keyboards/nckiibs/vaneela/config.h b/keyboards/delikeeb/vaneela/config.h similarity index 100% rename from keyboards/nckiibs/vaneela/config.h rename to keyboards/delikeeb/vaneela/config.h diff --git a/keyboards/nckiibs/vaneela/info.json b/keyboards/delikeeb/vaneela/info.json similarity index 100% rename from keyboards/nckiibs/vaneela/info.json rename to keyboards/delikeeb/vaneela/info.json diff --git a/keyboards/nckiibs/vaneela/keymaps/default/keymap.c b/keyboards/delikeeb/vaneela/keymaps/default/keymap.c similarity index 100% rename from keyboards/nckiibs/vaneela/keymaps/default/keymap.c rename to keyboards/delikeeb/vaneela/keymaps/default/keymap.c diff --git a/keyboards/nckiibs/vaneela/keymaps/default/readme.md b/keyboards/delikeeb/vaneela/keymaps/default/readme.md similarity index 100% rename from keyboards/nckiibs/vaneela/keymaps/default/readme.md rename to keyboards/delikeeb/vaneela/keymaps/default/readme.md diff --git a/keyboards/nckiibs/vaneela/keymaps/via/keymap.c b/keyboards/delikeeb/vaneela/keymaps/via/keymap.c similarity index 100% rename from keyboards/nckiibs/vaneela/keymaps/via/keymap.c rename to keyboards/delikeeb/vaneela/keymaps/via/keymap.c diff --git a/keyboards/delikeeb/vaneela/keymaps/via/rules.mk b/keyboards/delikeeb/vaneela/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/delikeeb/vaneela/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/delikeeb/vaneela/readme.md b/keyboards/delikeeb/vaneela/readme.md new file mode 100644 index 000000000000..0e8f89469081 --- /dev/null +++ b/keyboards/delikeeb/vaneela/readme.md @@ -0,0 +1,19 @@ +# Vaneela + +![vaneela](https://i.imgur.com/wp64G8vl.jpg) + +This is a semi-staggered 5x12 keyboard made by a hobbist. Vaneela runs on Pro Micro and its compatible variants, such as elite-C. In matrix wise, it has the same key layout as other 5 x 12 ortholinear boards. + +* Keyboard Maintainer: [noclew](https://github.com/noclew) +* Hardware Supported: Vaneela +* Hardware Availability: Not commercially available, but the board fabricaion file will be uploaded in the near future. + +Make example for this keyboard (after setting up your build environment): + + make delikeeb/vaneela:default + +Flashing example for this keyboard: + + make delikeeb/vaneela: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). diff --git a/keyboards/delikeeb/vaneela/rules.mk b/keyboards/delikeeb/vaneela/rules.mk new file mode 100644 index 000000000000..7f0fa90fde73 --- /dev/null +++ b/keyboards/delikeeb/vaneela/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/nckiibs/vaneela/vaneela.c b/keyboards/delikeeb/vaneela/vaneela.c similarity index 100% rename from keyboards/nckiibs/vaneela/vaneela.c rename to keyboards/delikeeb/vaneela/vaneela.c diff --git a/keyboards/nckiibs/vaneela/vaneela.h b/keyboards/delikeeb/vaneela/vaneela.h similarity index 100% rename from keyboards/nckiibs/vaneela/vaneela.h rename to keyboards/delikeeb/vaneela/vaneela.h diff --git a/keyboards/delikeeb/vaneelaex/config.h b/keyboards/delikeeb/vaneelaex/config.h new file mode 100644 index 000000000000..0b96918cbf12 --- /dev/null +++ b/keyboards/delikeeb/vaneelaex/config.h @@ -0,0 +1,162 @@ +/* +Copyright 2020 noclew + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x9906 +#define PRODUCT_ID 0x0002 +#define DEVICE_VER 0x0001 +#define MANUFACTURER delikeeb +#define PRODUCT VaneelaEx + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D3, D2, D1, D0, B2, B6 } +#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B5, B4, E6, D7, C6, D4 } +//#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * + */ + +/* key combination for magic key command */ +/* defined by default; to change, uncomment and set to the combination you want */ +// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) + +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* override magic key keymap */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +//#define MAGIC_KEY_HELP H +//#define MAGIC_KEY_HELP_ALT SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER0_ALT GRAVE +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER B +//#define MAGIC_KEY_BOOTLOADER_ALT ESC +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_EEPROM_CLEAR BSPACE +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +// #define BOOTMAGIC_LITE_ROW 0 +// #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/nckiibs/vaneelaex/info.json b/keyboards/delikeeb/vaneelaex/info.json similarity index 100% rename from keyboards/nckiibs/vaneelaex/info.json rename to keyboards/delikeeb/vaneelaex/info.json diff --git a/keyboards/nckiibs/vaneelaex/keymaps/default/keymap.c b/keyboards/delikeeb/vaneelaex/keymaps/default/keymap.c similarity index 100% rename from keyboards/nckiibs/vaneelaex/keymaps/default/keymap.c rename to keyboards/delikeeb/vaneelaex/keymaps/default/keymap.c diff --git a/keyboards/nckiibs/vaneelaex/keymaps/default/readme.md b/keyboards/delikeeb/vaneelaex/keymaps/default/readme.md similarity index 100% rename from keyboards/nckiibs/vaneelaex/keymaps/default/readme.md rename to keyboards/delikeeb/vaneelaex/keymaps/default/readme.md diff --git a/keyboards/nckiibs/vaneelaex/keymaps/via/keymap.c b/keyboards/delikeeb/vaneelaex/keymaps/via/keymap.c similarity index 100% rename from keyboards/nckiibs/vaneelaex/keymaps/via/keymap.c rename to keyboards/delikeeb/vaneelaex/keymaps/via/keymap.c diff --git a/keyboards/delikeeb/vaneelaex/keymaps/via/rules.mk b/keyboards/delikeeb/vaneelaex/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/delikeeb/vaneelaex/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/delikeeb/vaneelaex/readme.md b/keyboards/delikeeb/vaneelaex/readme.md new file mode 100644 index 000000000000..9bd39b51099d --- /dev/null +++ b/keyboards/delikeeb/vaneelaex/readme.md @@ -0,0 +1,20 @@ +# Vaneela Ex + +![vaneelEx](https://i.imgur.com/5QmJLbjl.jpg) + +Vaneela Ex is a custom keyboard made by a hobbist. It has a semi-staggered layout with an optional 4x4 keys on the left or right. +Vaneela Ex supports Pro Micro and its compatible variants, such as elite-C. + +* Keyboard Maintainer: [noclew](https://github.com/noclew) +* Hardware Supported: Vaneela Ex PCB +* Hardware Availability: Not commercially available, but the board fabricaion file will be uploaded in the near future. + +Make example for this keyboard (after setting up your build environment): + + make delikeeb/vaneelaex:default + +Flashing example for this keyboard: + + make delikeeb/vaneelaex: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). diff --git a/keyboards/delikeeb/vaneelaex/rules.mk b/keyboards/delikeeb/vaneelaex/rules.mk new file mode 100644 index 000000000000..7f0fa90fde73 --- /dev/null +++ b/keyboards/delikeeb/vaneelaex/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/nckiibs/vaneelaex/vaneelaex.c b/keyboards/delikeeb/vaneelaex/vaneelaex.c similarity index 100% rename from keyboards/nckiibs/vaneelaex/vaneelaex.c rename to keyboards/delikeeb/vaneelaex/vaneelaex.c diff --git a/keyboards/nckiibs/vaneelaex/vaneelaex.h b/keyboards/delikeeb/vaneelaex/vaneelaex.h similarity index 100% rename from keyboards/nckiibs/vaneelaex/vaneelaex.h rename to keyboards/delikeeb/vaneelaex/vaneelaex.h diff --git a/keyboards/delikeeb/waaffle/config.h b/keyboards/delikeeb/waaffle/config.h new file mode 100644 index 000000000000..1b02e32c6de4 --- /dev/null +++ b/keyboards/delikeeb/waaffle/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2020 noclew + +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 "config_common.h" + +#define VENDOR_ID 0x9906 +#define PRODUCT_ID 0x0012 +#define MANUFACTURER dELIKEEb diff --git a/keyboards/delikeeb/waaffle/keymaps/default/keymap.c b/keyboards/delikeeb/waaffle/keymaps/default/keymap.c new file mode 100644 index 000000000000..5fcd609b8ac4 --- /dev/null +++ b/keyboards/delikeeb/waaffle/keymaps/default/keymap.c @@ -0,0 +1,149 @@ +/* Copyright 2020 noclew + * + * 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 { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + BASE = SAFE_RANGE, + LOWER, + RAISE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* BASE + * ------------------------------------------------------------------------------------------------------------------ + * | * | / | = | Del || ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BSpc | + * ------------------------------------------------------------------------------------------------------------------ + * | + | 7 | 8 | 9 || Tab | Q | W | E | R | T | Y | U | I | O | P | \ | + *------------------------------------------------------------------------------------------------------------------- + * | + | 4 | 5 | 6 || Esc | A | S | D | F | G | H | J | K | L | ; | Enter| + *------------------------------------------------------------------------------------------------------------------ + * | Enter| 1 | 2 | 3 || Shift| Z | X | C | V | B | N | M | , | . | / | Shift| + *------------------------------------------------------------------------------------------------------------------- + * | Enter| . | 0 | 0 || Ctrl | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| + *------------------------------------------------------------------------------------------------------------------- + */ + [_BASE] = LAYOUT_ortho_5x16( + KC_PAST, KC_PSLS, KC_EQL, KC_DEL, 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_PPLS, KC_7, KC_8, KC_9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_PPLS, KC_4, KC_5, KC_6, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_ENT, KC_1, KC_2, KC_3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_QUOT), + KC_ENT, KC_PDOT, KC_0, KC_0, KC_LCTL, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [_LOWER] = LAYOUT_ortho_5x16( + _______, _______, _______, _______, 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_BSPC, KC_SLSH, KC_7 , KC_8 , KC_9 , KC_PPLS, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, + _______, _______, _______, _______, KC_EQL , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_PIPE, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______, + _______, _______, _______, _______, KC_ENT , KC_PAST, KC_1 , KC_2 , KC_3 , KC_UNDS, KC_DLR , KC_LCBR, KC_RCBR, KC_AMPR, KC_PERC, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT_ortho_5x16( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL , KC_END , _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT_ortho_5x16( + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , + _______, _______, _______, _______, _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + + } + return true; +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + /* With an if statement we can check which encoder was turned. */ + if (index == 0) { /* First encoder */ + /* And with another if statement we can check the direction. */ + if (clockwise) { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_RIGHT); + } else if (IS_LAYER_ON(_RAISE)){ + tap_code(KC_DOWN); + } else { + tap_code(KC_VOLU); + } + } else { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_LEFT); + } else if (IS_LAYER_ON(_RAISE)){ + tap_code(KC_UP); + } else { + tap_code(KC_VOLD); + } + } + + } else if (index == 1) { /* Second encoder. Only supported by Elite-C */ + if (clockwise) { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_RIGHT); + } else if (IS_LAYER_ON(_RAISE)){ + tap_code(KC_DOWN); + } else { + tap_code(KC_VOLU); + } + } else { + if (IS_LAYER_ON(_LOWER)){ + tap_code(KC_LEFT); + } else if (IS_LAYER_ON(_RAISE)){ + tap_code(KC_UP); + } else { + tap_code(KC_VOLD); + } + } + } + return true; +} diff --git a/keyboards/delikeeb/waaffle/keymaps/default/readme.md b/keyboards/delikeeb/waaffle/keymaps/default/readme.md new file mode 100644 index 000000000000..4cf5c435bde6 --- /dev/null +++ b/keyboards/delikeeb/waaffle/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for waaffle diff --git a/keyboards/delikeeb/waaffle/keymaps/via/keymap.c b/keyboards/delikeeb/waaffle/keymaps/via/keymap.c new file mode 100644 index 000000000000..73d29ec14f30 --- /dev/null +++ b/keyboards/delikeeb/waaffle/keymaps/via/keymap.c @@ -0,0 +1,78 @@ +/* Copyright 2020 noclew + * + * 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 { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + BASE = SAFE_RANGE, + LOWER, + RAISE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* BASE + * ------------------------------------------------------------------------------------------------------------------ + * | * | / | = | Del || ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BSpc | + * ------------------------------------------------------------------------------------------------------------------ + * | + | 7 | 8 | 9 || Tab | Q | W | E | R | T | Y | U | I | O | P | \ | + *------------------------------------------------------------------------------------------------------------------- + * | + | 4 | 5 | 6 || Esc | A | S | D | F | G | H | J | K | L | ; | Enter| + *------------------------------------------------------------------------------------------------------------------ + * | Enter| 1 | 2 | 3 || Shift| Z | X | C | V | B | N | M | , | . | / | Shift| + *------------------------------------------------------------------------------------------------------------------- + * | Enter| . | 0 | 0 || Ctrl | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| + *------------------------------------------------------------------------------------------------------------------- + */ + [_BASE] = LAYOUT_ortho_5x16( + KC_PAST, KC_PSLS, KC_EQL, KC_DEL, 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_PPLS, KC_7, KC_8, KC_9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_PPLS, KC_4, KC_5, KC_6, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_ENT, KC_1, KC_2, KC_3, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_QUOT), + KC_ENT, KC_PDOT, KC_0, KC_0, KC_LCTL, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + + [_LOWER] = LAYOUT_ortho_5x16( + _______, _______, _______, _______, 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_BSPC, KC_SLSH, KC_7 , KC_8 , KC_9 , KC_PPLS, KC_CIRC, KC_LBRC, KC_RBRC, KC_AT , KC_EXLM, KC_BSLS, + _______, _______, _______, _______, KC_EQL , KC_0 , KC_4 , KC_5 , KC_6 , KC_MINS, KC_PIPE, KC_LPRN, KC_RPRN, KC_HASH, KC_DQUO, _______, + _______, _______, _______, _______, KC_ENT , KC_PAST, KC_1 , KC_2 , KC_3 , KC_UNDS, KC_DLR , KC_LCBR, KC_RCBR, KC_AMPR, KC_PERC, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_RAISE] = LAYOUT_ortho_5x16( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_BSPC, KC_DEL , KC_END , _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT_ortho_5x16( + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DEBUG , + _______, _______, _______, _______, _______, RGB_TOG, RGB_RMOD, RGB_MOD, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_CAPS, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/delikeeb/waaffle/keymaps/via/rules.mk b/keyboards/delikeeb/waaffle/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/delikeeb/waaffle/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/delikeeb/waaffle/readme.md b/keyboards/delikeeb/waaffle/readme.md new file mode 100644 index 000000000000..0e8d9c43793b --- /dev/null +++ b/keyboards/delikeeb/waaffle/readme.md @@ -0,0 +1,22 @@ +# Waaffle + +![waaffle](https://i.imgur.com/MMIuK9tl.jpg) +![waaffle](https://imgur.com/6IMH4kul.jpg) + +Waaffle is an ortholinear keyboard that supports 60 key and 80 key layouts. The base PCB has a 60 key ortholinear layout, and it can be expanded to an 80 key ortholinear keyboard simply by adding an extension PCB. Waaffle features RGB underglow and on-board pinouts including a power switch and battery connection for a Bluetooth setup. Designed by dELIKEEb + +* Keyboard Maintainer: [noclew](https://github.com/noclew) +* Hardware Supported: Waaffle PCB +* Hardware Availability: Not commercially available. GB on Reddit and Geekhack time to times. + +Make example for this keyboard (after setting up your build environment): + + make delikeeb/waaffle/rev3/pro_micro:default # for Pro Micro builds + make delikeeb/waaffle/rev3/elite_c:default # for Elite-C builds + +Flashing example for this keyboard: + + make delikeeb/waaffle/rev3/pro_micro:default:flash # for Pro Micro builds + make delikeeb/waaffle/rev3/elite_c:default:flash # for Elite-C builds + +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/delikeeb/waaffle/rev3/config.h b/keyboards/delikeeb/waaffle/rev3/config.h new file mode 100644 index 000000000000..0c4327623d91 --- /dev/null +++ b/keyboards/delikeeb/waaffle/rev3/config.h @@ -0,0 +1,137 @@ +/* +Copyright 2020 noclew + +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 + +/* USB Device descriptor parameter */ +#define DEVICE_VER 0x0003 +#define PRODUCT Waaffle_rev3 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 10 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F4, B6, B2, B3, B1, F5, F6, F7 } +#define MATRIX_COL_PINS { D3, D2, B5, B4, E6, D7, C6, D4, D0, D1 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +/*rotary encoder setting*/ +#define ENCODERS_PAD_A { B7, F1 } +#define ENCODERS_PAD_B { D5, F0 } + +#define RGB_DI_PIN C7 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 10 +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +// # define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +// # define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// # define RGBLIGHT_EFFECT_SNAKE +// # define RGBLIGHT_EFFECT_KNIGHT +// # define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +// # define RGBLIGHT_EFFECT_RGB_TEST +// # define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 6 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/delikeeb/waaffle/rev3/elite_c/rules.mk b/keyboards/delikeeb/waaffle/rev3/elite_c/rules.mk new file mode 100644 index 000000000000..8b5026cb0350 --- /dev/null +++ b/keyboards/delikeeb/waaffle/rev3/elite_c/rules.mk @@ -0,0 +1,6 @@ +# Bootloader selection +BOOTLOADER = atmel-dfu + +# supported on Elite-C controllers +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +ENCODER_ENABLE = yes # Enable Rotary Encoder diff --git a/keyboards/delikeeb/waaffle/rev3/info.json b/keyboards/delikeeb/waaffle/rev3/info.json new file mode 100644 index 000000000000..200dce5a2a96 --- /dev/null +++ b/keyboards/delikeeb/waaffle/rev3/info.json @@ -0,0 +1,19 @@ +{ + "keyboard_name": "waaffle", + "url": "", + "maintainer": "noclew", + "width": 16.25, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x16": { + "layout": + [ + {"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":8.25, "y":0}, {"x":9.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.25, "y":0}, + {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1}, {"x":12.25, "y":1}, {"x":13.25, "y":1}, {"x":14.25, "y":1}, {"x":15.25, "y":1}, + {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2}, {"x":15.25, "y":2}, + {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3}, {"x":13.25, "y":3}, {"x":14.25, "y":3}, {"x":15.25, "y":3}, + {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4.25, "y":4}, {"x":5.25, "y":4}, {"x":6.25, "y":4}, {"x":7.25, "y":4}, {"x":8.25, "y":4}, {"x":9.25, "y":4}, {"x":10.25, "y":4}, {"x":11.25, "y":4}, {"x":12.25, "y":4}, {"x":13.25, "y":4}, {"x":14.25, "y":4}, {"x":15.25, "y":4} + ] + } + } +} diff --git a/keyboards/delikeeb/waaffle/rev3/pro_micro/rules.mk b/keyboards/delikeeb/waaffle/rev3/pro_micro/rules.mk new file mode 100644 index 000000000000..bdc4842c5789 --- /dev/null +++ b/keyboards/delikeeb/waaffle/rev3/pro_micro/rules.mk @@ -0,0 +1,6 @@ +# Bootloader selection +BOOTLOADER = caterina + +# not supported on Pro Micro controllers +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +ENCODER_ENABLE = no # Enable Rotary Encoder diff --git a/keyboards/delikeeb/waaffle/rev3/rev3.c b/keyboards/delikeeb/waaffle/rev3/rev3.c new file mode 100644 index 000000000000..bf7f5a10993b --- /dev/null +++ b/keyboards/delikeeb/waaffle/rev3/rev3.c @@ -0,0 +1,17 @@ +/* Copyright 2020 noclew + * + * 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 "rev3.h" diff --git a/keyboards/delikeeb/waaffle/rev3/rev3.h b/keyboards/delikeeb/waaffle/rev3/rev3.h new file mode 100644 index 000000000000..8ca245d84573 --- /dev/null +++ b/keyboards/delikeeb/waaffle/rev3/rev3.h @@ -0,0 +1,44 @@ +/* Copyright 2020 noclew + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_ortho_5x16( \ + k76, k66, k56, k71, k61, k51, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, \ + k77, k67, k57, k72, k62, k52, k11, k12, k13, k14, k15, k16, k17, k18, k19, k20, \ + k78, k68, k58, k73, k63, k53, k21, k22, k23, k24, k25, k26, k27, k28, k29, k30, \ + k79, k69, k59, k74, k64, k54, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, \ + k80, k70, k60, k75, k65, k55, k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 \ +) { \ + { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10 }, \ + { k11, k12, k13, k14, k15, k16, k17, k18, k19, k20 }, \ + { k21, k22, k23, k24, k25, k26, k27, k28, k29, k30 }, \ + { k31, k32, k33, k34, k35, k36, k37, k38, k39, k40 }, \ + { k41, k42, k43, k44, k45, k46, k47, k48, k49, k50 }, \ + { k51, k52, k53, k54, k55, k56, k57, k58, k59, k60 }, \ + { k61, k62, k63, k64, k65, k66, k67, k68, k69, k70 }, \ + { k71, k72, k73, k74, k75, k76, k77, k78, k79, k80 } \ +} diff --git a/keyboards/delikeeb/waaffle/rev3/rules.mk b/keyboards/delikeeb/waaffle/rev3/rules.mk new file mode 100644 index 000000000000..7d64ba44cca4 --- /dev/null +++ b/keyboards/delikeeb/waaffle/rev3/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +DEFAULT_FOLDER = delikeeb/waaffle/rev3/pro_micro diff --git a/keyboards/delilah/config.h b/keyboards/delilah/config.h new file mode 100644 index 000000000000..d07366a51d83 --- /dev/null +++ b/keyboards/delilah/config.h @@ -0,0 +1,56 @@ +/* Copyright 2021 Regan Palmer + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x726B +#define PRODUCT_ID 0x645C +#define DEVICE_VER 0x0001 +#define MANUFACTURER rainkeebs +#define PRODUCT Delilah + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B5, B6, C6, C7 } +#define MATRIX_COL_PINS { F7, F6, F5, F4, F0, E6, D5, D3, D4, D6, D7, B4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + + +#define RGB_DI_PIN B3 +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 8 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif diff --git a/keyboards/delilah/delilah.c b/keyboards/delilah/delilah.c new file mode 100644 index 000000000000..b2e98b60fa34 --- /dev/null +++ b/keyboards/delilah/delilah.c @@ -0,0 +1,16 @@ +/* Copyright 2021 Regan Palmer + * + * 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 "delilah.h" diff --git a/keyboards/delilah/delilah.h b/keyboards/delilah/delilah.h new file mode 100644 index 000000000000..64b25351b125 --- /dev/null +++ b/keyboards/delilah/delilah.h @@ -0,0 +1,28 @@ +/* Copyright 2021 Regan Palmer + * + * 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" + +#define LAYOUT( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K211, \ + K300, K301, K302, K303, K306, K308, K309, K311 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, KC_NO, K211 }, \ + { K300, K301, K302, K303, KC_NO, KC_NO, K306, KC_NO, K308, K309, KC_NO, K311 } \ +} diff --git a/keyboards/delilah/info.json b/keyboards/delilah/info.json new file mode 100644 index 000000000000..343a100a2d71 --- /dev/null +++ b/keyboards/delilah/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "Delilah", + "url": "https://www.rainkeebs.mx/product/delilah-keyboard-group-buy", + "maintainer": "rainkeebs", + "width": 12.25, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back
Space", "x":11, "y":0, "w":1.25}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"Enter", "x":11.25, "y":1}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"Shift", "x":10.75, "y":2, "w":1.5}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3}, {"label":"Alt", "x":2.25, "y":3}, {"label":"225", "x":3.25, "y":3, "w":2.25}, {"label":"275", "x":5.5, "y":3, "w":2.75}, {"label":"Alt", "x":9.0, "y":3}, {"label":"Win", "x":10.0, "y":3}, {"label":"Ctrl", "x":11.0, "y":3, "w":1.25}] + } + } +} diff --git a/keyboards/delilah/keymaps/default/keymap.c b/keyboards/delilah/keymaps/default/keymap.c new file mode 100644 index 000000000000..ae00beadf5d2 --- /dev/null +++ b/keyboards/delilah/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2021 Regan Palmer + * + * 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] = { + + 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, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(2), + KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), + + LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/delilah/keymaps/via/keymap.c b/keyboards/delilah/keymaps/via/keymap.c new file mode 100644 index 000000000000..3a6e0d9a2090 --- /dev/null +++ b/keyboards/delilah/keymaps/via/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2021 Regan Palmer + * + * 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] = { + + 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, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, FN_MO23, + KC_LCTL, KC_LGUI, KC_LALT, FN_MO13, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), + + LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/delilah/keymaps/via/rules.mk b/keyboards/delilah/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/delilah/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/delilah/readme.md b/keyboards/delilah/readme.md new file mode 100644 index 000000000000..8ba9d8318867 --- /dev/null +++ b/keyboards/delilah/readme.md @@ -0,0 +1,22 @@ +# Delilah + +![Delilah](https://i.imgur.com/TqBZycx.png) + +A 12.25u, traditional stagger, 40% keyboard. Designed to keep another punctuation key on base layer while still being compact. + +* Keyboard Maintainer: Rain +* Hardware Supported: Delilah PCB v1.0, v1.1 +* Hardware Availability: [rainkeebs](https://www.rainkeebs.mx/) + + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb delilah -kb default + +To reset the keyboard, hold the top left key while plugging in, or hit the reset button near the USB port + +Install example for this keyboard: + + qmk flash -kb delilah -km 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). diff --git a/keyboards/delilah/rules.mk b/keyboards/delilah/rules.mk new file mode 100644 index 000000000000..59c60ebbecf6 --- /dev/null +++ b/keyboards/delilah/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +AUDIO_ENABLE = no +RGBLIGHT_ENABLE = yes diff --git a/keyboards/deltasplit75/rules.mk b/keyboards/deltasplit75/rules.mk index 5df20f03f8eb..fb332ebdbb33 100644 --- a/keyboards/deltasplit75/rules.mk +++ b/keyboards/deltasplit75/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/dichotomy/rules.mk b/keyboards/dichotomy/rules.mk index d6f98125eed3..bda904cb4153 100755 --- a/keyboards/dichotomy/rules.mk +++ b/keyboards/dichotomy/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite #MOUSEKEY_ENABLE = yes # Mouse keys POINTING_DEVICE_ENABLE = yes # Generic Pointer, not as big as mouse keys hopefully. EXTRAKEY_ENABLE = yes # Audio control and System control @@ -25,9 +18,8 @@ CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls +MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # # project specific files SRC += matrix.c serial_uart.c diff --git a/keyboards/dinofizz/fnrow/v1/chconf.h b/keyboards/dinofizz/fnrow/v1/chconf.h new file mode 100644 index 000000000000..4f26862ffac3 --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/chconf.h @@ -0,0 +1,35 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confupdate -i keyboards/dinofizz/fnrow/v1/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_USE_TM FALSE + +#define CH_CFG_USE_MESSAGES_PRIORITY FALSE + +#define CH_CFG_USE_DYNAMIC FALSE + +#define CH_DBG_ENABLE_STACK_CHECK FALSE + +#include_next + diff --git a/keyboards/dinofizz/fnrow/v1/config.h b/keyboards/dinofizz/fnrow/v1/config.h new file mode 100644 index 000000000000..fb7e4e91db3a --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/config.h @@ -0,0 +1,36 @@ +/* +Copyright 2021 Dino Fizzotti + +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 "config_common.h" + +#define VENDOR_ID 0xD1F1 +#define PRODUCT_ID 0x0100 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Dino Fizzotti +#define PRODUCT FnRow v1 + +#define MATRIX_ROWS 2 +#define MATRIX_COLS 7 + +#define MATRIX_ROW_PINS { A0, A1 } +#define MATRIX_COL_PINS {B0, B1, B3, B4, B5, B6, B7 } + +#define DIODE_DIRECTION COL2ROW + +#define DEBOUNCE 5 diff --git a/keyboards/dinofizz/fnrow/v1/halconf.h b/keyboards/dinofizz/fnrow/v1/halconf.h new file mode 100644 index 000000000000..68dc2abdf523 --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/halconf.h @@ -0,0 +1,51 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confupdate -i keyboards/dinofizz/fnrow/v1/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_DAC FALSE + +#define HAL_USE_GPT FALSE + +#define HAL_USE_I2C FALSE + +#define HAL_USE_PWM FALSE + +#define HAL_USE_SERIAL_USB FALSE + +#define HAL_USE_SPI FALSE + +#define PAL_USE_CALLBACKS FALSE + +#define PAL_USE_WAIT FALSE + +#define ADC_USE_WAIT FALSE + +#define ADC_USE_MUTUAL_EXCLUSION FALSE + +#define SERIAL_USB_BUFFERS_SIZE 256 + +#define SPI_USE_WAIT FALSE + +#define SPI_USE_MUTUAL_EXCLUSION FALSE + +#include_next + diff --git a/keyboards/dinofizz/fnrow/v1/info.json b/keyboards/dinofizz/fnrow/v1/info.json new file mode 100644 index 000000000000..3cebfd079dae --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/info.json @@ -0,0 +1,78 @@ +{ + "keyboard_name": "FnRow v1", + "maintainer": "dinofizz", + "url": "https://github.com/dinofizz/fnrow-pcb", + "width": 15, + "height": 1, + "layouts": { + "LAYOUT_fn_row": { + "layout": [ + { + "label": "SW1", + "x": 0, + "y": 0 + }, + { + "label": "SW3", + "x": 2, + "y": 0 + }, + { + "label": "SW5", + "x": 3, + "y": 0 + }, + { + "label": "SW7", + "x": 4, + "y": 0 + }, + { + "label": "SW9", + "x": 5, + "y": 0 + }, + { + "label": "SW11", + "x": 6.5, + "y": 0 + }, + { + "label": "SW13", + "x": 7.5, + "y": 0 + }, + { + "label": "SW2", + "x": 8.5, + "y": 0 + }, + { + "label": "SW4", + "x": 9.5, + "y": 0 + }, + { + "label": "SW6", + "x": 11, + "y": 0 + }, + { + "label": "SW8", + "x": 12, + "y": 0 + }, + { + "label": "SW10", + "x": 13, + "y": 0 + }, + { + "label": "SW12", + "x": 14, + "y": 0 + } + ] + } + } +} diff --git a/keyboards/dinofizz/fnrow/v1/keymaps/default/keymap.c b/keyboards/dinofizz/fnrow/v1/keymaps/default/keymap.c new file mode 100644 index 000000000000..653d03619aca --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +/* Copyright 2021 Dino Fizzotti + * + * 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_fn_row( + 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 + ), +}; diff --git a/keyboards/dinofizz/fnrow/v1/keymaps/default/readme.md b/keyboards/dinofizz/fnrow/v1/keymaps/default/readme.md new file mode 100644 index 000000000000..465257793434 --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for FnRow v1 diff --git a/keyboards/dinofizz/fnrow/v1/keymaps/via/keymap.c b/keyboards/dinofizz/fnrow/v1/keymaps/via/keymap.c new file mode 100644 index 000000000000..025b730b46c7 --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/keymaps/via/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2021 Dino Fizzotti + * + * 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_fn_row( + MO(1), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 + ), + + [1] = LAYOUT_fn_row( + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_HOME, KC_END + ), + + [2] = LAYOUT_fn_row( + KC_TRNS, 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_fn_row( + KC_TRNS, 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/dinofizz/fnrow/v1/keymaps/via/rules.mk b/keyboards/dinofizz/fnrow/v1/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dinofizz/fnrow/v1/mcuconf.h b/keyboards/dinofizz/fnrow/v1/mcuconf.h new file mode 100644 index 000000000000..6c4685668fa9 --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/mcuconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confupdate -i keyboards/dinofizz/fnrow/v1/mcuconf.h -r platforms/chibios/GENERIC_STM32_F042X6/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_SERIAL_USE_USART2 +#define STM32_SERIAL_USE_USART2 TRUE + diff --git a/keyboards/dinofizz/fnrow/v1/readme.md b/keyboards/dinofizz/fnrow/v1/readme.md new file mode 100644 index 000000000000..707cbdcbfe15 --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/readme.md @@ -0,0 +1,28 @@ +# FnRow v1 + +A keyboard featuring a single horizontal row of switches in the style of a "function row" layout. + +* Keyboard Maintainer: [Dino Fizzotti](https://www.dinofizzotti.com) +* [PCB Schematic and layout](https://github.com/dinofizz/fnrow-pcb) +* [Blog post](https://www.dinofizzotti.com/blog/2021-02-07-fnrow-v1-a-configurable-function-row-layout-mechanical-keyboard/) + +## Features + +* USB-C +* USB ESD and overcurrent protection +* Dedicated reset switch to enable DFU mode +* Optional status LED + +## Compilation + +Make compilation example for this keyboard (after setting up your build environment): + + make dinofizz/fnrow/v1:default + +# Flashing + +The FnRow features a hardware reset push-button to the left of the USB-C port. To flash new firmware you will need to enter the bootloader mode first. Plug the FnRow in to your computer using a USB cable and press the reset button momentarily. The board will then show up as an STM32 flash bootloader device. You can then use the following command to flash new firmware to the board. + + make dinofizz/fnrow/v1: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). diff --git a/keyboards/dinofizz/fnrow/v1/rules.mk b/keyboards/dinofizz/fnrow/v1/rules.mk new file mode 100644 index 000000000000..dd61b6690bc8 --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = STM32F042 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/dinofizz/fnrow/v1/v1.c b/keyboards/dinofizz/fnrow/v1/v1.c new file mode 100644 index 000000000000..a5c5b21eac02 --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/v1.c @@ -0,0 +1,36 @@ +/* Copyright 2021 Dino Fizzotti + * + * 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 "v1.h" + +void keyboard_pre_init_kb(void) { + // Immediately set the LED pin as an output and set it ON + setPinOutput(A15); + writePinHigh(A15); + + keyboard_pre_init_user(); +} + +void keyboard_post_init_kb(void) { + // Blink the LED so we know everything is running OK + // Finish with LED OFF + writePinLow(A15); + wait_ms(100); + writePinHigh(A15); + wait_ms(100); + writePinLow(A15); + + keyboard_post_init_user(); +} diff --git a/keyboards/dinofizz/fnrow/v1/v1.h b/keyboards/dinofizz/fnrow/v1/v1.h new file mode 100644 index 000000000000..ce9209cad9a9 --- /dev/null +++ b/keyboards/dinofizz/fnrow/v1/v1.h @@ -0,0 +1,25 @@ +/* Copyright 2021 Dino Fizzotti + * + * 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 "quantum.h" + +#define LAYOUT_fn_row( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, }, \ + { K007, K008, K009, K010, K011, K012, KC_NO }, \ +} diff --git a/keyboards/diverge3/config.h b/keyboards/diverge3/config.h index 7357b146e70d..5df77b42cd20 100644 --- a/keyboards/diverge3/config.h +++ b/keyboards/diverge3/config.h @@ -160,23 +160,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/diverge3/rules.mk b/keyboards/diverge3/rules.mk index 0b5ad749adf9..426406c870a6 100644 --- a/keyboards/diverge3/rules.mk +++ b/keyboards/diverge3/rules.mk @@ -2,26 +2,18 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/divergetm2/keymaps/xtonhasvim/keymap.c b/keyboards/divergetm2/keymaps/xtonhasvim/keymap.c index 9d5135baa3d1..5f478c1df155 100644 --- a/keyboards/divergetm2/keymaps/xtonhasvim/keymap.c +++ b/keyboards/divergetm2/keymaps/xtonhasvim/keymap.c @@ -150,6 +150,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); } diff --git a/keyboards/divergetm2/rules.mk b/keyboards/divergetm2/rules.mk index 25f872bd05f7..65c2f528d541 100644 --- a/keyboards/divergetm2/rules.mk +++ b/keyboards/divergetm2/rules.mk @@ -2,26 +2,18 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/dk60/dk60.c b/keyboards/dk60/dk60.c index 6d72ff6bd816..7d9f793866fa 100644 --- a/keyboards/dk60/dk60.c +++ b/keyboards/dk60/dk60.c @@ -34,7 +34,6 @@ void dk60_blink_all_leds(void) { } void matrix_init_kb(void) { - led_init_ports(); dk60_blink_all_leds(); matrix_init_user(); diff --git a/keyboards/dk60/rules.mk b/keyboards/dk60/rules.mk index bd7843a9bd1f..10c46d87e1de 100644 --- a/keyboards/dk60/rules.mk +++ b/keyboards/dk60/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/dm9records/ergoinu/ergoinu.c b/keyboards/dm9records/ergoinu/ergoinu.c index b43ab17c8bbc..c6d099a14835 100644 --- a/keyboards/dm9records/ergoinu/ergoinu.c +++ b/keyboards/dm9records/ergoinu/ergoinu.c @@ -1,5 +1 @@ #include "ergoinu.h" - -void matrix_init_kb(void) { - matrix_init_user(); -}; diff --git a/keyboards/dm9records/ergoinu/keymaps/default/keymap.c b/keyboards/dm9records/ergoinu/keymaps/default/keymap.c index 7f1be4796ccc..3192b0f22015 100644 --- a/keyboards/dm9records/ergoinu/keymaps/default/keymap.c +++ b/keyboards/dm9records/ergoinu/keymaps/default/keymap.c @@ -96,6 +96,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } - -void matrix_init_user(void) { -} diff --git a/keyboards/dm9records/ergoinu/keymaps/default/rules.mk b/keyboards/dm9records/ergoinu/keymaps/default/rules.mk index b2eff12b042b..bbf813b2416b 100644 --- a/keyboards/dm9records/ergoinu/keymaps/default/rules.mk +++ b/keyboards/dm9records/ergoinu/keymaps/default/rules.mk @@ -3,7 +3,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -13,7 +13,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing diff --git a/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c b/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c index 3a1a88f47c45..e161145f4f26 100644 --- a/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c +++ b/keyboards/dm9records/ergoinu/keymaps/default_jis/keymap.c @@ -96,6 +96,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #endif return true; } - -void matrix_init_user(void) { -} diff --git a/keyboards/dm9records/ergoinu/keymaps/default_jis/rules.mk b/keyboards/dm9records/ergoinu/keymaps/default_jis/rules.mk index 92dde90ff1b5..eec4251635c3 100644 --- a/keyboards/dm9records/ergoinu/keymaps/default_jis/rules.mk +++ b/keyboards/dm9records/ergoinu/keymaps/default_jis/rules.mk @@ -3,7 +3,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -13,7 +13,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing diff --git a/keyboards/dm9records/ergoinu/rules.mk b/keyboards/dm9records/ergoinu/rules.mk index 493046ffa4de..e3362ea313f7 100644 --- a/keyboards/dm9records/ergoinu/rules.mk +++ b/keyboards/dm9records/ergoinu/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/dm9records/plaid/config.h b/keyboards/dm9records/plaid/config.h index 49bdf6ce2b72..bbe974e3f6f7 100644 --- a/keyboards/dm9records/plaid/config.h +++ b/keyboards/dm9records/plaid/config.h @@ -191,26 +191,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c b/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c index 20b6eac6825a..646a942c588f 100644 --- a/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c +++ b/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c @@ -227,7 +227,7 @@ void keyboard_post_init_user(void) { } } -void eeconfig_init_user(void) { // EEPROM is getting reset! +void eeconfig_init_user(void) { // EEPROM is getting reset! led_config.raw = 0; led_config.red_mode = LEDMODE_ON; led_config.green_mode = LEDMODE_MODS; @@ -235,7 +235,7 @@ void eeconfig_init_user(void) { // EEPROM is getting reset! eeconfig_update_user(led_config.raw); } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); } @@ -289,7 +289,7 @@ void led_keypress_update(uint8_t led, uint8_t led_mode, uint16_t keycode, keyrec bool process_record_user(uint16_t keycode, keyrecord_t *record) { /* If the either led mode is keypressed based, call the led updater - then let it fall through the keypress handlers. Just to keep + then let it fall through the keypress handlers. Just to keep the logic out of this procedure */ if (led_config.red_mode >= LEDMODE_MODS && led_config.red_mode <= LEDMODE_ENTER) { led_keypress_update(LED_RED, led_config.red_mode, keycode, record); diff --git a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c index bdf6c54c316c..6dcabb160e74 100644 --- a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c +++ b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c @@ -125,7 +125,7 @@ void eeconfig_init_user(void) { // EEPROM is getting reset! } // When LOWER and RAISE are held together, go to the FUNCTION layer -uint32_t layer_state_set_user(uint32_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _FUNCTION); } +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _FUNCTION); } // Runs constantly in the background, in a loop. void matrix_scan_user(void) { diff --git a/keyboards/dm9records/plaid/plaid.c b/keyboards/dm9records/plaid/plaid.c index 28f56d7f93c8..50da81950e0f 100644 --- a/keyboards/dm9records/plaid/plaid.c +++ b/keyboards/dm9records/plaid/plaid.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "plaid.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/dm9records/plaid/plaid.h b/keyboards/dm9records/plaid/plaid.h index d791cf7c0056..0b1c83761948 100644 --- a/keyboards/dm9records/plaid/plaid.h +++ b/keyboards/dm9records/plaid/plaid.h @@ -44,25 +44,9 @@ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \ } -// Used to create a keymap using only KC_ prefixed keys -#define KC_KEYMAP( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \ - ) \ - LAYOUT_plaid_grid( \ - KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b, \ - KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b, \ - KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b, \ - KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b \ - ) - -#define KEYMAP LAYOUT_plaid_grid +#define LAYOUT LAYOUT_plaid_grid #define LAYOUT_ortho_4x12 LAYOUT_plaid_grid #define LAYOUT_planck_mit LAYOUT_plaid_mit -#define LAYOUT_kc_ortho_4x12 KC_KEYMAP -#define KC_LAYOUT_ortho_4x12 KC_KEYMAP #define LED_RED C5 #define LED_GREEN C4 diff --git a/keyboards/dm9records/plaid/rules.mk b/keyboards/dm9records/plaid/rules.mk index 756cfc1fe99f..61347df8a9b1 100644 --- a/keyboards/dm9records/plaid/rules.mk +++ b/keyboards/dm9records/plaid/rules.mk @@ -2,19 +2,12 @@ MCU = atmega328p # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/dm9records/tartan/config.h b/keyboards/dm9records/tartan/config.h index 06f346c7e181..544ab4a64f15 100644 --- a/keyboards/dm9records/tartan/config.h +++ b/keyboards/dm9records/tartan/config.h @@ -189,26 +189,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dm9records/tartan/rules.mk b/keyboards/dm9records/tartan/rules.mk index a4bffe29d36c..abf77e30f28a 100644 --- a/keyboards/dm9records/tartan/rules.mk +++ b/keyboards/dm9records/tartan/rules.mk @@ -2,19 +2,12 @@ MCU = atmega328p # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/dmqdesign/spin/keymaps/codecoffeecode/keymap.c b/keyboards/dmqdesign/spin/keymaps/codecoffeecode/keymap.c index 6e0911da53ba..d6653691bb2b 100644 --- a/keyboards/dmqdesign/spin/keymaps/codecoffeecode/keymap.c +++ b/keyboards/dmqdesign/spin/keymaps/codecoffeecode/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { switch(index) { case 0: if (clockwise) { @@ -48,4 +48,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { } break; } + return true; } diff --git a/keyboards/dmqdesign/spin/keymaps/default/keymap.c b/keyboards/dmqdesign/spin/keymaps/default/keymap.c index 0b5e6bd0b90e..ea6b518c38bd 100644 --- a/keyboards/dmqdesign/spin/keymaps/default/keymap.c +++ b/keyboards/dmqdesign/spin/keymaps/default/keymap.c @@ -24,24 +24,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { rgblight_increase_hue(); //Cycle through the RGB hue } else { rgblight_decrease_hue(); } - } else if (index == 1) { /* Second encoder */ + } else if (index == 1) { /* Second encoder */ if (clockwise) { tap_code(KC_VOLU); //Example of using tap_code which lets you use keycodes outside of the keymap } else { tap_code(KC_VOLD); } - } else if (index == 2) { /* Third encoder */ + } else if (index == 2) { /* Third encoder */ if (clockwise) { rgblight_increase_val(); //Change brightness on the RGB LEDs } else { rgblight_decrease_val(); } } + return true; } diff --git a/keyboards/dmqdesign/spin/keymaps/encoderlayers/keymap.c b/keyboards/dmqdesign/spin/keymaps/encoderlayers/keymap.c index cb2a21f55759..100f821a6050 100644 --- a/keyboards/dmqdesign/spin/keymaps/encoderlayers/keymap.c +++ b/keyboards/dmqdesign/spin/keymaps/encoderlayers/keymap.c @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ switch (currentLayer) { //break each encoder update into a switch statement for the current layer case _BL: @@ -124,6 +124,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } layer_state_t layer_state_set_user(layer_state_t state) { //This will run every time the layer is updated diff --git a/keyboards/dmqdesign/spin/keymaps/gorbachev/keymap.c b/keyboards/dmqdesign/spin/keymaps/gorbachev/keymap.c index b9ad17386c23..181de5621c47 100644 --- a/keyboards/dmqdesign/spin/keymaps/gorbachev/keymap.c +++ b/keyboards/dmqdesign/spin/keymaps/gorbachev/keymap.c @@ -61,7 +61,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ switch (get_highest_layer(layer_state)) { //break each encoder update into a switch statement for the current layer case _NUMPAD: @@ -135,6 +135,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } layer_state_t layer_state_set_user(layer_state_t state) { //This will run every time the layer is updated @@ -159,7 +160,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { //This will run every return state; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static const char *ANIMATION_NAMES[] = { "unknown", diff --git a/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk b/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk index 553adac19325..6af3117b94fd 100644 --- a/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk +++ b/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk @@ -1,3 +1,4 @@ -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 MOUSEKEY_ENABLE = no MIDI_ENABLE = no diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c index ba3aa96d491d..bdf5dff0dfa5 100644 --- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c +++ b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/keymap.c @@ -37,8 +37,8 @@ enum custom_keycodes { // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_MACRO] = LAYOUT( - A(S(KC_N)), HELLO, CH_SUSP, TO(_MACRO), - KC_MPRV, KC_MPLY, KC_MNXT, TO(_NUMPAD), + A(S(KC_N)), HELLO, CH_SUSP, TO(_MACRO), + KC_MPRV, KC_MPLY, KC_MNXT, TO(_NUMPAD), C(A(KC_COMM)), KC_F5, C(A(KC_DOT)), TO(_RGB), MO(_FN), CH_ASST, CH_CPNL), @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO), }; -// clang-format on +// clang-format on typedef enum layer_ack { ACK_NO = 0, @@ -79,20 +79,20 @@ const rgblight_segment_t PROGMEM _no_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 3, H const rgblight_segment_t PROGMEM _yes_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 3, HSV_GREEN}); const rgblight_segment_t PROGMEM _meh_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 3, HSV_YELLOW}); -// clang-format on +// clang-format on const rgblight_segment_t *const PROGMEM _rgb_layers[] = { [LAYER_OFFSET + 0] = _macro_layer, [LAYER_OFFSET + 1] = _numpad_layer, [LAYER_OFFSET + 2] = _rgb_layer, [LAYER_OFFSET + 3] = _fn_layer, - + [ACK_OFFSET + ACK_NO] = _no_layer, [ACK_OFFSET + ACK_YES] = _yes_layer, [ACK_OFFSET + ACK_MEH] = _meh_layer, [ACK_OFFSET + ACK_MEH + 1] = NULL }; -// clang-format off +// clang-format off const uint8_t PROGMEM _n_rgb_layers = sizeof(_rgb_layers) / sizeof(_rgb_layers[0]) - 1; @@ -200,7 +200,7 @@ void post_process_record_user(uint16_t keycode, keyrecord_t *record) { } } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { switch (get_highest_layer(layer_state)) { case _RGB: if (index == 0) { @@ -234,4 +234,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { } break; } + return true; } diff --git a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk index 6df20e87101f..00b815f56d61 100644 --- a/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk +++ b/keyboards/dmqdesign/spin/keymaps/spidey3_pad/rules.mk @@ -1,6 +1,6 @@ MOUSEKEY_ENABLE = no MIDI_ENABLE = no -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite LTO_ENABLE = yes CONSOLE_ENABLE = yes # Console for debug GRAVE_ESC_ENABLE = no diff --git a/keyboards/dmqdesign/spin/keymaps/via/keymap.c b/keyboards/dmqdesign/spin/keymaps/via/keymap.c new file mode 100644 index 000000000000..6527cc8fd8fc --- /dev/null +++ b/keyboards/dmqdesign/spin/keymaps/via/keymap.c @@ -0,0 +1,69 @@ +/* Copyright 2020-2021 adamkraus6 + * + * 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_7, KC_8, KC_9, TO(0), + KC_4, KC_5, KC_6, TO(1), + KC_1, KC_2, KC_3, TO(2), + KC_0, KC_BSPC, KC_ENTER + ), + + [1] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO + ), + + [2] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO + ), + + [3] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, KC_NO, KC_NO + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + rgblight_increase_hue(); //Cycle through the RGB hue + } else { + rgblight_decrease_hue(); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + rgblight_increase_sat(); + } else { + rgblight_decrease_sat(); + } + } else if (index == 2) { /* Third encoder */ + if (clockwise) { + rgblight_increase_val(); //Change brightness on the RGB LEDs + } else { + rgblight_decrease_val(); + } + } + return true; +} diff --git a/keyboards/dmqdesign/spin/keymaps/via/rules.mk b/keyboards/dmqdesign/spin/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/dmqdesign/spin/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dmqdesign/spin/rules.mk b/keyboards/dmqdesign/spin/rules.mk index a299f2da5a00..d62b1ce7322d 100644 --- a/keyboards/dmqdesign/spin/rules.mk +++ b/keyboards/dmqdesign/spin/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/do60/rules.mk b/keyboards/do60/rules.mk index 73bb4f096b19..2e1318b5c7d9 100644 --- a/keyboards/do60/rules.mk +++ b/keyboards/do60/rules.mk @@ -2,24 +2,16 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options AUDIO_ENABLE = no # Audio output on port C6 BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite COMMAND_ENABLE = no # Commands for debug and configuration CONSOLE_ENABLE = no # Console for debug EXTRAKEY_ENABLE = yes # Audio control and System control -MIDI_ENABLE = no # MIDI controls MOUSEKEY_ENABLE = yes # Mouse keys NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. diff --git a/keyboards/donutcables/budget96/rules.mk b/keyboards/donutcables/budget96/rules.mk index 3d51be11332d..3bff3ee31b28 100644 --- a/keyboards/donutcables/budget96/rules.mk +++ b/keyboards/donutcables/budget96/rules.mk @@ -2,17 +2,10 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # build options -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/donutcables/scrabblepad/config.h b/keyboards/donutcables/scrabblepad/config.h index f792d5b1d5f7..5543c6133519 100644 --- a/keyboards/donutcables/scrabblepad/config.h +++ b/keyboards/donutcables/scrabblepad/config.h @@ -1,5 +1,5 @@ /* -Copyright 2018 MechMerlin +Copyright 2021 DonutCables 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 @@ -20,10 +20,10 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0000 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Donut Cables +#define VENDOR_ID 0x4443 +#define PRODUCT_ID 0x21D7 +#define DEVICE_VER 0x0100 +#define MANUFACTURER DonutCables #define PRODUCT ScrabblePad /* key matrix size */ @@ -39,43 +39,72 @@ along with this program. If not, see . * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) * -*/ + */ #define MATRIX_ROW_PINS { D5, F1, C7, F2, C6, F3, C5, F4, C4, F5, C3, F6, C2, F7, C1 } #define MATRIX_COL_PINS { D6, D7, E0, E1, B7, D2, D3, D4, C0, B4, B5, B6, F0, E6, E7 } #define UNUSED_PINS -/* COL2ROW, ROW2COL*/ +/* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -// #define BACKLIGHT_PIN -// #define BACKLIGHT_BREATHING -// #define BACKLIGHT_LEVELS 3 +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ -// ws2812 options -//#define RGB_DI_PIN A0 // pin the DI on the ws2812 is hooked-up to -//#define RGBLIGHT_ANIMATIONS // run RGB animations -//#define RGBLED_NUM 6 // number of LEDs -//#define RGBLIGHT_HUE_STEP 12 // units to step when in/decreasing hue -//#define RGBLIGHT_SAT_STEP 25 // units to step when in/decresing saturation -//#define RGBLIGHT_VAL_STEP 12 // units to step when in/decreasing value (brightness) +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 + /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST -/* number of backlight levels */ - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). */ -// #define GRAVE_ESC_CTRL_OVERRIDE +//#define GRAVE_ESC_CTRL_OVERRIDE /* * Force NKRO @@ -98,54 +127,6 @@ along with this program. If not, see . */ //#define FORCE_NKRO -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP1 H -//#define MAGIC_KEY_HELP2 SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0_ALT1 ESC -//#define MAGIC_KEY_LAYER0_ALT2 GRAVE -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER PAUSE -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - /* * Feature disable options * These options are also useful to firmware size reduction. @@ -161,25 +142,9 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED +/* disable these deprecated features by default */ -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/donutcables/scrabblepad/keymaps/default/keymap.c b/keyboards/donutcables/scrabblepad/keymaps/default/keymap.c index bb78e71313bc..2762453f79e7 100644 --- a/keyboards/donutcables/scrabblepad/keymaps/default/keymap.c +++ b/keyboards/donutcables/scrabblepad/keymaps/default/keymap.c @@ -1,52 +1,43 @@ -/* Copyright 2018 MechMerlin - * - * 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 . - */ +/* +Copyright 2021 DonutCables + +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( /* Base */ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC, \ - KC_D, KC_O, KC_N, KC_U, KC_T, KC_C, KC_A, KC_T, KC_SPC, KC_R, KC_U, KC_L, KC_E, KC_S, KC_SPC \ -), +enum layer_names { + _BASE, }; -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC + ), +}; diff --git a/keyboards/donutcables/scrabblepad/keymaps/default/readme.md b/keyboards/donutcables/scrabblepad/keymaps/default/readme.md index 4123e76671de..4dca7ad27249 100644 --- a/keyboards/donutcables/scrabblepad/keymaps/default/readme.md +++ b/keyboards/donutcables/scrabblepad/keymaps/default/readme.md @@ -3,4 +3,4 @@ This is the default keymap for the ScrabblePad. On each row, each key is used to spell out each character in -the following string: "donutcat rules ". +the following string: " scrabblepad ". \ No newline at end of file diff --git a/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c b/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c index 8e782596615b..462e06875a86 100644 --- a/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c +++ b/keyboards/donutcables/scrabblepad/keymaps/random/keymap.c @@ -60,16 +60,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY, RND_KEY ), }; - - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/donutcables/scrabblepad/keymaps/via/keymap.c b/keyboards/donutcables/scrabblepad/keymaps/via/keymap.c new file mode 100644 index 000000000000..c35af06133cf --- /dev/null +++ b/keyboards/donutcables/scrabblepad/keymaps/via/keymap.c @@ -0,0 +1,92 @@ +/* +Copyright 2021 DonutCables + +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_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC, + KC_SPC, KC_SPC, KC_S, KC_C, KC_R, KC_A, KC_B, KC_B, KC_L, KC_E, KC_P, KC_A, KC_D, KC_SPC, KC_SPC + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, 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/donutcables/scrabblepad/keymaps/via/readme.md b/keyboards/donutcables/scrabblepad/keymaps/via/readme.md new file mode 100644 index 000000000000..1e976d866029 --- /dev/null +++ b/keyboards/donutcables/scrabblepad/keymaps/via/readme.md @@ -0,0 +1,5 @@ +# The VIA keymap for ScrabblePad + +This is the VIA keymap for the ScrabblePad. + +The base map is the same as the default map and then three available layers above that. \ No newline at end of file diff --git a/keyboards/durgod/k320/keymaps/via/rules.mk b/keyboards/donutcables/scrabblepad/keymaps/via/rules.mk similarity index 100% rename from keyboards/durgod/k320/keymaps/via/rules.mk rename to keyboards/donutcables/scrabblepad/keymaps/via/rules.mk diff --git a/keyboards/donutcables/scrabblepad/rules.mk b/keyboards/donutcables/scrabblepad/rules.mk index a4d303b0d32c..a94668cc3afd 100644 --- a/keyboards/donutcables/scrabblepad/rules.mk +++ b/keyboards/donutcables/scrabblepad/rules.mk @@ -2,29 +2,19 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys +BOOTMAGIC_ENABLE = no # Enable Bootmagic +MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/donutcables/scrabblepad/scrabblepad.c b/keyboards/donutcables/scrabblepad/scrabblepad.c index e97cbd46c014..88e60fea26ea 100644 --- a/keyboards/donutcables/scrabblepad/scrabblepad.c +++ b/keyboards/donutcables/scrabblepad/scrabblepad.c @@ -1,4 +1,4 @@ -/* Copyright 2018 MechMerlin +/* Copyright 2021 DonutCables * * 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 @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "scrabblepad.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/donutcables/scrabblepad/scrabblepad.h b/keyboards/donutcables/scrabblepad/scrabblepad.h index b4ac8b2c4f53..f27d990eb2d0 100644 --- a/keyboards/donutcables/scrabblepad/scrabblepad.h +++ b/keyboards/donutcables/scrabblepad/scrabblepad.h @@ -1,4 +1,4 @@ -/* Copyright 2018 MechMerlin +/* Copyright 2021 DonutCables * * 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 @@ -17,7 +17,6 @@ #include "quantum.h" -// Written in the format K(row)(column) where numbering is in hexadecimal #define LAYOUT( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \ diff --git a/keyboards/doodboard/duckboard/keymaps/default/keymap.c b/keyboards/doodboard/duckboard/keymaps/default/keymap.c index 0dd9c40678be..e25280ff6a84 100644 --- a/keyboards/doodboard/duckboard/keymaps/default/keymap.c +++ b/keyboards/doodboard/duckboard/keymaps/default/keymap.c @@ -38,18 +38,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TG(2), RESET, KC_TRNS, KC_TRNS, KC_TRNS), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } -} + } + return true; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } diff --git a/keyboards/doodboard/duckboard/rules.mk b/keyboards/doodboard/duckboard/rules.mk index 09a60d8a7956..9ac16351cfcc 100644 --- a/keyboards/doodboard/duckboard/rules.mk +++ b/keyboards/doodboard/duckboard/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -22,4 +22,5 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/doodboard/duckboard_r2/keymaps/default/keymap.c b/keyboards/doodboard/duckboard_r2/keymaps/default/keymap.c index e782acba01a8..ea603cdb2233 100644 --- a/keyboards/doodboard/duckboard_r2/keymaps/default/keymap.c +++ b/keyboards/doodboard/duckboard_r2/keymaps/default/keymap.c @@ -38,18 +38,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TG(2), RESET, KC_TRNS, KC_TRNS, KC_TRNS), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } -} + } + return true; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } diff --git a/keyboards/doodboard/duckboard_r2/keymaps/via/keymap.c b/keyboards/doodboard/duckboard_r2/keymaps/via/keymap.c index 00ae8fa0d9d6..9afc12185910 100644 --- a/keyboards/doodboard/duckboard_r2/keymaps/via/keymap.c +++ b/keyboards/doodboard/duckboard_r2/keymaps/via/keymap.c @@ -45,18 +45,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } -} + } + return true; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } diff --git a/keyboards/doodboard/duckboard_r2/rules.mk b/keyboards/doodboard/duckboard_r2/rules.mk index 09a60d8a7956..9ac16351cfcc 100644 --- a/keyboards/doodboard/duckboard_r2/rules.mk +++ b/keyboards/doodboard/duckboard_r2/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -22,4 +22,5 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/doppelganger/config.h b/keyboards/doppelganger/config.h index fa909feea747..6e1fa957e38a 100644 --- a/keyboards/doppelganger/config.h +++ b/keyboards/doppelganger/config.h @@ -200,26 +200,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 2 diff --git a/keyboards/doppelganger/rules.mk b/keyboards/doppelganger/rules.mk index e10f6450b2ab..b1cc36ab31a7 100644 --- a/keyboards/doppelganger/rules.mk +++ b/keyboards/doppelganger/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/doro67/multi/keymaps/konstantin/rules.mk b/keyboards/doro67/multi/keymaps/konstantin/rules.mk index 50c3f77ddb4c..9abe619154dd 100644 --- a/keyboards/doro67/multi/keymaps/konstantin/rules.mk +++ b/keyboards/doro67/multi/keymaps/konstantin/rules.mk @@ -1,5 +1,5 @@ # Generic features -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite COMMAND_ENABLE = yes CONSOLE_ENABLE = yes EXTRAKEY_ENABLE = yes diff --git a/keyboards/doro67/multi/rules.mk b/keyboards/doro67/multi/rules.mk index fa93c56d2557..86f96d00601b 100644 --- a/keyboards/doro67/multi/rules.mk +++ b/keyboards/doro67/multi/rules.mk @@ -1,19 +1,13 @@ +# MCU name MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/doro67/regular/rules.mk b/keyboards/doro67/regular/rules.mk index 037b1d978335..f174cc1f5a7d 100644 --- a/keyboards/doro67/regular/rules.mk +++ b/keyboards/doro67/regular/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/doro67/rgb/rules.mk b/keyboards/doro67/rgb/rules.mk index 7f2494316425..fb126a180def 100644 --- a/keyboards/doro67/rgb/rules.mk +++ b/keyboards/doro67/rgb/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/dozen0/config.h b/keyboards/dozen0/config.h index 11a8e196644c..ab60fe2d1373 100644 --- a/keyboards/dozen0/config.h +++ b/keyboards/dozen0/config.h @@ -165,26 +165,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/dozen0/dozen0.c b/keyboards/dozen0/dozen0.c index 8b52aa898677..42872a2105d2 100644 --- a/keyboards/dozen0/dozen0.c +++ b/keyboards/dozen0/dozen0.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "dozen0.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/dozen0/keymaps/default/keymap.c b/keyboards/dozen0/keymaps/default/keymap.c index fdc344f66022..a869c6e93c31 100644 --- a/keyboards/dozen0/keymaps/default/keymap.c +++ b/keyboards/dozen0/keymaps/default/keymap.c @@ -120,11 +120,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/dozen0/rules.mk b/keyboards/dozen0/rules.mk index 271ccf470f49..68ba3318b0b9 100644 --- a/keyboards/dozen0/rules.mk +++ b/keyboards/dozen0/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/dp60/dp60.c b/keyboards/dp60/dp60.c index 475084b0496f..87543b2a1c41 100644 --- a/keyboards/dp60/dp60.c +++ b/keyboards/dp60/dp60.c @@ -17,7 +17,7 @@ #include "dp60.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/dp60/dp60.h b/keyboards/dp60/dp60.h index 9d8bffa64acd..515a2c0745cf 100644 --- a/keyboards/dp60/dp60.h +++ b/keyboards/dp60/dp60.h @@ -93,7 +93,7 @@ k40, k42, k43, k47, k48, k49, k4a, k4b \ {k40, k42, k43, KC_NO, KC_NO, KC_NO, k47, k07, KC_NO, KC_NO, k48, k49, k4a, k4b} \ } -#define LAYOUT_60_wkl( \ +#define LAYOUT_60_ansi_tsangan_split_rshift( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \ @@ -122,7 +122,7 @@ k40, k42, k43, k47, k48, k49, k4a, k4b \ {k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ {KC_NO, k42, k43, KC_NO, KC_NO, KC_NO, k47, k07, KC_NO, KC_NO, KC_NO, k49, k4a, KC_NO} \ } -#define LAYOUT_60_wkl_split_bs( \ +#define LAYOUT_60_tsangan_hhkb( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \ diff --git a/keyboards/dp60/info.json b/keyboards/dp60/info.json index 9387c3f940cb..5c7eb943868f 100644 --- a/keyboards/dp60/info.json +++ b/keyboards/dp60/info.json @@ -4,30 +4,427 @@ "maintainer": "qmk", "width": 15, "height": 5, + "layout_aliases": { + "LAYOUT_60_wkl": "LAYOUT_60_ansi_tsangan_split_rshift", + "LAYOUT_60_wkl_split_bs": "LAYOUT_60_tsangan_hhkb" + }, "layouts": { - "LAYOUT_60_wkl": { - "key_count":61, - "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}] + "LAYOUT_60_ansi_tsangan_split_rshift": { + "layout": [ + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Fn", "x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"label":"Alt", "x":11, "y":4, "w":1.5}, + {"label":"Win", "x":12.5, "y":4}, + {"label":"Ctrl", "x":13.5, "y":4, "w":1.5} + ] }, "LAYOUT_60_ansi": { - "key_count":61, - "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] + "layout": [ + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Win", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} + ] }, "LAYOUT_60_hhkb": { - "key_count":60, - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}] + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"|", "x":13, "y":0}, + {"label":"~", "x":14, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"Backspace", "x":13.5, "y":1, "w":1.5}, + + {"label":"Control", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Fn", "x":14, "y":3}, + + {"label":"Win", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"label":"Alt", "x":11, "y":4, "w":1.5}, + {"label":"Win", "x":12.5, "y":4} + ] }, "LAYOUT_60_iso": { - "key_count":62, - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}] + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":2.75}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] }, "LAYOUT_60_ansi_split_bs_rshift": { - "key_count":63, - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4, "w":1.25}, {"x":13.75, "y":4, "w":1.25}] + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] }, - "LAYOUT_60_wkl_split_bs": { - "key_count":62, - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}] + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":12.5, "y":4}, + {"x":13.5, "y":4, "w":1.5} + ] } } - } \ No newline at end of file +} diff --git a/keyboards/dp60/rules.mk b/keyboards/dp60/rules.mk index c18d9605e135..faf77e45d761 100644 --- a/keyboards/dp60/rules.mk +++ b/keyboards/dp60/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/draculad/config.h b/keyboards/draculad/config.h new file mode 100644 index 000000000000..abcdc76b4b45 --- /dev/null +++ b/keyboards/draculad/config.h @@ -0,0 +1,69 @@ +/* +Copyright 2021 @mangoiv + +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 "config_common.h" + +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x1B1E +#define DEVICE_VER 0x0001 +#define MANUFACTURER mangoiv +#define PRODUCT draculad + +#define MATRIX_ROWS 8 +#define MATRIX_COLS 5 + +#define MATRIX_ROW_PINS {D4, C6, D7, E6} +#define MATRIX_COL_PINS {F4, F5,F6, F7, B1} + +#define DIODE_DIRECTION COL2ROW + +#define DEBOUNCE 5 + + +#define USE_SERIAL +#define SOFT_SERIAL_PIN D2 + +#ifdef OLED_ENABLE + #define OLED_DISPLAY_128X64 + #define OLED_TIMEOUT 30000 +#endif + +#define RGB_DI_PIN D3 +#ifdef RGB_DI_PIN +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLED_NUM 10 +#define RGBLIGHT_SPLIT +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGBLIGHT_SLEEP +#endif + +#define ENCODERS_PAD_A {B2 , B4} +#define ENCODERS_PAD_B {B6 , B5} + +#define ENCODER_RESOLUTIONS { 4, 4, 4, 1} +#define UNUSED_PINS + +#define EE_HANDS + +#define LAYER_STATE_8BIT diff --git a/keyboards/draculad/draculad.c b/keyboards/draculad/draculad.c new file mode 100644 index 000000000000..04a83ef2e39d --- /dev/null +++ b/keyboards/draculad/draculad.c @@ -0,0 +1,18 @@ +/* +Copyright 2021 @mangoiv + +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 "draculad.h" \ No newline at end of file diff --git a/keyboards/draculad/draculad.h b/keyboards/draculad/draculad.h new file mode 100644 index 000000000000..b98bb0d2c46d --- /dev/null +++ b/keyboards/draculad/draculad.h @@ -0,0 +1,40 @@ +/* +Copyright 2021 @mangoiv + +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 "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ + L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ + L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ + L30, R33, \ + L31, L32, L33, R30, R31, R32 \ + ) \ + { \ + { L00, L01, L02, L03, L04 }, \ + { L10, L11, L12, L13, L14 }, \ + { L20, L21, L22, L23, L24 }, \ + { XXX, L30, L31, L32, L33 }, \ + { R04, R03, R02, R01, R00 }, \ + { R14, R13, R12, R11, R10 }, \ + { R24, R23, R22, R21, R20 }, \ + { XXX, R33, R32, R31, R30 } \ + } diff --git a/keyboards/draculad/info.json b/keyboards/draculad/info.json new file mode 100644 index 000000000000..c0f37771b92e --- /dev/null +++ b/keyboards/draculad/info.json @@ -0,0 +1,59 @@ +{ + "keyboard_name": "DracuLad", + "url": "", + "maintainer": "MangoIV", + "width": 13, + "height": 5.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"L00", "x":0, "y":1}, + {"label":"L01", "x":1, "y":0.35}, + {"label":"L02", "x":2, "y":0}, + {"label":"L03", "x":3, "y":0.35}, + {"label":"L04", "x":4, "y":0.5}, + + {"label":"R00", "x":8, "y":0.5}, + {"label":"R01", "x":9, "y":0.35}, + {"label":"R02", "x":10, "y":0}, + {"label":"R03", "x":11, "y":0.35}, + {"label":"R04", "x":12, "y":1}, + + {"label":"L10", "x":0, "y":2}, + {"label":"L11", "x":1, "y":1.35}, + {"label":"L12", "x":2, "y":1}, + {"label":"L13", "x":3, "y":1.35}, + {"label":"L14", "x":4, "y":1.5}, + + {"label":"R10", "x":8, "y":1.5}, + {"label":"R11", "x":9, "y":1.35}, + {"label":"R12", "x":10, "y":1}, + {"label":"R13", "x":11, "y":1.35}, + {"label":"R14", "x":12, "y":2}, + + {"label":"L20", "x":0, "y":3}, + {"label":"L21", "x":1, "y":2.35}, + {"label":"L22", "x":2, "y":2}, + {"label":"L23", "x":3, "y":2.35}, + {"label":"L24", "x":4, "y":2.5}, + + {"label":"R20", "x":8, "y":2.5}, + {"label":"R21", "x":9, "y":2.35}, + {"label":"R22", "x":10, "y":2}, + {"label":"R23", "x":11, "y":2.35}, + {"label":"R24", "x":12, "y":3}, + + {"label":"L30", "x":4.25, "y":3.5}, + {"label":"R33", "x":7.75, "y":3.5}, + + {"label":"L31", "x":3, "y":4.5}, + {"label":"L32", "x":4, "y":4.5}, + {"label":"L33", "x":5, "y":4.5}, + + {"label":"R30", "x":7, "y":4.5}, + {"label":"R31", "x":8, "y":4.5}, + {"label":"R32", "x":9, "y":4.5} + ] + } + } +} diff --git a/keyboards/draculad/keymaps/default/keymap.c b/keyboards/draculad/keymaps/default/keymap.c new file mode 100644 index 000000000000..657ef2048dbd --- /dev/null +++ b/keyboards/draculad/keymaps/default/keymap.c @@ -0,0 +1,227 @@ +/* +Copyright 2021 @mangoiv + +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_number { + _BASE, + _NUM, + _SYMB, + _MUS, + _ADJ +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + 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_MUTE, TG(_ADJ), + KC_LCTL, LALT_T(KC_BSPC), LT(_MUS,KC_SPC), LT(_NUM,KC_DEL), LT(_SYMB,KC_ENT), KC_CAPS + ), + [_NUM] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TAB, XXXXXXX, KC_VOLD, KC_VOLU, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, + KC_LSFT, XXXXXXX, XXXXXXX, KC_MUTE, RESET, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT, + XXXXXXX, KC_NO, + XXXXXXX, KC_LALT, XXXXXXX, _______, KC_ENT, KC_NO + ), + [_SYMB] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, KC_MINS, + XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, XXXXXXX, KC_GRV, KC_BSLS, + KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, + XXXXXXX, KC_NO, + KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_NO + ), + [_MUS] = LAYOUT( + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LALT, KC_BTN3, KC_BTN2, KC_BTN1, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_ADJ] = LAYOUT( + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, + XXXXXXX, _______, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +#ifdef OLED_ENABLE + + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + + if (is_keyboard_master()) { + if(is_keyboard_left()){ + return OLED_ROTATION_270; + } + else { + return OLED_ROTATION_90; + } + } else { + return OLED_ROTATION_0; + } +} +static void render_logo(void) { + static const char PROGMEM drac_logo[] = { + // drac_logo, 128x64px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x0c, 0x18, 0x78, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x07, 0x3e, 0xfc, 0xf0, 0x00, 0x00, 0x00, + 0xf0, 0xf0, 0x60, 0x30, 0x30, 0x30, 0x00, 0x00, 0xe0, 0xe0, 0x30, 0x30, 0x30, 0x30, 0x30, 0xe0, + 0xe0, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0x70, 0xe0, 0xc0, 0x00, 0x00, + 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, + 0x80, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xf0, 0x80, 0xc0, 0xe0, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3f, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0x7c, 0x3f, 0x0f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf8, 0xcc, 0x8c, 0x84, 0x86, 0x86, 0xc6, 0xff, + 0xff, 0x80, 0x80, 0x00, 0x3f, 0x7f, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xf0, 0x71, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x03, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, + 0x7f, 0x7f, 0x3e, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0xfc, + 0xfc, 0xfe, 0xfe, 0x7e, 0x7c, 0x78, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x60, 0x60, + 0x60, 0x60, 0x60, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0x60, 0x60, 0x60, 0xc0, + 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, + 0x0f, 0x3e, 0x7c, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, + 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf1, 0x99, 0x18, 0x08, + 0x0c, 0x0c, 0x8c, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc1, 0x80, 0x00, 0x00, 0x00, 0x80, + 0xc3, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x01, 0x01, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, + 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + oled_write_raw_P(drac_logo, sizeof(drac_logo)); +} + +static void render_status(void) { + oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false); + uint8_t n = get_current_wpm(); + char wpm_counter[4]; + wpm_counter[3] = '\0'; + wpm_counter[2] = '0' + n % 10; + wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' '; + wpm_counter[0] = n / 10 ? '0' + n / 10 : ' '; + oled_write_P(PSTR("WPM:"), false); + oled_write(wpm_counter, false); + led_t led_state = host_keyboard_led_state(); + oled_write_P(PSTR("\nCaps: "), false); + oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false); + oled_write_P(PSTR("\n"), false); + switch (get_highest_layer(layer_state)) { + case _BASE: + oled_write_P(PSTR("Base "), false); + break; + case _NUM: + oled_write_P(PSTR("Numbers"), false); + break; + case _SYMB: + oled_write_P(PSTR("Symbols"), false); + break; + case _ADJ: + oled_write_P(PSTR("Adjust "), false); + break; + case _MUS: + oled_write_P(PSTR("Mouse "), false); + break; + default: + oled_write_P(PSTR("Unkn "), false); + break; + } +} + +void oled_task_user(void) { + if (is_keyboard_master()) { + render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_logo(); + } +} + +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + // Volume control + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + else if (index == 2) { + if(clockwise) { + tap_code(KC_PGUP); + } + else{ + tap_code(KC_PGDN); + } + } + else if (index == 3 ) { + // Page up/Page down + if (clockwise) { + tap_code(KC_WH_U); + } else { + tap_code(KC_WH_D); + } + } + return true; +} +#endif diff --git a/keyboards/draculad/keymaps/pimoroni/config.h b/keyboards/draculad/keymaps/pimoroni/config.h new file mode 100644 index 000000000000..c5f9df6f9965 --- /dev/null +++ b/keyboards/draculad/keymaps/pimoroni/config.h @@ -0,0 +1,25 @@ +/* +Copyright 2021 @mangoiv + +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 . +*/ + +//comment that out if your trackball is on the left side +#define TRACKBALL_RIGHT + +#ifdef TRACKBALL_RIGHT + #define PIMORONI_TRACKBALL_INVERT_X + #define PIMORONI_TRACKBALL_INVERT_Y +#endif + diff --git a/keyboards/draculad/keymaps/pimoroni/keymap.c b/keyboards/draculad/keymaps/pimoroni/keymap.c new file mode 100644 index 000000000000..c7b6cd35d59d --- /dev/null +++ b/keyboards/draculad/keymaps/pimoroni/keymap.c @@ -0,0 +1,327 @@ +/* +Copyright 2021 @mangoiv + +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 +#include "drivers/sensors/pimoroni_trackball.h" +#include "pointing_device.h" + + +enum layer_number { + _BASE, + _NUM, + _SYMB, + _MUS, + _ADJ +}; + +enum custom_keycodes { + BALL_HUI,//cycles hue + BALL_WHT,//cycles white + BALL_DEC,//decreased color + BALL_SCR,//scrolls + BALL_NCL,//left click + BALL_RCL,//right click + BALL_MCL,//middle click +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + 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_MUTE, TG(_ADJ), + KC_LCTL, LALT_T(KC_BSPC), LT(_MUS,KC_SPC), KC_NO, LT(_NUM,KC_ENT), LT(_SYMB,KC_DEL) + ), + [_NUM] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, + KC_LSFT, XXXXXXX, KC_MPRV, KC_MNXT, RESET, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT, + XXXXXXX, KC_NO, + KC_LCTL, KC_LALT, XXXXXXX, KC_NO, _______, KC_ENT + ), + [_SYMB] = LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, KC_MINS, + XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, XXXXXXX, KC_GRV, KC_BSLS, + KC_LSFT, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, + XXXXXXX, KC_NO, + KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, KC_NO, _______ + ), + [_MUS] = LAYOUT( + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LALT, KC_BTN3, KC_BTN2, KC_BTN1, BALL_SCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_ADJ] = LAYOUT( + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BALL_HUI, BALL_WHT, BALL_DEC, XXXXXXX, XXXXXXX, + EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, + XXXXXXX, _______, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + + +#ifdef OLED_ENABLE + + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + + if (is_keyboard_master()) { + if(is_keyboard_left()){ + return OLED_ROTATION_270; + } + else { + return OLED_ROTATION_90; + } + } else { + return OLED_ROTATION_0; + } +} +static void render_logo(void) { + static const char PROGMEM drac_logo[] = { + // drac_logo, 128x64px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x0c, 0x18, 0x78, 0xf0, 0xf0, 0xe0, 0xe0, 0xc0, + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x07, 0x3e, 0xfc, 0xf0, 0x00, 0x00, 0x00, + 0xf0, 0xf0, 0x60, 0x30, 0x30, 0x30, 0x00, 0x00, 0xe0, 0xe0, 0x30, 0x30, 0x30, 0x30, 0x30, 0xe0, + 0xe0, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0x70, 0xe0, 0xc0, 0x00, 0x00, + 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, + 0x80, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xf8, 0xf0, 0x80, 0xc0, 0xe0, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3f, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xe0, 0x7c, 0x3f, 0x0f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf8, 0xcc, 0x8c, 0x84, 0x86, 0x86, 0xc6, 0xff, + 0xff, 0x80, 0x80, 0x00, 0x3f, 0x7f, 0xe0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0xf0, 0x71, 0x00, 0x00, + 0x1f, 0xff, 0xff, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xf8, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x03, 0x03, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, + 0x7f, 0x7f, 0x3e, 0x3e, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf8, 0xf8, 0xfc, + 0xfc, 0xfe, 0xfe, 0x7e, 0x7c, 0x78, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x60, 0x60, + 0x60, 0x60, 0x60, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xe0, 0x60, 0x60, 0x60, 0xc0, + 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, + 0x0f, 0x3e, 0x7c, 0xfc, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf8, + 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf1, 0x99, 0x18, 0x08, + 0x0c, 0x0c, 0x8c, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xc1, 0x80, 0x00, 0x00, 0x00, 0x80, + 0xc3, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x01, 0x01, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x01, + 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + oled_write_raw_P(drac_logo, sizeof(drac_logo)); +} + +static void render_status(void) { + oled_write_P(PSTR("This is\n~~~~~~~~~\nDracu\nLad\n~~~~~~~~~\nv1.0\n~~~~~~~~~\n"), false); + uint8_t n = get_current_wpm(); + char wpm_counter[4]; + wpm_counter[3] = '\0'; + wpm_counter[2] = '0' + n % 10; + wpm_counter[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' '; + wpm_counter[0] = n / 10 ? '0' + n / 10 : ' '; + oled_write_P(PSTR("WPM:"), false); + oled_write(wpm_counter, false); + led_t led_state = host_keyboard_led_state(); + oled_write_P(PSTR("\nCaps: "), false); + oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false); + oled_write_P(PSTR("\n"), false); + switch (get_highest_layer(layer_state)) { + case _BASE: + oled_write_P(PSTR("Base "), false); + break; + case _NUM: + oled_write_P(PSTR("Numbers"), false); + break; + case _SYMB: + oled_write_P(PSTR("Symbols"), false); + break; + case _ADJ: + oled_write_P(PSTR("Adjust "), false); + break; + case _MUS: + oled_write_P(PSTR("Mouse "), false); + break; + default: + oled_write_P(PSTR("Unkn "), false); + break; + } +} + +void oled_task_user(void) { + if (is_keyboard_master()) { + render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_logo(); + } +} + +#endif + +uint8_t white = 0; +uint8_t red = 255; +uint8_t green = 0; +uint8_t blue = 0; + +void ball_increase_hue(void){ + if(red!=255&&green!=255&&blue!=255){ + red =255; + } + if (red==255&&green<255&&blue==0){ + green += 15; + } else if(green==255&&blue==0&&red>0){ + red-=15; + } else if(red==0&&blue<255&&green==255){ + blue+=15; + } else if(blue==255&&green>0&&red==0){ + green -= 15; + } else if(green == 0&&blue==255&&red<255){ + red +=15; + } else if(green ==0&&blue>0&&red==255){ + blue -=15; + } + trackball_set_rgbw(red,green,blue,white); +} + +void decrease_color(void){ + if (green>0){ + green-=15; + } + if (red>0){ + red-=15; + } + if (blue>0){ + blue-=15; + } + trackball_set_rgbw(red,green,blue,white); +} + +void cycle_white(void){ + if (white<255){ + white +=15; + } else{ + white=0; + } + trackball_set_rgbw(red,green,blue,white); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record){ + switch (keycode){ + case BALL_HUI: + if(record->event.pressed){ + ball_increase_hue(); + } + break; + + case BALL_WHT: + if(record-> event.pressed){ + cycle_white(); + } + break; + + case BALL_DEC: + if(record-> event.pressed){ + decrease_color(); + } + break; + + case BALL_SCR: + if(record->event.pressed){ + trackball_set_scrolling(true); + } else{ + trackball_set_scrolling(false); + } + break; + + case BALL_NCL: + record->event.pressed?register_code(KC_BTN1):unregister_code(KC_BTN1); + break; + case BALL_RCL: + record->event.pressed?register_code(KC_BTN2):unregister_code(KC_BTN2); + break; + case BALL_MCL: + record->event.pressed?register_code(KC_BTN3):unregister_code(KC_BTN3); + break; + } + return true; +} +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + // Volume control + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + else if (index == 2) { + switch (get_highest_layer(layer_state)) { + case _ADJ: + clockwise?ball_increase_hue():cycle_white(); + break; + case _MUS: + clockwise?tap_code(KC_WH_U):tap_code(KC_WH_D); + break; + default: + clockwise?tap_code(KC_PGUP):tap_code(KC_PGDN); + break; + } + } + // I only have 2 encoders on the the pimoroni example board, just add else ifs for your other encoders... + // the missing ones are encoder 1 on the right side and encoder 3 on the left side + return true; +} +#endif diff --git a/keyboards/draculad/keymaps/pimoroni/rules.mk b/keyboards/draculad/keymaps/pimoroni/rules.mk new file mode 100644 index 000000000000..704aad070aa6 --- /dev/null +++ b/keyboards/draculad/keymaps/pimoroni/rules.mk @@ -0,0 +1,7 @@ +# only uncomment on the side you have your trackball on +POINTING_DEVICE_ENABLE = yes +SRC += drivers/sensors/pimoroni_trackball.c +QUANTUM_LIB_SRC += i2c_master.c +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +MOUSEKEY_ENABLE = no diff --git a/keyboards/draculad/readme.md b/keyboards/draculad/readme.md new file mode 100644 index 000000000000..585d6cb5fc09 --- /dev/null +++ b/keyboards/draculad/readme.md @@ -0,0 +1,31 @@ +# DracuLad + +![DracuLad](https://github.com/mangoiv/draculad/blob/master/pictures/rev1/both_sides_showcase.jpg?raw=true) + +*A 34-36 key split keyboard* +- 36 keys, two of them can be replaced by rotary encoders making it support 34-36 keys and 2-4 encoders. +- bright RGB Underglow with WS2812B LEDs +- one SSD1306 OLED per side +- aggressive pinky stagger similar to the Kyria but with an alternative thumb cluster to raise comfort for large hands +- support for MX and Choc switches + +* Keyboard Maintainer: [MangoIV](https://github.com/MangoIV) +* Hardware Supported: [DracuLad PCBs and cases](https://github.com/MangoIV/dracuLad), [the Pimoroni trackball](https://shop.pimoroni.com/products/trackball-breakout) +* Hardware Availability: [MangoIV's GitHub](https://github.com/MangoIV/dracuLad) + +Make example for this keyboard (after setting up your build env): + + make draculad:default + +or for the version using the Pimoroni trackball: + + make draculad:pimoroni + +Flashing example for DFU and Caterina respectively (replace `default` with the name of your keymap): + + make draculad:default:dfu + make draculad:default:flash + +When flashing the first time using handedness by EEPROM, use the [QMK guide for that topic](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom). + +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/draculad/rules.mk b/keyboards/draculad/rules.mk new file mode 100644 index 000000000000..666657cfe554 --- /dev/null +++ b/keyboards/draculad/rules.mk @@ -0,0 +1,28 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 +WPM_ENABLE = yes +ENCODER_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/draytronics/daisy/config.h b/keyboards/draytronics/daisy/config.h new file mode 100644 index 000000000000..b524f890287e --- /dev/null +++ b/keyboards/draytronics/daisy/config.h @@ -0,0 +1,112 @@ +/*Copyright 2021 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 "config_common.h" + +#define VENDOR_ID 0x4454 //DT for DrayTronics +#define PRODUCT_ID 0x4441 //DA for Daisy +#define DEVICE_VER 0x0100 //Version 1 +#define MANUFACTURER Draytronics +#define PRODUCT DAISY + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 4 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ + +#define MATRIX_ROW_PINS { B0, C0, C1} +#define MATRIX_COL_PINS { C2, C3, C4, C5 } +#define UNUSED_PINS + +#define ENCODERS_PAD_A { B1, D0 } +#define ENCODERS_PAD_B { B2, D1 } +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW +#define TAP_CODE_DELAY 10 +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ +/* disable debug print */ +//#define NO_DEBUG +/* disable print */ +//#define NO_PRINT +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +//Underglow +#define RGB_DI_PIN D4 // Underglow led pin +#ifdef RGB_DI_PIN + #define RGBLED_NUM 4 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + /*== all animations enable ==*/ + #define RGBLIGHT_ANIMATIONS +#endif diff --git a/keyboards/draytronics/daisy/daisy.c b/keyboards/draytronics/daisy/daisy.c new file mode 100644 index 000000000000..149cb3d0c743 --- /dev/null +++ b/keyboards/draytronics/daisy/daisy.c @@ -0,0 +1,19 @@ +/*Copyright 2021 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 "daisy.h" diff --git a/keyboards/draytronics/daisy/daisy.h b/keyboards/draytronics/daisy/daisy.h new file mode 100644 index 000000000000..2c4798943388 --- /dev/null +++ b/keyboards/draytronics/daisy/daisy.h @@ -0,0 +1,33 @@ +/*Copyright 2021 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 _x_ KC_NO + +#include "quantum.h" + +#define LAYOUT( \ + K00, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23 \ +) { \ +{ K00, _x_, _x_, K03, }, \ +{ K10, K11, K12, K13, }, \ +{ K20, K21, K22, K23, }, \ +} diff --git a/keyboards/draytronics/daisy/info.json b/keyboards/draytronics/daisy/info.json new file mode 100644 index 000000000000..ac3b83f81ffa --- /dev/null +++ b/keyboards/draytronics/daisy/info.json @@ -0,0 +1,28 @@ +{ + "keyboard_name": "Draytronics DAISY", + "url": "https://www.draytronics.co.uk/daisy", + "maintainer": "ghostseven", + "width": 4, + "height": 3, + "layout_aliases": { + "LAYOUT_daisy": "LAYOUT" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"", "x":0, "y":0}, + {"label":"", "x":3, "y":0}, + + {"label":"", "x":0, "y":1}, + {"label":"", "x":1, "y":1}, + {"label":"", "x":2, "y":1}, + {"label":"", "x":3, "y":1}, + + {"label":"", "x":0, "y":2}, + {"label":"", "x":1, "y":2}, + {"label":"", "x":2, "y":2}, + {"label":"", "x":3, "y":2} + ] + } + } +} diff --git a/keyboards/draytronics/daisy/keymaps/default/keymap.c b/keyboards/draytronics/daisy/keymaps/default/keymap.c new file mode 100644 index 000000000000..74cd02ecd284 --- /dev/null +++ b/keyboards/draytronics/daisy/keymaps/default/keymap.c @@ -0,0 +1,52 @@ +/*Copyright 2021 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 +#define _BASE 0 // Base layer +#define _CODE 1 // Code layer + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_MUTE, KC_HOME, + MO(_CODE), KC_MPRV, KC_MNXT, KC_MPLY, + C(KC_LEFT), C(KC_UP), C(KC_DOWN), C(KC_RIGHT) + ), + [_CODE] = LAYOUT( + KC_MUTE, KC_END, + _______, RGB_MOD, RGB_VAI, RGB_TOG, + G(S(KC_5)), G(A(KC_ESC)), G(KC_F), RESET + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLD); + } else { + tap_code(KC_VOLU); + } + } + else if (index == 1) { + if (clockwise) { + tap_code(KC_PGUP); + } else { + tap_code(KC_PGDN); + } + } + return true; +} diff --git a/keyboards/draytronics/daisy/readme.md b/keyboards/draytronics/daisy/readme.md new file mode 100644 index 000000000000..6e8dd007aa3f --- /dev/null +++ b/keyboards/draytronics/daisy/readme.md @@ -0,0 +1,20 @@ +# DAISY +![daisy](https://www.draytronics.co.uk/wp-content/uploads/2020/12/repository-open-graph-template-1.png) + +An open source macro pad with rotary encoders and under glow, designed to be easily built with (mostly) through hole components. More info / kits / PCB designs available at [draytronics.co.uk/daisy](https://www.draytronics.co.uk/daisy) + +* Keyboard Maintainer: [Blake Drayson](https://github.com/ghostseven) +* Hardware Supported: DAISY PCB / ATMega328P +* Hardware Availability: [draytronics.co.uk](https://draytronics.co.uk) + +Make example for this keyboard (after setting up your build environment): + + make draytronics/daisy:default + +Flashing example for this keyboard: + + make draytronics/daisy: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). + +VIA design config file avaliable [here](https://www.draytronics.co.uk/f_daisy/draytronics_daisy_via_config.json) diff --git a/keyboards/draytronics/daisy/rules.mk b/keyboards/draytronics/daisy/rules.mk new file mode 100644 index 000000000000..e41c9da6c20d --- /dev/null +++ b/keyboards/draytronics/daisy/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega328p + +# Bootloader selection +BOOTLOADER = usbasploader + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes # Rotary encoder support diff --git a/keyboards/draytronics/elise/config.h b/keyboards/draytronics/elise/config.h new file mode 100644 index 000000000000..f5fde6987efa --- /dev/null +++ b/keyboards/draytronics/elise/config.h @@ -0,0 +1,70 @@ +/*Copyright 2021 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4454 //DT for DrayTronics +#define PRODUCT_ID 0x454C //EL for Elise +#define DEVICE_VER 0x0100 //Version 1 +#define MANUFACTURER Draytronics +#define PRODUCT ELISE + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { B2,B3, B1, F0, F1} +#define MATRIX_COL_PINS { F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4, D2, D3, D5} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +// ws2812 options +#define RGB_DI_PIN D1 // pin the DI on the ws2812 is hooked-up to +#ifdef RGB_DI_PIN + #define RGBLED_NUM 7 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + /*== all animations enable ==*/ + #define RGBLIGHT_ANIMATIONS +#endif diff --git a/keyboards/draytronics/elise/elise.c b/keyboards/draytronics/elise/elise.c new file mode 100755 index 000000000000..731202ab6d58 --- /dev/null +++ b/keyboards/draytronics/elise/elise.c @@ -0,0 +1,18 @@ +/*Copyright 2021 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 "elise.h" diff --git a/keyboards/draytronics/elise/elise.h b/keyboards/draytronics/elise/elise.h new file mode 100755 index 000000000000..750d651a238c --- /dev/null +++ b/keyboards/draytronics/elise/elise.h @@ -0,0 +1,135 @@ +/*Copyright 2021 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 _x_ KC_NO + +#include "quantum.h" + +#define LAYOUT_65_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ +{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ +{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ +{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, _x_, K2D, K2E }, \ +{ K30, _x_, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ +{ K40, K41, K42, _x_, _x_, K45, _x_, _x_, _x_, K49, K4A, K4B, K4C, K4D, K4E} \ +} + +#define LAYOUT_65_ansi_rwkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K45, K49, K4B, K4C, K4D, K4E \ +) { \ +{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ +{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ +{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, _x_, K2D, K2E }, \ +{ K30, _x_, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ +{ K40, K41, K42, _x_, _x_, K45, _x_, _x_, _x_, K49, _x_, K4B, K4C, K4D, K4E} \ +} + +#define LAYOUT_65_ansi_lwkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ +{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ +{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ +{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, _x_, K2D, K2E }, \ +{ K30, _x_, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ +{ K40, _x_, K42, _x_, _x_, K45, _x_, _x_, _x_, K49, K4A, K4B, K4C, K4D, K4E} \ +} + +#define LAYOUT_65_ansi_wkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K42, K45, K49, K4B, K4C, K4D, K4E \ +) { \ +{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ +{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ +{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, _x_, K2D, K2E }, \ +{ K30, _x_, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ +{ K40, _x_, K42, _x_, _x_, K45, _x_, _x_, _x_, K49, _x_, K4B, K4C, K4D, K4E} \ +} + +#define LAYOUT_65_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ +{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ +{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ +{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, _x_, K2D, K2E }, \ +{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ +{ K40, K41, K42, _x_, _x_, K45, _x_, _x_, _x_, K49, K4A, K4B, K4C, K4D, K4E} \ +} + +#define LAYOUT_65_iso_rwkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K45, K49, K4B, K4C, K4D, K4E \ +) { \ +{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ +{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ +{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, _x_, K2D, K2E }, \ +{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ +{ K40, K41, K42, _x_, _x_, K45, _x_, _x_, _x_, K49, _x_, K4B, K4C, K4D, K4E} \ +} + +#define LAYOUT_65_iso_lwkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ +{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ +{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ +{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, _x_, K2D, K2E }, \ +{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ +{ K40, _x_, K42, _x_, _x_, K45, _x_, _x_, _x_, K49, K4A, K4B, K4C, K4D, K4E} \ +} + +#define LAYOUT_65_iso_wkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K1D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K42, K45, K49, K4B, K4C, K4D, K4E \ +) { \ +{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ +{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ +{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, _x_, K2D, K2E }, \ +{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ +{ K40, _x_, K42, _x_, _x_, K45, _x_, _x_, _x_, K49, _x_, K4B, K4C, K4D, K4E} \ +} diff --git a/keyboards/draytronics/elise/info.json b/keyboards/draytronics/elise/info.json new file mode 100644 index 000000000000..ef73bbc30496 --- /dev/null +++ b/keyboards/draytronics/elise/info.json @@ -0,0 +1,621 @@ +{ + "keyboard_name": "Draytronics ELISE", + "url": "https://www.draytronics.co.uk/elise", + "maintainer": "ghostseven", + "width": 16, + "height": 5, + "layout_aliases": { + "LAYOUT_65_ansi_right_lrg": "LAYOUT_65_ansi_rwkl", + "LAYOUT_65_ansi_left_lrg": "LAYOUT_65_ansi_lwkl", + "LAYOUT_65_ansi_lrg": "LAYOUT_65_ansi_wkl", + "LAYOUT_65_iso_right_lrg": "LAYOUT_65_iso_rwkl", + "LAYOUT_65_iso_left_lrg": "LAYOUT_65_iso_lwkl", + "LAYOUT_65_iso_lrg": "LAYOUT_65_iso_wkl" + }, + "layouts": { + "LAYOUT_65_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"10", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"~", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[", "x":11.5, "y":1}, + {"label":"]", "x":12.5, "y":1}, + {"label":"\\", "x":13.5, "y":1, "w":1.5}, + {"label":"Delete", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",", "x":9.25, "y":3}, + {"label":".", "x":10.25, "y":3}, + {"label":"/", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4}, + {"label":"Fn", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_rwkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"10", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"~", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[", "x":11.5, "y":1}, + {"label":"]", "x":12.5, "y":1}, + {"label":"\\", "x":13.5, "y":1, "w":1.5}, + {"label":"Delete", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",", "x":9.25, "y":3}, + {"label":".", "x":10.25, "y":3}, + {"label":"/", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Fn", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_lwkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"10", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"~", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[", "x":11.5, "y":1}, + {"label":"]", "x":12.5, "y":1}, + {"label":"\\", "x":13.5, "y":1, "w":1.5}, + {"label":"Delete", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",", "x":9.25, "y":3}, + {"label":".", "x":10.25, "y":3}, + {"label":"/", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Alt", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4}, + {"label":"Fn", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_wkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"10", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"~", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[", "x":11.5, "y":1}, + {"label":"]", "x":12.5, "y":1}, + {"label":"\\", "x":13.5, "y":1, "w":1.5}, + {"label":"Delete", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",", "x":9.25, "y":3}, + {"label":".", "x":10.25, "y":3}, + {"label":"/", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Alt", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Fn", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"10", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"~", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[", "x":11.5, "y":1}, + {"label":"]", "x":12.5, "y":1}, + {"label":"Delete", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"#", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",", "x":9.25, "y":3}, + {"label":".", "x":10.25, "y":3}, + {"label":"/", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4}, + {"label":"Fn", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_rwkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"10", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"~", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[", "x":11.5, "y":1}, + {"label":"]", "x":12.5, "y":1}, + {"label":"Delete", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"#", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",", "x":9.25, "y":3}, + {"label":".", "x":10.25, "y":3}, + {"label":"/", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Win", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":"Space", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Fn", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_lwkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"10", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"~", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[", "x":11.5, "y":1}, + {"label":"]", "x":12.5, "y":1}, + {"label":"Delete", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"#", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",", "x":9.25, "y":3}, + {"label":".", "x":10.25, "y":3}, + {"label":"/", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Alt", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4}, + {"label":"Fn", "x":11, "y":4}, + {"label":"Ctrl", "x":12, "y":4}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + }, + "LAYOUT_65_iso_wkl": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"1", "x":1, "y":0}, + {"label":"2", "x":2, "y":0}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0}, + {"label":"5", "x":5, "y":0}, + {"label":"6", "x":6, "y":0}, + {"label":"7", "x":7, "y":0}, + {"label":"8", "x":8, "y":0}, + {"label":"9", "x":9, "y":0}, + {"label":"10", "x":10, "y":0}, + {"label":"-", "x":11, "y":0}, + {"label":"=", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + {"label":"~", "x":15, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"[", "x":11.5, "y":1}, + {"label":"]", "x":12.5, "y":1}, + {"label":"Delete", "x":15, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"#", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, + {"label":"PgUp", "x":15, "y":2}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"\\", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":",", "x":9.25, "y":3}, + {"label":".", "x":10.25, "y":3}, + {"label":"/", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"\u2191", "x":14, "y":3}, + {"label":"PgDn", "x":15, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.5}, + {"label":"Alt", "x":1.5, "y":4, "w":1.5}, + {"label":"Space", "x":3, "y":4, "w":7}, + {"label":"Alt", "x":10, "y":4, "w":1.5}, + {"label":"Fn", "x":11.5, "y":4, "w":1.5}, + {"label":"\u2190", "x":13, "y":4}, + {"label":"\u2193", "x":14, "y":4}, + {"label":"\u2192", "x":15, "y":4} + ] + } + } +} diff --git a/keyboards/draytronics/elise/keymaps/blake_iso/keymap.c b/keyboards/draytronics/elise/keymaps/blake_iso/keymap.c new file mode 100644 index 000000000000..3f613d492e68 --- /dev/null +++ b/keyboards/draytronics/elise/keymaps/blake_iso/keymap.c @@ -0,0 +1,68 @@ +/*Copyright 2021 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 custom_layers { + _BL, + _FL, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,----------------------------------------------------------------. + * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |~ ` | + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |PgUp| + * |----------------------------------------------------------------| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #|Entr|PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|RShif| ↑ |End | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |RAlt|RCtrl|Fn| ← | ↓ | → | + * `----------------------------------------------------------------' + */ + [_BL] = LAYOUT_65_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_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_PGUP, + 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_PGDN, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* Keymap _FL1: Function Layer 1 + * ,----------------------------------------------------------------. + * |~ `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete| Ins| + * |----------------------------------------------------------------| + * |RESET| | ↑ | | | | | | | | | | | | | + * |----------------------------------------------------------------| + * | | ← | ↓ | → | | | | | | | | | | | | + * |----------------------------------------------------------------| + * |HUI |SAI|VAI |RGBMOD| | | | | | | |Play|V+|Mut| + * |----------------------------------------------------------------| + * |HUD |SAD |VAD | RGB_Tog | | | | | + * `----------------------------------------------------------------' + */ + [_FL] = LAYOUT_65_iso( + 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, KC_INS, + RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_HUI, _______, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, + RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; diff --git a/keyboards/draytronics/elise/keymaps/default/keymap.c b/keyboards/draytronics/elise/keymaps/default/keymap.c new file mode 100644 index 000000000000..4208da13b303 --- /dev/null +++ b/keyboards/draytronics/elise/keymaps/default/keymap.c @@ -0,0 +1,67 @@ +/*Copyright 2021 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 custom_layers { + _BL, + _FL, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,----------------------------------------------------------------. + * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp| + * |----------------------------------------------------------------| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn| + * |----------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |End | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |RAlt|FN|RCtrl| ← | ↓ | → | + * `----------------------------------------------------------------' + */ + [_BL] = LAYOUT_65_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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* Keymap _FL: Function Layer + * ,----------------------------------------------------------------. + * | ~ | F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |INS | + * |----------------------------------------------------------------| + * |RESET| | ↑ | | | | | | | | | | | | | + * |------------------------------------------------------- -----| + * | | ← | ↓ | → | | | | | | | | | | | | + * |----------------------------------------------------------------| + * |HUI |SAI|VAI|RGBMOD| | | | | | | |Play |V+ |Mut | + * |----------------------------------------------------------------| + * |HUD |SAD |VAD | RGB_Tog | | | | | + * `----------------------------------------------------------------' + */ + [_FL] = LAYOUT_65_ansi( + 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, KC_INS, + RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, + RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, KC_TRNS, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), +}; diff --git a/keyboards/draytronics/elise/keymaps/default_iso/keymap.c b/keyboards/draytronics/elise/keymaps/default_iso/keymap.c new file mode 100644 index 000000000000..a51272a35715 --- /dev/null +++ b/keyboards/draytronics/elise/keymaps/default_iso/keymap.c @@ -0,0 +1,68 @@ +/*Copyright 2021 Blake Drayson / Draytronics + +Contact info@draytronics.co.uk + +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 custom_layers { + _BL, + _FL, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,----------------------------------------------------------------. + * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home| + * |----------------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |PgUp| + * |------------------------------------------------------- -----| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #|Entr|PgDn| + * |----------------------------------------------------------------| + * |Shift| \ | Z| X| C| V| B| N| M| ,| .| /|RShif| ↑ |End | + * |----------------------------------------------------------------| + * |Ctrl|Win |Alt | Space |RAlt|RCtrl|Fn| ← | ↓ | → | + * `----------------------------------------------------------------' + */ + [_BL] = LAYOUT_65_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_HOME, + 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_PGUP, + 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_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* Keymap _FL1: Function Layer 1 + * ,----------------------------------------------------------------. + * |~ `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete| Ins| + * |----------------------------------------------------------------| + * |RESET| | ↑ | | | | | | | | | | | | | + * |------------------------------------------------------- -----| + * | | ← | ↓ | → | | | | | | | | | | | | + * |----------------------------------------------------------------| + * |HUI |SAI|VAI |RGBMOD| | | | | | | | |Play|V+|Mut| + * |----------------------------------------------------------------| + * |HUD |SAD |VAD | RGB_Tog | | | | | + * `----------------------------------------------------------------' + */ + [_FL] = LAYOUT_65_iso( + 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, KC_INS, + RESET, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, + RGB_HUD, RGB_SAD, RGB_VAD, RGB_TOG, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; diff --git a/keyboards/draytronics/elise/readme.md b/keyboards/draytronics/elise/readme.md new file mode 100644 index 000000000000..278bc1065647 --- /dev/null +++ b/keyboards/draytronics/elise/readme.md @@ -0,0 +1,32 @@ +# ELISE + +![elise](https://www.draytronics.co.uk/wp-content/uploads/2021/04/repository-open-graph-template.png) + +A open source, low cost 65% keyboard PCB with USB-C, ESD protection, RGB underglow and XD68 case / plate compatability. Designed in the UK. +More info / sales / PCB designs available at [draytronics.co.uk/elise](https://draytronics.co.uk) + +* Keyboard Maintainer: [Blake Drayson](https://github.com/ghostseven) +* Hardware Supported: ELISE PCB / ATMega32U4 +* Hardware Availability: [draytronics.co.uk](https://draytronics.co.uk) + + +Entering DFU mode (to allow flashing): + + - Pressing the reset button on the back of the board when it is plugged in will enter DFU. + - Holding down the ESC key whilst plugging in the keyboard will enter DFU. + - If you have one of the provided keymaps flashed, then pressing FN-Tab will enter DFU. + +Make example for this keyboard (after setting up your build environment): + + make draytronics/elise:default + +Flashing example for this keyboard: + + make draytronics/elise: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). + + +![elise-pcb-top](https://www.draytronics.co.uk/wp-content/uploads/2021/04/Draytronics-Elise-PCB-V1-top.png) + +![elise-pcb-bot](https://www.draytronics.co.uk/wp-content/uploads/2021/04/Draytronics-Elise-PCB-V1-bottom.png) diff --git a/keyboards/draytronics/elise/rules.mk b/keyboards/draytronics/elise/rules.mk new file mode 100644 index 000000000000..aaaa2348200c --- /dev/null +++ b/keyboards/draytronics/elise/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi 65_iso diff --git a/keyboards/draytronics/scarlet/readme.md b/keyboards/draytronics/scarlet/readme.md index 4a548ec8d636..a1ba2e330fd5 100644 --- a/keyboards/draytronics/scarlet/readme.md +++ b/keyboards/draytronics/scarlet/readme.md @@ -2,11 +2,11 @@ ![scarlet](https://www.draytronics.co.uk/wp-content/uploads/2020/10/Scarlet-PCB-Compared-Combined.png) -A open source 17 key numpad keyboard, designed to be easily built at home with through hole components. More info / kits / PCB designs available at [draytronics.co.uk/scarlet](draytronics.co.uk) +A open source 17 key numpad keyboard, designed to be easily built at home with through hole components. More info / kits / PCB designs available at [draytronics.co.uk/scarlet](https://draytronics.co.uk) * Keyboard Maintainer: [Blake Drayson](https://github.com/ghostseven) * Hardware Supported: SCARLET PCB / ATMega32A -* Hardware Availability: [draytronics.co.uk](draytronics.co.uk) +* Hardware Availability: [draytronics.co.uk](https://draytronics.co.uk) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/draytronics/scarlet/rules.mk b/keyboards/draytronics/scarlet/rules.mk index 43f524034aa8..979ac444e528 100644 --- a/keyboards/draytronics/scarlet/rules.mk +++ b/keyboards/draytronics/scarlet/rules.mk @@ -5,12 +5,12 @@ MCU = atmega32a F_CPU = 16000000 # Bootloader selection -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/dubba175/rules.mk b/keyboards/dubba175/rules.mk index f9c2a3c5eac4..b51c96496c1c 100644 --- a/keyboards/dubba175/rules.mk +++ b/keyboards/dubba175/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/duck/eagle_viper/info.json b/keyboards/duck/eagle_viper/info.json deleted file mode 100644 index f20babdbcf30..000000000000 --- a/keyboards/duck/eagle_viper/info.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "keyboard_name": "Eagle/Viper", - "width": 15, - "height": 5, - "layouts": { - "LAYOUT_all": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Backspace", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"ISO#", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"ISO\\", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"GUI", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"GUI", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] - }, - "LAYOUT_eagle": { - "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"GUI", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"GUI", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] - }, - "LAYOUT_eagle_splits": { - "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"GUI", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"GUI", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] - }, - "LAYOUT_viper": { - "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"GUI", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"GUI", "x":12.5, "y":4}] - } - } -} diff --git a/keyboards/duck/eagle_viper/readme.md b/keyboards/duck/eagle_viper/readme.md deleted file mode 100644 index 63623940bec8..000000000000 --- a/keyboards/duck/eagle_viper/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# Duck Eagle/Viper - -Non official firmware for custom Korean keyboard with 60% key layout made by Duck. - -Newest version is the [Eagle/Viper V2](http://duck0113.tistory.com/127) - -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/duck/eagle_viper/rules.mk b/keyboards/duck/eagle_viper/rules.mk deleted file mode 100644 index 263767d06490..000000000000 --- a/keyboards/duck/eagle_viper/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -DEFAULT_FOLDER = duck/eagle_viper/v2 - -LAYOUTS = 60_ansi \ No newline at end of file diff --git a/keyboards/duck/eagle_viper/v2/info.json b/keyboards/duck/eagle_viper/v2/info.json new file mode 100644 index 000000000000..a6d4b8d886bb --- /dev/null +++ b/keyboards/duck/eagle_viper/v2/info.json @@ -0,0 +1,364 @@ +{ + "keyboard_name": "Eagle/Viper V2", + "width": 15, + "height": 5, + "layout_aliases": { + "LAYOUT_eagle": "LAYOUT_60_ansi", + "LAYOUT_viper": "LAYOUT_60_hhkb", + "LAYOUT_eagle_splits": "LAYOUT_60_ansi_split_bs_lshift_rshift" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"|", "x":13, "y":0}, + {"label":"~", "x":14, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"Backspace", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"ISO#", "x":12.75, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"label":"ISO\\", "x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"label":"Fn", "x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"GUI", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi": { + "layout": [ + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"GUI", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"GUI", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_lshift_rshift": { + "layout": [ + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"GUI", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"GUI", "x":11.25, "y":4, "w":1.25}, + {"label":"Menu", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"label":"~", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"label":"GUI", "x":1.5, "y":4}, + {"label":"Alt", "x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"label":"Alt", "x":11, "y":4, "w":1.5}, + {"label":"GUI", "x":12.5, "y":4} + ] + } + } +} diff --git a/keyboards/duck/eagle_viper/v2/readme.md b/keyboards/duck/eagle_viper/v2/readme.md index 2dca0b5b76ad..0e9685e13769 100644 --- a/keyboards/duck/eagle_viper/v2/readme.md +++ b/keyboards/duck/eagle_viper/v2/readme.md @@ -1,17 +1,16 @@ # Duck Eagle/Viper V2 -Non official firmware for custom Korean keyboard with 60% key layout made by Duck. -Group buy was run November 2016 via [geekhack](https://geekhack.org/index.php?topic=86087.0) with 100 keyboards total. +Non-official firmware for custom Korean keyboard with 60% key layout made by Duck. Group buy was run November 2016 via [geekhack](https://geekhack.org/index.php?topic=86087.0) with 100 keyboards total. Newest version is the [Eagle/Viper V2](http://duck0113.tistory.com/127). -Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) -Hardware Supported: Duck Eagle/Viper PCB Ver 2.0, Atmega32u4 -Hardware Availability: Wait until GB of the next revision +* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) +* Hardware Supported: Duck Eagle/Viper PCB Ver 2.0, Atmega32u4 +* Hardware Availability: Wait until GB of the next revision Make example for this keyboard (after setting up your build environment): - make eagle_viper/v2:default + make duck/eagle_viper/v2:default -**Reset Key:** To put the Eagle/Viper V2 into reset, hold caps lock key (`K2A`) while plugging in. +**Reset Key:** To put the Eagle/Viper V2 into reset, hold caps lock key (`K2A`) while plugging in. 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/duck/eagle_viper/v2/rules.mk b/keyboards/duck/eagle_viper/v2/rules.mk index 2f1b12397f87..ac00f7600027 100644 --- a/keyboards/duck/eagle_viper/v2/rules.mk +++ b/keyboards/duck/eagle_viper/v2/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,12 +18,11 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality BACKLIGHT_DRIVER = custom -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 -RGBLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 60_ansi 60_hhkb 60_ansi_split_bs_rshift CUSTOM_MATRIX = yes -SRC += indicator_leds.c \ - matrix.c duck_led/duck_led.c +SRC += indicator_leds.c matrix.c duck_led/duck_led.c diff --git a/keyboards/duck/eagle_viper/v2/v2.c b/keyboards/duck/eagle_viper/v2/v2.c index a60acb9784dc..d3e1368de98b 100644 --- a/keyboards/duck/eagle_viper/v2/v2.c +++ b/keyboards/duck/eagle_viper/v2/v2.c @@ -59,7 +59,3 @@ void led_set_kb(uint8_t usb_led) { indicator_leds_set(status); } - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - return process_record_user(keycode, record); -} diff --git a/keyboards/duck/eagle_viper/v2/v2.h b/keyboards/duck/eagle_viper/v2/v2.h index 7fefcf770cd2..78b6fe5ea168 100644 --- a/keyboards/duck/eagle_viper/v2/v2.h +++ b/keyboards/duck/eagle_viper/v2/v2.h @@ -47,7 +47,21 @@ { K0A, K0B, K0C, ___, ___, ___, ___, ___, K0I, ___, K0K, ___, K0M, K0N, K0O } \ } -#define LAYOUT_eagle_splits( \ +#define LAYOUT_60_ansi_split_bs_rshift( \ + K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, \ + K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3O, \ + K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2O, \ + K1A, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1M, K1N, K1O, \ + K0A, K0B, K0C, K0I, K0K, K0M, K0N, K0O \ +) { \ + { K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O }, \ + { K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, ___, K3O }, \ + { K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, ___, ___, K2O }, \ + { K1A, ___, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, ___, K1M, K1N, K1O }, \ + { K0A, K0B, K0C, ___, ___, ___, ___, ___, K0I, ___, K0K, ___, K0M, K0N, K0O } \ +} + +#define LAYOUT_60_ansi_split_bs_lshift_rshift( \ K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, \ K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3O, \ K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2O, \ @@ -61,7 +75,7 @@ { K0A, K0B, K0C, ___, ___, ___, ___, ___, K0I, ___, K0K, ___, K0M, K0N, K0O } \ } -#define LAYOUT_viper( \ +#define LAYOUT_60_hhkb( \ K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, \ K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3O, \ K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2O, \ @@ -74,6 +88,3 @@ { K1A, ___, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, ___, K1M, K1N, K1O }, \ { ___, K0B, K0C, ___, ___, ___, ___, ___, K0I, ___, ___, ___, K0M, K0N, ___ } \ } - -#define LAYOUT_eagle LAYOUT_60_ansi - diff --git a/keyboards/duck/jetfire/config.h b/keyboards/duck/jetfire/config.h index 37e81e830a97..593f064bd4d6 100644 --- a/keyboards/duck/jetfire/config.h +++ b/keyboards/duck/jetfire/config.h @@ -143,23 +143,3 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - diff --git a/keyboards/duck/jetfire/jetfire.c b/keyboards/duck/jetfire/jetfire.c index 0662489c6f26..9bb02ca22ccb 100644 --- a/keyboards/duck/jetfire/jetfire.c +++ b/keyboards/duck/jetfire/jetfire.c @@ -121,16 +121,6 @@ void backlight_set(uint8_t level) backlight_toggle_rgb(level & BACKLIGHT_RGB); } - - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - - void backlight_update_state() { cli(); diff --git a/keyboards/duck/jetfire/keymaps/default/keymap.c b/keyboards/duck/jetfire/keymaps/default/keymap.c index 9377ef00280d..fc5fd39ea5f0 100644 --- a/keyboards/duck/jetfire/keymaps/default/keymap.c +++ b/keyboards/duck/jetfire/keymaps/default/keymap.c @@ -25,19 +25,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_COMM), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/duck/jetfire/rules.mk b/keyboards/duck/jetfire/rules.mk index 1fd9c3e82721..3c07e432d0fd 100644 --- a/keyboards/duck/jetfire/rules.mk +++ b/keyboards/duck/jetfire/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -26,7 +19,6 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality BACKLIGHT_DRIVER = custom RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/duck/lightsaver/lightsaver.c b/keyboards/duck/lightsaver/lightsaver.c index 75e35b28b28b..e0fe918e7d5e 100644 --- a/keyboards/duck/lightsaver/lightsaver.c +++ b/keyboards/duck/lightsaver/lightsaver.c @@ -54,7 +54,3 @@ void led_set_kb(uint8_t usb_led) { led_set_user(usb_led); } - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - return process_record_user(keycode, record); -} diff --git a/keyboards/duck/lightsaver/rules.mk b/keyboards/duck/lightsaver/rules.mk index 6c6a776771d4..2229b1c804b5 100644 --- a/keyboards/duck/lightsaver/rules.mk +++ b/keyboards/duck/lightsaver/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality BACKLIGHT_DRIVER = custom -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/duck/octagon/v1/rules.mk b/keyboards/duck/octagon/v1/rules.mk index 18b7d73dd149..826781612b4c 100644 --- a/keyboards/duck/octagon/v1/rules.mk +++ b/keyboards/duck/octagon/v1/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality BACKLIGHT_DRIVER = custom -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/duck/octagon/v1/v1.c b/keyboards/duck/octagon/v1/v1.c index 2586882291e5..e9e88c70d0e0 100644 --- a/keyboards/duck/octagon/v1/v1.c +++ b/keyboards/duck/octagon/v1/v1.c @@ -44,7 +44,3 @@ void led_set_kb(uint8_t usb_led) { backlight_os_state & (1<. + */ +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ + k40, k41, k42, k45, k4a, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ +} + +#define LAYOUT_60_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ + k40, k41, k42, k45, k4a, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ +} + +#define LAYOUT_60_iso( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ + k40, k41, k42, k45, k4a, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ +} diff --git a/keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.c b/keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.c new file mode 100644 index 000000000000..a10223603ef9 --- /dev/null +++ b/keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.c @@ -0,0 +1,57 @@ +/* + ChibiOS Driver element - Copyright (C) 2019 /u/KeepItUnder + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#include "hal.h" + +#if HAL_USE_PAL || defined(__DOXYGEN__) +/** + * @brief PAL setup. + * @details Digital I/O ports static configuration as defined in @p board.h. + * This variable is used by the HAL when initializing the PAL driver. + */ +const PALConfig pal_default_config = { +# if NUC123_HAS_GPIOA + {VAL_GPIOA_PMD, VAL_GPIOA_OFFD, VAL_GPIOA_DMASK, VAL_GPIOA_DBEN, VAL_GPIOA_IMD, VAL_GPIOA_IEN, VAL_GPIOA_ISRC, VAL_GPIOA_DOUT}, +# endif +# if NUC123_HAS_GPIOB + {VAL_GPIOB_PMD, VAL_GPIOB_OFFD, VAL_GPIOB_DMASK, VAL_GPIOB_DBEN, VAL_GPIOB_IMD, VAL_GPIOB_IEN, VAL_GPIOB_ISRC, VAL_GPIOB_DOUT}, +# endif +# if NUC123_HAS_GPIOC + {VAL_GPIOC_PMD, VAL_GPIOC_OFFD, VAL_GPIOC_DMASK, VAL_GPIOC_DBEN, VAL_GPIOC_IMD, VAL_GPIOC_IEN, VAL_GPIOC_ISRC, VAL_GPIOC_DOUT}, +# endif +# if NUC123_HAS_GPIOD + {VAL_GPIOD_PMD, VAL_GPIOD_OFFD, VAL_GPIOD_DMASK, VAL_GPIOD_DBEN, VAL_GPIOD_IMD, VAL_GPIOD_IEN, VAL_GPIOD_ISRC, VAL_GPIOD_DOUT}, +# endif +# if NUC123_HAS_GPIOF + {VAL_GPIOF_PMD, VAL_GPIOF_OFFD, VAL_GPIOF_DMASK, VAL_GPIOF_DBEN, VAL_GPIOF_IMD, VAL_GPIOF_IEN, VAL_GPIOF_ISRC, VAL_GPIOF_DOUT}, +# endif +}; +#endif + +/** + * @brief Early initialization code. + * @details This initialization must be performed just after stack setup + * and before any other initialization. + */ +void __early_init(void) { + NUC123_clock_init(); +} + +/** + * @brief Board-specific initialization code. + * @todo Add your board-specific code, if any. + */ +void boardInit(void) {} diff --git a/keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.h b/keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.h new file mode 100644 index 000000000000..c43b2ce422ea --- /dev/null +++ b/keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.h @@ -0,0 +1,961 @@ +/* + ChibiOS Driver element - Copyright (C) 2019 /u/KeepItUnder + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef BOARD_H +#define BOARD_H + +/* + * Setup for Generic NUC123 board. + */ + +/* + * Board identifier. + */ +#define BOARD_NUC123SD4AN0 +#define BOARD_NAME "Nuvoton NUC123SD4AN0 MCU" + +/* + * Board oscillators-related settings. + * NOTE: LSE not fitted. + * NOTE: HSE is fitted. + */ +#if !defined(NUC123_LSECLK) +#define NUC123_LSECLK 0U +#endif + +#define NUC123_LSEDRV (3U << 3U) + +#if !defined(NUC123_HSECLK) +#define NUC123_HSECLK 12000000U +#endif + +//#define NUC123_HSE_BYPASS + +/* + * MCU type as defined in the NUC123 header. + */ +#define NUC123SD4AN0 + +/* + * GPIO Multi Function Pin USB Setup + * Requires Some GPIO pins to be disabled/set to USB + */ + +/* + * IO pins assignments. + */ +#define GPIOA_PIN0 0U +#define GPIOA_PIN1 1U +#define GPIOA_PIN2 2U +#define GPIOA_PIN3 3U +#define GPIOA_PIN4 4U +#define GPIOA_PIN5 5U +#define GPIOA_PIN6 6U +#define GPIOA_PIN7 7U +#define GPIOA_PIN8 8U +#define GPIOA_PIN9 9U +#define GPIOA_SPI1_MISO0 10U +#define GPIOA_SPI1_CLK 11U +#define GPIOA_PWM0 12U +#define GPIOA_PWM1 13U +#define GPIOA_PWM2 14U +#define GPIOA_PWM3 15U + +#define GPIOB_UART0_RXD 0U +#define GPIOB_UART0_TXD 1U +#define GPIOB_UART0_RTS 2U +#define GPIOB_UART0_CTS 3U +#define GPIOB_UART1_RXD 4U +#define GPIOB_UART1_TXD 5U +#define GPIOB_UART1_RTS 6U +#define GPIOB_UART1_CTS 7U +#define GPIOB_TM0 8U +#define GPIOB_TM1 9U +#define GPIOB_TM2 10U +#define GPIOB_PIN11 11U +#define GPIOB_CLK0 12U +#define GPIOB_PIN13 13U +#define GPIOB_INT0 14U +#define GPIOB_INT1 15U + +#define GPIOC_PIN0 0U +#define GPIOC_PIN1 1U +#define GPIOC_PIN2 2U +#define GPIOC_PIN3 3U +#define GPIOC_PIN4 4U +#define GPIOC_PIN5 5U +#define GPIOC_PIN6 6U +#define GPIOC_PIN7 7U +#define GPIOC_PIN8 8U +#define GPIOC_PIN9 9U +#define GPIOC_PIN10 10U +#define GPIOC_PIN11 11U +#define GPIOC_PIN12 12U +#define GPIOC_PIN13 13U +#define GPIOC_PIN14 14U +#define GPIOC_PIN15 15U + +#define GPIOD_ADC0 0U +#define GPIOD_ADC1 1U +#define GPIOD_ADC2 2U +#define GPIOD_ADC3 3U +#define GPIOD_ADC4 4U +#define GPIOD_ADC5 5U +#define GPIOD_PIN6 6U +#define GPIOD_PIN7 7U +#define GPIOD_PIN8 8U +#define GPIOD_PIN9 9U +#define GPIOD_PIN10 10U +#define GPIOD_PIN11 11U +#define GPIOD_PIN12 12U +#define GPIOD_PIN13 13U +#define GPIOD_PIN14 14U +#define GPIOD_PIN15 15U + +#define GPIOE_PIN0 0U +#define GPIOE_PIN1 1U +#define GPIOE_PIN2 2U +#define GPIOE_PIN3 3U +#define GPIOE_PIN4 4U +#define GPIOE_PIN5 5U +#define GPIOE_PIN6 6U +#define GPIOE_PIN7 7U +#define GPIOE_PIN8 8U +#define GPIOE_PIN9 9U +#define GPIOE_PIN10 10U +#define GPIOE_PIN11 11U +#define GPIOE_PIN12 12U +#define GPIOE_PIN13 13U +#define GPIOE_PIN14 14U +#define GPIOE_PIN15 15U + +#define GPIOF_OSC_OUT 0U +#define GPIOF_OSC_IN 1U +#define GPIOF_I2C0_SDA 2U +#define GPIOF_I2C0_SCL 3U +#define GPIOF_PIN4 4U +#define GPIOF_PIN5 5U +#define GPIOF_PIN6 6U +#define GPIOF_PIN7 7U +#define GPIOF_PIN8 8U +#define GPIOF_PIN9 9U +#define GPIOF_PIN10 10U +#define GPIOF_PIN11 11U +#define GPIOF_PIN12 12U +#define GPIOF_PIN13 13U +#define GPIOF_PIN14 14U +#define GPIOF_PIN15 15U + +/* + * IO lines assignments. + */ +#define LINE_USB_DM PAL_LINE(GPIOA, 11U) +#define LINE_USB_DP PAL_LINE(GPIOA, 12U) +#define LINE_SWDIO PAL_LINE(GPIOA, 13U) +#define LINE_SWCLK PAL_LINE(GPIOA, 14U) + +// #define LINE_SPI2_SCK PAL_LINE(GPIOB, 13U) +// #define LINE_SPI2_MISO PAL_LINE(GPIOB, 14U) +// #define LINE_SPI2_MOSI PAL_LINE(GPIOB, 15U) + +#define LINE_OSC_IN PAL_LINE(GPIOF, 0U) +#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U) + +/* + * I/O ports initial setup, this configuration is established soon after reset + * in the initialization code. + * Please refer to the NUC123 Reference Manual for details. + */ +#define PIN_MODE_INPUT(n) (0U << ((n) * 2U)) +#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U)) +#define PIN_MODE_OPENDRAIN(n) (2U << ((n) * 2U)) +#define PIN_MODE_QUASI(n) (3U << ((n) * 2U)) +#define PIN_DIGITAL_EN(n) (0U << (n)) +#define PIN_DIGITAL_DIS(n) (1U << (n)) +#define PIN_DMASK_DIS(n) (0U << (n)) +#define PIN_DMASK_EN(n) (1U << (n)) +#define PIN_DBNCE_DIS(n) (0U << (n)) +#define PIN_DBNCE_EN(n) (1U << (n)) +#define PIN_IMD_EDGE(n) (0U << (n)) +#define PIN_IMD_LVL(n) (1U << (n)) +#define PIN_IEN_FELL_DIS(n) (0U << (n)) +#define PIN_IEN_FELL_EN(n) (1U << (n)) +#define PIN_IEN_REHL_DIS(n) ((0U << (n)) << 16) +#define PIN_IEN_REHL_EN(n) ((1U << (n)) << 16) +#define PIN_ISRC_EN(n) (1U << (n)) +#define PIN_ISRC_DIS(n) (0U << (n)) +#define PIN_ISRC_CLR(n) (1U << (n)) +#define PIN_DATA_LOW(n) (0U << (n)) +#define PIN_DATA_HIGH(n) (1U << (n)) + +/* + * GPIOA setup: + * + * PA0 - PIN0 (input pullup). + * PA1 - PIN1 (input pullup). + * PA2 - PIN2 (input pullup). + * PA3 - PIN3 (input pullup). + * PA4 - PIN4 (input pullup). + * PA5 - PIN5 (input pullup). + * PA6 - PIN6 (input pullup). + * PA7 - PIN7 (input pullup). + * PA8 - PIN8 (input pullup). + * PA9 - PIN9 (input pullup). + * PA10 - SPI1_MISO0 (input pullup). + * PA11 - SPI1_CLK (input floating). + * PA12 - PWM0 (input floating). + * PA13 - PWM1 (input pullup). + * PA14 - PWM2 (input pullup). + * PA15 - PWM3 (input pullup). + */ + +#define VAL_GPIOA_PMD (PIN_MODE_INPUT(GPIOA_PIN0) | \ + PIN_MODE_INPUT(GPIOA_PIN1) | \ + PIN_MODE_INPUT(GPIOA_PIN2) | \ + PIN_MODE_INPUT(GPIOA_PIN3) | \ + PIN_MODE_INPUT(GPIOA_PIN4) | \ + PIN_MODE_INPUT(GPIOA_PIN5) | \ + PIN_MODE_INPUT(GPIOA_PIN6) | \ + PIN_MODE_INPUT(GPIOA_PIN7) | \ + PIN_MODE_INPUT(GPIOA_PIN8) | \ + PIN_MODE_INPUT(GPIOA_PIN9) | \ + PIN_MODE_INPUT(GPIOA_SPI1_MISO0) | \ + PIN_MODE_INPUT(GPIOA_SPI1_CLK) | \ + PIN_MODE_INPUT(GPIOA_PWM0) | \ + PIN_MODE_INPUT(GPIOA_PWM1) | \ + PIN_MODE_INPUT(GPIOA_PWM2) | \ + PIN_MODE_INPUT(GPIOA_PWM3)) +#define VAL_GPIOA_OFFD (PIN_DIGITAL_EN(GPIOA_PIN0) | \ + PIN_DIGITAL_EN(GPIOA_PIN1) | \ + PIN_DIGITAL_EN(GPIOA_PIN2) | \ + PIN_DIGITAL_EN(GPIOA_PIN3) | \ + PIN_DIGITAL_EN(GPIOA_PIN4) | \ + PIN_DIGITAL_EN(GPIOA_PIN5) | \ + PIN_DIGITAL_EN(GPIOA_PIN6) | \ + PIN_DIGITAL_EN(GPIOA_PIN7) | \ + PIN_DIGITAL_EN(GPIOA_PIN8) | \ + PIN_DIGITAL_EN(GPIOA_PIN9) | \ + PIN_DIGITAL_EN(GPIOA_SPI1_MISO0) | \ + PIN_DIGITAL_EN(GPIOA_SPI1_CLK) | \ + PIN_DIGITAL_EN(GPIOA_PWM0) | \ + PIN_DIGITAL_EN(GPIOA_PWM1) | \ + PIN_DIGITAL_EN(GPIOA_PWM2) | \ + PIN_DIGITAL_EN(GPIOA_PWM3)) +#define VAL_GPIOA_DMASK (PIN_DMASK_EN(GPIOA_PIN0) | \ + PIN_DMASK_EN(GPIOA_PIN1) | \ + PIN_DMASK_EN(GPIOA_PIN2) | \ + PIN_DMASK_EN(GPIOA_PIN3) | \ + PIN_DMASK_EN(GPIOA_PIN4) | \ + PIN_DMASK_EN(GPIOA_PIN5) | \ + PIN_DMASK_EN(GPIOA_PIN6) | \ + PIN_DMASK_EN(GPIOA_PIN7) | \ + PIN_DMASK_EN(GPIOA_PIN8) | \ + PIN_DMASK_EN(GPIOA_PIN9) | \ + PIN_DMASK_EN(GPIOA_SPI1_MISO0) | \ + PIN_DMASK_EN(GPIOA_SPI1_CLK) | \ + PIN_DMASK_EN(GPIOA_PWM0) | \ + PIN_DMASK_EN(GPIOA_PWM1) | \ + PIN_DMASK_EN(GPIOA_PWM2) | \ + PIN_DMASK_EN(GPIOA_PWM3)) +#define VAL_GPIOA_DBEN (PIN_DBNCE_EN(GPIOA_PIN0) | \ + PIN_DBNCE_EN(GPIOA_PIN1) | \ + PIN_DBNCE_EN(GPIOA_PIN2) | \ + PIN_DBNCE_EN(GPIOA_PIN3) | \ + PIN_DBNCE_EN(GPIOA_PIN4) | \ + PIN_DBNCE_EN(GPIOA_PIN5) | \ + PIN_DBNCE_EN(GPIOA_PIN6) | \ + PIN_DBNCE_EN(GPIOA_PIN7) | \ + PIN_DBNCE_EN(GPIOA_PIN8) | \ + PIN_DBNCE_EN(GPIOA_PIN9) | \ + PIN_DBNCE_EN(GPIOA_SPI1_MISO0) | \ + PIN_DBNCE_EN(GPIOA_SPI1_CLK) | \ + PIN_DBNCE_EN(GPIOA_PWM0) | \ + PIN_DBNCE_EN(GPIOA_PWM1) | \ + PIN_DBNCE_EN(GPIOA_PWM2) | \ + PIN_DBNCE_EN(GPIOA_PWM3)) +#define VAL_GPIOA_IMD (PIN_IMD_EDGE(GPIOA_PIN0) | \ + PIN_IMD_EDGE(GPIOA_PIN1) | \ + PIN_IMD_EDGE(GPIOA_PIN2) | \ + PIN_IMD_EDGE(GPIOA_PIN3) | \ + PIN_IMD_EDGE(GPIOA_PIN4) | \ + PIN_IMD_EDGE(GPIOA_PIN5) | \ + PIN_IMD_EDGE(GPIOA_PIN6) | \ + PIN_IMD_EDGE(GPIOA_PIN7) | \ + PIN_IMD_EDGE(GPIOA_PIN8) | \ + PIN_IMD_EDGE(GPIOA_PIN9) | \ + PIN_IMD_EDGE(GPIOA_SPI1_MISO0) | \ + PIN_IMD_EDGE(GPIOA_SPI1_CLK) | \ + PIN_IMD_EDGE(GPIOA_PWM0) | \ + PIN_IMD_EDGE(GPIOA_PWM1) | \ + PIN_IMD_EDGE(GPIOA_PWM2) | \ + PIN_IMD_EDGE(GPIOA_PWM3)) +#define VAL_GPIOA_IEN (PIN_IEN_FELL_DIS(GPIOA_PIN0) | \ + PIN_IEN_FELL_DIS(GPIOA_PIN1) | \ + PIN_IEN_FELL_DIS(GPIOA_PIN2) | \ + PIN_IEN_FELL_DIS(GPIOA_PIN3) | \ + PIN_IEN_FELL_DIS(GPIOA_PIN4) | \ + PIN_IEN_FELL_DIS(GPIOA_PIN5) | \ + PIN_IEN_FELL_DIS(GPIOA_PIN6) | \ + PIN_IEN_FELL_DIS(GPIOA_PIN7) | \ + PIN_IEN_FELL_DIS(GPIOA_PIN8) | \ + PIN_IEN_FELL_DIS(GPIOA_PIN9) | \ + PIN_IEN_FELL_DIS(GPIOA_SPI1_MISO0) | \ + PIN_IEN_FELL_DIS(GPIOA_SPI1_CLK) | \ + PIN_IEN_FELL_DIS(GPIOA_PWM0) | \ + PIN_IEN_FELL_DIS(GPIOA_PWM1) | \ + PIN_IEN_FELL_DIS(GPIOA_PWM2) | \ + PIN_IEN_FELL_DIS(GPIOA_PWM3)) +#define VAL_GPIOA_ISRC (PIN_ISRC_DIS(GPIOA_PIN0) | \ + PIN_ISRC_DIS(GPIOA_PIN1) | \ + PIN_ISRC_DIS(GPIOA_PIN2) | \ + PIN_ISRC_DIS(GPIOA_PIN3) | \ + PIN_ISRC_DIS(GPIOA_PIN4) | \ + PIN_ISRC_DIS(GPIOA_PIN5) | \ + PIN_ISRC_DIS(GPIOA_PIN6) | \ + PIN_ISRC_DIS(GPIOA_PIN7) | \ + PIN_ISRC_DIS(GPIOA_PIN8) | \ + PIN_ISRC_DIS(GPIOA_PIN9) | \ + PIN_ISRC_DIS(GPIOA_SPI1_MISO0) | \ + PIN_ISRC_DIS(GPIOA_SPI1_CLK) | \ + PIN_ISRC_DIS(GPIOA_PWM0) | \ + PIN_ISRC_DIS(GPIOA_PWM1) | \ + PIN_ISRC_DIS(GPIOA_PWM2) | \ + PIN_ISRC_DIS(GPIOA_PWM3)) +#define VAL_GPIOA_DOUT (PIN_DATA_LOW(GPIOA_PIN0) | \ + PIN_DATA_LOW(GPIOA_PIN1) | \ + PIN_DATA_LOW(GPIOA_PIN2) | \ + PIN_DATA_LOW(GPIOA_PIN3) | \ + PIN_DATA_LOW(GPIOA_PIN4) | \ + PIN_DATA_LOW(GPIOA_PIN5) | \ + PIN_DATA_LOW(GPIOA_PIN6) | \ + PIN_DATA_LOW(GPIOA_PIN7) | \ + PIN_DATA_LOW(GPIOA_PIN8) | \ + PIN_DATA_LOW(GPIOA_PIN9) | \ + PIN_DATA_LOW(GPIOA_SPI1_MISO0) | \ + PIN_DATA_LOW(GPIOA_SPI1_CLK) | \ + PIN_DATA_LOW(GPIOA_PWM0) | \ + PIN_DATA_LOW(GPIOA_PWM1) | \ + PIN_DATA_LOW(GPIOA_PWM2) | \ + PIN_DATA_LOW(GPIOA_PWM3)) + +/* + * GPIOB setup: + * + * PB0 - UART0_RXD (input pullup). + * PB1 - UART0_TXD (output). + * PB2 - UART0_RTS (output). + * PB3 - UART0_CTS (output). + * PB4 - UART1_RXD (output). + * PB5 - UART1_TXD (output). + * PB6 - UART1_RTS (output). + * PB7 - UART1_CTS (output). + * PB8 - TM0 (input pullup). + * PB9 - TM1 (input pullup). + * PB10 - TM2 (input pullup). + * PB11 - PIN11 (input pullup). + * PB12 - CLK0 (output). + * PB13 - PIN13 (output). + * PB14 - INT0 (debug output). + * PB15 - INT1 (input pullup). + */ +#define VAL_GPIOB_PMD (PIN_MODE_INPUT(GPIOB_UART0_RXD) | \ + PIN_MODE_OUTPUT(GPIOB_UART0_TXD) | \ + PIN_MODE_OUTPUT(GPIOB_UART0_RTS) | \ + PIN_MODE_OUTPUT(GPIOB_UART0_CTS) | \ + PIN_MODE_OUTPUT(GPIOB_UART1_RXD) | \ + PIN_MODE_OUTPUT(GPIOB_UART1_TXD) | \ + PIN_MODE_OUTPUT(GPIOB_UART1_RTS) | \ + PIN_MODE_OUTPUT(GPIOB_UART1_CTS) | \ + PIN_MODE_INPUT(GPIOB_TM0) | \ + PIN_MODE_INPUT(GPIOB_TM1) | \ + PIN_MODE_INPUT(GPIOB_TM2) | \ + PIN_MODE_INPUT(GPIOB_PIN11) | \ + PIN_MODE_OUTPUT(GPIOB_CLK0) | \ + PIN_MODE_OUTPUT(GPIOB_PIN13) | \ + PIN_MODE_OUTPUT(GPIOB_INT0) | \ + PIN_MODE_INPUT(GPIOB_INT1)) +#define VAL_GPIOB_OFFD (PIN_DIGITAL_EN(GPIOB_UART0_RXD) | \ + PIN_DIGITAL_DIS(GPIOB_UART0_TXD) | \ + PIN_DIGITAL_DIS(GPIOB_UART0_RTS) | \ + PIN_DIGITAL_DIS(GPIOB_UART0_CTS) | \ + PIN_DIGITAL_DIS(GPIOB_UART1_RXD) | \ + PIN_DIGITAL_DIS(GPIOB_UART1_TXD) | \ + PIN_DIGITAL_DIS(GPIOB_UART1_RTS) | \ + PIN_DIGITAL_DIS(GPIOB_UART1_CTS) | \ + PIN_DIGITAL_DIS(GPIOB_TM0) | \ + PIN_DIGITAL_EN(GPIOB_TM1) | \ + PIN_DIGITAL_EN(GPIOB_TM2) | \ + PIN_DIGITAL_EN(GPIOB_PIN11) | \ + PIN_DIGITAL_DIS(GPIOB_CLK0) | \ + PIN_DIGITAL_DIS(GPIOB_PIN13) | \ + PIN_DIGITAL_DIS(GPIOB_INT0) | \ + PIN_DIGITAL_EN(GPIOB_INT1)) +#define VAL_GPIOB_DMASK (PIN_DMASK_EN(GPIOB_UART0_RXD) | \ + PIN_DMASK_DIS(GPIOB_UART0_TXD) | \ + PIN_DMASK_DIS(GPIOB_UART0_RTS) | \ + PIN_DMASK_DIS(GPIOB_UART0_CTS) | \ + PIN_DMASK_DIS(GPIOB_UART1_RXD) | \ + PIN_DMASK_DIS(GPIOB_UART1_TXD) | \ + PIN_DMASK_DIS(GPIOB_UART1_RTS) | \ + PIN_DMASK_DIS(GPIOB_UART1_CTS) | \ + PIN_DMASK_EN(GPIOB_TM0) | \ + PIN_DMASK_EN(GPIOB_TM1) | \ + PIN_DMASK_EN(GPIOB_TM2) | \ + PIN_DMASK_EN(GPIOB_PIN11) | \ + PIN_DMASK_DIS(GPIOB_CLK0) | \ + PIN_DMASK_DIS(GPIOB_PIN13) | \ + PIN_DMASK_DIS(GPIOB_INT0) | \ + PIN_DMASK_EN(GPIOB_INT1)) +#define VAL_GPIOB_DBEN (PIN_DBNCE_EN(GPIOB_UART0_RXD) | \ + PIN_DBNCE_DIS(GPIOB_UART0_TXD) | \ + PIN_DBNCE_DIS(GPIOB_UART0_RTS) | \ + PIN_DBNCE_DIS(GPIOB_UART0_CTS) | \ + PIN_DBNCE_DIS(GPIOB_UART1_RXD) | \ + PIN_DBNCE_DIS(GPIOB_UART1_TXD) | \ + PIN_DBNCE_DIS(GPIOB_UART1_RTS) | \ + PIN_DBNCE_DIS(GPIOB_UART1_CTS) | \ + PIN_DBNCE_EN(GPIOB_TM0) | \ + PIN_DBNCE_EN(GPIOB_TM1) | \ + PIN_DBNCE_EN(GPIOB_TM2) | \ + PIN_DBNCE_EN(GPIOB_PIN11) | \ + PIN_DBNCE_DIS(GPIOB_CLK0) | \ + PIN_DBNCE_DIS(GPIOB_PIN13) | \ + PIN_DBNCE_DIS(GPIOB_INT0) | \ + PIN_DBNCE_EN(GPIOB_INT1)) +#define VAL_GPIOB_IMD (PIN_IMD_EDGE(GPIOB_UART0_RXD) | \ + PIN_IMD_EDGE(GPIOB_UART0_TXD) | \ + PIN_IMD_EDGE(GPIOB_UART0_RTS) | \ + PIN_IMD_EDGE(GPIOB_UART0_CTS) | \ + PIN_IMD_EDGE(GPIOB_UART1_RXD) | \ + PIN_IMD_EDGE(GPIOB_UART1_TXD) | \ + PIN_IMD_EDGE(GPIOB_UART1_RTS) | \ + PIN_IMD_EDGE(GPIOB_UART1_CTS) | \ + PIN_IMD_EDGE(GPIOB_TM0) | \ + PIN_IMD_EDGE(GPIOB_TM1) | \ + PIN_IMD_EDGE(GPIOB_TM2) | \ + PIN_IMD_EDGE(GPIOB_PIN11) | \ + PIN_IMD_EDGE(GPIOB_CLK0) | \ + PIN_IMD_EDGE(GPIOB_PIN13) | \ + PIN_IMD_EDGE(GPIOB_INT0) | \ + PIN_IMD_EDGE(GPIOB_INT1)) +#define VAL_GPIOB_IEN (PIN_IEN_FELL_DIS(GPIOB_UART0_RXD) | \ + PIN_IEN_FELL_DIS(GPIOB_UART0_TXD) | \ + PIN_IEN_FELL_DIS(GPIOB_UART0_RTS) | \ + PIN_IEN_FELL_DIS(GPIOB_UART0_CTS) | \ + PIN_IEN_FELL_DIS(GPIOB_UART1_RXD) | \ + PIN_IEN_FELL_DIS(GPIOB_UART1_TXD) | \ + PIN_IEN_FELL_DIS(GPIOB_UART1_RTS) | \ + PIN_IEN_FELL_DIS(GPIOB_UART1_CTS) | \ + PIN_IEN_FELL_DIS(GPIOB_TM0) | \ + PIN_IEN_FELL_DIS(GPIOB_TM1) | \ + PIN_IEN_FELL_DIS(GPIOB_TM2) | \ + PIN_IEN_FELL_DIS(GPIOB_PIN11) | \ + PIN_IEN_FELL_DIS(GPIOB_CLK0) | \ + PIN_IEN_FELL_DIS(GPIOB_PIN13) | \ + PIN_IEN_FELL_DIS(GPIOB_INT0) | \ + PIN_IEN_FELL_DIS(GPIOB_INT1)) +#define VAL_GPIOB_ISRC (PIN_ISRC_DIS(GPIOB_UART0_RXD) | \ + PIN_ISRC_DIS(GPIOB_UART0_TXD) | \ + PIN_ISRC_DIS(GPIOB_UART0_RTS) | \ + PIN_ISRC_DIS(GPIOB_UART0_CTS) | \ + PIN_ISRC_DIS(GPIOB_UART1_RXD) | \ + PIN_ISRC_DIS(GPIOB_UART1_TXD) | \ + PIN_ISRC_DIS(GPIOB_UART1_RTS) | \ + PIN_ISRC_DIS(GPIOB_UART1_CTS) | \ + PIN_ISRC_DIS(GPIOB_TM0) | \ + PIN_ISRC_DIS(GPIOB_TM1) | \ + PIN_ISRC_DIS(GPIOB_TM2) | \ + PIN_ISRC_DIS(GPIOB_PIN11) | \ + PIN_ISRC_DIS(GPIOB_CLK0) | \ + PIN_ISRC_DIS(GPIOB_PIN13) | \ + PIN_ISRC_DIS(GPIOB_INT0) | \ + PIN_ISRC_DIS(GPIOB_INT1)) +#define VAL_GPIOB_DOUT (PIN_DATA_LOW(GPIOB_UART0_RXD) | \ + PIN_DATA_LOW(GPIOB_UART0_TXD) | \ + PIN_DATA_LOW(GPIOB_UART0_RTS) | \ + PIN_DATA_LOW(GPIOB_UART0_CTS) | \ + PIN_DATA_LOW(GPIOB_UART1_RXD) | \ + PIN_DATA_LOW(GPIOB_UART1_TXD) | \ + PIN_DATA_LOW(GPIOB_UART1_RTS) | \ + PIN_DATA_LOW(GPIOB_UART1_CTS) | \ + PIN_DATA_LOW(GPIOB_TM0) | \ + PIN_DATA_LOW(GPIOB_TM1) | \ + PIN_DATA_LOW(GPIOB_TM2) | \ + PIN_DATA_LOW(GPIOB_PIN11) | \ + PIN_DATA_LOW(GPIOB_CLK0) | \ + PIN_DATA_LOW(GPIOB_PIN13) | \ + PIN_DATA_LOW(GPIOB_INT0) | \ + PIN_DATA_LOW(GPIOB_INT1)) + +/* + * GPIOC setup: + * + * PC0 - PIN0 (input pullup). + * PC1 - PIN1 (input pullup). + * PC2 - PIN2 (input pullup). + * PC3 - PIN3 (input pullup). + * PC4 - PIN4 (output). + * PC5 - PIN5 (output). + * PC6 - PIN6 (input pullup). + * PC7 - PIN7 (input pullup). + * PC8 - PIN8 (input pullup). + * PC9 - PIN9 (input pullup). + * PC10 - PIN10 (input pullup). + * PC11 - PIN11 (input pullup). + * PC12 - PIN12 (input pullup). + * PC13 - PIN13 (input pullup). + * PC14 - PIN14 (input pullup). + * PC15 - PIN15 (input pullup). + */ +#define VAL_GPIOC_PMD (PIN_MODE_INPUT(GPIOC_PIN0) | \ + PIN_MODE_INPUT(GPIOC_PIN1) | \ + PIN_MODE_INPUT(GPIOC_PIN2) | \ + PIN_MODE_INPUT(GPIOC_PIN3) | \ + PIN_MODE_OUTPUT(GPIOC_PIN4) | \ + PIN_MODE_OUTPUT(GPIOC_PIN5) | \ + PIN_MODE_INPUT(GPIOC_PIN6) | \ + PIN_MODE_INPUT(GPIOC_PIN7) | \ + PIN_MODE_INPUT(GPIOC_PIN8) | \ + PIN_MODE_INPUT(GPIOC_PIN9) | \ + PIN_MODE_INPUT(GPIOC_PIN10) | \ + PIN_MODE_INPUT(GPIOC_PIN11) | \ + PIN_MODE_INPUT(GPIOC_PIN12) | \ + PIN_MODE_INPUT(GPIOC_PIN13) | \ + PIN_MODE_INPUT(GPIOC_PIN14) | \ + PIN_MODE_INPUT(GPIOC_PIN15)) +#define VAL_GPIOC_OFFD (PIN_DIGITAL_EN(GPIOC_PIN0) | \ + PIN_DIGITAL_EN(GPIOC_PIN1) | \ + PIN_DIGITAL_EN(GPIOC_PIN2) | \ + PIN_DIGITAL_EN(GPIOC_PIN3) | \ + PIN_DIGITAL_DIS(GPIOC_PIN4) | \ + PIN_DIGITAL_DIS(GPIOC_PIN5) | \ + PIN_DIGITAL_EN(GPIOC_PIN6) | \ + PIN_DIGITAL_EN(GPIOC_PIN7) | \ + PIN_DIGITAL_EN(GPIOC_PIN8) | \ + PIN_DIGITAL_EN(GPIOC_PIN9) | \ + PIN_DIGITAL_EN(GPIOC_PIN10) | \ + PIN_DIGITAL_EN(GPIOC_PIN11) | \ + PIN_DIGITAL_EN(GPIOC_PIN12) | \ + PIN_DIGITAL_EN(GPIOC_PIN13) | \ + PIN_DIGITAL_EN(GPIOC_PIN14) | \ + PIN_DIGITAL_EN(GPIOC_PIN15)) +#define VAL_GPIOC_DMASK (PIN_DMASK_EN(GPIOC_PIN0) | \ + PIN_DMASK_EN(GPIOC_PIN1) | \ + PIN_DMASK_EN(GPIOC_PIN2) | \ + PIN_DMASK_EN(GPIOC_PIN3) | \ + PIN_DMASK_DIS(GPIOC_PIN4) | \ + PIN_DMASK_DIS(GPIOC_PIN5) | \ + PIN_DMASK_EN(GPIOC_PIN6) | \ + PIN_DMASK_EN(GPIOC_PIN7) | \ + PIN_DMASK_EN(GPIOC_PIN8) | \ + PIN_DMASK_EN(GPIOC_PIN9) | \ + PIN_DMASK_EN(GPIOC_PIN10) | \ + PIN_DMASK_EN(GPIOC_PIN11) | \ + PIN_DMASK_EN(GPIOC_PIN12) | \ + PIN_DMASK_EN(GPIOC_PIN13) | \ + PIN_DMASK_EN(GPIOC_PIN14) | \ + PIN_DMASK_EN(GPIOC_PIN15)) +#define VAL_GPIOC_DBEN (PIN_DBNCE_EN(GPIOC_PIN0) | \ + PIN_DBNCE_EN(GPIOC_PIN1) | \ + PIN_DBNCE_EN(GPIOC_PIN2) | \ + PIN_DBNCE_EN(GPIOC_PIN3) | \ + PIN_DBNCE_DIS(GPIOC_PIN4) | \ + PIN_DBNCE_DIS(GPIOC_PIN5) | \ + PIN_DBNCE_EN(GPIOC_PIN6) | \ + PIN_DBNCE_EN(GPIOC_PIN7) | \ + PIN_DBNCE_EN(GPIOC_PIN8) | \ + PIN_DBNCE_EN(GPIOC_PIN9) | \ + PIN_DBNCE_EN(GPIOC_PIN10) | \ + PIN_DBNCE_EN(GPIOC_PIN11) | \ + PIN_DBNCE_EN(GPIOC_PIN12) | \ + PIN_DBNCE_EN(GPIOC_PIN13) | \ + PIN_DBNCE_EN(GPIOC_PIN14) | \ + PIN_DBNCE_EN(GPIOC_PIN15)) +#define VAL_GPIOC_IMD (PIN_IMD_EDGE(GPIOC_PIN0) | \ + PIN_IMD_EDGE(GPIOC_PIN1) | \ + PIN_IMD_EDGE(GPIOC_PIN2) | \ + PIN_IMD_EDGE(GPIOC_PIN3) | \ + PIN_IMD_EDGE(GPIOC_PIN4) | \ + PIN_IMD_EDGE(GPIOC_PIN5) | \ + PIN_IMD_EDGE(GPIOC_PIN6) | \ + PIN_IMD_EDGE(GPIOC_PIN7) | \ + PIN_IMD_EDGE(GPIOC_PIN8) | \ + PIN_IMD_EDGE(GPIOC_PIN9) | \ + PIN_IMD_EDGE(GPIOC_PIN10) | \ + PIN_IMD_EDGE(GPIOC_PIN11) | \ + PIN_IMD_EDGE(GPIOC_PIN12) | \ + PIN_IMD_EDGE(GPIOC_PIN13) | \ + PIN_IMD_EDGE(GPIOC_PIN14) | \ + PIN_IMD_EDGE(GPIOC_PIN15)) +#define VAL_GPIOC_IEN (PIN_IEN_FELL_DIS(GPIOC_PIN0) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN1) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN2) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN3) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN4) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN5) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN6) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN7) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN8) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN9) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN10) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN11) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN12) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN13) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN14) | \ + PIN_IEN_FELL_DIS(GPIOC_PIN15)) +#define VAL_GPIOC_ISRC (PIN_ISRC_DIS(GPIOC_PIN0) | \ + PIN_ISRC_DIS(GPIOC_PIN1) | \ + PIN_ISRC_DIS(GPIOC_PIN2) | \ + PIN_ISRC_DIS(GPIOC_PIN3) | \ + PIN_ISRC_DIS(GPIOC_PIN4) | \ + PIN_ISRC_DIS(GPIOC_PIN5) | \ + PIN_ISRC_DIS(GPIOC_PIN6) | \ + PIN_ISRC_DIS(GPIOC_PIN7) | \ + PIN_ISRC_DIS(GPIOC_PIN8) | \ + PIN_ISRC_DIS(GPIOC_PIN9) | \ + PIN_ISRC_DIS(GPIOC_PIN10) | \ + PIN_ISRC_DIS(GPIOC_PIN11) | \ + PIN_ISRC_DIS(GPIOC_PIN12) | \ + PIN_ISRC_DIS(GPIOC_PIN13) | \ + PIN_ISRC_DIS(GPIOC_PIN14) | \ + PIN_ISRC_DIS(GPIOC_PIN15)) +#define VAL_GPIOC_DOUT (PIN_DATA_LOW(GPIOC_PIN0) | \ + PIN_DATA_LOW(GPIOC_PIN1) | \ + PIN_DATA_LOW(GPIOC_PIN2) | \ + PIN_DATA_LOW(GPIOC_PIN3) | \ + PIN_DATA_LOW(GPIOC_PIN4) | \ + PIN_DATA_LOW(GPIOC_PIN5) | \ + PIN_DATA_LOW(GPIOC_PIN6) | \ + PIN_DATA_LOW(GPIOC_PIN7) | \ + PIN_DATA_LOW(GPIOC_PIN8) | \ + PIN_DATA_LOW(GPIOC_PIN9) | \ + PIN_DATA_LOW(GPIOC_PIN10) | \ + PIN_DATA_LOW(GPIOC_PIN11) | \ + PIN_DATA_LOW(GPIOC_PIN12) | \ + PIN_DATA_LOW(GPIOC_PIN13) | \ + PIN_DATA_LOW(GPIOC_PIN14) | \ + PIN_DATA_LOW(GPIOC_PIN15)) + +/* + * GPIOD setup: + * + * PD0 - ADC0 (input pullup). + * PD1 - ADC1 (input pullup). + * PD2 - ADC2 (input pullup). + * PD3 - ADC3 (output). + * PD4 - ADC4 (output). + * PD5 - ADC5 (output). + * PD6 - PIN6 (input pullup). + * PD7 - PIN7 (input pullup). + * PD8 - PIN8 (input pullup). + * PD9 - PIN9 (output). + * PD10 - PIN10 (debug output). + * PD11 - PIN11 (output). + * PD12 - PIN12 (input pullup). + * PD13 - PIN13 (input pullup). + * PD14 - PIN14 (input pullup). + * PD15 - PIN15 (input pullup). + */ +#define VAL_GPIOD_PMD (PIN_MODE_INPUT(GPIOD_ADC0) | \ + PIN_MODE_INPUT(GPIOD_ADC1) | \ + PIN_MODE_INPUT(GPIOD_ADC2) | \ + PIN_MODE_OUTPUT(GPIOD_ADC3) | \ + PIN_MODE_OUTPUT(GPIOD_ADC4) | \ + PIN_MODE_OUTPUT(GPIOD_ADC5) | \ + PIN_MODE_INPUT(GPIOD_PIN6) | \ + PIN_MODE_INPUT(GPIOD_PIN7) | \ + PIN_MODE_INPUT(GPIOD_PIN8) | \ + PIN_MODE_OUTPUT(GPIOD_PIN9) | \ + PIN_MODE_OUTPUT(GPIOD_PIN10) | \ + PIN_MODE_OUTPUT(GPIOD_PIN11) | \ + PIN_MODE_INPUT(GPIOD_PIN12) | \ + PIN_MODE_INPUT(GPIOD_PIN13) | \ + PIN_MODE_INPUT(GPIOD_PIN14) | \ + PIN_MODE_INPUT(GPIOD_PIN15)) +#define VAL_GPIOD_OFFD (PIN_DIGITAL_EN(GPIOD_ADC0) | \ + PIN_DIGITAL_EN(GPIOD_ADC1) | \ + PIN_DIGITAL_EN(GPIOD_ADC2) | \ + PIN_DIGITAL_DIS(GPIOD_ADC3) | \ + PIN_DIGITAL_DIS(GPIOD_ADC4) | \ + PIN_DIGITAL_DIS(GPIOD_ADC5) | \ + PIN_DIGITAL_EN(GPIOD_PIN6) | \ + PIN_DIGITAL_EN(GPIOD_PIN7) | \ + PIN_DIGITAL_EN(GPIOD_PIN8) | \ + PIN_DIGITAL_DIS(GPIOD_PIN9) | \ + PIN_DIGITAL_DIS(GPIOD_PIN10) | \ + PIN_DIGITAL_DIS(GPIOD_PIN11) | \ + PIN_DIGITAL_EN(GPIOD_PIN12) | \ + PIN_DIGITAL_EN(GPIOD_PIN13) | \ + PIN_DIGITAL_EN(GPIOD_PIN14) | \ + PIN_DIGITAL_EN(GPIOD_PIN15)) +#define VAL_GPIOD_DMASK (PIN_DMASK_EN(GPIOD_ADC0) | \ + PIN_DMASK_EN(GPIOD_ADC1) | \ + PIN_DMASK_EN(GPIOD_ADC2) | \ + PIN_DMASK_DIS(GPIOD_ADC3) | \ + PIN_DMASK_DIS(GPIOD_ADC4) | \ + PIN_DMASK_DIS(GPIOD_ADC5) | \ + PIN_DMASK_EN(GPIOD_PIN6) | \ + PIN_DMASK_EN(GPIOD_PIN7) | \ + PIN_DMASK_EN(GPIOD_PIN8) | \ + PIN_DMASK_DIS(GPIOD_PIN9) | \ + PIN_DMASK_DIS(GPIOD_PIN10) | \ + PIN_DMASK_DIS(GPIOD_PIN11) | \ + PIN_DMASK_EN(GPIOD_PIN12) | \ + PIN_DMASK_EN(GPIOD_PIN13) | \ + PIN_DMASK_EN(GPIOD_PIN14) | \ + PIN_DMASK_EN(GPIOD_PIN15)) +#define VAL_GPIOD_DBEN (PIN_DBNCE_EN(GPIOD_ADC0) | \ + PIN_DBNCE_EN(GPIOD_ADC1) | \ + PIN_DBNCE_EN(GPIOD_ADC2) | \ + PIN_DBNCE_DIS(GPIOD_ADC3) | \ + PIN_DBNCE_DIS(GPIOD_ADC4) | \ + PIN_DBNCE_DIS(GPIOD_ADC5) | \ + PIN_DBNCE_EN(GPIOD_PIN6) | \ + PIN_DBNCE_EN(GPIOD_PIN7) | \ + PIN_DBNCE_EN(GPIOD_PIN8) | \ + PIN_DBNCE_DIS(GPIOD_PIN9) | \ + PIN_DBNCE_DIS(GPIOD_PIN10) | \ + PIN_DBNCE_DIS(GPIOD_PIN11) | \ + PIN_DBNCE_EN(GPIOD_PIN12) | \ + PIN_DBNCE_EN(GPIOD_PIN13) | \ + PIN_DBNCE_EN(GPIOD_PIN14) | \ + PIN_DBNCE_EN(GPIOD_PIN15)) +#define VAL_GPIOD_IMD (PIN_IMD_EDGE(GPIOD_ADC0) | \ + PIN_IMD_EDGE(GPIOD_ADC1) | \ + PIN_IMD_EDGE(GPIOD_ADC2) | \ + PIN_IMD_EDGE(GPIOD_ADC3) | \ + PIN_IMD_EDGE(GPIOD_ADC4) | \ + PIN_IMD_EDGE(GPIOD_ADC5) | \ + PIN_IMD_EDGE(GPIOD_PIN6) | \ + PIN_IMD_EDGE(GPIOD_PIN7) | \ + PIN_IMD_EDGE(GPIOD_PIN8) | \ + PIN_IMD_EDGE(GPIOD_PIN9) | \ + PIN_IMD_EDGE(GPIOD_PIN10) | \ + PIN_IMD_EDGE(GPIOD_PIN11) | \ + PIN_IMD_EDGE(GPIOD_PIN12) | \ + PIN_IMD_EDGE(GPIOD_PIN13) | \ + PIN_IMD_EDGE(GPIOD_PIN14) | \ + PIN_IMD_EDGE(GPIOD_PIN15)) +#define VAL_GPIOD_IEN (PIN_IEN_FELL_DIS(GPIOD_ADC0) | \ + PIN_IEN_FELL_DIS(GPIOD_ADC1) | \ + PIN_IEN_FELL_DIS(GPIOD_ADC2) | \ + PIN_IEN_FELL_DIS(GPIOD_ADC3) | \ + PIN_IEN_FELL_DIS(GPIOD_ADC4) | \ + PIN_IEN_FELL_DIS(GPIOD_ADC5) | \ + PIN_IEN_FELL_DIS(GPIOD_PIN6) | \ + PIN_IEN_FELL_DIS(GPIOD_PIN7) | \ + PIN_IEN_FELL_DIS(GPIOD_PIN8) | \ + PIN_IEN_FELL_DIS(GPIOD_PIN9) | \ + PIN_IEN_FELL_DIS(GPIOD_PIN10) | \ + PIN_IEN_FELL_DIS(GPIOD_PIN11) | \ + PIN_IEN_FELL_DIS(GPIOD_PIN12) | \ + PIN_IEN_FELL_DIS(GPIOD_PIN13) | \ + PIN_IEN_FELL_DIS(GPIOD_PIN14) | \ + PIN_IEN_FELL_DIS(GPIOD_PIN15)) +#define VAL_GPIOD_ISRC (PIN_ISRC_DIS(GPIOD_ADC0) | \ + PIN_ISRC_DIS(GPIOD_ADC1) | \ + PIN_ISRC_DIS(GPIOD_ADC2) | \ + PIN_ISRC_DIS(GPIOD_ADC3) | \ + PIN_ISRC_DIS(GPIOD_ADC4) | \ + PIN_ISRC_DIS(GPIOD_ADC5) | \ + PIN_ISRC_DIS(GPIOD_PIN6) | \ + PIN_ISRC_DIS(GPIOD_PIN7) | \ + PIN_ISRC_DIS(GPIOD_PIN8) | \ + PIN_ISRC_DIS(GPIOD_PIN9) | \ + PIN_ISRC_DIS(GPIOD_PIN10) | \ + PIN_ISRC_DIS(GPIOD_PIN11) | \ + PIN_ISRC_DIS(GPIOD_PIN12) | \ + PIN_ISRC_DIS(GPIOD_PIN13) | \ + PIN_ISRC_DIS(GPIOD_PIN14) | \ + PIN_ISRC_DIS(GPIOD_PIN15)) +#define VAL_GPIOD_DOUT (PIN_DATA_LOW(GPIOD_ADC0) | \ + PIN_DATA_LOW(GPIOD_ADC1) | \ + PIN_DATA_LOW(GPIOD_ADC2) | \ + PIN_DATA_LOW(GPIOD_ADC3) | \ + PIN_DATA_LOW(GPIOD_ADC4) | \ + PIN_DATA_LOW(GPIOD_ADC5) | \ + PIN_DATA_LOW(GPIOD_PIN6) | \ + PIN_DATA_LOW(GPIOD_PIN7) | \ + PIN_DATA_LOW(GPIOD_PIN8) | \ + PIN_DATA_LOW(GPIOD_PIN9) | \ + PIN_DATA_LOW(GPIOD_PIN10) | \ + PIN_DATA_LOW(GPIOD_PIN11) | \ + PIN_DATA_LOW(GPIOD_PIN12) | \ + PIN_DATA_LOW(GPIOD_PIN13) | \ + PIN_DATA_LOW(GPIOD_PIN14) | \ + PIN_DATA_LOW(GPIOD_PIN15)) + +/* + * GPIOF setup: + * + * PF0 - OSC_IN (input floating). + * PF1 - OSC_OUT (input floating). + * PF2 - I2C0_SDA (input pullup). + * PF3 - I2C0_SCL (input pullup). + * PF4 - PIN4 (input pullup). + * PF5 - PIN5 (input pullup). + * PF6 - PIN6 (input pullup). + * PF7 - PIN7 (input pullup). + * PF8 - PIN8 (input pullup). + * PF9 - PIN9 (input pullup). + * PF10 - PIN10 (input pullup). + * PF11 - PIN11 (input pullup). + * PF12 - PIN12 (input pullup). + * PF13 - PIN13 (input pullup). + * PF14 - PIN14 (input pullup). + * PF15 - PIN15 (input pullup). + */ +#define VAL_GPIOF_PMD (PIN_MODE_QUASI(GPIOF_OSC_IN) | \ + PIN_MODE_QUASI(GPIOF_OSC_OUT) | \ + PIN_MODE_INPUT(GPIOF_I2C0_SDA) | \ + PIN_MODE_INPUT(GPIOF_I2C0_SCL) | \ + PIN_MODE_INPUT(GPIOF_PIN4) | \ + PIN_MODE_INPUT(GPIOF_PIN5) | \ + PIN_MODE_INPUT(GPIOF_PIN6) | \ + PIN_MODE_INPUT(GPIOF_PIN7) | \ + PIN_MODE_INPUT(GPIOF_PIN8) | \ + PIN_MODE_INPUT(GPIOF_PIN9) | \ + PIN_MODE_INPUT(GPIOF_PIN10) | \ + PIN_MODE_INPUT(GPIOF_PIN11) | \ + PIN_MODE_INPUT(GPIOF_PIN12) | \ + PIN_MODE_INPUT(GPIOF_PIN13) | \ + PIN_MODE_INPUT(GPIOF_PIN14) | \ + PIN_MODE_INPUT(GPIOF_PIN15)) +#define VAL_GPIOF_OFFD (PIN_DIGITAL_DIS(GPIOF_OSC_IN) | \ + PIN_DIGITAL_DIS(GPIOF_OSC_OUT) | \ + PIN_DIGITAL_EN(GPIOF_I2C0_SDA) | \ + PIN_DIGITAL_EN(GPIOF_I2C0_SCL) | \ + PIN_DIGITAL_EN(GPIOF_PIN4) | \ + PIN_DIGITAL_EN(GPIOF_PIN5) | \ + PIN_DIGITAL_EN(GPIOF_PIN6) | \ + PIN_DIGITAL_EN(GPIOF_PIN7) | \ + PIN_DIGITAL_EN(GPIOF_PIN8) | \ + PIN_DIGITAL_EN(GPIOF_PIN9) | \ + PIN_DIGITAL_EN(GPIOF_PIN10) | \ + PIN_DIGITAL_EN(GPIOF_PIN11) | \ + PIN_DIGITAL_EN(GPIOF_PIN12) | \ + PIN_DIGITAL_EN(GPIOF_PIN13) | \ + PIN_DIGITAL_EN(GPIOF_PIN14) | \ + PIN_DIGITAL_EN(GPIOF_PIN15)) +#define VAL_GPIOF_DMASK (PIN_DMASK_DIS(GPIOF_OSC_IN) | \ + PIN_DMASK_DIS(GPIOF_OSC_OUT) | \ + PIN_DMASK_EN(GPIOF_I2C0_SDA) | \ + PIN_DMASK_EN(GPIOF_I2C0_SCL) | \ + PIN_DMASK_EN(GPIOF_PIN4) | \ + PIN_DMASK_EN(GPIOF_PIN5) | \ + PIN_DMASK_EN(GPIOF_PIN6) | \ + PIN_DMASK_EN(GPIOF_PIN7) | \ + PIN_DMASK_EN(GPIOF_PIN8) | \ + PIN_DMASK_EN(GPIOF_PIN9) | \ + PIN_DMASK_EN(GPIOF_PIN10) | \ + PIN_DMASK_EN(GPIOF_PIN11) | \ + PIN_DMASK_EN(GPIOF_PIN12) | \ + PIN_DMASK_EN(GPIOF_PIN13) | \ + PIN_DMASK_EN(GPIOF_PIN14) | \ + PIN_DMASK_EN(GPIOF_PIN15)) +#define VAL_GPIOF_DBEN (PIN_DBNCE_DIS(GPIOF_OSC_IN) | \ + PIN_DBNCE_DIS(GPIOF_OSC_OUT) | \ + PIN_DBNCE_EN(GPIOF_I2C0_SDA) | \ + PIN_DBNCE_EN(GPIOF_I2C0_SCL) | \ + PIN_DBNCE_EN(GPIOF_PIN4) | \ + PIN_DBNCE_EN(GPIOF_PIN5) | \ + PIN_DBNCE_EN(GPIOF_PIN6) | \ + PIN_DBNCE_EN(GPIOF_PIN7) | \ + PIN_DBNCE_EN(GPIOF_PIN8) | \ + PIN_DBNCE_EN(GPIOF_PIN9) | \ + PIN_DBNCE_EN(GPIOF_PIN10) | \ + PIN_DBNCE_EN(GPIOF_PIN11) | \ + PIN_DBNCE_EN(GPIOF_PIN12) | \ + PIN_DBNCE_EN(GPIOF_PIN13) | \ + PIN_DBNCE_EN(GPIOF_PIN14) | \ + PIN_DBNCE_EN(GPIOF_PIN15)) +#define VAL_GPIOF_IMD (PIN_IMD_LVL(GPIOF_OSC_IN) | \ + PIN_IMD_LVL(GPIOF_OSC_OUT) | \ + PIN_IMD_EDGE(GPIOF_I2C0_SDA) | \ + PIN_IMD_EDGE(GPIOF_I2C0_SCL) | \ + PIN_IMD_EDGE(GPIOF_PIN4) | \ + PIN_IMD_EDGE(GPIOF_PIN5) | \ + PIN_IMD_EDGE(GPIOF_PIN6) | \ + PIN_IMD_EDGE(GPIOF_PIN7) | \ + PIN_IMD_EDGE(GPIOF_PIN8) | \ + PIN_IMD_EDGE(GPIOF_PIN9) | \ + PIN_IMD_EDGE(GPIOF_PIN10) | \ + PIN_IMD_EDGE(GPIOF_PIN11) | \ + PIN_IMD_EDGE(GPIOF_PIN12) | \ + PIN_IMD_EDGE(GPIOF_PIN13) | \ + PIN_IMD_EDGE(GPIOF_PIN14) | \ + PIN_IMD_EDGE(GPIOF_PIN15)) +#define VAL_GPIOF_IEN (PIN_IEN_FELL_DIS(GPIOF_OSC_IN) | \ + PIN_IEN_FELL_DIS(GPIOF_OSC_OUT) | \ + PIN_IEN_FELL_DIS(GPIOF_I2C0_SDA) | \ + PIN_IEN_FELL_DIS(GPIOF_I2C0_SCL) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN4) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN5) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN6) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN7) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN8) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN9) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN10) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN11) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN12) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN13) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN14) | \ + PIN_IEN_FELL_DIS(GPIOF_PIN15)) +#define VAL_GPIOF_ISRC (PIN_ISRC_DIS(GPIOF_OSC_IN) | \ + PIN_ISRC_DIS(GPIOF_OSC_OUT) | \ + PIN_ISRC_DIS(GPIOF_I2C0_SDA) | \ + PIN_ISRC_DIS(GPIOF_I2C0_SCL) | \ + PIN_ISRC_DIS(GPIOF_PIN4) | \ + PIN_ISRC_DIS(GPIOF_PIN5) | \ + PIN_ISRC_DIS(GPIOF_PIN6) | \ + PIN_ISRC_DIS(GPIOF_PIN7) | \ + PIN_ISRC_DIS(GPIOF_PIN8) | \ + PIN_ISRC_DIS(GPIOF_PIN9) | \ + PIN_ISRC_DIS(GPIOF_PIN10) | \ + PIN_ISRC_DIS(GPIOF_PIN11) | \ + PIN_ISRC_DIS(GPIOF_PIN12) | \ + PIN_ISRC_DIS(GPIOF_PIN13) | \ + PIN_ISRC_DIS(GPIOF_PIN14) | \ + PIN_ISRC_DIS(GPIOF_PIN15)) +#define VAL_GPIOF_DOUT (PIN_DATA_LOW(GPIOF_OSC_IN) | \ + PIN_DATA_LOW(GPIOF_OSC_OUT) | \ + PIN_DATA_LOW(GPIOF_I2C0_SDA) | \ + PIN_DATA_LOW(GPIOF_I2C0_SCL) | \ + PIN_DATA_LOW(GPIOF_PIN4) | \ + PIN_DATA_LOW(GPIOF_PIN5) | \ + PIN_DATA_LOW(GPIOF_PIN6) | \ + PIN_DATA_LOW(GPIOF_PIN7) | \ + PIN_DATA_LOW(GPIOF_PIN8) | \ + PIN_DATA_LOW(GPIOF_PIN9) | \ + PIN_DATA_LOW(GPIOF_PIN10) | \ + PIN_DATA_LOW(GPIOF_PIN11) | \ + PIN_DATA_LOW(GPIOF_PIN12) | \ + PIN_DATA_LOW(GPIOF_PIN13) | \ + PIN_DATA_LOW(GPIOF_PIN14) | \ + PIN_DATA_LOW(GPIOF_PIN15)) + + +#if !defined(_FROM_ASM_) +#ifdef __cplusplus +extern "C" { +#endif + void boardInit(void); +#ifdef __cplusplus +} +#endif +#endif /* _FROM_ASM_ */ + +#endif /* BOARD_H */ diff --git a/keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.mk b/keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.mk new file mode 100644 index 000000000000..dd9917fc6adc --- /dev/null +++ b/keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.mk @@ -0,0 +1,5 @@ +# List of all the board related files. +BOARDSRC = $(BOARD_PATH)/boards/NUC123SD4AN0/board.c + +# Required include directories +BOARDINC = $(BOARD_PATH)/boards/NUC123SD4AN0 diff --git a/keyboards/ducky/one2mini/1861st/chconf.h b/keyboards/ducky/one2mini/1861st/chconf.h new file mode 100644 index 000000000000..617be40dd90c --- /dev/null +++ b/keyboards/ducky/one2mini/1861st/chconf.h @@ -0,0 +1,23 @@ +/* Copyright 2020 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 + +#define CH_CFG_ST_FREQUENCY 10000 +#define CH_CFG_ST_TIMEDELTA 0 +#define CH_CFG_USE_WAITEXIT TRUE + +#include_next diff --git a/keyboards/ducky/one2mini/1861st/config.h b/keyboards/ducky/one2mini/1861st/config.h new file mode 100644 index 000000000000..3f5676280c18 --- /dev/null +++ b/keyboards/ducky/one2mini/1861st/config.h @@ -0,0 +1,56 @@ +/* +Copyright 2019 /u/KeepItUnder + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x0416 +#define PRODUCT_ID 0x0123 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Ducky +#define PRODUCT One2mini + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { D11, B4, B5, B6, B7 } +#define MATRIX_COL_PINS { B10, B9, C13, C12, C11, C10, C9, C8, A15, A14, A13, D0, D1, D2, B8 } +#define DIP_SWITCH_MATRIX_GRID { {0,14}, {1,14}, {2,14}, {3,14} } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +#define FORCE_NKRO + +#define GPIO_INPUT_PIN_DELAY (NUC123_HCLK / 6 / 1000000L) diff --git a/keyboards/ducky/one2mini/1861st/info.json b/keyboards/ducky/one2mini/1861st/info.json new file mode 100644 index 000000000000..44ba19b6e776 --- /dev/null +++ b/keyboards/ducky/one2mini/1861st/info.json @@ -0,0 +1,222 @@ +{ + "keyboard_name": "Ducky One 2 Mini", + "width": 14, + "height": 5, + "layout_aliases": { + "LAYOUT_iso": "LAYOUT_60_iso" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "x": 0, "y": 0, "w": 1, "label": "ESC" }, + { "x": 1, "y": 0, "w": 1, "label": "1" }, + { "x": 2, "y": 0, "w": 1, "label": "2" }, + { "x": 3, "y": 0, "w": 1, "label": "3" }, + { "x": 4, "y": 0, "w": 1, "label": "4" }, + { "x": 5, "y": 0, "w": 1, "label": "5" }, + { "x": 6, "y": 0, "w": 1, "label": "6" }, + { "x": 7, "y": 0, "w": 1, "label": "7" }, + { "x": 8, "y": 0, "w": 1, "label": "8" }, + { "x": 9, "y": 0, "w": 1, "label": "9" }, + { "x": 10, "y": 0, "w": 1, "label": "0" }, + { "x": 11, "y": 0, "w": 1, "label": "DASH" }, + { "x": 12, "y": 0, "w": 1, "label": "EQUALSIGN" }, + { "x": 13, "y": 0, "w": 2, "label": "BACKSPACE" }, + + { "x": 0, "y": 1, "w": 1.5, "label": "TAB" }, + { "x": 1.5, "y": 1, "w": 1, "label": "Q" }, + { "x": 2.5, "y": 1, "w": 1, "label": "W" }, + { "x": 3.5, "y": 1, "w": 1, "label": "E" }, + { "x": 4.5, "y": 1, "w": 1, "label": "R" }, + { "x": 5.5, "y": 1, "w": 1, "label": "T" }, + { "x": 6.5, "y": 1, "w": 1, "label": "Y" }, + { "x": 7.5, "y": 1, "w": 1, "label": "U" }, + { "x": 8.5, "y": 1, "w": 1, "label": "I" }, + { "x": 9.5, "y": 1, "w": 1, "label": "O" }, + { "x": 10.5, "y": 1, "w": 1, "label": "P" }, + { "x": 11.5, "y": 1, "w": 1, "label": "LBRACKET" }, + { "x": 12.5, "y": 1, "w": 1, "label": "RBRACKET" }, + { "x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH" }, + + { "x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK" }, + { "x": 1.75, "y": 2, "w": 1, "label": "A" }, + { "x": 2.75, "y": 2, "w": 1, "label": "S" }, + { "x": 3.75, "y": 2, "w": 1, "label": "D" }, + { "x": 4.75, "y": 2, "w": 1, "label": "F" }, + { "x": 5.75, "y": 2, "w": 1, "label": "G" }, + { "x": 6.75, "y": 2, "w": 1, "label": "H" }, + { "x": 7.75, "y": 2, "w": 1, "label": "J" }, + { "x": 8.75, "y": 2, "w": 1, "label": "K" }, + { "x": 9.75, "y": 2, "w": 1, "label": "L" }, + { "x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON" }, + { "x": 11.75, "y": 2, "w": 1, "label": "QUOTE" }, + { "x": 12.75, "y": 2, "w": 1, "label": "ISOHASH" }, + { "x": 13.75, "y": 2, "w": 1.25, "label": "ENTER" }, + + { "x": 0, "y": 3, "w": 1.25, "label": "LSHIFT" }, + { "x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH" }, + { "x": 2.25, "y": 3, "w": 1, "label": "Z" }, + { "x": 3.25, "y": 3, "w": 1, "label": "X" }, + { "x": 4.25, "y": 3, "w": 1, "label": "C" }, + { "x": 5.25, "y": 3, "w": 1, "label": "V" }, + { "x": 6.25, "y": 3, "w": 1, "label": "B" }, + { "x": 7.25, "y": 3, "w": 1, "label": "N" }, + { "x": 8.25, "y": 3, "w": 1, "label": "M" }, + { "x": 9.25, "y": 3, "w": 1, "label": "COMMA" }, + { "x": 10.25, "y": 3, "w": 1, "label": "PERIOD" }, + { "x": 11.25, "y": 3, "w": 1, "label": "SLASH" }, + { "x": 12.25, "y": 3, "w": 2.75, "label": "RSHIFT" }, + + { "x": 0, "y": 4, "w": 1.25, "label": "LCTRL" }, + { "x": 1.25, "y": 4, "w": 1.25, "label": "LCMD" }, + { "x": 2.5, "y": 4, "w": 1.25, "label": "LALT" }, + { "x": 3.75, "y": 4, "w": 6.25, "label": "SPACE" }, + { "x": 10, "y": 4, "w": 1.25, "label": "RALT" }, + { "x": 11.25, "y": 4, "w": 1.25, "label": "RCMD" }, + { "x": 12.5, "y": 4, "w": 1.25, "label": "FN" }, + { "x": 13.75, "y": 4, "w": 1.25, "label": "RCTRL" } + ] + }, + + "LAYOUT_60_ansi": { + "layout": [ + { "x": 0, "y": 0, "w": 1, "label": "ESC" }, + { "x": 1, "y": 0, "w": 1, "label": "1" }, + { "x": 2, "y": 0, "w": 1, "label": "2" }, + { "x": 3, "y": 0, "w": 1, "label": "3" }, + { "x": 4, "y": 0, "w": 1, "label": "4" }, + { "x": 5, "y": 0, "w": 1, "label": "5" }, + { "x": 6, "y": 0, "w": 1, "label": "6" }, + { "x": 7, "y": 0, "w": 1, "label": "7" }, + { "x": 8, "y": 0, "w": 1, "label": "8" }, + { "x": 9, "y": 0, "w": 1, "label": "9" }, + { "x": 10, "y": 0, "w": 1, "label": "0" }, + { "x": 11, "y": 0, "w": 1, "label": "DASH" }, + { "x": 12, "y": 0, "w": 1, "label": "EQUALSIGN" }, + { "x": 13, "y": 0, "w": 2, "label": "BACKSPACE" }, + + { "x": 0, "y": 1, "w": 1.5, "label": "TAB" }, + { "x": 1.5, "y": 1, "w": 1, "label": "Q" }, + { "x": 2.5, "y": 1, "w": 1, "label": "W" }, + { "x": 3.5, "y": 1, "w": 1, "label": "E" }, + { "x": 4.5, "y": 1, "w": 1, "label": "R" }, + { "x": 5.5, "y": 1, "w": 1, "label": "T" }, + { "x": 6.5, "y": 1, "w": 1, "label": "Y" }, + { "x": 7.5, "y": 1, "w": 1, "label": "U" }, + { "x": 8.5, "y": 1, "w": 1, "label": "I" }, + { "x": 9.5, "y": 1, "w": 1, "label": "O" }, + { "x": 10.5, "y": 1, "w": 1, "label": "P" }, + { "x": 11.5, "y": 1, "w": 1, "label": "LBRACKET" }, + { "x": 12.5, "y": 1, "w": 1, "label": "RBRACKET" }, + { "x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH" }, + + { "x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK" }, + { "x": 1.75, "y": 2, "w": 1, "label": "A" }, + { "x": 2.75, "y": 2, "w": 1, "label": "S" }, + { "x": 3.75, "y": 2, "w": 1, "label": "D" }, + { "x": 4.75, "y": 2, "w": 1, "label": "F" }, + { "x": 5.75, "y": 2, "w": 1, "label": "G" }, + { "x": 6.75, "y": 2, "w": 1, "label": "H" }, + { "x": 7.75, "y": 2, "w": 1, "label": "J" }, + { "x": 8.75, "y": 2, "w": 1, "label": "K" }, + { "x": 9.75, "y": 2, "w": 1, "label": "L" }, + { "x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON" }, + { "x": 11.75, "y": 2, "w": 1, "label": "QUOTE" }, + { "x": 12.75, "y": 2, "w": 2.25, "label": "ENTER" }, + + { "x": 0, "y": 3, "w": 2.25, "label": "LSHIFT" }, + { "x": 2.25, "y": 3, "w": 1, "label": "Z" }, + { "x": 3.25, "y": 3, "w": 1, "label": "X" }, + { "x": 4.25, "y": 3, "w": 1, "label": "C" }, + { "x": 5.25, "y": 3, "w": 1, "label": "V" }, + { "x": 6.25, "y": 3, "w": 1, "label": "B" }, + { "x": 7.25, "y": 3, "w": 1, "label": "N" }, + { "x": 8.25, "y": 3, "w": 1, "label": "M" }, + { "x": 9.25, "y": 3, "w": 1, "label": "COMMA" }, + { "x": 10.25, "y": 3, "w": 1, "label": "PERIOD" }, + { "x": 11.25, "y": 3, "w": 1, "label": "SLASH" }, + { "x": 12.25, "y": 3, "w": 2.75, "label": "RSHIFT" }, + + { "x": 0, "y": 4, "w": 1.25, "label": "LCTRL" }, + { "x": 1.25, "y": 4, "w": 1.25, "label": "LCMD" }, + { "x": 2.5, "y": 4, "w": 1.25, "label": "LALT" }, + { "x": 3.75, "y": 4, "w": 6.25, "label": "SPACE" }, + { "x": 10, "y": 4, "w": 1.25, "label": "RALT" }, + { "x": 11.25, "y": 4, "w": 1.25, "label": "RCMD" }, + { "x": 12.5, "y": 4, "w": 1.25, "label": "FN" }, + { "x": 13.75, "y": 4, "w": 1.25, "label": "RCTRL" } + ] + }, + + "LAYOUT_60_iso": { + "layout": [ + { "x": 0, "y": 0, "w": 1, "label": "ESC" }, + { "x": 1, "y": 0, "w": 1, "label": "1" }, + { "x": 2, "y": 0, "w": 1, "label": "2" }, + { "x": 3, "y": 0, "w": 1, "label": "3" }, + { "x": 4, "y": 0, "w": 1, "label": "4" }, + { "x": 5, "y": 0, "w": 1, "label": "5" }, + { "x": 6, "y": 0, "w": 1, "label": "6" }, + { "x": 7, "y": 0, "w": 1, "label": "7" }, + { "x": 8, "y": 0, "w": 1, "label": "8" }, + { "x": 9, "y": 0, "w": 1, "label": "9" }, + { "x": 10, "y": 0, "w": 1, "label": "0" }, + { "x": 11, "y": 0, "w": 1, "label": "DASH" }, + { "x": 12, "y": 0, "w": 1, "label": "EQUALSIGN" }, + { "x": 13, "y": 0, "w": 2, "label": "BACKSPACE" }, + + { "x": 0, "y": 1, "w": 1.5, "label": "TAB" }, + { "x": 1.5, "y": 1, "w": 1, "label": "Q" }, + { "x": 2.5, "y": 1, "w": 1, "label": "W" }, + { "x": 3.5, "y": 1, "w": 1, "label": "E" }, + { "x": 4.5, "y": 1, "w": 1, "label": "R" }, + { "x": 5.5, "y": 1, "w": 1, "label": "T" }, + { "x": 6.5, "y": 1, "w": 1, "label": "Y" }, + { "x": 7.5, "y": 1, "w": 1, "label": "U" }, + { "x": 8.5, "y": 1, "w": 1, "label": "I" }, + { "x": 9.5, "y": 1, "w": 1, "label": "O" }, + { "x": 10.5, "y": 1, "w": 1, "label": "P" }, + { "x": 11.5, "y": 1, "w": 1, "label": "LBRACKET" }, + { "x": 12.5, "y": 1, "w": 1, "label": "RBRACKET" }, + + { "x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK" }, + { "x": 1.75, "y": 2, "w": 1, "label": "A" }, + { "x": 2.75, "y": 2, "w": 1, "label": "S" }, + { "x": 3.75, "y": 2, "w": 1, "label": "D" }, + { "x": 4.75, "y": 2, "w": 1, "label": "F" }, + { "x": 5.75, "y": 2, "w": 1, "label": "G" }, + { "x": 6.75, "y": 2, "w": 1, "label": "H" }, + { "x": 7.75, "y": 2, "w": 1, "label": "J" }, + { "x": 8.75, "y": 2, "w": 1, "label": "K" }, + { "x": 9.75, "y": 2, "w": 1, "label": "L" }, + { "x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON" }, + { "x": 11.75, "y": 2, "w": 1, "label": "QUOTE" }, + { "x": 12.75, "y": 2, "w": 1, "label": "ISOHASH" }, + { "x": 13.75, "y": 1, "w": 1.25, "h": 2, "label": "ENTER" }, + + { "x": 0, "y": 3, "w": 1.25, "label": "LSHIFT" }, + { "x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH" }, + { "x": 2.25, "y": 3, "w": 1, "label": "Z" }, + { "x": 3.25, "y": 3, "w": 1, "label": "X" }, + { "x": 4.25, "y": 3, "w": 1, "label": "C" }, + { "x": 5.25, "y": 3, "w": 1, "label": "V" }, + { "x": 6.25, "y": 3, "w": 1, "label": "B" }, + { "x": 7.25, "y": 3, "w": 1, "label": "N" }, + { "x": 8.25, "y": 3, "w": 1, "label": "M" }, + { "x": 9.25, "y": 3, "w": 1, "label": "COMMA" }, + { "x": 10.25, "y": 3, "w": 1, "label": "PERIOD" }, + { "x": 11.25, "y": 3, "w": 1, "label": "SLASH" }, + { "x": 12.25, "y": 3, "w": 2.75, "label": "RSHIFT" }, + + { "x": 0, "y": 4, "w": 1.25, "label": "LCTRL" }, + { "x": 1.25, "y": 4, "w": 1.25, "label": "LCMD" }, + { "x": 2.5, "y": 4, "w": 1.25, "label": "LALT" }, + { "x": 3.75, "y": 4, "w": 6.25, "label": "SPACE" }, + { "x": 10, "y": 4, "w": 1.25, "label": "RALT" }, + { "x": 11.25, "y": 4, "w": 1.25, "label": "RCMD" }, + { "x": 12.5, "y": 4, "w": 1.25, "label": "FN" }, + { "x": 13.75, "y": 4, "w": 1.25, "label": "RCTRL" } + ] + } + } +} diff --git a/keyboards/ducky/one2mini/1861st/mcuconf.h b/keyboards/ducky/one2mini/1861st/mcuconf.h new file mode 100644 index 000000000000..12e9d2a82dc3 --- /dev/null +++ b/keyboards/ducky/one2mini/1861st/mcuconf.h @@ -0,0 +1,51 @@ +/* + ChibiOS - Copyright (C) 2020 Alex Lewontin + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef _MCUCONF_H_ +#define _MCUCONF_H_ + +/* + * Board setting + * The following settings override the default settings present in + * the various device driver implementation headers. + * Note that the settings for each driver only have effect if the whole + * driver is enabled in halconf.h. + * + * IRQ priorities: + * 3...0 Lowest...Highest. + * + * DMA priorities: + * 5...0 Lowest...Highest. + */ + +/* + * HAL driver system settings. + */ +#define NUC123_HSE_ENABLED TRUE +#define NUC123_PLL_ENABLED TRUE +#define NUC123_PLLSRC NUC123_PLLSRC_HSE +#define NUC123_HCLKSRC NUC123_HCLKSRC_PLL +#define NUC123_HCLKDIV 2 +#define NUC123_PLL_NF 144 +#define NUC123_USB_USE_USB0 TRUE +#define NUC123_USB_USE_USB1 TRUE + +#define NUC123_SERIAL_USE_UART0 TRUE +#define NUC123_SERIAL_CLKSRC NUC123_SERIAL_CLKSRC_HSI + +#define NUC123_MCUCONF + +#endif /* _MCUCONF_H_ */ diff --git a/keyboards/ducky/one2mini/1861st/readme.md b/keyboards/ducky/one2mini/1861st/readme.md new file mode 100644 index 000000000000..bf6b3974a364 --- /dev/null +++ b/keyboards/ducky/one2mini/1861st/readme.md @@ -0,0 +1,29 @@ +# one2mini + +![one2mini](http://www.duckychannel.com.tw/page-en/One_2_Mini_RGB/images/One2_Mini_01_02.jpg) + +A 60% keyboard featuring per-key RGB LEDs. + +* Keyboard Maintainer: [Reza Jelveh](https://github.com/fishman) +* Hardware Supported: Ducky One 2 Mini RGB / NUC123SD4AN0 / MBI5042GP +* Hardware Availability: [Ducky Channel](http://www.duckychannel.com.tw/page-en/One_2_Mini_RGB/) + +Make example for this keyboard (after setting up your build environment): + + make ducky/one2mini: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). + +RGB LEDs are currently disabled until the driver is merged. + +This firmware was tested on the duckyon2mini 1861ST version. To enter the 1861ST bootloader to flash you can boot the keyboard while holding D+L. + +There are then two ways to flash the keyboard: + + pip install --user nuvoton-isp + nuvoisp -f ducky_one2mini_default.bin + +Alternatively you can use elfmimi's [nu-isp-cli](https://lib.rs/crates/nu-isp-cli) which is more complete than nuvoisp and allows flashing .hex files as well. + + cargo install nu-isp-cli + nu-isp-cli flash ducky_one2mini_default.bin diff --git a/keyboards/ducky/one2mini/1861st/rules.mk b/keyboards/ducky/one2mini/1861st/rules.mk new file mode 100644 index 000000000000..401d38d668b1 --- /dev/null +++ b/keyboards/ducky/one2mini/1861st/rules.mk @@ -0,0 +1,35 @@ +MCU_FAMILY = NUMICRO +MCU_SERIES = NUC123 + +# linker script to use +MCU_LDSCRIPT = NUC123xD4xx0 + +# startup code to use +MCU_STARTUP = NUC123 +BOARD = NUC123SD4AN0 + +# NUC123 series is Cortex M0 +MCU = cortex-m0 +# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7 +ARMV = 6 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +DIP_SWITCH_ENABLE = yes + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ducky/one2mini/keymaps/ansi/keymap.c b/keyboards/ducky/one2mini/keymaps/ansi/keymap.c new file mode 100644 index 000000000000..3f03525e1789 --- /dev/null +++ b/keyboards/ducky/one2mini/keymaps/ansi/keymap.c @@ -0,0 +1,56 @@ +/* Copyright 2019 /u/KeepItUnder + * + * 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 + +// LAYERS +enum Layer { + _QWERTY = 0, // Standard QWERTY layer + _FUNCTION, // Function key layer + _COLOUR // RGB key layer +}; +#define _QW _QWERTY +#define _FN _FUNCTION +#define _CLR _COLOUR + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT_60_ansi( + // 2 3 4 5 6 7 8 9 10 11 12 13 14 + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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_NUBS, + 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(_FN), KC_RCTL + ), + + [_FUNCTION] = LAYOUT_60_ansi( + // 2 3 4 5 6 7 8 9 10 11 12 13 14 + 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, + _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, + _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SLCK, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_ENT, + _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_APP, MO(_CLR), _______, _______, KC_APP, _______, _______ + ), + + [_COLOUR] = LAYOUT_60_ansi( + // 2 3 4 5 6 7 8 9 10 11 12 13 14 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, RGB_TOG, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/ducky/one2mini/keymaps/ansi/readme.md b/keyboards/ducky/one2mini/keymaps/ansi/readme.md new file mode 100644 index 000000000000..e4eb351aea9a --- /dev/null +++ b/keyboards/ducky/one2mini/keymaps/ansi/readme.md @@ -0,0 +1 @@ +# The default ANSI keymap for one2mini \ No newline at end of file diff --git a/keyboards/ducky/one2mini/keymaps/default/config.h b/keyboards/ducky/one2mini/keymaps/default/config.h new file mode 100644 index 000000000000..b052c604f5a9 --- /dev/null +++ b/keyboards/ducky/one2mini/keymaps/default/config.h @@ -0,0 +1,25 @@ +/* Copyright 2019 /u/KeepItUnder + * + * 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 + +// place overrides here +#define GRAVE_ESC_GUI_OVERRIDE +#define MK_3_SPEED +#define MK_C_OFFSET_UNMOD 400 /* Cursor offset per movement (unmodified) */ +#define MK_C_INTERVAL_UNMOD 5 /* Time between cursor movements (unmodified) */ +#define MK_W_OFFSET_UNMOD 100 /* Scroll steps per scroll action (unmodified) */ +#define MK_W_INTERVAL_UNMOD 10 /* Time between scroll steps (unmodified) */ diff --git a/keyboards/ducky/one2mini/keymaps/default/keymap.c b/keyboards/ducky/one2mini/keymaps/default/keymap.c new file mode 100644 index 000000000000..d8bc5bbe2437 --- /dev/null +++ b/keyboards/ducky/one2mini/keymaps/default/keymap.c @@ -0,0 +1,56 @@ +/* Copyright 2019 /u/KeepItUnder + * + * 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 + +// LAYERS +enum Layer { + _QWERTY = 0, // Standard QWERTY layer + _FUNCTION, // Function key layer + _COLOUR // RGB key layer +}; +#define _QW _QWERTY +#define _FN _FUNCTION +#define _CLR _COLOUR + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT_all( + // 2 3 4 5 6 7 8 9 10 11 12 13 14 + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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_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(_FN), KC_RCTL + ), + + [_FUNCTION] = LAYOUT_all( + // 2 3 4 5 6 7 8 9 10 11 12 13 14 + 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, + _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, + _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SLCK, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT, + _______, _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, _______, MO(_CLR), KC_MPLY, _______, KC_APP, _______, _______ + ), + + [_COLOUR] = LAYOUT_all( + // 2 3 4 5 6 7 8 9 10 11 12 13 14 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, RGB_TOG, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/ducky/one2mini/keymaps/default/readme.md b/keyboards/ducky/one2mini/keymaps/default/readme.md new file mode 100644 index 000000000000..c83b30eeffc0 --- /dev/null +++ b/keyboards/ducky/one2mini/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for one2mini (ISO & ANSI combined) \ No newline at end of file diff --git a/keyboards/ducky/one2mini/keymaps/iso/keymap.c b/keyboards/ducky/one2mini/keymaps/iso/keymap.c new file mode 100644 index 000000000000..1929b86c1e8b --- /dev/null +++ b/keyboards/ducky/one2mini/keymaps/iso/keymap.c @@ -0,0 +1,56 @@ +/* Copyright 2019 /u/KeepItUnder + * + * 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 + +// LAYERS +enum Layer { + _QWERTY = 0, // Standard QWERTY layer + _FUNCTION, // Function key layer + _COLOUR // RGB key layer +}; +#define _QW _QWERTY +#define _FN _FUNCTION +#define _CLR _COLOUR + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT_60_iso( + // 2 3 4 5 6 7 8 9 10 11 12 13 14 + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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(_FN), KC_RCTL + ), + + [_FUNCTION] = LAYOUT_60_iso( + // 2 3 4 5 6 7 8 9 10 11 12 13 14 + 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, + _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, + _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SLCK, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT, + _______, _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + _______, KC_APP, MO(_CLR), _______, _______, KC_APP, _______, _______ + ), + + [_COLOUR] = LAYOUT_60_iso( + // 2 3 4 5 6 7 8 9 10 11 12 13 14 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, RGB_TOG, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/ducky/one2mini/keymaps/iso/readme.md b/keyboards/ducky/one2mini/keymaps/iso/readme.md new file mode 100644 index 000000000000..218e0dff0f10 --- /dev/null +++ b/keyboards/ducky/one2mini/keymaps/iso/readme.md @@ -0,0 +1 @@ +# The default ISO keymap for one2mini \ No newline at end of file diff --git a/keyboards/ducky/one2mini/readme.md b/keyboards/ducky/one2mini/readme.md new file mode 100644 index 000000000000..d03cb5d7b2da --- /dev/null +++ b/keyboards/ducky/one2mini/readme.md @@ -0,0 +1,7 @@ +# one2mini + +![one2mini](http://www.duckychannel.com.tw/page-en/One_2_Mini_RGB/images/One2_Mini_01_02.jpg) + +A 60% keyboard featuring per-key RGB LEDs. + +See child directories for compatible boards. diff --git a/keyboards/ducky/one2mini/rules.mk b/keyboards/ducky/one2mini/rules.mk new file mode 100644 index 000000000000..628be832eeb6 --- /dev/null +++ b/keyboards/ducky/one2mini/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = ducky/one2mini/1861st diff --git a/keyboards/dumbo/keymaps/default/keymap.c b/keyboards/dumbo/keymaps/default/keymap.c index dfa6a52b91f4..f3ee89521036 100644 --- a/keyboards/dumbo/keymaps/default/keymap.c +++ b/keyboards/dumbo/keymaps/default/keymap.c @@ -130,7 +130,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _NN, _MS, _SP); } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static void render_logo(void) { static const char PROGMEM qmk_logo[] = { @@ -189,7 +189,7 @@ void oled_task_user(void) { #endif #ifdef ENCODER_ENABLE -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { // master side thumb encoder // Volume control @@ -226,5 +226,6 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_HOME); } } + return true; } #endif diff --git a/keyboards/dumbo/keymaps/default/rules.mk b/keyboards/dumbo/keymaps/default/rules.mk index 16913b421c2c..a2d6e788f985 100644 --- a/keyboards/dumbo/keymaps/default/rules.mk +++ b/keyboards/dumbo/keymaps/default/rules.mk @@ -1,2 +1,3 @@ -OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders diff --git a/keyboards/dumbo/keymaps/trip-trap/keymap.c b/keyboards/dumbo/keymaps/trip-trap/keymap.c index 4e73fdaa0e79..fc1092ca6d89 100644 --- a/keyboards/dumbo/keymaps/trip-trap/keymap.c +++ b/keyboards/dumbo/keymaps/trip-trap/keymap.c @@ -207,7 +207,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _NN, _MS, _SP); } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE char wpm_str[10]; // static void render_logo(void) { @@ -387,7 +387,7 @@ void oled_task_user(void) { #endif #ifdef ENCODER_ENABLE -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { // master side thumb encoder // Volume control @@ -424,5 +424,6 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_HOME); } } + return true; } #endif diff --git a/keyboards/dumbo/keymaps/trip-trap/rules.mk b/keyboards/dumbo/keymaps/trip-trap/rules.mk index 1eb566bbef0e..1913e10c490b 100644 --- a/keyboards/dumbo/keymaps/trip-trap/rules.mk +++ b/keyboards/dumbo/keymaps/trip-trap/rules.mk @@ -1,3 +1,4 @@ -OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders WPM_ENABLE = yes diff --git a/keyboards/dumbo/rules.mk b/keyboards/dumbo/rules.mk index ffc7dc55d591..b9bfe22fdb18 100644 --- a/keyboards/dumbo/rules.mk +++ b/keyboards/dumbo/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/dumbpad/v0x/keymaps/default/keymap.c b/keyboards/dumbpad/v0x/keymaps/default/keymap.c index 7ded9f74ede8..22fbd24c02e3 100644 --- a/keyboards/dumbpad/v0x/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v0x/keymaps/default/keymap.c @@ -72,7 +72,7 @@ void keyboard_post_init_user(void) { //debug_mouse = true; } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { /* Custom encoder control - handles CW/CCW turning of encoder * Default behavior: * main layer: @@ -103,4 +103,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v0x/rules.mk b/keyboards/dumbpad/v0x/rules.mk index 309e3d48c047..11e22f36e32f 100644 --- a/keyboards/dumbpad/v0x/rules.mk +++ b/keyboards/dumbpad/v0x/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/dumbpad/v0x/templates/keymap.c b/keyboards/dumbpad/v0x/templates/keymap.c index 11ed74518820..6f862b822561 100644 --- a/keyboards/dumbpad/v0x/templates/keymap.c +++ b/keyboards/dumbpad/v0x/templates/keymap.c @@ -2,7 +2,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {__KEYMAP_GOES_HERE__}; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { switch (get_highest_layer(layer_state)) { case 0: @@ -22,4 +22,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c b/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c index 59f36a1a910e..b103c306f3b6 100644 --- a/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c @@ -72,7 +72,7 @@ void keyboard_post_init_user(void) { // debug_mouse = true; } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { /* Custom encoder control - handles CW/CCW turning of encoder * Default behavior: * left encoder: @@ -131,4 +131,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v0x_dualencoder/rules.mk b/keyboards/dumbpad/v0x_dualencoder/rules.mk index 309e3d48c047..11e22f36e32f 100644 --- a/keyboards/dumbpad/v0x_dualencoder/rules.mk +++ b/keyboards/dumbpad/v0x_dualencoder/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/dumbpad/v0x_dualencoder/templates/keymap.c b/keyboards/dumbpad/v0x_dualencoder/templates/keymap.c index 0c2be0aad4ca..c602269ed3e1 100644 --- a/keyboards/dumbpad/v0x_dualencoder/templates/keymap.c +++ b/keyboards/dumbpad/v0x_dualencoder/templates/keymap.c @@ -2,7 +2,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {__KEYMAP_GOES_HERE__}; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { switch (get_highest_layer(layer_state)) { case 0: @@ -40,4 +40,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c b/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c index 4050ac942084..48002ff4d9fa 100644 --- a/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v0x_right/keymaps/default/keymap.c @@ -72,7 +72,7 @@ void keyboard_post_init_user(void) { // debug_mouse = true; } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { /* Custom encoder control - handles CW/CCW turning of encoder * Default behavior: * main layer: @@ -103,4 +103,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v0x_right/rules.mk b/keyboards/dumbpad/v0x_right/rules.mk index 309e3d48c047..11e22f36e32f 100644 --- a/keyboards/dumbpad/v0x_right/rules.mk +++ b/keyboards/dumbpad/v0x_right/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/dumbpad/v0x_right/templates/keymap.c b/keyboards/dumbpad/v0x_right/templates/keymap.c index 11ed74518820..6f862b822561 100644 --- a/keyboards/dumbpad/v0x_right/templates/keymap.c +++ b/keyboards/dumbpad/v0x_right/templates/keymap.c @@ -2,7 +2,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {__KEYMAP_GOES_HERE__}; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { switch (get_highest_layer(layer_state)) { case 0: @@ -22,4 +22,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v1x/keymaps/default/keymap.c b/keyboards/dumbpad/v1x/keymaps/default/keymap.c index 7ded9f74ede8..22fbd24c02e3 100644 --- a/keyboards/dumbpad/v1x/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v1x/keymaps/default/keymap.c @@ -72,7 +72,7 @@ void keyboard_post_init_user(void) { //debug_mouse = true; } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { /* Custom encoder control - handles CW/CCW turning of encoder * Default behavior: * main layer: @@ -103,4 +103,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v1x/keymaps/imchipwood/keymap.c b/keyboards/dumbpad/v1x/keymaps/imchipwood/keymap.c new file mode 100644 index 000000000000..96a98b11c5a7 --- /dev/null +++ b/keyboards/dumbpad/v1x/keymaps/imchipwood/keymap.c @@ -0,0 +1,95 @@ +/* Copyright 2020 imchipwood + * + * 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 +#include "imchipwood.h" + +enum custom_layers { + _BASE, + _SUB, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + BASE LAYER + /-----------------------------------------------------` + | | 7 | 8 | 9 | Bkspc | + | |---------|---------|---------|---------| + | | 4 | 5 | 6 | + | + | |---------|---------|---------|---------| + | | 1 | 2 | 3 | * | + |-------------|---------|---------|---------|---------| + | Play/Pause | TT(SUB) | 0 | . | Enter | + \-----------------------------------------------------' + */ + [_BASE] = LAYOUT( + KC_P7, KC_P8, KC_P9, KC_BSPC, + KC_P4, KC_P5, KC_P6, KC_KP_PLUS, + KC_P1, KC_P2, KC_P3, KC_KP_ASTERISK, + MEH_T(KC_MPLY), TT(_SUB), KC_P0, KC_PDOT, KC_KP_ENTER + ), + /* + SUB LAYER + /-----------------------------------------------------` + | | F7 | F8 | F9 | Del/NLK | + | |---------|---------|---------|---------| + | | F4 | F5 | F6 | - | + | |---------|---------|---------|---------| + | | F1 | F2 | F3 | / | + |-------------|---------|---------|---------|---------| + | MUTE | | LSFT | LCTL | = | + \-----------------------------------------------------' + */ + [_SUB] = LAYOUT( + TD(ALT_F7), KC_F8, KC_F9, TD(DEL_NLCK), + KC_F4, TD(CTL_F5), KC_F6, KC_KP_MINUS, + KC_F1, TD(ALT_F2), KC_F3, KC_KP_SLASH, + KC_MUTE, _______, OSM(MOD_LSFT), OSM(MOD_LCTL), KC_KP_EQUAL + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + switch (get_highest_layer(layer_state)) { + case _BASE: + // main layer - volume up/down + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + + case _SUB: + // sub layer - next/previous track + if (clockwise) { + tap_code(KC_MNXT); + } else { + tap_code(KC_MPRV); + } + break; + + default: + // default - volume up/down + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + } + } + return true; +} diff --git a/keyboards/dumbpad/v1x/keymaps/numpad_media/keymap.c b/keyboards/dumbpad/v1x/keymaps/numpad_media/keymap.c new file mode 100644 index 000000000000..2806a31740a8 --- /dev/null +++ b/keyboards/dumbpad/v1x/keymaps/numpad_media/keymap.c @@ -0,0 +1,88 @@ +/* Copyright 2020 imchipwood + * + * 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] = { + /* + BASE LAYER + /-----------------------------------------------------` + | | 7 | 8 | 9 | Bkspc | + | |---------|---------|---------|---------| + | | 4 | 5 | 6 | + | + | |---------|---------|---------|---------| + | | 1 | 2 | 3 | * | + |-------------|---------|---------|---------|---------| + | Play/pause | TT(1) | 0 | . | Enter | + \-----------------------------------------------------' + */ + [0] = LAYOUT( + KC_P7, KC_P8, KC_P9, KC_BSPC, + KC_P4, KC_P5, KC_P6, KC_KP_PLUS, + KC_P1, KC_P2, KC_P3, KC_KP_ASTERISK, + KC_MPLY, TT(1), KC_P0, KC_PDOT, KC_KP_ENTER + ), + /* + SUB LAYER + /-----------------------------------------------------` + | | | | | Numlock | + | |---------|---------|---------|---------| + | | | | | - | + | |---------|---------|---------|---------| + | | | | | / | + |-------------|---------|---------|---------|---------| + | MUTE | | | | = | + \-----------------------------------------------------' + */ + [1] = LAYOUT( + _______, _______, _______, KC_NLCK, + _______, _______, _______, KC_KP_MINUS, + _______, _______, _______, KC_KP_SLASH, + KC_MUTE, _______, _______, _______, KC_KP_EQUAL + ), +}; + +void encoder_update_user(uint8_t index, bool clockwise) { + /* Custom encoder control - handles CW/CCW turning of encoder + * Default behavior: + * main layer: + * CW: volume up + * CCW: volume down + * other layers: + * CW: next track + * CCW: previous track + */ + if (index == 0) { + switch (get_highest_layer(layer_state)) { + case 0: + // main layer - volume up (CW) and volume down (CCW) + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + + default: + // other layers - media next (CW) and media previous (CCW) + if (clockwise) { + tap_code(KC_MNXT); + } else { + tap_code(KC_MPRV); + } + break; + } + } +} diff --git a/keyboards/dumbpad/v1x/rules.mk b/keyboards/dumbpad/v1x/rules.mk index 309e3d48c047..11e22f36e32f 100644 --- a/keyboards/dumbpad/v1x/rules.mk +++ b/keyboards/dumbpad/v1x/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/dumbpad/v1x/templates/keymap.c b/keyboards/dumbpad/v1x/templates/keymap.c index 11ed74518820..6f862b822561 100644 --- a/keyboards/dumbpad/v1x/templates/keymap.c +++ b/keyboards/dumbpad/v1x/templates/keymap.c @@ -2,7 +2,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {__KEYMAP_GOES_HERE__}; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { switch (get_highest_layer(layer_state)) { case 0: @@ -22,4 +22,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c b/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c index 548b594dd396..8e4f444ee771 100644 --- a/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c @@ -72,7 +72,7 @@ void keyboard_post_init_user(void) { // debug_mouse = true; } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { /* Custom encoder control - handles CW/CCW turning of encoder * Default behavior: * left encoder: @@ -131,4 +131,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v1x_dualencoder/rules.mk b/keyboards/dumbpad/v1x_dualencoder/rules.mk index 309e3d48c047..11e22f36e32f 100644 --- a/keyboards/dumbpad/v1x_dualencoder/rules.mk +++ b/keyboards/dumbpad/v1x_dualencoder/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/dumbpad/v1x_dualencoder/templates/keymap.c b/keyboards/dumbpad/v1x_dualencoder/templates/keymap.c index 0c2be0aad4ca..c602269ed3e1 100644 --- a/keyboards/dumbpad/v1x_dualencoder/templates/keymap.c +++ b/keyboards/dumbpad/v1x_dualencoder/templates/keymap.c @@ -2,7 +2,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {__KEYMAP_GOES_HERE__}; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { switch (get_highest_layer(layer_state)) { case 0: @@ -40,4 +40,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c b/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c index 4050ac942084..48002ff4d9fa 100644 --- a/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c +++ b/keyboards/dumbpad/v1x_right/keymaps/default/keymap.c @@ -72,7 +72,7 @@ void keyboard_post_init_user(void) { // debug_mouse = true; } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { /* Custom encoder control - handles CW/CCW turning of encoder * Default behavior: * main layer: @@ -103,4 +103,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/dumbpad/v1x_right/rules.mk b/keyboards/dumbpad/v1x_right/rules.mk index 309e3d48c047..11e22f36e32f 100644 --- a/keyboards/dumbpad/v1x_right/rules.mk +++ b/keyboards/dumbpad/v1x_right/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/dumbpad/v1x_right/templates/keymap.c b/keyboards/dumbpad/v1x_right/templates/keymap.c index 11ed74518820..6f862b822561 100644 --- a/keyboards/dumbpad/v1x_right/templates/keymap.c +++ b/keyboards/dumbpad/v1x_right/templates/keymap.c @@ -2,7 +2,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {__KEYMAP_GOES_HERE__}; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { switch (get_highest_layer(layer_state)) { case 0: @@ -22,4 +22,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/durgod/boards/DURGOD_STM32_F070/board.h b/keyboards/durgod/boards/DURGOD_STM32_F070/board.h new file mode 100644 index 000000000000..2d04bccbd6f9 --- /dev/null +++ b/keyboards/durgod/boards/DURGOD_STM32_F070/board.h @@ -0,0 +1,22 @@ +/* +Copyright 2021 Don Kjer + +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 STM32_HSECLK 12000000U +#include_next +#undef STM32_HSE_BYPASS diff --git a/keyboards/durgod/boards/DURGOD_STM32_F070/board.mk b/keyboards/durgod/boards/DURGOD_STM32_F070/board.mk new file mode 100644 index 000000000000..479184833349 --- /dev/null +++ b/keyboards/durgod/boards/DURGOD_STM32_F070/board.mk @@ -0,0 +1,12 @@ +# List of all the board related files. +BOARDSRC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO64_F070RB/board.c + +# Required include directories +BOARDINC = $(CHIBIOS)/os/hal/boards/ST_NUCLEO64_F070RB + +# Include mcu configuration +EXTRAINCDIRS = $(BOARD_PATH)/boards/DURGOD_STM32_F070 + +# Shared variables +ALLCSRC += $(BOARDSRC) +ALLINC += $(BOARDINC) diff --git a/keyboards/durgod/k320/bootloader_defs.h b/keyboards/durgod/boards/DURGOD_STM32_F070/bootloader_defs.h similarity index 100% rename from keyboards/durgod/k320/bootloader_defs.h rename to keyboards/durgod/boards/DURGOD_STM32_F070/bootloader_defs.h diff --git a/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h b/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h new file mode 100644 index 000000000000..a7d95c51a9c2 --- /dev/null +++ b/keyboards/durgod/boards/DURGOD_STM32_F070/chconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/durgod/k320/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_ST_TIMEDELTA 0 + +#include_next diff --git a/keyboards/durgod/k320/mcuconf.h b/keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h similarity index 100% rename from keyboards/durgod/k320/mcuconf.h rename to keyboards/durgod/boards/DURGOD_STM32_F070/mcuconf.h diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h new file mode 100644 index 000000000000..53f824b98eb6 --- /dev/null +++ b/keyboards/durgod/dgk6x/config.h @@ -0,0 +1,93 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xD60D +#define MANUFACTURER Hoksi Technology + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +// Dynamic EEPROM +// Something sensible or else VIA may crash +// Users may enable more if they wish +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 + +// Increase VIA layer count +#define DYNAMIC_KEYMAP_LAYER_COUNT 16 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Bootmagic Lite key configuration */ +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +/* LED indicator pins */ +#define LED_CAPS_LOCK_PIN C4 +#define LED_WIN_LOCK_PIN C5 +#define LED_SCROLL_LOCK_PIN A8 +#define LED_MR_LOCK_PIN LED_SCROLL_LOCK_PIN +#define LED_PIN_ON_STATE 0 + +#ifdef RGB_MATRIX_ENABLE +// This is a 7-bit address, that gets left-shifted and bit 0 +// set to 0 for write, 1 for read (as per I2C protocol) +// The address will vary depending on your wiring: +// 00 <-> GND +// 01 <-> SCL +// 10 <-> SDA +// 11 <-> VCC +// ADDR1 represents A1:A0 of the 7-bit address. +// ADDR2 represents A3:A2 of the 7-bit address. +// The result is: 0b101(ADDR2)(ADDR1) + +#define DRIVER_ADDR_1 0b1010000 +#define DRIVER_ADDR_2 0b1010011 + +#define DRIVER_COUNT 2 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) + +/* I2C Alternate function settings */ +#define I2C1_SCL_PAL_MODE 1 +#define I2C1_SDA_PAL_MODE 1 + +/* Set I2C speed to 400kHz, 300ns Tr, 14ns Tf */ +#define I2C1_TIMINGR_PRESC 0x1U +#define I2C1_TIMINGR_SCLDEL 0x9U +#define I2C1_TIMINGR_SDADEL 0x0U +#define I2C1_TIMINGR_SCLH 0x0cU +#define I2C1_TIMINGR_SCLL 0x22U + +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +# define RGB_MATRIX_KEYPRESSES +# define RGB_MATRIX_LED_PROCESS_LIMIT 4 +# define RGB_MATRIX_LED_FLUSH_LIMIT 26 + +# define DISABLE_RGB_MATRIX_HUE_BREATHING +# define DISABLE_RGB_MATRIX_HUE_PENDULUM +# define DISABLE_RGB_MATRIX_HUE_WAVE + +// This allows VIA to control RGB Matrix settings in the 'Lighting' section. +#define VIA_QMK_RGBLIGHT_ENABLE + +#endif /* RGB_MATRIX_ENABLE */ diff --git a/keyboards/durgod/dgk6x/dgk6x.c b/keyboards/durgod/dgk6x/dgk6x.c new file mode 100644 index 000000000000..d7e871327aa1 --- /dev/null +++ b/keyboards/durgod/dgk6x/dgk6x.c @@ -0,0 +1,73 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 "dgk6x.h" + +/* Private Functions */ +void off_all_leds(void) { + writePinHigh(LED_CAPS_LOCK_PIN); + writePinHigh(LED_WIN_LOCK_PIN); + writePinHigh(LED_MR_LOCK_PIN); +} + +void on_all_leds(void) { + writePinLow(LED_CAPS_LOCK_PIN); + writePinLow(LED_WIN_LOCK_PIN); + writePinLow(LED_MR_LOCK_PIN); +} + +/* WinLock and MR LEDs are non-standard. Need to override led init */ +void led_init_ports(void) { + setPinOutput(LED_CAPS_LOCK_PIN); + setPinOutput(LED_WIN_LOCK_PIN); + setPinOutput(LED_MR_LOCK_PIN); + off_all_leds(); +} + + +#ifndef WINLOCK_DISABLED +static bool win_key_locked = false; + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_TGUI: + if (record->event.pressed) { + // Toggle GUI lock on key press + win_key_locked = !win_key_locked; + writePin(LED_WIN_LOCK_PIN, !win_key_locked); + } + break; + case KC_LGUI: + if (win_key_locked) { return false; } + break; + } + return process_record_user(keycode, record); +} +#endif /* WINLOCK_DISABLED */ + +#ifdef RGB_MATRIX_ENABLE + +__attribute__ ((weak)) +void rgb_matrix_indicators_user(void) +{ + if (host_keyboard_led_state().caps_lock) + { + rgb_matrix_set_color(CAPS_LED, 0xFF, 0xFF, 0xFF); + } +} +#endif /* RGB_MATRIX_ENABLE */ + + diff --git a/keyboards/durgod/dgk6x/dgk6x.h b/keyboards/durgod/dgk6x/dgk6x.h new file mode 100644 index 000000000000..e2c6d19c27c2 --- /dev/null +++ b/keyboards/durgod/dgk6x/dgk6x.h @@ -0,0 +1,47 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 "quantum.h" + +#ifdef KEYBOARD_durgod_dgk6x_hades +# include "hades.h" +#elif defined KEYBOARD_durgod_dgk6x_venus +# include "venus.h" +#elif defined KEYBOARD_durgod_dgk6x_galaxy +# include "galaxy.h" +#endif + +#ifndef WINLOCK_DISABLED +// Define the TGUI key here so it is available in QMK configurator +enum DGK6X_keycodes { +#ifdef VIA_ENABLE + KC_TGUI = USER00, // Toggle between GUI Lock or Unlock + NEW_SAFE_RANGE = SAFE_RANGE +#else + KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock + NEW_SAFE_RANGE +#endif +}; + +#undef SAFE_RANGE +#define SAFE_RANGE NEW_SAFE_RANGE +#endif /* WINLOCK_DISABLED */ + +/* Function Prototype */ +void off_all_leds(void); +void on_all_leds(void); + diff --git a/keyboards/durgod/dgk6x/galaxy/config.h b/keyboards/durgod/dgk6x/galaxy/config.h new file mode 100644 index 000000000000..e8108f7d11f0 --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/config.h @@ -0,0 +1,37 @@ +/* Copyright 2021 Don Kjer + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define PRODUCT_ID 0x6A1A +#define DEVICE_VER 0x0001 +#define PRODUCT Galaxy 84 HK gaming x DURGOD (QMK) + +/* key matrix rows */ +#define MATRIX_ROWS 6 +#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5 } + +/* key matrix columns */ +#define MATRIX_COLS 16 +#define MATRIX_COL_PINS { B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C8, C9, C10, C11, C12 } + +#ifdef RGB_MATRIX_ENABLE +#define DRIVER_1_LED_TOTAL 58 +#define DRIVER_2_LED_TOTAL 26 +#endif diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.c b/keyboards/durgod/dgk6x/galaxy/galaxy.c new file mode 100644 index 000000000000..5f793ed85bff --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/galaxy.c @@ -0,0 +1,142 @@ +/* Copyright 2021 Don Kjer + * + * 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 "galaxy.h" + +#ifdef RGB_MATRIX_ENABLE + +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + + {0, C_1, B_1, A_1}, // Esc + {0, C_2, B_2, A_2}, // F1 + {0, C_3, B_3, A_3}, // F2 + {0, C_4, B_4, A_4}, // F3 + {0, C_5, B_5, A_5}, // F4 + {0, C_6, B_6, A_6}, // F5 + {0, C_7, B_7, A_7}, // F6 + {0, C_8, B_8, A_8}, // F7 + {0, C_9, B_9, A_9}, // F8 + {0, C_10, B_10, A_10}, // F9 + {0, C_11, B_11, A_11}, // F10 + {0, C_12, B_12, A_12}, // F11 + {0, C_13, B_13, A_13}, // F12 + {0, C_14, B_14, A_14}, // PrtSc + {0, C_15, B_15, A_15}, // Pause + {0, C_16, B_16, A_16}, // Del + + {0, F_1, E_1, D_1}, // ` + {0, F_2, E_2, D_2}, // 1 + {0, F_3, E_3, D_3}, // 2 + {0, F_4, E_4, D_4}, // 3 + {0, F_5, E_5, D_5}, // 4 + {0, F_6, E_6, D_6}, // 5 + {0, F_7, E_7, D_7}, // 6 + {0, F_8, E_8, D_8}, // 7 + {0, F_9, E_9, D_9}, // 8 + {0, F_10, E_10, D_10}, // 9 + {0, F_11, E_11, D_11}, // 0 + {0, F_12, E_12, D_12}, // - + {0, F_13, E_13, D_13}, // = + {0, F_14, E_14, D_14}, // Bksp + {0, F_15, E_15, D_15}, // Home + + {0, I_1, H_1, G_1}, // Tab + {0, I_2, H_2, G_2}, // Q + {0, I_3, H_3, G_3}, // W + {0, I_4, H_4, G_4}, // E + {0, I_5, H_5, G_5}, // R + {0, I_6, H_6, G_6}, // T + {0, I_7, H_7, G_7}, // Y + {0, I_8, H_8, G_8}, // U + {0, I_9, H_9, G_9}, // I + {0, I_10, H_10, G_10}, // O + {0, I_11, H_11, G_11}, // P + {0, I_12, H_12, G_12}, // [ + {0, I_13, H_13, G_13}, // ] + {0, I_14, H_14, G_14}, // Pipe + {0, I_15, H_15, G_15}, // End + + {0, L_1, K_1, J_1}, // Caps + {0, L_2, K_2, J_2}, // A + {0, L_3, K_3, J_3}, // S + {0, L_4, K_4, J_4}, // D + {0, L_5, K_5, J_5}, // F + {0, L_6, K_6, J_6}, // G + {0, L_7, K_7, J_7}, // H + {0, L_8, K_8, J_8}, // J + {0, L_9, K_9, J_9}, // K + {0, L_10, K_10, J_10}, // L + {0, L_11, K_11, J_11}, // : + {0, L_12, K_12, J_12}, // ' + {0, L_14, K_14, J_14}, // Enter + {0, L_15, K_15, J_15}, // PgUp + + {1, C_1, B_1, A_1}, // LShift + {1, C_3, B_3, A_3}, // Z + {1, C_4, B_4, A_4}, // X + {1, C_5, B_5, A_5}, // C + {1, C_6, B_6, A_6}, // V + {1, C_7, B_7, A_7}, // B + {1, C_8, B_8, A_8}, // N + {1, C_9, B_9, A_9}, // M + {1, C_10, B_10, A_10}, // < + {1, C_11, B_11, A_11}, // > + {1, C_12, B_12, A_12}, // ? + {1, C_13, B_13, A_13}, // RShift + {1, C_14, B_14, A_14}, // Up + {1, C_15, B_15, A_15}, // PgDn + + {1, F_1, E_1, D_1}, // LCtrl + {1, F_2, E_2, D_2}, // LAlt + {1, F_3, E_3, D_3}, // LGUI + {1, F_7, E_7, D_7}, // Space + {1, F_10, E_10, D_10}, // RAlt + {1, F_11, E_11, D_11}, // Fn1 + {1, F_12, E_12, D_12}, // Fn2 + {1, F_13, E_13, D_13}, // Left + {1, F_14, E_14, D_14}, // Down + {1, F_15, E_15, D_15} // Right +}; + +led_config_t g_led_config = {{ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, + { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, NO_LED }, + { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, NO_LED }, + { 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, NO_LED, 58, 59, NO_LED }, + { 60, NO_LED, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, NO_LED }, + { 74, 75, 76, NO_LED, NO_LED, NO_LED, 77, NO_LED, NO_LED, 78, 79, 80, 81, 82, 83, NO_LED } +}, { + { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 208, 0 }, { 224, 0 }, { 240, 0 }, + { 0, 13 }, { 16, 13 }, { 32, 13 }, { 48, 13 }, { 64, 13 }, { 80, 13 }, { 96, 13 }, { 112, 13 }, { 128, 13 }, { 144, 13 }, { 160, 13 }, { 176, 13 }, { 192, 13 }, { 216, 13 }, { 240, 13 }, + { 4, 26 }, { 24, 26 }, { 40, 26 }, { 56, 26 }, { 72, 26 }, { 88, 26 }, { 104, 26 }, { 120, 26 }, { 136, 26 }, { 152, 26 }, { 168, 26 }, { 184, 26 }, { 200, 26 }, { 220, 26 }, { 240, 26 }, + { 6, 38 }, { 28, 38 }, { 44, 38 }, { 60, 38 }, { 76, 38 }, { 92, 38 }, { 108, 38 }, { 124, 38 }, { 140, 38 }, { 156, 38 }, { 172, 38 }, { 188, 38 }, { 214, 38 }, { 240, 38 }, + { 10, 51 }, { 36, 51 }, { 52, 51 }, { 68, 51 }, { 84, 51 }, { 100, 51 }, { 116, 51 }, { 132, 51 }, { 148, 51 }, { 164, 51 }, { 180, 51 }, { 202, 51 }, { 224, 51 }, { 240, 51 }, + { 2, 64 }, { 22, 64 }, { 42, 64 }, { 101, 64 }, { 160, 64 }, { 176, 64 }, { 192, 64 }, { 208, 64 }, { 224, 64 }, { 240, 64 } +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 4, 4, 4 +}}; +#endif /* RGB_MATRIX_ENABLE */ diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.h b/keyboards/durgod/dgk6x/galaxy/galaxy.h new file mode 100644 index 000000000000..3ba96aaf7b75 --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/galaxy.h @@ -0,0 +1,40 @@ +/* Copyright 2021 Don Kjer + * + * 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 "quantum.h" + +#define CAPS_LED 46 + +#define XXX KC_NO + +// This a shortcut to help you visually see your layout. +#define LAYOUT_75_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, \ + K50, K51, K52, K56, K59, K5A, K5B, K5C, K5D, K5E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, XXX }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, XXX }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, XXX }, \ + { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, XXX }, \ + { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, K59, K5A, K5B, K5C, K5D, K5E, XXX }, \ +} + diff --git a/keyboards/durgod/dgk6x/galaxy/info.json b/keyboards/durgod/dgk6x/galaxy/info.json new file mode 100644 index 000000000000..9d7ebc665b93 --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/info.json @@ -0,0 +1,102 @@ +{ + "keyboard_name": "DURGOD Galaxy", + "url": "https://www.amazon.com/Galaxy-75-Modular-Mechanical-Keyboard/dp/B08PDRD8MP", + "maintainer": "dkjer", + "width": 16, + "height": 6, + "layouts": { + "LAYOUT_75_ansi": { + "layout": [ + { "label": "Esc", "x": 0, "y": 1 }, + { "label": "F1", "x": 1, "y": 1 }, + { "label": "F2", "x": 2, "y": 1 }, + { "label": "F3", "x": 3, "y": 1 }, + { "label": "F4", "x": 4, "y": 1 }, + { "label": "F5", "x": 5, "y": 1 }, + { "label": "F6", "x": 6, "y": 1 }, + { "label": "F7", "x": 7, "y": 1 }, + { "label": "F8", "x": 8, "y": 1 }, + { "label": "F9", "x": 9, "y": 1 }, + { "label": "F10", "x": 10, "y": 1 }, + { "label": "F11", "x": 11, "y": 1 }, + { "label": "F12", "x": 12, "y": 1 }, + { "label": "PrintScreen", "x": 13, "y": 1 }, + { "label": "ScrollLock", "x": 14, "y": 1 }, + { "label": "Delete", "x": 15, "y": 1 }, + + { "label": "~", "x": 0, "y": 1 }, + { "label": "!", "x": 1, "y": 1 }, + { "label": "@", "x": 2, "y": 1 }, + { "label": "#", "x": 3, "y": 1 }, + { "label": "$", "x": 4, "y": 1 }, + { "label": "%", "x": 5, "y": 1 }, + { "label": "^", "x": 6, "y": 1 }, + { "label": "&", "x": 7, "y": 1 }, + { "label": "*", "x": 8, "y": 1 }, + { "label": "(", "x": 9, "y": 1 }, + { "label": ")", "x": 10, "y": 1 }, + { "label": "_", "x": 11, "y": 1 }, + { "label": "+", "x": 12, "y": 1 }, + { "label": "Backspace", "x": 13, "y": 1, "w": 2 }, + { "label": "Home", "x": 15, "y": 1 }, + + { "label": "Tab", "x": 0, "y": 2, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2 }, + { "label": "W", "x": 2.5, "y": 2 }, + { "label": "E", "x": 3.5, "y": 2 }, + { "label": "R", "x": 4.5, "y": 2 }, + { "label": "T", "x": 5.5, "y": 2 }, + { "label": "Y", "x": 6.5, "y": 2 }, + { "label": "U", "x": 7.5, "y": 2 }, + { "label": "I", "x": 8.5, "y": 2 }, + { "label": "O", "x": 9.5, "y": 2 }, + { "label": "P", "x": 10.5, "y": 2 }, + { "label": "{", "x": 11.5, "y": 2 }, + { "label": "}", "x": 12.5, "y": 2 }, + { "label": "|", "x": 13.5, "y": 2, "w": 1.5 }, + { "label": "End", "x": 15, "y": 2 }, + + { "label": "CapsLock", "x": 0, "y": 3, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3 }, + { "label": "S", "x": 2.75, "y": 3 }, + { "label": "D", "x": 3.75, "y": 3 }, + { "label": "F", "x": 4.75, "y": 3 }, + { "label": "G", "x": 5.75, "y": 3 }, + { "label": "H", "x": 6.75, "y": 3 }, + { "label": "J", "x": 7.75, "y": 3 }, + { "label": "K", "x": 8.75, "y": 3 }, + { "label": "L", "x": 9.75, "y": 3 }, + { "label": ":", "x": 10.75, "y": 3 }, + { "label": "\"", "x": 11.75, "y": 3 }, + { "label": "Enter", "x": 12.75, "y": 3, "w": 2.25 }, + { "label": "PgUp", "x": 15, "y": 3 }, + + { "label": "Shift", "x": 0, "y": 4, "w": 2.25 }, + { "label": "Z", "x": 2.25, "y": 4 }, + { "label": "X", "x": 3.25, "y": 4 }, + { "label": "C", "x": 4.25, "y": 4 }, + { "label": "V", "x": 5.25, "y": 4 }, + { "label": "B", "x": 6.25, "y": 4 }, + { "label": "N", "x": 7.25, "y": 4 }, + { "label": "M", "x": 8.25, "y": 4 }, + { "label": "<", "x": 9.25, "y": 4 }, + { "label": ">", "x": 10.25, "y": 4 }, + { "label": "?", "x": 11.25, "y": 4 }, + { "label": "Shift", "x": 12.25, "y": 4, "w": 1.75 }, + { "label": "Up", "x": 14, "y": 4 }, + { "label": "PgDn", "x": 15, "y": 4 }, + + { "label": "Ctrl", "x": 0, "y": 5, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5, "w": 1.25 }, + { "x": 3.75, "y": 5, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5 }, + { "label": "Fn1", "x": 11, "y": 5 }, + { "label": "Fn2", "x": 12, "y": 5 }, + { "label": "Left", "x": 13, "y": 5 }, + { "label": "Down", "x": 14, "y": 5 }, + { "label": "Right", "x": 15, "y": 5 } + ] + } + } +} diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json new file mode 100644 index 000000000000..70e31cc5d0b0 --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json @@ -0,0 +1,42 @@ +{ + "keyboard": "durgod/dgk6x/galaxy", + "keymap": "default", + "layout": "LAYOUT_75_ansi", + "layers": [ + [ + "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_SLCK", "KC_DEL", + "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_HOME", + "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_END", + "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_PGUP", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_RIGHT" + ], + [ + "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_RMOD","RGB_MOD", "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", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "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", "MO(3)", "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "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", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_HUD", "RGB_SAD", "RGB_HUI" + ] + ], + "author":"dkjer", + "notes":"", + "version":1 +} diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/default/readme.md b/keyboards/durgod/dgk6x/galaxy/keymaps/default/readme.md new file mode 100644 index 000000000000..72ba9da6eb06 --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/keymaps/default/readme.md @@ -0,0 +1,14 @@ +![Durgod Galaxy Layout Image](https://i.imgur.com/KrcXUSK.png) + +# The default keymap for Durgod Galaxy. + +Currently only supports ANSI + +This keymap is intended to closely follow the stock Durgod Galaxy layout. RGB Hue and Saturation can be changed Fn1 + Fn2 + arrow keys. + +## Windows key lock + +You can hold down Fn1 + Windows key to disable the Windows key while in locked mode. +The 'Lock' LED indicates if the Windows key is locked. + +This is similar to the stock Galaxy Windows key lock functionality. diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json new file mode 100644 index 000000000000..5e472baad116 --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json @@ -0,0 +1,138 @@ +{ + "keyboard": "durgod/dgk6x/galaxy", + "keymap": "via", + "layout": "LAYOUT_75_ansi", + "layers": [ + [ + "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_SLCK", "KC_DEL", + "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_HOME", + "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_END", + "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_PGUP", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_RIGHT" + ], + [ + "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_RMOD","RGB_MOD", "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", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "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", "MO(3)", "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "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", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_HUD", "RGB_SAD", "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", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ] + ], + "author":"dkjer", + "notes":"", + "version":1 +} diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/via/readme.md b/keyboards/durgod/dgk6x/galaxy/keymaps/via/readme.md new file mode 100644 index 000000000000..1a9953a1d9c5 --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/keymaps/via/readme.md @@ -0,0 +1,14 @@ +![Durgod Galaxy Layout Image](https://i.imgur.com/KrcXUSK.png) + +# The via keymap for Durgod Galaxy. + +Currently only supports ANSI + +This keymap is intended to closely follow the stock Durgod Galaxy layout. RGB Hue and Saturation can be changed Fn1 + Fn2 + arrow keys. + +## Windows key lock + +You can hold down Fn1 + Windows key to disable the Windows key while in locked mode. +The 'Lock' LED indicates if the Windows key is locked. + +This is similar to the stock Galaxy Windows key lock functionality. diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/via/rules.mk b/keyboards/durgod/dgk6x/galaxy/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/durgod/dgk6x/galaxy/readme.md b/keyboards/durgod/dgk6x/galaxy/readme.md new file mode 100644 index 000000000000..9d1b3840cdf6 --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/readme.md @@ -0,0 +1,26 @@ +# Galaxy + +This is a standard off-the-shelf Durgod Galaxy 75% ANSI layout keyboard with RGB matrix. + +* Keyboard Maintainer: [dkjer](https://github.com/dkjer) +* Hardware Supported: Durgod Galaxy board with STM32F070RBT6 +* Hardware Availability: https://www.amazon.com/Galaxy-75-Modular-Mechanical-Keyboard/dp/B08PDRD8MP + +## Instructions + +### Build + +Make command example for this keyboard (after setting up your build environment): + + make durgod/galaxy:default + +Flashing example for this keyboard: + + make durgod/galaxy: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). + +### Initial Flash + +Instructions for Flashing from initial Stock Firmware: +* [Initial Flashing](../readme.md#initial-flash) diff --git a/keyboards/durgod/dgk6x/galaxy/rules.mk b/keyboards/durgod/dgk6x/galaxy/rules.mk new file mode 100644 index 000000000000..255352f11a51 --- /dev/null +++ b/keyboards/durgod/dgk6x/galaxy/rules.mk @@ -0,0 +1 @@ +LAYOUTS = 75_ansi diff --git a/keyboards/durgod/dgk6x/hades/config.h b/keyboards/durgod/dgk6x/hades/config.h new file mode 100644 index 000000000000..c148ae1b1f13 --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/config.h @@ -0,0 +1,37 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define PRODUCT_ID 0x4AD3 +#define DEVICE_VER 0x0001 +#define PRODUCT DURGOD Hades (QMK) + +/* key matrix rows */ +#define MATRIX_ROWS 5 +#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4 } + +/* key matrix columns */ +#define MATRIX_COLS 15 +#define MATRIX_COL_PINS { B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C8, C9, C10, C11 } + +#ifdef RGB_MATRIX_ENABLE +#define DRIVER_1_LED_TOTAL 58 +#define DRIVER_2_LED_TOTAL 10 +#endif diff --git a/keyboards/durgod/dgk6x/hades/hades.c b/keyboards/durgod/dgk6x/hades/hades.c new file mode 100644 index 000000000000..3e235683f1c8 --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/hades.c @@ -0,0 +1,123 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 "hades.h" + +#ifdef RGB_MATRIX_ENABLE + + +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + + {0, C_1, B_1, A_1}, // Esc + {0, C_2, B_2, A_2}, // 1 + {0, C_3, B_3, A_3}, // 2 + {0, C_4, B_4, A_4}, // 3 + {0, C_5, B_5, A_5}, // 4 + {0, C_6, B_6, A_6}, // 5 + {0, C_7, B_7, A_7}, // 6 + {0, C_8, B_8, A_8}, // 7 + {0, C_9, B_9, A_9}, // 8 + {0, C_10, B_10, A_10}, // 9 + {0, C_11, B_11, A_11}, // 0 + {0, C_12, B_12, A_12}, // - + {0, C_13, B_13, A_13}, // = + {0, C_14, B_14, A_14}, // Bksp + {0, C_15, B_15, A_15}, // Del + + {0, F_1, E_1, D_1}, // Tab + {0, F_2, E_2, D_2}, // Q + {0, F_3, E_3, D_3}, // W + {0, F_4, E_4, D_4}, // E + {0, F_5, E_5, D_5}, // R + {0, F_6, E_6, D_6}, // T + {0, F_7, E_7, D_7}, // Y + {0, F_8, E_8, D_8}, // U + {0, F_9, E_9, D_9}, // I + {0, F_10, E_10, D_10}, // O + {0, F_11, E_11, D_11}, // P + {0, F_12, E_12, D_12}, // [ + {0, F_13, E_13, D_13}, // ] + {0, F_14, E_14, D_14}, // Pipe + {0, F_15, E_15, D_15}, // Home + + {0, I_1, H_1, G_1}, // Caps + {0, I_2, H_2, G_2}, // A + {0, I_3, H_3, G_3}, // S + {0, I_4, H_4, G_4}, // D + {0, I_5, H_5, G_5}, // F + {0, I_6, H_6, G_6}, // G + {0, I_7, H_7, G_7}, // H + {0, I_8, H_8, G_8}, // J + {0, I_9, H_9, G_9}, // K + {0, I_10, H_10, G_10}, // L + {0, I_11, H_11, G_11}, // : + {0, I_12, H_12, G_12}, // ' + {0, I_14, H_14, G_14}, // Enter + {0, I_15, H_15, G_15}, // PgUp + + {0, L_1, K_1, J_1}, // LShift + {0, L_2, K_2, J_2}, // Z + {0, L_3, K_3, J_3}, // X + {0, L_4, K_4, J_4}, // C + {0, L_5, K_5, J_5}, // V + {0, L_6, K_6, J_6}, // B + {0, L_7, K_7, J_7}, // N + {0, L_8, K_8, J_8}, // M + {0, L_9, K_9, J_9}, // < + {0, L_10, K_10, J_10}, // > + {0, L_11, K_11, J_11}, // ? + {0, L_12, K_12, J_12}, // RShift + {0, L_14, K_14, J_14}, // Up + {0, L_15, K_15, J_15}, // PgOn + + {1, C_1, B_1, A_1}, // LCtrl + {1, C_2, B_2, A_2}, // LAlt + {1, C_3, B_3, A_3}, // Windows + {1, C_6, B_6, A_6}, // Space + {1, C_10, B_10, A_10}, // Fn1/RAlt hades/venus + {1, C_11, B_11, A_11}, // Fn2/Fn1 + {1, C_12, B_12, A_12}, // RCtrl/Fn2 + {1, C_13, B_13, A_13}, // LEFT/RCtrl + {1, C_14, B_14, A_14}, // DOWN + {1, C_15, B_15, A_15} // RIGHT +}; + +led_config_t g_led_config = {{ + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 } +}, { + { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 216, 0 }, { 240, 0 }, + { 4, 16 }, { 24, 16 }, { 40, 16 }, { 56, 16 }, { 72, 16 }, { 88, 16 }, { 104, 16 }, { 120, 16 }, { 136, 16 }, { 152, 16 }, { 168, 16 }, { 184, 16 }, { 200, 16 }, { 220, 16 }, { 240, 16 }, + { 6, 32 }, { 28, 32 }, { 44, 32 }, { 60, 32 }, { 76, 32 }, { 92, 32 }, { 108, 32 }, { 124, 32 }, { 140, 32 }, { 156, 32 }, { 172, 32 }, { 188, 32 }, { 214, 32 }, { 240, 32 }, + { 10, 48 }, { 36, 48 }, { 52, 48 }, { 68, 48 }, { 84, 48 }, { 100, 48 }, { 116, 48 }, { 132, 48 }, { 148, 48 }, { 164, 48 }, { 180, 48 }, { 202, 48 }, { 224, 48 }, { 240, 48 }, + { 2, 64 }, { 22, 64 }, { 42, 64 }, { 101, 64 }, { 160, 64 }, { 176, 64 }, { 192, 64 }, { 208, 64 }, { 224, 64 }, { 240, 64 } +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 1, 1, 1, 4, 1, 1, 1, 4, 4, 4 +}}; +#endif /* RGB_MATRIX_ENABLE */ diff --git a/keyboards/durgod/dgk6x/hades/hades.h b/keyboards/durgod/dgk6x/hades/hades.h new file mode 100644 index 000000000000..630f7e92b57b --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/hades.h @@ -0,0 +1,39 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 "quantum.h" + +#define CAPS_LED 30 + +#define XXX KC_NO + +// This a shortcut to help you visually see your layout. +#define LAYOUT_65_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, K4E }, \ +} + + diff --git a/keyboards/durgod/dgk6x/hades/info.json b/keyboards/durgod/dgk6x/hades/info.json new file mode 100644 index 000000000000..1666a1f02aed --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/info.json @@ -0,0 +1,85 @@ +{ + "keyboard_name": "DURGOD Hades", + "url": "https://www.amazon.com/gp/product/B08562392T", + "maintainer": "J-Sully", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_65_ansi": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "!", "x": 1, "y": 0 }, + { "label": "@", "x": 2, "y": 0 }, + { "label": "#", "x": 3, "y": 0 }, + { "label": "$", "x": 4, "y": 0 }, + { "label": "%", "x": 5, "y": 0 }, + { "label": "^", "x": 6, "y": 0 }, + { "label": "&", "x": 7, "y": 0 }, + { "label": "*", "x": 8, "y": 0 }, + { "label": "(", "x": 9, "y": 0 }, + { "label": ")", "x": 10, "y": 0 }, + { "label": "_", "x": 11, "y": 0 }, + { "label": "+", "x": 12, "y": 0 }, + { "label": "Backspace", "x": 13, "y": 0, "w": 2 }, + { "label": "Delete", "x": 15, "y": 0 }, + + { "label": "Tab", "x": 0, "y": 1, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 1 }, + { "label": "W", "x": 2.5, "y": 1 }, + { "label": "E", "x": 3.5, "y": 1 }, + { "label": "R", "x": 4.5, "y": 1 }, + { "label": "T", "x": 5.5, "y": 1 }, + { "label": "Y", "x": 6.5, "y": 1 }, + { "label": "U", "x": 7.5, "y": 1 }, + { "label": "I", "x": 8.5, "y": 1 }, + { "label": "O", "x": 9.5, "y": 1 }, + { "label": "P", "x": 10.5, "y": 1 }, + { "label": "{", "x": 11.5, "y": 1 }, + { "label": "}", "x": 12.5, "y": 1 }, + { "label": "|", "x": 13.5, "y": 1, "w": 1.5 }, + { "label": "Home", "x": 15, "y": 1 }, + + { "label": "CapsLock", "x": 0, "y": 2, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 2 }, + { "label": "S", "x": 2.75, "y": 2 }, + { "label": "D", "x": 3.75, "y": 2 }, + { "label": "F", "x": 4.75, "y": 2 }, + { "label": "G", "x": 5.75, "y": 2 }, + { "label": "H", "x": 6.75, "y": 2 }, + { "label": "J", "x": 7.75, "y": 2 }, + { "label": "K", "x": 8.75, "y": 2 }, + { "label": "L", "x": 9.75, "y": 2 }, + { "label": ":", "x": 10.75, "y": 2 }, + { "label": "\"", "x": 11.75, "y": 2 }, + { "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 }, + { "label": "PgUp", "x": 15, "y": 2 }, + + { "label": "Shift", "x": 0, "y": 3, "w": 2.25 }, + { "label": "Z", "x": 2.25, "y": 3 }, + { "label": "X", "x": 3.25, "y": 3 }, + { "label": "C", "x": 4.25, "y": 3 }, + { "label": "V", "x": 5.25, "y": 3 }, + { "label": "B", "x": 6.25, "y": 3 }, + { "label": "N", "x": 7.25, "y": 3 }, + { "label": "M", "x": 8.25, "y": 3 }, + { "label": "<", "x": 9.25, "y": 3 }, + { "label": ">", "x": 10.25, "y": 3 }, + { "label": "?", "x": 11.25, "y": 3 }, + { "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 }, + { "label": "Up", "x": 14, "y": 3 }, + { "label": "PgDn", "x": 15, "y": 3 }, + + { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 4, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 }, + { "x": 3.75, "y": 4, "w": 6.25 }, + { "label": "Fn1", "x": 10, "y": 4 }, + { "label": "Fn2", "x": 11, "y": 4 }, + { "label": "Ctrl", "x": 12, "y": 4 }, + { "label": "Left", "x": 13, "y": 4 }, + { "label": "Down", "x": 14, "y": 4 }, + { "label": "Right", "x": 15, "y": 4 } + ] + } + } +} diff --git a/keyboards/durgod/dgk6x/hades/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/hades/keymaps/default/keymap.json new file mode 100644 index 000000000000..4794aa7d9fbe --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/keymaps/default/keymap.json @@ -0,0 +1,38 @@ +{ + "keyboard": "durgod/dgk6x/hades", + "keymap": "default", + "layout": "LAYOUT_65_ansi", + "layers": [ + [ + "KC_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_DEL", + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_HOME", + "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGUP", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "MO(1)", "MO(2)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RIGHT" + ], + [ + "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_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_SLCK", "KC_PAUS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_INS", "KC_END", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "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", "MO(3)", "KC_TRNS", "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "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", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_HUD", "RGB_SAD", "RGB_HUI" + ] + ], + "author":"J-Sully", + "notes":"", + "version":1 +} diff --git a/keyboards/durgod/dgk6x/hades/keymaps/default/readme.md b/keyboards/durgod/dgk6x/hades/keymaps/default/readme.md new file mode 100644 index 000000000000..83bc679361bd --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/keymaps/default/readme.md @@ -0,0 +1,14 @@ +![Durgod Hades Layout Image](https://i.imgur.com/vsi6sdK.png) + +# The default keymap for Durgod Hades. + +Currently only supports ANSI + +This keymap is intended to closely follow the stock Durgod Hades layout. RGB Hue and Saturation can be changed Fn1 + Fn2 + arrow keys. + +## Windows key lock + +You can hold down Fn1 + Windows key to disable the Windows key while in locked mode. +The 'Lock' LED indicates if the Windows key is locked. + +This is similar to the stock Hades Windows key lock functionality. diff --git a/keyboards/durgod/dgk6x/hades/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/hades/keymaps/via/keymap.json new file mode 100644 index 000000000000..f1ed0ecef65c --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/keymaps/via/keymap.json @@ -0,0 +1,122 @@ +{ + "keyboard": "durgod/dgk6x/hades", + "keymap": "via", + "layout": "LAYOUT_65_ansi", + "layers": [ + [ + "KC_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_DEL", + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_HOME", + "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGUP", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "MO(1)", "MO(2)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RIGHT" + ], + [ + "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_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_SLCK", "KC_PAUS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_INS", "KC_END", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "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", "MO(3)", "KC_TRNS", "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "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", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_HUD", "RGB_SAD", "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", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ] + ], + "author":"J-Sully", + "notes":"", + "version":1 +} diff --git a/keyboards/durgod/dgk6x/hades/keymaps/via/readme.md b/keyboards/durgod/dgk6x/hades/keymaps/via/readme.md new file mode 100644 index 000000000000..4a1ff85a7439 --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/keymaps/via/readme.md @@ -0,0 +1,14 @@ +![Durgod Hades Layout Image](https://i.imgur.com/vsi6sdK.png) + +# The via keymap for Durgod Hades. + +Currently only supports ANSI + +This keymap is intended to closely follow the stock Durgod Hades layout. RGB Hue and Saturation can be changed Fn1 + Fn2 + arrow keys. + +## Windows key lock + +You can hold down Fn1 + Windows key to disable the Windows key while in locked mode. +The 'Lock' LED indicates if the Windows key is locked. + +This is similar to the stock Hades Windows key lock functionality. diff --git a/keyboards/durgod/dgk6x/hades/keymaps/via/rules.mk b/keyboards/durgod/dgk6x/hades/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/durgod/dgk6x/hades/readme.md b/keyboards/durgod/dgk6x/hades/readme.md new file mode 100644 index 000000000000..950696186f4b --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/readme.md @@ -0,0 +1,26 @@ +# Hades + +This is a standard off-the-shelf Durgod Hades 65% ANSI layout keyboard with RGB matrix. + +* Keyboard Maintainer: [J-Sully](https://github.com/J-Sully) and [dkjer](https://github.com/dkjer) +* Hardware Supported: Durgod Hades board with STM32F070RBT6 +* Hardware Availability: https://www.amazon.com/gp/product/B08562392T + +## Instructions + +### Build + +Make command example for this keyboard (after setting up your build environment): + + make durgod/hades:default + +Flashing example for this keyboard: + + make durgod/hades: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). + +### Initial Flash + +Instructions for Flashing from initial Stock Firmware: +* [Initial Flashing](../readme.md#initial-flash) diff --git a/keyboards/durgod/dgk6x/hades/rules.mk b/keyboards/durgod/dgk6x/hades/rules.mk new file mode 100644 index 000000000000..41f77628cd4f --- /dev/null +++ b/keyboards/durgod/dgk6x/hades/rules.mk @@ -0,0 +1 @@ +LAYOUTS = 65_ansi diff --git a/keyboards/durgod/dgk6x/halconf.h b/keyboards/durgod/dgk6x/halconf.h new file mode 100644 index 000000000000..1772f8e4104e --- /dev/null +++ b/keyboards/durgod/dgk6x/halconf.h @@ -0,0 +1,22 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 + +#ifdef RGB_MATRIX_ENABLE +#define HAL_USE_I2C TRUE +#endif +#include_next diff --git a/keyboards/durgod/dgk6x/mcuconf.h b/keyboards/durgod/dgk6x/mcuconf.h new file mode 100644 index 000000000000..45c06a6f45ed --- /dev/null +++ b/keyboards/durgod/dgk6x/mcuconf.h @@ -0,0 +1,28 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 + +#ifdef RGB_MATRIX_ENABLE +#undef STM32_I2C_USE_DMA +#define STM32_I2C_USE_DMA FALSE + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE +#endif /* RGB_MATRIX_ENABLE */ diff --git a/keyboards/durgod/dgk6x/readme.md b/keyboards/durgod/dgk6x/readme.md new file mode 100644 index 000000000000..06ce965690cb --- /dev/null +++ b/keyboards/durgod/dgk6x/readme.md @@ -0,0 +1,55 @@ +# DGK6X = Venus, Hades, Galaxy, etc. + +This DGK6X code is shared between the ANSI variants of Venus, Hades and Galaxy keyboards. + +* Keyboard Maintainer: [J-Sully](https://github.com/J-Sully) and [dkjer](https://github.com/dkjer) +* Hardware Supported: Durgod Venus, Hades or Galaxy board with STM32F070RBT6 +* Hardware Availability: [Venus](https://www.amazon.com/dp/B07XFP5MMZ), [Hades](https://www.amazon.com/gp/product/B08562392T) and [Galaxy](https://www.amazon.com/Galaxy-75-Modular-Mechanical-Keyboard/dp/B08PDRD8MP) + +## Instructions + +### Build + +Instructions for building the Venus, Hades and Galaxy firmware can be found here: +* [Venus](venus/readme.md) +* [Hades](hades/readme.md) +* [Galaxy](galaxy/readme.md) + +### Initial Flash + +For first Flashing from initial Stock's Firmware + +1. Back up original Firmware Image: +- Unplug +- Short Boot0 to Vdd (See below) +- Plug In USB +- Make a Flash Image's Backup in case you wanted to restore the Keyboard to Stock's Image: + - Using dfu-util: + + dfu-util --list + dfu-util --alt 0 --dfuse-address 0x08000000 --upload ${OLD_STOCK_BIN} + +2. Flash the QMK Firmware Image. +- Put board into Bootloader mode, using the same method as when backing up the original Firmware (above) +- Here are a few options for performing the initial Flash: + - Using [QMK Toolbox](https://github.com/qmk/qmk_toolbox) + - Using dfu-util: + + dfu-util --alt 0 --dfuse-address 0x08000000 --download ${NEW_QMK_BIN} + +You can short Boot0 to Vdd by shorting R19 to C30 on the sides closest to the processor, as shown: + +* Hades & Venus: +Shorting Boot0 to Vdd on Hades or Venus + +* Galaxy 75 +Shorting Boot0 to Vdd on Galaxy 75 + +### Subsequent Flashing + +For repeating Flashing you can use BootMagic: +- BootMagic Lite has been enabled with Assigned "Esc" key +- Unplug USB Cable +- Holding Esc Button +- Plug in USB Cable, Keyboard should be in ST-Bootloader state + diff --git a/keyboards/durgod/dgk6x/rules.mk b/keyboards/durgod/dgk6x/rules.mk new file mode 100644 index 000000000000..97e2530120da --- /dev/null +++ b/keyboards/durgod/dgk6x/rules.mk @@ -0,0 +1,31 @@ +# MCU name +# Actually F070, but close enough +MCU = STM32F072 + +BOARD = DURGOD_STM32_F070 + +# Do not put the microcontroller into power saving mode +NO_SUSPEND_POWER_DOWN = yes + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes + +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = IS31FL3733 + +DEFAULT_FOLDER=durgod/dgk6x/hades diff --git a/keyboards/durgod/dgk6x/venus/config.h b/keyboards/durgod/dgk6x/venus/config.h new file mode 100644 index 000000000000..3bef1ea7ed78 --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/config.h @@ -0,0 +1,37 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define PRODUCT_ID 0x7EC5 +#define DEVICE_VER 0x0001 +#define PRODUCT DURGOD Venus (QMK) + +/* key matrix rows */ +#define MATRIX_ROWS 5 +#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4 } + +/* key matrix columns */ +#define MATRIX_COLS 14 +#define MATRIX_COL_PINS { B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C8, C9, C10 } + +#ifdef RGB_MATRIX_ENABLE +#define DRIVER_1_LED_TOTAL 53 +#define DRIVER_2_LED_TOTAL 8 +#endif diff --git a/keyboards/durgod/dgk6x/venus/info.json b/keyboards/durgod/dgk6x/venus/info.json new file mode 100644 index 000000000000..cd6962359837 --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/info.json @@ -0,0 +1,78 @@ +{ + "keyboard_name": "DURGOD Venus", + "url": "https://www.amazon.com/dp/B07XFP5MMZ", + "maintainer": "J-Sully", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_60_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Backspace", "x":13, "y":0, "w":2}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + + {"label":"CapsLock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":";", "x":10.75, "y":2}, + {"label":"'", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3, "w":2.75}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Gui", "x":1.25, "y":4, "w":1.25}, + {"label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"label":" ", "x":3.75, "y":4, "w":6.25}, + {"label":"Alt", "x":10, "y":4, "w":1.25}, + {"label":"Gui", "x":11.25, "y":4, "w":1.25}, + {"label":"Win", "x":12.5, "y":4, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":4, "w":1.25} + ] + } + } +} diff --git a/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json new file mode 100644 index 000000000000..00742818f156 --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json @@ -0,0 +1,38 @@ +{ + "keyboard": "durgod/venus", + "keymap": "default", + "layout": "LAYOUT_60_ansi", + "layers": [ + [ + "KC_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", + "KC_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", "RSFT_T(KC_UP)", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT","LT(1,KC_LEFT)","LT(2,KC_DOWN)","RCTL_T(KC_RIGHT)" + ], + [ + "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_TRNS", + "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_INS", "KC_HOME", "KC_END", "KC_DEL", + "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT","KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_PGDN", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", + "KC_TRNS", "KC_TRNS", "RGB_VAI", "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_SPD", "RGB_VAD", "RGB_SPI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS" + ], + [ + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "XXXXXXX", "XXXXXXX", "RGB_SAI", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "XXXXXXX", "RGB_HUD", "RGB_SAD", "RGB_HUI", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "KC_TRNS", "KC_TRNS", "XXXXXXX" + ] + ], + "author":"dkjer", + "notes":"", + "version":1 +} diff --git a/keyboards/durgod/dgk6x/venus/keymaps/default/readme.md b/keyboards/durgod/dgk6x/venus/keymaps/default/readme.md new file mode 100644 index 000000000000..da166eb60a34 --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/keymaps/default/readme.md @@ -0,0 +1,11 @@ +![Durgod Venus Layout Image](https://i.imgur.com/eYjuTLy.png) + +# The default keymap for Durgod Venus. + +Layer 0 : Standard ANSI 60 Keys layout + +Layer 1 : F1-12 and additional navigation keys. + +Layer 2 : Media and RGB matrix control + +Layer 3 : RGB matrix hue and saturation diff --git a/keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json new file mode 100644 index 000000000000..9d9bcf746798 --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json @@ -0,0 +1,122 @@ +{ + "keyboard": "durgod/venus", + "keymap": "via", + "layout": "LAYOUT_60_ansi", + "layers": [ + [ + "KC_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", + "KC_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", "RSFT_T(KC_UP)", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT","LT(1,KC_LEFT)","LT(2,KC_DOWN)","RCTL_T(KC_RIGHT)" + ], + [ + "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_TRNS", + "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_INS", "KC_HOME", "KC_END", "KC_DEL", + "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT","KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_PGDN", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", + "KC_TRNS", "KC_TRNS", "RGB_VAI", "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_SPD", "RGB_VAD", "RGB_SPI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "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", "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_HUD", "RGB_SAD", "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", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ] + ], + "author":"dkjer", + "notes":"", + "version":1 +} diff --git a/keyboards/durgod/dgk6x/venus/keymaps/via/readme.md b/keyboards/durgod/dgk6x/venus/keymaps/via/readme.md new file mode 100644 index 000000000000..b23f4eccf860 --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/keymaps/via/readme.md @@ -0,0 +1,12 @@ +![Durgod Venus Layout Image](https://i.imgur.com/eYjuTLy.png) + +# The via keymap for Durgod Venus. + +Layer 0 : Standard ANSI 60 Keys layout + +Layer 1 : F1-12 and additional navigation keys. + +Layer 2 : Media and RGB matrix control + +Layer 3 : RGB matrix hue and saturation + diff --git a/keyboards/durgod/dgk6x/venus/keymaps/via/rules.mk b/keyboards/durgod/dgk6x/venus/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/durgod/dgk6x/venus/readme.md b/keyboards/durgod/dgk6x/venus/readme.md new file mode 100644 index 000000000000..9e37d49633cc --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/readme.md @@ -0,0 +1,26 @@ +# Venus + +This is a standard off-the-shelf Durgod Venus 60% ANSI Layout keyboard with RGB matrix. + +* Keyboard Maintainer: [J-Sully](https://github.com/J-Sully) and [dkjer](https://github.com/dkjer) +* Hardware Supported: Durgod Venus board with STM32F070RBT6 +* Hardware Availability: https://www.amazon.com/dp/B07XFP5MMZ + +## Instructions + +### Build + +Make command example for this keyboard (after setting up your build environment): + + make durgod/venus:default + +Flashing example for this keyboard: + + make durgod/venus: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). + +### Initial Flash + +Instructions for Flashing from initial Stock Firmware: +* [Initial Flashing](../readme.md#initial-flash) diff --git a/keyboards/durgod/dgk6x/venus/rules.mk b/keyboards/durgod/dgk6x/venus/rules.mk new file mode 100644 index 000000000000..cdf5ba34a210 --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/rules.mk @@ -0,0 +1 @@ +LAYOUTS = 60_ansi diff --git a/keyboards/durgod/dgk6x/venus/venus.c b/keyboards/durgod/dgk6x/venus/venus.c new file mode 100644 index 000000000000..3398acb19dfb --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/venus.c @@ -0,0 +1,115 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 "venus.h" + +#ifdef RGB_MATRIX_ENABLE + +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + + {0, C_1, B_1, A_1}, // Esc + {0, C_2, B_2, A_2}, // 1 + {0, C_3, B_3, A_3}, // 2 + {0, C_4, B_4, A_4}, // 3 + {0, C_5, B_5, A_5}, // 4 + {0, C_6, B_6, A_6}, // 5 + {0, C_7, B_7, A_7}, // 6 + {0, C_8, B_8, A_8}, // 7 + {0, C_9, B_9, A_9}, // 8 + {0, C_10, B_10, A_10}, // 9 + {0, C_11, B_11, A_11}, // 0 + {0, C_12, B_12, A_12}, // - + {0, C_13, B_13, A_13}, // = + {0, C_14, B_14, A_14}, // Bksp + + {0, F_1, E_1, D_1}, // Tab + {0, F_2, E_2, D_2}, // Q + {0, F_3, E_3, D_3}, // W + {0, F_4, E_4, D_4}, // E + {0, F_5, E_5, D_5}, // R + {0, F_6, E_6, D_6}, // T + {0, F_7, E_7, D_7}, // Y + {0, F_8, E_8, D_8}, // U + {0, F_9, E_9, D_9}, // I + {0, F_10, E_10, D_10}, // O + {0, F_11, E_11, D_11}, // P + {0, F_12, E_12, D_12}, // [ + {0, F_13, E_13, D_13}, // ] + {0, F_14, E_14, D_14}, // Pipe + + {0, I_1, H_1, G_1}, // Caps + {0, I_2, H_2, G_2}, // A + {0, I_3, H_3, G_3}, // S + {0, I_4, H_4, G_4}, // D + {0, I_5, H_5, G_5}, // F + {0, I_6, H_6, G_6}, // G + {0, I_7, H_7, G_7}, // H + {0, I_8, H_8, G_8}, // J + {0, I_9, H_9, G_9}, // K + {0, I_10, H_10, G_10}, // L + {0, I_11, H_11, G_11}, // : + {0, I_12, H_12, G_12}, // ' + {0, I_14, H_14, G_14}, // Enter + + {0, L_1, K_1, J_1}, // LShift + {0, L_2, K_2, J_2}, // Z + {0, L_3, K_3, J_3}, // X + {0, L_4, K_4, J_4}, // C + {0, L_5, K_5, J_5}, // V + {0, L_6, K_6, J_6}, // B + {0, L_7, K_7, J_7}, // N + {0, L_8, K_8, J_8}, // M + {0, L_9, K_9, J_9}, // < + {0, L_10, K_10, J_10}, // > + {0, L_11, K_11, J_11}, // ? + {0, L_12, K_12, J_12}, // RShift + + {1, C_1, B_1, A_1}, // LCtrl + {1, C_2, B_2, A_2}, // LAlt + {1, C_3, B_3, A_3}, // Windows + {1, C_6, B_6, A_6}, // Space + {1, C_10, B_10, A_10}, // Fn1/RAlt hades/venus + {1, C_11, B_11, A_11}, // Fn2/Fn1 + {1, C_12, B_12, A_12}, // RCtrl/Fn2 + {1, C_13, B_13, A_13}, // LEFT/RCtrl +}; + +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, + { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 }, + { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, NO_LED, 40 }, + { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, NO_LED, NO_LED }, + { 53, 54, 55, NO_LED, NO_LED, 56, NO_LED, NO_LED, NO_LED, 57, 58, 59, 60, NO_LED } +}, { + { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 216, 0 }, + { 4, 16 }, { 24, 16 }, { 40, 16 }, { 56, 16 }, { 72, 16 }, { 88, 16 }, { 104, 16 }, { 120, 16 }, { 136, 16 }, { 152, 16 }, { 168, 16 }, { 184, 16 }, { 200, 16 }, { 220, 16 }, + { 6, 32 }, { 28, 32 }, { 44, 32 }, { 60, 32 }, { 76, 32 }, { 92, 32 }, { 108, 32 }, { 124, 32 }, { 140, 32 }, { 156, 32 }, { 172, 32 }, { 188, 32 }, { 214, 32 }, + { 10, 48 }, { 36, 48 }, { 52, 48 }, { 68, 48 }, { 84, 48 }, { 100, 48 }, { 116, 48 }, { 132, 48 }, { 148, 48 }, { 164, 48 }, { 180, 48 }, { 210, 48 }, + { 2, 64 }, { 22, 64 }, { 42, 64 }, { 102, 64 }, { 162, 64 }, { 182, 64 }, { 202, 64 }, { 222, 64 }, +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1 +} }; +#endif /* RGB_MATRIX_ENABLE */ diff --git a/keyboards/durgod/dgk6x/venus/venus.h b/keyboards/durgod/dgk6x/venus/venus.h new file mode 100644 index 000000000000..6103c531dc6b --- /dev/null +++ b/keyboards/durgod/dgk6x/venus/venus.h @@ -0,0 +1,37 @@ +/* Copyright 2021 Jessica Sullivan and Don Kjer + * + * 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 "quantum.h" + +#define CAPS_LED 28 + +#define XXX KC_NO + +// This a shortcut to help you visually see your layout. +#define LAYOUT_60_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, XXX }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, XXX }, \ +} diff --git a/keyboards/durgod/galaxy/readme.md b/keyboards/durgod/galaxy/readme.md new file mode 100644 index 000000000000..a85bf3f73784 --- /dev/null +++ b/keyboards/durgod/galaxy/readme.md @@ -0,0 +1,3 @@ +# Galaxy 75 + +See: [Galaxy 75](../dgk6x/galaxy/readme.md) diff --git a/keyboards/durgod/galaxy/rules.mk b/keyboards/durgod/galaxy/rules.mk new file mode 100644 index 000000000000..ff1e1ff2050c --- /dev/null +++ b/keyboards/durgod/galaxy/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=durgod/dgk6x/galaxy diff --git a/keyboards/durgod/hades/readme.md b/keyboards/durgod/hades/readme.md new file mode 100644 index 000000000000..c132a99bf9da --- /dev/null +++ b/keyboards/durgod/hades/readme.md @@ -0,0 +1,3 @@ +# Hades + +See: [Hades](../dgk6x/hades/readme.md) diff --git a/keyboards/durgod/hades/rules.mk b/keyboards/durgod/hades/rules.mk new file mode 100644 index 000000000000..b5a326f3443a --- /dev/null +++ b/keyboards/durgod/hades/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=durgod/dgk6x/hades diff --git a/keyboards/durgod/k310/base/readme.md b/keyboards/durgod/k310/base/readme.md new file mode 100644 index 000000000000..1f818dacc9c0 --- /dev/null +++ b/keyboards/durgod/k310/base/readme.md @@ -0,0 +1,6 @@ +# Taurus K310 + +Base Model - no backlight leds + +See: [K310](../../k3x0/k310/base/readme.md) + diff --git a/keyboards/durgod/k310/base/rules.mk b/keyboards/durgod/k310/base/rules.mk new file mode 100644 index 000000000000..ff432cc4aa12 --- /dev/null +++ b/keyboards/durgod/k310/base/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=durgod/k3x0/k310/base diff --git a/keyboards/durgod/k310/readme.md b/keyboards/durgod/k310/readme.md new file mode 100644 index 000000000000..234fcc875d67 --- /dev/null +++ b/keyboards/durgod/k310/readme.md @@ -0,0 +1,4 @@ +# K310 + +See: [K310](../k3x0/k310/readme.md) + diff --git a/keyboards/durgod/k310/rules.mk b/keyboards/durgod/k310/rules.mk new file mode 100644 index 000000000000..e200539b260f --- /dev/null +++ b/keyboards/durgod/k310/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=durgod/k3x0/k310 diff --git a/keyboards/durgod/k320/base/readme.md b/keyboards/durgod/k320/base/readme.md new file mode 100644 index 000000000000..8b74e28e54c9 --- /dev/null +++ b/keyboards/durgod/k320/base/readme.md @@ -0,0 +1,6 @@ +# Taurus K320 + +Base Model - no backlight leds + +See: [K320](../../k3x0/k320/base/readme.md) + diff --git a/keyboards/durgod/k320/base/rules.mk b/keyboards/durgod/k320/base/rules.mk new file mode 100644 index 000000000000..de33470cc001 --- /dev/null +++ b/keyboards/durgod/k320/base/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=durgod/k3x0/k320/base diff --git a/keyboards/durgod/k320/board.h b/keyboards/durgod/k320/board.h deleted file mode 100644 index 17d08b17f12e..000000000000 --- a/keyboards/durgod/k320/board.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Copyright 2021 Don Kjer - -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 STM32_HSECLK 12000000U -#include_next -#undef STM32_HSE_BYPASS - diff --git a/keyboards/durgod/k320/chconf.h b/keyboards/durgod/k320/chconf.h deleted file mode 100644 index 374a030039bf..000000000000 --- a/keyboards/durgod/k320/chconf.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright 2020 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/durgod/k320/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_FREQUENCY 10000 - -#define CH_CFG_ST_TIMEDELTA 0 - -#define CH_CFG_OPTIMIZE_SPEED FALSE - -#define CH_CFG_USE_REGISTRY TRUE - -#define CH_CFG_USE_WAITEXIT TRUE - -#define CH_CFG_USE_CONDVARS TRUE - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#define CH_CFG_USE_MESSAGES TRUE - -#define CH_CFG_USE_MAILBOXES TRUE - -#include_next - diff --git a/keyboards/durgod/k320/config.h b/keyboards/durgod/k320/config.h deleted file mode 100644 index 70438900eed4..000000000000 --- a/keyboards/durgod/k320/config.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -Copyright 2021 kuenhlee and Don Kjer - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xD60D -#define PRODUCT_ID 0x3200 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Hoksi Technology -#define PRODUCT DURGOD Taurus K320 (QMK) - -/* key matrix size */ -#define MATRIX_ROWS 7 -#define MATRIX_COLS 16 - -#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 } -#define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 } - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION ROW2COL - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 7 - -/* Bootmagic Lite key configuration */ -#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 - -/* LED indicator pins */ -#define LED_CAPS_LOCK_PIN C9 -#define LED_SCROLL_LOCK_PIN A8 -#define LED_WIN_LOCK_PIN A9 -#define LED_MR_LOCK_PIN A10 -#define LED_PIN_ON_STATE 0 - diff --git a/keyboards/durgod/k320/info.json b/keyboards/durgod/k320/info.json deleted file mode 100644 index 5e33d8fcd271..000000000000 --- a/keyboards/durgod/k320/info.json +++ /dev/null @@ -1,920 +0,0 @@ -{ - "keyboard_name": "DURGOD Taurus K320", - "url": "https://www.durgod.com/page9?product_id=47&_l=en", - "maintainer": "dkjer", - "width": 18.25, - "height": 6.5, - "layouts": { - "LAYOUT_tkl_ansi": { - "layout": [ - { - "label": "Esc", - "x": 0, - "y": 0 - }, - { - "label": "F1", - "x": 2, - "y": 0 - }, - { - "label": "F2", - "x": 3, - "y": 0 - }, - { - "label": "F3", - "x": 4, - "y": 0 - }, - { - "label": "F4", - "x": 5, - "y": 0 - }, - { - "label": "F5", - "x": 6.5, - "y": 0 - }, - { - "label": "F6", - "x": 7.5, - "y": 0 - }, - { - "label": "F7", - "x": 8.5, - "y": 0 - }, - { - "label": "F8", - "x": 9.5, - "y": 0 - }, - { - "label": "F9", - "x": 11, - "y": 0 - }, - { - "label": "F10", - "x": 12, - "y": 0 - }, - { - "label": "F11", - "x": 13, - "y": 0 - }, - { - "label": "F12", - "x": 14, - "y": 0 - }, - { - "label": "PrtSc", - "x": 15.25, - "y": 0 - }, - { - "label": "Scroll Lock", - "x": 16.25, - "y": 0 - }, - { - "label": "Pause", - "x": 17.25, - "y": 0 - }, - { - "label": "~", - "x": 0, - "y": 1.5 - }, - { - "label": "!", - "x": 1, - "y": 1.5 - }, - { - "label": "@", - "x": 2, - "y": 1.5 - }, - { - "label": "#", - "x": 3, - "y": 1.5 - }, - { - "label": "$", - "x": 4, - "y": 1.5 - }, - { - "label": "%", - "x": 5, - "y": 1.5 - }, - { - "label": "^", - "x": 6, - "y": 1.5 - }, - { - "label": "&", - "x": 7, - "y": 1.5 - }, - { - "label": "*", - "x": 8, - "y": 1.5 - }, - { - "label": "(", - "x": 9, - "y": 1.5 - }, - { - "label": ")", - "x": 10, - "y": 1.5 - }, - { - "label": "_", - "x": 11, - "y": 1.5 - }, - { - "label": "+", - "x": 12, - "y": 1.5 - }, - { - "label": "Backspace", - "x": 13, - "y": 1.5, - "w": 2 - }, - { - "label": "Insert", - "x": 15.25, - "y": 1.5 - }, - { - "label": "Home", - "x": 16.25, - "y": 1.5 - }, - { - "label": "PgUp", - "x": 17.25, - "y": 1.5 - }, - { - "label": "Tab", - "x": 0, - "y": 2.5, - "w": 1.5 - }, - { - "label": "Q", - "x": 1.5, - "y": 2.5 - }, - { - "label": "W", - "x": 2.5, - "y": 2.5 - }, - { - "label": "E", - "x": 3.5, - "y": 2.5 - }, - { - "label": "R", - "x": 4.5, - "y": 2.5 - }, - { - "label": "T", - "x": 5.5, - "y": 2.5 - }, - { - "label": "Y", - "x": 6.5, - "y": 2.5 - }, - { - "label": "U", - "x": 7.5, - "y": 2.5 - }, - { - "label": "I", - "x": 8.5, - "y": 2.5 - }, - { - "label": "O", - "x": 9.5, - "y": 2.5 - }, - { - "label": "P", - "x": 10.5, - "y": 2.5 - }, - { - "label": "{", - "x": 11.5, - "y": 2.5 - }, - { - "label": "}", - "x": 12.5, - "y": 2.5 - }, - { - "label": "|", - "x": 13.5, - "y": 2.5, - "w": 1.5 - }, - { - "label": "Delete", - "x": 15.25, - "y": 2.5 - }, - { - "label": "End", - "x": 16.25, - "y": 2.5 - }, - { - "label": "PgDn", - "x": 17.25, - "y": 2.5 - }, - { - "label": "Caps Lock", - "x": 0, - "y": 3.5, - "w": 1.75 - }, - { - "label": "A", - "x": 1.75, - "y": 3.5 - }, - { - "label": "S", - "x": 2.75, - "y": 3.5 - }, - { - "label": "D", - "x": 3.75, - "y": 3.5 - }, - { - "label": "F", - "x": 4.75, - "y": 3.5 - }, - { - "label": "G", - "x": 5.75, - "y": 3.5 - }, - { - "label": "H", - "x": 6.75, - "y": 3.5 - }, - { - "label": "J", - "x": 7.75, - "y": 3.5 - }, - { - "label": "K", - "x": 8.75, - "y": 3.5 - }, - { - "label": "L", - "x": 9.75, - "y": 3.5 - }, - { - "label": ":", - "x": 10.75, - "y": 3.5 - }, - { - "label": "\"", - "x": 11.75, - "y": 3.5 - }, - { - "label": "Enter", - "x": 12.75, - "y": 3.5, - "w": 2.25 - }, - { - "label": "Shift", - "x": 0, - "y": 4.5, - "w": 2.25 - }, - { - "label": "Z", - "x": 2.25, - "y": 4.5 - }, - { - "label": "X", - "x": 3.25, - "y": 4.5 - }, - { - "label": "C", - "x": 4.25, - "y": 4.5 - }, - { - "label": "V", - "x": 5.25, - "y": 4.5 - }, - { - "label": "B", - "x": 6.25, - "y": 4.5 - }, - { - "label": "N", - "x": 7.25, - "y": 4.5 - }, - { - "label": "M", - "x": 8.25, - "y": 4.5 - }, - { - "label": "<", - "x": 9.25, - "y": 4.5 - }, - { - "label": ">", - "x": 10.25, - "y": 4.5 - }, - { - "label": "?", - "x": 11.25, - "y": 4.5 - }, - { - "label": "Shift", - "x": 12.25, - "y": 4.5, - "w": 2.75 - }, - { - "label": "\u2191", - "x": 16.25, - "y": 4.5 - }, - { - "label": "Ctrl", - "x": 0, - "y": 5.5, - "w": 1.25 - }, - { - "label": "Win", - "x": 1.25, - "y": 5.5, - "w": 1.25 - }, - { - "label": "Alt", - "x": 2.5, - "y": 5.5, - "w": 1.25 - }, - { - "x": 3.75, - "y": 5.5, - "w": 6.25 - }, - { - "label": "Alt", - "x": 10, - "y": 5.5, - "w": 1.25 - }, - { - "label": "Fn", - "x": 11.25, - "y": 5.5, - "w": 1.25 - }, - { - "label": "Menu", - "x": 12.5, - "y": 5.5, - "w": 1.25 - }, - { - "label": "Ctrl", - "x": 13.75, - "y": 5.5, - "w": 1.25 - }, - { - "label": "\u2190", - "x": 15.25, - "y": 5.5 - }, - { - "label": "\u2193", - "x": 16.25, - "y": 5.5 - }, - { - "label": "\u2192", - "x": 17.25, - "y": 5.5 - } - ] - }, - "LAYOUT_tkl_iso": { - "layout": [ - { - "label": "Esc", - "x": 0, - "y": 0 - }, - { - "label": "F1", - "x": 2, - "y": 0 - }, - { - "label": "F2", - "x": 3, - "y": 0 - }, - { - "label": "F3", - "x": 4, - "y": 0 - }, - { - "label": "F4", - "x": 5, - "y": 0 - }, - { - "label": "F5", - "x": 6.5, - "y": 0 - }, - { - "label": "F6", - "x": 7.5, - "y": 0 - }, - { - "label": "F7", - "x": 8.5, - "y": 0 - }, - { - "label": "F8", - "x": 9.5, - "y": 0 - }, - { - "label": "F9", - "x": 11, - "y": 0 - }, - { - "label": "F10", - "x": 12, - "y": 0 - }, - { - "label": "F11", - "x": 13, - "y": 0 - }, - { - "label": "F12", - "x": 14, - "y": 0 - }, - { - "label": "PrtSc", - "x": 15.25, - "y": 0 - }, - { - "label": "Scroll Lock", - "x": 16.25, - "y": 0 - }, - { - "label": "Pause", - "x": 17.25, - "y": 0 - }, - { - "label": "~", - "x": 0, - "y": 1.5 - }, - { - "label": "!", - "x": 1, - "y": 1.5 - }, - { - "label": "@", - "x": 2, - "y": 1.5 - }, - { - "label": "#", - "x": 3, - "y": 1.5 - }, - { - "label": "$", - "x": 4, - "y": 1.5 - }, - { - "label": "%", - "x": 5, - "y": 1.5 - }, - { - "label": "^", - "x": 6, - "y": 1.5 - }, - { - "label": "&", - "x": 7, - "y": 1.5 - }, - { - "label": "*", - "x": 8, - "y": 1.5 - }, - { - "label": "(", - "x": 9, - "y": 1.5 - }, - { - "label": ")", - "x": 10, - "y": 1.5 - }, - { - "label": "_", - "x": 11, - "y": 1.5 - }, - { - "label": "+", - "x": 12, - "y": 1.5 - }, - { - "label": "Backspace", - "x": 13, - "y": 1.5, - "w": 2 - }, - { - "label": "Insert", - "x": 15.25, - "y": 1.5 - }, - { - "label": "Home", - "x": 16.25, - "y": 1.5 - }, - { - "label": "PgUp", - "x": 17.25, - "y": 1.5 - }, - { - "label": "Tab", - "x": 0, - "y": 2.5, - "w": 1.5 - }, - { - "label": "Q", - "x": 1.5, - "y": 2.5 - }, - { - "label": "W", - "x": 2.5, - "y": 2.5 - }, - { - "label": "E", - "x": 3.5, - "y": 2.5 - }, - { - "label": "R", - "x": 4.5, - "y": 2.5 - }, - { - "label": "T", - "x": 5.5, - "y": 2.5 - }, - { - "label": "Y", - "x": 6.5, - "y": 2.5 - }, - { - "label": "U", - "x": 7.5, - "y": 2.5 - }, - { - "label": "I", - "x": 8.5, - "y": 2.5 - }, - { - "label": "O", - "x": 9.5, - "y": 2.5 - }, - { - "label": "P", - "x": 10.5, - "y": 2.5 - }, - { - "label": "{", - "x": 11.5, - "y": 2.5 - }, - { - "label": "}", - "x": 12.5, - "y": 2.5 - }, - { - "label": "Enter", - "x": 13.75, - "y": 2.5, - "w": 1.25, - "h": 2 - }, - { - "label": "Delete", - "x": 15.25, - "y": 2.5 - }, - { - "label": "End", - "x": 16.25, - "y": 2.5 - }, - { - "label": "PgDn", - "x": 17.25, - "y": 2.5 - }, - { - "label": "Caps Lock", - "x": 0, - "y": 3.5, - "w": 1.75 - }, - { - "label": "A", - "x": 1.75, - "y": 3.5 - }, - { - "label": "S", - "x": 2.75, - "y": 3.5 - }, - { - "label": "D", - "x": 3.75, - "y": 3.5 - }, - { - "label": "F", - "x": 4.75, - "y": 3.5 - }, - { - "label": "G", - "x": 5.75, - "y": 3.5 - }, - { - "label": "H", - "x": 6.75, - "y": 3.5 - }, - { - "label": "J", - "x": 7.75, - "y": 3.5 - }, - { - "label": "K", - "x": 8.75, - "y": 3.5 - }, - { - "label": "L", - "x": 9.75, - "y": 3.5 - }, - { - "label": ":", - "x": 10.75, - "y": 3.5 - }, - { - "label": "\"", - "x": 11.75, - "y": 3.5 - }, - { - "label": "#", - "x": 12.75, - "y": 3.5 - }, - { - "label": "Shift", - "x": 0, - "y": 4.5, - "w": 1.25 - }, - { - "label": "\\", - "x": 1.25, - "y": 4.5 - }, - { - "label": "Z", - "x": 2.25, - "y": 4.5 - }, - { - "label": "X", - "x": 3.25, - "y": 4.5 - }, - { - "label": "C", - "x": 4.25, - "y": 4.5 - }, - { - "label": "V", - "x": 5.25, - "y": 4.5 - }, - { - "label": "B", - "x": 6.25, - "y": 4.5 - }, - { - "label": "N", - "x": 7.25, - "y": 4.5 - }, - { - "label": "M", - "x": 8.25, - "y": 4.5 - }, - { - "label": "<", - "x": 9.25, - "y": 4.5 - }, - { - "label": ">", - "x": 10.25, - "y": 4.5 - }, - { - "label": "?", - "x": 11.25, - "y": 4.5 - }, - { - "label": "Shift", - "x": 12.25, - "y": 4.5, - "w": 2.75 - }, - { - "label": "\u2191", - "x": 16.25, - "y": 4.5 - }, - { - "label": "Ctrl", - "x": 0, - "y": 5.5, - "w": 1.25 - }, - { - "label": "Win", - "x": 1.25, - "y": 5.5, - "w": 1.25 - }, - { - "label": "Alt", - "x": 2.5, - "y": 5.5, - "w": 1.25 - }, - { - "x": 3.75, - "y": 5.5, - "w": 6.25 - }, - { - "label": "Alt", - "x": 10, - "y": 5.5, - "w": 1.25 - }, - { - "label": "Fn", - "x": 11.25, - "y": 5.5, - "w": 1.25 - }, - { - "label": "Menu", - "x": 12.5, - "y": 5.5, - "w": 1.25 - }, - { - "label": "Ctrl", - "x": 13.75, - "y": 5.5, - "w": 1.25 - }, - { - "label": "\u2190", - "x": 15.25, - "y": 5.5 - }, - { - "label": "\u2193", - "x": 16.25, - "y": 5.5 - }, - { - "label": "\u2192", - "x": 17.25, - "y": 5.5 - } - ] - } - } -} diff --git a/keyboards/durgod/k320/k320.c b/keyboards/durgod/k320/k320.c deleted file mode 100644 index f5500ea83019..000000000000 --- a/keyboards/durgod/k320/k320.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright 2021 kuenhlee and Don Kjer - * - * 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 "k320.h" - -/* Private Functions */ -void off_all_leds(void) { - writePinHigh(LED_CAPS_LOCK_PIN); - writePinHigh(LED_SCROLL_LOCK_PIN); - writePinHigh(LED_WIN_LOCK_PIN); - writePinHigh(LED_MR_LOCK_PIN); -} - -void on_all_leds(void) { - writePinLow(LED_CAPS_LOCK_PIN); - writePinLow(LED_SCROLL_LOCK_PIN); - writePinLow(LED_WIN_LOCK_PIN); - writePinLow(LED_MR_LOCK_PIN); -} - -/* WinLock and MR LEDs are non-standard. Need to override led init */ -void led_init_ports(void) { - setPinOutput(LED_CAPS_LOCK_PIN); - setPinOutput(LED_SCROLL_LOCK_PIN); - setPinOutput(LED_WIN_LOCK_PIN); - setPinOutput(LED_MR_LOCK_PIN); - off_all_leds(); -} - diff --git a/keyboards/durgod/k320/k320.h b/keyboards/durgod/k320/k320.h deleted file mode 100644 index 48da048410a7..000000000000 --- a/keyboards/durgod/k320/k320.h +++ /dev/null @@ -1,81 +0,0 @@ -/* Copyright 2021 kuenhlee and Don Kjer - * - * 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 "quantum.h" - -/* Function Prototype */ -void off_all_leds(void); -void on_all_leds(void); - - -#define XXX KC_NO - -// This a shortcut to help you visually see your layout. -#define LAYOUT_tkl_ansi( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K4E, \ - K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ - K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \ - { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ - { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ - { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \ -} - - -// This a shortcut to help you visually see your layout. -#define LAYOUT_tkl_iso( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K4E, K3D, K3E, K3F, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ - K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ - K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ - { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ - { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \ -} - - -// This a shortcut to help you visually see your layout. -#define LAYOUT_all( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, \ - K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ - K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ - { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ - { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ - { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \ -} diff --git a/keyboards/durgod/k320/keymaps/default/keymap.c b/keyboards/durgod/k320/keymaps/default/keymap.c deleted file mode 100644 index 49a14ec29916..000000000000 --- a/keyboards/durgod/k320/keymaps/default/keymap.c +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright 2021 kuenhlee and Don Kjer - * - * 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 - -// Layer shorthand -enum _layer { - _BASE, - _FUNC -}; - -static bool win_key_locked = false; - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - KC_TGUI = SAFE_RANGE // Toggle between GUI Lock or Unlock -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BASE: Base Layer (Default Layer) - * ,-----------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |Alt |Func |App |Ctrl| |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [_BASE] = LAYOUT_tkl_ansi( /* Base Layer */ - 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_SLCK, 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_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_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* Keymap _FUNC: Function Layer - * ,-----------------------------------------------------------. ,--------------. - * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| `--------------' - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,-------------. - * | |Lock| | | |Func | | | | | | | - * `-----------------------------------------------------------' `-------------' - */ - [_FUNC] = LAYOUT_tkl_ansi( /* Function Layer */ - _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_TGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_TGUI: - if (!record->event.pressed) { - // Toggle GUI lock on key release - win_key_locked = !win_key_locked; - writePin(LED_WIN_LOCK_PIN, !win_key_locked); - } - break; - case KC_LGUI: - if (win_key_locked) { return false; } - break; - } - return true; -} - diff --git a/keyboards/durgod/k320/keymaps/default/readme.md b/keyboards/durgod/k320/keymaps/default/readme.md deleted file mode 100644 index e26c79c8ae93..000000000000 --- a/keyboards/durgod/k320/keymaps/default/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# The default keymap for Durgod Taurus K320. - -Layer 0 : Standard ANSI 87 Keys TKL layout (Windows) - -Layer 1 : Media control and Windows lock key -- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 -- Fn + Windows to toggle Windows lock key functionality - -## Windows key lock - -You can hold down Fn + Windows key to disable the Windows key while in locked mode. -The 'Lock' LED indicates if the Windows key is locked. - -This is similar to the stock K320 Windows key lock functionality. diff --git a/keyboards/durgod/k320/keymaps/default_iso/keymap.c b/keyboards/durgod/k320/keymaps/default_iso/keymap.c deleted file mode 100644 index 559b6fe71500..000000000000 --- a/keyboards/durgod/k320/keymaps/default_iso/keymap.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright 2021 kuenhlee and Don Kjer - * - * 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 - -// Layer shorthand -enum _layer { - _BASE, - _FUNC -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BASE: Base Layer (Default Layer) - * ,-----------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | Del| End|PgDn| - * |------------------------------------------------------ Ret | `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| | - * |-----------------------------------------------------------| ,----. - * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |Alt | Fn |App |Ctrl| |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [_BASE] = LAYOUT_tkl_iso( /* Base Layer */ - 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_SLCK, 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_ENT, 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_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(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* Keymap _FUNC: Function Layer - * ,-----------------------------------------------------------. ,--------------. - * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |------------------------------------------------------- | `--------------' - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,-------------. - * | | | | | |Func | | | | | | | - * `-----------------------------------------------------------' `-------------' - */ - [_FUNC] = LAYOUT_tkl_iso( /* Function Layer */ - _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; - diff --git a/keyboards/durgod/k320/keymaps/default_iso/readme.md b/keyboards/durgod/k320/keymaps/default_iso/readme.md deleted file mode 100644 index a7d1d5f1d3d3..000000000000 --- a/keyboards/durgod/k320/keymaps/default_iso/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# The ISO keymap for Durgod Taurus K320. - -Layer 0 : Standard ISO 88 Keys TKL layout (Windows) - -Layer 1 : Media control and Windows lock key -- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 - diff --git a/keyboards/durgod/k320/keymaps/default_iso_mac/keymap.c b/keyboards/durgod/k320/keymaps/default_iso_mac/keymap.c deleted file mode 100644 index 783fc45f1bf5..000000000000 --- a/keyboards/durgod/k320/keymaps/default_iso_mac/keymap.c +++ /dev/null @@ -1,71 +0,0 @@ -/* Copyright 2021 kuenhlee and Don Kjer - * - * 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 - -// Layer shorthand -enum _layer { - _BASE, - _FUNC -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BASE: Base Layer (Default Layer) - * ,-----------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | Del| End|PgDn| - * |------------------------------------------------------ Ret | `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| | - * |-----------------------------------------------------------| ,----. - * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Alt |Gui | Space |Alt | Fn |App |Ctrl| |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [_BASE] = LAYOUT_tkl_iso( /* Base Layer */ - 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_SLCK, 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_ENT, 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_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_LGUI, KC_SPC, KC_RALT, MO(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* Keymap _FUNC: Function Layer - * ,-----------------------------------------------------------. ,--------------. - * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |------------------------------------------------------- | `--------------' - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,-------------. - * | | | | | |Func | | | | | | | - * `-----------------------------------------------------------' `-------------' - */ - [_FUNC] = LAYOUT_tkl_iso( /* Function Layer */ - _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/durgod/k320/keymaps/default_iso_mac/readme.md b/keyboards/durgod/k320/keymaps/default_iso_mac/readme.md deleted file mode 100644 index 354f7b4cba81..000000000000 --- a/keyboards/durgod/k320/keymaps/default_iso_mac/readme.md +++ /dev/null @@ -1,6 +0,0 @@ -# The ISO (Mac) keymap for Durgod Taurus K320. - -Layer 0 : Standard ISO 88 Keys TKL layout (Mac) - -Layer 1 : Media control -- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 diff --git a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c b/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c deleted file mode 100644 index 834d2ca55e01..000000000000 --- a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c +++ /dev/null @@ -1,367 +0,0 @@ -/* Copyright 2021 kuenhlee and Don Kjer - * - * 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 - -// Layer shorthand -enum _layer { - _WBL, - _WFL, - _WSL, - _MBL, - _MFL, - _MSL -}; - -#ifndef DEFAULT_LAYOUT -# define DEFAULT_LAYOUT _WBL // Change to _MBL to boot into Mac layout. -#endif -#ifndef ALT_LAYOUT -# define ALT_LAYOUT _MBL // Layout to display 'MR' led when active. -#endif - -static bool win_key_locked = false; -static bool mac_media_locked = false; -static bool win_appkey_pressed = false; -static bool mac_fnkey_pressed = false; - - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock (Windows) - KC_TMED, // Toggle between Fx keys or Media keys (Mac) - KC_WFN, // Windows function key - KC_MFN, // Mac function key - MO_WSL, // Windows system key - MO_MSL, // Mac system key - DF_W2MBL, // Change layout from Windows to Mac - DF_M2WBL // Change layout from Mac to Windows -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _WBL: Windows Base Layer (Default Layer) - * ,-----------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |Alt |Func |App|Ctrl | |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [_WBL] = LAYOUT_tkl_ansi( /* Windows Base Layer */ - 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_SLCK, 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_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_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* Keymap _WFL: Windows Function Layer - * ,-----------------------------------------------------------. ,--------------. - * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| `--------------' - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,-------------. - * | |Lock| | | |Func |Sys| | | | | | - * `-----------------------------------------------------------' `-------------' - */ - [_WFL] = LAYOUT_tkl_ansi( /* Windows First Layer */ - _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______ - ), - /* Keymap _WSL: Windows System Layer - * ,-----------------------------------------------------------. ,--------------. - * |Reset |Sleep| | |Power| | | | | | | | | |MAC| | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| `--------------' - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,-------------. - * | | | | | |Func |Sys| | | | | | - * `-----------------------------------------------------------' `-------------' - */ - [_WSL] = LAYOUT_tkl_ansi( /* Windows Second / System Layer */ - RESET, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - /* Keymap _MBL: Mac Base Layer (Alternate Layout) - * ,-----------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| | f13| f14| f15| - * |-----------------------------------------------------------| |--------------| - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Alt |Gui | Space |Gui |Alt|Func |Ctrl | |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [_MBL] = LAYOUT_tkl_ansi( /* Mac Base Layer */ - 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_F14, KC_F15, - 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_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_RSFT, KC_UP, - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* Keymap _MFL: Mac Function Layer - * ,-----------------------------------------------------------. ,--------------. - * | |Bri-|Bri+|MCon|LPad| | | |Prv|Ply| |Nxt|Mute|Vol-|Vol+| |TMed| | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| `--------------' - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,-------------. - * | | | | | |Sys|Func | | | | | | - * `-----------------------------------------------------------' `-------------' - */ - [_MFL] = LAYOUT_tkl_ansi( /* Mac First Layer */ - _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MRWD, KC_MPLY, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, KC_TMED, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______ - ), - /* Keymap _MSL: Mac System Layer - * ,-----------------------------------------------------------. ,--------------. - * |Reset | | | |Sleep| | | | | | | | | |WIN| | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| `--------------' - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,-------------. - * | | | | | |Sys|Func | | | | | | - * `-----------------------------------------------------------' `-------------' - */ - [_MSL] = LAYOUT_tkl_ansi( /* Mac Second / System Layer */ - RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) -}; - -void unlock_win_key(void) { - win_key_locked = false; - mac_media_locked = false; - writePinHigh(LED_WIN_LOCK_PIN); -} - -void toggle_lock_win_key(void) { - win_key_locked = !win_key_locked; - writePin(LED_WIN_LOCK_PIN, !win_key_locked); -} - -void toggle_lock_media_key(void) { - mac_media_locked = !mac_media_locked; - writePin(LED_WIN_LOCK_PIN, !mac_media_locked); -} - -#ifdef CONSOLE_ENABLE -void dprint_global_layers(void) { - dprint("Global Layers:"); - if (IS_LAYER_ON(_WFL)) { dprint(" _WFL"); } - if (IS_LAYER_ON(_WSL)) { dprint(" _WSL"); } - if (IS_LAYER_ON(_MFL)) { dprint(" _MFL"); } - if (IS_LAYER_ON(_MSL)) { dprint(" _MSL"); } - dprintf("\n"); -} - -void dprint_layers(layer_state_t state) { - dprint("Layers:"); - if (IS_LAYER_ON_STATE(state, _WFL)) { dprint(" _WFL"); } - if (IS_LAYER_ON_STATE(state, _WSL)) { dprint(" _WSL"); } - if (IS_LAYER_ON_STATE(state, _MFL)) { dprint(" _MFL"); } - if (IS_LAYER_ON_STATE(state, _MSL)) { dprint(" _MSL"); } - dprintf("\n"); -} -#endif - -layer_state_t default_layer_state_set_user(layer_state_t state) { -#ifdef CONSOLE_ENABLE - dprintf("default_layer_state_set_user: 0x%x\n", state); - dprint_global_layers(); -#endif - // Disable windows key lock on default layer transition. - unlock_win_key(); - win_appkey_pressed = false; - mac_fnkey_pressed = false; - writePin(LED_MR_LOCK_PIN, !IS_LAYER_ON_STATE(state, ALT_LAYOUT)); - return state; -} - -layer_state_t layer_state_set_user(layer_state_t state) { -#ifdef CONSOLE_ENABLE - dprintf("layer_state_set_user: 0x%x\n", state); - dprint_layers(state); -#endif - return state; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_TGUI: - if (!record->event.pressed) { - // Toggle GUI lock on key release - toggle_lock_win_key(); - } - break; - case KC_TMED: - // Only trigger when Fn key is also held down, to avoid accidental unlock. - if (!mac_fnkey_pressed) { return false; } - if (!record->event.pressed) { - // Toggle Media Lock on key release - toggle_lock_media_key(); - } - break; - case KC_LGUI: - if (win_key_locked) { return false; } - break; - case KC_WFN: - // Like MO(_WFL), but also enables _WSL if KC_APP is already pressed down. - if (record->event.pressed) { - layer_on(_WFL); - if (win_appkey_pressed) { - // Also enable Secondary layer if App key is being held down. - win_appkey_pressed = false; - layer_on(_WSL); - } - } else { - if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } - if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } - } - break; - case KC_APP: - if (record->event.pressed) { - // Don't actually press down the app menu key - win_appkey_pressed = true; - } else { - if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } - if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } - if (win_appkey_pressed) { - win_appkey_pressed = false; - // Tap the KC_APP key on key release. - tap_code(KC_APP); - } - } - return false; - break; - case KC_MFN: - // Mac Fn key. Emit Fn keycode, and also transition layers similar to KC_WFN. - if (record->event.pressed) { - mac_fnkey_pressed = true; - layer_on(_MFL); - // Also enable Secondary layer if Right-Alt key is being held down. - if (get_mods() & MOD_BIT(KC_RALT)) { - layer_on(_MSL); - } - } else { - mac_fnkey_pressed = false; - if (!mac_media_locked) { - if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } - if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } - } - } - break; - case KC_RALT: - // Disable MSL/WFL layer on key-up. - if (!record->event.pressed) { - if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } - if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } - } - break; - case MO_WSL: - if (record->event.pressed) { - layer_on(_WSL); - } else { - if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } - if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } - } - break; - case MO_MSL: - if (record->event.pressed) { - layer_on(_MSL); - } else { - if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } - if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } - } - break; - case DF_W2MBL: - if (!record->event.pressed) { - // Switch base layer, but preserve first/secondary layers. - default_layer_set(1UL<<_MBL); - layer_state_set(1UL<<_MFL | 1UL<<_MSL); - } - break; - case DF_M2WBL: - if (!record->event.pressed) { - // Switch base layer, but preserve first/secondary layers. - default_layer_set(1UL<<_WBL); - layer_state_set(1UL<<_WFL | 1UL<<_WSL); - } - break; - case RESET: - if (record->event.pressed) { - // Flash LEDs to indicate bootloader mode is enabled. - on_all_leds(); - } - break; - } - return true; -} - -void keyboard_post_init_user(void) { - default_layer_set(1UL<. - */ -#include QMK_KEYBOARD_H - -// Layer shorthand -#define _BL 0u -#define _FL 1u // Multimedia Related, Virtual Desktop control -#define _SL 2u // Just for System Related -#define _UL 3u // Unicode Map - -#define KC_ADTP LGUI(LCTL(KC_D)) // Adding New Virtual Desktop -#define KC_DDTP LGUI(LCTL(KC_F4)) // Deleting / Removing Current Virtual Desktop -#define KC_NDTP LGUI(LCTL(KC_RGHT)) // Navigate to the Next Virtual Desktop -#define KC_PDTP LGUI(LCTL(KC_LEFT)) // Navigate to the Previous Virtual Desktop -#define KC_WINL LGUI(KC_LEFT) // Snap Windows to Left -#define KC_WINR LGUI(KC_RGHT) // Snap Windows to Right -#define KC_WINU LGUI(KC_UP) // Maximize the Window -#define KC_WIND LGUI(KC_DOWN) // Minimize the desktop window -#define KC_TASK LCTL(LSFT(KC_ESC)) // Launch Task Manager - -#define KC_FIND LCTL(LSFT(KC_F)) // Find In Files -#define KC_STOP LCTL(LSFT(KC_HOME)) // Select from Cursor to Home -#define KC_SEND LCTL(LSFT(KC_END)) // Select from Cursor to End - -// Defines the keycodes used by our macros in process_record_user -enum custom_keycodes { - KC_TGUI = SAFE_RANGE // Toggle between GUI Lock or Unlock -}; - -// °±²³µ©ΩθΩ√∞∆≈≠→↓←↑≡■□●○∴«»÷≤≥Σ -// Defines the Enumeration for Unicode Map -enum unicode_names { - DEGR, - PONE, - POW2, - POW3, - MYU, - COPY, - THET, - OHM, - SQRT, - INFI, - DELT, - APPR, - NEQU, - RARR, - DARR, - LARR, - UARR, - SAME, - BSQR, - WSQR, - BDOT, - WDOT, - THFR, - DIV, - LTOE, - MTOE, - DLAR, - DRAR, - SUM, -}; - -const uint32_t PROGMEM unicode_map[] = { - [DEGR] = 0x00B0, // ° - [PONE] = 0x00B1, // ± - [POW2] = 0x00B2, // ² - [POW3] = 0x00B3, // ³ - [MYU] = 0x00B5, // µ - [COPY] = 0x00A9, // © - [THET] = 0x03B8, // θ - [OHM] = 0x2126, // Ω - [SQRT] = 0x221A, // √ - [INFI] = 0x221E, // ∞ - [DELT] = 0x0394, // ∆ - [APPR] = 0x2248, // ≈ - [NEQU] = 0x2260, // ≠ - [RARR] = 0x2192, // → - [DARR] = 0x2193, // ↓ - [LARR] = 0x2190, // ← - [UARR] = 0x2191, // ↑ - [SAME] = 0x2261, // ≡ - [BSQR] = 0x25A0, // ■ - [WSQR] = 0x25A1, // □ - [BDOT] = 0x25CF, // ● - [WDOT] = 0x25CB, // ○ - [THFR] = 0x2234, // ∴ - [DIV] = 0x00F7, // ÷ - [LTOE] = 0x2264, // ≤ - [MTOE] = 0x2265, // ≥ - [DLAR] = 0x00AB, // « - [DRAR] = 0x00BB, // » - [SUM] = 0x03A3 // Σ -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BL] = LAYOUT_tkl_ansi( /* Base Layer */ - 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_SLCK, 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_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_RSFT, KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - - [_FL] = LAYOUT_tkl_ansi( /* First Layer */ - KC_TRNS, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ADTP, KC_STOP, KC_PDTP, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TASK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MSEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_DDTP, KC_SEND, KC_NDTP, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FIND, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAIL, XXXXXXX, XXXXXXX, XXXXXXX, KC_MENU, KC_WINU, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(_SL), KC_TRNS, MO(_UL), XXXXXXX, KC_WINL, KC_WIND, KC_WINR - ), - - [_SL] = LAYOUT_tkl_ansi( /* Second Layer */ - XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ), - - [_UL] = LAYOUT_tkl_ansi( /* Unicode Layer */ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - X(APPR), X(NEQU), X(POW2), X(POW3), XXXXXXX, XXXXXXX, X(BSQR), X(WSQR), X(INFI), X(BDOT), X(WDOT), XXXXXXX, X(PONE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(SUM), XXXXXXX, X(MYU), X(SAME), XXXXXXX, X(OHM), X(DLAR), X(DRAR), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, X(SQRT), X(DELT), XXXXXXX, XXXXXXX, X(THFR), XXXXXXX, XXXXXXX, XXXXXXX, X(THET), X(DEGR), XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, X(COPY), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(LTOE), X(MTOE), X(DIV), XXXXXXX, X(UARR), - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, X(LARR), X(DARR), X(RARR) - ) -}; - -void matrix_init_user(void) { - set_unicode_input_mode(UC_WINC); -} diff --git a/keyboards/durgod/k320/keymaps/moults31/config.h b/keyboards/durgod/k320/keymaps/moults31/config.h new file mode 100644 index 000000000000..01f47b8c1096 --- /dev/null +++ b/keyboards/durgod/k320/keymaps/moults31/config.h @@ -0,0 +1,20 @@ +/* + * Copyright 2021 moults31 + * + * 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 DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/durgod/k320/keymaps/moults31/keymap.c b/keyboards/durgod/k320/keymaps/moults31/keymap.c new file mode 100644 index 000000000000..c44fe15855df --- /dev/null +++ b/keyboards/durgod/k320/keymaps/moults31/keymap.c @@ -0,0 +1,84 @@ +/* Copyright 2021 moults31 + * Adapted from kuenhlee and Don Kjer and Coirault + * + * 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 + +#include "moults31.h" + +// Layer shorthand +enum _layer { + _BASE, + _FUNC, + _LAYER3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BASE: Base Layer (Default Layer) + * ,-----------------------------------------------------------. ,--------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| + * |-----------------------------------------------------------| |--------------| + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| + * |-----------------------------------------------------------| |--------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | Del| End|PgDn| + * |------------------------------------------------------ Ret | `--------------' + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| | + * |-----------------------------------------------------------| ,----. + * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |-----------------------------------------------------------| ,-------------. + * |Ctrl|Gui |Alt | Space |Alt | Fn |App |Ctrl| |Lft| Dn |Rig | + * `-----------------------------------------------------------' `-------------' + */ + [_BASE] = LAYOUT_tkl_ansi( /* Base Layer */ + 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_SLCK, 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + /* Keymap _FUNC: Function Layer + * ,-----------------------------------------------------------. ,--------------. + * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | | + * |-----------------------------------------------------------| |--------------| + * | | | | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| |--------------| + * | | | | | | | | | | | | | | | | | | | + * |------------------------------------------------------- | `--------------' + * | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| ,----. + * | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| ,-------------. + * | | | | | |Func | | | | | | | + * `-----------------------------------------------------------' `-------------' + */ + [_FUNC] = LAYOUT_tkl_ansi( /* Function Layer */ + _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, M_VSC_VIEWSIZEINC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, M_VSC_EDGRPPRV, M_VSC_VIEWSIZEDEC, M_VSC_EDGRPNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, M_VSC_MVEDTRPRVGRP, _______, M_VSC_MVEDTRNXTGRP + ), + [_LAYER3] = LAYOUT_tkl_ansi( /* Function Layer */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + diff --git a/keyboards/durgod/k320/keymaps/moults31/readme.md b/keyboards/durgod/k320/keymaps/moults31/readme.md new file mode 100644 index 000000000000..e3a3f150f3a2 --- /dev/null +++ b/keyboards/durgod/k320/keymaps/moults31/readme.md @@ -0,0 +1,10 @@ +# The default keymap for Durgod Taurus K320. + +Layer 0 : Standard Keys TKL layout + +Layer 1 : Media control and VScode navigation +- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 + +## Supported PCBs + +This keymap intended for use on Durgod K320 ANSI diff --git a/keyboards/dztech/volcano660/keymaps/via/rules.mk b/keyboards/durgod/k320/keymaps/moults31/rules.mk similarity index 100% rename from keyboards/dztech/volcano660/keymaps/via/rules.mk rename to keyboards/durgod/k320/keymaps/moults31/rules.mk diff --git a/keyboards/durgod/k320/keymaps/via/config.h b/keyboards/durgod/k320/keymaps/via/config.h deleted file mode 100644 index 2ae6fca9d980..000000000000 --- a/keyboards/durgod/k320/keymaps/via/config.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2021 Maxime Coirault - * - * 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 DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/durgod/k320/keymaps/via/keymap.c b/keyboards/durgod/k320/keymaps/via/keymap.c deleted file mode 100644 index 9a4d9ff38cd1..000000000000 --- a/keyboards/durgod/k320/keymaps/via/keymap.c +++ /dev/null @@ -1,81 +0,0 @@ -/* Copyright 2021 kuenhlee and Don Kjer - * - * 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 - -// Layer shorthand -enum _layer { - _BASE, - _FUNC, - _LAYER3 -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BASE: Base Layer (Default Layer) - * ,-----------------------------------------------------------. ,--------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | Del| End|PgDn| - * |------------------------------------------------------ Ret | `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| | - * |-----------------------------------------------------------| ,----. - * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |Alt | Fn |App |Ctrl| |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ - [_BASE] = LAYOUT_all( /* Base Layer */ - 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_SLCK, 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_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_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(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* Keymap _FUNC: Function Layer - * ,-----------------------------------------------------------. ,--------------. - * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |------------------------------------------------------- | `--------------' - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,-------------. - * | | | | | |Func | | | | | | | - * `-----------------------------------------------------------' `-------------' - */ - [_FUNC] = LAYOUT_all( /* Function Layer */ - _______, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [_LAYER3] = LAYOUT_all( /* Function Layer */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -}; - diff --git a/keyboards/durgod/k320/keymaps/via/readme.md b/keyboards/durgod/k320/keymaps/via/readme.md deleted file mode 100644 index 1ed99238c6c3..000000000000 --- a/keyboards/durgod/k320/keymaps/via/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# The default keymap for Durgod Taurus K320. - -Layer 0 : Standard Keys TKL layout - -Layer 1 : Media control -- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 - -## Supported PCBs - -This firmware was tested on a Durgod K320 ISO with the PCB marked "DGK320ST-Single v1.0 HS20181227". - -The pcb features switch holes for ANSI layout, so this firmware might be compatible with with the Durgod K320 ANSI. diff --git a/keyboards/durgod/k320/readme.md b/keyboards/durgod/k320/readme.md index 1150294354cc..b8ca5b6da1a0 100644 --- a/keyboards/durgod/k320/readme.md +++ b/keyboards/durgod/k320/readme.md @@ -1,58 +1,4 @@ # K320 -This is a standard fixed ANSI TKL from off the shelf Durgod Taurus K320 without Backlight. - -* Keyboard Maintainer: [dkjer](https://github.com/dkjer) -* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6 -* Hardware Availability: https://www.durgod.com/page9?product_id=47&_l=en - -## Instructions - -### Build - -Make command example for this keyboard (after setting up your build environment): - - make durgod/k320:default - -Flashing example for this keyboard: - - make durgod/k320: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). - -### Initial Flash - -For first Flashing from initial Stock's Firmware - -1. Back up original Firmware Image: -- Unplug -- Short Boot0 to Vdd (See below) -- Plug In USB -- Make a Flash Image's Backup in case you wanted to restore the Keyboard to Stock's Image: - - Using DFUseDemo.exe from ST's STSW-STM32080: https://www.st.com/en/development-tools/stsw-stm32080.html - - Using dfu-util (thanks to [tylert](https://github.com/tylert) for instructions!): - - dfu-util --list - dfu-util --alt 0 --dfuse-address 0x08000000 --upload ${OLD_STOCK_BIN} - -2. Flash the QMK Firmware Image. -- Put board into Bootloader mode, using the same method as when backing up the original Firmware (above) -- Here are a few options for performing the initial Flash: - - Using [QMK Toolbox](https://github.com/qmk/qmk_toolbox) - - Using DFuseDemo.exe if STTub30 driver is used. - - Using dfu-util: - - dfu-util --alt 0 --dfuse-address 0x08000000 --download ${NEW_QMK_BIN} - -You can short Boot0 to Vdd by shorting R21 to C27 on the sides closest to the processor, as shown: - -Shorting Boot0 to Vdd on K320 - -### Subsequent Flashing - -For repeating Flashing you can use BootMagic: -- BootMagic Lite has been enabled with Assigned "Esc" key -- Unplug USB Cable -- Holding Esc Button -- Plug in USB Cable, Keyboard should be in ST-Bootloader state +See: [K320](../k3x0/k320/readme.md) diff --git a/keyboards/durgod/k320/rules.mk b/keyboards/durgod/k320/rules.mk index 040ea2dc8889..d3f7b11945cc 100644 --- a/keyboards/durgod/k320/rules.mk +++ b/keyboards/durgod/k320/rules.mk @@ -1,27 +1 @@ -# MCU name -# Actually F070, but close enough -MCU = STM32F072 - -BOARD = ST_NUCLEO64_F070RB - -# Do not put the microcontroller into power saving mode -OPT_DEFS += -DNO_SUSPEND_POWER_DOWN - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output - -LAYOUTS = tkl_ansi tkl_iso +DEFAULT_FOLDER=durgod/k3x0/k320 diff --git a/keyboards/durgod/k3x0/config.h b/keyboards/durgod/k3x0/config.h new file mode 100644 index 000000000000..ef73a710164b --- /dev/null +++ b/keyboards/durgod/k3x0/config.h @@ -0,0 +1,56 @@ +/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman + * Copyright 2021 Simon Arlott + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xD60D +#define MANUFACTURER Hoksi Technology + +/* key matrix size (rows in specific keyboard variant) */ +#define MATRIX_COLS 16 + +#define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +// Dynamic EEPROM +// Something sensible or else VIA may crash +// Users may enable more if they wish +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 +// #define USB_POLLING_INTERVAL_MS 1 + +/* Bootmagic Lite key configuration */ +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +/* LED indicator pins */ +#define LED_CAPS_LOCK_PIN C9 +#define LED_SCROLL_LOCK_PIN A8 +#define LED_WIN_LOCK_PIN A9 +#define LED_MR_LOCK_PIN A10 +#define LED_PIN_ON_STATE 0 + +/* Original hardware "reset" button on pin D2 */ +#define HARDWARE_RESET_PIN D2 diff --git a/keyboards/durgod/k3x0/halconf.h b/keyboards/durgod/k3x0/halconf.h new file mode 100644 index 000000000000..fa20fe30a98e --- /dev/null +++ b/keyboards/durgod/k3x0/halconf.h @@ -0,0 +1,22 @@ +/* Copyright 2021 Simon Arlott + * + * 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 HAL_USE_PAL TRUE +#define PAL_USE_CALLBACKS TRUE + +#include_next diff --git a/keyboards/durgod/k3x0/k310/base/config.h b/keyboards/durgod/k3x0/k310/base/config.h new file mode 100644 index 000000000000..025369acd7fa --- /dev/null +++ b/keyboards/durgod/k3x0/k310/base/config.h @@ -0,0 +1,23 @@ +/* Copyright 2021 Don Kjer + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define PRODUCT DURGOD Taurus K310 (QMK) +#define DEVICE_VER 0x0001 // Base (no backlight) diff --git a/keyboards/durgod/k3x0/k310/base/readme.md b/keyboards/durgod/k3x0/k310/base/readme.md new file mode 100644 index 000000000000..9f465404366b --- /dev/null +++ b/keyboards/durgod/k3x0/k310/base/readme.md @@ -0,0 +1,27 @@ +# K310 + +This is a standard off-the-shelf Durgod Taurus K310 full-sized 104/105-key +keyboard without backlight. This supports both the ANSI and ISO variants. + +* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) +* Hardware Supported: Durgod Taurus K310 board with STM32F070RBT6 +* Hardware Availability: K310 https://www.durgod.com/page9?product_id=53&_l=en + +## Instructions + +### Build + +Make command example for this keyboard (after setting up your build environment): + + make durgod/k310:default + +Flashing example for this keyboard: + + make durgod/k310: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). + +### Initial Flash + +Instructions for Flashing from initial Stock Firmware: +* [Initial Flashing](../../readme.md#initial-flash) diff --git a/keyboards/durgod/k3x0/k310/base/rules.mk b/keyboards/durgod/k3x0/k310/base/rules.mk new file mode 100644 index 000000000000..323c12fc6e05 --- /dev/null +++ b/keyboards/durgod/k3x0/k310/base/rules.mk @@ -0,0 +1 @@ +# see common rules.mk diff --git a/keyboards/durgod/k3x0/k310/config.h b/keyboards/durgod/k3x0/k310/config.h new file mode 100644 index 000000000000..1eadb8e52d13 --- /dev/null +++ b/keyboards/durgod/k3x0/k310/config.h @@ -0,0 +1,36 @@ +/* Copyright 2021 Don Kjer and Tyler Tidman + * Copyright 2021 Simon Arlott + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define PRODUCT_ID 0x3100 +// Taurus K310 models: +//#define DEVICE_VER 0x0001 // Base (no backlight) +//#define DEVICE_VER 0x0002 // Corona (white led matrix) +//#define DEVICE_VER 0x0003 // Aurora (red & blue led matrix) +//#define DEVICE_VER 0x0004 // Nebula (rgb led matrix) + +/* key matrix size (cols in generic keyboard config) */ +#define MATRIX_ROWS 8 + +#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6, A7 } + +/* LED indicator pins */ +#define LED_NUM_LOCK_PIN C8 diff --git a/keyboards/durgod/k3x0/k310/info.json b/keyboards/durgod/k3x0/k310/info.json new file mode 100644 index 000000000000..35cd59becc80 --- /dev/null +++ b/keyboards/durgod/k3x0/k310/info.json @@ -0,0 +1,351 @@ +{ + "keyboard_name": "DURGOD Taurus K310", + "url": "https://www.durgod.com/page9?product_id=53&_l=en", + "maintainer": "tylert", + "width": 22.5, + "height": 6.5, + "layouts": { + "LAYOUT_fullsize_ansi": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "F1", "x": 2, "y": 0 }, + { "label": "F2", "x": 3, "y": 0 }, + { "label": "F3", "x": 4, "y": 0 }, + { "label": "F4", "x": 5, "y": 0 }, + { "label": "F5", "x": 6.5, "y": 0 }, + { "label": "F6", "x": 7.5, "y": 0 }, + { "label": "F7", "x": 8.5, "y": 0 }, + { "label": "F8", "x": 9.5, "y": 0 }, + { "label": "F9", "x": 11, "y": 0 }, + { "label": "F10", "x": 12, "y": 0 }, + { "label": "F11", "x": 13, "y": 0 }, + { "label": "F12", "x": 14, "y": 0 }, + { "label": "PrtSc", "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "x": 16.25, "y": 0 }, + { "label": "Pause", "x": 17.25, "y": 0 }, + + { "label": "~", "x": 0, "y": 1.5 }, + { "label": "!", "x": 1, "y": 1.5 }, + { "label": "@", "x": 2, "y": 1.5 }, + { "label": "#", "x": 3, "y": 1.5 }, + { "label": "$", "x": 4, "y": 1.5 }, + { "label": "%", "x": 5, "y": 1.5 }, + { "label": "^", "x": 6, "y": 1.5 }, + { "label": "&", "x": 7, "y": 1.5 }, + { "label": "*", "x": 8, "y": 1.5 }, + { "label": "(", "x": 9, "y": 1.5 }, + { "label": ")", "x": 10, "y": 1.5 }, + { "label": "_", "x": 11, "y": 1.5 }, + { "label": "+", "x": 12, "y": 1.5 }, + { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 }, + { "label": "Insert", "x": 15.25, "y": 1.5 }, + { "label": "Home", "x": 16.25, "y": 1.5 }, + { "label": "PgUp", "x": 17.25, "y": 1.5 }, + { "label": "Num Lock", "x": 18.5, "y": 1.5 }, + { "label": "/", "x": 19.5, "y": 1.5 }, + { "label": "*", "x": 20.5, "y": 1.5 }, + { "label": "-", "x": 21.5, "y": 1.5 }, + + { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2.5 }, + { "label": "W", "x": 2.5, "y": 2.5 }, + { "label": "E", "x": 3.5, "y": 2.5 }, + { "label": "R", "x": 4.5, "y": 2.5 }, + { "label": "T", "x": 5.5, "y": 2.5 }, + { "label": "Y", "x": 6.5, "y": 2.5 }, + { "label": "U", "x": 7.5, "y": 2.5 }, + { "label": "I", "x": 8.5, "y": 2.5 }, + { "label": "O", "x": 9.5, "y": 2.5 }, + { "label": "P", "x": 10.5, "y": 2.5 }, + { "label": "{", "x": 11.5, "y": 2.5 }, + { "label": "}", "x": 12.5, "y": 2.5 }, + { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 }, + { "label": "Delete", "x": 15.25, "y": 2.5 }, + { "label": "End", "x": 16.25, "y": 2.5 }, + { "label": "PgDn", "x": 17.25, "y": 2.5 }, + { "label": "7", "x": 18.5, "y": 2.5 }, + { "label": "8", "x": 19.5, "y": 2.5 }, + { "label": "9", "x": 20.5, "y": 2.5 }, + { "label": "+", "x": 21.5, "y": 2.5, "h": 2 }, + + { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3.5 }, + { "label": "S", "x": 2.75, "y": 3.5 }, + { "label": "D", "x": 3.75, "y": 3.5 }, + { "label": "F", "x": 4.75, "y": 3.5 }, + { "label": "G", "x": 5.75, "y": 3.5 }, + { "label": "H", "x": 6.75, "y": 3.5 }, + { "label": "J", "x": 7.75, "y": 3.5 }, + { "label": "K", "x": 8.75, "y": 3.5 }, + { "label": "L", "x": 9.75, "y": 3.5 }, + { "label": ":", "x": 10.75, "y": 3.5 }, + { "label": "\"", "x": 11.75, "y": 3.5 }, + { "label": "Enter", "x": 12.75, "y": 3.5, "w": 2.25 }, + { "label": "4", "x": 18.5, "y": 3.5 }, + { "label": "5", "x": 19.5, "y": 3.5 }, + { "label": "6", "x": 20.5, "y": 3.5 }, + + { "label": "Shift", "x": 0, "y": 4.5, "w": 2.25 }, + { "label": "Z", "x": 2.25, "y": 4.5 }, + { "label": "X", "x": 3.25, "y": 4.5 }, + { "label": "C", "x": 4.25, "y": 4.5 }, + { "label": "V", "x": 5.25, "y": 4.5 }, + { "label": "B", "x": 6.25, "y": 4.5 }, + { "label": "N", "x": 7.25, "y": 4.5 }, + { "label": "M", "x": 8.25, "y": 4.5 }, + { "label": "<", "x": 9.25, "y": 4.5 }, + { "label": ">", "x": 10.25, "y": 4.5 }, + { "label": "?", "x": 11.25, "y": 4.5 }, + { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 }, + { "label": "\u2191", "x": 16.25, "y": 4.5 }, + { "label": "1", "x": 18.5, "y": 4.5 }, + { "label": "2", "x": 19.5, "y": 4.5 }, + { "label": "3", "x": 20.5, "y": 4.5 }, + { "label": "Enter", "x": 21.5, "y": 4.5, "h": 2 }, + + { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 }, + { "x": 3.75, "y": 5.5, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 }, + { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 }, + { "label": "\u2190", "x": 15.25, "y": 5.5 }, + { "label": "\u2193", "x": 16.25, "y": 5.5 }, + { "label": "\u2192", "x": 17.25, "y": 5.5 }, + { "label": "0", "x": 18.5, "y": 5.5, "w": 2 }, + { "label": ".", "x": 20.5, "y": 5.5 } + ] + }, + "LAYOUT_fullsize_iso": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "F1", "x": 2, "y": 0 }, + { "label": "F2", "x": 3, "y": 0 }, + { "label": "F3", "x": 4, "y": 0 }, + { "label": "F4", "x": 5, "y": 0 }, + { "label": "F5", "x": 6.5, "y": 0 }, + { "label": "F6", "x": 7.5, "y": 0 }, + { "label": "F7", "x": 8.5, "y": 0 }, + { "label": "F8", "x": 9.5, "y": 0 }, + { "label": "F9", "x": 11, "y": 0 }, + { "label": "F10", "x": 12, "y": 0 }, + { "label": "F11", "x": 13, "y": 0 }, + { "label": "F12", "x": 14, "y": 0 }, + { "label": "PrtSc", "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "x": 16.25, "y": 0 }, + { "label": "Pause", "x": 17.25, "y": 0 }, + + { "label": "~", "x": 0, "y": 1.5 }, + { "label": "!", "x": 1, "y": 1.5 }, + { "label": "@", "x": 2, "y": 1.5 }, + { "label": "#", "x": 3, "y": 1.5 }, + { "label": "$", "x": 4, "y": 1.5 }, + { "label": "%", "x": 5, "y": 1.5 }, + { "label": "^", "x": 6, "y": 1.5 }, + { "label": "&", "x": 7, "y": 1.5 }, + { "label": "*", "x": 8, "y": 1.5 }, + { "label": "(", "x": 9, "y": 1.5 }, + { "label": ")", "x": 10, "y": 1.5 }, + { "label": "_", "x": 11, "y": 1.5 }, + { "label": "+", "x": 12, "y": 1.5 }, + { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 }, + { "label": "Insert", "x": 15.25, "y": 1.5 }, + { "label": "Home", "x": 16.25, "y": 1.5 }, + { "label": "PgUp", "x": 17.25, "y": 1.5 }, + { "label": "Num Lock", "x": 18.5, "y": 1.5 }, + { "label": "/", "x": 19.5, "y": 1.5 }, + { "label": "*", "x": 20.5, "y": 1.5 }, + { "label": "-", "x": 21.5, "y": 1.5 }, + + { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2.5 }, + { "label": "W", "x": 2.5, "y": 2.5 }, + { "label": "E", "x": 3.5, "y": 2.5 }, + { "label": "R", "x": 4.5, "y": 2.5 }, + { "label": "T", "x": 5.5, "y": 2.5 }, + { "label": "Y", "x": 6.5, "y": 2.5 }, + { "label": "U", "x": 7.5, "y": 2.5 }, + { "label": "I", "x": 8.5, "y": 2.5 }, + { "label": "O", "x": 9.5, "y": 2.5 }, + { "label": "P", "x": 10.5, "y": 2.5 }, + { "label": "{", "x": 11.5, "y": 2.5 }, + { "label": "}", "x": 12.5, "y": 2.5 }, + { "label": "Delete", "x": 15.25, "y": 2.5 }, + { "label": "End", "x": 16.25, "y": 2.5 }, + { "label": "PgDn", "x": 17.25, "y": 2.5 }, + { "label": "7", "x": 18.5, "y": 2.5 }, + { "label": "8", "x": 19.5, "y": 2.5 }, + { "label": "9", "x": 20.5, "y": 2.5 }, + { "label": "+", "x": 21.5, "y": 2.5, "h": 2 }, + + { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3.5 }, + { "label": "S", "x": 2.75, "y": 3.5 }, + { "label": "D", "x": 3.75, "y": 3.5 }, + { "label": "F", "x": 4.75, "y": 3.5 }, + { "label": "G", "x": 5.75, "y": 3.5 }, + { "label": "H", "x": 6.75, "y": 3.5 }, + { "label": "J", "x": 7.75, "y": 3.5 }, + { "label": "K", "x": 8.75, "y": 3.5 }, + { "label": "L", "x": 9.75, "y": 3.5 }, + { "label": ":", "x": 10.75, "y": 3.5 }, + { "label": "\"", "x": 11.75, "y": 3.5 }, + { "label": "#", "x": 12.75, "y": 3.5 }, + { "label": "Enter", "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 }, + { "label": "4", "x": 18.5, "y": 3.5 }, + { "label": "5", "x": 19.5, "y": 3.5 }, + { "label": "6", "x": 20.5, "y": 3.5 }, + + { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 }, + { "label": "\\", "x": 1.25, "y": 4.5 }, + { "label": "Z", "x": 2.25, "y": 4.5 }, + { "label": "X", "x": 3.25, "y": 4.5 }, + { "label": "C", "x": 4.25, "y": 4.5 }, + { "label": "V", "x": 5.25, "y": 4.5 }, + { "label": "B", "x": 6.25, "y": 4.5 }, + { "label": "N", "x": 7.25, "y": 4.5 }, + { "label": "M", "x": 8.25, "y": 4.5 }, + { "label": "<", "x": 9.25, "y": 4.5 }, + { "label": ">", "x": 10.25, "y": 4.5 }, + { "label": "?", "x": 11.25, "y": 4.5 }, + { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 }, + { "label": "\u2191", "x": 16.25, "y": 4.5 }, + { "label": "1", "x": 18.5, "y": 4.5 }, + { "label": "2", "x": 19.5, "y": 4.5 }, + { "label": "3", "x": 20.5, "y": 4.5 }, + { "label": "Enter", "x": 21.5, "y": 4.5, "h": 2 }, + + { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 }, + { "x": 3.75, "y": 5.5, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 }, + { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 }, + { "label": "\u2190", "x": 15.25, "y": 5.5 }, + { "label": "\u2193", "x": 16.25, "y": 5.5 }, + { "label": "\u2192", "x": 17.25, "y": 5.5 }, + { "label": "0", "x": 18.5, "y": 5.5, "w": 2 }, + { "label": ".", "x": 20.5, "y": 5.5 } + ] + }, + "LAYOUT_all": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "F1", "x": 2, "y": 0 }, + { "label": "F2", "x": 3, "y": 0 }, + { "label": "F3", "x": 4, "y": 0 }, + { "label": "F4", "x": 5, "y": 0 }, + { "label": "F5", "x": 6.5, "y": 0 }, + { "label": "F6", "x": 7.5, "y": 0 }, + { "label": "F7", "x": 8.5, "y": 0 }, + { "label": "F8", "x": 9.5, "y": 0 }, + { "label": "F9", "x": 11, "y": 0 }, + { "label": "F10", "x": 12, "y": 0 }, + { "label": "F11", "x": 13, "y": 0 }, + { "label": "F12", "x": 14, "y": 0 }, + { "label": "PrtSc", "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "x": 16.25, "y": 0 }, + { "label": "Pause", "x": 17.25, "y": 0 }, + + { "label": "~", "x": 0, "y": 1.5 }, + { "label": "!", "x": 1, "y": 1.5 }, + { "label": "@", "x": 2, "y": 1.5 }, + { "label": "#", "x": 3, "y": 1.5 }, + { "label": "$", "x": 4, "y": 1.5 }, + { "label": "%", "x": 5, "y": 1.5 }, + { "label": "^", "x": 6, "y": 1.5 }, + { "label": "&", "x": 7, "y": 1.5 }, + { "label": "*", "x": 8, "y": 1.5 }, + { "label": "(", "x": 9, "y": 1.5 }, + { "label": ")", "x": 10, "y": 1.5 }, + { "label": "_", "x": 11, "y": 1.5 }, + { "label": "+", "x": 12, "y": 1.5 }, + { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 }, + { "label": "Insert", "x": 15.25, "y": 1.5 }, + { "label": "Home", "x": 16.25, "y": 1.5 }, + { "label": "PgUp", "x": 17.25, "y": 1.5 }, + { "label": "Num Lock", "x": 18.5, "y": 1.5 }, + { "label": "/", "x": 19.5, "y": 1.5 }, + { "label": "*", "x": 20.5, "y": 1.5 }, + { "label": "-", "x": 21.5, "y": 1.5 }, + + { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2.5 }, + { "label": "W", "x": 2.5, "y": 2.5 }, + { "label": "E", "x": 3.5, "y": 2.5 }, + { "label": "R", "x": 4.5, "y": 2.5 }, + { "label": "T", "x": 5.5, "y": 2.5 }, + { "label": "Y", "x": 6.5, "y": 2.5 }, + { "label": "U", "x": 7.5, "y": 2.5 }, + { "label": "I", "x": 8.5, "y": 2.5 }, + { "label": "O", "x": 9.5, "y": 2.5 }, + { "label": "P", "x": 10.5, "y": 2.5 }, + { "label": "{", "x": 11.5, "y": 2.5 }, + { "label": "}", "x": 12.5, "y": 2.5 }, + { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 }, + { "label": "Delete", "x": 15.25, "y": 2.5 }, + { "label": "End", "x": 16.25, "y": 2.5 }, + { "label": "PgDn", "x": 17.25, "y": 2.5 }, + { "label": "7", "x": 18.5, "y": 2.5 }, + { "label": "8", "x": 19.5, "y": 2.5 }, + { "label": "9", "x": 20.5, "y": 2.5 }, + { "label": "+", "x": 21.5, "y": 2.5, "h": 2 }, + + { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3.5 }, + { "label": "S", "x": 2.75, "y": 3.5 }, + { "label": "D", "x": 3.75, "y": 3.5 }, + { "label": "F", "x": 4.75, "y": 3.5 }, + { "label": "G", "x": 5.75, "y": 3.5 }, + { "label": "H", "x": 6.75, "y": 3.5 }, + { "label": "J", "x": 7.75, "y": 3.5 }, + { "label": "K", "x": 8.75, "y": 3.5 }, + { "label": "L", "x": 9.75, "y": 3.5 }, + { "label": ":", "x": 10.75, "y": 3.5 }, + { "label": "\"", "x": 11.75, "y": 3.5 }, + { "label": "#", "x": 12.75, "y": 3.5 }, + { "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 }, + { "label": "4", "x": 18.5, "y": 3.5 }, + { "label": "5", "x": 19.5, "y": 3.5 }, + { "label": "6", "x": 20.5, "y": 3.5 }, + + { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 }, + { "label": "\\", "x": 1.25, "y": 4.5 }, + { "label": "Z", "x": 2.25, "y": 4.5 }, + { "label": "X", "x": 3.25, "y": 4.5 }, + { "label": "C", "x": 4.25, "y": 4.5 }, + { "label": "V", "x": 5.25, "y": 4.5 }, + { "label": "B", "x": 6.25, "y": 4.5 }, + { "label": "N", "x": 7.25, "y": 4.5 }, + { "label": "M", "x": 8.25, "y": 4.5 }, + { "label": "<", "x": 9.25, "y": 4.5 }, + { "label": ">", "x": 10.25, "y": 4.5 }, + { "label": "?", "x": 11.25, "y": 4.5 }, + { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 }, + { "label": "\u2191", "x": 16.25, "y": 4.5 }, + { "label": "1", "x": 18.5, "y": 4.5 }, + { "label": "2", "x": 19.5, "y": 4.5 }, + { "label": "3", "x": 20.5, "y": 4.5 }, + { "label": "Enter", "x": 21.5, "y": 4.5, "h": 2 }, + + { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 }, + { "x": 3.75, "y": 5.5, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 }, + { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 }, + { "label": "\u2190", "x": 15.25, "y": 5.5 }, + { "label": "\u2193", "x": 16.25, "y": 5.5 }, + { "label": "\u2192", "x": 17.25, "y": 5.5 }, + { "label": "0", "x": 18.5, "y": 5.5, "w": 2 }, + { "label": ".", "x": 20.5, "y": 5.5 } + ] + } + } +} diff --git a/keyboards/durgod/k3x0/k310/k310.h b/keyboards/durgod/k3x0/k310/k310.h new file mode 100644 index 000000000000..2d82ee155018 --- /dev/null +++ b/keyboards/durgod/k3x0/k310/k310.h @@ -0,0 +1,78 @@ +/* Copyright 2021 Don Kjer and Tyler Tidman + * Copyright 2021 Simon Arlott + * + * 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 XXX KC_NO + +// This a shortcut to help you visually see your layout. +#define LAYOUT_fullsize_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, K6A, K69, K68, K67, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, K7A, K79, K78, K6B, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K4E, K7E, K7D, K7C, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, K6E, K6D, K6C, K7B, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F, K7F, K77 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \ + { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ + { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \ +} + +// This a shortcut to help you visually see your layout. +#define LAYOUT_fullsize_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, K6A, K69, K68, K67, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3D, K3E, K3F, K7A, K79, K78, K6B, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, K7E, K7D, K7C, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, K6E, K6D, K6C, K7B, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F, K7F, K77 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ + { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \ +} + +// This a shortcut to help you visually see your layout. +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, K6A, K69, K68, K67, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, K7A, K79, K78, K6B, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, K7E, K7D, K7C, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, K6E, K6D, K6C, K7B, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F, K7F, K77 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ + { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \ +} + diff --git a/keyboards/durgod/k3x0/k310/readme.md b/keyboards/durgod/k3x0/k310/readme.md new file mode 100644 index 000000000000..bee903b88f7f --- /dev/null +++ b/keyboards/durgod/k3x0/k310/readme.md @@ -0,0 +1,10 @@ +# Taurus K310 + +This code is shared between all K310 variants. Currently only the base model with no backlight is supported. + +* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) +* Hardware Supported: Durgod Taurus K310 board with STM32F070RBT6 +* Hardware Availability: Base https://www.durgod.com/page9?product_id=53&_l=en + +Instructions for building the K310 firmware can be found here: +* [No Backlight](base/readme.md) diff --git a/keyboards/durgod/k3x0/k310/rules.mk b/keyboards/durgod/k3x0/k310/rules.mk new file mode 100644 index 000000000000..2df1aff9c80f --- /dev/null +++ b/keyboards/durgod/k3x0/k310/rules.mk @@ -0,0 +1,4 @@ +# Default to the base model +DEFAULT_FOLDER=durgod/k3x0/k310/base + +LAYOUTS = fullsize_ansi fullsize_iso diff --git a/keyboards/durgod/k3x0/k320/base/config.h b/keyboards/durgod/k3x0/k320/base/config.h new file mode 100644 index 000000000000..d4eb732b90b7 --- /dev/null +++ b/keyboards/durgod/k3x0/k320/base/config.h @@ -0,0 +1,23 @@ +/* Copyright 2021 Don Kjer + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define PRODUCT DURGOD Taurus K320 (QMK) +#define DEVICE_VER 0x0001 // Base (no backlight) diff --git a/keyboards/durgod/k3x0/k320/base/readme.md b/keyboards/durgod/k3x0/k320/base/readme.md new file mode 100644 index 000000000000..8f46cc122cee --- /dev/null +++ b/keyboards/durgod/k3x0/k320/base/readme.md @@ -0,0 +1,27 @@ +# K320 + +This is a standard off-the-shelf Durgod Taurus K320 TKL (87/88-key) +keyboard without backlight. This supports both the ANSI and ISO variants. + +* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) +* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6 +* Hardware Availability: https://www.durgod.com/page9?product_id=47&_l=en + +## Instructions + +### Build + +Make command example for this keyboard (after setting up your build environment): + + make durgod/k320:default + +Flashing example for this keyboard: + + make durgod/k320: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). + +### Initial Flash + +Instructions for Flashing from initial Stock Firmware: +* [Initial Flashing](../../readme.md#initial-flash) diff --git a/keyboards/durgod/k3x0/k320/base/rules.mk b/keyboards/durgod/k3x0/k320/base/rules.mk new file mode 100644 index 000000000000..323c12fc6e05 --- /dev/null +++ b/keyboards/durgod/k3x0/k320/base/rules.mk @@ -0,0 +1 @@ +# see common rules.mk diff --git a/keyboards/durgod/k3x0/k320/config.h b/keyboards/durgod/k3x0/k320/config.h new file mode 100644 index 000000000000..25b4c630365e --- /dev/null +++ b/keyboards/durgod/k3x0/k320/config.h @@ -0,0 +1,33 @@ +/* Copyright 2021 Don Kjer and Tyler Tidman + * Copyright 2021 Simon Arlott + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define PRODUCT_ID 0x3200 +// Taurus K320 models: +//#define DEVICE_VER 0x0001 // Base (no backlight) +//#define DEVICE_VER 0x0002 // Corona (white led matrix) +//#define DEVICE_VER 0x0003 // Aurora (red & blue led matrix) +//#define DEVICE_VER 0x0004 // Nebula (rgb led matrix) + +/* key matrix size (cols in generic keyboard config) */ +#define MATRIX_ROWS 7 + +#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 } diff --git a/keyboards/durgod/k3x0/k320/info.json b/keyboards/durgod/k3x0/k320/info.json new file mode 100644 index 000000000000..d360778edd5f --- /dev/null +++ b/keyboards/durgod/k3x0/k320/info.json @@ -0,0 +1,415 @@ +{ + "keyboard_name": "DURGOD Taurus K320", + "url": "https://www.durgod.com/page9?product_id=47&_l=en", + "maintainer": "dkjer", + "width": 18.25, + "height": 6.5, + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "F1", "x": 2, "y": 0 }, + { "label": "F2", "x": 3, "y": 0 }, + { "label": "F3", "x": 4, "y": 0 }, + { "label": "F4", "x": 5, "y": 0 }, + { "label": "F5", "x": 6.5, "y": 0 }, + { "label": "F6", "x": 7.5, "y": 0 }, + { "label": "F7", "x": 8.5, "y": 0 }, + { "label": "F8", "x": 9.5, "y": 0 }, + { "label": "F9", "x": 11, "y": 0 }, + { "label": "F10", "x": 12, "y": 0 }, + { "label": "F11", "x": 13, "y": 0 }, + { "label": "F12", "x": 14, "y": 0 }, + { "label": "PrtSc", "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "x": 16.25, "y": 0 }, + { "label": "Pause", "x": 17.25, "y": 0 }, + + { "label": "~", "x": 0, "y": 1.5 }, + { "label": "!", "x": 1, "y": 1.5 }, + { "label": "@", "x": 2, "y": 1.5 }, + { "label": "#", "x": 3, "y": 1.5 }, + { "label": "$", "x": 4, "y": 1.5 }, + { "label": "%", "x": 5, "y": 1.5 }, + { "label": "^", "x": 6, "y": 1.5 }, + { "label": "&", "x": 7, "y": 1.5 }, + { "label": "*", "x": 8, "y": 1.5 }, + { "label": "(", "x": 9, "y": 1.5 }, + { "label": ")", "x": 10, "y": 1.5 }, + { "label": "_", "x": 11, "y": 1.5 }, + { "label": "+", "x": 12, "y": 1.5 }, + { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 }, + { "label": "Insert", "x": 15.25, "y": 1.5 }, + { "label": "Home", "x": 16.25, "y": 1.5 }, + { "label": "PgUp", "x": 17.25, "y": 1.5 }, + + { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2.5 }, + { "label": "W", "x": 2.5, "y": 2.5 }, + { "label": "E", "x": 3.5, "y": 2.5 }, + { "label": "R", "x": 4.5, "y": 2.5 }, + { "label": "T", "x": 5.5, "y": 2.5 }, + { "label": "Y", "x": 6.5, "y": 2.5 }, + { "label": "U", "x": 7.5, "y": 2.5 }, + { "label": "I", "x": 8.5, "y": 2.5 }, + { "label": "O", "x": 9.5, "y": 2.5 }, + { "label": "P", "x": 10.5, "y": 2.5 }, + { "label": "{", "x": 11.5, "y": 2.5 }, + { "label": "}", "x": 12.5, "y": 2.5 }, + { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 }, + { "label": "Delete", "x": 15.25, "y": 2.5 }, + { "label": "End", "x": 16.25, "y": 2.5 }, + { "label": "PgDn", "x": 17.25, "y": 2.5 }, + + { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3.5 }, + { "label": "S", "x": 2.75, "y": 3.5 }, + { "label": "D", "x": 3.75, "y": 3.5 }, + { "label": "F", "x": 4.75, "y": 3.5 }, + { "label": "G", "x": 5.75, "y": 3.5 }, + { "label": "H", "x": 6.75, "y": 3.5 }, + { "label": "J", "x": 7.75, "y": 3.5 }, + { "label": "K", "x": 8.75, "y": 3.5 }, + { "label": "L", "x": 9.75, "y": 3.5 }, + { "label": ":", "x": 10.75, "y": 3.5 }, + { "label": "\"", "x": 11.75, "y": 3.5 }, + { "label": "Enter", "x": 12.75, "y": 3.5, "w": 2.25 }, + + { "label": "Shift", "x": 0, "y": 4.5, "w": 2.25 }, + { "label": "Z", "x": 2.25, "y": 4.5 }, + { "label": "X", "x": 3.25, "y": 4.5 }, + { "label": "C", "x": 4.25, "y": 4.5 }, + { "label": "V", "x": 5.25, "y": 4.5 }, + { "label": "B", "x": 6.25, "y": 4.5 }, + { "label": "N", "x": 7.25, "y": 4.5 }, + { "label": "M", "x": 8.25, "y": 4.5 }, + { "label": "<", "x": 9.25, "y": 4.5 }, + { "label": ">", "x": 10.25, "y": 4.5 }, + { "label": "?", "x": 11.25, "y": 4.5 }, + { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 }, + { "label": "\u2191", "x": 16.25, "y": 4.5 }, + + { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 }, + { "x": 3.75, "y": 5.5, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 }, + { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 }, + { "label": "\u2190", "x": 15.25, "y": 5.5 }, + { "label": "\u2193", "x": 16.25, "y": 5.5 }, + { "label": "\u2192", "x": 17.25, "y": 5.5 } + ] + }, + "LAYOUT_tkl_iso": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "F1", "x": 2, "y": 0 }, + { "label": "F2", "x": 3, "y": 0 }, + { "label": "F3", "x": 4, "y": 0 }, + { "label": "F4", "x": 5, "y": 0 }, + { "label": "F5", "x": 6.5, "y": 0 }, + { "label": "F6", "x": 7.5, "y": 0 }, + { "label": "F7", "x": 8.5, "y": 0 }, + { "label": "F8", "x": 9.5, "y": 0 }, + { "label": "F9", "x": 11, "y": 0 }, + { "label": "F10", "x": 12, "y": 0 }, + { "label": "F11", "x": 13, "y": 0 }, + { "label": "F12", "x": 14, "y": 0 }, + { "label": "PrtSc", "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "x": 16.25, "y": 0 }, + { "label": "Pause", "x": 17.25, "y": 0 }, + + { "label": "~", "x": 0, "y": 1.5 }, + { "label": "!", "x": 1, "y": 1.5 }, + { "label": "@", "x": 2, "y": 1.5 }, + { "label": "#", "x": 3, "y": 1.5 }, + { "label": "$", "x": 4, "y": 1.5 }, + { "label": "%", "x": 5, "y": 1.5 }, + { "label": "^", "x": 6, "y": 1.5 }, + { "label": "&", "x": 7, "y": 1.5 }, + { "label": "*", "x": 8, "y": 1.5 }, + { "label": "(", "x": 9, "y": 1.5 }, + { "label": ")", "x": 10, "y": 1.5 }, + { "label": "_", "x": 11, "y": 1.5 }, + { "label": "+", "x": 12, "y": 1.5 }, + { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 }, + { "label": "Insert", "x": 15.25, "y": 1.5 }, + { "label": "Home", "x": 16.25, "y": 1.5 }, + { "label": "PgUp", "x": 17.25, "y": 1.5 }, + + { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2.5 }, + { "label": "W", "x": 2.5, "y": 2.5 }, + { "label": "E", "x": 3.5, "y": 2.5 }, + { "label": "R", "x": 4.5, "y": 2.5 }, + { "label": "T", "x": 5.5, "y": 2.5 }, + { "label": "Y", "x": 6.5, "y": 2.5 }, + { "label": "U", "x": 7.5, "y": 2.5 }, + { "label": "I", "x": 8.5, "y": 2.5 }, + { "label": "O", "x": 9.5, "y": 2.5 }, + { "label": "P", "x": 10.5, "y": 2.5 }, + { "label": "{", "x": 11.5, "y": 2.5 }, + { "label": "}", "x": 12.5, "y": 2.5 }, + { "label": "Delete", "x": 15.25, "y": 2.5 }, + { "label": "End", "x": 16.25, "y": 2.5 }, + { "label": "PgDn", "x": 17.25, "y": 2.5 }, + + { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3.5 }, + { "label": "S", "x": 2.75, "y": 3.5 }, + { "label": "D", "x": 3.75, "y": 3.5 }, + { "label": "F", "x": 4.75, "y": 3.5 }, + { "label": "G", "x": 5.75, "y": 3.5 }, + { "label": "H", "x": 6.75, "y": 3.5 }, + { "label": "J", "x": 7.75, "y": 3.5 }, + { "label": "K", "x": 8.75, "y": 3.5 }, + { "label": "L", "x": 9.75, "y": 3.5 }, + { "label": ":", "x": 10.75, "y": 3.5 }, + { "label": "\"", "x": 11.75, "y": 3.5 }, + { "label": "#", "x": 12.75, "y": 3.5 }, + { "label": "Enter", "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 }, + + { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 }, + { "label": "\\", "x": 1.25, "y": 4.5 }, + { "label": "Z", "x": 2.25, "y": 4.5 }, + { "label": "X", "x": 3.25, "y": 4.5 }, + { "label": "C", "x": 4.25, "y": 4.5 }, + { "label": "V", "x": 5.25, "y": 4.5 }, + { "label": "B", "x": 6.25, "y": 4.5 }, + { "label": "N", "x": 7.25, "y": 4.5 }, + { "label": "M", "x": 8.25, "y": 4.5 }, + { "label": "<", "x": 9.25, "y": 4.5 }, + { "label": ">", "x": 10.25, "y": 4.5 }, + { "label": "?", "x": 11.25, "y": 4.5 }, + { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 }, + { "label": "\u2191", "x": 16.25, "y": 4.5 }, + + { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 }, + { "x": 3.75, "y": 5.5, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 }, + { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 }, + { "label": "\u2190", "x": 15.25, "y": 5.5 }, + { "label": "\u2193", "x": 16.25, "y": 5.5 }, + { "label": "\u2192", "x": 17.25, "y": 5.5 } + ] + }, + "LAYOUT_tkl": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "F1", "x": 2, "y": 0 }, + { "label": "F2", "x": 3, "y": 0 }, + { "label": "F3", "x": 4, "y": 0 }, + { "label": "F4", "x": 5, "y": 0 }, + { "label": "F5", "x": 6.5, "y": 0 }, + { "label": "F6", "x": 7.5, "y": 0 }, + { "label": "F7", "x": 8.5, "y": 0 }, + { "label": "F8", "x": 9.5, "y": 0 }, + { "label": "F9", "x": 11, "y": 0 }, + { "label": "F10", "x": 12, "y": 0 }, + { "label": "F11", "x": 13, "y": 0 }, + { "label": "F12", "x": 14, "y": 0 }, + { "label": "PrtSc", "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "x": 16.25, "y": 0 }, + { "label": "Pause", "x": 17.25, "y": 0 }, + + { "label": "~", "x": 0, "y": 1.5 }, + { "label": "!", "x": 1, "y": 1.5 }, + { "label": "@", "x": 2, "y": 1.5 }, + { "label": "#", "x": 3, "y": 1.5 }, + { "label": "$", "x": 4, "y": 1.5 }, + { "label": "%", "x": 5, "y": 1.5 }, + { "label": "^", "x": 6, "y": 1.5 }, + { "label": "&", "x": 7, "y": 1.5 }, + { "label": "*", "x": 8, "y": 1.5 }, + { "label": "(", "x": 9, "y": 1.5 }, + { "label": ")", "x": 10, "y": 1.5 }, + { "label": "_", "x": 11, "y": 1.5 }, + { "label": "+", "x": 12, "y": 1.5 }, + { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 }, + { "label": "Insert", "x": 15.25, "y": 1.5 }, + { "label": "Home", "x": 16.25, "y": 1.5 }, + { "label": "PgUp", "x": 17.25, "y": 1.5 }, + + { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2.5 }, + { "label": "W", "x": 2.5, "y": 2.5 }, + { "label": "E", "x": 3.5, "y": 2.5 }, + { "label": "R", "x": 4.5, "y": 2.5 }, + { "label": "T", "x": 5.5, "y": 2.5 }, + { "label": "Y", "x": 6.5, "y": 2.5 }, + { "label": "U", "x": 7.5, "y": 2.5 }, + { "label": "I", "x": 8.5, "y": 2.5 }, + { "label": "O", "x": 9.5, "y": 2.5 }, + { "label": "P", "x": 10.5, "y": 2.5 }, + { "label": "{", "x": 11.5, "y": 2.5 }, + { "label": "}", "x": 12.5, "y": 2.5 }, + { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 }, + { "label": "Delete", "x": 15.25, "y": 2.5 }, + { "label": "End", "x": 16.25, "y": 2.5 }, + { "label": "PgDn", "x": 17.25, "y": 2.5 }, + + { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3.5 }, + { "label": "S", "x": 2.75, "y": 3.5 }, + { "label": "D", "x": 3.75, "y": 3.5 }, + { "label": "F", "x": 4.75, "y": 3.5 }, + { "label": "G", "x": 5.75, "y": 3.5 }, + { "label": "H", "x": 6.75, "y": 3.5 }, + { "label": "J", "x": 7.75, "y": 3.5 }, + { "label": "K", "x": 8.75, "y": 3.5 }, + { "label": "L", "x": 9.75, "y": 3.5 }, + { "label": ":", "x": 10.75, "y": 3.5 }, + { "label": "\"", "x": 11.75, "y": 3.5 }, + { "label": "#", "x": 12.75, "y": 3.5 }, + { "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 }, + + { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 }, + { "label": "\\", "x": 1.25, "y": 4.5 }, + { "label": "Z", "x": 2.25, "y": 4.5 }, + { "label": "X", "x": 3.25, "y": 4.5 }, + { "label": "C", "x": 4.25, "y": 4.5 }, + { "label": "V", "x": 5.25, "y": 4.5 }, + { "label": "B", "x": 6.25, "y": 4.5 }, + { "label": "N", "x": 7.25, "y": 4.5 }, + { "label": "M", "x": 8.25, "y": 4.5 }, + { "label": "<", "x": 9.25, "y": 4.5 }, + { "label": ">", "x": 10.25, "y": 4.5 }, + { "label": "?", "x": 11.25, "y": 4.5 }, + { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 }, + { "label": "\u2191", "x": 16.25, "y": 4.5 }, + + { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 }, + { "x": 3.75, "y": 5.5, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 }, + { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 }, + { "label": "\u2190", "x": 15.25, "y": 5.5 }, + { "label": "\u2193", "x": 16.25, "y": 5.5 }, + { "label": "\u2192", "x": 17.25, "y": 5.5 } + ] + }, + "LAYOUT_all": { + "layout": [ + { "label": "Esc", "x": 0, "y": 0 }, + { "label": "F1", "x": 2, "y": 0 }, + { "label": "F2", "x": 3, "y": 0 }, + { "label": "F3", "x": 4, "y": 0 }, + { "label": "F4", "x": 5, "y": 0 }, + { "label": "F5", "x": 6.5, "y": 0 }, + { "label": "F6", "x": 7.5, "y": 0 }, + { "label": "F7", "x": 8.5, "y": 0 }, + { "label": "F8", "x": 9.5, "y": 0 }, + { "label": "F9", "x": 11, "y": 0 }, + { "label": "F10", "x": 12, "y": 0 }, + { "label": "F11", "x": 13, "y": 0 }, + { "label": "F12", "x": 14, "y": 0 }, + { "label": "PrtSc", "x": 15.25, "y": 0 }, + { "label": "Scroll Lock", "x": 16.25, "y": 0 }, + { "label": "Pause", "x": 17.25, "y": 0 }, + + { "label": "~", "x": 0, "y": 1.5 }, + { "label": "!", "x": 1, "y": 1.5 }, + { "label": "@", "x": 2, "y": 1.5 }, + { "label": "#", "x": 3, "y": 1.5 }, + { "label": "$", "x": 4, "y": 1.5 }, + { "label": "%", "x": 5, "y": 1.5 }, + { "label": "^", "x": 6, "y": 1.5 }, + { "label": "&", "x": 7, "y": 1.5 }, + { "label": "*", "x": 8, "y": 1.5 }, + { "label": "(", "x": 9, "y": 1.5 }, + { "label": ")", "x": 10, "y": 1.5 }, + { "label": "_", "x": 11, "y": 1.5 }, + { "label": "+", "x": 12, "y": 1.5 }, + { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 }, + { "label": "Insert", "x": 15.25, "y": 1.5 }, + { "label": "Home", "x": 16.25, "y": 1.5 }, + { "label": "PgUp", "x": 17.25, "y": 1.5 }, + { "label": "Num Lock", "x": 18.5, "y": 1.5 }, + { "label": "/", "x": 19.5, "y": 1.5 }, + { "label": "*", "x": 20.5, "y": 1.5 }, + { "label": "-", "x": 21.5, "y": 1.5 }, + + { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 }, + { "label": "Q", "x": 1.5, "y": 2.5 }, + { "label": "W", "x": 2.5, "y": 2.5 }, + { "label": "E", "x": 3.5, "y": 2.5 }, + { "label": "R", "x": 4.5, "y": 2.5 }, + { "label": "T", "x": 5.5, "y": 2.5 }, + { "label": "Y", "x": 6.5, "y": 2.5 }, + { "label": "U", "x": 7.5, "y": 2.5 }, + { "label": "I", "x": 8.5, "y": 2.5 }, + { "label": "O", "x": 9.5, "y": 2.5 }, + { "label": "P", "x": 10.5, "y": 2.5 }, + { "label": "{", "x": 11.5, "y": 2.5 }, + { "label": "}", "x": 12.5, "y": 2.5 }, + { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 }, + { "label": "Delete", "x": 15.25, "y": 2.5 }, + { "label": "End", "x": 16.25, "y": 2.5 }, + { "label": "PgDn", "x": 17.25, "y": 2.5 }, + { "label": "7", "x": 18.5, "y": 2.5 }, + { "label": "8", "x": 19.5, "y": 2.5 }, + { "label": "9", "x": 20.5, "y": 2.5 }, + { "label": "+", "x": 21.5, "y": 2.5, "h": 2 }, + + { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 }, + { "label": "A", "x": 1.75, "y": 3.5 }, + { "label": "S", "x": 2.75, "y": 3.5 }, + { "label": "D", "x": 3.75, "y": 3.5 }, + { "label": "F", "x": 4.75, "y": 3.5 }, + { "label": "G", "x": 5.75, "y": 3.5 }, + { "label": "H", "x": 6.75, "y": 3.5 }, + { "label": "J", "x": 7.75, "y": 3.5 }, + { "label": "K", "x": 8.75, "y": 3.5 }, + { "label": "L", "x": 9.75, "y": 3.5 }, + { "label": ":", "x": 10.75, "y": 3.5 }, + { "label": "\"", "x": 11.75, "y": 3.5 }, + { "label": "#", "x": 12.75, "y": 3.5 }, + { "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 }, + { "label": "4", "x": 18.5, "y": 3.5 }, + { "label": "5", "x": 19.5, "y": 3.5 }, + { "label": "6", "x": 20.5, "y": 3.5 }, + + { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 }, + { "label": "\\", "x": 1.25, "y": 4.5 }, + { "label": "Z", "x": 2.25, "y": 4.5 }, + { "label": "X", "x": 3.25, "y": 4.5 }, + { "label": "C", "x": 4.25, "y": 4.5 }, + { "label": "V", "x": 5.25, "y": 4.5 }, + { "label": "B", "x": 6.25, "y": 4.5 }, + { "label": "N", "x": 7.25, "y": 4.5 }, + { "label": "M", "x": 8.25, "y": 4.5 }, + { "label": "<", "x": 9.25, "y": 4.5 }, + { "label": ">", "x": 10.25, "y": 4.5 }, + { "label": "?", "x": 11.25, "y": 4.5 }, + { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 }, + { "label": "\u2191", "x": 16.25, "y": 4.5 }, + { "label": "1", "x": 18.5, "y": 4.5 }, + { "label": "2", "x": 19.5, "y": 4.5 }, + { "label": "3", "x": 20.5, "y": 4.5 }, + { "label": "Enter", "x": 21.5, "y": 4.5, "h": 2 }, + + { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 }, + { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 }, + { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 }, + { "x": 3.75, "y": 5.5, "w": 6.25 }, + { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 }, + { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 }, + { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 }, + { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 }, + { "label": "\u2190", "x": 15.25, "y": 5.5 }, + { "label": "\u2193", "x": 16.25, "y": 5.5 }, + { "label": "\u2192", "x": 17.25, "y": 5.5 }, + { "label": "0", "x": 18.5, "y": 5.5, "w": 2 }, + { "label": ".", "x": 20.5, "y": 5.5 } + ] + } + } +} diff --git a/keyboards/durgod/k3x0/k320/k320.h b/keyboards/durgod/k3x0/k320/k320.h new file mode 100644 index 000000000000..23b48d0f3921 --- /dev/null +++ b/keyboards/durgod/k3x0/k320/k320.h @@ -0,0 +1,92 @@ +/* Copyright 2021 Don Kjer and Tyler Tidman + * Copyright 2021 Simon Arlott + * + * 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 XXX KC_NO + +// This a shortcut to help you visually see your layout. +#define LAYOUT_tkl_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K4E, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \ + { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ + { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \ +} + +// This a shortcut to help you visually see your layout. +#define LAYOUT_tkl_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3D, K3E, K3F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ + { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \ +} + +// This a shortcut to help you visually see your layout. +#define LAYOUT_tkl( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ + { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \ +} + +// This a shortcut to help you visually see your layout. +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, K6A, K69, K68, K67, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, K7A, K79, K78, K6B, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, K7E, K7D, K7C, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, K6E, K6D, K6C, K7B, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F, K7F, K77 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \ + { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F } \ +} diff --git a/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c b/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c new file mode 100644 index 000000000000..866e522fc9c0 --- /dev/null +++ b/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c @@ -0,0 +1,145 @@ +/* Copyright 2021 kuenhlee + * + * 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 + +// Layer shorthand +#define _BL 0u +#define _FL 1u // Multimedia Related, Virtual Desktop control +#define _SL 2u // Just for System Related +#define _UL 3u // Unicode Map + +#define KC_ADTP LGUI(LCTL(KC_D)) // Adding New Virtual Desktop +#define KC_DDTP LGUI(LCTL(KC_F4)) // Deleting / Removing Current Virtual Desktop +#define KC_NDTP LGUI(LCTL(KC_RGHT)) // Navigate to the Next Virtual Desktop +#define KC_PDTP LGUI(LCTL(KC_LEFT)) // Navigate to the Previous Virtual Desktop +#define KC_WINL LGUI(KC_LEFT) // Snap Windows to Left +#define KC_WINR LGUI(KC_RGHT) // Snap Windows to Right +#define KC_WINU LGUI(KC_UP) // Maximize the Window +#define KC_WIND LGUI(KC_DOWN) // Minimize the desktop window +#define KC_TASK LCTL(LSFT(KC_ESC)) // Launch Task Manager + +#define KC_FIND LCTL(LSFT(KC_F)) // Find In Files +#define KC_STOP LCTL(LSFT(KC_HOME)) // Select from Cursor to Home +#define KC_SEND LCTL(LSFT(KC_END)) // Select from Cursor to End + +// °±²³µ©ΩθΩ√∞∆≈≠→↓←↑≡■□●○∴«»÷≤≥Σ +// Defines the Enumeration for Unicode Map +enum unicode_names { + DEGR, + PONE, + POW2, + POW3, + MYU, + COPY, + THET, + OHM, + SQRT, + INFI, + DELT, + APPR, + NEQU, + RARR, + DARR, + LARR, + UARR, + SAME, + BSQR, + WSQR, + BDOT, + WDOT, + THFR, + DIV, + LTOE, + MTOE, + DLAR, + DRAR, + SUM, +}; + +const uint32_t PROGMEM unicode_map[] = { + [DEGR] = 0x00B0, // ° + [PONE] = 0x00B1, // ± + [POW2] = 0x00B2, // ² + [POW3] = 0x00B3, // ³ + [MYU] = 0x00B5, // µ + [COPY] = 0x00A9, // © + [THET] = 0x03B8, // θ + [OHM] = 0x2126, // Ω + [SQRT] = 0x221A, // √ + [INFI] = 0x221E, // ∞ + [DELT] = 0x0394, // ∆ + [APPR] = 0x2248, // ≈ + [NEQU] = 0x2260, // ≠ + [RARR] = 0x2192, // → + [DARR] = 0x2193, // ↓ + [LARR] = 0x2190, // ← + [UARR] = 0x2191, // ↑ + [SAME] = 0x2261, // ≡ + [BSQR] = 0x25A0, // ■ + [WSQR] = 0x25A1, // □ + [BDOT] = 0x25CF, // ● + [WDOT] = 0x25CB, // ○ + [THFR] = 0x2234, // ∴ + [DIV] = 0x00F7, // ÷ + [LTOE] = 0x2264, // ≤ + [MTOE] = 0x2265, // ≥ + [DLAR] = 0x00AB, // « + [DRAR] = 0x00BB, // » + [SUM] = 0x03A3 // Σ +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BL] = LAYOUT_tkl_ansi( /* Base Layer */ + 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_SLCK, 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FL] = LAYOUT_tkl_ansi( /* First Layer */ + KC_TRNS, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ADTP, KC_STOP, KC_PDTP, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TASK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MSEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_DDTP, KC_SEND, KC_NDTP, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FIND, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAIL, XXXXXXX, XXXXXXX, XXXXXXX, KC_MENU, KC_WINU, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(_SL), KC_TRNS, MO(_UL), XXXXXXX, KC_WINL, KC_WIND, KC_WINR + ), + + [_SL] = LAYOUT_tkl_ansi( /* Second Layer */ + XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + + [_UL] = LAYOUT_tkl_ansi( /* Unicode Layer */ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + X(APPR), X(NEQU), X(POW2), X(POW3), XXXXXXX, XXXXXXX, X(BSQR), X(WSQR), X(INFI), X(BDOT), X(WDOT), XXXXXXX, X(PONE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(SUM), XXXXXXX, X(MYU), X(SAME), XXXXXXX, X(OHM), X(DLAR), X(DRAR), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, X(SQRT), X(DELT), XXXXXXX, XXXXXXX, X(THFR), XXXXXXX, XXXXXXX, XXXXXXX, X(THET), X(DEGR), XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, X(COPY), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(LTOE), X(MTOE), X(DIV), XXXXXXX, X(UARR), + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, X(LARR), X(DARR), X(RARR) + ) +}; + +void matrix_init_user(void) { + set_unicode_input_mode(UC_WINC); +} diff --git a/keyboards/durgod/k320/keymaps/kuenhlee/readme.md b/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/readme.md similarity index 100% rename from keyboards/durgod/k320/keymaps/kuenhlee/readme.md rename to keyboards/durgod/k3x0/k320/keymaps/kuenhlee/readme.md diff --git a/keyboards/durgod/k320/keymaps/kuenhlee/rules.mk b/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/rules.mk similarity index 100% rename from keyboards/durgod/k320/keymaps/kuenhlee/rules.mk rename to keyboards/durgod/k3x0/k320/keymaps/kuenhlee/rules.mk diff --git a/keyboards/durgod/k3x0/k320/readme.md b/keyboards/durgod/k3x0/k320/readme.md new file mode 100644 index 000000000000..e584bd187460 --- /dev/null +++ b/keyboards/durgod/k3x0/k320/readme.md @@ -0,0 +1,10 @@ +# Taurus K320 + +This code is shared between all K320 variants. Currently only the base model with no backlight is supported. + +* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) +* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6 +* Hardware Availability: Base https://www.amazon.com/Durgod-Taurus-Corona-Mechanical-Keyboard/dp/B078H3WPHM + +Instructions for building the K320 firmware can be found here: +* [No Backlight](base/readme.md) diff --git a/keyboards/durgod/k3x0/k320/rules.mk b/keyboards/durgod/k3x0/k320/rules.mk new file mode 100644 index 000000000000..fabc0854ff3a --- /dev/null +++ b/keyboards/durgod/k3x0/k320/rules.mk @@ -0,0 +1,4 @@ +# Default to the base model +DEFAULT_FOLDER=durgod/k3x0/k320/base + +LAYOUTS = tkl_ansi tkl_iso diff --git a/keyboards/durgod/k3x0/k3x0.c b/keyboards/durgod/k3x0/k3x0.c new file mode 100644 index 000000000000..d12b46bc51b0 --- /dev/null +++ b/keyboards/durgod/k3x0/k3x0.c @@ -0,0 +1,96 @@ +/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman + * Copyright 2021 Simon Arlott + * + * 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 "k3x0.h" +#include +#include + +/* Private Functions */ +void off_all_leds(void) { +#ifdef LED_NUM_LOCK_PIN + writePinHigh(LED_NUM_LOCK_PIN); +#endif + writePinHigh(LED_CAPS_LOCK_PIN); + writePinHigh(LED_SCROLL_LOCK_PIN); + writePinHigh(LED_WIN_LOCK_PIN); + writePinHigh(LED_MR_LOCK_PIN); +} + +void on_all_leds(void) { +#ifdef LED_NUM_LOCK_PIN + writePinLow(LED_NUM_LOCK_PIN); +#endif + writePinLow(LED_CAPS_LOCK_PIN); + writePinLow(LED_SCROLL_LOCK_PIN); + writePinLow(LED_WIN_LOCK_PIN); + writePinLow(LED_MR_LOCK_PIN); +} + +/* WinLock and MR LEDs are non-standard. Need to override led init */ +void led_init_ports(void) { +#ifdef LED_NUM_LOCK_PIN + setPinOutput(LED_NUM_LOCK_PIN); +#endif + setPinOutput(LED_CAPS_LOCK_PIN); + setPinOutput(LED_SCROLL_LOCK_PIN); + setPinOutput(LED_WIN_LOCK_PIN); + setPinOutput(LED_MR_LOCK_PIN); + off_all_leds(); +} + +#ifndef WINLOCK_DISABLED +static bool win_key_locked = false; + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_TGUI: + if (record->event.pressed) { + // Toggle GUI lock on key press + win_key_locked = !win_key_locked; + writePin(LED_WIN_LOCK_PIN, !win_key_locked); + } + break; + case KC_LGUI: + if (win_key_locked) { return false; } + break; + } + return process_record_user(keycode, record); +} +#endif /* WINLOCK_DISABLED */ + +#ifndef HW_RESET_PIN_DISABLED +static void hardware_reset_cb(void *arg) { + chSysLockFromISR(); + bootloader_jump(); + chSysUnlockFromISR(); +} +#endif + +void keyboard_pre_init_kb(void) { + setPinInputHigh(HARDWARE_RESET_PIN); + +#ifndef HW_RESET_PIN_DISABLED + /* Jump to bootloader when the hardware reset button is pressed */ + palEnablePadEvent(PAL_PORT(HARDWARE_RESET_PIN), PAL_PAD(HARDWARE_RESET_PIN), PAL_EVENT_MODE_FALLING_EDGE); + palSetPadCallback(PAL_PORT(HARDWARE_RESET_PIN), PAL_PAD(HARDWARE_RESET_PIN), hardware_reset_cb, NULL); + + /* The interrupt is edge-triggered so check that it's not already pressed */ + if (!readPin(HARDWARE_RESET_PIN)) { + bootloader_jump(); + } +#endif +} diff --git a/keyboards/durgod/k3x0/k3x0.h b/keyboards/durgod/k3x0/k3x0.h new file mode 100644 index 000000000000..93740a5512f5 --- /dev/null +++ b/keyboards/durgod/k3x0/k3x0.h @@ -0,0 +1,47 @@ +/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman + * Copyright 2021 Simon Arlott + * + * 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 "quantum.h" + +#ifdef KEYBOARD_durgod_k3x0_k310 +# include "k310.h" +#elif KEYBOARD_durgod_k3x0_k320 +# include "k320.h" +#endif + +#ifndef WINLOCK_DISABLED +// Define the TGUI key here so it is available in QMK configurator +enum K3x0_keycodes { +#ifdef VIA_ENABLE + KC_TGUI = USER00, // Toggle between GUI Lock or Unlock + NEW_SAFE_RANGE = SAFE_RANGE +#else + KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock + NEW_SAFE_RANGE +#endif +}; + +#undef SAFE_RANGE +#define SAFE_RANGE NEW_SAFE_RANGE +#endif /* WINLOCK_DISABLED */ + +/* Function Prototype */ +void off_all_leds(void); +void on_all_leds(void); + diff --git a/keyboards/durgod/k3x0/keymaps/chimera/keymap.c b/keyboards/durgod/k3x0/keymaps/chimera/keymap.c new file mode 100644 index 000000000000..8053da351a50 --- /dev/null +++ b/keyboards/durgod/k3x0/keymaps/chimera/keymap.c @@ -0,0 +1,373 @@ +/* Copyright 2021 Don Kjer and Tyler Tidman + * + * 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 + +// Layer shorthand +enum _layer { + _WBL, + _WFL, + _WSL, + _MBL, + _MFL, + _MSL +}; + +#ifndef DEFAULT_LAYOUT +# define DEFAULT_LAYOUT _WBL // Change to _MBL to boot into Mac layout. +#endif +#ifndef ALT_LAYOUT +# define ALT_LAYOUT _MBL // Layout to display 'MR' led when active. +#endif + +static bool win_key_locked = false; +static bool mac_media_locked = false; +static bool win_appkey_pressed = false; +static bool mac_fnkey_pressed = false; + + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock (Windows) + KC_TMED, // Toggle between Fx keys or Media keys (Mac) + KC_WFN, // Windows function key + KC_MFN, // Mac function key + MO_WSL, // Windows system key + MO_MSL, // Mac system key + DF_W2MBL, // Change layout from Windows to Mac + DF_M2WBL // Change layout from Mac to Windows +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _WBL: Windows Base Layer (Default Layer) + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_WBL] = LAYOUT_all( /* Windows Base Layer */ + 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_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + /* Keymap _WFL: Windows Function Layer + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ │ │Ply│Stp│Prv│Nxt│ │Mut│Vo+│Vo-│ │ │ │ │ │ │ │ │ │Mut│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │Lock│ │ │ │Func│ Sys│ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_WFL] = LAYOUT_all( /* Windows Function Layer */ + _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______, _______, _______ + ), + /* Keymap _WSL: Windows System Layer + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Rst│ │Slp│ │ │Pwr│ │ │ │ │ │ │ │ │ │MAC│ │ │ │ │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_WSL] = LAYOUT_all( /* Windows Second / System Layer */ + RESET, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + + /* Keymap _MBL: Mac Base Layer (Alternate Layout) + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │F13│F14│F15│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│Alt │GUI │ │ GUI│ Alt│Func│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_MBL] = LAYOUT_all( /* Mac Base Layer */ + 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_F14, KC_F15, + 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + /* Keymap _MFL: Mac Function Layer + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ │ │Br-│Br+│ │ │ │ │ │Prv│Ply│ │Nxt│Mut│Vo-│Vo+│ │TMd│ │Mut│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_MFL] = LAYOUT_all( /* Mac Function Layer */ + _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TMED, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______, _______, _______ + ), + /* Keymap _MSL: Mac System Layer + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Rst│ │ │ │ │Slp│ │ │ │ │ │ │ │ │ │WIN│ │ │ │ │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_MSL] = LAYOUT_all( /* Mac Second / System Layer */ + RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +void unlock_win_key(void) { + win_key_locked = false; + mac_media_locked = false; + writePinHigh(LED_WIN_LOCK_PIN); +} + +void toggle_lock_win_key(void) { + win_key_locked = !win_key_locked; + writePin(LED_WIN_LOCK_PIN, !win_key_locked); +} + +void toggle_lock_media_key(void) { + mac_media_locked = !mac_media_locked; + writePin(LED_WIN_LOCK_PIN, !mac_media_locked); +} + +#ifdef CONSOLE_ENABLE +void dprint_global_layers(void) { + dprint("Global Layers:"); + if (IS_LAYER_ON(_WFL)) { dprint(" _WFL"); } + if (IS_LAYER_ON(_WSL)) { dprint(" _WSL"); } + if (IS_LAYER_ON(_MFL)) { dprint(" _MFL"); } + if (IS_LAYER_ON(_MSL)) { dprint(" _MSL"); } + dprintf("\n"); +} + +void dprint_layers(layer_state_t state) { + dprint("Layers:"); + if (IS_LAYER_ON_STATE(state, _WFL)) { dprint(" _WFL"); } + if (IS_LAYER_ON_STATE(state, _WSL)) { dprint(" _WSL"); } + if (IS_LAYER_ON_STATE(state, _MFL)) { dprint(" _MFL"); } + if (IS_LAYER_ON_STATE(state, _MSL)) { dprint(" _MSL"); } + dprintf("\n"); +} +#endif + +layer_state_t default_layer_state_set_user(layer_state_t state) { +#ifdef CONSOLE_ENABLE + dprintf("default_layer_state_set_user: 0x%x\n", state); + dprint_global_layers(); +#endif + // Disable windows key lock on default layer transition. + unlock_win_key(); + win_appkey_pressed = false; + mac_fnkey_pressed = false; + writePin(LED_MR_LOCK_PIN, !IS_LAYER_ON_STATE(state, ALT_LAYOUT)); + return state; +} + +layer_state_t layer_state_set_user(layer_state_t state) { +#ifdef CONSOLE_ENABLE + dprintf("layer_state_set_user: 0x%x\n", state); + dprint_layers(state); +#endif + return state; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_TGUI: + if (!record->event.pressed) { + // Toggle GUI lock on key release + toggle_lock_win_key(); + } + break; + case KC_TMED: + // Only trigger when Fn key is also held down, to avoid accidental unlock. + if (!mac_fnkey_pressed) { return false; } + if (!record->event.pressed) { + // Toggle Media Lock on key release + toggle_lock_media_key(); + } + break; + case KC_LGUI: + if (win_key_locked) { return false; } + break; + case KC_WFN: + // Like MO(_WFL), but also enables _WSL if KC_APP is already pressed down. + if (record->event.pressed) { + layer_on(_WFL); + if (win_appkey_pressed) { + // Also enable Secondary layer if App key is being held down. + win_appkey_pressed = false; + layer_on(_WSL); + } + } else { + if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } + if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } + } + break; + case KC_APP: + if (record->event.pressed) { + // Don't actually press down the app menu key + win_appkey_pressed = true; + } else { + if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } + if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } + if (win_appkey_pressed) { + win_appkey_pressed = false; + // Tap the KC_APP key on key release. + tap_code(KC_APP); + } + } + return false; + break; + case KC_MFN: + // Mac Fn key. Emit Fn keycode, and also transition layers similar to KC_WFN. + if (record->event.pressed) { + mac_fnkey_pressed = true; + layer_on(_MFL); + // Also enable Secondary layer if Right-Alt key is being held down. + if (get_mods() & MOD_BIT(KC_RALT)) { + layer_on(_MSL); + } + } else { + mac_fnkey_pressed = false; + if (!mac_media_locked) { + if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } + if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } + } + } + break; + case KC_RALT: + // Disable MSL/WFL layer on key-up. + if (!record->event.pressed) { + if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } + if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } + } + break; + case MO_WSL: + if (record->event.pressed) { + layer_on(_WSL); + } else { + if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } + if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } + } + break; + case MO_MSL: + if (record->event.pressed) { + layer_on(_MSL); + } else { + if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } + if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } + } + break; + case DF_W2MBL: + if (!record->event.pressed) { + // Switch base layer, but preserve first/secondary layers. + default_layer_set(1UL<<_MBL); + layer_state_set(1UL<<_MFL | 1UL<<_MSL); + } + break; + case DF_M2WBL: + if (!record->event.pressed) { + // Switch base layer, but preserve first/secondary layers. + default_layer_set(1UL<<_WBL); + layer_state_set(1UL<<_WFL | 1UL<<_WSL); + } + break; + case RESET: + if (record->event.pressed) { + // Flash LEDs to indicate bootloader mode is enabled. + on_all_leds(); + } + break; + } + return true; +} + +void keyboard_post_init_user(void) { + default_layer_set(1UL<. + */ + +#include QMK_KEYBOARD_H + +// Layer shorthand +enum _layer { + _WBL, + _WFL, + _WSL, + _MBL, + _MFL, + _MSL +}; + +#ifndef DEFAULT_LAYOUT +# define DEFAULT_LAYOUT _WBL // Change to _MBL to boot into Mac layout. +#endif +#ifndef ALT_LAYOUT +# define ALT_LAYOUT _MBL // Layout to display 'MR' led when active. +#endif + +static bool win_key_locked = false; +static bool mac_media_locked = false; +static bool win_appkey_pressed = false; +static bool mac_fnkey_pressed = false; + + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock (Windows) + KC_TMED, // Toggle between Fx keys or Media keys (Mac) + KC_WFN, // Windows function key + KC_MFN, // Mac function key + MO_WSL, // Windows system key + MO_MSL, // Mac system key + DF_W2MBL, // Change layout from Windows to Mac + DF_M2WBL // Change layout from Mac to Windows +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _WBL: Windows Base Layer (Default Layer) + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │PSc│Slk│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_WBL] = LAYOUT_all( /* Windows Base Layer */ + KC_ESC, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_PSCR, KC_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + /* Keymap _WFL: Windows Function Layer + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ │ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │ │ │Mut│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │Lock│ │ │ │Func│ Sys│ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_WFL] = LAYOUT_all( /* Windows Function Layer */ + _______, 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_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______, _______, _______ + ), + /* Keymap _WSL: Windows System Layer + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Rst│ │Slp│ │ │Pwr│ │ │ │ │ │ │ │ │ │MAC│ │ │ │ │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_WSL] = LAYOUT_all( /* Windows Second / System Layer */ + RESET, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + + /* Keymap _MBL: Mac Base Layer (Alternate Layout) + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │F13│F14│F15│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│Alt │GUI │ │ GUI│ Alt│Func│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_MBL] = LAYOUT_all( /* Mac Base Layer */ + KC_ESC, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_F13, KC_F14, KC_F15, + 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + /* Keymap _MFL: Mac Function Layer + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ │ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │TMd│ │Mut│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_MFL] = LAYOUT_all( /* Mac Function Layer */ + _______, 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_TMED, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______, _______, _______ + ), + /* Keymap _MSL: Mac System Layer + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Rst│ │ │ │ │Slp│ │ │ │ │ │ │ │ │ │WIN│ │ │ │ │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_MSL] = LAYOUT_all( /* Mac Second / System Layer */ + RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +void unlock_win_key(void) { + win_key_locked = false; + mac_media_locked = false; + writePinHigh(LED_WIN_LOCK_PIN); +} + +void toggle_lock_win_key(void) { + win_key_locked = !win_key_locked; + writePin(LED_WIN_LOCK_PIN, !win_key_locked); +} + +void toggle_lock_media_key(void) { + mac_media_locked = !mac_media_locked; + writePin(LED_WIN_LOCK_PIN, !mac_media_locked); +} + +#ifdef CONSOLE_ENABLE +void dprint_global_layers(void) { + dprint("Global Layers:"); + if (IS_LAYER_ON(_WFL)) { dprint(" _WFL"); } + if (IS_LAYER_ON(_WSL)) { dprint(" _WSL"); } + if (IS_LAYER_ON(_MFL)) { dprint(" _MFL"); } + if (IS_LAYER_ON(_MSL)) { dprint(" _MSL"); } + dprintf("\n"); +} + +void dprint_layers(layer_state_t state) { + dprint("Layers:"); + if (IS_LAYER_ON_STATE(state, _WFL)) { dprint(" _WFL"); } + if (IS_LAYER_ON_STATE(state, _WSL)) { dprint(" _WSL"); } + if (IS_LAYER_ON_STATE(state, _MFL)) { dprint(" _MFL"); } + if (IS_LAYER_ON_STATE(state, _MSL)) { dprint(" _MSL"); } + dprintf("\n"); +} +#endif + +layer_state_t default_layer_state_set_user(layer_state_t state) { +#ifdef CONSOLE_ENABLE + dprintf("default_layer_state_set_user: 0x%x\n", state); + dprint_global_layers(); +#endif + // Disable windows key lock on default layer transition. + unlock_win_key(); + win_appkey_pressed = false; + mac_fnkey_pressed = false; + writePin(LED_MR_LOCK_PIN, !IS_LAYER_ON_STATE(state, ALT_LAYOUT)); + return state; +} + +layer_state_t layer_state_set_user(layer_state_t state) { +#ifdef CONSOLE_ENABLE + dprintf("layer_state_set_user: 0x%x\n", state); + dprint_layers(state); +#endif + return state; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_TGUI: + if (!record->event.pressed) { + // Toggle GUI lock on key release + toggle_lock_win_key(); + } + break; + case KC_TMED: + // Only trigger when Fn key is also held down, to avoid accidental unlock. + if (!mac_fnkey_pressed) { return false; } + if (!record->event.pressed) { + // Toggle Media Lock on key release + toggle_lock_media_key(); + } + break; + case KC_LGUI: + if (win_key_locked) { return false; } + break; + case KC_WFN: + // Like MO(_WFL), but also enables _WSL if KC_APP is already pressed down. + if (record->event.pressed) { + layer_on(_WFL); + if (win_appkey_pressed) { + // Also enable Secondary layer if App key is being held down. + win_appkey_pressed = false; + layer_on(_WSL); + } + } else { + if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } + if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } + } + break; + case KC_APP: + if (record->event.pressed) { + // Don't actually press down the app menu key + win_appkey_pressed = true; + } else { + if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } + if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } + if (win_appkey_pressed) { + win_appkey_pressed = false; + // Tap the KC_APP key on key release. + tap_code(KC_APP); + } + } + return false; + break; + case KC_MFN: + // Mac Fn key. Emit Fn keycode, and also transition layers similar to KC_WFN. + if (record->event.pressed) { + mac_fnkey_pressed = true; + layer_on(_MFL); + // Also enable Secondary layer if Right-Alt key is being held down. + if (get_mods() & MOD_BIT(KC_RALT)) { + layer_on(_MSL); + } + } else { + mac_fnkey_pressed = false; + if (!mac_media_locked) { + if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } + if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } + } + } + break; + case KC_RALT: + // Disable MSL/WFL layer on key-up. + if (!record->event.pressed) { + if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } + if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } + } + break; + case MO_WSL: + if (record->event.pressed) { + layer_on(_WSL); + } else { + if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); } + if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); } + } + break; + case MO_MSL: + if (record->event.pressed) { + layer_on(_MSL); + } else { + if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); } + if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); } + } + break; + case DF_W2MBL: + if (!record->event.pressed) { + // Switch base layer, but preserve first/secondary layers. + default_layer_set(1UL<<_MBL); + layer_state_set(1UL<<_MFL | 1UL<<_MSL); + } + break; + case DF_M2WBL: + if (!record->event.pressed) { + // Switch base layer, but preserve first/secondary layers. + default_layer_set(1UL<<_WBL); + layer_state_set(1UL<<_WFL | 1UL<<_WSL); + } + break; + case RESET: + if (record->event.pressed) { + // Flash LEDs to indicate bootloader mode is enabled. + on_all_leds(); + } + break; + } + return true; +} + +void keyboard_post_init_user(void) { + default_layer_set(1UL<. + */ + +#include QMK_KEYBOARD_H + +// Layer shorthand +enum _layer { + _BASE, + _FN, + _LAYER3, + _LAYER4 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BASE: Base Layer (Default Layer) + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_BASE] = LAYOUT_all( /* Base Layer */ + 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_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + /* Keymap _FN: Function Layer + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ │ │Ply│Stp│Prv│Nxt│ │Mut│Vo+│Vo-│ │ │ │ │ │ │ │ │ │ │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │Lock│ │ │ │Func│ Sys│ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + */ + [_FN] = LAYOUT_all( /* Function Layer */ + _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_TGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_LAYER3] = LAYOUT_all( /* Layer 3 */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_LAYER4] = LAYOUT_all( /* Layer 4 */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/durgod/k3x0/keymaps/via/readme.md b/keyboards/durgod/k3x0/keymaps/via/readme.md new file mode 100644 index 000000000000..ffa1c4ce0a2f --- /dev/null +++ b/keyboards/durgod/k3x0/keymaps/via/readme.md @@ -0,0 +1,6 @@ +# The via keymap for Durgod Taurus K310/K320. + +Layer 0 : Standard layout + +Layer 1 : Media control +- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7 diff --git a/keyboards/durgod/k3x0/keymaps/via/rules.mk b/keyboards/durgod/k3x0/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/durgod/k3x0/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/durgod/k3x0/readme.md b/keyboards/durgod/k3x0/readme.md new file mode 100644 index 000000000000..cbb170160c18 --- /dev/null +++ b/keyboards/durgod/k3x0/readme.md @@ -0,0 +1,51 @@ +# K3X0 = K310, K320, etc. + +This K3X0 code is shared between both the ANSI and ISO variants of both the +K310 full-sized 104/105-key and K320 TKL 87/88-key keyboards. + +* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert) +* Hardware Supported: Durgod Taurus K310 or K320 board with STM32F070RBT6 +* Hardware Availability: K310 https://www.durgod.com/page9?product_id=53&_l=en + and K320 https://www.durgod.com/page9?product_id=47&_l=en + +## Instructions + +### Build + +Instructions for building the K310 and K320 firmware can be found here: +* [K310](k310/readme.md) +* [K320](k320/readme.md) + +### Initial Flash + +For first Flashing from initial Stock Firmware + +1. Back up original Firmware Image: +- Unplug +- Short Boot0 to Vdd (See below) +- Plug In USB +- Make a Flash Image's Backup in case you wanted to restore the Keyboard to Stock's Image: + - Using dfu-util: + + dfu-util --list + dfu-util --alt 0 --dfuse-address 0x08000000 --upload ${OLD_STOCK_BIN} + +2. Flash the QMK Firmware Image. +- Put board into Bootloader mode, using the same method as when backing up the original Firmware (above) +- Here are a few options for performing the initial Flash: + - Using [QMK Toolbox](https://github.com/qmk/qmk_toolbox) + - Using dfu-util: + + dfu-util --alt 0 --dfuse-address 0x08000000 --download ${NEW_QMK_BIN} + +You can short Boot0 to Vdd by shorting R21 to C27 on the sides closest to the processor, as shown: + +Shorting Boot0 to Vdd on K320 + +### Subsequent Flashing + +For repeating Flashing you can use BootMagic: +- BootMagic Lite has been enabled with Assigned "Esc" key +- Unplug USB Cable +- Holding Esc Button +- Plug in USB Cable, Keyboard should be in ST-Bootloader state diff --git a/keyboards/durgod/k3x0/rules.mk b/keyboards/durgod/k3x0/rules.mk new file mode 100644 index 000000000000..558faef534c1 --- /dev/null +++ b/keyboards/durgod/k3x0/rules.mk @@ -0,0 +1,28 @@ +# Default to K310 variant, since it will also work on a K320 +DEFAULT_FOLDER=durgod/k3x0/k310 + +# MCU name +# Actually F070, but close enough +MCU = STM32F072 +BOARD = DURGOD_STM32_F070 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes diff --git a/keyboards/durgod/venus/readme.md b/keyboards/durgod/venus/readme.md new file mode 100644 index 000000000000..c2228583a90f --- /dev/null +++ b/keyboards/durgod/venus/readme.md @@ -0,0 +1,3 @@ +# Venus + +See: [Venus](../dgk6x/venus/readme.md) diff --git a/keyboards/durgod/venus/rules.mk b/keyboards/durgod/venus/rules.mk new file mode 100644 index 000000000000..57acf2a48cfe --- /dev/null +++ b/keyboards/durgod/venus/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER=durgod/dgk6x/venus diff --git a/keyboards/dz60/dz60.h b/keyboards/dz60/dz60.h index 8ed4a272795d..cccc9b62f328 100644 --- a/keyboards/dz60/dz60.h +++ b/keyboards/dz60/dz60.h @@ -708,3 +708,30 @@ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ { k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d, k4e } \ } + +/* LAYOUT_64_ansi + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │ + * ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │3e │ + * ├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ + * │40 │41 │43 │46 │4a │4b │4c │4d │4e │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ +*/ +#define LAYOUT_64_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ + k40, k41, k43, k46, k4a, k4b, k4c, k4d, k4e \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO, k0e }, \ + { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \ + { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ + { k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d, k4e } \ +} diff --git a/keyboards/dz60/info.json b/keyboards/dz60/info.json index dd86fc3fe1f2..5990bbec11c5 100644 --- a/keyboards/dz60/info.json +++ b/keyboards/dz60/info.json @@ -1873,6 +1873,74 @@ {"x": 13, "y": 4}, {"x": 14, "y": 4} ] + }, + "LAYOUT_64_ansi": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":0, "y":3, "w":2}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":6, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3}, + {"x":13, "y":3}, + {"x":14, "y":3}, + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4} + ] } } } diff --git a/keyboards/dz60/keymaps/LEdiodes/rules.mk b/keyboards/dz60/keymaps/LEdiodes/rules.mk index 38b067eb0f79..2dbd6bd5d467 100644 --- a/keyboards/dz60/keymaps/LEdiodes/rules.mk +++ b/keyboards/dz60/keymaps/LEdiodes/rules.mk @@ -1,7 +1,7 @@ # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/dz60/keymaps/billypython/rules.mk b/keyboards/dz60/keymaps/billypython/rules.mk index 3326136043fd..3b7016f57007 100644 --- a/keyboards/dz60/keymaps/billypython/rules.mk +++ b/keyboards/dz60/keymaps/billypython/rules.mk @@ -1,5 +1,5 @@ BACKLIGHT_ENABLE = no -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite COMMAND_ENABLE = yes CONSOLE_ENABLE = yes EXTRAKEY_ENABLE = yes diff --git a/keyboards/dz60/keymaps/coppertop/rules.mk b/keyboards/dz60/keymaps/coppertop/rules.mk index 27905483738a..7b4abdbc1bae 100644 --- a/keyboards/dz60/keymaps/coppertop/rules.mk +++ b/keyboards/dz60/keymaps/coppertop/rules.mk @@ -1 +1 @@ -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite diff --git a/keyboards/dz60/keymaps/default_abnt2/keymap.c b/keyboards/dz60/keymaps/default_abnt2/keymap.c index d6273780f149..3ed1484bd72c 100644 --- a/keyboards/dz60/keymaps/default_abnt2/keymap.c +++ b/keyboards/dz60/keymaps/default_abnt2/keymap.c @@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BL] = LAYOUT_60_abnt2( KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_ACUT, BR_LBRC, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCDL, BR_TILD, BR_RBRC, KC_ENT, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCED, BR_TILD, BR_RBRC, KC_ENT, KC_LSFT, BR_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, BR_SCLN, BR_SLSH, KC_RSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL), diff --git a/keyboards/dz60/keymaps/gk64/keymap.c b/keyboards/dz60/keymaps/gk64/keymap.c new file mode 100644 index 000000000000..9de1ec11c580 --- /dev/null +++ b/keyboards/dz60/keymaps/gk64/keymap.c @@ -0,0 +1,18 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + LAYOUT_64_ansi( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT), + + LAYOUT_64_ansi( + 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, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_DEL, KC_END, KC_PGDN, 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/dz60/keymaps/hailbreno/rules.mk b/keyboards/dz60/keymaps/hailbreno/rules.mk index ad188f7dd5c8..975bfbbbcb2b 100644 --- a/keyboards/dz60/keymaps/hailbreno/rules.mk +++ b/keyboards/dz60/keymaps/hailbreno/rules.mk @@ -1,2 +1,2 @@ -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) \ No newline at end of file diff --git a/keyboards/dz60/keymaps/iso_de_andys8/rules.mk b/keyboards/dz60/keymaps/iso_de_andys8/rules.mk index b5f45d7aa89c..0aa5b7946054 100644 --- a/keyboards/dz60/keymaps/iso_de_andys8/rules.mk +++ b/keyboards/dz60/keymaps/iso_de_andys8/rules.mk @@ -1,7 +1,7 @@ # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/dz60/keymaps/iso_de_root/rules.mk b/keyboards/dz60/keymaps/iso_de_root/rules.mk index 0dcfa1b71d6e..2f8792070ff6 100644 --- a/keyboards/dz60/keymaps/iso_de_root/rules.mk +++ b/keyboards/dz60/keymaps/iso_de_root/rules.mk @@ -1,7 +1,7 @@ # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/dz60/keymaps/iso_vim_arrow/rules.mk b/keyboards/dz60/keymaps/iso_vim_arrow/rules.mk index b5f45d7aa89c..0aa5b7946054 100644 --- a/keyboards/dz60/keymaps/iso_vim_arrow/rules.mk +++ b/keyboards/dz60/keymaps/iso_vim_arrow/rules.mk @@ -1,7 +1,7 @@ # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/dz60/keymaps/iso_vim_arrow_split_rs/rules.mk b/keyboards/dz60/keymaps/iso_vim_arrow_split_rs/rules.mk index 3bfdaadaf7f5..4b8068fe7891 100644 --- a/keyboards/dz60/keymaps/iso_vim_arrow_split_rs/rules.mk +++ b/keyboards/dz60/keymaps/iso_vim_arrow_split_rs/rules.mk @@ -1,7 +1,7 @@ # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no diff --git a/keyboards/dz60/keymaps/jdelkins/config.h b/keyboards/dz60/keymaps/jdelkins/config.h new file mode 100644 index 000000000000..9d50abd3ecb1 --- /dev/null +++ b/keyboards/dz60/keymaps/jdelkins/config.h @@ -0,0 +1,54 @@ +/* + Copyright 2020 Joel Elkins + + 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 + +/* My hhkb variant + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │ + * ├────┬───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┤ + * │40 │41 │43 │44 │46 │48 │4a │4b │4c │4d │4e │ + * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┘ + */ + +#define LAYOUT_hhkb_split( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \ + k40, k41, k43, k44, k46, k48, k4a, k4b, k4c, k4d, k4e \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \ + { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \ + { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d, k4e } \ +} + +#define AUTO_SHIFT_TIMEOUT 160 +#define AUTO_SHIFT_REPEAT +#define RGBLIGHT_LAYERS +#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF +#define LEADER_TIMEOUT 400 +#define LEADER_PER_KEY_TIMING +#define USB_MAX_POWER_CONSUMPTION 100 diff --git a/keyboards/dz60/keymaps/jdelkins/keymap.c b/keyboards/dz60/keymaps/jdelkins/keymap.c new file mode 100644 index 000000000000..cf9dd584f638 --- /dev/null +++ b/keyboards/dz60/keymaps/jdelkins/keymap.c @@ -0,0 +1,356 @@ +/* + Copyright 2020 Joel Elkins + + 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 "jdelkins.h" + +#undef LAYOUT +#define LAYOUT LAYOUT_hhkb_split + +#define IDLE_TIMEOUT 360 + +uint16_t rgb_idle_seconds = 0; +uint16_t rgb_timer; +uint16_t bspc_timer; +bool rgb_was_enabled; + +enum { + MY_BSPC = USER_SAFE_RANGE, +}; + +// Tap Dance + +int ctl_state = 0; + +void ctl_finished(qk_tap_dance_state_t *state, void *user_data) { + ctl_state = cur_dance(state); + switch (ctl_state) { + case SINGLE_TAP: qk_leader_start(); break; + case SINGLE_HOLD: register_code(KC_LCTL); break; + case DOUBLE_TAP: tap_code(KC_RCTL); break; + case DOUBLE_HOLD: register_code(KC_RCTL); break; + case TRIPLE_TAP: tap_code(KC_RCTL); tap_code(KC_RCTL); break; + case TRIPLE_HOLD: tap_code(KC_RCTL); register_code(KC_RCTL); break; + } +} + +void ctl_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (ctl_state) { + case SINGLE_HOLD: unregister_code(KC_LCTL); break; + case DOUBLE_HOLD: + case TRIPLE_HOLD: unregister_code(KC_RCTL); break; + } + ctl_state = 0; +} + +void g_finished(qk_tap_dance_state_t *state, void *user_data) { + switch (cur_dance(state)) { + case SINGLE_TAP: + tap_code16(C(KC_END)); + break; + case DOUBLE_TAP: + tap_code16(C(KC_HOME)); + break; + } +} + +int kp_state = 0; + +void kp_finished(qk_tap_dance_state_t *state, void *user_data) { + kp_state = hold_cur_dance(state); + switch (kp_state) { + case SINGLE_TAP: + tap_code(KC_SPC); + break; + default: + layer_invert(_KP); + break; + } +} + +void kp_reset(qk_tap_dance_state_t *state, void *user_data) { + switch (kp_state) { + case SINGLE_HOLD: + case DOUBLE_HOLD: + case TRIPLE_HOLD: + layer_invert(_KP); + break; + } +} + +enum { + TD_LDCTL, + TD_G, + TD_KP, +}; + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_LDCTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctl_finished, ctl_reset), + [TD_G] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, g_finished, NULL), + [TD_KP] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, kp_finished, kp_reset), +}; + +// Layers + +const uint16_t PROGMEM keymaps[_LAYER_MAX][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + 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_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_BSLS, + MY_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(_ADJUST), + TD(TD_LDCTL), MY_GUI, MY_ALT, MY_BSPC, TD(TD_KP), MY_SPC, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT + ), + [_RPT] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_GAME] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_LALT, KC_SPC, KC_LALT, _______, _______, _______, _______, _______, _______ + ), + [_FUNC] = LAYOUT( + 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, KC_F13, + _______, _______, FW_WRD, KB_EOL, TG(_RPT), _______, KB_COPY, KC_PGUP, _______, _______, KB_PASTE, KC_SLCK, _______, MY_CALC, + KC_RCTL, KB_BOL, _______, KC_PGDN, _______, TD(TD_G), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, + _______, _______, KC_DEL, _______, _______, BK_WRD, _______, _______, _______, _______, _______, _______, KC_NO, + KC_RCTL, MY_RGUI, MY_RALT, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END + ), + [_KP] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_ASTERISK, _______, _______, _______, _______, _______, _______, + KC_NUMLOCK, _______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, _______, _______, _______, + _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_SLASH, _______, TG(_KP), + _______, _______, _______, _______, _______, KC_KP_0, KC_KP_DOT, _______, _______, _______, _______ + ), + [_ADJUST] = LAYOUT( + 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_SLCK, KC_F13, + _______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_BRID, KC_BRIU, KC_MUTE, + KC_RCTL, RGB_RMOD, RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, TG(_KP), _______, _______, _______, KC_MPLY, + _______, RGB_TOG, KB_MAKE, KB_FLSH, KB_VRSN, KB_BOOT, _______, TG_SYS, _______, _______, _______, _______, _______, + KC_RCTL, MY_RGUI, MY_RALT, KC_DEL, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT + ), +}; + +const rgblight_segment_t PROGMEM rpt_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {8, 8, HSV_PINK} +); + +const rgblight_segment_t PROGMEM game_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 1, HSV_RED}, + {7, 2, HSV_RED}, + {15, 1, HSV_RED} +); + +const rgblight_segment_t PROGMEM func_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 16, HSV_GREEN} +); + +const rgblight_segment_t PROGMEM kp_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 16, HSV_ORANGE} +); + +const rgblight_segment_t PROGMEM adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 16, HSV_BLUE} +); + +const rgblight_segment_t PROGMEM capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {10, 4, HSV_WHITE} +); + +const rgblight_segment_t PROGMEM numlock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0, 2, HSV_PURPLE}, + {14, 2, HSV_PURPLE} +); + + +enum rgb_layer_index { + L_RPT, + L_GAME, + L_FUNC, + L_KP, + L_ADJUST, + L_CAPSLOCK, + L_NUMLOCK, +}; + +const rgblight_segment_t * const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + [L_RPT] = rpt_layer, + [L_GAME] = game_layer, + [L_FUNC] = func_layer, + [L_KP] = kp_layer, + [L_ADJUST] = adjust_layer, + [L_CAPSLOCK] = capslock_layer, + [L_NUMLOCK] = numlock_layer +); + +layer_state_t layer_state_set_keymap(layer_state_t state) { + rgblight_set_layer_state(L_RPT, layer_state_cmp(state, _RPT)); + rgblight_set_layer_state(L_GAME, layer_state_cmp(state, _GAME)); + rgblight_set_layer_state(L_FUNC, layer_state_cmp(state, _FUNC)); + rgblight_set_layer_state(L_KP, layer_state_cmp(state, _KP)); + rgblight_set_layer_state(L_ADJUST, layer_state_cmp(state, _ADJUST)); + rgblight_set_layer_state(L_CAPSLOCK, CAPSLOCK_ON); + rgblight_set_layer_state(L_NUMLOCK, NUMLOCK_ON && layer_state_cmp(state, _KP)); + if (layer_state_cmp(state, _GAME) || layer_state_cmp(state, _RPT)) + autoshift_disable(); + else + autoshift_enable(); + return state; +} + +bool led_update_user(led_t led_state) { + rgblight_set_layer_state(L_CAPSLOCK, led_state.caps_lock); + rgblight_set_layer_state(L_NUMLOCK, led_state.num_lock && layer_state_is(_KP)); + return true; +} + +void keyboard_post_init_keymap(void) { + rgblight_layers = my_rgb_layers; + rgb_was_enabled = rgblight_is_enabled(); + bspc_timer = 0; +} + +LEADER_EXTERNS(); + +void matrix_scan_keymap(void) { + if (rgblight_is_enabled() && timer_elapsed(rgb_timer) > 1000) { + rgb_idle_seconds++; + rgb_timer = timer_read(); + } + if (rgb_idle_seconds > IDLE_TIMEOUT) { + rgb_was_enabled = rgblight_is_enabled(); + rgblight_disable_noeeprom(); + rgb_idle_seconds = 0; + } + // if MY_BSPC is held down too long, pretend like it wasn't and start + // pressing backspace + if (bspc_timer > 0 && timer_elapsed(bspc_timer) > LEADER_TIMEOUT) { + layer_off(_FUNC); + bspc_timer = 0; + register_code(KC_BSPC); + } + LEADER_DICTIONARY() { + leading = false; + leader_end(); + + // layer navigation + SEQ_ONE_KEY(KC_R) { layer_invert(_RPT); } + SEQ_ONE_KEY(KC_G) { layer_invert(_GAME); } + SEQ_ONE_KEY(KC_K) { layer_invert(_KP); } + SEQ_ONE_KEY(KC_KP_5) { layer_invert(_KP); } + + // tmux navigation + SEQ_ONE_KEY(KC_L) { SEND_STRING(SS_LCTL("a") "n"); } + SEQ_ONE_KEY(KC_H) { SEND_STRING(SS_LCTL("a") "p"); } + SEQ_ONE_KEY(KC_N) { SEND_STRING(SS_LCTL("a") "c"); } + SEQ_ONE_KEY(KC_W) { SEND_STRING(SS_LCTL("a") "x"); } + SEQ_ONE_KEY(KC_MINS) { SEND_STRING(SS_LCTL("a") "-"); } + SEQ_ONE_KEY(KC_QUOT) { SEND_STRING(SS_LCTL("a") "\""); } + SEQ_ONE_KEY(KC_1) { SEND_STRING(SS_LCTL("a") "1"); } + SEQ_ONE_KEY(KC_2) { SEND_STRING(SS_LCTL("a") "2"); } + SEQ_ONE_KEY(KC_3) { SEND_STRING(SS_LCTL("a") "3"); } + SEQ_ONE_KEY(KC_4) { SEND_STRING(SS_LCTL("a") "4"); } + SEQ_ONE_KEY(KC_5) { SEND_STRING(SS_LCTL("a") "5"); } + SEQ_ONE_KEY(KC_6) { SEND_STRING(SS_LCTL("a") "6"); } + SEQ_ONE_KEY(KC_7) { SEND_STRING(SS_LCTL("a") "7"); } + SEQ_ONE_KEY(KC_8) { SEND_STRING(SS_LCTL("a") "8"); } + SEQ_ONE_KEY(KC_9) { SEND_STRING(SS_LCTL("a") "9"); } + + // secrets + SEQ_TWO_KEYS(KC_SCLN, KC_M) { send_secret_string(0); } + SEQ_TWO_KEYS(KC_SCLN, KC_COMM) { send_secret_string(1); } + SEQ_TWO_KEYS(KC_SCLN, KC_DOT) { send_secret_string(2); } + SEQ_TWO_KEYS(KC_SCLN, KC_J) { send_secret_string(3); } + SEQ_TWO_KEYS(KC_SCLN, KC_K) { send_secret_string(4); } + SEQ_TWO_KEYS(KC_SCLN, KC_L) { send_secret_string(5); } + + // fast control-C + SEQ_ONE_KEY(KC_C) { tap_code16(C(KC_C)); } + + // neovim: terminal escape + SEQ_ONE_KEY(KC_BSLS) { + tap_code16(C(KC_BSLS)); + tap_code16(C(KC_N)); + } + } +} + +bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { + static bool bspc_del = false; + static bool bspc_initiated_func = false; + bool rc = true; + + rgb_idle_seconds = 0; + if (!rgblight_is_enabled() && rgb_was_enabled) + rgblight_enable_noeeprom(); + + switch (keycode) { + case MY_BSPC: + if (record->event.pressed) { + if (IS_LAYER_ON(_FUNC)) { + // special case: if _FUNC was turned on by another key, + // treat this as KC_DEL and don't do anything else + bspc_del = true; + register_code(KC_DEL); + return false; + } else { + bspc_timer = timer_read(); + bspc_initiated_func = true; + layer_on(_FUNC); + } + } else { + if (bspc_del) { + // special case: if _FUNC was turned on by another key, + // treat this as KC_DEL and don't do anything else + unregister_code(KC_DEL); + bspc_del = false; + return false; + } + + if (bspc_initiated_func) { + layer_off(_FUNC); + bspc_initiated_func = false; + } + + if (bspc_timer > 0) { + // here the key was pressed and released before the timer + // expired, so treat as a backspace tap and pretend we + // never activated _FUNC + bspc_timer = 0; + tap_code(KC_BSPC); + } else { + // the timer went off, so KC_BSPC was registered in + // matrix_scan_keymap. unregister it now + unregister_code(KC_BSPC); + } + } + return false; // special case, return now without resetting timer + // other paths should set rc and break + break; + } + + // if something was pressed while MY_BSPC was held down, keep it pressed by + // disabling the timer + bspc_timer = 0; + return rc; +} + diff --git a/keyboards/dz60/keymaps/jdelkins/rules.mk b/keyboards/dz60/keymaps/jdelkins/rules.mk new file mode 100644 index 000000000000..2eacc54ea108 --- /dev/null +++ b/keyboards/dz60/keymaps/jdelkins/rules.mk @@ -0,0 +1,7 @@ +LEADER_ENABLE = yes +MOUSEKEY_ENABLE = no +CONSOLE_ENABLE = no +NKRO_ENABLE = no +TAP_DANCE_ENABLE = yes +AUTO_SHIFT_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/dz60/keymaps/kifinnsson/rules.mk b/keyboards/dz60/keymaps/kifinnsson/rules.mk index 5fb201c88a2a..1874258612c4 100644 --- a/keyboards/dz60/keymaps/kifinnsson/rules.mk +++ b/keyboards/dz60/keymaps/kifinnsson/rules.mk @@ -1,6 +1,6 @@ # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) \ No newline at end of file diff --git a/keyboards/dz60/keymaps/konstantin_b/rules.mk b/keyboards/dz60/keymaps/konstantin_b/rules.mk index a6e88d49b578..6006b7263cbe 100644 --- a/keyboards/dz60/keymaps/konstantin_b/rules.mk +++ b/keyboards/dz60/keymaps/konstantin_b/rules.mk @@ -1,5 +1,5 @@ BACKLIGHT_ENABLE = no -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite COMMAND_ENABLE = yes CONSOLE_ENABLE = yes EXTRAKEY_ENABLE = yes diff --git a/keyboards/dz60/keymaps/krusli/rules.mk b/keyboards/dz60/keymaps/krusli/rules.mk index 3138a24b63ca..c6a19afa4d2d 100644 --- a/keyboards/dz60/keymaps/krusli/rules.mk +++ b/keyboards/dz60/keymaps/krusli/rules.mk @@ -1,7 +1,7 @@ # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/dz60/keymaps/marianas/customLogic.c b/keyboards/dz60/keymaps/marianas/customLogic.c index b7dbcac95b79..f22bd882e90c 100644 --- a/keyboards/dz60/keymaps/marianas/customLogic.c +++ b/keyboards/dz60/keymaps/marianas/customLogic.c @@ -9,7 +9,7 @@ static int16_t fnTimer = 0; -uint32_t layer_state_set_user(uint32_t state) +layer_state_t layer_state_set_user(layer_state_t state) { switch (biton32(state)) { @@ -40,34 +40,34 @@ bool printSqlVerbs(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case S_LFTJN: - SEND_STRING("LEFT JOIN"); + case S_LFTJN: + SEND_STRING("LEFT JOIN"); activateRelativity(); return false; - case S_INRJN: - SEND_STRING("INNER JOIN "); + case S_INRJN: + SEND_STRING("INNER JOIN "); activateRelativity(); return false; - case S_SLCT: - SEND_STRING("SELECT "); return + case S_SLCT: + SEND_STRING("SELECT "); return false; - case S_FROM: - SEND_STRING("FROM "); return + case S_FROM: + SEND_STRING("FROM "); return false; - case S_DSNCT: - SEND_STRING("DISTINCT "); return + case S_DSNCT: + SEND_STRING("DISTINCT "); return false; - case S_ORDER: - SEND_STRING("ORDER BY "); return + case S_ORDER: + SEND_STRING("ORDER BY "); return false; - case S_WHERE: - SEND_STRING("WHERE "); return + case S_WHERE: + SEND_STRING("WHERE "); return false; - case S_ALTER: + case S_ALTER: SEND_STRING("ALTER SESSION SET CURRENT_SCHEMA = SUPPLY;"); return false; - case S_ASTRK: + case S_ASTRK: SEND_STRING("* "); return false; - + } } return true; diff --git a/keyboards/dz60/keymaps/marianas/customLogic.h b/keyboards/dz60/keymaps/marianas/customLogic.h index f0e6ecdcac1c..29198d60b2ed 100644 --- a/keyboards/dz60/keymaps/marianas/customLogic.h +++ b/keyboards/dz60/keymaps/marianas/customLogic.h @@ -1,7 +1,7 @@ #define fnTimeout 500 -uint32_t layer_state_set_user(uint32_t state); +layer_state_t layer_state_set_user(layer_state_t state); bool printSqlVerbs(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/dz60/keymaps/marianas/rules.mk b/keyboards/dz60/keymaps/marianas/rules.mk index 230d194ab883..d647c9de8584 100644 --- a/keyboards/dz60/keymaps/marianas/rules.mk +++ b/keyboards/dz60/keymaps/marianas/rules.mk @@ -3,7 +3,7 @@ # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/dz60/keymaps/niclake/config.h b/keyboards/dz60/keymaps/niclake/config.h new file mode 100644 index 000000000000..9028fcf9fbb0 --- /dev/null +++ b/keyboards/dz60/keymaps/niclake/config.h @@ -0,0 +1,18 @@ +/* + * 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 TAPPING_TOGGLE 2 diff --git a/keyboards/dz60/keymaps/niclake/keymap.c b/keyboards/dz60/keymaps/niclake/keymap.c new file mode 100644 index 000000000000..6191e18c0b13 --- /dev/null +++ b/keyboards/dz60/keymaps/niclake/keymap.c @@ -0,0 +1,82 @@ +/* + * 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 { + _BASE, + _QWERTY, + _FN, + _ADJ +}; + +enum custom_keycodes { + COLEMAK = SAFE_RANGE, + QWERTY, + FN, + ADJ, + MACWIN +}; + +#define COLEMAK DF(_BASE) +#define QWERTY DF(_QWERTY) +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) +#define ADJUST TT(_ADJUST) +#define MACWIN MAGIC_TOGGLE_ALT_GUI +#define RGB_ON RGB_MODE_PLAIN +#define RGB_TW RGB_MODE_TWINKLE + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + 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_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, + FN, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, 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 + ), + + [_QWERTY] = LAYOUT( + 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_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, + FN, 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, LOWER, KC_RCTL + ), + + [_RAISE] = LAYOUT( + 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, + _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______, _______, _______, + _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, KC_END, _______, KC_CAPS, + _______, _______, _______, _______, _______, _______, ADJUST, _______ + ), + + [_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + ADJUST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT( + XXXXXXX, RGB_ON, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_G, RGB_M_TW, RGB_M_T, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, + ADJUST, MACWIN, XXXXXXX, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; diff --git a/keyboards/dz60/keymaps/niclake/readme.md b/keyboards/dz60/keymaps/niclake/readme.md new file mode 100644 index 000000000000..a36c32d2465a --- /dev/null +++ b/keyboards/dz60/keymaps/niclake/readme.md @@ -0,0 +1,12 @@ +# Nic Lake's DZ60 Layout + +This is Nic's DZ60 layout. + +- Colemak base layer w/ QWERTY support +- Caps -> FN +- Bottom row set up for Mac usage (use `MACWIN`/`AG_TOGG` to toggle) +- Latching Numpad layer for data entry +- Uses [Space Cadet shift keys](https://docs.qmk.fm/#/feature_space_cadet?id=usage) +- Experimenting with [Home Row Mods](https://precondition.github.io/home-row-mods) + +![Nic's DZ60 Layout](https://i.imgur.com/Lmw08LT.jpg) \ No newline at end of file diff --git a/keyboards/dz60/keymaps/niclake/rules.mk b/keyboards/dz60/keymaps/niclake/rules.mk new file mode 100644 index 000000000000..0b4dadb10efa --- /dev/null +++ b/keyboards/dz60/keymaps/niclake/rules.mk @@ -0,0 +1,3 @@ +COMMAND_ENABLE = no +RGBLIGHT_ENABLE = yes +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite diff --git a/keyboards/dz60/keymaps/olligranlund_iso/keymap.c b/keyboards/dz60/keymaps/olligranlund_iso/keymap.c index 74953764fdc9..b5cc920b565c 100644 --- a/keyboards/dz60/keymaps/olligranlund_iso/keymap.c +++ b/keyboards/dz60/keymaps/olligranlund_iso/keymap.c @@ -1,3 +1,19 @@ +/* Copyright 2020 Oliver Granlund + * + * 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 /* ISO 60 layout by olligranlund @@ -19,20 +35,79 @@ * `-----------------------------------------------------------------------------------------' */ +enum custom_keycodes { + EMOJI_DANCERS = SAFE_RANGE, + EMOJI_PERJANTAI, + EMOJI_THISISFINE, + EMOJI_KOVAAAJOA, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case EMOJI_DANCERS: + if (record->event.pressed) { + // when keycode QMKBEST is pressed + SEND_STRING(">dancers>"); + } + break; + + case EMOJI_PERJANTAI: + if (record->event.pressed) { + // when keycode QMKBEST is pressed + SEND_STRING(">perjantaideploy>"); + } + break; + + case EMOJI_THISISFINE: + if (record->event.pressed) { + // when keycode QMKBEST is pressed + SEND_STRING(">this/is/fine>"); + } + break; + + case EMOJI_KOVAAAJOA: + if (record->event.pressed) { + // when keycode QMKBEST is pressed + SEND_STRING(">kovaaajoa>"); + } + break; + } + + return true; +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // 0 Base LAYOUT_60_iso_split_space_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_DEL, 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, - MO(1), 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_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_PSCR, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL), + MO(2), 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_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, TG(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(3), KC_APP, KC_RCTL), + // 1 Base with arrows + LAYOUT_60_iso_split_space_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_DEL, 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, + MO(2), 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_TRNS, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + + // 2 FN LAYOUT_60_iso_split_space_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, KC_DEL, - KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_PGDOWN,KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO, - KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO, + KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_RCTL), + + // 3 FN with RGB and macros + LAYOUT_60_iso_split_space_bs_rshift( + KC_GRV, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_F10, KC_F11, KC_F12, KC_DEL, RESET, + KC_NO, KC_NO, EMOJI_DANCERS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, EMOJI_PERJANTAI, EMOJI_THISISFINE,EMOJI_KOVAAAJOA, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_RCTL), }; diff --git a/keyboards/dz60/keymaps/olligranlund_iso/readme.md b/keyboards/dz60/keymaps/olligranlund_iso/readme.md index 6aa4007d3871..77869e4361f8 100644 --- a/keyboards/dz60/keymaps/olligranlund_iso/readme.md +++ b/keyboards/dz60/keymaps/olligranlund_iso/readme.md @@ -1,6 +1,6 @@ -# DZ60 with splitted parts +# DZ60 with splitted parts with VIA support ### by Oliver Granlund -![Finished product](https://i.imgur.com/HlEo5Yg.jpg) +![Finished product](https://i.imgur.com/HlEo5Ygl.jpg) This is still under progress, but currently works on Windows as a daily driver. \ No newline at end of file diff --git a/keyboards/dz60/keymaps/olligranlund_iso/rules.mk b/keyboards/dz60/keymaps/olligranlund_iso/rules.mk new file mode 100644 index 000000000000..9008ce984f86 --- /dev/null +++ b/keyboards/dz60/keymaps/olligranlund_iso/rules.mk @@ -0,0 +1,3 @@ +EXTRAKEY_ENABLE = yes +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c b/keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c new file mode 100644 index 000000000000..76fdedbbd68a --- /dev/null +++ b/keyboards/dz60/keymaps/olligranlund_iso_v2/keymap.c @@ -0,0 +1,113 @@ +/* Copyright 2020 Oliver Granlund + * + * 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 + +/* ISO 60 layout by olligranlund +* +* This layout starts from a standard ISO 60% layout, and adds one function layer. +* If you wish to only have one wide spacebar, you can easily do that by dismissing the "side" spacebar switches. +* +* Default Layer +* ,-----------------------------------------------------------------------------------------. +* | Esc | 1 ! | 2 " | 3 § | 4 $ | 5 % | 6 & | 7 / | 8 ( | 9 ) | 0 = | ß ? | ´ ` | Del | BSPC| +* |-----------------------------------------------------------------------------------------| +* | Tab | Q | W | E | R | T | Y | U | I | O | P | Ä | + * | Enter | +* |---------------------------------------------------------------------------------- | +* | FN | A | S | D | F | G | H | J | K | L | Ö | Ü | # ' | | +* |-----------------------------------------------------------------------------------------| +* | Shift | < > | Z | X | C | V | B | N | M | , ; | . : | - _ | Shift |Shift| +* |-----------------------------------------------------------------------------------------| +* | LCtl | LGUI | LAlt | Space | Space | Space | RAlt | FN | App | RCtl | | +* `-----------------------------------------------------------------------------------------' +*/ + +enum custom_keycodes { + EMOJI_DANCERS = SAFE_RANGE, + EMOJI_PERJANTAI, + EMOJI_THISISFINE, + EMOJI_KOVAAAJOA, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case EMOJI_DANCERS: + if (record->event.pressed) { + // when keycode QMKBEST is pressed + SEND_STRING(">dancers>"); + } + break; + + case EMOJI_PERJANTAI: + if (record->event.pressed) { + // when keycode QMKBEST is pressed + SEND_STRING(">perjantaideploy>"); + } + break; + + case EMOJI_THISISFINE: + if (record->event.pressed) { + // when keycode QMKBEST is pressed + SEND_STRING(">this/is/fine>"); + } + break; + + case EMOJI_KOVAAAJOA: + if (record->event.pressed) { + // when keycode QMKBEST is pressed + SEND_STRING(">kovaaajoa>"); + } + break; + } + + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // 0 Base + LAYOUT_60_iso_5x1u_split_bs_rshift_spc( + 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_DEL, 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, + MO(2), 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_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, TG(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(3), KC_APP, KC_PSCR, KC_RCTL), + + // 1 Base with arrows + LAYOUT_60_iso_5x1u_split_bs_rshift_spc( + 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_DEL, 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, + MO(2), 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_TRNS, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(3), KC_LEFT, KC_DOWN, KC_RGHT), + + // 2 FN + LAYOUT_60_iso_5x1u_split_bs_rshift_spc( + 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, KC_DEL, + KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_PGDN, KC_UP, KC_PGUP, KC_NO, KC_NO, KC_NO, + KC_NO, KC_VOLD, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_PSCR, KC_RCTL), + + // 3 FN with RGB and macros + LAYOUT_60_iso_5x1u_split_bs_rshift_spc( + KC_GRV, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_F10, KC_F11, KC_F12, KC_DEL, RESET, + KC_NO, KC_NO, EMOJI_DANCERS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, EMOJI_PERJANTAI, EMOJI_THISISFINE,EMOJI_KOVAAAJOA, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_CAPS, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_NO, KC_APP, KC_PSCR, KC_RCTL), + +}; diff --git a/keyboards/dz60/keymaps/olligranlund_iso_v2/readme.md b/keyboards/dz60/keymaps/olligranlund_iso_v2/readme.md new file mode 100644 index 000000000000..1d81116af837 --- /dev/null +++ b/keyboards/dz60/keymaps/olligranlund_iso_v2/readme.md @@ -0,0 +1,6 @@ +# DZ60 with splitted parts with VIA support +### by Oliver Granlund + +![Finished product](https://i.imgur.com/AT1Lyrxl.jpg) + +This is still under progress, but currently works on Windows as a daily driver. Also added macros for Slack emojis \ No newline at end of file diff --git a/keyboards/dz60/keymaps/olligranlund_iso_v2/rules.mk b/keyboards/dz60/keymaps/olligranlund_iso_v2/rules.mk new file mode 100644 index 000000000000..9008ce984f86 --- /dev/null +++ b/keyboards/dz60/keymaps/olligranlund_iso_v2/rules.mk @@ -0,0 +1,3 @@ +EXTRAKEY_ENABLE = yes +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/dz60/keymaps/pinpox/rules.mk b/keyboards/dz60/keymaps/pinpox/rules.mk index fcf3767e1663..855a1e5e6ec6 100644 --- a/keyboards/dz60/keymaps/pinpox/rules.mk +++ b/keyboards/dz60/keymaps/pinpox/rules.mk @@ -1 +1 @@ -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite diff --git a/keyboards/dz60/keymaps/split_space_arrows/rules.mk b/keyboards/dz60/keymaps/split_space_arrows/rules.mk index 5d38b9d367dc..81c7b3f26314 100644 --- a/keyboards/dz60/keymaps/split_space_arrows/rules.mk +++ b/keyboards/dz60/keymaps/split_space_arrows/rules.mk @@ -1,6 +1,6 @@ # Build Options # override the options specified in dz60/rules.mk -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/dz60/keymaps/spotpuff/rules.mk b/keyboards/dz60/keymaps/spotpuff/rules.mk index 27905483738a..7b4abdbc1bae 100644 --- a/keyboards/dz60/keymaps/spotpuff/rules.mk +++ b/keyboards/dz60/keymaps/spotpuff/rules.mk @@ -1 +1 @@ -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite diff --git a/keyboards/dz60/keymaps/twschum_b_4_10/rules.mk b/keyboards/dz60/keymaps/twschum_b_4_10/rules.mk index 1610eace747d..b3e56546acd9 100644 --- a/keyboards/dz60/keymaps/twschum_b_4_10/rules.mk +++ b/keyboards/dz60/keymaps/twschum_b_4_10/rules.mk @@ -1,6 +1,6 @@ # Build Options # override the options specified in dz60/rules.mk -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/dz60/keymaps/xtonhasvim/keymap.c b/keyboards/dz60/keymaps/xtonhasvim/keymap.c index 34b724aaad64..9a482686d888 100644 --- a/keyboards/dz60/keymaps/xtonhasvim/keymap.c +++ b/keyboards/dz60/keymaps/xtonhasvim/keymap.c @@ -69,7 +69,7 @@ void matrix_init_user(void) { user_led_off(); } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { static uint32_t last_state = 0; if(last_state != state) { diff --git a/keyboards/dz60/rules.mk b/keyboards/dz60/rules.mk index a626f1f5d294..f0467332145f 100644 --- a/keyboards/dz60/rules.mk +++ b/keyboards/dz60/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/dztech/bocc/config.h b/keyboards/dztech/bocc/config.h index e0effdd7b837..95362b01fc3a 100644 --- a/keyboards/dztech/bocc/config.h +++ b/keyboards/dztech/bocc/config.h @@ -51,7 +51,7 @@ #define RGB_DI_PIN E2 #ifdef RGB_DI_PIN # define RGBLIGHT_ANIMATIONS -# define RGBLED_NUM 16 +# define RGBLED_NUM 20 # define RGBLIGHT_HUE_STEP 8 # define RGBLIGHT_SAT_STEP 8 # define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/dztech/bocc/rules.mk b/keyboards/dztech/bocc/rules.mk index 6695a40a62b7..b91f40ae3219 100644 --- a/keyboards/dztech/bocc/rules.mk +++ b/keyboards/dztech/bocc/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/dztech/dz60rgb/dz60rgb.c b/keyboards/dztech/dz60rgb/dz60rgb.c index aa02fb902d01..a7fc3dbc5cec 100644 --- a/keyboards/dztech/dz60rgb/dz60rgb.c +++ b/keyboards/dztech/dz60rgb/dz60rgb.c @@ -1,7 +1,7 @@ #include "dz60rgb.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, diff --git a/keyboards/dztech/dz60rgb/keymaps/default/keymap.c b/keyboards/dztech/dz60rgb/keymaps/default/keymap.c index 4bffe50db85f..99b3c6c2864c 100644 --- a/keyboards/dztech/dz60rgb/keymaps/default/keymap.c +++ b/keyboards/dztech/dz60rgb/keymaps/default/keymap.c @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE, - _______, _______, _______, TO(4), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT ), [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_DEL, @@ -28,12 +28,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, KC_PENT, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, KC_P0, KC_PDOT, _______, _______, _______ - ), - [4] = LAYOUT( - KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, - KC_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, - CTL_T(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, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL), - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, TO(0), KC_LEFT, KC_DOWN, KC_RGHT ) }; diff --git a/keyboards/dztech/dz60rgb/keymaps/mechmaster48/README.md b/keyboards/dztech/dz60rgb/keymaps/mechmaster48/README.md new file mode 100644 index 000000000000..cda042db064b --- /dev/null +++ b/keyboards/dztech/dz60rgb/keymaps/mechmaster48/README.md @@ -0,0 +1,15 @@ +# Mechmaster48 keymap + +-Personal keyboard layout +-Mainly following the default layout. +-Picture of the map below with 3 total layers 0-2 +-More to come as I figure QMK out + +## Layer 0 +![alt text](https://i.imgur.com/yi8BCCf.gif) + +## Layer 1 +![alt text](https://i.imgur.com/aG2cCn9.gif) + +## Layer 2 +![alt text](https://i.imgur.com/79RAh1G.gif) \ No newline at end of file diff --git a/keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c b/keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c new file mode 100644 index 000000000000..84cc76b112f3 --- /dev/null +++ b/keyboards/dztech/dz60rgb/keymaps/mechmaster48/keymap.c @@ -0,0 +1,79 @@ +/* +Copyright 2021 MechMaster48 admin@mechbox.net + +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 . +/* + +-This is just a diagram that makes it easier for me to see what keys I have bound and where. +-The README has a better image to see the exact keymap. + +--Layer 0-- + _________________________________________________________________________________________________ + |[esc] [1!]-[2@]-[3#]-[4$]-[5%]-[6^]-[7&]-[8*]-[9(]-[0)]-[-_]-[+=] [ BackSpace ]| + |[ Tab ] [Q]-[W]-[E]-[R]-[T]-[Y]-[U]-[I]-[O]-[P]-[[{]-[]}] [ |\ ]| + |[CapsLock] [A]-[S]-[D]-[F]-[G]-[H]-[J]-[K]-[L]-[;/:]-['/"] [Enter]| + |[ Shift ] [Z]-[X]-[C]-[V]-[B]-[N]-[M]-[/.]-[?//] [↑][del]| + |[ctrl][win][alt] [____________________SPACE__________________][fn/OSL(1)][ctrl][←][↓][→] | + |_________________________________________________________________________________________________| + + + + +--Layer 1-- + _____________________________________________________________________________________ + |[TO(2)] [F1]-[F2]-[F3]-[F4]-[F5]-[F6]-[F7]-[F8]-[F9]-[F10]-[F11]-[F12] [ ▼ ]| + |[ ▼ ] [~]-[▼]-[▼]-[▼]-[▼]-[▼]-[PS]-[▼]-[▼]-[▼]-[play/pause]-[▼] [ RESET ]| + |[ ▼ ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[PU]-[▼]-[▼] [ ▼ ]| + |[ Shift ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[PD]-[▼] [vol↑] [ ▼ ]| + |[ctrl][ ▼ ][alt] [_________________▼________________] [▼][ ▼ ][←prvs][vol↓][next→]| + |_____________________________________________________________________________________| + + + +--Layer 2-- + _________________________________________________________________________________________________ + |[ ▼ ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼] [ ▼ ]| + |[ ▼ ] [RGBTgg]-[▼]-[Hue+]-[Hue-]-[Sat+]-[Sat-]-[Brt+]-[Brt-]-[RGBmd]-[▼]-[▼]-[▼] [ RESET ]| + |[ ▼ ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼] [ ▼ ]| + |[ ▼ ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼] [ ▼ ][ ▼ ]| + |[ ▼ ][ ▼ ][▼] [_______________TO(0)________________] [▼][ ▼ ] [ ▼ ][ ▼ ][ ▼ ]| + |_________________________________________________________________________________________________| + +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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, + CTL_T(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, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, OSL(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + TO(2), 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_GRV, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, KC_MPLY, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, EEP_RST, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______, KC_VOLU, KC_MUTE, + KC_LCTL, _______, KC_LALT, TO(0), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, TO(0), _______, _______, _______, _______, _______ + ) +}; \ No newline at end of file diff --git a/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c b/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c new file mode 100644 index 000000000000..98802270a6f6 --- /dev/null +++ b/keyboards/dztech/dz60rgb/keymaps/moults31/keymap.c @@ -0,0 +1,42 @@ +/* + * Copyright 2021 moults31 + * + * 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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, + CTL_T(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_DOT, KC_SLSH, KC_RSHFT, KC_UP, LT(2, KC_DEL), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_COMM, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + 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, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_HOME, KC_END, RESET, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, EEP_RST, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, KC_MPLY, KC_VOLU, KC_MUTE, + _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + [2] = LAYOUT( + RGB_MOD, 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, + _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, RESET, + _______, RGB_SAD, RGB_HUD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_VAD, RGB_SPD + ), +}; diff --git a/keyboards/dztech/dz60rgb/keymaps/moults31/readme.md b/keyboards/dztech/dz60rgb/keymaps/moults31/readme.md new file mode 100644 index 000000000000..19bccf13e6c8 --- /dev/null +++ b/keyboards/dztech/dz60rgb/keymaps/moults31/readme.md @@ -0,0 +1,11 @@ +# moults31 DZ60RBG V2 Layout + +Similar to the default dz60rgb v2 layout with some minor changes for quality of life in programming. + +Brief summary of improvements over default: +* More intuitive media keys in layer 1 +* More intuitive RGB control keys in layer 2 +* Standard left-alt +* Anne Pro 2 style home/end placement in layer 1 +* Grave key moved to right-alt position for easier ctrl-grave vscode shortcut +* Removed layer 4 (mac layout?) diff --git a/keyboards/dztech/dz60rgb/keymaps/moults31/rules.mk b/keyboards/dztech/dz60rgb/keymaps/moults31/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/dztech/dz60rgb/keymaps/moults31/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/dztech/dz60rgb/keymaps/piv3rt/config.h b/keyboards/dztech/dz60rgb/keymaps/piv3rt/config.h new file mode 100644 index 000000000000..a2b29c03be5d --- /dev/null +++ b/keyboards/dztech/dz60rgb/keymaps/piv3rt/config.h @@ -0,0 +1,56 @@ +/* +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 FORCE_NKRO +#define TAPPING_TERM 100 + +#define DISABLE_RGB_MATRIX_ALPHAS_MODS +#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define DISABLE_RGB_MATRIX_BREATHING +#define DISABLE_RGB_MATRIX_BAND_SAT +#define DISABLE_RGB_MATRIX_BAND_VAL +#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define DISABLE_RGB_MATRIX_CYCLE_ALL +//#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN +#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define DISABLE_RGB_MATRIX_DUAL_BEACON +#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL +#define DISABLE_RGB_MATRIX_RAINBOW_BEACON +#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#define DISABLE_RGB_MATRIX_RAINDROPS +#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define DISABLE_RGB_MATRIX_TYPING_HEATMAP +#define DISABLE_RGB_MATRIX_DIGITAL_RAIN +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#define DISABLE_RGB_MATRIX_SPLASH +#define DISABLE_RGB_MATRIX_MULTISPLASH +#define DISABLE_RGB_MATRIX_SOLID_SPLASH +#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c b/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c new file mode 100644 index 000000000000..38c5959374a0 --- /dev/null +++ b/keyboards/dztech/dz60rgb/keymaps/piv3rt/keymap.c @@ -0,0 +1,230 @@ +/* +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 + +#define LT_DEL LT(_RGB, KC_DEL) +#define LT_CAPS LT(_FNC, KC_CAPS) +#define LM_LALT LM(_FNC, MOD_LALT) +#define LM_NALT LM(_NUM, MOD_LALT) +#define RSFT_SL RSFT_T(KC_SLSH) +#define RALT_F6 RALT_T(KC_F6) +#define CTLINS LCTL(KC_INS) // Ctrl + Insert (terminal copy) +#define SFTINS LSFT(KC_INS) // Shift + Insert (terminal paste) +#define AMDREP LCTL(LSFT(KC_S)) // AMD Replay +#define AMDREC LCTL(LSFT(KC_E)) // AMD Record + +enum piv3rt_layers { + _DEF, + _MAC, + _FNC, + _RGB, + _NUM, +}; + +enum piv3rt_keycodes { + RGB_RST = SAFE_RANGE, + RGB_PCY, // Cycle through RGB profiles + RGB_000, // Turn everything off except profiles + EACUTE, // French É for Windows + CCED, // French Ç for Windows + AGRAVE, // French À for Windows + FRQLT, // French ≪ for Windows + FRQGT, // French ≫ for Windows +}; + +enum piv3rt_rgbprofiles { + CSGO, + TEXT, + OFF, // Should be the last item +}; + +enum piv3rt_rgbprofiles current_profile = OFF; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DEF] = LAYOUT( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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, + LT_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, RSFT_SL, KC_UP, LT_DEL, + KC_LCTL, KC_LGUI, LM_LALT, KC_SPC, RALT_F6, MO(_FNC), KC_LEFT, KC_DOWN, KC_RGHT + ), + [_MAC] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_LGUI, KC_LCTL, KC_LGUI, _______, _______, _______, _______, _______, _______ + ), + [_FNC] = 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_DEL, + _______, AGRAVE, KC_UP, EACUTE, _______, KC_INS, _______, _______, KC_UP, KC_UP, KC_PGUP, KC_HOME, KC_PSCR, KC_NUBS, + _______, KC_HOME, KC_DOWN, KC_END, CTLINS, SFTINS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_F8, + _______, _______, KC_CALC, CCED, _______, _______, _______, _______, FRQLT, FRQGT, TG(_NUM), KC_VOLU, KC_MUTE, + _______, TG(_MAC), LM_NALT, _______, KC_MPLY, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + [_RGB] = 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_DEL, + _______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET, + _______, _______, _______, _______, _______, RGB_PCY, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_000, _______, + _______, _______, _______, RGB_RST, _______, _______, KC_PWR, AMDREC, AMDREP + ), + [_NUM] = LAYOUT( + KC_NLCK, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, KC_PENT, + _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, TG(_NUM), _______, _______, + _______, _______, _______, KC_PENT, _______, _______, _______, _______, _______ + ), +}; + +void reset_leds(void) { + current_profile = OFF; + rgb_matrix_enable(); + rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); + rgb_matrix_sethsv(0x6a, 0x33, 0xff); +} + +void suspend_wakeup_init_user(void) { + current_profile = OFF; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_RST: + if (record->event.pressed) { + reset_leds(); + } + return false; + break; + case RGB_PCY: + if (record->event.pressed) { + // Cycle through RGB profiles + current_profile = current_profile == OFF ? 0 : current_profile + 1; + } + return false; + break; + case RGB_000: + if (record->event.pressed) { + rgb_matrix_sethsv(0, 0, 0); + } + return false; + break; + case EACUTE: + if (record->event.pressed) { + SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P0) SS_TAP(X_P2) SS_TAP(X_P0) SS_TAP(X_P1) SS_UP(X_LALT)); + } + return false; + break; + case CCED: + if (record->event.pressed) { + SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P0) SS_TAP(X_P1) SS_TAP(X_P9) SS_TAP(X_P9) SS_UP(X_LALT)); + } + return false; + break; + case AGRAVE: + if (record->event.pressed) { + SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P0) SS_TAP(X_P1) SS_TAP(X_P9) SS_TAP(X_P2) SS_UP(X_LALT)); + } + return false; + break; + case FRQLT: + if (record->event.pressed) { + SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P1) SS_TAP(X_P7) SS_TAP(X_P4) SS_UP(X_LALT)); + } + return false; + break; + case FRQGT: + if (record->event.pressed) { + SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_P1) SS_TAP(X_P7) SS_TAP(X_P5) SS_UP(X_LALT)); + } + return false; + break; + } + return true; +}; + +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + led_t led_state = host_keyboard_led_state(); + + if (led_state.caps_lock) { + // Tab key = 27 + RGB_MATRIX_INDICATOR_SET_COLOR(27, 0xff, 0x00, 0x00); + } + + if (led_state.num_lock && (layer_state_is(_FNC) || layer_state_is(_NUM))) { + // ESC key = 13 + RGB_MATRIX_INDICATOR_SET_COLOR(13, 0xff, 0x55, 0x55); + } + + if (layer_state_is(_NUM)) { + // Num pad + for (int i=0; i<3; i++) { + RGB_MATRIX_INDICATOR_SET_COLOR(3 + i, 0xff, 0x55, 0x55); + RGB_MATRIX_INDICATOR_SET_COLOR(17 + i, 0xff, 0x55, 0x55); + RGB_MATRIX_INDICATOR_SET_COLOR(30 + i, 0xff, 0x55, 0x55); + } + RGB_MATRIX_INDICATOR_SET_COLOR(43, 0xff, 0x00, 0x00); + return; + } + + if (layer_state_is(_RGB)) { + // AMD record and replay + RGB_MATRIX_INDICATOR_SET_COLOR(54, 0x00, 0xff, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(55, 0xff, 0x00, 0x00); + } + + if (current_profile == CSGO) { + // Moves + RGB_MATRIX_INDICATOR_SET_COLOR(25, 0xff, 0x00, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(39, 0xff, 0x00, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(38, 0xff, 0x00, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(37, 0xff, 0x00, 0x00); + + // Grenades + RGB_MATRIX_INDICATOR_SET_COLOR(4, 0x00, 0xff, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(3, 0xff, 0x66, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(2, 0x66, 0x66, 0x22); + RGB_MATRIX_INDICATOR_SET_COLOR(1, 0xff, 0xff, 0xff); + + // Primary + RGB_MATRIX_INDICATOR_SET_COLOR(18, 0xff, 0x00, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(17, 0x99, 0x33, 0x00); + RGB_MATRIX_INDICATOR_SET_COLOR(16, 0x00, 0xff, 0x00); + + // Secondary + RGB_MATRIX_INDICATOR_SET_COLOR(32, 0x66, 0x66, 0x22); + RGB_MATRIX_INDICATOR_SET_COLOR(31, 0x00, 0x00, 0xff); + + // Equipment + RGB_MATRIX_INDICATOR_SET_COLOR(30, 0xff, 0x00, 0xff); + RGB_MATRIX_INDICATOR_SET_COLOR(29, 0x00, 0x00, 0xff); + RGB_MATRIX_INDICATOR_SET_COLOR(28, 0x33, 0x66, 0x99); + RGB_MATRIX_INDICATOR_SET_COLOR(0, 0x33, 0x66, 0x99); + } else if (current_profile == TEXT) { + // Letters + for (int i=0; i<7; i++) { + RGB_MATRIX_INDICATOR_SET_COLOR(17 + i, 0x33, 0x66, 0x99); + RGB_MATRIX_INDICATOR_SET_COLOR(31 + i, 0x33, 0x66, 0x99); + RGB_MATRIX_INDICATOR_SET_COLOR(46 + i, 0x33, 0x66, 0x99); + } + RGB_MATRIX_INDICATOR_SET_COLOR(38, 0x33, 0x66, 0x99); + RGB_MATRIX_INDICATOR_SET_COLOR(39, 0x33, 0x66, 0x99); + RGB_MATRIX_INDICATOR_SET_COLOR(24, 0x33, 0x66, 0x99); + RGB_MATRIX_INDICATOR_SET_COLOR(25, 0x33, 0x66, 0x99); + RGB_MATRIX_INDICATOR_SET_COLOR(26, 0x33, 0x66, 0x99); + } +} diff --git a/keyboards/dztech/dz60rgb/keymaps/piv3rt/rules.mk b/keyboards/dztech/dz60rgb/keymaps/piv3rt/rules.mk new file mode 100644 index 000000000000..23a7632433d4 --- /dev/null +++ b/keyboards/dztech/dz60rgb/keymaps/piv3rt/rules.mk @@ -0,0 +1 @@ +NKRO_ENABLE = yes diff --git a/keyboards/dztech/dz60rgb/keymaps/via/config.h b/keyboards/dztech/dz60rgb/keymaps/via/config.h new file mode 100644 index 000000000000..1beb7130f75b --- /dev/null +++ b/keyboards/dztech/dz60rgb/keymaps/via/config.h @@ -0,0 +1,21 @@ +/* Copyright 2021 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define DISABLE_RGB_MATRIX_PIXEL_FLOW +#define DISABLE_RGB_MATRIX_PIXEL_FRACTAL +#define DISABLE_RGB_MATRIX_PIXEL_RAIN diff --git a/keyboards/dztech/dz60rgb/readme.md b/keyboards/dztech/dz60rgb/readme.md index 1b2eb6f85ff9..6accc60765f3 100644 --- a/keyboards/dztech/dz60rgb/readme.md +++ b/keyboards/dztech/dz60rgb/readme.md @@ -8,14 +8,17 @@ A hotswap 60% RGB keyboard. * Hardware Supported: DZtech DZ60RGB V1 and V2 * Hardware Availability: [KBDfans](https://kbdfans.com/) -There are two versions of the DZ60RGB. Please use the appropriate firmware for your board. +There are three versions of the DZ60RGB. Please use the appropriate firmware for your board. * V1: STM32F303 (Arm), takes .bin files * V2: ATmega32U4 (AVR), takes .hex files +* V2.1: ATmega32U4 (AVR), takes .bin files [Flash Manual](https://docs.google.com/document/d/111qx6Qec4JqtIhWaZlMND-VuRnFtn9a-gJaHN8fsL7M/edit?usp=sharing) + Started shipping in June 2021 as a slightly modified version of v2. Make example for this keyboard (after setting up your build environment): make dztech/dz60rgb/v1:default # Arm (STM32F303) make dztech/dz60rgb/v2:default # AVR (ATmega32U4) + make dztech/dz60rgb/v2_1:default # AVR (ATmega32U4) 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/dztech/dz60rgb/v1/config.h b/keyboards/dztech/dz60rgb/v1/config.h index 6e5b3da6ffbd..f6ee7c4e2ffb 100644 --- a/keyboards/dztech/dz60rgb/v1/config.h +++ b/keyboards/dztech/dz60rgb/v1/config.h @@ -37,7 +37,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/dztech/dz60rgb/v1/rules.mk b/keyboards/dztech/dz60rgb/v1/rules.mk index f6b7f394cc8d..56b9cf2dde2f 100644 --- a/keyboards/dztech/dz60rgb/v1/rules.mk +++ b/keyboards/dztech/dz60rgb/v1/rules.mk @@ -2,10 +2,13 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -16,7 +19,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 RGB_MATRIX_ENABLE = yes # Use RGB matrix diff --git a/keyboards/dztech/dz60rgb/v2/config.h b/keyboards/dztech/dz60rgb/v2/config.h index df84fff59a23..6108e990343a 100644 --- a/keyboards/dztech/dz60rgb/v2/config.h +++ b/keyboards/dztech/dz60rgb/v2/config.h @@ -37,7 +37,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/dztech/dz60rgb/v2/rules.mk b/keyboards/dztech/dz60rgb/v2/rules.mk index f35c9f40c9d6..a655bb334927 100644 --- a/keyboards/dztech/dz60rgb/v2/rules.mk +++ b/keyboards/dztech/dz60rgb/v2/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 RGB_MATRIX_ENABLE = yes # Use RGB matrix diff --git a/keyboards/dztech/dz60rgb/v2_1/config.h b/keyboards/dztech/dz60rgb/v2_1/config.h new file mode 100644 index 000000000000..06d504e39334 --- /dev/null +++ b/keyboards/dztech/dz60rgb/v2_1/config.h @@ -0,0 +1,79 @@ +/* Copyright 2021 trankimtung + * + * 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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x445A +#define PRODUCT_ID 0x1121 +#define DEVICE_VER 0x0003 +#define MANUFACTURER DZTECH +#define PRODUCT DZ60RGB + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 } +#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 3 + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#ifdef RGB_MATRIX_ENABLE +# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_KEYPRESSES +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define DISABLE_RGB_MATRIX_BAND_SAT +# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define DISABLE_RGB_MATRIX_SPLASH +# define DISABLE_RGB_MATRIX_MULTISPLASH +# define DISABLE_RGB_MATRIX_SOLID_SPLASH +# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH +# define DISABLE_RGB_MATRIX_DIGITAL_RAIN +# define DRIVER_ADDR_1 0b1010000 +# define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons. +# define DRIVER_COUNT 2 +# define DRIVER_1_LED_TOTAL 63 +# define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#endif diff --git a/keyboards/dztech/dz60rgb/v2_1/rules.mk b/keyboards/dztech/dz60rgb/v2_1/rules.mk new file mode 100644 index 000000000000..f5fbed890201 --- /dev/null +++ b/keyboards/dztech/dz60rgb/v2_1/rules.mk @@ -0,0 +1,30 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = lufa-ms +BOOTLOADER_SIZE = 6144 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes # Use RGB matrix +RGB_MATRIX_DRIVER = IS31FL3733 +NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in +LTO_ENABLE = yes + +SPACE_CADET_ENABLE = no +GRAVE_ESC_ENABLE = no diff --git a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c index 4bb5938b66ed..ab2441091284 100644 --- a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c +++ b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c @@ -1,7 +1,7 @@ #include "dz60rgb_ansi.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, { 0, K_12, J_12, L_12 }, diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/config.h b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/config.h new file mode 100644 index 000000000000..59fc46d260dd --- /dev/null +++ b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/config.h @@ -0,0 +1,27 @@ + /* Copyright 2021 Jesper Nellemann Jakobsen + * + * 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 MOUSEKEY_DELAY 0 // default is 300ms +#define MOUSEKEY_INTERVAL 16 // ~ 60Hz (1/60) +#define MOUSEKEY_MAX_SPEED 8 // default is 10; the lower interval, the lower this ought to be +#define MOUSEKEY_TIME_TO_MAX 15 // default is 20 + +#define MOUSEKEY_WHEEL_DELAY 0 // default is 300ms +#define MOUSEKEY_WHEEL_INTERVAL 50 // default is 100ms +#define MOUSEKEY_WHEEL_MAX_SPEED 10 // default is 8 +#define MOUSEKEY_WHEEL_TIME_TO_MAX 30 // default is 40 diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c new file mode 100644 index 000000000000..63282e8b6a35 --- /dev/null +++ b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/keymap.c @@ -0,0 +1,128 @@ + /* Copyright 2021 Jesper Nellemann Jakobsen + * + * 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 layers { + _BASE, + _ARROWS, + _HDUE, /* Home, pgDown, pgUp, End */ + _MOUSE, + _FN +}; + +/* Custom keys */ + +/* Word movement/deletetion */ +#define WORD_BK A(KC_LEFT) +#define WORD_FW A(KC_RIGHT) +#define D_WORD_BK A(KC_BSPACE) +#define D_WORD_FW A(KC_DELETE) +/* Fine volume control */ +#define FVOLU S(A(KC_VOLU)) +#define F_VOLD S(A(KC_VOLD)) +/* Multi-purpose keys */ +#define HYPR_CAPS ALL_T(KC_CAPS) +#define CTL_ESC LCTL_T(KC_ESC) +/* Layer keys */ +#define ARROWS LT(_ARROWS, KC_D) +#define HDUE MO(_HDUE) +#define MOUSP LT(_MOUSE, KC_SPC) +#define FN MO(_FN) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Default layer: + * Space Cadet shifts (parentheses on tap) + * Caps Lock is Control on hold, Esc on tap + * Hyper/Caps Lock on Control keys + * Hold D to activate layer 1 (Arrows) + * Hold Space to activate layer 3 (Mouse keys) + * Hold FN to activate layer 4 (FN layer) + */ + [_BASE] = LAYOUT_60_ansi( + 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_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, + CTL_ESC, KC_A, KC_S, ARROWS, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, + HYPR_CAPS, KC_LALT, KC_LGUI, MOUSP, KC_RGUI, KC_RALT, FN, HYPR_CAPS + ), + + /* Layer 1: + * Vim arrows (HJKL) + * Vim-like move across words with W(ord), and B(eginning) + * Media controls (fine volume controls using Option+Shift) + * Backspace/Del on N/M + * Hold F to activate layer 2 (HDUE: Home, Down, Up, End) + */ + [_ARROWS] = LAYOUT_60_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, WORD_FW, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, F_VOLD, FVOLU, _______, + _______, _______, _______, _______, HDUE, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, + _______, _______, _______, _______, _______, WORD_BK, KC_BSPC, KC_DEL, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Layer 2: + * Home, Page Down, Page Up, End + * Delete word forward/back on W/B + */ + [_HDUE] = LAYOUT_60_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, D_WORD_FW, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, + _______, _______, _______, _______, _______, D_WORD_BK, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Layer 3: + * Mouse keys + * Cursor movement: HJKL + * MB 1, 2, and 3 on F, D, and S, respectively + * Mouse wheel: up (V), down (R) (reversed because of Natural Scrolling) + * Change mouse acceleration on U, I, O (0, 1, 2) + */ + [_MOUSE] = LAYOUT_60_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_WH_D, _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, + _______, _______, KC_BTN3, KC_BTN2, KC_BTN1, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, + _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* Layer 4: + * F1-12 + * Del on backspace + * Lots of RGB controls + * RESET firmware on backslash + * Screen brightness: Z (decrease), X (increase) + */ + [_FN] = LAYOUT_60_ansi( + _______, 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, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, _______, _______, _______, RESET, + _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SW, RGB_M_SN, RGB_M_K, _______, _______, _______, + _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, RGB_M_X, RGB_M_G, RGB_M_T, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) + + // TEMPLATE + // LAYOUT_60_ansi( + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // _______, _______, _______, _______, _______, _______, _______, _______, + // ), +}; diff --git a/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/readme.md b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/readme.md new file mode 100644 index 000000000000..5f65c349dc38 --- /dev/null +++ b/keyboards/dztech/dz60rgb_ansi/keymaps/bingocaller/readme.md @@ -0,0 +1,51 @@ +# MacOS standard-ish 60% keymap with Vim-like arrows + +This is a MacOS-specific keymap for DZ60 RGB ANSI with a bit of Vim arrows and other niceties. + +## Base Layer + +![Graphical representation of the Base Layer](https://i.imgur.com/L66C3ya.png) + +* Space Cadet shifts (parentheses on tap) +* Caps Lock is Control on hold, Esc on tap +* Hyper/Caps Lock on Control keys +* Hold D to activate layer 1 (Arrows) +* Hold Space to activate layer 3 (Mouse keys) +* Hold FN to activate layer 4 (FN layer) + +## Layer 1: "Arrows" + +![Graphical representation of Layer 1](https://i.imgur.com/VirYuoO.png) + +* Vim arrows (HJKL) +* Vim-like move across words with W(ord), and B(eginning) +* Media controls (fine volume controls using Option+Shift) +* Backspace/Del on N/M +* Hold F to activate layer 2 (HDUE: Home, Down, Up, End) + +## Layer 2: "HDUE" + +![Graphical representation of Layer 2](https://i.imgur.com/xWMqCmD.png) + +* **H**ome, Page **D**own, Page **U**p, **E**nd +* Delete word forward/back on W/B + +## Layer 3: "Mouse keys" + +![Graphical representation of Layer 3](https://i.imgur.com/x5vmAyK.png) + +* Mouse keys +* Cursor movement: HJKL +* MB 1, 2, and 3 on F, D, and S, respectively +* Mouse wheel: up (V), down (R) (reversed because of Natural Scrolling) +* Change mouse acceleration on U, I, O (0, 1, 2) + +## Layer 4: "The FN layer" + +![Graphical representation of Layer 4](https://i.imgur.com/6favpke.png) + +* F1-12 +* Del on backspace +* Lots of RGB controls +* RESET firmware on backslash +* Screen brightness: Z (decrease), X (increase) diff --git a/keyboards/dztech/dz60rgb_ansi/v1/config.h b/keyboards/dztech/dz60rgb_ansi/v1/config.h index 8710f8d07b21..dc2a6f4bc0f0 100644 --- a/keyboards/dztech/dz60rgb_ansi/v1/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v1/config.h @@ -37,7 +37,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/dztech/dz60rgb_ansi/v1/rules.mk b/keyboards/dztech/dz60rgb_ansi/v1/rules.mk index f6b7f394cc8d..56b9cf2dde2f 100644 --- a/keyboards/dztech/dz60rgb_ansi/v1/rules.mk +++ b/keyboards/dztech/dz60rgb_ansi/v1/rules.mk @@ -2,10 +2,13 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -16,7 +19,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 RGB_MATRIX_ENABLE = yes # Use RGB matrix diff --git a/keyboards/dztech/dz60rgb_ansi/v2/config.h b/keyboards/dztech/dz60rgb_ansi/v2/config.h index f3c9b73fb4b7..6c1e00682177 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v2/config.h @@ -37,7 +37,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/dztech/dz60rgb_ansi/v2/rules.mk b/keyboards/dztech/dz60rgb_ansi/v2/rules.mk index f35c9f40c9d6..a655bb334927 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2/rules.mk +++ b/keyboards/dztech/dz60rgb_ansi/v2/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 RGB_MATRIX_ENABLE = yes # Use RGB matrix diff --git a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c index b57560bacd74..455624471dfb 100644 --- a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c +++ b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c @@ -1,7 +1,7 @@ #include "dz60rgb_wkl.h" #ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { { 0, H_15, G_15, I_15 }, { 0, K_14, J_14, L_14 }, { 0, K_13, J_13, L_13 }, diff --git a/keyboards/dztech/dz60rgb_wkl/readme.md b/keyboards/dztech/dz60rgb_wkl/readme.md index a80236437a08..23ec5fa94247 100644 --- a/keyboards/dztech/dz60rgb_wkl/readme.md +++ b/keyboards/dztech/dz60rgb_wkl/readme.md @@ -8,14 +8,17 @@ A hotswap 60% RGB keyboard. * Hardware Supported: DZtech DZ60RGB-WKL V1 and V2 * Hardware Availability: [KBDfans](https://kbdfans.com/) -There are two versions of the DZ60RGB-WKL. Please use the appropriate firmware for your board. +There are three versions of the DZ60RGB-WKL. Please use the appropriate firmware for your board. * V1: STM32F303 (Arm), takes .bin files * V2: ATmega32U4 (AVR), takes .hex files +* V2.1: ATmega32U4 (AVR), takes .bin files + Started shipping in June 2021 as a slightly modified version of v2. Make example for this keyboard (after setting up your build environment): make dztech/dz60rgb_wkl/v1:default # Arm (STM32F303) make dztech/dz60rgb_wkl/v2:default # AVR (ATmega32U4) + make dztech/dz60rgb_wkl/v2_1:default # AVR (ATmega32U4) 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/dztech/dz60rgb_wkl/v1/config.h b/keyboards/dztech/dz60rgb_wkl/v1/config.h index 9c630c75be0f..12317c2d359f 100644 --- a/keyboards/dztech/dz60rgb_wkl/v1/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v1/config.h @@ -37,7 +37,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_LED_PROCESS_LIMIT 4 # define RGB_MATRIX_LED_FLUSH_LIMIT 26 diff --git a/keyboards/dztech/dz60rgb_wkl/v1/rules.mk b/keyboards/dztech/dz60rgb_wkl/v1/rules.mk index e8753127ef57..e69cd9cc3868 100644 --- a/keyboards/dztech/dz60rgb_wkl/v1/rules.mk +++ b/keyboards/dztech/dz60rgb_wkl/v1/rules.mk @@ -2,10 +2,13 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -16,7 +19,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 RGB_MATRIX_ENABLE = yes # Use RGB matrix diff --git a/keyboards/dztech/dz60rgb_wkl/v2/config.h b/keyboards/dztech/dz60rgb_wkl/v2/config.h index a6145c274968..945b591ce6b5 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2/config.h +++ b/keyboards/dztech/dz60rgb_wkl/v2/config.h @@ -37,7 +37,7 @@ #ifdef RGB_MATRIX_ENABLE # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define RGB_MATRIX_FRAMEBUFFER_EFFECTS # define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN diff --git a/keyboards/dztech/dz60rgb_wkl/v2/rules.mk b/keyboards/dztech/dz60rgb_wkl/v2/rules.mk index 5386768c261f..c87f6ffc6f9a 100644 --- a/keyboards/dztech/dz60rgb_wkl/v2/rules.mk +++ b/keyboards/dztech/dz60rgb_wkl/v2/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 RGB_MATRIX_ENABLE = yes # Use RGB matrix diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/config.h b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h new file mode 100644 index 000000000000..76b0b6ea529b --- /dev/null +++ b/keyboards/dztech/dz60rgb_wkl/v2_1/config.h @@ -0,0 +1,79 @@ +/* Copyright 2021 trankimtung + * + * 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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x445A +#define PRODUCT_ID 0x1321 +#define DEVICE_VER 0x0003 +#define MANUFACTURER DZTECH +#define PRODUCT DZ60RGB_WKL + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F5, F4, F1, B3, B2 } +#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 3 + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#ifdef RGB_MATRIX_ENABLE +# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_KEYPRESSES +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define DISABLE_RGB_MATRIX_BAND_SAT +# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define DISABLE_RGB_MATRIX_SPLASH +# define DISABLE_RGB_MATRIX_MULTISPLASH +# define DISABLE_RGB_MATRIX_SOLID_SPLASH +# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH +# define DISABLE_RGB_MATRIX_DIGITAL_RAIN +# define DRIVER_ADDR_1 0b1010000 +# define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons. +# define DRIVER_COUNT 2 +# define DRIVER_1_LED_TOTAL 62 +# define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +#endif diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/rules.mk b/keyboards/dztech/dz60rgb_wkl/v2_1/rules.mk new file mode 100644 index 000000000000..94194f77ff80 --- /dev/null +++ b/keyboards/dztech/dz60rgb_wkl/v2_1/rules.mk @@ -0,0 +1,28 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = lufa-ms +BOOTLOADER_SIZE = 6144 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes # Use RGB matrix +RGB_MATRIX_DRIVER = IS31FL3733 +LTO_ENABLE = yes + +LAYOUTS = 60_tsangan_hhkb diff --git a/keyboards/dztech/dz65rgb/config.h b/keyboards/dztech/dz65rgb/config.h index b8c5759db6b6..71487efbd9d1 100644 --- a/keyboards/dztech/dz65rgb/config.h +++ b/keyboards/dztech/dz65rgb/config.h @@ -1,3 +1,18 @@ +/* Copyright 2021 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #pragma once - #include "config_common.h" diff --git a/keyboards/dztech/dz65rgb/dz65rgb.c b/keyboards/dztech/dz65rgb/dz65rgb.c index aa5bf6601cde..8340d8fcee06 100644 --- a/keyboards/dztech/dz65rgb/dz65rgb.c +++ b/keyboards/dztech/dz65rgb/dz65rgb.c @@ -1,117 +1,17 @@ +/* Copyright 2021 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #include "dz65rgb.h" - -#ifdef RGB_MATRIX_ENABLE -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { - { 0, C8_8, C7_8, C6_8 }, - { 0, C9_8, C7_7, C6_7 }, - { 0, C9_7, C8_7, C6_6 }, - { 0, C9_6, C8_6, C7_6 }, - { 0, C9_5, C8_5, C7_5 }, - { 0, C9_4, C8_4, C7_4 }, - { 0, C9_3, C8_3, C7_3 }, - { 0, C9_2, C8_2, C7_2 }, - { 0, C9_1, C8_1, C7_1 }, - { 0, C2_9, C3_9, C4_9 }, - { 0, C1_9, C3_10, C4_10 }, - { 0, C1_10, C2_10, C4_11 }, - { 0, C1_11, C2_11, C3_11 }, - { 0, C1_13, C2_13, C3_13 }, - { 0, C1_14, C2_14, C3_14 }, - - { 0, C1_7, C2_7, C3_7 }, - { 0, C1_6, C2_6, C3_6 }, - { 0, C1_5, C2_5, C3_5 }, - { 0, C1_4, C2_4, C3_4 }, - { 0, C1_3, C2_3, C3_3 }, - { 0, C1_2, C2_2, C4_3 }, - { 0, C1_1, C3_2, C4_2 }, - { 0, C2_1, C3_1, C4_1 }, - { 0, C9_9, C8_9, C7_9 }, - { 0, C9_10, C8_10, C7_10 }, - { 0, C9_11, C8_11, C7_11 }, - { 0, C9_12, C8_12, C7_12 }, - { 0, C9_13, C8_13, C7_13 }, - { 0, C9_14, C8_14, C7_14 }, - { 0, C1_15, C2_15, C3_15 }, - - { 0, C1_8, C2_8, C3_8 }, - { 1, C9_6, C8_6, C7_6 }, - { 1, C9_5, C8_5, C7_5 }, - { 1, C9_4, C8_4, C7_4 }, - { 1, C9_3, C8_3, C7_3 }, - { 1, C9_2, C8_2, C7_2 }, - { 1, C9_1, C8_1, C7_1 }, - { 1, C2_9, C3_9, C4_9 }, - { 1, C1_9, C3_10, C4_10 }, - { 1, C1_10, C2_10, C4_11 }, - { 1, C1_11, C2_11, C3_11 }, - { 1, C1_12, C2_12, C3_12 }, - { 1, C1_13, C2_13, C3_13 }, - { 0, C1_16, C2_16, C3_16 }, - - { 1, C9_8, C7_7, C6_7 }, - { 1, C1_5, C2_5, C3_5 }, - { 1, C1_4, C2_4, C3_4 }, - { 1, C1_3, C2_3, C3_3 }, - { 1, C1_2, C2_2, C4_3 }, - { 1, C1_1, C3_2, C4_2 }, - { 1, C9_9, C8_9, C7_9 }, - { 1, C9_10, C8_10, C7_10 }, - { 1, C9_11, C8_11, C7_11 }, - { 1, C9_12, C8_12, C7_12 }, - { 1, C1_14, C2_14, C3_14 }, - { 1, C1_15, C2_15, C3_15 }, - { 1, C1_16, C2_16, C3_16 }, - { 0, C9_15, C8_15, C6_14 }, - - { 1, C8_8, C7_8, C6_8 }, - { 1, C1_8, C2_8, C3_8 }, - { 1, C1_7, C2_7, C3_7 }, - { 1, C2_1, C3_1, C4_1 }, - { 1, C9_14, C8_14, C7_14 }, - { 1, C9_15, C8_15, C6_14 }, - { 1, C9_16, C7_15, C6_15 }, - { 1, C8_16, C7_16, C6_16 }, - { 0, C8_16, C7_16, C6_16 }, - { 0, C9_16, C7_15, C6_15 } -}; - -led_config_t g_led_config = { - { - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, - { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, - { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 }, - { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 }, - { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, NO_LED, 66, 67 } - }, { - { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 203, 0 }, { 224, 0 }, - { 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 }, - { 6, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 201, 32 }, { 224, 32 }, - { 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 }, - { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } - }, { - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 - } -}; - -void suspend_power_down_kb(void) { - rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); -} - -void suspend_wakeup_init_kb(void) { - rgb_matrix_set_suspend_state(false); - suspend_wakeup_init_user(); -} - -__attribute__ ((weak)) -void rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); - } -} -#endif diff --git a/keyboards/dztech/dz65rgb/dz65rgb.h b/keyboards/dztech/dz65rgb/dz65rgb.h index 371facc89e0d..734a1cff3f63 100644 --- a/keyboards/dztech/dz65rgb/dz65rgb.h +++ b/keyboards/dztech/dz65rgb/dz65rgb.h @@ -1,19 +1,28 @@ +/* Copyright 2021 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + #pragma once +#ifdef KEYBOARD_dztech_dz65rgb_v1 + #include "v1.h" +#endif +#ifdef KEYBOARD_dztech_dz65rgb_v2 + #include "v2.h" +#endif +#ifdef KEYBOARD_dztech_dz65rgb_v3 + #include "v3.h" +#endif #include "quantum.h" - -#define XXX KC_NO - -#define LAYOUT_65_ansi( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ - K40, K41, K42, K45, K48, K49, K4A, K4B, K4D, K4E \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E }, \ - { K40, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, XXX, K4D, K4E } \ -} diff --git a/keyboards/dztech/dz65rgb/keymaps/haervig/keymap.c b/keyboards/dztech/dz65rgb/keymaps/haervig/keymap.c new file mode 100644 index 000000000000..6784c14f00a1 --- /dev/null +++ b/keyboards/dztech/dz65rgb/keymaps/haervig/keymap.c @@ -0,0 +1,36 @@ +/* +Copyright 2021 Jakob Hærvig + +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 +#include "haervig.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi( + KC_GESC, DK_1, CU_2, DK_3, CU_4, DK_5, CU_6, CU_7, CU_8, CU_9, CU_0, CU_MINS, CU_EQL, CU_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, CU_LBRC, CU_RBRC, CU_BSLS, KC_PGUP, + CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, CU_SCLN, CU_QUOT, KC_ENT, KC_PGDN, + CU_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, CU_COMM, CU_DOT, CU_SLSH, CU_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/dztech/dz65rgb/keymaps/haervig/rules.mk b/keyboards/dztech/dz65rgb/keymaps/haervig/rules.mk new file mode 100644 index 000000000000..676050bfcec7 --- /dev/null +++ b/keyboards/dztech/dz65rgb/keymaps/haervig/rules.mk @@ -0,0 +1,3 @@ +# Userspace defines +DANISH_ENABLE = yes # Enable Custom US Ansi Keycodes for PC with Danish set as input language +RGB_MATRIX_ENABLE = no # Disable the ugly RGB light \ No newline at end of file diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/config.h b/keyboards/dztech/dz65rgb/keymaps/jumper149/config.h new file mode 100644 index 000000000000..d9d295dfa882 --- /dev/null +++ b/keyboards/dztech/dz65rgb/keymaps/jumper149/config.h @@ -0,0 +1,63 @@ +/* Copyright 2021 Felix Springer + * + * 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 FORCE_NKRO + +#ifdef RGB_MATRIX_ENABLE + +#define DISABLE_RGB_MATRIX_ALPHAS_MODS +#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define DISABLE_RGB_MATRIX_BREATHING +#define DISABLE_RGB_MATRIX_BAND_SAT +#define DISABLE_RGB_MATRIX_BAND_VAL +#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define DISABLE_RGB_MATRIX_CYCLE_ALL +#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN +#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define DISABLE_RGB_MATRIX_DUAL_BEACON +#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL +#define DISABLE_RGB_MATRIX_RAINBOW_BEACON +#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#define DISABLE_RGB_MATRIX_RAINDROPS +#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define DISABLE_RGB_MATRIX_TYPING_HEATMAP +#define DISABLE_RGB_MATRIX_DIGITAL_RAIN +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#define DISABLE_RGB_MATRIX_SPLASH +#define DISABLE_RGB_MATRIX_MULTISPLASH +#define DISABLE_RGB_MATRIX_SOLID_SPLASH +#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH + +// Fix RGB_MATRIX_STARTUP, because RGB_MATRIX_CYCLE_ALL is disabled. +// The actual handling of RGB_EFFECTs is done in keymap.c +#undef RGB_MATRIX_STARTUP_MODE + +#endif diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c b/keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c new file mode 100644 index 000000000000..b166a5629d62 --- /dev/null +++ b/keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c @@ -0,0 +1,120 @@ +/* Copyright 2021 Felix Springer + * + * 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 layers_user { + _QWERTY, + _AD, + _VI, + _FN, + _KB +}; + +enum keycodes_user { + _BASEEF = SAFE_RANGE, + _KITTEF +}; + +int selected_mode_user = RGB_MATRIX_CUSTOM_base_effect; // for layer_state_set_user() +bool process_record_user(uint16_t keycode, keyrecord_t * record) { + switch (keycode) { + case _BASEEF: + if (record->event.pressed) { + selected_mode_user = RGB_MATRIX_CUSTOM_base_effect; + } + return false; + case _KITTEF: + if (record->event.pressed) { + selected_mode_user = RGB_MATRIX_CUSTOM_kitt_effect; + } + return false; + default: + return true; + } +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_65_ansi( + KC_GRAVE, 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_AD] = LAYOUT_65_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_VI] = LAYOUT_65_ansi( + KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_ESC, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FIND, _______, _______, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FN] = LAYOUT_65_ansi( + XXXXXXX, 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_INS, + XXXXXXX, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, KC_PSTE, + CTL_T(KC_CAPS), KC_BRID, KC_VOLD, KC_BRIU, XXXXXXX, XXXXXXX, TG(_AD), TG(_VI), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COPY, + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, KC_MSTP, KC_CUT, + KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, MO(_KB), XXXXXXX, KC_RCTL, KC_MPRV, KC_MPLY, KC_MNXT + ), + [_KB] = LAYOUT_65_ansi( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPI, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, + XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, _BASEEF, _KITTEF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, XXXXXXX, + KC_LSFT, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) + /* + [_LEDS] = LAYOUT_65_ansi( + 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , + 15 , 16 Q, 17 W, 18 E, 19 R, 20 T, 21 Y, 22 U, 23 I, 24 O, 25 P, 26 , 27 , 28 , 29 , + 30 , 31 A, 32 S, 33 D, 34 F, 35 G, 36 H, 37 J, 38 K, 39 L, 40 , 41 , 42 , 43 , + 44 , 45 Z, 46 X, 47 C, 48 V, 49 B, 50 N, 51 M, 52 , 53 , 54 , 55 , 56 , 57 , + 58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 66 , 67 + ) + */ +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case _QWERTY: + rgb_matrix_mode(selected_mode_user); + break; + case _AD: + if (selected_mode_user == RGB_MATRIX_CUSTOM_base_effect) { + rgb_matrix_mode(RGB_MATRIX_CUSTOM_base_ad_effect); + } else { + rgb_matrix_mode(selected_mode_user); + } + break; + case _VI: + rgb_matrix_mode(RGB_MATRIX_CUSTOM_vi_effect); + break; + case _FN: + rgb_matrix_mode(RGB_MATRIX_CUSTOM_fn_indicator); + break; + case _KB: + rgb_matrix_mode(RGB_MATRIX_CUSTOM_kb_indicator); + break; + } + + return state; +} diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/readme.md b/keyboards/dztech/dz65rgb/keymaps/jumper149/readme.md new file mode 100644 index 000000000000..d872587317d2 --- /dev/null +++ b/keyboards/dztech/dz65rgb/keymaps/jumper149/readme.md @@ -0,0 +1,24 @@ +# jumper149's DZ65RGB v2 + +Run commands in the root directory of this repository. + +``` +./bin/qmk compile && sudo dfu-programmer atmega32u4 erase && sudo dfu-programmer atmega32u4 flash ./dztech_dz65rgb_v2_jumper149.hex && sudo dfu-programmer atmega32u4 reset +``` + +## build + +``` +./bin/qmk compile +``` + +## flash + +Use `qmk flash` or if it is broken (unknown reason) you can try this workaround. +I personally had some problems on ArchLinux, that I didn't debug any further though. + +``` +sudo dfu-programmer atmega32u4 erase +sudo dfu-programmer atmega32u4 flash ./dztech_dz65rgb_v2_jumper149.hex +sudo dfu-programmer atmega32u4 reset +``` diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/rgb_matrix_user.inc b/keyboards/dztech/dz65rgb/keymaps/jumper149/rgb_matrix_user.inc new file mode 100644 index 000000000000..8d99ff9481ab --- /dev/null +++ b/keyboards/dztech/dz65rgb/keymaps/jumper149/rgb_matrix_user.inc @@ -0,0 +1,700 @@ +/* Copyright 2021 Felix Springer + * + * 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 . + */ +RGB_MATRIX_EFFECT(base_effect) +RGB_MATRIX_EFFECT(base_ad_effect) +RGB_MATRIX_EFFECT(vi_effect) +RGB_MATRIX_EFFECT(fn_indicator) +RGB_MATRIX_EFFECT(kb_indicator) +RGB_MATRIX_EFFECT(kitt_effect) + +#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS + +/* +[_LEDS] = LAYOUT_65_ansi( + 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , + 15 , 16 Q, 17 W, 18 E, 19 R, 20 T, 21 Y, 22 U, 23 I, 24 O, 25 P, 26 , 27 , 28 , 29 , + 30 , 31 A, 32 S, 33 D, 34 F, 35 G, 36 H, 37 J, 38 K, 39 L, 40 , 41 , 42 , 43 , + 44 , 45 Z, 46 X, 47 C, 48 V, 49 B, 50 N, 51 M, 52 , 53 , 54 , 55 , 56 , 57 , + 58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 66 , 67 +) +*/ + +// variable for startup animation +bool BASE_EFFECT_NOT_STARTED_YET = true; +uint8_t base_effect_startup_counter = 255; + +static HSV base_effect_math(HSV hsv, uint8_t i, uint8_t time) { + + if (BASE_EFFECT_NOT_STARTED_YET) { + base_effect_startup_counter = 0; + BASE_EFFECT_NOT_STARTED_YET = false; + } + + // startup animation + if (base_effect_startup_counter < 255) { + + // jump to correct indices for alpha keys + if (i == 0) { // only run for one key (key 0 is an arbitrary choice) + if (base_effect_startup_counter == 0) { + base_effect_startup_counter = 1; + } else if (base_effect_startup_counter == 1) { + base_effect_startup_counter = 17; + } else if (base_effect_startup_counter == 26) { + base_effect_startup_counter = 31; + } else if (base_effect_startup_counter == 40) { + base_effect_startup_counter = 45; + } else if (base_effect_startup_counter == 52) { + base_effect_startup_counter = 100; + } else if (base_effect_startup_counter == 120) { + base_effect_startup_counter = 255; + } else { + base_effect_startup_counter++; + } + } + + // overwrite some highlit keys + if (3 + 39 - i < base_effect_startup_counter - 100 && i >= 36 && i <= 39) { + hsv.s = hsv.s; + } else if (3 + 39 - i < base_effect_startup_counter - 100 && i >= 31 && i <= 34) { + hsv.s = hsv.s; + // light up alpha keys + } else if (i < base_effect_startup_counter && i >= 16 && i <= 25) { + hsv.s = 0; + } else if (31 + 39 - i < base_effect_startup_counter && i >= 31 && i <= 39) { + hsv.s = 0; + } else if (i < base_effect_startup_counter && i >= 45 && i <= 51) { + hsv.s = 0; + // light up number row + } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 2) { + hsv.s = 0; + hsv.v = 1 * (hsv.v / 8); + } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 3) { + hsv.s = 0; + hsv.v = 2 * (hsv.v / 8); + } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 4) { + hsv.s = 0; + hsv.v = 3 * (hsv.v / 8); + } else if (12 + 1 - i < base_effect_startup_counter - 100 && i >= 5 && i <= 8) { + hsv.v = hsv.v; + } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 9) { + hsv.s = 0; + hsv.v = 3 * (hsv.v / 8); + } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 10) { + hsv.s = 0; + hsv.v = 2 * (hsv.v / 8); + } else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 11) { + hsv.s = 0; + hsv.v = 1 * (hsv.v / 8); + // light up punctuation keys + } else if (27 + 1 - i < base_effect_startup_counter - 100 && i >= 26 && i <= 27) { + hsv.s = 0; + hsv.v = hsv.v / 8; + } else if (41 + 2 - i < base_effect_startup_counter - 100 && i >= 40 && i <= 41) { + hsv.s = 0; + hsv.v = hsv.v / 8; + } else if (54 + 3 - i < base_effect_startup_counter - 100 && i >= 52 && i <= 54) { + hsv.s = 0; + hsv.v = hsv.v / 8; + // rest + } else { + hsv.v = 0; + } + + } else { + + switch (i) { + + // number row + case 0: + hsv.v = 0; + break; + case 1: + hsv.v = 0; + break; + case 2: + hsv.s = 0; + hsv.v = 1 * (hsv.v / 8); + break; + case 3: + hsv.s = 0; + hsv.v = 2 * (hsv.v / 8); + break; + case 4: + hsv.s = 0; + hsv.v = 3 * (hsv.v / 8); + break; + case 5: + hsv.v = hsv.v; + break; + case 6: + hsv.v = hsv.v; + break; + case 7: + hsv.v = hsv.v; + break; + case 8: + hsv.v = hsv.v; + break; + case 9: + hsv.s = 0; + hsv.v = 3 * (hsv.v / 8); + break; + case 10: + hsv.s = 0; + hsv.v = 2 * (hsv.v / 8); + break; + case 11: + hsv.s = 0; + hsv.v = 1 * (hsv.v / 8); + break; + case 12: + hsv.v = 0; + break; + + // punctuation keys + case 26: + hsv.s = 0; + hsv.v = hsv.v / 8; + break; + case 27: + hsv.s = 0; + hsv.v = hsv.v / 8; + break; + case 40: + hsv.s = 0; + hsv.v = hsv.v / 8; + break; + case 41: + hsv.s = 0; + hsv.v = hsv.v / 8; + break; + case 52: + hsv.s = 0; + hsv.v = hsv.v / 8; + break; + case 53: + hsv.s = 0; + hsv.v = hsv.v / 8; + break; + case 54: + hsv.s = 0; + hsv.v = hsv.v / 8; + break; + + default: + if ( + (i > 15 && i <= 25) || + (i > 30 && i <= 39) || + (i > 44 && i <= 51) + ) { + if (i > 35 && i <= 39) { + hsv.s = hsv.s; + } else if (i > 30 && i <= 34) { + hsv.s = hsv.s; + } else { + hsv.s = 0; + } + } else { + hsv.v = 0; + } + break; + + } + + } + + return hsv; +} + +bool base_effect(effect_params_t* params) { + return effect_runner_i(params, &base_effect_math); +} + +static HSV base_ad_effect_math(HSV hsv, uint8_t i, uint8_t time) { + + // no startup animation + if (BASE_EFFECT_NOT_STARTED_YET) { + base_effect_startup_counter = 255; // act like startup is already completed + BASE_EFFECT_NOT_STARTED_YET = false; + } + + switch (i) { + + // delete + case 14: + hsv.h = 0; + hsv.s = 255; + break; + + // insert + case 29: + hsv.h = 255/3; + hsv.s = 255; + break; + + // home + case 43: + hsv.s = 0; + break; + + // end + case 57: + hsv.s = 255; + break; + + default: + hsv = base_effect_math(hsv, i, time); + break; + + } + + return hsv; +} + +bool base_ad_effect(effect_params_t* params) { + return effect_runner_i(params, &base_ad_effect_math); +} + +static HSV vi_effect_math(HSV hsv, uint8_t i, uint8_t time) { + + // no startup animation + if (BASE_EFFECT_NOT_STARTED_YET) { + base_effect_startup_counter = 255; // act like startup is already completed + BASE_EFFECT_NOT_STARTED_YET = false; + } + + switch (i) { + + // hjkl + case 36: + break; + case 37: + break; + case 38: + break; + case 39: + break; + + // page up + case 22: + hsv.s = 0; + break; + + // page down + case 33: + hsv.s = 0; + break; + + // find + case 54: + hsv.s = 0; + break; + + default: + hsv.v = 0; + break; + + } + + return hsv; +} + +bool vi_effect(effect_params_t* params) { + return effect_runner_i(params, &vi_effect_math); +} + +static HSV fn_indicator_math(HSV hsv, uint8_t i, uint8_t time) { + + // cancel base effect startup + base_effect_startup_counter = 255; + + switch (i) { + + // F1 - F12 + case 1: + hsv.h = 0 * 255 / 3; + hsv.s = 255; + break; + case 2: + hsv.h = 0 * 255 / 3; + hsv.s = 255; + break; + case 3: + hsv.h = 0 * 255 / 3; + hsv.s = 255; + break; + case 4: + hsv.h = 0 * 255 / 3; + hsv.s = 255; + break; + case 5: + hsv.h = 1 * 255 / 3; + hsv.s = 255; + break; + case 6: + hsv.h = 1 * 255 / 3; + hsv.s = 255; + break; + case 7: + hsv.h = 1 * 255 / 3; + hsv.s = 255; + break; + case 8: + hsv.h = 1 * 255 / 3; + hsv.s = 255; + break; + case 9: + hsv.h = 2 * 255 / 3; + hsv.s = 255; + break; + case 10: + hsv.h = 2 * 255 / 3; + hsv.s = 255; + break; + case 11: + hsv.h = 2 * 255 / 3; + hsv.s = 255; + break; + case 12: + hsv.h = 2 * 255 / 3; + hsv.s = 255; + break; + + // delete/insert + case 13: + hsv.h = 0; + hsv.s = 255; + break; + case 14: + hsv.h = 1 * (255 / 3); + hsv.s = 255; + break; + + // paste/copy/cut + case 29: + hsv.s = 0; + break; + case 43: + hsv.h = 200; + hsv.s = 255; + break; + case 57: + hsv.h = 0; + hsv.s = 255; + break; + + // print/scroll/pause + case 25: + hsv.s = 0; + break; + case 26: + hsv.s = 0; + break; + case 27: + hsv.s = 0; + break; + + // caps lock + case 30: + hsv.s = 0; + break; + + // modifier + case 44: + hsv.s = 0; + hsv.v = hsv.v / 2; + break; + case 55: + hsv.s = 0; + hsv.v = hsv.v / 2; + break; + case 58: + hsv.s = 0; + hsv.v = hsv.v / 2; + break; + case 59: + hsv.s = 0; + hsv.v = hsv.v / 2; + break; + case 60: + hsv.s = 0; + hsv.v = hsv.v / 2; + break; + case 64: + hsv.s = 0; + hsv.v = hsv.v / 2; + break; + + // volume + case 18: // mute + hsv.h = 0; + break; + case 17: // increase + hsv.s = 255; + break; + case 32: // decrease + hsv.s = 0; + break; + + // brightness + case 33: // increase + hsv.s = 255; + break; + case 31: // decrease + hsv.s = 0; + break; + + // media + case 65: // previous + hsv.s = 0; + break; + case 67: // next + hsv.s = 0; + break; + case 56: // stop + hsv.h = 0; + break; + case 66: // play/pause + hsv.h = 255/3; + break; + + // menu + case 51: + hsv.s = 0; + break; + + // toggle AD layer + case 36: + hsv.h = 0; + break; + + // toggle VI layer + case 37: + hsv.h = 255/3; + break; + + // KB layer + case 62: + hsv.h = time; + hsv.s = 255; + break; + + // no function + default: + hsv.v = 0; + break; + + } + + return hsv; +} + +bool fn_indicator(effect_params_t* params) { + return effect_runner_i(params, &fn_indicator_math); +} + +static HSV kb_indicator_math(HSV hsv, uint8_t i, uint8_t time) { + + // cancel base effect startup + base_effect_startup_counter = 255; + + switch (i) { + + // test HSV + case 14: + break; + case 29: + break; + case 43: + break; + case 57: + break; + case 67: + break; + + // toggle RGB + case 16: + hsv.s = 0; + if (time < (255 / 2)) { + hsv.v = 255; + } else { + hsv.v = 0; + } + break; + + // cycle effect + case 17: + hsv.s = 255; + hsv.v = 255; + if (time < (255 / 3)) { + hsv.h = 0; + } else if (time < (2 * 255 / 3)) { + hsv.h = 255 / 3; + } else { + hsv.h = 2 * 255 / 3; + } + break; + + // adjust hue + case 18: + hsv.h = time; + hsv.s = 255; + hsv.v = 255; + break; + case 19: + hsv.h = 255 - time; + hsv.s = 255; + hsv.v = 255; + break; + + // adjust saturation + case 32: + hsv.s = 255; + hsv.v = 255; + break; + case 33: + hsv.s = 0; + hsv.v = 255; + break; + + // adjust value + case 45: + hsv.v = 255; + break; + case 46: + hsv.v = 63; + break; + + // adjust speed + case 4: + if (((time / 8) % 2) == 0) { + hsv.v = 255; + } else { + hsv.v = 63; + } + break; + case 5: + if (((time / 16) % 2) == 0) { + hsv.v = 63; + } else { + hsv.v = 255; + } + break; + + // set main effect + case 36: // BASE + hsv.s = 0; + break; + case 37: // KITT + hsv.h = 0; + hsv.s = 255; + if (time < 128) { + hsv.v = time; + } else { + hsv.v = 255 - time; + } + break; + + // reset (for flashing) + case 13: + hsv.s = 0; + if (time < 16) { + hsv.v = 255 - time * 128 / 16; + } else { + hsv.v = 127; + } + break; + + // reset (reinitialize EEPROM) + case 42: + hsv.s = 0; + hsv.v = 127; + break; + + // shift + case 44: + hsv.s = 0; + hsv.v = 63; + break; + case 55: + hsv.s = 0; + hsv.v = 63; + break; + + // no function + default: + hsv.v = 0; + + } + + return hsv; +} + +bool kb_indicator(effect_params_t* params) { + return effect_runner_i(params, &kb_indicator_math); +} + +uint8_t led_count = 7; +uint8_t led_first = 33; +static uint8_t time_to_led(uint8_t time, uint8_t led_behind) { + uint16_t led_time = led_count * time; + uint16_t step = ((2 * led_count + (led_time / 128)) - led_behind) % (2 * led_count); + uint8_t led; + if (step < led_count) { + led = step; + } else { + led = led_count - 1 - (step - led_count); + } + return led; +} + +static HSV kitt_effect_math(HSV hsv, uint8_t i, uint8_t time) { + + // reset base effect startup + if (i == 0) { + BASE_EFFECT_NOT_STARTED_YET = true; + } + + hsv.h = 0; + hsv.s = 255; + + if (i >= led_first && i < led_first + led_count) { + uint8_t j = i - led_first; + if (j == time_to_led(time, 0)) { + hsv.v = hsv.v; + } else if (j == time_to_led(time, 1)) { + hsv.v = hsv.v/2; + } else if (j == time_to_led(time, 2)) { + hsv.v = hsv.v/4; + } else if (j == time_to_led(time, 3)) { + hsv.v = hsv.v/8; + } else { + hsv.v = 0; + } + } else { + hsv.v = 0; + } + + return hsv; +} + +bool kitt_effect(effect_params_t* params) { + return effect_runner_i(params, &kitt_effect_math); +} + +#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS + +// vim: syntax=c diff --git a/keyboards/dztech/dz65rgb/keymaps/jumper149/rules.mk b/keyboards/dztech/dz65rgb/keymaps/jumper149/rules.mk new file mode 100644 index 000000000000..6245023e803f --- /dev/null +++ b/keyboards/dztech/dz65rgb/keymaps/jumper149/rules.mk @@ -0,0 +1 @@ +RGB_MATRIX_CUSTOM_USER = yes diff --git a/keyboards/dztech/dz65rgb/keymaps/via/config.h b/keyboards/dztech/dz65rgb/keymaps/via/config.h new file mode 100644 index 000000000000..1beb7130f75b --- /dev/null +++ b/keyboards/dztech/dz65rgb/keymaps/via/config.h @@ -0,0 +1,21 @@ +/* Copyright 2021 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define DISABLE_RGB_MATRIX_PIXEL_FLOW +#define DISABLE_RGB_MATRIX_PIXEL_FRACTAL +#define DISABLE_RGB_MATRIX_PIXEL_RAIN diff --git a/keyboards/dztech/dz65rgb/readme.md b/keyboards/dztech/dz65rgb/readme.md index 8d7b95b3d600..e4d7a7a35db6 100644 --- a/keyboards/dztech/dz65rgb/readme.md +++ b/keyboards/dztech/dz65rgb/readme.md @@ -3,17 +3,25 @@ A customizable 65% RGB keyboard. * Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) -* Hardware Supported: DZ65RGB V1 and V2 +* Hardware Supported: DZ65RGB V1,V2 and V3 * Hardware Availability: [KBDfans](https://kbdfans.com/) -There are two versions of the DZ65RGB. Please use the appropriate firmware for your board. +There are three versions of the DZ65RGB. Please use the appropriate firmware for your board. * V1: STM32F303 (Arm), takes .bin files -* V2: ATmega32U4 (AVR), takes .hex files +* V2: ATmega32U4 (AVR), takes .hex files, is31fl3731 rgbmatrix driver +* V3: ATmega32U4 (AVR), takes .bin files, is31fl3741 rgbmatrix driver + +## Bootloader mode + +To put in bootloader mode, hold the `Esc` key while plugging in the USB cable. or use reset key behind the pcb. + +## Making firmware Make example for this keyboard (after setting up your build environment): make dztech/dz65rgb/v1:default # Arm (STM32F303) make dztech/dz65rgb/v2:default # AVR (ATmega32U4) + make dztech/dz65rgb/v3:default # AVR (ATmega32U4) 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/dztech/dz65rgb/v1/config.h b/keyboards/dztech/dz65rgb/v1/config.h index cd474771602f..1ecd9002cbad 100644 --- a/keyboards/dztech/dz65rgb/v1/config.h +++ b/keyboards/dztech/dz65rgb/v1/config.h @@ -1,3 +1,18 @@ +/* Copyright 2019 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #pragma once /* USB Device descriptor parameter */ @@ -36,9 +51,9 @@ # define RGB_MATRIX_LED_FLUSH_LIMIT 26 # define DEBOUNCE 3 # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES -# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN +# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN # define DISABLE_RGB_MATRIX_BAND_SAT # define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT # define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT diff --git a/keyboards/dztech/dz65rgb/v1/readme.md b/keyboards/dztech/dz65rgb/v1/readme.md new file mode 100644 index 000000000000..ac433e5b8dc0 --- /dev/null +++ b/keyboards/dztech/dz65rgb/v1/readme.md @@ -0,0 +1,16 @@ +# DZ65RGB V1 + +A customizable 65% RGB keyboard. + +* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) +* Hardware Supported: DZ65RGB V1 +* Hardware Availability: [KBDfans](https://kbdfans.com/) + +## Making firmware + +Make example for this keyboard (after setting up your build environment): + + make dztech/dz65rgb/v1: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). + diff --git a/keyboards/dztech/dz65rgb/v1/rules.mk b/keyboards/dztech/dz65rgb/v1/rules.mk index 8751af649131..b970b96c7eda 100644 --- a/keyboards/dztech/dz65rgb/v1/rules.mk +++ b/keyboards/dztech/dz65rgb/v1/rules.mk @@ -2,10 +2,13 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -16,7 +19,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 RGB_MATRIX_ENABLE = yes # Use RGB matrix diff --git a/keyboards/dztech/dz65rgb/v1/v1.c b/keyboards/dztech/dz65rgb/v1/v1.c new file mode 100644 index 000000000000..aabe41c31324 --- /dev/null +++ b/keyboards/dztech/dz65rgb/v1/v1.c @@ -0,0 +1,123 @@ +/* Copyright 2019 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "v1.h" + +#ifdef RGB_MATRIX_ENABLE +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { + { 0, C8_8, C7_8, C6_8 }, + { 0, C9_8, C7_7, C6_7 }, + { 0, C9_7, C8_7, C6_6 }, + { 0, C9_6, C8_6, C7_6 }, + { 0, C9_5, C8_5, C7_5 }, + { 0, C9_4, C8_4, C7_4 }, + { 0, C9_3, C8_3, C7_3 }, + { 0, C9_2, C8_2, C7_2 }, + { 0, C9_1, C8_1, C7_1 }, + { 0, C2_9, C3_9, C4_9 }, + { 0, C1_9, C3_10, C4_10 }, + { 0, C1_10, C2_10, C4_11 }, + { 0, C1_11, C2_11, C3_11 }, + { 0, C1_13, C2_13, C3_13 }, + { 0, C1_14, C2_14, C3_14 }, + + { 0, C1_7, C2_7, C3_7 }, + { 0, C1_6, C2_6, C3_6 }, + { 0, C1_5, C2_5, C3_5 }, + { 0, C1_4, C2_4, C3_4 }, + { 0, C1_3, C2_3, C3_3 }, + { 0, C1_2, C2_2, C4_3 }, + { 0, C1_1, C3_2, C4_2 }, + { 0, C2_1, C3_1, C4_1 }, + { 0, C9_9, C8_9, C7_9 }, + { 0, C9_10, C8_10, C7_10 }, + { 0, C9_11, C8_11, C7_11 }, + { 0, C9_12, C8_12, C7_12 }, + { 0, C9_13, C8_13, C7_13 }, + { 0, C9_14, C8_14, C7_14 }, + { 0, C1_15, C2_15, C3_15 }, + + { 0, C1_8, C2_8, C3_8 }, + { 1, C9_6, C8_6, C7_6 }, + { 1, C9_5, C8_5, C7_5 }, + { 1, C9_4, C8_4, C7_4 }, + { 1, C9_3, C8_3, C7_3 }, + { 1, C9_2, C8_2, C7_2 }, + { 1, C9_1, C8_1, C7_1 }, + { 1, C2_9, C3_9, C4_9 }, + { 1, C1_9, C3_10, C4_10 }, + { 1, C1_10, C2_10, C4_11 }, + { 1, C1_11, C2_11, C3_11 }, + { 1, C1_12, C2_12, C3_12 }, + { 1, C1_13, C2_13, C3_13 }, + { 0, C1_16, C2_16, C3_16 }, + + { 1, C9_8, C7_7, C6_7 }, + { 1, C1_5, C2_5, C3_5 }, + { 1, C1_4, C2_4, C3_4 }, + { 1, C1_3, C2_3, C3_3 }, + { 1, C1_2, C2_2, C4_3 }, + { 1, C1_1, C3_2, C4_2 }, + { 1, C9_9, C8_9, C7_9 }, + { 1, C9_10, C8_10, C7_10 }, + { 1, C9_11, C8_11, C7_11 }, + { 1, C9_12, C8_12, C7_12 }, + { 1, C1_14, C2_14, C3_14 }, + { 1, C1_15, C2_15, C3_15 }, + { 1, C1_16, C2_16, C3_16 }, + { 0, C9_15, C8_15, C6_14 }, + + { 1, C8_8, C7_8, C6_8 }, + { 1, C1_8, C2_8, C3_8 }, + { 1, C1_7, C2_7, C3_7 }, + { 1, C2_1, C3_1, C4_1 }, + { 1, C9_14, C8_14, C7_14 }, + { 1, C9_15, C8_15, C6_14 }, + { 1, C9_16, C7_15, C6_15 }, + { 1, C8_16, C7_16, C6_16 }, + { 0, C8_16, C7_16, C6_16 }, + { 0, C9_16, C7_15, C6_15 } +}; + +led_config_t g_led_config = { + { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, NO_LED, 66, 67 } + }, { + { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 203, 0 }, { 224, 0 }, + { 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 }, + { 6, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 201, 32 }, { 224, 32 }, + { 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 }, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } + }, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + + +__attribute__ ((weak)) +void rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); + } +} +#endif diff --git a/keyboards/dztech/dz65rgb/v1/v1.h b/keyboards/dztech/dz65rgb/v1/v1.h new file mode 100644 index 000000000000..1811cefae6af --- /dev/null +++ b/keyboards/dztech/dz65rgb/v1/v1.h @@ -0,0 +1,34 @@ +/* Copyright 2019 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_65_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K45, K48, K49, K4A, K4B, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, XXX, K4D, K4E } \ +} diff --git a/keyboards/dztech/dz65rgb/v2/config.h b/keyboards/dztech/dz65rgb/v2/config.h index ccd74275ae88..1e1e21f5e987 100644 --- a/keyboards/dztech/dz65rgb/v2/config.h +++ b/keyboards/dztech/dz65rgb/v2/config.h @@ -1,3 +1,18 @@ +/* Copyright 2020 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ #pragma once /* USB Device descriptor parameter */ @@ -36,7 +51,7 @@ # define RGB_MATRIX_LED_FLUSH_LIMIT 26 # define DEBOUNCE 3 # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_KEYPRESSES # define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN # define DISABLE_RGB_MATRIX_BAND_SAT diff --git a/keyboards/dztech/dz65rgb/v2/readme.md b/keyboards/dztech/dz65rgb/v2/readme.md new file mode 100644 index 000000000000..7bf376640384 --- /dev/null +++ b/keyboards/dztech/dz65rgb/v2/readme.md @@ -0,0 +1,16 @@ +# DZ65RGB V2 + +A customizable 65% RGB keyboard. + +* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) +* Hardware Supported: DZ65RGB V2 +* Hardware Availability: [KBDfans](https://kbdfans.com/) + +## Making firmware + +Make example for this keyboard (after setting up your build environment): + + make dztech/dz65rgb/v2: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). + diff --git a/keyboards/dztech/dz65rgb/v2/rules.mk b/keyboards/dztech/dz65rgb/v2/rules.mk index 4267e708061b..149a7a795782 100644 --- a/keyboards/dztech/dz65rgb/v2/rules.mk +++ b/keyboards/dztech/dz65rgb/v2/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 RGB_MATRIX_ENABLE = yes # Use RGB matrix diff --git a/keyboards/dztech/dz65rgb/v2/v2.c b/keyboards/dztech/dz65rgb/v2/v2.c new file mode 100644 index 000000000000..dce167c73f55 --- /dev/null +++ b/keyboards/dztech/dz65rgb/v2/v2.c @@ -0,0 +1,123 @@ +/* Copyright 2020 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include "v2.h" + +#ifdef RGB_MATRIX_ENABLE +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { + { 0, C8_8, C7_8, C6_8 }, + { 0, C9_8, C7_7, C6_7 }, + { 0, C9_7, C8_7, C6_6 }, + { 0, C9_6, C8_6, C7_6 }, + { 0, C9_5, C8_5, C7_5 }, + { 0, C9_4, C8_4, C7_4 }, + { 0, C9_3, C8_3, C7_3 }, + { 0, C9_2, C8_2, C7_2 }, + { 0, C9_1, C8_1, C7_1 }, + { 0, C2_9, C3_9, C4_9 }, + { 0, C1_9, C3_10, C4_10 }, + { 0, C1_10, C2_10, C4_11 }, + { 0, C1_11, C2_11, C3_11 }, + { 0, C1_13, C2_13, C3_13 }, + { 0, C1_14, C2_14, C3_14 }, + + { 0, C1_7, C2_7, C3_7 }, + { 0, C1_6, C2_6, C3_6 }, + { 0, C1_5, C2_5, C3_5 }, + { 0, C1_4, C2_4, C3_4 }, + { 0, C1_3, C2_3, C3_3 }, + { 0, C1_2, C2_2, C4_3 }, + { 0, C1_1, C3_2, C4_2 }, + { 0, C2_1, C3_1, C4_1 }, + { 0, C9_9, C8_9, C7_9 }, + { 0, C9_10, C8_10, C7_10 }, + { 0, C9_11, C8_11, C7_11 }, + { 0, C9_12, C8_12, C7_12 }, + { 0, C9_13, C8_13, C7_13 }, + { 0, C9_14, C8_14, C7_14 }, + { 0, C1_15, C2_15, C3_15 }, + + { 0, C1_8, C2_8, C3_8 }, + { 1, C9_6, C8_6, C7_6 }, + { 1, C9_5, C8_5, C7_5 }, + { 1, C9_4, C8_4, C7_4 }, + { 1, C9_3, C8_3, C7_3 }, + { 1, C9_2, C8_2, C7_2 }, + { 1, C9_1, C8_1, C7_1 }, + { 1, C2_9, C3_9, C4_9 }, + { 1, C1_9, C3_10, C4_10 }, + { 1, C1_10, C2_10, C4_11 }, + { 1, C1_11, C2_11, C3_11 }, + { 1, C1_12, C2_12, C3_12 }, + { 1, C1_13, C2_13, C3_13 }, + { 0, C1_16, C2_16, C3_16 }, + + { 1, C9_8, C7_7, C6_7 }, + { 1, C1_5, C2_5, C3_5 }, + { 1, C1_4, C2_4, C3_4 }, + { 1, C1_3, C2_3, C3_3 }, + { 1, C1_2, C2_2, C4_3 }, + { 1, C1_1, C3_2, C4_2 }, + { 1, C9_9, C8_9, C7_9 }, + { 1, C9_10, C8_10, C7_10 }, + { 1, C9_11, C8_11, C7_11 }, + { 1, C9_12, C8_12, C7_12 }, + { 1, C1_14, C2_14, C3_14 }, + { 1, C1_15, C2_15, C3_15 }, + { 1, C1_16, C2_16, C3_16 }, + { 0, C9_15, C8_15, C6_14 }, + + { 1, C8_8, C7_8, C6_8 }, + { 1, C1_8, C2_8, C3_8 }, + { 1, C1_7, C2_7, C3_7 }, + { 1, C2_1, C3_1, C4_1 }, + { 1, C9_14, C8_14, C7_14 }, + { 1, C9_15, C8_15, C6_14 }, + { 1, C9_16, C7_15, C6_15 }, + { 1, C8_16, C7_16, C6_16 }, + { 0, C8_16, C7_16, C6_16 }, + { 0, C9_16, C7_15, C6_15 } +}; + +led_config_t g_led_config = { + { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, NO_LED, 66, 67 } + }, { + { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 203, 0 }, { 224, 0 }, + { 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 }, + { 6, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 201, 32 }, { 224, 32 }, + { 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 }, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } + }, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 + } +}; + + +__attribute__ ((weak)) +void rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); + } +} +#endif diff --git a/keyboards/dztech/dz65rgb/v2/v2.h b/keyboards/dztech/dz65rgb/v2/v2.h new file mode 100644 index 000000000000..ead68e8760dd --- /dev/null +++ b/keyboards/dztech/dz65rgb/v2/v2.h @@ -0,0 +1,34 @@ +/* Copyright 2020 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_65_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \ + K40, K41, K42, K45, K48, K49, K4A, K4B, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, XXX, K4D, K4E } \ +} diff --git a/keyboards/dztech/dz65rgb/v3/config.h b/keyboards/dztech/dz65rgb/v3/config.h new file mode 100755 index 000000000000..dbf2f5b3ce8b --- /dev/null +++ b/keyboards/dztech/dz65rgb/v3/config.h @@ -0,0 +1,57 @@ +/* Copyright 2021 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x445A +#define PRODUCT_ID 0x1424 +#define DEVICE_VER 0x0003 +#define MANUFACTURER DZTECH +#define PRODUCT DZ65RGBV3 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 +#define MATRIX_ROW_PINS { F0, F1, F4, E6, C6 } +#define MATRIX_COL_PINS { F7, F6, F5, C7, B0, B1, B2, B3, B4, D7, D6, D4, D5, D3, D2} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION +#ifdef RGB_MATRIX_ENABLE +#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define USB_SUSPEND_WAKEUP_DELAY 5000 +# define RGB_MATRIX_KEYPRESSES +# define RGB_MATRIX_LED_PROCESS_LIMIT 4 +# define RGB_MATRIX_LED_FLUSH_LIMIT 26 +# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL +# define DRIVER_ADDR_1 0b0110000 +# define DRIVER_ADDR_2 0b0110000 // this is here for compliancy reasons. +# define DRIVER_COUNT 1 +# define DRIVER_1_LED_TOTAL 68 +# define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL +# define DRIVER_INDICATOR_LED_TOTAL 0 +#endif diff --git a/keyboards/dztech/dz65rgb/v3/readme.md b/keyboards/dztech/dz65rgb/v3/readme.md new file mode 100644 index 000000000000..e5ae7eec7cea --- /dev/null +++ b/keyboards/dztech/dz65rgb/v3/readme.md @@ -0,0 +1,19 @@ +# DZ65RGB V3 + +A customizable 65% RGB keyboard. + +* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) +* Hardware Supported: DZ65RGB V3 +* Hardware Availability: [KBDfans](https://kbdfans.com/) + +## Bootloader mode + +To put in bootloader mode, hold the `Esc` key while plugging in the USB cable. or use reset key behind the pcb. + +## Making firmware + +Make example for this keyboard (after setting up your build environment): + + make dztech/dz65rgb/v3: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). diff --git a/keyboards/dztech/dz65rgb/v3/rules.mk b/keyboards/dztech/dz65rgb/v3/rules.mk new file mode 100755 index 000000000000..bde27b83d7ed --- /dev/null +++ b/keyboards/dztech/dz65rgb/v3/rules.mk @@ -0,0 +1,26 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = lufa-ms +BOOTLOADER_SIZE = 6144 + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes # Use RGB matrix +RGB_MATRIX_DRIVER = IS31FL3741 +LTO_ENABLE = yes diff --git a/keyboards/dztech/dz65rgb/v3/v3.c b/keyboards/dztech/dz65rgb/v3/v3.c new file mode 100755 index 000000000000..c3719bfa518f --- /dev/null +++ b/keyboards/dztech/dz65rgb/v3/v3.c @@ -0,0 +1,125 @@ +/* Copyright 2021 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "v3.h" + +#ifdef RGB_MATRIX_ENABLE + +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { + {0, CS21_SW1, CS20_SW1, CS19_SW1}, + {0, CS21_SW2, CS20_SW2, CS19_SW2}, + {0, CS21_SW3, CS20_SW3, CS19_SW3}, + {0, CS21_SW4, CS20_SW4, CS19_SW4}, + {0, CS21_SW5, CS20_SW5, CS19_SW5}, + {0, CS21_SW6, CS20_SW6, CS19_SW6}, + {0, CS21_SW7, CS20_SW7, CS19_SW7}, + {0, CS21_SW8, CS20_SW8, CS19_SW8}, + {0, CS24_SW1, CS23_SW1, CS22_SW1}, + {0, CS24_SW2, CS23_SW2, CS22_SW2}, + {0, CS24_SW3, CS23_SW3, CS22_SW3}, + {0, CS24_SW4, CS23_SW4, CS22_SW4}, + {0, CS24_SW5, CS23_SW5, CS22_SW5}, + {0, CS24_SW6, CS23_SW6, CS22_SW6}, + {0, CS24_SW7, CS23_SW7, CS22_SW7}, + + {0, CS15_SW1, CS14_SW1, CS13_SW1}, + {0, CS15_SW2, CS14_SW2, CS13_SW2}, + {0, CS15_SW3, CS14_SW3, CS13_SW3}, + {0, CS15_SW4, CS14_SW4, CS13_SW4}, + {0, CS15_SW5, CS14_SW5, CS13_SW5}, + {0, CS15_SW6, CS14_SW6, CS13_SW6}, + {0, CS15_SW7, CS14_SW7, CS13_SW7}, + {0, CS15_SW8, CS14_SW8, CS13_SW8}, + {0, CS30_SW1, CS29_SW1, CS28_SW1}, + {0, CS30_SW2, CS29_SW2, CS28_SW2}, + {0, CS30_SW3, CS29_SW3, CS28_SW3}, + {0, CS30_SW4, CS29_SW4, CS28_SW4}, + {0, CS30_SW5, CS29_SW5, CS28_SW5}, + {0, CS30_SW6, CS29_SW6, CS28_SW6}, + {0, CS30_SW7, CS29_SW7, CS28_SW7}, + + {0, CS12_SW1, CS11_SW1, CS10_SW1}, + {0, CS12_SW2, CS11_SW2, CS10_SW2}, + {0, CS12_SW3, CS11_SW3, CS10_SW3}, + {0, CS12_SW4, CS11_SW4, CS10_SW4}, + {0, CS12_SW5, CS11_SW5, CS10_SW5}, + {0, CS12_SW6, CS11_SW6, CS10_SW6}, + {0, CS12_SW7, CS11_SW7, CS10_SW7}, + {0, CS12_SW8, CS11_SW8, CS10_SW8}, + {0, CS33_SW1, CS32_SW1, CS31_SW1}, + {0, CS33_SW2, CS32_SW2, CS31_SW2}, + {0, CS33_SW3, CS32_SW3, CS31_SW3}, + {0, CS33_SW4, CS32_SW4, CS31_SW4}, + {0, CS33_SW5, CS32_SW5, CS31_SW5}, + {0, CS33_SW7, CS32_SW7, CS31_SW7}, + + {0, CS9_SW1, CS8_SW1, CS7_SW1}, + {0, CS9_SW2, CS8_SW2, CS7_SW2}, + {0, CS9_SW3, CS8_SW3, CS7_SW3}, + {0, CS9_SW4, CS8_SW4, CS7_SW4}, + {0, CS9_SW5, CS8_SW5, CS7_SW5}, + {0, CS9_SW6, CS8_SW6, CS7_SW6}, + {0, CS9_SW7, CS8_SW7, CS7_SW7}, + {0, CS9_SW8, CS8_SW8, CS7_SW8}, + {0, CS36_SW1, CS35_SW1, CS34_SW1}, + {0, CS36_SW2, CS35_SW2, CS34_SW2}, + {0, CS36_SW3, CS35_SW3, CS34_SW3}, + {0, CS36_SW4, CS35_SW4, CS34_SW4}, + {0, CS36_SW5, CS35_SW5, CS34_SW5}, + {0, CS36_SW7, CS35_SW7, CS34_SW7}, + + {0, CS3_SW1, CS2_SW1, CS1_SW1}, + {0, CS3_SW2, CS2_SW2, CS1_SW2}, + {0, CS3_SW3, CS2_SW3, CS1_SW3}, + {0, CS3_SW6, CS2_SW6, CS1_SW6}, + {0, CS39_SW1, CS38_SW1, CS37_SW1}, + {0, CS39_SW2, CS38_SW2, CS37_SW2}, + {0, CS39_SW3, CS38_SW3, CS37_SW3}, + {0, CS39_SW4, CS38_SW4, CS37_SW4}, + {0, CS39_SW5, CS38_SW5, CS37_SW5}, + {0, CS39_SW7, CS38_SW7, CS37_SW7} + +}; +led_config_t g_led_config = { { + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, + { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, + { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED,42, 43 }, + { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, NO_LED,55, 56, 57 }, + { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 } +}, { + {0,0},{15,0},{30,0},{45,0},{60,0},{75,0},{90,0},{105,0},{120,0},{135,0},{150,0},{165,0},{180,0},{203,0},{224,0}, + {4,16},{23,16},{38,16},{53,16},{68,16},{83,16},{98,16},{113,16},{128,16},{143,16},{158,16},{173,16},{188,16},{206,16},{224,16}, + {6,32},{26,32},{41,32},{56,32},{71,32},{86,32},{101,32},{116,32},{131,32},{146,32},{161,32},{176,32},{201,32},{224,32}, + {9,48},{34,48},{49,48},{64,48},{79,48},{94,48},{109,48},{124,48},{139,48},{154,48},{169,48},{189,48},{210,48},{224,48}, + { 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } +}, { + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 4, 1, 1, 1, 1, 1, 1 +} }; + + +__attribute__ ((weak)) +void rgb_matrix_indicators_user(void) +{ + if (host_keyboard_led_state().caps_lock) + { + rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); + } +} +#endif diff --git a/keyboards/dztech/dz65rgb/v3/v3.h b/keyboards/dztech/dz65rgb/v3/v3.h new file mode 100755 index 000000000000..a36069d79550 --- /dev/null +++ b/keyboards/dztech/dz65rgb/v3/v3.h @@ -0,0 +1,35 @@ +/* Copyright 2021 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_65_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, XXX, K3C, K3D, K3E }, \ + { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, K4E } \ +} diff --git a/keyboards/dztech/dz96/rules.mk b/keyboards/dztech/dz96/rules.mk index 6e53d4cab232..bbdf52f862af 100644 --- a/keyboards/dztech/dz96/rules.mk +++ b/keyboards/dztech/dz96/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/dztech/volcano660/readme.md b/keyboards/dztech/volcano660/readme.md deleted file mode 100644 index f6a4e822c81e..000000000000 --- a/keyboards/dztech/volcano660/readme.md +++ /dev/null @@ -1,12 +0,0 @@ -# Volcano660 - -* Keyboard Maintainer: DZTECH -* Hardware Supported: DZTECH -* Hardware Availability: iLumkb - -Make example for this keyboard (after setting up your build environment): - - make dztech/volcano660:default - make dztech/volcano660:via - -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/e88/rules.mk b/keyboards/e88/rules.mk index dc1dcdb8519d..7d6e8d360a11 100644 --- a/keyboards/e88/rules.mk +++ b/keyboards/e88/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/ealdin/quadrant/quadrant.c b/keyboards/ealdin/quadrant/quadrant.c index 5a4acaf006cd..a5aff62dae41 100644 --- a/keyboards/ealdin/quadrant/quadrant.c +++ b/keyboards/ealdin/quadrant/quadrant.c @@ -17,7 +17,8 @@ // Rotary encoder functions: -__attribute__((weak)) void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) return false; uint16_t mapped_code = 0; if (index == 0) { if (clockwise) { @@ -49,6 +50,7 @@ __attribute__((weak)) void encoder_update_user(uint8_t index, bool clockwise) { } tap_code(mapped_code); } + return true; } void keyboard_pre_init_kb(void) { @@ -63,4 +65,3 @@ bool led_update_kb(led_t led_state) { } return true; } - diff --git a/keyboards/ealdin/quadrant/rules.mk b/keyboards/ealdin/quadrant/rules.mk index c3d0a548c1e0..02b4cba32bd4 100644 --- a/keyboards/ealdin/quadrant/rules.mk +++ b/keyboards/ealdin/quadrant/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/earth_rover/rules.mk b/keyboards/earth_rover/rules.mk index fd76a52478f7..7f0fa90fde73 100644 --- a/keyboards/earth_rover/rules.mk +++ b/keyboards/earth_rover/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c b/keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c index d3242a9de188..d8c980f47143 100644 --- a/keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c +++ b/keyboards/ebastler/isometria_75/rev1/keymaps/default/keymap.c @@ -18,32 +18,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_iso( /* keymap for layer 0 */ - 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_MPLY, - 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_HOME, - 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_PGUP, - 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_PGDN, - 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_END, + 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_MPLY, + 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_HOME, + 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_PGUP, + 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_PGDN, + 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_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(1, KC_APP), KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_iso( /* keymap for layer 1 */ - RGB_TOG, RGB_VAD, RGB_VAI, BL_DEC, BL_INC, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_RMOD, RGB_MOD, RGB_SPD, RGB_SPI, RGB_M_P, KC_MUTE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_INS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, + RGB_TOG, RGB_VAD, RGB_VAI, BL_DEC, BL_INC, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_RMOD, RGB_MOD, RGB_SPD, RGB_SPI, RGB_M_P, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_INS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(1, KC_APP), KC_TRNS, KC_TRNS, KC_TRNS), [2] = LAYOUT_iso( /* keymap for layer 2 */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(1, KC_APP), KC_TRNS, KC_TRNS, KC_TRNS), }; /* Encoder */ -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { /* The first if reads the first encoder, not needed on this board which only features a single one */ if (index == 0) { /* The switch case allows for different encoder mappings on different layers, "default" map gets applied for all unspecified layers */ @@ -71,4 +71,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c b/keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c index 1ed98f1a55a7..0b83408beb25 100644 --- a/keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c +++ b/keyboards/ebastler/isometria_75/rev1/keymaps/via/keymap.c @@ -18,40 +18,40 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_iso( /* keymap for layer 0 */ - 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_MPLY, - 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_HOME, - 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_PGUP, - 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_PGDN, - 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_END, + 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_MPLY, + 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_HOME, + 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_PGUP, + 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_PGDN, + 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_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LT(1, KC_APP), KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_iso( /* keymap for layer 1 */ - RGB_TOG, RGB_VAD, RGB_VAI, BL_DEC, BL_INC, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_RMOD, RGB_MOD, RGB_SPD, RGB_SPI, RGB_M_P, KC_MUTE, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_INS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, + RGB_TOG, RGB_VAD, RGB_VAI, BL_DEC, BL_INC, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_RMOD, RGB_MOD, RGB_SPD, RGB_SPI, RGB_M_P, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_INS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(1, KC_APP), KC_TRNS, KC_TRNS, KC_TRNS), [2] = LAYOUT_iso( /* keymap for layer 2 */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(1, KC_APP), KC_TRNS, KC_TRNS, KC_TRNS), [3] = LAYOUT_iso( /* keymap for layer 3 */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; /* Encoder */ -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { /* The first if reads the first encoder, not needed on this board which only features a single one */ if (index == 0) { /* The switch case allows for different encoder mappings on different layers, "default" map gets applied for all unspecified layers */ @@ -79,4 +79,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { break; } } + return true; } diff --git a/keyboards/ebastler/isometria_75/rev1/rules.mk b/keyboards/ebastler/isometria_75/rev1/rules.mk index 72be720b2bd6..a56e6925410f 100644 --- a/keyboards/ebastler/isometria_75/rev1/rules.mk +++ b/keyboards/ebastler/isometria_75/rev1/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/eco/eco.h b/keyboards/eco/eco.h index 8c57244fba11..211e41fe8ffd 100644 --- a/keyboards/eco/eco.h +++ b/keyboards/eco/eco.h @@ -10,18 +10,4 @@ #include "quantum.h" -// Used to create a keymap using only KC_ prefixed keys -#define LAYOUT_kc( \ - k01, k02, k03, k04, k05, k06, k07, k08, k09, k010, k011, k012, k013, k014, \ - k11, k12, k13, k14, k15, k16, k17, k18, k19, k110, k111, k112, k113, k114, \ - k21, k22, k23, k24, k25, k26, k27, k28, k29, k210, k211, k212, k213, k214, \ - k31, k32, k33, k34, k35, k36, k37, k38, k39, k310, k311, k312, k313, k314 \ - ) \ - { \ - { KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k010, KC_##k011, KC_##k012, KC_##k013, KC_##k014 }, \ - { KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k110, KC_##k111, KC_##k112, KC_##k113, KC_##k114 }, \ - { KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k210, KC_##k211, KC_##k212, KC_##k213, KC_##k214 }, \ - { KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k310, KC_##k311, KC_##k312, KC_##k313, KC_##k314 } \ - } - #endif diff --git a/keyboards/eco/keymaps/bcat/keymap.c b/keyboards/eco/keymaps/bcat/keymap.c index 066acbe64906..d46a7d416b25 100644 --- a/keyboards/eco/keymaps/bcat/keymap.c +++ b/keyboards/eco/keymaps/bcat/keymap.c @@ -34,6 +34,7 @@ enum layer { #define KY_ZMRST LCTL(KC_0) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off /* Default layer: http://www.keyboard-layout-editor.com/#/gists/2c11371c7a5f7cd08a0132631d3d3281 */ [LAYER_DEFAULT] = LAYOUT( KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, @@ -41,7 +42,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, XXXXXXX, KC_LALT, KC_LCTL, LY_LWR, KC_SPC, XXXXXXX, XXXXXXX, KC_ENT, LY_RSE, KC_RALT, KC_RGUI, XXXXXXX, XXXXXXX ), - /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/11256970dc0552886a82382ee02fa415 */ [LAYER_LOWER] = LAYOUT( MC_ALTT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, @@ -49,7 +49,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, KC_LGUI, _______, _______, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - /* Raise layer: http://www.keyboard-layout-editor.com/#/gists/308a8be75e0b85902dc18db1b2546862 */ [LAYER_RAISE] = LAYOUT( KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, @@ -57,7 +56,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - /* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/b18aafa0327d7e83eaf485546c067a21 */ [LAYER_ADJUST] = LAYOUT( _______, NK_TOGG, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, @@ -65,8 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, KC_MUTE, _______, _______, _______, _______, RGB_HUI, RGB_SAD, RGB_SAI, RGB_HUD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______ ), + // clang-format on }; -layer_state_t layer_state_set_keymap(layer_state_t state) { - return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); -} +layer_state_t layer_state_set_keymap(layer_state_t state) { return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST); } diff --git a/keyboards/eco/keymaps/default/rules.mk b/keyboards/eco/keymaps/default/rules.mk index 3898578a8230..463a63c5720b 100644 --- a/keyboards/eco/keymaps/default/rules.mk +++ b/keyboards/eco/keymaps/default/rules.mk @@ -4,7 +4,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -14,7 +14,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE diff --git a/keyboards/eco/keymaps/fsck/rules.mk b/keyboards/eco/keymaps/fsck/rules.mk index 8fb2adf38380..e48f4aec52fe 100644 --- a/keyboards/eco/keymaps/fsck/rules.mk +++ b/keyboards/eco/keymaps/fsck/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/eco/keymaps/hexwire/keymap.c b/keyboards/eco/keymaps/hexwire/keymap.c deleted file mode 100644 index 3f21eacd3b29..000000000000 --- a/keyboards/eco/keymaps/hexwire/keymap.c +++ /dev/null @@ -1,116 +0,0 @@ - -// Default ECO Layout -// KLE here : http://www.keyboard-layout-editor.com/#/gists/0733eca6b4cb88ff9d7de746803f4039 - -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _FN3 3 - -enum eco_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, -}; - -// Fillers to make layering more clear -#define KC_ KC_TRNS - -#define KC_RST RESET -#define KC_DBUG DEBUG -#define KC_LOWR MO(_LOWER) -#define KC_RASE MO(_RAISE) -#define KC_ENTS MT(MOD_LSFT, KC_ENT) -#define KC_ESCC MT(MOD_LCTL, KC_ESC) -#define KC_GRVF LT(_FN3, KC_GRV) -#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen -#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen -#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen -#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen -#define KC_RTOG RGB_TOG -#define KC_RMOD RGB_MOD -#define KC_RHUI RGB_HUI -#define KC_RHUD RGB_HUD -#define KC_RSAI RGB_SAI -#define KC_RSAD RGB_SAD -#define KC_RVAI RGB_VAI -#define KC_RVAD RGB_VAD - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_kc( - //,----+----+----+----+----+----+----+----+----+----+----+----+----+----. - TAB , Q , W , E , R , T ,LPRN,RPRN, Y , U , I , O , P ,MINS, - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - ESCC, A , S , D , F , G ,LBRC,RBRC, H , J , K , L ,SCLN,QUOT, - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - LSFT, Z , X , C , V , B ,LCBR,RCBR, N , M ,COMM,DOT ,SLSH,ENTS, - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - GRVF,LCTL,LALT,LGUI,LOWR,SPC ,SPC ,BSPC,BSPC,RASE,LEFT,DOWN, UP ,RGHT - //`----+----+----+----+----+----+----+----+----+----+----+----+----+----' - ), - - - [_LOWER] = LAYOUT_kc( - //,----+----+----+----+----+----+----+----+----+----+----+----+----+----. - , 1 , 2 , 3 , 4 , 5 ,LPRN,RPRN, 6 , 7 , 8 , 9 , 0 , , - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - DEL ,CAPP,LEFT,RGHT, UP ,LBRC,LBRC,RBRC,RBRC, P4 , P5 , P6 ,PLUS,PIPE, - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - ,CPYP, , ,DOWN,LCBR,LCBR,RCBR,RCBR, P1 , P2 , P3 ,MINS, , - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - , , , , , , ,DEL ,DEL , , P0 ,PDOT, , - //`----+----+----+----+----+----+----+----+----+----+----+----+----+----' - ), - - [_RAISE] = LAYOUT_kc( - //,----+----+----+----+----+----+----+----+----+----+----+----+----+----. - ,EXLM, AT ,HASH,DLR ,PERC, , ,CIRC,AMPR,ASTR,LPRN,RPRN, , - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - DEL ,MPRV,MNXT,VOLU,PGUP,UNDS, , ,EQL ,HOME, , , ,BSLS, - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - MUTE,MSTP,MPLY,VOLD,PGDN,MINS, , ,PLUS,END , , , , , - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - , , , , , , , , , , , , , - //`----+----+----+----+----+----+----+----+----+----+----+----+----+----' - ), - - [_FN3] = LAYOUT_kc( - //,----+----+----+----+----+----+----+----+----+----+----+----+----+----. - F12 , F1 , F2 , F3 , F4 , F5 , , , F6 , F7 , F8 , F9 ,F10 ,F11 , - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - RTOG,RMOD,RHUI,RSAI,RVAI, , , , , , , , , , - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - RST ,DBUG,RHUD,RSAD,RVAD, , , , , , , , , , - //|----+----+----+----+----+----+----+----+----+----+----+----+----+----| - , , , , , , , , , , , , , - //`----+----+----+----+----+----+----+----+----+----+----+----+----+----' - ), - -}; - -void persistant_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_QWERTY); - } - return false; - break; - } - return true; -} - diff --git a/keyboards/eco/keymaps/hexwire/rules.mk b/keyboards/eco/keymaps/hexwire/rules.mk deleted file mode 100644 index 83d1175db993..000000000000 --- a/keyboards/eco/keymaps/hexwire/rules.mk +++ /dev/null @@ -1,22 +0,0 @@ - - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - diff --git a/keyboards/eco/keymaps/that_canadian/rules.mk b/keyboards/eco/keymaps/that_canadian/rules.mk index 83d1175db993..c76a07e24bde 100644 --- a/keyboards/eco/keymaps/that_canadian/rules.mk +++ b/keyboards/eco/keymaps/that_canadian/rules.mk @@ -4,7 +4,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/eco/keymaps/xyverz/rules.mk b/keyboards/eco/keymaps/xyverz/rules.mk index 9e7b9c20246b..d8d012a9fa56 100644 --- a/keyboards/eco/keymaps/xyverz/rules.mk +++ b/keyboards/eco/keymaps/xyverz/rules.mk @@ -4,7 +4,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/eco/rules.mk b/keyboards/eco/rules.mk index 078131da7c77..f41eaa1826dd 100644 --- a/keyboards/eco/rules.mk +++ b/keyboards/eco/rules.mk @@ -2,32 +2,24 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = yes # MIDI controls +MIDI_ENABLE = yes # MIDI support AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/edc40/rules.mk b/keyboards/edc40/rules.mk index c5128a8f25cd..5667e531d8c8 100644 --- a/keyboards/edc40/rules.mk +++ b/keyboards/edc40/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/edda/config.h b/keyboards/edda/config.h new file mode 100644 index 000000000000..bd9a0ab77d5e --- /dev/null +++ b/keyboards/edda/config.h @@ -0,0 +1,46 @@ +/* +Copyright 2021 Martin Arnstad +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4D45 +#define PRODUCT_ID 0x4544 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Mekanisk +#define PRODUCT Edda PCB + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS {F1, F0, E6, B5, B4} +#define MATRIX_COL_PINS {F4, F5, F6, F7, C7, C6, B6, B3, D7, D6, D4, D5, D3, D2, D1, D0 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +// Indicators +#define INDICATOR_PIN_0 B2 +#define INDICATOR_PIN_1 B1 +#define INDICATOR_PIN_2 B0 \ No newline at end of file diff --git a/keyboards/edda/edda.c b/keyboards/edda/edda.c new file mode 100644 index 000000000000..a04f3cc4c131 --- /dev/null +++ b/keyboards/edda/edda.c @@ -0,0 +1,50 @@ +/* +Copyright 2021 Martin Arnstad +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 "edda.h" + +void keyboard_pre_init_kb(void) { + // Call the keyboard pre init code. + keyboard_pre_init_user(); + + // Set our LED pins as output + setPinOutput(B2); + setPinOutput(B1); + setPinOutput(B0); +} + +__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case 1: + writePin(B2, 1); + writePin(B1, 0); + writePin(B0, 0); + break; + case 2: + writePin(B2, 1); + writePin(B1, 1); + writePin(B0, 0); + break; + case 3: + writePin(B2, 1); + writePin(B1, 1); + writePin(B0, 1); + break; + default: // for any other layers, or the default layer + writePin(B2, 0); + writePin(B1, 0); + writePin(B0, 0); + break; + } + return state; +} diff --git a/keyboards/edda/edda.h b/keyboards/edda/edda.h new file mode 100644 index 000000000000..d15606b2c22a --- /dev/null +++ b/keyboards/edda/edda.h @@ -0,0 +1,47 @@ +/* +Copyright 2021 Martin Arnstad +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 "quantum.h" + +#define KNO KC_NO +#define LAYOUT_default LAYOUT_alice_split_bs + +#define LAYOUT_alice_split_bs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K28, K29, K2A, K2B, K2C, K2D, K2F, \ + K31, K32, K33, K34, K35, K36, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \ + K41, K43, K44, K46, K49, K4B, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, KNO, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, KNO, K28, K29, K2A, K2B, K2C, K2D, KNO, K2F }, \ + { KNO, K31, K32, K33, K34, K35, K36, KNO, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ + { KNO, K41, KNO, K43, K44, KNO, K46, KNO, KNO, K49, KNO, K4B, KNO, KNO, KNO, K4F } \ +} + +#define LAYOUT_alice( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K28, K29, K2A, K2B, K2C, K2D, K2F, \ + K31, K32, K33, K34, K35, K36, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, \ + K41, K43, K44, K46, K49, K4B, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KNO, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, KNO, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, KNO, K28, K29, K2A, K2B, K2C, K2D, KNO, K2F }, \ + { KNO, K31, K32, K33, K34, K35, K36, KNO, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ + { KNO, K41, KNO, K43, K44, KNO, K46, KNO, KNO, K49, KNO, K4B, KNO, KNO, KNO, K4F } \ +} diff --git a/keyboards/edda/info.json b/keyboards/edda/info.json new file mode 100644 index 000000000000..5f48d79ed9aa --- /dev/null +++ b/keyboards/edda/info.json @@ -0,0 +1,156 @@ +{ + "keyboard_name": "Edda", + "url": "https://mekanisk.com", + "maintainer": "qmk", + "width": 19.75, + "height": 5.25, + "layouts": { + "LAYOUT_alice_split_bs": { + "layout": [ + {"label":"Esc", "x":0.5, "y":0}, + {"label":"`", "x":1.75, "y":0.25}, + {"label":"1", "x":2.75, "y":0.25}, + {"label":"2", "x":3.75, "y":0}, + {"label":"3", "x":4.75, "y":0.25}, + {"label":"4", "x":5.75, "y":0.25}, + {"label":"5", "x":6.75, "y":0.25}, + {"label":"6", "x":7.75, "y":0.25}, + {"label":"7", "x":11, "y":0.25}, + {"label":"8", "x":12, "y":0.25}, + {"label":"9", "x":13, "y":0.25}, + {"label":"0", "x":14, "y":0.25}, + {"label":"-", "x":15, "y":0}, + {"label":"=", "x":16, "y":0.25}, + {"label":"Del", "x":17, "y":0.25}, + {"label":"Backspace", "x":18, "y":0.25}, + + {"label":"PgUp", "x":0.25, "y":1}, + {"label":"Tab", "x":1.5, "y":1.25, "w":1.5}, + {"label":"Q", "x":3, "y":1.25}, + {"label":"W", "x":4.25, "y":1.25}, + {"label":"E", "x":5.25, "y":1.25}, + {"label":"R", "x":6.25, "y":1.25}, + {"label":"T", "x":7.25, "y":1.25}, + {"label":"Y", "x":10.5, "y":1.25}, + {"label":"U", "x":11.5, "y":1.25}, + {"label":"I", "x":12.5, "y":1.25}, + {"label":"O", "x":13.5, "y":1.25}, + {"label":"P", "x":14.75, "y":1.25}, + {"label":"{", "x":15.75, "y":1.25}, + {"label":"}", "x":16.75, "y":1.25}, + {"label":"|", "x":17.75, "y":1.25, "w":1.5}, + + {"label":"PgDn", "x":0, "y":2}, + {"label":"Caps Lock", "x":1.5, "y":2.25, "w":1.75}, + {"label":"A", "x":3.25, "y":2.25}, + {"label":"S", "x":4.5, "y":2.25}, + {"label":"D", "x":5.5, "y":2.25}, + {"label":"F", "x":6.5, "y":2.25}, + {"label":"G", "x":7.5, "y":2.25}, + {"label":"H", "x":10.75, "y":2.25}, + {"label":"J", "x":11.75, "y":2.25}, + {"label":"K", "x":12.75, "y":2.25}, + {"label":"L", "x":13.75, "y":2.25}, + {"label":":", "x":15.25, "y":2.25}, + {"label":"\"", "x":16.25, "y":2.25}, + {"label":"Enter", "x":17.25, "y":2.25, "w":2.25}, + + {"label":"Shift", "x":1.5, "y":3.25, "w":2.25}, + {"label":"Z", "x":3.75, "y":3.25}, + {"label":"X", "x":5, "y":3.25}, + {"label":"C", "x":6, "y":3.25}, + {"label":"V", "x":7, "y":3.25}, + {"label":"B", "x":8, "y":3.25}, + {"label":"Fn", "x":10.25, "y":3.25}, + {"label":"N", "x":11.25, "y":3.25}, + {"label":"M", "x":12.25, "y":3.25}, + {"label":"<", "x":13.25, "y":3.25}, + {"label":">", "x":15, "y":3.25}, + {"label":"?", "x":16, "y":3.25}, + {"label":"Shift", "x":17, "y":3.25, "w":1.75}, + {"label":"Fn", "x":18.75, "y":3.25}, + + {"label":"Ctrl", "x":1.5, "y":4.25, "w":1.5}, + {"label":"Alt", "x":5, "y":4.25, "w":1.5}, + {"label":"Space", "x":6.5, "y":4.25, "w":2}, + {"label":"Menu", "x":8.5, "y":4.25}, + {"label":"Space", "x":10.25, "y":4.25, "w":2.75}, + {"label":"Alt", "x":13, "y":4.25, "w":1.5}, + {"label":"Ctrl", "x":18, "y":4.25, "w":1.5} + ] + }, + "LAYOUT_alice": { + "layout": [ + {"label":"Esc", "x":0.5, "y":0}, + {"label":"`", "x":1.75, "y":0.25}, + {"label":"1", "x":2.75, "y":0.25}, + {"label":"2", "x":3.75, "y":0}, + {"label":"3", "x":4.75, "y":0.25}, + {"label":"4", "x":5.75, "y":0.25}, + {"label":"5", "x":6.75, "y":0.25}, + {"label":"6", "x":7.75, "y":0.25}, + {"label":"7", "x":11, "y":0.25}, + {"label":"8", "x":12, "y":0.25}, + {"label":"9", "x":13, "y":0.25}, + {"label":"0", "x":14, "y":0.25}, + {"label":"-", "x":15, "y":0}, + {"label":"=", "x":16, "y":0.25}, + {"label":"Backspace", "x":17, "y":0.25, "w":2}, + + {"label":"PgUp", "x":0.25, "y":1}, + {"label":"Tab", "x":1.5, "y":1.25, "w":1.5}, + {"label":"Q", "x":3, "y":1.25}, + {"label":"W", "x":4.25, "y":1.25}, + {"label":"E", "x":5.25, "y":1.25}, + {"label":"R", "x":6.25, "y":1.25}, + {"label":"T", "x":7.25, "y":1.25}, + {"label":"Y", "x":10.5, "y":1.25}, + {"label":"U", "x":11.5, "y":1.25}, + {"label":"I", "x":12.5, "y":1.25}, + {"label":"O", "x":13.5, "y":1.25}, + {"label":"P", "x":14.75, "y":1.25}, + {"label":"{", "x":15.75, "y":1.25}, + {"label":"}", "x":16.75, "y":1.25}, + {"label":"|", "x":17.75, "y":1.25, "w":1.5}, + + {"label":"PgDn", "x":0, "y":2}, + {"label":"Caps Lock", "x":1.5, "y":2.25, "w":1.75}, + {"label":"A", "x":3.25, "y":2.25}, + {"label":"S", "x":4.5, "y":2.25}, + {"label":"D", "x":5.5, "y":2.25}, + {"label":"F", "x":6.5, "y":2.25}, + {"label":"G", "x":7.5, "y":2.25}, + {"label":"H", "x":10.75, "y":2.25}, + {"label":"J", "x":11.75, "y":2.25}, + {"label":"K", "x":12.75, "y":2.25}, + {"label":"L", "x":13.75, "y":2.25}, + {"label":":", "x":15.25, "y":2.25}, + {"label":"\"", "x":16.25, "y":2.25}, + {"label":"Enter", "x":17.25, "y":2.25, "w":2.25}, + + {"label":"Shift", "x":1.5, "y":3.25, "w":2.25}, + {"label":"Z", "x":3.75, "y":3.25}, + {"label":"X", "x":5, "y":3.25}, + {"label":"C", "x":6, "y":3.25}, + {"label":"V", "x":7, "y":3.25}, + {"label":"B", "x":8, "y":3.25}, + {"label":"Fn", "x":10.25, "y":3.25}, + {"label":"N", "x":11.25, "y":3.25}, + {"label":"M", "x":12.25, "y":3.25}, + {"label":"<", "x":13.25, "y":3.25}, + {"label":">", "x":15, "y":3.25}, + {"label":"?", "x":16, "y":3.25}, + {"label":"Shift", "x":17, "y":3.25, "w":1.75}, + {"label":"Fn", "x":18.75, "y":3.25}, + + {"label":"Ctrl", "x":1.5, "y":4.25, "w":1.5}, + {"label":"Alt", "x":5, "y":4.25, "w":1.5}, + {"label":"Space", "x":6.5, "y":4.25, "w":2}, + {"label":"Menu", "x":8.5, "y":4.25}, + {"label":"Space", "x":10.25, "y":4.25, "w":2.75}, + {"label":"Alt", "x":13, "y":4.25, "w":1.5}, + {"label":"Ctrl", "x":18, "y":4.25, "w":1.5} + ] + } + } +} diff --git a/keyboards/edda/keymaps/default/keymap.c b/keyboards/edda/keymaps/default/keymap.c new file mode 100644 index 000000000000..d935a74826b6 --- /dev/null +++ b/keyboards/edda/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2021 Martin Arnstad +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 + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BASE 0 +#define _FN1 1 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_alice_split_bs( + KC_ESC, KC_GRAVE, 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_DEL, 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_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI, + KC_LCTL, KC_LALT, KC_SPC, MO(_FN1), KC_SPC, KC_RALT, KC_RCTL + ), + + [_FN1] = LAYOUT_alice_split_bs( + RGB_TOG, _______, 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, + RGB_MOD, _______, _______, KC_UP, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, _______, _______, _______, _______, + RGB_RMOD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, + _______, BL_INC, BL_DEC, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET + ) +}; diff --git a/keyboards/edda/keymaps/via/keymap.c b/keyboards/edda/keymaps/via/keymap.c new file mode 100644 index 000000000000..9437fbc12722 --- /dev/null +++ b/keyboards/edda/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +/* +Copyright 2021 Martin Arnstad +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 + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_alice_split_bs( + KC_ESC, KC_GRAVE, 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_DEL, 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_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI, + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL + ), + [1] = LAYOUT_alice_split_bs( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_alice_split_bs( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_alice_split_bs( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/edda/keymaps/via/rules.mk b/keyboards/edda/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/edda/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/edda/readme.md b/keyboards/edda/readme.md new file mode 100644 index 000000000000..6bfe89b29a8d --- /dev/null +++ b/keyboards/edda/readme.md @@ -0,0 +1,21 @@ +# Edda PCB + +Alice layout PCB with top mounted USB C used in Mekanisk Edda + +* Keyboard Maintainer: [martin](https://github.com/arnstadm) +* Hardware Supported: [Edda PCB](https://tastatur.no/collections/forhandsbestilling-1/products/edda-pcb?variant=39481626001453) + +Make example for this keyboard (after setting up your build environment): + + make edda:default + +Flashing example for this keyboard: + + make edda: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). + +How to enter bootloader (DFU): + + Press and hold the button on the keyboard (the small one on the same side as the MCU) for more than 1 second. The keyboard will then enter bootloader (DFU) mode and it's ready to flash the firmware. + Note: If holding the button a shorter time, the keyboard will just reset. If you want to exit bootloader mode without flashing a firmware, disconnect the keyboard from your PC and reconnect it. diff --git a/keyboards/edda/rules.mk b/keyboards/edda/rules.mk new file mode 100644 index 000000000000..78a97cd3b956 --- /dev/null +++ b/keyboards/edda/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = qmk-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = alice alice_split_bs diff --git a/keyboards/edi/hardlight/mk1/config.h b/keyboards/edi/hardlight/mk1/config.h new file mode 100644 index 000000000000..be136fe9c90b --- /dev/null +++ b/keyboards/edi/hardlight/mk1/config.h @@ -0,0 +1,109 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xF7E0 +#define PRODUCT_ID 0x2401 +#define DEVICE_VER 0x0000 +#define MANUFACTURER Everywhere Defense Industries +#define PRODUCT Hard Light + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 8 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { B0, B1, B2, B3, D4, D6, D7, B4 } +#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, F7, B5 } +#define UNUSED_PINS { B7, D2, D3, D5 } + + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +// #define BACKLIGHT_PIN C7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Enable RGB Underlighting + */ +#define RGB_DI_PIN C7 +#define RGBLED_NUM 15 +#define RGBLIGHT_ANIMATIONS +//#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//#define RGBLIGHT_EFFECT_KNIGHT +//#define RGBLIGHT_EFFECT_TWINKLE +//#define RGBLIGHT_EFFECT_BREATHING + + +/* + * Enable Audio Subsystem with two voices + */ +// #define AUDIO_PIN C6 + + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO diff --git a/keyboards/edi/hardlight/mk1/keymaps/.gitignore b/keyboards/edi/hardlight/mk1/keymaps/.gitignore new file mode 100644 index 000000000000..08a0f321a2d7 --- /dev/null +++ b/keyboards/edi/hardlight/mk1/keymaps/.gitignore @@ -0,0 +1 @@ +fate \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk1/keymaps/default/config.h b/keyboards/edi/hardlight/mk1/keymaps/default/config.h new file mode 100644 index 000000000000..2db5f3b3282b --- /dev/null +++ b/keyboards/edi/hardlight/mk1/keymaps/default/config.h @@ -0,0 +1,20 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 + +// place overrides here diff --git a/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c b/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c new file mode 100644 index 000000000000..251b6c8b38fe --- /dev/null +++ b/keyboards/edi/hardlight/mk1/keymaps/default/keymap.c @@ -0,0 +1,115 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 layers { + _MAIN, + _RAISE, + _LOWER, + _SET, +}; + +// Readability keycodes +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define SET MO(_SET) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + +/* MAIN + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Backsp | Delete | 7 | 8 | 9 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | Pause | 4 | 5 | 6 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LShift | Z | X | C | V | B | N | M | , | . | / | Up | Enter | 1 | 2 | 3 | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LCtrl | Lock | GUI | Alt | Lower | Space | Space | Raise | PrtScr | RShift | Left | Down | Right | 0 | . | Enter | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_MAIN] = LAYOUT_ortho_4x16( + 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_DEL, KC_KP_7, KC_KP_8, KC_KP_9, + 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_PAUS, KC_KP_4, KC_KP_5, KC_KP_6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_ENT, KC_KP_1, KC_KP_2, KC_KP_3, + KC_LCTL, KC_LOCK, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_PSCR, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_0, KC_KP_DOT, KC_PENT + ), + +/* RAISE + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | Insert | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | - | = | [ | ] | \ | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | PgUp | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | Vol- | PgDn | Vol+ | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_RAISE] = LAYOUT_ortho_4x16( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_INS, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_PGDN, KC_VOLU, _______, _______, _______ + ), + +/* LOWER + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | Home | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | Mute | End | Play | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_LOWER] = LAYOUT_ortho_4x16( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, _______, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_HOME, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_END, KC_MPLY, _______, _______, _______ + ), + + /* SETTINGS + * .-----------------------------------------------------------------------------------------------------------------------------------------------. + * | | CapLok | ScrLok | NumLok | | | | RGB IO | Mode+ | Mode- | Plain | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | Hue+ | Sat+ | Val+ | RSwirl | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | Hue- | Sat- | Val- | Larsen | | Reset | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | | + * '-----------------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_SET] = LAYOUT_ortho_4x16( + _______, KC_CAPS, KC_SLCK, KC_NLCK, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_M_P, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_SW, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, _______, RESET, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _SET); +} \ No newline at end of file diff --git a/keyboards/edi/hardlight/mk1/mk1.c b/keyboards/edi/hardlight/mk1/mk1.c new file mode 100644 index 000000000000..5a1e0bbb1912 --- /dev/null +++ b/keyboards/edi/hardlight/mk1/mk1.c @@ -0,0 +1,18 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 "mk1.h" diff --git a/keyboards/edi/hardlight/mk1/mk1.h b/keyboards/edi/hardlight/mk1/mk1.h new file mode 100644 index 000000000000..e8ef9777a4c0 --- /dev/null +++ b/keyboards/edi/hardlight/mk1/mk1.h @@ -0,0 +1,41 @@ +/* +©2021 Everywhere Defense Industries / Fate Everywhere + +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 3 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 "quantum.h" + +// This a shortcut to help you visually see your layout. +// The first section contains all of the arguments +// The second converts the arguments into a two-dimensional array + +#define LAYOUT_ortho_4x16( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, K14, K15, \ + K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K30, K31, \ + K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, \ + K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K60, K61, K62, K63 \ +) \ +{ \ + { K00, K02, K04, K06, K08, K10, K12, K14 }, \ + { K01, K03, K05, K07, K09, K11, K13, K15 }, \ + { K16, K18, K20, K22, K24, K26, K28, K30 }, \ + { K17, K19, K21, K23, K25, K27, K29, K31 }, \ + { K32, K34, K36, K38, K40, K42, K44, K46 }, \ + { K33, K35, K37, K39, K41, K43, K45, K47 }, \ + { K48, K50, K52, K54, K56, K58, K60, K62 }, \ + { K49, K51, K53, K55, K57, K59, K61, K63 } \ +} diff --git a/keyboards/edi/hardlight/mk1/readme.md b/keyboards/edi/hardlight/mk1/readme.md new file mode 100644 index 000000000000..177a46b5d087 --- /dev/null +++ b/keyboards/edi/hardlight/mk1/readme.md @@ -0,0 +1,19 @@ +# Hard Light Mark 1 + +![Hard Light Mark 1](https://i.imgur.com/X6Katarh.png) + +A compact 60% keyboard designed by Fate Everywhere. Born out of the desire for a Planck with a numpad for technical work and a lack of reliance on the Elite-C. + +* Keyboard Maintainer: [Fate Everywhere](https://github.com/fateeverywhere) +* Hardware Supported: Revision P, Revision Q, Mark 1 Hard Light. +* Hardware Availability: Seven Store (https://store.7storm.org). + +Build example for this keyboard (after setting up your build environment): + + make edi/hardlight/mk1:default + +Flash example for this keyboard (after setting up your build environment): + + make edi/hardlight/mk1: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). diff --git a/keyboards/edi/hardlight/mk1/rules.mk b/keyboards/edi/hardlight/mk1/rules.mk new file mode 100644 index 000000000000..8800c342f59c --- /dev/null +++ b/keyboards/edi/hardlight/mk1/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +KEY_LOCK_ENABLE = yes \ No newline at end of file diff --git a/keyboards/eek/rules.mk b/keyboards/eek/rules.mk index ce3df8f21fcc..2636e39bf19d 100644 --- a/keyboards/eek/rules.mk +++ b/keyboards/eek/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/efreet/rules.mk b/keyboards/efreet/rules.mk index eeacc5199b67..b84ae5312758 100644 --- a/keyboards/efreet/rules.mk +++ b/keyboards/efreet/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/eggman/keymaps/default/keymap.c b/keyboards/eggman/keymaps/default/keymap.c index fed38de98d7f..11da71c6c7ce 100644 --- a/keyboards/eggman/keymaps/default/keymap.c +++ b/keyboards/eggman/keymaps/default/keymap.c @@ -13,7 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - + #include QMK_KEYBOARD_H enum layers{ @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_NAV] = LAYOUT_default( - KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_LCAP, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_ENT, @@ -60,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* left encoder */ if (clockwise) { tap_code(KC_WH_U); @@ -74,6 +74,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } #ifdef COMBO_ENABLE @@ -91,4 +92,3 @@ combo_t key_combos[COMBO_COUNT] = { [COMBO_DEL] = COMBO(combo_del,KC_DEL) }; #endif - diff --git a/keyboards/eggman/rules.mk b/keyboards/eggman/rules.mk index 131c62bd1770..3df5eb0329f7 100644 --- a/keyboards/eggman/rules.mk +++ b/keyboards/eggman/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/emajesty/eiri/rules.mk b/keyboards/emajesty/eiri/rules.mk index fd76a52478f7..7f0fa90fde73 100644 --- a/keyboards/emajesty/eiri/rules.mk +++ b/keyboards/emajesty/eiri/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/emi20/config.h b/keyboards/emi20/config.h new file mode 100644 index 000000000000..98eefdc6ad79 --- /dev/null +++ b/keyboards/emi20/config.h @@ -0,0 +1,57 @@ +/* Copyright 2021 Aquacylinder + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Aquacylinder +#define PRODUCT emi20 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 4 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { F4, F5, F6, F7, B6 } +#define MATRIX_COL_PINS { C7, C6, B5, B4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* number of backlight levels */ + +#ifdef BACKLIGHT_PIN +#define BACKLIGHT_LEVELS 3 +#endif + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + + + +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 0 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif diff --git a/keyboards/emi20/emi20.c b/keyboards/emi20/emi20.c new file mode 100644 index 000000000000..a5bcc89d498d --- /dev/null +++ b/keyboards/emi20/emi20.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Aquacylinder + * + * 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 "emi20.h" diff --git a/keyboards/emi20/emi20.h b/keyboards/emi20/emi20.h new file mode 100644 index 000000000000..30d5750e49ae --- /dev/null +++ b/keyboards/emi20/emi20.h @@ -0,0 +1,33 @@ +/* Copyright 2021 Aquacylinder + * + * 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 "quantum.h" + +#define LAYOUT_ortho_5x4( \ + K00, K01, K02, K03, \ + K10, K11, K12, K13, \ + K20, K21, K22, K23, \ + K30, K31, K32, K33, \ + K40, K41, K42, K43 \ +) { \ + { K00, K01, K02, K03 }, \ + { K10, K11, K12, K13 }, \ + { K20, K21, K22, K23 }, \ + { K30, K31, K32, K33 }, \ + { K40, K41, K42, K43 } \ +} diff --git a/keyboards/emi20/info.json b/keyboards/emi20/info.json new file mode 100644 index 000000000000..b2f6d0424fac --- /dev/null +++ b/keyboards/emi20/info.json @@ -0,0 +1,37 @@ +{ + "keyboard_name": "Emi20", + "url": "", + "maintainer": "Aquacylinder", + "width": 4, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x4": { + "layout": [ + {"label":"K11 (F7,C7)", "x":0, "y":0}, + {"label":"K21 (F1,C7)", "x":1, "y":0}, + {"label":"K31 (B2,C7)", "x":2, "y":0}, + {"label":"K41 (B2,F0)", "x":3, "y":0}, + + {"label":"K12 (F1,F0)", "x":0, "y":1}, + {"label":"K22 (B2,B6)", "x":1, "y":1}, + {"label":"K32 (F1,B6)", "x":2, "y":1}, + {"label":"K42 (B2,B3)", "x":3, "y":1}, + + {"label":"K13 (F1,B3)", "x":0, "y":2}, + {"label":"K23 (B2,C6)", "x":1, "y":2}, + {"label":"K33 (F1,C6)", "x":2, "y":2}, + {"label":"K43 (B2,E6)", "x":3, "y":2}, + + {"label":"K14 (F1,E6)", "x":0, "y":3}, + {"label":"K24 (B2,D5)", "x":1, "y":3}, + {"label":"K34 (F1,D5)", "x":2, "y":3}, + {"label":"K44 (D0,B1)", "x":3, "y":3}, + + {"label":"K15 (D0,F4)", "x":0, "y":4}, + {"label":"K25 (F7,D1)", "x":1, "y":4}, + {"label":"K35 (F7,B3)", "x":2, "y":4}, + {"label":"K45 (B5,C7)", "x":3, "y":4} + ] + } + } +} diff --git a/keyboards/emi20/keymaps/default/keymap.c b/keyboards/emi20/keymaps/default/keymap.c new file mode 100644 index 000000000000..b0400108fa9e --- /dev/null +++ b/keyboards/emi20/keymaps/default/keymap.c @@ -0,0 +1,74 @@ +/* Copyright 2021 Aquacylinder + * + * 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 custom_keycodes { + MACRO1 = SAFE_RANGE, //MACRO1 can be anything you want see the qmk documentation + MACRO2, //MACRO2 Same thing, you can add as many as you like +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + //Macro's are mentioned here allong with the keycodes + LAYOUT_ortho_5x4( //Base layer (0) + TG(1), KC_VOLD, KC_VOLU, KC_BSPC, + KC_P7, KC_P8, KC_P9, KC_PAST, + KC_P4, KC_P5, KC_P6, KC_PSLS, + KC_P1, KC_P2, KC_P3, KC_PPLS, + KC_P0, KC_PDOT, KC_PENT, KC_PMNS), + + LAYOUT_ortho_5x4( //Layer 1 + KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, + KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, + KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_UP, KC_NO, + MO(2), KC_LEFT, KC_DOWN, KC_RGHT), + + LAYOUT_ortho_5x4( //Layer 2 + KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, RESET, + KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_NLCK, KC_NO, KC_NO), + //Copy any layer and edit it for more layers, be sure to add a key to go to that layer +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case MACRO1: //This is where the macro's are located + if (record->event.pressed) { + // when keycode MACRO1 is pressed + SEND_STRING("Thank you"); + } else { + // when keycode MACRO1 is released + SEND_STRING("for being you <3"); + } + break; + + case MACRO2: + if (record->event.pressed) { + // when keycode MACRO2 is pressed + SEND_STRING("Pizza is"); + } else { + // when keycode MACRO2 is released + SEND_STRING("delicious ;)"); + } + break; + } + return true; +} diff --git a/keyboards/emi20/readme.md b/keyboards/emi20/readme.md new file mode 100644 index 000000000000..54c27aa6a344 --- /dev/null +++ b/keyboards/emi20/readme.md @@ -0,0 +1,18 @@ +# Emi20 + +![Emi20](https://i.imgur.com/Mc84fLGl.jpg) + +A compact 4x5 ortholinear keyboard made by Project Aqua and sold by Evil-cables. + +* Keyboard Maintainer: [AquaCylinder](https://github.com/AquaCylinder) +* Hardware Supported: PCB, Atmega32u4 +* Connector: USB mini B + +Make example for this keyboard (after setting up your build environment): + + make emi20:default + +To reset the board into bootloader mode, press the physical reset button on the back of the PCB or press the bottom most left key to momentarily switch to layer 2 (on layer 1) and then press the key from the top right down one. + +The default keymap.c file has comments to help you on your journey, +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/emi20/rules.mk b/keyboards/emi20/rules.mk new file mode 100644 index 000000000000..1ed4217ae604 --- /dev/null +++ b/keyboards/emi20/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/emptystring/NQG/rules.mk b/keyboards/emptystring/NQG/rules.mk index 45f2f61551af..b6a321e7c161 100644 --- a/keyboards/emptystring/NQG/rules.mk +++ b/keyboards/emptystring/NQG/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/eniigmakeyboards/ek60/config.h b/keyboards/eniigmakeyboards/ek60/config.h new file mode 100644 index 000000000000..25653750105e --- /dev/null +++ b/keyboards/eniigmakeyboards/ek60/config.h @@ -0,0 +1,42 @@ +/* +Copyright 2020 adamws + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x454B +#define PRODUCT_ID 0x0003 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Eniigma Keyboards +#define PRODUCT ek60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* Keyboard Matrix Assignments */ +#define MATRIX_ROW_PINS { B2, B1, B0, F0, B4 } +#define MATRIX_COL_PINS { F7, C6, F6, B6, F5, F4, B5, F1, E6, D0, D7, D5, D1, D3, D2 } +#define UNUSED_PINS { B3, B7, C7, D4, D6 } + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/eniigmakeyboards/ek60/ek60.c b/keyboards/eniigmakeyboards/ek60/ek60.c new file mode 100644 index 000000000000..2ce369ec829a --- /dev/null +++ b/keyboards/eniigmakeyboards/ek60/ek60.c @@ -0,0 +1,18 @@ +/* Copyright 2021 adamws + * + * 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 "ek60.h" + diff --git a/keyboards/eniigmakeyboards/ek60/ek60.h b/keyboards/eniigmakeyboards/ek60/ek60.h new file mode 100644 index 000000000000..992618e44730 --- /dev/null +++ b/keyboards/eniigmakeyboards/ek60/ek60.h @@ -0,0 +1,135 @@ +/* Copyright 2021 adamws + * + * 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 "quantum.h" + +#define XXX KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \ + k40, k41, k43, k46, k4a, k4b, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, k3e }, \ + { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, XXX, k4d, k4e } \ +} + +#define LAYOUT_60_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ + k40, k41, k43, k46, k4a, k4b, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \ + { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, XXX, k4d, k4e } \ +} + +#define LAYOUT_60_ansi_tsangan( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ + k40, k41, k43, k46, k4b, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \ + { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, XXX, k4d, k4e } \ +} + +#define LAYOUT_60_iso( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ + k40, k41, k43, k46, k4a, k4b, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \ + { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, XXX, k4d, k4e } \ +} + +#define LAYOUT_60_iso_tsangan( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ + k40, k41, k43, k46, k4b, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \ + { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, XXX, k4d, k4e } \ +} + +#define LAYOUT_60_iso_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ + k40, k41, k43, k46, k4a, k4b, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, XXX }, \ + { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, XXX, k4d, k4e } \ +} + +#define LAYOUT_60_iso_split_rshift( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \ + k40, k41, k43, k46, k4a, k4b, k4d, k4e \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, k3e }, \ + { k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, XXX, k4d, k4e } \ +} + diff --git a/keyboards/eniigmakeyboards/ek60/info.json b/keyboards/eniigmakeyboards/ek60/info.json new file mode 100644 index 000000000000..38ca454c6590 --- /dev/null +++ b/keyboards/eniigmakeyboards/ek60/info.json @@ -0,0 +1,72 @@ +{ + "keyboard_name": "ek60", + "url": "", + "maintainer": "adamws", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout":[ + {"label":"k00","x":0,"y":0},{"label":"k01","x":1,"y":0},{"label":"k02","x":2,"y":0},{"label":"k03","x":3,"y":0},{"label":"k04","x":4,"y":0},{"label":"k05","x":5,"y":0},{"label":"k06","x":6,"y":0},{"label":"k07","x":7,"y":0},{"label":"k08","x":8,"y":0},{"label":"k09","x":9,"y":0},{"label":"k0a","x":10,"y":0},{"label":"k0b","x":11,"y":0},{"label":"k0c","x":12,"y":0},{"label":"k0d","x":13,"y":0},{"label":"k0e","x":14,"y":0}, + {"label":"k10","x":0,"y":1,"w":1.5},{"label":"k12","x":1.5,"y":1},{"label":"k13","x":2.5,"y":1},{"label":"k14","x":3.5,"y":1},{"label":"k15","x":4.5,"y":1},{"label":"k16","x":5.5,"y":1},{"label":"k17","x":6.5,"y":1},{"label":"k18","x":7.5,"y":1},{"label":"k19","x":8.5,"y":1},{"label":"k1a","x":9.5,"y":1},{"label":"k1b","x":10.5,"y":1},{"label":"k1c","x":11.5,"y":1},{"label":"k1d","x":12.5,"y":1},{"label":"k1e","x":13.5,"y":1,"w":1.5}, + {"label":"k20","x":0,"y":2,"w":1.75},{"label":"k22","x":1.75,"y":2},{"label":"k23","x":2.75,"y":2},{"label":"k24","x":3.75,"y":2},{"label":"k25","x":4.75,"y":2},{"label":"k26","x":5.75,"y":2},{"label":"k27","x":6.75,"y":2},{"label":"k28","x":7.75,"y":2},{"label":"k29","x":8.75,"y":2},{"label":"k2a","x":9.75,"y":2},{"label":"k2b","x":10.75,"y":2},{"label":"k2c","x":11.75,"y":2},{"label":"k2d","x":12.75,"y":2,"w":2.25}, + {"label":"k30","x":0,"y":3,"w":1.25},{"label":"k31","x":1.25,"y":3},{"label":"k32","x":2.25,"y":3},{"label":"k33","x":3.25,"y":3},{"label":"k34","x":4.25,"y":3},{"label":"k35","x":5.25,"y":3},{"label":"k36","x":6.25,"y":3},{"label":"k37","x":7.25,"y":3},{"label":"k38","x":8.25,"y":3},{"label":"k39","x":9.25,"y":3},{"label":"k3a","x":10.25,"y":3},{"label":"k3b","x":11.25,"y":3},{"label":"k3d","x":12.25,"y":3,"w":1.75},{"label":"k3e","x":14,"y":3}, + {"label":"k40","x":0,"y":4,"w":1.25},{"label":"k41","x":1.25,"y":4,"w":1.25},{"label":"k43","x":2.5,"y":4,"w":1.25},{"label":"k46","x":3.75,"y":4,"w":6.25},{"label":"k4a","x":10,"y":4,"w":1.25},{"label":"k4b","x":11.25,"y":4,"w":1.25},{"label":"k4d","x":12.5,"y":4,"w":1.25},{"label":"k4e","x":13.75,"y":4,"w":1.25} + ] + }, + "LAYOUT_60_ansi": { + "layout":[ + {"label":"k00","x":0,"y":0},{"label":"k01","x":1,"y":0},{"label":"k02","x":2,"y":0},{"label":"k03","x":3,"y":0},{"label":"k04","x":4,"y":0},{"label":"k05","x":5,"y":0},{"label":"k06","x":6,"y":0},{"label":"k07","x":7,"y":0},{"label":"k08","x":8,"y":0},{"label":"k09","x":9,"y":0},{"label":"k0a","x":10,"y":0},{"label":"k0b","x":11,"y":0},{"label":"k0c","x":12,"y":0},{"label":"k0d","x":13,"y":0,"w":2}, + {"label":"k10","x":0,"y":1,"w":1.5},{"label":"k12","x":1.5,"y":1},{"label":"k13","x":2.5,"y":1},{"label":"k14","x":3.5,"y":1},{"label":"k15","x":4.5,"y":1},{"label":"k16","x":5.5,"y":1},{"label":"k17","x":6.5,"y":1},{"label":"k18","x":7.5,"y":1},{"label":"k19","x":8.5,"y":1},{"label":"k1a","x":9.5,"y":1},{"label":"k1b","x":10.5,"y":1},{"label":"k1c","x":11.5,"y":1},{"label":"k1d","x":12.5,"y":1},{"label":"k1e","x":13.5,"y":1,"w":1.5}, + {"label":"k20","x":0,"y":2,"w":1.75},{"label":"k22","x":1.75,"y":2},{"label":"k23","x":2.75,"y":2},{"label":"k24","x":3.75,"y":2},{"label":"k25","x":4.75,"y":2},{"label":"k26","x":5.75,"y":2},{"label":"k27","x":6.75,"y":2},{"label":"k28","x":7.75,"y":2},{"label":"k29","x":8.75,"y":2},{"label":"k2a","x":9.75,"y":2},{"label":"k2b","x":10.75,"y":2},{"label":"k2c","x":11.75,"y":2},{"label":"k2d","x":12.75,"y":2,"w":2.25}, + {"label":"k30","x":0,"y":3,"w":2.25},{"label":"k32","x":2.25,"y":3},{"label":"k33","x":3.25,"y":3},{"label":"k34","x":4.25,"y":3},{"label":"k35","x":5.25,"y":3},{"label":"k36","x":6.25,"y":3},{"label":"k37","x":7.25,"y":3},{"label":"k38","x":8.25,"y":3},{"label":"k39","x":9.25,"y":3},{"label":"k3a","x":10.25,"y":3},{"label":"k3b","x":11.25,"y":3},{"label":"k3d","x":12.25,"y":3,"w":2.75}, + {"label":"k40","x":0,"y":4,"w":1.25},{"label":"k41","x":1.25,"y":4,"w":1.25},{"label":"k43","x":2.5,"y":4,"w":1.25},{"label":"k46","x":3.75,"y":4,"w":6.25},{"label":"k4a","x":10,"y":4,"w":1.25},{"label":"k4b","x":11.25,"y":4,"w":1.25},{"label":"k4d","x":12.5,"y":4,"w":1.25},{"label":"k4e","x":13.75,"y":4,"w":1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout":[ + {"label":"k00","x":0,"y":0},{"label":"k01","x":1,"y":0},{"label":"k02","x":2,"y":0},{"label":"k03","x":3,"y":0},{"label":"k04","x":4,"y":0},{"label":"k05","x":5,"y":0},{"label":"k06","x":6,"y":0},{"label":"k07","x":7,"y":0},{"label":"k08","x":8,"y":0},{"label":"k09","x":9,"y":0},{"label":"k0a","x":10,"y":0},{"label":"k0b","x":11,"y":0},{"label":"k0c","x":12,"y":0},{"label":"k0d","x":13,"y":0,"w":2}, + {"label":"k10","x":0,"y":1,"w":1.5},{"label":"k12","x":1.5,"y":1},{"label":"k13","x":2.5,"y":1},{"label":"k14","x":3.5,"y":1},{"label":"k15","x":4.5,"y":1},{"label":"k16","x":5.5,"y":1},{"label":"k17","x":6.5,"y":1},{"label":"k18","x":7.5,"y":1},{"label":"k19","x":8.5,"y":1},{"label":"k1a","x":9.5,"y":1},{"label":"k1b","x":10.5,"y":1},{"label":"k1c","x":11.5,"y":1},{"label":"k1d","x":12.5,"y":1},{"label":"k1e","x":13.5,"y":1,"w":1.5}, + {"label":"k20","x":0,"y":2,"w":1.75},{"label":"k22","x":1.75,"y":2},{"label":"k23","x":2.75,"y":2},{"label":"k24","x":3.75,"y":2},{"label":"k25","x":4.75,"y":2},{"label":"k26","x":5.75,"y":2},{"label":"k27","x":6.75,"y":2},{"label":"k28","x":7.75,"y":2},{"label":"k29","x":8.75,"y":2},{"label":"k2a","x":9.75,"y":2},{"label":"k2b","x":10.75,"y":2},{"label":"k2c","x":11.75,"y":2},{"label":"k2d","x":12.75,"y":2,"w":2.25}, + {"label":"k30","x":0,"y":3,"w":2.25},{"label":"k32","x":2.25,"y":3},{"label":"k33","x":3.25,"y":3},{"label":"k34","x":4.25,"y":3},{"label":"k35","x":5.25,"y":3},{"label":"k36","x":6.25,"y":3},{"label":"k37","x":7.25,"y":3},{"label":"k38","x":8.25,"y":3},{"label":"k39","x":9.25,"y":3},{"label":"k3a","x":10.25,"y":3},{"label":"k3b","x":11.25,"y":3},{"label":"k3d","x":12.25,"y":3,"w":2.75}, + {"label":"k40","x":0,"y":4,"w":1.5},{"label":"k41","x":1.5,"y":4},{"label":"k43","x":2.5,"y":4,"w":1.5},{"label":"k46","x":4,"y":4,"w":7},{"label":"k4b","x":11,"y":4,"w":1.5},{"label":"k4d","x":12.5,"y":4},{"label":"k4e","x":13.5,"y":4,"w":1.5} + ] + }, + "LAYOUT_60_iso": { + "layout":[ + {"label":"k00","x":0,"y":0},{"label":"k01","x":1,"y":0},{"label":"k02","x":2,"y":0},{"label":"k03","x":3,"y":0},{"label":"k04","x":4,"y":0},{"label":"k05","x":5,"y":0},{"label":"k06","x":6,"y":0},{"label":"k07","x":7,"y":0},{"label":"k08","x":8,"y":0},{"label":"k09","x":9,"y":0},{"label":"k0a","x":10,"y":0},{"label":"k0b","x":11,"y":0},{"label":"k0c","x":12,"y":0},{"label":"k0d","x":13,"y":0,"w":2}, + {"label":"k10","x":0,"y":1,"w":1.5},{"label":"k12","x":1.5,"y":1},{"label":"k13","x":2.5,"y":1},{"label":"k14","x":3.5,"y":1},{"label":"k15","x":4.5,"y":1},{"label":"k16","x":5.5,"y":1},{"label":"k17","x":6.5,"y":1},{"label":"k18","x":7.5,"y":1},{"label":"k19","x":8.5,"y":1},{"label":"k1a","x":9.5,"y":1},{"label":"k1b","x":10.5,"y":1},{"label":"k1c","x":11.5,"y":1},{"label":"k1d","x":12.5,"y":1}, + {"label":"k20","x":0,"y":2,"w":1.75},{"label":"k22","x":1.75,"y":2},{"label":"k23","x":2.75,"y":2},{"label":"k24","x":3.75,"y":2},{"label":"k25","x":4.75,"y":2},{"label":"k26","x":5.75,"y":2},{"label":"k27","x":6.75,"y":2},{"label":"k28","x":7.75,"y":2},{"label":"k29","x":8.75,"y":2},{"label":"k2a","x":9.75,"y":2},{"label":"k2b","x":10.75,"y":2},{"label":"k2c","x":11.75,"y":2},{"label":"k2d","x":12.75,"y":2},{"label":"k1e","x":13.75,"y":1,"w":1.25,"h":2}, + {"label":"k30","x":0,"y":3,"w":1.25},{"label":"k31","x":1.25,"y":3},{"label":"k32","x":2.25,"y":3},{"label":"k33","x":3.25,"y":3},{"label":"k34","x":4.25,"y":3},{"label":"k35","x":5.25,"y":3},{"label":"k36","x":6.25,"y":3},{"label":"k37","x":7.25,"y":3},{"label":"k38","x":8.25,"y":3},{"label":"k39","x":9.25,"y":3},{"label":"k3a","x":10.25,"y":3},{"label":"k3b","x":11.25,"y":3},{"label":"k3d","x":12.25,"y":3,"w":2.75}, + {"label":"k40","x":0,"y":4,"w":1.25},{"label":"k41","x":1.25,"y":4,"w":1.25},{"label":"k43","x":2.5,"y":4,"w":1.25},{"label":"k46","x":3.75,"y":4,"w":6.25},{"label":"k4a","x":10,"y":4,"w":1.25},{"label":"k4b","x":11.25,"y":4,"w":1.25},{"label":"k4d","x":12.5,"y":4,"w":1.25},{"label":"k4e","x":13.75,"y":4,"w":1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout":[ + {"label":"k00","x":0,"y":0},{"label":"k01","x":1,"y":0},{"label":"k02","x":2,"y":0},{"label":"k03","x":3,"y":0},{"label":"k04","x":4,"y":0},{"label":"k05","x":5,"y":0},{"label":"k06","x":6,"y":0},{"label":"k07","x":7,"y":0},{"label":"k08","x":8,"y":0},{"label":"k09","x":9,"y":0},{"label":"k0a","x":10,"y":0},{"label":"k0b","x":11,"y":0},{"label":"k0c","x":12,"y":0},{"label":"k0d","x":13,"y":0,"w":2}, + {"label":"k10","x":0,"y":1,"w":1.5},{"label":"k12","x":1.5,"y":1},{"label":"k13","x":2.5,"y":1},{"label":"k14","x":3.5,"y":1},{"label":"k15","x":4.5,"y":1},{"label":"k16","x":5.5,"y":1},{"label":"k17","x":6.5,"y":1},{"label":"k18","x":7.5,"y":1},{"label":"k19","x":8.5,"y":1},{"label":"k1a","x":9.5,"y":1},{"label":"k1b","x":10.5,"y":1},{"label":"k1c","x":11.5,"y":1},{"label":"k1d","x":12.5,"y":1}, + {"label":"k20","x":0,"y":2,"w":1.75},{"label":"k22","x":1.75,"y":2},{"label":"k23","x":2.75,"y":2},{"label":"k24","x":3.75,"y":2},{"label":"k25","x":4.75,"y":2},{"label":"k26","x":5.75,"y":2},{"label":"k27","x":6.75,"y":2},{"label":"k28","x":7.75,"y":2},{"label":"k29","x":8.75,"y":2},{"label":"k2a","x":9.75,"y":2},{"label":"k2b","x":10.75,"y":2},{"label":"k2c","x":11.75,"y":2},{"label":"k2d","x":12.75,"y":2},{"label":"k1e","x":13.75,"y":1,"w":1.25,"h":2}, + {"label":"k30","x":0,"y":3,"w":1.25},{"label":"k31","x":1.25,"y":3},{"label":"k32","x":2.25,"y":3},{"label":"k33","x":3.25,"y":3},{"label":"k34","x":4.25,"y":3},{"label":"k35","x":5.25,"y":3},{"label":"k36","x":6.25,"y":3},{"label":"k37","x":7.25,"y":3},{"label":"k38","x":8.25,"y":3},{"label":"k39","x":9.25,"y":3},{"label":"k3a","x":10.25,"y":3},{"label":"k3b","x":11.25,"y":3},{"label":"k3d","x":12.25,"y":3,"w":2.75}, + {"label":"k40","x":0,"y":4,"w":1.5},{"label":"k41","x":1.5,"y":4},{"label":"k43","x":2.5,"y":4,"w":1.5},{"label":"k46","x":4,"y":4,"w":7},{"label":"k4b","x":11,"y":4,"w":1.5},{"label":"k4d","x":12.5,"y":4},{"label":"k4e","x":13.5,"y":4,"w":1.5} + ] + }, + "LAYOUT_60_iso_split_bs": { + "layout":[ + {"label":"k00","x":0,"y":0},{"label":"k01","x":1,"y":0},{"label":"k02","x":2,"y":0},{"label":"k03","x":3,"y":0},{"label":"k04","x":4,"y":0},{"label":"k05","x":5,"y":0},{"label":"k06","x":6,"y":0},{"label":"k07","x":7,"y":0},{"label":"k08","x":8,"y":0},{"label":"k09","x":9,"y":0},{"label":"k0a","x":10,"y":0},{"label":"k0b","x":11,"y":0},{"label":"k0c","x":12,"y":0},{"label":"k0d","x":13,"y":0},{"label":"k0e","x":14,"y":0}, + {"label":"k10","x":0,"y":1,"w":1.5},{"label":"k12","x":1.5,"y":1},{"label":"k13","x":2.5,"y":1},{"label":"k14","x":3.5,"y":1},{"label":"k15","x":4.5,"y":1},{"label":"k16","x":5.5,"y":1},{"label":"k17","x":6.5,"y":1},{"label":"k18","x":7.5,"y":1},{"label":"k19","x":8.5,"y":1},{"label":"k1a","x":9.5,"y":1},{"label":"k1b","x":10.5,"y":1},{"label":"k1c","x":11.5,"y":1},{"label":"k1d","x":12.5,"y":1}, + {"label":"k20","x":0,"y":2,"w":1.75},{"label":"k22","x":1.75,"y":2},{"label":"k23","x":2.75,"y":2},{"label":"k24","x":3.75,"y":2},{"label":"k25","x":4.75,"y":2},{"label":"k26","x":5.75,"y":2},{"label":"k27","x":6.75,"y":2},{"label":"k28","x":7.75,"y":2},{"label":"k29","x":8.75,"y":2},{"label":"k2a","x":9.75,"y":2},{"label":"k2b","x":10.75,"y":2},{"label":"k2c","x":11.75,"y":2},{"label":"k2d","x":12.75,"y":2},{"label":"k1e","x":13.75,"y":1,"w":1.25,"h":2}, + {"label":"k30","x":0,"y":3,"w":1.25},{"label":"k31","x":1.25,"y":3},{"label":"k32","x":2.25,"y":3},{"label":"k33","x":3.25,"y":3},{"label":"k34","x":4.25,"y":3},{"label":"k35","x":5.25,"y":3},{"label":"k36","x":6.25,"y":3},{"label":"k37","x":7.25,"y":3},{"label":"k38","x":8.25,"y":3},{"label":"k39","x":9.25,"y":3},{"label":"k3a","x":10.25,"y":3},{"label":"k3b","x":11.25,"y":3},{"label":"k3d","x":12.25,"y":3,"w":2.75}, + {"label":"k40","x":0,"y":4,"w":1.25},{"label":"k41","x":1.25,"y":4,"w":1.25},{"label":"k43","x":2.5,"y":4,"w":1.25},{"label":"k46","x":3.75,"y":4,"w":6.25},{"label":"k4a","x":10,"y":4,"w":1.25},{"label":"k4b","x":11.25,"y":4,"w":1.25},{"label":"k4d","x":12.5,"y":4,"w":1.25},{"label":"k4e","x":13.75,"y":4,"w":1.25} + ] + }, + "LAYOUT_60_iso_split_rshift": { + "layout":[ + {"label":"k00","x":0,"y":0},{"label":"k01","x":1,"y":0},{"label":"k02","x":2,"y":0},{"label":"k03","x":3,"y":0},{"label":"k04","x":4,"y":0},{"label":"k05","x":5,"y":0},{"label":"k06","x":6,"y":0},{"label":"k07","x":7,"y":0},{"label":"k08","x":8,"y":0},{"label":"k09","x":9,"y":0},{"label":"k0a","x":10,"y":0},{"label":"k0b","x":11,"y":0},{"label":"k0c","x":12,"y":0},{"label":"k0d","x":13,"y":0,"w":2}, + {"label":"k10","x":0,"y":1,"w":1.5},{"label":"k12","x":1.5,"y":1},{"label":"k13","x":2.5,"y":1},{"label":"k14","x":3.5,"y":1},{"label":"k15","x":4.5,"y":1},{"label":"k16","x":5.5,"y":1},{"label":"k17","x":6.5,"y":1},{"label":"k18","x":7.5,"y":1},{"label":"k19","x":8.5,"y":1},{"label":"k1a","x":9.5,"y":1},{"label":"k1b","x":10.5,"y":1},{"label":"k1c","x":11.5,"y":1},{"label":"k1d","x":12.5,"y":1}, + {"label":"k20","x":0,"y":2,"w":1.75},{"label":"k22","x":1.75,"y":2},{"label":"k23","x":2.75,"y":2},{"label":"k24","x":3.75,"y":2},{"label":"k25","x":4.75,"y":2},{"label":"k26","x":5.75,"y":2},{"label":"k27","x":6.75,"y":2},{"label":"k28","x":7.75,"y":2},{"label":"k29","x":8.75,"y":2},{"label":"k2a","x":9.75,"y":2},{"label":"k2b","x":10.75,"y":2},{"label":"k2c","x":11.75,"y":2},{"label":"k2d","x":12.75,"y":2},{"label":"k1e","x":13.75,"y":1,"w":1.25,"h":2}, + {"label":"k30","x":0,"y":3,"w":1.25},{"label":"k31","x":1.25,"y":3},{"label":"k32","x":2.25,"y":3},{"label":"k33","x":3.25,"y":3},{"label":"k34","x":4.25,"y":3},{"label":"k35","x":5.25,"y":3},{"label":"k36","x":6.25,"y":3},{"label":"k37","x":7.25,"y":3},{"label":"k38","x":8.25,"y":3},{"label":"k39","x":9.25,"y":3},{"label":"k3a","x":10.25,"y":3},{"label":"k3b","x":11.25,"y":3},{"label":"k3d","x":12.25,"y":3,"w":1.75},{"label":"k3e","x":14,"y":3}, + {"label":"k40","x":0,"y":4,"w":1.25},{"label":"k41","x":1.25,"y":4,"w":1.25},{"label":"k43","x":2.5,"y":4,"w":1.25},{"label":"k46","x":3.75,"y":4,"w":6.25},{"label":"k4a","x":10,"y":4,"w":1.25},{"label":"k4b","x":11.25,"y":4,"w":1.25},{"label":"k4d","x":12.5,"y":4,"w":1.25},{"label":"k4e","x":13.75,"y":4,"w":1.25} + ] + } + } +} diff --git a/keyboards/eniigmakeyboards/ek60/keymaps/default/keymap.c b/keyboards/eniigmakeyboards/ek60/keymaps/default/keymap.c new file mode 100644 index 000000000000..2cd9e8bc303d --- /dev/null +++ b/keyboards/eniigmakeyboards/ek60/keymaps/default/keymap.c @@ -0,0 +1,28 @@ + /* Copyright 2021 Eniigma Keyboards + * + * 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_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, KC_APP, KC_RCTL + ) +}; + diff --git a/keyboards/eniigmakeyboards/ek60/keymaps/via/keymap.c b/keyboards/eniigmakeyboards/ek60/keymaps/via/keymap.c new file mode 100644 index 000000000000..a2c225e7d107 --- /dev/null +++ b/keyboards/eniigmakeyboards/ek60/keymaps/via/keymap.c @@ -0,0 +1,49 @@ + /* Copyright 2021 Eniigma Keyboards + * + * 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_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_TRNS, + 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_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [1] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/eniigmakeyboards/ek60/keymaps/via/rules.mk b/keyboards/eniigmakeyboards/ek60/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/eniigmakeyboards/ek60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/eniigmakeyboards/ek60/readme.md b/keyboards/eniigmakeyboards/ek60/readme.md new file mode 100644 index 000000000000..afa33f0243d0 --- /dev/null +++ b/keyboards/eniigmakeyboards/ek60/readme.md @@ -0,0 +1,11 @@ +# Eniigma Keyboards ek60 + +* Keyboard Maintainer: [eniigmakeyboards](https://github.com/eniigmakeyboards) and [adamws](https://github.com/adamws) + +Make example for this keyboard (after setting up your build environment): + + make eniigmakeyboards/ek60: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). + +Press and hold the reset button on the underside of the PCB while plugging in the cable to reset the bootloader. diff --git a/keyboards/eniigmakeyboards/ek60/rules.mk b/keyboards/eniigmakeyboards/ek60/rules.mk new file mode 100644 index 000000000000..86b34c241ed8 --- /dev/null +++ b/keyboards/eniigmakeyboards/ek60/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 60_ansi 60_iso diff --git a/keyboards/eniigmakeyboards/ek65/rules.mk b/keyboards/eniigmakeyboards/ek65/rules.mk index 5c0d8f307c54..c98974abafc2 100644 --- a/keyboards/eniigmakeyboards/ek65/rules.mk +++ b/keyboards/eniigmakeyboards/ek65/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/eniigmakeyboards/ek87/config.h b/keyboards/eniigmakeyboards/ek87/config.h index 21298bd29ebf..52a30917e140 100644 --- a/keyboards/eniigmakeyboards/ek87/config.h +++ b/keyboards/eniigmakeyboards/ek87/config.h @@ -193,25 +193,6 @@ along with this program. If not, see . /* disable these deprecated features by default */ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/eniigmakeyboards/ek87/rules.mk b/keyboards/eniigmakeyboards/ek87/rules.mk index cb477d0661d8..55f9375f20b6 100644 --- a/keyboards/eniigmakeyboards/ek87/rules.mk +++ b/keyboards/eniigmakeyboards/ek87/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ep/40/40.c b/keyboards/ep/40/40.c index 7c235f3ce5cb..fad78a79417a 100644 --- a/keyboards/ep/40/40.c +++ b/keyboards/ep/40/40.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "40.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/ep/40/rules.mk b/keyboards/ep/40/rules.mk index a818ddd62271..916426c6d75e 100644 --- a/keyboards/ep/40/rules.mk +++ b/keyboards/ep/40/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ep/96/96.c b/keyboards/ep/96/96.c index 9fdd51977d4c..70b48aa41147 100644 --- a/keyboards/ep/96/96.c +++ b/keyboards/ep/96/96.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "96.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/ep/96/config.h b/keyboards/ep/96/config.h index 3df6a968e8d4..7c63e38d1468 100644 --- a/keyboards/ep/96/config.h +++ b/keyboards/ep/96/config.h @@ -152,23 +152,3 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - diff --git a/keyboards/ep/96/keymaps/default/keymap.c b/keyboards/ep/96/keymaps/default/keymap.c index d5120415359d..c3892148e69c 100644 --- a/keyboards/ep/96/keymaps/default/keymap.c +++ b/keyboards/ep/96/keymaps/default/keymap.c @@ -53,15 +53,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ep/96/rules.mk b/keyboards/ep/96/rules.mk index a818ddd62271..916426c6d75e 100644 --- a/keyboards/ep/96/rules.mk +++ b/keyboards/ep/96/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ep/comsn/hs68/hs68.c b/keyboards/ep/comsn/hs68/hs68.c index fdde3ad78d40..16595739c017 100644 --- a/keyboards/ep/comsn/hs68/hs68.c +++ b/keyboards/ep/comsn/hs68/hs68.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "hs68.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/ep/comsn/hs68/rules.mk b/keyboards/ep/comsn/hs68/rules.mk index 276a85cbc688..40c0c1b9dad8 100644 --- a/keyboards/ep/comsn/hs68/rules.mk +++ b/keyboards/ep/comsn/hs68/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ep/comsn/mollydooker/config.h b/keyboards/ep/comsn/mollydooker/config.h index 8b0e5930b400..97481783ecec 100644 --- a/keyboards/ep/comsn/mollydooker/config.h +++ b/keyboards/ep/comsn/mollydooker/config.h @@ -161,23 +161,3 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - diff --git a/keyboards/ep/comsn/mollydooker/keymaps/default/keymap.c b/keyboards/ep/comsn/mollydooker/keymaps/default/keymap.c index a213973cdb50..1858cedf771d 100644 --- a/keyboards/ep/comsn/mollydooker/keymaps/default/keymap.c +++ b/keyboards/ep/comsn/mollydooker/keymaps/default/keymap.c @@ -45,11 +45,3 @@ void matrix_init_user(void) { }; } - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/ep/comsn/mollydooker/mollydooker.c b/keyboards/ep/comsn/mollydooker/mollydooker.c index d0d6f302eeb6..3657ac964287 100644 --- a/keyboards/ep/comsn/mollydooker/mollydooker.c +++ b/keyboards/ep/comsn/mollydooker/mollydooker.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "mollydooker.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/ep/comsn/mollydooker/rules.mk b/keyboards/ep/comsn/mollydooker/rules.mk index 08b69dae9e81..87ebb203d92c 100644 --- a/keyboards/ep/comsn/mollydooker/rules.mk +++ b/keyboards/ep/comsn/mollydooker/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ep/comsn/tf_longeboye/rules.mk b/keyboards/ep/comsn/tf_longeboye/rules.mk index 13f194d5a3a6..63b9285daed7 100644 --- a/keyboards/ep/comsn/tf_longeboye/rules.mk +++ b/keyboards/ep/comsn/tf_longeboye/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ep/comsn/tf_longeboye/tf__longeboye.c b/keyboards/ep/comsn/tf_longeboye/tf__longeboye.c index 9e8141772c25..ee8db1e523a7 100644 --- a/keyboards/ep/comsn/tf_longeboye/tf__longeboye.c +++ b/keyboards/ep/comsn/tf_longeboye/tf__longeboye.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "tf_longeboye.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/epoch80/config.h b/keyboards/epoch80/config.h new file mode 100644 index 000000000000..ba79c4c26c49 --- /dev/null +++ b/keyboards/epoch80/config.h @@ -0,0 +1,47 @@ +/* +Copyright 2021 kb-elmo + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6463 +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER caryworks +#define PRODUCT epoch80 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +/* Keyboard Matrix Assignments */ +#define MATRIX_ROW_PINS { D1, D0, B3, B0, B2, B1 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D4, D6, D2, D3, D5 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Indicator LEDs */ +#define LED_CAPS_LOCK_PIN E6 +#define LED_SCROLL_LOCK_PIN B7 +#define LED_PIN_ON_STATE 0 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/epoch80/epoch80.c b/keyboards/epoch80/epoch80.c new file mode 100644 index 000000000000..43aa6ee8c942 --- /dev/null +++ b/keyboards/epoch80/epoch80.c @@ -0,0 +1,17 @@ +/* Copyright 2021 kb-elmo + * + * 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 "epoch80.h" diff --git a/keyboards/epoch80/epoch80.h b/keyboards/epoch80/epoch80.h new file mode 100644 index 000000000000..a21623b1c94c --- /dev/null +++ b/keyboards/epoch80/epoch80.h @@ -0,0 +1,157 @@ +/* Copyright 2021 kb-elmo + * + * 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 "quantum.h" + +#define ____ KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_all( \ + k000, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k314, k114, k115, k116, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, \ + k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k413, k415, \ + k500, k501, k502, k506, k510, k511, k512, k513, k514, k515, k516 \ +) { \ + { k000, ____, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, ____, k313, k314, ____, ____, }, \ + { k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k413, ____, k415, ____, }, \ + { k500, k501, k502, ____, ____, ____, k506, ____, ____, ____, k510, k511, k512, k513, k514, k515, k516, } \ +} + +#define LAYOUT_tkl_ansi( \ + k000, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, \ + k400, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k415, \ + k500, k501, k502, k506, k510, k511, k512, k513, k514, k515, k516 \ +) { \ + { k000, ____, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, ____, k313, ____, ____, ____, }, \ + { k400, ____, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, ____, ____, k415, ____, }, \ + { k500, k501, k502, ____, ____, ____, k506, ____, ____, ____, k510, k511, k512, k513, k514, k515, k516, } \ +} + +#define LAYOUT_tkl_ansi_splitbs( \ + k000, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k314, k114, k115, k116, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, \ + k400, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k415, \ + k500, k501, k502, k506, k510, k511, k512, k513, k514, k515, k516 \ +) { \ + { k000, ____, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, ____, k313, k314, ____, ____, }, \ + { k400, ____, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, ____, ____, k415, ____, }, \ + { k500, k501, k502, ____, ____, ____, k506, ____, ____, ____, k510, k511, k512, k513, k514, k515, k516, } \ +} + +#define LAYOUT_tkl_ansi_tsangan( \ + k000, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, \ + k400, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k415, \ + k500, k501, k502, k506, k511, k512, k513, k514, k515, k516 \ +) { \ + { k000, ____, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, ____, k313, ____, ____, ____, }, \ + { k400, ____, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, ____, ____, k415, ____, }, \ + { k500, k501, k502, ____, ____, ____, k506, ____, ____, ____, ____, k511, k512, k513, k514, k515, k516, } \ +} + +#define LAYOUT_tkl_ansi_tsangan_splitbs( \ + k000, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k314, k114, k115, k116, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, \ + k400, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k415, \ + k500, k501, k502, k506, k511, k512, k513, k514, k515, k516 \ +) { \ + { k000, ____, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, ____, k313, k314, ____, ____, }, \ + { k400, ____, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, ____, ____, k415, ____, }, \ + { k500, k501, k502, ____, ____, ____, k506, ____, ____, ____, ____, k511, k512, k513, k514, k515, k516, } \ +} + +#define LAYOUT_tkl_ansi_wkl( \ + k000, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, \ + k400, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k415, \ + k500, k502, k506, k511, k513, k514, k515, k516 \ +) { \ + { k000, ____, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, ____, k313, ____, ____, ____, }, \ + { k400, ____, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, ____, ____, k415, ____, }, \ + { k500, ____, k502, ____, ____, ____, k506, ____, ____, ____, ____, k511, ____, k513, k514, k515, k516, } \ +} + +#define LAYOUT_tkl_ansi_wkl_splitbs( \ + k000, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k314, k114, k115, k116, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k313, \ + k400, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k415, \ + k500, k502, k506, k511, k513, k514, k515, k516 \ +) { \ + { k000, ____, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, ____, k313, k314, ____, ____, }, \ + { k400, ____, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, ____, ____, k415, ____, }, \ + { k500, ____, k502, ____, ____, ____, k506, ____, ____, ____, ____, k511, ____, k513, k514, k515, k516, } \ +} + +#define LAYOUT_tkl_iso( \ + k000, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k214, k215, k216, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k213, k313, \ + k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k415, \ + k500, k501, k502, k506, k510, k511, k512, k513, k514, k515, k516 \ +) { \ + { k000, ____, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, k016, }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k114, k115, k116, }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, k214, k215, k216, }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, ____, k313, ____, ____, ____, }, \ + { k400, k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, ____, ____, k415, ____, }, \ + { k500, k501, k502, ____, ____, ____, k506, ____, ____, ____, k510, k511, k512, k513, k514, k515, k516, } \ +} diff --git a/keyboards/epoch80/info.json b/keyboards/epoch80/info.json new file mode 100644 index 000000000000..eaf99df698ee --- /dev/null +++ b/keyboards/epoch80/info.json @@ -0,0 +1,736 @@ +{ + "keyboard_name": "epoch80", + "url": "https://kbdfans.com/collections/80-diy-kit/products/coming-soon-epoch-80-mechanical-keyboard", + "maintainer": "kb-elmo", + "width": 18.5, + "height": 6.5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.5, "y":0}, + {"x":16.5, "y":0}, + {"x":17.5, "y":0}, + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5}, + {"x":14, "y":1.5}, + {"x":15.5, "y":1.5}, + {"x":16.5, "y":1.5}, + {"x":17.5, "y":1.5}, + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5, "w":1.5}, + {"x":15.5, "y":2.5}, + {"x":16.5, "y":2.5}, + {"x":17.5, "y":2.5}, + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5, "w":2.25}, + {"x":0, "y":4.5, "w":1.25}, + {"x":1.25, "y":4.5}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":1.75}, + {"x":14, "y":4.5}, + {"x":16.5, "y":4.5}, + {"x":0, "y":5.5, "w":1.25}, + {"x":1.25, "y":5.5, "w":1.25}, + {"x":2.5, "y":5.5, "w":1.25}, + {"x":3.75, "y":5.5, "w":6.25}, + {"x":10, "y":5.5, "w":1.25}, + {"x":11.25, "y":5.5, "w":1.25}, + {"x":12.5, "y":5.5, "w":1.25}, + {"x":13.75, "y":5.5, "w":1.25}, + {"x":15.5, "y":5.5}, + {"x":16.5, "y":5.5}, + {"x":17.5, "y":5.5} + ] + }, + "LAYOUT_tkl_ansi": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.5, "y":0}, + {"x":16.5, "y":0}, + {"x":17.5, "y":0}, + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5, "w":2}, + {"x":15.5, "y":1.5}, + {"x":16.5, "y":1.5}, + {"x":17.5, "y":1.5}, + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5, "w":1.5}, + {"x":15.5, "y":2.5}, + {"x":16.5, "y":2.5}, + {"x":17.5, "y":2.5}, + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5, "w":2.25}, + {"x":0, "y":4.5, "w":2.25}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":2.75}, + {"x":16.5, "y":4.5}, + {"x":0, "y":5.5, "w":1.25}, + {"x":1.25, "y":5.5, "w":1.25}, + {"x":2.5, "y":5.5, "w":1.25}, + {"x":3.75, "y":5.5, "w":6.25}, + {"x":10, "y":5.5, "w":1.25}, + {"x":11.25, "y":5.5, "w":1.25}, + {"x":12.5, "y":5.5, "w":1.25}, + {"x":13.75, "y":5.5, "w":1.25}, + {"x":15.5, "y":5.5}, + {"x":16.5, "y":5.5}, + {"x":17.5, "y":5.5} + ] + }, + "LAYOUT_tkl_ansi_splitbs": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.5, "y":0}, + {"x":16.5, "y":0}, + {"x":17.5, "y":0}, + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5}, + {"x":14, "y":1.5}, + {"x":15.5, "y":1.5}, + {"x":16.5, "y":1.5}, + {"x":17.5, "y":1.5}, + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5, "w":1.5}, + {"x":15.5, "y":2.5}, + {"x":16.5, "y":2.5}, + {"x":17.5, "y":2.5}, + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5, "w":2.25}, + {"x":0, "y":4.5, "w":2.25}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":2.75}, + {"x":16.5, "y":4.5}, + {"x":0, "y":5.5, "w":1.25}, + {"x":1.25, "y":5.5, "w":1.25}, + {"x":2.5, "y":5.5, "w":1.25}, + {"x":3.75, "y":5.5, "w":6.25}, + {"x":10, "y":5.5, "w":1.25}, + {"x":11.25, "y":5.5, "w":1.25}, + {"x":12.5, "y":5.5, "w":1.25}, + {"x":13.75, "y":5.5, "w":1.25}, + {"x":15.5, "y":5.5}, + {"x":16.5, "y":5.5}, + {"x":17.5, "y":5.5} + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.5, "y":0}, + {"x":16.5, "y":0}, + {"x":17.5, "y":0}, + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5, "w":2}, + {"x":15.5, "y":1.5}, + {"x":16.5, "y":1.5}, + {"x":17.5, "y":1.5}, + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5, "w":1.5}, + {"x":15.5, "y":2.5}, + {"x":16.5, "y":2.5}, + {"x":17.5, "y":2.5}, + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5, "w":2.25}, + {"x":0, "y":4.5, "w":2.25}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":2.75}, + {"x":16.5, "y":4.5}, + {"x":0, "y":5.5, "w":1.5}, + {"x":1.5, "y":5.5}, + {"x":2.5, "y":5.5, "w":1.5}, + {"x":4, "y":5.5, "w":7}, + {"x":11, "y":5.5, "w":1.5}, + {"x":12.5, "y":5.5}, + {"x":13.5, "y":5.5, "w":1.5}, + {"x":15.5, "y":5.5}, + {"x":16.5, "y":5.5}, + {"x":17.5, "y":5.5} + ] + }, + "LAYOUT_tkl_ansi_tsangan_splitbs": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.5, "y":0}, + {"x":16.5, "y":0}, + {"x":17.5, "y":0}, + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5}, + {"x":14, "y":1.5}, + {"x":15.5, "y":1.5}, + {"x":16.5, "y":1.5}, + {"x":17.5, "y":1.5}, + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5, "w":1.5}, + {"x":15.5, "y":2.5}, + {"x":16.5, "y":2.5}, + {"x":17.5, "y":2.5}, + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5, "w":2.25}, + {"x":0, "y":4.5, "w":2.25}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":2.75}, + {"x":16.5, "y":4.5}, + {"x":0, "y":5.5, "w":1.5}, + {"x":1.5, "y":5.5}, + {"x":2.5, "y":5.5, "w":1.5}, + {"x":4, "y":5.5, "w":7}, + {"x":11, "y":5.5, "w":1.5}, + {"x":12.5, "y":5.5}, + {"x":13.5, "y":5.5, "w":1.5}, + {"x":15.5, "y":5.5}, + {"x":16.5, "y":5.5}, + {"x":17.5, "y":5.5} + ] + }, + "LAYOUT_tkl_ansi_wkl": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.5, "y":0}, + {"x":16.5, "y":0}, + {"x":17.5, "y":0}, + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5, "w":2}, + {"x":15.5, "y":1.5}, + {"x":16.5, "y":1.5}, + {"x":17.5, "y":1.5}, + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5, "w":1.5}, + {"x":15.5, "y":2.5}, + {"x":16.5, "y":2.5}, + {"x":17.5, "y":2.5}, + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5, "w":2.25}, + {"x":0, "y":4.5, "w":2.25}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":2.75}, + {"x":16.5, "y":4.5}, + {"x":0, "y":5.5, "w":1.5}, + {"x":2.5, "y":5.5, "w":1.5}, + {"x":4, "y":5.5, "w":7}, + {"x":11, "y":5.5, "w":1.5}, + {"x":13.5, "y":5.5, "w":1.5}, + {"x":15.5, "y":5.5}, + {"x":16.5, "y":5.5}, + {"x":17.5, "y":5.5} + ] + }, + "LAYOUT_tkl_ansi_wkl_splitbs": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.5, "y":0}, + {"x":16.5, "y":0}, + {"x":17.5, "y":0}, + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5}, + {"x":14, "y":1.5}, + {"x":15.5, "y":1.5}, + {"x":16.5, "y":1.5}, + {"x":17.5, "y":1.5}, + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5, "w":1.5}, + {"x":15.5, "y":2.5}, + {"x":16.5, "y":2.5}, + {"x":17.5, "y":2.5}, + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5, "w":2.25}, + {"x":0, "y":4.5, "w":2.25}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":2.75}, + {"x":16.5, "y":4.5}, + {"x":0, "y":5.5, "w":1.5}, + {"x":2.5, "y":5.5, "w":1.5}, + {"x":4, "y":5.5, "w":7}, + {"x":11, "y":5.5, "w":1.5}, + {"x":13.5, "y":5.5, "w":1.5}, + {"x":15.5, "y":5.5}, + {"x":16.5, "y":5.5}, + {"x":17.5, "y":5.5} + ] + }, + "LAYOUT_tkl_iso": { + "layout": [ + {"x":0, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + {"x":9.5, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15.5, "y":0}, + {"x":16.5, "y":0}, + {"x":17.5, "y":0}, + {"x":0, "y":1.5}, + {"x":1, "y":1.5}, + {"x":2, "y":1.5}, + {"x":3, "y":1.5}, + {"x":4, "y":1.5}, + {"x":5, "y":1.5}, + {"x":6, "y":1.5}, + {"x":7, "y":1.5}, + {"x":8, "y":1.5}, + {"x":9, "y":1.5}, + {"x":10, "y":1.5}, + {"x":11, "y":1.5}, + {"x":12, "y":1.5}, + {"x":13, "y":1.5, "w":2}, + {"x":15.5, "y":1.5}, + {"x":16.5, "y":1.5}, + {"x":17.5, "y":1.5}, + {"x":0, "y":2.5, "w":1.5}, + {"x":1.5, "y":2.5}, + {"x":2.5, "y":2.5}, + {"x":3.5, "y":2.5}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":6.5, "y":2.5}, + {"x":7.5, "y":2.5}, + {"x":8.5, "y":2.5}, + {"x":9.5, "y":2.5}, + {"x":10.5, "y":2.5}, + {"x":11.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.75, "y":2.5, "w":1.25, "h":2}, + {"x":15.5, "y":2.5}, + {"x":16.5, "y":2.5}, + {"x":17.5, "y":2.5}, + {"x":0, "y":3.5, "w":1.75}, + {"x":1.75, "y":3.5}, + {"x":2.75, "y":3.5}, + {"x":3.75, "y":3.5}, + {"x":4.75, "y":3.5}, + {"x":5.75, "y":3.5}, + {"x":6.75, "y":3.5}, + {"x":7.75, "y":3.5}, + {"x":8.75, "y":3.5}, + {"x":9.75, "y":3.5}, + {"x":10.75, "y":3.5}, + {"x":11.75, "y":3.5}, + {"x":12.75, "y":3.5}, + {"x":0, "y":4.5, "w":1.25}, + {"x":1.25, "y":4.5}, + {"x":2.25, "y":4.5}, + {"x":3.25, "y":4.5}, + {"x":4.25, "y":4.5}, + {"x":5.25, "y":4.5}, + {"x":6.25, "y":4.5}, + {"x":7.25, "y":4.5}, + {"x":8.25, "y":4.5}, + {"x":9.25, "y":4.5}, + {"x":10.25, "y":4.5}, + {"x":11.25, "y":4.5}, + {"x":12.25, "y":4.5, "w":2.75}, + {"x":16.5, "y":4.5}, + {"x":0, "y":5.5, "w":1.25}, + {"x":1.25, "y":5.5, "w":1.25}, + {"x":2.5, "y":5.5, "w":1.25}, + {"x":3.75, "y":5.5, "w":6.25}, + {"x":10, "y":5.5, "w":1.25}, + {"x":11.25, "y":5.5, "w":1.25}, + {"x":12.5, "y":5.5, "w":1.25}, + {"x":13.75, "y":5.5, "w":1.25}, + {"x":15.5, "y":5.5}, + {"x":16.5, "y":5.5}, + {"x":17.5, "y":5.5} + ] + } + } +} diff --git a/keyboards/epoch80/keymaps/default/keymap.c b/keyboards/epoch80/keymaps/default/keymap.c new file mode 100644 index 000000000000..76ac04d1b533 --- /dev/null +++ b/keyboards/epoch80/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2021 kb-elmo + * + * 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_tkl_ansi( + 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_SLCK, 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/epoch80/keymaps/iso/keymap.c b/keyboards/epoch80/keymaps/iso/keymap.c new file mode 100644 index 000000000000..dcf43d76e1a3 --- /dev/null +++ b/keyboards/epoch80/keymaps/iso/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2021 kb-elmo + * + * 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_tkl_iso( + 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_SLCK, 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_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_iso( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/epoch80/keymaps/tsangan/keymap.c b/keyboards/epoch80/keymaps/tsangan/keymap.c new file mode 100644 index 000000000000..a0595a0d77f8 --- /dev/null +++ b/keyboards/epoch80/keymaps/tsangan/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2021 kb-elmo + * + * 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_tkl_ansi_tsangan( + 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_SLCK, 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_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_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_ansi_tsangan( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/epoch80/keymaps/via/keymap.c b/keyboards/epoch80/keymaps/via/keymap.c new file mode 100644 index 000000000000..cf2aeb3ca9f4 --- /dev/null +++ b/keyboards/epoch80/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2021 kb-elmo + * + * 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_PSCR, KC_SLCK, 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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/epoch80/keymaps/via/rules.mk b/keyboards/epoch80/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/epoch80/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/epoch80/keymaps/wkl/keymap.c b/keyboards/epoch80/keymaps/wkl/keymap.c new file mode 100644 index 000000000000..30b7126908d3 --- /dev/null +++ b/keyboards/epoch80/keymaps/wkl/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2021 kb-elmo + * + * 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_tkl_ansi_wkl( + 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_SLCK, 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_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_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi_wkl( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DEC, BL_INC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/epoch80/readme.md b/keyboards/epoch80/readme.md new file mode 100644 index 000000000000..a78f9ce87bac --- /dev/null +++ b/keyboards/epoch80/readme.md @@ -0,0 +1,20 @@ +# Epoch 80 / Dolch.CR 80 + +![epoch80](https://i.imgur.com/xNvEKBOl.png) + +Dolch PAC inspired TKL keyboard designed by Cary Works and made by KBDFans. +The board was also sold in a zFrontier groupbuy under the name Dolch.CR 80. + +* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) +* Hardware Supported: Epoch 80 / Dolch.CR 80 PCB +* Hardware Availability: https://kbdfans.com/collections/80-diy-kit/products/coming-soon-epoch-80-mechanical-keyboard + +Make example for this keyboard (after setting up your build environment): + + make epoch80:default + +Flashing example for this keyboard: + + make epoch80: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). diff --git a/keyboards/epoch80/rules.mk b/keyboards/epoch80/rules.mk new file mode 100644 index 000000000000..9f81430cd9f0 --- /dev/null +++ b/keyboards/epoch80/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = tkl_ansi tkl_iso diff --git a/keyboards/ergo42/ergo42.c b/keyboards/ergo42/ergo42.c index e42dcb22617a..bd7a7ffe19b9 100644 --- a/keyboards/ergo42/ergo42.c +++ b/keyboards/ergo42/ergo42.c @@ -2,7 +2,7 @@ #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}}, {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}}, diff --git a/keyboards/ergo42/ergo42.h b/keyboards/ergo42/ergo42.h index ced1709d3e5b..656b211308a5 100644 --- a/keyboards/ergo42/ergo42.h +++ b/keyboards/ergo42/ergo42.h @@ -5,19 +5,3 @@ #ifdef KEYBOARD_ergo42_rev1 #include "rev1.h" #endif - -// Used to create a keymap using only KC_ prefixed keys -#define LAYOUT_kc_ortho_4x14( \ - L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ - L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ - L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ - L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36 \ - ) \ - LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##L06, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, KC_##R06, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##L16, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, KC_##R16, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##L26, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, KC_##R26, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35, KC_##R36 \ - ) - -#define LAYOUT_kc LAYOUT_kc_ortho_4x14 diff --git a/keyboards/ergo42/info.json b/keyboards/ergo42/info.json index cac5a46a1430..6489e25a8069 100644 --- a/keyboards/ergo42/info.json +++ b/keyboards/ergo42/info.json @@ -5,7 +5,7 @@ "width": 15, "height": 4, "layouts": { - "LAYOUT": { + "LAYOUT_ortho_4x14": { "key_count": 56, "layout": [{"label":"L00", "x":0, "y":0}, {"label":"L01", "x":1, "y":0}, {"label":"L02", "x":2, "y":0}, {"label":"L03", "x":3, "y":0}, {"label":"L04", "x":4, "y":0}, {"label":"L05", "x":5, "y":0}, {"label":"L06", "x":6, "y":0}, {"label":"R00", "x":8, "y":0}, {"label":"R01", "x":9, "y":0}, {"label":"R02", "x":10, "y":0}, {"label":"R03", "x":11, "y":0}, {"label":"R04", "x":12, "y":0}, {"label":"R05", "x":13, "y":0}, {"label":"R06", "x":14, "y":0}, {"label":"L10", "x":0, "y":1}, {"label":"L11", "x":1, "y":1}, {"label":"L12", "x":2, "y":1}, {"label":"L13", "x":3, "y":1}, {"label":"L14", "x":4, "y":1}, {"label":"L15", "x":5, "y":1}, {"label":"L16", "x":6, "y":1}, {"label":"R10", "x":8, "y":1}, {"label":"R11", "x":9, "y":1}, {"label":"R12", "x":10, "y":1}, {"label":"R13", "x":11, "y":1}, {"label":"R14", "x":12, "y":1}, {"label":"R15", "x":13, "y":1}, {"label":"R16", "x":14, "y":1}, {"label":"L20", "x":0, "y":2}, {"label":"L21", "x":1, "y":2}, {"label":"L22", "x":2, "y":2}, {"label":"L23", "x":3, "y":2}, {"label":"L24", "x":4, "y":2}, {"label":"L25", "x":5, "y":2}, {"label":"L26", "x":6, "y":2}, {"label":"R20", "x":8, "y":2}, {"label":"R21", "x":9, "y":2}, {"label":"R22", "x":10, "y":2}, {"label":"R23", "x":11, "y":2}, {"label":"R24", "x":12, "y":2}, {"label":"R25", "x":13, "y":2}, {"label":"R26", "x":14, "y":2}, {"label":"L30", "x":0, "y":3}, {"label":"L31", "x":1, "y":3}, {"label":"L32", "x":2, "y":3}, {"label":"L33", "x":3, "y":3}, {"label":"L34", "x":4, "y":3}, {"label":"L35", "x":5, "y":3}, {"label":"L36", "x":6, "y":3}, {"label":"R30", "x":8, "y":3}, {"label":"R31", "x":9, "y":3}, {"label":"R32", "x":10, "y":3}, {"label":"R33", "x":11, "y":3}, {"label":"R34", "x":12, "y":3}, {"label":"R35", "x":13, "y":3}, {"label":"R36", "x":14, "y":3}] } diff --git a/keyboards/ergo42/keymaps/hdbx/keymap.c b/keyboards/ergo42/keymaps/hdbx/keymap.c index da579de01a9a..0931ce86b46e 100644 --- a/keyboards/ergo42/keymaps/hdbx/keymap.c +++ b/keyboards/ergo42/keymaps/hdbx/keymap.c @@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_RAISE] = LAYOUT( \ _______, KC_EXLM, JP_AT, KC_HASH, KC_DLR, KC_PERC, JP_UNDS, JP_GRV, JP_CIRC, JP_AMPR, KC_INS, JP_YEN, KC_ALPS, _______, \ - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_LCBR, JP_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, JP_DQT, \ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_LCBR, JP_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, JP_DQUO, \ KC_LSFT, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_PGUP, XXXXXXX, XXXXXXX, KC_LT, KC_GT, KC_QUES, KC_RSFT, \ _______, _______, JP_PIPE, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______ \ ), @@ -145,7 +145,7 @@ void matrix_init_user(void) { #endif } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); #ifdef RGBLIGHT_ENABLE switch (biton32(state)) { diff --git a/keyboards/ergo42/keymaps/shinze/keymap.c b/keyboards/ergo42/keymaps/shinze/keymap.c index e07ff9f9eb03..f5cc3c520ea1 100644 --- a/keyboards/ergo42/keymaps/shinze/keymap.c +++ b/keyboards/ergo42/keymaps/shinze/keymap.c @@ -15,15 +15,15 @@ extern keymap_config_t keymap_config; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT( \ - KC_TAB, BP_B, BP_ECUT, BP_P, BP_O, BP_EGRV, KC_ESC, KC_BSPC, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z, \ + KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_ESC, KC_BSPC, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z, \ BP_W, BP_A, BP_U, BP_I, BP_E, BP_COMM, _______, _______, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, \ - KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, _______, _______, BP_APOS, BP_Q, BP_G, BP_H, BP_F, BP_CCED, \ + KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, _______, _______, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, BP_CCED, \ MO(SHORT), KC_LCTL, _______, KC_LALT, KC_LGUI, KC_SPC, MO(NUMB), KC_ENT , KC_RSFT, KC_SPC, _______, _______, _______, _______ \ ), [NUMB] = LAYOUT( \ - BP_HASH, BP_DQOT, BP_LDQU, BP_RDQU, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, BP_PERC, KC_BSPC, \ - BP_DLR, BP_1, BP_2, BP_3, BP_4, BP_5, KC_LBRC, KC_RBRC, BP_6, BP_7, BP_8, BP_9, BP_0, BP_DEGR, \ + BP_HASH, BP_DQUO, BP_LDQU, BP_RDQU, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, BP_PERC, KC_BSPC, \ + BP_DLR, BP_1, BP_2, BP_3, BP_4, BP_5, KC_LBRC, KC_RBRC, BP_6, BP_7, BP_8, BP_9, BP_0, BP_DEG, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ), diff --git a/keyboards/ergo42/rules.mk b/keyboards/ergo42/rules.mk index b593de2be37f..5dfdfc34cd75 100644 --- a/keyboards/ergo42/rules.mk +++ b/keyboards/ergo42/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,12 +18,9 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 SPLIT_KEYBOARD = yes -LAYOUTS = ortho_4x14 - DEFAULT_FOLDER = ergo42/rev1 diff --git a/keyboards/ergoarrows/info.json b/keyboards/ergoarrows/info.json index fca43fcd2de2..c95dd56d2b5d 100644 --- a/keyboards/ergoarrows/info.json +++ b/keyboards/ergoarrows/info.json @@ -2,87 +2,99 @@ "keyboard_name": "ergoarrows", "url": "https://salicylic-acid3.hatenablog.com/", "maintainer": "Salicylic_acid3", - "width": 16.25, - "height": 6.51, + "width": 15.8, + "height": 6.5, "layouts": { "LAYOUT": { "layout": [ - {"label":"Esc", "x":0.5, "y":0.38}, - {"label":"1", "x":1.5, "y":0.375}, - {"label":"2", "x":2.5, "y":0.125}, - {"label":"3", "x":3.5, "y":0}, - {"label":"4", "x":4.5, "y":0.125}, - {"label":"5", "x":5.5, "y":0.25}, - {"label":"6", "x":6.5, "y":0.5}, - {"label":"5", "x":9.25, "y":0.5}, - {"label":"6", "x":10.25, "y":0.25}, - {"label":"7", "x":11.25, "y":0.13}, - {"label":"8", "x":12.25, "y":0}, - {"label":"9", "x":13.25, "y":0.13}, - {"label":"0", "x":14.25, "y":0.38}, - {"label":"PrtScr", "x":15.25, "y":0.38}, - {"label":"Tab", "x":0.5, "y":1.38}, - {"label":"Q", "x":1.5, "y":1.375}, - {"label":"W", "x":2.5, "y":1.125}, - {"label":"E", "x":3.5, "y":1}, - {"label":"R", "x":4.5, "y":1.125}, - {"label":"T", "x":5.5, "y":1.25}, - {"label":"Y", "x":6.5, "y":1.5}, - {"label":"T", "x":9.25, "y":1.5}, - {"label":"Y", "x":10.25, "y":1.25}, - {"label":"U", "x":11.25, "y":1.13}, - {"label":"I", "x":12.25, "y":1}, - {"label":"O", "x":13.25, "y":1.13}, - {"label":"P", "x":14.25, "y":1.38}, - {"label":"[", "x":15.25, "y":1.38}, - {"label":"Caps", "x":0.5, "y":2.38}, - {"label":"A", "x":1.5, "y":2.375}, - {"label":"S", "x":2.5, "y":2.125}, - {"label":"D", "x":3.5, "y":2}, - {"label":"F", "x":4.5, "y":2.125}, - {"label":"G", "x":5.5, "y":2.25}, - {"label":"H", "x":6.5, "y":2.5}, - {"label":"G", "x":9.25, "y":2.5}, - {"label":"H", "x":10.25, "y":2.25}, - {"label":"J", "x":11.25, "y":2.13}, - {"label":"K", "x":12.25, "y":2}, - {"label":"L", "x":13.25, "y":2.13}, - {"label":":", "x":14.25, "y":2.38}, - {"label":"Ent", "x":15.25, "y":2.38}, - {"label":"Shift", "x":0.5, "y":3.38}, - {"label":"Z", "x":1.5, "y":3.375}, - {"label":"X", "x":2.5, "y":3.125}, - {"label":"C", "x":3.5, "y":3}, - {"label":"V", "x":4.5, "y":3.125}, - {"label":"B", "x":5.5, "y":3.25}, - {"label":"N", "x":6.5, "y":3.5}, - {"label":"B", "x":9.25, "y":3.5}, - {"label":"N", "x":10.25, "y":3.25}, - {"label":"M", "x":11.25, "y":3.13}, - {"label":"<", "x":12.25, "y":3}, - {"label":">", "x":13.25, "y":3.13}, - {"label":"?", "x":14.25, "y":3.38}, - {"label":"_", "x":15.25, "y":3.38}, - {"label":"Ctrl", "x":0.5, "y":4.38}, - {"label":"Win", "x":1.5, "y":4.38}, - {"label":"↑", "x":2.63, "y":4.51}, - {"label":"Alt", "x":3.75, "y":4.38}, - {"label":"Ent", "x":4.75, "y":4.38}, - {"label":"BS", "x":5.85, "y":4.6}, - {"label":"Del", "x":6.9, "y":5.15}, - {"label":"BS", "x":8.85, "y":5.15}, - {"label":"Del", "x":9.9, "y":4.6}, - {"label":"Spc", "x":11, "y":4.38}, - {"label":"Alt", "x":12, "y":4.38}, - {"label":"↑", "x":13.13, "y":4.51}, - {"label":"Alt", "x":14.25, "y":4.38}, - {"label":"App", "x":15.25, "y":4.38}, - {"label":"←", "x":1.63, "y":5.51}, - {"label":"⇓", "x":2.63, "y":5.51}, - {"label":"→", "x":3.625, "y":5.51}, - {"label":"←", "x":12.13, "y":5.51}, - {"label":"⇓", "x":13.13, "y":5.51}, - {"label":"→", "x":14.13, "y":5.51}] + {"label":"Esc", "x":0, "y":0.375}, + {"label":"1", "x":1, "y":0.375}, + {"label":"2", "x":2, "y":0.125}, + {"label":"3", "x":3, "y":0}, + {"label":"4", "x":4, "y":0.125}, + {"label":"5", "x":5, "y":0.25}, + {"label":"6", "x":6, "y":0.5}, + + {"label":"5", "x":8.8, "y":0.5}, + {"label":"6", "x":9.8, "y":0.25}, + {"label":"7", "x":10.8, "y":0.125}, + {"label":"8", "x":11.8, "y":0}, + {"label":"9", "x":12.8, "y":0.125}, + {"label":"0", "x":13.8, "y":0.375}, + {"label":"PrtScr", "x":14.8, "y":0.375}, + + {"label":"Tab", "x":0, "y":1.375}, + {"label":"Q", "x":1, "y":1.375}, + {"label":"W", "x":2, "y":1.125}, + {"label":"E", "x":3, "y":1}, + {"label":"R", "x":4, "y":1.125}, + {"label":"T", "x":5, "y":1.25}, + {"label":"Y", "x":6, "y":1.5}, + + {"label":"T", "x":8.8, "y":1.5}, + {"label":"Y", "x":9.8, "y":1.25}, + {"label":"U", "x":10.8, "y":1.125}, + {"label":"I", "x":11.8, "y":1}, + {"label":"O", "x":12.8, "y":1.125}, + {"label":"P", "x":13.8, "y":1.375}, + {"label":"[", "x":14.8, "y":1.375}, + + {"label":"Caps", "x":0, "y":2.375}, + {"label":"A", "x":1, "y":2.375}, + {"label":"S", "x":2, "y":2.125}, + {"label":"D", "x":3, "y":2}, + {"label":"F", "x":4, "y":2.125}, + {"label":"G", "x":5, "y":2.25}, + {"label":"H", "x":6, "y":2.5}, + + {"label":"G", "x":8.8, "y":2.5}, + {"label":"H", "x":9.8, "y":2.25}, + {"label":"J", "x":10.8, "y":2.125}, + {"label":"K", "x":11.8, "y":2}, + {"label":"L", "x":12.8, "y":2.125}, + {"label":":", "x":13.8, "y":2.375}, + {"label":"Ent", "x":14.8, "y":2.375}, + + {"label":"Shift", "x":0, "y":3.375}, + {"label":"Z", "x":1, "y":3.375}, + {"label":"X", "x":2, "y":3.125}, + {"label":"C", "x":3, "y":3}, + {"label":"V", "x":4, "y":3.125}, + {"label":"B", "x":5, "y":3.25}, + {"label":"N", "x":6, "y":3.5}, + + {"label":"B", "x":8.8, "y":3.5}, + {"label":"N", "x":9.8, "y":3.25}, + {"label":"M", "x":10.8, "y":3.125}, + {"label":"<", "x":11.8, "y":3}, + {"label":">", "x":12.8, "y":3.125}, + {"label":"?", "x":13.8, "y":3.375}, + {"label":"_", "x":14.8, "y":3.375}, + + {"label":"Ctrl", "x":0, "y":4.375}, + {"label":"Win", "x":1, "y":4.375}, + {"label":"↑", "x":2.125, "y":4.5}, + {"label":"Alt", "x":3.25, "y":4.375}, + {"label":"Ent", "x":4.25, "y":4.375}, + {"label":"BS", "x":5.35, "y":4.625}, + {"label":"Del", "x":6.4, "y":5.125}, + + {"label":"BS", "x":8.4, "y":5.125}, + {"label":"Del", "x":9.45, "y":4.625}, + {"label":"Spc", "x":10.55, "y":4.375}, + {"label":"Alt", "x":11.55, "y":4.375}, + {"label":"↑", "x":12.675, "y":4.5}, + {"label":"Alt", "x":13.8, "y":4.375}, + {"label":"App", "x":14.8, "y":4.375}, + + {"label":"←", "x":1.125, "y":5.5}, + {"label":"⇓", "x":2.125, "y":5.5}, + {"label":"→", "x":3.125, "y":5.5}, + + {"label":"←", "x":11.675, "y":5.5}, + {"label":"⇓", "x":12.675, "y":5.5}, + {"label":"→", "x":13.675, "y":5.5} + ] } } -} \ No newline at end of file +} diff --git a/keyboards/ergoarrows/keymaps/salicylic/keymap.c b/keyboards/ergoarrows/keymaps/salicylic/keymap.c index a8211e65aaa8..c841371dba73 100644 --- a/keyboards/ergoarrows/keymaps/salicylic/keymap.c +++ b/keyboards/ergoarrows/keymaps/salicylic/keymap.c @@ -52,7 +52,7 @@ LALT_T(KC_ZKHK),KC_LGUI, KC_UP, KC_MHEN,LT(_LOWER,KC_ENT),KC_BSPC,KC_DEL,KC_BSP //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, _______, _______, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, _______, _______, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, + JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, _______, _______, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| diff --git a/keyboards/ergoarrows/rules.mk b/keyboards/ergoarrows/rules.mk index abffa14b3461..9aaba6721795 100644 --- a/keyboards/ergoarrows/rules.mk +++ b/keyboards/ergoarrows/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ergodash/ergodash.h b/keyboards/ergodash/ergodash.h index 83c785930787..5fba70e75d1e 100644 --- a/keyboards/ergodash/ergodash.h +++ b/keyboards/ergodash/ergodash.h @@ -1,44 +1,11 @@ -#ifndef ERGODASH_H -#define ERGODASH_H +#pragma once #include "quantum.h" #ifdef KEYBOARD_ergodash_rev1 #include "rev1.h" - - // Used to create a keymap using only KC_ prefixed keys - #define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ - L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ - L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ - L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \ - L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46 \ - ) \ - LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##L06, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, KC_##R06, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##L16, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, KC_##R16, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##L26, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, KC_##R26, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35, KC_##R36, \ - KC_##L40, KC_##L41, KC_##L42, KC_##L43, KC_##L44, KC_##L45, KC_##L46, KC_##R40, KC_##R41, KC_##R42, KC_##R43, KC_##R44, KC_##R45, KC_##R46 \ - ) #endif // #ifdef KEYBOARD_ergodash_rev1 #ifdef KEYBOARD_ergodash_mini #include "mini.h" - - // Used to create a keymap using only KC_ prefixed keys - #define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ - L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ - L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ - L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36 \ - ) \ - LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##L06, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, KC_##R06, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##L16, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, KC_##R16, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##L26, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, KC_##R26, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35, KC_##R36 \ - ) -#endif // #ifdef KEYBOARD_ergodash_mini - #endif diff --git a/keyboards/ergodash/mini/mini.c b/keyboards/ergodash/mini/mini.c index 89b8212976d0..3aa9e74ccec8 100644 --- a/keyboards/ergodash/mini/mini.c +++ b/keyboards/ergodash/mini/mini.c @@ -4,10 +4,3 @@ float tone_startup[][2] = SONG(STARTUP_SOUND); float tone_goodbye[][2] = SONG(GOODBYE_SOUND); #endif - -#ifdef SSD1306OLED -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} -#endif diff --git a/keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c b/keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c index 4d1d0131f58d..4b102157d584 100644 --- a/keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c +++ b/keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT( \ KC_ESC, CSTM_1, CSTM_2, CSTM_3, CSTM_4, CSTM_5, JP_KANA, JP_KANA, CSTM_6, CSTM_7, CSTM_8, CSTM_9, CSTM_0, GRV , \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, JP_MHEN, JP_HENK, KC_Y, KC_U, KC_I, KC_O, KC_P, BSLS , \ - KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, JP_MEISU, JP_MKANA,KC_H, KC_J, KC_K, KC_L, SCLN, QUOT , \ + KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LANG2, JP_LANG1,KC_H, KC_J, KC_K, KC_L, SCLN, QUOT , \ SHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SHIFT , SHIFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFT , \ SHIFT, ADJUST, KC_LALT, KC_LCTL, LOWER, KC_SPC ,XXXXXXX, XXXXXXX,KC_ENT , RAISE, KC_LCTL, KC_LALT, ADJUST, SHIFT \ ), diff --git a/keyboards/ergodash/rev1/keymaps/yet-another-developer/rules.mk b/keyboards/ergodash/rev1/keymaps/yet-another-developer/rules.mk index 6ba6c5b2211f..a7d4fcaac371 100644 --- a/keyboards/ergodash/rev1/keymaps/yet-another-developer/rules.mk +++ b/keyboards/ergodash/rev1/keymaps/yet-another-developer/rules.mk @@ -1,4 +1,4 @@ -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite # Device AUDIO_ENABLE = no diff --git a/keyboards/ergodash/rev1/rev1.c b/keyboards/ergodash/rev1/rev1.c index 5e787921cbbc..00f81cae1175 100644 --- a/keyboards/ergodash/rev1/rev1.c +++ b/keyboards/ergodash/rev1/rev1.c @@ -5,13 +5,6 @@ float tone_goodbye[][2] = SONG(GOODBYE_SOUND); #endif -#ifdef SSD1306OLED -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} -#endif - void matrix_init_kb(void) { #ifdef AUDIO_ENABLE diff --git a/keyboards/ergodash/rules.mk b/keyboards/ergodash/rules.mk index de06b3427068..79e4bf782780 100644 --- a/keyboards/ergodash/rules.mk +++ b/keyboards/ergodash/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/ergodone/config.h b/keyboards/ergodone/config.h deleted file mode 100644 index 5256d03a64b6..000000000000 --- a/keyboards/ergodone/config.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef ERGODOX_ERGODONE_CONFIG_H -#define ERGODOX_ERGODONE_CONFIG_H - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED // You may want to use 0x47EC for "KTEC", which doesn't seem to be in official use as of October 2017. -#define PRODUCT_ID 0xE60D // For "EGOD"/"ErgoDone". -// The official ErgoDone VID and PID are documented at http://pid.codes/1209/2328/. -#define DEVICE_VER 0x0001 -#define MANUFACTURER K.T.E.C. -#define PRODUCT ErgoDone - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 14 - -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_TIME_TO_MAX 60 -#define MOUSEKEY_MAX_SPEED 7 -#define MOUSEKEY_WHEEL_DELAY 0 - -#define TAPPING_TOGGLE 1 - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -#define TAPPING_TERM 200 -#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.) - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* key combination for command */ -#define IS_COMMAND() ( \ - get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \ - get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \ -) - -/* number of backlight levels */ -#define BACKLIGHT_LEVELS 3 - -#define LED_BRIGHTNESS_LO 15 -#define LED_BRIGHTNESS_HI 255 - -/* fix space cadet rollover issue */ -#define DISABLE_SPACE_CADET_ROLLOVER - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -#define USB_MAX_POWER_CONSUMPTION 500 - -/* NKRO */ -#ifndef FORCE_NKRO - #define FORCE_NKRO // Depends on NKRO_ENABLE. -#endif - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION -//#define DEBUG_MATRIX_SCAN_RATE - -#endif diff --git a/keyboards/ergodone/i2cmaster.h b/keyboards/ergodone/i2cmaster.h deleted file mode 100644 index 3917b9e6c006..000000000000 --- a/keyboards/ergodone/i2cmaster.h +++ /dev/null @@ -1,178 +0,0 @@ -#ifndef _I2CMASTER_H -#define _I2CMASTER_H 1 -/************************************************************************* -* Title: C include file for the I2C master interface -* (i2cmaster.S or twimaster.c) -* Author: Peter Fleury http://jump.to/fleury -* File: $Id: i2cmaster.h,v 1.10 2005/03/06 22:39:57 Peter Exp $ -* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3 -* Target: any AVR device -* Usage: see Doxygen manual -**************************************************************************/ - -#ifdef DOXYGEN -/** - @defgroup pfleury_ic2master I2C Master library - @code #include @endcode - - @brief I2C (TWI) Master Software Library - - Basic routines for communicating with I2C slave devices. This single master - implementation is limited to one bus master on the I2C bus. - - This I2c library is implemented as a compact assembler software implementation of the I2C protocol - which runs on any AVR (i2cmaster.S) and as a TWI hardware interface for all AVR with built-in TWI hardware (twimaster.c). - Since the API for these two implementations is exactly the same, an application can be linked either against the - software I2C implementation or the hardware I2C implementation. - - Use 4.7k pull-up resistor on the SDA and SCL pin. - - Adapt the SCL and SDA port and pin definitions and eventually the delay routine in the module - i2cmaster.S to your target when using the software I2C implementation ! - - Adjust the CPU clock frequence F_CPU in twimaster.c or in the Makfile when using the TWI hardware implementaion. - - @note - The module i2cmaster.S is based on the Atmel Application Note AVR300, corrected and adapted - to GNU assembler and AVR-GCC C call interface. - Replaced the incorrect quarter period delays found in AVR300 with - half period delays. - - @author Peter Fleury pfleury@gmx.ch http://jump.to/fleury - - @par API Usage Example - The following code shows typical usage of this library, see example test_i2cmaster.c - - @code - - #include - - - #define Dev24C02 0xA2 // device address of EEPROM 24C02, see datasheet - - int main(void) - { - unsigned char ret; - - i2c_init(); // initialize I2C library - - // write 0x75 to EEPROM address 5 (Byte Write) - i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode - i2c_write(0x05); // write address = 5 - i2c_write(0x75); // write value 0x75 to EEPROM - i2c_stop(); // set stop conditon = release bus - - - // read previously written value back from EEPROM address 5 - i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode - - i2c_write(0x05); // write address = 5 - i2c_rep_start(Dev24C02+I2C_READ); // set device address and read mode - - ret = i2c_readNak(); // read one byte from EEPROM - i2c_stop(); - - for(;;); - } - @endcode - -*/ -#endif /* DOXYGEN */ - -/**@{*/ - -#if (__GNUC__ * 100 + __GNUC_MINOR__) < 304 -#error "This library requires AVR-GCC 3.4 or later, update to newer AVR-GCC compiler !" -#endif - -#include - -/** defines the data direction (reading from I2C device) in i2c_start(),i2c_rep_start() */ -#define I2C_READ 1 - -/** defines the data direction (writing to I2C device) in i2c_start(),i2c_rep_start() */ -#define I2C_WRITE 0 - - -/** - @brief initialize the I2C master interace. Need to be called only once - @param void - @return none - */ -extern void i2c_init(void); - - -/** - @brief Terminates the data transfer and releases the I2C bus - @param void - @return none - */ -extern void i2c_stop(void); - - -/** - @brief Issues a start condition and sends address and transfer direction - - @param addr address and transfer direction of I2C device - @retval 0 device accessible - @retval 1 failed to access device - */ -extern unsigned char i2c_start(unsigned char addr); - - -/** - @brief Issues a repeated start condition and sends address and transfer direction - - @param addr address and transfer direction of I2C device - @retval 0 device accessible - @retval 1 failed to access device - */ -extern unsigned char i2c_rep_start(unsigned char addr); - - -/** - @brief Issues a start condition and sends address and transfer direction - - If device is busy, use ack polling to wait until device ready - @param addr address and transfer direction of I2C device - @return none - */ -extern void i2c_start_wait(unsigned char addr); - - -/** - @brief Send one byte to I2C device - @param data byte to be transfered - @retval 0 write successful - @retval 1 write failed - */ -extern unsigned char i2c_write(unsigned char data); - - -/** - @brief read one byte from the I2C device, request more data from device - @return byte read from I2C device - */ -extern unsigned char i2c_readAck(void); - -/** - @brief read one byte from the I2C device, read is followed by a stop condition - @return byte read from I2C device - */ -extern unsigned char i2c_readNak(void); - -/** - @brief read one byte from the I2C device - - Implemented as a macro, which calls either i2c_readAck or i2c_readNak - - @param ack 1 send ack, request more data from device
- 0 send nak, read is followed by a stop condition - @return byte read from I2C device - */ -extern unsigned char i2c_read(unsigned char ack); -#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak(); - - -/**@}*/ -#endif diff --git a/keyboards/ergodone/keymaps/default/keymap.c b/keyboards/ergodone/keymaps/default/keymap.c deleted file mode 100644 index 2fc53440113e..000000000000 --- a/keyboards/ergodone/keymaps/default/keymap.c +++ /dev/null @@ -1,199 +0,0 @@ -#include QMK_KEYBOARD_H -#include "version.h" - -#define BASE 0 // default layer -#define SYMB 1 // symbols -#define MDIA 2 // media keys - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, // can always be here - EPRM, - VRSN, - RGB_SLD -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd | - * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | App | LGui | | Alt |Ctrl/Esc| - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `----------------------' - */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[BASE] = LAYOUT_ergodox( // layer 0 : default - // left hand - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), - KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), - LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, - ALT_T(KC_APP), KC_LGUI, - KC_HOME, - KC_SPC,KC_BSPC,KC_END, - // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT), - MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, - KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TT(SYMB), - KC_LALT, CTL_T(KC_ESC), - KC_PGUP, - KC_PGDN,KC_TAB, KC_ENT - ), -/* Keymap 1: Symbol Layer - * - * ,---------------------------------------------------. ,--------------------------------------------------. - * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | - * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | EPRM | | | | | | | . | 0 | = | | - * `-----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * |Animat| | |Toggle|Solid | - * ,------|------|------| |------+------+------. - * |Bright|Bright| | | |Hue- |Hue+ | - * |ness- |ness+ |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// SYMBOLS -[SYMB] = LAYOUT_ergodox( - // left hand - VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, - KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, - KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, - EPRM,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - RGB_MOD,KC_TRNS, - KC_TRNS, - RGB_VAD,RGB_VAI,KC_TRNS, - // right hand - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, - KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, - KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, - RGB_TOG, RGB_SLD, - KC_TRNS, - KC_TRNS, RGB_HUD, RGB_HUI -), -/* Keymap 2: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -[MDIA] = LAYOUT_ergodox( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK -), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // dynamically generate these. - case EPRM: - if (record->event.pressed) { - eeconfig_init(); - } - return false; - break; - case VRSN: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - return false; - break; - case RGB_SLD: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_mode(1); - #endif - } - return false; - break; - } - return true; -} - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - -}; - - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - - uint8_t layer = biton32(layer_state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - default: - // none - break; - } - -}; diff --git a/keyboards/ergodone/keymaps/erovia/keymap.c b/keyboards/ergodone/keymaps/erovia/keymap.c deleted file mode 100644 index 697e917119ab..000000000000 --- a/keyboards/ergodone/keymaps/erovia/keymap.c +++ /dev/null @@ -1,229 +0,0 @@ -#include QMK_KEYBOARD_H -#include "version.h" -#include "bootmagic.h" - -#define QWERTY 0 // qwerty layer -#define COLEMAK 1 // colemak layer -#define FN 2 // function layer - -enum custom_keycodes { - QWRTY = SAFE_RANGE, // can always be here - CLMK, - VRSN, - FNCTN -}; - -/* false: Caps Lock LED is off - true: Caps Lock LED is on */ -bool CAPS_LED = false; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Qwerty layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | Copy | | Paste| 6 | 7 | 8 | 9 | 0 | Sleep | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | Mute | | { | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | [ |------+------+------+------+------+--------| - * | Esc | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | - * |--------+------+------+------+------+------| Fn1 | | } |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | | | ] | N | M | , | . | / | RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |LCtrl | LGui | LAlt | Left | Right| | Down | Up | - | = | RCtrl | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Caps | LGui | | Ins | Del | - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `----------------------' - */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[QWERTY] = LAYOUT_ergodox( // layer 0 : qwerty - // left hand - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_COPY, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MUTE, - KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, TT(FN), - KC_LCTL, KC_LGUI, KC_LALT, KC_LEFT, KC_RGHT, - KC_CAPS, KC_LGUI, - KC_HOME, - KC_SPC, KC_BSPC, KC_END, - // right hand - KC_PASTE, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLEP, - KC_LBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE, - KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, - KC_DOWN, KC_UP, KC_MINS, KC_EQL, KC_RCTL, - KC_INS, KC_DEL, - KC_PGUP, - KC_PGDN, KC_TAB, KC_ENT -), -/* Keymap 1: Colemak layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | Copy | | Paste| 6 | 7 | 8 | 9 | 0 | Sleep | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | F | P | B | Mute | | { | J | L | U | Y | ; | \ | - * |--------+------+------+------+------+------| | | [ |------+------+------+------+------+--------| - * | Esc | A | R | S | T | G |------| |------| M | N | E | I | O | ' | - * |--------+------+------+------+------+------| Fn1 | | } |------+------+------+------+------+--------| - * | LShift | Z | X | C | D | V | | | ] | K | H | , | . | / | RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |LCtrl | LGui | LAlt | Left | Right| | Down | Up | - | = | RCtrl | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Caps | LGui | | Ins | Del | - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `----------------------' - */ -[COLEMAK] = LAYOUT_ergodox( // layer 1 : colemak - // left hand - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_COPY, - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_MUTE, - KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, - KC_LSPO, KC_Z, KC_X, KC_C, KC_D, KC_V, TT(FN), - KC_LCTL, KC_LGUI, KC_LALT, KC_LEFT, KC_RGHT, - KC_CAPS, KC_LGUI, - KC_HOME, - KC_SPC, KC_BSPC, KC_END, - // right hand - KC_PASTE, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLEP, - KC_LBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, - KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOTE, - KC_RBRC, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, - KC_DOWN, KC_UP, KC_MINS, KC_EQL, KC_RCTL, - KC_INS, KC_DEL, - KC_PGUP, - KC_PGDN, KC_TAB, KC_ENT -), -/* Keymap 2: Function Layer - * - * ,---------------------------------------------------. ,--------------------------------------------------. - * |Version | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | - * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| - * | | | | Prev | Play | Next | | | | | | | | | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | |VolDn | VolUp|------| |------| |QWRTY | CLMK | | | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `-----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// Functions -[FN] = LAYOUT_ergodox( - // left hand - VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_F12, 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_TRNS, - KC_TRNS, QWRTY, CLMK, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case VRSN: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - return false; - break; - case QWRTY: - if (record->event.pressed) { - set_single_persistent_default_layer(QWERTY); - } - return false; - break; - case CLMK: - if (record->event.pressed) { - set_single_persistent_default_layer(COLEMAK); - } - return false; - break; - case KC_CAPS: - if (record->event.pressed) { - // Turn LED1 On/Off for Caps Lock - if (CAPS_LED) { - ergodox_right_led_1_off(); - CAPS_LED = false; - } else { - ergodox_right_led_1_on(); - CAPS_LED = true; - } - } - return true; - break; - } - return true; -}; - -// Set LED according to the default layer -void default_layer_led_set(void) { - switch (biton32(eeconfig_read_default_layer())) { - case COLEMAK: - // LED2 for COLEMAK - ergodox_right_led_2_on(); - break; - case QWERTY: - // LED3 for QWERTY - ergodox_right_led_3_on(); - break; - }; -}; - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - default_layer_led_set(); -}; - -uint32_t layer_state_set_user(uint32_t state) { - ergodox_led_all_off(); - switch (biton32(state)) { - case FN: - // Red led on Pro Micro for Fn layer - ergodox_board_led_on(); - break; - }; - - if (CAPS_LED) { - ergodox_right_led_1_on(); - } - - default_layer_led_set(); - - return state; -}; - -void suspend_power_down_user(void) { - ergodox_led_all_off(); -}; - -void suspend_wakeup_init_user(void) { - default_layer_led_set(); -}; diff --git a/keyboards/ergodone/readme.md b/keyboards/ergodone/readme.md deleted file mode 100644 index 82c1043dad21..000000000000 --- a/keyboards/ergodone/readme.md +++ /dev/null @@ -1,33 +0,0 @@ -ErgoDone -======== - -![ErgoDone](https://i.imgur.com/QERsQGQ.jpg) - -The ErgoDone is a modified version of the ErgoDox, made by K.T.E.C., with pre-soldered components. It has different wiring and uses a SparkFun Pro Micro instead of Teensy. - -- Keyboard maintainer: [Yu He](http://github.com/yuhe00) -- Hardware supported: - - ErgoDone v1.3 (tested) -- Hardware availability: - - [AliExpress](https://www.aliexpress.com/store/product/ergodone-Custom-Mechanical-Keyboard-TKG-TOOLS-PCB-programmed-Ergonomic-Keyboard-Kit-similar-with-infinity-ergodox/3034003_32830050940.html) - - [KBDfans](https://kbdfans.myshopify.com/collections/pcb/products/ergodone-keyboard-pcb-1pcs-free-shipping) - -# Building the firmware - -[Install the build tools.](https://docs.qmk.fm/#/getting_started_build_tools) - -In the root directory of the repository, build the firmware with a command like: - - make ergodone:default - -For more information on the layout option and other ones, see the [`make` guide](https://docs.qmk.fm/#/getting_started_make_guide). - -# Flashing the firmware onto the keyboard - -The ErgoDone uses a customized HID bootloader rather than the Teensy one. It doesn't need an OS driver, and the required actions before flashing are a little different than with an ErgoDox. - -1. To enter flash mode, disconnect the keyboard first. Then, on the left-hand device, in the top row, press and hold the two rightmost keys while reconnecting the keyboard. -![Ergodone Flash Mode](https://i.imgur.com/sNivAnr.jpg) -2. To flash the .hex file, use the `hid_bootloader_cli` utlity from the [TKG Toolkit](https://github.com/kairyu/tkg-toolkit) (as of 2017-10-03, only [this old version](https://github.com/kairyu/tkg-toolkit/blob/b14c67ca8bc84c07e5fc6b2e01ae4002b808243a/windows/bin/hid_bootloader_cli.exe) works under Windows): - - hid_bootloader_cli -mmcu=atmega32u4 ergodone_default.hex diff --git a/keyboards/ergodone/rules.mk b/keyboards/ergodone/rules.mk deleted file mode 100644 index f0008e48fd4a..000000000000 --- a/keyboards/ergodone/rules.mk +++ /dev/null @@ -1,38 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = caterina - -# Build Options -# comment out to disable the options. -# -CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDone -UNICODE_ENABLE = yes # Unicode -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA -USB_6KRO_ENABLE = no # USB 6key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -SWAP_HANDS_ENABLE = no # Disable Onehand -RGBLIGHT_ENABLE = no -MIDI_ENABLE = no - -# project specific files -SRC = \ - twimaster.c \ - matrix.c \ - expander.c \ - -LAYOUTS = ergodox diff --git a/keyboards/ergodone/twimaster.c b/keyboards/ergodone/twimaster.c deleted file mode 100644 index d6f3f7840512..000000000000 --- a/keyboards/ergodone/twimaster.c +++ /dev/null @@ -1,208 +0,0 @@ -/************************************************************************* -* Title: I2C master library using hardware TWI interface -* Author: Peter Fleury http://jump.to/fleury -* File: $Id: twimaster.c,v 1.3 2005/07/02 11:14:21 Peter Exp $ -* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3 -* Target: any AVR device with hardware TWI -* Usage: API compatible with I2C Software Library i2cmaster.h -**************************************************************************/ -#include -#include - -#include "i2cmaster.h" - - -/* define CPU frequency in Mhz here if not defined in Makefile */ -#ifndef F_CPU -#define F_CPU 16000000UL -#endif - -/* I2C clock in Hz */ -#define SCL_CLOCK 400000L - - -/************************************************************************* - Initialization of the I2C bus interface. Need to be called only once -*************************************************************************/ -void i2c_init(void) -{ - /* initialize TWI clock - * minimal values in Bit Rate Register (TWBR) and minimal Prescaler - * bits in the TWI Status Register should give us maximal possible - * I2C bus speed - about 444 kHz - * - * for more details, see 20.5.2 in ATmega16/32 secification - */ - - TWSR = 0; /* no prescaler */ - TWBR = 10; /* must be >= 10 for stable operation */ - -}/* i2c_init */ - - -/************************************************************************* - Issues a start condition and sends address and transfer direction. - return 0 = device accessible, 1= failed to access device -*************************************************************************/ -unsigned char i2c_start(unsigned char address) -{ - uint8_t twst; - - // send START condition - TWCR = (1<. #define RGB_MATRIX_LED_PROCESS_LIMIT 5 #define RGB_MATRIX_LED_FLUSH_LIMIT 26 -#define RGB_DISABLE_WHEN_USB_SUSPENDED true +#define RGB_DISABLE_WHEN_USB_SUSPENDED // #define RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF /* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */ diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c index e6f48c49fb32..7af76cb62446 100644 --- a/keyboards/ergodox_ez/ergodox_ez.c +++ b/keyboards/ergodox_ez/ergodox_ez.c @@ -44,29 +44,29 @@ extern inline void ergodox_led_all_set(uint8_t n); keyboard_config_t keyboard_config; -bool i2c_initialized = 0; +bool i2c_initialized = 0; i2c_status_t mcp23018_status = 0x20; void matrix_init_kb(void) { - // keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md") + // keyboard LEDs (see "PWM on ports OC1(A|B|C)" in "teensy-2-0.md") TCCR1A = 0b10101001; // set and configure fast PWM TCCR1B = 0b00001001; // set and configure fast PWM // (tied to Vcc for hardware convenience) - DDRB &= ~(1<<4); // set B(4) as input - PORTB &= ~(1<<4); // set B(4) internal pull-up disabled + DDRB &= ~(1 << 4); // set B(4) as input + PORTB &= ~(1 << 4); // set B(4) internal pull-up disabled // unused pins - C7, D4, D5, D7, E6 // set as input with internal pull-up enabled - DDRC &= ~(1<<7); - DDRD &= ~(1<<5 | 1<<4); - DDRE &= ~(1<<6); - PORTC |= (1<<7); - PORTD |= (1<<5 | 1<<4); - PORTE |= (1<<6); + DDRC &= ~(1 << 7); + DDRD &= ~(1 << 5 | 1 << 4); + DDRE &= ~(1 << 6); + PORTC |= (1 << 7); + PORTD |= (1 << 5 | 1 << 4); + PORTE |= (1 << 6); keyboard_config.raw = eeconfig_read_kb(); - ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); + ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4); #ifdef RGB_MATRIX_ENABLE if (keyboard_config.rgb_matrix_enable) { rgb_matrix_set_flags(LED_FLAG_ALL); @@ -80,8 +80,7 @@ void matrix_init_kb(void) { matrix_init_user(); } -void ergodox_blink_all_leds(void) -{ +void ergodox_blink_all_leds(void) { ergodox_led_all_off(); ergodox_led_all_set(LED_BRIGHTNESS_DEFAULT); ergodox_right_led_1_on(); @@ -94,17 +93,17 @@ void ergodox_blink_all_leds(void) ergodox_left_led_1_on(); _delay_ms(50); if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); + mcp23018_status = ergodox_left_leds_update(); } ergodox_left_led_2_on(); _delay_ms(50); if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); + mcp23018_status = ergodox_left_leds_update(); } ergodox_left_led_3_on(); _delay_ms(50); if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); + mcp23018_status = ergodox_left_leds_update(); } #endif ergodox_right_led_1_off(); @@ -116,21 +115,21 @@ void ergodox_blink_all_leds(void) _delay_ms(50); ergodox_left_led_1_off(); if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); + mcp23018_status = ergodox_left_leds_update(); } _delay_ms(50); ergodox_left_led_2_off(); if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); + mcp23018_status = ergodox_left_leds_update(); } _delay_ms(50); ergodox_left_led_3_off(); if (!mcp23018_status) { - mcp23018_status = ergodox_left_leds_update(); + mcp23018_status = ergodox_left_leds_update(); } #endif - //ergodox_led_all_on(); + // ergodox_led_all_on(); //_delay_ms(333); ergodox_led_all_off(); } @@ -156,27 +155,35 @@ uint8_t init_mcp23018(void) { // - unused : input : 1 // - input : input : 1 // - driving : output : 0 - mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(IODIRA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; + mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); + if (mcp23018_status) goto out; + mcp23018_status = i2c_write(IODIRA, ERGODOX_EZ_I2C_TIMEOUT); + if (mcp23018_status) goto out; + mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); + if (mcp23018_status) goto out; + mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); + if (mcp23018_status) goto out; i2c_stop(); // set pull-up // - unused : on : 1 // - input : on : 1 // - driving : off : 0 - mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(GPPUA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; + mcp23018_status = i2c_start(I2C_ADDR_WRITE, ERGODOX_EZ_I2C_TIMEOUT); + if (mcp23018_status) goto out; + mcp23018_status = i2c_write(GPPUA, ERGODOX_EZ_I2C_TIMEOUT); + if (mcp23018_status) goto out; + mcp23018_status = i2c_write(0b00000000, ERGODOX_EZ_I2C_TIMEOUT); + if (mcp23018_status) goto out; + mcp23018_status = i2c_write(0b00111111, ERGODOX_EZ_I2C_TIMEOUT); + if (mcp23018_status) goto out; out: i2c_stop(); #ifdef LEFT_LEDS if (!mcp23018_status) mcp23018_status = ergodox_left_leds_update(); -#endif // LEFT_LEDS +#endif // LEFT_LEDS // SREG=sreg_prev; @@ -185,12 +192,12 @@ uint8_t init_mcp23018(void) { #ifdef LEFT_LEDS uint8_t ergodox_left_leds_update(void) { - if (mcp23018_status) { // if there was an error + if (mcp23018_status) { // if there was an error return mcp23018_status; } -#define LEFT_LED_1_SHIFT 7 // in MCP23018 port B -#define LEFT_LED_2_SHIFT 6 // in MCP23018 port B -#define LEFT_LED_3_SHIFT 7 // in MCP23018 port A +# define LEFT_LED_1_SHIFT 7 // in MCP23018 port B +# define LEFT_LED_2_SHIFT 6 // in MCP23018 port B +# define LEFT_LED_3_SHIFT 7 // in MCP23018 port A // set logical value (doesn't matter on inputs) // - unused : hi-Z : 1 @@ -200,48 +207,43 @@ uint8_t ergodox_left_leds_update(void) { if (mcp23018_status) goto out; mcp23018_status = i2c_write(OLATA, ERGODOX_EZ_I2C_TIMEOUT); if (mcp23018_status) goto out; - mcp23018_status = i2c_write(0b11111111 - & ~(ergodox_left_led_3<event.pressed) { - keyboard_config.led_level++; - if (keyboard_config.led_level > 4) { + keyboard_config.led_level++; + if (keyboard_config.led_level > 4) { keyboard_config.led_level = 0; - } - ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4 ); - eeconfig_update_kb(keyboard_config.raw); - layer_state_set_kb(layer_state); + } + ergodox_led_all_set((uint8_t)keyboard_config.led_level * 255 / 4); + eeconfig_update_kb(keyboard_config.raw); + layer_state_set_kb(layer_state); } break; -#ifdef RGB_MATRIX_ENABLE +# ifdef RGB_MATRIX_ENABLE case TOGGLE_LAYER_COLOR: if (record->event.pressed) { keyboard_config.disable_layer_led ^= 1; - if (keyboard_config.disable_layer_led) - rgb_matrix_set_color_all(0, 0, 0); + if (keyboard_config.disable_layer_led) rgb_matrix_set_color_all(0, 0, 0); eeconfig_update_kb(keyboard_config.raw); } break; case RGB_TOG: if (record->event.pressed) { - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: { - rgb_matrix_set_flags(LED_FLAG_NONE); - keyboard_config.rgb_matrix_enable = false; - rgb_matrix_set_color_all(0, 0, 0); - } - break; - default: { - rgb_matrix_set_flags(LED_FLAG_ALL); - keyboard_config.rgb_matrix_enable = true; - } - break; - } - eeconfig_update_kb(keyboard_config.raw); + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + keyboard_config.rgb_matrix_enable = false; + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + keyboard_config.rgb_matrix_enable = true; + } break; + } + eeconfig_update_kb(keyboard_config.raw); } return false; -#endif +# endif } return process_record_user(keycode, record); } #endif void eeconfig_init_kb(void) { // EEPROM is getting reset! - keyboard_config.raw = 0; - keyboard_config.led_level = 4; + keyboard_config.raw = 0; + keyboard_config.led_level = 4; keyboard_config.rgb_matrix_enable = true; eeconfig_update_kb(keyboard_config.raw); eeconfig_init_user(); diff --git a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c index b9c65944f63e..a5b107baae84 100755 --- a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c +++ b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c @@ -54,19 +54,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Layer 0: basic keys. [BASE] = LAYOUT_ergodox( /* left hand */ - BP_DLR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, KC_DEL, - KC_TAB, BP_B, BP_ECUT, BP_P, BP_O, BP_EGRV, KC_BSPC, + BP_DLR, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, KC_DEL, + KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_BSPC, KC_LSFT, BP_A, BP_U, BP_I, BP_E, BP_COMM, KC_LCTRL, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, KC_ENT, - ESC_FN, BP_ECRC, KC_LGUI, KC_LALT, SPC_RALT, + ESC_FN, BP_ECIR, KC_LGUI, KC_LALT, SPC_RALT, TT(SWAP), KC_MNXT, KC_MPLY, TT(FN), TT(NUMS), KC_MPRV, /* right hand */ KC_DEL, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, - KC_BSPC, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z, + KC_BSPC, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z, BP_C, BP_T, BP_S, BP_R, BP_N, M_RSFT, - KC_ENT, BP_APOS, BP_Q, BP_G, BP_H, BP_F, W_RCTL, + KC_ENT, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, W_RCTL, SPC_RALT, KC_LALT, TT(SYSLEDS), BP_CCED, PERC_FN, KC_LEFT, KC_RIGHT, KC_UP, @@ -191,7 +191,7 @@ static bool is_macro1_recording = false; // There is a global 'layer_state' variable but it is set after the call // to layer_state_set_user(). static uint32_t current_layer_state = 0; -uint32_t layer_state_set_user(uint32_t state); +layer_state_t layer_state_set_user(layer_state_t state); // Method called at the end of the tap dance on the TAP_MACRO key. That key is // used to start recording a macro (double tap or more), to stop recording (any @@ -315,7 +315,7 @@ void led_set_user(uint8_t usb_led) { } } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { current_layer_state = state; swap_hands = LAYER_ON(SWAP); diff --git a/keyboards/ergodox_ez/keymaps/bepo_tm_style/rules.mk b/keyboards/ergodox_ez/keymaps/bepo_tm_style/rules.mk index 6d20fcf762e1..9c24dadd78f9 100755 --- a/keyboards/ergodox_ez/keymaps/bepo_tm_style/rules.mk +++ b/keyboards/ergodox_ez/keymaps/bepo_tm_style/rules.mk @@ -7,9 +7,8 @@ KEY_LOCK_ENABLE = yes # Enable the KC_LOCK key TAP_DANCE_ENABLE = yes # Enable the tap dance feature. CONSOLE_ENABLE = yes # Console for debug -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite UNICODE_ENABLE = no SLEEP_LED_ENABLE = no -API_SYSEX_ENABLE = no RGBLIGHT_ENABLE = no RGBLIGHT_ANIMATION = no diff --git a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c index ec77b6aa0f6f..229ece0d74b1 100644 --- a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c +++ b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c @@ -99,7 +99,7 @@ static bool is_macro1_recording = false; // There is a global 'layer_state' variable but it is set after the call // to layer_state_set_user(). static uint32_t current_layer_state = 0; -uint32_t layer_state_set_user(uint32_t state); +layer_state_t layer_state_set_user(layer_state_t state); // Method called at the end of the tap dance on the TAP_MACRO key. That key is // used to start recording a macro (double tap or more), to stop recording (any @@ -202,7 +202,7 @@ void led_3_off(void) { ergodox_right_led_3_off(); } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { current_layer_state = state; if (is_macro1_recording) { diff --git a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/rules.mk b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/rules.mk index 6ed55e72b4ae..a7f524fa430e 100644 --- a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/rules.mk +++ b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/rules.mk @@ -2,14 +2,13 @@ MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - for issues, see github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -ONEHAND_ENABLE = yes # Allow swapping hands of keyboard +SWAP_HANDS_ENABLE = yes # Allow swapping hands of keyboard KEY_LOCK_ENABLE = yes # Enable the KC_LOCK key TAP_DANCE_ENABLE = yes # Enable the tap dance feature. CONSOLE_ENABLE = yes # Console for debug -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite UNICODE_ENABLE = no SLEEP_LED_ENABLE = no -API_SYSEX_ENABLE = no RGBLIGHT_ENABLE = no RGBLIGHT_ANIMATION = no diff --git a/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c b/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c index 0abd028a0186..a505fc2b62b3 100644 --- a/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c +++ b/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [BASE] = LAYOUT_ergodox( // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, ES_LESS, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, ES_LABK, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_HOME, KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, @@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // right hand ES_IEXL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, - KC_END, KC_J, KC_L, KC_U, KC_Y, ES_NTIL, ES_APOS, + KC_END, KC_J, KC_L, KC_U, KC_Y, ES_NTIL, ES_QUOT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT, ES_MINS, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, GUI_T(ES_ACUT), ALT_T(KC_BSLS), KC_LEFT, KC_DOWN, KC_RIGHT, @@ -358,7 +358,7 @@ void led_3_on(void) { ergodox_right_led_3_set(max_led_value); } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { if(layer_state_cmp(state ,IDEA)) { led_1_on(); diff --git a/keyboards/ergodox_ez/keymaps/default/keymap.c b/keyboards/ergodox_ez/keymaps/default/keymap.c index 9079e48fcb3a..3c0ef320a42f 100644 --- a/keyboards/ergodox_ez/keymaps/default/keymap.c +++ b/keyboards/ergodox_ez/keymaps/default/keymap.c @@ -2,20 +2,20 @@ #include "version.h" enum layers { - BASE, // default layer - SYMB, // symbols + BASE, // default layer + SYMB, // symbols MDIA, // media keys }; enum custom_keycodes { #ifdef ORYX_CONFIGURATOR - VRSN = EZ_SAFE_RANGE, + VRSN = EZ_SAFE_RANGE, #else - VRSN = SAFE_RANGE, + VRSN = SAFE_RANGE, #endif - RGB_SLD }; +// clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, EEP_RST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_0, KC_EQL, KC_TRNS, - RGB_MOD, KC_TRNS, RGB_TOG, RGB_SLD, + RGB_MOD, KC_TRNS, RGB_TOG, RGB_M_P, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI ), @@ -115,94 +115,90 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WBAK ), }; +// clang-format on bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { - switch (keycode) { - case VRSN: - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - return false; - #ifdef RGBLIGHT_ENABLE - case RGB_SLD: - rgblight_mode(1); - return false; - #endif + if (record->event.pressed) { + switch (keycode) { + case VRSN: + SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + return false; + } } - } - return true; + return true; } // Runs just one time when the keyboard initializes. void keyboard_post_init_user(void) { #ifdef RGBLIGHT_COLOR_LAYER_0 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); + rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); #endif }; // Runs whenever there is a layer state change. layer_state_t layer_state_set_user(layer_state_t state) { - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); - uint8_t layer = get_highest_layer(state); - switch (layer) { - case 0: - #ifdef RGBLIGHT_COLOR_LAYER_0 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); - #endif - break; - case 1: - ergodox_right_led_1_on(); - #ifdef RGBLIGHT_COLOR_LAYER_1 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_1); - #endif - break; - case 2: - ergodox_right_led_2_on(); - #ifdef RGBLIGHT_COLOR_LAYER_2 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_2); - #endif - break; - case 3: - ergodox_right_led_3_on(); - #ifdef RGBLIGHT_COLOR_LAYER_3 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_3); - #endif - break; - case 4: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - #ifdef RGBLIGHT_COLOR_LAYER_4 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_4); - #endif - break; - case 5: - ergodox_right_led_1_on(); - ergodox_right_led_3_on(); - #ifdef RGBLIGHT_COLOR_LAYER_5 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_5); - #endif - break; - case 6: - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - #ifdef RGBLIGHT_COLOR_LAYER_6 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6); - #endif - break; - case 7: - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - #ifdef RGBLIGHT_COLOR_LAYER_7 - rgblight_setrgb(RGBLIGHT_COLOR_LAYER_7); - #endif - break; - default: - break; + uint8_t layer = get_highest_layer(state); + switch (layer) { + case 0: +#ifdef RGBLIGHT_COLOR_LAYER_0 + rgblight_setrgb(RGBLIGHT_COLOR_LAYER_0); +#endif + break; + case 1: + ergodox_right_led_1_on(); +#ifdef RGBLIGHT_COLOR_LAYER_1 + rgblight_setrgb(RGBLIGHT_COLOR_LAYER_1); +#endif + break; + case 2: + ergodox_right_led_2_on(); +#ifdef RGBLIGHT_COLOR_LAYER_2 + rgblight_setrgb(RGBLIGHT_COLOR_LAYER_2); +#endif + break; + case 3: + ergodox_right_led_3_on(); +#ifdef RGBLIGHT_COLOR_LAYER_3 + rgblight_setrgb(RGBLIGHT_COLOR_LAYER_3); +#endif + break; + case 4: + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); +#ifdef RGBLIGHT_COLOR_LAYER_4 + rgblight_setrgb(RGBLIGHT_COLOR_LAYER_4); +#endif + break; + case 5: + ergodox_right_led_1_on(); + ergodox_right_led_3_on(); +#ifdef RGBLIGHT_COLOR_LAYER_5 + rgblight_setrgb(RGBLIGHT_COLOR_LAYER_5); +#endif + break; + case 6: + ergodox_right_led_2_on(); + ergodox_right_led_3_on(); +#ifdef RGBLIGHT_COLOR_LAYER_6 + rgblight_setrgb(RGBLIGHT_COLOR_LAYER_6); +#endif + break; + case 7: + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + ergodox_right_led_3_on(); +#ifdef RGBLIGHT_COLOR_LAYER_7 + rgblight_setrgb(RGBLIGHT_COLOR_LAYER_7); +#endif + break; + default: + break; } - return state; + return state; }; diff --git a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c index 3f52528f8b06..73b1077b83b3 100644 --- a/keyboards/ergodox_ez/keymaps/default_osx/keymap.c +++ b/keyboards/ergodox_ez/keymaps/default_osx/keymap.c @@ -138,11 +138,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - -}; - // Runs constantly in the background, in a loop. void matrix_scan_user(void) { diff --git a/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c b/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c index dc33e4e0a9b1..55bf4209fdef 100644 --- a/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c +++ b/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c @@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Right hand MDIA_SYMB_KP_LAYERS, ___SYMBOL_BEPO_R___, BP_EQL, - BP_DCRC, ___BEPO_FR_R1___, BP_W, + BP_DCIR, ___BEPO_FR_R1___, BP_W, /* */ ___BEPO_FR_R2___, BP_CCED, BP_C, ___BEPO_FR_R3___, KC_RSFT, diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h index a0ba655ede1c..da2082078738 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h @@ -14,7 +14,7 @@ #undef IGNORE_MOD_TAP_INTERRUPT #define IGNORE_MOD_TAP_INTERRUPT -#define RGB_DISABLE_WHEN_USB_SUSPENDED true +#define RGB_DISABLE_WHEN_USB_SUSPENDED #undef FORCE_NKRO #define FORCE_NKRO diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk b/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk index 184a90228e4e..9da5278ed916 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk @@ -21,8 +21,6 @@ SWAP_HANDS_ENABLE = no # Allow swapping hands of keyboard. # SLEEP_LED_ENABLE = no # Turn off leds when computer is sleeping. # KEY_LOCK_ENABLE = no # (+1730b) # CONSOLE_ENABLE = no # Console for debug(+400b) -# BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000b) -# API_SYSEX_ENABLE = no # MIDI_ENABLE = no # BLUETOOTH_ENABLE = no # AUDIO_ENABLE = no diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c index c0b3b9c9951f..fd022681b0d4 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c @@ -1,5 +1,5 @@ -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { uint8_t layer = biton32(state); switch (layer) { diff --git a/keyboards/ergodox_ez/keymaps/heartrobotninja/rules.mk b/keyboards/ergodox_ez/keymaps/heartrobotninja/rules.mk index 6f40259b61c8..3cd837d56913 100644 --- a/keyboards/ergodox_ez/keymaps/heartrobotninja/rules.mk +++ b/keyboards/ergodox_ez/keymaps/heartrobotninja/rules.mk @@ -1,4 +1,4 @@ -BOOTMAGIC_ENABLE=no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite COMMAND_ENABLE=no SLEEP_LED_ENABLE=no NKRO_ENABLE = yes diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/config.h b/keyboards/ergodox_ez/keymaps/ifohancroft/config.h new file mode 100644 index 000000000000..fcc7c11be79d --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/ifohancroft/config.h @@ -0,0 +1,23 @@ +/* Copyright 2021 IFo Hancroft + * + * 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 + +// place overrides here +#define USB_POLLING_INTERVAL_MS 1 +#define FORCE_NKRO +#undef DEBOUNCE +#define DEBOUNCE 5 diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c b/keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c new file mode 100644 index 000000000000..9de4818c1b73 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/ifohancroft/keymap.c @@ -0,0 +1,157 @@ +/* Copyright 2021 IFo Hancroft + * + * 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] = { + + /* Default Layer + * *---------------------------------------------------------------------* *---------------------------------------------------------------------* + * | ` | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Del | + * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| + * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ | + * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| + * | ESC | A | S | D | F | G | | | | H | J | K | L | ; | ' | + * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------| + * | Shift | Z | X | C | V | B | | N | M | , | . | / | Shift | + * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------| + * | Ctrl | Super | Alt | MO(3) | MO(2) | | MO(2) | Left | Down | Up | Right | + * *-------------------------------------------------* *-------------------------------------------------* + * + * *-------------------* *-------------------* + * | | TG(1) | | | | + * *---------+---------+---------| |---------+---------+---------* + * | | | | | | | | + * | Bckspc | Enter |---------| |---------| Enter | Space | + * | | | PgDn | | PgUp | | | + * *---------+---------+---------* *---------+---------+---------* + */ + + LAYOUT_ergodox_pretty( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(3), MO(2), MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + + KC_NO, TG(1), KC_NO, KC_NO, + KC_NO, KC_NO, + KC_BSPC, KC_ENT, KC_PGDN, KC_PGUP, KC_ENT, KC_SPC + ), + + /* Gaming Layer + * *---------------------------------------------------------------------* *---------------------------------------------------------------------* + * | | | | | | | 6 | | | | | | | | | + * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| + * | | | | | | | | | | | | | | | | + * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| + * | | | | | | | | | | | | | | | | + * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------| + * | | | | | | | | | | | | | | + * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------| + * | | | | | | | | | | | | + * *-------------------------------------------------* *-------------------------------------------------* + * + * *-------------------* *-------------------* + * | | | | | | + * *---------+---------+---------| |---------+---------+---------* + * | | | | | | | | + * | Space | |---------| |---------| | | + * | | | | | | | | + * *---------+---------+---------* *---------+---------+---------* + */ + + LAYOUT_ergodox_pretty( + _______, _______, _______, _______, _______, _______, KC_6, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, + _______, _______, + KC_SPC, _______, _______, _______, _______, _______ + ), + + /* Function Keys Layer + * *---------------------------------------------------------------------* *---------------------------------------------------------------------* + * | | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | + * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| + * | | | Up | | | | | | | | | | | | | + * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| + * | | Left | Down | Right | | | | | | | | | | | | + * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------| + * | | | | | | | | | | | | | | + * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------| + * | | | | | | | | | | | | + * *-------------------------------------------------* *-------------------------------------------------* + * + * *-------------------* *-------------------* + * | | | | | | + * *---------+---------+---------| |---------+---------+---------* + * | | | | | | | | + * | | |---------| |---------| | | + * | | | | | | | | + * *---------+---------+---------* *---------+---------+---------* + */ + + LAYOUT_ergodox_pretty( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, + _______, _______, + _______, _______, _______, _______, _______, _______ + ), + + /* CAD Layer + * *---------------------------------------------------------------------* *---------------------------------------------------------------------* + * | Del | 0 | 9 | 8 | 7 | 6 | = | | | | | | | | | + * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| + * | \ | P | O | I | U | Y | ] | | | | | | | | | + * |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| + * | ' | ; | L | K | J | H | | | | | | | | | | + * |---------+---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------+---------| + * | | / | . | , | M | N | | | | | | | | + * |---------+---------+---------+---------+---------+---------* *---------+---------+---------+---------+---------+---------| + * | | | | | | | | | | | | + * *-------------------------------------------------* *-------------------------------------------------* + * + * *-------------------* *-------------------* + * | | | | | | + * *---------+---------+---------| |---------+---------+---------* + * | | | | | | | | + * | Space | |---------| |---------| | | + * | | | PgUp | | | | | + * *---------+---------+---------* *---------+---------+---------* + */ + + LAYOUT_ergodox_pretty( + KC_DEL, KC_0, KC_9, KC_8, KC_7, KC_6, KC_EQL, _______, _______, _______, _______, _______, _______, _______, + KC_BSLS, KC_P, KC_O, KC_I, KC_U, KC_Y, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, + KC_QUOT, KC_SCLN, KC_L, KC_K, KC_J, KC_H, _______, _______, _______, _______, _______, _______, + _______, KC_SLSH, KC_DOT, KC_COMM, KC_M, KC_N, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + + _______, _______, _______, _______, + _______, _______, + KC_SPC, _______, KC_PGUP, _______, _______, _______ + ) + +}; diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/readme.md b/keyboards/ergodox_ez/keymaps/ifohancroft/readme.md new file mode 100644 index 000000000000..25c043cfd001 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/ifohancroft/readme.md @@ -0,0 +1,19 @@ +![IFo Hancroft ErgoDox EZ Layout Image](https://i.imgur.com/8LRokp5.png) + +# IFo Hancroft's ErgoDox EZ Layout + +- Layer 0: A Standard ANSI QWERTY Layer. +- Layer 1: A Gaming Layer. It replaces the Backspace with a Space, and the Dash with a 6, so you can play CS:GO without needing to lift your right hand from the mouse. +- Layer 2: A function layer. It contains the F1-F12 keys and arrows on WASD. +- Layer 3: A CAD Layer. It is basically a mirrored version of the right hand side, so you can use CAD without needing to lift your right hand from the the mouse. + +This keymap also does the following: + +- Sets the polling rate of the keyboard to 1ms +- Sets the debounce time to 5ms +- NKRO (Forced on) +- Disables: + - Mouse Key + - Extra Key + - Unicode + - Swap Hands diff --git a/keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk b/keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk new file mode 100644 index 000000000000..bf0efc77e5c6 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/ifohancroft/rules.mk @@ -0,0 +1,4 @@ +MOUSEKEY_ENABLE = no +EXTRAKEY_ENABLE = no +UNICODE_ENABLE = no +SWAP_HANDS_ENABLE = no diff --git a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c index 40156b3ff393..5d797beb1850 100644 --- a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c +++ b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c @@ -8,7 +8,7 @@ enum custom_keycodes { PLACEHOLDER = SAFE_RANGE, // can always be here - // Programmer's Dvorak "macros" : + // Programmer's Dvorak "macros" : // To be paired with get_mods to enable both // Shift functionality and Programmer's Dvorak @@ -50,19 +50,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Programmer's Dvorak layer [0] = LAYOUT_ergodox( DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_AT, - KC_TAB, KC_SCOLON, KC_COMMA, KC_DOT, KC_P, KC_Y, MO(4), - MO(3), KC_A, KC_O, KC_E, KC_U, KC_I, + KC_TAB, KC_SCOLON, KC_COMMA, KC_DOT, KC_P, KC_Y, MO(4), + MO(3), KC_A, KC_O, KC_E, KC_U, KC_I, KC_LSHIFT, KC_QUOTE, KC_Q, KC_J, KC_K, KC_X, KC_HYPR, KC_LCTL, KC_LALT, KC_LGUI, LCTL(KC_C), LCTL(KC_V), - + KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, MO(4), KC_END, - + DVP_EQUAL, DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH, TT(4), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLASH, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS, KC_MEH, KC_B, KC_M, KC_W, KC_V, KC_Z, MO(3), KC_DELETE, KC_BSLASH, KC_RGUI, KC_RCTL, LCTL(KC_F), - + KC_F17, KC_F18, KC_PGUP, KC_PGDOWN, KC_ENTER, KC_BSPACE ), // Gaming QWERTY layer @@ -72,9 +72,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F24, KC_LCTL, KC_F8, KC_LALT, KC_F14, KC_F13, - + KC_HOME, TO(0), KC_F15, KC_SPACE, KC_LCTL, KC_LALT, - + KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_F24, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, @@ -89,9 +89,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { MO(3), KC_1, KC_2, KC_3, KC_4, KC_5, KC_LSHIFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, KC_LCTL, KC_F8, KC_LALT, KC_I, KC_S, - + KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, KC_LSHIFT, KC_END, - + KC_NO, KC_NUMLOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_NO, KC_NO, TO(0), KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_NO, KC_NO, KC_KP_4, KC_KP_5, KC_KP_6, KC_EQUAL, KC_NO, KC_NO, @@ -115,20 +115,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRANSPARENT, KC_TRANSPARENT, MEH_T(KC_NO), KC_CALCULATOR, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_RSHIFT, KC_DELETE, KC_INSERT, KC_TRANSPARENT, KC_F19, KC_RCTL, - + TO(2),KC_TRANSPARENT,KC_TRANSPARENT,LALT(KC_F10),KC_ENTER,KC_BSPACE ), // Keypad, Lighting, and Mouse emulation layer - ///* + ///* [4] = LAYOUT_ergodox( KC_ESCAPE, KC_NO, KC_NO, KC_MS_BTN3, KC_NO, KC_NO, KC_NO, KC_TAB, KC_NO, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_UP, TO(0), KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN, KC_LSHIFT, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, TO(5), KC_LCTL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, - + KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, KC_LSHIFT, KC_END, - + KC_NO, KC_NUMLOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_CALCULATOR, KC_NO, RGB_VAI, TO(0), KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, KC_NO, RGB_VAD, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_NO, RGB_HUI, @@ -146,9 +146,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN, KC_LSHIFT, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, TO(5), KC_LCTL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, - + KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, KC_LSHIFT, KC_END, - + KC_NO, KC_I, KC_NUMLOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_CALCULATOR, RGB_VAI, TO(0), KC_G, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, RGB_VAD, SHFT_COMMA, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, RGB_HUI, @@ -162,11 +162,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; void led_set_keymap(uint8_t usb_led) { - + } void matrix_init_user (void) { - + } @@ -176,7 +176,7 @@ bool right_shift_down = false; bool numlock = false; bool process_record_user(uint16_t keycode, keyrecord_t *record) { - + switch (keycode) { case KC_LSHIFT: if (record->event.pressed) @@ -205,7 +205,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case KC_NUMLOCK: - if (record->event.pressed) + if (record->event.pressed) { numlock = !numlock; } @@ -213,7 +213,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case DVP_ESC: if (left_shift_down || right_shift_down) - { + { if(record->event.pressed) SEND_STRING("~"); return false; @@ -229,7 +229,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case DVP_AMPR: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -244,7 +244,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; - break; + break; case SHFT_DOT: if(record->event.pressed) @@ -257,7 +257,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { break; case DVP_LBRACKET: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -283,13 +283,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; return false; - break; - + break; + case DVP_LCBR: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) - { + { if(left_shift_down) unregister_code(KC_LSHIFT); if(right_shift_down) @@ -297,7 +297,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_5); unregister_code(KC_5); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -310,10 +310,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("{"); } return false; - break; - + break; + case DVP_RCBR: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -324,7 +324,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_3); unregister_code(KC_3); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -337,10 +337,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("}"); } return false; - break; - + break; + case DVP_LPRN: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -351,7 +351,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_1); unregister_code(KC_1); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -364,10 +364,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("("); } return false; - break; - + break; + case DVP_AT: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -380,7 +380,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_6); unregister_code(KC_6); unregister_code(KC_LSHIFT); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -393,11 +393,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("@"); } return false; - break; + break; + - case DVP_EQUAL: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -408,7 +408,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_9); unregister_code(KC_9); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -421,10 +421,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("="); } return false; - break; - + break; + case DVP_ASTERISK: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -435,7 +435,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_0); unregister_code(KC_0); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -448,10 +448,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("*"); } return false; - break; - + break; + case DVP_RPRN: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -462,7 +462,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_2); unregister_code(KC_2); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -475,10 +475,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING(")"); } return false; - break; - + break; + case DVP_PLUS: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -489,7 +489,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_4); unregister_code(KC_4); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -502,10 +502,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("+"); } return false; - break; - + break; + case DVP_RBRACKET: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -516,7 +516,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_6); unregister_code(KC_6); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -529,10 +529,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("]"); } return false; - break; - + break; + case DVP_EXLM: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -543,7 +543,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_8); unregister_code(KC_8); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -556,10 +556,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("!"); } return false; - break; - + break; + case DVP_HASH: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -570,7 +570,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_GRAVE); unregister_code(KC_GRAVE); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -583,11 +583,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("#"); } return false; - break; + break; - // Russian + // Russian case RU_2: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -598,7 +598,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { register_code(KC_GRAVE); unregister_code(KC_GRAVE); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -611,9 +611,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING("#"); } return false; - break; + break; case RU_3: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -624,7 +624,7 @@ case RU_3: register_code(KC_GRAVE); unregister_code(KC_GRAVE); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -637,9 +637,9 @@ case RU_3: SEND_STRING("#"); } return false; - break; + break; case RU_4: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -650,7 +650,7 @@ case RU_4: register_code(KC_GRAVE); unregister_code(KC_GRAVE); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -663,9 +663,9 @@ case RU_4: SEND_STRING("#"); } return false; - break; + break; case RU_6: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -676,7 +676,7 @@ case RU_6: register_code(KC_GRAVE); unregister_code(KC_GRAVE); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -689,9 +689,9 @@ case RU_6: SEND_STRING("#"); } return false; - break; + break; case RU_7: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -702,7 +702,7 @@ case RU_7: register_code(KC_GRAVE); unregister_code(KC_GRAVE); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -715,10 +715,10 @@ case RU_7: SEND_STRING("#"); } return false; - break; + break; case RU_DOT: - if (left_shift_down || right_shift_down) + if (left_shift_down || right_shift_down) { if(record->event.pressed) { @@ -729,7 +729,7 @@ case RU_7: register_code(KC_GRAVE); unregister_code(KC_GRAVE); - + if(left_shift_down) register_code(KC_LSHIFT); if(right_shift_down) @@ -742,7 +742,7 @@ case RU_7: SEND_STRING("#"); } return false; - break; + break; case RGB_SLD: @@ -751,7 +751,7 @@ case RU_7: } return false; break; - + case RGB_FF0000: if (record->event.pressed) { #ifdef RGBLIGHT_ENABLE @@ -762,7 +762,7 @@ case RU_7: } return false; break; - + case RGB_008000: if (record->event.pressed) { #ifdef RGBLIGHT_ENABLE @@ -773,7 +773,7 @@ case RU_7: } return false; break; - + case RGB_0000FF: if (record->event.pressed) { #ifdef RGBLIGHT_ENABLE @@ -784,7 +784,7 @@ case RU_7: } return false; break; - + case RGB_FFFFFF: if (record->event.pressed) { #ifdef RGBLIGHT_ENABLE @@ -795,7 +795,7 @@ case RU_7: } return false; break; - + case RGB_800080: if (record->event.pressed) { #ifdef RGBLIGHT_ENABLE @@ -806,12 +806,12 @@ case RU_7: } return false; break; - + } return true; } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { uint8_t layer = biton32(state); @@ -823,7 +823,7 @@ uint32_t layer_state_set_user(uint32_t state) { case 0: break; case 1: - ergodox_right_led_1_on(); + ergodox_right_led_1_on(); break; case 2: ergodox_right_led_2_on(); diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c index e06d0b769fe9..18d6e667cc6a 100644 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c +++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c @@ -20,8 +20,8 @@ #define KC_PC_CUT LCTL(KC_X) #define KC_PC_COPY LCTL(KC_C) #define KC_PC_PASTE LCTL(KC_V) -#define ES_LESS_MAC KC_GRAVE -#define ES_GRTR_MAC LSFT(KC_GRAVE) +#define ES_LABK_MAC KC_GRAVE +#define ES_RABK_MAC LSFT(KC_GRAVE) #define ES_BSLS_MAC ALGR(KC_6) #define NO_PIPE_ALT KC_GRAVE #define NO_BSLS_ALT KC_EQUAL @@ -217,7 +217,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { uint8_t layer = biton32(state); ergodox_board_led_off(); ergodox_right_led_1_off(); diff --git a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c index ccea63c97ba1..1d12093babe4 100644 --- a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c +++ b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c @@ -1056,7 +1056,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { uint8_t layer = biton32(state); ergodox_board_led_off(); diff --git a/keyboards/ergodox_ez/keymaps/nfriend/rules.mk b/keyboards/ergodox_ez/keymaps/nfriend/rules.mk index 7e037f6414f2..721d8036010c 100644 --- a/keyboards/ergodox_ez/keymaps/nfriend/rules.mk +++ b/keyboards/ergodox_ez/keymaps/nfriend/rules.mk @@ -1,6 +1,6 @@ # Set any rules.mk overrides for your specific keymap here. # See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file -DEBOUNCE_TYPE = eager_pk +DEBOUNCE_TYPE = sym_eager_pk LTO_ENABLE = yes COMMAND_ENABLE = no UNICODE_ENABLE = no diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c index 2c90c02a6b63..3e607edb39e6 100644 --- a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c +++ b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c @@ -223,7 +223,7 @@ void matrix_scan_user(void) { }; -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { ergodox_board_led_off(); ergodox_right_led_1_off(); ergodox_right_led_2_off(); diff --git a/keyboards/ergodox_ez/keymaps/skug/keymap.c b/keyboards/ergodox_ez/keymaps/skug/keymap.c index bebb8c6a6f8f..1446ea7466f6 100644 --- a/keyboards/ergodox_ez/keymaps/skug/keymap.c +++ b/keyboards/ergodox_ez/keymaps/skug/keymap.c @@ -27,9 +27,6 @@ #define MDIA 2 // media keys #define ARRW 3 // arrow + soon mouse -#define SE_LT SE_LESS -#define SE_GT LSFT(SE_LESS) - enum custom_keycodes { PLACEHOLDER = SAFE_RANGE, // can always be here EPRM, @@ -73,15 +70,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), MO(ARRW), KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSPO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_WBAK, - CTL_T(SE_APOS), SE_ACUT, KC_LALT, KC_BSPC, KC_SPC, - SE_LESS, KC_END, + CTL_T(SE_QUOT), SE_ACUT, KC_LALT, KC_BSPC, KC_SPC, + SE_LABK, KC_END, KC_LEFT, KC_RIGHT, KC_PGDN, CTL_T(KC_ENT), ALT_T(KC_ESC), KC_LGUI, // right hand TO(ARRW), KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, - TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, SE_OSLH), LT(SYMB, SE_AE), + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, SE_ODIA), LT(SYMB, SE_ADIA), KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSPC, KC_SPC, KC_BSPC, KC_ALGR, SE_ASTR, CTL_T(SE_TILD), KC_HOME, SE_CIRC, @@ -116,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,KC_EXLM,SE_AT, SE_LCBR,SE_RCBR,SE_PIPE,_______, _______,KC_HASH,SE_DLR, SE_LPRN,SE_RPRN,SE_GRV, _______,KC_PERC,SE_CIRC,SE_LBRC,SE_RBRC,SE_TILD,_______, - EPRM, _______, _______, SE_LT , SE_GT, + EPRM, _______, _______, SE_LABK , SE_RABK, _______,_______, _______,_______,_______, _______,_______,_______, diff --git a/keyboards/ergodox_ez/keymaps/stamm/keymap.c b/keyboards/ergodox_ez/keymaps/stamm/keymap.c index 890fbdc02311..19eecae03d03 100644 --- a/keyboards/ergodox_ez/keymaps/stamm/keymap.c +++ b/keyboards/ergodox_ez/keymaps/stamm/keymap.c @@ -24,8 +24,8 @@ #define KC_PC_CUT LCTL(KC_X) #define KC_PC_COPY LCTL(KC_C) #define KC_PC_PASTE LCTL(KC_V) -#define ES_LESS_MAC KC_GRAVE -#define ES_GRTR_MAC LSFT(KC_GRAVE) +#define ES_LABK_MAC KC_GRAVE +#define ES_RABK_MAC LSFT(KC_GRAVE) #define ES_BSLS_MAC ALGR(KC_6) #define NO_PIPE_ALT KC_GRAVE #define NO_BSLS_ALT KC_EQUAL diff --git a/keyboards/ergodox_ez/keymaps/testing/keymap.c b/keyboards/ergodox_ez/keymaps/testing/keymap.c index a90458cefe4d..5c1fc4af284e 100644 --- a/keyboards/ergodox_ez/keymaps/testing/keymap.c +++ b/keyboards/ergodox_ez/keymaps/testing/keymap.c @@ -60,7 +60,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { uint8_t layer = biton32(layer_state); diff --git a/keyboards/ergodox_ez/rules.mk b/keyboards/ergodox_ez/rules.mk index 1000ef78633c..25e51ae4e560 100644 --- a/keyboards/ergodox_ez/rules.mk +++ b/keyboards/ergodox_ez/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # If you have Left LEDs (see @@ -19,7 +12,7 @@ BOOTLOADER = halfkay # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -29,11 +22,10 @@ NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: ht UNICODE_ENABLE = yes # Unicode SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard SLEEP_LED_ENABLE = no -API_SYSEX_ENABLE = no RGB_MATRIX_ENABLE = no # enable later RGB_MATRIX_DRIVER = IS31FL3731 -DEBOUNCE_TYPE = eager_pr +DEBOUNCE_TYPE = sym_eager_pr # project specific files SRC += matrix.c \ diff --git a/keyboards/ergodox_ez/util/keymap_beautifier/KeymapBeautifier.py b/keyboards/ergodox_ez/util/keymap_beautifier/KeymapBeautifier.py index b96e4c96cde8..f55bdaf2d7d5 100755 --- a/keyboards/ergodox_ez/util/keymap_beautifier/KeymapBeautifier.py +++ b/keyboards/ergodox_ez/util/keymap_beautifier/KeymapBeautifier.py @@ -164,7 +164,16 @@ def beautify_keys_section(self, src): key_symbols = [key_symbols[i] for i in self.index_conversion_map_reversed(self.INDEX_CONVERSTION_LAYOUT_ergodox_pretty_to_LAYOUT_ergodox)] padded_key_symbols = self.pad_key_symbols(key_symbols, input_layout) - current_pretty_output_layer = self.pretty_output_layer(layer.name[0].value, padded_key_symbols) + + layer_identifier = None + if hasattr(layer.name[0], "value"): + layer_identifier = layer.name[0].value + elif hasattr(layer.name[0], "name"): + layer_identifier = layer.name[0].name + else: + raise AttributeError("Layer is missing both index and name (e.g., [BASE] = LAYOUT_ergodox(...))") + + current_pretty_output_layer = self.pretty_output_layer(layer_identifier, padded_key_symbols) # strip trailing spaces from padding layer_output.append(re.sub(r" +\n", "\n", current_pretty_output_layer)) @@ -361,6 +370,8 @@ def function_expr(self, f): args.append(arg.value) elif type(arg) is pycparser.c_ast.ID: args.append(arg.name) + elif type(arg) is pycparser.c_ast.FuncCall: + args.append(self.function_expr(arg)) return "{}({})".format(name, ",".join(args)) def key_expr(self, raw): diff --git a/keyboards/ergodox_infinity/config.h b/keyboards/ergodox_infinity/config.h index a64f3f4a1394..4bee8c3d931a 100644 --- a/keyboards/ergodox_infinity/config.h +++ b/keyboards/ergodox_infinity/config.h @@ -54,7 +54,19 @@ along with this program. If not, see . /* key matrix size */ #define MATRIX_ROWS 18 #define MATRIX_COLS 5 -#define LOCAL_MATRIX_ROWS 9 + +// For some reason, the rows are colums in the schematic, and vice versa +#define MATRIX_ROW_PINS { B2, B3, B18, B19, C0, C9, C10, C11, D0 } +#define MATRIX_COL_PINS { D1, D4, D5, D6, D7 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* Serial config (for communication between halves) */ +#define SERIAL_USART_DRIVER SD1 // Only true for the master half +#define SERIAL_USART_CONFIG { (SERIAL_USART_SPEED), } // Only field is speed +#define SERIAL_USART_FULL_DUPLEX /* number of backlight levels */ #define BACKLIGHT_LEVELS 3 @@ -62,16 +74,49 @@ along with this program. If not, see . #define LED_BRIGHTNESS_LO 100 #define LED_BRIGHTNESS_HI 255 +/* LED matrix driver */ +#define LED_DRIVER_ADDR_1 0x74 +#define LED_DRIVER_COUNT 1 +#define DRIVER_LED_TOTAL 76 +#define LED_MATRIX_SPLIT { 38, 38 } +#define LED_DISABLE_WHEN_USB_SUSPENDED + +/* i2c (for LED matrix) */ +#define I2C1_CLOCK_SPEED 400000 +#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 +#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 +#define I2C1_BANK GPIOB +#define I2C1_SCL 0 +#define I2C1_SDA 1 + +#ifdef ST7565_ENABLE +/* LCD driver */ +# define ST7565_A0_PIN C7 +# define ST7565_RST_PIN C8 +# define ST7565_SS_PIN C4 +# define ST7565_SPI_CLK_DIVISOR 2 +# define ST7565_CONTRAST 22 +# define ST7565_DISPLAY_WIDTH 128 +# define ST7565_DISPLAY_HEIGHT 32 + +/* SPI (for LCD) */ +# define SPI_DRIVER SPID1 +# define SPI_SCK_PIN C5 +# define SPI_SCK_PAL_MODE PAL_MODE_ALTERNATIVE_2 +# define SPI_MOSI_PIN C6 +# define SPI_MOSI_PAL_MODE PAL_MODE_ALTERNATIVE_2 +# define SPI_MISO_PIN A4 // Just an unused pin, the "normal" MISO pin (C7) is used for other things +# define SPI_MISO_PAL_MODE PAL_MODE_ALTERNATIVE_7 // Default for A4 +#endif + /* define if matrix has ghost */ //#define MATRIX_HAS_GHOST /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 -#define SERIAL_LINK_BAUD 562500 -#define SERIAL_LINK_THREAD_PRIORITY (NORMALPRIO - 1) - #define VISUALIZER_USER_DATA_SIZE 16 + /* * Feature disable options * These options are also useful to firmware size reduction. diff --git a/keyboards/ergodox_infinity/ergodox_infinity.c b/keyboards/ergodox_infinity/ergodox_infinity.c index a9962f96a06e..8f5b068a72af 100644 --- a/keyboards/ergodox_infinity/ergodox_infinity.c +++ b/keyboards/ergodox_infinity/ergodox_infinity.c @@ -1,29 +1,13 @@ #include QMK_KEYBOARD_H #include #include +#include +#include "eeconfig.h" #include "serial_link/system/serial_link.h" #ifdef VISUALIZER_ENABLE -#include "lcd_backlight.h" +# include "lcd_backlight.h" #endif -#ifdef WPM_ENABLE -# include "serial_link/protocol/transport.h" -# include "wpm.h" - -MASTER_TO_ALL_SLAVES_OBJECT(current_wpm, uint8_t); -static remote_object_t* remote_objects[] = { - REMOTE_OBJECT(current_wpm), -}; -static uint8_t last_sent_wpm = 0; -#endif - -void init_serial_link_hal(void) { - PORTA->PCR[1] = PORTx_PCRn_PE | PORTx_PCRn_PS | PORTx_PCRn_PFE | PORTx_PCRn_MUX(2); - PORTA->PCR[2] = PORTx_PCRn_DSE | PORTx_PCRn_SRE | PORTx_PCRn_MUX(2); - PORTE->PCR[0] = PORTx_PCRn_PE | PORTx_PCRn_PS | PORTx_PCRn_PFE | PORTx_PCRn_MUX(3); - PORTE->PCR[1] = PORTx_PCRn_DSE | PORTx_PCRn_SRE | PORTx_PCRn_MUX(3); -} - #define RED_PIN 1 #define GREEN_PIN 2 #define BLUE_PIN 3 @@ -52,7 +36,7 @@ void init_serial_link_hal(void) { void lcd_backlight_hal_init(void) { // Setup Backlight SIM->SCGC6 |= SIM_SCGC6_FTM0; - FTM0->CNT = 0; // Reset counter + FTM0->CNT = 0; // Reset counter // PWM Period // 16-bit maximum @@ -60,25 +44,25 @@ void lcd_backlight_hal_init(void) { // Set FTM to PWM output - Edge Aligned, Low-true pulses #define CNSC_MODE FTM_SC_CPWMS | FTM_SC_PS(4) | FTM_SC_CLKS(0) - CHANNEL_RED.CnSC = CNSC_MODE; + CHANNEL_RED.CnSC = CNSC_MODE; CHANNEL_GREEN.CnSC = CNSC_MODE; - CHANNEL_BLUE.CnSC = CNSC_MODE; + CHANNEL_BLUE.CnSC = CNSC_MODE; // System clock, /w prescalar setting FTM0->SC = FTM_SC_CLKS(1) | FTM_SC_PS(PRESCALAR_DEFINE); - CHANNEL_RED.CnV = 0; + CHANNEL_RED.CnV = 0; CHANNEL_GREEN.CnV = 0; - CHANNEL_BLUE.CnV = 0; + CHANNEL_BLUE.CnV = 0; RGB_PORT_GPIO->PDDR |= (1 << RED_PIN); RGB_PORT_GPIO->PDDR |= (1 << GREEN_PIN); RGB_PORT_GPIO->PDDR |= (1 << BLUE_PIN); #define RGB_MODE PORTx_PCRn_SRE | PORTx_PCRn_DSE | PORTx_PCRn_MUX(4) - RGB_PORT->PCR[RED_PIN] = RGB_MODE; + RGB_PORT->PCR[RED_PIN] = RGB_MODE; RGB_PORT->PCR[GREEN_PIN] = RGB_MODE; - RGB_PORT->PCR[BLUE_PIN] = RGB_MODE; + RGB_PORT->PCR[BLUE_PIN] = RGB_MODE; } static uint16_t cie_lightness(uint16_t v) { @@ -89,12 +73,11 @@ static uint16_t cie_lightness(uint16_t v) { // Y = (L* / 902.3) if L* <= 8 // Y = ((L* + 16) / 116)^3 if L* > 8 - float l = 100.0f * (v / 65535.0f); + float l = 100.0f * (v / 65535.0f); float y = 0.0f; if (l <= 8.0f) { - y = l / 902.3; - } - else { + y = l / 902.3; + } else { y = ((l + 16.0f) / 116.0f); y = y * y * y; if (y > 1.0f) { @@ -104,109 +87,82 @@ static uint16_t cie_lightness(uint16_t v) { return y * 65535.0f; } +#ifdef VISUALIZER_ENABLE void lcd_backlight_hal_color(uint16_t r, uint16_t g, uint16_t b) { - CHANNEL_RED.CnV = cie_lightness(r); +#else +void ergodox_infinity_lcd_color(uint16_t r, uint16_t g, uint16_t b) { +#endif + CHANNEL_RED.CnV = cie_lightness(r); CHANNEL_GREEN.CnV = cie_lightness(g); - CHANNEL_BLUE.CnV = cie_lightness(b); + CHANNEL_BLUE.CnV = cie_lightness(b); } -__attribute__ ((weak)) -void matrix_init_user(void) { -} +__attribute__ ((weak)) void matrix_init_user(void) {} -__attribute__ ((weak)) -void matrix_scan_user(void) { -} +__attribute__ ((weak)) void matrix_scan_user(void) {} -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); - // The backlight always has to be initialized, otherwise it will stay lit +void keyboard_pre_init_kb() { +#ifdef LED_MATRIX_ENABLE + // Turn on LED controller + setPinOutput(B16); + writePinHigh(B16); +#endif #ifndef VISUALIZER_ENABLE + // The backlight always has to be initialized, otherwise it will stay lit lcd_backlight_hal_init(); +# ifdef ST7565_ENABLE + ergodox_infinity_lcd_color(UINT16_MAX / 2, UINT16_MAX / 2, UINT16_MAX / 2); +# endif #endif -#ifdef WPM_ENABLE - add_remote_objects(remote_objects, sizeof(remote_objects) / sizeof(remote_object_t*)); -#endif + keyboard_pre_init_user(); } -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - -#ifdef WPM_ENABLE - if (is_serial_link_master()) { - uint8_t current_wpm = get_current_wpm(); - if (current_wpm != last_sent_wpm) { - *begin_write_current_wpm() = current_wpm; - end_write_current_wpm(); - last_sent_wpm = current_wpm; - } - } else if (is_serial_link_connected()) { - uint8_t* new_wpm = read_current_wpm(); - if (new_wpm) { - set_current_wpm(*new_wpm); - } - } +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + +#ifdef LED_MATRIX_ENABLE + /* + * Since K20x is stuck with a 32 byte EEPROM (see tmk_core/common/chibios/eeprom_teensy.c), + * and neither led_matrix_eeconfig.speed or .flags fit in this boundary, just force their values to default on boot. + */ +# if !defined(LED_MATRIX_STARTUP_SPD) +# define LED_MATRIX_STARTUP_SPD UINT8_MAX / 2 +# endif + led_matrix_set_speed(LED_MATRIX_STARTUP_SPD); + led_matrix_set_flags(LED_FLAG_ALL); #endif - matrix_scan_user(); -} -bool is_keyboard_master(void) { - return is_serial_link_master(); + matrix_init_user(); } -__attribute__ ((weak)) -void ergodox_board_led_on(void){ -} +__attribute__ ((weak)) void ergodox_board_led_on(void) {} -__attribute__ ((weak)) -void ergodox_right_led_1_on(void){ -} +__attribute__ ((weak)) void ergodox_right_led_1_on(void) {} -__attribute__ ((weak)) -void ergodox_right_led_2_on(void){ -} +__attribute__ ((weak)) void ergodox_right_led_2_on(void) {} -__attribute__ ((weak)) -void ergodox_right_led_3_on(void){ -} +__attribute__ ((weak)) void ergodox_right_led_3_on(void) {} -__attribute__ ((weak)) -void ergodox_board_led_off(void){ -} +__attribute__ ((weak)) void ergodox_board_led_off(void) {} -__attribute__ ((weak)) -void ergodox_right_led_1_off(void){ -} +__attribute__ ((weak)) void ergodox_right_led_1_off(void) {} -__attribute__ ((weak)) -void ergodox_right_led_2_off(void){ -} +__attribute__ ((weak)) void ergodox_right_led_2_off(void) {} -__attribute__ ((weak)) -void ergodox_right_led_3_off(void){ -} +__attribute__ ((weak)) void ergodox_right_led_3_off(void) {} -__attribute__ ((weak)) -void ergodox_right_led_1_set(uint8_t n) { -} +__attribute__ ((weak)) void ergodox_right_led_1_set(uint8_t n) {} -__attribute__ ((weak)) -void ergodox_right_led_2_set(uint8_t n) { -} +__attribute__ ((weak)) void ergodox_right_led_2_set(uint8_t n) {} -__attribute__ ((weak)) -void ergodox_right_led_3_set(uint8_t n) { -} +__attribute__ ((weak)) void ergodox_right_led_3_set(uint8_t n) {} #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}}, +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}}, {{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 10}}, {{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 11}}, {{0, 12}, {1, 12}, {2, 12}, {3, 12}, {4, 12}}, @@ -226,3 +182,192 @@ const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}}, }; #endif + +#ifdef LED_MATRIX_ENABLE +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +// The numbers in the comments are the led numbers DXX on the PCB +/* Refer to IS31 manual for these locations + * driver + * | LED address + * | | */ +// Left half +// 45 44 43 42 41 40 39 + { 0, C2_2 }, { 0, C1_2 }, { 0, C5_1 }, { 0, C4_1 }, { 0, C3_1 }, { 0, C2_1 }, { 0, C1_1 }, +// 52 51 50 49 48 47 46 + { 0, C4_3 }, { 0, C3_3 }, { 0, C2_3 }, { 0, C1_3 }, { 0, C5_2 }, { 0, C4_2 }, { 0, C3_2 }, +// 58 57 56 55 54 53 + { 0, C5_4 }, { 0, C4_4 }, { 0, C3_4 }, { 0, C2_4 }, { 0, C1_4 }, { 0, C5_3 }, +// 67 66 65 64 63 62 61 + { 0, C4_6 }, { 0, C3_6 }, { 0, C2_6 }, { 0, C1_6 }, { 0, C5_5 }, { 0, C4_5 }, { 0, C3_5 }, +// 76 75 74 73 72 + { 0, C4_8 }, { 0, C3_8 }, { 0, C2_8 }, { 0, C1_8 }, { 0, C4_7 }, +// 60 59 + { 0, C2_5 }, { 0, C1_5 }, +// 68 + { 0, C5_6 }, +// 71 70 69 + { 0, C3_7 }, { 0, C2_7 }, { 0, C1_7 }, +// Right half (mirrored) +// Due to how LED_MATRIX_SPLIT is implemented, only the first half of g_is31_leds is actually used. +// Luckily, the right half has the same LED pinouts, just mirrored. +// 45 44 43 42 41 40 39 + { 0, C2_2 }, { 0, C1_2 }, { 0, C5_1 }, { 0, C4_1 }, { 0, C3_1 }, { 0, C2_1 }, { 0, C1_1 }, +// 52 51 50 49 48 47 46 + { 0, C4_3 }, { 0, C3_3 }, { 0, C2_3 }, { 0, C1_3 }, { 0, C5_2 }, { 0, C4_2 }, { 0, C3_2 }, +// 58 57 56 55 54 53 + { 0, C5_4 }, { 0, C4_4 }, { 0, C3_4 }, { 0, C2_4 }, { 0, C1_4 }, { 0, C5_3 }, +// 67 66 65 64 63 62 61 + { 0, C4_6 }, { 0, C3_6 }, { 0, C2_6 }, { 0, C1_6 }, { 0, C5_5 }, { 0, C4_5 }, { 0, C3_5 }, +// 76 75 74 73 72 + { 0, C4_8 }, { 0, C3_8 }, { 0, C2_8 }, { 0, C1_8 }, { 0, C4_7 }, +// 60 59 + { 0, C2_5 }, { 0, C1_5 }, +// 68 + { 0, C5_6 }, +// 71 70 69 + { 0, C3_7 }, { 0, C2_7 }, { 0, C1_7 }, +}; + +led_config_t g_led_config = { + { + // Key Matrix to LED Index + // Left half + { NO_LED, NO_LED, NO_LED, 33, 34 }, + { NO_LED, NO_LED, NO_LED, 32, 37 }, + { 6, 13, NO_LED, 26, 36 }, + { 5, 12, 19, 25, 35 }, + { 4, 11, 18, 24, 31 }, + { 3, 10, 17, 23, 30 }, + { 2, 9, 16, 22, 29 }, + { 1, 8, 15, 21, 28 }, + { 0, 7, 14, 20, 27 }, + // Right half + { NO_LED, NO_LED, NO_LED, 71, 72 }, + { NO_LED, NO_LED, NO_LED, 70, 75 }, + { 44, 51, NO_LED, 64, 74 }, + { 43, 50, 57, 63, 73 }, + { 42, 49, 56, 62, 69 }, + { 41, 48, 55, 61, 68 }, + { 40, 47, 54, 60, 67 }, + { 39, 46, 53, 59, 66 }, + { 38, 45, 52, 58, 65 }, + }, { + // LED Index to Physical Position (assumes a reasonable gap between halves) + // Left half + { 0, 3 }, { 15, 3 }, { 27, 1 }, { 39, 0 }, { 51, 1 }, { 63, 2 }, { 75, 2 }, + { 0, 13 }, { 15, 13 }, { 27, 11 }, { 39, 10 }, { 51, 11 }, { 63, 12 }, { 78, 17 }, + { 0, 23 }, { 15, 23 }, { 27, 21 }, { 39, 20 }, { 51, 21 }, { 63, 22 }, + { 0, 33 }, { 15, 33 }, { 27, 31 }, { 39, 30 }, { 51, 31 }, { 63, 32 }, { 78, 32 }, + { 4, 43 }, { 15, 43 }, { 27, 41 }, { 39, 40 }, { 51, 41 }, + { 89, 41 }, { 100, 46 }, + { 95, 55 }, + { 72, 54 }, { 83, 59 }, { 90, 64 }, + // Right half (mirrored) + { 224, 3 }, { 209, 3 }, { 197, 1 }, { 185, 0 }, { 173, 1 }, { 161, 2 }, { 149, 2 }, + { 224, 13 }, { 209, 13 }, { 197, 11 }, { 185, 10 }, { 173, 11 }, { 161, 12 }, { 146, 17 }, + { 224, 23 }, { 209, 23 }, { 197, 21 }, { 185, 20 }, { 173, 21 }, { 161, 22 }, + { 224, 33 }, { 209, 33 }, { 197, 31 }, { 185, 30 }, { 173, 31 }, { 161, 32 }, { 146, 32 }, + { 220, 43 }, { 209, 43 }, { 197, 41 }, { 185, 40 }, { 173, 41 }, + { 135, 41 }, { 124, 46 }, + { 129, 55 }, + { 152, 54 }, { 141, 59 }, { 134, 64 }, + }, { + // LED Index to Flag + // Left half + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, + 1, 1, + 1, + 1, 1, 1, + // Right half (mirrored) + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, + 1, 4, 4, 4, 4, 4, 1, + 1, 1, 1, 1, 1, + 1, 1, + 1, + 1, 1, 1, + } +}; +#endif + +#ifdef ST7565_ENABLE +__attribute__((weak)) void st7565_on_user(void) { + ergodox_infinity_lcd_color(UINT16_MAX / 2, UINT16_MAX / 2, UINT16_MAX / 2); +} + +__attribute__((weak)) void st7565_off_user(void) { + ergodox_infinity_lcd_color(0, 0, 0); +} + +static void format_layer_bitmap_string(char* buffer, uint8_t offset) { + for (int i = 0; i < 16 && i + offset < MAX_LAYER; i++) { + if (i == 0 || i == 4 || i == 8 || i == 12) { + *buffer = ' '; + ++buffer; + } + + uint8_t layer = i + offset; + if (layer_state_cmp(default_layer_state, layer)) { + *buffer = 'D'; + } else if (layer_state_is(layer)) { + *buffer = '1'; + } else { + *buffer = '_'; + } + ++buffer; + } + *buffer = 0; +} + +__attribute__((weak)) void st7565_task_user(void) { + if (is_keyboard_master()) { + // Draw led and layer status + led_t leds = host_keyboard_led_state(); + if(leds.num_lock) { st7565_write("Num ", false); } + if(leds.caps_lock) { st7565_write("Cap ", false); } + if(leds.scroll_lock) { st7565_write("Scrl ", false); } + if(leds.compose) { st7565_write("Com ", false); } + if(leds.kana) { st7565_write("Kana", false); } + st7565_advance_page(true); + + char layer_buffer[16 + 5]; // 3 spaces and one null terminator + st7565_set_cursor(0, 1); + format_layer_bitmap_string(layer_buffer, 0); + st7565_write_ln(layer_buffer, false); + format_layer_bitmap_string(layer_buffer, 16); + st7565_write_ln(layer_buffer, false); + st7565_write_ln(" 1=On D=Default", false); + } else { + // Draw logo + static const char qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + + st7565_write(qmk_logo, false); + st7565_write(" Infinity Ergodox ", false); + } +} +#endif + +#if defined(SPLIT_KEYBOARD) +void usart_master_init(SerialDriver **driver) { + PORTA->PCR[1] = PORTx_PCRn_PE | PORTx_PCRn_PS | PORTx_PCRn_PFE | PORTx_PCRn_MUX(2); + PORTA->PCR[2] = PORTx_PCRn_DSE | PORTx_PCRn_SRE | PORTx_PCRn_MUX(2); + + // driver is set to SD1 in config.h +} + +void usart_slave_init(SerialDriver **driver) { + PORTE->PCR[0] = PORTx_PCRn_PE | PORTx_PCRn_PS | PORTx_PCRn_PFE | PORTx_PCRn_MUX(3); + PORTE->PCR[1] = PORTx_PCRn_DSE | PORTx_PCRn_SRE | PORTx_PCRn_MUX(3); + + *driver = &SD2; +} +#endif diff --git a/keyboards/ergodox_infinity/ergodox_infinity.h b/keyboards/ergodox_infinity/ergodox_infinity.h index 79f01b1849a7..81ac1f338ab1 100644 --- a/keyboards/ergodox_infinity/ergodox_infinity.h +++ b/keyboards/ergodox_infinity/ergodox_infinity.h @@ -80,6 +80,10 @@ inline void ergodox_led_all_set(uint8_t n) { ergodox_right_led_3_set(n); } +#ifndef VISUALIZER_ENABLE +void ergodox_infinity_lcd_color(uint16_t r, uint16_t g, uint16_t b); +#endif + /* * LEFT HAND: LINES 88-95 * RIGHT HAND: LINES 97-104 diff --git a/keyboards/ergodox_infinity/keymaps/default/keymap.c b/keyboards/ergodox_infinity/keymaps/default/keymap.c index cd9b476bbd7b..cd650018032d 100644 --- a/keyboards/ergodox_infinity/keymaps/default/keymap.c +++ b/keyboards/ergodox_infinity/keymaps/default/keymap.c @@ -164,12 +164,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - -}; - - // Runs constantly in the background, in a loop. void matrix_scan_user(void) { @@ -192,4 +186,4 @@ void matrix_scan_user(void) { break; } -}; +} diff --git a/keyboards/ergodox_infinity/keymaps/narze/keymap.c b/keyboards/ergodox_infinity/keymaps/narze/keymap.c index d9499f00376c..dd721e9a7895 100644 --- a/keyboards/ergodox_infinity/keymaps/narze/keymap.c +++ b/keyboards/ergodox_infinity/keymaps/narze/keymap.c @@ -43,8 +43,6 @@ enum ergodox_keycodes { }; // Narze : Custom Macros -#define HPR_ESC ALL_T(KC_ESC) -#define SFT_ENT SFT_T(KC_ENT) #define SFT_PO LSFT_LPRN #define SFT_PC RSFT_RPRN @@ -89,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LT(_SYMB, KC_NO), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, LT(_SUPERDUPER, KC_SLSH), SFT_PC, - RAISE, KC_BSPC,KC_RALT,KC_RCTL, LT(_LOWER, KC_RBRC), + RAISE, KC_BSPC,ALT_COLN,KC_RCTL, LT(_LOWER, KC_RBRC), KC_LALT, CTL_T(KC_ESC), KC_PGUP, KC_PGDN,KC_BSPC, KC_ENT @@ -130,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LT(_SYMB, KC_NO), KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, MEH_T(KC_NO),KC_K, KC_M, KC_COMM,KC_DOT, LT(_SUPERDUPER, KC_SLSH), SFT_PC, - RAISE, KC_BSPC,KC_RALT,KC_RCTL, LT(_LOWER, KC_RBRC), + RAISE, KC_BSPC,ALT_COLN,KC_RCTL, LT(_LOWER, KC_RBRC), KC_LALT, CTL_T(KC_ESC), KC_PGUP, KC_PGDN,KC_BSPC, KC_ENT @@ -151,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LT(_SYMB, KC_NO), CM_Y, CM_U, CM_I, CM_O, CM_P, KC_BSLS, CM_H, CM_J, CM_K, CM_L, CM_SCLN, KC_QUOT, MEH_T(KC_NO),CM_N, CM_M, CM_COMM,CM_DOT, LT(_SUPERDUPER, KC_SLSH), SFT_PC, - RAISE, KC_BSPC,KC_RALT,KC_RCTL, LT(_LOWER, KC_RBRC), + RAISE, KC_BSPC,ALT_COLN,KC_RCTL, LT(_LOWER, KC_RBRC), KC_LALT, CTL_T(KC_ESC), KC_PGUP, KC_PGDN,KC_BSPC, KC_ENT diff --git a/keyboards/ergodox_infinity/keymaps/narze/readme.md b/keyboards/ergodox_infinity/keymaps/narze/readme.md index f24fc05fe051..3094b021e069 100644 --- a/keyboards/ergodox_infinity/keymaps/narze/readme.md +++ b/keyboards/ergodox_infinity/keymaps/narze/readme.md @@ -6,24 +6,9 @@ ## Key features - Qwerty + [Colemak](https://colemak.com) layouts, and you can type Qwerty on software-level Colemak as well. Very useful for gaming or when your friend wanna type something but don't use Colemak. -- [(S)uper (D)uper Mode](https://github.com/jasonrudolph/keyboard#super-duper-mode) inspired by [jasonrudolph](https://github.com/jasonrudolph), with [some extensions](https://gist.github.com/narze/861e2167784842d38771) such as backspace & forward delete. +- [(S)uper (D)uper Mode](/users/narze/readme.md) - Mouse keys with Z -## (S)uper (D)uper Mode -Press `S+D` simultaneously and hold, then... -- `H/J/K/L` for Vim-like movement -- `I/O` to move between browser tabs (Not working on Windows yet) -- `A` for `Option (Alt)` -- `F/;` for `Backspace/Forward delete` -- `A` with `H/L` to move to previous/next word -- `A` with `G/;` to delete to previous/next word -- `G` for `Cmd` (Gui/Windows) -- Available for all layouts (but plover) using physical S & D keys position in qwerty -- `Spacebar` for `Shift` (it's easier when already holding A with your pinky) -- Disable with `Raise+Lower+M` -- You can edit or add more useful keys in SUPERDUPER layer -- It can be activated by holding `/` as well, but it's slower since `LT()` uses `TAPPING_TERM` of 200ms but `S+D` uses `COMBO_TERM` of only 20ms (Can be changed within config.h) - ## Build instructions If your environment is ready to build with `make`, don't use docker since it takes 5m+ to compile. Use the instructions in Ergodox Infinity's readme. diff --git a/keyboards/ergodox_infinity/keymaps/narze/rules.mk b/keyboards/ergodox_infinity/keymaps/narze/rules.mk index 4bfa4fde264e..4a4ed58610ad 100644 --- a/keyboards/ergodox_infinity/keymaps/narze/rules.mk +++ b/keyboards/ergodox_infinity/keymaps/narze/rules.mk @@ -4,7 +4,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/ergodox_infinity/led.c b/keyboards/ergodox_infinity/led.c deleted file mode 100644 index 0b50247d7a31..000000000000 --- a/keyboards/ergodox_infinity/led.c +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2012 Jun Wako - -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 - -#include "led.h" - - -void led_set(uint8_t usb_led) { - //TODO: Add led emulation if there's no customized visualization - (void)usb_led; -} diff --git a/keyboards/ergodox_infinity/matrix.c b/keyboards/ergodox_infinity/matrix.c deleted file mode 100644 index 7baacd24d08b..000000000000 --- a/keyboards/ergodox_infinity/matrix.c +++ /dev/null @@ -1,184 +0,0 @@ -/* -Copyright 2016 Fred Sundvik -Jun Wako - -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 -#include -#include -#include -#include "timer.h" -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "matrix.h" -#include "eeconfig.h" -#include "serial_link/system/serial_link.h" - - -/* - * Infinity ErgoDox Pinusage: - * Column pins are input with internal pull-down. Row pins are output and strobe with high. - * Key is high or 1 when it turns on. - * - * col: { PTD1, PTD4, PTD5, PTD6, PTD7 } - * row: { PTB2, PTB3, PTB18, PTB19, PTC0, PTC9, PTC10, PTC11, PTD0 } - */ -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_row_t matrix_debouncing[LOCAL_MATRIX_ROWS]; -static bool debouncing = false; -static uint16_t debouncing_time = 0; - - -void matrix_init(void) -{ - /* Row(sense) */ - palSetPadMode(GPIOD, 1, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOD, 4, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOD, 5, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOD, 6, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOD, 7, PAL_MODE_INPUT_PULLDOWN); - - /* Column(strobe) */ - palSetPadMode(GPIOB, 2, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 3, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 18, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 19, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOC, 0, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOC, 9, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOC, 10, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOC, 11, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOD, 0, PAL_MODE_OUTPUT_PUSHPULL); - - memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t)); - memset(matrix_debouncing, 0, LOCAL_MATRIX_ROWS * sizeof(matrix_row_t)); - - matrix_init_quantum(); -} - -uint8_t matrix_scan(void) -{ - for (int row = 0; row < LOCAL_MATRIX_ROWS; row++) { - matrix_row_t data = 0; - - // strobe row - switch (row) { - case 0: palSetPad(GPIOB, 2); break; - case 1: palSetPad(GPIOB, 3); break; - case 2: palSetPad(GPIOB, 18); break; - case 3: palSetPad(GPIOB, 19); break; - case 4: palSetPad(GPIOC, 0); break; - case 5: palSetPad(GPIOC, 9); break; - case 6: palSetPad(GPIOC, 10); break; - case 7: palSetPad(GPIOC, 11); break; - case 8: palSetPad(GPIOD, 0); break; - } - - // need wait to settle pin state - // if you wait too short, or have a too high update rate - // the keyboard might freeze, or there might not be enough - // processing power to update the LCD screen properly. - // 20us, or two ticks at 100000Hz seems to be OK - wait_us(20); - - // read col data: { PTD1, PTD4, PTD5, PTD6, PTD7 } - data = ((palReadPort(GPIOD) & 0xF0) >> 3) | - ((palReadPort(GPIOD) & 0x02) >> 1); - - // un-strobe row - switch (row) { - case 0: palClearPad(GPIOB, 2); break; - case 1: palClearPad(GPIOB, 3); break; - case 2: palClearPad(GPIOB, 18); break; - case 3: palClearPad(GPIOB, 19); break; - case 4: palClearPad(GPIOC, 0); break; - case 5: palClearPad(GPIOC, 9); break; - case 6: palClearPad(GPIOC, 10); break; - case 7: palClearPad(GPIOC, 11); break; - case 8: palClearPad(GPIOD, 0); break; - } - - if (matrix_debouncing[row] != data) { - matrix_debouncing[row] = data; - debouncing = true; - debouncing_time = timer_read(); - } - } - - uint8_t offset = 0; -#if (defined(EE_HANDS) || defined(MASTER_IS_ON_RIGHT)) -#ifdef EE_HANDS - if (is_serial_link_master() && !eeconfig_read_handedness()) { -#else - if (is_serial_link_master()) { -#endif - offset = MATRIX_ROWS - LOCAL_MATRIX_ROWS; - } -#endif - - if (debouncing && timer_elapsed(debouncing_time) > DEBOUNCE) { - for (int row = 0; row < LOCAL_MATRIX_ROWS; row++) { - matrix[offset + row] = matrix_debouncing[row]; - } - debouncing = false; - } - matrix_scan_quantum(); - return 1; -} - -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & (1</os/hal/boards/ +# or /boards +# This board was copied from PJRC_TEENSY_3_1. The only difference should be a +# hack to ensure the watchdog has started before trying to disable it, and an +# override to disable restart of USB driver after returning from suspend. +BOARD = IC_TEENSY_3_1 + # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work UNICODE_ENABLE = yes # Unicode SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard -CUSTOM_MATRIX = yes # Custom matrix file -SERIAL_LINK_ENABLE = yes -VISUALIZER_ENABLE = yes -LCD_ENABLE = yes -BACKLIGHT_ENABLE = yes -BACKLIGHT_DRIVER = custom -LCD_BACKLIGHT_ENABLE = yes -MIDI_ENABLE = no RGBLIGHT_ENABLE = no +SPLIT_KEYBOARD = yes +SERIAL_DRIVER = usart + +ST7565_ENABLE = yes + +LED_MATRIX_ENABLE = yes +LED_MATRIX_DRIVER = IS31FL3731 + +# Config for Visualizer (set VISUALIZER_ENABLE = yes and ST7565_ENABLE = no to use) +LCD_ENABLE = yes +LCD_BACKLIGHT_ENABLE = yes LCD_DRIVER = st7565 LCD_WIDTH = 128 LCD_HEIGHT = 32 -LED_DRIVER = is31fl3731c -LED_WIDTH = 7 -LED_HEIGHT = 7 - -# project specific files -SRC = matrix.c \ - led.c - LAYOUTS = ergodox diff --git a/keyboards/ergodox_infinity/visualizer.c b/keyboards/ergodox_infinity/visualizer.c index 4b16021abcd9..1ea891e83032 100644 --- a/keyboards/ergodox_infinity/visualizer.c +++ b/keyboards/ergodox_infinity/visualizer.c @@ -30,7 +30,6 @@ along with this program. If not, see . #include "visualizer_keyframes.h" #include "lcd_keyframes.h" #include "lcd_backlight_keyframes.h" -#include "system/serial_link.h" #include "default_animations.h" static const uint32_t logo_background_color = LCD_COLOR(0x00, 0x00, 0xFF); @@ -177,7 +176,7 @@ static void update_emulated_leds(visualizer_state_t* state, visualizer_keyboard_ uint8_t new_index; uint8_t old_index; - if (is_serial_link_master()) { + if (is_keyboard_master()) { new_index = get_led_index_master(user_data_new); old_index = get_led_index_master(user_data_old); } diff --git a/keyboards/ergodox_stm32/rules.mk b/keyboards/ergodox_stm32/rules.mk index c2eaaa52690d..b3fba3851729 100644 --- a/keyboards/ergodox_stm32/rules.mk +++ b/keyboards/ergodox_stm32/rules.mk @@ -7,7 +7,7 @@ BOARD = ST_NUCLEO64_F103RB CFLAGS += "-Wno-error=deprecated" EXTRAFLAGS = -O0 -g -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ergosaurus/config.h b/keyboards/ergosaurus/config.h index 551935413277..fd85e8790367 100644 --- a/keyboards/ergosaurus/config.h +++ b/keyboards/ergosaurus/config.h @@ -20,8 +20,8 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xBEEF -#define PRODUCT_ID 0xFEED +#define VENDOR_ID 0x434B +#define PRODUCT_ID 0xE590 #define DEVICE_VER 0x0001 #define MANUFACTURER reggalicious #define PRODUCT ergosaurus @@ -58,24 +58,24 @@ along with this program. If not, see . // #define BACKLIGHT_BREATHING // #define BACKLIGHT_LEVELS 3 -// #ifdef RGBLIGHT_ENABLE -// #define RGB_DI_PIN B6 -// #define RGBLED_NUM 16 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +#ifdef RGBLIGHT_ENABLE +# define RGB_DI_PIN B6 + #define RGBLED_NUM 32 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ // /*== all animations enable ==*/ // #define RGBLIGHT_ANIMATIONS // /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + #define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL // #define RGBLIGHT_EFFECT_SNAKE // #define RGBLIGHT_EFFECT_KNIGHT // #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT + #define RGBLIGHT_EFFECT_STATIC_GRADIENT // #define RGBLIGHT_EFFECT_RGB_TEST // #define RGBLIGHT_EFFECT_ALTERNATING // /*== customize breathing effect ==*/ @@ -84,7 +84,7 @@ along with this program. If not, see . // /*==== use exp() and sin() ====*/ // #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 // #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -// #endif + #endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -194,26 +194,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ergosaurus/keymaps/via/keymap.c b/keyboards/ergosaurus/keymaps/via/keymap.c new file mode 100644 index 000000000000..5ae73bfd4760 --- /dev/null +++ b/keyboards/ergosaurus/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2021 littleferris + * + * 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_alice_split_bs( + KC_GRV, 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_DEL, + 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_BSPC, + KC_PGDN, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LGUI, KC_LALT, KC_ENT, MO(2), KC_SPC, KC_RALT, KC_RCTL + ), + + [1] = LAYOUT_alice_split_bs( + _______, 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_UP, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT_alice_split_bs( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET + ), + + [3] = LAYOUT_alice_split_bs( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RESET + ) +}; diff --git a/keyboards/lazydesigners/bolt/via/rules.mk b/keyboards/ergosaurus/keymaps/via/rules.mk similarity index 100% rename from keyboards/lazydesigners/bolt/via/rules.mk rename to keyboards/ergosaurus/keymaps/via/rules.mk diff --git a/keyboards/ergosaurus/rules.mk b/keyboards/ergosaurus/rules.mk index 841c3fb6c4a3..13102cd4cd39 100644 --- a/keyboards/ergosaurus/rules.mk +++ b/keyboards/ergosaurus/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ergoslab/rev1/rev1.c b/keyboards/ergoslab/rev1/rev1.c index 0e3e0fe99636..115dab51e42e 100644 --- a/keyboards/ergoslab/rev1/rev1.c +++ b/keyboards/ergoslab/rev1/rev1.c @@ -2,7 +2,7 @@ #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}, {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}}, diff --git a/keyboards/ergoslab/rules.mk b/keyboards/ergoslab/rules.mk index f5ae8c51eef1..d0974627a278 100644 --- a/keyboards/ergoslab/rules.mk +++ b/keyboards/ergoslab/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/ergotaco/ergotaco.h b/keyboards/ergotaco/ergotaco.h index 6bc5ce36f896..5a0cd5e8fb1a 100644 --- a/keyboards/ergotaco/ergotaco.h +++ b/keyboards/ergotaco/ergotaco.h @@ -9,8 +9,6 @@ extern i2c_status_t mcp23018_status; #define ERGODOX_EZ_I2C_TIMEOUT 1000 -#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) -#define CPU_16MHz 0x00 // I2C aliases and register addresses (see "mcp23018.md") //#define I2C_ADDR 0b0100000 diff --git a/keyboards/ergotaco/keymaps/default/keymap.c b/keyboards/ergotaco/keymaps/default/keymap.c index be1267ef06c4..8de5ea6371eb 100644 --- a/keyboards/ergotaco/keymaps/default/keymap.c +++ b/keyboards/ergotaco/keymaps/default/keymap.c @@ -32,11 +32,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), */ - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { -}; - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { -}; diff --git a/keyboards/ergotaco/rules.mk b/keyboards/ergotaco/rules.mk index cd8ebc58f0df..9fe0992ffd58 100644 --- a/keyboards/ergotaco/rules.mk +++ b/keyboards/ergotaco/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu CUSTOM_MATRIX = yes diff --git a/keyboards/ergotravel/ergotravel.h b/keyboards/ergotravel/ergotravel.h index 7201db788dbe..314775495b51 100644 --- a/keyboards/ergotravel/ergotravel.h +++ b/keyboards/ergotravel/ergotravel.h @@ -5,18 +5,3 @@ #endif #include "quantum.h" - -// Used to create a keymap using only KC_ prefixed keys -#define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \ - L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \ - L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \ - L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \ - ) \ - LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##L06, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, KC_##R06, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##L16, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, KC_##R16, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##L26, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, KC_##R26, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \ - ) - diff --git a/keyboards/ergotravel/keymaps/ckofy/config.h b/keyboards/ergotravel/keymaps/ckofy/config.h deleted file mode 100644 index 7c99c093c984..000000000000 --- a/keyboards/ergotravel/keymaps/ckofy/config.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -Copyright 2017 Pierre Constantineau - -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 - -/* Use I2C or Serial, not both */ - -//#define USE_SERIAL -#define USE_I2C - -/* Select hand configuration */ - -//#define MASTER_LEFT -#define MASTER_RIGHT -//#define EE_HANDS - -#define TAPPING_TOGGLE 2 - -#undef RGBLED_NUM -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - diff --git a/keyboards/ergotravel/keymaps/ckofy/keymap.c b/keyboards/ergotravel/keymaps/ckofy/keymap.c deleted file mode 100644 index b9a2c140d875..000000000000 --- a/keyboards/ergotravel/keymaps/ckofy/keymap.c +++ /dev/null @@ -1,179 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define _COLEMAK 0 -#define _QWERTY 1 -#define _NUMPAD 2 -#define _LOWER 3 -#define _RAISE 4 -#define _ADJUST 16 - -enum custom_keycodes { - COLEMAK = SAFE_RANGE, - QWERTY, - NUMPAD, - LOWER, - RAISE, - ADJUST, -}; - - -#define KC_ KC_TRNS -#define KC_XXXX KC_NO - -#define KC_CMK COLEMAK -#define KC_QWE QWERTY -#define KC_LOWR LOWER -#define KC_RASE RAISE -#define KC_QRAS QRAISE -#define KC_ADJT ADJUST -#define KC_RST RESET -#define KC_BL_S BL_STEP -#define KC_DBUG DEBUG -#define KC_RTOG RGB_TOG -#define KC_RMOD RGB_MOD -#define KC_RHUI RGB_HUI -#define KC_RHUD RGB_HUD -#define KC_RSAI RGB_SAI -#define KC_RSAD RGB_SAD -#define KC_RVAI RGB_VAI -#define KC_RVAD RGB_VAD -//#define KC_CATDEL LCTL(LALT(KC_DEL)) // Ctrl alt del -#define KC_CPY LCTL(KC_C) -#define KC_PST LCTL(KC_V) -#define KC_SELA LCTL(KC_A) -#define KC_UDO LCTL(KC_Z) -#define KC_CUT LCTL(KC_X) -#define KC_SVE LCTL(KC_S) -#define KC_OSH OSM(MOD_LSFT) -#define KC_OCTL OSM(MOD_LCTL) -#define KC_NUMP TT(_NUMPAD) -#define KC_SHESC MT(MOD_LSFT,KC_ESC) -#define KC_SHENT MT(MOD_RSFT,KC_ENT) -//#define KC_NUMP TG(_NUMPAD) // Toggle layer NUMPAD for use in KC_keymaps -//#define KC_RST RESET - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// Colemak Mod-DH is used. https://colemakmods.github.io/mod-dh/ - [_COLEMAK] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - TAB , Q , W , F , P , B ,LPRN, RPRN, J , L , U , Y ,SCLN,BSPC, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - BSPC, A , R , S , T , G ,EQL , MINS, K , N , E , I , O ,QUOT, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - SHESC, Z , X , C , D , V ,NUMP, ENT, M , H ,COMM,DOT ,SLSH,SHENT, - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - OCTL,LALT,LGUI,DEL ,LOWR, SPC, OSH, RASE,LEFT,RIGHT,RALT,RCTL - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_QWERTY] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - ESC , Q , W , E , R , T ,LBRC, RBRC, Y , U , I , O , P ,BSPC, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - TAB , A , S , D , F , G ,LPRN, RPRN, H , J , K , L ,SCLN,QUOT, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - LSFT, Z , X , C , V , B , , , N , M ,COMM,DOT ,SLSH,ENT , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - LCTL,LGUI,LALT,DEL , , SPC, SPC , ,LEFT,DOWN, UP ,RIGHT - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_NUMPAD] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - , , , , , , , ,ASTR, P7 , P8 , P9 ,SLSH, , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , ,PIPE, P4 , P5 , P6 ,MINS, , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , ,COMM, P1 , P2 , P3 ,PLUS, , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , , P0 ,NLCK, , , - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_LOWER] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - ,XXXX,XXXX,XXXX,XXXX,CAPS, , ,PGUP,HOME, UP ,END ,DEL , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - ,SELA,LALT,LSFT,LCTL,SVE , , ,PGDN,LEFT,DOWN,RGHT,BSPC,INS , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - ,UDO ,CUT ,CPY ,PST ,XXXX, , ,XXXX,XXXX,COMM,DOT ,SLSH, , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , , , , , , - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_RAISE] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - ,AMPR,PERC,HASH,EXLM,LPRN, , ,ASTR,RPRN, AT ,DLR ,CIRC,BSPC, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , 7 , 5 , 3 , 1 , 9 ,LBRC, RBRC, 8 , 0 , 2 , 4 , 6 ,BSLS, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , GRV,TILD,XXXX,EQL ,PLUS, , ,UNDS,MINS,COMM,DOT ,SLSH,ENT , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , , , , , , - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - - [_ADJUST] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - , F1 , F2 , F3 , F4 , F5 , F6, F7, F8, F9 ,F10 , F11, F12,BSPC, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , , , CMK,QWE , , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , , , , , , , , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , , , ,VOLD,VOLU,MUTE - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ) - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - - } - return false; - break; - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/ergotravel/keymaps/jpconstantineau/config.h b/keyboards/ergotravel/keymaps/jpconstantineau/config.h deleted file mode 100644 index eeca26ce1dbb..000000000000 --- a/keyboards/ergotravel/keymaps/jpconstantineau/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2017 Pierre Constantineau - -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 - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#undef RGBLED_NUM -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 12 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 - - diff --git a/keyboards/ergotravel/keymaps/jpconstantineau/keymap.c b/keyboards/ergotravel/keymaps/jpconstantineau/keymap.c deleted file mode 100644 index 764b2b18c771..000000000000 --- a/keyboards/ergotravel/keymaps/jpconstantineau/keymap.c +++ /dev/null @@ -1,128 +0,0 @@ -#include QMK_KEYBOARD_H - -extern keymap_config_t keymap_config; - -#define _QWERTY 0 -#define _LOWER 1 -#define _RAISE 2 -#define _ADJUST 16 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - LOWER, - RAISE, - ADJUST, -}; - -#define KC_ KC_TRNS - -#define KC_LOWR LOWER -#define KC_RASE RAISE -#define KC_ADJT ADJUST -#define KC_RST RESET -#define KC_BL_S BL_STEP -#define KC_DBUG DEBUG -#define KC_RTOG RGB_TOG -#define KC_RMOD RGB_MOD -#define KC_RHUI RGB_HUI -#define KC_RHUD RGB_HUD -#define KC_RSAI RGB_SAI -#define KC_RSAD RGB_SAD -#define KC_RVAI RGB_VAI -#define KC_RVAD RGB_VAD - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - ESC , Q , W , E , R , T ,LBRC, RBRC, Y , U , I , O , P ,BSPC, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - TAB , A , S , D , F , G , A, A, H , J , K , L ,SCLN,QUOT, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - LSFT, Z , X , C , V , B , A, SPC, N , M ,COMM,DOT ,SLSH,ENT , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - LCTL,LGUI,LALT,ADJT,LOWR,SPC, SPC, RASE,LEFT, UP ,DOWN,RIGHT - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_LOWER] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - GRAVE, 1 , 2 , 3 , 4 , 5 , A, B, 6 , 7 , 8 , 9 , 0 ,DEL, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - TAB , F1 , F2 , F3 , F4 , F5 , F6 , D, Y ,MINS, EQL,LBRC,RBRC,BSLS, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - LSFT, F7 , F8 , F9 , F10, F11, F12, SPC, N , M ,COMM,DOT ,SLSH,ENT , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - LCTL,LGUI,LALT,ADJT,LOWR,SPC, SPC, RASE,LEFT, UP ,DOWN,RIGHT - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_RAISE] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - ESC , 1 , 2 , 3 , 4 , 5 , A, B, 6 , 7 , 8 , 9 , 0 ,BSPC, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - TAB , Q , W , E , R , T , C , D, Y , U , I , O , P ,DEL , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - LSFT, Z , X , C , V , B , A, SPC, N , M ,COMM,DOT ,SLSH,ENT , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - LCTL,LGUI,LALT,ADJT,LOWR,SPC, SPC, RASE,LEFT, UP ,DOWN,RIGHT - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_ADJUST] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - ESC , F1 , F2 , F3 , F4 , F5 , F6, F7, F8, F9 ,F10 , F11, F12,BSPC, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - TAB , Q , W , E , R , T , C , D, Y , U , I , O , P ,DEL , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - LSFT, Z , X , C , V , B , A, SPC, N , M ,COMM,DOT ,SLSH,ENT , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - LCTL,LGUI,LALT,ADJT,LOWR,SPC, SPC, RASE,LEFT, UP ,DOWN,RIGHT - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ) - -}; - - - - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - } - return false; - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - } - return true; -} diff --git a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 000000000000..087fa5852e90 --- /dev/null +++ b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,22 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 XXX KC_NO + +#define LAYOUT_miryoku( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT( \ +XXX, K00, K01, K02, K03, K04, XXX, XXX, K05, K06, K07, K08, K09, XXX, \ +XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX, \ +XXX, K20, K21, K22, K23, K24, XXX, XXX, K25, K26, K27, K28, K29, XXX, \ +XXX, XXX, XXX, K32, K33, K34, K35, K36, K37, XXX, XXX, XXX \ +) diff --git a/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 000000000000..1520387e8887 --- /dev/null +++ b/keyboards/ergotravel/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,5 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 . diff --git a/keyboards/ergotravel/keymaps/rs/keymap.c b/keyboards/ergotravel/keymaps/rs/keymap.c index 0cf1cb362276..f8c6de56bc7f 100644 --- a/keyboards/ergotravel/keymaps/rs/keymap.c +++ b/keyboards/ergotravel/keymaps/rs/keymap.c @@ -2,37 +2,37 @@ #include "rs.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_kc( + [_QWERTY] = LAYOUT( //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - TAB , Q , W , E , R , T , GRV, BSLS, Y , U , I , O , P ,EQL , + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_GRV, KC_BSLS, KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_EQL , //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - ESCC, A , S , D , F , G ,PIPE, MINS, H , J , K , L ,SCLN,QUOT, + KC_ESCC, KC_A , KC_S , KC_D , KC_F , KC_G ,KC_PIPE, KC_MINS, KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - LSFT, Z , X , C , V , B , SPC, BSPC, N , M ,COMM,DOT ,SLSH,ENTS, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_SPC, KC_BSPC, KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_ENTS, //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - FN , ,LCTL,LALT,LGUI, SPC, BSPC, CODE,LEFT, UP ,DOWN,RIGHT + KC_FN ,_______,KC_LCTL,KC_LALT,KC_LGUI, KC_SPC, KC_BSPC, KC_CODE,KC_LEFT, KC_UP ,KC_DOWN,KC_RIGHT //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' ), - [_CODE] = LAYOUT_kc( + [_CODE] = LAYOUT( //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - GRV ,EXLM, AT ,HASH, DLR,PERC, , ,CIRC,LPLT,ASTR,RPGT,NEQL, , + KC_GRV ,KC_EXLM, KC_AT ,KC_HASH, KC_DLR,KC_PERC,_______, _______,KC_CIRC,KC_LPLT,KC_ASTR,KC_RPGT,KC_NEQL,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , 1 , 2 , 3 , 4 , 5 , , ,MINS,LBRC, UP ,RBRC, ,BSLS, + _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 ,_______, _______,KC_MINS,KC_LBRC, KC_UP ,KC_RBRC,_______,KC_BSLS, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , 6 , 7 , 8 , 9 , 0 , DOT, ,AMPR,LEFT,DOWN,RGHT, ,PIPE, + _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DOT, _______,KC_AMPR,KC_LEFT,KC_DOWN,KC_RGHT,_______,KC_PIPE, //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , , , , , , + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______ //`----+----+----+----+----/----/ \----\----+----+----+----+----' ), - [_FN] = LAYOUT_kc( + [_FN] = LAYOUT( //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - , F1 , F2 , F3 , F4 , F5 , , , F6 , F7 , F8 , F9 , F10,F11 , + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 ,_______, _______, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10,KC_F11 , //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , ,BRMU, , , ,PGUP, , , , + _______,_______,_______,_______,_______,_______,KC_BRMU, _______,_______,_______,KC_PGUP,_______,_______,_______, //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , RST,BRMD, VOLU, ,CTRA,PGDN,CTRE, , , + _______,_______,_______,_______,_______, KC_RST,KC_BRMD, KC_VOLU,_______,KC_CTRA,KC_PGDN,KC_CTRE,_______,_______, //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , VOLD,MUTE, , , , + _______,_______,_______,_______,_______,_______, KC_VOLD,KC_MUTE,_______,_______,_______,_______ //`----+----+----+----+----/----/ \----\----+----+----+----+----' ), -}; \ No newline at end of file +}; diff --git a/keyboards/ergotravel/keymaps/viet/config.h b/keyboards/ergotravel/keymaps/viet/config.h deleted file mode 100644 index 1c6c400b4505..000000000000 --- a/keyboards/ergotravel/keymaps/viet/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2017 Pierre Constantineau - -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 - -/* Use I2C or Serial, not both */ - -#define USE_SERIAL -// #define USE_I2C - -/* Select hand configuration */ - -//#define MASTER_LEFT -#define MASTER_RIGHT -// #define EE_HANDS - -#undef RGBLED_NUM -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 26 -#define RGBLIGHT_HUE_STEP 20 -#define RGBLIGHT_SAT_STEP 20 -#define RGBLIGHT_VAL_STEP 20 -#define RGBLIGHT_LIMIT_VAL 220 - diff --git a/keyboards/ergotravel/keymaps/viet/keymap.c b/keyboards/ergotravel/keymaps/viet/keymap.c deleted file mode 100644 index dd7fffcc69e0..000000000000 --- a/keyboards/ergotravel/keymaps/viet/keymap.c +++ /dev/null @@ -1,326 +0,0 @@ -#include "ergotravel.h" -#include "action_layer.h" -#include "eeconfig.h" -#include "mousekey.h" -#include "process_unicode.h" -extern keymap_config_t keymap_config; - -#define _QWERTY 0 -#define _NUMBERS 1 -#define _SYMBOLS 2 -#define _CODING 3 -#define _NAVIGATION 4 -#define _ADJUST 16 - -enum custom_keycodes { - QWERTY = SAFE_RANGE, - ADJUST, - CODING_SPACE, - NUMBERS_SPACE, - SYMBOLS_SPACE, - NAVIGATE_SPACE, - TABLE_FLIP, - RESET_TABLE, - SHRUG, - LOOK_OF_DISAPPROVAL -}; - -#define KC_ KC_TRNS - -#define KC_ADJT MO(_ADJUST) -#define KC_RST RESET -#define KC_BL_S BL_STEP -#define KC_DBUG DEBUG -#define KC_RTOG RGB_TOG -#define KC_RMOD RGB_MOD -#define KC_RHUI RGB_HUI -#define KC_RHUD RGB_HUD -#define KC_RSAI RGB_SAI -#define KC_RSAD RGB_SAD -#define KC_RVAI RGB_VAI -#define KC_RVAD RGB_VAD - -#define KC_RSEN MT(MOD_RSFT, KC_ENT) // Tap for enter, hold for right shift - -#define KC_LCCA MT(MOD_LCTL, KC_CAPS) // Tap for caps lock, hold for left control -#define KC_SHDE MT(MOD_LSFT, KC_DEL) // Tap for delete, hold for left shift - -#define KC_NAVI MO(_NAVIGATION) - -#define KC_COSP CODING_SPACE -#define KC_NUSP NUMBERS_SPACE -#define KC_SYSP SYMBOLS_SPACE -#define KC_NASP NAVIGATE_SPACE - -#define KC_FLIP TABLE_FLIP -#define KC_TSET RESET_TABLE -#define KC_SRUG SHRUG -#define KC_DISA LOOK_OF_DISAPPROVAL -#define KC_RST RESET - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - TAB , Q , W , E , R , T ,HOME, PGUP, Y , U , I , O , P ,BSPC, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - LCCA, A , S , D , F , G ,END , PGDN, H , J , K , L ,SCLN,QUOT, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - SHDE, Z , X , C , V , B ,LGUI, RALT, N , M ,COMM,DOT ,SLSH,RSEN, - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - ESC ,ADJT,LALT,ENT ,NUSP,NASP, SYSP,COSP,RCTL,NAVI,ADJT,DEL - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_NUMBERS] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - GRAVE, 1 , 2 , 3 , 4 , 5 ,MPLY, VOLU, 6 , 7 , 8 , 9 , 0 , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , ,MNXT, VOLD,FLIP,TSET,SRUG,DISA, , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , , , , , , , , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , , , , , , - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_SYMBOLS] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - GRAVE,EXLM, AT ,HASH,DLR ,PERC,MPLY, VOLU,CIRC,AMPR,ASTR,LPRN,RPRN,BSLS, - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , ,MNXT, VOLD, , , , , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , , , , , , , , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , , , , , , - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_CODING] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - , , ,LCBR,RCBR, ,MPLY, VOLU, ,AMPR,PIPE,DLR , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , ,LPRN,RPRN, ,MNXT, VOLD, ,UNDS,MINS,ASTR, , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , ,LBRC,RBRC, , , , ,PLUS,EQL , , , , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , , , , , , - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_NAVIGATION] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - , , , UP , , ,MPLY, VOLU,WH_U,BTN1,MS_U,BTN1, , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , ,LEFT,DOWN,RGHT, ,MNXT, VOLD,WH_D,MS_L,MS_D,MS_R, , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - , , , , , , , , , , , , , , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , , , , , , - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ), - - [_ADJUST] = LAYOUT_kc( - //,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----. - F1 ,F2 ,F3 ,F4 ,F5 ,F6 , , ,F7 ,F8 ,F9 ,F10 ,F11 ,F12 , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - ,RTOG,RVAI,RHUI,RSAI, , , , , , , , , , - //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| - ,RMOD,RVAD,RHUD,RSAD, , , ,RST , , , , , , - //|----+----+----+----+----+----+----. .----+----+----+----+----+----+----| - , , , , , , , , , , , - //`----+----+----+--+-+----/----/ \----\----+----+----+----+----' - ) - -}; - - -#ifdef AUDIO_ENABLE -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -#endif - -void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -uint16_t custom_lt_timer; -keypos_t prv_key_pressed; -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { -// set_unicode_input_mode(UC_LNX); // Linux - set_unicode_input_mode(UC_OSX); // Mac OSX -// set_unicode_input_mode(UC_WIN); // Windows (with registry key, see wiki) - //set_unicode_input_mode(UC_WINC); // Windows (with WinCompose, see wiki) -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - if(record->event.pressed) prv_key_pressed = record->event.key; - #define IS_KEYPOS_SAME(keyone,keytwo) ((keyone.col==keytwo.col)&&(keyone.row==keytwo.row)) - #define ANOTHER_KEY_PRESSED (!IS_KEYPOS_SAME(prv_key_pressed, record->event.key)) - - inline void tap(uint16_t keycode) { - register_code(keycode); - unregister_code(keycode); - }; - - inline void swapInput(void) { - register_code(KC_LGUI); - tap(KC_SPC); - unregister_code(KC_LGUI); - }; - - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_qwerty); - #endif - persistent_default_layer_set(1UL<<_QWERTY); - } - return false; - break; - case CODING_SPACE: - if (record->event.pressed) { - custom_lt_timer = timer_read(); - layer_on(_CODING); - } else { - layer_off(_CODING); - if (timer_elapsed(custom_lt_timer)<150 && (!ANOTHER_KEY_PRESSED)) { - register_code(KC_SPC); - unregister_code(KC_SPC); - } - } - return false; - break; - case NUMBERS_SPACE: - if (record->event.pressed) { - custom_lt_timer = timer_read(); - layer_on(_NUMBERS); - } else { - layer_off(_NUMBERS); - if (timer_elapsed(custom_lt_timer)<150 && (!ANOTHER_KEY_PRESSED)) { - register_code(KC_SPC); - unregister_code(KC_SPC); - } - } - return false; - break; - case SYMBOLS_SPACE: - if (record->event.pressed) { - custom_lt_timer = timer_read(); - layer_on(_SYMBOLS); - } else { - layer_off(_SYMBOLS); - if (timer_elapsed(custom_lt_timer)<150 && (!ANOTHER_KEY_PRESSED)) { - register_code(KC_SPC); - unregister_code(KC_SPC); - } - } - return false; - break; - case NAVIGATE_SPACE: - if (record->event.pressed) { - custom_lt_timer = timer_read(); - layer_on(_NAVIGATION); - } else { - layer_off(_NAVIGATION); - if (timer_elapsed(custom_lt_timer)<150 && (!ANOTHER_KEY_PRESSED)) { - register_code(KC_SPC); - unregister_code(KC_SPC); - } - } - return false; - break; - case TABLE_FLIP: - if (record->event.pressed) { - swapInput(); - - register_code(KC_RSFT); - tap(KC_9); - unregister_code(KC_RSFT); - process_unicode((0x256F|QK_UNICODE), record); // Arm - process_unicode((0x00B0|QK_UNICODE), record); // Eye - process_unicode((0x25A1|QK_UNICODE), record); // Mouth - process_unicode((0x00B0|QK_UNICODE), record); // Eye - register_code(KC_RSFT); - tap(KC_0); - unregister_code(KC_RSFT); - process_unicode((0x256F|QK_UNICODE), record); // Arm - tap(KC_SPC); - process_unicode((0x0361|QK_UNICODE), record); // Flippy - tap(KC_SPC); - process_unicode((0x253B|QK_UNICODE), record); // Table - process_unicode((0x2501|QK_UNICODE), record); // Table - process_unicode((0x253B|QK_UNICODE), record); // Table - - swapInput(); - } - return false; - break; - case RESET_TABLE: // ┬──┬ ノ( ゜-゜ノ) - if (record->event.pressed) { - swapInput(); - - process_unicode((0x252C|QK_UNICODE), record); // Table - process_unicode((0x2500|QK_UNICODE), record); // Table - process_unicode((0x2500|QK_UNICODE), record); // Table - process_unicode((0x252C|QK_UNICODE), record); // Table - tap(KC_SPC); - process_unicode((0x30CE|QK_UNICODE), record); // Arm - register_code(KC_RSFT); - tap(KC_9); - unregister_code(KC_RSFT); - tap(KC_SPC); - process_unicode((0x309C|QK_UNICODE), record); // Eye - tap(KC_MINS); - process_unicode((0x309C|QK_UNICODE), record); // Eye - process_unicode((0x30CE|QK_UNICODE), record); // Arm - register_code(KC_RSFT); - tap(KC_0); - unregister_code(KC_RSFT); - - swapInput(); - } - return false; - break; - case SHRUG: // ¯\_(ツ)_/¯ - if (record->event.pressed) { - swapInput(); - - process_unicode((0x00AF|QK_UNICODE), record); // Hand - tap(KC_BSLS); // Arm - register_code(KC_RSFT); - tap(KC_UNDS); // Arm - tap(KC_LPRN); // Head - unregister_code(KC_RSFT); - process_unicode((0x30C4|QK_UNICODE), record); // Face - register_code(KC_RSFT); - tap(KC_RPRN); // Head - tap(KC_UNDS); // Arm - unregister_code(KC_RSFT); - tap(KC_SLSH); // Arm - process_unicode((0x00AF|QK_UNICODE), record); // Hand - - swapInput(); - } - return false; - break; - case LOOK_OF_DISAPPROVAL: // ಠ_ಠ - if(record->event.pressed){ - swapInput(); - - process_unicode((0x0CA0|QK_UNICODE), record); // Eye - register_code(KC_RSFT); - tap(KC_MINS); - unregister_code(KC_RSFT); - process_unicode((0x0CA0|QK_UNICODE), record); // Eye - - swapInput(); - } - return false; - break; - } - return true; -} diff --git a/keyboards/ergotravel/keymaps/viet/rules.mk b/keyboards/ergotravel/keymaps/viet/rules.mk deleted file mode 100644 index 24963d46b686..000000000000 --- a/keyboards/ergotravel/keymaps/viet/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -RGBLIGHT_ENABLE = yes -BACKLIGHT_ENABLE = no -UNICODE_ENABLE = yes - diff --git a/keyboards/ergotravel/keymaps/yanfali/rules.mk b/keyboards/ergotravel/keymaps/yanfali/rules.mk index 2964d73ab8a3..16409396a13b 100644 --- a/keyboards/ergotravel/keymaps/yanfali/rules.mk +++ b/keyboards/ergotravel/keymaps/yanfali/rules.mk @@ -1,6 +1,6 @@ BOOTLOADER = qmk-dfu -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. diff --git a/keyboards/ergotravel/rev1/rev1.c b/keyboards/ergotravel/rev1/rev1.c index 609c479eb378..520a869e57ba 100644 --- a/keyboards/ergotravel/rev1/rev1.c +++ b/keyboards/ergotravel/rev1/rev1.c @@ -1,22 +1 @@ #include "rev1.h" - - -#ifdef SSD1306OLED -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} -#endif - -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; diff --git a/keyboards/ergotravel/rules.mk b/keyboards/ergotravel/rules.mk index ab0ae83c14f7..a89e8d95c29a 100644 --- a/keyboards/ergotravel/rules.mk +++ b/keyboards/ergotravel/rules.mk @@ -2,14 +2,13 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/ericrlau/numdiscipline/rev1/config.h b/keyboards/ericrlau/numdiscipline/rev1/config.h index 71169683a87d..ea4c16b8bf57 100644 --- a/keyboards/ericrlau/numdiscipline/rev1/config.h +++ b/keyboards/ericrlau/numdiscipline/rev1/config.h @@ -191,26 +191,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ericrlau/numdiscipline/rev1/rules.mk b/keyboards/ericrlau/numdiscipline/rev1/rules.mk index 03063dec2f2c..b8c7171cbbd8 100644 --- a/keyboards/ericrlau/numdiscipline/rev1/rules.mk +++ b/keyboards/ericrlau/numdiscipline/rev1/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32a F_CPU = 16000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -28,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/esca/getawayvan/chconf.h b/keyboards/esca/getawayvan/chconf.h new file mode 100644 index 000000000000..0a31d366f909 --- /dev/null +++ b/keyboards/esca/getawayvan/chconf.h @@ -0,0 +1,61 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/esca/getawayvan/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_USE_REGISTRY TRUE + +#define CH_CFG_USE_WAITEXIT TRUE + +#define CH_CFG_USE_CONDVARS TRUE + +#define CH_CFG_USE_MESSAGES TRUE + +#define CH_CFG_USE_MAILBOXES TRUE + +#define CH_CFG_USE_HEAP TRUE + +#define CH_CFG_USE_MEMPOOLS TRUE + +#define CH_CFG_USE_OBJ_FIFOS TRUE + +#define CH_CFG_USE_PIPES TRUE + +#define CH_CFG_USE_DYNAMIC TRUE + +#define CH_CFG_USE_FACTORY TRUE + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE + +#define CH_CFG_FACTORY_SEMAPHORES TRUE + +#define CH_CFG_FACTORY_MAILBOXES TRUE + +#define CH_CFG_FACTORY_OBJ_FIFOS TRUE + +#define CH_CFG_FACTORY_PIPES TRUE + +#include_next + diff --git a/keyboards/esca/getawayvan/config.h b/keyboards/esca/getawayvan/config.h new file mode 100644 index 000000000000..3b718c583596 --- /dev/null +++ b/keyboards/esca/getawayvan/config.h @@ -0,0 +1,77 @@ +/* +Copyright 2015 Jun Wako + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xE5CA +#define PRODUCT_ID 0x0401 +#define DEVICE_VER 0x0001 +#define MANUFACTURER esca +#define PRODUCT GetawayVan + + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +#define MATRIX_COL_PINS { B11, B10, B2, B1, B0, A7, A6, A4, A13, A10, C13, C14 } +#define MATRIX_ROW_PINS { A9, A8, A3, A5 } +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_LEVELS 6 + +#define GRAVE_ESC_CTRL_OVERRIDE + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +//#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +//#define LOCKING_RESYNC_ENABLE + +#define RGBLIGHT_ANIMATIONS +#define RGB_DI_PIN B15 +#define RGBLED_NUM 51 +#define RGBLIGHT_HUE_STEP 20 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 +#define RGBLIGHT_LIMIT_VAL 128 + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG` + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/esca/getawayvan/getawayvan.c b/keyboards/esca/getawayvan/getawayvan.c new file mode 100644 index 000000000000..ecd2bcf48770 --- /dev/null +++ b/keyboards/esca/getawayvan/getawayvan.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Enrique Cabrera + * + * 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 "getawayvan.h" diff --git a/keyboards/esca/getawayvan/getawayvan.h b/keyboards/esca/getawayvan/getawayvan.h new file mode 100644 index 000000000000..30d67697fafe --- /dev/null +++ b/keyboards/esca/getawayvan/getawayvan.h @@ -0,0 +1,33 @@ +/* Copyright 2021 Enrique Cabrera + * + * 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 "quantum.h" + +#define KNO KC_NO + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \ + K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \ + K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \ + K36, K37, K38, K39, K40, K41, K42, K43, K45 \ +){ \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \ + {K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \ + {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \ + {K36, K37, K38, KNO, K39, KNO, K40, KNO, K41, K42, K43, K45} \ +} diff --git a/keyboards/esca/getawayvan/halconf.h b/keyboards/esca/getawayvan/halconf.h new file mode 100644 index 000000000000..8e768a63c139 --- /dev/null +++ b/keyboards/esca/getawayvan/halconf.h @@ -0,0 +1,37 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/esca/getawayvan/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_SERIAL_USB TRUE + +#define ADC_USE_WAIT FALSE + +#define ADC_USE_MUTUAL_EXCLUSION FALSE + +#define SERIAL_USB_BUFFERS_SIZE 256 + +#define SPI_USE_WAIT FALSE + +#define SPI_USE_MUTUAL_EXCLUSION FALSE + +#include_next + diff --git a/keyboards/esca/getawayvan/info.json b/keyboards/esca/getawayvan/info.json new file mode 100644 index 000000000000..3e2d186b013b --- /dev/null +++ b/keyboards/esca/getawayvan/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "GetawayVan", + "url": "", + "maintainer": "esca", + "width": 12.75, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [{"label":"esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"NoNo Key", "x":11, "y":0, "w":1.75}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":"\"", "x":10.25, "y":1}, {"label":"Enter", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"x":10.75, "y":2}, {"label":"Shift", "x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Win", "x":1, "y":3, "w":1.25}, {"label":"Alt", "x":2.25, "y":3}, {"label":"", "x":3.25, "y":3, "w":2.75}, {"label":"", "x":6, "y":3, "w":2.25}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}] + } + } +} \ No newline at end of file diff --git a/keyboards/esca/getawayvan/keymaps/7u/keymap.c b/keyboards/esca/getawayvan/keymaps/7u/keymap.c new file mode 100644 index 000000000000..c837b1d4af6d --- /dev/null +++ b/keyboards/esca/getawayvan/keymaps/7u/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2021 Enrique Cabrera + * + * 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( /* Qwerty */ + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, LT(3, KC_ENT), + KC_LSFT, ALT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_NO, KC_RSFT, + KC_LCTL, KC_LGUI, KC_NO, KC_NO, LT(1, KC_SPC), KC_NO, MO(2), KC_NO, KC_LALT + ), + [1] = LAYOUT( /* LAYER 2 */ + KC_GRV, 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_MINS, KC_EQL, KC_BSLS, KC_TRNS, KC_TRNS, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PIPE, KC_LBRC, KC_RBRC, KC_SLSH, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( /* LAYER 1 */ + KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MPLY, + KC_TRNS, KC_UNDS, KC_PLUS, KC_PIPE, KC_TRNS, KC_TRNS, KC_VOLU, KC_MPRV, KC_VOLD, KC_MNXT, KC_COLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_QUES, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( /* LAYER 3 */ + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/esca/getawayvan/keymaps/default/keymap.c b/keyboards/esca/getawayvan/keymaps/default/keymap.c new file mode 100644 index 000000000000..98c10322ef2d --- /dev/null +++ b/keyboards/esca/getawayvan/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2021 Enrique Cabrera + * + * 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( /* Qwerty */ + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, LT(3, KC_ENT), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, LT(2, KC_SPC), LT(1, KC_SPC), MO(2), KC_LEFT, KC_DOWN, KC_RIGHT + ), + [1] = LAYOUT( /* LAYER 2 */ + KC_GRV, 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_MINS, KC_EQL, KC_BSLS, KC_TRNS, KC_TRNS, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SLSH, KC_PGUP, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), + [2] = LAYOUT( /* LAYER 1 */ + KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MPLY, + KC_TRNS, KC_UNDS, KC_PLUS, KC_PIPE, KC_TRNS, KC_TRNS, KC_VOLU, KC_MPRV, KC_VOLD, KC_MNXT, KC_COLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_QUES, KC_VOLU, KC_PIPE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ), + [3] = LAYOUT( /* LAYER 3 */ + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/esca/getawayvan/keymaps/via/keymap.c b/keyboards/esca/getawayvan/keymaps/via/keymap.c new file mode 100644 index 000000000000..8cc90b2299e0 --- /dev/null +++ b/keyboards/esca/getawayvan/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2021 Enrique Cabrera + * + * 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( /* Qwerty */ + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, LT(3, KC_ENT), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, LT(2, KC_SPC), LT(1, KC_SPC), MO(2), KC_LEFT, KC_DOWN, KC_RIGHT + ), + [1] = LAYOUT( /* LAYER 2 */ + KC_GRV, 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_MINS, KC_EQL, KC_BSLS, KC_TRNS, KC_TRNS, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SLSH, KC_PGUP, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), + [2] = LAYOUT( /* LAYER 1 */ + KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MPLY, + KC_TRNS, KC_UNDS, KC_PLUS, KC_PIPE, KC_TRNS, KC_TRNS, KC_VOLU, KC_MPRV, KC_VOLD, KC_MNXT, KC_COLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_QUES, KC_VOLU, KC_PIPE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ), + [3] = LAYOUT( /* LAYER 3 */ + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/esca/getawayvan/keymaps/via/rules.mk b/keyboards/esca/getawayvan/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/esca/getawayvan/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/esca/getawayvan/readme.md b/keyboards/esca/getawayvan/readme.md new file mode 100644 index 000000000000..4c0a23384b97 --- /dev/null +++ b/keyboards/esca/getawayvan/readme.md @@ -0,0 +1,12 @@ +# GetawayVan + +GetawayVan Keyboard + +* Keyboard Maintainer: [esca](https://github.com/esca47) +* Hardware Supported: STM32F072C8T6/(STM32F042C6T6 in getawayvan_f042) + +Make example for this keyboard (after setting up your build environment): + + make esca/getawayvan: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). diff --git a/keyboards/esca/getawayvan/rules.mk b/keyboards/esca/getawayvan/rules.mk new file mode 100644 index 000000000000..36439f1ae477 --- /dev/null +++ b/keyboards/esca/getawayvan/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes diff --git a/keyboards/esca/getawayvan_f042/chconf.h b/keyboards/esca/getawayvan_f042/chconf.h new file mode 100644 index 000000000000..14b19f08d8fb --- /dev/null +++ b/keyboards/esca/getawayvan_f042/chconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/vinta/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#include_next + diff --git a/keyboards/esca/getawayvan_f042/config.h b/keyboards/esca/getawayvan_f042/config.h new file mode 100644 index 000000000000..8921e9db4d16 --- /dev/null +++ b/keyboards/esca/getawayvan_f042/config.h @@ -0,0 +1,76 @@ +/* +Copyright 2015 Jun Wako + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xE5CA +#define PRODUCT_ID 0x0401 +#define DEVICE_VER 0x0001 +#define MANUFACTURER esca +#define PRODUCT GetawayVan + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +#define MATRIX_COL_PINS { B11, B10, B2, B1, B0, A7, A6, A4, A13, A10, C13, C14 } +#define MATRIX_ROW_PINS { A9, A8, A3, A5 } +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_LEVELS 6 + +#define GRAVE_ESC_CTRL_OVERRIDE + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +//#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +//#define LOCKING_RESYNC_ENABLE + +#define RGBLIGHT_ANIMATIONS +#define RGB_DI_PIN B15 +#define RGBLED_NUM 51 +#define RGBLIGHT_HUE_STEP 20 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 +#define RGBLIGHT_LIMIT_VAL 128 + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG` + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/esca/getawayvan_f042/getawayvan_f042.c b/keyboards/esca/getawayvan_f042/getawayvan_f042.c new file mode 100644 index 000000000000..6ee36ae43229 --- /dev/null +++ b/keyboards/esca/getawayvan_f042/getawayvan_f042.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Enrique Cabrer + * + * 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 "getawayvan_f042.h" diff --git a/keyboards/esca/getawayvan_f042/getawayvan_f042.h b/keyboards/esca/getawayvan_f042/getawayvan_f042.h new file mode 100644 index 000000000000..2e3a4d2dc1fd --- /dev/null +++ b/keyboards/esca/getawayvan_f042/getawayvan_f042.h @@ -0,0 +1,33 @@ + /* Copyright 2021 Enrique Cabrera + * + * 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 "quantum.h" + +#define KNO KC_NO + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \ + K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \ + K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \ + K36, K37, K38, K39, K40, K41, K42, K43, K45 \ +){ \ + {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \ + {K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \ + {K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \ + {K36, K37, K38, KNO, K39, KNO, K40, KNO, K41, K42, K43, K45} \ +} diff --git a/keyboards/esca/getawayvan_f042/halconf.h b/keyboards/esca/getawayvan_f042/halconf.h new file mode 100644 index 000000000000..66ed246c5d4b --- /dev/null +++ b/keyboards/esca/getawayvan_f042/halconf.h @@ -0,0 +1,37 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/vinta/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_SERIAL_USB TRUE + +#define ADC_USE_WAIT FALSE + +#define ADC_USE_MUTUAL_EXCLUSION FALSE + +#define SERIAL_USB_BUFFERS_SIZE 256 + +#define SPI_USE_WAIT FALSE + +#define SPI_USE_MUTUAL_EXCLUSION FALSE + +#include_next + diff --git a/keyboards/esca/getawayvan_f042/info.json b/keyboards/esca/getawayvan_f042/info.json new file mode 100644 index 000000000000..3e2d186b013b --- /dev/null +++ b/keyboards/esca/getawayvan_f042/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "GetawayVan", + "url": "", + "maintainer": "esca", + "width": 12.75, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [{"label":"esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"NoNo Key", "x":11, "y":0, "w":1.75}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":"\"", "x":10.25, "y":1}, {"label":"Enter", "x":11.25, "y":1, "w":1.5}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"x":10.75, "y":2}, {"label":"Shift", "x":11.75, "y":2}, {"label":"Ctrl", "x":0, "y":3}, {"label":"Win", "x":1, "y":3, "w":1.25}, {"label":"Alt", "x":2.25, "y":3}, {"label":"", "x":3.25, "y":3, "w":2.75}, {"label":"", "x":6, "y":3, "w":2.25}, {"label":"Alt", "x":8.25, "y":3, "w":1.25}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}] + } + } +} \ No newline at end of file diff --git a/keyboards/esca/getawayvan_f042/keymaps/7u/keymap.c b/keyboards/esca/getawayvan_f042/keymaps/7u/keymap.c new file mode 100644 index 000000000000..c837b1d4af6d --- /dev/null +++ b/keyboards/esca/getawayvan_f042/keymaps/7u/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2021 Enrique Cabrera + * + * 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( /* Qwerty */ + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, LT(3, KC_ENT), + KC_LSFT, ALT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_NO, KC_RSFT, + KC_LCTL, KC_LGUI, KC_NO, KC_NO, LT(1, KC_SPC), KC_NO, MO(2), KC_NO, KC_LALT + ), + [1] = LAYOUT( /* LAYER 2 */ + KC_GRV, 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_MINS, KC_EQL, KC_BSLS, KC_TRNS, KC_TRNS, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PIPE, KC_LBRC, KC_RBRC, KC_SLSH, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( /* LAYER 1 */ + KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MPLY, + KC_TRNS, KC_UNDS, KC_PLUS, KC_PIPE, KC_TRNS, KC_TRNS, KC_VOLU, KC_MPRV, KC_VOLD, KC_MNXT, KC_COLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_QUES, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( /* LAYER 3 */ + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/esca/getawayvan_f042/keymaps/default/keymap.c b/keyboards/esca/getawayvan_f042/keymaps/default/keymap.c new file mode 100644 index 000000000000..8cc90b2299e0 --- /dev/null +++ b/keyboards/esca/getawayvan_f042/keymaps/default/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2021 Enrique Cabrera + * + * 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( /* Qwerty */ + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, LT(3, KC_ENT), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, LT(2, KC_SPC), LT(1, KC_SPC), MO(2), KC_LEFT, KC_DOWN, KC_RIGHT + ), + [1] = LAYOUT( /* LAYER 2 */ + KC_GRV, 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_MINS, KC_EQL, KC_BSLS, KC_TRNS, KC_TRNS, KC_UP, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SLSH, KC_PGUP, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), + [2] = LAYOUT( /* LAYER 1 */ + KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MPLY, + KC_TRNS, KC_UNDS, KC_PLUS, KC_PIPE, KC_TRNS, KC_TRNS, KC_VOLU, KC_MPRV, KC_VOLD, KC_MNXT, KC_COLN, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_QUES, KC_VOLU, KC_PIPE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ), + [3] = LAYOUT( /* LAYER 3 */ + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL, + KC_TRNS, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/esca/getawayvan_f042/readme.md b/keyboards/esca/getawayvan_f042/readme.md new file mode 100644 index 000000000000..0f03237128ff --- /dev/null +++ b/keyboards/esca/getawayvan_f042/readme.md @@ -0,0 +1,12 @@ +# GetawayVan + +GetawayVan Keyboard + +* Keyboard Maintainer: [esca](https://github.com/esca47) +* Hardware Supported: STM32F042C6T6/(STM32F072C8T6 in getawayvan) + +Make example for this keyboard (after setting up your build environment): + + make esca/getawayvan_f042: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). diff --git a/keyboards/esca/getawayvan_f042/rules.mk b/keyboards/esca/getawayvan_f042/rules.mk new file mode 100644 index 000000000000..407b82d75fdf --- /dev/null +++ b/keyboards/esca/getawayvan_f042/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = STM32F042 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes diff --git a/keyboards/espectro/rules.mk b/keyboards/espectro/rules.mk index 065014b97f25..b1ba21f36ee9 100755 --- a/keyboards/espectro/rules.mk +++ b/keyboards/espectro/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/eve/meteor/rules.mk b/keyboards/eve/meteor/rules.mk index 93bb0a56eb7e..4c4a33355eef 100644 --- a/keyboards/eve/meteor/rules.mk +++ b/keyboards/eve/meteor/rules.mk @@ -2,17 +2,10 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # build options -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/evil80/rules.mk b/keyboards/evil80/rules.mk index 46b76962b659..93cfa435f1bb 100644 --- a/keyboards/evil80/rules.mk +++ b/keyboards/evil80/rules.mk @@ -2,32 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/evolv/evolv.c b/keyboards/evolv/evolv.c index 276fac26fdc2..90df449ee204 100644 --- a/keyboards/evolv/evolv.c +++ b/keyboards/evolv/evolv.c @@ -17,12 +17,14 @@ along with this program. If not, see . #include "evolv.h" -__attribute__((weak)) void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) return false; if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } - } + } + return true; } diff --git a/keyboards/evolv/rules.mk b/keyboards/evolv/rules.mk index 13a44c3c63dd..8953f7b73c4b 100644 --- a/keyboards/evolv/rules.mk +++ b/keyboards/evolv/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c b/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c index 87e1244214a5..ae72a3fd94b3 100644 --- a/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c +++ b/keyboards/evyd13/atom47/keymaps/LEdiodes/keymap.c @@ -1,3 +1,20 @@ +/* +Copyright 2021 Evelien Dekkers + +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 // These are all aliases for the function layers. @@ -7,27 +24,27 @@ #define _L3 3 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_L0] = LAYOUT( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \ - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_L1), \ - KC_LCTL, KC_LGUI, KC_LALT, TG(_L3), KC_SPC, KC_SPC, MO(_L2), KC_RALT, KC_APP, KC_RCTRL), \ +[_L0] = LAYOUT_split_space( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_L1), + KC_LCTL, KC_LGUI, KC_LALT, TG(_L3), KC_SPC, KC_SPC, MO(_L2), KC_RALT, KC_APP, KC_RCTRL), -[_L2] = LAYOUT( - _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \ - KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \ - _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ +[_L2] = LAYOUT_split_space( + _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, + KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, + _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -[_L1] = LAYOUT( - 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \ - _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ +[_L1] = LAYOUT_split_space( + 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -[_L3] = LAYOUT( - _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, KC_0, KC_DOT, _______, _______, _______, RESET), \ +[_L3] = LAYOUT_split_space( + _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_0, KC_DOT, _______, _______, _______, RESET) }; diff --git a/keyboards/evyd13/atom47/keymaps/default/keymap.c b/keyboards/evyd13/atom47/keymaps/default/keymap.c index dc87b5a52bea..a7fbdda31d84 100644 --- a/keyboards/evyd13/atom47/keymaps/default/keymap.c +++ b/keyboards/evyd13/atom47/keymaps/default/keymap.c @@ -1,3 +1,20 @@ +/* +Copyright 2021 Evelien Dekkers + +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 // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -11,40 +28,27 @@ #define _PN 3 //Pn const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_MA] = LAYOUT( - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \ - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_FN1), \ - KC_LCTL, KC_LGUI, KC_LALT, MO(_PN), KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_APP, KC_RCTRL), \ +[_MA] = LAYOUT_split_space( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_FN1), + KC_LCTL, KC_LGUI, KC_LALT, MO(_PN), KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_APP, KC_RCTRL), -[_FN] = LAYOUT( - _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \ - KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \ - _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ +[_FN] = LAYOUT_split_space( + _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, + KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, + _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -[_FN1] = LAYOUT( - 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \ - _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ +[_FN1] = LAYOUT_split_space( + 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), -[_PN] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, \ - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), +[_PN] = LAYOUT_split_space( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), }; - -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<. +*/ + #include QMK_KEYBOARD_H // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -9,60 +26,24 @@ #define _LO 1 //FN1 #define _RA 2 //FN -enum custom_keycodes { - CTRLZ = SAFE_RANGE, - CTRLX, - CTRLC, - CTRLV -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_MA] = LAYOUT( - KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \ - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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, MO(_LO), KC_SPC, KC_SPC, MO(_RA), KC_RALT, KC_APP, KC_RCTRL), \ - -[_LO] = LAYOUT( - 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \ - _______, CTRLZ, CTRLX, CTRLC, CTRLV, _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), \ - -[_RA] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, \ - KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ +[_MA] = LAYOUT_split_space( + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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, MO(_LO), KC_SPC, KC_SPC, MO(_RA), KC_RALT, KC_APP, KC_RCTRL), + +[_LO] = LAYOUT_split_space( + 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), + +[_RA] = LAYOUT_split_space( + _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, + KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; -void led_set_user(uint8_t usb_led) { - if (usb_led & (1<event.pressed) { - switch(keycode) { - case CTRLZ: - SEND_STRING(SS_LCTRL("z")); - return false; - case CTRLX: - SEND_STRING(SS_LCTRL("x")); - return false; - case CTRLC: - SEND_STRING(SS_LCTRL("c")); - return false; - case CTRLV: - SEND_STRING(SS_LCTRL("v")); - return false; - } - } - return true; -}; diff --git a/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c b/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c index ebd52ffd032b..8204bc32b424 100644 --- a/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c +++ b/keyboards/evyd13/atom47/keymaps/junonum_a47/keymap.c @@ -1,3 +1,20 @@ +/* +Copyright 2021 Evelien Dekkers + +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 custom_keycodes { @@ -35,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Primary layer - [_MAIN] = LAYOUT( + [_MAIN] = LAYOUT_split_space( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTEN, @@ -43,7 +60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Main Fn navigation layer - [_SPLEFT] = LAYOUT( + [_SPLEFT] = LAYOUT_split_space( _______, KC_VOLU, KC_PGUP, KC_UP, KC_PGDN, KC_INS, _______, _______, KC_UP, _______, KC_PSCR, _______, _______, _______, KC_VOLD, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_DEL , _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, @@ -51,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Primary numeric layer using right Spacebar - [_SPRIGHT] = LAYOUT( + [_SPRIGHT] = LAYOUT_split_space( KC_GRV, _______, _______, KC_LBRC, KC_RBRC, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, KC_LCBR, KC_RCBR, _______, _______, KC_4, KC_5, KC_6, KC_MINUS, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_EQUAL, _______, @@ -59,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Secondary symbol layer, also Lower - [_LOWER] = LAYOUT( + [_LOWER] = LAYOUT_split_space( KC_TILD, _______, _______, _______, _______, _______, _______, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_SLCK, KC_PAUS, KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_DLR, KC_PERC, KC_CIRC, KC_UNDS, KC_PIPE, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EXLM, KC_AT, KC_HASH, KC_PLUS, _______, @@ -67,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Numpad layer // Also a homage to Planck with the media player/pause button - [_RAISE] = LAYOUT( + [_RAISE] = LAYOUT_split_space( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -75,26 +92,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Safety layer for special functions - [_ADJUST] = LAYOUT( + [_ADJUST] = LAYOUT_split_space( _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DP_ON, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [_DPAD] = LAYOUT( + [_DPAD] = LAYOUT_split_space( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, DPADNUM, KC_SPC, DP_OFF, KC_LEFT, KC_DOWN, KC_RGHT ), - [_DPADNUM] = LAYOUT( + [_DPADNUM] = LAYOUT_split_space( _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + ) }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { @@ -136,15 +153,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void led_set_user(uint8_t usb_led) { - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { - // Turn capslock on - writePinLow(E6); - - - } else { - // Turn capslock off - writePinHigh(E6); - } -} diff --git a/keyboards/evyd13/atom47/keymaps/via/keymap.c b/keyboards/evyd13/atom47/keymaps/via/keymap.c new file mode 100644 index 000000000000..686a4d3dbe80 --- /dev/null +++ b/keyboards/evyd13/atom47/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +/* +Copyright 2021 Evelien Dekkers + +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_split_space( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(2), + KC_LCTL, KC_LGUI, KC_LALT, MO(3), KC_SPC, KC_SPC, MO(1), KC_RALT, KC_APP, KC_RCTRL), + +[1] = LAYOUT_split_space( + _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, + KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, + _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +[2] = LAYOUT_split_space( + 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, + _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + +[3] = LAYOUT_split_space( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), +}; diff --git a/keyboards/evyd13/atom47/keymaps/via/rules.mk b/keyboards/evyd13/atom47/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/evyd13/atom47/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/evyd13/atom47/readme.md b/keyboards/evyd13/atom47/readme.md index 70171c04d1a4..30ad714a7a61 100644 --- a/keyboards/evyd13/atom47/readme.md +++ b/keyboards/evyd13/atom47/readme.md @@ -3,24 +3,13 @@ ![Atom47](https://i.imgur.com/Wwflqvt.png) ## Support -Keyboard Maintainer: [Evyd13](https://github.com/evyd13) -Hardware Supported: Atom47 rev2/rev3 -Hardware Availability: [GeekHack.com Group Buy](https://geekhack.org/index.php?topic=93447.msg2545221) - - -## Features (rev3 and up) -- QMK Firmware -- 6 Underglow RGB leds -- In-switch leds -- Through-hole micro usb connector (less likely to break off!) -- South facing leds for the QMX/Zealencio users -- Multiple layouts -- Easily reachable reset button under the spacebar -- CapsLock indicator +* Keyboard Maintainer: [Evelien Dekkers](https://github.com/evyd13) +* Hardware Supported: Atom47 rev2/rev3/rev4/rev5 +* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/atom47) ## Build -To build the default keymap for the latest revision, simply run `make atom47:default`. Specifiy the revision like so: `make atom47/rev3:default`. +Make example for this keyboard (after setting up your build environment): -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. + make evyd13/atom47/rev5:default -![Atom47](https://i.imgur.com/JfYnOba.jpg) +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/evyd13/atom47/rev2/config.h b/keyboards/evyd13/atom47/rev2/config.h index 62e72723dcf9..95fc7a478964 100644 --- a/keyboards/evyd13/atom47/rev2/config.h +++ b/keyboards/evyd13/atom47/rev2/config.h @@ -1,5 +1,5 @@ /* -Copyright 2012 Evy Dekkers +Copyright 2021 Evelien Dekkers 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,17 +15,16 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef REV2_CONFIG_H -#define REV2_CONFIG_H +#pragma once #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0003 -#define MANUFACTURER Vortex -#define PRODUCT Core +#define VENDOR_ID 0x4705 +#define PRODUCT_ID 0x8E66 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Evyd13 +#define PRODUCT Atom47 rev2 /* key matrix size */ #define MATRIX_ROWS 4 @@ -37,7 +36,6 @@ along with this program. If not, see . #define MATRIX_COL_PINS {D7,D5,F0,F1,F4,F6,F7,D4,C7,C6,D6,B5,B4} #define UNUSED_PINS -#define BACKLIGHT_PIN B6 /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW @@ -55,13 +53,15 @@ along with this program. If not, see . /* Backlight configuration */ +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_BREATHING #define BACKLIGHT_LEVELS 4 +#define LED_CAPS_LOCK_PIN F5 + #define RGB_DI_PIN D0 // The pin the LED strip is connected to #define RGBLED_NUM 1 // Number of LEDs in your strip #define QMK_ESC_OUTPUT D7 // usually COL -#define QMK_ESC_INPUT B1 // usually ROW +#define QMK_ESC_INPUT B7 // usually ROW #define QMK_LED B6 - -#endif diff --git a/keyboards/evyd13/atom47/rev2/info.json b/keyboards/evyd13/atom47/rev2/info.json index aa15e76064af..a9947ae898c8 100644 --- a/keyboards/evyd13/atom47/rev2/info.json +++ b/keyboards/evyd13/atom47/rev2/info.json @@ -1,12 +1,63 @@ { - "keyboard_name": "Atom47", - "url": "", - "maintainer": "evyd13", - "width": 13, - "height": 4, - "layouts": { - "LAYOUT": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}] + "keyboard_name": "Atom47 rev2", + "url": "", + "maintainer": "evyd13", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT_split_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3, "w":1.75}, + {"x":6, "y":3, "w":2.75}, + {"x":8.75, "y":3}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3}, + {"x":11.75, "y":3, "w":1.25} + ] + } } - } } diff --git a/keyboards/evyd13/atom47/rev2/rev2.c b/keyboards/evyd13/atom47/rev2/rev2.c index 06fce06dad41..adb21be36850 100644 --- a/keyboards/evyd13/atom47/rev2/rev2.c +++ b/keyboards/evyd13/atom47/rev2/rev2.c @@ -1,34 +1,18 @@ -#include "rev2.h" -#include "led.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - matrix_init_user(); - led_init_ports(); -}; +/* +Copyright 2021 Evelien Dekkers -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - matrix_scan_user(); -}; +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. -void led_init_ports(void) { - // * Set our LED pins as output - DDRB &= ~(1<<5); +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. - //Set output high, so the capslock led is off - PORTB |= (1 << 5); -} +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ -void led_set_kb(uint8_t usb_led) { - if (usb_led & (1<. +*/ + +#pragma once #include "quantum.h" // readability #define XXX KC_NO -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ - k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3c \ +#define LAYOUT_all LAYOUT_split_space + +#define LAYOUT_split_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \ + k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3c \ ) \ { \ - {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ - {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ - {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, XXX, k2c}, \ - {k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c} \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, XXX, k2c}, \ + {k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c} \ } void matrix_init_user(void); void matrix_scan_user(void); - -#endif diff --git a/keyboards/evyd13/atom47/rev2/rules.mk b/keyboards/evyd13/atom47/rev2/rules.mk index 0b6b8799863f..632bdae8f307 100644 --- a/keyboards/evyd13/atom47/rev2/rules.mk +++ b/keyboards/evyd13/atom47/rev2/rules.mk @@ -1,2 +1,2 @@ -NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality +# Build Options +RGBLIGHT_ENABLE = no diff --git a/keyboards/evyd13/atom47/rev3/config.h b/keyboards/evyd13/atom47/rev3/config.h index f585ddda9e3e..4e53abd01e08 100644 --- a/keyboards/evyd13/atom47/rev3/config.h +++ b/keyboards/evyd13/atom47/rev3/config.h @@ -1,5 +1,5 @@ /* -Copyright 2012 Evy Dekkers +Copyright 2021 Evelien Dekkers 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,17 +15,16 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef REV3_CONFIG_H -#define REV3_CONFIG_H +#pragma once #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0003 -#define MANUFACTURER Vortex -#define PRODUCT Core +#define VENDOR_ID 0x4705 +#define PRODUCT_ID 0x0E6D +#define DEVICE_VER 0x0001 +#define MANUFACTURER Evyd13 +#define PRODUCT Atom47 rev3 /* key matrix size */ #define MATRIX_ROWS 4 @@ -37,7 +36,6 @@ along with this program. If not, see . #define MATRIX_COL_PINS {B7,F0,F1,F4,F6,D4,D6,D7,B4,B5,C6,C7,F7} #define UNUSED_PINS -#define BACKLIGHT_PIN B6 /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW @@ -50,13 +48,15 @@ along with this program. If not, see . /* Backlight configuration */ -#define BACKLIGHT_LEVELS 4 +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_BREATHING +#define BACKLIGHT_LEVELS 5 + +#define LED_CAPS_LOCK_PIN E6 #define RGB_DI_PIN F5 // The pin the LED strip is connected to #define RGBLED_NUM 6 // Number of LEDs in your strip #define RGBLIGHT_ANIMATIONS #define QMK_ESC_OUTPUT B7 // usually COL -#define QMK_ESC_INPUT B3 // usually ROW +#define QMK_ESC_INPUT B0 // usually ROW #define QMK_LED E6 - -#endif diff --git a/keyboards/evyd13/atom47/rev3/info.json b/keyboards/evyd13/atom47/rev3/info.json index aa15e76064af..bd7d6c2aea64 100644 --- a/keyboards/evyd13/atom47/rev3/info.json +++ b/keyboards/evyd13/atom47/rev3/info.json @@ -1,12 +1,114 @@ { - "keyboard_name": "Atom47", - "url": "", - "maintainer": "evyd13", - "width": 13, - "height": 4, - "layouts": { - "LAYOUT": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}] + "keyboard_name": "Atom47 rev3", + "url": "", + "maintainer": "evyd13", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT_split_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3, "w":1.75}, + {"x":6, "y":3, "w":2.75}, + {"x":8.75, "y":3}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3}, + {"x":11.75, "y":3, "w":1.25} + ] + }, + "LAYOUT_full_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3, "w":1.25}, + {"x":2.5, "y":3, "w":1.25}, + {"x":3.75, "y":3, "w":6.25}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3} + ] + } } - } -} +} \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev3/rev3.c b/keyboards/evyd13/atom47/rev3/rev3.c index c541ed559c69..52fa91fbc492 100644 --- a/keyboards/evyd13/atom47/rev3/rev3.c +++ b/keyboards/evyd13/atom47/rev3/rev3.c @@ -1,27 +1,18 @@ -#include "rev3.h" -#include "led.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - matrix_init_user(); - led_init_ports(); -}; +/* +Copyright 2021 Evelien Dekkers -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - matrix_scan_user(); -}; +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. -void led_init_ports(void) { - // * Set our LED pins as output - DDRE |= (1 << 6); +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. - //Set output high, so the capslock led is off - PORTE |= (1 << 6); -} +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ -void led_set_kb(uint8_t usb_led) { - led_set_user(usb_led); -} +#include "rev3.h" diff --git a/keyboards/evyd13/atom47/rev3/rev3.h b/keyboards/evyd13/atom47/rev3/rev3.h index ad875bb404fd..aa2e53ba227d 100644 --- a/keyboards/evyd13/atom47/rev3/rev3.h +++ b/keyboards/evyd13/atom47/rev3/rev3.h @@ -1,23 +1,51 @@ -#ifndef ATOM47_REV3_H -#define ATOM47_REV3_H +/* +Copyright 2021 Evelien Dekkers + +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 "quantum.h" // readability #define XXX KC_NO -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ - k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k35, k37, k39, k3a, k3b, k3c \ +#define LAYOUT_all LAYOUT_split_space + +#define LAYOUT_split_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k35, k37, k39, k3a, k3b, k3c \ ) \ { \ - {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ - {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ - {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ - {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c} \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ + {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c} \ } - -#endif +#define LAYOUT_full_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k37, k39, k3a, k3b, k3c \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ + {k30, k31, k32, XXX, XXX, XXX, XXX, k37, XXX, k39, k3a, k3b, k3c} \ +} diff --git a/keyboards/evyd13/atom47/rev3/rules.mk b/keyboards/evyd13/atom47/rev3/rules.mk index 2df225e389f2..e69de29bb2d1 100644 --- a/keyboards/evyd13/atom47/rev3/rules.mk +++ b/keyboards/evyd13/atom47/rev3/rules.mk @@ -1,2 +0,0 @@ -NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality diff --git a/keyboards/evyd13/atom47/rev4/config.h b/keyboards/evyd13/atom47/rev4/config.h new file mode 100644 index 000000000000..02a1b16755b7 --- /dev/null +++ b/keyboards/evyd13/atom47/rev4/config.h @@ -0,0 +1,58 @@ +/* +Copyright 2021 Evelien Dekkers + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4705 +#define PRODUCT_ID 0x8446 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Evyd13 +#define PRODUCT Atom47 rev4 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 13 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS {D0,C2,C5,C6} +#define MATRIX_COL_PINS {C4,C7,B7,B6,B5,B2,B1,B0,D6,D5,D4,D3,D2} +#define UNUSED_PINS + +#define ENCODERS_PAD_A { B3 } +#define ENCODERS_PAD_B { B4 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Backlight configuration + */ + +#define QMK_ESC_OUTPUT C4 // usually COL +#define QMK_ESC_INPUT C6 // usually ROW +#define QMK_LED D1 + +#define LED_CAPS_LOCK_PIN D1 diff --git a/keyboards/evyd13/atom47/rev4/info.json b/keyboards/evyd13/atom47/rev4/info.json new file mode 100644 index 000000000000..a04e4cc180a1 --- /dev/null +++ b/keyboards/evyd13/atom47/rev4/info.json @@ -0,0 +1,114 @@ +{ + "keyboard_name": "Atom47 rev4", + "url": "", + "maintainer": "evyd13", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT_split_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3, "w":1.75}, + {"x":6, "y":3, "w":2.75}, + {"x":8.75, "y":3}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3}, + {"x":11.75, "y":3, "w":1.25} + ] + }, + "LAYOUT_full_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3, "w":1.25}, + {"x":2.5, "y":3, "w":1.25}, + {"x":3.75, "y":3, "w":6.25}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev4/rev4.c b/keyboards/evyd13/atom47/rev4/rev4.c new file mode 100644 index 000000000000..0ac2a41acc03 --- /dev/null +++ b/keyboards/evyd13/atom47/rev4/rev4.c @@ -0,0 +1,18 @@ +/* +Copyright 2021 Evelien Dekkers + +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 "rev4.h" diff --git a/keyboards/evyd13/atom47/rev4/rev4.h b/keyboards/evyd13/atom47/rev4/rev4.h new file mode 100644 index 000000000000..aa2e53ba227d --- /dev/null +++ b/keyboards/evyd13/atom47/rev4/rev4.h @@ -0,0 +1,51 @@ +/* +Copyright 2021 Evelien Dekkers + +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 "quantum.h" + +// readability +#define XXX KC_NO + +#define LAYOUT_all LAYOUT_split_space + +#define LAYOUT_split_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k35, k37, k39, k3a, k3b, k3c \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ + {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c} \ +} + +#define LAYOUT_full_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k37, k39, k3a, k3b, k3c \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ + {k30, k31, k32, XXX, XXX, XXX, XXX, k37, XXX, k39, k3a, k3b, k3c} \ +} diff --git a/keyboards/evyd13/atom47/rev4/rules.mk b/keyboards/evyd13/atom47/rev4/rules.mk new file mode 100644 index 000000000000..3bce3b43af54 --- /dev/null +++ b/keyboards/evyd13/atom47/rev4/rules.mk @@ -0,0 +1,7 @@ +# MCU name +MCU = atmega32u2 + +# Build Options +ENCODER_ENABLE = yes +BACKLIGHT_ENABLE = no +RGBLIGHT_ENABLE = no \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev5/config.h b/keyboards/evyd13/atom47/rev5/config.h new file mode 100644 index 000000000000..f1f8eacfa47f --- /dev/null +++ b/keyboards/evyd13/atom47/rev5/config.h @@ -0,0 +1,164 @@ +/* +Copyright 2021 Evelien Dekkers + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4705 +#define PRODUCT_ID 0x92EA +#define DEVICE_VER 0x0001 +#define MANUFACTURER Evyd13 +#define PRODUCT Atom47 rev5 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 13 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS {B1,B2,B3,D4} +#define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,E6,D7,B4,B5,B6,C6,C7} +#define UNUSED_PINS {B0,B7,D2,D3,D5,D6} + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 + +// This is a 7-bit address, that gets left-shifted and bit 0 +// set to 0 for write, 1 for read (as per I2C protocol) +// The address will vary depending on your wiring: +// 00 <-> GND +// 01 <-> SCL +// 10 <-> SDA +// 11 <-> VCC +// ADDR1 represents A1:A0 of the 7-bit address. +// ADDR2 represents A3:A2 of the 7-bit address. +// The result is: 0b101(ADDR2)(ADDR1) +#define DRIVER_ADDR_1 0b1010000 +#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons. + +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 64 +#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev5/info.json b/keyboards/evyd13/atom47/rev5/info.json new file mode 100644 index 000000000000..f66c86e94c3b --- /dev/null +++ b/keyboards/evyd13/atom47/rev5/info.json @@ -0,0 +1,63 @@ +{ + "keyboard_name": "Atom47 rev5", + "url": "", + "maintainer": "evyd13", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT_split_space": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1, "w":1.25}, + {"x":1.25, "y":1}, + {"x":2.25, "y":1}, + {"x":3.25, "y":1}, + {"x":4.25, "y":1}, + {"x":5.25, "y":1}, + {"x":6.25, "y":1}, + {"x":7.25, "y":1}, + {"x":8.25, "y":1}, + {"x":9.25, "y":1}, + {"x":10.25, "y":1}, + {"x":11.25, "y":1, "w":1.75}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":1.25}, + {"x":12, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3, "w":1.75}, + {"x":6, "y":3, "w":2.75}, + {"x":8.75, "y":3}, + {"x":9.75, "y":3}, + {"x":10.75, "y":3}, + {"x":11.75, "y":3, "w":1.25} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/evyd13/atom47/rev5/rev5.c b/keyboards/evyd13/atom47/rev5/rev5.c new file mode 100644 index 000000000000..ea0208706a32 --- /dev/null +++ b/keyboards/evyd13/atom47/rev5/rev5.c @@ -0,0 +1,153 @@ +/* +Copyright 2021 Evelien Dekkers + +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 "rev5.h" + +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, B_1, C_1, A_1}, + {0, B_2, C_2, A_2}, + {0, B_3, C_3, A_3}, + {0, B_4, C_4, A_4}, + {0, B_5, C_5, A_5}, + {0, B_6, C_6, A_6}, + {0, B_7, C_7, A_7}, + {0, B_8, C_8, A_8}, + {0, B_9, C_9, A_9}, + {0, B_10, C_10, A_10}, + {0, B_11, C_11, A_11}, + {0, B_12, C_12, A_12}, + {0, B_13, C_13, A_13}, + + {0, E_1, F_1, D_1}, + {0, E_2, F_2, D_2}, + {0, E_3, F_3, D_3}, + {0, E_4, F_4, D_4}, + {0, E_5, F_5, D_5}, + {0, E_6, F_6, D_6}, + {0, E_7, F_7, D_7}, + {0, E_8, F_8, D_8}, + {0, E_9, F_9, D_9}, + {0, E_10, F_10, D_10}, + {0, E_11, F_11, D_11}, + {0, E_13, F_13, D_13}, + + {0, H_1, I_1, G_1}, + {0, H_2, I_2, G_2}, + {0, H_3, I_3, G_3}, + {0, H_4, I_4, G_4}, + {0, H_5, I_5, G_5}, + {0, H_6, I_6, G_6}, + {0, H_7, I_7, G_7}, + {0, H_8, I_8, G_8}, + {0, H_9, I_9, G_9}, + {0, H_10, I_10, G_10}, + {0, H_11, I_11, G_11}, + {0, H_12, I_12, G_12}, + {0, H_13, I_13, G_13}, + + {0, K_1, L_1, J_1}, + {0, K_2, L_2, J_2}, + {0, K_3, L_3, J_3}, + {0, K_4, L_4, J_4}, + {0, K_6, L_6, J_6}, + {0, K_8, L_8, J_8}, + {0, K_10, L_10, J_10}, + {0, K_11, L_11, J_11}, + {0, K_12, L_12, J_12}, + {0, K_13, L_13, J_13} +}; + +led_config_t g_led_config = { { + // Key Matrix to LED Index + { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }, + { 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, NO_LED, 24 }, + { 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 }, + { 38, 39, 40, 41, NO_LED, 42, NO_LED, 43, NO_LED, 44, 45, 46, 47 } +}, { + // LED Index to Physical Position + { 9, 8 }, + { 26, 8 }, + { 43, 8 }, + { 60, 8 }, + { 78, 8 }, + { 95, 8 }, + { 112, 8 }, + { 129, 8 }, + { 146, 8 }, + { 164, 8 }, + { 181, 8 }, + { 198, 8 }, + { 215, 8 }, + + { 11, 24 }, + { 30, 24 }, + { 47, 24 }, + { 64, 24 }, + { 82, 24 }, + { 99, 24 }, + { 116, 24 }, + { 134, 24 }, + { 151, 24 }, + { 168, 24 }, + { 185, 24 }, + { 209, 24 }, + + { 15, 40 }, + { 20, 22 }, + { 39, 40 }, + { 56, 40 }, + { 73, 40 }, + { 90, 40 }, + { 108, 40 }, + { 125, 40 }, + { 142, 40 }, + { 159, 40 }, + { 177, 40 }, + { 196, 40 }, + { 215, 40 }, + + { 11, 56 }, + { 30, 56 }, + { 47, 56 }, + { 64, 56 }, + { 88, 56 }, + { 127, 56 }, + { 159, 56 }, + { 177, 56 }, + { 194, 56 }, + { 213, 56 }, +}, { + // LED Index to Flag + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 +} }; + +void rgb_matrix_indicators_kb(void) { + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(26, 255, 255, 255); + } else { + rgb_matrix_set_color(26, 0, 0, 0); + } +} diff --git a/keyboards/evyd13/atom47/rev5/rev5.h b/keyboards/evyd13/atom47/rev5/rev5.h new file mode 100644 index 000000000000..874dc285abde --- /dev/null +++ b/keyboards/evyd13/atom47/rev5/rev5.h @@ -0,0 +1,38 @@ +/* +Copyright 2021 Evelien Dekkers + +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 "quantum.h" + +// readability +#define XXX KC_NO + +#define LAYOUT_all LAYOUT_split_space + +#define LAYOUT_split_space( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k35, k37, k39, k3a, k3b, k3c \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c}, \ + {k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c} \ +} diff --git a/keyboards/evyd13/atom47/rev5/rules.mk b/keyboards/evyd13/atom47/rev5/rules.mk new file mode 100644 index 000000000000..3f2f8d3dd74c --- /dev/null +++ b/keyboards/evyd13/atom47/rev5/rules.mk @@ -0,0 +1,2 @@ +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = IS31FL3733 diff --git a/keyboards/evyd13/atom47/rules.mk b/keyboards/evyd13/atom47/rules.mk index 72c0b219b961..f86d6f607dcb 100644 --- a/keyboards/evyd13/atom47/rules.mk +++ b/keyboards/evyd13/atom47/rules.mk @@ -2,27 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options -# comment out to disable the options. +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output -DEFAULT_FOLDER = evyd13/atom47/rev3 +DEFAULT_FOLDER = evyd13/atom47/rev4 diff --git a/keyboards/evyd13/eon40/config.h b/keyboards/evyd13/eon40/config.h index 625576c74f75..eb65f6bcf623 100644 --- a/keyboards/evyd13/eon40/config.h +++ b/keyboards/evyd13/eon40/config.h @@ -194,26 +194,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/eon40/rules.mk b/keyboards/evyd13/eon40/rules.mk index 969a296835ec..af3b47452e45 100644 --- a/keyboards/evyd13/eon40/rules.mk +++ b/keyboards/evyd13/eon40/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/eon65/config.h b/keyboards/evyd13/eon65/config.h index ffcde47f673f..eb6273e46b59 100644 --- a/keyboards/evyd13/eon65/config.h +++ b/keyboards/evyd13/eon65/config.h @@ -191,26 +191,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/eon65/rules.mk b/keyboards/evyd13/eon65/rules.mk index 9c35f1e1aea2..a59748faeda6 100644 --- a/keyboards/evyd13/eon65/rules.mk +++ b/keyboards/evyd13/eon65/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/eon75/config.h b/keyboards/evyd13/eon75/config.h index d7d84de2a363..d72e3f2b287a 100644 --- a/keyboards/evyd13/eon75/config.h +++ b/keyboards/evyd13/eon75/config.h @@ -196,26 +196,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/eon75/rules.mk b/keyboards/evyd13/eon75/rules.mk index b78fcc9f5ae9..9a2d4b93653b 100644 --- a/keyboards/evyd13/eon75/rules.mk +++ b/keyboards/evyd13/eon75/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/eon87/config.h b/keyboards/evyd13/eon87/config.h index dcbac216c472..c09a1365ea0c 100644 --- a/keyboards/evyd13/eon87/config.h +++ b/keyboards/evyd13/eon87/config.h @@ -191,26 +191,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/eon87/rules.mk b/keyboards/evyd13/eon87/rules.mk index 101ebacc81e6..5b02a2258781 100644 --- a/keyboards/evyd13/eon87/rules.mk +++ b/keyboards/evyd13/eon87/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/eon95/config.h b/keyboards/evyd13/eon95/config.h index 2d9ede3ee27a..bcb2b9c5e47a 100644 --- a/keyboards/evyd13/eon95/config.h +++ b/keyboards/evyd13/eon95/config.h @@ -196,26 +196,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/eon95/rules.mk b/keyboards/evyd13/eon95/rules.mk index b78fcc9f5ae9..9a2d4b93653b 100644 --- a/keyboards/evyd13/eon95/rules.mk +++ b/keyboards/evyd13/eon95/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/gh80_1800/rules.mk b/keyboards/evyd13/gh80_1800/rules.mk index eaca844339d6..b458f4ce0db5 100644 --- a/keyboards/evyd13/gh80_1800/rules.mk +++ b/keyboards/evyd13/gh80_1800/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/evyd13/gh80_3700/gh80_3700.c b/keyboards/evyd13/gh80_3700/gh80_3700.c index f607a440e9aa..40093f10223f 100644 --- a/keyboards/evyd13/gh80_3700/gh80_3700.c +++ b/keyboards/evyd13/gh80_3700/gh80_3700.c @@ -15,14 +15,6 @@ */ #include "gh80_3700.h" -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); - led_init_ports(); -} - void led_init_ports(void) { setPinOutput(E6); setPinOutput(B1); diff --git a/keyboards/evyd13/gh80_3700/rules.mk b/keyboards/evyd13/gh80_3700/rules.mk index 01ea4754f450..f5d5f984e46d 100644 --- a/keyboards/evyd13/gh80_3700/rules.mk +++ b/keyboards/evyd13/gh80_3700/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/evyd13/gud70/config.h b/keyboards/evyd13/gud70/config.h new file mode 100644 index 000000000000..914a87f4f538 --- /dev/null +++ b/keyboards/evyd13/gud70/config.h @@ -0,0 +1,150 @@ +/* Copyright 2020 Evelien Dekkers + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4705 +#define PRODUCT_ID 0x198B +#define DEVICE_VER 0x0001 +#define MANUFACTURER Evyd13 +#define PRODUCT Gud70 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS {D7,D6,D4,E6,B7} +#define MATRIX_COL_PINS {D5,D3,D2,D1,D0,B4,B5,B6,C6,C7,F0,F1,F4,F5,F6,F7} +#define UNUSED_PINS {} + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define LED_NUM_LOCK_PIN B2 +#define LED_CAPS_LOCK_PIN B1 +#define LED_SCROLL_LOCK_PIN B0 +#define LED_PIN_ON_STATE 0 + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + +// #define RGB_DI_PIN E2 +// #ifdef RGB_DI_PIN +// #define RGBLED_NUM 16 +// #define RGBLIGHT_HUE_STEP 8 +// #define RGBLIGHT_SAT_STEP 8 +// #define RGBLIGHT_VAL_STEP 8 +// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +// /*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +// /*== customize breathing effect ==*/ +// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +// /*==== use exp() and sin() ====*/ +// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +// #endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +// #define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +// #define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/gud70/gud70.c b/keyboards/evyd13/gud70/gud70.c new file mode 100644 index 000000000000..7b8c0a98f993 --- /dev/null +++ b/keyboards/evyd13/gud70/gud70.c @@ -0,0 +1,22 @@ +/* Copyright 2020 Evelien Dekkers + * + * 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 "gud70.h" + +void keyboard_pre_init_kb(void) { + // Enable top LED + setPinOutput(B3); + writePinLow(B3); +} diff --git a/keyboards/evyd13/gud70/gud70.h b/keyboards/evyd13/gud70/gud70.h new file mode 100644 index 000000000000..338fafd35128 --- /dev/null +++ b/keyboards/evyd13/gud70/gud70.h @@ -0,0 +1,73 @@ +/* Copyright 2020 Evelien Dekkers + * + * 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 "quantum.h" +#define XXX KC_NO + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k1d, k0d, k0e, k0f, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, k1f, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \ + k40, k41, k42, k47, k4a, k4b, k4c, k4d, k4e, k4f \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \ + { k40, k41, k42, XXX, XXX, XXX, XXX, k47, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \ +} + +#define LAYOUT_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k2c, k1e, k1f, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, k2f, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \ + k40, k41, k42, k47, k4a, k4b, k4c, k4d, k4e, k4f \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e, k1f }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \ + { k40, k41, k42, XXX, XXX, XXX, XXX, k47, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \ +} + +#define LAYOUT_iso( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, k1f, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, \ + k40, k41, k42, k47, k4a, k4b, k4c, k4d, k4e, k4f \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e, k1f }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f }, \ + { k40, k41, k42, XXX, XXX, XXX, XXX, k47, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \ +} diff --git a/keyboards/evyd13/gud70/info.json b/keyboards/evyd13/gud70/info.json new file mode 100644 index 000000000000..d2a9d9248c5c --- /dev/null +++ b/keyboards/evyd13/gud70/info.json @@ -0,0 +1,252 @@ +{ + "keyboard_name": "Gud70", + "url": "https://github.com/evyd13/gud70-pcb", + "maintainer": "evyd13", + "width": 17, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + {"x":16, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + {"x":16, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + {"x":16, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":16, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":6}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4}, + {"x":12.5, "y":4, "w":1.5}, + {"x":14, "y":4}, + {"x":15, "y":4}, + {"x":16, "y":4} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + {"x":16, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + {"x":16, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + {"x":16, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":16, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":6}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4}, + {"x":12.5, "y":4, "w":1.5}, + {"x":14, "y":4}, + {"x":15, "y":4}, + {"x":16, "y":4} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + {"x":16, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + {"x":16, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + {"x":16, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + {"x":16, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":6}, + {"x":10, "y":4, "w":1.5}, + {"x":11.5, "y":4}, + {"x":12.5, "y":4, "w":1.5}, + {"x":14, "y":4}, + {"x":15, "y":4}, + {"x":16, "y":4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/evyd13/gud70/keymaps/default/keymap.c b/keyboards/evyd13/gud70/keymaps/default/keymap.c new file mode 100644 index 000000000000..c1ec59573f1f --- /dev/null +++ b/keyboards/evyd13/gud70/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2020 Evelien Dekkers + * + * 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, + 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_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, TO(2), KC_PGUP, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, KC_PMNS, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PAST, _______, _______, TO(0), _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, _______, KC_PDOT, KC_PSLS, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/evyd13/gud70/keymaps/evyd13/keymap.c b/keyboards/evyd13/gud70/keymaps/evyd13/keymap.c new file mode 100644 index 000000000000..45c332a5d792 --- /dev/null +++ b/keyboards/evyd13/gud70/keymaps/evyd13/keymap.c @@ -0,0 +1,31 @@ +/* Copyright 2020 Evelien Dekkers + * + * 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, + 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_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_MPLY, KC_PGUP, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_APP), + [1] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/evyd13/gud70/readme.md b/keyboards/evyd13/gud70/readme.md new file mode 100644 index 000000000000..706cbb296ccc --- /dev/null +++ b/keyboards/evyd13/gud70/readme.md @@ -0,0 +1,20 @@ +# Gud70 + +A replacement PCB for the Uniqey C70. + +* Keyboard Maintainer: [Evyd13](https://github.com/evyd13) +* Hardware Supported: Gud70 PCB +* Hardware Availability: [Open source on GitHub](https://github.com/evyd13/gud70-pcb) + + +To flash a new layout, press the reset button located under the space bar. + +Make example for this keyboard (after setting up your build environment): + + make evyd13/gud70:default + +Flashing example for this keyboard: + + make evyd13/gud70: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). diff --git a/keyboards/evyd13/gud70/rules.mk b/keyboards/evyd13/gud70/rules.mk new file mode 100644 index 000000000000..ec21f3f19476 --- /dev/null +++ b/keyboards/evyd13/gud70/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = qmk-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/evyd13/minitomic/config.h b/keyboards/evyd13/minitomic/config.h index f26b4d1d956c..140862544406 100644 --- a/keyboards/evyd13/minitomic/config.h +++ b/keyboards/evyd13/minitomic/config.h @@ -194,26 +194,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/minitomic/rules.mk b/keyboards/evyd13/minitomic/rules.mk index ace928971257..56626369eb28 100644 --- a/keyboards/evyd13/minitomic/rules.mk +++ b/keyboards/evyd13/minitomic/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/mx5160/config.h b/keyboards/evyd13/mx5160/config.h index c65f81b87941..13abd3668306 100644 --- a/keyboards/evyd13/mx5160/config.h +++ b/keyboards/evyd13/mx5160/config.h @@ -200,26 +200,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/mx5160/rules.mk b/keyboards/evyd13/mx5160/rules.mk index 4945986f5a94..1c1386707b51 100644 --- a/keyboards/evyd13/mx5160/rules.mk +++ b/keyboards/evyd13/mx5160/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/nt660/config.h b/keyboards/evyd13/nt660/config.h index 863884714259..f43e6443d7f5 100644 --- a/keyboards/evyd13/nt660/config.h +++ b/keyboards/evyd13/nt660/config.h @@ -197,26 +197,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/nt660/rules.mk b/keyboards/evyd13/nt660/rules.mk index fb5654deacb0..128c702d0df0 100644 --- a/keyboards/evyd13/nt660/rules.mk +++ b/keyboards/evyd13/nt660/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/nt750/rules.mk b/keyboards/evyd13/nt750/rules.mk index e981c14b0fad..8a840a58c641 100644 --- a/keyboards/evyd13/nt750/rules.mk +++ b/keyboards/evyd13/nt750/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/evyd13/nt980/rules.mk b/keyboards/evyd13/nt980/rules.mk index 5c0d8f307c54..c98974abafc2 100644 --- a/keyboards/evyd13/nt980/rules.mk +++ b/keyboards/evyd13/nt980/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/evyd13/omrontkl/config.h b/keyboards/evyd13/omrontkl/config.h index 704ccd5d892c..ce35f8e08d36 100644 --- a/keyboards/evyd13/omrontkl/config.h +++ b/keyboards/evyd13/omrontkl/config.h @@ -191,26 +191,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/omrontkl/rules.mk b/keyboards/evyd13/omrontkl/rules.mk index 10033a9bfd39..23377c4706af 100644 --- a/keyboards/evyd13/omrontkl/rules.mk +++ b/keyboards/evyd13/omrontkl/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c b/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c index 25370823dfa7..2d736212f40f 100644 --- a/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c +++ b/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c @@ -36,9 +36,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DL] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, ______, KC_BSPC, \ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, DE_PLUS, ______, \ - SPECIAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_OE, DE_AE, DE_HASH, KC_ENT, \ - KC_LSFT, DE_LESS, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, MONKEY, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA, DE_PLUS, ______, \ + SPECIAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_ODIA,DE_ADIA, DE_HASH, KC_ENT, \ + KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, MONKEY, \ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , ______, KC_ALGR, TG(_LED), KC_RCTL ), [_FUN] = LAYOUT( diff --git a/keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk b/keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk index facc9dc7e65c..0b304aae3503 100644 --- a/keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk +++ b/keyboards/evyd13/plain60/keymaps/kwerdenker/rules.mk @@ -16,7 +16,7 @@ # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality (+4870) diff --git a/keyboards/evyd13/plain60/rules.mk b/keyboards/evyd13/plain60/rules.mk index 398b59227dc9..2fd37905d646 100644 --- a/keyboards/evyd13/plain60/rules.mk +++ b/keyboards/evyd13/plain60/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -22,7 +15,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/evyd13/pockettype/config.h b/keyboards/evyd13/pockettype/config.h index daae3c173402..681672c6aff0 100644 --- a/keyboards/evyd13/pockettype/config.h +++ b/keyboards/evyd13/pockettype/config.h @@ -191,26 +191,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/evyd13/pockettype/pockettype.c b/keyboards/evyd13/pockettype/pockettype.c index fe25a7048c18..06175edf5a07 100644 --- a/keyboards/evyd13/pockettype/pockettype.c +++ b/keyboards/evyd13/pockettype/pockettype.c @@ -15,12 +15,6 @@ */ #include "pockettype.h" -void matrix_init_kb(void) { - led_init_ports(); - - matrix_init_user(); -}; - void led_init_ports(void) { // * Enable LED anodes (Vbus pin is replaced by B0 on some boards) setPinOutput(B0); diff --git a/keyboards/evyd13/pockettype/rules.mk b/keyboards/evyd13/pockettype/rules.mk index 2b3dc6fc2221..104fab31b859 100644 --- a/keyboards/evyd13/pockettype/rules.mk +++ b/keyboards/evyd13/pockettype/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/evyd13/quackfire/keymaps/default/keymap.c b/keyboards/evyd13/quackfire/keymaps/default/keymap.c index 79b0a7ebd6cb..9d842596599a 100644 --- a/keyboards/evyd13/quackfire/keymaps/default/keymap.c +++ b/keyboards/evyd13/quackfire/keymaps/default/keymap.c @@ -17,20 +17,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* - * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ - * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ - * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│End│PgD│ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ - * │ 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│Menu│Ctrl│ │ ← │ ↓ │ → │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ + * │ 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│Menu│Ctrl│ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ */ LAYOUT_tkl_ansi( 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_SLCK, KC_PAUS, diff --git a/keyboards/evyd13/quackfire/rules.mk b/keyboards/evyd13/quackfire/rules.mk index f29136f7442b..b013ed876deb 100644 --- a/keyboards/evyd13/quackfire/rules.mk +++ b/keyboards/evyd13/quackfire/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/evyd13/solheim68/rules.mk b/keyboards/evyd13/solheim68/rules.mk index a90eef1fc65a..23ba502fc9d3 100644 --- a/keyboards/evyd13/solheim68/rules.mk +++ b/keyboards/evyd13/solheim68/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/evyd13/ta65/keymaps/default/keymap.c b/keyboards/evyd13/ta65/keymaps/default/keymap.c index 8bb8a14ba05d..5791f940572e 100644 --- a/keyboards/evyd13/ta65/keymaps/default/keymap.c +++ b/keyboards/evyd13/ta65/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { switch(get_highest_layer(layer_state)){ case 1: //Layer 1 if (!clockwise) { // Remove ! to reverse direction @@ -35,4 +35,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { } break; } + return true; } diff --git a/keyboards/evyd13/ta65/rules.mk b/keyboards/evyd13/ta65/rules.mk index b45c0bc03057..29e5873fe375 100644 --- a/keyboards/evyd13/ta65/rules.mk +++ b/keyboards/evyd13/ta65/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 ENCODER_ENABLE = yes diff --git a/keyboards/evyd13/ta65/ta65.c b/keyboards/evyd13/ta65/ta65.c index 4f67a0203da7..ca9aafb1b73b 100644 --- a/keyboards/evyd13/ta65/ta65.c +++ b/keyboards/evyd13/ta65/ta65.c @@ -1,13 +1 @@ #include "ta65.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - matrix_init_user(); -}; - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - matrix_scan_user(); -}; diff --git a/keyboards/evyd13/wasdat/config.h b/keyboards/evyd13/wasdat/config.h index 75b75a0d2ab8..83866890fb36 100644 --- a/keyboards/evyd13/wasdat/config.h +++ b/keyboards/evyd13/wasdat/config.h @@ -204,26 +204,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 5 diff --git a/keyboards/evyd13/wasdat/keymaps/default/keymap.c b/keyboards/evyd13/wasdat/keymaps/default/keymap.c index 89de85c4978f..f1b11e201fa1 100644 --- a/keyboards/evyd13/wasdat/keymaps/default/keymap.c +++ b/keyboards/evyd13/wasdat/keymaps/default/keymap.c @@ -17,20 +17,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* - * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ - * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ - * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│End│PgD│ │ 7 │ 8 │ 9 │   │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │  Enter │               │ 4 │ 5 │ 6 │   │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤ - * │ Shift  │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │     │ 1 │ 2 │ 3 │   │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ - * │Ctrl│GUI │Alt │                        │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │   │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ */ LAYOUT_fullsize_ansi( 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_SLCK, KC_PAUS, diff --git a/keyboards/evyd13/wasdat/keymaps/default_iso/keymap.c b/keyboards/evyd13/wasdat/keymaps/default_iso/keymap.c index fdc61cea4b9e..6a470295bd4f 100644 --- a/keyboards/evyd13/wasdat/keymaps/default_iso/keymap.c +++ b/keyboards/evyd13/wasdat/keymaps/default_iso/keymap.c @@ -17,20 +17,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* - * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ - * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ - * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │     │ │Del│End│PgD│ │ 7 │ 8 │ 9 │   │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │    │               │ 4 │ 5 │ 6 │   │ - * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤     ┌───┐     ├───┼───┼───┼───┤ - * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │     │ 1 │ 2 │ 3 │   │ - * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ - * │Ctrl│GUI │Alt │                        │AlGr│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │   │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │AlGr│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ */ LAYOUT_fullsize_iso( 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_SLCK, KC_PAUS, diff --git a/keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk b/keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk index f70005d3f63e..2ae41e942316 100644 --- a/keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk +++ b/keyboards/evyd13/wasdat/keymaps/konstantin/rules.mk @@ -1,5 +1,5 @@ # Generic features -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite COMMAND_ENABLE = yes CONSOLE_ENABLE = yes EXTRAKEY_ENABLE = yes diff --git a/keyboards/evyd13/wasdat/keymaps/via/keymap.c b/keyboards/evyd13/wasdat/keymaps/via/keymap.c index 9ad78d60d901..4195194507f0 100644 --- a/keyboards/evyd13/wasdat/keymaps/via/keymap.c +++ b/keyboards/evyd13/wasdat/keymaps/via/keymap.c @@ -17,20 +17,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* - * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ - * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ - * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│End│PgD│ │ 7 │ 8 │ 9 │   │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │  Enter │               │ 4 │ 5 │ 6 │   │ - * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤ - * │Shft│ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │     │ 1 │ 2 │ 3 │   │ - * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ - * │Ctrl│GUI │Alt │                        │ Alt│ GUI│FnMn│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │   │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│FnMn│Ctrl│ │ ← │ ↓ │ → │ │ 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_PSCR, KC_SLCK, KC_PAUS, @@ -43,20 +43,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* - * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ - * │Rst│   │   │   │   │   │ │   │   │   │   │ │   │   │   │   │ │   │   │   │ - * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ - * │   │   │   │   │   │   │   │   │   │   │   │   │   │       │ │   │   │   │ │   │   │   │   │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ - * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │ │   │   │   │   │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤   │ - * │      │   │   │   │   │   │   │   │   │   │   │   │        │               │   │   │   │   │ - * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤ - * │    │   │   │   │   │   │   │   │   │   │   │   │          │     │   │     │   │   │   │   │ - * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤   │ - * │    │    │    │                        │    │    │    │    │ │   │   │   │ │       │   │   │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Rst│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ */ LAYOUT_all( RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -69,20 +69,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* - * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ - * │   │   │   │   │   │   │ │   │   │   │   │ │   │   │   │   │ │   │   │   │ - * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ - * │   │   │   │   │   │   │   │   │   │   │   │   │   │       │ │   │   │   │ │   │   │   │   │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ - * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │ │   │   │   │   │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤   │ - * │      │   │   │   │   │   │   │   │   │   │   │   │        │               │   │   │   │   │ - * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤ - * │    │   │   │   │   │   │   │   │   │   │   │   │          │     │   │     │   │   │   │   │ - * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤   │ - * │    │    │    │                        │    │    │    │    │ │   │   │   │ │       │   │   │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ */ LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/evyd13/wasdat/rules.mk b/keyboards/evyd13/wasdat/rules.mk index 0a9f00403c68..09a19ee4f626 100644 --- a/keyboards/evyd13/wasdat/rules.mk +++ b/keyboards/evyd13/wasdat/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/wasdat_code/config.h b/keyboards/evyd13/wasdat_code/config.h index 4ac77f217dfb..07c18c3babcf 100644 --- a/keyboards/evyd13/wasdat_code/config.h +++ b/keyboards/evyd13/wasdat_code/config.h @@ -204,26 +204,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 2 #define BOOTMAGIC_LITE_COLUMN 3 diff --git a/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c b/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c index c73a2ececb55..2a375ff028a6 100644 --- a/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c +++ b/keyboards/evyd13/wasdat_code/keymaps/default/keymap.c @@ -17,20 +17,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* - * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ - * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ - * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│End│PgD│ │ 7 │ 8 │ 9 │   │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │  Enter │               │ 4 │ 5 │ 6 │   │ - * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤ - * │ Shift  │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │     │ 1 │ 2 │ 3 │   │ - * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ - * │Ctrl│GUI │Alt │                        │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │   │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ */ LAYOUT_fullsize_ansi( 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_SLCK, KC_PAUS, diff --git a/keyboards/evyd13/wasdat_code/keymaps/default_iso/keymap.c b/keyboards/evyd13/wasdat_code/keymaps/default_iso/keymap.c index fdc61cea4b9e..6a470295bd4f 100644 --- a/keyboards/evyd13/wasdat_code/keymaps/default_iso/keymap.c +++ b/keyboards/evyd13/wasdat_code/keymaps/default_iso/keymap.c @@ -17,20 +17,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* - * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ - * │Esc│   │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ - * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ - * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ - * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ - * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │     │ │Del│End│PgD│ │ 7 │ 8 │ 9 │   │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │    │               │ 4 │ 5 │ 6 │   │ - * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤     ┌───┐     ├───┼───┼───┼───┤ - * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │     │ 1 │ 2 │ 3 │   │ - * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ - * │Ctrl│GUI │Alt │                        │AlGr│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │   │ - * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ + * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐ + * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│ + * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent│ └───┴───┴───┘ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ │ 4 │ 5 │ 6 │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │AlGr│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘ */ LAYOUT_fullsize_iso( 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_SLCK, KC_PAUS, diff --git a/keyboards/evyd13/wasdat_code/rules.mk b/keyboards/evyd13/wasdat_code/rules.mk index 48430ee3cd23..89619612c651 100644 --- a/keyboards/evyd13/wasdat_code/rules.mk +++ b/keyboards/evyd13/wasdat_code/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/evyd13/wonderland/rules.mk b/keyboards/evyd13/wonderland/rules.mk index 1f671c37c3b9..ae0f23642706 100644 --- a/keyboards/evyd13/wonderland/rules.mk +++ b/keyboards/evyd13/wonderland/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -22,7 +15,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c index 32ed88d668b7..156832de4ea7 100644 --- a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c +++ b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c @@ -94,7 +94,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { if (state == BASE && edit == true) { temp_config.hue = rgblight_get_hue(); temp_config.sat = rgblight_get_sat(); diff --git a/keyboards/exclusive/e65/rules.mk b/keyboards/exclusive/e65/rules.mk index 0f27d19ac7da..a69fbc297244 100644 --- a/keyboards/exclusive/e65/rules.mk +++ b/keyboards/exclusive/e65/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c index 0e248a202352..e0d313f835c4 100644 --- a/keyboards/exclusive/e6_rgb/e6_rgb.c +++ b/keyboards/exclusive/e6_rgb/e6_rgb.c @@ -11,7 +11,7 @@ void matrix_init_kb(void) { matrix_init_user(); } -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { /* Refer to IS31 manual for these locations * driver * | R location diff --git a/keyboards/exclusive/e6_rgb/rules.mk b/keyboards/exclusive/e6_rgb/rules.mk index e9db9676b3dd..f6c06829a9b9 100644 --- a/keyboards/exclusive/e6_rgb/rules.mk +++ b/keyboards/exclusive/e6_rgb/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/exclusive/e6v2/le/rules.mk b/keyboards/exclusive/e6v2/le/rules.mk index 0b5585663526..4605aa9a5e84 100644 --- a/keyboards/exclusive/e6v2/le/rules.mk +++ b/keyboards/exclusive/e6v2/le/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/exclusive/e6v2/le_bmc/rules.mk b/keyboards/exclusive/e6v2/le_bmc/rules.mk index f61cdd43818a..f1518048e176 100644 --- a/keyboards/exclusive/e6v2/le_bmc/rules.mk +++ b/keyboards/exclusive/e6v2/le_bmc/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -26,7 +19,6 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default WS2812_DRIVER = i2c RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/exclusive/e6v2/oe/oe.c b/keyboards/exclusive/e6v2/oe/oe.c index 10cd59f0c21d..3c6627894fdf 100644 --- a/keyboards/exclusive/e6v2/oe/oe.c +++ b/keyboards/exclusive/e6v2/oe/oe.c @@ -1,26 +1,5 @@ #include "oe.h" -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - void led_set_kb(uint8_t usb_led) { // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here DDRB |= (1<<6); diff --git a/keyboards/exclusive/e6v2/oe/rules.mk b/keyboards/exclusive/e6v2/oe/rules.mk index 0b5585663526..4605aa9a5e84 100644 --- a/keyboards/exclusive/e6v2/oe/rules.mk +++ b/keyboards/exclusive/e6v2/oe/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/exclusive/e6v2/oe_bmc/rules.mk b/keyboards/exclusive/e6v2/oe_bmc/rules.mk index f61cdd43818a..f1518048e176 100644 --- a/keyboards/exclusive/e6v2/oe_bmc/rules.mk +++ b/keyboards/exclusive/e6v2/oe_bmc/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -26,7 +19,6 @@ NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default WS2812_DRIVER = i2c RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c index 61a41f629cae..6987e84021bc 100644 --- a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c +++ b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c @@ -111,7 +111,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) return true; } -uint32_t layer_state_set_user(uint32_t state) +layer_state_t layer_state_set_user(layer_state_t state) { if (state == BASE && edit == true) { diff --git a/keyboards/exclusive/e7v1/rules.mk b/keyboards/exclusive/e7v1/rules.mk index 7bd87e2d668b..de98c3624171 100644 --- a/keyboards/exclusive/e7v1/rules.mk +++ b/keyboards/exclusive/e7v1/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/exclusive/e7v1se/config.h b/keyboards/exclusive/e7v1se/config.h index 676a0ac8e7ba..4d892946dc10 100644 --- a/keyboards/exclusive/e7v1se/config.h +++ b/keyboards/exclusive/e7v1se/config.h @@ -194,26 +194,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/exclusive/e7v1se/e7v1se.c b/keyboards/exclusive/e7v1se/e7v1se.c index 36cfccc2f58b..69248f01d467 100644 --- a/keyboards/exclusive/e7v1se/e7v1se.c +++ b/keyboards/exclusive/e7v1se/e7v1se.c @@ -15,36 +15,3 @@ */ #include "e7v1se.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -bool led_update_kb(led_t led_state) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - return led_update_user(led_state); -} -*/ diff --git a/keyboards/exclusive/e7v1se/rules.mk b/keyboards/exclusive/e7v1se/rules.mk index 4e6cf8c855d6..34900670b012 100644 --- a/keyboards/exclusive/e7v1se/rules.mk +++ b/keyboards/exclusive/e7v1se/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/exclusive/e85/config.h b/keyboards/exclusive/e85/config.h index 1791351ebd94..dfe392d7b7ee 100644 --- a/keyboards/exclusive/e85/config.h +++ b/keyboards/exclusive/e85/config.h @@ -178,26 +178,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/exclusive/e85/rules.mk b/keyboards/exclusive/e85/rules.mk index ebbb95723563..71de03ca1da0 100644 --- a/keyboards/exclusive/e85/rules.mk +++ b/keyboards/exclusive/e85/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/exent/config.h b/keyboards/exent/config.h index 16a49e78fef1..c6f4452708df 100644 --- a/keyboards/exent/config.h +++ b/keyboards/exent/config.h @@ -1,42 +1,50 @@ -/* -Copyright 2019 mechmerlin - -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 . -*/ +/* Copyright 2019 mechmerlin + * + * 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 "config_common.h" +/* USB Device descriptor parameter */ #define VENDOR_ID 0x5143 // "QC" #define PRODUCT_ID 0x4558 // "EX" #define DEVICE_VER 0x0001 #define MANUFACTURER Quadcube #define PRODUCT Exent -#define RGBLED_NUM 18 - +/* key matrix size */ #define MATRIX_ROWS 7 #define MATRIX_COLS 14 -// 0 1 2 3 4 5 6 7 8 9 A B C D +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ #define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6 } #define MATRIX_COL_PINS { D7, C2, C3, C4, C5, C6, C7, A7, A6, A5, A4, A3, A1, A0 } -#define UNUSED_PINS +#define UNUSED_PINS +/* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define DEBOUNCE 5 #define LED_NUM_LOCK_PIN D0 #define LED_CAPS_LOCK_PIN D1 @@ -45,12 +53,33 @@ along with this program. If not, see . #define BACKLIGHT_PIN D4 #define BACKLIGHT_LEVELS 3 +#define RGBLED_NUM 18 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + #define RGBLIGHT_ANIMATIONS -/* key combination for magic key command */ -/* defined by default; to change, uncomment and set to the combination you want */ -// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION /* Bootmagic Lite key configuration */ -// #define BOOTMAGIC_LITE_ROW 0 -// #define BOOTMAGIC_LITE_COLUMN 0 +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/exent/exent.h b/keyboards/exent/exent.h index 256457c5ce7d..bfb11c738449 100644 --- a/keyboards/exent/exent.h +++ b/keyboards/exent/exent.h @@ -13,56 +13,57 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #pragma once #include "quantum.h" -#define ___ KC_NO +#define XXX KC_NO #define LAYOUT_all( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k6d, k53, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k52, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k51, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k50, \ - k40, k41, k42, k44, k45, k46, k47, k48, k49, k4b, k4c, k4d \ -){ \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ - { k40, k41, k42, ___, k44, k45, k46, k47, k48, k49, ___, k4b, k4c, k4d }, \ - { k50, k51, k52, k53, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \ - { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k6d } \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k6d, k53, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k52, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k51, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k50, \ + k40, k41, k42, k44, k45, k46, k47, k48, k49, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ + { k40, k41, k42, XXX, k44, k45, k46, k47, k48, k49, XXX, k4b, k4c, k4d }, \ + { k50, k51, k52, k53, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, k6d } \ } #define LAYOUT_65_ansi( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k53, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k52, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k51, \ - k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k50, \ - k40, k41, k42, k45, k47, k48, k49, k4b, k4c, k4d \ -){ \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d }, \ - { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ - { k40, k41, k42, ___, ___, k45, ___, k47, k48, k49, ___, k4b, k4c, k4d }, \ - { k50, k51, k52, k53, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \ - { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k53, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k52, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k51, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k50, \ + k40, k41, k42, k45, k47, k48, k49, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, k47, k48, k49, XXX, k4b, k4c, k4d }, \ + { k50, k51, k52, k53, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \ } #define LAYOUT_65_iso( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k53, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k52, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k51, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k50, \ - k40, k41, k42, k45, k47, k48, k49, k4b, k4c, k4d \ -){ \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, ___ }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ - { k40, k41, k42, ___, ___, k45, ___, k47, k48, k49, ___, k4b, k4c, k4d }, \ - { k50, k51, k52, k53, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \ - { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k53, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k52, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k51, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k50, \ + k40, k41, k42, k45, k47, k48, k49, k4b, k4c, k4d \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ + { k40, k41, k42, XXX, XXX, k45, XXX, k47, k48, k49, XXX, k4b, k4c, k4d }, \ + { k50, k51, k52, k53, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \ + { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \ } diff --git a/keyboards/exent/info.json b/keyboards/exent/info.json index 920a9ffe3dc2..07f7c4932097 100644 --- a/keyboards/exent/info.json +++ b/keyboards/exent/info.json @@ -1,20 +1,243 @@ { - "keyboard_name": "Exent", - "url": "", - "maintainer": "qmk", - "width": 16, - "height": 5, + "keyboard_name": "Exent", + "url": "", + "maintainer": "qmk", + "width": 16, + "height": 5, "layouts": { "LAYOUT_all": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":2, "w":1.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.25}, {"x":6, "y":4, "w":1.25}, {"x":7.25, "y":4, "w":2.75}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] - }, + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, - "LAYOUT_65_ansi": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":2, "w":1.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":2.25}, + {"x":6, "y":4, "w":1.25}, + {"x":7.25, "y":4, "w":2.75}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] }, + "LAYOUT_65_ansi": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, "LAYOUT_65_iso": { - "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] } } } diff --git a/keyboards/exent/keymaps/default/config.h b/keyboards/exent/keymaps/default/config.h deleted file mode 100644 index 60dd02a9d0ee..000000000000 --- a/keyboards/exent/keymaps/default/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2019 mechmerlin - * - * 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 - -// place overrides here diff --git a/keyboards/exent/keymaps/default/keymap.c b/keyboards/exent/keymaps/default/keymap.c index 943b1133e7ec..0a018c77c171 100644 --- a/keyboards/exent/keymaps/default/keymap.c +++ b/keyboards/exent/keymaps/default/keymap.c @@ -1,18 +1,34 @@ +/* Copyright 2019 mechmerlin + * + * 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] = { - /* layer 0: qwerty */ [0] = LAYOUT_65_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_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), [1] = LAYOUT_65_ansi( - 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, KC_TRNS, - BL_TOGG, BL_STEP, BL_INC, BL_DEC, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - }; + KC_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, _______, + BL_TOGG, BL_STEP, BL_INC, BL_DEC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/exent/keymaps/default/readme.md b/keyboards/exent/keymaps/default/readme.md deleted file mode 100644 index 9d596e699fb4..000000000000 --- a/keyboards/exent/keymaps/default/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for exent diff --git a/keyboards/exent/keymaps/via/keymap.c b/keyboards/exent/keymaps/via/keymap.c index 7b1637595812..6b36e43bd944 100644 --- a/keyboards/exent/keymaps/via/keymap.c +++ b/keyboards/exent/keymaps/via/keymap.c @@ -1,33 +1,48 @@ +/* Copyright 2019 mechmerlin + * + * 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] = { - /* layer 0: qwerty */ [0] = LAYOUT_65_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_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), [1] = LAYOUT_65_ansi( - 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, KC_TRNS, - BL_TOGG, BL_STEP, BL_INC, BL_DEC, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - + KC_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, _______, + BL_TOGG, BL_STEP, BL_INC, BL_DEC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), [2] = LAYOUT_65_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), [3] = LAYOUT_65_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - }; + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/exent/readme.md b/keyboards/exent/readme.md index a98eff5f0359..d30bed91a577 100644 --- a/keyboards/exent/readme.md +++ b/keyboards/exent/readme.md @@ -1,6 +1,6 @@ -# exent +# Exent -65% custom keyboard with large bezels. +65% custom keyboard with large bezels. * Keyboard Maintainer: [mechmerlin](https://github.com/mechmerlin) * Hardware Supported: Exent PCB diff --git a/keyboards/exent/rules.mk b/keyboards/exent/rules.mk index 0bafc8681496..69a80b563384 100644 --- a/keyboards/exent/rules.mk +++ b/keyboards/exent/rules.mk @@ -2,23 +2,22 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid -# build options -BOOTMAGIC_ENABLE = no -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = no -COMMAND_ENABLE = yes -BACKLIGHT_ENABLE = yes -RGBLIGHT_ENABLE = yes +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output WS2812_DRIVER = i2c LAYOUTS = 65_ansi 65_iso diff --git a/keyboards/eyeohdesigns/babyv/babyv.c b/keyboards/eyeohdesigns/babyv/babyv.c new file mode 100644 index 000000000000..5a01ea2c91ee --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/babyv.c @@ -0,0 +1,17 @@ +/* Copyright 2020 Eye Oh! 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 "babyv.h" diff --git a/keyboards/eyeohdesigns/babyv/babyv.h b/keyboards/eyeohdesigns/babyv/babyv.h new file mode 100644 index 000000000000..749e16f353fe --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/babyv.h @@ -0,0 +1,71 @@ +/* Copyright 2020 Eye Oh! 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 "quantum.h" + +#define LAYOUT_1u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ + k30, k33, k34, k35, k36, k37, k38, k3b \ + ) \ + { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ + { k30, KC_NO, KC_NO, k33, k34, k35, k36, k37, k38, KC_NO, KC_NO, k3b } \ + } + +#define LAYOUT_2u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ + k30, k33, k35, k36, k38, k3b \ + ) \ + { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ + { k30, KC_NO, KC_NO, k33, KC_NO, k35, k36, KC_NO, k38, KC_NO, KC_NO, k3b } \ + } + +#define LAYOUT_1u_2u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ + k30, k33, k34, k35, k36, k38, k3b \ + ) \ + { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ + { k30, KC_NO, KC_NO, k33, k34, k35, k36, KC_NO, k38, KC_NO, KC_NO, k3b } \ + } +#define LAYOUT_2u_1u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ + k30, k33, k35, k36, k37, k38, k3b \ + ) \ + { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ + { k30, KC_NO, KC_NO, k33, KC_NO, k35, k36, k37, k38, KC_NO, KC_NO, k3b } \ + } + \ No newline at end of file diff --git a/keyboards/eyeohdesigns/babyv/config.h b/keyboards/eyeohdesigns/babyv/config.h new file mode 100644 index 000000000000..c49a039df2a4 --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/config.h @@ -0,0 +1,60 @@ +/* +Copyright 2020 Eye Oh! 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Eye Oh Designs +#define PRODUCT babyv + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + + +#define MATRIX_ROW_PINS { B5, D2, D5, D3 } +#define MATRIX_COL_PINS { D0, D1, B4, D7, D6, D4, B0, B1, B2, F0, F1, F4 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_LEVELS 3 + +#define RGB_DI_PIN B7 +#define RGBLED_NUM 12 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +// /*== all animations enable ==*/ +#define RGBLIGHT_ANIMATIONS + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/eyeohdesigns/babyv/info.json b/keyboards/eyeohdesigns/babyv/info.json new file mode 100644 index 000000000000..1ff70463a411 --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/info.json @@ -0,0 +1,22 @@ +{ + "keyboard_name": "babyv", + "url": "", + "maintainer": "eye oh designs", + "width": 14.25, + "height": 6.14, + "layouts": { + "LAYOUT_2u": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":7, "y":0}, {"label":"U", "x":8, "y":0}, {"label":"I", "x":9, "y":0}, {"label":"O", "x":10, "y":0}, {"label":"P", "x":11, "y":0}, {"label":"Back Space", "x":12, "y":0}, {"label":"Tab", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":7, "y":1}, {"label":"J", "x":8, "y":1}, {"label":"K", "x":9, "y":1}, {"label":"L", "x":10, "y":1}, {"label":";", "x":11, "y":1}, {"label":"Return", "x":12, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":",", "x":9, "y":2}, {"label":".", "x":10, "y":2}, {"label":"/", "x":11, "y":2}, {"label":"Shift", "x":12, "y":2}, {"label":"Ctl", "x":0, "y":3}, {"label":"Alt", "x":3, "y":3}, {"x":4, "y":3, "w":2}, {"x":7, "y":3, "w":2}, {"label":"Fn", "x":9, "y":3}, {"label":"OS", "x":12, "y":3}] + }, + "LAYOUT_1u": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":7, "y":0}, {"label":"U", "x":8, "y":0}, {"label":"I", "x":9, "y":0}, {"label":"O", "x":10, "y":0}, {"label":"P", "x":11, "y":0}, {"label":"Back Space", "x":12, "y":0}, {"label":"Tab", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":7, "y":1}, {"label":"J", "x":8, "y":1}, {"label":"K", "x":9, "y":1}, {"label":"L", "x":10, "y":1}, {"label":";", "x":11, "y":1}, {"label":"Return", "x":12, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":",", "x":9, "y":2}, {"label":".", "x":10, "y":2}, {"label":"/", "x":11, "y":2}, {"label":"Shift", "x":12, "y":2}, {"label":"Ctl", "x":0, "y":3}, {"label":"Alt", "x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"label":"Fn", "x":9, "y":3}, {"label":"OS", "x":12, "y":3}] + }, + "LAYOUT_1u2u": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":7, "y":0}, {"label":"U", "x":8, "y":0}, {"label":"I", "x":9, "y":0}, {"label":"O", "x":10, "y":0}, {"label":"P", "x":11, "y":0}, {"label":"Back Space", "x":12, "y":0}, {"label":"Tab", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":7, "y":1}, {"label":"J", "x":8, "y":1}, {"label":"K", "x":9, "y":1}, {"label":"L", "x":10, "y":1}, {"label":";", "x":11, "y":1}, {"label":"Return", "x":12, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":",", "x":9, "y":2}, {"label":".", "x":10, "y":2}, {"label":"/", "x":11, "y":2}, {"label":"Shift", "x":12, "y":2}, {"x":0, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":7, "y":3, "w":2}, {"x":9, "y":3}, {"label":"OS", "x":12, "y":3}] + }, + "LAYOUT_2u1u": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":7, "y":0}, {"label":"U", "x":8, "y":0}, {"label":"I", "x":9, "y":0}, {"label":"O", "x":10, "y":0}, {"label":"P", "x":11, "y":0}, {"label":"Back Space", "x":12, "y":0}, {"label":"Tab", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":7, "y":1}, {"label":"J", "x":8, "y":1}, {"label":"K", "x":9, "y":1}, {"label":"L", "x":10, "y":1}, {"label":";", "x":11, "y":1}, {"label":"Return", "x":12, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":7, "y":2}, {"label":"M", "x":8, "y":2}, {"label":",", "x":9, "y":2}, {"label":".", "x":10, "y":2}, {"label":"/", "x":11, "y":2}, {"label":"Shift", "x":12, "y":2}, {"x":0, "y":3}, {"x":3, "y":3}, {"x":4, "y":3, "w":2}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"label":"OS", "x":12, "y":3}] + } + + } +} diff --git a/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c new file mode 100644 index 000000000000..056c36d32a92 --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/keymaps/1u/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2020 Eye Oh! 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 + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + + _QWERTY, + _FUNCTN, + _NUMBRS, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_1u( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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, MO(_FUNCTN), MO(_NUMBRS), KC_SPC, KC_SPC, MO(_NUMBRS), MO(_FUNCTN), KC_RALT + ), + [_FUNCTN] = LAYOUT_1u( + KC_VOLU, KC_Q, KC_PGUP, RGB_TOG, BL_STEP, KC_T, KC_Y, KC_U, KC_UP, RGB_MOD, RGB_RMOD, KC_DEL, + KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, RESET, + KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LBRC, KC_RBRC, RGB_VAI, RGB_VAD, KC_DOT, KC_BSLS, KC_RSFT, + KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_NUMBRS] = LAYOUT_1u( + 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_MUTE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENT, + KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RSFT, + KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c new file mode 100644 index 000000000000..c161c714b360 --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/keymaps/1u2u/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2020 Eye Oh! 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 + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _FUNCTN, + _NUMBRS, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_1u_2u( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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_LALT, MO(_FUNCTN), MO(_NUMBRS), KC_SPC, MO(_FUNCTN), KC_RCTL + ), + [_FUNCTN] = LAYOUT_1u_2u( + KC_VOLU, KC_Q, KC_PGUP, RGB_TOG, BL_STEP, KC_T, KC_Y, KC_U, KC_UP, RGB_MOD, RGB_RMOD, KC_DEL, + KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, RESET, + KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LBRC, KC_RBRC, RGB_VAI, RGB_VAD, KC_DOT, KC_BSLS, KC_RSFT, + KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, RESET + ), + [_NUMBRS] = LAYOUT_1u_2u( + 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_MUTE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENT, + KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RSFT, + KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_RCTL + ), +}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c new file mode 100644 index 000000000000..3c5de89d65c3 --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/keymaps/2u1u/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2020 Eye Oh! 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 + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + + _QWERTY, + _FUNCTN, + _NUMBRS, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_2u_1u( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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, MO(_FUNCTN), KC_SPC, MO(_NUMBRS), MO(_FUNCTN), KC_LGUI, KC_RALT + ), + [_FUNCTN] = LAYOUT_2u_1u( + KC_VOLU, KC_Q, KC_PGUP, RGB_TOG, BL_STEP, KC_T, KC_Y, KC_U, KC_UP, RGB_MOD, RGB_RMOD, KC_DEL, + KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, RESET, + KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LBRC, KC_RBRC, RGB_VAI, RGB_VAD, KC_DOT, KC_BSLS, KC_RSFT, + KC_LCTL, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS + ), + [_NUMBRS] = LAYOUT_2u_1u( + 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_MUTE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENT, + KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RSFT, + KC_LCTL, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS + ), +}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c new file mode 100644 index 000000000000..004a47678df9 --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/keymaps/default/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2020 Eye Oh! 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 + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _FUNCTN, + _NUMBRS, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_2u( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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_LALT, MO(_NUMBRS), KC_SPC, MO(_FUNCTN), KC_LGUI + ), + [_FUNCTN] = LAYOUT_2u( + KC_VOLU, KC_Q, KC_PGUP, RGB_TOG, BL_STEP, KC_T, KC_Y, KC_U, KC_UP, RGB_MOD, RGB_RMOD, KC_DEL, + KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, RESET, + KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LBRC, KC_RBRC, RGB_VAI, RGB_VAD, KC_DOT, KC_BSLS, KC_RSFT, + KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, RESET + ), + [_NUMBRS] = LAYOUT_2u( + 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_MUTE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENT, + KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RSFT, + KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_LGUI + ), +}; \ No newline at end of file diff --git a/keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c new file mode 100644 index 000000000000..ea62241e9d8e --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/keymaps/melonbred/keymap.c @@ -0,0 +1,62 @@ +/* Copyright 2020 melonbred + * + * 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 { + LAYER0, + LAYER1, + LAYER2, +}; + + +// Tap Dance Declarations +enum { + TD_M_D = 0, + TD_P_M +}; + +// Tap Dance Definition +qk_tap_dance_action_t tap_dance_actions[] = { + //Tap once for minus, tap twice for divide + [TD_M_D] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_PSLS), + //Tap once for plus, tap twice for multiply + [TD_P_M] = ACTION_TAP_DANCE_DOUBLE(KC_PPLS, KC_PAST) +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER0] = LAYOUT_2u( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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(LAYER2), KC_LALT, LT(LAYER1, KC_SPC), KC_SPC, KC_RALT, KC_LGUI + ), + + [LAYER1] = LAYOUT_2u( + KC_GRV, KC_QUOT, _______, KC_UP, _______, _______, KC_7, KC_8, KC_9, KC_PMNS, KC_PSLS, KC_DEL, + KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_4, KC_5, KC_6, KC_PPLS, KC_PAST, KC_ENT, + KC_LSFT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_1, KC_2, KC_3, XXXXXXX, XXXXXXX, KC_RSFT, + XXXXXXX, _______, _______, KC_0, KC_PDOT, _______ + ), + + [LAYER2] = LAYOUT_2u( + 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_VOLU, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_VOLD, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, KC_RCTL, KC_RALT, KC_DEL, XXXXXXX, + _______, KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), +}; diff --git a/keyboards/eyeohdesigns/babyv/readme.md b/keyboards/eyeohdesigns/babyv/readme.md new file mode 100644 index 000000000000..6a367f376d0d --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/readme.md @@ -0,0 +1,21 @@ +# babyV + +![babyV](https://i.imgur.com/iRUm9I5l.jpg) + +babyV is a 40% ortholinear take on the EM7/Alice layout. + +* Keyboard Maintainer: [Eye Oh Designs](https://github.com/joedinkle) +* Hardware Supported: babyV ver 1.00 +* Hardware Availability: Groupbuy ran from Nov - Dec 2020 + +Make example for this keyboard (after setting up your build environment): + + make eyeohdesigns/babyv:default + +Flashing example for this keyboard: + + make eyeohdesigns/babyv:default:flash + +To enter the bootloader, either depress the reset button on the back of the PCB, or use the 'RESET' keycode found on the function layer. + +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/eyeohdesigns/babyv/rules.mk b/keyboards/eyeohdesigns/babyv/rules.mk new file mode 100644 index 000000000000..b3d73f58298a --- /dev/null +++ b/keyboards/eyeohdesigns/babyv/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/eyeohdesigns/readme.md b/keyboards/eyeohdesigns/readme.md new file mode 100644 index 000000000000..7710bfc15406 --- /dev/null +++ b/keyboards/eyeohdesigns/readme.md @@ -0,0 +1,13 @@ +# eye oh designs + +When I'm not spending time with family, or busy with work, I make keyboards that I hope you'll love. + +Stay up to date with my projects on Instagram: @eyeohdesigns + +I post on reddit and Geekhack as joedinkle + +![Longbow](https://i.imgur.com/nZz3tII.jpg) + +![SPRH](https://imgur.com/DHR0beSl.jpg) + +![S50](https://imgur.com/9aGFOUi.jpg) diff --git a/keyboards/eyeohdesigns/sprh/config.h b/keyboards/eyeohdesigns/sprh/config.h new file mode 100644 index 000000000000..45a315853687 --- /dev/null +++ b/keyboards/eyeohdesigns/sprh/config.h @@ -0,0 +1,44 @@ +/* +Copyright 2021 Eye Oh 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Eye Oh Designs +#define PRODUCT sprh + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 +#define ENCODERS_PAD_A {D0} +#define ENCODERS_PAD_B {D1} +#define ENCODER_RESOLUTION 2 + + +#define MATRIX_ROW_PINS { B3, B7, D2, D5, D3 } +#define MATRIX_COL_PINS { E6, F0, F1, F4, F5, F6, C6, B6, B5, B4, D7, D6, F7, D4 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/info.json b/keyboards/eyeohdesigns/sprh/info.json new file mode 100644 index 000000000000..f2a3070bc0d5 --- /dev/null +++ b/keyboards/eyeohdesigns/sprh/info.json @@ -0,0 +1,15 @@ +{ + "keyboard_name": "sprh", + "url": "", + "maintainer": "eye oh designs", + "width": 17.25, + "height": 5, + "layouts": { + "LAYOUT_default": { + "layout": [{"label":"Encd", "x":0.5, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"label":"Tab", "x":1, "y":1, "w":1.5}, {"label":"Q", "x":2.5, "y":1}, {"label":"W", "x":3.5, "y":1}, {"label":"E", "x":4.5, "y":1}, {"label":"R", "x":5.5, "y":1}, {"label":"T", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"[", "x":12.5, "y":1}, {"label":"]", "x":13.5, "y":1}, {"label":"\\", "x":14.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"H", "x":7.5, "y":2}, {"label":"J", "x":8.5, "y":2}, {"label":"K", "x":9.5, "y":2}, {"label":"L", "x":10.5, "y":2}, {"label":";", "x":11.5, "y":2}, {"label":"'", "x":12.5, "y":2}, {"label":"Enter", "x":13.5, "y":2, "w":2.25}, {"label":"Shift", "x":0.25, "y":3, "w":2.25}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":",", "x":9.5, "y":3}, {"label":".", "x":10.5, "y":3}, {"label":"/", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":2.75}, {"label":"\u2191", "x":15.25, "y":3}, {"label":"Super", "x":0, "y":4, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.37, "y":4, "w":1.25}, {"x":4.62, "y":4, "w":6.25}, {"label":"Alt", "x":10.87, "y":4, "w":1.25}, {"label":"Function", "x":12.12, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4}, {"label":"\u2193", "x":15.25, "y":4}, {"label":"\u2192", "x":16.25, "y":4}] + }, + "LAYOUT_split": { + "layout": [{"label":"Encd", "x":0.5, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"\u2190", "x":14.5, "y":0}, {"label":"Del", "x":15.5, "y":0}, {"label":"Tab", "x":1, "y":1, "w":1.5}, {"label":"Q", "x":2.5, "y":1}, {"label":"W", "x":3.5, "y":1}, {"label":"E", "x":4.5, "y":1}, {"label":"R", "x":5.5, "y":1}, {"label":"T", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"[", "x":12.5, "y":1}, {"label":"]", "x":13.5, "y":1}, {"label":"\\", "x":14.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"H", "x":7.5, "y":2}, {"label":"J", "x":8.5, "y":2}, {"label":"K", "x":9.5, "y":2}, {"label":"L", "x":10.5, "y":2}, {"label":";", "x":11.5, "y":2}, {"label":"'", "x":12.5, "y":2}, {"label":"Enter", "x":13.5, "y":2, "w":2.25}, {"label":"Shift", "x":0.25, "y":3, "w":2.25}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":",", "x":9.5, "y":3}, {"label":".", "x":10.5, "y":3}, {"label":"/", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":1.75}, {"label":"Fn", "x":14.25, "y":3}, {"label":"\u2191", "x":15.25, "y":3}, {"label":"Super", "x":0, "y":4, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.37, "y":4, "w":1.25}, {"x":4.62, "y":4, "w":2.75}, {"x":7.37, "y":4, "w":2.25}, {"x":9.62, "y":4, "w":1.25}, {"label":"Alt", "x":10.87, "y":4, "w":1.25}, {"label":"Function", "x":12.12, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4}, {"label":"\u2193", "x":15.25, "y":4}, {"label":"\u2192", "x":16.25, "y":4}] + } + } +} \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c new file mode 100644 index 000000000000..c66fb90c29d6 --- /dev/null +++ b/keyboards/eyeohdesigns/sprh/keymaps/default/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2019 IOD + * + * 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 custom_layers { + _QWERTY, + _FUNCTN, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_default(/* Base */ + KC_MUTE, 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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(_FUNCTN), KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [_FUNCTN] = LAYOUT_default(/* Base */ + RESET, KC_GRAVE, 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_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, + KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FUNCTN), KC_RALT, KC_HOME, KC_PGDN, KC_END + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else{ + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/eyeohdesigns/sprh/keymaps/split/keymap.c b/keyboards/eyeohdesigns/sprh/keymaps/split/keymap.c new file mode 100644 index 000000000000..3ed21b6e4d12 --- /dev/null +++ b/keyboards/eyeohdesigns/sprh/keymaps/split/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2019 IOD + * + * 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 custom_layers { + _QWERTY, + _FUNCTN, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_split(/* Base */ + KC_MUTE, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL, KC_MINS, KC_EQL, + 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_LCTL, 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_CAPS, 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(_FUNCTN), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_ESC, MO(_FUNCTN), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [_FUNCTN] = LAYOUT_split(/* Base */ + RESET, KC_GRAVE, 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_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else{ + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/eyeohdesigns/sprh/readme.md b/keyboards/eyeohdesigns/sprh/readme.md new file mode 100644 index 000000000000..59c5bce2c7e7 --- /dev/null +++ b/keyboards/eyeohdesigns/sprh/readme.md @@ -0,0 +1,21 @@ +# SPRH + +![SPRH](https://i.imgur.com/fkI5ryph.jpg) + +SPRH (Square Peg-Round Hole) is a 65% ortholinear board compatibile with standard keycap sets. + +* Keyboard Maintainer: [Eye Oh Designs](https://github.com/joedinkle) +* Hardware Supported: SPRH ver 1.00 +* Hardware Availability: Groupbuy ran in April 2021 + +Make example for this keyboard (after setting up your build environment): + + make eyeohdesigns/sprh:default + +Flashing example for this keyboard: + + make eyeohdesigns/sprh:default:flash + +To enter the bootloader, either depress the reset button on the back of the PCB, or use the 'RESET' keycode found on the function layer. + +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/eyeohdesigns/sprh/rules.mk b/keyboards/eyeohdesigns/sprh/rules.mk new file mode 100644 index 000000000000..5f32c2fd6a2b --- /dev/null +++ b/keyboards/eyeohdesigns/sprh/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/sprh.c b/keyboards/eyeohdesigns/sprh/sprh.c new file mode 100644 index 000000000000..bc7ad7b9ba55 --- /dev/null +++ b/keyboards/eyeohdesigns/sprh/sprh.c @@ -0,0 +1,16 @@ +/* Copyright 2021 Eye Oh 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 "sprh.h" \ No newline at end of file diff --git a/keyboards/eyeohdesigns/sprh/sprh.h b/keyboards/eyeohdesigns/sprh/sprh.h new file mode 100644 index 000000000000..772a40a97710 --- /dev/null +++ b/keyboards/eyeohdesigns/sprh/sprh.h @@ -0,0 +1,55 @@ +/* Copyright 2021 Eye Oh 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 "quantum.h" + +/* This a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_default( \ + k43, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d,\ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d,\ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c,\ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d,\ + k40, k41, k42, k46, k48, k49, k4b, k4c, k4d\ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d},\ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d},\ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, KC_NO},\ + {KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d},\ + {k40, k41, k42, k43, KC_NO, KC_NO, k46, KC_NO, k48, k49, KC_NO, k4b, k4c, k4d},\ +} +#define LAYOUT_split( \ + k43, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k2d,\ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d,\ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c,\ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k49, k3d,\ + k40, k41, k42, k44, k45, k46, k47, k48, k4b, k4c, k4d\ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d},\ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d},\ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d},\ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d},\ + {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, KC_NO, k4b, k4c, k4d},\ +} diff --git a/keyboards/ez_maker/directpins/promicro/config.h b/keyboards/ez_maker/directpins/promicro/config.h new file mode 100644 index 000000000000..436e169c19c3 --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2021 Zach White + +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 "config_common.h" diff --git a/keyboards/ez_maker/directpins/promicro/info.json b/keyboards/ez_maker/directpins/promicro/info.json new file mode 100644 index 000000000000..ad91afeb9a61 --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/info.json @@ -0,0 +1,49 @@ +{ + "manufacturer": "Zach White", + "keyboard_name": "DirectPins ProMicro", + "maintainer": "skullydazed", + "bootloader": "atmel-dfu", + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["D3", null], + ["D2", null], + ["D1", "F4"], + ["D0", "F5"], + ["D4", "F6"], + ["C6", "F7"], + ["D7", "B1"], + ["E6", "B3"], + ["B4", "B2"], + ["B5", "B6"] + ] + }, + "processor": "atmega32u4", + "usb": { + "device_ver": "0x0001", + "pid": "0x2320", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"D3", "matrix": [0, 0], "x":0, "y":0}, + {"label":"D2", "matrix": [1, 0], "x":0, "y":1}, + {"label":"D1", "matrix": [2, 0], "x":0, "y":4}, {"label":"F4", "matrix": [2, 1], "x":2, "y":4}, + {"label":"D0", "matrix": [3, 0], "x":0, "y":5}, {"label":"F5", "matrix": [3, 1], "x":2, "y":5}, + {"label":"D4", "matrix": [4, 0], "x":0, "y":6}, {"label":"F6", "matrix": [4, 1], "x":2, "y":6}, + {"label":"C6", "matrix": [5, 0], "x":0, "y":7}, {"label":"F7", "matrix": [5, 1], "x":2, "y":7}, + {"label":"D7", "matrix": [6, 0], "x":0, "y":8}, {"label":"B1", "matrix": [6, 1], "x":2, "y":8}, + {"label":"E6", "matrix": [7, 0], "x":0, "y":9}, {"label":"B3", "matrix": [7, 1], "x":2, "y":9}, + {"label":"B4", "matrix": [8, 0], "x":0, "y":10}, {"label":"B2", "matrix": [8, 1], "x":2, "y":10}, + {"label":"B5", "matrix": [9, 0], "x":0, "y":11}, {"label":"B6", "matrix": [9, 1], "x":2, "y":11} + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json new file mode 100644 index 000000000000..f39a5802b9e5 --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/keymaps/default/keymap.json @@ -0,0 +1,19 @@ +{ + "keyboard": "ez_maker/directpins/promicro", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", + "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", + "KC_6", "KC_7", + "KC_8", "KC_9", + "KC_A", "KC_B", + "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/promicro/promicro.c b/keyboards/ez_maker/directpins/promicro/promicro.c new file mode 100644 index 000000000000..1f89eb39efd4 --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/promicro.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Zach White + * + * 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 "promicro.h" diff --git a/keyboards/ez_maker/directpins/promicro/promicro.h b/keyboards/ez_maker/directpins/promicro/promicro.h new file mode 100644 index 000000000000..386e50fb5b64 --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/promicro.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Zach White + * + * 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 "quantum.h" diff --git a/keyboards/ez_maker/directpins/promicro/readme.md b/keyboards/ez_maker/directpins/promicro/readme.md new file mode 100644 index 000000000000..b987ce0aad8b --- /dev/null +++ b/keyboards/ez_maker/directpins/promicro/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Promicro Pinout Guide](https://i.imgur.com/LZ194Hf.jpg) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Promicro +* Hardware Availability: Sparkfun, chinese clones + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/promicro -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/promicro -km 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). diff --git a/keyboards/ergotravel/keymaps/jpconstantineau/rules.mk b/keyboards/ez_maker/directpins/promicro/rules.mk similarity index 100% rename from keyboards/ergotravel/keymaps/jpconstantineau/rules.mk rename to keyboards/ez_maker/directpins/promicro/rules.mk diff --git a/keyboards/ez_maker/directpins/proton_c/info.json b/keyboards/ez_maker/directpins/proton_c/info.json new file mode 100644 index 000000000000..4b72f46105cc --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/info.json @@ -0,0 +1,60 @@ +{ + "manufacturer": "Zach White", + "keyboard_name": "DirectPins Proton C", + "maintainer": "skullydazed", + "debounce": 5, + "processor": "STM32F303", + "board": "QMK_PROTON_C", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["A9", null], + ["A10", null], + ["B7", "A2"], + ["B6", "A1"], + ["B5", "A0"], + ["B4", "B8"], + ["B3", "B13"], + ["B2", "B14"], + ["B1", "B15"], + ["B0", "B9"], + ["A4", "B10"], + ["A5", "B11"], + ["A6", "B12"], + ["A7", "A14"], + ["A8", "A13"], + ["A15", null] + ] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2321", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "A9", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "A10", "matrix": [1, 0], "x": 0, "y": 1 }, + { "label": "B7", "matrix": [2, 0], "x": 0, "y": 4 }, { "label": "A2", "matrix": [2, 1], "x": 2, "y": 4 }, + { "label": "B6", "matrix": [3, 0], "x": 0, "y": 5 }, { "label": "A1", "matrix": [3, 1], "x": 2, "y": 5 }, + { "label": "B5", "matrix": [4, 0], "x": 0, "y": 6 }, { "label": "A0", "matrix": [4, 1], "x": 2, "y": 6 }, + { "label": "B4", "matrix": [5, 0], "x": 0, "y": 7 }, { "label": "B8", "matrix": [5, 1], "x": 2, "y": 7 }, + { "label": "B3", "matrix": [6, 0], "x": 0, "y": 8 }, { "label": "B13", "matrix": [6, 1], "x": 2, "y": 8 }, + { "label": "B2", "matrix": [7, 0], "x": 0, "y": 9 }, { "label": "B14", "matrix": [7, 1], "x": 2, "y": 9 }, + { "label": "B1", "matrix": [8, 0], "x": 0, "y": 10 }, { "label": "B15", "matrix": [8, 1], "x": 2, "y": 10 }, + { "label": "B0", "matrix": [9, 0], "x": 0, "y": 11 }, { "label": "B9", "matrix": [9, 1], "x": 2, "y": 11 }, + { "label": "A4", "matrix": [10, 0], "x": 0, "y": 13 }, { "label": "B10", "matrix": [10, 1], "x": 2, "y": 13 }, + { "label": "A5", "matrix": [11, 0], "x": 0, "y": 14 }, { "label": "B11", "matrix": [11, 1], "x": 2, "y": 14 }, + { "label": "A6", "matrix": [12, 0], "x": 0, "y": 15 }, { "label": "B12", "matrix": [12, 1], "x": 2, "y": 15 }, + { "label": "A7", "matrix": [13, 0], "x": 0, "y": 16 }, { "label": "A14", "matrix": [13, 1], "x": 2, "y": 16 }, + { "label": "A8", "matrix": [14, 0], "x": 0, "y": 17 }, { "label": "A13", "matrix": [14, 1], "x": 2, "y": 17 }, + { "label": "A15", "matrix": [15, 0], "x": 0, "y": 18 } + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json new file mode 100644 index 000000000000..7af6d4476253 --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/keymaps/default/keymap.json @@ -0,0 +1,25 @@ +{ + "keyboard": "ez_maker/directpins/proton_c", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", + "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", + "KC_6", "KC_7", + "KC_8", "KC_9", + "KC_A", "KC_B", + "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H", + "KC_I", "KC_J", + "KC_K", "KC_L", + "KC_M", "KC_N", + "KC_O", "KC_P", + "KC_Q", "KC_R", + "KC_S" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md b/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md new file mode 100644 index 000000000000..69c6d2663b13 --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for directpins diff --git a/keyboards/ez_maker/directpins/proton_c/proton_c.c b/keyboards/ez_maker/directpins/proton_c/proton_c.c new file mode 100644 index 000000000000..75534b609f89 --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/proton_c.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Zach White + * + * 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 "proton_c.h" diff --git a/keyboards/ez_maker/directpins/proton_c/proton_c.h b/keyboards/ez_maker/directpins/proton_c/proton_c.h new file mode 100644 index 000000000000..386e50fb5b64 --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/proton_c.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Zach White + * + * 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 "quantum.h" diff --git a/keyboards/ez_maker/directpins/proton_c/readme.md b/keyboards/ez_maker/directpins/proton_c/readme.md new file mode 100644 index 000000000000..caf6c7c99508 --- /dev/null +++ b/keyboards/ez_maker/directpins/proton_c/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Proton-C Pinout Guide](https://i.imgur.com/NqsqmdF.png) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Proton C +* Hardware Availability: https://qmk.fm/proton-c + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/proton_c -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/proton_c -km 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). diff --git a/keyboards/keebio/fourier/keymaps/valgrahf/rules.mk b/keyboards/ez_maker/directpins/proton_c/rules.mk similarity index 100% rename from keyboards/keebio/fourier/keymaps/valgrahf/rules.mk rename to keyboards/ez_maker/directpins/proton_c/rules.mk diff --git a/keyboards/ez_maker/directpins/readme.md b/keyboards/ez_maker/directpins/readme.md new file mode 100644 index 000000000000..bd415f78a16f --- /dev/null +++ b/keyboards/ez_maker/directpins/readme.md @@ -0,0 +1,5 @@ +# DirectPins + +Easily assign keys to pins for your custom project using QMK Configurator. + +This directory exists so that people creating one-offs can easily hook up their pins to switches and flash QMK to it. diff --git a/keyboards/ez_maker/directpins/teensy_2/config.h b/keyboards/ez_maker/directpins/teensy_2/config.h new file mode 100644 index 000000000000..436e169c19c3 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2021 Zach White + +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 "config_common.h" diff --git a/keyboards/ez_maker/directpins/teensy_2/info.json b/keyboards/ez_maker/directpins/teensy_2/info.json new file mode 100644 index 000000000000..cc2e6feec76a --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/info.json @@ -0,0 +1,52 @@ +{ + "manufacturer": "Zach White", + "keyboard_name": "DirectPins Teensy 2.0", + "maintainer": "skullydazed", + "processor": "atmega32u4", + "bootloader": "halfkay", + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["B0", "F0"], + ["B1", "F1"], + ["B2", "F4"], + ["B3", "F5"], + ["B7", "F6"], + ["D0", "F7"], + ["D1", "B6"], + ["D2", "B5"], + ["D3", "B4"], + ["C6", "D7"], + ["C7", "D6"], + ["D5", "D4"] + ] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2322", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"B0", "matrix": [0, 0], "x":0, "y":1}, {"label":"F0", "matrix": [0, 1], "x":4, "y":1}, + {"label":"B1", "matrix": [1, 0], "x":0, "y":2}, {"label":"F1", "matrix": [1, 1], "x":4, "y":2}, + {"label":"B2", "matrix": [2, 0], "x":0, "y":3}, {"label":"F4", "matrix": [2, 1], "x":4, "y":3}, + {"label":"B3", "matrix": [3, 0], "x":0, "y":4}, {"label":"F5", "matrix": [3, 1], "x":4, "y":4}, + {"label":"B7", "matrix": [4, 0], "x":0, "y":5}, {"label":"F6", "matrix": [4, 1], "x":4, "y":5}, + {"label":"D0", "matrix": [5, 0], "x":0, "y":6}, {"label":"F7", "matrix": [5, 1], "x":4, "y":6}, + {"label":"D1", "matrix": [6, 0], "x":0, "y":7}, {"label":"B6", "matrix": [6, 1], "x":4, "y":7}, + {"label":"D2", "matrix": [7, 0], "x":0, "y":8}, {"label":"B5", "matrix": [7, 1], "x":4, "y":8}, + {"label":"D3", "matrix": [8, 0], "x":0, "y":9}, {"label":"B4", "matrix": [8, 1], "x":4, "y":9}, + {"label":"C6", "matrix": [9, 0], "x":0, "y":10}, {"label":"D7", "matrix": [9, 1], "x":4, "y":10}, + {"label":"C7", "matrix": [10, 0], "x":0, "y":11}, {"label":"D5", "matrix": [11, 0], "x":1, "y":11}, {"label":"D4", "matrix": [11, 1], "x":3, "y":11}, {"label":"D6", "matrix": [10, 1], "x":4, "y":11} + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json new file mode 100644 index 000000000000..f52247ec2793 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/keymaps/default/keymap.json @@ -0,0 +1,20 @@ +{ + "keyboard": "ez_maker/directpins/teensy2", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", + "KC_6", "KC_7", + "KC_8", "KC_9", + "KC_A", "KC_B", + "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H", + "KC_I", "KC_J", + "KC_K", "KC_L", "KC_M", "KC_N" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/teensy_2/readme.md b/keyboards/ez_maker/directpins/teensy_2/readme.md new file mode 100644 index 000000000000..997680b594e4 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Teensy 2.0 Pinout Guide](https://www.pjrc.com/teensy/pinout2a.png) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Teensy 2.0 +* Hardware Availability: https://www.pjrc.com/ + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/teensy2 -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/teensy2 -km 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). diff --git a/keyboards/keebio/laplace/keymaps/bakingpy/rules.mk b/keyboards/ez_maker/directpins/teensy_2/rules.mk similarity index 100% rename from keyboards/keebio/laplace/keymaps/bakingpy/rules.mk rename to keyboards/ez_maker/directpins/teensy_2/rules.mk diff --git a/keyboards/ez_maker/directpins/teensy_2/teensy2.c b/keyboards/ez_maker/directpins/teensy_2/teensy2.c new file mode 100644 index 000000000000..1ef3337a1a22 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/teensy2.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Zach White + * + * 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 "teensy2.h" diff --git a/keyboards/ez_maker/directpins/teensy_2/teensy2.h b/keyboards/ez_maker/directpins/teensy_2/teensy2.h new file mode 100644 index 000000000000..386e50fb5b64 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2/teensy2.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Zach White + * + * 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 "quantum.h" diff --git a/keyboards/ez_maker/directpins/teensy_2pp/config.h b/keyboards/ez_maker/directpins/teensy_2pp/config.h new file mode 100644 index 000000000000..436e169c19c3 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2021 Zach White + +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 "config_common.h" diff --git a/keyboards/ez_maker/directpins/teensy_2pp/info.json b/keyboards/ez_maker/directpins/teensy_2pp/info.json new file mode 100644 index 000000000000..1e2e69d90e7c --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/info.json @@ -0,0 +1,67 @@ +{ + "manufacturer": "Zach White", + "keyboard_name": "DirectPins Teensy 2.0++", + "maintainer": "skullydazed", + "processor": "at90usb1286", + "bootloader": "halfkay", + "debounce": 5, + "diode_direction": "COL2ROW", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["B7", null, null, "B6"], + ["D0", null, null, "B5"], + ["D1", null, null, "B4"], + ["D2", null, null, "B3"], + ["D3", null, null, "B2"], + ["D4", "E5", "E4", "B1"], + ["D5", null, null, "B0"], + ["D6", null, null, "E7"], + ["D7", null, null, "E6"], + ["E0", null, null, null], + ["E1", null, null, null], + ["C0", null, null, "F0"], + ["C1", "A4", "A0", "F1"], + ["C2", "A5", "A1", "F2"], + ["C3", "A6", "A2", "F3"], + ["C4", "A7", "A3", "F4"], + ["C5", null, null, "F5"], + ["C6", null, null, "F6"], + ["C7", null, null, "F7"], + ] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2323", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"B7", "matrix": [0, 0], "x":0, "y":1}, {"label":"B6", "matrix": [0, 3], "x":5, "y":1}, + {"label":"D0", "matrix": [1, 0], "x":0, "y":2}, {"label":"B5", "matrix": [1, 3], "x":5, "y":2}, + {"label":"D1", "matrix": [2, 0], "x":0, "y":3}, {"label":"B4", "matrix": [2, 3], "x":5, "y":3}, + {"label":"D2", "matrix": [3, 0], "x":0, "y":4}, {"label":"B3", "matrix": [3, 3], "x":5, "y":4}, + {"label":"D3", "matrix": [4, 0], "x":0, "y":5}, {"label":"B2", "matrix": [4, 3], "x":5, "y":5}, + {"label":"D4", "matrix": [5, 0], "x":0, "y":6}, {"label":"E5", "matrix": [5, 1], "x":2, "y":6}, {"label":"E4", "matrix": [5, 2], "x":3, "y":6}, {"label":"B1", "matrix": [5, 3], "x":5, "y":6}, + {"label":"D5", "matrix": [6, 0], "x":0, "y":7}, {"label":"B0", "matrix": [6, 3], "x":5, "y":7}, + {"label":"D6", "matrix": [7, 0], "x":0, "y":8}, {"label":"E7", "matrix": [7, 3], "x":5, "y":8}, + {"label":"D7", "matrix": [8, 0], "x":0, "y":9}, {"label":"E6", "matrix": [8, 3], "x":5, "y":9}, + {"label":"E0", "matrix": [9, 0], "x":0, "y":10}, + {"label":"E1", "matrix": [10, 0], "x":0, "y":11}, + {"label":"C0", "matrix": [11, 0], "x":0, "y":12}, {"label":"F0", "matrix": [11, 3], "x":5, "y":12}, + {"label":"C1", "matrix": [12, 0], "x":0, "y":13}, {"label":"A4", "matrix": [12, 1], "x":2, "y":13}, {"label":"A0", "matrix": [12, 2], "x":3, "y":13}, {"label":"F1", "matrix": [12, 3], "x":5, "y":13}, + {"label":"C2", "matrix": [13, 0], "x":0, "y":14}, {"label":"A5", "matrix": [13, 1], "x":2, "y":14}, {"label":"A1", "matrix": [13, 2], "x":3, "y":14}, {"label":"F2", "matrix": [13, 3], "x":5, "y":14}, + {"label":"C3", "matrix": [14, 0], "x":0, "y":15}, {"label":"A6", "matrix": [14, 1], "x":2, "y":15}, {"label":"A2", "matrix": [14, 2], "x":3, "y":15}, {"label":"F3", "matrix": [14, 3], "x":5, "y":15}, + {"label":"C4", "matrix": [15, 0], "x":0, "y":16}, {"label":"A7", "matrix": [15, 1], "x":2, "y":16}, {"label":"A3", "matrix": [15, 2], "x":3, "y":16}, {"label":"F4", "matrix": [15, 3], "x":5, "y":16}, + {"label":"C5", "matrix": [16, 0], "x":0, "y":17}, {"label":"F5", "matrix": [16, 3], "x":5, "y":17}, + {"label":"C6", "matrix": [17, 0], "x":0, "y":18}, {"label":"F6", "matrix": [17, 3], "x":5, "y":18}, + {"label":"C7", "matrix": [18, 0], "x":0, "y":19}, {"label":"F7", "matrix": [18, 3], "x":5, "y":19} + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json new file mode 100644 index 000000000000..444f8cacb33f --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/keymaps/default/keymap.json @@ -0,0 +1,28 @@ +{ + "keyboard": "ez_maker/directpins/promicro", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", + "KC_6", "KC_7", + "KC_8", "KC_9", + "KC_A", "KC_B", "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H", + "KC_I", "KC_J", + "KC_J", + "KC_L", + "KC_M", "KC_N", + "KC_O", "KC_P", "KC_Q", "KC_R", + "KC_S", "KC_T", "KC_U", "KC_V", + "KC_W", "KC_X", "KC_Y", "KC_Z", + "KC_P1", "KC_P2", "KC_P3", "KC_P4", + "KC_P5", "KC_P6", + "KC_P7", "KC_P8", + "KC_P9", "KC_P0" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/teensy_2pp/readme.md b/keyboards/ez_maker/directpins/teensy_2pp/readme.md new file mode 100644 index 000000000000..6b64dc8ac9b6 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Teensy 2.0++ Pinout Guide](https://www.pjrc.com/teensy/pinout4a.png) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Teensy 2.0++ +* Hardware Availability: https://www.pjrc.com/ + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/teensy2pp -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/teensy2pp -km 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). diff --git a/keyboards/mechlovin/hannah65/mechlovin9/rules.mk b/keyboards/ez_maker/directpins/teensy_2pp/rules.mk similarity index 100% rename from keyboards/mechlovin/hannah65/mechlovin9/rules.mk rename to keyboards/ez_maker/directpins/teensy_2pp/rules.mk diff --git a/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c new file mode 100644 index 000000000000..1ef3337a1a22 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Zach White + * + * 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 "teensy2.h" diff --git a/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h new file mode 100644 index 000000000000..386e50fb5b64 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_2pp/teensy2.h @@ -0,0 +1,19 @@ +/* Copyright 2021 Zach White + * + * 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 "quantum.h" diff --git a/keyboards/ez_maker/directpins/teensy_32/chconf.h b/keyboards/ez_maker/directpins/teensy_32/chconf.h new file mode 100644 index 000000000000..04c223e727cc --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/chconf.h @@ -0,0 +1,53 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_32/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 1000 + +#define CH_CFG_ST_TIMEDELTA 0 + +#define CH_CFG_TIME_QUANTUM 20 + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE + +#define CH_CFG_FACTORY_SEMAPHORES TRUE + +#define CH_CFG_FACTORY_MAILBOXES TRUE + +#define CH_CFG_FACTORY_OBJ_FIFOS TRUE + +#define CH_CFG_FACTORY_PIPES TRUE + +#define CH_DBG_SYSTEM_STATE_CHECK TRUE + +#define CH_DBG_ENABLE_CHECKS TRUE + +#define CH_DBG_ENABLE_ASSERTS TRUE + +#define CH_DBG_ENABLE_STACK_CHECK TRUE + +#define CH_DBG_FILL_THREADS TRUE + +#include_next + diff --git a/keyboards/ez_maker/directpins/teensy_32/config.h b/keyboards/ez_maker/directpins/teensy_32/config.h new file mode 100644 index 000000000000..861ae70e41c1 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/config.h @@ -0,0 +1,23 @@ +/* Copyright 2019 + * + * 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 + +// i2c_master defines +#define I2C1_SCL 0 // A2 on pinout = B0 +#define I2C1_SDA 1 // A3 on pinout = B1 +#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 +#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 diff --git a/keyboards/ez_maker/directpins/teensy_32/halconf.h b/keyboards/ez_maker/directpins/teensy_32/halconf.h new file mode 100644 index 000000000000..9ba6e8fc3125 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/halconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_32/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next + diff --git a/keyboards/ez_maker/directpins/teensy_32/info.json b/keyboards/ez_maker/directpins/teensy_32/info.json new file mode 100644 index 000000000000..5de8d90a5c7f --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/info.json @@ -0,0 +1,53 @@ +{ + "manufacturer": "QMK", + "keyboard_name": "DirectPins Teensy 3.2", + "maintainer": "skullydazed", + "debounce": 5, + "processor": "MK20DX256", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["LINE_PIN0", null, null], + ["LINE_PIN1", null, null], + ["LINE_PIN2", null, "LINE_PIN23"], + ["LINE_PIN3", "LINE_PIN24", "LINE_PIN22"], + ["LINE_PIN4", "LINE_PIN25", "LINE_PIN21"], + ["LINE_PIN5", null, "LINE_PIN20"], + ["LINE_PIN6", null, "LINE_PIN19"], + ["LINE_PIN7", null, "LINE_PIN18"], + ["LINE_PIN8", null, "LINE_PIN17"], + ["LINE_PIN9", null, "LINE_PIN16"], + ["LINE_PIN10", null, "LINE_PIN15"], + ["LINE_PIN11", null, "LINE_PIN14"], + ["LINE_PIN12", "E30", "LINE_PIN13"], + ] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2324", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "0", "matrix": [0, 0], "x": 0, "y": 1 }, + { "label": "1", "matrix": [1, 0], "x": 0, "y": 2 }, + { "label": "2", "matrix": [2, 0], "x": 0, "y": 3 }, { "label": "23", "matrix": [2, 2], "x": 3, "y": 3 }, + { "label": "3", "matrix": [3, 0], "x": 0, "y": 4 }, { "label": "24", "matrix": [3, 1], "x": 2, "y": 4 }, { "label": "22", "matrix": [3, 2], "x": 3, "y": 4 }, + { "label": "4", "matrix": [4, 0], "x": 0, "y": 5 }, { "label": "25", "matrix": [4, 1], "x": 2, "y": 5 }, { "label": "21", "matrix": [4, 2], "x": 3, "y": 5 }, + { "label": "5", "matrix": [5, 0], "x": 0, "y": 6 }, { "label": "20", "matrix": [5, 2], "x": 3, "y": 6 }, + { "label": "6", "matrix": [6, 0], "x": 0, "y": 7 }, { "label": "19", "matrix": [6, 2], "x": 3, "y": 7 }, + { "label": "7", "matrix": [7, 0], "x": 0, "y": 8 }, { "label": "18", "matrix": [7, 2], "x": 3, "y": 8 }, + { "label": "8", "matrix": [8, 0], "x": 0, "y": 9 }, { "label": "17", "matrix": [8, 2], "x": 3, "y": 9 }, + { "label": "9", "matrix": [9, 0], "x": 0, "y": 10 }, { "label": "16", "matrix": [9, 2], "x": 3, "y": 10 }, + { "label": "10", "matrix": [10, 0], "x": 0, "y": 11 }, { "label": "15", "matrix": [10, 2], "x": 3, "y": 11 }, + { "label": "11", "matrix": [11, 0], "x": 0, "y": 12 }, { "label": "14", "matrix": [11, 2], "x": 3, "y": 12 }, + { "label": "12", "matrix": [12, 0], "x": 0, "y": 13 }, { "label": "26", "matrix": [12, 1], "x": 2, "y": 13 }, { "label": "13", "matrix": [12, 2], "x": 3, "y": 13 } + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json new file mode 100644 index 000000000000..4b289997c3cc --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/keymaps/default/keymap.json @@ -0,0 +1,22 @@ +{ + "keyboard": "ez_maker/directpins/teensy_32", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", + "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", "KC_6", + "KC_7", "KC_8", "KC_9", + "KC_A", "KC_B", + "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H", + "KC_I", "KC_J", + "KC_K", "KC_L", + "KC_M", "KC_N", + "KC_O", "KC_P", "KC_Q" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/teensy_32/mcuconf.h b/keyboards/ez_maker/directpins/teensy_32/mcuconf.h new file mode 100644 index 000000000000..327f5c9aa3b5 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/mcuconf.h @@ -0,0 +1,51 @@ +/* + ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef _MCUCONF_H_ +#define _MCUCONF_H_ + +#define K20x_MCUCONF + +/* + * HAL driver system settings. + */ +/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */ +#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE +#define KINETIS_PLLCLK_FREQUENCY 96000000UL +#define KINETIS_SYSCLK_FREQUENCY 48000000UL + +/* + * SERIAL driver system settings. + */ +#define KINETIS_SERIAL_USE_UART0 TRUE + +/* + * USB driver settings + */ +#define KINETIS_USB_USE_USB0 TRUE + +/* Need to redefine this, since the default (configured for K20x) might not apply + * 2 for Teensy LC + * 5 for Teensy 3.x */ +#define KINETIS_USB_USB0_IRQ_PRIORITY 5 + +/* + * I2C driver settings + */ +#define KINETIS_I2C_USE_I2C0 TRUE +#define KINETIS_I2C_I2C0_PRIORITY 4 + +#endif /* _MCUCONF_H_ */ diff --git a/keyboards/ez_maker/directpins/teensy_32/readme.md b/keyboards/ez_maker/directpins/teensy_32/readme.md new file mode 100644 index 000000000000..76b4573193e6 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Teensy 3.2 Pinout Guide](https://www.pjrc.com/teensy/card7a_rev1.png) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Teensy 3.2 +* Hardware Availability: https://pjrc.com/ + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/teensy_32 -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/teensy_32 -km 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). diff --git a/keyboards/ez_maker/directpins/teensy_32/rules.mk b/keyboards/ez_maker/directpins/teensy_32/rules.mk new file mode 100644 index 000000000000..a92b0993283e --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_32/rules.mk @@ -0,0 +1,2 @@ +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/ez_maker/directpins/teensy_lc/chconf.h b/keyboards/ez_maker/directpins/teensy_lc/chconf.h new file mode 100644 index 000000000000..659dca63add4 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/chconf.h @@ -0,0 +1,53 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_lc/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 1000 + +#define CH_CFG_ST_TIMEDELTA 0 + +#define CH_CFG_TIME_QUANTUM 20 + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE + +#define CH_CFG_FACTORY_SEMAPHORES TRUE + +#define CH_CFG_FACTORY_MAILBOXES TRUE + +#define CH_CFG_FACTORY_OBJ_FIFOS TRUE + +#define CH_CFG_FACTORY_PIPES TRUE + +#define CH_DBG_SYSTEM_STATE_CHECK TRUE + +#define CH_DBG_ENABLE_CHECKS TRUE + +#define CH_DBG_ENABLE_ASSERTS TRUE + +#define CH_DBG_ENABLE_STACK_CHECK TRUE + +#define CH_DBG_FILL_THREADS TRUE + +#include_next + diff --git a/keyboards/ez_maker/directpins/teensy_lc/config.h b/keyboards/ez_maker/directpins/teensy_lc/config.h new file mode 100644 index 000000000000..861ae70e41c1 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/config.h @@ -0,0 +1,23 @@ +/* Copyright 2019 + * + * 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 + +// i2c_master defines +#define I2C1_SCL 0 // A2 on pinout = B0 +#define I2C1_SDA 1 // A3 on pinout = B1 +#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2 +#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2 diff --git a/keyboards/ez_maker/directpins/teensy_lc/halconf.h b/keyboards/ez_maker/directpins/teensy_lc/halconf.h new file mode 100644 index 000000000000..bd9fe497f297 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/halconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ez_maker/onekey/teensy_lc/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next + diff --git a/keyboards/ez_maker/directpins/teensy_lc/info.json b/keyboards/ez_maker/directpins/teensy_lc/info.json new file mode 100644 index 000000000000..882fa9ad958b --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/info.json @@ -0,0 +1,53 @@ +{ + "manufacturer": "Zach White", + "keyboard_name": "DirectPins Teensy LC", + "maintainer": "skullydazed", + "debounce": 5, + "processor": "MKL26Z64", + "features": { + "bootmagic_lite": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["LINE_PIN0", null, null], + ["LINE_PIN1", null, null], + ["LINE_PIN2", null, "LINE_PIN23"], + ["LINE_PIN3", "LINE_PIN24", "LINE_PIN22"], + ["LINE_PIN4", "LINE_PIN25", "LINE_PIN21"], + ["LINE_PIN5", null, "LINE_PIN20"], + ["LINE_PIN6", null, "LINE_PIN19"], + ["LINE_PIN7", null, "LINE_PIN18"], + ["LINE_PIN8", null, "LINE_PIN17"], + ["LINE_PIN9", null, "LINE_PIN16"], + ["LINE_PIN10", null, "LINE_PIN15"], + ["LINE_PIN11", null, "LINE_PIN14"], + ["LINE_PIN12", "E30", "LINE_PIN13"], + ] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2325", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + { "label": "0", "matrix": [0, 0], "x": 0, "y": 1 }, + { "label": "1", "matrix": [1, 0], "x": 0, "y": 2 }, + { "label": "2", "matrix": [2, 0], "x": 0, "y": 3 }, { "label": "23", "matrix": [2, 2], "x": 3, "y": 3 }, + { "label": "3", "matrix": [3, 0], "x": 0, "y": 4 }, { "label": "24", "matrix": [3, 1], "x": 2, "y": 4 }, { "label": "22", "matrix": [3, 2], "x": 3, "y": 4 }, + { "label": "4", "matrix": [4, 0], "x": 0, "y": 5 }, { "label": "25", "matrix": [4, 1], "x": 2, "y": 5 }, { "label": "21", "matrix": [4, 2], "x": 3, "y": 5 }, + { "label": "5", "matrix": [5, 0], "x": 0, "y": 6 }, { "label": "20", "matrix": [5, 2], "x": 3, "y": 6 }, + { "label": "6", "matrix": [6, 0], "x": 0, "y": 7 }, { "label": "19", "matrix": [6, 2], "x": 3, "y": 7 }, + { "label": "7", "matrix": [7, 0], "x": 0, "y": 8 }, { "label": "18", "matrix": [7, 2], "x": 3, "y": 8 }, + { "label": "8", "matrix": [8, 0], "x": 0, "y": 9 }, { "label": "17", "matrix": [8, 2], "x": 3, "y": 9 }, + { "label": "9", "matrix": [9, 0], "x": 0, "y": 10 }, { "label": "16", "matrix": [9, 2], "x": 3, "y": 10 }, + { "label": "10", "matrix": [10, 0], "x": 0, "y": 11 }, { "label": "15", "matrix": [10, 2], "x": 3, "y": 11 }, + { "label": "11", "matrix": [11, 0], "x": 0, "y": 12 }, { "label": "14", "matrix": [11, 2], "x": 3, "y": 12 }, + { "label": "12", "matrix": [12, 0], "x": 0, "y": 13 }, { "label": "26", "matrix": [12, 1], "x": 2, "y": 13 }, { "label": "13", "matrix": [12, 2], "x": 3, "y": 13 } + ] + } + } +} diff --git a/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json b/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json new file mode 100644 index 000000000000..e2f557adf55d --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/keymaps/default/keymap.json @@ -0,0 +1,22 @@ +{ + "keyboard": "ez_maker/directpins/teensy_lc", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "KC_0", + "KC_1", + "KC_2", "KC_3", + "KC_4", "KC_5", "KC_6", + "KC_7", "KC_8", "KC_9", + "KC_A", "KC_B", + "KC_C", "KC_D", + "KC_E", "KC_F", + "KC_G", "KC_H", + "KC_I", "KC_J", + "KC_K", "KC_L", + "KC_M", "KC_N", + "KC_O", "KC_P", "KC_Q" + ] + ] +} diff --git a/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h b/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h new file mode 100644 index 000000000000..f73bec3dc3a8 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/mcuconf.h @@ -0,0 +1,51 @@ +/* + ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#ifndef _MCUCONF_H_ +#define _MCUCONF_H_ + +#define KL2x_MCUCONF + +/* + * HAL driver system settings. + */ +/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */ +#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE +#define KINETIS_PLLCLK_FREQUENCY 96000000UL +#define KINETIS_SYSCLK_FREQUENCY 48000000UL + +/* + * SERIAL driver system settings. + */ +#define KINETIS_SERIAL_USE_UART0 TRUE + +/* + * USB driver settings + */ +#define KINETIS_USB_USE_USB0 TRUE + +/* Need to redefine this, since the default (configured for K20x) might not apply + * 2 for Teensy LC + * 5 for Teensy 3.x */ +#define KINETIS_USB_USB0_IRQ_PRIORITY 2 + +/* + * I2C driver settings + */ +#define KINETIS_I2C_USE_I2C0 TRUE +#define KINETIS_I2C_I2C0_PRIORITY 4 + +#endif /* _MCUCONF_H_ */ diff --git a/keyboards/ez_maker/directpins/teensy_lc/readme.md b/keyboards/ez_maker/directpins/teensy_lc/readme.md new file mode 100644 index 000000000000..25172ab01cb2 --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/readme.md @@ -0,0 +1,19 @@ +# DirectPins + +![Teensy LC Pinout Guide](https://www.pjrc.com/teensy/card6a_rev2.png) + +Easily assign keys to pins for your custom project using QMK Configurator. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Teensy LC +* Hardware Availability: https://pjcr.com/ + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb ez_maker/directpins/teensy_lc -km default + +Flashing example for this keyboard: + + qmk flash -kb ez_maker/directpins/teensy_lc -km 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). diff --git a/keyboards/ez_maker/directpins/teensy_lc/rules.mk b/keyboards/ez_maker/directpins/teensy_lc/rules.mk new file mode 100644 index 000000000000..e04e8432848f --- /dev/null +++ b/keyboards/ez_maker/directpins/teensy_lc/rules.mk @@ -0,0 +1,5 @@ +# MCU name +USE_CHIBIOS_CONTRIB = yes + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/facew/rules.mk b/keyboards/facew/rules.mk index 72ccebf874c7..96f4fd3d71b6 100644 --- a/keyboards/facew/rules.mk +++ b/keyboards/facew/rules.mk @@ -2,17 +2,10 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # build options -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/fallacy/indicators.c b/keyboards/fallacy/indicators.c index 6c80f316787c..dcf1b4de070e 100755 --- a/keyboards/fallacy/indicators.c +++ b/keyboards/fallacy/indicators.c @@ -15,7 +15,7 @@ */ #include "indicators.h" -#include "drivers/issi/is31fl3731-simple.h" +#include "drivers/led/issi/is31fl3731-simple.h" #include "i2c_master.h" /* Set up IS31FL3731 for use in powering indicator LEDs. Absolutely overkill for this job but it was already in the design. @@ -54,7 +54,7 @@ void set_fallacy_led(int index, bool state) { /* define LED matrix */ -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { {0, C1_1}, {0, C2_1}, {0, C3_1}, diff --git a/keyboards/fallacy/rules.mk b/keyboards/fallacy/rules.mk index dfc96a31b83d..caf3628369cf 100755 --- a/keyboards/fallacy/rules.mk +++ b/keyboards/fallacy/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -18,13 +18,12 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output # project specific files SRC += indicators.c \ - drivers/issi/is31fl3731-simple.c + drivers/led/issi/is31fl3731-simple.c QUANTUM_LIB_SRC += i2c_master.c LAYOUTS = alice alice_split_bs diff --git a/keyboards/fc660c/matrix.c b/keyboards/fc660c/matrix.c index e6e49481046a..40d606f57221 100644 --- a/keyboards/fc660c/matrix.c +++ b/keyboards/fc660c/matrix.c @@ -28,6 +28,7 @@ along with this program. If not, see . #include "timer.h" #include "matrix.h" #include "led.h" +#include "avr/timer_avr.h" // Timer resolution check #if (1000000/TIMER_RAW_FREQ > 20) diff --git a/keyboards/fc660c/rules.mk b/keyboards/fc660c/rules.mk index 54fadc826457..1b6187acb3a3 100644 --- a/keyboards/fc660c/rules.mk +++ b/keyboards/fc660c/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -# BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/fc980c/config.h b/keyboards/fc980c/config.h index 8400d2cdabf2..b74ca64a5c3c 100644 --- a/keyboards/fc980c/config.h +++ b/keyboards/fc980c/config.h @@ -21,11 +21,14 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED +#define VENDOR_ID 0x4853 #define PRODUCT_ID 0x980C #define DEVICE_VER 0x0100 -#define MANUFACTURER QMK -#define PRODUCT Leopold FC980C with QMK +#define MANUFACTURER Hasu +#define PRODUCT FC980C + +/* Maximum dynamic keymap layers (constrained by EEPROM space) */ +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 /* key matrix size */ #define MATRIX_ROWS 8 diff --git a/keyboards/fc980c/keymaps/via/keymap.c b/keyboards/fc980c/keymaps/via/keymap.c new file mode 100644 index 000000000000..f498cd43a017 --- /dev/null +++ b/keyboards/fc980c/keymaps/via/keymap.c @@ -0,0 +1,41 @@ +/* +Copyright 2017 Balz Guenat + +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_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_DEL, KC_INS, KC_PGUP, KC_PGDN, + 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, + _______, _______, _______, _______, _______, KC_APP, _______, KC_HOME, KC_PGDN, KC_END, _______, _______), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/phase_studio/titan65/keymaps/via/rules.mk b/keyboards/fc980c/keymaps/via/rules.mk similarity index 100% rename from keyboards/phase_studio/titan65/keymaps/via/rules.mk rename to keyboards/fc980c/keymaps/via/rules.mk diff --git a/keyboards/fc980c/matrix.c b/keyboards/fc980c/matrix.c index 1126f3047ae7..6cdd9cf42e9a 100644 --- a/keyboards/fc980c/matrix.c +++ b/keyboards/fc980c/matrix.c @@ -28,6 +28,7 @@ along with this program. If not, see . #include "timer.h" #include "matrix.h" #include "led.h" +#include "avr/timer_avr.h" // #include QMK_KEYBOARD_H diff --git a/keyboards/fc980c/rules.mk b/keyboards/fc980c/rules.mk index 54fadc826457..1b6187acb3a3 100644 --- a/keyboards/fc980c/rules.mk +++ b/keyboards/fc980c/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -# BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/feels/feels65/config.h b/keyboards/feels/feels65/config.h new file mode 100644 index 000000000000..f311a4483438 --- /dev/null +++ b/keyboards/feels/feels65/config.h @@ -0,0 +1,36 @@ +/* Copyright 2021 Swiftrax + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x04D8 +#define PRODUCT_ID 0xE965 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Swiftrax +#define PRODUCT Feels65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* default pinout */ +#define MATRIX_ROW_PINS { D5, D3, D2, D1, D0 } +#define MATRIX_COL_PINS { B4, B5, B6, C6, C7, F7, F6, F5, F4, F1, F0, E6, B0, B1, B2, B3 } +#define UNUSED_PINS + +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/feels/feels65/feels65.c b/keyboards/feels/feels65/feels65.c new file mode 100644 index 000000000000..dc8b7664ab7c --- /dev/null +++ b/keyboards/feels/feels65/feels65.c @@ -0,0 +1,16 @@ +/* Copyright 2021 Swiftrax + * + * 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 "feels65.h" diff --git a/keyboards/feels/feels65/feels65.h b/keyboards/feels/feels65/feels65.h new file mode 100644 index 000000000000..21f5ab71889e --- /dev/null +++ b/keyboards/feels/feels65/feels65.h @@ -0,0 +1,95 @@ +/* Copyright 2021 Swiftrax + * + * 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 "quantum.h" + +#define XXX KC_NO + +#define LAYOUT_all( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \ + k40, k42, k43, k46, k4A, k4B, k4D, k4E, k4F \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + {k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + {k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E, k3F }, \ + {k40, XXX, k42, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E, k4F } \ +} + +#define LAYOUT_65_iso_blocker( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0F, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \ + k40, k42, k43, k46, k4A, k4B, k4D, k4E, k4F \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX, k0F }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E, k3F }, \ + { k40, XXX, k42, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E, k4F } \ +} + +#define LAYOUT_65_iso_blocker_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \ + k40, k42, k43, k46, k4A, k4B, k4D, k4E, k4F \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E, k3F }, \ + { k40, XXX, k42, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E, k4F } \ +} + +#define LAYOUT_65_ansi_blocker( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0F, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, k2F, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \ + k40, k42, k43, k46, k4A, k4B, k4D, k4E, k4F \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX, k0F }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E, k2F }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E, k3F }, \ + { k40, XXX, k42, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E, k4F } \ +} + +#define LAYOUT_65_ansi_blocker_split_bs( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \ + k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, \ + k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, k2F, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, \ + k40, k42, k43, k46, k4A, k4B, k4D, k4E, k4F \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ + { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ + { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E, k2F }, \ + { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E, k3F }, \ + { k40, XXX, k42, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E, k4F } \ +} diff --git a/keyboards/feels/feels65/info.json b/keyboards/feels/feels65/info.json new file mode 100644 index 000000000000..02cc735a25c9 --- /dev/null +++ b/keyboards/feels/feels65/info.json @@ -0,0 +1,391 @@ +{ + "keyboard_name": "Feels65", + "url": "https://github.com/swiftrax", + "maintainer": "Swiftrax", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":2, "w":1.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + } + } +} diff --git a/keyboards/feels/feels65/keymaps/default/keymap.c b/keyboards/feels/feels65/keymaps/default/keymap.c new file mode 100644 index 000000000000..d767872ffff7 --- /dev/null +++ b/keyboards/feels/feels65/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2021 Swiftrax + * + * 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_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_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, + RESET, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), +}; diff --git a/keyboards/feels/feels65/keymaps/via/keymap.c b/keyboards/feels/feels65/keymaps/via/keymap.c new file mode 100644 index 000000000000..a325a8410432 --- /dev/null +++ b/keyboards/feels/feels65/keymaps/via/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2021 Swiftrax + * + * 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 + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [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_BSPC, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_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_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_INS, + _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, + RESET, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/feels/feels65/keymaps/via/rules.mk b/keyboards/feels/feels65/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/feels/feels65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/feels/feels65/readme.md b/keyboards/feels/feels65/readme.md new file mode 100644 index 000000000000..c7eecc5e7336 --- /dev/null +++ b/keyboards/feels/feels65/readme.md @@ -0,0 +1,13 @@ +# Feels65 + +65% Keyboard. Physical Reset button on PCB and bootmagic to enter bootloader + +* Keyboard Maintainer: Swiftrax +* Hardware Supported: Feels65 PCB +* Hardware Availability: https://github.com/swiftrax + +Make example for this keyboard (after setting up your build environment): + + make feels/feels65: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). diff --git a/keyboards/feels/feels65/rules.mk b/keyboards/feels/feels65/rules.mk new file mode 100644 index 000000000000..3a183349af9a --- /dev/null +++ b/keyboards/feels/feels65/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs 65_iso_blocker 65_iso_blocker_split_bs diff --git a/keyboards/felix/config.h b/keyboards/felix/config.h index 884294e4efec..349359b32a91 100644 --- a/keyboards/felix/config.h +++ b/keyboards/felix/config.h @@ -175,26 +175,6 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/felix/rules.mk b/keyboards/felix/rules.mk index 01db7a2123be..24b65da84b77 100644 --- a/keyboards/felix/rules.mk +++ b/keyboards/felix/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/ferris/0_1/matrix.c b/keyboards/ferris/0_1/matrix.c index e13c35d358b9..0dfb150b6c70 100644 --- a/keyboards/ferris/0_1/matrix.c +++ b/keyboards/ferris/0_1/matrix.c @@ -72,40 +72,25 @@ uint8_t init_mcp23017(void) { // - unused : input : 1 // - input : input : 1 // - driving : output : 0 - mcp23017_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); - if (mcp23017_status) goto out; - mcp23017_status = i2c_write(IODIRA, I2C_TIMEOUT); - if (mcp23017_status) goto out; // This means: we will read all the bits on GPIOA - mcp23017_status = i2c_write(0b11111111, I2C_TIMEOUT); - if (mcp23017_status) goto out; // This means: we will write to the pins 0-4 on GPIOB (in select_rows) - mcp23017_status = i2c_write(0b11110000, I2C_TIMEOUT); - if (mcp23017_status) goto out; - i2c_stop(); - - // set pull-up - // - unused : on : 1 - // - input : on : 1 - // - driving : off : 0 - mcp23017_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); - if (mcp23017_status) goto out; - mcp23017_status = i2c_write(GPPUA, I2C_TIMEOUT); - if (mcp23017_status) goto out; - // This means: we will read all the bits on GPIOA - mcp23017_status = i2c_write(0b11111111, I2C_TIMEOUT); - if (mcp23017_status) goto out; - // This means: we will write to the pins 0-4 on GPIOB (in select_rows) - mcp23017_status = i2c_write(0b11110000, I2C_TIMEOUT); - if (mcp23017_status) goto out; - -out: - i2c_stop(); + uint8_t buf[] = {IODIRA, 0b11111111, 0b11110000}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT); + if (!mcp23017_status) { + // set pull-up + // - unused : on : 1 + // - input : on : 1 + // - driving : off : 0 + // This means: we will read all the bits on GPIOA + // This means: we will write to the pins 0-4 on GPIOB (in select_rows) + uint8_t pullup_buf[] = {GPPUA, 0b11111111, 0b11110000}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, pullup_buf, sizeof(pullup_buf), I2C_TIMEOUT); + } return mcp23017_status; } /* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; // debounced values +static matrix_row_t matrix[MATRIX_ROWS]; // debounced values static matrix_row_t read_cols(uint8_t row); static void init_cols(void); @@ -124,7 +109,7 @@ void matrix_init_custom(void) { // initialize matrix state: all keys off for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; + matrix[i] = 0; } } @@ -217,25 +202,18 @@ static matrix_row_t read_cols(uint8_t row) { if (mcp23017_status) { // if there was an error return 0; } else { - uint8_t data = 0; - mcp23017_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); - if (mcp23017_status) goto out; - mcp23017_status = i2c_write(GPIOA, I2C_TIMEOUT); - if (mcp23017_status) goto out; - mcp23017_status = i2c_start(I2C_ADDR_READ, I2C_TIMEOUT); - if (mcp23017_status) goto out; - mcp23017_status = i2c_read_nack(I2C_TIMEOUT); - if (mcp23017_status < 0) goto out; + uint8_t buf[] = {GPIOA}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT); // We read all the pins on GPIOA. // The initial state was all ones and any depressed key at a given column for the currently selected row will have its bit flipped to zero. // The return value is a row as represented in the generic matrix code were the rightmost bits represent the lower columns and zeroes represent non-depressed keys while ones represent depressed keys. // Since the pins connected to eact columns are sequential, and counting from zero up (col 5 -> GPIOA0, col 6 -> GPIOA1 and so on), the only transformation needed is a bitwise not to swap all zeroes and ones. - data = ~((uint8_t)mcp23017_status); - mcp23017_status = I2C_STATUS_SUCCESS; - out: - i2c_stop(); - // return reverse_bits(data, MATRIX_COLS_PER_SIDE); - return data; + uint8_t data[] = {0}; + if (!mcp23017_status) { + mcp23017_status = i2c_receive(I2C_ADDR_READ, data, sizeof(data), I2C_TIMEOUT); + data[0] = ~(data[0]); + } + return data[0]; } } } @@ -266,17 +244,10 @@ static void select_row(uint8_t row) { if (mcp23017_status) { // if there was an error // do nothing } else { - mcp23017_status = i2c_start(I2C_ADDR_WRITE, I2C_TIMEOUT); - if (mcp23017_status) goto out; - mcp23017_status = i2c_write(GPIOB, I2C_TIMEOUT); - if (mcp23017_status) goto out; // Select the desired row by writing a byte for the entire GPIOB bus where only the bit representing the row we want to select is a zero (write instruction) and every other bit is a one. // Note that the row - MATRIX_ROWS_PER_SIDE reflects the fact that being on the right hand, the columns are numbered from MATRIX_ROWS_PER_SIDE to MATRIX_ROWS, but the pins we want to write to are indexed from zero up on the GPIOB bus. - mcp23017_status = i2c_write(0xFF & ~(1 << (row - MATRIX_ROWS_PER_SIDE)), I2C_TIMEOUT); - - if (mcp23017_status) goto out; - out: - i2c_stop(); + uint8_t buf[] = {GPIOB, 0xFF & ~(1 << (row - MATRIX_ROWS_PER_SIDE))}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT); } } } diff --git a/keyboards/ferris/0_1/readme.md b/keyboards/ferris/0_1/readme.md new file mode 100644 index 000000000000..336ee3863e4c --- /dev/null +++ b/keyboards/ferris/0_1/readme.md @@ -0,0 +1,17 @@ +# Ferris 0.1 + +![Ferris 0.1 - base, top view](https://i.imgur.com/s6nTn0Ch.jpg) +![Ferris 0.1 - base, bottom view](https://i.imgur.com/Ymlac2Ah.jpg) + +An atmega32u4 based split 34 keys column staggered keyboard named and decorated after the rustlang mascott. All PCB files and some thoughts on the design are available on the [project's github page](https://github.com/pierrechevalier83/ferris) + +* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) +* Hardware Supported: + * Ferris 0.1: atmega32u4 chip. Comes in 4 variants: base, low, high and compact +* Hardware Availability: Pierre Chevalier has been selling keyboard kits (see the #ferris channel in the 40% discord chat). Wider availability is on the horizon. + +Make examples for this keyboard (after setting up your build environment): + + make ferris/0_1: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). diff --git a/keyboards/ferris/0_1/rules.mk b/keyboards/ferris/0_1/rules.mk index 8645dbba0dc7..2aaab9e6e365 100644 --- a/keyboards/ferris/0_1/rules.mk +++ b/keyboards/ferris/0_1/rules.mk @@ -6,7 +6,7 @@ BOOTLOADER = atmel-dfu # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ferris/0_2/0_2.c b/keyboards/ferris/0_2/0_2.c new file mode 100644 index 000000000000..519961dd3842 --- /dev/null +++ b/keyboards/ferris/0_2/0_2.c @@ -0,0 +1,17 @@ +/* +Copyright 2020 Pierre Chevalier + +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 "0_2.h" diff --git a/keyboards/ferris/0_2/0_2.h b/keyboards/ferris/0_2/0_2.h new file mode 100644 index 000000000000..4602637ca63c --- /dev/null +++ b/keyboards/ferris/0_2/0_2.h @@ -0,0 +1,43 @@ +/* +Copyright 2020 Pierre Chevalier + +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 "quantum.h" + +// clang-format off + +/* left hand right hand */ +#define LAYOUT(\ + K0_0, K0_1, K0_2, K0_3, K0_4, K0_5, K0_6, K0_7, K0_8, K0_9,\ + K1_0, K1_1, K1_2, K1_3, K1_4, K1_5, K1_6, K1_7, K1_8, K1_9,\ + K2_0, K2_1, K2_2, K2_3, K2_4, K2_5, K2_6, K2_7, K2_8, K2_9,\ + K3_3, K3_4, K3_5, K3_6)\ +/* matrix positions */\ +{\ + {K0_0, K0_1, K0_2, K0_3, K0_4},\ + {K1_0, K1_1, K1_2, K1_3, K1_4},\ + {K2_0, K2_1, K2_2, K2_3, K2_4},\ + {KC_NO, KC_NO, KC_NO, K3_3, K3_4},\ + \ + {K0_5, K0_6, K0_7, K0_8, K0_9},\ + {K1_5, K1_6, K1_7, K1_8, K1_9},\ + {K2_5, K2_6, K2_7, K2_8, K2_9},\ + {K3_5, K3_6, KC_NO, KC_NO, KC_NO}\ +} + +// clang-format on diff --git a/keyboards/ferris/0_2/bling/bling.c b/keyboards/ferris/0_2/bling/bling.c new file mode 100644 index 000000000000..e275abdad049 --- /dev/null +++ b/keyboards/ferris/0_2/bling/bling.c @@ -0,0 +1,77 @@ +/* +Copyright 2021 Pierre Chevalier + +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" + +#include "drivers/led/issi/is31fl3731.h" + +/* +| Left || Right | +| | 3 | | 0 || 0 | | 3 | | +| 5 | | | || | | | 6 | +| | | | || | | | | +| | | | 1 || 1 | | | | +| | 4 | | || | | 4 | | +| 6 | | | 2 || 2 | | | 5 | +*/ +const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { + /* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, C9_10, C8_10, C7_10}, // Left RGB 5 + {0, C9_12, C8_12, C7_12}, // Left RGB 3 + {0, C9_15, C8_15, C6_14}, // Left RGB 0 + {1, C1_2, C2_2, C4_3}, // Right RGB 0 + {1, C1_5, C2_5, C3_5}, // Right RGB 3 + {1, C1_8, C2_8, C3_8}, // Right RGB 6 + {1, C1_7, C2_7, C3_7}, // Right RGB 5 + {1, C1_6, C2_6, C3_6}, // Right RGB 4 + {1, C1_3, C2_3, C3_3}, // Right RGB 1 + {1, C1_4, C2_4, C3_4}, // Right RGB 2 + {0, C9_13, C8_13, C7_13}, // Left RGB 2 + {0, C9_14, C8_14, C7_14}, // Left RGB 1 + {0, C9_11, C8_11, C7_11}, // Left RGB 4 + {0, C9_9, C8_9, C7_9}, // Left RGB 6 +}; +// clang-format off +led_config_t g_led_config = { + // Key Matrix to LED Index + { + {}, + }, { + // LED Index to Physical Position. The unit is roughly milimiters in the real world + // | Left || Right | + // x->| 10 | 32 | 64 || 160 | 192 | 214 | + // y |_____|_____|____||_____|_____|_____| + // 0 | | 1 | 2 || 3 | 4 | | + // 16 | 0 | | || | | 5 | + // 35 | | | 11 || 8 | | | + // 45 | | 12 | || | 7 | | + // 50 | 13 | | 10 || 9 | | 6 | + // 0 1 2 3 4 5 + {10, 16}, {32, 0}, {64, 0}, {160, 0}, {192, 0}, {214, 16}, + // 6 7 8 9 + {214, 50}, {192, 45}, {160, 35}, {160, 50}, + // 10 11 12 13 + {64, 50}, {64, 35}, {32, 45}, {10, 50}, + }, { + // LED Index to Flag + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 + } +}; diff --git a/keyboards/ferris/0_2/bling/config.h b/keyboards/ferris/0_2/bling/config.h new file mode 100644 index 000000000000..bed489ca08f1 --- /dev/null +++ b/keyboards/ferris/0_2/bling/config.h @@ -0,0 +1,34 @@ +/* +Copyright 2021 Pierre Chevalier + +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 + +#undef PRODUCT_ID +#define PRODUCT_ID 0x0002 +#undef PRODUCT +#define PRODUCT Ferris 0.2 - Bling + + + +/* LED Drivers */ +#define DRIVER_ADDR_1 0b1110100 +#define DRIVER_ADDR_2 0b1110101 +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 7 +#define DRIVER_2_LED_TOTAL 7 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) + diff --git a/keyboards/ferris/0_2/bling/readme.md b/keyboards/ferris/0_2/bling/readme.md new file mode 100644 index 000000000000..c20be1edd140 --- /dev/null +++ b/keyboards/ferris/0_2/bling/readme.md @@ -0,0 +1,16 @@ +# Ferris 0.2 - Bling + +![Ferris 0.2 - Bling](https://i.imgur.com/8dmm5Mrh.jpg) + +Ferris 0.2 with RGB underglow. + +* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) +* Hardware Supported: + * Ferris 0.2 - Bling: (STM32F072 MCU on the left, MCP23017 on the right, IS31FL3731 led driver chip on each side) +* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com) + +Make examples for this keyboard (after setting up your build environment): + + make ferris/0_2/bling: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). diff --git a/keyboards/ferris/0_2/bling/rules.mk b/keyboards/ferris/0_2/bling/rules.mk new file mode 100644 index 000000000000..e04c8e467099 --- /dev/null +++ b/keyboards/ferris/0_2/bling/rules.mk @@ -0,0 +1,2 @@ +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = IS31FL3731 diff --git a/keyboards/ferris/0_2/chconf.h b/keyboards/ferris/0_2/chconf.h new file mode 100644 index 000000000000..c72955f65d5d --- /dev/null +++ b/keyboards/ferris/0_2/chconf.h @@ -0,0 +1,40 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ferris/0_2/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_OPTIMIZE_SPEED FALSE + +#define CH_CFG_USE_REGISTRY TRUE + +#define CH_CFG_USE_WAITEXIT TRUE + +#define CH_CFG_USE_CONDVARS TRUE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#define CH_CFG_USE_MESSAGES TRUE + +#define CH_CFG_USE_MAILBOXES TRUE + +#include_next diff --git a/keyboards/ferris/0_2/compact/config.h b/keyboards/ferris/0_2/compact/config.h new file mode 100644 index 000000000000..ee465b9acd6a --- /dev/null +++ b/keyboards/ferris/0_2/compact/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2021 Pierre Chevalier + +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 + +#undef PRODUCT_ID +#define PRODUCT_ID 0x0003 +#undef PRODUCT +#define PRODUCT Ferris 0.2 - Compact diff --git a/keyboards/ferris/0_2/compact/readme.md b/keyboards/ferris/0_2/compact/readme.md new file mode 100644 index 000000000000..b17b59bfae29 --- /dev/null +++ b/keyboards/ferris/0_2/compact/readme.md @@ -0,0 +1,17 @@ +# Ferris 0.2 - Compact + +![Ferris 0.2 - Compact, top view](https://i.imgur.com/V2ZLKjih.jpg) +![Ferris 0.2 - Compact, bottom view](https://i.imgur.com/3icP8pzh.jpg) + +Ferris 0.2 - Compact with Kailh Choc support and Choc spacing. + +* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) +* Hardware Supported: + * Ferris 0.2 - Compact: (STM32F072 MCU on the left, MCP23017 on the right) +* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com) + +Make examples for this keyboard (after setting up your build environment): + + make ferris/0_2/compact: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). diff --git a/keyboards/xd75/keymaps/boy_314/rules.mk b/keyboards/ferris/0_2/compact/rules.mk similarity index 100% rename from keyboards/xd75/keymaps/boy_314/rules.mk rename to keyboards/ferris/0_2/compact/rules.mk diff --git a/keyboards/ferris/0_2/config.h b/keyboards/ferris/0_2/config.h new file mode 100644 index 000000000000..89eac7ed1660 --- /dev/null +++ b/keyboards/ferris/0_2/config.h @@ -0,0 +1,80 @@ +/* +Copyright 2020 Pierre Chevalier + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xC2AB +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0002 +#define MANUFACTURER Cuddly Keyboards Ltd. +#define PRODUCT Ferris 0.2 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 10 + +#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2) +#define MATRIX_COLS_PER_SIDE (MATRIX_COLS / 2) + +#define UNUSED_MCU 24 +#define UNUSED_MCP 7 + +// wiring +#define MATRIX_ROW_PINS_MCU \ + { B7, B6, B5, A2 } +#define MATRIX_COL_PINS_MCU \ + { B8, B4, B3, A15, A14 } +#define UNUSED_PINS_MCU \ + { A0, A1, A3, A4, A5, A6, A7, A8, A9, A10, A13, B0, B1, B2, B9, B12, B13, B14, B15, C13, C14, C15, F0, F1 } +#define MATRIX_ROW_PINS_MCP \ + { B0, B1, B2, B3 } +#define MATRIX_COL_PINS_MCP \ + { A0, A1, A2, A3, A4 } +#define UNUSED_PINS_MCP \ + { B4, B5, B6, B7, A5, A6, A7 } + +#define MATRIX_ROW_PINS \ + { B7, B6, B5, A2, A0, A0, A0, A0 } +#define MATRIX_COL_PINS \ + { B8, B4, B3, A15, A14, A1, A1, A1, A1, A1 } +#define UNUSED_PINS \ + { A3, A4, A5, A6, A7, A8, A9, A10, A13, B0, B1, B2, B9, B12, B13, B14, B15, C13, C14, C15, F0, F1 } + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* i2c settings */ + +#define I2C_DRIVER I2CD2 +#define I2C1_SCL_BANK GPIOB +#define I2C1_SCL 10 +#define I2C1_SDA_BANK GPIOB +#define I2C1_SDA 11 +#define I2C1_TIMINGR_PRESC 2U +#define I2C1_TIMINGR_SCLDEL 1U +#define I2C1_TIMINGR_SDADEL 0U +#define I2C1_TIMINGR_SCLH 9U +#define I2C1_TIMINGR_SCLL 26U +#define I2C1_SCL_PAL_MODE 1 +#define I2C1_SDA_PAL_MODE 1 diff --git a/keyboards/ferris/0_2/halconf.h b/keyboards/ferris/0_2/halconf.h new file mode 100644 index 000000000000..037cbbdb409d --- /dev/null +++ b/keyboards/ferris/0_2/halconf.h @@ -0,0 +1,30 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ferris/0_2/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#define HAL_USE_PWM TRUE + +#define HAL_USE_SPI TRUE + +#include_next diff --git a/keyboards/ferris/0_2/high/config.h b/keyboards/ferris/0_2/high/config.h new file mode 100644 index 000000000000..67786241b42e --- /dev/null +++ b/keyboards/ferris/0_2/high/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2021 Pierre Chevalier + +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 + +#undef PRODUCT_ID +#define PRODUCT_ID 0x0005 +#undef PRODUCT +#define PRODUCT Ferris 0.2 - High diff --git a/keyboards/ferris/0_2/high/readme.md b/keyboards/ferris/0_2/high/readme.md new file mode 100644 index 000000000000..2f01b2b26029 --- /dev/null +++ b/keyboards/ferris/0_2/high/readme.md @@ -0,0 +1,17 @@ +# Ferris 0.2 - High + +![Ferris 0.2 - High, top view](https://i.imgur.com/aOqVmvph.jpg) +![Ferris 0.2 - High, bottom view](https://i.imgur.com/Nuqy5uJh.jpg) + +Ferris 0.2 - High with Cherry MX support. + +* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) +* Hardware Supported: + * Ferris 0.2 - High: (STM32F072 MCU on the left, MCP23017 on the right) +* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com) + +Make examples for this keyboard (after setting up your build environment): + + make ferris/0_2/high: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). diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/.noci b/keyboards/ferris/0_2/high/rules.mk similarity index 100% rename from keyboards/kbdfans/kbd67/mkiirgb/v1/.noci rename to keyboards/ferris/0_2/high/rules.mk diff --git a/keyboards/ferris/0_2/matrix.c b/keyboards/ferris/0_2/matrix.c new file mode 100644 index 000000000000..afa8a344cd21 --- /dev/null +++ b/keyboards/ferris/0_2/matrix.c @@ -0,0 +1,255 @@ +/* +Copyright 2013 Oleg Kostyuk + 2020 Pierre Chevalier + +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 . +*/ + +/* + * This code was heavily inspired by the ergodox_ez keymap, and modernized + * to take advantage of the quantum.h microcontroller agnostics gpio control + * abstractions and use the macros defined in config.h for the wiring as opposed + * to repeating that information all over the place. + */ + +#include QMK_KEYBOARD_H +#include "i2c_master.h" +#include + +extern i2c_status_t mcp23017_status; +#define MCP23017_I2C_TIMEOUT 1000 +#define I2C_WRITE 0x00 +#define I2C_READ 0x01 +// For a better understanding of the i2c protocol, this is a good read: +// https://www.robot-electronics.co.uk/i2c-tutorial + +// I2C address: +// See the datasheet, section 3.3.1 on addressing I2C devices and figure 3-6 for an +// illustration +// http://ww1.microchip.com/downloads/en/devicedoc/20001952c.pdf +// All address pins of the mcp23017 are connected to the ground on the ferris +// | 0 | 1 | 0 | 0 | A2 | A1 | A0 | +// | 0 | 1 | 0 | 0 | 0 | 0 | 0 | +#define I2C_ADDR 0b0100000 +#define I2C_ADDR_WRITE ((I2C_ADDR << 1) | I2C_WRITE) +#define I2C_ADDR_READ ((I2C_ADDR << 1) | I2C_READ) + +// Register addresses +// See https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library/blob/master/Adafruit_MCP23017.h +#define IODIRA 0x00 // i/o direction register +#define IODIRB 0x01 +#define GPPUA 0x0C // GPIO pull-up resistor register +#define GPPUB 0x0D +#define MCP23017_GPIOA 0x12 // general purpose i/o port register (write modifies OLAT) +#define MCP23017_GPIOB 0x13 +#define OLATA 0x14 // output latch register +#define OLATB 0x15 + +bool i2c_initialized = 0; +i2c_status_t mcp23017_status = I2C_ADDR; + +#define I2C2_SCL_BANK GPIOB +#define I2C2_SCL 10 +#define I2C2_SDA_BANK GPIOB +#define I2C2_SDA 11 + +uint8_t init_mcp23017(void) { + print("init mcp23017\n"); + mcp23017_status = I2C_ADDR; + + // I2C subsystem + if (i2c_initialized == 0) { + i2c_init(); // on pins D(1,0) + i2c_initialized = true; + wait_ms(MCP23017_I2C_TIMEOUT); + } + + // set pin direction + // - unused : input : 1 + // - input : input : 1 + // - driving : output : 0 + // This means: we will read all the bits on GPIOA + // This means: we will write to the pins 0-4 on GPIOB (in select_rows) + uint8_t buf[] = {IODIRA, 0b11111111, 0b11110000}; + print("before transmit\n"); + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), MCP23017_I2C_TIMEOUT); + uprintf("after transmit %i\n", mcp23017_status); + if (!mcp23017_status) { + // set pull-up + // - unused : on : 1 + // - input : on : 1 + // - driving : off : 0 + // This means: we will read all the bits on GPIOA + // This means: we will write to the pins 0-4 on GPIOB (in select_rows) + uint8_t pullup_buf[] = {GPPUA, 0b11111111, 0b11110000}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, pullup_buf, sizeof(pullup_buf), MCP23017_I2C_TIMEOUT); + uprintf("after transmit2 %i\n", mcp23017_status); + } + return mcp23017_status; +} + +/* matrix state(1:on, 0:off) */ +static matrix_row_t matrix[MATRIX_ROWS]; // debounced values + +static matrix_row_t read_cols(uint8_t row); +static void unselect_row(uint8_t row); +static void unselect_rows(void); +static void unselect_cols(void); +static void select_row(uint8_t row); + +static uint8_t mcp23017_reset_loop; + +static void init_mcu_pins(void) { + unselect_rows(); + unselect_cols(); +} + +void matrix_init_custom(void) { + debug_enable = true; + debug_matrix = true; + dprint("matrix_init_custom\n"); + // initialize row and col + init_mcu_pins(); + mcp23017_status = init_mcp23017(); + + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = 0; + } +} + +// Reads and stores a row, returning +// whether a change occurred. +static inline bool store_matrix_row(matrix_row_t current_matrix[], uint8_t index) { + matrix_row_t temp = read_cols(index); + if (current_matrix[index] != temp) { + current_matrix[index] = temp; + return true; + } + return false; +} + +bool matrix_scan_custom(matrix_row_t current_matrix[]) { + if (mcp23017_status) { // if there was an error + if (++mcp23017_reset_loop == 0) { + // if (++mcp23017_reset_loop >= 1300) { + // since mcp23017_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans + // this will be approx bit more frequent than once per second + print("trying to reset mcp23017\n"); + mcp23017_status = init_mcp23017(); + if (mcp23017_status) { + print("right side not responding\n"); + } else { + print("right side attached\n"); + } + } + } + + bool changed = false; + for (uint8_t i = 0; i < MATRIX_ROWS_PER_SIDE; i++) { + // select rows from left and right hands + uint8_t left_index = i; + uint8_t right_index = i + MATRIX_ROWS_PER_SIDE; + + changed |= store_matrix_row(current_matrix, left_index); + changed |= store_matrix_row(current_matrix, right_index); + + unselect_rows(); + } + + return changed; +} + +static matrix_row_t read_cols(uint8_t row) { + select_row(row); + if (row < MATRIX_ROWS_PER_SIDE) { + pin_t matrix_col_pins_mcu[MATRIX_COLS_PER_SIDE] = MATRIX_COL_PINS_MCU; + matrix_row_t current_row_value = 0; + matrix_io_delay(); + // For each col... + for (uint8_t col_index = 0; col_index < MATRIX_COLS_PER_SIDE; col_index++) { + // Select the col pin to read (active low) + uint8_t pin_state = readPin(matrix_col_pins_mcu[col_index]); + + // Populate the matrix row with the state of the col pin + current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + } + unselect_row(row); + return current_row_value; + } else { + // we don't need a 30us delay anymore, because selecting a + // right-hand row requires more than 30us for i2c. + if (mcp23017_status) { // if there was an error + return 0; + } else { + uint8_t buf[] = {MCP23017_GPIOA}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), MCP23017_I2C_TIMEOUT); + // We read all the pins on GPIOA. + // The initial state was all ones and any depressed key at a given column for the currently selected row will have its bit flipped to zero. + // The return value is a row as represented in the generic matrix code were the rightmost bits represent the lower columns and zeroes represent non-depressed keys while ones represent depressed keys. + // Since the pins connected to eact columns are sequential, and counting from zero up (col 5 -> GPIOA0, col 6 -> GPIOA1 and so on), the only transformation needed is a bitwise not to swap all zeroes and ones. + uint8_t data[] = {0}; + if (!mcp23017_status) { + mcp23017_status = i2c_receive(I2C_ADDR_READ, data, sizeof(data), MCP23017_I2C_TIMEOUT); + data[0] = ~(data[0]); + } + return data[0]; + } + } +} + +static void unselect_row(uint8_t row) { + pin_t matrix_row_pins_mcu[MATRIX_ROWS_PER_SIDE] = MATRIX_ROW_PINS_MCU; + setPinInputHigh(matrix_row_pins_mcu[row]); +} + +static void unselect_rows(void) { + // no need to unselect on mcp23017, because the select step sets all + // the other row bits high, and it's not changing to a different + // direction + + // unselect rows on microcontroller + pin_t matrix_row_pins_mcu[MATRIX_ROWS_PER_SIDE] = MATRIX_ROW_PINS_MCU; + for (int pin_index = 0; pin_index < MATRIX_ROWS_PER_SIDE; pin_index++) { + pin_t pin = matrix_row_pins_mcu[pin_index]; + setPinInputHigh(pin); + } +} +static void unselect_cols(void) { + pin_t matrix_col_pins_mcu[MATRIX_COLS_PER_SIDE] = MATRIX_COL_PINS_MCU; + for (int pin_index = 0; pin_index < MATRIX_COLS_PER_SIDE; pin_index++) { + pin_t pin = matrix_col_pins_mcu[pin_index]; + setPinInputHigh(pin); + } +} + +static void select_row(uint8_t row) { + if (row < MATRIX_ROWS_PER_SIDE) { + // select on MCU + pin_t matrix_row_pins_mcu[MATRIX_ROWS_PER_SIDE] = MATRIX_ROW_PINS_MCU; + pin_t pin = matrix_row_pins_mcu[row]; + setPinOutput(pin); + writePinLow(pin); + } else { + // select on mcp23017 + if (mcp23017_status) { // if there was an error + // do nothing + } else { + // Select the desired row by writing a byte for the entire GPIOB bus where only the bit representing the row we want to select is a zero (write instruction) and every other bit is a one. + // Note that the row - MATRIX_ROWS_PER_SIDE reflects the fact that being on the right hand, the columns are numbered from MATRIX_ROWS_PER_SIDE to MATRIX_ROWS, but the pins we want to write to are indexed from zero up on the GPIOB bus. + uint8_t buf[] = {MCP23017_GPIOB, 0xFF & ~(1 << (row - MATRIX_ROWS_PER_SIDE))}; + mcp23017_status = i2c_transmit(I2C_ADDR_WRITE, buf, sizeof(buf), I2C_TIMEOUT); + } + } +} diff --git a/keyboards/ferris/0_2/mcuconf.h b/keyboards/ferris/0_2/mcuconf.h new file mode 100644 index 000000000000..05d37e7bcdfa --- /dev/null +++ b/keyboards/ferris/0_2/mcuconf.h @@ -0,0 +1,36 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/ferris/0_2/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C2 +#define STM32_I2C_USE_I2C2 TRUE + +#undef STM32_I2C_USE_DMA +#define STM32_I2C_USE_DMA FALSE + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/ferris/0_2/mini/config.h b/keyboards/ferris/0_2/mini/config.h new file mode 100644 index 000000000000..e357cabe0bd0 --- /dev/null +++ b/keyboards/ferris/0_2/mini/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2021 Pierre Chevalier + +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 + +#undef PRODUCT_ID +#define PRODUCT_ID 0x0004 +#undef PRODUCT +#define PRODUCT Ferris 0.2 - Mini diff --git a/keyboards/ferris/0_2/mini/readme.md b/keyboards/ferris/0_2/mini/readme.md new file mode 100644 index 000000000000..dd5cf5a718f0 --- /dev/null +++ b/keyboards/ferris/0_2/mini/readme.md @@ -0,0 +1,18 @@ +# Ferris 0.2 - Mini + +![Ferris 0.2 - Mini, top view](https://i.imgur.com/s3luptVh.jpg) +![Ferris 0.2 - Mini, bottom view](https://i.imgur.com/D4GxLQvh.jpg) + + +Ferris 0.2 - Mini with Kailh Choc Mini support and Choc spacing. + +* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) +* Hardware Supported: + * Ferris 0.2 - Mini: (STM32F072 MCU on the left, MCP23017 on the right) +* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com) + +Make examples for this keyboard (after setting up your build environment): + + make ferris/0_2/mini: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). diff --git a/keyboards/kyria/.noci b/keyboards/ferris/0_2/mini/rules.mk similarity index 100% rename from keyboards/kyria/.noci rename to keyboards/ferris/0_2/mini/rules.mk diff --git a/keyboards/ferris/0_2/readme.md b/keyboards/ferris/0_2/readme.md new file mode 100644 index 000000000000..3d1ad0c1f264 --- /dev/null +++ b/keyboards/ferris/0_2/readme.md @@ -0,0 +1,16 @@ +# Ferris 0.2 + +![Ferris 0.2 family](https://i.imgur.com/SDVOlyZ.jpg) + +An STM32F072-based split 34-key column-staggered keyboard named and decorated after the Rust mascot. All PCB files and some thoughts on the design are available on the [project's github page](https://github.com/pierrechevalier83/ferris). + +* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) +* Hardware Supported: + * Ferris 0.2: stm32f072 chip. Comes in 4 variants: bling, mini, high and compact +* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com) + +Make examples for this keyboard (after setting up your build environment): + + make ferris/0_2: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). diff --git a/keyboards/ferris/0_2/rules.mk b/keyboards/ferris/0_2/rules.mk new file mode 100644 index 000000000000..b51063a52d17 --- /dev/null +++ b/keyboards/ferris/0_2/rules.mk @@ -0,0 +1,28 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +UNICODE_ENABLE = yes +CUSTOM_MATRIX = lite +NO_USB_STARTUP_CHECK = yes +LTO_ENABLE = no + +SRC += matrix.c +QUANTUM_LIB_SRC += i2c_master.c diff --git a/keyboards/ferris/keymaps/default/config.h b/keyboards/ferris/keymaps/default/config.h index cf0fb7478ef0..5d13cc596b09 100644 --- a/keyboards/ferris/keymaps/default/config.h +++ b/keyboards/ferris/keymaps/default/config.h @@ -37,3 +37,11 @@ along with this program. If not, see . #define PERMISSIVE_HOLD #define IGNORE_MOD_TAP_INTERRUPT #define TAPPING_FORCE_HOLD + +// Underglow configuration +#ifdef RGBLIGHT_ENABLE + #define RGBLIGHT_ANIMATIONS + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 +#endif diff --git a/keyboards/ferris/keymaps/default/keymap.json b/keyboards/ferris/keymaps/default/keymap.json index 5fe1b9e00a48..f651b2d8c829 100644 --- a/keyboards/ferris/keymaps/default/keymap.json +++ b/keyboards/ferris/keymaps/default/keymap.json @@ -50,8 +50,8 @@ "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", "KC_TRNS" , "KC_MINS" , "KC_BSLS" , "KC_GRV" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS", - "KC_TRNS" , "KC_TRNS" + "RGB_RMOD" , "KC_TRNS", + "KC_TRNS" , "RGB_MOD" ], ["KC_TRNS" , "KC_COLN" , "KC_LT" , "KC_GT" , "KC_SCLN", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", diff --git a/keyboards/ferris/keymaps/madhatter/rules.mk b/keyboards/ferris/keymaps/madhatter/rules.mk index 2631761ce3df..76c1045744d7 100644 --- a/keyboards/ferris/keymaps/madhatter/rules.mk +++ b/keyboards/ferris/keymaps/madhatter/rules.mk @@ -1,2 +1,2 @@ -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite TAP_DANCE_ENABLE = yes \ No newline at end of file diff --git a/keyboards/ferris/keymaps/pierrec83/config.h b/keyboards/ferris/keymaps/pierrec83/config.h index cf0fb7478ef0..5d13cc596b09 100644 --- a/keyboards/ferris/keymaps/pierrec83/config.h +++ b/keyboards/ferris/keymaps/pierrec83/config.h @@ -37,3 +37,11 @@ along with this program. If not, see . #define PERMISSIVE_HOLD #define IGNORE_MOD_TAP_INTERRUPT #define TAPPING_FORCE_HOLD + +// Underglow configuration +#ifdef RGBLIGHT_ENABLE + #define RGBLIGHT_ANIMATIONS + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 +#endif diff --git a/keyboards/ferris/keymaps/pierrec83/keymap.json b/keyboards/ferris/keymaps/pierrec83/keymap.json index 1f2c166b9cf7..f42259be90ba 100644 --- a/keyboards/ferris/keymaps/pierrec83/keymap.json +++ b/keyboards/ferris/keymaps/pierrec83/keymap.json @@ -50,8 +50,8 @@ "KC_TRNS" , "KC_HOME" , "KC_PGDN" , "KC_END" , "KC_TRNS", "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", - "LGUI(KC_LEFT)" , "KC_TRNS", - "KC_TRNS" , "LGUI(KC_RGHT)" + "RGB_RMOD" , "KC_TRNS", + "KC_TRNS" , "RGB_MOD" ], ["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", "KC_TRNS" , "KC_UNDS" , "KC_PIPE" , "KC_QUOT" , "KC_TRNS", diff --git a/keyboards/ferris/keymaps/test/config.h b/keyboards/ferris/keymaps/test/config.h new file mode 100644 index 000000000000..821bf7c03f2f --- /dev/null +++ b/keyboards/ferris/keymaps/test/config.h @@ -0,0 +1,28 @@ +/* +Copyright 2021 Pierre Chevalier + +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 DEBUG_MATRIX_SCAN_RATE + +// Underglow configuration +#ifdef RGBLIGHT_ENABLE + #define RGBLIGHT_ANIMATIONS + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 +#endif diff --git a/keyboards/ferris/keymaps/test/keymap.c b/keyboards/ferris/keymaps/test/keymap.c new file mode 100644 index 000000000000..30e2e9cff165 --- /dev/null +++ b/keyboards/ferris/keymaps/test/keymap.c @@ -0,0 +1,13 @@ +#include QMK_KEYBOARD_H + +void matrix_init_user(void) { + debug_enable=true; + debug_matrix=true; + //debug_keyboard=true; + //debug_mouse=true; +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT(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_SCLN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_P0, DEBUG, KC_P2, KC_P3) +}; + diff --git a/keyboards/ferris/keymaps/test/readme.md b/keyboards/ferris/keymaps/test/readme.md new file mode 100644 index 000000000000..c3b3fe90e35c --- /dev/null +++ b/keyboards/ferris/keymaps/test/readme.md @@ -0,0 +1,5 @@ +# A test keymap for the Ferris keyboard + +This keymap is not intended to be used to use the Ferris as a usable keyboard, but rather it is meant to be a very simple keymap used to test the hardware works properly. It can also be used to test firmware being written for new versions with a minimum amount of complexity coming from the keymap itself. + +The keymap is composed of a single qwerty layer with a unique digit bound to each non-alpha key. diff --git a/keyboards/ferris/keymaps/test/rules.mk b/keyboards/ferris/keymaps/test/rules.mk new file mode 100644 index 000000000000..15b7f725b26d --- /dev/null +++ b/keyboards/ferris/keymaps/test/rules.mk @@ -0,0 +1 @@ +CONSOLE_ENABLE = yes diff --git a/keyboards/ferris/readme.md b/keyboards/ferris/readme.md index 74a08a38fe92..0d1fe284fda7 100644 --- a/keyboards/ferris/readme.md +++ b/keyboards/ferris/readme.md @@ -1,19 +1,24 @@ # Ferris -![Ferris, top view](https://imgur.com/V4QuaGs.jpg) -![Ferris, bottom view](https://i.imgur.com/7DJYME8.jpg) +![Ferris, familly pic](https://i.imgur.com/TCjkquRh.jpeg) A split 34 keys column staggered keyboard named and decorated after the rustlang mascott. All PCB files and some thoughts on the design are available on the [project's github page](https://github.com/pierrechevalier83/ferris) * Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) * Hardware Supported: * Ferris 0.1 (With atmega32u4 chip. Comes in 4 variants: base, low, high and compact) + * Ferris 0.2 (With stm32f072 chip. Comes in 4 variants: bling, mini, high and compact) * Ferris sweep (With pro-micro. Comes in a couple of PCB edge cuts shapes, but with identical pinout) -* Hardware Availability: Pierre Chevalier has been selling keyboard kits (see the #ferris channel in the 40% discord chat). Wider availability is on the horizon. +* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com) Make examples for this keyboard (after setting up your build environment): make ferris/0_1:default + make ferris/0_2:default + make ferris/0_2/bling:default + make ferris/0_2/compact:default + make ferris/0_2/mini:default + make ferris/0_2/high:default make ferris/sweep:default:avrdude-split-right 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/ferris/sweep/readme.md b/keyboards/ferris/sweep/readme.md new file mode 100644 index 000000000000..d7102aa1a07b --- /dev/null +++ b/keyboards/ferris/sweep/readme.md @@ -0,0 +1,18 @@ +# Ferris sweep + +![Ferris sweep, top view](https://i.imgur.com/5qCZUv6h.jpg) +![Ferris sweep, bottom view](https://i.imgur.com/ZC47CJth.jpg) + +A version of the Ferris keyboard that uses a daughterboard, designed by the fantastic @davidphilipbarr with some input from @pierrechevalier83 for the copper pad. All PCB files are available on the [project's github page](https://github.com/davidphilipbarr/Sweep) + +* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) +* Hardware Supported: + * Ferris sweep (With pro-micro. Comes in a couple of PCB edge cuts shapes, but with identical pinout) +* Hardware Availability: @iamnotyourbroom in the 40% discord chat server may have some spares for you. + +Make examples for this keyboard (after setting up your build environment): + + make ferris/sweep:default:avrdude-split-left + make ferris/sweep:default:avrdude-split-right + +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/ferris/sweep/rules.mk b/keyboards/ferris/sweep/rules.mk index ce4d52156d31..d48beb97cd53 100644 --- a/keyboards/ferris/sweep/rules.mk +++ b/keyboards/ferris/sweep/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ffkeebs/siris/config.h b/keyboards/ffkeebs/siris/config.h new file mode 100644 index 000000000000..6b7733b361f3 --- /dev/null +++ b/keyboards/ffkeebs/siris/config.h @@ -0,0 +1,48 @@ +/* +Copyright 2021 Swiftrax + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x04D8 +#define PRODUCT_ID 0xE96C +#define DEVICE_VER 0x0001 +#define MANUFACTURER Swiftrax +#define PRODUCT Siris + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 12 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 } +#define MATRIX_COL_PINS { D2, D1, D0, B7, B3, B2, F0, F1, F4, F5, F6, F7 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +#define ENCODERS_PAD_A { D3, C6 } +#define ENCODERS_PAD_B { D5, B6 } + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 diff --git a/keyboards/ffkeebs/siris/info.json b/keyboards/ffkeebs/siris/info.json new file mode 100644 index 000000000000..cc03e69e2ff9 --- /dev/null +++ b/keyboards/ffkeebs/siris/info.json @@ -0,0 +1,73 @@ +{ + "keyboard_name": "Siris", + "url": "https: //github.com/swiftrax", + "maintainer": "Swiftrax", + "width": 16, + "height": 5.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"0,0", "x":0, "y":0.375}, + {"label":"0,1", "x":1, "y":0.375}, + {"label":"0,2", "x":2, "y":0.125}, + {"label":"0,3", "x":3, "y":0}, + {"label":"0,4", "x":4, "y":0.125}, + {"label":"0,5", "x":5, "y":0.25}, + {"label":"0,6", "x":10, "y":0.25}, + {"label":"0,7", "x":11, "y":0.125}, + {"label":"0,8", "x":12, "y":0}, + {"label":"0,9", "x":13, "y":0.125}, + {"label":"0,10", "x":14, "y":0.375}, + {"label":"0,11", "x":15, "y":0.375}, + + {"label":"1,0", "x":0, "y":1.375}, + {"label":"1,1", "x":1, "y":1.375}, + {"label":"1,2", "x":2, "y":1.125}, + {"label":"1,3", "x":3, "y":1}, + {"label":"1,4", "x":4, "y":1.125}, + {"label":"1,5", "x":5, "y":1.25}, + {"label":"1,6", "x":10, "y":1.25}, + {"label":"1,7", "x":11, "y":1.125}, + {"label":"1,8", "x":12, "y":1}, + {"label":"1,9", "x":13, "y":1.125}, + {"label":"1,10", "x":14, "y":1.375}, + {"label":"1,11", "x":15, "y":1.375}, + + {"label":"2,0", "x":0, "y":2.375}, + {"label":"2,1", "x":1, "y":2.375}, + {"label":"2,2", "x":2, "y":2.125}, + {"label":"2,3", "x":3, "y":2}, + {"label":"2,4", "x":4, "y":2.125}, + {"label":"2,5", "x":5, "y":2.25}, + {"label":"4,5", "x":6.25, "y":2.625}, + {"label":"4,6", "x":8.75, "y":2.625}, + {"label":"2,6", "x":10, "y":2.25}, + {"label":"2,7", "x":11, "y":2.125}, + {"label":"2,8", "x":12, "y":2}, + {"label":"2,9", "x":13, "y":2.125}, + {"label":"2,10", "x":14, "y":2.375}, + {"label":"2,11", "x":15, "y":2.375}, + + {"label":"3,0", "x":0, "y":3.375}, + {"label":"3,1", "x":1, "y":3.375}, + {"label":"3,2", "x":2, "y":3.125}, + {"label":"3,3", "x":3, "y":3}, + {"label":"3,4", "x":4, "y":3.125}, + {"label":"3,5", "x":5, "y":3.25}, + {"label":"3,6", "x":10, "y":3.25}, + {"label":"3,7", "x":11, "y":3.125}, + {"label":"3,8", "x":12, "y":3}, + {"label":"3,9", "x":13, "y":3.125}, + {"label":"3,10", "x":14, "y":3.375}, + {"label":"3,11", "x":15, "y":3.375}, + + {"label":"4,2", "x":3.75, "y":4.15}, + {"label":"4,3", "x":4.75, "y":4.25}, + {"x":6, "y":4.5, "w":1.5}, + {"x":8.5, "y":4.5, "w":1.5}, + {"label":"4,8", "x":10.25, "y":4.25}, + {"label":"4,0", "x":11.25, "y":4.15} + ] + } + } +} diff --git a/keyboards/ffkeebs/siris/keymaps/default/keymap.c b/keyboards/ffkeebs/siris/keymaps/default/keymap.c new file mode 100644 index 000000000000..b775184152ed --- /dev/null +++ b/keyboards/ffkeebs/siris/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +/* +Copyright 2021 Swiftrax + +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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_MINS, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, + KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_BSPC), +[1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______), +[2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______), +[3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______), +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + tap_code(KC_DOWN); + } else { + tap_code(KC_UP); + } + } + return true; +} diff --git a/keyboards/ffkeebs/siris/keymaps/via/keymap.c b/keyboards/ffkeebs/siris/keymaps/via/keymap.c new file mode 100644 index 000000000000..b775184152ed --- /dev/null +++ b/keyboards/ffkeebs/siris/keymaps/via/keymap.c @@ -0,0 +1,63 @@ +/* +Copyright 2021 Swiftrax + +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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_MINS, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, + KC_LGUI, MO(1), KC_SPC, KC_ENT, MO(2), KC_BSPC), +[1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______), +[2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______), +[3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______), +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + tap_code(KC_DOWN); + } else { + tap_code(KC_UP); + } + } + return true; +} diff --git a/keyboards/daisy/keymaps/via/rules.mk b/keyboards/ffkeebs/siris/keymaps/via/rules.mk similarity index 100% rename from keyboards/daisy/keymaps/via/rules.mk rename to keyboards/ffkeebs/siris/keymaps/via/rules.mk diff --git a/keyboards/ffkeebs/siris/readme.md b/keyboards/ffkeebs/siris/readme.md new file mode 100644 index 000000000000..355dc591a57d --- /dev/null +++ b/keyboards/ffkeebs/siris/readme.md @@ -0,0 +1,13 @@ +# Siris + +Hotswap fixed split keyboard + +* Keyboard Maintainer: Swiftrax +* Hardware Supported: Siris +* Hardware Availability: https://ffkeebs.com/ + +Make example for this keyboard (after setting up your build environment): + + make ffkeebs/siris: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). diff --git a/keyboards/ffkeebs/siris/rules.mk b/keyboards/ffkeebs/siris/rules.mk new file mode 100644 index 000000000000..f2bc73717abb --- /dev/null +++ b/keyboards/ffkeebs/siris/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes # Rotary Encoder \ No newline at end of file diff --git a/keyboards/ffkeebs/siris/siris.c b/keyboards/ffkeebs/siris/siris.c new file mode 100644 index 000000000000..cfd505773a86 --- /dev/null +++ b/keyboards/ffkeebs/siris/siris.c @@ -0,0 +1,17 @@ +/* +Copyright 2021 Swiftrax + +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 "siris.h" diff --git a/keyboards/ffkeebs/siris/siris.h b/keyboards/ffkeebs/siris/siris.h new file mode 100644 index 000000000000..13956bcceb5a --- /dev/null +++ b/keyboards/ffkeebs/siris/siris.h @@ -0,0 +1,37 @@ +/* +Copyright 2021 Swiftrax + +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 "quantum.h" + +// readability +#define XXX KC_NO + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K20, K21, K22, K23, K24, K25, K45, K46, K26, K27, K28, K29, K2A, K2B, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \ + K42, K43, K44, K47, K48, K49 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B }, \ + { XXX, XXX, K42, K43, K44, K45, K46, K47, K48, K49, XXX, XXX } \ +} diff --git a/keyboards/fjlabs/bks65/rules.mk b/keyboards/fjlabs/bks65/rules.mk index 5f75863ba648..7e7c85e00d4f 100644 --- a/keyboards/fjlabs/bks65/rules.mk +++ b/keyboards/fjlabs/bks65/rules.mk @@ -10,7 +10,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/fjlabs/bks65solder/bks65solder.c b/keyboards/fjlabs/bks65solder/bks65solder.c new file mode 100644 index 000000000000..0ebf9000df49 --- /dev/null +++ b/keyboards/fjlabs/bks65solder/bks65solder.c @@ -0,0 +1,14 @@ +/* +Copyright 2020 +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 "bks65solder.h" diff --git a/keyboards/fjlabs/bks65solder/bks65solder.h b/keyboards/fjlabs/bks65solder/bks65solder.h new file mode 100644 index 000000000000..36b4ea73e1de --- /dev/null +++ b/keyboards/fjlabs/bks65solder/bks65solder.h @@ -0,0 +1,46 @@ +/* +Copyright 2020 +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 "quantum.h" + +/* BKS65 Solder Solder Keymap Definitions */ +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K45, K46, K48, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, KC_NO, KC_NO, K45, K46, KC_NO, K48, K49, K4A, K4B, K4C, K4D, K4E } \ +} + +#define LAYOUT_65_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K49, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D, K4E } \ +} diff --git a/keyboards/fjlabs/bks65solder/config.h b/keyboards/fjlabs/bks65solder/config.h new file mode 100644 index 000000000000..94bb5157e684 --- /dev/null +++ b/keyboards/fjlabs/bks65solder/config.h @@ -0,0 +1,108 @@ +/* +Copyright 2020 + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7074 // FJLabs +#define PRODUCT_ID 0x0099 // BKS65 Solder +#define DEVICE_VER 0x0001 // Version 1 +#define MANUFACTURER FJLabs +#define PRODUCT BKS65 Solder + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ + +// Checked with Eagle Schematic +#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 } +#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6, C6 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Define RGB Underglow */ +#define RGB_DI_PIN B0 +#define RGBLED_NUM 24 +#define RGBLIGHT_ANIMATIONS +/* #define RGBLIGHT_LAYER_BLINK*/ + +/* Define less important options */ + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/bks65solder/info.json b/keyboards/fjlabs/bks65solder/info.json new file mode 100644 index 000000000000..4e26c59a7abe --- /dev/null +++ b/keyboards/fjlabs/bks65solder/info.json @@ -0,0 +1,165 @@ +{ + "keyboard_name": "BKS65 Solder", + "url": "https://www.bolsakeyboardsupply.com", + "maintainer": "FJLabs", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + {"x": 15, "y": 1}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + {"x": 15, "y": 2}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1, "y": 3}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 2.25}, + {"x": 6, "y": 4, "w": 1.25}, + {"x": 7.25, "y": 4, "w": 2.75}, + {"x": 10, "y": 4}, + {"x": 11, "y": 4}, + {"x": 12, "y": 4}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + {"x":15, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + {"x":15, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + {"x":15, "y":2}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + {"x":15, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4}, + {"x":11, "y":4}, + {"x":12, "y":4}, + {"x":13, "y":4}, + {"x":14, "y":4}, + {"x":15, "y":4} + ] + } + } +} diff --git a/keyboards/fjlabs/bks65solder/keymaps/default/keymap.c b/keyboards/fjlabs/bks65solder/keymaps/default/keymap.c new file mode 100644 index 000000000000..2e636cb3d940 --- /dev/null +++ b/keyboards/fjlabs/bks65solder/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* +Copyright 2020 +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 layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_all( + KC_GESC, 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_TRNS, KC_HOME, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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/fjlabs/bks65solder/keymaps/via/keymap.c b/keyboards/fjlabs/bks65solder/keymaps/via/keymap.c new file mode 100644 index 000000000000..218c0265a5fb --- /dev/null +++ b/keyboards/fjlabs/bks65solder/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* +Copyright 2020 +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 layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_LAYER1] = LAYOUT_all( + KC_GESC, 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_TRNS, KC_HOME, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, + KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_LAYER2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [_LAYER3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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/fjlabs/bks65solder/keymaps/via/rules.mk b/keyboards/fjlabs/bks65solder/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/fjlabs/bks65solder/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/fjlabs/bks65solder/readme.md b/keyboards/fjlabs/bks65solder/readme.md new file mode 100644 index 000000000000..736a6ba3c385 --- /dev/null +++ b/keyboards/fjlabs/bks65solder/readme.md @@ -0,0 +1,19 @@ +# BKS65 Solder + +The following is the QMK Firmware for the [BolsaKeyboardSupply](https://www.bolsakeyboardsupply.com) BKS65 Solder PCB, a universal, tray mount 65% solder PCB. + +The PCB will feature: +* QMK & VIA compatibility +* Underglow +* Some cool bolsa branding + +--- + +* Keyboard Maintainer: FJLabs +* Hardware Supported: BKS65 Solder + +Make example for this keyboard (after setting up your build environment): + + make fjlabs/bks65solder: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). diff --git a/keyboards/fjlabs/bks65solder/rules.mk b/keyboards/fjlabs/bks65solder/rules.mk new file mode 100644 index 000000000000..7e7c85e00d4f --- /dev/null +++ b/keyboards/fjlabs/bks65solder/rules.mk @@ -0,0 +1,28 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency +F_CPU = 8000000 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +KEYBOARD_LOCK_ENABLE = yes + +LAYOUTS = 65_ansi diff --git a/keyboards/fjlabs/bolsa65/rules.mk b/keyboards/fjlabs/bolsa65/rules.mk index 945e7be2eeb0..2123751f9fa1 100644 --- a/keyboards/fjlabs/bolsa65/rules.mk +++ b/keyboards/fjlabs/bolsa65/rules.mk @@ -10,7 +10,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/fjlabs/kf87/config.h b/keyboards/fjlabs/kf87/config.h new file mode 100644 index 000000000000..38bd7566bb6b --- /dev/null +++ b/keyboards/fjlabs/kf87/config.h @@ -0,0 +1,122 @@ +/* +Copyright 2020 + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7074 // FJLaboratories +#define PRODUCT_ID 0x0006 // KF87 +#define DEVICE_VER 0x0001 // Version 1 +#define MANUFACTURER FJLaboratories +#define PRODUCT KF87 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + *å +*/ + +// Checked with Eagle Schematic +#define MATRIX_ROW_PINS { B4, B5, B6, C0, E1, E0 } +#define MATRIX_COL_PINS { F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, D5, D6, D7 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Define Indicator LED's */ +#define LED_CAPS_LOCK_PIN C4 +#define LED_SCROLL_LOCK_PIN C6 + +/* Define RGB */ +#define RGB_DI_PIN C2 +#define RGBLED_NUM 87 +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLIGHT_LIMIT_VAL 86 +#define RGB_VAL_STEP 12 + +/* Define less important options */ + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/kf87/info.json b/keyboards/fjlabs/kf87/info.json new file mode 100644 index 000000000000..16d7b578295c --- /dev/null +++ b/keyboards/fjlabs/kf87/info.json @@ -0,0 +1,105 @@ +{ + "keyboard_name": "KF87 Replacement PCB's", + "url": "http://www.fjlaboratories.com/", + "maintainer": "FJLabs", + "width": 18.25, + "height": 6.25, + "layouts": { + "LAYOUT_tkl_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":2, "y":0}, + {"label":"F2", "x":3, "y":0}, + {"label":"F3", "x":4, "y":0}, + {"label":"F4", "x":5, "y":0}, + {"label":"F5", "x":6.5, "y":0}, + {"label":"F6", "x":7.5, "y":0}, + {"label":"F7", "x":8.5, "y":0}, + {"label":"F8", "x":9.5, "y":0}, + {"label":"F9", "x":11, "y":0}, + {"label":"F10", "x":12, "y":0}, + {"label":"F11", "x":13, "y":0}, + {"label":"F12", "x":14, "y":0}, + {"label":"PrtSc", "x":15.25, "y":0}, + {"label":"Scroll Lock", "x":16.25, "y":0}, + {"label":"Pause", "x":17.25, "y":0}, + + {"label":"~", "x":0, "y":1.25}, + {"label":"!", "x":1, "y":1.25}, + {"label":"@", "x":2, "y":1.25}, + {"label":"#", "x":3, "y":1.25}, + {"label":"$", "x":4, "y":1.25}, + {"label":"%", "x":5, "y":1.25}, + {"label":"^", "x":6, "y":1.25}, + {"label":"&", "x":7, "y":1.25}, + {"label":"*", "x":8, "y":1.25}, + {"label":"(", "x":9, "y":1.25}, + {"label":")", "x":10, "y":1.25}, + {"label":"_", "x":11, "y":1.25}, + {"label":"+", "x":12, "y":1.25}, + {"label":"Back Space", "x":13, "y":1.25, "w": 2}, + {"label":"Insert", "x":15.25, "y":1.25}, + {"label":"Home", "x":16.25, "y":1.25}, + {"label":"PgUp", "x":17.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"{", "x":11.5, "y":2.25}, + {"label":"}", "x":12.5, "y":2.25}, + {"label":"|", "x":13.5, "y":2.25, "w":1.5}, + {"label":"Delete", "x":15.25, "y":2.25}, + {"label":"End", "x":16.25, "y":2.25}, + {"label":"PgDn", "x":17.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":":", "x":10.75, "y":3.25}, + {"label":"SQ", "x":11.75, "y":3.25}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":"<", "x":9.25, "y":4.25}, + {"label":">", "x":10.25, "y":4.25}, + {"label":"?", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, + {"label":"\u2191", "x":16.25, "y":4.25}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + {"x":3.75, "y":5.25, "w":6.25}, + {"label":"Alt", "x":10, "y":5.25, "w":1.25}, + {"label":"Win", "x":11.25, "y":5.25, "w":1.25}, + {"label":"Menu", "x":12.5, "y":5.25, "w":1.25}, + {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, + {"label":"\u2190", "x":15.25, "y":5.25}, + {"label":"\u2193", "x":16.25, "y":5.25}, + {"label":"\u2192", "x":17.25, "y":5.25} + ] + } + } +} diff --git a/keyboards/fjlabs/kf87/keymaps/default/keymap.c b/keyboards/fjlabs/kf87/keymaps/default/keymap.c new file mode 100644 index 000000000000..096b2452ed25 --- /dev/null +++ b/keyboards/fjlabs/kf87/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +/* +Copyright 2020 +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 layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_tkl_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_PSCR, KC_SLCK, 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_tkl_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/fjlabs/kf87/keymaps/via/keymap.c b/keyboards/fjlabs/kf87/keymaps/via/keymap.c new file mode 100644 index 000000000000..70acb644a2d7 --- /dev/null +++ b/keyboards/fjlabs/kf87/keymaps/via/keymap.c @@ -0,0 +1,61 @@ +/* +Copyright 2020 +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 layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_tkl_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_PSCR, KC_SLCK, 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_tkl_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER2] = LAYOUT_tkl_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER3] = LAYOUT_tkl_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/fjlabs/kf87/keymaps/via/rules.mk b/keyboards/fjlabs/kf87/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/fjlabs/kf87/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/fjlabs/kf87/kf87.c b/keyboards/fjlabs/kf87/kf87.c new file mode 100644 index 000000000000..77ddbfe7d50d --- /dev/null +++ b/keyboards/fjlabs/kf87/kf87.c @@ -0,0 +1,14 @@ +/* +Copyright 2020 +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 "kf87.h" diff --git a/keyboards/fjlabs/kf87/kf87.h b/keyboards/fjlabs/kf87/kf87.h new file mode 100644 index 000000000000..5c17e2025b70 --- /dev/null +++ b/keyboards/fjlabs/kf87/kf87.h @@ -0,0 +1,34 @@ +/* +Copyright 2020 +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 "quantum.h" + +/* === All used matrix spots populated === */ +#define LAYOUT_tkl_all( \ + K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4C, K4F, \ + K50, K51, K52, K55, K59, K5A, K5B, K5D, K5E, K5F, K5G \ +) { \ + { K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO, KC_NO, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, KC_NO, K4C, KC_NO, KC_NO, K4F, KC_NO }, \ + { K50, K51, K52, KC_NO, KC_NO, K55, KC_NO, KC_NO, KC_NO, K59, K5A, K5B, KC_NO, K5D, K5E, K5F, K5G } \ +} diff --git a/keyboards/fjlabs/kf87/readme.md b/keyboards/fjlabs/kf87/readme.md new file mode 100644 index 000000000000..be15e4f2eb25 --- /dev/null +++ b/keyboards/fjlabs/kf87/readme.md @@ -0,0 +1,15 @@ +# KF87 Monstargears Replacement PCB by FJLaboratories for KawaiiVoldemort + +The following is the QMK Firmware for the KF87 by [FJLaboratories](https://www.fjlaboratories.com/). +* Keyboard Maintainer: FJLaboratories +* Hardware Supported: KF87 + +Make example for this keyboard (after setting up your build environment): + + make fjlabs/kf87: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). + +## Bootloader + +You can enter the bootloader by shorting the RST pads on the back of the PCB while the PCB is plugged into the computer. diff --git a/keyboards/fjlabs/kf87/rules.mk b/keyboards/fjlabs/kf87/rules.mk new file mode 100644 index 000000000000..25393517abfb --- /dev/null +++ b/keyboards/fjlabs/kf87/rules.mk @@ -0,0 +1,26 @@ +# MCU name +MCU = at90usb646 + +# Processor frequency +F_CPU = 8000000 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +KEYBOARD_LOCK_ENABLE = yes diff --git a/keyboards/fjlabs/ldk65/rules.mk b/keyboards/fjlabs/ldk65/rules.mk index 6d4300e482ad..085d9a0534d3 100644 --- a/keyboards/fjlabs/ldk65/rules.mk +++ b/keyboards/fjlabs/ldk65/rules.mk @@ -10,7 +10,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/fjlabs/midway60/config.h b/keyboards/fjlabs/midway60/config.h new file mode 100644 index 000000000000..d5a39c89c01d --- /dev/null +++ b/keyboards/fjlabs/midway60/config.h @@ -0,0 +1,105 @@ +/* +Copyright 2020 + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7074 // FJLabs +#define PRODUCT_ID 0x1002 // Midway60 +#define DEVICE_VER 0x0001 // Version 1 +#define MANUFACTURER FJLabs +#define PRODUCT Midway60 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ + +// Checked with Eagle Schematic +#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 } +#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Define Indicator LED's */ +#define LED_CAPS_LOCK_PIN C7 + +/* Define less important options */ + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/midway60/info.json b/keyboards/fjlabs/midway60/info.json new file mode 100644 index 000000000000..04e12e3983d5 --- /dev/null +++ b/keyboards/fjlabs/midway60/info.json @@ -0,0 +1,81 @@ +{ + "keyboard_name": "Midway60", + "url": "https://www.bolsakeyboardsupply.com", + "maintainer": "FJLabs", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] + } + } +} diff --git a/keyboards/fjlabs/midway60/keymaps/default/keymap.c b/keyboards/fjlabs/midway60/keymaps/default/keymap.c new file mode 100644 index 000000000000..47545e925a9c --- /dev/null +++ b/keyboards/fjlabs/midway60/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* +Copyright 2020 +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 layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RWIN, KC_RCTL + ), + + [_LAYER1] = LAYOUT_all( + KC_GESC, 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_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, 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/fjlabs/midway60/keymaps/via/keymap.c b/keyboards/fjlabs/midway60/keymaps/via/keymap.c new file mode 100644 index 000000000000..cd83e23a584d --- /dev/null +++ b/keyboards/fjlabs/midway60/keymaps/via/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2020 +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 layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RWIN, KC_RCTL + ), + + [_LAYER1] = LAYOUT_all( + KC_GESC, 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_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/fjlabs/midway60/keymaps/via/rules.mk b/keyboards/fjlabs/midway60/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/fjlabs/midway60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/fjlabs/midway60/midway60.c b/keyboards/fjlabs/midway60/midway60.c new file mode 100644 index 000000000000..10d8088a29af --- /dev/null +++ b/keyboards/fjlabs/midway60/midway60.c @@ -0,0 +1,14 @@ +/* +Copyright 2020 +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 "midway60.h" diff --git a/keyboards/fjlabs/midway60/midway60.h b/keyboards/fjlabs/midway60/midway60.h new file mode 100644 index 000000000000..cbe9bf39683b --- /dev/null +++ b/keyboards/fjlabs/midway60/midway60.h @@ -0,0 +1,32 @@ +/* +Copyright 2020 +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 "quantum.h" + +/* Midway60 Keymap Definitions */ +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K46, K49, K4A, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, KC_NO, K4C, K4D } \ +} diff --git a/keyboards/fjlabs/midway60/readme.md b/keyboards/fjlabs/midway60/readme.md new file mode 100644 index 000000000000..ca99f9f30724 --- /dev/null +++ b/keyboards/fjlabs/midway60/readme.md @@ -0,0 +1,20 @@ +# Midway60 + +The following is the QMK Firmware for the [BolsaKeyboardSupply](https://www.bolsakeyboardsupply.com) Midway60 PCB. + +The PCB will feature: +* QMK & VIA compatibility +* Some cool bolsa branding + +--- + +* Keyboard Maintainer: FJLabs +* Hardware Supported: Midway60 + +Make example for this keyboard (after setting up your build environment): + + make fjlabs/midway60: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). + +Bootloader can be entered by pressing the reset button near the main microcontroller while the board is plugged in. Alternatively, it may be entered by holding the top-left-most switch and plugging in the PCB while held. \ No newline at end of file diff --git a/keyboards/fjlabs/midway60/rules.mk b/keyboards/fjlabs/midway60/rules.mk new file mode 100644 index 000000000000..f9fc8d82cb69 --- /dev/null +++ b/keyboards/fjlabs/midway60/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency +F_CPU = 8000000 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/fjlabs/polaris/config.h b/keyboards/fjlabs/polaris/config.h new file mode 100644 index 000000000000..d622778ce0e5 --- /dev/null +++ b/keyboards/fjlabs/polaris/config.h @@ -0,0 +1,105 @@ +/* +Copyright 2020 + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7074 // FJLaboratories +#define PRODUCT_ID 0x9001 // Polaris HS and Solder +#define DEVICE_VER 0x0001 // Version 1 +#define MANUFACTURER FJLaboratories +#define PRODUCT Polaris + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ + +// Checked with Eagle Schematic +#define MATRIX_ROW_PINS { F4, F1, F7, F6, F5 } +#define MATRIX_COL_PINS { F0, B1, B2, B3, B7, D0, D1, D2, D3, D5, D7, B4, B5, B6 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Define Indicator LED's */ +#define LED_CAPS_LOCK_PIN C7 + +/* Define less important options */ + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/polaris/info.json b/keyboards/fjlabs/polaris/info.json new file mode 100644 index 000000000000..a9e9f4bb4b8e --- /dev/null +++ b/keyboards/fjlabs/polaris/info.json @@ -0,0 +1,83 @@ +{ + "keyboard_name": "Polaris Hotswap and Solder", + "url": "http://www.fjlaboratories.com/projects/", + "maintainer": "FJLabs", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1.25, "y": 3}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 2.25}, + {"x": 6, "y": 4, "w": 1.25}, + {"x": 7.25, "y": 4, "w": 2.75}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y":4, "w": 1.25}, + {"x": 12.5, "y": 4, "w": 1.25}, + {"x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/fjlabs/polaris/keymaps/default/keymap.c b/keyboards/fjlabs/polaris/keymaps/default/keymap.c new file mode 100644 index 000000000000..63db51de27a4 --- /dev/null +++ b/keyboards/fjlabs/polaris/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* +Copyright 2020 +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 layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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_DEL, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL + ), + + [_LAYER1] = LAYOUT_all( + KC_GESC, 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_BSPC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/fjlabs/polaris/keymaps/via/keymap.c b/keyboards/fjlabs/polaris/keymaps/via/keymap.c new file mode 100644 index 000000000000..f1d6bccfd1e1 --- /dev/null +++ b/keyboards/fjlabs/polaris/keymaps/via/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2020 +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 layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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_DEL, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL + ), + + [_LAYER1] = LAYOUT_all( + KC_GESC, 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_BSPC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER3] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/fjlabs/polaris/keymaps/via/rules.mk b/keyboards/fjlabs/polaris/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/fjlabs/polaris/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/fjlabs/polaris/polaris.c b/keyboards/fjlabs/polaris/polaris.c new file mode 100644 index 000000000000..ff9357769cae --- /dev/null +++ b/keyboards/fjlabs/polaris/polaris.c @@ -0,0 +1,14 @@ +/* +Copyright 2020 +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 "polaris.h" diff --git a/keyboards/fjlabs/polaris/polaris.h b/keyboards/fjlabs/polaris/polaris.h new file mode 100644 index 000000000000..e29545f3d16a --- /dev/null +++ b/keyboards/fjlabs/polaris/polaris.h @@ -0,0 +1,32 @@ +/* +Copyright 2020 +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 "quantum.h" + +/* Polaris HS and Solder Keymap Definitions */ +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K43, K46, K48, K49, K4A, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ + { K40, K41, K42, K43, KC_NO, KC_NO, K46, KC_NO, K48, K49, K4A, KC_NO, K4C, K4D } \ +} diff --git a/keyboards/fjlabs/polaris/readme.md b/keyboards/fjlabs/polaris/readme.md new file mode 100644 index 000000000000..e611430f4d29 --- /dev/null +++ b/keyboards/fjlabs/polaris/readme.md @@ -0,0 +1,14 @@ +# Polaris-Compatible Hotswap and Solder PCB's + +The following is the QMK Firmware for the Polaris-Compatible Hotswap and Solder PCB's developed by FJLaboratories (FJLabs). +* Keyboard Maintainer: FJLabs +* Hardware Supported: Polaris Hotswap and Solder + +Make example for this keyboard (after setting up your build environment): + + make fjlabs/polaris: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). + +Bootloader can be entered by pressing the reset button near the main microcontroller while the board is plugged in. Alternatively, it may be entered by holding the top-left-most switch and plugging in the PCB while held. \ No newline at end of file diff --git a/keyboards/fjlabs/polaris/rules.mk b/keyboards/fjlabs/polaris/rules.mk new file mode 100644 index 000000000000..f9fc8d82cb69 --- /dev/null +++ b/keyboards/fjlabs/polaris/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency +F_CPU = 8000000 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/fjlabs/ready100/config.h b/keyboards/fjlabs/ready100/config.h new file mode 100644 index 000000000000..a0e8d561487d --- /dev/null +++ b/keyboards/fjlabs/ready100/config.h @@ -0,0 +1,110 @@ +/* +Copyright 2021 + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7074 // FJLabs +#define PRODUCT_ID 0x1003 // Ready100 +#define DEVICE_VER 0x0001 // Version 1 +#define MANUFACTURER FJLabs +#define PRODUCT Ready100 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ + +// Checked with Eagle Schematic +#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 } +#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Define RGB Underglow */ +#define RGB_DI_PIN F7 +#define RGBLED_NUM 64 +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_LIMIT_VAL 108 +#define RGB_VAL_STEP 12 +/* #define RGBLIGHT_LAYER_BLINK*/ + +/* Define less important options */ + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/fjlabs/ready100/info.json b/keyboards/fjlabs/ready100/info.json new file mode 100644 index 000000000000..2bc20ad2ffa7 --- /dev/null +++ b/keyboards/fjlabs/ready100/info.json @@ -0,0 +1,82 @@ +{ + "keyboard_name": "Ready100", + "url": "https://www.ready100.com", + "maintainer": "FJLabs", + "layout_aliases": { + "LAYOUT_64key": "LAYOUT_64_ansi" + }, + "layouts": { + "LAYOUT_64_ansi": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0, "w": 2}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 0, "y": 3, "w": 2}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + {"x": 6, "y": 3}, + {"x": 7, "y": 3}, + {"x": 8, "y": 3}, + {"x": 9, "y": 3}, + {"x": 10, "y": 3}, + {"x": 11, "y": 3}, + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4}, + {"x": 11, "y": 4}, + {"x": 12, "y": 4}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4} + ] + } + } +} diff --git a/keyboards/fjlabs/ready100/keymaps/default/keymap.c b/keyboards/fjlabs/ready100/keymaps/default/keymap.c new file mode 100644 index 000000000000..bd2ad55d39d5 --- /dev/null +++ b/keyboards/fjlabs/ready100/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* +Copyright 2021 +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 layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_64_ansi( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_64_ansi( + KC_GESC, 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_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/fjlabs/ready100/keymaps/via/keymap.c b/keyboards/fjlabs/ready100/keymaps/via/keymap.c new file mode 100644 index 000000000000..4ea0c5476609 --- /dev/null +++ b/keyboards/fjlabs/ready100/keymaps/via/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2021 +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 layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_64_ansi( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_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_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_LAYER1] = LAYOUT_64_ansi( + KC_GESC, 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_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, + KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER2] = LAYOUT_64_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_LAYER3] = LAYOUT_64_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + +}; diff --git a/keyboards/fjlabs/ready100/keymaps/via/rules.mk b/keyboards/fjlabs/ready100/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/fjlabs/ready100/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/fjlabs/ready100/readme.md b/keyboards/fjlabs/ready100/readme.md new file mode 100644 index 000000000000..c38a21b50009 --- /dev/null +++ b/keyboards/fjlabs/ready100/readme.md @@ -0,0 +1,19 @@ +# Ready100 + +The following is the QMK Firmware for the [Ready100](https://www.ready100.com) 64-key PCB, a universal tray mount 60% hotswap PCB with per key RGB LED's. + +The PCB will feature: +* Kailh Hotswap sockets +* QMK & VIA compatibility +* Per-Key RGB LED's + +--- + +* Keyboard Maintainer: FJLabs +* Hardware Supported: Ready100 + +Make example for this keyboard (after setting up your build environment): + + make fjlabs/ready100: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). You can enter the bootloader by pressing the reset button on the back of the PCB. diff --git a/keyboards/fjlabs/ready100/ready100.c b/keyboards/fjlabs/ready100/ready100.c new file mode 100644 index 000000000000..6791a75697e5 --- /dev/null +++ b/keyboards/fjlabs/ready100/ready100.c @@ -0,0 +1,14 @@ +/* +Copyright 2021 +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 "ready100.h" diff --git a/keyboards/fjlabs/ready100/ready100.h b/keyboards/fjlabs/ready100/ready100.h new file mode 100644 index 000000000000..0639289183dd --- /dev/null +++ b/keyboards/fjlabs/ready100/ready100.h @@ -0,0 +1,32 @@ +/* +Copyright 2021 +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 "quantum.h" + +/* Ready100 Keymap Definitions */ +#define LAYOUT_64_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ + { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \ +} diff --git a/keyboards/fjlabs/ready100/rules.mk b/keyboards/fjlabs/ready100/rules.mk new file mode 100644 index 000000000000..6f961a80d7d9 --- /dev/null +++ b/keyboards/fjlabs/ready100/rules.mk @@ -0,0 +1,28 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency +F_CPU = 8000000 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +KEYBOARD_LOCK_ENABLE = yes + +LAYOUTS = 64_ansi diff --git a/keyboards/flehrad/bigswitch/rules.mk b/keyboards/flehrad/bigswitch/rules.mk index 88844733f063..0cd3f65d9c52 100644 --- a/keyboards/flehrad/bigswitch/rules.mk +++ b/keyboards/flehrad/bigswitch/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/flehrad/downbubble/config.h b/keyboards/flehrad/downbubble/config.h index 26a30bee5505..f1af41e5fc0f 100644 --- a/keyboards/flehrad/downbubble/config.h +++ b/keyboards/flehrad/downbubble/config.h @@ -183,26 +183,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/flehrad/downbubble/keymaps/default/keymap.c b/keyboards/flehrad/downbubble/keymaps/default/keymap.c index 48303900fb81..6abe3d532f58 100644 --- a/keyboards/flehrad/downbubble/keymaps/default/keymap.c +++ b/keyboards/flehrad/downbubble/keymaps/default/keymap.c @@ -89,15 +89,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/flehrad/downbubble/rules.mk b/keyboards/flehrad/downbubble/rules.mk index 0d85f98c4118..9e2b7f7185f8 100644 --- a/keyboards/flehrad/downbubble/rules.mk +++ b/keyboards/flehrad/downbubble/rules.mk @@ -2,19 +2,12 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/flehrad/numbrero/keymaps/default/keymap.c b/keyboards/flehrad/numbrero/keymaps/default/keymap.c index 903ed8d88c55..35bc8cdc3709 100644 --- a/keyboards/flehrad/numbrero/keymaps/default/keymap.c +++ b/keyboards/flehrad/numbrero/keymaps/default/keymap.c @@ -18,13 +18,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} diff --git a/keyboards/flehrad/numbrero/rules.mk b/keyboards/flehrad/numbrero/rules.mk index 969dd0b507aa..eb9af6ea88d1 100644 --- a/keyboards/flehrad/numbrero/rules.mk +++ b/keyboards/flehrad/numbrero/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/flehrad/snagpad/keymaps/default/keymap.c b/keyboards/flehrad/snagpad/keymaps/default/keymap.c index 7645b435c14d..28c980a44034 100644 --- a/keyboards/flehrad/snagpad/keymaps/default/keymap.c +++ b/keyboards/flehrad/snagpad/keymaps/default/keymap.c @@ -16,48 +16,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P1, KC_P2, KC_P3, KC_P0, KC_PDOT, KC_PENT), }; - - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/flehrad/snagpad/keymaps/via/keymap.c b/keyboards/flehrad/snagpad/keymaps/via/keymap.c index 7fa226de7773..c657f49be8be 100644 --- a/keyboards/flehrad/snagpad/keymaps/via/keymap.c +++ b/keyboards/flehrad/snagpad/keymaps/via/keymap.c @@ -29,48 +29,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; - - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/flehrad/snagpad/rules.mk b/keyboards/flehrad/snagpad/rules.mk index 566a398feb63..56e951edac7d 100644 --- a/keyboards/flehrad/snagpad/rules.mk +++ b/keyboards/flehrad/snagpad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/flehrad/tradestation/config.h b/keyboards/flehrad/tradestation/config.h index 03c4fb122903..6b8f021ebc5f 100644 --- a/keyboards/flehrad/tradestation/config.h +++ b/keyboards/flehrad/tradestation/config.h @@ -1,3 +1,18 @@ +/* Copyright 2019 flehrad + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #pragma once #include "config_common.h" diff --git a/keyboards/flehrad/tradestation/info.json b/keyboards/flehrad/tradestation/info.json index 233eb6282ecf..d90769bed33d 100644 --- a/keyboards/flehrad/tradestation/info.json +++ b/keyboards/flehrad/tradestation/info.json @@ -6,10 +6,46 @@ "height": 4.5, "layouts": { "LAYOUT_tradestation": { - "layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25, "w":2},{"x":2.25, "y":2.25, "w":2},{"x":0, "y":3.5, "w":2},{"x":2.25, "y":3.5, "w":2}] + "layout": [ + {"x":0, "y":0}, + {"x":1.125, "y":0}, + {"x":2.25, "y":0}, + {"x":3.375, "y":0}, + + {"x":0, "y":1.1}, + {"x":1.125, "y":1.1}, + {"x":2.25, "y":1.1}, + {"x":3.375, "y":1.1}, + + {"x":0, "y":2.25, "w":2}, + {"x":2.25, "y":2.25, "w":2}, + + {"x":0, "y":3.5, "w":2}, + {"x":2.25, "y":3.5, "w":2} + ] }, "LAYOUT_ortho_4x4": { - "layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25},{"x":1.125, "y":2.25},{"x":2.25, "y":2.25},{"x":3.375, "y":2.25},{"x":0, "y":3.5},{"x":1.125, "y":3.5},{"x":2.25, "y":3.5},{"x":3.375, "y":3.5}] + "layout": [ + {"x":0, "y":0}, + {"x":1.125, "y":0}, + {"x":2.25, "y":0}, + {"x":3.375, "y":0}, + + {"x":0, "y":1.1}, + {"x":1.125, "y":1.1}, + {"x":2.25, "y":1.1}, + {"x":3.375, "y":1.1}, + + {"x":0, "y":2.25}, + {"x":1.125, "y":2.25}, + {"x":2.25, "y":2.25}, + {"x":3.375, "y":2.25}, + + {"x":0, "y":3.5}, + {"x":1.125, "y":3.5}, + {"x":2.25, "y":3.5}, + {"x":3.375, "y":3.5} + ] } } } diff --git a/keyboards/flehrad/tradestation/keymaps/default/keymap.c b/keyboards/flehrad/tradestation/keymaps/default/keymap.c index 3497dcb94110..e0893d9bde2d 100644 --- a/keyboards/flehrad/tradestation/keymaps/default/keymap.c +++ b/keyboards/flehrad/tradestation/keymaps/default/keymap.c @@ -1,61 +1,27 @@ +/* Copyright 2019 flehrad + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_ortho_4x4( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [0] = LAYOUT_ortho_4x4( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), - LAYOUT_tradestation( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS), }; - - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c b/keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c new file mode 100644 index 000000000000..344b446f19d0 --- /dev/null +++ b/keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2019 flehrad + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_tradestation( + 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/flehrad/tradestation/rules.mk b/keyboards/flehrad/tradestation/rules.mk index d3612c3c296f..15aa1f8a325a 100644 --- a/keyboards/flehrad/tradestation/rules.mk +++ b/keyboards/flehrad/tradestation/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options -# comment out to disable the options. +# change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/flehrad/tradestation/tradestation.c b/keyboards/flehrad/tradestation/tradestation.c index a3285a2cc870..bd572db83fe7 100644 --- a/keyboards/flehrad/tradestation/tradestation.c +++ b/keyboards/flehrad/tradestation/tradestation.c @@ -1 +1,16 @@ +/* Copyright 2019 flehrad + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #include "tradestation.h" diff --git a/keyboards/flehrad/tradestation/tradestation.h b/keyboards/flehrad/tradestation/tradestation.h index 60b53b7ddf15..8061432596ad 100644 --- a/keyboards/flehrad/tradestation/tradestation.h +++ b/keyboards/flehrad/tradestation/tradestation.h @@ -1,3 +1,18 @@ +/* Copyright 2019 flehrad + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #pragma once #include "quantum.h" diff --git a/keyboards/fleuron/config.h b/keyboards/fleuron/config.h index 70772b883f99..d6c802648a02 100644 --- a/keyboards/fleuron/config.h +++ b/keyboards/fleuron/config.h @@ -157,26 +157,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - #define RGB_DI_PIN E6 // The pin the LED strip is connected to #define RGBLED_NUM 18 // Number of LEDs in your strip #define RGBLIGHT_ANIMATIONS diff --git a/keyboards/fleuron/fleuron.c b/keyboards/fleuron/fleuron.c index 12f950f367bc..babdb23c5d34 100644 --- a/keyboards/fleuron/fleuron.c +++ b/keyboards/fleuron/fleuron.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "fleuron.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/fleuron/keymaps/default/keymap.c b/keyboards/fleuron/keymaps/default/keymap.c index 367ee4895077..6240312b3755 100644 --- a/keyboards/fleuron/keymaps/default/keymap.c +++ b/keyboards/fleuron/keymaps/default/keymap.c @@ -151,15 +151,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/fleuron/rules.mk b/keyboards/fleuron/rules.mk index 36e2f74657fd..2580d20eb789 100644 --- a/keyboards/fleuron/rules.mk +++ b/keyboards/fleuron/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,10 +17,10 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 RGBLIGHT_ENABLE = yes -LAYOUTS = ortho_6x16 + +#LAYOUTS = ortho_6x16 # Disabled because layouts directory does not have an ortho_6x16 layout set up. diff --git a/keyboards/fluorite/config.h b/keyboards/fluorite/config.h index 4d05975aefcb..5dea11e1b431 100644 --- a/keyboards/fluorite/config.h +++ b/keyboards/fluorite/config.h @@ -187,26 +187,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/fluorite/rules.mk b/keyboards/fluorite/rules.mk index 12370035132f..071a3ee0ec3d 100644 --- a/keyboards/fluorite/rules.mk +++ b/keyboards/fluorite/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/flx/lodestone/rules.mk b/keyboards/flx/lodestone/rules.mk index 70c9bc8bdec0..4dd1a683f2b7 100644 --- a/keyboards/flx/lodestone/rules.mk +++ b/keyboards/flx/lodestone/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/flx/virgo/rules.mk b/keyboards/flx/virgo/rules.mk index 381040642c1c..c7d167248c56 100644 --- a/keyboards/flx/virgo/rules.mk +++ b/keyboards/flx/virgo/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/flx/virgo/virgo.c b/keyboards/flx/virgo/virgo.c index 142ddf3ebc05..679f90fb6651 100644 --- a/keyboards/flx/virgo/virgo.c +++ b/keyboards/flx/virgo/virgo.c @@ -25,20 +25,6 @@ void matrix_init_kb(void) { matrix_init_user(); } -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - bool led_update_kb(led_t led_state) { if(led_update_user(led_state)) { writePin(E6, !led_state.caps_lock); diff --git a/keyboards/flxlb/zplit/config.h b/keyboards/flxlb/zplit/config.h new file mode 100644 index 000000000000..83fe08484410 --- /dev/null +++ b/keyboards/flxlb/zplit/config.h @@ -0,0 +1,90 @@ +/* +Copyright 2021 fluxlab +Copyright 2015 Jack Humbert + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7076 +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0001 +#define MANUFACTURER fluxlab +#define PRODUCT zplit + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 8 +#define MATRIX_COLS 6 + +// wiring of each half +#define MATRIX_ROW_PINS { D4, F5, F4, F1 } +#define MATRIX_COL_PINS { B2, B3, D6, D7, B4, B5 } +// #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6 } //uncomment this line and comment line above if you need to reverse left-to-right key order + +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +// #define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* configuration for split keyboard */ +#define SOFT_SERIAL_PIN D0 +#define SELECT_SOFT_SERIAL_SPEED 1 +// #define USE_I2C +#define SPLIT_USB_DETECT +#define SPLIT_USB_TIMEOUT 500 + +#define ENCODERS_PAD_A { B0 } +#define ENCODERS_PAD_B { D2 } + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* ws2812 RGB LED */ +#define RGB_DI_PIN D3 +#define RGBLED_NUM 16 +#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 5, 6, 7, 15, 14, 13, 12, 11, 10, 9, 8} +#define RGBLED_SPLIT { 8, 8 } +#define RGBLIGHT_SPLIT +#define RGBLIGHT_ANIMATIONS + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/flxlb/zplit/info.json b/keyboards/flxlb/zplit/info.json new file mode 100644 index 000000000000..ad682a210f53 --- /dev/null +++ b/keyboards/flxlb/zplit/info.json @@ -0,0 +1,64 @@ +{ + "keyboard_name": "zplit", + "url": "https://github.com/cccywj/qmk_firmware", + "maintainer": "flxlb", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + {"x":3, "y":1}, + {"x":4, "y":1}, + {"x":5, "y":1}, + {"x":7, "y":1}, + {"x":8, "y":1}, + {"x":9, "y":1}, + {"x":10, "y":1}, + {"x":11, "y":1}, + {"x":12, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + {"x":3, "y":2}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + {"x":2, "y":3}, + {"x":3, "y":3}, + {"x":4, "y":3}, + {"x":5, "y":3}, + {"x":7, "y":3}, + {"x":8, "y":3}, + {"x":9, "y":3}, + {"x":10, "y":3}, + {"x":11, "y":3}, + {"x":12, "y":3} + ] + } + } +} diff --git a/keyboards/flxlb/zplit/keymaps/default/config.h b/keyboards/flxlb/zplit/keymaps/default/config.h new file mode 100644 index 000000000000..a157047f7a16 --- /dev/null +++ b/keyboards/flxlb/zplit/keymaps/default/config.h @@ -0,0 +1,28 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 USE_I2C + +/* Select hand configuration */ +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS diff --git a/keyboards/flxlb/zplit/keymaps/default/keymap.c b/keyboards/flxlb/zplit/keymaps/default/keymap.c new file mode 100644 index 000000000000..097b1eeed621 --- /dev/null +++ b/keyboards/flxlb/zplit/keymaps/default/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2021 FluxLab + * + * 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 + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum custom_layers { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define ADJUST MO(_ADJUST) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Qwerty */ +[_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_MUTE, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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_DEL, LOWER, KC_SPC, KC_BSPC, RAISE, KC_LBRC, KC_RBRC, KC_QUOT, KC_MINS +), + +/* Lower */ +[_LOWER] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, _______, _______, KC_UP, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______, + _______, _______, _______, _______, LOWER, _______, _______, KC_0, KC_0, KC_DOT, KC_BSLS, KC_EQL +), + +/* Raise */ +[_RAISE] = 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, + RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, + RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,_______, RGB_TOG, _______, _______, _______, _______, KC_UP, _______, + _______, _______, _______, _______, _______, _______, _______, RAISE, _______, KC_LEFT, KC_DOWN, KC_RGHT +), + +/* Adjust (Lower + Raise) */ +[_ADJUST] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLD); + } else { + tap_code(KC_VOLU); + } + return true; +} diff --git a/keyboards/flxlb/zplit/keymaps/via/config.h b/keyboards/flxlb/zplit/keymaps/via/config.h new file mode 100644 index 000000000000..a157047f7a16 --- /dev/null +++ b/keyboards/flxlb/zplit/keymaps/via/config.h @@ -0,0 +1,28 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 USE_I2C + +/* Select hand configuration */ +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS diff --git a/keyboards/flxlb/zplit/keymaps/via/keymap.c b/keyboards/flxlb/zplit/keymaps/via/keymap.c new file mode 100644 index 000000000000..7d6e948fe9db --- /dev/null +++ b/keyboards/flxlb/zplit/keymaps/via/keymap.c @@ -0,0 +1,81 @@ +/* Copyright 2021 FluxLab + * + * 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 + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum custom_layers { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST, +}; + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define ADJUST MO(_ADJUST) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Qwerty */ +[_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_MUTE, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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_DEL, LOWER, KC_SPC, KC_BSPC, RAISE, KC_LBRC, KC_RBRC, KC_QUOT, KC_MINS +), + +/* Lower */ +[_LOWER] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, _______, _______, KC_UP, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_1, KC_2, KC_3, KC_BSLS, _______, + _______, _______, _______, _______, LOWER, _______, _______, KC_0, KC_0, KC_DOT, KC_BSLS, KC_EQL +), + +/* Raise */ +[_RAISE] = 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, + RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, + RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,_______, RGB_TOG, _______, _______, _______, _______, KC_UP, _______, + _______, _______, _______, _______, _______, _______, _______, RAISE, _______, KC_LEFT, KC_DOWN, KC_RGHT +), + +/* Adjust (Lower + Raise) */ +[_ADJUST] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + + +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLD); + } else { + tap_code(KC_VOLU); + } + return true; +} diff --git a/keyboards/flxlb/zplit/keymaps/via/rules.mk b/keyboards/flxlb/zplit/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/flxlb/zplit/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/flxlb/zplit/readme.md b/keyboards/flxlb/zplit/readme.md new file mode 100644 index 000000000000..e5f88c9df5a5 --- /dev/null +++ b/keyboards/flxlb/zplit/readme.md @@ -0,0 +1,13 @@ +# fluxlab zplit + +![zplit](https://i.imgur.com/eN4aSG1l.png) + +Zplit is a 40% split keyboard inspired by the Zlant and similar to Zinc. It has a symmetrical layout to provide a more natural typing experience. + +* Keyboard Maintainer: [flxlb](https://flxlb.ca) + +Make example for this keyboard (after setting up your build environment): + + make flxlb/zplit: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). diff --git a/keyboards/flxlb/zplit/rules.mk b/keyboards/flxlb/zplit/rules.mk new file mode 100644 index 000000000000..29e7265cb258 --- /dev/null +++ b/keyboards/flxlb/zplit/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +SPLIT_KEYBOARD = yes diff --git a/keyboards/flxlb/zplit/zplit.c b/keyboards/flxlb/zplit/zplit.c new file mode 100644 index 000000000000..25956640a7f8 --- /dev/null +++ b/keyboards/flxlb/zplit/zplit.c @@ -0,0 +1,17 @@ +/* Copyright 2021 FluxLab + * + * 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 "zplit.h" diff --git a/keyboards/flxlb/zplit/zplit.h b/keyboards/flxlb/zplit/zplit.h new file mode 100644 index 000000000000..6a90efa8af4d --- /dev/null +++ b/keyboards/flxlb/zplit/zplit.h @@ -0,0 +1,37 @@ + /* Copyright 2021 FluxLab + * + * 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 "quantum.h" + + +#define LAYOUT( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { R05, R04, R03, R02, R01, R00 }, \ + { R15, R14, R13, R12, R11, R10 }, \ + { R25, R24, R23, R22, R21, R20 }, \ + { R35, R34, R33, R32, R31, R30 } \ + } diff --git a/keyboards/flygone60/rev3/config.h b/keyboards/flygone60/rev3/config.h new file mode 100644 index 000000000000..e398b1dc608f --- /dev/null +++ b/keyboards/flygone60/rev3/config.h @@ -0,0 +1,60 @@ +/* +Copyright 2021 ShandonCodes + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7877 +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0003 +#define MANUFACTURER ShandonCodes +#define PRODUCT Flygone60 Rev3 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D2, D3, D5, B7, F1} +#define MATRIX_COL_PINS { F0, E6, B1, B2, B3, B0, D4, D6, D7, B4, B5, B6, C6, C7} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/flygone60/rev3/info.json b/keyboards/flygone60/rev3/info.json new file mode 100644 index 000000000000..d251a0bbd9d5 --- /dev/null +++ b/keyboards/flygone60/rev3/info.json @@ -0,0 +1,80 @@ +{ + "keyboard_name": "Flygone60 Rev3", + "url": "https://qmk.fm/keyboards/", + "maintainer": "ShandonCodes", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_60_ansi_arrow": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0, "w": 2}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3, "w": 1.75}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4}, + {"x": 11, "y": 4}, + {"x": 12, "y": 4}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4} + ] + } + } +} diff --git a/keyboards/flygone60/rev3/keymaps/default/keymap.c b/keyboards/flygone60/rev3/keymaps/default/keymap.c new file mode 100644 index 000000000000..ab6b2a9f01fe --- /dev/null +++ b/keyboards/flygone60/rev3/keymaps/default/keymap.c @@ -0,0 +1,70 @@ +/* Copyright 2021 ShandonCodes + * + * 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 { + _BASE, + _FN +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + SHILL = SAFE_RANGE, + NUT, + FRACNO +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_60_ansi_arrow( + KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLASH, + KC_CAPSLOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER, + KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_RSHIFT, KC_UP, KC_SLASH, + KC_LCTRL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RIGHT + ), + [_FN] = LAYOUT_60_ansi_arrow( + KC_GRAVE, 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_DELETE, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, SHILL, XXXXXXX, FRACNO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NUT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SHILL: + if (record->event.pressed) { + SEND_STRING("Subscribe to ShandonCodes Kappa\n"); + } + return false; + + case NUT: + if (record->event.pressed) { + SEND_STRING("Hey Nutina HeyGuys\n"); + } + return false; + + case FRACNO: + if (record->event.pressed) { + SEND_STRING("Oh my GODDD!!!\n"); + } + return false; + } + return true; +} diff --git a/keyboards/flygone60/rev3/keymaps/default/readme.md b/keyboards/flygone60/rev3/keymaps/default/readme.md new file mode 100644 index 000000000000..91ea23c734e2 --- /dev/null +++ b/keyboards/flygone60/rev3/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for flygone60 diff --git a/keyboards/flygone60/rev3/keymaps/via/keymap.c b/keyboards/flygone60/rev3/keymaps/via/keymap.c new file mode 100644 index 000000000000..309c8733564c --- /dev/null +++ b/keyboards/flygone60/rev3/keymaps/via/keymap.c @@ -0,0 +1,86 @@ +/* Copyright 2021 ShandonCodes + * + * 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 { + _0, + _1, + _2, + _3 +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + SHILL = USER00, + NUT, + FRACNO +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_0] = LAYOUT_60_ansi_arrow( + KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPACE, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLASH, + KC_CAPSLOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENTER, + KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_RSHIFT, KC_UP, KC_SLASH, + KC_LCTRL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, MO(_1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + [_1] = LAYOUT_60_ansi_arrow( + KC_GRAVE, 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_DELETE, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, SHILL, XXXXXXX, FRACNO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NUT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_2] = LAYOUT_60_ansi_arrow( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), + [_3] = LAYOUT_60_ansi_arrow( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SHILL: + if (record->event.pressed) { + SEND_STRING("Subscribe to ShandonCodes Kappa\n"); + } + return false; + + case NUT: + if (record->event.pressed) { + SEND_STRING("Hey Nutina HeyGuys\n"); + } + return false; + + case FRACNO: + if (record->event.pressed) { + SEND_STRING("OH MY GODDD!!!\n"); + } + return false; + } + return true; +} diff --git a/keyboards/flygone60/rev3/keymaps/via/rules.mk b/keyboards/flygone60/rev3/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/flygone60/rev3/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/flygone60/rev3/readme.md b/keyboards/flygone60/rev3/readme.md new file mode 100644 index 000000000000..d5e8cbcc2515 --- /dev/null +++ b/keyboards/flygone60/rev3/readme.md @@ -0,0 +1,19 @@ +# flygone60 + +![Flygone60](https://i.imgur.com/x63gMG2h.jpeg) + +A 60% that takes arrow keys seriously! + +* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes) +* Hardware Supported: Flygone60 +* Hardware Availability: [Kit](https://www.etsy.com/listing/1025415290/flygone60-keyboard-kit?ga_order=most_relevant&ga_search_type=all&ga_view_type=gallery&ga_search_query=flygone60&ref=sr_gallery-1-13&organic_search_click=1&frs=1) + +Make example for this keyboard (after setting up your build environment): + + make flygone60/rev3:default + +Flashing example for this keyboard: + + make flygone60/rev3: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). diff --git a/keyboards/flygone60/rev3/rev3.c b/keyboards/flygone60/rev3/rev3.c new file mode 100644 index 000000000000..0de52610ae3c --- /dev/null +++ b/keyboards/flygone60/rev3/rev3.c @@ -0,0 +1,17 @@ +/* Copyright 2021 ShandonCodes + * + * 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 "rev3.h" diff --git a/keyboards/flygone60/rev3/rev3.h b/keyboards/flygone60/rev3/rev3.h new file mode 100644 index 000000000000..66d738dc4736 --- /dev/null +++ b/keyboards/flygone60/rev3/rev3.h @@ -0,0 +1,41 @@ +/* Copyright 2021 ShandonCodes + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_60_ansi_arrow( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k41, k42, k45, k48, k49, k4a, k4b, k4c \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, KC_NO}, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, KC_NO}, \ + { k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, k48, k49, k4a, k4b, k4c, KC_NO} \ +} diff --git a/keyboards/flygone60/rev3/rules.mk b/keyboards/flygone60/rev3/rules.mk new file mode 100644 index 000000000000..e7ef163d4b43 --- /dev/null +++ b/keyboards/flygone60/rev3/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 60_ansi_arrow diff --git a/keyboards/foostan/cornelius/info.json b/keyboards/foostan/cornelius/info.json index cc98321691e0..3df1269e944c 100644 --- a/keyboards/foostan/cornelius/info.json +++ b/keyboards/foostan/cornelius/info.json @@ -1,12 +1,61 @@ { - "keyboard_name": "cornelius", - "url": "", - "maintainer": "qmk", - "width": 7.55, - "height": 6.11, - "layouts": { - "LAYOUT": { - "layout": [{"label":"E", "x":2.5, "y":0}, {"label":"R", "x":3.5, "y":0.125}, {"label":"W", "x":1.5, "y":0.25}, {"label":"T", "x":4.5, "y":0.25}, {"label":"Tab", "x":-0.5, "y":0.625}, {"label":"Q", "x":0.5, "y":0.625}, {"label":"D", "x":2.5, "y":1}, {"label":"F", "x":3.5, "y":1.125}, {"label":"S", "x":1.5, "y":1.25}, {"label":"G", "x":4.5, "y":1.25}, {"label":"Esc", "x":-0.5, "y":1.625}, {"label":"A", "x":0.5, "y":1.625}, {"label":"C", "x":2.5, "y":2}, {"label":"V", "x":3.5, "y":2.125}, {"label":"X", "x":1.5, "y":2.25}, {"label":"B", "x":4.5, "y":2.25}, {"label":"Shift", "x":-0.5, "y":2.625}, {"label":"Z", "x":0.5, "y":2.625}, {"label":"Win", "x":1.5, "y":3.25}, {"label":"Alt", "x":3, "y":3.25}, {"label":"Fn", "x":-0.5, "y":3.625}, {"label":"Ctrl", "x":0.5, "y":3.625}, {"label":"Lower", "x":4.97, "y":2.11}, {"x":6.55, "y":0.48}, {"x":-7.55, "y":1.94}, {"label":"Raise", "x":-5.95, "y":3.58}, {"label":"I", "x":-3.5, "y":1.48}, {"label":"U", "x":-4.5, "y":1.605}, {"label":"Y", "x":-5.5, "y":1.73}, {"label":"O", "x":-2.5, "y":1.73}, {"label":"P", "x":-1.5, "y":2.105}, {"label":"Bksp", "x":-0.5, "y":2.105}, {"label":"K", "x":-3.5, "y":2.48}, {"label":"J", "x":-4.5, "y":2.605}, {"label":"H", "x":-5.5, "y":2.73}, {"label":"L", "x":-2.5, "y":2.73}, {"label":":", "x":-1.5, "y":3.105}, {"label":"\"", "x":-0.5, "y":3.105}, {"label":"<", "x":-3.5, "y":3.48}, {"label":"M", "x":-4.5, "y":3.605}, {"label":"N", "x":-5.5, "y":3.73}, {"label":">", "x":-2.5, "y":3.73}, {"label":"?", "x":-1.5, "y":4.105}, {"label":"Shift", "x":-0.5, "y":4.105}, {"label":"Alt", "x":-4, "y":4.73}, {"label":"Win", "x":-2.5, "y":4.73}, {"label":"Ctrl", "x":-1.5, "y":5.105}, {"label":"Fn", "x":-0.5, "y":5.105}] + "keyboard_name":"cornelius", + "url":"", + "maintainer":"foostan", + "width":14, + "height":8.5, + "layouts":{ + "LAYOUT":{ + "layout":[ + {"label":"Tab", "x":0,"y":0.625}, + {"label":"Q", "x":1,"y":0.625}, + {"label":"W", "x":2,"y":0.25}, + {"label":"E", "x":3,"y":0}, + {"label":"R", "x":4,"y":0.125}, + {"label":"T", "x":5,"y":0.25}, + {"label":"Y", "x":8,"y":0.25}, + {"label":"U", "x":9,"y":0.125}, + {"label":"I", "x":10,"y":0}, + {"label":"O", "x":11,"y":0.25}, + {"label":"P", "x":12,"y":0.625}, + {"label":"Bksp", "x":13,"y":0.625}, + {"label":"Esc", "x":0,"y":1.625}, + {"label":"A", "x":1,"y":1.625}, + {"label":"S", "x":2,"y":1.25}, + {"label":"D", "x":3,"y":1}, + {"label":"F", "x":4,"y":1.125}, + {"label":"G", "x":5,"y":1.25}, + {"label":"H", "x":8,"y":1.25}, + {"label":"J", "x":9,"y":1.125}, + {"label":"K", "x":10,"y":1}, + {"label":"L", "x":11,"y":1.25}, + {"label":":", "x":12,"y":1.625}, + {"label":"\"", "x":13,"y":1.625}, + {"label":"Shift", "x":0,"y":2.625}, + {"label":"Z", "x":1,"y":2.625}, + {"label":"X", "x":2,"y":2.25}, + {"label":"C", "x":3,"y":2}, + {"label":"V", "x":4,"y":2.125}, + {"label":"B", "x":5,"y":2.25}, + {"label":"N", "x":8,"y":2.25}, + {"label":"M", "x":9,"y":2.125}, + {"label":"<", "x":10,"y":2}, + {"label":">", "x":11,"y":2.25}, + {"label":"?", "x":12,"y":2.625}, + {"label":"Shift", "x":13,"y":2.625}, + {"label":"Fn", "x":0,"y":3.625}, + {"label":"Ctrl", "x":1,"y":3.625}, + {"label":"Win", "x":2,"y":3.25}, + {"label":"Alt", "x":3.5,"y":3.25}, + {"label":"Lower", "x":4.5,"y":3.5}, + {"x":5.5,"y":3.75}, + {"x":7.5,"y":3.75}, + {"label":"Raise", "x":8.5,"y":3.5}, + {"label":"Alt", "x":9.5,"y":3.25}, + {"label":"Win", "x":11,"y":3.25}, + {"label":"Ctrl", "x":12,"y":3.625}, + {"label":"Fn", "x":13,"y":3.625} + ] } } -} \ No newline at end of file +} diff --git a/keyboards/foostan/cornelius/keymaps/hvp/config.h b/keyboards/foostan/cornelius/keymaps/hvp/config.h new file mode 100644 index 000000000000..ea23adfab5f2 --- /dev/null +++ b/keyboards/foostan/cornelius/keymaps/hvp/config.h @@ -0,0 +1,20 @@ +/* Copyright 2018 Carlos Filoteo + * + * 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 TAPPING_TERM 200 +#define TAPPING_TERM_PER_KEY +#define IGNORE_MOD_TAP_INTERRUPT \ No newline at end of file diff --git a/keyboards/foostan/cornelius/keymaps/hvp/keymap.c b/keyboards/foostan/cornelius/keymaps/hvp/keymap.c new file mode 100644 index 000000000000..bac74edbce3e --- /dev/null +++ b/keyboards/foostan/cornelius/keymaps/hvp/keymap.c @@ -0,0 +1,66 @@ +/* Copyright 2020 foostan + * + * 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 +#include "hvp.c" + +#define LT3_ESC LT(3, KC_ESC) +#define LT4_TAB LT(5, KC_TAB) +#define LT2 LT(2, KC_LEFT_CURLY_BRACE) +#define LT1 LT(1, KC_RIGHT_CURLY_BRACE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT( + LT4_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + LT3_ESC, MT(MOD_LGUI, KC_A), MT(MOD_LALT, KC_S), MT(MOD_LSFT, KC_D), MT(MOD_LCTL, KC_F), LT(4,KC_G), MT(MOD_RCTL, KC_H), MT(MOD_RSFT, KC_J), MT(MOD_RALT,KC_K), MT(MOD_RGUI,KC_L), TD(TD1), TD(TD2), + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, TD(TD3), KC_SFTENT, + KC_LCPO, KC_LCTL, KC_LGUI, KC_LALT, LT2, KC_SPC, KC_ENT, LT1, KC_RALT, KC_RGUI, KC_RCTL, KC_RSPC + ), + +[1] = LAYOUT( /* Right */ + KC_TILDE, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, XXXXXXX, KC_MINS, KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +[2] = LAYOUT( /* Left */ + 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_DEL, KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +[3] = LAYOUT( /* 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_DELETE, KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, + _______, _______, _______, _______, _______, KC_MUTE, KC_MPLY, KC_MSTP, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT + ), + +[4] = LAYOUT( + _______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), KC_7, KC_8, KC_9, KC_BSPC, + _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_4, KC_5, KC_6, KC_0, + _______, _______, _______, _______, _______, _______, XXXXXXX, KC_0, KC_1, KC_2, KC_3, _______, + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +[5] = LAYOUT( + _______, G(S(KC_1)), G(S(KC_2)), G(S(KC_3)), G(S(KC_4)), G(S(KC_5)), G(S(KC_6)), G(S(KC_7)), G(S(KC_8)), G(S(KC_9)), G(S(KC_0)), _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK + ), +}; diff --git a/keyboards/foostan/cornelius/keymaps/hvp/readme.md b/keyboards/foostan/cornelius/keymaps/hvp/readme.md new file mode 100644 index 000000000000..cb35bd8a29d9 --- /dev/null +++ b/keyboards/foostan/cornelius/keymaps/hvp/readme.md @@ -0,0 +1 @@ +# The default keymap for cornelius diff --git a/keyboards/keebio/fourier/keymaps/jennetters/rules.mk b/keyboards/foostan/cornelius/keymaps/hvp/rules.mk similarity index 100% rename from keyboards/keebio/fourier/keymaps/jennetters/rules.mk rename to keyboards/foostan/cornelius/keymaps/hvp/rules.mk diff --git a/keyboards/foostan/cornelius/rules.mk b/keyboards/foostan/cornelius/rules.mk index 5c0d8f307c54..c98974abafc2 100644 --- a/keyboards/foostan/cornelius/rules.mk +++ b/keyboards/foostan/cornelius/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h b/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 000000000000..a29760509668 --- /dev/null +++ b/keyboards/for_science/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,23 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 XXX KC_NO + +#define LAYOUT_miryoku(\ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ +)\ +LAYOUT(\ +XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX,\ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ + K32, K33, K34, K35, K36, K37\ +) diff --git a/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 000000000000..1520387e8887 --- /dev/null +++ b/keyboards/for_science/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,5 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 . diff --git a/keyboards/for_science/rules.mk b/keyboards/for_science/rules.mk index b8e091ef66b9..f3a14969fc9e 100644 --- a/keyboards/for_science/rules.mk +++ b/keyboards/for_science/rules.mk @@ -6,7 +6,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/forever65/config.h b/keyboards/forever65/config.h new file mode 100644 index 000000000000..4ea906b5a76b --- /dev/null +++ b/keyboards/forever65/config.h @@ -0,0 +1,71 @@ +/* Copyright 2021 zvecr + * + * 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 "config_common.h" + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE diff --git a/keyboards/forever65/info.json b/keyboards/forever65/info.json new file mode 100644 index 000000000000..3615a39310d7 --- /dev/null +++ b/keyboards/forever65/info.json @@ -0,0 +1,169 @@ +{ + "keyboard_name": "forever65", + "manufacturer": "Nightingale Studios", + "maintainer": "zvecr", + "processor": "STM32F072", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["A3", "F1", "F0", "C15", "C14", "C13", "B11", "B10", "B2", "B1", "B0", "A7", "A5", "A6", "A4", "B5"], + "rows": ["B15", "B14", "B13", "B12", "B6"] + }, + "usb": { + "vid": "0x4E53", + "pid": "0x0F65", + "device_ver": "0x0001" + }, + "features": { + "bootmagic_lite": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "width": 16, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "label": "Esc", "x": 0, "y": 0 }, + { "matrix": [0, 1], "label": "!", "x": 1, "y": 0 }, + { "matrix": [0, 2], "label": "@", "x": 2, "y": 0 }, + { "matrix": [0, 3], "label": "#", "x": 3, "y": 0 }, + { "matrix": [0, 4], "label": "$", "x": 4, "y": 0 }, + { "matrix": [0, 5], "label": "%", "x": 5, "y": 0 }, + { "matrix": [0, 6], "label": "^", "x": 6, "y": 0 }, + { "matrix": [0, 7], "label": "&", "x": 7, "y": 0 }, + { "matrix": [0, 8], "label": "*", "x": 8, "y": 0 }, + { "matrix": [0, 9], "label": "(", "x": 9, "y": 0 }, + { "matrix": [0, 10], "label": ")", "x": 10, "y": 0 }, + { "matrix": [0, 11], "label": "_", "x": 11, "y": 0 }, + { "matrix": [0, 12], "label": "+", "x": 12, "y": 0 }, + { "matrix": [0, 13], "label": "Backspace", "w": 2, "x": 13, "y": 0 }, + { "matrix": [1, 0], "label": "Tab", "w": 1.5, "x": 0, "y": 1 }, + { "matrix": [1, 1], "label": "Q", "x": 1.5, "y": 1 }, + { "matrix": [1, 2], "label": "W", "x": 2.5, "y": 1 }, + { "matrix": [1, 3], "label": "E", "x": 3.5, "y": 1 }, + { "matrix": [1, 4], "label": "R", "x": 4.5, "y": 1 }, + { "matrix": [1, 5], "label": "T", "x": 5.5, "y": 1 }, + { "matrix": [1, 6], "label": "Y", "x": 6.5, "y": 1 }, + { "matrix": [1, 7], "label": "U", "x": 7.5, "y": 1 }, + { "matrix": [1, 8], "label": "I", "x": 8.5, "y": 1 }, + { "matrix": [1, 9], "label": "O", "x": 9.5, "y": 1 }, + { "matrix": [1, 10], "label": "P", "x": 10.5, "y": 1 }, + { "matrix": [1, 11], "label": "{", "x": 11.5, "y": 1 }, + { "matrix": [1, 12], "label": "}", "x": 12.5, "y": 1 }, + { "matrix": [1, 13], "label": "|", "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [1, 15], "label": "Delete", "x": 15, "y": 1 }, + { "matrix": [2, 0], "label": "Caps Lock", "w": 1.75, "x": 0, "y": 2 }, + { "matrix": [2, 1], "label": "A", "x": 1.75, "y": 2 }, + { "matrix": [2, 2], "label": "S", "x": 2.75, "y": 2 }, + { "matrix": [2, 3], "label": "D", "x": 3.75, "y": 2 }, + { "matrix": [2, 4], "label": "F", "x": 4.75, "y": 2 }, + { "matrix": [2, 5], "label": "G", "x": 5.75, "y": 2 }, + { "matrix": [2, 6], "label": "H", "x": 6.75, "y": 2 }, + { "matrix": [2, 7], "label": "J", "x": 7.75, "y": 2 }, + { "matrix": [2, 8], "label": "K", "x": 8.75, "y": 2 }, + { "matrix": [2, 9], "label": "L", "x": 9.75, "y": 2 }, + { "matrix": [2, 10], "label": ":", "x": 10.75, "y": 2 }, + { "matrix": [2, 11], "label": "\"", "x": 11.75, "y": 2 }, + { "matrix": [2, 12], "label": "Enter", "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [2, 15], "label": "PgUp", "x": 15, "y": 2 }, + { "matrix": [3, 0], "label": "Shift", "w": 2.25, "x": 0, "y": 3 }, + { "matrix": [3, 1], "label": "Z", "x": 2.25, "y": 3 }, + { "matrix": [3, 2], "label": "X", "x": 3.25, "y": 3 }, + { "matrix": [3, 3], "label": "C", "x": 4.25, "y": 3 }, + { "matrix": [3, 4], "label": "V", "x": 5.25, "y": 3 }, + { "matrix": [3, 5], "label": "B", "x": 6.25, "y": 3 }, + { "matrix": [3, 6], "label": "N", "x": 7.25, "y": 3 }, + { "matrix": [3, 7], "label": "M", "x": 8.25, "y": 3 }, + { "matrix": [3, 8], "label": "<", "x": 9.25, "y": 3 }, + { "matrix": [3, 9], "label": ">", "x": 10.25, "y": 3 }, + { "matrix": [3, 10], "label": "?", "x": 11.25, "y": 3 }, + { "matrix": [3, 11], "label": "Shift", "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "label": "Up", "x": 14, "y": 3 }, + { "matrix": [3, 15], "label": "PgDn", "x": 15, "y": 3 }, + { "matrix": [4, 0], "label": "Ctrl", "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "label": "Win", "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "label": "Alt", "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 4], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 9], "label": "Alt", "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 10], "label": "Ctrl", "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 11], "label": "Left", "x": 13, "y": 4 }, + { "matrix": [4, 13], "label": "Down", "x": 14, "y": 4 }, + { "matrix": [4, 15], "label": "Right", "x": 15, "y": 4 } + ] + }, + "LAYOUT_all": { + "layout": [ + { "matrix": [0, 0], "label": "Esc", "x": 0, "y": 0 }, + { "matrix": [0, 1], "label": "!", "x": 1, "y": 0 }, + { "matrix": [0, 2], "label": "@", "x": 2, "y": 0 }, + { "matrix": [0, 3], "label": "#", "x": 3, "y": 0 }, + { "matrix": [0, 4], "label": "$", "x": 4, "y": 0 }, + { "matrix": [0, 5], "label": "%", "x": 5, "y": 0 }, + { "matrix": [0, 6], "label": "^", "x": 6, "y": 0 }, + { "matrix": [0, 7], "label": "&", "x": 7, "y": 0 }, + { "matrix": [0, 8], "label": "*", "x": 8, "y": 0 }, + { "matrix": [0, 9], "label": "(", "x": 9, "y": 0 }, + { "matrix": [0, 10], "label": ")", "x": 10, "y": 0 }, + { "matrix": [0, 11], "label": "_", "x": 11, "y": 0 }, + { "matrix": [0, 12], "label": "+", "x": 12, "y": 0 }, + { "matrix": [0, 13], "label": "Backspace", "x": 13, "y": 0 }, + { "matrix": [0, 14], "label": "Backspace", "x": 14, "y": 0 }, + { "matrix": [1, 0], "label": "Tab", "w": 1.5, "x": 0, "y": 1 }, + { "matrix": [1, 1], "label": "Q", "x": 1.5, "y": 1 }, + { "matrix": [1, 2], "label": "W", "x": 2.5, "y": 1 }, + { "matrix": [1, 3], "label": "E", "x": 3.5, "y": 1 }, + { "matrix": [1, 4], "label": "R", "x": 4.5, "y": 1 }, + { "matrix": [1, 5], "label": "T", "x": 5.5, "y": 1 }, + { "matrix": [1, 6], "label": "Y", "x": 6.5, "y": 1 }, + { "matrix": [1, 7], "label": "U", "x": 7.5, "y": 1 }, + { "matrix": [1, 8], "label": "I", "x": 8.5, "y": 1 }, + { "matrix": [1, 9], "label": "O", "x": 9.5, "y": 1 }, + { "matrix": [1, 10], "label": "P", "x": 10.5, "y": 1 }, + { "matrix": [1, 11], "label": "{", "x": 11.5, "y": 1 }, + { "matrix": [1, 12], "label": "}", "x": 12.5, "y": 1 }, + { "matrix": [1, 13], "label": "|", "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [1, 15], "label": "Delete", "x": 15, "y": 1 }, + { "matrix": [2, 0], "label": "Caps Lock", "w": 1.75, "x": 0, "y": 2 }, + { "matrix": [2, 1], "label": "A", "x": 1.75, "y": 2 }, + { "matrix": [2, 2], "label": "S", "x": 2.75, "y": 2 }, + { "matrix": [2, 3], "label": "D", "x": 3.75, "y": 2 }, + { "matrix": [2, 4], "label": "F", "x": 4.75, "y": 2 }, + { "matrix": [2, 5], "label": "G", "x": 5.75, "y": 2 }, + { "matrix": [2, 6], "label": "H", "x": 6.75, "y": 2 }, + { "matrix": [2, 7], "label": "J", "x": 7.75, "y": 2 }, + { "matrix": [2, 8], "label": "K", "x": 8.75, "y": 2 }, + { "matrix": [2, 9], "label": "L", "x": 9.75, "y": 2 }, + { "matrix": [2, 10], "label": ":", "x": 10.75, "y": 2 }, + { "matrix": [2, 11], "label": "\"", "x": 11.75, "y": 2 }, + { "matrix": [2, 12], "label": "Enter", "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [2, 15], "label": "PgUp", "x": 15, "y": 2 }, + { "matrix": [3, 0], "label": "Shift", "w": 2.25, "x": 0, "y": 3 }, + { "matrix": [3, 1], "label": "Z", "x": 2.25, "y": 3 }, + { "matrix": [3, 2], "label": "X", "x": 3.25, "y": 3 }, + { "matrix": [3, 3], "label": "C", "x": 4.25, "y": 3 }, + { "matrix": [3, 4], "label": "V", "x": 5.25, "y": 3 }, + { "matrix": [3, 5], "label": "B", "x": 6.25, "y": 3 }, + { "matrix": [3, 6], "label": "N", "x": 7.25, "y": 3 }, + { "matrix": [3, 7], "label": "M", "x": 8.25, "y": 3 }, + { "matrix": [3, 8], "label": "<", "x": 9.25, "y": 3 }, + { "matrix": [3, 9], "label": ">", "x": 10.25, "y": 3 }, + { "matrix": [3, 10], "label": "?", "x": 11.25, "y": 3 }, + { "matrix": [3, 11], "label": "Shift", "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "label": "Up", "x": 14, "y": 3 }, + { "matrix": [3, 15], "label": "PgDn", "x": 15, "y": 3 }, + { "matrix": [4, 0], "label": "Ctrl", "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "label": "Win", "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "label": "Alt", "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 4], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 9], "label": "Alt", "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 10], "label": "Ctrl", "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 11], "label": "Left", "x": 13, "y": 4 }, + { "matrix": [4, 13], "label": "Down", "x": 14, "y": 4 }, + { "matrix": [4, 15], "label": "Right", "x": 15, "y": 4 } + ] + } + } +} diff --git a/keyboards/forever65/keymaps/default/keymap.c b/keyboards/forever65/keymaps/default/keymap.c new file mode 100644 index 000000000000..0cb7fcb821a6 --- /dev/null +++ b/keyboards/forever65/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2021 zvecr + * + * 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_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_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT + ), +}; diff --git a/keyboards/forever65/keymaps/via/keymap.c b/keyboards/forever65/keymaps/via/keymap.c new file mode 100644 index 000000000000..3ced93f3e0de --- /dev/null +++ b/keyboards/forever65/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2021 zvecr + * + * 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/forever65/keymaps/via/rules.mk b/keyboards/forever65/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/forever65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/forever65/readme.md b/keyboards/forever65/readme.md new file mode 100644 index 000000000000..0809b0145cd6 --- /dev/null +++ b/keyboards/forever65/readme.md @@ -0,0 +1,15 @@ +# Forever65 + +![Forever65](https://static.wixstatic.com/media/7c76e8_827c433e51c84744a3b505df557ad5f7~mv2.jpg) + +Gasket Mount 65% keyboard + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Supported: Forever65 PCB +* Hardware Availability: [Group-Buy](https://geekhack.org/index.php?topic=108809.0) + +Make example for this keyboard (after setting up your build environment): + + make forever65: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). diff --git a/keyboards/forever65/rules.mk b/keyboards/forever65/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/forever65/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/fortitude60/fortitude60.h b/keyboards/fortitude60/fortitude60.h index 61404fa75013..0ad157f2d2e7 100644 --- a/keyboards/fortitude60/fortitude60.h +++ b/keyboards/fortitude60/fortitude60.h @@ -5,19 +5,3 @@ #endif #include "quantum.h" - -// Used to create a keymap using only KC_ prefixed keys -#define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, LT5, RT5, R30, R31, R32, R33, R34, R35, \ - LT0, LT1, LT2, LT3, LT4, RT4, RT3, RT2, RT1, RT0 \ - ) \ - LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##LT5, KC_##RT5, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35, \ - KC_##LT0, KC_##LT1, KC_##LT2, KC_##LT3, KC_##LT4, KC_##RT4, KC_##RT3, KC_##RT2, KC_##RT1, KC_##RT0 \ - ) diff --git a/keyboards/fortitude60/rules.mk b/keyboards/fortitude60/rules.mk index d866b0bc02b3..d4091ed45470 100644 --- a/keyboards/fortitude60/rules.mk +++ b/keyboards/fortitude60/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/four_banger/rules.mk b/keyboards/four_banger/rules.mk index ae77f0a0e1c6..cd13b1bc52b3 100644 --- a/keyboards/four_banger/rules.mk +++ b/keyboards/four_banger/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/foxlab/key65/hotswap/rules.mk b/keyboards/foxlab/key65/hotswap/rules.mk index bbcb451e1eaf..ab6f3e18391b 100644 --- a/keyboards/foxlab/key65/hotswap/rules.mk +++ b/keyboards/foxlab/key65/hotswap/rules.mk @@ -2,16 +2,9 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -22,5 +15,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support AUDIO_ENABLE = no # Audio output diff --git a/keyboards/foxlab/key65/universal/rules.mk b/keyboards/foxlab/key65/universal/rules.mk index 4552456ef588..129979e06316 100644 --- a/keyboards/foxlab/key65/universal/rules.mk +++ b/keyboards/foxlab/key65/universal/rules.mk @@ -2,16 +2,9 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -22,7 +15,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support AUDIO_ENABLE = no # Audio output LAYOUTS = 65_ansi_blocker_split_bs # Support community layouts diff --git a/keyboards/foxlab/leaf60/hotswap/config.h b/keyboards/foxlab/leaf60/hotswap/config.h index 50a8527eb8ac..5cc751a69262 100644 --- a/keyboards/foxlab/leaf60/hotswap/config.h +++ b/keyboards/foxlab/leaf60/hotswap/config.h @@ -175,26 +175,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c b/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c index 3f9ea1b49c58..f2f5f0c97347 100644 --- a/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c +++ b/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c @@ -32,15 +32,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/foxlab/leaf60/hotswap/rules.mk b/keyboards/foxlab/leaf60/hotswap/rules.mk index 6d4bcc7ef051..24bd398aeb64 100644 --- a/keyboards/foxlab/leaf60/hotswap/rules.mk +++ b/keyboards/foxlab/leaf60/hotswap/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/foxlab/leaf60/universal/config.h b/keyboards/foxlab/leaf60/universal/config.h index 237276ed89b6..7a2574e6bc00 100644 --- a/keyboards/foxlab/leaf60/universal/config.h +++ b/keyboards/foxlab/leaf60/universal/config.h @@ -175,26 +175,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/foxlab/leaf60/universal/keymaps/default/keymap.c b/keyboards/foxlab/leaf60/universal/keymaps/default/keymap.c index ff84fa39995a..3f823ba04eae 100644 --- a/keyboards/foxlab/leaf60/universal/keymaps/default/keymap.c +++ b/keyboards/foxlab/leaf60/universal/keymaps/default/keymap.c @@ -32,15 +32,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/foxlab/leaf60/universal/rules.mk b/keyboards/foxlab/leaf60/universal/rules.mk index c1876cd2b494..fe031633bda7 100644 --- a/keyboards/foxlab/leaf60/universal/rules.mk +++ b/keyboards/foxlab/leaf60/universal/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/foxlab/time80/rules.mk b/keyboards/foxlab/time80/rules.mk index 1b61e9534da1..f0fbba59f46d 100644 --- a/keyboards/foxlab/time80/rules.mk +++ b/keyboards/foxlab/time80/rules.mk @@ -2,12 +2,12 @@ MCU = atmega32a # Bootloader selection -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/foxlab/time_re/hotswap/config.h b/keyboards/foxlab/time_re/hotswap/config.h new file mode 100644 index 000000000000..8ca58e4341f5 --- /dev/null +++ b/keyboards/foxlab/time_re/hotswap/config.h @@ -0,0 +1,64 @@ +/* +Copyright 2021 DongXing + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x464C // "FL" +#define PRODUCT_ID 0x0006 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Fox Lab +#define PRODUCT Time 80 Reforged + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D1, D0, B3, B0, B2, B1 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D4, D6, D2, D3, D5 } + +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN B7 +#define BACKLIGHT_LEVELS 3 + +#define LED_CAPS_LOCK_PIN E6 +#define LED_PIN_ON_STATE 0 + +#define RGB_DI_PIN E2 + +#ifdef RGB_DI_PIN + #define RGBLED_NUM 5 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + #define RGBLIGHT_ANIMATIONS +#endif diff --git a/keyboards/foxlab/time_re/hotswap/hotswap.c b/keyboards/foxlab/time_re/hotswap/hotswap.c new file mode 100644 index 000000000000..b3acfe7b4ed5 --- /dev/null +++ b/keyboards/foxlab/time_re/hotswap/hotswap.c @@ -0,0 +1,17 @@ +/* Copyright 2021 DongXing + * + * 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 "hotswap.h" + diff --git a/keyboards/foxlab/time_re/hotswap/hotswap.h b/keyboards/foxlab/time_re/hotswap/hotswap.h new file mode 100644 index 000000000000..6f7dda6dfd82 --- /dev/null +++ b/keyboards/foxlab/time_re/hotswap/hotswap.h @@ -0,0 +1,34 @@ +/* Copyright 2021 DongXing + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3E, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ +) { \ + { K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, KC_NO, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \ +} diff --git a/keyboards/foxlab/time_re/hotswap/info.json b/keyboards/foxlab/time_re/hotswap/info.json new file mode 100644 index 000000000000..64678e03c122 --- /dev/null +++ b/keyboards/foxlab/time_re/hotswap/info.json @@ -0,0 +1,103 @@ +{ + "keyboard_name": "Time RE Hotswap", + "url": "", + "maintainer": "qmk", + "width": 18.25, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (D1,F0)", "x":0, "y":0}, + {"label":"K02 (D1,F4)", "x":2, "y":0}, + {"label":"K03 (D1,F5)", "x":3, "y":0}, + {"label":"K04 (D1,F6)", "x":4, "y":0}, + {"label":"K05 (D1,F7)", "x":5, "y":0}, + {"label":"K06 (D1,C7)", "x":6.5, "y":0}, + {"label":"K07 (D1,C6)", "x":7.5, "y":0}, + {"label":"K08 (D1,B6)", "x":8.5, "y":0}, + {"label":"K09 (D1,B5)", "x":9.5, "y":0}, + {"label":"K0A (D1,B4)", "x":11, "y":0}, + {"label":"K0B (D1,D7)", "x":12, "y":0}, + {"label":"K0C (D1,D4)", "x":13, "y":0}, + {"label":"K0D (D1,D6)", "x":14, "y":0}, + {"label":"K0E (D1,D2)", "x":15.25, "y":0}, + {"label":"K0F (D1,D3)", "x":16.25, "y":0}, + {"label":"K0G (D1,D5)", "x":17.25, "y":0}, + {"label":"K10 (D0,F0)", "x":0, "y":1.5}, + {"label":"K11 (D0,F1)", "x":1, "y":1.5}, + {"label":"K12 (D0,F4)", "x":2, "y":1.5}, + {"label":"K13 (D0,F5)", "x":3, "y":1.5}, + {"label":"K14 (D0,F6)", "x":4, "y":1.5}, + {"label":"K15 (D0,F7)", "x":5, "y":1.5}, + {"label":"K16 (D0,C7)", "x":6, "y":1.5}, + {"label":"K17 (D0,C6)", "x":7, "y":1.5}, + {"label":"K18 (D0,B6)", "x":8, "y":1.5}, + {"label":"K19 (D0,B5)", "x":9, "y":1.5}, + {"label":"K1A (D0,B4)", "x":10, "y":1.5}, + {"label":"K1B (D0,D7)", "x":11, "y":1.5}, + {"label":"K1C (D0,D4)", "x":12, "y":1.5}, + {"label":"K1D (D0,D6)", "x":13, "y":1.5}, + {"label":"K3E (B0,D2)", "x":14, "y":1.5}, + {"label":"K1E (D0,D2)", "x":15.25, "y":1.5}, + {"label":"K1F (D0,D3)", "x":16.25, "y":1.5}, + {"label":"K1G (D0,D5)", "x":17.25, "y":1.5}, + {"label":"K20 (B3,F0)", "x":0, "y":2.5, "w":1.5}, + {"label":"K21 (B3,F1)", "x":1.5, "y":2.5}, + {"label":"K22 (B3,F4)", "x":2.5, "y":2.5}, + {"label":"K23 (B3,F5)", "x":3.5, "y":2.5}, + {"label":"K24 (B3,F6)", "x":4.5, "y":2.5}, + {"label":"K25 (B3,F7)", "x":5.5, "y":2.5}, + {"label":"K26 (B3,C7)", "x":6.5, "y":2.5}, + {"label":"K27 (B3,C6)", "x":7.5, "y":2.5}, + {"label":"K28 (B3,B6)", "x":8.5, "y":2.5}, + {"label":"K29 (B3,B5)", "x":9.5, "y":2.5}, + {"label":"K2A (B3,B4)", "x":10.5, "y":2.5}, + {"label":"K2B (B3,D7)", "x":11.5, "y":2.5}, + {"label":"K2C (B3,D4)", "x":12.5, "y":2.5}, + {"label":"K2D (B3,D6)", "x":13.5, "y":2.5, "w":1.5}, + {"label":"K2E (B3,D2)", "x":15.25, "y":2.5}, + {"label":"K2F (B3,D3)", "x":16.25, "y":2.5}, + {"label":"K2G (B3,D5)", "x":17.25, "y":2.5}, + {"label":"K30 (B0,F0)", "x":0, "y":3.5, "w":1.75}, + {"label":"K31 (B0,F1)", "x":1.75, "y":3.5}, + {"label":"K32 (B0,F4)", "x":2.75, "y":3.5}, + {"label":"K33 (B0,F5)", "x":3.75, "y":3.5}, + {"label":"K34 (B0,F6)", "x":4.75, "y":3.5}, + {"label":"K35 (B0,F7)", "x":5.75, "y":3.5}, + {"label":"K36 (B0,C7)", "x":6.75, "y":3.5}, + {"label":"K37 (B0,C6)", "x":7.75, "y":3.5}, + {"label":"K38 (B0,B6)", "x":8.75, "y":3.5}, + {"label":"K39 (B0,B5)", "x":9.75, "y":3.5}, + {"label":"K3A (B0,B4)", "x":10.75, "y":3.5}, + {"label":"K3B (B0,D7)", "x":11.75, "y":3.5}, + {"label":"K3D (B0,D6)", "x":12.75, "y":3.5, "w":2.25}, + {"label":"K40 (B2,F0)", "x":0, "y":4.5, "w":1.25}, + {"label":"K41 (B2,F1)", "x":1.25, "y":4.5}, + {"label":"K42 (B2,F4)", "x":2.25, "y":4.5}, + {"label":"K43 (B2,F5)", "x":3.25, "y":4.5}, + {"label":"K44 (B2,F6)", "x":4.25, "y":4.5}, + {"label":"K45 (B2,F7)", "x":5.25, "y":4.5}, + {"label":"K46 (B2,C7)", "x":6.25, "y":4.5}, + {"label":"K47 (B2,C6)", "x":7.25, "y":4.5}, + {"label":"K48 (B2,B6)", "x":8.25, "y":4.5}, + {"label":"K49 (B2,B5)", "x":9.25, "y":4.5}, + {"label":"K4A (B2,B4)", "x":10.25, "y":4.5}, + {"label":"K4B (B2,D7)", "x":11.25, "y":4.5}, + {"label":"K4C (B2,D4)", "x":12.25, "y":4.5, "w":1.75}, + {"label":"K4D (B2,D6)", "x":14, "y":4.5}, + {"label":"K4F (B2,D3)", "x":16.25, "y":4.5}, + {"label":"K50 (B1,F0)", "x":0, "y":5.5, "w":1.25}, + {"label":"K51 (B1,F1)", "x":1.25, "y":5.5, "w":1.25}, + {"label":"K52 (B1,F4)", "x":2.5, "y":5.5, "w":1.25}, + {"label":"K56 (B1,C7)", "x":3.75, "y":5.5, "w":6.25}, + {"label":"K5A (B1,B4)", "x":10, "y":5.5, "w":1.25}, + {"label":"K5B (B1,D7)", "x":11.25, "y":5.5, "w":1.25}, + {"label":"K5C (B1,D4)", "x":12.5, "y":5.5, "w":1.25}, + {"label":"K5D (B1,D6)", "x":13.75, "y":5.5, "w":1.25}, + {"label":"K5E (B1,D2)", "x":15.25, "y":5.5}, + {"label":"K5F (B1,D3)", "x":16.25, "y":5.5}, + {"label":"K5G (B1,D5)", "x":17.25, "y":5.5} + ] + } + } +} diff --git a/keyboards/foxlab/time_re/hotswap/keymaps/default/keymap.c b/keyboards/foxlab/time_re/hotswap/keymaps/default/keymap.c new file mode 100644 index 000000000000..b9250fac4be2 --- /dev/null +++ b/keyboards/foxlab/time_re/hotswap/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2021 matrixzj + * + * 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_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_SLCK, 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_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_SPC, 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, MO(1), _______, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/foxlab/time_re/hotswap/keymaps/via/keymap.c b/keyboards/foxlab/time_re/hotswap/keymaps/via/keymap.c new file mode 100644 index 000000000000..a6236d194237 --- /dev/null +++ b/keyboards/foxlab/time_re/hotswap/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2021 matrixzj + * + * 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_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_SLCK, 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_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_SPC, 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, MO(1), _______, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/foxlab/time_re/hotswap/keymaps/via/rules.mk b/keyboards/foxlab/time_re/hotswap/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/foxlab/time_re/hotswap/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/foxlab/time_re/hotswap/readme.md b/keyboards/foxlab/time_re/hotswap/readme.md new file mode 100644 index 000000000000..f9d987f08cbd --- /dev/null +++ b/keyboards/foxlab/time_re/hotswap/readme.md @@ -0,0 +1,19 @@ +# Foxlab Time 80 Reforged Hotswap + +![Time 80 Reforged](https://i.imgur.com/BXOM9sQh.jpg) + +Time 80 Reforged was the second design of Fox Lab back in 2017. It has also become an iconic keyboard design of Fox Lab. Time80RE kept most of the original weight design. The clock has become thinner now and has a tempered glass cover. The front height of the keyboard has been greatly reduced for optimizing for comfort. The ratio between the top and bottom cases has been adjusted for a cleaner side view. + +* Keyboard Maintainer: QMK +* Hardware Supported: Time 80 Reforged Hotswap PCB +* Hardware Availability: [Group Buy](https://geekhack.org/index.php?topic=108410.msg2952330) + +This version is for the hotswap variant with the layouts below available: +![PCB Layout](https://imgur.com/D8cQCwb.png) +![Plate Layout](https://imgur.com/aR1UnhK.png) + +Make example for this keyboard (after setting up your build environment): + + make foxlab/time_re/hotswap: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). diff --git a/keyboards/foxlab/time_re/hotswap/rules.mk b/keyboards/foxlab/time_re/hotswap/rules.mk new file mode 100644 index 000000000000..8c91841fb3fe --- /dev/null +++ b/keyboards/foxlab/time_re/hotswap/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/foxlab/time_re/universal/config.h b/keyboards/foxlab/time_re/universal/config.h new file mode 100644 index 000000000000..8ca58e4341f5 --- /dev/null +++ b/keyboards/foxlab/time_re/universal/config.h @@ -0,0 +1,64 @@ +/* +Copyright 2021 DongXing + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x464C // "FL" +#define PRODUCT_ID 0x0006 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Fox Lab +#define PRODUCT Time 80 Reforged + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D1, D0, B3, B0, B2, B1 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D4, D6, D2, D3, D5 } + +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_PIN B7 +#define BACKLIGHT_LEVELS 3 + +#define LED_CAPS_LOCK_PIN E6 +#define LED_PIN_ON_STATE 0 + +#define RGB_DI_PIN E2 + +#ifdef RGB_DI_PIN + #define RGBLED_NUM 5 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + #define RGBLIGHT_ANIMATIONS +#endif diff --git a/keyboards/foxlab/time_re/universal/info.json b/keyboards/foxlab/time_re/universal/info.json new file mode 100644 index 000000000000..77bb4a7694b0 --- /dev/null +++ b/keyboards/foxlab/time_re/universal/info.json @@ -0,0 +1,103 @@ +{ + "keyboard_name": "Time RE Universal", + "url": "", + "maintainer": "qmk", + "width": 18.25, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (D1,F0)", "x":0, "y":0}, + {"label":"K02 (D1,F4)", "x":2, "y":0}, + {"label":"K03 (D1,F5)", "x":3, "y":0}, + {"label":"K04 (D1,F6)", "x":4, "y":0}, + {"label":"K05 (D1,F7)", "x":5, "y":0}, + {"label":"K06 (D1,C7)", "x":6.5, "y":0}, + {"label":"K07 (D1,C6)", "x":7.5, "y":0}, + {"label":"K08 (D1,B6)", "x":8.5, "y":0}, + {"label":"K09 (D1,B5)", "x":9.5, "y":0}, + {"label":"K0A (D1,B4)", "x":11, "y":0}, + {"label":"K0B (D1,D7)", "x":12, "y":0}, + {"label":"K0C (D1,D4)", "x":13, "y":0}, + {"label":"K0D (D1,D6)", "x":14, "y":0}, + {"label":"K0E (D1,D2)", "x":15.25, "y":0}, + {"label":"K0F (D1,D3)", "x":16.25, "y":0}, + {"label":"K0G (D1,D5)", "x":17.25, "y":0}, + {"label":"K10 (D0,F0)", "x":0, "y":1.5}, + {"label":"K11 (D0,F1)", "x":1, "y":1.5}, + {"label":"K12 (D0,F4)", "x":2, "y":1.5}, + {"label":"K13 (D0,F5)", "x":3, "y":1.5}, + {"label":"K14 (D0,F6)", "x":4, "y":1.5}, + {"label":"K15 (D0,F7)", "x":5, "y":1.5}, + {"label":"K16 (D0,C7)", "x":6, "y":1.5}, + {"label":"K17 (D0,C6)", "x":7, "y":1.5}, + {"label":"K18 (D0,B6)", "x":8, "y":1.5}, + {"label":"K19 (D0,B5)", "x":9, "y":1.5}, + {"label":"K1A (D0,B4)", "x":10, "y":1.5}, + {"label":"K1B (D0,D7)", "x":11, "y":1.5}, + {"label":"K1C (D0,D4)", "x":12, "y":1.5}, + {"label":"K1D (D0,D6)", "x":13, "y":1.5}, + {"label":"K3E (B0,D2)", "x":14, "y":1.5}, + {"label":"K1E (D0,D2)", "x":15.25, "y":1.5}, + {"label":"K1F (D0,D3)", "x":16.25, "y":1.5}, + {"label":"K1G (D0,D5)", "x":17.25, "y":1.5}, + {"label":"K20 (B3,F0)", "x":0, "y":2.5, "w":1.5}, + {"label":"K21 (B3,F1)", "x":1.5, "y":2.5}, + {"label":"K22 (B3,F4)", "x":2.5, "y":2.5}, + {"label":"K23 (B3,F5)", "x":3.5, "y":2.5}, + {"label":"K24 (B3,F6)", "x":4.5, "y":2.5}, + {"label":"K25 (B3,F7)", "x":5.5, "y":2.5}, + {"label":"K26 (B3,C7)", "x":6.5, "y":2.5}, + {"label":"K27 (B3,C6)", "x":7.5, "y":2.5}, + {"label":"K28 (B3,B6)", "x":8.5, "y":2.5}, + {"label":"K29 (B3,B5)", "x":9.5, "y":2.5}, + {"label":"K2A (B3,B4)", "x":10.5, "y":2.5}, + {"label":"K2B (B3,D7)", "x":11.5, "y":2.5}, + {"label":"K2C (B3,D4)", "x":12.5, "y":2.5}, + {"label":"K2D (B3,D6)", "x":13.5, "y":2.5, "w":1.5}, + {"label":"K2E (B3,D2)", "x":15.25, "y":2.5}, + {"label":"K2F (B3,D3)", "x":16.25, "y":2.5}, + {"label":"K2G (B3,D5)", "x":17.25, "y":2.5}, + {"label":"K30 (B0,F0)", "x":0, "y":3.5, "w":1.75}, + {"label":"K31 (B0,F1)", "x":1.75, "y":3.5}, + {"label":"K32 (B0,F4)", "x":2.75, "y":3.5}, + {"label":"K33 (B0,F5)", "x":3.75, "y":3.5}, + {"label":"K34 (B0,F6)", "x":4.75, "y":3.5}, + {"label":"K35 (B0,F7)", "x":5.75, "y":3.5}, + {"label":"K36 (B0,C7)", "x":6.75, "y":3.5}, + {"label":"K37 (B0,C6)", "x":7.75, "y":3.5}, + {"label":"K38 (B0,B6)", "x":8.75, "y":3.5}, + {"label":"K39 (B0,B5)", "x":9.75, "y":3.5}, + {"label":"K3A (B0,B4)", "x":10.75, "y":3.5}, + {"label":"K3B (B0,D7)", "x":11.75, "y":3.5}, + {"label":"K3D (B0,D6)", "x":12.75, "y":3.5, "w":2.25}, + {"label":"K40 (B2,F0)", "x":0, "y":4.5, "w":1.25}, + {"label":"K41 (B2,F1)", "x":1.25, "y":4.5}, + {"label":"K42 (B2,F4)", "x":2.25, "y":4.5}, + {"label":"K43 (B2,F5)", "x":3.25, "y":4.5}, + {"label":"K44 (B2,F6)", "x":4.25, "y":4.5}, + {"label":"K45 (B2,F7)", "x":5.25, "y":4.5}, + {"label":"K46 (B2,C7)", "x":6.25, "y":4.5}, + {"label":"K47 (B2,C6)", "x":7.25, "y":4.5}, + {"label":"K48 (B2,B6)", "x":8.25, "y":4.5}, + {"label":"K49 (B2,B5)", "x":9.25, "y":4.5}, + {"label":"K4A (B2,B4)", "x":10.25, "y":4.5}, + {"label":"K4B (B2,D7)", "x":11.25, "y":4.5}, + {"label":"K4C (B2,D4)", "x":12.25, "y":4.5, "w":1.75}, + {"label":"K4D (B2,D6)", "x":14, "y":4.5}, + {"label":"K4F (B2,D3)", "x":16.25, "y":4.5}, + {"label":"K50 (B1,F0)", "x":0, "y":5.5, "w":1.25}, + {"label":"K51 (B1,F1)", "x":1.25, "y":5.5, "w":1.25}, + {"label":"K52 (B1,F4)", "x":2.5, "y":5.5, "w":1.25}, + {"label":"K56 (B1,C7)", "x":3.75, "y":5.5, "w":6.25}, + {"label":"K5A (B1,B4)", "x":10, "y":5.5, "w":1.25}, + {"label":"K5B (B1,D7)", "x":11.25, "y":5.5, "w":1.25}, + {"label":"K5C (B1,D4)", "x":12.5, "y":5.5, "w":1.25}, + {"label":"K5D (B1,D6)", "x":13.75, "y":5.5, "w":1.25}, + {"label":"K5E (B1,D2)", "x":15.25, "y":5.5}, + {"label":"K5F (B1,D3)", "x":16.25, "y":5.5}, + {"label":"K5G (B1,D5)", "x":17.25, "y":5.5} + ] + } + } +} diff --git a/keyboards/foxlab/time_re/universal/keymaps/default/keymap.c b/keyboards/foxlab/time_re/universal/keymaps/default/keymap.c new file mode 100644 index 000000000000..d6d3d8e72c41 --- /dev/null +++ b/keyboards/foxlab/time_re/universal/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2021 matrixzj + * + * 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_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_SLCK, 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_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_SPC, 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_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/foxlab/time_re/universal/keymaps/via/keymap.c b/keyboards/foxlab/time_re/universal/keymaps/via/keymap.c new file mode 100644 index 000000000000..046225536f88 --- /dev/null +++ b/keyboards/foxlab/time_re/universal/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2021 matrixzj + * + * 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_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_SLCK, 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_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_SPC, 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_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/foxlab/time_re/universal/keymaps/via/rules.mk b/keyboards/foxlab/time_re/universal/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/foxlab/time_re/universal/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/foxlab/time_re/universal/readme.md b/keyboards/foxlab/time_re/universal/readme.md new file mode 100644 index 000000000000..385078585f72 --- /dev/null +++ b/keyboards/foxlab/time_re/universal/readme.md @@ -0,0 +1,19 @@ +# Foxlab Time 80 Reforged Universal + +![Time 80 Reforged](https://i.imgur.com/BXOM9sQh.jpg) + +Time 80 Reforged was the second design of Fox Lab back in 2017. It has also become an iconic keyboard design of Fox Lab. Time80RE kept most of the original weight design. The clock has become thinner now and has a tempered glass cover. The front height of the keyboard has been greatly reduced for optimizing for comfort. The ratio between the top and bottom cases has been adjusted for a cleaner side view. + +* Keyboard Maintainer: QMK +* Hardware Supported: Time 80 Reforged Universal PCB +* Hardware Availability: [Group Buy](https://geekhack.org/index.php?topic=108410.msg2952330) + +This version is for the universal variant with the layouts below available: +![PCB Layout](https://imgur.com/D8cQCwb.png) +![Plate Layout](https://imgur.com/RzeVma5.png) + +Make example for this keyboard (after setting up your build environment): + + make foxlab/time_re/universal: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). diff --git a/keyboards/foxlab/time_re/universal/rules.mk b/keyboards/foxlab/time_re/universal/rules.mk new file mode 100644 index 000000000000..07c819d30cf8 --- /dev/null +++ b/keyboards/foxlab/time_re/universal/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/foxlab/time_re/universal/universal.c b/keyboards/foxlab/time_re/universal/universal.c new file mode 100644 index 000000000000..286104854b3e --- /dev/null +++ b/keyboards/foxlab/time_re/universal/universal.c @@ -0,0 +1,17 @@ +/* Copyright 2021 DongXing + * + * 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 "universal.h" + diff --git a/keyboards/foxlab/time_re/universal/universal.h b/keyboards/foxlab/time_re/universal/universal.h new file mode 100644 index 000000000000..6f7dda6dfd82 --- /dev/null +++ b/keyboards/foxlab/time_re/universal/universal.h @@ -0,0 +1,34 @@ +/* Copyright 2021 DongXing + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K3E, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ +) { \ + { K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, KC_NO, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \ +} diff --git a/keyboards/fr4/southpaw75/rules.mk b/keyboards/fr4/southpaw75/rules.mk index e70a8a7d6044..f0e9a7a83bfe 100644 --- a/keyboards/fr4/southpaw75/rules.mk +++ b/keyboards/fr4/southpaw75/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/fr4/unix60/rules.mk b/keyboards/fr4/unix60/rules.mk index 8a411ac604a4..f0e9a7a83bfe 100644 --- a/keyboards/fr4/unix60/rules.mk +++ b/keyboards/fr4/unix60/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/fractal/rules.mk b/keyboards/fractal/rules.mk index d83deb422321..e03296f3576f 100755 --- a/keyboards/fractal/rules.mk +++ b/keyboards/fractal/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -22,7 +15,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/freyr/rules.mk b/keyboards/freyr/rules.mk index bfd0c526260e..31366b691269 100644 --- a/keyboards/freyr/rules.mk +++ b/keyboards/freyr/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/friedrich/config.h b/keyboards/friedrich/config.h new file mode 100644 index 000000000000..1e4e36f2e400 --- /dev/null +++ b/keyboards/friedrich/config.h @@ -0,0 +1,45 @@ +/* +Copyright 2021 kb-elmo + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6481 +#define PRODUCT_ID 0xB4A2 +#define DEVICE_VER 0x0001 +#define MANUFACTURER kb-elmo +#define PRODUCT Friedrich + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 12 + +/* Keyboard Matrix Assignments */ +#define MATRIX_ROW_PINS { F4, F1, F0, F5, D5 } +#define MATRIX_COL_PINS { F6, F7, E6, B2, B3, D4, D6, D7, B4, C6, B5, B6 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* CAPS LED */ +#define LED_CAPS_LOCK_PIN B1 + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/friedrich/friedrich.c b/keyboards/friedrich/friedrich.c new file mode 100644 index 000000000000..5c6995202d96 --- /dev/null +++ b/keyboards/friedrich/friedrich.c @@ -0,0 +1,17 @@ +/* Copyright 2021 kb-elmo + * + * 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 "friedrich.h" diff --git a/keyboards/friedrich/friedrich.h b/keyboards/friedrich/friedrich.h new file mode 100644 index 000000000000..d4f043b771f7 --- /dev/null +++ b/keyboards/friedrich/friedrich.h @@ -0,0 +1,43 @@ +/* Copyright 2021 kb-elmo + * + * 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 "quantum.h" + +#define ____ KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k210, k011, \ + k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, \ + k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k211, \ + k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, k311, \ + k400, k401, k405, k409, k410 \ +) { \ + { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011 }, \ + { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111 }, \ + { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211 }, \ + { k300, k301, k302, k303, k304, k305, k306, k307, k308, k309, ____, k311 }, \ + { k400, k401, ____, ____, ____, k405, ____, ____, ____, k409, k410, ____ } \ +} diff --git a/keyboards/friedrich/info.json b/keyboards/friedrich/info.json new file mode 100644 index 000000000000..94b9f1a20519 --- /dev/null +++ b/keyboards/friedrich/info.json @@ -0,0 +1,64 @@ +{ + "keyboard_name": "Friedrich", + "url": "https://github.com/MarvFPV/Friedrich", + "maintainer": "kb-elmo", + "width": 13, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [{"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1, "w":1.5}, + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2, "w":2.25}, + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3, "w":1.75}, + {"x":1.125, "y":4}, + {"x":2.125, "y":4, "w":1.25}, + {"x":3.375, "y":4, "w":6.25}, + {"x":9.625, "y":4, "w":1.25}, + {"x":10.875, "y":4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/friedrich/keymaps/default/keymap.c b/keyboards/friedrich/keymaps/default/keymap.c new file mode 100644 index 000000000000..31474f4d0666 --- /dev/null +++ b/keyboards/friedrich/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2021 kb-elmo + * + * 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_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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, + KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) + ), + [1] = LAYOUT( + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_QUOT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_MPLY, KC_SLSH, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/friedrich/keymaps/via/keymap.c b/keyboards/friedrich/keymaps/via/keymap.c new file mode 100644 index 000000000000..cbbe87b16848 --- /dev/null +++ b/keyboards/friedrich/keymaps/via/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2021 kb-elmo + * + * 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_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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, + KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) + ), + [1] = LAYOUT( + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_QUOT, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_MPLY, KC_SLSH, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/friedrich/keymaps/via/rules.mk b/keyboards/friedrich/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/friedrich/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/friedrich/readme.md b/keyboards/friedrich/readme.md new file mode 100644 index 000000000000..dbe890bd9478 --- /dev/null +++ b/keyboards/friedrich/readme.md @@ -0,0 +1,21 @@ +# Friedrich + +![friedrich](https://i.imgur.com/LH15u37l.jpg) + +A small printer friendly 3D printed 50% keyboard. + +* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) +* Hardware Supported: Friedrich PCB by kb-elmo +* Hardware Availability: [Open source project](https://github.com/MarvFPV/Friedrich) + +Make example for this keyboard (after setting up your build environment): + + make friedrich:default + +Flashing example for this keyboard: + + make friedrich:default:flash + +**Bootloader:** Press the physical reset button on the top side of the PCB or hold down ESC while plugging in the board. + +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/friedrich/rules.mk b/keyboards/friedrich/rules.mk new file mode 100644 index 000000000000..23ba502fc9d3 --- /dev/null +++ b/keyboards/friedrich/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/frooastboard/config.h b/keyboards/frooastboard/config.h new file mode 100644 index 000000000000..ebfc6a75d71c --- /dev/null +++ b/keyboards/frooastboard/config.h @@ -0,0 +1,52 @@ +/* Copyright 2021 frooastside + * + * 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 3 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define MANUFACTURER frooastside +#define PRODUCT Frooastboard + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 2 + +#define BOOTMAGIC_LITE_ROW 1 +#define BOOTMAGIC_LITE_COLUMN 1 + +#define RGB_DI_PIN B4 +#define RGBLED_NUM 8 + +#define RGBLIGHT_SLEEP + +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 + +#define RGBLIGHT_DEFAULT_HUE 234 + +#define RGBLIGHT_LIMIT_VAL 255 +#define RGBLIGHT_DEFAULT_VAL 190 + +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_TWINKLE +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_SNAKE + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD + 2 diff --git a/keyboards/frooastboard/frooastboard.c b/keyboards/frooastboard/frooastboard.c new file mode 100644 index 000000000000..8e7f3c8998c9 --- /dev/null +++ b/keyboards/frooastboard/frooastboard.c @@ -0,0 +1,17 @@ +/* Copyright 2021 frooastside + * + * 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 3 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 "frooastboard.h" diff --git a/keyboards/frooastboard/frooastboard.h b/keyboards/frooastboard/frooastboard.h new file mode 100644 index 000000000000..da598cf4aabd --- /dev/null +++ b/keyboards/frooastboard/frooastboard.h @@ -0,0 +1,27 @@ +/* Copyright 2021 frooastside + * + * 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 3 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 "quantum.h" + +#define LAYOUT( \ + K00, K01, \ + K10, K11 \ +) { \ + { K00, K01 }, \ + { K10, K11 } \ +} diff --git a/keyboards/frooastboard/info.json b/keyboards/frooastboard/info.json new file mode 100644 index 000000000000..43ea3cae74b1 --- /dev/null +++ b/keyboards/frooastboard/info.json @@ -0,0 +1,44 @@ +{ + "keyboard_name": "Frooastboard", + "url": "https://github.com/frooastside/qmk_firmware/tree/master/keyboards/frooastboard", + "maintainer": "frooastside", + "width": 2, + "height": 2, + "debounce": 5, + "diode_direction": "COL2ROW", + "layouts": { + "LAYOUT": { + "layout": [ + { + "label": "Z", + "x": 0, + "y": 0 + }, + { + "label": "X", + "x": 1, + "y": 0 + }, + { + "label": "Esc", + "x": 0, + "y": 1 + }, + { + "label": "~", + "x": 1, + "y": 1 + } + ] + }, + }, + "matrix_pins": { + "rows": ["B0", "B1"], + "cols": ["B2", "B3"] + }, + "usb": { + "vid": "0x4642", + "pid": "0x6F21", + "device_ver": "0x0001" + } +} diff --git a/keyboards/frooastboard/keymaps/default/keymap.c b/keyboards/frooastboard/keymaps/default/keymap.c new file mode 100644 index 000000000000..569937d8e211 --- /dev/null +++ b/keyboards/frooastboard/keymaps/default/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2021 frooastside + * + * 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 3 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_Z, KC_X, + LT(1, KC_ESC), KC_TILD), + + [1] = LAYOUT( + KC_F23, KC_F24, + KC_TRNS, TO(2)), + + [2] = LAYOUT( + RGB_TOG, RGB_MOD, + TO(3), TO(0)), + + [3] = LAYOUT( + RGB_HUD, RGB_HUI, + TO(4), TO(2)), + + [4] = LAYOUT( + RGB_SAD, RGB_SAI, + TO(5), TO(3)), + + [5] = LAYOUT( + RGB_VAD, RGB_VAI, + TO(6), TO(4)), + + [6] = LAYOUT( + KC_TRNS, KC_TRNS, + RESET, TO(5)) +}; diff --git a/keyboards/frooastboard/keymaps/safe_mode/keymap.c b/keyboards/frooastboard/keymaps/safe_mode/keymap.c new file mode 100644 index 000000000000..dc040070edd1 --- /dev/null +++ b/keyboards/frooastboard/keymaps/safe_mode/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2021 frooastside + * + * 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 3 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_Z, KC_X, + TO(1), KC_TILD), + + [1] = LAYOUT( + RGB_TOG, RGB_MOD, + TO(2), TO(0)), + + [2] = LAYOUT( + RGB_HUD, RGB_HUI, + TO(3), TO(1)), + + [3] = LAYOUT( + RGB_SAD, RGB_SAI, + TO(4), TO(2)), + + [4] = LAYOUT( + RGB_VAD, RGB_VAI, + TO(5), TO(3)), + + [5] = LAYOUT( + KC_TRNS, KC_TRNS, + RESET, TO(4)) +}; diff --git a/keyboards/frooastboard/keymaps/via/config.h b/keyboards/frooastboard/keymaps/via/config.h new file mode 100644 index 000000000000..6bd3c6ea37ca --- /dev/null +++ b/keyboards/frooastboard/keymaps/via/config.h @@ -0,0 +1,30 @@ +/* Copyright 2021 frooastside + * + * 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 3 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 RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE + +#define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/frooastboard/keymaps/via/keymap.c b/keyboards/frooastboard/keymaps/via/keymap.c new file mode 100644 index 000000000000..028462cded40 --- /dev/null +++ b/keyboards/frooastboard/keymaps/via/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2021 frooastside + * + * 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 3 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_Z, KC_X, + LT(1, KC_ESC), KC_TILD), + + [1] = LAYOUT( + KC_F23, KC_F24, + KC_TRNS, RGB_TOG) +}; diff --git a/keyboards/sidderskb/majbritt/keymaps/via/rules.mk b/keyboards/frooastboard/keymaps/via/rules.mk similarity index 100% rename from keyboards/sidderskb/majbritt/keymaps/via/rules.mk rename to keyboards/frooastboard/keymaps/via/rules.mk diff --git a/keyboards/frooastboard/readme.md b/keyboards/frooastboard/readme.md new file mode 100644 index 000000000000..d465c3f4b727 --- /dev/null +++ b/keyboards/frooastboard/readme.md @@ -0,0 +1,19 @@ +# Frooastboard + +![Frooastboard](https://i.imgur.com/f26O8JLh.jpg) + +* Keyboard Maintainer: [Frooastside](https://github.com/frooastside) +* Hardware Supported: Frooastboard +* Hardware Availability: https://github.com/Frooastside/Frooastboard + +**Reset Key:** Hold down the key located at `K00`, commonly programmed as ESCAPE while plugging in the keyboard. (If via is used it is the key located at `K10`.) + +Make example for this keyboard (after setting up your build environment): + + make frooastboard:default + +Flashing example for this keyboard: + + make frooastboard: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). diff --git a/keyboards/frooastboard/rules.mk b/keyboards/frooastboard/rules.mk new file mode 100644 index 000000000000..bc035eca04c4 --- /dev/null +++ b/keyboards/frooastboard/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u2 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/ft/mars80/rules.mk b/keyboards/ft/mars80/rules.mk index 2cd628153760..3faff68b1673 100644 --- a/keyboards/ft/mars80/rules.mk +++ b/keyboards/ft/mars80/rules.mk @@ -2,17 +2,10 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # build options -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/function96/chconf.h b/keyboards/function96/chconf.h deleted file mode 100644 index c8e4b98ad294..000000000000 --- a/keyboards/function96/chconf.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2020 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/function96/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_FREQUENCY 10000 - -#define CH_CFG_OPTIMIZE_SPEED FALSE - -#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE - -#include_next - diff --git a/keyboards/function96/config.h b/keyboards/function96/config.h deleted file mode 100644 index 0656d223e458..000000000000 --- a/keyboards/function96/config.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -Copyright 2020 Matt3o - -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 "config_common.h" - - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x672A -#define DEVICE_VER 0x0001 -#define MANUFACTURER JTM -#define PRODUCT function96 - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 19 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { F1, F0, C15, C14, C13, B9 } -#define MATRIX_COL_PINS { A3, A4, A5, A6, A7, B0, B1, B2, B10, B12, A13, A14, A15, B3, B4, B5, B6, B7, B8} -#define UNUSED_PINS - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 diff --git a/keyboards/function96/function96.c b/keyboards/function96/function96.c deleted file mode 100644 index 86b8a6f704e3..000000000000 --- a/keyboards/function96/function96.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2020 Matt3o - * - * 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 "function96.h" diff --git a/keyboards/function96/halconf.h b/keyboards/function96/halconf.h deleted file mode 100644 index 9a62a7801574..000000000000 --- a/keyboards/function96/halconf.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright 2020 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/function96/halconf.h -r platforms/chibios/common/configs/halconf.h` - */ - -#pragma once - -#define HAL_USE_PWM TRUE - -#include_next - diff --git a/keyboards/function96/info.json b/keyboards/function96/info.json deleted file mode 100644 index 719aa680160c..000000000000 --- a/keyboards/function96/info.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "keyboard_name": "function96", - "url": "jtmkeebdesign@gmail.com", - "maintainer": "qmk", - "width": 19, - "height": 6, - "layouts": { - "LAYOUT": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"Print", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"x":15, "y":0}, {"x":16, "y":0}, {"x":17, "y":0}, {"x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"+", "x":18, "y":2, "h":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"x":18, "y":4, "h":2}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":2.25}, {"x":6, "y":5, "w":1.25}, {"x":7.25, "y":5, "w":2.75}, {"x":10, "y":5, "w":1.25}, {"x":11.25, "y":5, "w":1.25}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"x":17, "y":5}] - } - } -} diff --git a/keyboards/function96/mcuconf.h b/keyboards/function96/mcuconf.h deleted file mode 100644 index 9eb71be2b3a7..000000000000 --- a/keyboards/function96/mcuconf.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 2020 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/function96/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` - */ - -#pragma once - -#include_next - -#undef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE - diff --git a/keyboards/function96/readme.md b/keyboards/function96/readme.md deleted file mode 100644 index 8fde381418c8..000000000000 --- a/keyboards/function96/readme.md +++ /dev/null @@ -1,13 +0,0 @@ -# Function96 - -This Function96 is a passion project of JTM. It's meant to give the user the maximum usability of the space allocated by the keyboard while also giving the option of using the numpad. - -* Keyboard Maintainer: The QMK Community -* Hardware Supported: Function96 -* Hardware Availability: Limited Groupbuy that ended on 8/14/2020, https://www.reddit.com/r/mechmarket/comments/i7wwh4/gb_function96_prototype/ - -Make example for this keyboard (after setting up your build environment): - - make function96: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). diff --git a/keyboards/function96/rules.mk b/keyboards/function96/rules.mk deleted file mode 100644 index 48ab62762e28..000000000000 --- a/keyboards/function96/rules.mk +++ /dev/null @@ -1,19 +0,0 @@ -# MCU name -MCU = STM32F072 - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output diff --git a/keyboards/function96/v1/config.h b/keyboards/function96/v1/config.h new file mode 100644 index 000000000000..eaa7183843dd --- /dev/null +++ b/keyboards/function96/v1/config.h @@ -0,0 +1,52 @@ +/* +Copyright 2020 Matt3o + +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 "config_common.h" + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x672A +#define DEVICE_VER 0x0001 +#define MANUFACTURER JTM +#define PRODUCT function96v1 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 19 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F1, F0, C15, C14, C13, B9 } +#define MATRIX_COL_PINS { A3, A4, A5, A6, A7, B0, B1, B2, B10, B12, A13, A14, A15, B3, B4, B5, B6, B7, B8} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/function96/v1/info.json b/keyboards/function96/v1/info.json new file mode 100644 index 000000000000..cf2226a1bea4 --- /dev/null +++ b/keyboards/function96/v1/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "function96v1", + "url": "jtmkeebdesign@gmail.com", + "maintainer": "qmk", + "width": 19, + "height": 6, + "layouts": { + "LAYOUT": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"Print", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"x":15, "y":0}, {"x":16, "y":0}, {"x":17, "y":0}, {"x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Backspace", "x":13, "y":1, "w":2}, {"x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"+", "x":18, "y":2, "h":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"Shift", "x":0, "y":4, "w":2.25}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"x":18, "y":4, "h":2}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":2.25}, {"x":6, "y":5, "w":1.25}, {"x":7.25, "y":5, "w":2.75}, {"x":10, "y":5, "w":1.25}, {"x":11.25, "y":5, "w":1.25}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"label":"0", "x":16, "y":5}, {"x":17, "y":5}] + } + } +} diff --git a/keyboards/function96/keymaps/default/keymap.c b/keyboards/function96/v1/keymaps/default/keymap.c similarity index 100% rename from keyboards/function96/keymaps/default/keymap.c rename to keyboards/function96/v1/keymaps/default/keymap.c diff --git a/keyboards/function96/keymaps/default/readme.md b/keyboards/function96/v1/keymaps/default/readme.md similarity index 100% rename from keyboards/function96/keymaps/default/readme.md rename to keyboards/function96/v1/keymaps/default/readme.md diff --git a/keyboards/function96/v1/mcuconf.h b/keyboards/function96/v1/mcuconf.h new file mode 100644 index 000000000000..a25879aeff33 --- /dev/null +++ b/keyboards/function96/v1/mcuconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/function96/v2/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/function96/v1/readme.md b/keyboards/function96/v1/readme.md new file mode 100644 index 000000000000..89a17458e0ca --- /dev/null +++ b/keyboards/function96/v1/readme.md @@ -0,0 +1,13 @@ +# Function96 + +This Function96 is a passion project of JTM. It's meant to give the user the maximum usability of the space allocated by the keyboard while also giving the option of using the numpad. + +* Keyboard Maintainer: The QMK Community +* Hardware Supported: Function96v1 +* Hardware Availability: Limited Groupbuy that ended on 8/14/2020, https://www.reddit.com/r/mechmarket/comments/i7wwh4/gb_function96_prototype/ + +Make example for this keyboard (after setting up your build environment): + + make function96/v1: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). diff --git a/keyboards/function96/v1/rules.mk b/keyboards/function96/v1/rules.mk new file mode 100644 index 000000000000..fde1a427bd97 --- /dev/null +++ b/keyboards/function96/v1/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/function96/v1/v1.c b/keyboards/function96/v1/v1.c new file mode 100644 index 000000000000..03cade926124 --- /dev/null +++ b/keyboards/function96/v1/v1.c @@ -0,0 +1,17 @@ +/* Copyright 2020 Matt3o + * + * 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 "v1.h" diff --git a/keyboards/function96/function96.h b/keyboards/function96/v1/v1.h similarity index 100% rename from keyboards/function96/function96.h rename to keyboards/function96/v1/v1.h diff --git a/keyboards/function96/v2/config.h b/keyboards/function96/v2/config.h new file mode 100644 index 000000000000..b0e986785a11 --- /dev/null +++ b/keyboards/function96/v2/config.h @@ -0,0 +1,52 @@ +/* +Copyright 2020 Matt3o + +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 "config_common.h" + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x2A34 // JT , JTMDesign +#define PRODUCT_ID 0x672B +#define DEVICE_VER 0x0002 +#define MANUFACTURER JTMDesign +#define PRODUCT function96v2 + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 19 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { A9, A8, B15, B14, B13, B12 } +#define MATRIX_COL_PINS { A3, A4, A5, A6, A7, B0, B1, B2, B10, B11, A14, A15, B3, B4, B5, B6, B7, B8, B9} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 diff --git a/keyboards/function96/v2/info.json b/keyboards/function96/v2/info.json new file mode 100644 index 000000000000..cdde451466d4 --- /dev/null +++ b/keyboards/function96/v2/info.json @@ -0,0 +1,554 @@ +{ + "keyboard_name": "function96v2", + "url": "jtmkeebdesign@gmail.com", + "maintainer": "qmk", + "width": 19, + "height": 6, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Del", "x":14, "y":0}, + {"label":"Prev", "x":15, "y":0}, + {"label":"Next", "x":16, "y":0}, + {"label":"Vol -", "x":17, "y":0}, + {"label":"Vol +", "x":18, "y":0}, + + {"label":"\u00ac", "x":0, "y":1}, + {"label":"!", "x":1, "y":1}, + {"label":"\"", "x":2, "y":1}, + {"label":"\u00a3", "x":3, "y":1}, + {"label":"$", "x":4, "y":1}, + {"label":"%", "x":5, "y":1}, + {"label":"^", "x":6, "y":1}, + {"label":"&", "x":7, "y":1}, + {"label":"*", "x":8, "y":1}, + {"label":"(", "x":9, "y":1}, + {"label":")", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Play", "x":15, "y":1}, + {"label":"/", "x":16, "y":1}, + {"label":"*", "x":17, "y":1}, + {"label":"-", "x":18, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"7", "x":15, "y":2}, + {"label":"8", "x":16, "y":2}, + {"label":"9", "x":17, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"~", "x":12.75, "y":3}, + {"label":"Enter", "x":13.75, "y":3, "w":1.25}, + {"label":"4", "x":15, "y":3}, + {"label":"5", "x":16, "y":3}, + {"label":"6", "x":17, "y":3}, + {"label":"+", "x":18, "y":2, "h":2}, + + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"|", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"1", "x":15, "y":4}, + {"label":"2", "x":16, "y":4}, + {"label":"3", "x":17, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":2.25}, + {"label":"Layer", "x":6, "y":5, "w":1.25}, + {"label":"Space", "x":7.25, "y":5, "w":2.75}, + {"label":"Alt", "x":10, "y":5, "w":1.25}, + {"label":"Win", "x":11.25, "y":5, "w":1.25}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5}, + {"label":"0", "x":16, "y":5}, + {"label":".", "x":17, "y":5}, + {"label":"Enter", "x":18, "y":4, "h":2} + ] + }, + "LAYOUT_default": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Del", "x":14, "y":0}, + {"label":"Prev", "x":15, "y":0}, + {"label":"Next", "x":16, "y":0}, + {"label":"Vol -", "x":17, "y":0}, + {"label":"Vol +", "x":18, "y":0}, + + {"label":"\u00ac", "x":0, "y":1}, + {"label":"!", "x":1, "y":1}, + {"label":"\"", "x":2, "y":1}, + {"label":"\u00a3", "x":3, "y":1}, + {"label":"$", "x":4, "y":1}, + {"label":"%", "x":5, "y":1}, + {"label":"^", "x":6, "y":1}, + {"label":"&", "x":7, "y":1}, + {"label":"*", "x":8, "y":1}, + {"label":"(", "x":9, "y":1}, + {"label":")", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Play", "x":15, "y":1}, + {"label":"/", "x":16, "y":1}, + {"label":"*", "x":17, "y":1}, + {"label":"-", "x":18, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"7", "x":15, "y":2}, + {"label":"8", "x":16, "y":2}, + {"label":"9", "x":17, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"4", "x":15, "y":3}, + {"label":"5", "x":16, "y":3}, + {"label":"6", "x":17, "y":3}, + {"label":"+", "x":18, "y":2, "h":2}, + + {"label":"Shift", "x":0, "y":4, "w":2.25}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"1", "x":15, "y":4}, + {"label":"2", "x":16, "y":4}, + {"label":"3", "x":17, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"6.25Space", "x":3.75, "y":5, "w":6.25}, + {"label":"Alt", "x":10, "y":5, "w":1.25}, + {"label":"Win", "x":11.25, "y":5, "w":1.25}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5}, + {"label":"0", "x":16, "y":5}, + {"label":".", "x":17, "y":5}, + {"label":"Enter", "x":18, "y":4, "h":2} + ] + }, + "LAYOUT_ansi_splitspace": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Del", "x":14, "y":0}, + {"label":"Prev", "x":15, "y":0}, + {"label":"Next", "x":16, "y":0}, + {"label":"Vol -", "x":17, "y":0}, + {"label":"Vol +", "x":18, "y":0}, + + {"label":"\u00ac", "x":0, "y":1}, + {"label":"!", "x":1, "y":1}, + {"label":"\"", "x":2, "y":1}, + {"label":"\u00a3", "x":3, "y":1}, + {"label":"$", "x":4, "y":1}, + {"label":"%", "x":5, "y":1}, + {"label":"^", "x":6, "y":1}, + {"label":"&", "x":7, "y":1}, + {"label":"*", "x":8, "y":1}, + {"label":"(", "x":9, "y":1}, + {"label":")", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Play", "x":15, "y":1}, + {"label":"/", "x":16, "y":1}, + {"label":"*", "x":17, "y":1}, + {"label":"-", "x":18, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"7", "x":15, "y":2}, + {"label":"8", "x":16, "y":2}, + {"label":"9", "x":17, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"4", "x":15, "y":3}, + {"label":"5", "x":16, "y":3}, + {"label":"6", "x":17, "y":3}, + {"label":"+", "x":18, "y":2, "h":2}, + + {"label":"Shift", "x":0, "y":4, "w":2.25}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"1", "x":15, "y":4}, + {"label":"2", "x":16, "y":4}, + {"label":"3", "x":17, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":2.25}, + {"label":"Layer", "x":6, "y":5, "w":1.25}, + {"label":"Space", "x":7.25, "y":5, "w":2.75}, + {"label":"Alt", "x":10, "y":5, "w":1.25}, + {"label":"Win", "x":11.25, "y":5, "w":1.25}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5}, + {"label":"0", "x":16, "y":5}, + {"label":".", "x":17, "y":5}, + {"label":"Enter", "x":18, "y":4, "h":2} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Del", "x":14, "y":0}, + {"label":"Prev", "x":15, "y":0}, + {"label":"Next", "x":16, "y":0}, + {"label":"Vol -", "x":17, "y":0}, + {"label":"Vol +", "x":18, "y":0}, + + {"label":"\u00ac", "x":0, "y":1}, + {"label":"!", "x":1, "y":1}, + {"label":"\"", "x":2, "y":1}, + {"label":"\u00a3", "x":3, "y":1}, + {"label":"$", "x":4, "y":1}, + {"label":"%", "x":5, "y":1}, + {"label":"^", "x":6, "y":1}, + {"label":"&", "x":7, "y":1}, + {"label":"*", "x":8, "y":1}, + {"label":"(", "x":9, "y":1}, + {"label":")", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Play", "x":15, "y":1}, + {"label":"/", "x":16, "y":1}, + {"label":"*", "x":17, "y":1}, + {"label":"-", "x":18, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"7", "x":15, "y":2}, + {"label":"8", "x":16, "y":2}, + {"label":"9", "x":17, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"~", "x":12.75, "y":3}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, + {"label":"4", "x":15, "y":3}, + {"label":"5", "x":16, "y":3}, + {"label":"6", "x":17, "y":3}, + {"label":"+", "x":18, "y":2, "h":2}, + + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"|", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"1", "x":15, "y":4}, + {"label":"2", "x":16, "y":4}, + {"label":"3", "x":17, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"6.25Space", "x":3.75, "y":5, "w":6.25}, + {"label":"Alt", "x":10, "y":5, "w":1.25}, + {"label":"Win", "x":11.25, "y":5, "w":1.25}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5}, + {"label":"0", "x":16, "y":5}, + {"label":".", "x":17, "y":5}, + {"label":"Enter", "x":18, "y":4, "h":2} + ] + }, + "LAYOUT_iso_splitspace": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Del", "x":14, "y":0}, + {"label":"Prev", "x":15, "y":0}, + {"label":"Next", "x":16, "y":0}, + {"label":"Vol -", "x":17, "y":0}, + {"label":"Vol +", "x":18, "y":0}, + + {"label":"\u00ac", "x":0, "y":1}, + {"label":"!", "x":1, "y":1}, + {"label":"\"", "x":2, "y":1}, + {"label":"\u00a3", "x":3, "y":1}, + {"label":"$", "x":4, "y":1}, + {"label":"%", "x":5, "y":1}, + {"label":"^", "x":6, "y":1}, + {"label":"&", "x":7, "y":1}, + {"label":"*", "x":8, "y":1}, + {"label":"(", "x":9, "y":1}, + {"label":")", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"Backspace", "x":13, "y":1, "w":2}, + {"label":"Play", "x":15, "y":1}, + {"label":"/", "x":16, "y":1}, + {"label":"*", "x":17, "y":1}, + {"label":"-", "x":18, "y":1}, + + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"7", "x":15, "y":2}, + {"label":"8", "x":16, "y":2}, + {"label":"9", "x":17, "y":2}, + + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"~", "x":12.75, "y":3}, + {"label":"Enter", "x":13.75, "y":2, "w":1.25, "h":2}, + {"label":"4", "x":15, "y":3}, + {"label":"5", "x":16, "y":3}, + {"label":"6", "x":17, "y":3}, + {"label":"+", "x":18, "y":2, "h":2}, + + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"label":"|", "x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"1", "x":15, "y":4}, + {"label":"2", "x":16, "y":4}, + {"label":"3", "x":17, "y":4}, + + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"label":"Space", "x":3.75, "y":5, "w":2.25}, + {"label":"Layer", "x":6, "y":5, "w":1.25}, + {"label":"Space", "x":7.25, "y":5, "w":2.75}, + {"label":"Alt", "x":10, "y":5, "w":1.25}, + {"label":"Win", "x":11.25, "y":5, "w":1.25}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5}, + {"label":"0", "x":16, "y":5}, + {"label":".", "x":17, "y":5}, + {"label":"Enter", "x":18, "y":4, "h":2} + ] + } + } +} diff --git a/keyboards/function96/v2/keymaps/ansi_splitspace/keymap.c b/keyboards/function96/v2/keymaps/ansi_splitspace/keymap.c new file mode 100644 index 000000000000..25429ed4addb --- /dev/null +++ b/keyboards/function96/v2/keymaps/ansi_splitspace/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2020 Matt3o + * + * 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_ansi_splitspace( + 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_PSCR, KC_DEL, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, + 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_MPLY, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, + KC_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_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, MO(2), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_ansi_splitspace( + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ + ), + [2] = LAYOUT_ansi_splitspace( + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ + ) +}; diff --git a/keyboards/function96/v2/keymaps/ansi_splitspace/readme.md b/keyboards/function96/v2/keymaps/ansi_splitspace/readme.md new file mode 100644 index 000000000000..72b69e766dba --- /dev/null +++ b/keyboards/function96/v2/keymaps/ansi_splitspace/readme.md @@ -0,0 +1,3 @@ +# The ANSI Splitspace Function96v2 Layout + +There are layer buttons assigned as MO(-). Feel free to modify both layers as you choose. diff --git a/keyboards/function96/v2/keymaps/default/keymap.c b/keyboards/function96/v2/keymaps/default/keymap.c new file mode 100644 index 000000000000..6e20c9f4399b --- /dev/null +++ b/keyboards/function96/v2/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2020 Matt3o + * + * 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_default( + 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_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, + 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_MPLY, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, + KC_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_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_default( + _______, _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/function96/v2/keymaps/default/readme.md b/keyboards/function96/v2/keymaps/default/readme.md new file mode 100644 index 000000000000..3a42e3f5f77c --- /dev/null +++ b/keyboards/function96/v2/keymaps/default/readme.md @@ -0,0 +1,3 @@ +# The ANSI Function96v2 Layout + +There are layer buttons assigned as MO(-). Feel free to modify both layers as you choose. diff --git a/keyboards/function96/v2/keymaps/iso/keymap.c b/keyboards/function96/v2/keymaps/iso/keymap.c new file mode 100644 index 000000000000..67d76a30f059 --- /dev/null +++ b/keyboards/function96/v2/keymaps/iso/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2020 Matt3o + * + * 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_iso( + 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_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, + 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_MPLY, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, + 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_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_iso( + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ + ), +}; diff --git a/keyboards/function96/v2/keymaps/iso/readme.md b/keyboards/function96/v2/keymaps/iso/readme.md new file mode 100644 index 000000000000..e1d1003aa668 --- /dev/null +++ b/keyboards/function96/v2/keymaps/iso/readme.md @@ -0,0 +1,3 @@ +# The ISO Function96v2 Layout + +There are layer buttons assigned as MO(-). Feel free to modify both layers as you choose. diff --git a/keyboards/function96/v2/keymaps/iso_splitspace/keymap.c b/keyboards/function96/v2/keymaps/iso_splitspace/keymap.c new file mode 100644 index 000000000000..c3fc6dc75f60 --- /dev/null +++ b/keyboards/function96/v2/keymaps/iso_splitspace/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2020 Matt3o + * + * 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_iso_splitspace( + 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_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, + 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_MPLY, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, + 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_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1),KC_SPC, KC_RALT, MO(2), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_iso_splitspace( + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ + ), + [2] = LAYOUT_iso_splitspace( + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ + ), +}; diff --git a/keyboards/function96/v2/keymaps/iso_splitspace/readme.md b/keyboards/function96/v2/keymaps/iso_splitspace/readme.md new file mode 100644 index 000000000000..5433795ab575 --- /dev/null +++ b/keyboards/function96/v2/keymaps/iso_splitspace/readme.md @@ -0,0 +1,3 @@ +# The ISO and Splitspace Function96v2 Layout + +There are layer buttons assigned as MO(-). Feel free to modify both layers as you choose. diff --git a/keyboards/function96/v2/mcuconf.h b/keyboards/function96/v2/mcuconf.h new file mode 100644 index 000000000000..a25879aeff33 --- /dev/null +++ b/keyboards/function96/v2/mcuconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/function96/v2/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/function96/v2/readme.md b/keyboards/function96/v2/readme.md new file mode 100644 index 000000000000..bf7f2966a42c --- /dev/null +++ b/keyboards/function96/v2/readme.md @@ -0,0 +1,13 @@ +# Function96v2 + +This Function96v2 is a passion project of JTM. It's meant to give the user the maximum usability of the space allocated by the keyboard while also giving the option of using the numpad. + +* Keyboard Maintainer: The QMK Community +* Hardware Supported: Function96v2 +* Hardware Availability: Limited Groupbuy that ended on 11/29/2020, https://www.reddit.com/r/mechmarket/comments/jxvokl/gb_function96v2_a_premium_96_layout_nov_20th_nov/ + +Make example for this keyboard (after setting up your build environment): + + make function96/v2: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). diff --git a/keyboards/function96/v2/rules.mk b/keyboards/function96/v2/rules.mk new file mode 100644 index 000000000000..fde1a427bd97 --- /dev/null +++ b/keyboards/function96/v2/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/function96/v2/v2.c b/keyboards/function96/v2/v2.c new file mode 100644 index 000000000000..0e1ae134d862 --- /dev/null +++ b/keyboards/function96/v2/v2.c @@ -0,0 +1,17 @@ +/* Copyright 2020 Matt3o + * + * 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 "v2.h" diff --git a/keyboards/function96/v2/v2.h b/keyboards/function96/v2/v2.h new file mode 100644 index 000000000000..4e93d99b35c4 --- /dev/null +++ b/keyboards/function96/v2/v2.h @@ -0,0 +1,104 @@ +/* Copyright 2020 Matt3o + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, K116, K117, K118, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318,\ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, \ + K500, K501, K502, K504, K506, K508, K510, K511, K512, K514, K515, K516, K517, K518 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115, K116, K117, K118 }, \ + { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, KC_NO }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318 }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, K415, K416, K417, KC_NO }, \ + { K500, K501, K502, KC_NO, K504, KC_NO, K506, KC_NO, K508, KC_NO, K510, K511, K512, KC_NO, K514, K515, K516, K517, K518 } \ +} +#define LAYOUT_default( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, K116, K117, K118, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K314, K315, K316, K317, K318,\ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, \ + K500, K501, K502, K506, K510, K511, K512, K514, K515, K516, K517, K518\ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115, K116, K117, K118 }, \ + { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, KC_NO }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, K314, K315, K316, K317, K318 }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, K415, K416, K417, KC_NO }, \ + { K500, K501, K502, KC_NO, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, KC_NO, K514, K515, K516, K517, K518 } \ +} +#define LAYOUT_ansi_splitspace( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, K116, K117, K118, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K314, K315, K316, K317, K318, \ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, \ + K500, K501, K502, K504, K506, K508, K510, K511, K512, K514, K515, K516, K517, K518 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115, K116, K117, K118 }, \ + { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, KC_NO }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, K314, K315, K316, K317, K318 }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, K415, K416, K417, KC_NO }, \ + { K500, K501, K502, KC_NO, K504, KC_NO, K506, KC_NO, K508, KC_NO, K510, K511, K512, KC_NO, K514, K515, K516, K517, K518 } \ +} +#define LAYOUT_iso( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, K116, K117, K118, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, K216, K217, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, \ + K500, K501, K502, K506, K510, K511, K512, K514, K515, K516, K517, K518 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115, K116, K117, K118 }, \ + { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215, K216, K217, KC_NO }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318 }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, K415, K416, K417, KC_NO }, \ + { K500, K501, K502, KC_NO, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, KC_NO, K514, K515, K516, K517, K518 } \ +} +#define LAYOUT_iso_splitspace( \ + K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, K116, K117, K118, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, K216, K217, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, \ + K500, K501, K502, K504, K506, K508, K510, K511, K512, K514, K515, K516, K517, K518 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115, K116, K117, K118 }, \ + { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215, K216, K217, KC_NO }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318 }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, K415, K416, K417, KC_NO }, \ + { K500, K501, K502, KC_NO, K504, KC_NO, K506, KC_NO, K508, KC_NO, K510, K511, K512, KC_NO, K514, K515, K516, K517, K518 } \ +} diff --git a/keyboards/funky40/rules.mk b/keyboards/funky40/rules.mk index 138ac68e2084..79052a307e5a 100644 --- a/keyboards/funky40/rules.mk +++ b/keyboards/funky40/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/gami_studio/lex60/rules.mk b/keyboards/gami_studio/lex60/rules.mk index ee841fc37dcc..7b8d5ac120ad 100644 --- a/keyboards/gami_studio/lex60/rules.mk +++ b/keyboards/gami_studio/lex60/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/gboards/g/keymap_combo.h b/keyboards/gboards/g/keymap_combo.h index 58e99863eaeb..b92b6a4bc491 100644 --- a/keyboards/gboards/g/keymap_combo.h +++ b/keyboards/gboards/g/keymap_combo.h @@ -28,7 +28,10 @@ #define TOGG A_ENUM enum combos { #include "combos.def" + COMBO_LENGTH }; +// Export length to combo module +uint16_t COMBO_LEN = COMBO_LENGTH; // Bake combos into mem #undef COMB @@ -53,9 +56,6 @@ combo_t key_combos[] = { #undef SUBS #undef TOGG -// Export length to combo module -int COMBO_LEN = sizeof(key_combos) / sizeof(key_combos[0]); - // Fill QMK hook #define COMB BLANK #define SUBS A_ACTI diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h index 5f11cdddb012..4b0949ff954b 100644 --- a/keyboards/geekboards/macropad_v2/config.h +++ b/keyboards/geekboards/macropad_v2/config.h @@ -41,7 +41,7 @@ #define WS2812_DMA_CHANNEL 3 #ifdef RGB_MATRIX_ENABLE -#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define DISABLE_RGB_MATRIX_ALPHAS_MODS #define DISABLE_RGB_MATRIX_BAND_SAT @@ -67,8 +67,9 @@ #define RGB_MATRIX_STARTUP_SPD 30 #endif //RGB_MATRIX_ENABLE -#define RGB_DISABLE_WHEN_USB_SUSPENDED true +#define RGB_DISABLE_WHEN_USB_SUSPENDED #define WAIT_FOR_USB +#define USB_POLLING_INTERVAL_MS 1 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 3 @@ -76,3 +77,5 @@ /* Bootmagic Lite key configuration */ #define BOOTMAGIC_LITE_ROW 0 #define BOOTMAGIC_LITE_COLUMN 0 + +#define TAP_CODE_DELAY 10 diff --git a/keyboards/geekboards/macropad_v2/rules.mk b/keyboards/geekboards/macropad_v2/rules.mk index 73575b67331c..7a67e07d5537 100644 --- a/keyboards/geekboards/macropad_v2/rules.mk +++ b/keyboards/geekboards/macropad_v2/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/geekboards/tester/config.h b/keyboards/geekboards/tester/config.h index 4f072c0ee6bd..3e3daccd5777 100644 --- a/keyboards/geekboards/tester/config.h +++ b/keyboards/geekboards/tester/config.h @@ -24,7 +24,7 @@ #define DEBOUNCE 3 #ifdef RGB_MATRIX_ENABLE #define RGB_DISABLE_AFTER_TIMEOUT 0 -#define RGB_DISABLE_WHEN_USB_SUSPENDED true +#define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_KEYPRESSES #define DISABLE_RGB_MATRIX_SPLASH #define DISABLE_RGB_MATRIX_MULTISPLASH @@ -36,4 +36,4 @@ #define DRIVER_1_LED_TOTAL 8 #define DRIVER_2_LED_TOTAL 0 #define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) -#endif \ No newline at end of file +#endif diff --git a/keyboards/geekboards/tester/keymaps/default/keymap.c b/keyboards/geekboards/tester/keymaps/default/keymap.c index e68f15f63dd1..acf63cb36af9 100644 --- a/keyboards/geekboards/tester/keymaps/default/keymap.c +++ b/keyboards/geekboards/tester/keymaps/default/keymap.c @@ -9,15 +9,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F4, KC_F5, KC_F6, KC_F7 ), }; - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} diff --git a/keyboards/geekboards/tester/rules.mk b/keyboards/geekboards/tester/rules.mk index 518fb35212de..073e6a24f788 100644 --- a/keyboards/geekboards/tester/rules.mk +++ b/keyboards/geekboards/tester/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/geekboards/tester/tester.c b/keyboards/geekboards/tester/tester.c index 4fab1a7012f5..532df7a53102 100644 --- a/keyboards/geekboards/tester/tester.c +++ b/keyboards/geekboards/tester/tester.c @@ -1,5 +1,5 @@ #include "tester.h" -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -29,28 +29,12 @@ led_config_t g_led_config = { } }; - - -void matrix_init_kb(void) { - matrix_init_user(); -} - -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - return process_record_user(keycode, record); -} - -void suspend_power_down_kb(void) -{ +void suspend_power_down_kb(void) { rgb_matrix_set_suspend_state(true); - suspend_power_down_user(); + suspend_power_down_user(); } -void suspend_wakeup_init_kb(void) -{ +void suspend_wakeup_init_kb(void) { rgb_matrix_set_suspend_state(false); suspend_wakeup_init_user(); } diff --git a/keyboards/geminate60/geminate60.h b/keyboards/geminate60/geminate60.h index dd8055abe889..7361930a208c 100644 --- a/keyboards/geminate60/geminate60.h +++ b/keyboards/geminate60/geminate60.h @@ -15,16 +15,18 @@ along with this program. If not, see . #include "quantum.h" -#define LAYOUT( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013, K014, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, K213, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312, K313, \ - K40, K41, K42, K46, K410, K411, K412, K413 ) \ - { \ - {K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K010, K011, K012, K013, K014}, \ - {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K110, K111, K112, K113 }, \ - {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K210, K211, K212, K213 }, \ - {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K310, K311, K312, K313 }, \ - {K40, K41, K42, K46, K410, K411, K412, K413 } \ - } +#define ___ KC_NO + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, ___ }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___ }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___ }, \ + { K40, K41, K42, ___, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, ___ } \ +} diff --git a/keyboards/geminate60/info.json b/keyboards/geminate60/info.json index bbf63d73de04..1c9fc8c38ae4 100644 --- a/keyboards/geminate60/info.json +++ b/keyboards/geminate60/info.json @@ -1,27 +1,31 @@ { "keyboard_name": "geminate60", "url": "", - "maintainer": "qmk", + "maintainer": "Weirdo-F", "width": 15, "height": 5, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, - {"label":"K0", "x":3, "y":0}, + {"label":"K03", "x":3, "y":0}, {"label":"K04", "x":4, "y":0}, {"label":"K05", "x":5, "y":0}, {"label":"K06", "x":6, "y":0}, {"label":"K07", "x":7, "y":0}, {"label":"K08", "x":8, "y":0}, {"label":"K09", "x":9, "y":0}, - {"label":"K010", "x":10, "y":0}, - {"label":"K011", "x":11, "y":0}, - {"label":"K012", "x":12, "y":0}, - {"label":"K013", "x":13, "y":0}, - {"label":"K014", "x":14, "y":0}, + {"label":"K0A", "x":10, "y":0}, + {"label":"K0B", "x":11, "y":0}, + {"label":"K0C", "x":12, "y":0}, + {"label":"K0D", "x":13, "y":0}, + {"label":"K0E", "x":14, "y":0}, + {"label":"K10", "x":0, "y":1, "w":1.5}, {"label":"K11", "x":1.5, "y":1}, {"label":"K12", "x":2.5, "y":1}, @@ -32,10 +36,11 @@ {"label":"K17", "x":7.5, "y":1}, {"label":"K18", "x":8.5, "y":1}, {"label":"K19", "x":9.5, "y":1}, - {"label":"K110", "x":10.5, "y":1}, - {"label":"K111", "x":11.5, "y":1}, - {"label":"K112", "x":12.5, "y":1}, - {"label":"K113", "x":13.5, "y":1, "w":1.5}, + {"label":"K1A", "x":10.5, "y":1}, + {"label":"K1B", "x":11.5, "y":1}, + {"label":"K1C", "x":12.5, "y":1}, + {"label":"K1D", "x":13.5, "y":1, "w":1.5}, + {"label":"K20", "x":0, "y":2, "w":1.75}, {"label":"K21", "x":1.75, "y":2}, {"label":"K22", "x":2.75, "y":2}, @@ -46,10 +51,11 @@ {"label":"K27", "x":7.75, "y":2}, {"label":"K28", "x":8.75, "y":2}, {"label":"K29", "x":9.75, "y":2}, - {"label":"K210", "x":10.75, "y":2}, - {"label":"K211", "x":11.75, "y":2}, - {"label":"K212", "x":12.75, "y":2}, - {"label":"K213", "x":13.75, "y":2, "w":1.25}, + {"label":"K2A", "x":10.75, "y":2}, + {"label":"K2B", "x":11.75, "y":2}, + {"label":"K2C", "x":12.75, "y":2}, + {"label":"K2D", "x":13.75, "y":2, "w":1.25}, + {"label":"K30", "x":0, "y":3, "w":1.25}, {"label":"K31", "x":1.25, "y":3}, {"label":"K32", "x":2.25, "y":3}, @@ -60,20 +66,20 @@ {"label":"K37", "x":7.25, "y":3}, {"label":"K38", "x":8.25, "y":3}, {"label":"K39", "x":9.25, "y":3}, - {"label":"K310", "x":10.25, "y":3}, - {"label":"K311", "x":11.25, "y":3}, - {"label":"K312", "x":12.25, "y":3, "w":1.75}, - {"label":"K313", "x":14, "y":3}, + {"label":"K3A", "x":10.25, "y":3}, + {"label":"K3B", "x":11.25, "y":3}, + {"label":"K3C", "x":12.25, "y":3, "w":1.75}, + {"label":"K3D", "x":14, "y":3}, + {"label":"K40", "x":0, "y":4, "w":1.25}, {"label":"K41", "x":1.25, "y":4, "w":1.25}, {"label":"K42", "x":2.5, "y":4, "w":1.25}, {"label":"K46", "x":3.75, "y":4, "w":6.25}, - {"label":"K410", "x":10, "y":4, "w":1.25}, - {"label":"K411", "x":11.25, "y":4, "w":1.25}, - {"label":"K412", "x":12.5, "y":4, "w":1.25}, - {"label":"K413", "x":13.75, "y":4, "w":1.25} + {"label":"K4A", "x":10, "y":4, "w":1.25}, + {"label":"K4B", "x":11.25, "y":4, "w":1.25}, + {"label":"K4C", "x":12.5, "y":4, "w":1.25}, + {"label":"K4D", "x":13.75, "y":4, "w":1.25} ] } } - ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" } diff --git a/keyboards/geminate60/keymaps/default/keymap.c b/keyboards/geminate60/keymaps/default/keymap.c index e7edabfd5360..91a6f8c3e280 100644 --- a/keyboards/geminate60/keymaps/default/keymap.c +++ b/keyboards/geminate60/keymaps/default/keymap.c @@ -1,18 +1,18 @@ /* Copyright 2020 Weirdo - * - * 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 . - */ + * + * 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 @@ -23,18 +23,22 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT(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_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_BSLS, KC_ENT, - KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LWIN, KC_LALT,KC_SPACE, KC_RALT, KC_RALT, KC_RWIN, KC_RCTL), - - - [_FN] = LAYOUT(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, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT), // + + [_BASE] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_BSLS, KC_ENT, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RALT, KC_RWIN, KC_RCTL + ), + + [_FN] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT + ), }; diff --git a/keyboards/geminate60/keymaps/via/keymap.c b/keyboards/geminate60/keymaps/via/keymap.c index 2093cbe0a2e7..85210835e45c 100644 --- a/keyboards/geminate60/keymaps/via/keymap.c +++ b/keyboards/geminate60/keymaps/via/keymap.c @@ -1,18 +1,18 @@ /* Copyright 2020 Weirdo - * - * 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 . - */ + * + * 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 @@ -20,30 +20,39 @@ enum layer_names { _BASE, _FN ,_FN1 ,_FN2 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT(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_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_BSLS, KC_ENT, - KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LWIN, KC_LALT, KC_SPACE, KC_RALT, KC_RALT, KC_RWIN, KC_RCTL), - - - [_FN] = LAYOUT(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, KC_DEL, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT), // - - [_FN1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [_FN2] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + [_BASE] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, 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_BSLS, KC_ENT, + KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RALT, KC_RWIN, KC_RCTL + ), + + [_FN] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [_FN2] = LAYOUT_all( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + }; bool led_update_user(led_t led_state) { diff --git a/keyboards/geminate60/readme.md b/keyboards/geminate60/readme.md index f08e87739e4a..7fab7d7df6a8 100644 --- a/keyboards/geminate60/readme.md +++ b/keyboards/geminate60/readme.md @@ -2,9 +2,9 @@ ![Geminate60](https://www.hualigs.cn/image/600d9391f16d7.jpg) -A 60% keyboard based on STM32f303 +A 60% keyboard based on STM32F303. -* Keyboard Maintainer: [Weirdo](https://weirdo-f.github.io)(https://github.com/1248314361) +* Keyboard Maintainer: [Weirdo](https://github.com/weirdo-f) ([weirdo-f.github.io](https://)) * Hardware Supported: Geminate60 * Hardware Availability: Not yet @@ -12,4 +12,5 @@ Make example for this keyboard (after setting up your build environment): make geminate60:default +The RST pin and GND pin on the board can be quickly shortened twice to enter DFU mode, and then the program can be written. 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/geminate60/rules.mk b/keyboards/geminate60/rules.mk index 56db09520588..6ff4e4976d93 100644 --- a/keyboards/geminate60/rules.mk +++ b/keyboards/geminate60/rules.mk @@ -2,10 +2,13 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/generic_panda/panda65_01/rules.mk b/keyboards/generic_panda/panda65_01/rules.mk index cb4e9cc83073..49206b823e8b 100644 --- a/keyboards/generic_panda/panda65_01/rules.mk +++ b/keyboards/generic_panda/panda65_01/rules.mk @@ -1,10 +1,13 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/genone/eclipse_65/rules.mk b/keyboards/genone/eclipse_65/rules.mk index a8020aa5392f..69485630bd0e 100644 --- a/keyboards/genone/eclipse_65/rules.mk +++ b/keyboards/genone/eclipse_65/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/genone/g1_65/config.h b/keyboards/genone/g1_65/config.h new file mode 100644 index 000000000000..3236160c12e2 --- /dev/null +++ b/keyboards/genone/g1_65/config.h @@ -0,0 +1,48 @@ +/* Copyright 2020 GEN ONE LLC + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xE720 // GEN ONE +#define PRODUCT_ID 0x0001 // G1_65 +#define DEVICE_VER 0x0001 +#define MANUFACTURER GEN ONE LLC +#define PRODUCT G1_65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { B3, B7, B0, B1, B2 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + diff --git a/keyboards/genone/g1_65/g1_65.c b/keyboards/genone/g1_65/g1_65.c new file mode 100644 index 000000000000..af2da3de9a3d --- /dev/null +++ b/keyboards/genone/g1_65/g1_65.c @@ -0,0 +1,17 @@ +/* Copyright 2020 GEN ONE LLC + * + * 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 "g1_65.h" diff --git a/keyboards/genone/g1_65/g1_65.h b/keyboards/genone/g1_65/g1_65.h new file mode 100644 index 000000000000..633c6e447785 --- /dev/null +++ b/keyboards/genone/g1_65/g1_65.h @@ -0,0 +1,37 @@ +/* Copyright 2020 GEN ONE LLC + * + * 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 "quantum.h" + +#define ____ KC_NO + + +#define LAYOUT_65_ansi( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \ + K400, K401, K402, K406, K409, K410, K411, K412, K413, K414 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, ____, K213, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \ + { K400, K401, K402, ____, ____, ____, K406, ____, ____, K409, K410, K411, K412, K413, K414 } \ +} + diff --git a/keyboards/genone/g1_65/info.json b/keyboards/genone/g1_65/info.json new file mode 100644 index 000000000000..966c2d352ada --- /dev/null +++ b/keyboards/genone/g1_65/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "G1_65", + "url": "https://genonemerch.com", + "maintainer": "rojasa1990", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_65_ansi": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":15, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}] + } + } +} diff --git a/keyboards/genone/g1_65/keymaps/default/keymap.c b/keyboards/genone/g1_65/keymaps/default/keymap.c new file mode 100644 index 000000000000..a72cc1d23bf6 --- /dev/null +++ b/keyboards/genone/g1_65/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2020 GEN ONE LLC + * + * 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] = { + + // Default layer + [0] = LAYOUT_65_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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + // Fn1 Layer + [1] = LAYOUT_65_ansi( + 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, KC_TRNS, + KC_CAPS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/genone/g1_65/keymaps/via/keymap.c b/keyboards/genone/g1_65/keymaps/via/keymap.c new file mode 100644 index 000000000000..94361dd14f3e --- /dev/null +++ b/keyboards/genone/g1_65/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2020 GEN ONE LLC + * + * 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] = { + + // Default layer + [0] = LAYOUT_65_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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + // Fn1 Layer + [1] = LAYOUT_65_ansi( + 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, KC_TRNS, + KC_CAPS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + // Fn2 Layer + [2] = LAYOUT_65_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + // Fn3 Layer + [3] = LAYOUT_65_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +}; diff --git a/keyboards/spaceman/pancake/keymaps/via/rules.mk b/keyboards/genone/g1_65/keymaps/via/rules.mk similarity index 100% rename from keyboards/spaceman/pancake/keymaps/via/rules.mk rename to keyboards/genone/g1_65/keymaps/via/rules.mk diff --git a/keyboards/genone/g1_65/readme.md b/keyboards/genone/g1_65/readme.md new file mode 100644 index 000000000000..2ea3e191e6ed --- /dev/null +++ b/keyboards/genone/g1_65/readme.md @@ -0,0 +1,18 @@ +# GEN ONE G1_65 + +G1_65 is a keyboard PCB supporting 65% layout. [More info at GEN ONE MERCH](https://genonemerch.com) + +* Keyboard Maintainer: [rojasa1990](https://github.com/rojasa1990) +* Hardware Supported: GEN ONE G1_65 +* Hardware Availability: GEN ONE MERCH + +Make example for this keyboard (after setting up your build environment): + + make genone/g1_65:default + +Flashing example for this keyboard: + + make genone/g1_65: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). + diff --git a/keyboards/genone/g1_65/rules.mk b/keyboards/genone/g1_65/rules.mk new file mode 100644 index 000000000000..69485630bd0e --- /dev/null +++ b/keyboards/genone/g1_65/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keybaord RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 65_ansi diff --git a/keyboards/georgi/georgi.h b/keyboards/georgi/georgi.h index df6bb6ea9a40..e5a52c585deb 100644 --- a/keyboards/georgi/georgi.h +++ b/keyboards/georgi/georgi.h @@ -9,8 +9,6 @@ extern i2c_status_t mcp23018_status; #define ERGODOX_EZ_I2C_TIMEOUT 1000 -#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) -#define CPU_16MHz 0x00 // I2C aliases and register addresses (see "mcp23018.md") //#define I2C_ADDR 0b0100000 diff --git a/keyboards/georgi/rules.mk b/keyboards/georgi/rules.mk index 412a318f0cc1..0cf996ed4829 100644 --- a/keyboards/georgi/rules.mk +++ b/keyboards/georgi/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu CUSTOM_MATRIX = yes diff --git a/keyboards/gergo/gergo.c b/keyboards/gergo/gergo.c index fab8d0f44c9f..ba359f81455d 100644 --- a/keyboards/gergo/gergo.c +++ b/keyboards/gergo/gergo.c @@ -65,7 +65,7 @@ uint8_t init_mcp23018(void) { return mcp23018_status; } -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { { {0,0}, {0,7}, {2,7}, {3,7} }, { {0,8}, {1,8}, {2,8}, {3,8} }, { {0,9}, {1,9}, {2,9}, {3,9} }, diff --git a/keyboards/gergo/gergo.h b/keyboards/gergo/gergo.h index 1370325f28a1..5174542661b8 100644 --- a/keyboards/gergo/gergo.h +++ b/keyboards/gergo/gergo.h @@ -9,8 +9,6 @@ extern i2c_status_t mcp23018_status; #define I2C_TIMEOUT 1000 -#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) -#define CPU_16MHz 0x00 // I2C aliases and register addresses (see "mcp23018.md") //#define I2C_ADDR 0b0100000 diff --git a/keyboards/gergo/keymaps/drashna/keymap.c b/keyboards/gergo/keymaps/drashna/keymap.c index ecf5f3903195..01d52ed16239 100644 --- a/keyboards/gergo/keymaps/drashna/keymap.c +++ b/keyboards/gergo/keymaps/drashna/keymap.c @@ -37,62 +37,32 @@ KC_GRV, KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT, _______ \ ) -#define LAYOUT_gergo_base_wrapper(...) LAYOUT_gergo_base(__VA_ARGS__) +#define LAYOUT_base_wrapper(...) LAYOUT_gergo_base(__VA_ARGS__) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_gergo_base_wrapper( + [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper( _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), - [_COLEMAK] = LAYOUT_gergo_base_wrapper( + ), + + [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper( + ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, + ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, + ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ + ), + [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper( _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ ), - [_DVORAK] = LAYOUT_gergo_base_wrapper( + [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper( _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ ), - [_WORKMAN] = LAYOUT_gergo_base_wrapper( - _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, - _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, - _________________WORKMAN_L3________________, _________________WORKMAN_R3________________ - ), - - [_NORMAN] = LAYOUT_gergo_base_wrapper( - _________________NORMAN_L1_________________, _________________NORMAN_L1_________________, - _________________NORMAN_L2_________________, _________________NORMAN_R2_________________, - _________________NORMAN_L3_________________, _________________NORMAN_R3_________________ - ), - - [_MALTRON] = LAYOUT_gergo_base_wrapper( - _________________MALTRON_L1________________, _________________MALTRON_R1________________, - _________________MALTRON_L2________________, _________________MALTRON_R2________________, - _________________MALTRON_L3________________, _________________MALTRON_R3________________ - ), - - [_EUCALYN] = LAYOUT_gergo_base_wrapper( - _________________EUCALYN_L1________________, _________________EUCALYN_R1________________, - _________________EUCALYN_L2________________, _________________EUCALYN_R2________________, - _________________EUCALYN_L3________________, _________________EUCALYN_R3________________ - ), - - [_CARPLAX] = LAYOUT_gergo_base_wrapper( - _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________, - _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________, - _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________ - ), - - [_MODS] = LAYOUT_gergo_wrapper( - _______, ___________________BLANK___________________, ___________________BLANK___________________, _______, - _______, ___________________BLANK___________________, _______, _______, ___________________BLANK___________________, _______, - KC_LSFT, ___________________BLANK___________________, _______, _______, _______, _______, ___________________BLANK___________________, KC_RSFT, - _______, _______, _______, _______, _______, _______, _______, _______ - ), [_LOWER] = LAYOUT_gergo_wrapper( KC_F12, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, _______, _________________LOWER_L2__________________, _______, _______, _________________LOWER_R2__________________, KC_PIPE, diff --git a/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h b/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 000000000000..b1438e94ef75 --- /dev/null +++ b/keyboards/gergo/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,22 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 XXX KC_NO + +#define LAYOUT_miryoku(\ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ +)\ +LAYOUT_gergo(\ +XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX,\ +XXX, K10, K11, K12, K13, K14, XXX, XXX, K15, K16, K17, K18, K19, XXX,\ +XXX, K20, K21, K22, K23, K24, XXX, XXX, XXX, XXX, K25, K26, K27, K28, K29, XXX,\ + K32, K33, K34, XXX, XXX, K35, K36, K37\ +) diff --git a/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 000000000000..1520387e8887 --- /dev/null +++ b/keyboards/gergo/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,5 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 . diff --git a/keyboards/gergo/keymaps/oled/keymap.c b/keyboards/gergo/keymaps/oled/keymap.c index c348a2b96d56..7e19a799ee4b 100644 --- a/keyboards/gergo/keymaps/oled/keymap.c +++ b/keyboards/gergo/keymaps/oled/keymap.c @@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) */ -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; } diff --git a/keyboards/gergo/keymaps/oled/rules.mk b/keyboards/gergo/keymaps/oled/rules.mk index 1661d43d1fda..63180889885e 100644 --- a/keyboards/gergo/keymaps/oled/rules.mk +++ b/keyboards/gergo/keymaps/oled/rules.mk @@ -7,7 +7,8 @@ BALLER = no # Enable to ball out BALLSTEP = 20 # Multiple in px to move, multiplied by layer number SCROLLSTEP = 1 # Lines to scroll with ball MOUSEKEY_ENABLE = yes # Mouse keys, needed for baller -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 LOCAL_GLCDFONT = yes #Debug options diff --git a/keyboards/gergo/rules.mk b/keyboards/gergo/rules.mk index 41f201a45839..eee431f40aa9 100644 --- a/keyboards/gergo/rules.mk +++ b/keyboards/gergo/rules.mk @@ -2,21 +2,14 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu CUSTOM_MATRIX = yes EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = yes COMMAND_ENABLE = yes -BOOTMAGIC_ENABLE = lite +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite -DEBOUNCE_TYPE = eager_pr +DEBOUNCE_TYPE = sym_eager_pr SRC += matrix.c QUANTUM_LIB_SRC += i2c_master.c diff --git a/keyboards/getta25/keymaps/oled/keymap.c b/keyboards/getta25/keymaps/oled/keymap.c index 44833857d31a..4fbaf3ec283b 100644 --- a/keyboards/getta25/keymaps/oled/keymap.c +++ b/keyboards/getta25/keymaps/oled/keymap.c @@ -1,7 +1,7 @@ #include QMK_KEYBOARD_H #include "keymap_jp.h" -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static uint32_t oled_timer = 0; #endif @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //|--------+--------+--------+--------+--------| KC_P1, KC_P2, KC_P3, KC_DEL, //|--------+--------+--------+--------+--------| -LT(_ARROW, KC_P0),LT(_MACRO, KC_PDOT),KC_PENT,KC_BSPC +LT(_ARROW, KC_P0),LT(_MACRO, KC_PDOT),KC_PENT,KC_BSPC //`--------------------------------------------' ), @@ -54,7 +54,7 @@ LT(_ARROW, KC_P0),LT(_MACRO, KC_PDOT),KC_PENT,KC_BSPC //|--------+--------+--------+--------+--------| XXXXXXX, KC_DOWN, XXXXXXX, _______, //|--------+--------+--------+--------+--------| - MO(_ARROW), MO(_MACRO), _______, _______ + MO(_ARROW), MO(_MACRO), _______, _______ //`--------------------------------------------' ), @@ -70,7 +70,7 @@ LT(_ARROW, KC_P0),LT(_MACRO, KC_PDOT),KC_PENT,KC_BSPC //|--------+--------+--------+--------+--------| KC_F11, KC_F12, KC_F3, _______, //|--------+--------+--------+--------+--------| - _______, _______, JP_RPRN, _______ + _______, _______, JP_RPRN, _______ //`--------------------------------------------' ), @@ -86,7 +86,7 @@ LT(_ARROW, KC_P0),LT(_MACRO, KC_PDOT),KC_PENT,KC_BSPC //|--------+--------+--------+--------+--------| RGB_VAD, RGB_VAI, XXXXXXX, _______, //|--------+--------+--------+--------+--------| - _______, _______, RGB_MOD, _______ + _______, _______, RGB_MOD, _______ //`--------------------------------------------' ) }; @@ -118,7 +118,7 @@ int RGB_current_mode; bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool result = false; if (record->event.pressed) { - #ifdef OLED_DRIVER_ENABLE + #ifdef OLED_ENABLE oled_timer = timer_read32(); #endif } @@ -156,7 +156,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return result; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } void render_layer_state(void) { diff --git a/keyboards/getta25/keymaps/oled/rules.mk b/keyboards/getta25/keymaps/oled/rules.mk index c582662134c4..d34d066ded93 100644 --- a/keyboards/getta25/keymaps/oled/rules.mk +++ b/keyboards/getta25/keymaps/oled/rules.mk @@ -1 +1,2 @@ -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/getta25/rules.mk b/keyboards/getta25/rules.mk index fdb399da288e..7c0669212c11 100644 --- a/keyboards/getta25/rules.mk +++ b/keyboards/getta25/rules.mk @@ -2,31 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -OLED_DRIVER_ENABLE = no +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +OLED_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/ggkeyboards/genesis/hotswap/config.h b/keyboards/ggkeyboards/genesis/hotswap/config.h new file mode 100644 index 000000000000..966acc1b49e3 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/hotswap/config.h @@ -0,0 +1,50 @@ +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xBB00 +#define PRODUCT_ID 0xD4D3 +#define DEVICE_VER 0x0001 +#define MANUFACTURER GG Keyboards +#define PRODUCT Genesis + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 18 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS \ + { C5, C4, C3, C2, C1, C0 } +#define MATRIX_COL_PINS \ + { F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, C6, C7 } + +#define DIODE_DIRECTION COL2ROW + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/ggkeyboards/genesis/hotswap/hotswap.c b/keyboards/ggkeyboards/genesis/hotswap/hotswap.c new file mode 100644 index 000000000000..b3b7c6508c36 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/hotswap/hotswap.c @@ -0,0 +1,22 @@ + +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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 "hotswap.h" + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ + diff --git a/keyboards/ggkeyboards/genesis/hotswap/hotswap.h b/keyboards/ggkeyboards/genesis/hotswap/hotswap.h new file mode 100644 index 000000000000..4469037efe74 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/hotswap/hotswap.h @@ -0,0 +1,39 @@ +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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 "quantum.h" + +// clang-format off +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0F, K0G, K0H, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, K2G, K2H, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, K3G, K3H, \ + K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, \ + K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5G, \ + K60, K61, K63, K66, K6A, K6B, K6C, K6D, K6F, K6G, K6H \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, KC_NO, K0F, K0G, K0H }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F, K2G, K2H }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, K3F, K3G, K3H }, \ + { K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, KC_NO, KC_NO, KC_NO, K5G, KC_NO }, \ + { K60, K61, KC_NO, K63, KC_NO, KC_NO, K66, KC_NO, KC_NO, KC_NO, K6A, K6B, K6C, K6D, KC_NO, K6F, K6G, K6H } \ +} + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/ggkeyboards/genesis/hotswap/info.json b/keyboards/ggkeyboards/genesis/hotswap/info.json new file mode 100644 index 000000000000..dfb68ce0b508 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/hotswap/info.json @@ -0,0 +1,101 @@ +{ + "keyboard_name": "Genesis", + "url": "", + "maintainer": "Spooknik", + "width": 18.25, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (C5,F0)", "x":0, "y":0}, + {"label":"K01 (C5,F1)", "x":2, "y":0}, + {"label":"K02 (C5,F2)", "x":3, "y":0}, + {"label":"K03 (C5,F3)", "x":4, "y":0}, + {"label":"K04 (C5,F4)", "x":5, "y":0}, + {"label":"K05 (C5,F5)", "x":6.5, "y":0}, + {"label":"K06 (C5,F6)", "x":7.5, "y":0}, + {"label":"K07 (C5,F7)", "x":8.5, "y":0}, + {"label":"K08 (C5,A0)", "x":9.5, "y":0}, + {"label":"K09 (C5,A1)", "x":11, "y":0}, + {"label":"K0A (C5,A2)", "x":12, "y":0}, + {"label":"K0B (C5,A3)", "x":13, "y":0}, + {"label":"K0C (C5,A4)", "x":14, "y":0}, + {"label":"K0F (C5,A7)", "x":15.25, "y":0}, + {"label":"K0G (C5,C6)", "x":16.25, "y":0}, + {"label":"K0H (C5,C7)", "x":17.25, "y":0}, + {"label":"K20 (C4,F0)", "x":0, "y":1.5}, + {"label":"K21 (C4,F1)", "x":1, "y":1.5}, + {"label":"K22 (C4,F2)", "x":2, "y":1.5}, + {"label":"K23 (C4,F3)", "x":3, "y":1.5}, + {"label":"K24 (C4,F4)", "x":4, "y":1.5}, + {"label":"K25 (C4,F5)", "x":5, "y":1.5}, + {"label":"K26 (C4,F6)", "x":6, "y":1.5}, + {"label":"K27 (C4,F7)", "x":7, "y":1.5}, + {"label":"K28 (C4,A0)", "x":8, "y":1.5}, + {"label":"K29 (C4,A1)", "x":9, "y":1.5}, + {"label":"K2A (C4,A2)", "x":10, "y":1.5}, + {"label":"K2B (C4,A3)", "x":11, "y":1.5}, + {"label":"K2C (C4,A4)", "x":12, "y":1.5}, + {"label":"K2D (C4,A5)", "x":13, "y":1.5, "w":2}, + {"label":"K2F (C4,A7)", "x":15.25, "y":1.5}, + {"label":"K2G (C4,C6)", "x":16.25, "y":1.5}, + {"label":"K2H (C4,C7)", "x":17.25, "y":1.5}, + {"label":"K30 (C3,F0)", "x":0, "y":2.5, "w":1.5}, + {"label":"K31 (C3,F1)", "x":1.5, "y":2.5}, + {"label":"K32 (C3,F2)", "x":2.5, "y":2.5}, + {"label":"K33 (C3,F3)", "x":3.5, "y":2.5}, + {"label":"K34 (C3,F4)", "x":4.5, "y":2.5}, + {"label":"K35 (C3,F5)", "x":5.5, "y":2.5}, + {"label":"K36 (C3,F6)", "x":6.5, "y":2.5}, + {"label":"K37 (C3,F7)", "x":7.5, "y":2.5}, + {"label":"K38 (C3,A0)", "x":8.5, "y":2.5}, + {"label":"K39 (C3,A1)", "x":9.5, "y":2.5}, + {"label":"K3A (C3,A2)", "x":10.5, "y":2.5}, + {"label":"K3B (C3,A3)", "x":11.5, "y":2.5}, + {"label":"K3C (C3,A4)", "x":12.5, "y":2.5}, + {"label":"K3D (C3,A5)", "x":13.5, "y":2.5, "w":1.5}, + {"label":"K3F (C3,A7)", "x":15.25, "y":2.5}, + {"label":"K3G (C3,C6)", "x":16.25, "y":2.5}, + {"label":"K3H (C3,C7)", "x":17.25, "y":2.5}, + {"label":"K40 (C2,F0)", "x":0, "y":3.5, "w":1.75}, + {"label":"K42 (C2,F2)", "x":1.75, "y":3.5}, + {"label":"K43 (C2,F3)", "x":2.75, "y":3.5}, + {"label":"K44 (C2,F4)", "x":3.75, "y":3.5}, + {"label":"K45 (C2,F5)", "x":4.75, "y":3.5}, + {"label":"K46 (C2,F6)", "x":5.75, "y":3.5}, + {"label":"K47 (C2,F7)", "x":6.75, "y":3.5}, + {"label":"K48 (C2,A0)", "x":7.75, "y":3.5}, + {"label":"K49 (C2,A1)", "x":8.75, "y":3.5}, + {"label":"K4A (C2,A2)", "x":9.75, "y":3.5}, + {"label":"K4B (C2,A3)", "x":10.75, "y":3.5}, + {"label":"K4C (C2,A4)", "x":11.75, "y":3.5}, + {"label":"K4D (C2,A5)", "x":12.75, "y":3.5, "w":2.25}, + {"label":"K51 (C1,F1)", "x":0, "y":4.5, "w":2.25}, + {"label":"K52 (C1,F2)", "x":2.25, "y":4.5}, + {"label":"K53 (C1,F3)", "x":3.25, "y":4.5}, + {"label":"K54 (C1,F4)", "x":4.25, "y":4.5}, + {"label":"K55 (C1,F5)", "x":5.25, "y":4.5}, + {"label":"K56 (C1,F6)", "x":6.25, "y":4.5}, + {"label":"K57 (C1,F7)", "x":7.25, "y":4.5}, + {"label":"K58 (C1,A0)", "x":8.25, "y":4.5}, + {"label":"K59 (C1,A1)", "x":9.25, "y":4.5}, + {"label":"K5A (C1,A2)", "x":10.25, "y":4.5}, + {"label":"K5B (C1,A3)", "x":11.25, "y":4.5}, + {"label":"K5C (C1,A4)", "x":12.25, "y":4.5, "w":2.75}, + {"label":"K5G (C1,C6)", "x":16.25, "y":4.5}, + {"label":"K60 (C0,F0)", "x":0, "y":5.5, "w":1.25}, + {"label":"K61 (C0,F1)", "x":1.25, "y":5.5, "w":1.25}, + {"label":"K63 (C0,F3)", "x":2.5, "y":5.5, "w":1.25}, + {"label":"K66 (C0,F6)", "x":3.75, "y":5.5, "w":6.25}, + {"label":"K6A (C0,A2)", "x":10, "y":5.5, "w":1.25}, + {"label":"K6B (C0,A3)", "x":11.25, "y":5.5, "w":1.25}, + {"label":"K6C (C0,A4)", "x":12.5, "y":5.5, "w":1.25}, + {"label":"K6D (C0,A5)", "x":13.75, "y":5.5, "w":1.25}, + {"label":"K6F (C0,A7)", "x":15.25, "y":5.5}, + {"label":"K6G (C0,C6)", "x":16.25, "y":5.5}, + {"label":"K6H (C0,C7)", "x":17.25, "y":5.5} + ] + } + } + ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" +} diff --git a/keyboards/ggkeyboards/genesis/hotswap/keymaps/default/keymap.c b/keyboards/ggkeyboards/genesis/hotswap/keymaps/default/keymap.c new file mode 100644 index 000000000000..ab009ae58af7 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/hotswap/keymaps/default/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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_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_SLCK, 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_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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/ggkeyboards/genesis/hotswap/keymaps/via/keymap.c b/keyboards/ggkeyboards/genesis/hotswap/keymaps/via/keymap.c new file mode 100644 index 000000000000..dd680a839174 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/hotswap/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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_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_SLCK, 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_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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; \ No newline at end of file diff --git a/keyboards/mechlovin/hannah65/mechlovin9/keymaps/via/rules.mk b/keyboards/ggkeyboards/genesis/hotswap/keymaps/via/rules.mk similarity index 100% rename from keyboards/mechlovin/hannah65/mechlovin9/keymaps/via/rules.mk rename to keyboards/ggkeyboards/genesis/hotswap/keymaps/via/rules.mk diff --git a/keyboards/ggkeyboards/genesis/hotswap/readme.md b/keyboards/ggkeyboards/genesis/hotswap/readme.md new file mode 100644 index 000000000000..c93aab1af44a --- /dev/null +++ b/keyboards/ggkeyboards/genesis/hotswap/readme.md @@ -0,0 +1,15 @@ +# GG Keyboards Hotswap PCB + +A Top mount TKL keyboard from GG Keyboards. + +* Keyboard Maintainer: [Stevem Phillips (spooknik)](https://github.com/spooknik) +* Hardware Supported: Hotswap PCB Rev 1 +* Hardware Availability: Coming Soon! + +To enter bootloader for flashing firmware, press layer change key (MO(1)) and "R" Key simultaneously. + +Make example for this keyboard (after setting up your build environment): + + make ggkeyboards/genesis/hotswap: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). diff --git a/keyboards/ggkeyboards/genesis/hotswap/rules.mk b/keyboards/ggkeyboards/genesis/hotswap/rules.mk new file mode 100644 index 000000000000..41efaac3bd68 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/hotswap/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +# generated by KBFirmware JSON to QMK Parser +# https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/ggkeyboards/genesis/solder/config.h b/keyboards/ggkeyboards/genesis/solder/config.h new file mode 100644 index 000000000000..74a098f41af8 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/solder/config.h @@ -0,0 +1,49 @@ +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xBB00 +#define PRODUCT_ID 0xD4D2 +#define DEVICE_VER 0x0001 +#define MANUFACTURER GG Keyboards +#define PRODUCT Genesis + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 18 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { C5, C4, C3, C2, C1, C0 } +#define MATRIX_COL_PINS { F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, C6, C7 } + +#define DIODE_DIRECTION COL2ROW + + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/ggkeyboards/genesis/solder/info.json b/keyboards/ggkeyboards/genesis/solder/info.json new file mode 100644 index 000000000000..918f4c2e1b66 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/solder/info.json @@ -0,0 +1,103 @@ +{ + "keyboard_name": "Genesis", + "url": "", + "maintainer": "Spooknik", + "width": 17, + "height": 6, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (C5,F0)", "x":0, "y":0}, + {"label":"K01 (C5,F1)", "x":2, "y":0}, + {"label":"K02 (C5,F2)", "x":3, "y":0}, + {"label":"K03 (C5,F3)", "x":4, "y":0}, + {"label":"K04 (C5,F4)", "x":5, "y":0}, + {"label":"K05 (C5,F5)", "x":6.5, "y":0}, + {"label":"K06 (C5,F6)", "x":7.5, "y":0}, + {"label":"K07 (C5,F7)", "x":8.5, "y":0}, + {"label":"K08 (C5,A0)", "x":9.5, "y":0}, + {"label":"K09 (C5,A1)", "x":11, "y":0}, + {"label":"K0A (C5,A2)", "x":12, "y":0}, + {"label":"K0B (C5,A3)", "x":13, "y":0}, + {"label":"K0C (C5,A4)", "x":14, "y":0}, + {"label":"K0E (C5,A6)", "x":15, "y":0}, + {"label":"K0F (C5,A7)", "x":16, "y":0}, + {"label":"K0G (C5,C6)", "x":17, "y":0}, + {"label":"K10 (C4,F0)", "x":0, "y":1}, + {"label":"K11 (C4,F1)", "x":1, "y":1}, + {"label":"K12 (C4,F2)", "x":2, "y":1}, + {"label":"K13 (C4,F3)", "x":3, "y":1}, + {"label":"K14 (C4,F4)", "x":4, "y":1}, + {"label":"K15 (C4,F5)", "x":5, "y":1}, + {"label":"K16 (C4,F6)", "x":6, "y":1}, + {"label":"K17 (C4,F7)", "x":7, "y":1}, + {"label":"K18 (C4,A0)", "x":8, "y":1}, + {"label":"K19 (C4,A1)", "x":9, "y":1}, + {"label":"K1A (C4,A2)", "x":10, "y":1}, + {"label":"K1B (C4,A3)", "x":11, "y":1}, + {"label":"K1C (C4,A4)", "x":12, "y":1}, + {"label":"K1D (C4,A5)", "x":13, "y":1}, + {"label":"K0D (C5,A5)", "x":14, "y":1}, + {"label":"K1E (C4,A6)", "x":15, "y":1}, + {"label":"K1F (C4,A7)", "x":16, "y":1}, + {"label":"K1G (C4,C6)", "x":17, "y":1}, + {"label":"K20 (C3,F0)", "x":0, "y":2, "w":1.5}, + {"label":"K21 (C3,F1)", "x":1.5, "y":2}, + {"label":"K22 (C3,F2)", "x":2.5, "y":2}, + {"label":"K23 (C3,F3)", "x":3.5, "y":2}, + {"label":"K24 (C3,F4)", "x":4.5, "y":2}, + {"label":"K25 (C3,F5)", "x":5.5, "y":2}, + {"label":"K26 (C3,F6)", "x":6.5, "y":2}, + {"label":"K27 (C3,F7)", "x":7.5, "y":2}, + {"label":"K28 (C3,A0)", "x":8.5, "y":2}, + {"label":"K29 (C3,A1)", "x":9.5, "y":2}, + {"label":"K2A (C3,A2)", "x":10.5, "y":2}, + {"label":"K2B (C3,A3)", "x":11.5, "y":2}, + {"label":"K2C (C3,A4)", "x":12.5, "y":2}, + {"label":"K2D (C3,A5)", "x":13.5, "y":2, "w":1.5}, + {"label":"K2E (C3,A6)", "x":15, "y":2}, + {"label":"K2F (C3,A7)", "x":16, "y":2}, + {"label":"K2G (C3,C6)", "x":17, "y":2}, + {"label":"K30 (C2,F0)", "x":0, "y":3, "w":1.75}, + {"label":"K31 (C2,F1)", "x":1.75, "y":3}, + {"label":"K32 (C2,F2)", "x":2.75, "y":3}, + {"label":"K33 (C2,F3)", "x":3.75, "y":3}, + {"label":"K34 (C2,F4)", "x":4.75, "y":3}, + {"label":"K35 (C2,F5)", "x":5.75, "y":3}, + {"label":"K36 (C2,F6)", "x":6.75, "y":3}, + {"label":"K37 (C2,F7)", "x":7.75, "y":3}, + {"label":"K38 (C2,A0)", "x":8.75, "y":3}, + {"label":"K39 (C2,A1)", "x":9.75, "y":3}, + {"label":"K3A (C2,A2)", "x":10.75, "y":3}, + {"label":"K3B (C2,A3)", "x":11.75, "y":3}, + {"label":"K3D (C2,A5)", "x":12.75, "y":3, "w":2.25}, + {"label":"K40 (C1,F0)", "x":0, "y":4, "w":1.25}, + {"label":"K41 (C1,F1)", "x":1.25, "y":4}, + {"label":"K42 (C1,F2)", "x":2.25, "y":4}, + {"label":"K43 (C1,F3)", "x":3.25, "y":4}, + {"label":"K44 (C1,F4)", "x":4.25, "y":4}, + {"label":"K45 (C1,F5)", "x":5.25, "y":4}, + {"label":"K46 (C1,F6)", "x":6.25, "y":4}, + {"label":"K47 (C1,F7)", "x":7.25, "y":4}, + {"label":"K48 (C1,A0)", "x":8.25, "y":4}, + {"label":"K49 (C1,A1)", "x":9.25, "y":4}, + {"label":"K4A (C1,A2)", "x":10.25, "y":4}, + {"label":"K4B (C1,A3)", "x":11.25, "y":4}, + {"label":"K4C (C1,A4)", "x":12.25, "y":4, "w":2.75}, + {"label":"K4F (C1,A7)", "x":16, "y":4}, + {"label":"K50 (C0,F0)", "x":0, "y":5, "w":1.25}, + {"label":"K51 (C0,F1)", "x":1.25, "y":5, "w":1.25}, + {"label":"K52 (C0,F2)", "x":2.5, "y":5, "w":1.25}, + {"label":"K56 (C0,F6)", "x":3.75, "y":5, "w":6.25}, + {"label":"K5A (C0,A2)", "x":10, "y":5, "w":1.25}, + {"label":"K5B (C0,A3)", "x":11.25, "y":5, "w":1.25}, + {"label":"K5C (C0,A4)", "x":12.5, "y":5, "w":1.25}, + {"label":"K5D (C0,A5)", "x":13.75, "y":5, "w":1.25}, + {"label":"K5E (C0,A6)", "x":15, "y":5}, + {"label":"K5F (C0,A7)", "x":16, "y":5}, + {"label":"K5G (C0,C6)", "x":17, "y":5} + ] + } + } + ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" +} \ No newline at end of file diff --git a/keyboards/ggkeyboards/genesis/solder/keymaps/default/keymap.c b/keyboards/ggkeyboards/genesis/solder/keymaps/default/keymap.c new file mode 100644 index 000000000000..98d778f1d1c0 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/solder/keymaps/default/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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_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_SLCK, 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_SPC, 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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; \ No newline at end of file diff --git a/keyboards/ggkeyboards/genesis/solder/keymaps/via/keymap.c b/keyboards/ggkeyboards/genesis/solder/keymaps/via/keymap.c new file mode 100644 index 000000000000..1084a6e2202c --- /dev/null +++ b/keyboards/ggkeyboards/genesis/solder/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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_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_SLCK, 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_SPC, 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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; \ No newline at end of file diff --git a/keyboards/ggkeyboards/genesis/solder/keymaps/via/rules.mk b/keyboards/ggkeyboards/genesis/solder/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/ggkeyboards/genesis/solder/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/ggkeyboards/genesis/solder/readme.md b/keyboards/ggkeyboards/genesis/solder/readme.md new file mode 100644 index 000000000000..edecaa656b13 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/solder/readme.md @@ -0,0 +1,15 @@ +# GG Keyboards Solder PCB + +A Top mount TKL keyboard from GG Keyboards. + +* Keyboard Maintainer: [Stevem Phillips (spooknik)](https://github.com/spooknik) +* Hardware Supported: Solder PCB Rev 1 +* Hardware Availability: Coming Soon! + +To enter bootloader for flashing firmware, press layer change key (MO(1)) and "R" Key simultaneously. + +Make example for this keyboard (after setting up your build environment): + + make ggkeyboards/genesis/solder: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). diff --git a/keyboards/ggkeyboards/genesis/solder/rules.mk b/keyboards/ggkeyboards/genesis/solder/rules.mk new file mode 100644 index 000000000000..41efaac3bd68 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/solder/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +# generated by KBFirmware JSON to QMK Parser +# https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/ggkeyboards/genesis/solder/solder.c b/keyboards/ggkeyboards/genesis/solder/solder.c new file mode 100644 index 000000000000..9e1bdeb0ffce --- /dev/null +++ b/keyboards/ggkeyboards/genesis/solder/solder.c @@ -0,0 +1,22 @@ + +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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 "solder.h" + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ + diff --git a/keyboards/ggkeyboards/genesis/solder/solder.h b/keyboards/ggkeyboards/genesis/solder/solder.h new file mode 100644 index 000000000000..a5a96adf83c6 --- /dev/null +++ b/keyboards/ggkeyboards/genesis/solder/solder.h @@ -0,0 +1,38 @@ +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K0D, K1E, K1F, K1G, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4F, \ + K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, KC_NO }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, KC_NO, KC_NO, K4F, KC_NO, KC_NO }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G, KC_NO }, \ +} + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ \ No newline at end of file diff --git a/keyboards/gh60/revc/keymaps/bluezio/keymap.c b/keyboards/gh60/revc/keymaps/bluezio/keymap.c index c0f650ecc5a6..98ca935053e1 100644 --- a/keyboards/gh60/revc/keymaps/bluezio/keymap.c +++ b/keyboards/gh60/revc/keymaps/bluezio/keymap.c @@ -1,7 +1,7 @@ #include QMK_KEYBOARD_H // lshift split, backspace split, full ANSI enter, full right shift -#define KEYMAP_BZIO( \ +#define LAYOUT_BZIO( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 0: HHKB with hyper key where ctrl used to be, and right half of left shift used as a key lock */ - KEYMAP_BZIO( + LAYOUT_BZIO( 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,\ @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 1: spacefn with WASD arrows/navigation block and extra space key for realignment of source code, plus IJKL mouse arrows, volume up/down in <>, and caps lock where it used to be */ - KEYMAP_BZIO( + LAYOUT_BZIO( 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_TRNS, KC_TRNS, \ KC_TRNS, KC_PGUP, KC_UP, KC_PGDOWN, KC_INSERT, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DELETE, KC_MS_BTN1, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, \ diff --git a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c index 9666199f3cf6..964f40f1c0bf 100644 --- a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c +++ b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c @@ -94,79 +94,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_SFX] = LAYOUT_60_ansi_split_bs_rshift( ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, \ + ______, RGB_TOG,RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,______, ______, ______, ______, ______, ______, \ ______, ______, ______, ______, ______, ______, ______, ______ \ ) }; -enum function_id { - RGBLED_TOGGLE, - RGBLED_STEP_MODE, - RGBLED_INCREASE_HUE, - RGBLED_DECREASE_HUE, - RGBLED_INCREASE_SAT, - RGBLED_DECREASE_SAT, - RGBLED_INCREASE_VAL, - RGBLED_DECREASE_VAL -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(RGBLED_TOGGLE), - [1] = ACTION_FUNCTION(RGBLED_STEP_MODE), - [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), - [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), - [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), - [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), - [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), - [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL) -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch (id) { - case RGBLED_TOGGLE: - if (record->event.pressed) { - rgblight_toggle(); - } - break; - case RGBLED_INCREASE_HUE: - if (record->event.pressed) { - rgblight_increase_hue(); - } - break; - case RGBLED_DECREASE_HUE: - if (record->event.pressed) { - rgblight_decrease_hue(); - } - break; - case RGBLED_INCREASE_SAT: - if (record->event.pressed) { - rgblight_increase_sat(); - } - break; - case RGBLED_DECREASE_SAT: - if (record->event.pressed) { - rgblight_decrease_sat(); - } - break; - case RGBLED_INCREASE_VAL: - if (record->event.pressed) { - rgblight_increase_val(); - } - break; - case RGBLED_DECREASE_VAL: - if (record->event.pressed) { - rgblight_decrease_val(); - } - break; - case RGBLED_STEP_MODE: - if (record->event.pressed) { - rgblight_step(); - } - break; - } -} - void matrix_scan_user(void) { uint32_t layer = layer_state; diff --git a/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c b/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c index 5b58d7686a14..a79b89e9c282 100644 --- a/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c +++ b/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c @@ -3,6 +3,10 @@ #define _DEFAULT 0 #define _FN 1 +enum custom_keycodes { + LED_TOGGLE = SAFE_RANGE +}; + int esc_led = 0; // Fillers to make layering more clear @@ -44,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------' */ [_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 1 */ - F(0), 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_INS, KC_DEL, \ + LED_TOGGLE,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_INS, KC_DEL, \ KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \ ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______, \ ______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ______, ______, \ @@ -52,14 +56,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -enum function_id { - LED_TOGGLE -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(LED_TOGGLE) -}; - void esc_led_toggle(void) { if (esc_led == 0){ esc_led = 1; @@ -70,12 +66,13 @@ void esc_led_toggle(void) { } } -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch (id) { - case LED_TOGGLE: - if (record->event.pressed) { - esc_led_toggle(); - } - break; - } -} \ No newline at end of file +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LED_TOGGLE: + if (record->event.pressed) { + esc_led_toggle(); + } + return false; + } + return true; +} diff --git a/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c b/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c index 633b053e6901..493bee1cd405 100644 --- a/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c +++ b/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BL] = LAYOUT_60_abnt2( KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_ACUT, BR_LBRC, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCDL, BR_TILD, BR_RBRC, KC_ENT, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCED, BR_TILD, BR_RBRC, KC_ENT, KC_LSFT, BR_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, BR_SCLN, BR_SLSH, KC_RSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL), diff --git a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c index 770fe723b565..b84e7564fc8d 100644 --- a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c +++ b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c @@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ [_BL] = LAYOUT( - F(12),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_GESC,KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSPC, \ KC_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, \ LT(2, 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_NO,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_NO,KC_RSFT, \ @@ -88,35 +88,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_UL] = LAYOUT( KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \ - KC_TRNS,F(4),F(5),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \ - KC_TRNS,KC_TRNS,KC_TRNS,F(6),F(7),F(8),F(9),F(10),F(11),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \ + KC_TRNS,RGB_TOG,RGB_MOD,KC_TRNS,KC_TRNS,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_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS), }; -enum function_id { - RGBLED_TOGGLE, - RGBLED_STEP_MODE, - RGBLED_INCREASE_HUE, - RGBLED_DECREASE_HUE, - RGBLED_INCREASE_SAT, - RGBLED_DECREASE_SAT, - RGBLED_INCREASE_VAL, - RGBLED_DECREASE_VAL, - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [4] = ACTION_FUNCTION(RGBLED_TOGGLE), //Turn on/off underglow - [5] = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode - [6] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), - [7] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), - [8] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), - [9] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), - [10] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), - [11] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), - [12] = ACTION_FUNCTION(SHIFT_ESC), -}; - void matrix_scan_user(void) { // Layer LED indicators @@ -134,73 +110,3 @@ void matrix_scan_user(void) { gh60_esc_led_off(); } }; - -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch (id) { - case RGBLED_TOGGLE: - //led operations - if (record->event.pressed) { - rgblight_toggle(); - } - break; - case RGBLED_INCREASE_HUE: - if (record->event.pressed) { - rgblight_increase_hue(); - } - break; - case RGBLED_DECREASE_HUE: - if (record->event.pressed) { - rgblight_decrease_hue(); - } - break; - case RGBLED_INCREASE_SAT: - if (record->event.pressed) { - rgblight_increase_sat(); - } - break; - case RGBLED_DECREASE_SAT: - if (record->event.pressed) { - rgblight_decrease_sat(); - } - break; - case RGBLED_INCREASE_VAL: - if (record->event.pressed) { - rgblight_increase_val(); - } - break; - case RGBLED_DECREASE_VAL: - if (record->event.pressed) { - rgblight_decrease_val(); - } - break; - case RGBLED_STEP_MODE: - if (record->event.pressed) { - rgblight_step(); - } - break; - static uint8_t shift_esc_shift_mask; - // Shift + ESC = ~ - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -}; diff --git a/keyboards/gh60/revc/keymaps/sethbc/keymap.c b/keyboards/gh60/revc/keymaps/sethbc/keymap.c index 09a8d49eeb9c..1557d109b465 100644 --- a/keyboards/gh60/revc/keymaps/sethbc/keymap.c +++ b/keyboards/gh60/revc/keymaps/sethbc/keymap.c @@ -1,12 +1,9 @@ #include QMK_KEYBOARD_H -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 0: qwerty */ LAYOUT_60_ansi_split_bs_rshift( - F(0),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_GESC,KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_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_LCTL,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),\ @@ -19,37 +16,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PPLS,KC_PMNS,KC_END,KC_PGDN,KC_DOWN,KC_TRNS,KC_TRNS,\ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS), }; - -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -} diff --git a/keyboards/gh60/revc/rules.mk b/keyboards/gh60/revc/rules.mk index 831de85d0046..f5194840b9b6 100644 --- a/keyboards/gh60/revc/rules.mk +++ b/keyboards/gh60/revc/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control # CONSOLE_ENABLE = yes # Console for debug @@ -24,8 +17,7 @@ KEYBOARD_LOCK_ENABLE = yes # Allow locking of keyboard via magic key # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls +MIDI_ENABLE = no # MIDI support # UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID LAYOUTS = 60_ansi 60_iso 60_ansi_split_bs_rshift 60_tsangan_hhkb diff --git a/keyboards/gh60/satan/keymaps/abhixec/rules.mk b/keyboards/gh60/satan/keymaps/abhixec/rules.mk index fdbd25ea80fe..4cd8e19f370f 100644 --- a/keyboards/gh60/satan/keymaps/abhixec/rules.mk +++ b/keyboards/gh60/satan/keymaps/abhixec/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/addcninblue/rules.mk b/keyboards/gh60/satan/keymaps/addcninblue/rules.mk index fd7f34300bf8..b8c05a5984ca 100644 --- a/keyboards/gh60/satan/keymaps/addcninblue/rules.mk +++ b/keyboards/gh60/satan/keymaps/addcninblue/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -18,4 +18,3 @@ UCIS_ENABLE = no # Keep in mind that not all will work (See WinCompose BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings diff --git a/keyboards/gh60/satan/keymaps/admiralStrokers/rules.mk b/keyboards/gh60/satan/keymaps/admiralStrokers/rules.mk index 7c3f5bd90bc4..ad6c0131ae89 100644 --- a/keyboards/gh60/satan/keymaps/admiralStrokers/rules.mk +++ b/keyboards/gh60/satan/keymaps/admiralStrokers/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -18,5 +18,3 @@ UCIS_ENABLE = no # Keep in mind that not all will work (See WinCompose for detai BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no# Breathing sleep LED during USB suspend -API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings - diff --git a/keyboards/gh60/satan/keymaps/ben_iso/rules.mk b/keyboards/gh60/satan/keymaps/ben_iso/rules.mk index 53644093d6c4..14367f2f8a3f 100644 --- a/keyboards/gh60/satan/keymaps/ben_iso/rules.mk +++ b/keyboards/gh60/satan/keymaps/ben_iso/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/bri/keymap.c b/keyboards/gh60/satan/keymaps/bri/keymap.c index 1f9430a9f136..2f742411d6df 100644 --- a/keyboards/gh60/satan/keymaps/bri/keymap.c +++ b/keyboards/gh60/satan/keymaps/bri/keymap.c @@ -5,8 +5,8 @@ #define _FL 1 #define _NAV 2 -#define A_LEFT LALT(KC_LEFT) -#define A_RGHT LALT(KC_RGHT) +#define ALEFT LALT(KC_LEFT) +#define ARGHT LALT(KC_RGHT) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: (Base Layer) Default Layer @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_NAV] = LAYOUT_60_ansi( _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______,_______,A_LEFT , KC_UP ,A_RGHT ,_______,_______,_______,_______, \ + _______,_______,_______,_______,_______,_______,_______,ALEFT , KC_UP ,ARGHT ,_______,_______,_______,_______, \ _______,_______,_______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______, _______, \ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \ _______,_______,_______, _______, _______,_______,_______,_______), diff --git a/keyboards/gh60/satan/keymaps/chaser/keymap.c b/keyboards/gh60/satan/keymaps/chaser/keymap.c index edba9a3091f7..4427f793e8f4 100644 --- a/keyboards/gh60/satan/keymaps/chaser/keymap.c +++ b/keyboards/gh60/satan/keymaps/chaser/keymap.c @@ -1,10 +1,5 @@ #include QMK_KEYBOARD_H - - -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -27,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ [_BL] = LAYOUT_all( - F(0) ,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_GESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,KC_EQL ,KC_BSPC , _______, \ KC_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_LSHIFT ,_______,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_UP ,MO(_FL) , \ @@ -52,37 +47,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______ ,_______ ,_______ ,_______ ,_______ ,_______,_______,_______,_______,_______,_______,_______,KC_PGUP ,_______ , \ KC_LCTL ,_______ ,KC_LALT , _______, KC_RCTL,KC_HOME,KC_PGDOWN ,KC_END ), }; - -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -} diff --git a/keyboards/gh60/satan/keymaps/chaser/rules.mk b/keyboards/gh60/satan/keymaps/chaser/rules.mk index 53644093d6c4..14367f2f8a3f 100644 --- a/keyboards/gh60/satan/keymaps/chaser/rules.mk +++ b/keyboards/gh60/satan/keymaps/chaser/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/colemak/rules.mk b/keyboards/gh60/satan/keymaps/colemak/rules.mk index 5cbbc3453683..00ecf0184fe1 100644 --- a/keyboards/gh60/satan/keymaps/colemak/rules.mk +++ b/keyboards/gh60/satan/keymaps/colemak/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/gh60/satan/keymaps/dbroqua/keymap.c b/keyboards/gh60/satan/keymaps/dbroqua/keymap.c index a9a54bf7640f..79fa86d18d2f 100644 --- a/keyboards/gh60/satan/keymaps/dbroqua/keymap.c +++ b/keyboards/gh60/satan/keymaps/dbroqua/keymap.c @@ -71,75 +71,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_SFX] = LAYOUT_60_ansi_split_bs_rshift( ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, \ ______, BL_DEC, BL_INC, BL_TOGG,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, \ + ______, RGB_TOG,RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,______, ______, ______, ______, ______, ______, \ ______, ______, ______, ______, ______, ______, ______, ______ \ ) }; - -enum function_id { - RGBLED_TOGGLE, - RGBLED_STEP_MODE, - RGBLED_INCREASE_HUE, - RGBLED_DECREASE_HUE, - RGBLED_INCREASE_SAT, - RGBLED_DECREASE_SAT, - RGBLED_INCREASE_VAL, - RGBLED_DECREASE_VAL -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(RGBLED_TOGGLE), - [1] = ACTION_FUNCTION(RGBLED_STEP_MODE), - [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), - [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), - [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), - [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), - [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), - [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL) -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch (id) { - case RGBLED_TOGGLE: - if (record->event.pressed) { - rgblight_toggle(); - } - break; - case RGBLED_INCREASE_HUE: - if (record->event.pressed) { - rgblight_increase_hue(); - } - break; - case RGBLED_DECREASE_HUE: - if (record->event.pressed) { - rgblight_decrease_hue(); - } - break; - case RGBLED_INCREASE_SAT: - if (record->event.pressed) { - rgblight_increase_sat(); - } - break; - case RGBLED_DECREASE_SAT: - if (record->event.pressed) { - rgblight_decrease_sat(); - } - break; - case RGBLED_INCREASE_VAL: - if (record->event.pressed) { - rgblight_increase_val(); - } - break; - case RGBLED_DECREASE_VAL: - if (record->event.pressed) { - rgblight_decrease_val(); - } - break; - case RGBLED_STEP_MODE: - if (record->event.pressed) { - rgblight_step(); - } - break; - } -} diff --git a/keyboards/gh60/satan/keymaps/default/rules.mk b/keyboards/gh60/satan/keymaps/default/rules.mk index 5cbbc3453683..c3dc585c5845 100644 --- a/keyboards/gh60/satan/keymaps/default/rules.mk +++ b/keyboards/gh60/satan/keymaps/default/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -12,7 +12,6 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/gh60/satan/keymaps/dende_iso/keymap.c b/keyboards/gh60/satan/keymaps/dende_iso/keymap.c index e6187c161523..48cd66d41510 100644 --- a/keyboards/gh60/satan/keymaps/dende_iso/keymap.c +++ b/keyboards/gh60/satan/keymaps/dende_iso/keymap.c @@ -29,9 +29,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_DEF] = LAYOUT_60_iso_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, DE_SS, DE_ACUT, KC_BSPC, MO(_FNK), \ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, DE_PLUS, \ - FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_OE, DE_AE, DE_HASH, KC_ENT, \ - KC_LSFT, DE_LESS, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_DELETE, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA, DE_PLUS, \ + FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, \ + KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_DELETE, \ KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_ALGR, KC_RGUI, KC_APP, KC_RCTL), diff --git a/keyboards/gh60/satan/keymaps/dende_iso/rules.mk b/keyboards/gh60/satan/keymaps/dende_iso/rules.mk index 53644093d6c4..14367f2f8a3f 100644 --- a/keyboards/gh60/satan/keymaps/dende_iso/rules.mk +++ b/keyboards/gh60/satan/keymaps/dende_iso/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/denolfe/keymap.c b/keyboards/gh60/satan/keymaps/denolfe/keymap.c index a70c409fe86f..612c5075e69c 100644 --- a/keyboards/gh60/satan/keymaps/denolfe/keymap.c +++ b/keyboards/gh60/satan/keymaps/denolfe/keymap.c @@ -5,9 +5,6 @@ #include "rgblight.h" #endif -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -31,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ [_BL] = LAYOUT_60_ansi( - F(0), 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ KC_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, \ MO(_FL), 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, \ @@ -55,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, F(1), F(2), F(3), F(4), F(5), F(6), F(7), F(8), KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), #else 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, \ @@ -72,100 +69,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, LSFT(KC_HOME), LCTL(LSFT(KC_LEFT)), LCTL(LSFT(KC_END)), LCTL(LSFT(KC_RIGHT)), KC_TRNS, RESET, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - -enum function_id { - SHIFT_ESC, - #ifdef RGBLIGHT_ENABLE - RGBLED_TOGGLE, - RGBLED_STEP_MODE, - RGBLED_INCREASE_HUE, - RGBLED_DECREASE_HUE, - RGBLED_INCREASE_SAT, - RGBLED_DECREASE_SAT, - RGBLED_INCREASE_VAL, - RGBLED_DECREASE_VAL - #endif -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), - #ifdef RGBLIGHT_ENABLE - [1] = ACTION_FUNCTION(RGBLED_TOGGLE), - [2] = ACTION_FUNCTION(RGBLED_STEP_MODE), - [3] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), - [4] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), - [5] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), - [6] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), - [7] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), - [8] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), - #endif -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - //led operations - #ifdef RGBLIGHT_ENABLE - case RGBLED_TOGGLE: - if (record->event.pressed) { - rgblight_toggle(); - } - break; - case RGBLED_INCREASE_HUE: - if (record->event.pressed) { - rgblight_increase_hue(); - } - break; - case RGBLED_DECREASE_HUE: - if (record->event.pressed) { - rgblight_decrease_hue(); - } - break; - case RGBLED_INCREASE_SAT: - if (record->event.pressed) { - rgblight_increase_sat(); - } - break; - case RGBLED_DECREASE_SAT: - if (record->event.pressed) { - rgblight_decrease_sat(); - } - break; - case RGBLED_INCREASE_VAL: - if (record->event.pressed) { - rgblight_increase_val(); - } - break; - case RGBLED_DECREASE_VAL: - if (record->event.pressed) { - rgblight_decrease_val(); - } - break; - case RGBLED_STEP_MODE: - if (record->event.pressed) { - rgblight_step(); - } - break; - #endif - } -} diff --git a/keyboards/gh60/satan/keymaps/denolfe/rules.mk b/keyboards/gh60/satan/keymaps/denolfe/rules.mk index 5a8745b6898b..e10bd7a09e4d 100644 --- a/keyboards/gh60/satan/keymaps/denolfe/rules.mk +++ b/keyboards/gh60/satan/keymaps/denolfe/rules.mk @@ -2,7 +2,7 @@ # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/dkrieger/rules.mk b/keyboards/gh60/satan/keymaps/dkrieger/rules.mk index d91b0edbf34d..a0c892505c75 100644 --- a/keyboards/gh60/satan/keymaps/dkrieger/rules.mk +++ b/keyboards/gh60/satan/keymaps/dkrieger/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/fakb/rules.mk b/keyboards/gh60/satan/keymaps/fakb/rules.mk index a0d2447994d5..c29a61a77f93 100644 --- a/keyboards/gh60/satan/keymaps/fakb/rules.mk +++ b/keyboards/gh60/satan/keymaps/fakb/rules.mk @@ -1,4 +1,4 @@ -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/gipsy-king/rules.mk b/keyboards/gh60/satan/keymaps/gipsy-king/rules.mk index 12ab55fae1ec..935d3544ace4 100644 --- a/keyboards/gh60/satan/keymaps/gipsy-king/rules.mk +++ b/keyboards/gh60/satan/keymaps/gipsy-king/rules.mk @@ -1,4 +1,4 @@ -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite EXTRAKEY_ENABLE = no CONSOLE_ENABLE = no COMMAND_ENABLE = no diff --git a/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c b/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c index 46d66e5db647..d6647cbb30af 100644 --- a/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c +++ b/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c @@ -1,8 +1,5 @@ #include QMK_KEYBOARD_H -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -31,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * */ [_BL] = LAYOUT_60_iso_split_rshift( \ - F(0), 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENYE, KC_SCLN, KC_QUOT, KC_ENT, OSM(MOD_LSFT), _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT), MO(_FL), @@ -61,40 +58,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -}; - bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch(keycode) { diff --git a/keyboards/gh60/satan/keymaps/isoHHKB/rules.mk b/keyboards/gh60/satan/keymaps/isoHHKB/rules.mk index 71b35a819f4e..265c9507656c 100644 --- a/keyboards/gh60/satan/keymaps/isoHHKB/rules.mk +++ b/keyboards/gh60/satan/keymaps/isoHHKB/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/gh60/satan/keymaps/iso_split_rshift/rules.mk b/keyboards/gh60/satan/keymaps/iso_split_rshift/rules.mk index 7b395f4ccd04..f945cdf6e341 100644 --- a/keyboards/gh60/satan/keymaps/iso_split_rshift/rules.mk +++ b/keyboards/gh60/satan/keymaps/iso_split_rshift/rules.mk @@ -1,4 +1,4 @@ -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/gh60/satan/keymaps/lepa/rules.mk b/keyboards/gh60/satan/keymaps/lepa/rules.mk index 74a42b647cab..0eceeb297e93 100644 --- a/keyboards/gh60/satan/keymaps/lepa/rules.mk +++ b/keyboards/gh60/satan/keymaps/lepa/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/midi/rules.mk b/keyboards/gh60/satan/keymaps/midi/rules.mk index 5977347a12db..2df79c4ed62f 100644 --- a/keyboards/gh60/satan/keymaps/midi/rules.mk +++ b/keyboards/gh60/satan/keymaps/midi/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/gh60/satan/keymaps/olligranlund_iso/rules.mk b/keyboards/gh60/satan/keymaps/olligranlund_iso/rules.mk index 3d886f14f58e..b380a2710e1b 100644 --- a/keyboards/gh60/satan/keymaps/olligranlund_iso/rules.mk +++ b/keyboards/gh60/satan/keymaps/olligranlund_iso/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/sethbc/keymap.c b/keyboards/gh60/satan/keymaps/sethbc/keymap.c index 2a25b2b6b461..63d65ca23cbf 100644 --- a/keyboards/gh60/satan/keymaps/sethbc/keymap.c +++ b/keyboards/gh60/satan/keymaps/sethbc/keymap.c @@ -1,9 +1,5 @@ #include QMK_KEYBOARD_H - -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -26,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ [_BL] = LAYOUT_60_ansi_split_bs_rshift( - F(0), 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_LCTL, 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(_FL), \ @@ -49,37 +45,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #endif ), }; - -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -} diff --git a/keyboards/gh60/satan/keymaps/sethbc/rules.mk b/keyboards/gh60/satan/keymaps/sethbc/rules.mk index 53644093d6c4..14367f2f8a3f 100644 --- a/keyboards/gh60/satan/keymaps/sethbc/rules.mk +++ b/keyboards/gh60/satan/keymaps/sethbc/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/smt/rules.mk b/keyboards/gh60/satan/keymaps/smt/rules.mk index 3fe140adcc76..edf8c5187313 100644 --- a/keyboards/gh60/satan/keymaps/smt/rules.mk +++ b/keyboards/gh60/satan/keymaps/smt/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/gh60/satan/keymaps/stanleylai/keymap.c b/keyboards/gh60/satan/keymaps/stanleylai/keymap.c index 633719a88b1d..e3cbae285d0e 100644 --- a/keyboards/gh60/satan/keymaps/stanleylai/keymap.c +++ b/keyboards/gh60/satan/keymaps/stanleylai/keymap.c @@ -1,9 +1,5 @@ #include QMK_KEYBOARD_H - -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -19,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Base Default Layer // Mac Modifier Layout. Use BootMagic to toggle GUI and ALT positions. [_BL] = LAYOUT_60_ansi_split_bs_rshift( - F(0), 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, XXXXXXX, \ + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, \ 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, \ LT(_FL, 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_UP, MO(_FL), \ @@ -52,37 +48,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #endif ), }; - -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -} diff --git a/keyboards/gh60/satan/keymaps/unxmaal/keymap.c b/keyboards/gh60/satan/keymaps/unxmaal/keymap.c index f311ebeebb59..8d9b1dc45db4 100644 --- a/keyboards/gh60/satan/keymaps/unxmaal/keymap.c +++ b/keyboards/gh60/satan/keymaps/unxmaal/keymap.c @@ -1,10 +1,5 @@ #include QMK_KEYBOARD_H - - -// Used for SHIFT_ESC -#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -87,37 +82,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #endif ), }; - -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(SHIFT_ESC), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t shift_esc_shift_mask; - switch (id) { - case SHIFT_ESC: - shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; - if (record->event.pressed) { - if (shift_esc_shift_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (shift_esc_shift_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } -} diff --git a/keyboards/gh60/satan/keymaps/unxmaal/rules.mk b/keyboards/gh60/satan/keymaps/unxmaal/rules.mk index e72478251372..91ba6cd9e9af 100644 --- a/keyboards/gh60/satan/keymaps/unxmaal/rules.mk +++ b/keyboards/gh60/satan/keymaps/unxmaal/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/gh60/satan/rules.mk b/keyboards/gh60/satan/rules.mk index 204509ebc179..8c1d9974d193 100644 --- a/keyboards/gh60/satan/rules.mk +++ b/keyboards/gh60/satan/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -22,7 +15,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/gh60/v1p3/rules.mk b/keyboards/gh60/v1p3/rules.mk index c2d48dc370bd..3be8cb373064 100644 --- a/keyboards/gh60/v1p3/rules.mk +++ b/keyboards/gh60/v1p3/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/gh80_3000/rules.mk b/keyboards/gh80_3000/rules.mk index d6cb5fcfa5fe..395a753d1966 100644 --- a/keyboards/gh80_3000/rules.mk +++ b/keyboards/gh80_3000/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/ghs/rar/config.h b/keyboards/ghs/rar/config.h index 422b8a2e16e6..164b29068573 100644 --- a/keyboards/ghs/rar/config.h +++ b/keyboards/ghs/rar/config.h @@ -167,26 +167,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/ghs/rar/rules.mk b/keyboards/ghs/rar/rules.mk index 89509df45fe1..bb7b12175c52 100644 --- a/keyboards/ghs/rar/rules.mk +++ b/keyboards/ghs/rar/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/gingham/config.h b/keyboards/gingham/config.h index 73f5ecfd9f5e..009e23bec513 100644 --- a/keyboards/gingham/config.h +++ b/keyboards/gingham/config.h @@ -189,23 +189,3 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - diff --git a/keyboards/gingham/rules.mk b/keyboards/gingham/rules.mk index 3cebbe83afda..b9302d703265 100644 --- a/keyboards/gingham/rules.mk +++ b/keyboards/gingham/rules.mk @@ -5,19 +5,12 @@ SRC = matrix.c \ MCU = atmega328p # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -28,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/gkeyboard/gkb_m16/rules.mk b/keyboards/gkeyboard/gkb_m16/rules.mk index f49426d5137f..6c439375728e 100644 --- a/keyboards/gkeyboard/gkb_m16/rules.mk +++ b/keyboards/gkeyboard/gkb_m16/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/naked60/.noci b/keyboards/gmmk/.noci similarity index 100% rename from keyboards/naked60/.noci rename to keyboards/gmmk/.noci diff --git a/keyboards/gmmk/pro/ansi/ansi.c b/keyboards/gmmk/pro/ansi/ansi.c new file mode 100644 index 000000000000..1df3319fd256 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/ansi.c @@ -0,0 +1,241 @@ +/* Copyright 2021 Gigahawk + * + * 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 "ansi.h" + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = {{ + { 4, NO_LED, NO_LED, 95, 65, 79, 5, 28 }, + { 8, 2, 9, 0, 10, 75, 1, 7 }, + { 14, 3, 15, NO_LED, 16, 86, 6, 13 }, + { 20, 18, 21, 23, 22, 94, 12, 19 }, + { 25, 30, 26, 31, 27, 32, 29, 24 }, + { 41, 36, 42, 37, 43, 38, 35, 40 }, + { 46, 89, 47, 34, 48, 72, 78, 45 }, + { 52, 39, 53, 97, 54, 82, 44, 51 }, + { 58, 63, 59, 64, NO_LED, 60, 62, 57 }, + { 11, 90, 55, 17, 33, 49, NO_LED, 69 }, + { NO_LED, 85, 93, 61, 96, 66, 50, 56 } +}, { + {0, 0}, // 0, ESC, k13 + {0, 15}, // 1, ~, k16 + {4, 26}, // 2, Tab, k11 + {5, 38}, // 3, Caps, k21 + {9, 49}, // 4, Sh_L, k00 + {2, 61}, // 5, Ct_L, k06 + {18, 0}, // 6, F1, k26 + {14, 15}, // 7, 1, k17 + {22, 26}, // 8, Q, k10 + {25, 38}, // 9, A, k12 + {33, 49}, // 10, Z, k14 + {20, 61}, // 11, Win_L, k90 + {33, 0}, // 12, F2, k36 + {29, 15}, // 13, 2, k27 + {36, 26}, // 14, W, k20 + {40, 38}, // 15, S, k22 + {47, 49}, // 16, X, k24 + {38, 61}, // 17, Alt_L, k93 + {47, 0}, // 18, F3, k31 + {43, 15}, // 19, 3, k37 + {51, 26}, // 20, E, k30 + {54, 38}, // 21, D, k32 + {61, 49}, // 22, C, k34 + {61, 0}, // 23, F4, k33 + {58, 15}, // 24, 4, k47 + {65, 26}, // 25, R, k40 + {69, 38}, // 26, F, k42 + {76, 49}, // 27, V, k44 + {79, 0}, // 28, F5, k07 + {72, 15}, // 29, 5, k46 + {79, 26}, // 30, T, k41 + {83, 38}, // 31, G, k43 + {90, 49}, // 32, B, k45 + {92, 61}, // 33, SPACE, k94 + {94, 0}, // 34, F6, k63 + {87, 15}, // 35, 6, k56 + {94, 26}, // 36, Y, k51 + {98, 38}, // 37, H, k53 + {105, 49}, // 38, N, k55 + {108, 0}, // 39, F7, k71 + {101, 15}, // 40, 7, k57 + {108, 26}, // 41, U, k50 + {112, 38}, // 42, J, k52 + {119, 49}, // 43, M, k54 + {123, 0}, // 44, F8, k76 + {116, 15}, // 45, 8, k67 + {123, 26}, // 46, I, k60 + {126, 38}, // 47, K, k62 + {134, 49}, // 48, ,, k64 + {145, 61}, // 49, Alt_R, k95 + {141, 0}, // 50, F9, ka6 + {130, 15}, // 51, 9, k77 + {137, 26}, // 52, O, k70 + {141, 38}, // 53, L, k72 + {148, 49}, // 54, ., k74 + {159, 61}, // 55, FN, k92 + {155, 0}, // 56, F10, ka7 + {145, 15}, // 57, 0, k87 + {152, 26}, // 58, P, k80 + {155, 38}, // 59, ;, k82 + {163, 49}, // 60, ?, k85 + {170, 0}, // 61, F11, ka3 + {159, 15}, // 62, -, k86 + {166, 26}, // 63, [, k81 + {170, 38}, // 64, ", k83 + {173, 61}, // 65, Ct_R, k04 + {184, 0}, // 66, F12, ka5 + {0, 8}, // 67, LED, l01 + {224, 8}, // 68, LED, l11 + {202, 0}, // 69, Prt, k97 + {0, 15}, // 70, LED, l02 + {224, 15}, // 71, LED, l12 + {224, 15}, // 72, Del, k65 + {0, 21}, // 73, LED, l03 + {224, 21}, // 74, LED, l13 + {224, 26}, // 75, PgUp, k15 + {0, 28}, // 76, LED, l04 + {224, 28}, // 77, LED, l14 + {173, 15}, // 78, =, k66 + {220, 64}, // 79, Right, k05 + {0, 35}, // 80, LED, l05 + {224, 35}, // 81, LED, l15 + {224, 49}, // 82, End, k75 + {0, 42}, // 83, LED, l06 + {224, 42}, // 84, LED, l16 + {195, 15}, // 85, BSpc, ka1 + {224, 38}, // 86, PgDn, k25 + {0, 48}, // 87, LED, l07 + {224, 48}, // 88, LED, l17 + {181, 26}, // 89, ], k61 + {182, 49}, // 90, Sh_R, k91 + {0, 55}, // 91, LED, l08 + {224, 55}, // 92, LED, l18 + {199, 26}, // 93, \, ka2 + {206, 52}, // 94, Up, k35 + {191, 64}, // 95, Left, k03 + {193, 38}, // 96, Enter, ka4 + {206, 64} // 97, Down, k73 +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 4, 2, 2, 4, 2, 2, + 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 +}}; + +const aw_led g_aw_leds[DRIVER_LED_TOTAL] = { + {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 + {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 + {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 + {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21 + {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00 + {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06 + {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26 + {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17 + {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10 + {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12 + {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14 + {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90 + {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36 + {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27 + {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20 + {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22 + {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24 + {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93 + {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31 + {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37 + {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30 + {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32 + {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34 + {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33 + {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47 + {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40 + {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42 + {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44 + {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07 + {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46 + {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41 + {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43 + {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45 + {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94 + {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63 + {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56 + {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51 + {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53 + {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55 + {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71 + {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57 + {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50 + {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52 + {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54 + {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76 + {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67 + {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60 + {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62 + {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64 + {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95 + {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6 + {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77 + {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70 + {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72 + {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74 + {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92 + {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7 + {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87 + {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80 + {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82 + {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85 + {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3 + {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86 + {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81 + {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83 + {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04 + + {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5 + {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 67, LED, l01 + {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 68, LED, l11 + {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 69, Prt, k97 + {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 70, LED, l02 + {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 71, LED, l12 + {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 72, Del, k65 + {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 73, LED, l03 + {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 74, LED, l13 + {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 75, PgUp, k15 + {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 76, LED, l04 + {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 77, LED, l14 + {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 78, =, k66 + {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 79, Right, k05 + {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 80, LED, l05 + {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 81, LED, l15 + {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 82, End, k75 + {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 83, LED, l06 + {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 84, LED, l16 + {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 85, BSpc, ka1 + {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 86, PgDn, k25 + {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 87, LED, l07 + {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 88, LED, l17 + {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 89, ], k61 + {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 90, Sh_R, k91 + {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 91, LED, l08 + {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 92, LED, l18 + {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 93, \, ka2 + {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35 + {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 95, Left, k03 + {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 96, Enter, ka4 + {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 97, Down, k73 +}; +// clang-format on +#endif diff --git a/keyboards/gmmk/pro/ansi/ansi.h b/keyboards/gmmk/pro/ansi/ansi.h new file mode 100644 index 000000000000..ab08d665928e --- /dev/null +++ b/keyboards/gmmk/pro/ansi/ansi.h @@ -0,0 +1,52 @@ +/* Copyright 2021 Gigahawk + * + * 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 "pro.h" + +#define ___ KC_NO + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ` 1 2 3 4 5 6 7 8 9 0 - = BSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; ' Enter PgDn +// Sh_L Z X C V B N M , . / Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + +// clang-format off +#define LAYOUT( \ + k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \ + k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \ + k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, ka2, k15, \ + k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, ka4, k25, \ + k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \ + k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \ +) \ +{ \ + { k00, k01, ___, k03, k04, k05, k06, k07}, \ + { k10, k11, k12, k13, k14, k15, k16, k17}, \ + { k20, k21, k22, ___, k24, k25, k26, k27}, \ + { k30, k31, k32, k33, k34, k35, k36, k37}, \ + { k40, k41, k42, k43, k44, k45, k46, k47}, \ + { k50, k51, k52, k53, k54, k55, k56, k57}, \ + { k60, k61, k62, k63, k64, k65, k66, k67}, \ + { k70, k71, k72, k73, k74, k75, k76, k77}, \ + { k80, k81, k82, k83, ___, k85, k86, k87}, \ + { k90, k91, k92, k93, k94, k95, ___, k97}, \ + { ___, ka1, ka2, ka3, ka4, ka5, ka6, ka7} \ +} +// clang-format on diff --git a/keyboards/gmmk/pro/ansi/config.h b/keyboards/gmmk/pro/ansi/config.h new file mode 100644 index 000000000000..7c68375b2f3f --- /dev/null +++ b/keyboards/gmmk/pro/ansi/config.h @@ -0,0 +1,23 @@ +/* Copyright 2021 Gigahawk + * + * 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 "config_common.h" + +#define DRIVER_1_LED_TOTAL 66 +#define DRIVER_2_LED_TOTAL 32 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/gmmk/pro/ansi/info.json b/keyboards/gmmk/pro/ansi/info.json new file mode 100644 index 000000000000..d3b326a7b652 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/info.json @@ -0,0 +1,111 @@ +{ + "keyboard_name": "GMMK Pro (ANSI)", + "url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation", + "maintainer": "GloriousThrall", + "width": 16.5, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + + {"x":1.25, "y":0}, + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + + {"x":5.5, "y":0}, + {"x":6.5, "y":0}, + {"x":7.5, "y":0}, + {"x":8.5, "y":0}, + + {"x":9.75, "y":0}, + {"x":10.75, "y":0}, + {"x":11.75, "y":0}, + {"x":12.75, "y":0}, + + {"x":14, "y":0}, + {"x":15.5, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + {"x":4, "y":1.25}, + {"x":5, "y":1.25}, + {"x":6, "y":1.25}, + {"x":7, "y":1.25}, + {"x":8, "y":1.25}, + {"x":9, "y":1.25}, + {"x":10, "y":1.25}, + {"x":11, "y":1.25}, + {"x":12, "y":1.25}, + {"x":13, "y":1.25, "w":2}, + + {"x":15.5, "y":1.25}, + + {"x":0, "y":2.25, "w":1.5}, + {"x":1.5, "y":2.25}, + {"x":2.5, "y":2.25}, + {"x":3.5, "y":2.25}, + {"x":4.5, "y":2.25}, + {"x":5.5, "y":2.25}, + {"x":6.5, "y":2.25}, + {"x":7.5, "y":2.25}, + {"x":8.5, "y":2.25}, + {"x":9.5, "y":2.25}, + {"x":10.5, "y":2.25}, + {"x":11.5, "y":2.25}, + {"x":12.5, "y":2.25}, + {"x":13.5, "y":2.25, "w":1.5}, + + {"x":15.5, "y":2.25}, + + {"x":0, "y":3.25, "w":1.75}, + {"x":1.75, "y":3.25}, + {"x":2.75, "y":3.25}, + {"x":3.75, "y":3.25}, + {"x":4.75, "y":3.25}, + {"x":5.75, "y":3.25}, + {"x":6.75, "y":3.25}, + {"x":7.75, "y":3.25}, + {"x":8.75, "y":3.25}, + {"x":9.75, "y":3.25}, + {"x":10.75, "y":3.25}, + {"x":11.75, "y":3.25}, + {"x":12.75, "y":3.25, "w":2.25}, + + {"x":15.5, "y":3.25}, + + {"x":0, "y":4.25, "w":2.25}, + {"x":2.25, "y":4.25}, + {"x":3.25, "y":4.25}, + {"x":4.25, "y":4.25}, + {"x":5.25, "y":4.25}, + {"x":6.25, "y":4.25}, + {"x":7.25, "y":4.25}, + {"x":8.25, "y":4.25}, + {"x":9.25, "y":4.25}, + {"x":10.25, "y":4.25}, + {"x":11.25, "y":4.25}, + {"x":12.25, "y":4.25, "w":1.75}, + + {"x":14.25, "y":4.5}, + + {"x":15.5, "y":4.25}, + + {"x":0, "y":5.25, "w":1.25}, + {"x":1.25, "y":5.25, "w":1.25}, + {"x":2.5, "y":5.25, "w":1.25}, + {"x":3.75, "y":5.25, "w":6.25}, + {"x":10, "y":5.25}, + {"x":11, "y":5.25}, + {"x":12, "y":5.25}, + + {"x":13.25, "y":5.5}, + {"x":14.25, "y":5.5}, + {"x":15.25, "y":5.5} + ] + } + } +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c new file mode 100644 index 000000000000..99504de9565c --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c @@ -0,0 +1,66 @@ +/* Copyright 2021 Glorious, LLC + Copyright 2021 alexmarmon + +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] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Alt_L Win_L SPACE Ct_R Alt_R FN Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + [0] = LAYOUT( + 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_MUTE, + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MODE_FORWARD, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MODE_REVERSE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, + _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, _______, KC_MEDIA_NEXT_TRACK + ), + + +}; + + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md new file mode 100644 index 000000000000..36ad42b1af37 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md @@ -0,0 +1,7 @@ +![Layout Image](https://i.imgur.com/MizMvsI.jpg) + +# Simple MacOS like keymap with RGB + +* Working basic RGB thanks to https://github.com/qmk/qmk_firmware/pull/13430 +* Restore working rotary knob volume control +* Add media_previous and media_next to FN+left and FN+right \ No newline at end of file diff --git a/keyboards/gmmk/pro/ansi/keymaps/andrebrait/config.h b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/config.h new file mode 100644 index 000000000000..1438d317fbd2 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/config.h @@ -0,0 +1,22 @@ +/* Copyright 2021 Andre Brait + * + * 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 + +#ifdef RGB_MATRIX_ENABLE + #define RGB_DISABLE_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) + #define RGB_DISABLE_WHEN_USB_SUSPENDED +#endif diff --git a/keyboards/gmmk/pro/ansi/keymaps/andrebrait/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/keymap.c new file mode 100644 index 000000000000..b80164043680 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/keymap.c @@ -0,0 +1,287 @@ +/* Copyright 2021 Glorious, LLC + Copyright 2021 Andre Brait + +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 + +#ifdef RGB_MATRIX_ENABLE + #ifndef RGB_CONFIRMATION_BLINKING_TIME + #define RGB_CONFIRMATION_BLINKING_TIME 2000 // 2 seconds + #endif +#endif // RGB_MATRIX_ENABLE + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Del Rotary(Play/Pause) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Home +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + // + // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). + // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. + // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. + [0] = LAYOUT( + 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_DEL, KC_MUTE, + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_INS, _______, + _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, + _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI + ), + + +}; +// clang-format on + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} +#endif // ENCODER_ENABLE + +#ifdef RGB_MATRIX_ENABLE + +/* Renaming those to make the purpose on this keymap clearer */ +#define LED_FLAG_CAPS LED_FLAG_NONE +#define LED_FLAG_EFFECTS LED_FLAG_INDICATOR + +static void set_rgb_caps_leds(void); + +#if RGB_CONFIRMATION_BLINKING_TIME > 0 +static uint16_t effect_started_time = 0; +static uint8_t r_effect = 0x0, g_effect = 0x0, b_effect = 0x0; +static void start_effects(void); + +/* The higher this is, the slower the blinking will be */ +#ifndef TIME_SELECTED_BIT + #define TIME_SELECTED_BIT 8 +#endif +#if TIME_SELECTED_BIT < 0 || TIME_SELECTED_BIT >= 16 + #error "TIME_SELECTED_BIT must be a positive integer smaller than 16" +#endif +#define effect_red() r_effect = 0xFF, g_effect = 0x0, b_effect = 0x0 +#define effect_green() r_effect = 0x0, g_effect = 0xFF, b_effect = 0x0 +#endif // RGB_CONFIRMATION_BLINKING_TIME > 0 + +bool led_update_user(led_t led_state) { + if (led_state.caps_lock) { + if (!rgb_matrix_is_enabled()) { + /* Turn ON the RGB Matrix for CAPS LOCK */ + rgb_matrix_set_flags(LED_FLAG_CAPS); + rgb_matrix_enable(); + } + } else if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { + /* RGB Matrix was only ON because of CAPS LOCK. Turn it OFF. */ + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_disable(); + } + return true; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + #ifdef NKRO_ENABLE + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + case NK_TOGG: + if (record->event.pressed) { + if (keymap_config.nkro) { + /* Turning NKRO OFF */ + effect_red(); + } else { + /* Turning NKRO ON */ + effect_green(); + } + start_effects(); + } + break; + case NK_ON: + if (record->event.pressed) { + if (!keymap_config.nkro) { + /* Turning NKRO ON */ + effect_green(); + start_effects(); + } + } + break; + case NK_OFF: + if (record->event.pressed) { + if (keymap_config.nkro) { + /* Turning NKRO OFF */ + effect_red(); + start_effects(); + } + } + break; + #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 + #endif // NKRO_ENABLE + case RGB_MOD: + case RGB_RMOD: + case RGB_HUI: + case RGB_HUD: + case RGB_SAI: + case RGB_SAD: + case RGB_VAI: + case RGB_VAD: + case RGB_SPI: + case RGB_SPD: + if (record->event.pressed) { + if (rgb_matrix_get_flags() != LED_FLAG_ALL) { + /* Ignore changes to RGB settings while only it's supposed to be OFF */ + return false; + } + } + break; + case RGB_TOG: + if (record->event.pressed) { + if (rgb_matrix_is_enabled()) { + switch (rgb_matrix_get_flags()) { + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + case LED_FLAG_EFFECTS: + #endif + case LED_FLAG_CAPS: + /* Turned ON because of EFFECTS or CAPS, is actually OFF */ + /* Change to LED_FLAG_ALL to signal it's really ON */ + rgb_matrix_set_flags(LED_FLAG_ALL); + /* Will be re-enabled by the processing of the toggle */ + rgb_matrix_disable_noeeprom(); + break; + case LED_FLAG_ALL: + /* Is actually ON */ + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + if (effect_started_time > 0) { + /* Signal EFFECTS */ + rgb_matrix_set_flags(LED_FLAG_EFFECTS); + /* Will be re-enabled by the processing of the toggle */ + rgb_matrix_disable_noeeprom(); + } else + #endif + if (host_keyboard_led_state().caps_lock) { + /* Signal CAPS */ + rgb_matrix_set_flags(LED_FLAG_CAPS); + /* Will be re-enabled by the processing of the toggle */ + rgb_matrix_disable_noeeprom(); + } + break; + } + } + } + break; + } + return true; +} + + +void rgb_matrix_indicators_user() { + #if RGB_CONFIRMATION_BLINKING_TIME > 0 + if (effect_started_time > 0) { + /* Render blinking EFFECTS */ + uint16_t deltaTime = sync_timer_elapsed(effect_started_time); + if (deltaTime <= RGB_CONFIRMATION_BLINKING_TIME) { + uint8_t led_state = ((~deltaTime) >> TIME_SELECTED_BIT) & 0x01; + uint8_t val_r = led_state * r_effect; + uint8_t val_g = led_state * g_effect; + uint8_t val_b = led_state * b_effect; + rgb_matrix_set_color_all(val_r, val_g, val_b); + if (host_keyboard_led_state().caps_lock) { + set_rgb_caps_leds(); + } + return; + } else { + /* EFFECTS duration is finished */ + effect_started_time = 0; + if (rgb_matrix_get_flags() == LED_FLAG_EFFECTS) { + /* It was turned ON because of EFFECTS */ + if (host_keyboard_led_state().caps_lock) { + /* CAPS is still ON. Demote to CAPS */ + rgb_matrix_set_flags(LED_FLAG_CAPS); + } else { + /* There is nothing else keeping RGB enabled. Reset flags and turn if off. */ + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_disable_noeeprom(); + } + } + } + } + #endif // RGB_CONFIRMATION_BLINKING_TIME > 0 + if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { + rgb_matrix_set_color_all(0x0, 0x0, 0x0); + } + if (host_keyboard_led_state().caps_lock) { + set_rgb_caps_leds(); + } +} + +#if RGB_CONFIRMATION_BLINKING_TIME > 0 +static void start_effects() { + effect_started_time = sync_timer_read(); + if (!rgb_matrix_is_enabled()) { + /* Turn it ON, signal the cause (EFFECTS) */ + rgb_matrix_set_flags(LED_FLAG_EFFECTS); + rgb_matrix_enable_noeeprom(); + } else if (rgb_matrix_get_flags() == LED_FLAG_CAPS) { + /* It's already ON, promote the cause from CAPS to EFFECTS */ + rgb_matrix_set_flags(LED_FLAG_EFFECTS); + } +} +#endif // RGB_CONFIRMATION_BLINKING_TIME > 0 + +static void set_rgb_caps_leds() { + rgb_matrix_set_color(67, 0xFF, 0x0, 0x0); // Left side LED 1 + rgb_matrix_set_color(68, 0xFF, 0x0, 0x0); // Right side LED 1 + rgb_matrix_set_color(70, 0xFF, 0x0, 0x0); // Left side LED 2 + rgb_matrix_set_color(71, 0xFF, 0x0, 0x0); // Right side LED 2 + rgb_matrix_set_color(73, 0xFF, 0x0, 0x0); // Left side LED 3 + rgb_matrix_set_color(74, 0xFF, 0x0, 0x0); // Right side LED 3 + rgb_matrix_set_color(76, 0xFF, 0x0, 0x0); // Left side LED 4 + rgb_matrix_set_color(77, 0xFF, 0x0, 0x0); // Right side LED 4 + rgb_matrix_set_color(80, 0xFF, 0x0, 0x0); // Left side LED 5 + rgb_matrix_set_color(81, 0xFF, 0x0, 0x0); // Right side LED 5 + rgb_matrix_set_color(83, 0xFF, 0x0, 0x0); // Left side LED 6 + rgb_matrix_set_color(84, 0xFF, 0x0, 0x0); // Right side LED 6 + rgb_matrix_set_color(87, 0xFF, 0x0, 0x0); // Left side LED 7 + rgb_matrix_set_color(88, 0xFF, 0x0, 0x0); // Right side LED 7 + rgb_matrix_set_color(91, 0xFF, 0x0, 0x0); // Left side LED 8 + rgb_matrix_set_color(92, 0xFF, 0x0, 0x0); // Right side LED 8 + rgb_matrix_set_color(3, 0xFF, 0x0, 0x0); // CAPS LED +} + +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/gmmk/pro/ansi/keymaps/andrebrait/readme.md b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/readme.md new file mode 100644 index 000000000000..e7f9978cee70 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/readme.md @@ -0,0 +1,23 @@ +# andrebrait's GMMK Pro layout + +This is pretty much the stock layout with a few things moved around. +It basically reflects my needs for both Delete and Insert being readily available for coding, as well as a full Home/PgUp/PgDwn/End column. + +The differences are as follows: + +- Short DEBOUNCE time (5 ms) +- Per-key debounce algorithm (sym_defer_pk) +- RGB turns off after 20 minutes of inactivity +- RGB turns off when USB is suspended +- Layer 0: + - Print Screen (default) -> Delete + - Delete (default) -> Home +- Layer 1 (accessed by pressing Fn): + - Fn + Delete -> Insert + - Fn + Home -> Print Screen + +This keymap also includes CAPS LOCK ON indicator.\ +All left and right side LEDs, and the Caps key LED will turn solid red while CAPS LOCK is ON. + +No other changes have been made. \ +The other keys on each layer have been kept intact. diff --git a/keyboards/gmmk/pro/ansi/keymaps/andrebrait/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/rules.mk new file mode 100644 index 000000000000..650c79fbdcc5 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/andrebrait/rules.mk @@ -0,0 +1,3 @@ +# Enable additional features. + +DEBOUNCE_TYPE = sym_defer_pk diff --git a/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c new file mode 100644 index 000000000000..65ccaf88f293 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c @@ -0,0 +1,72 @@ +/* Copyright 2021 Glorious, LLC + +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 + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + // + // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). + // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. + // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. + [0] = LAYOUT( + 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_MUTE, + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI + ), + + +}; +// clang-format on + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} +#endif // ENCODER_ENABLE diff --git a/keyboards/gmmk/pro/ansi/keymaps/jackkenney/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/jackkenney/keymap.c new file mode 100644 index 000000000000..cfca7960ca41 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/jackkenney/keymap.c @@ -0,0 +1,66 @@ +/* Copyright 2021 Glorious, LLC + +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] = { + + // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) + // ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del + // Tab Q W E R T Y U I O P [ ] \ PgUp + // Caps A S D F G H J K L ; " Enter PgDn + // Sh_L Z X C V B N M , . ? Sh_R Up End + // Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + [0] = LAYOUT( + 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_DEL, KC_MUTE, + 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_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_ENT, KC_HOME, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PSCR, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, RESET, KC_RGUI, _______, _______, _______, _______, _______ + ), + + +}; + + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } + else { + tap_code(KC_VOLD); + } + return true; +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h b/keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h new file mode 100644 index 000000000000..ed78f99eca3f --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h @@ -0,0 +1,39 @@ +/* Copyright 2021 Jonavin Eng + * + * 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 TAPPING_TOGGLE 2 +// TT set to two taps + +/* Handle GRAVESC combo keys */ +#define GRAVE_ESC_ALT_OVERRIDE + //Always send Escape if Alt is pressed +#define GRAVE_ESC_CTRL_OVERRIDE + //Always send Escape if Control is pressed + +#define TAPPING_TERM 180 + +#ifdef RGB_MATRIX_ENABLE + #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR + #define RGB_DISABLE_WHEN_USB_SUSPENDED +#endif + +// add fifth layer for colemak -- set "COLEMAK_LAYER_ENABLE = yes" in rules.mk to enable +#if defined COLEMAK_LAYER_ENABLE + #define DYNAMIC_KEYMAP_LAYER_COUNT 5 + #define _COLEMAK 4 +#endif // COLEMAK_LAYER_ENABLE diff --git a/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c new file mode 100644 index 000000000000..20a786feb7ec --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c @@ -0,0 +1,163 @@ +/* Copyright 2021 Glorious, LLC + Copyright 2021 Jonavin + +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 +#include "rgb_matrix_map.h" +#include "jonavin.h" + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Ins Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + [_BASE] = LAYOUT( + 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_INS, KC_MUTE, + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + TT(_LOWER), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFTCAPSWIN, 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT( + _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_CALC, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, + _______, _______, RGB_VAI, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, RESET, KC_HOME, + KC_CAPS, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, + _______, RGB_NITE,RGB_HUI, _______, _______, _______, KC_NLCK, _______, RGB_TOD, RGB_TOI, _______, _______, RGB_MOD, _______, + _______, KC_WINLCK, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI + ), + + [_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_P0, KC_PMNS, KC_PPLS, _______, _______, + _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, KC_TAB, KC_P4, KC_P5, KC_P6, KC_PDOT, _______, _______, _______, KC_HOME, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_P1, KC_P2, KC_P3, KC_NO, KC_PAST, KC_PENT, KC_END, + _______, KC_NO, KC_DEL, KC_INS, KC_NO, KC_NO, KC_NO, KC_P0, KC_00, KC_PDOT, KC_PSLS, _______, RCTL(KC_PGUP), _______, + _______, _______, _______, KC_BSPC, _______, _______, _______, RCTL(KC_LEFT), RCTL(KC_PGDN), RCTL(KC_RIGHT) + ), + + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +#ifdef COLEMAK_LAYER_ENABLE + [_COLEMAK] = LAYOUT( + 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_INS, KC_MUTE, + 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_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + TT(_LOWER), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFTCAPSWIN, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), +#endif // COLEMAK_LAYER_ENABLE +}; + + +#ifdef RGB_MATRIX_ENABLE + // Capslock, Scroll lock and Numlock indicator on Left side lights. + void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (get_rgb_nightmode()) rgb_matrix_set_color_all(RGB_OFF); + if (IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)) { + rgb_matrix_set_color(LED_L1, RGB_GREEN); + rgb_matrix_set_color(LED_L2, RGB_GREEN); + } + if (!IS_HOST_LED_ON(USB_LED_NUM_LOCK)) { // on if NUM lock is OFF + rgb_matrix_set_color(LED_L3, RGB_MAGENTA); + rgb_matrix_set_color(LED_L4, RGB_MAGENTA); + } + if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { + rgb_matrix_set_color(LED_L5, RGB_RED); + rgb_matrix_set_color(LED_L6, RGB_RED); + rgb_matrix_set_color(LED_L7, RGB_RED); + } + if (keymap_config.no_gui) { + rgb_matrix_set_color(LED_LWIN, RGB_RED); //light up Win key when disabled + } + switch(get_highest_layer(layer_state)){ // special handling per layer + case _FN1: // on Fn layer select what the encoder does when pressed + rgb_matrix_set_color(LED_R2, RGB_RED); + rgb_matrix_set_color(LED_R3, RGB_RED); + rgb_matrix_set_color(LED_R4, RGB_RED); + rgb_matrix_set_color(LED_FN, RGB_RED); //FN key + + // Add RGB Timeout Indicator -- shows 0 to 139 using F row and num row; larger numbers using 16bit code + uint16_t timeout_threshold = get_timeout_threshold(); + if (timeout_threshold <= 10) rgb_matrix_set_color(LED_LIST_FUNCROW[timeout_threshold], RGB_RED); + else if (timeout_threshold < 140) { + rgb_matrix_set_color(LED_LIST_FUNCROW[(timeout_threshold / 10)], RGB_RED); + rgb_matrix_set_color(LED_LIST_NUMROW[(timeout_threshold % 10)], RGB_RED); + } else { // >= 140 minutes, just show these 3 lights + rgb_matrix_set_color(LED_LIST_NUMROW[10], RGB_RED); + rgb_matrix_set_color(LED_LIST_NUMROW[11], RGB_RED); + rgb_matrix_set_color(LED_LIST_NUMROW[12], RGB_RED); + } + break; + case _LOWER: + for (uint8_t i=0; i or encoder + - setting to zero disables timeout + - indicators in FN layer using RGB in FN and number rows to show the timeout in minutes + - LED address location map as enum definition in rgb_matrix_map.h + - LED group lists for arrows, numpad, F row, num row, left and right side LEDs + - default startup in single mode with default colour + - Capslock, Scroll Lock, and Num Lock (not set) indicator on left side LED + - Layer indicator on right side LED + - Fn key light up red when Fn layer activate + - Win Key light up red when Win Lock mode enabled + - Layer 2 activation lights up Numpad area + - Fn + Z to turn off all RGB lights except rgb indicators; press again to toggle + +rules.mk OPTIONS - Active features from userspace +STARTUP_NUMLOCK_ON = yes + - turns on NUMLOCK by default + +ENCODER_DEFAULTACTIONS_ENABLE = yes + - Enabled default encoder funtions + +TD_LSFT_CAPSLOCK_ENABLE = yes + - This will enable double tap on Left Shift to toggle CAPSLOCK when using KC_LSFTCAPS + +IDLE_TIMEOUT_ENABLE = yes + - Enables Timer functionality; for RGB idle timeouts that can be changed dynamically + +COLEMAK_LAYER_ENABLE = yes + - Enabled optional 5th layer for COLEMAK layout + - Use Shift and encoder to enter 5th layer, right led indicator lights up BLUE + +## All layers diagram +Default layer +![image](https://user-images.githubusercontent.com/71780717/124177658-82324880-da7e-11eb-9421-b69100131062.png) + +Fn Layer +![image](https://user-images.githubusercontent.com/71780717/131255937-06c9691b-835f-4c94-93e6-6d1dc3de272b.png) + +Layer 2 (Caps Lock Mod) +![image](https://user-images.githubusercontent.com/71780717/124177683-8b231a00-da7e-11eb-9434-e2475f679a54.png) + +Optional COLEMAK layer +![image](https://user-images.githubusercontent.com/71780717/131235050-980d2f54-2d23-4ae8-a83f-9fcdbe60d6cb.png) diff --git a/keyboards/gmmk/pro/ansi/keymaps/jonavin/rgb_matrix_map.h b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rgb_matrix_map.h new file mode 100644 index 000000000000..1ee53889054e --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rgb_matrix_map.h @@ -0,0 +1,144 @@ +/* Copyright 2021 Jonavin Eng + * + * 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 . + */ + +#ifdef RGB_MATRIX_ENABLE + + // Custom RGB Colours + #define RGB_GODSPEED 0x00, 0xE4, 0xFF // colour for matching keycaps + #define RGB_NAUTILUS 0x00, 0xA4, 0xA9 // Naurilus Font colours + + // RGB LED locations + enum led_location_map { + LED_ESC, // 0, ESC, k13 + LED_GRV, // 1, ~, k16 + LEB_TAB, // 2, Tab, k11 + LED_CAPS, // 3, Caps, k21 + LED_LSFT, // 4, Sh_L, k00 + LED_LCTL, // 5, Ct_L, k06 + LED_F1, // 6, F1, k26 + LED_1, // 7, 1, k17 + LED_Q, // 8, Q, k10 + LED_A, // 9, A, k12 + LED_Z, // 10, Z, k14 + LED_LWIN, // 11, Win_L, k90 + LED_F2, // 12, F2, k36 + LED_2, // 13, 2, k27 + LED_W, // 14, W, k20 + LED_S, // 15, S, k22 + LED_X, // 16, X, k24 + LED_LALT, // 17, Alt_L, k93 + LED_F3, // 18, F3, k31 + LED_3, // 19, 3, k37 + LED_E, // 20, E, k30 + LED_D, // 21, D, k32 + LED_C, // 22, C, k34 + LED_F4, // 23, F4, k33 + LED_4, // 24, 4, k47 + LED_R, // 25, R, k40 + LED_F, // 26, F, k42 + LED_V, // 27, V, k44 + LED_F5, // 28, F5, k07 + LED_5, // 29, 5, k46 + LED_T, // 30, T, k41 + LED_G, // 31, G, k43 + LED_B, // 32, B, k45 + LED_SPC, // 33, SPACE, k94 + LED_F6, // 34, F6, k63 + LED_6, // 35, 6, k56 + LED_Y, // 36, Y, k51 + LED_H, // 37, H, k53 + LED_N, // 38, N, k55 + LED_F7, // 39, F7, k71 + LED_7, // 40, 7, k57 + LED_U, // 41, U, k50 + LED_J, // 42, J, k52 + LED_M, // 43, M, k54 + LED_F8, // 44, F8, k76 + LED_8, // 45, 8, k67 + LED_I, // 46, I, k60 + LED_K, // 47, K, k62 + LED_COMM, // 48, ,, k64 + LED_RALT, // 49, Alt_R, k95 + LED_F9, // 50, F9, ka6 + LED_9, // 51, 9, k77 + LED_O, // 52, O, k70 + LED_L, // 53, L, k72 + LED_DOT, // 54, ., k74 + LED_FN, // 55, FN, k92 + LED_F10, // 56, F10, ka7 + LED_0, // 57, 0, k87 + LED_P, // 58, P, k80 + LED_SCLN, // 59, ;, k82 + LED_SLSH, // 60, ?, k85 + LED_F11, // 61, F11, ka3 + LED_MINS, // 62, -, k86 + LED_LBRC, // 63, [, k81 + LED_QUOT, // 64, ", k83 + LED_RCTL, // 65, Ct_R, k04 + LED_F12, // 66, F12, ka5 + LED_L1, // 67, LED, l01 + LED_R1, // 68, LED, l11 + LED_INS, // 69, Prt, k97 -- remapped to INS + LED_L2, // 70, LED, l02 + LED_R2, // 71, LED, l12 + LED_DEL, // 72, Del, k65 + LED_L3, // 73, LED, l03 + LED_R3, // 74, LED, l13 + LED_PGUP, // 75, PgUp, k15 + LED_L4, // 76, LED, l04 + LED_R4, // 77, LED, l14 + LED_EQL, // 78, =, k66 + LED_RIGHT, // 79, Right, k05 + LED_L5, // 80, LED, l05 + LED_R5, // 81, LED, l15 + LED_END, // 82, End, k75 + LED_L6, // 83, LED, l06 + LED_R6, // 84, LED, l16 + LED_BSPC, // 85, BSpc, ka1 + LED_PGDN, // 86, PgDn, k25 + LED_L7, // 87, LED, l07 + LED_R7, // 88, LED, l17 + LED_RBRC, // 89, ], k61 + LED_RSFT, // 90, Sh_R, k91 + LED_L8, // 91, LED, l08 + LED_R8, // 92, LED, l18 + LED_BSLS, // 93, \, ka2 + LED_UP, // 94, Up, k35 + LED_LEFT, // 95, Left, k03 + LED_ENT, // 96, Enter, ka4 + LED_DOWN // 97, Down, k73 + }; + + const uint8_t LED_LIST_WASD[] = { LED_W, LED_A, LED_S, LED_D }; + + const uint8_t LED_LIST_ARROWS[] = { LED_LEFT, LED_RIGHT, LED_UP, LED_DOWN }; + + const uint8_t LED_LIST_FUNCROW[] = { LED_ESC, LED_F1, LED_F2, LED_F3, LED_F4, LED_F5, LED_F6, LED_F7, LED_F8, LED_F9, LED_F10, LED_F11, LED_F12, LED_INS}; + + const uint8_t LED_LIST_NUMROW[] = { LED_GRV, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, LED_BSPC, LED_DEL}; + + const uint8_t LED_LIST_NUMPAD[] = { + LED_7, LED_8, LED_9, + LED_U, LED_I, LED_O, + LED_J, LED_K, LED_L, + LED_M, LED_COMM, LED_DOT + }; + + const uint8_t LED_SIDE_LEFT[] = { LED_L1, LED_L2, LED_L3, LED_L4, LED_L5, LED_L6, LED_L7, LED_L8}; + + const uint8_t LED_SIDE_RIGHT[] = { LED_R1, LED_R2, LED_R3, LED_R4, LED_R5, LED_R6, LED_R7, LED_R8}; + +#endif diff --git a/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk new file mode 100644 index 000000000000..b06ae1b6ad53 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk @@ -0,0 +1,11 @@ +VIA_ENABLE = yes +MOUSEKEY_ENABLE = no +TAP_DANCE_ENABLE = yes +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite + +TD_LSFT_CAPSLOCK_ENABLE = yes +IDLE_TIMEOUT_ENABLE = yes +STARTUP_NUMLOCK_ON = yes +ENCODER_DEFAULTACTIONS_ENABLE = yes + +COLEMAK_LAYER_ENABLE = yes #Enable Colemak layer / set to no to disable diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/.gitignore b/keyboards/gmmk/pro/ansi/keymaps/mike1808/.gitignore new file mode 100644 index 000000000000..03b2b466681f --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/.gitignore @@ -0,0 +1 @@ +secrets.h diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/README.md b/keyboards/gmmk/pro/ansi/keymaps/mike1808/README.md new file mode 100644 index 000000000000..cb17239882b6 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/README.md @@ -0,0 +1,19 @@ +QMK layout for gmmk/pro +======================= + +## Secrets +The format is the same as [drashna's](../../../../users/drashna/readme_secrets.md) secrets implementation. Create a `secret.h` and define your secrets like this: + +```c +static const char* secrets[] = {"secret1", "secret2", "secret3", "secret4", "secret5"}; +``` + +## Rotary encoder knob +You can hookup your encoder functions by defining new encoder states in [encoder.h](./encoder.h), then in [encoder.c](./encoder.c) assign static variable `state` your new state depending on your desired condition and add callbacks to `encoder_mapping` array. + +## RGB Matrix Ledmaps +RGB Matrix ledmaps is the future allowing you assign colors to individual keys on every keymap layer. + +You can see some examples of my usage in the bottom of [keymap.c](./keymap.c). + +Color defines are just HSV colors wrapped in curly braces, like `#define RED { HSV_RED }`. diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/config.h b/keyboards/gmmk/pro/ansi/keymaps/mike1808/config.h new file mode 100644 index 000000000000..46719e3a781b --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/config.h @@ -0,0 +1,31 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 . + */ + +#define COMBO_COUNT 1 +#define COMBO_TERM 100 + +#define RGB_MATRIX_KEYPRESSES +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_DISABLE_TIMEOUT 90000 + +#define MACRO_TIMER 5 + +#define TAPPING_TOGGLE 3 + +#define WPM_SMOOTHING 0.1 + +// this is for macOS so keyboard can work after sleep +#define NO_USB_STARTUP_CHECK diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/encoder.c b/keyboards/gmmk/pro/ansi/keymaps/mike1808/encoder.c new file mode 100644 index 000000000000..049f4df7e4a7 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/encoder.c @@ -0,0 +1,111 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 "encoder.h" +#include "mike1808.h" +#include "print.h" +#include "utils.h" +#include "process_record.h" +#include "rgb_matrix_ledmaps.h" + +static uint8_t state = ENCODER_DEFAULT; + +// clang-format off +const encoder_callback encoder_mapping[][2] = { + [ENCODER_VOLUME] = {&volume_up, &volume_down}, +#ifdef RGB_MATRIX_ENABLE + [ENCODER_RGB_HUE] = {&rgb_matrix_increase_hue_noeeprom, &rgb_matrix_decrease_hue_noeeprom}, + [ENCODER_RGB_SAT] = {&rgb_matrix_increase_sat_noeeprom, &rgb_matrix_decrease_sat_noeeprom}, + [ENCODER_RGB_VAL] = {&rgb_matrix_increase_val_noeeprom, &rgb_matrix_decrease_val_noeeprom}, + [ENCODER_RGB_EFFECT] = {&rgb_matrix_step_noeeprom, &rgb_matrix_step_reverse_noeeprom}, + [ENCODER_RGB_EFFECT_SPEED] = {&rgb_matrix_increase_speed_noeeprom, &rgb_matrix_decrease_speed_noeeprom}, +#endif // RGB_MATRIX_ENABLE +}; + +// clang-format on + +void volume_up() { tap_code(KC_VOLU); } + +void volume_down() { tap_code(KC_VOLD); } + +bool encoder_update_user(uint8_t index, bool clockwise) { + dprintf("current encoder state is: %d\n", state); + + if (clockwise) { + (*encoder_mapping[state][0])(); + } else { + (*encoder_mapping[state][1])(); + } + + return true; +} + +void handle_rgb_key(bool pressed) { + dprintf("handle_rgb_key %d\f", pressed); + + if (pressed) { + rgb_matrix_layers_disable(); + } else { + rgb_matrix_layers_enable(); + } +} + +static KeyPressState *rgb_state; + +void keyboard_post_init_encoder() { + rgb_state = NewKeyPressState(handle_rgb_key); +} + +bool process_record_encoder(uint16_t keycode, keyrecord_t *record) { +#ifdef RGB_MATRIX_ENABLE + switch (keycode) { + case KC_RGB_ENC_HUE ... KC_RGB_ENC_EFFECT: + if (record->event.pressed) { +# ifdef RGB_MATRIX_LEDMAPS_ENABLED + // disable layers so we can adjust RGB effects + rgb_state->press(rgb_state); +# endif // RGB_MATRIX_LEDMAPS_ENABLED + + switch (keycode) { + case KC_RGB_ENC_HUE: + state = ENCODER_RGB_HUE; + break; + case KC_RGB_ENC_SAT: + state = ENCODER_RGB_SAT; + break; + case KC_RGB_ENC_VAL: + state = ENCODER_RGB_VAL; + break; + case KC_RGB_ENC_EFFECT_SPEED: + state = ENCODER_RGB_EFFECT_SPEED; + break; + case KC_RGB_ENC_EFFECT: + state = ENCODER_RGB_EFFECT; + break; + } + } else { +# ifdef RGB_MATRIX_LEDMAPS_ENABLED + rgb_state->release(rgb_state); +# endif // RGB_MATRIX_LEDMAPS_ENABLED + state = ENCODER_DEFAULT; + store_rgb_state_to_eeprom(); + } + + return false; + } +#endif // RGB_MATRIX_ENABLE + + return true; +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/encoder.h b/keyboards/gmmk/pro/ansi/keymaps/mike1808/encoder.h new file mode 100644 index 000000000000..204922730ec8 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/encoder.h @@ -0,0 +1,35 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 . + */ + +// To add a new functionality define a new state here and then assign +// the handler to the `encoder_callback` +#include "quantum.h" + +enum encoder_state { + ENCODER_VOLUME = 0, + ENCODER_RGB_HUE, + ENCODER_RGB_SAT, + ENCODER_RGB_VAL, + ENCODER_RGB_EFFECT_SPEED, + ENCODER_RGB_EFFECT, +}; + +typedef void (*encoder_callback)(void); + +#define ENCODER_DEFAULT ENCODER_VOLUME + +void volume_up(void); +void volume_down(void); diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/fun.c b/keyboards/gmmk/pro/ansi/keymaps/mike1808/fun.c new file mode 100644 index 000000000000..f553874eb0c8 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/fun.c @@ -0,0 +1,49 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 "mike1808.h" +#include "print.h" + +static bool wpm_rgb_enabled = false; +static uint8_t rgb_mode; + +void rgb_matrix_indicators_keymap(void) { + if (wpm_rgb_enabled && rgb_matrix_is_enabled()) { + uint8_t wpm = get_current_wpm(); + dprintf("WPM = %d\n", wpm); + HSV hsv = rgb_matrix_get_hsv(); + hsv.h = wpm; + RGB rgb = hsv_to_rgb(hsv); + rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b); + } +} + +bool process_record_fun(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed && keycode == KC_WPM_RGB) { + if (wpm_rgb_enabled) { + wpm_rgb_enabled = false; + rgb_matrix_mode(rgb_mode); + } else { + wpm_rgb_enabled = true; + rgb_mode = rgb_matrix_get_mode(); + rgb_matrix_enable(); + rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); + } + + return false; + } + + return true; +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/mike1808/keymap.c new file mode 100644 index 000000000000..30c59e941dd2 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/keymap.c @@ -0,0 +1,127 @@ +/* Copyright 2021 Glorious, LLC , Mikael Manukyan + * + * 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 "mike1808.h" + +const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + [JK_ESC] = COMBO(jk_combo, KC_ESC), +}; + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + [LINUX] = LAYOUT( + 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_DEL, KC_MUTE, + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TT_FN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [WINDOWS] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [MACOS] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LALT, KC_LGUI, _______, _______, _______, _______, _______, _______, _______ + ), + + [FUNCTIONS] = LAYOUT( + _______, KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_PSCR, _______, + _______, KC_LINX, KC_MAC, KC_WIN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RST, _______, + KC_CAPS, _______, _______, _______, _______, OS_GIT, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_RGBH, KC_RGBS, KC_RGBV, KC_RGBE, KC_RGBP, KC_WRGB, _______, _______, _______, _______, _______, KC_PGUP, _______, + _______, _______, _______, RGB_TOG, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + + [GIT] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, G_DIFF, _______, _______, _______, _______, _______, _______, G_PULL, G_PUSH, _______, _______, _______, + _______, G_ADD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, G_CHECK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + +#ifdef RGB_MATRIX_LEDMAPS_ENABLED + +#define ______ {0, 0, 0} + +const ledmap PROGMEM ledmaps[] = { + // LU = Left Underglow, RU = Right Underglow + // LU_1 ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) RU_1 + // LU_2 ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del RU_2 + // LU_3 Tab Q W E R T Y U I O P [ ] \ PgUp RU_3 + // LU_4 Caps A S D F G H J K L ; " Enter PgDn RU_4 + // LU_5 Sh_L Z X C V B N M , . ? Sh_R Up End RU_5 + // LU_6 Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right RU_6 + [LINUX] = RGB_MATRIX_LAYOUT_LEDMAP( + PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + PURPLE, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + PURPLE, ______, RED, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE + ), + [WINDOWS] = RGB_MATRIX_LAYOUT_LEDMAP( + GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + GREEN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + GREEN, ______, RED, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE + ), + [MACOS] = RGB_MATRIX_LAYOUT_LEDMAP( + YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + YELLOW, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + YELLOW, ______, ______, RED, ______, ______, ______, ______, ______, ______, ______, PURPLE + ), + + [FUNCTIONS] = RGB_MATRIX_LAYOUT_LEDMAP( + CYAN, GREEN, GREEN, GREEN, GREEN, GREEN, GREEN, ______, ______, ______, ______, GREEN, GREEN, GREEN, GREEN, ______, PURPLE, + CYAN, ______, GOLD, GOLD, GOLD, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, GOLD, PURPLE, + CYAN, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, TEAL, ______, PURPLE, + CYAN, TURQ, ______, ______, ______, ______, TURQ, ______, ______, ______, ______, ______, ______, ______, ______, PURPLE, + CYAN, ______, RED, RED, RED, RED, RED, RED, ______, ______, ______, ______, ______, RED, ______, PURPLE, + CYAN, ______, ______, BLUE, ______, ______, ______, ______, ______, ______, ______, PURPLE + ), +}; + +#endif // RGB_MATRIX_LEDMAPS_ENABLED +// clang-format on diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/mike1808.c b/keyboards/gmmk/pro/ansi/keymaps/mike1808/mike1808.c new file mode 100644 index 000000000000..dda68fda2f8d --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/mike1808.c @@ -0,0 +1,68 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 "mike1808.h" + +#if (__has_include("secrets.h") && !defined(NO_SECRETS)) +# include "secrets.h" +#else +// `PROGMEM const char secret[][x]` may work better, but it takes up more space in the firmware +// And I'm not familiar enough to know which is better or why... +static const char *const secrets[] = {"test1", "test2", "test3", "test4", "test5"}; +#endif + +// userspace_config_t userspace_config; + +bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_SECRET_1 ... KC_SECRET_5: // Secrets! Externally defined strings, not stored in repo + if (!record->event.pressed) { + clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); + send_string_with_delay(secrets[keycode - KC_SECRET_1], MACRO_TIMER); + } + return false; + break; + } + return true; +} + +void suspend_power_down_user(void) { +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_set_suspend_state(true); +#endif // RGB_MATRIX_ENABLE +} + +void suspend_wakeup_init_user(void) { +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_set_suspend_state(false); +#endif // RGB_MATRIX_ENABLE +} + +#ifdef RGB_MATRIX_ENABLE +void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { + // Turn on sideglow when CAPS LOCK is activated + if (host_keyboard_led_state().caps_lock) { + HSV hsv = {CAPS_LOCK_COLOR}; + hsv.v = rgb_matrix_get_val(); + RGB rgb = hsv_to_rgb(hsv); + + for (uint8_t i = led_min; i < led_max; i++) { + if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { + RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); + } + } + } +} +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/mike1808.h b/keyboards/gmmk/pro/ansi/keymaps/mike1808/mike1808.h new file mode 100644 index 000000000000..bc010108fb28 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/mike1808.h @@ -0,0 +1,111 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 QMK_KEYBOARD_H +#include "rgb_matrix_ledmaps.h" + +enum layout_names { + LINUX = 0, // Base Layout: The main keyboard layout that has all the characters + WINDOWS, // Base ayout for Windows + MACOS, // Base Layout for MacOS + FUNCTIONS, // Function Layout: The function key activated layout with default functions and + // some added ones + GIT, // GIT Layout: GIT shortcuts and macros + SECRETS, // Layer with secrets +}; + +enum custom_keycodes { + KC_CCCV = SAFE_RANGE, // Hold to copy, tap to paste + KC_LINUX, + KC_MAC, + KC_WIN, + + KC_SECRET_1, + KC_SECRET_2, + KC_SECRET_3, + KC_SECRET_4, + KC_SECRET_5, + + KC_RGB_ENC_HUE, + KC_RGB_ENC_SAT, + KC_RGB_ENC_VAL, + KC_RGB_ENC_EFFECT_SPEED, + KC_RGB_ENC_EFFECT, + + KC_WPM_RGB, +}; + +enum git_macros { + // The start of this enum should always be equal to end of ctrl_keycodes + 1 + G_INIT = KC_WPM_RGB + 1, // git init + G_CLONE, // git clone + G_CONF, // git config --global + G_ADD, // git add + G_DIFF, // git diff + G_RESET, // git reset + G_REBAS, // git rebase + G_BRANH, // git branch + G_CHECK, // git checkout + G_MERGE, // git merge + G_REMTE, // git remote add + G_FETCH, // git fetch + G_PULL, // git pull + G_PUSH, // git push + G_COMM, // git commit + G_STAT, // git status + G_LOG, // git log + NEW_SAFE_RANGE, +}; + +enum combos { + JK_ESC, // jk to ESC for Vim +}; + +#define KC_SEC1 KC_SECRET_1 +#define KC_SEC2 KC_SECRET_2 +#define KC_SEC3 KC_SECRET_3 +#define KC_SEC4 KC_SECRET_4 +#define KC_SEC5 KC_SECRET_5 + +#define KC_RGBH KC_RGB_ENC_HUE +#define KC_RGBS KC_RGB_ENC_SAT +#define KC_RGBV KC_RGB_ENC_VAL +#define KC_RGBE KC_RGB_ENC_EFFECT +#define KC_RGBP KC_RGB_ENC_EFFECT_SPEED + +#define KC_WRGB KC_WPM_RGB + +#define KC_LINX KC_LINUX + +#define KC_RESET RESET +#define KC_RST KC_RESET + +#define OS_GIT OSL(GIT) +#define TT_FN TT(FUNCTIONS) + +#define OS_LGUI OSM(MOD_LGUI) +#define OS_RGUI OSM(MOD_RGUI) +#define OS_LSFT OSM(MOD_LSFT) +#define OS_RSFT OSM(MOD_RSFT) +#define OS_LCTL OSM(MOD_LCTL) +#define OS_RCTL OSM(MOD_RCTL) +#define OS_LALT OSM(MOD_LALT) +#define OS_RALT OSM(MOD_RALT) +#define OS_MEH OSM(MOD_MEH) +#define OS_HYPR OSM(MOD_HYPR) + +#define CAPS_LOCK_COLOR HSV_RED + diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/process_record.c b/keyboards/gmmk/pro/ansi/keymaps/mike1808/process_record.c new file mode 100644 index 000000000000..ac0164e73f9b --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/process_record.c @@ -0,0 +1,119 @@ +/* Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) , + Mikael Manukyan + * + * 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 "mike1808.h" +#include "print.h" +#include "process_record.h" + +uint16_t copy_paste_timer; + +__attribute__((weak)) bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { + return true; +} +__attribute__((weak)) bool process_record_encoder(uint16_t keycode, keyrecord_t *record) { + return true; +} +__attribute__((weak)) bool process_record_fun(uint16_t keycode, keyrecord_t *record) { + return true; +} + +__attribute__((weak)) void keyboard_post_init_encoder(void) { return; } + +static const char *git_commands[] = { + "git init ", "git clone ", "git config --global ", "git add ", + "git diff ", "git reset ", "git rebase ", "git branch -b \"", + "git checkout ", "git merge ", "git remote add ", "git fetch ", + "git pull ", "git push ", "git commit ", "git status ", + "git log ", +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + // If console is enabled, it will print the matrix position and status of each key pressed +#ifdef KEYLOGGER_ENABLE + uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %b, time: %5u, int: %b, count: %u\n", + keycode, record->event.key.col, record->event.key.row, record->event.pressed, + record->event.time, record->tap.interrupted, record->tap.count); +#endif // KEYLOGGER_ENABLE + switch (keycode) { + case KC_LINUX ... KC_WIN: + if (record->event.pressed) { + dprintf("set_single_persistent_default_layer %d\n", keycode - KC_LINUX + LINUX); + set_single_persistent_default_layer(keycode - KC_LINUX + LINUX); + return false; + } + + break; + + case KC_CCCV: // One key copy/paste + if (record->event.pressed) { + copy_paste_timer = timer_read(); + } else { + if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) { // Hold, copy + if (layer_state_is(MACOS)) { + tap_code16(LGUI(KC_C)); + } else { + tap_code16(LCTL(KC_C)); + } + } else { // Tap, paste + if (layer_state_is(MACOS)) { + tap_code16(LGUI(KC_V)); + } else { + tap_code16(LCTL(KC_V)); + } + } + } + break; + + case G_INIT ... G_LOG: + if (record->event.pressed) { + clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); + send_string_with_delay(git_commands[keycode - G_INIT], MACRO_TIMER); + return false; + } + break; +#ifdef RGB_MATRIX_ENABLE + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER); + rgb_matrix_set_color_all(0, 0, 0); + } break; + case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } break; + case LED_FLAG_UNDERGLOW: { + // This line is for LED idle timer. It disables the toggle so you can turn + // off LED completely if you like + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_disable(); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } break; + } + } + return false; +#endif // RGB_MATRIX_ENABLE + } + + return process_record_encoder(keycode, record) && process_record_secrets(keycode, record) && + process_record_fun(keycode, record); +} + +void keyboard_post_init_user() { keyboard_post_init_encoder(); } diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/process_record.h b/keyboards/gmmk/pro/ansi/keymaps/mike1808/process_record.h new file mode 100644 index 000000000000..10217516551b --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/process_record.h @@ -0,0 +1,26 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 "mike1808.h" + + +bool process_record_secrets(uint16_t keycode, keyrecord_t *record); + +bool process_record_encoder(uint16_t keycode, keyrecord_t *record); + +bool process_record_fun(uint16_t keycode, keyrecord_t *record); + +void keyboard_post_init_encoder(void); diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c b/keyboards/gmmk/pro/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c new file mode 100644 index 000000000000..6f4d333ede3a --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/rgb_matrix_ledmaps.c @@ -0,0 +1,71 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 "rgb_matrix_ledmaps.h" + +__attribute__((weak)) void rgb_matrix_indicators_keymap(void) { return; } +__attribute__((weak)) void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max) { + return; +} + +#ifdef RGB_MATRIX_LEDMAPS_ENABLED + +static bool enabled = true; + +#endif // RGB_MATRIX_LEDMAPS_ENABLED + +void rgb_matrix_indicators_user(void) { rgb_matrix_indicators_keymap(); } +void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { +#ifdef RGB_MATRIX_LEDMAPS_ENABLED + if (rgb_matrix_is_enabled() && enabled) { + set_layer_rgb(led_min, led_max, get_highest_layer(layer_state | default_layer_state)); + } + +#endif // RGB_MATRIX_LEDMAPS_ENABLED + rgb_matrix_indicators_advanced_keymap(led_min, led_max); +} + +#ifdef RGB_MATRIX_LEDMAPS_ENABLED + +void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer) { + const ledmap *l = &(ledmaps[layer]); + + uint8_t val = rgb_matrix_get_val(); + + for (int i = 0; i < DRIVER_LED_TOTAL; i++) { + HSV hsv = { + .h = (*l)[i][0], + .s = (*l)[i][1], + .v = val, + }; + + if (hsv.h || hsv.s) { + RGB rgb = hsv_to_rgb(hsv); + RGB_MATRIX_INDICATOR_SET_COLOR(i, rgb.r, rgb.g, rgb.b); + } + } +} + +void rgb_matrix_layers_enable() { + dprintf("ledmaps are enabled\n"); + enabled = true; +} + +void rgb_matrix_layers_disable() { + dprintf("ledmaps are disabled\n"); + enabled = false; +} + +#endif // RGB_MATRIX_LEDMAPS_ENABLED diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h b/keyboards/gmmk/pro/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h new file mode 100644 index 000000000000..eace217d1876 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/rgb_matrix_ledmaps.h @@ -0,0 +1,100 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 "quantum.h" + +#ifdef RGB_MATRIX_LEDMAPS_ENABLED + +// no association keycode +# define XXX \ + { 0, 0, 0 } + +// clang-format off +# define RGB_MATRIX_LAYOUT_LEDMAP( \ + ul1, k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, ur1, \ + ul2, k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, ur2, \ + ul3, k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, ka2, k15, ur3, \ + ul4, k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, ka4, k25, ur4, \ + ul5, k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, ur5, \ + ul6, k06, k90, k93, k94, k95, k92, k04, k03, k73, k05, ur6 \ + ) \ + { \ + k13, k16, k11, k21, k00, k06, k26, k17, \ + k10, k12, k14, k90, k36, k27, k20, k22, \ + k24, k93, k31, k37, k30, k32, k34, k33, \ + k47, k40, k42, k44, k07, k46, k41, k43, \ + k45, k94, k63, k56, k51, k53, k55, k71, \ + k57, k50, k52, k54, k76, k67, k60, k62, \ + k64, k95, ka6, k77, k70, k72, k74, k92, \ + ka7, k87, k80, k82, k85, ka3, k86, k81, \ + k83, k04, ka5, ul1, ur1, k97, ul2, ur2, \ + k65, ul2, ur2, k15, ul3, ur3, k66, k05, \ + ul3, ur3, k75, ul4, ur4, ka1, k25, ul5, \ + ur5, k61, k91, ul6, ur6, ka2, k35, k03, \ + ka4, k73 \ + } +// clang-format on +typedef uint8_t ledmap[DRIVER_LED_TOTAL][3]; +extern const ledmap ledmaps[]; + +void set_layer_rgb(uint8_t led_min, uint8_t led_max, int layer); + +void rgb_matrix_layers_enable(void); +void rgb_matrix_layers_disable(void); + +// Just a handy defines to make our ledmaps look better +# define RED \ + { HSV_RED } +# define CORAL \ + { HSV_CORAL } +# define ORANGE \ + { HSV_ORANGE } +# define GOLDEN \ + { HSV_GOLDENROD } +# define GOLD \ + { HSV_GOLD } +# define YELLOW \ + { HSV_YELLOW } +# define CHART \ + { HSV_CHARTREUSE } +# define GREEN \ + { HSV_GREEN } +# define SPRING \ + { HSV_SPRINGGREEN } +# define TURQ \ + { HSV_TURQUOISE } +# define TEAL \ + { HSV_TEAL } +# define CYAN \ + { HSV_CYAN } +# define AZURE \ + { HSV_AZURE } +# define BLUE \ + { HSV_BLUE } +# define PURPLE \ + { HSV_PURPLE } +# define MAGENT \ + { HSV_MAGENTA } +# define PINK \ + { HSV_PINK } +# define BLACK \ + { HSV_BLACK } + +#endif // RGB_MATRIX_LEDMAPS_ENABLED + +void rgb_matrix_indicators_keymap(void); +void rgb_matrix_indicators_advanced_keymap(uint8_t led_min, uint8_t led_max); diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/mike1808/rules.mk new file mode 100644 index 000000000000..a6d4e6259c52 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/rules.mk @@ -0,0 +1,25 @@ +VIA_ENABLE = no + +COMBO_ENABLE = yes +COMMAND_ENABLE = yes +RGB_MATRIX_ENABLE = yes +RAW_ENABLE = no +CONSOLE_ENABLE = yes + +WPM_ENABLE = no + +RGB_MATRIX_LEDMAPS = yes + +SRC += utils.c +SRC += mike1808.c +SRC += process_record.c +SRC += encoder.c + +ifeq ($(strip $(WPM_ENABLE)), yes) + SRC += fun.c +endif + +ifeq ($(strip $(RGB_MATRIX_LEDMAPS)), yes) + SRC += rgb_matrix_ledmaps.c + OPT_DEFS += -DRGB_MATRIX_LEDMAPS_ENABLED +endif diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/utils.c b/keyboards/gmmk/pro/ansi/keymaps/mike1808/utils.c new file mode 100644 index 000000000000..35ae20b126c5 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/utils.c @@ -0,0 +1,64 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 "utils.h" + +void store_rgb_state_to_eeprom() { + uint8_t mode = rgb_matrix_get_mode(); + uint8_t speed = rgb_matrix_get_speed(); + HSV color = rgb_matrix_get_hsv(); + + rgb_matrix_mode(mode); + rgb_matrix_set_speed(speed); + rgb_matrix_sethsv(color.h, color.s, color.v); +} + +void press(KeyPressState *self) { + self->_count++; + + dprintf("KPS: press: %d\n", self->_count); + + // pressed the first time + if (self->_count == 1) { + self->hander(true); + } +} + +void release(KeyPressState *self) { + self->_count--; + + dprintf("KPS: release: %d\n", self->_count); + + // all keys are relased + if (self->_count == 0) { + self->hander(false); + } +} + +void reset(KeyPressState *self) { + self->_count = 0; +} + +KeyPressState *NewKeyPressState(key_press_handler handler) { + KeyPressState *kps = (KeyPressState *)(malloc(sizeof(KeyPressState))); + + kps->_count = 0; + kps->press = press; + kps->release = release; + kps->reset = reset; + kps->hander = handler; + + return kps; +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/mike1808/utils.h b/keyboards/gmmk/pro/ansi/keymaps/mike1808/utils.h new file mode 100644 index 000000000000..49d0745cf87b --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/mike1808/utils.h @@ -0,0 +1,32 @@ +/* Copyright 2021 Mikael Manukyan + * + * 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 "quantum.h" + +void store_rgb_state_to_eeprom(void); + +typedef void (*key_press_handler)(bool); + +typedef struct KeyPressState KeyPressState; +struct KeyPressState { + int _count; + void (*press)(KeyPressState *self); + void (*release)(KeyPressState *self); + void (*reset)(KeyPressState *self); + key_press_handler hander; +}; + +KeyPressState *NewKeyPressState(key_press_handler); diff --git a/keyboards/gmmk/pro/ansi/keymaps/paddlegame/config.h b/keyboards/gmmk/pro/ansi/keymaps/paddlegame/config.h new file mode 100644 index 000000000000..4f83c6af1f35 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/paddlegame/config.h @@ -0,0 +1,24 @@ +/* Copyright 2021 Tomas Guinan + * + * 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 + +#ifdef RGB_MATRIX_ENABLE + #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR +# define RGB_DISABLE_WHEN_USB_SUSPENDED +#endif + +#define FORCE_NKRO diff --git a/keyboards/gmmk/pro/ansi/keymaps/paddlegame/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/paddlegame/keymap.c new file mode 100644 index 000000000000..5c702b168678 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/paddlegame/keymap.c @@ -0,0 +1,471 @@ +/* Copyright 2021 Glorious, LLC + Copyright 2021 Tomas Guinan + +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 +#include "rgb_matrix_map.h" +#include "paddlegame.h" +#include + +enum custom_layers { + _BASE, + _FN1, + _MO2, + _MO3, +}; + +enum custom_keycodes { + KC_00 = SAFE_RANGE, + KC_WINLK, //Toggles Win key on and off +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_00: + if (record->event.pressed) { + // when keycode KC_00 is pressed + SEND_STRING("00"); + } else { + // when keycode KC_00 is released + } + break; + + case KC_WINLK: + if (record->event.pressed) { + if(!keymap_config.no_gui) { + process_magic(GUI_OFF, record); + } else { + process_magic(GUI_ON, record); + } + } else unregister_code16(keycode); + break; + } + return true; +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Del Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Home +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + [_BASE] = LAYOUT( + 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_DEL, KC_MUTE, + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [_FN1] = LAYOUT( + KC_SLEP, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_INS, _______, + RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, RGB_M_P, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_MO2), RGB_SAD, RGB_SAI, RESET, RGB_M_B, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, RGB_M_R, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_M_SW, + _______, KC_WINLK, _______, _______, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI + ), + + [_MO2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, TG(_MO2), _______, _______, _______, _______ + ), + + [_MO3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; + +#ifdef ENCODER_ENABLE // Encoder Functionality + + bool encoder_update_user(uint8_t index, bool clockwise) { + + switch(get_highest_layer(layer_state)) { + case _FN1: + if ( clockwise ) { + tap_code16(KC_PGDN); + } else { + tap_code16(KC_PGUP); + } + break; + + case _MO2: + // Game: Paddle movement + if (damage_count == 0) { + if ( clockwise ) { + if (paddle_pos_full < 15) ++paddle_pos_full; + } else { + if (paddle_pos_full > 0) --paddle_pos_full; + } + } + break; + + case _BASE: + default: + if ( clockwise ) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + break; + } + return true; + } +#endif + +#ifdef RGB_MATRIX_ENABLE + void init_ball(uint8_t i) { + i &= 1; + ball[i].on = true; + ball[i].up = false; + ball[i].y = 0; + ball[i].x = rand() % 16; + + // Set initial ball state + if (ball[i].x < 8) { + ball[i].left = false; + } else { + ball[i].x -= 4; + ball[i].left = true; + } + + // 1/4 chance of being an enemy ball after level 6 + if (level_number > 3) { + ball[i].enemy = ((rand() % 4) == 0); + } else { + ball[i].enemy = false; + } + } + + void hurt_paddle(void) { + if (paddle_lives > 0) { + --paddle_lives; + } + damage_timer = timer_read(); + damage_count = 10; + + // Reset board + init_ball(0); + ball[1].on = false; + } + + // Capslock, Scroll lock and Numlock indicator on Left side lights. + void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + switch(get_highest_layer(layer_state)) { + case _FN1: + // Light up FN layer keys + if (!fn_active) { + fn_active = true; + rgb_value.r = 0xff; + rgb_value.g = 0x00; + rgb_value.b = 0x00; + } + + if (rgb_value.r == 0xff && rgb_value.g < 0xff) { + if (rgb_value.b > 0) { --rgb_value.b; } + else { ++rgb_value.g; } + } else if (rgb_value.g == 0xff && rgb_value.b < 0xff) { + if (rgb_value.r > 0) { --rgb_value.r; } + else { ++rgb_value.b; } + } else if (rgb_value.b == 0xff && rgb_value.r < 0xff) { + if (rgb_value.g > 0) { --rgb_value.g; } + else { ++rgb_value.r; } + } + + for (uint8_t i=0; i> 1; + + if (damage_count > 0) { + // Flash paddle when receiving damage + if (timer_elapsed(damage_timer) > 500) { + --damage_count; + damage_timer = timer_read(); + } + if ((damage_count & 1) == 0) { + for (uint8_t i=0; i < 3 ; i++) { + rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_RED); + } + } + if (damage_count == 0) { + ball_timer = timer_read(); + } + + + } else if (paddle_lives == 0) { + // Game over + for (uint8_t i=0; i= 12) { + // You win + if (rgb_value.r == 0xff && rgb_value.g < 0xff) { + if (rgb_value.b > 0) { --rgb_value.b; } + else { ++rgb_value.g; } + } else if (rgb_value.g == 0xff && rgb_value.b < 0xff) { + if (rgb_value.r > 0) { --rgb_value.r; } + else { ++rgb_value.b; } + } else if (rgb_value.b == 0xff && rgb_value.r < 0xff) { + if (rgb_value.g > 0) { --rgb_value.g; } + else { ++rgb_value.r; } + } + + for (uint8_t i=0; i < 3 ; i++) { + rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], rgb_value.r, rgb_value.g, rgb_value.b); + } + rgb_matrix_set_color(GAME_SMILE1[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b); + rgb_matrix_set_color(GAME_SMILE1[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b); + rgb_matrix_set_color(GAME_SMILE2[paddle_pos], rgb_value.r, rgb_value.g, rgb_value.b); + rgb_matrix_set_color(GAME_SMILE2[paddle_pos + 3], rgb_value.r, rgb_value.g, rgb_value.b); + + } else { + // normal game loop + + // Set paddle position + for (uint8_t i=0; i < 3 ; i++) { + rgb_matrix_set_color(GAME_PADDLE[paddle_pos + i], RGB_GREEN); + } + + // Ball movement logic happens at intervals + if (timer_elapsed(ball_timer) > GAME_TIMER[level_number]) { + for (int i=0; i<2; ++i) { + if (ball[i].on) { + // Ball movement + if (ball[i].up) { + if (ball[i].y > 0) { + --ball[i].y; + if (!ball[i].left) ++ball[i].x; + } else { + // Count reflections. If > 10, increase level + ++bounce_count; + if (bounce_count >= 10) { + bounce_count = 0; + ++level_number; + } + ball[i].on = false; + } + } else { + ++ball[i].y; + if (ball[i].left) --ball[i].x; + if (ball[i].y > 4) { + // Remove a life if ball isn't returned and isn't enemy + if (!ball[i].enemy) { + hurt_paddle(); + i = 2; + } else { + ball[i].on = false; + } + } + } + } + } + if (ball[0].y == 4 && !ball[1].on) { + init_ball(1); + } + if (ball[1].y == 4 && !ball[0].on) { + init_ball(0); + } + if (!ball[0].on && !ball[1].on) { + init_ball(0); + } + ball_timer = timer_read(); + } + + // Other ball stuff + for (int i=0; i<2; ++i) { + if (ball[i].on) { + // Ball deflection logic + if (!ball[i].up && ball[i].y == 4 && (ball[i].x == paddle_pos || ball[i].x == paddle_pos - 1 || ball[i].x == paddle_pos + 1)) { + if (!ball[i].enemy) { + --ball[i].y; + if (!ball[i].left) { ++ball[i].x; } + ball[i].up = true; + } else { + hurt_paddle(); + i = 2; + } + } + + // Ball display + switch (ball[i].y) { + case 0: + if (ball[i].enemy) { + rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_RED); + } else { + rgb_matrix_set_color(GAME_R0[ball[i].x], RGB_WHITE); + } + break; + + case 1: + if (ball[i].enemy) { + rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_RED); + } else { + rgb_matrix_set_color(GAME_R1[ball[i].x], RGB_WHITE); + } + break; + + case 2: + if (ball[i].enemy) { + rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_RED); + } else { + rgb_matrix_set_color(GAME_R2[ball[i].x], RGB_WHITE); + } + break; + + case 3: + if (ball[i].enemy) { + rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_RED); + } else { + rgb_matrix_set_color(GAME_R3[ball[i].x], RGB_WHITE); + } + break; + + case 4: + if (ball[i].enemy) { + rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_RED); + } else { + rgb_matrix_set_color(GAME_R4[ball[i].x], RGB_WHITE); + } + break; + } + } + } + } + + + break; + + default: + fn_active = false; + if (game_start) { + // Reset lighting settings + game_start = false; + rgb_matrix_sethsv_noeeprom(last_hsv.h, last_hsv.s, last_hsv.v); + } + break; + } + + if (IS_HOST_LED_ON(USB_LED_CAPS_LOCK)) { + if (!caps_active) { + caps_active = true; + caps_flash_on = true; + caps_flasher = timer_read(); + } + if (timer_elapsed(caps_flasher) > 500) { + caps_flasher = timer_read(); + caps_flash_on = !caps_flash_on; + } + + rgb_matrix_set_color(LED_CAPS, RGB_WHITE); + if (caps_flash_on) { + for (uint8_t i=0; i + Copyright 2021 Tomas Guinan + +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 . +*/ + + +const uint16_t GAME_TIMER[] = { + 400, 350, 300, 250, 400, 350, 300, 250, 225, 200, 175, 150 +}; + +bool game_start = false; +HSV last_hsv; +static uint8_t paddle_pos_full; +static uint8_t paddle_lives; +static uint8_t level_number; +static uint8_t bounce_count; +static uint8_t damage_count; +static uint16_t damage_timer; +static uint16_t ball_timer; + +struct BallStruct +{ + uint8_t x; + uint8_t y; + bool on; + bool up; + bool left; + bool enemy; +}; + +struct BallStruct ball[2]; + +void init_ball(uint8_t i); +void hurt_paddle(void); \ No newline at end of file diff --git a/keyboards/gmmk/pro/ansi/keymaps/paddlegame/readme.md b/keyboards/gmmk/pro/ansi/keymaps/paddlegame/readme.md new file mode 100644 index 000000000000..c6da7f5f47f6 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/paddlegame/readme.md @@ -0,0 +1,18 @@ +![GMMK Pro Paddle Game zLayout Image](https://i.imgur.com/RYcKyOj.png) + +# Paddle Game GMMK Pro layout by Tomas Guinan + +- Add Print Screen, Scroll Lock, Pause/Break, Insert to Fn layer +- Toggle backlight using Fn+` + - If you don't like using a backlight but wnat to play the paddle game or + use other RGB features, turn RGB on and set brightness to 0 +- Usable Fn layer keys are backlit +- Implement Win key lock using Fn+Win like in Glorious Core firmware +- Caps Lock and Scroll Lock keys light up white when active +- Caps Lock has red flashing side lights like in Glorious Core firmware +- Layer 2 includes Paddle Game, playable by pressing Fn+P + - Use rotary encoder to control paddle + - Contains 12 levels, indicated by blue LED on F row + - Player has 4 lives, indicated by nav cluster + - Deflect white balls while avoiding red ones + - Press Fn to quit game diff --git a/keyboards/gmmk/pro/ansi/keymaps/paddlegame/rgb_matrix_map.h b/keyboards/gmmk/pro/ansi/keymaps/paddlegame/rgb_matrix_map.h new file mode 100644 index 000000000000..06d34ba6cb17 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/paddlegame/rgb_matrix_map.h @@ -0,0 +1,181 @@ +/* Copyright 2021 Tomas Guinan + * + * 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 . + */ + + +#ifdef RGB_MATRIX_ENABLE + + bool fn_active = false; + bool caps_active = false; + bool caps_flash_on = false; + + static uint16_t caps_flasher = 0; + RGB rgb_value; + + // RGB LED locations + enum led_location_map { + LED_ESC, // 0, ESC, k13 + LED_GRV, // 1, ~, k16 + LEB_TAB, // 2, Tab, k11 + LED_CAPS, // 3, Caps, k21 + LED_LSFT, // 4, Sh_L, k00 + LED_LCTL, // 5, Ct_L, k06 + LED_F1, // 6, F1, k26 + LED_1, // 7, 1, k17 + LED_Q, // 8, Q, k10 + LED_A, // 9, A, k12 + LED_Z, // 10, Z, k14 + LED_LWIN, // 11, Win_L, k90 + LED_F2, // 12, F2, k36 + LED_2, // 13, 2, k27 + LED_W, // 14, W, k20 + LED_S, // 15, S, k22 + LED_X, // 16, X, k24 + LED_LALT, // 17, Alt_L, k93 + LED_F3, // 18, F3, k31 + LED_3, // 19, 3, k37 + LED_E, // 20, E, k30 + LED_D, // 21, D, k32 + LED_C, // 22, C, k34 + LED_F4, // 23, F4, k33 + LED_4, // 24, 4, k47 + LED_R, // 25, R, k40 + LED_F, // 26, F, k42 + LED_V, // 27, V, k44 + LED_F5, // 28, F5, k07 + LED_5, // 29, 5, k46 + LED_T, // 30, T, k41 + LED_G, // 31, G, k43 + LED_B, // 32, B, k45 + LED_SPC, // 33, SPACE, k94 + LED_F6, // 34, F6, k63 + LED_6, // 35, 6, k56 + LED_Y, // 36, Y, k51 + LED_H, // 37, H, k53 + LED_N, // 38, N, k55 + LED_F7, // 39, F7, k71 + LED_7, // 40, 7, k57 + LED_U, // 41, U, k50 + LED_J, // 42, J, k52 + LED_M, // 43, M, k54 + LED_F8, // 44, F8, k76 + LED_8, // 45, 8, k67 + LED_I, // 46, I, k60 + LED_K, // 47, K, k62 + LED_COMM, // 48, ,, k64 + LED_RALT, // 49, Alt_R, k95 + LED_F9, // 50, F9, ka6 + LED_9, // 51, 9, k77 + LED_O, // 52, O, k70 + LED_L, // 53, L, k72 + LED_DOT, // 54, ., k74 + LED_FN, // 55, FN, k92 + LED_F10, // 56, F10, ka7 + LED_0, // 57, 0, k87 + LED_P, // 58, P, k80 + LED_SCLN, // 59, ;, k82 + LED_SLSH, // 60, ?, k85 + LED_F11, // 61, F11, ka3 + LED_MINS, // 62, -, k86 + LED_LBRC, // 63, [, k81 + LED_QUOT, // 64, ", k83 + LED_RCTL, // 65, Ct_R, k04 + LED_F12, // 66, F12, ka5 + LED_L1, // 67, LED, l01 + LED_R1, // 68, LED, l11 + LED_DEL, // 69, Del, k97 + LED_L2, // 70, LED, l02 + LED_R2, // 71, LED, l12 + LED_HOME, // 72, Home, k65 + LED_L3, // 73, LED, l03 + LED_R3, // 74, LED, l13 + LED_PGUP, // 75, PgUp, k15 + LED_L4, // 76, LED, l04 + LED_R4, // 77, LED, l14 + LED_EQL, // 78, =, k66 + LED_RIGHT, // 79, Right, k05 + LED_L5, // 80, LED, l05 + LED_R5, // 81, LED, l15 + LED_END, // 82, End, k75 + LED_L6, // 83, LED, l06 + LED_R6, // 84, LED, l16 + LED_BSPC, // 85, BSpc, ka1 + LED_PGDN, // 86, PgDn, k25 + LED_L7, // 87, LED, l07 + LED_R7, // 88, LED, l17 + LED_RBRC, // 89, ], k61 + LED_RSFT, // 90, Sh_R, k91 + LED_L8, // 91, LED, l08 + LED_R8, // 92, LED, l18 + LED_BSLS, // 93, \, ka2 + LED_UP, // 94, Up, k35 + LED_LEFT, // 95, Left, k03 + LED_ENT, // 96, Enter, ka4 + LED_DOWN // 97, Down, k73 + }; + + const uint8_t LED_RGB[] = { + LED_MINS, LED_EQL, + LED_LBRC, LED_RBRC, + LED_SCLN, LED_QUOT, + LED_HOME, LED_PGUP, LED_PGDN, LED_END, + LED_UP, LED_DOWN, LED_LEFT, LED_RIGHT + }; + + const uint8_t LED_GREEN[] = { + LED_F1, LED_F2, LED_F3, LED_F4, + LED_F5, LED_F6, LED_F7, LED_F8 + }; + + const uint8_t LED_WHITE[] = { + LED_F9, LED_F10, LED_F11, LED_DEL + }; + + const uint8_t LED_SIDE_LEFT[] = { LED_L1, LED_L2, LED_L3, LED_L4, LED_L5, LED_L6, LED_L7, LED_L8}; + + const uint8_t LED_SIDE_RIGHT[] = { LED_R1, LED_R2, LED_R3, LED_R4, LED_R5, LED_R6, LED_R7, LED_R8}; + + // Breakout LED rules + + const uint8_t GAME_LIVES[] = { LED_HOME, LED_PGUP, LED_PGDN, LED_END }; + const uint8_t GAME_PADDLE[] = { + LED_Z, LED_X, LED_C, LED_V, LED_B, LED_N, LED_M, LED_COMM, LED_DOT, LED_SLSH + }; + const uint8_t GAME_SMILE1[] = { + LED_A, LED_S, LED_D, LED_F, LED_G, LED_H, LED_J, LED_K, LED_L, LED_SCLN, LED_QUOT + }; + const uint8_t GAME_SMILE2[] = { + LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL + }; + const uint8_t GAME_R4[] = { + LED_X, LED_C, LED_V, LED_B, LED_N, LED_M, LED_COMM, LED_DOT + }; + const uint8_t GAME_R3[] = { + LED_S, LED_D, LED_F, LED_G, LED_H, LED_J, LED_K, LED_L, LED_SCLN + }; + const uint8_t GAME_R2[] = { + LED_W, LED_E, LED_R, LED_T, LED_Y, LED_U, LED_I, LED_O, LED_P, LED_LBRC + }; + const uint8_t GAME_R1[] = { + LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL + }; + const uint8_t GAME_R0[] = { + LED_F1, LED_F2, LED_F3, LED_F4, LED_F5, LED_F6, LED_F7, LED_F8, LED_F9, LED_F10, LED_F11, LED_F12 + }; + + const uint8_t LED_GAME_OVER[] = { LED_5, LED_8, LED_F, LED_G, LED_H, LED_J, LED_C, LED_M }; + + +#endif \ No newline at end of file diff --git a/keyboards/gmmk/pro/ansi/keymaps/paddlegame/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/paddlegame/rules.mk new file mode 100644 index 000000000000..925d8a5a5503 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/paddlegame/rules.mk @@ -0,0 +1,4 @@ +MOUSEKEY_ENABLE = no +BOOTMAGIC_ENABLE = lite +RGB_MATRIX_ENABLE = yes +ENCODER_ENABLE = yes diff --git a/keyboards/gmmk/pro/ansi/keymaps/stickandgum/config.h b/keyboards/gmmk/pro/ansi/keymaps/stickandgum/config.h new file mode 100644 index 000000000000..2566fc6f9cb0 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/stickandgum/config.h @@ -0,0 +1,75 @@ +/* Copyright 2021 stickandgum + * + * 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 + +// I like NKRO.. but let's not force it. @drashna pointed out some older hardware has issues - Toggle it via keycode if you like. +// #define FORCE_NKRO + +// At the time of this, there are 41 effects! That may be a bit too many to cycle through - keeping what I believe is the best. +#ifdef RGB_MATRIX_ENABLE + +// #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_COLOR + +// Below added per: https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgb_matrix#suspended-state-id-suspended-state + #define RGB_DISABLE_WHEN_USB_SUSPENDED + + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap, Rain + #define RGB_MATRIX_KEYPRESSES // REACTIVE, SPLASH modes + +// Soon we need to ENABLE modes by DEFAULT soon as per: https://github.com/qmk/qmk_firmware/pull/13758 Thanks @noroadsleft + // #define DISABLE_RGB_MATRIX_SOLID_COLOR // BUILT IN (MAPPED!) Static single color. + // #define DISABLE_RGB_MATRIX_ALPHAS_MODS // Accenting various keys on the keyboard. + // #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Top down rainbow! + #define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Left Right Rainbow (the top-down is better imho). + // #define DISABLE_RGB_MATRIX_BREATHING // Built in (MAPPED!) + // #define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right (with white) + // #define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right (with black) + #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades sat (RGB_MATRIX_CYCLE_PINWHEEL) + #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // See above + #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT // See above + // #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness (with black) + #define DISABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard cycling through rainbow + // #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // BUILT IN (MAPPED!) Full Rainbow Left to Right + #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom + #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN // Rainbow circles coming to center. + #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Two Rainbow circles coming to 1/3 and 2/3 points. + #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right + // #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL // BUILT IN (MAPPED!) - Consider disabling this - my poor eyes. + #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard + #define DISABLE_RGB_MATRIX_DUAL_BEACON // Two rainbows spinning around keyboards + #define DISABLE_RGB_MATRIX_RAINBOW_BEACON // Similar to above. + #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Enough of the spinning rainbows - we get it! :-) + #define DISABLE_RGB_MATRIX_RAINDROPS // Jellybeans are better. + // #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation - better than above. + #define DISABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back + #define DISABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left + #define DISABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right + // #define DISABLE_RGB_MATRIX_TYPING_HEATMAP // Hot keys! + // #define DISABLE_RGB_MATRIX_DIGITAL_RAIN // The Matrix! + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Key hits shown in current hue - all other keys black: wide slightly better imo + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE // Key hits shown in current hue - all other keys shifted hue + // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse around a single key hit then fades value out (black otherwise) + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // same as above but a bit too intense imo. + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Column and Row single color fade. + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Column and Row single color fade. (Multi-keys) + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of key hit then fades + #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multi-key hit then fades + #define DISABLE_RGB_MATRIX_SPLASH // Full rainbow pulses from key hit. All else black. + #define DISABLE_RGB_MATRIX_MULTISPLASH // Full rainbow pulses from multi-keys. All else black. + #define DISABLE_RGB_MATRIX_SOLID_SPLASH // Single color pulses from key hit. All else black. (Using solid_reactive_wide instead). + #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // Single color pulses from muli-keys. All else black. (Using solid_reactive_wide instead). +#endif diff --git a/keyboards/gmmk/pro/ansi/keymaps/stickandgum/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/stickandgum/keymap.c new file mode 100644 index 000000000000..762fe00df23f --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/stickandgum/keymap.c @@ -0,0 +1,300 @@ +/* Copyright 2021 stickandgum GMMK Pro ANSI Enhanced Keymap File + * + * 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 { + LED_TILDE = SAFE_RANGE, + LED_1, + LED_2, + LED_3, + LED_4, + LED_5, + LED_6, + LED_7, + LED_8, + LED_9, + LED_0, + LED_MINS, + LED_EQL, + QMKBEST +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + [0] = LAYOUT( + 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_MUTE, + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_DEL, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, KC_CALC, KC_MYCM, KC_MSEL, KC_MAIL, KC_WHOM, _______, _______, _______, _______, _______, KC_WAKE, KC_SLEP, KC_PAUS, _______, + LED_TILDE, LED_1, LED_2, LED_3, LED_4, LED_5, LED_6, LED_7, LED_8, LED_9, LED_0, LED_MINS, LED_EQL, KC_INS, KC_SLCK, + _______, RGB_SAI, RGB_VAI, RGB_HUI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_BRIU, + _______, RGB_RMOD, RGB_VAD, RGB_MOD, RGB_SPI, _______, _______, _______, _______, QMKBEST, _______, _______, _______, KC_BRID, + _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_MPLY, KC_PWR, + _______, _______, _______, _______, KC_RALT, _______, KC_APP, KC_MPRV, KC_MSTP, KC_MNXT + ), + +}; + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + // https://beta.docs.qmk.fm/using-qmk/simple-keycodes/feature_advanced_keycodes#alt-escape-for-alt-tab-id-alt-escape-for-alt-tab + if (get_mods() & MOD_MASK_CTRL) { // If CTRL is held + uint8_t mod_state = get_mods(); // Store all modifiers that are held + unregister_mods(MOD_MASK_CTRL); // Immediately unregister the CRTL key (don't send CTRL-PgDn) - del_mods doesn't work here (not immediate) + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + set_mods(mod_state); // Add back in the CTRL key - so ctrl-key will work if ctrl was never released after paging. + } else if (get_mods() & MOD_MASK_SHIFT) { + uint8_t mod_state = get_mods(); + unregister_mods(MOD_MASK_SHIFT); + if (clockwise) { + #ifdef MOUSEKEY_ENABLE // If using the mouse scroll - make sure MOUSEKEY is enabled + tap_code(KC_MS_WH_DOWN); + #else + tap_code(KC_VOLU); + #endif + } else { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_UP); + #else + tap_code(KC_VOLD); + #endif + } + set_mods(mod_state); + } else if (clockwise) { // All else volume. + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} +#endif //ENCODER_ENABLE + +#ifdef RGB_MATRIX_ENABLE +static void set_rgb_caps_leds_on(void); +static void set_rgb_scroll_leds_on(void); +static void set_rgb_caps_leds_off(void); +static void set_rgb_scroll_leds_off(void); + +// Called on powerup and is the last _init that is run. +void keyboard_post_init_user(void) { + + int mods[35] = {0,2,3,4,5,11,17,33,49,55,65,95,97,79,94,85,93,96,90,69,92,67,76,80,91,75,86,68,77,81,92,28,34,39,44}; + int j; + + /* output each array element's value */ + for (j = 0; j < 35; j++ ) { + g_led_config.flags[mods[j]] = LED_FLAG_MODIFIER; + } + + if (!rgb_matrix_is_enabled()) { + rgb_matrix_enable(); +#ifdef CONSOLE_ENABLE + uprintf("ERROR! RGB Matrix Enabled and wrote to EEPROM! -How was the RGB Matrix Disabled?"); +#endif + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { +#ifdef CONSOLE_ENABLE + switch(rgb_matrix_get_flags()) { + case 0x08: + uprintf("FLAG: LED_FLAG_INDICATOR "); + break; + case 0x04: + uprintf("FLAG: LED_FLAG_KEYLIGHT "); + break; + case 0x02: + uprintf("FLAG: LED_FLAG_UNDERGLOW "); + break; + case 0x01: + uprintf("FLAG: LED_FLAG_MODIFIER "); + break; + case 0xFF: + uprintf("FLAG: LED_FLAG_ALL "); + break; + case 0x00: + uprintf("FLAG: LED_FLAG_NONE "); + break; + default: + uprintf("FLAG Other: %u ", rgb_matrix_get_flags()); + } + uprintf("Caps? %d Scroll? %d - MATRIX: %d\n", host_keyboard_led_state().caps_lock, host_keyboard_led_state().scroll_lock, rgb_matrix_is_enabled()); +#endif //CONSOLE_ENABLE + + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + if (rgb_matrix_get_flags() == LED_FLAG_ALL) { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } else { + rgb_matrix_set_flags(LED_FLAG_ALL); + } + } + return false; + case LED_TILDE: + rgb_matrix_mode(RGB_MATRIX_SOLID_COLOR); // Can use RGB_M_P built-in keycode instead. + break; + case LED_1: + rgb_matrix_mode(RGB_MATRIX_ALPHAS_MODS); + break; + case LED_2: + rgb_matrix_mode(RGB_MATRIX_GRADIENT_UP_DOWN); + break; + case LED_3: + rgb_matrix_mode(RGB_MATRIX_JELLYBEAN_RAINDROPS); + break; + case LED_4: + rgb_matrix_mode(RGB_MATRIX_BAND_SAT); + break; + case LED_5: + rgb_matrix_mode(RGB_MATRIX_BAND_VAL); + break; + case LED_6: + rgb_matrix_mode(RGB_MATRIX_BAND_SPIRAL_VAL); + break; + case LED_7: + rgb_matrix_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT); // Can use RGB_M_R built-in keycode instead. + break; + case LED_8: + rgb_matrix_mode(RGB_MATRIX_CYCLE_PINWHEEL); // Can use RGB_M_SW built-in keycode instead. + break; + case LED_9: + rgb_matrix_mode(RGB_MATRIX_BREATHING); // Can use RGB_M_B built-in keycode instead. + break; + #ifdef RGB_MATRIX_KEYPRESSES // Reactive effects require RGB_MATRIX_KEYPRESSES in config.h + case LED_0: + rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE_WIDE); + break; + #endif //RGB_MATRIX_KEYPRESSES + #ifdef RGB_MATRIX_FRAMEBUFFER_EFFECTS // Heatmap and Rain require #define RGB_MATRIX_FRAMEBUFFER_EFFECTS in config.h + case LED_MINS: + rgb_matrix_mode(RGB_MATRIX_DIGITAL_RAIN); + break; + case LED_EQL: + rgb_matrix_mode(RGB_MATRIX_TYPING_HEATMAP); + break; + #endif //RGB_MATRIX_FRAMEBUFFER_EFFECTS + case QMKBEST: + if (record->event.pressed) { // when keycode QMKBEST is pressed + SEND_STRING("QMK rocks"); + } else { // when keycode QMKBEST key is released + SEND_STRING("!!"); + } + break; + } + return true; +} + +void rgb_matrix_indicators_user(void) { + if (host_keyboard_led_state().caps_lock) { + set_rgb_caps_leds_on(); + } else { + if (rgb_matrix_get_flags() == LED_FLAG_NONE){ + set_rgb_caps_leds_off(); + } + } + if (host_keyboard_led_state().scroll_lock) { + set_rgb_scroll_leds_on(); + } else { + if (rgb_matrix_get_flags() == LED_FLAG_NONE){ + set_rgb_scroll_leds_off(); + } + } +} + +// RGB led number layout, function of the key + +// 67, led 01 0, ESC 6, F1 12, F2 18, F3 23, F4 28, F5 34, F6 39, F7 44, F8 50, F9 56, F10 61, F11 66, F12 69, Prt Rotary(Mute) 68, led 12 +// 70, led 02 1, ~ 7, 1 13, 2 19, 3 24, 4 29, 5 35, 6 40, 7 45, 8 51, 9 57, 0 62, -_ 78, (=+) 85, BackSpc 72, Home 71, led 13 +// 73, led 03 2, Tab 8, Q 14, W 20. E 25, R 30, T 36, Y 41, U 46, I 52, O 58, P 63, [{ 89, ]} 93, \| 75, PgUp 74, led 14 +// 76, led 04 3, Caps 9, A 15, S 21, D 26, F 31, G 37, H 42, J 47, K 53, L 59, ;: 64, '" 96, Enter 86, PgDn 77, led 15 +// 80, led 05 4, Sh_L 10, Z 16, X 22, C 27, V 32, B 38, N 43, M 48, ,< 54, .< 60, /? 90, Sh_R 94, Up 82, End 81, led 16 +// 83, led 06 5, Ct_L 11,Win_L 17, Alt_L 33, SPACE 49, Alt_R 55, FN 65, Ct_R 95, Left 97, Down 79, Right 84, led 17 +// 87, led 07 88, led 18 +// 91, led 08 92, led 19 + +static void set_rgb_caps_leds_on() { + rgb_matrix_set_color(0, 255, 0, 0); //Escape Key + rgb_matrix_set_color(3, 255, 0, 0); //capslock key + rgb_matrix_set_color(5, 255, 0, 0); //Left CTRL key + rgb_matrix_set_color(67, 255, 0, 0); //Left LED 01 + rgb_matrix_set_color(68, 255, 0, 0); //Right LED 12 + rgb_matrix_set_color(70, 255, 127, 0); //Left LED 02 + rgb_matrix_set_color(71, 255, 127, 0); //Right LED 13 + rgb_matrix_set_color(73, 255, 255, 0); //Left LED 03 + rgb_matrix_set_color(74, 255, 255, 0); //Right LED 14 + rgb_matrix_set_color(76, 0, 255, 0); //Left LED 04 + rgb_matrix_set_color(77, 0, 255, 0); //Right LED 15 + rgb_matrix_set_color(80, 0, 0, 255); //Left LED 05 + rgb_matrix_set_color(81, 0, 0, 255); //Right LED 16 + rgb_matrix_set_color(83, 46, 43, 95); //Left LED 06 + rgb_matrix_set_color(84, 46, 43, 95); //Right LED 17 + rgb_matrix_set_color(87, 139, 0, 255); //Left LED 07 + rgb_matrix_set_color(88, 139, 0, 255); //Right LED 18 + rgb_matrix_set_color(91, 255, 255, 255); //Left LED 08 + rgb_matrix_set_color(92, 255, 255, 255); //Right LED 19 +} + +static void set_rgb_caps_leds_off() { + rgb_matrix_set_color(0, 0, 0, 0); //Escape Key + rgb_matrix_set_color(3, 0, 0, 0); //capslock key + rgb_matrix_set_color(5, 0, 0, 0); //Left CTRL key + rgb_matrix_set_color(67, 0, 0, 0); //Left LED 01 + rgb_matrix_set_color(68, 0, 0, 0); //Right LED 12 + rgb_matrix_set_color(70, 0, 0, 0); //Left LED 02 + rgb_matrix_set_color(71, 0, 0, 0); //Right LED 13 + rgb_matrix_set_color(73, 0, 0, 0); //Left LED 03 + rgb_matrix_set_color(74, 0, 0, 0); //Right LED 14 + rgb_matrix_set_color(76, 0, 0, 0); //Left LED 04 + rgb_matrix_set_color(77, 0, 0, 0); //Right LED 15 + rgb_matrix_set_color(80, 0, 0, 0); //Left LED 05 + rgb_matrix_set_color(81, 0, 0, 0); //Right LED 16 + rgb_matrix_set_color(83, 0, 0, 0); //Left LED 06 + rgb_matrix_set_color(84, 0, 0, 0); //Right LED 17 + rgb_matrix_set_color(87, 0, 0, 0); //Left LED 07 + rgb_matrix_set_color(88, 0, 0, 0); //Right LED 18 + rgb_matrix_set_color(91, 0, 0, 0); //Left LED 08 + rgb_matrix_set_color(92, 0, 0, 0); //Right LED 19 +} + +static void set_rgb_scroll_leds_on() { + rgb_matrix_set_color(72, 255, 255, 255); // Under Rotary (HOME) +} + +static void set_rgb_scroll_leds_off() { + rgb_matrix_set_color(72, 0, 0, 0); // Under Rotary (HOME) +} + +#endif // RGB_MATRIX_ENABLE diff --git a/keyboards/gmmk/pro/ansi/keymaps/stickandgum/readme.md b/keyboards/gmmk/pro/ansi/keymaps/stickandgum/readme.md new file mode 100644 index 000000000000..c4e2225433ec --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/stickandgum/readme.md @@ -0,0 +1,63 @@ +# Glorious GMMK Pro / ANSI - Enhanced Keyboard + +Tried to incorporate full featured GMMK Pro keyboard functionality without adding unnecessary features. Included Scroll Lock and Caps LEDs. NKRO can be toggled (Fn + N). +SHIFT and Ctrl keys for scrolling with the rotary, Fn-keys also used for screen brightness, media, PowerOff, Suspend, App Shortcuts, and RGB Toggle/Modifications. Trimmed down the amazing (currently 41) built-in RGB effects down to about 13 or so reasonable effects that feel are just enough for your entertainment without being too excessive. + +BIG thank you to [AndreBrait](https://github.com/andrebrait), And of course, @drashna and @filterpaper, @noroadsleft and the entire discord community. + +* Keymap Creator: [StickAndGum](https://github.com/StickAndGum) +* Keyboard: [More info on GMMK Pro](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black) +* Controller [STM32F303CCT6](https://www.st.com/en/microcontrollers-microprocessors/stm32f303.html) + +* Layout: + ![keyboard-layout](https://user-images.githubusercontent.com/22257588/130371838-875ba65b-88ea-4f81-a44a-bb24194c4989.png) + +Features are as follows: + +Rotary: + - Default: Volume Up/Down + - Shift: Mouse Wheel Down/Up + - Ctrl: Page Down/Up + +Top/Default Layer: + - Print Screen -> Print Screen (Left of rotary) + - Delete -> Home (Under Rotary) + - Right Alt -> Delete (Right of Spacebar) + - All other keys defaults. + +Fn Layer: + - Fn + \ -> Bootloader Mode (Can also hold ESC while powering up) - If hit by mistake, just unplug and replug in. + - Fn + Backspace -> Insert + - Fn + Print -> Pause/Break + - Fn + Home -> Scroll Lock (Lights up white!) + - Fn + Del (right of space) -> Right-Alt key. + - Fn + RCtrl (right of Fn) -> Menu/App key. + - Fn + N -> Toggle NKRO + - Fn + End -> Power Off Computer + - Fn + F12 -> Suspend Computer + - Fn + F11 -> Wake Computer (Necessary on MAC OS?) + - Fn + Page Up / Down -> Laptop Screen Brightness Up/Down + - Fn + F1 - F5 -> Launch Calc, My Comp (Explorer), Media Player, Mail Client, Web Browser. + - Fn + Up, Down, Left, Right Arrows -> Media Play, Stop, Previous, Next respectively. + +- RGB Information: + - Toggle for RGB via Fn-r (CAPS & ScrlLock still Light/Indicate) + - CAPS: Side Light Rainbow Indicators and Left-side RED Indicators + - Scroll-Lock: Fn-Home (Under Rotary) white indicator. + - Modifiers identified around most of the edge of keyboard / Side lights also accented (Fn-1 looks GREAT IMHO) + +- RGB Modifing (all via Function key) all via wasdqerf (common gaming keys) - easy to remember. + - Fn + r -> Toggle RGB + - Fn + w,s -> Brightness Up, Down + - Fn + a,d -> Cycle Forward/Backward through rgb effects + - Fn + q -> Increase or Decrease Saturation (use SHIFT key to lower) + - Fn + e -> Increase or Decrease Hue/Color (use SHIFT key to lower) + - Fn + f -> Increase or Decrease Speed (Using "F" for Fast!) (Use SHIFT for slower) + - Fn + ~, 0-9, - = keys (2nd row keys) -> 13 RGB different effects arranged to my liking. Fn-1 is my favorite. + - Fn + L -> My easter egg... "QMK rocks!" + +- Known issues: + - The Heatmap and Matrix FrameBuffer effects (Fn - and =) are a bit buggy - F-keys light up when they shouldn't and the Caps/Scroll lights don't turn off properly when using. Just change the effect to something else to fix this. + - If you find a fix for this, please let me know. + +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/gmmk/pro/ansi/keymaps/stickandgum/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/stickandgum/rules.mk new file mode 100644 index 000000000000..6440dc6d4123 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/stickandgum/rules.mk @@ -0,0 +1,2 @@ +CONSOLE_ENABLE = no +MOUSEKEY_ENABLE = yes diff --git a/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c new file mode 100644 index 000000000000..9b13f75a85f9 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c @@ -0,0 +1,89 @@ +/* Copyright 2021 Glorious, LLC + +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 + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + // + // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). + // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. + // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. + [0] = LAYOUT( + 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_MUTE, + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI + ), + + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; +// clang-format on + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} +#endif // ENCODER_ENABLE diff --git a/keyboards/gmmk/pro/ansi/keymaps/via/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/gmmk/pro/ansi/keymaps/wholesomeducky/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/wholesomeducky/keymap.c new file mode 100644 index 000000000000..fded5325621e --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/wholesomeducky/keymap.c @@ -0,0 +1,57 @@ +/* Copyright 2021 Glorious, LLC + +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] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Ct_L A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up Win_R +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + [0] = LAYOUT( + 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_MEDIA_PLAY_PAUSE, + 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_RGUI, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_END, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, RESET, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_END + ), + +}; + + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_MS_WH_RIGHT); + } else { + tap_code(KC_MS_WH_LEFT); + } + return true; +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.c new file mode 100644 index 000000000000..a32fef1041ee --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.c @@ -0,0 +1,73 @@ +/* Copyright 2021 Glorious, LLC + +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 + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Del Rotary(Mute) + // ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Home + // Tab Q W E R T Y U I O P [ ] \ PgUp + // Caps A S D F G H J K L ; " Enter PgDn + // Sh_L Z X C V B N M , . ? Sh_R Up End + // Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + [0] = LAYOUT( + 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_DEL, KC_MUTE, + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, + _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; +// clang-format on + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} diff --git a/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.json b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.json new file mode 100644 index 000000000000..d2325d2c13bd --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.json @@ -0,0 +1,181 @@ +{ + "version": 1, + "notes": "", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "gmmk/pro", + "keymap": "willwm", + "layout": "LAYOUT", + "layers": [ + [ + "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_DEL", + "KC_MUTE", + "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_HOME", + "KC_TAB", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_LBRC", + "KC_RBRC", + "KC_BSLS", + "KC_PGUP", + "MO(1)", + "KC_A", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "KC_SCLN", + "KC_QUOT", + "KC_ENT", + "KC_PGDN", + "KC_LSFT", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_RSFT", + "KC_UP", + "KC_END", + "KC_LCTL", + "KC_LGUI", + "KC_LALT", + "KC_SPC", + "KC_RALT", + "MO(1)", + "KC_RCTL", + "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_INS", + "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_PSCR", + "KC_CAPS", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "RESET", + "KC_NO", + "KC_TRNS", + "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_NO", + "KC_NO", + "KC_TRNS", + "KC_NO", + "KC_HOME", + "KC_PGDN", + "KC_END" + ] + ], + "author": "" +} \ No newline at end of file diff --git a/keyboards/gmmk/pro/ansi/keymaps/willwm/readme.md b/keyboards/gmmk/pro/ansi/keymaps/willwm/readme.md new file mode 100644 index 000000000000..1c169faac6ef --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/readme.md @@ -0,0 +1,22 @@ +layer0 +layer1 + +# willwm GMMK Pro Layout + +Based on [gmmk/pro/keymaps/default](../default/keymap.c), with [VIA support](./rules.mk) + +Layer 0 + +* Delete between F12 and rotary encoder (replaces PrtSc) +* Home below rotary encoder (replaces Del) +* MO(1) in default location and Caps Lock location + +Layer 1 + +* Tab -> Caps Lock +* Del -> Insert +* Home -> PrtSc +* Left Arrow -> Home +* Right Arrow -> End +* Up Arrow -> PgUp +* Down Arrow -> PgDn diff --git a/keyboards/gmmk/pro/ansi/keymaps/willwm/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/willwm/rules.mk new file mode 100644 index 000000000000..511b50e19ce1 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +UNICODE_ENABLE = yes diff --git a/keyboards/gmmk/pro/ansi/readme.md b/keyboards/gmmk/pro/ansi/readme.md new file mode 100644 index 000000000000..9800aef88ea1 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/readme.md @@ -0,0 +1,37 @@ +# GMMK PRO (ANSI) + +A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM32 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation) + +* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall) +* Hardware Supported: GMMK Pro +* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation) + +Make example for this keyboard (after setting up your build environment): + + make gmmk/pro/ansi:default + +Flashing example for this keyboard: + + make gmmk/pro/ansi:default:flash + +To reset the board into bootloader mode, do one of the following: + +* Hold the Reset switch mounted on the bottom side of the PCB while connecting the USB cable +* Hold the Escape key while connecting the USB cable (also erases persistent settings) +* Fn+Backslash will reset the board to bootloader mode if you have flashed the default QMK keymap + +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). + +## Case Screw Replacements + +Many users report stripped case screws when disassembling the board. + +The stock case screws are: +* Thread: M2 +* Thread length: ~5 mm +* Head diameter: ~3.8 mm +* Head counterbore diameter: ~4.0 mm +* Head counterbore depth: ~1.9 mm + +Most M2x5mm screws should fit fine, although it's best to ensure that the screw head will fit inside the counterbore. +For reference, [this hex socket head screw](https://www.mcmaster.com/91292A005/) from McMaster-Carr should fit nearly flush (head will protrude above the counterbore by ~0.1 mm). diff --git a/keyboards/gmmk/pro/ansi/rules.mk b/keyboards/gmmk/pro/ansi/rules.mk new file mode 100644 index 000000000000..f42f925134d0 --- /dev/null +++ b/keyboards/gmmk/pro/ansi/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = STM32F303 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = AW20216 diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h new file mode 100644 index 000000000000..693b86539be0 --- /dev/null +++ b/keyboards/gmmk/pro/config.h @@ -0,0 +1,78 @@ +/* Copyright 2021 Glorious, LLC + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define DEVICE_VER 0x0001 +#define VENDOR_ID 0x320F +#define PRODUCT_ID 0x5044 +#define MANUFACTURER Glorious +#define PRODUCT GMMK Pro + +/* key matrix size */ +#define MATRIX_ROWS 11 +#define MATRIX_COLS 8 + +#define MATRIX_ROW_PINS \ + { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 } +#define MATRIX_COL_PINS \ + { A0, A1, A2, A3, A4, A8, A9, A10 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Hold ESC on start up to clear EEPROM and boot into bootloader mode */ +#define BOOTMAGIC_LITE_ROW 1 +#define BOOTMAGIC_LITE_COLUMN 3 + +#define TAP_CODE_DELAY 10 +#define ENCODERS_PAD_A \ + { C15 } +#define ENCODERS_PAD_B \ + { C14 } + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* SPI Config for LED Driver */ +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN A5 +#define SPI_MOSI_PIN A6 +#define SPI_MISO_PIN A7 + +#define DRIVER_1_CS B13 +#define DRIVER_2_CS B14 +#define DRIVER_1_EN C13 +#define DRIVER_2_EN C13 + +#define DRIVER_COUNT 2 + +/* 1000Hz USB polling - it's the default on stock firmware */ +#define USB_POLLING_INTERVAL_MS 1 + +/* Send up to 4 key press events per scan */ +#define QMK_KEYS_PER_SCAN 4 + +/* Set debounce time to 5ms */ +#define DEBOUNCE 5 + +/* Force NKRO on boot up regardless of the setting saved in the EEPROM (uncomment to enable it) */ +// #define FORCE_NKRO diff --git a/keyboards/gmmk/pro/halconf.h b/keyboards/gmmk/pro/halconf.h new file mode 100644 index 000000000000..23ecb202a1d1 --- /dev/null +++ b/keyboards/gmmk/pro/halconf.h @@ -0,0 +1,7 @@ +#pragma once + +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/gmmk/pro/iso/config.h b/keyboards/gmmk/pro/iso/config.h new file mode 100644 index 000000000000..26626ccfc180 --- /dev/null +++ b/keyboards/gmmk/pro/iso/config.h @@ -0,0 +1,23 @@ +/* Copyright 2021 Jasper Chan + * + * 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 "config_common.h" + +#define DRIVER_1_LED_TOTAL 66 +#define DRIVER_2_LED_TOTAL 33 +#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL) diff --git a/keyboards/gmmk/pro/iso/info.json b/keyboards/gmmk/pro/iso/info.json new file mode 100644 index 000000000000..2d4a22c9a1de --- /dev/null +++ b/keyboards/gmmk/pro/iso/info.json @@ -0,0 +1,112 @@ +{ + "keyboard_name": "GMMK Pro (ISO)", + "url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation", + "maintainer": "GloriousThrall", + "width": 16.5, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + + {"label":"Printscreen", "x":14, "y":0}, + {"label":"Rotary", "x":15.5, "y":0}, + + {"label":"`", "x":0, "y":1.25}, + {"label":"1", "x":1, "y":1.25}, + {"label":"2", "x":2, "y":1.25}, + {"label":"3", "x":3, "y":1.25}, + {"label":"4", "x":4, "y":1.25}, + {"label":"5", "x":5, "y":1.25}, + {"label":"6", "x":6, "y":1.25}, + {"label":"7", "x":7, "y":1.25}, + {"label":"8", "x":8, "y":1.25}, + {"label":"9", "x":9, "y":1.25}, + {"label":"0", "x":10, "y":1.25}, + {"label":"-", "x":11, "y":1.25}, + {"label":"=", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, + + {"label":"Delete", "x":15.5, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[", "x":11.5, "y":2.25}, + {"label":"]", "x":12.5, "y":2.25}, + + {"label":"Page Up", "x":15.5, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":";", "x":10.75, "y":3.25}, + {"label":"'", "x":11.75, "y":3.25}, + {"label":"Iso #", "x":12.75, "y":3.25}, + {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2}, + + {"label":"Page Down", "x":15.5, "y":3.25}, + + {"label":"Shift", "x":0, "y":4.25, "w":1.25}, + {"label":"Iso \\", "x":1.25, "y":4.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":",", "x":9.25, "y":4.25}, + {"label":".", "x":10.25, "y":4.25}, + {"label":"/", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, + + {"label":"Up", "x":14.25, "y":4.5}, + + {"label":"End", "x":15.5, "y":4.25}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label":"GUI", "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + {"label":"Space", "x":3.75, "y":5.25, "w":6.25}, + {"label":"Alt", "x":10, "y":5.25}, + {"label":"Fn", "x":11, "y":5.25}, + {"label":"Ctrl", "x":12, "y":5.25}, + + {"label":"Left", "x":13.25, "y":5.5}, + {"label":"Down", "x":14.25, "y":5.5}, + {"label":"Right", "x":15.25, "y":5.5} + ] + } + } +} diff --git a/keyboards/gmmk/pro/iso/iso.c b/keyboards/gmmk/pro/iso/iso.c new file mode 100644 index 000000000000..fa57f1ca9244 --- /dev/null +++ b/keyboards/gmmk/pro/iso/iso.c @@ -0,0 +1,243 @@ +/* Copyright 2021 Gigahawk + * + * 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 "iso.h" + +#ifdef RGB_MATRIX_ENABLE +// clang-format off +led_config_t g_led_config = {{ + { 4, NO_LED, NO_LED, 96, 65, 80, 5, 28 }, + { 8, 2, 9, 0, 10, 76, 1, 7 }, + { 14, 3, 15, 67, 16, 87, 6, 13 }, + { 20, 18, 21, 23, 22, 94, 12, 19 }, + { 25, 30, 26, 31, 27, 32, 29, 24 }, + { 41, 36, 42, 37, 43, 38, 35, 40 }, + { 46, 90, 47, 34, 48, 73, 79, 45 }, + { 52, 39, 53, 98, 54, 83, 44, 51 }, + { 58, 63, 59, 64, 95, 60, 62, 57 }, + { 11, 91, 55, 17, 33, 49, NO_LED, 70 }, + { NO_LED, 86, NO_LED, 61, 97, 66, 50, 56 } +}, { + {0, 0}, // 0, ESC, k13 + {0, 15}, // 1, `, k16 + {4, 26}, // 2, Tab, k11 + {5, 38}, // 3, Caps, k21 + {2, 49}, // 4, Sh_L, k00 + {2, 61}, // 5, Ct_L, k06 + {18, 0}, // 6, F1, k26 + {14, 15}, // 7, 1, k17 + {22, 26}, // 8, Q, k10 + {25, 38}, // 9, A, k12 + {33, 49}, // 10, Z, k14 + {20, 61}, // 11, Win_L, k90 + {33, 0}, // 12, F2, k36 + {29, 15}, // 13, 2, k27 + {36, 26}, // 14, W, k20 + {40, 38}, // 15, S, k22 + {47, 49}, // 16, X, k24 + {38, 61}, // 17, Alt_L, k93 + {47, 0}, // 18, F3, k31 + {43, 15}, // 19, 3, k37 + {51, 26}, // 20, E, k30 + {54, 38}, // 21, D, k32 + {61, 49}, // 22, C, k34 + {61, 0}, // 23, F4, k33 + {58, 15}, // 24, 4, k47 + {65, 26}, // 25, R, k40 + {69, 38}, // 26, F, k42 + {76, 49}, // 27, V, k44 + {79, 0}, // 28, F5, k07 + {72, 15}, // 29, 5, k46 + {79, 26}, // 30, T, k41 + {83, 38}, // 31, G, k43 + {90, 49}, // 32, B, k45 + {92, 61}, // 33, SPACE, k94 + {94, 0}, // 34, F6, k63 + {87, 15}, // 35, 6, k56 + {94, 26}, // 36, Y, k51 + {98, 38}, // 37, H, k53 + {105, 49}, // 38, N, k55 + {108, 0}, // 39, F7, k71 + {101, 15}, // 40, 7, k57 + {108, 26}, // 41, U, k50 + {112, 38}, // 42, J, k52 + {119, 49}, // 43, M, k54 + {123, 0}, // 44, F8, k76 + {116, 15}, // 45, 8, k67 + {123, 26}, // 46, I, k60 + {126, 38}, // 47, K, k62 + {134, 49}, // 48, ,, k64 + {145, 61}, // 49, Alt_R, k95 + {141, 0}, // 50, F9, ka6 + {130, 15}, // 51, 9, k77 + {137, 26}, // 52, O, k70 + {141, 38}, // 53, L, k72 + {148, 49}, // 54, ., k74 + {159, 61}, // 55, FN, k92 + {155, 0}, // 56, F10, ka7 + {145, 15}, // 57, 0, k87 + {152, 26}, // 58, P, k80 + {155, 38}, // 59, ;, k82 + {163, 49}, // 60, /, k85 + {170, 0}, // 61, F11, ka3 + {159, 15}, // 62, -, k86 + {166, 26}, // 63, [, k81 + {170, 38}, // 64, ", k83 + {173, 61}, // 65, Ct_R, k04 + {184, 0}, // 66, F12, ka5 + {18, 49}, // 67, \, k23 + {0, 8}, // 68, LED, l01 + {224, 8}, // 69, LED, l11 + {202, 0}, // 70, Prt, k97 + {0, 15}, // 71, LED, l02 + {224, 15}, // 72, LED, l12 + {224, 15}, // 73, Del, k65 + {0, 21}, // 74, LED, l03 + {224, 21}, // 75, LED, l13 + {224, 26}, // 76, PgUp, k15 + {0, 28}, // 77, LED, l04 + {224, 28}, // 78, LED, l14 + {173, 15}, // 79, =, k66 + {220, 64}, // 80, Right, k05 + {0, 35}, // 81, LED, l05 + {224, 35}, // 82, LED, l15 + {224, 49}, // 83, End, k75 + {0, 42}, // 84, LED, l06 + {224, 42}, // 85, LED, l16 + {195, 15}, // 86, BSpc, ka1 + {224, 38}, // 87, PgDn, k25 + {0, 48}, // 88, LED, l07 + {224, 48}, // 89, LED, l17 + {181, 26}, // 90, ], k61 + {182, 49}, // 91, Sh_R, k91 + {0, 55}, // 92, LED, l08 + {224, 55}, // 93, LED, l18 + {206, 52}, // 94, Up, k35 + {184, 38}, // 95, #, k84 + {191, 64}, // 96, Left, k03 + {201, 26}, // 97, Enter, ka4 + {206, 64}, // 98, Down, k73 +}, { + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 4, 2, 2, 4, 2, + 2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4 +}}; + +const aw_led g_aw_leds[DRIVER_LED_TOTAL] = { + {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13 + {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16 + {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11 + {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21 + {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00 + {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06 + {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26 + {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17 + {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10 + {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12 + {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14 + {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90 + {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36 + {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27 + {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20 + {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22 + {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24 + {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93 + {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31 + {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37 + {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30 + {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32 + {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34 + {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33 + {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47 + {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40 + {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42 + {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44 + {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07 + {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46 + {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41 + {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43 + {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45 + {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94 + {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63 + {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56 + {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51 + {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53 + {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55 + {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71 + {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57 + {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50 + {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52 + {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54 + {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76 + {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67 + {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60 + {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62 + {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64 + {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95 + {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6 + {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77 + {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70 + {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72 + {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74 + {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92 + {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7 + {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87 + {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80 + {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82 + {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85 + {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3 + {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86 + {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81 + {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83 + {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04 + + {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5 + {1, CS4_SW1, CS5_SW1, CS6_SW1}, // 67, \, k23 + {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 68, LED, l01 + {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 69, LED, l11 + {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 70, Prt, k97 + {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 71, LED, l02 + {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 72, LED, l12 + {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 73, Del, k65 + {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 74, LED, l03 + {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 75, LED, l13 + {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 76, PgUp, k15 + {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 77, LED, l04 + {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 78, LED, l14 + {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 79, =, k66 + {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 80, Right, k05 + {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 81, LED, l05 + {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 82, LED, l15 + {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 83, End, k75 + {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 84, LED, l06 + {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 85, LED, l16 + {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 86, BSpc, ka1 + {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 87, PgDn, k25 + {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 88, LED, l07 + {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 89, LED, l17 + {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 90, ], k61 + {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 91, Sh_R, k91 + {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 92, LED, l08 + {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 93, LED, l18 + {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35 + {1, CS1_SW10, CS2_SW10, CS3_SW10}, // 95, #, k84 + {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 96, Left, k03 + {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 97, Enter, ka4 + {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 98, Down, k73 +}; +// clang-format on +#endif diff --git a/keyboards/gmmk/pro/iso/iso.h b/keyboards/gmmk/pro/iso/iso.h new file mode 100644 index 000000000000..353bcbe87558 --- /dev/null +++ b/keyboards/gmmk/pro/iso/iso.h @@ -0,0 +1,52 @@ +/* Copyright 2021 Gigahawk + * + * 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 "pro.h" + +#define ___ KC_NO + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ` 1 2 3 4 5 6 7 8 9 0 - = BSpc Del +// Tab Q W E R T Y U I O P [ ] PgUp +// Caps A S D F G H J K L ; ' # Enter PgDn +// Sh_L \ Z X C V B N M , . / Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + +// clang-format off +#define LAYOUT( \ + k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \ + k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \ + k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k15, \ + k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k84, ka4, k25, \ + k00, k23, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \ + k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \ +) \ +{ \ + { k00, k01, ___, k03, k04, k05, k06, k07}, \ + { k10, k11, k12, k13, k14, k15, k16, k17}, \ + { k20, k21, k22, k23, k24, k25, k26, k27}, \ + { k30, k31, k32, k33, k34, k35, k36, k37}, \ + { k40, k41, k42, k43, k44, k45, k46, k47}, \ + { k50, k51, k52, k53, k54, k55, k56, k57}, \ + { k60, k61, k62, k63, k64, k65, k66, k67}, \ + { k70, k71, k72, k73, k74, k75, k76, k77}, \ + { k80, k81, k82, k83, k84, k85, k86, k87}, \ + { k90, k91, k92, k93, k94, k95, ___, k97}, \ + { ___, ka1, ___, ka3, ka4, ka5, ka6, ka7} \ +} +// clang-format on diff --git a/keyboards/gmmk/pro/iso/keymaps/default/keymap.c b/keyboards/gmmk/pro/iso/keymaps/default/keymap.c new file mode 100644 index 000000000000..67b95c755f75 --- /dev/null +++ b/keyboards/gmmk/pro/iso/keymaps/default/keymap.c @@ -0,0 +1,72 @@ +/* Copyright 2021 Glorious, LLC + +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 + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] PgUp +// Caps A S D F G H J K L ; " # Enter PgDn +// Sh_L / Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + // + // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). + // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. + // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. + [0] = LAYOUT( + 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_MUTE, + 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_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_PGUP, + 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_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI + ), + + +}; +// clang-format on + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} +#endif diff --git a/keyboards/gmmk/pro/iso/keymaps/via/keymap.c b/keyboards/gmmk/pro/iso/keymaps/via/keymap.c new file mode 100644 index 000000000000..c83af17fe103 --- /dev/null +++ b/keyboards/gmmk/pro/iso/keymaps/via/keymap.c @@ -0,0 +1,91 @@ +/* Copyright 2021 Glorious, LLC + +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 + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] PgUp +// Caps A S D F G H J K L ; " # Enter PgDn +// Sh_L / Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + // + // This keyboard defaults to 6KRO instead of NKRO for compatibility reasons (some KVMs and BIOSes are incompatible with NKRO). + // Since this is, among other things, a "gaming" keyboard, a key combination to enable NKRO on the fly is provided for convenience. + // Press Fn+N to toggle between 6KRO and NKRO. This setting is persisted to the EEPROM and thus persists between restarts. + [0] = LAYOUT( + 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_MUTE, + 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_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_PGUP, + 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_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, KC_MYCM, KC_WHOM, KC_CALC, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, + _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, RGB_HUI, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_RMOD, RGB_SPI + ), + + + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + +}; +// clang-format on + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + return true; +} +#endif // ENCODER_ENABLE diff --git a/keyboards/gmmk/pro/iso/keymaps/via/rules.mk b/keyboards/gmmk/pro/iso/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/gmmk/pro/iso/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/gmmk/pro/iso/readme.md b/keyboards/gmmk/pro/iso/readme.md new file mode 100644 index 000000000000..62dbee5d0f66 --- /dev/null +++ b/keyboards/gmmk/pro/iso/readme.md @@ -0,0 +1,37 @@ +# GMMK PRO (ISO) + +A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM32 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation) + +* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall) +* Hardware Supported: GMMK Pro +* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation) + +Make example for this keyboard (after setting up your build environment): + + make gmmk/pro/iso:default + +Flashing example for this keyboard: + + make gmmk/pro/iso:default:flash + +To reset the board into bootloader mode, do one of the following: + +* Hold the Reset switch mounted on the bottom side of the PCB while connecting the USB cable +* Hold the Escape key while connecting the USB cable (also erases persistent settings) +* Fn+Backspace will reset the board to bootloader mode if you have flashed the default QMK keymap + +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). + +## Case Screw Replacements + +Many users report stripped case screws when disassembling the board. + +The stock case screws are: +* Thread: M2 +* Thread length: ~5 mm +* Head diameter: ~3.8 mm +* Head counterbore diameter: ~4.0 mm +* Head counterbore depth: ~1.9 mm + +Most M2x5mm screws should fit fine, although it's best to ensure that the screw head will fit inside the counterbore. +For reference, [this hex socket head screw](https://www.mcmaster.com/91292A005/) from McMaster-Carr should fit nearly flush (head will protrude above the counterbore by ~0.1 mm). diff --git a/keyboards/gmmk/pro/iso/rules.mk b/keyboards/gmmk/pro/iso/rules.mk new file mode 100644 index 000000000000..f42f925134d0 --- /dev/null +++ b/keyboards/gmmk/pro/iso/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = STM32F303 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = AW20216 diff --git a/keyboards/gmmk/pro/keymaps/moults31/keymap.c b/keyboards/gmmk/pro/keymaps/moults31/keymap.c new file mode 100644 index 000000000000..90ac428c742c --- /dev/null +++ b/keyboards/gmmk/pro/keymaps/moults31/keymap.c @@ -0,0 +1,92 @@ +/* Copyright 2021 Glorious, LLC + +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 + +#include "moults31.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute) +// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del +// Tab Q W E R T Y U I O P [ ] \ PgUp +// Caps A S D F G H J K L ; " Enter PgDn +// Sh_L Z X C V B N M , . ? Sh_R Up End +// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right + + + // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without + // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB + // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI + // if that's your preference. + // + // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and + // it'll be back to normal when you plug it back in. + [0] = LAYOUT( + 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_MPLY, + 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_HOME, + 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_END, + 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_DEL, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, _______, _______, RESET, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT( + M_GDB_STOP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_VSC_DBGCNSLFOCUS, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, M_VSC_VIEWSIZEINC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, M_VSC_EDGRPPRV, M_VSC_VIEWSIZEDEC, M_VSC_EDGRPNXT, _______, _______, _______, _______, _______, _______, _______, _______, M_GDB_PLAY, M_GDB_PAUSE, + _______, M_VSC_FILEPRV, M_VSC_FILENXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_GDB_STEPOUT, _______, + _______, _______, _______, _______, _______, _______, _______, M_GDB_RESTART, M_GDB_STEPIN, M_GDB_STEPOVER + ), + +}; + + +bool encoder_update_user(uint8_t index, bool clockwise) { + const layer_state_t curr_layer = get_highest_layer(layer_state); + if(curr_layer == 2) { + if (clockwise) { + moults31_tap_custom_code(M_VSC_FILENXT); + } else { + moults31_tap_custom_code(M_VSC_FILEPRV); + } + } + else if(curr_layer == 1) { + if (clockwise) { + moults31_tap_custom_code(M_VSC_VIEWSIZEINC); + } else { + moults31_tap_custom_code(M_VSC_VIEWSIZEDEC); + } + } + else { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return false; +} diff --git a/keyboards/gmmk/pro/mcuconf.h b/keyboards/gmmk/pro/mcuconf.h new file mode 100644 index 000000000000..bb1c0acde23d --- /dev/null +++ b/keyboards/gmmk/pro/mcuconf.h @@ -0,0 +1,6 @@ +#pragma once + +#include_next + +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE diff --git a/keyboards/gmmk/pro/pro.c b/keyboards/gmmk/pro/pro.c new file mode 100644 index 000000000000..816d089a585d --- /dev/null +++ b/keyboards/gmmk/pro/pro.c @@ -0,0 +1,16 @@ +/* Copyright 2021 Glorious, LLC + * + * 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 "pro.h" diff --git a/keyboards/gmmk/pro/pro.h b/keyboards/gmmk/pro/pro.h new file mode 100644 index 000000000000..38dd4d78b9f8 --- /dev/null +++ b/keyboards/gmmk/pro/pro.h @@ -0,0 +1,25 @@ +/* Copyright 2021 Glorious, LLC + +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 "quantum.h" + +#if defined(KEYBOARD_gmmk_pro_ansi) +# include "ansi.h" +#elif defined(KEYBOARD_gmmk_pro_iso) +# include "iso.h" +#endif // GMMK Pro revisions diff --git a/keyboards/gon/nerd60/config.h b/keyboards/gon/nerd60/config.h index 7483142df7a3..5e2fe57327d4 100644 --- a/keyboards/gon/nerd60/config.h +++ b/keyboards/gon/nerd60/config.h @@ -3,8 +3,8 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6FD7 +#define VENDOR_ID 0x4E45 // NE +#define PRODUCT_ID 0x3630 // 60 #define DEVICE_VER 0x0001 #define MANUFACTURER GON #define PRODUCT NerD 60 @@ -32,3 +32,7 @@ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE + +/* ROW and COL for ESC key */ +#define BOOTMAGIC_LITE_ROW 8 +#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/gon/nerd60/info.json b/keyboards/gon/nerd60/info.json index 85e0fe9d5458..98634f33ed96 100644 --- a/keyboards/gon/nerd60/info.json +++ b/keyboards/gon/nerd60/info.json @@ -5,8 +5,7 @@ "width": 15, "height": 5, "layouts": { - "LAYOUT_60": { - "key_count": 64, + "LAYOUT_all": { "layout": [ {"label":"K80", "x":0, "y":0}, {"label":"K10", "x":1, "y":0}, @@ -21,7 +20,9 @@ {"label":"K05", "x":10, "y":0}, {"label":"K15", "x":11, "y":0}, {"label":"K06", "x":12, "y":0}, - {"label":"K16", "x":13, "y":0, "w":2}, + {"label":"K17", "x":13, "y":0}, + {"label":"K16", "x":14, "y":0}, + {"label":"K20", "x":0, "y":1, "w":1.5}, {"label":"K30", "x":1.5, "y":1}, {"label":"K21", "x":2.5, "y":1}, @@ -36,6 +37,7 @@ {"label":"K35", "x":11.5, "y":1}, {"label":"K26", "x":12.5, "y":1}, {"label":"K36", "x":13.5, "y":1, "w":1.5}, + {"label":"K40", "x":0, "y":2, "w":1.75}, {"label":"K41", "x":1.75, "y":2}, {"label":"K51", "x":2.75, "y":2}, @@ -48,8 +50,8 @@ {"label":"K45", "x":9.75, "y":2}, {"label":"K55", "x":10.75, "y":2}, {"label":"K46", "x":11.75, "y":2}, - {"label":"K17", "x":12.75, "y":2}, - {"label":"K56", "x":13.75, "y":2, "w":1.25}, + {"label":"K56", "x":12.75, "y":2, "w":2.25}, + {"label":"K70", "x":0, "y":3, "w":1.25}, {"label":"K97", "x":1.25, "y":3}, {"label":"K61", "x":2.25, "y":3}, @@ -64,6 +66,7 @@ {"label":"K75", "x":11.25, "y":3}, {"label":"K66", "x":12.25, "y":3, "w":1.75}, {"label":"K76", "x":14, "y":3}, + {"label":"K60", "x":0, "y":4, "w":1.25}, {"label":"K50", "x":1.25, "y":4, "w":1.25}, {"label":"K87", "x":2.5, "y":4, "w":1.25}, @@ -73,6 +76,288 @@ {"label":"K47", "x":12.5, "y":4, "w":1.25}, {"label":"K57", "x":13.75, "y":4, "w":1.25} ] + }, + "LAYOUT_60_ansi": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":2.75}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0, "w":2}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":2.75}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2}, + {"x":13.75, "y":1, "w":1.25, "h":2}, + + {"x":0, "y":3, "w":1.25}, + {"x":1.25, "y":3}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4, "w":1.25}, + {"x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"x":10, "y":4, "w":1.25}, + {"x":11.25, "y":4, "w":1.25}, + {"x":12.5, "y":4, "w":1.25}, + {"x":13.75, "y":4, "w":1.25} + ] } } } diff --git a/keyboards/gon/nerd60/keymaps/default/keymap.c b/keyboards/gon/nerd60/keymaps/default/keymap.c index d205e06de1fa..a5cec81ef4ea 100644 --- a/keyboards/gon/nerd60/keymaps/default/keymap.c +++ b/keyboards/gon/nerd60/keymaps/default/keymap.c @@ -2,18 +2,18 @@ // Keymap layers const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60( /* Base */ - 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, + [0] = LAYOUT_all( /* Base */ + 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_NUHS, 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_NUHS, KC_ENT, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL ), - [1] = LAYOUT_60( /* System layer to have access to RESET button */ - 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, + [1] = LAYOUT_all( /* System layer to have access to RESET button */ + 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, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______, - _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______, _______, _______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______ ), diff --git a/keyboards/gon/nerd60/keymaps/mauin/keymap.c b/keyboards/gon/nerd60/keymaps/mauin/keymap.c index fc553bcf16dc..78a2eb353c0d 100644 --- a/keyboards/gon/nerd60/keymaps/mauin/keymap.c +++ b/keyboards/gon/nerd60/keymaps/mauin/keymap.c @@ -1,12 +1,30 @@ +/* Copyright 2017 Marvin Ramin (@Mauin) + * + * 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 // Keymap layers -#define BASE_LAYER 0 -#define FUNCTION_LAYER 1 -#define SYSTEM_LAYER 2 +enum layer_names { + _BS, // Base Layer + _FN, // Function Layer + _SY // System Layer +}; -// Key aliases -#define __x__ KC_NO +enum custom_keycodes { + ESC_GRV = SAFE_RANGE +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Layer 0: Default Layer @@ -22,12 +40,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | Ctl|Alt|Gui | Space |Gui |Alt| F2| Ctl | * `-----------------------------------------------------------' */ - [BASE_LAYER] = LAYOUT_60( - F(0), 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, \ - MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, __x__, KC_ENT, \ - KC_LSFT, __x__, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, __x__, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(2), KC_RCTL \ + [_BS] = LAYOUT_all( + ESC_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, XXXXXXX, 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, + MO(1), 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, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(2), KC_RCTL ), /* Layer 1: Function Layer @@ -43,13 +61,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | * `-----------------------------------------------------------' */ - [FUNCTION_LAYER] = LAYOUT_60( - 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, \ - __x__, KC_MPRV, KC_MPLY, KC_MNXT, __x__, __x__, KC_PGUP, KC_HOME, KC_UP, KC_END, __x__, KC_SLCK, KC_PAUS, __x__, \ - KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, __x__, __x__, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, __x__, __x__, __x__, __x__, \ - KC_LSFT, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \ - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, __x__, __x__, __x__, __x__ \ - ), + [_FN] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_DEL, + XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_SLCK, KC_PAUS, XXXXXXX, + KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ), /* Layer 2: System Layer * ,-----------------------------------------------------------. @@ -64,45 +82,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | * `-----------------------------------------------------------' */ - [SYSTEM_LAYER] = LAYOUT_60( - RESET, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \ - __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \ - __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \ - __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, __x__, \ - __x__, __x__, __x__, __x__, __x__, __x__, KC_TRNS, __x__ \ + [_SY] = LAYOUT_all( + RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, XXXXXXX ), }; -enum function_id { - ESC_GRV, // Makes Esc behave like `~ when pressed with the left GUI modifier. This is the "switch between windows of the same application" key combination in macOS -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(ESC_GRV), -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t esc_grv_mask; - switch (id) { - case ESC_GRV: - esc_grv_mask = get_mods() & MOD_BIT(KC_LGUI); - if (record->event.pressed) { - if (esc_grv_mask) { - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - if (esc_grv_mask) { - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - } +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + uint8_t esc_grv_mask = get_mods() & MOD_BIT(KC_LGUI); + switch (keycode) { + case ESC_GRV: + if (esc_grv_mask) { + if (record->event.pressed) { + register_code16(G(KC_GRV)); + } else { + unregister_code16(G(KC_GRV)); + } + } else { + if (record->event.pressed) { + register_code(KC_ESC); + } else { + unregister_code(KC_ESC); + } + } + break; + } + return true; } diff --git a/keyboards/gon/nerd60/keymaps/mauin/rules.mk b/keyboards/gon/nerd60/keymaps/mauin/rules.mk index 949aff1cd7ca..4bf836c22a2a 100644 --- a/keyboards/gon/nerd60/keymaps/mauin/rules.mk +++ b/keyboards/gon/nerd60/keymaps/mauin/rules.mk @@ -1,7 +1,7 @@ # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/gon/nerd60/keymaps/via/keymap.c b/keyboards/gon/nerd60/keymaps/via/keymap.c new file mode 100644 index 000000000000..96b563db34ec --- /dev/null +++ b/keyboards/gon/nerd60/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2021 Ramsin Isreal + * + * 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 + +// Keymap layers +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( /* Base */ + 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_NUHS, 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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL + ), + + [1] = LAYOUT_all( /* System layer to have access to RESET button */ + 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, + _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, _______, + _______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, _______, + _______, _______, KC_APP, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______, _______, + RESET, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; diff --git a/keyboards/gon/nerd60/keymaps/via/rules.mk b/keyboards/gon/nerd60/keymaps/via/rules.mk new file mode 100644 index 000000000000..b972da789c6c --- /dev/null +++ b/keyboards/gon/nerd60/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +BACKLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gon/nerd60/nerd60.h b/keyboards/gon/nerd60/nerd60.h index 3f8f538e2733..03a3ffe9076b 100644 --- a/keyboards/gon/nerd60/nerd60.h +++ b/keyboards/gon/nerd60/nerd60.h @@ -2,10 +2,86 @@ #include "quantum.h" -#define LAYOUT_60( \ +#define LAYOUT_all( \ + K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K17, K16, \ + K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \ + K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, \ + K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \ + K60, K50, K87, K07, K27, K37, K47, K57 \ +) { \ + { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47 }, \ + { K50, K51, K52, K53, K54, K55, K56, K57 }, \ + { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \ + { K70, K71, K72, K73, K74, K75, K76, KC_NO }, \ + { K80, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K97 } \ +} + +#define LAYOUT_60_ansi( \ K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \ K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \ - K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K17, K56, \ + K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, \ + K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, \ + K60, K50, K87, K07, K27, K37, K47, K57 \ +) { \ + { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \ + { K10, K11, K12, K13, K14, K15, K16, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47 }, \ + { K50, K51, K52, K53, K54, K55, K56, K57 }, \ + { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \ + { K70, K71, K72, K73, K74, K75, KC_NO, KC_NO }, \ + { K80, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \ +} + +#define LAYOUT_60_ansi_split_bs_rshift( \ + K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K17, K16, \ + K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, \ + K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, \ + K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \ + K60, K50, K87, K07, K27, K37, K47, K57 \ +) { \ + { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47 }, \ + { K50, K51, K52, K53, K54, K55, K56, K57 }, \ + { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \ + { K70, K71, K72, K73, K74, K75, K76, KC_NO }, \ + { K80, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \ +} + +#define LAYOUT_60_iso( \ + K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, \ + K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, \ + K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K36, K56, \ + K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, \ + K60, K50, K87, K07, K27, K37, K47, K57 \ +) { \ + { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \ + { K10, K11, K12, K13, K14, K15, K16, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47 }, \ + { K50, K51, K52, K53, K54, K55, K56, K57 }, \ + { K60, K61, K62, K63, K64, K65, K66, KC_NO }, \ + { K70, K71, K72, K73, K74, K75, KC_NO, KC_NO }, \ + { K80, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K97 } \ +} + +#define LAYOUT_60_iso_split_bs_rshift( \ + K80, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K17, K16, \ + K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, \ + K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K36, K56, \ K70, K97, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K66, K76, \ K60, K50, K87, K07, K27, K37, K47, K57 \ ) { \ diff --git a/keyboards/gon/nerd60/rules.mk b/keyboards/gon/nerd60/rules.mk index 2401cbea8592..54e2466b0e98 100644 --- a/keyboards/gon/nerd60/rules.mk +++ b/keyboards/gon/nerd60/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -28,7 +21,7 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_iso 60_iso_split_bs_rshift diff --git a/keyboards/gon/nerdtkl/config.h b/keyboards/gon/nerdtkl/config.h index 8619cf24a76f..74d67f30d4d1 100644 --- a/keyboards/gon/nerdtkl/config.h +++ b/keyboards/gon/nerdtkl/config.h @@ -3,8 +3,8 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6965 +#define VENDOR_ID 0x4E45 // NE +#define PRODUCT_ID 0x5244 // RD #define DEVICE_VER 0x0001 #define MANUFACTURER GON #define PRODUCT NerD TKL @@ -22,6 +22,9 @@ #define MATRIX_COL_PINS { E6, B0, B1, B2, B3, F0, D0, D5, D1 } #define UNUSED_PINS +#define BOOTMAGIC_LITE_ROW 8 +#define BOOTMAGIC_LITE_COLUMN 0 + /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c index 3142209d6fb3..c4294c812e43 100644 --- a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c +++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c @@ -240,7 +240,7 @@ void matrix_scan_user(void) { } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { switch (biton32(state)) { case _BL: custom_backlight_level(0); diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk b/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk index 6151bcf23171..c82cafd606bf 100644 --- a/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk +++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk @@ -1,7 +1,7 @@ # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -18,7 +18,6 @@ UNICODEMAP_ENABLE = no # Enable extended unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 #VARIABLE_TRACE = no # Use this to debug changes to variable values -API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings KEY_LOCK_ENABLE = no # This enables key lock SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common TAP_DANCE_ENABLE = no # Enable TapDance functionality diff --git a/keyboards/gon/nerdtkl/keymaps/via/keymap.c b/keyboards/gon/nerdtkl/keymaps/via/keymap.c new file mode 100644 index 000000000000..297c6a091a48 --- /dev/null +++ b/keyboards/gon/nerdtkl/keymaps/via/keymap.c @@ -0,0 +1,58 @@ + /* Copyright 2020 Michael Kaylan + * + * 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 + +// Keymap layers +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_tkl( + 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_SLCK, 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_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_LCTL, 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, MO(1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_tkl( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [2] = LAYOUT_tkl( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT_tkl( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + +}; diff --git a/keyboards/gon/nerdtkl/keymaps/via/rules.mk b/keyboards/gon/nerdtkl/keymaps/via/rules.mk new file mode 100644 index 000000000000..df7e3909c92c --- /dev/null +++ b/keyboards/gon/nerdtkl/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes +BACKLIGHT_ENABLE = yes diff --git a/keyboards/gon/nerdtkl/rules.mk b/keyboards/gon/nerdtkl/rules.mk index 2401cbea8592..6abb371b821a 100644 --- a/keyboards/gon/nerdtkl/rules.mk +++ b/keyboards/gon/nerdtkl/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -28,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/gorthage_truck/config.h b/keyboards/gorthage_truck/config.h new file mode 100644 index 000000000000..46a928b9d639 --- /dev/null +++ b/keyboards/gorthage_truck/config.h @@ -0,0 +1,60 @@ +/* +Copyright 2021 s8erdude + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xB33F +#define PRODUCT_ID 0x58E4 +#define DEVICE_VER 0x0001 +#define MANUFACTURER s8erdude +#define PRODUCT gorthage_truck + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 9 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { C6, B6, B5, B4, C7, B3, B7, D7} +#define MATRIX_COL_PINS { F0, F1, F4, F7, D6, E6, B0, B1, B2} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +// LEFT -> RIGHT +// D5, D3, D2 +#define LED_NUM_LOCK_PIN D5 +#define LED_CAPS_LOCK_PIN D3 +#define LED_SCROLL_LOCK_PIN D2 + +#define ENCODERS_PAD_A { F5 } +#define ENCODERS_PAD_B { F6 } diff --git a/keyboards/gorthage_truck/gorthage_truck.c b/keyboards/gorthage_truck/gorthage_truck.c new file mode 100644 index 000000000000..27456669168d --- /dev/null +++ b/keyboards/gorthage_truck/gorthage_truck.c @@ -0,0 +1,29 @@ +/* Copyright 2021 s8erdude + * + * 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 "gorthage_truck.h" + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/gorthage_truck/gorthage_truck.h b/keyboards/gorthage_truck/gorthage_truck.h new file mode 100644 index 000000000000..ed0ff9d22881 --- /dev/null +++ b/keyboards/gorthage_truck/gorthage_truck.h @@ -0,0 +1,77 @@ +/* Copyright 2021 s8erdude + * + * 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 "quantum.h" + +#define XXX KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_3u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k40, k41, k42, k43, k44, k45, k46, k47, k48, \ + k10, k11, k12, k13, k14, k15, k16, k17, k50, k51, k52, k53, k54, k56, k57, k58, \ + k20, k21, k22, k23, k24, k25, k26, k27, k60, k61, k62, k63, k64, k65, k66, k67, k68, \ + k30, k31, k32, k34, k70, k71, k73, k74, k75, k76, k77, k78 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, XXX }, \ + { k30, k31, k32, XXX, k34, XXX, XXX, XXX, XXX }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, XXX, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \ + { k70, k71, XXX, k73, k74, k75, k76, k77, k78 } \ +} + +#define LAYOUT_7u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k40, k41, k42, k43, k44, k45, k46, k47, k48, \ + k10, k11, k12, k13, k14, k15, k16, k17, k50, k51, k52, k53, k54, k56, k57, k58, \ + k20, k21, k22, k23, k24, k25, k26, k27, k60, k61, k62, k63, k64, k65, k66, k67, k68, \ + k30, k31, k32, k37, k73, k74, k75, k76, k77, k78 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, XXX }, \ + { k30, k31, k32, XXX, XXX, XXX, XXX, k37, XXX }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, XXX, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \ + { XXX, XXX, XXX, k73, k74, k75, k76, k77, k78 } \ +} + +#define LAYOUT_10u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k40, k41, k42, k43, k44, k45, k46, k47, k48, \ + k10, k11, k12, k13, k14, k15, k16, k17, k50, k51, k52, k53, k54, k56, k57, k58, \ + k20, k21, k22, k23, k24, k25, k26, k27, k60, k61, k62, k63, k64, k65, k66, k67, k68, \ + k30, k36, k73, k74, k75, k76, k77, k78 \ +) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, XXX }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, XXX }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, XXX }, \ + { k30, XXX, XXX, XXX, XXX, XXX, k36, XXX, XXX }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \ + { k50, k51, k52, k53, k54, XXX, k56, k57, k58 }, \ + { k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \ + { XXX, XXX, XXX, k73, k74, k75, k76, k77, k78 } \ +} diff --git a/keyboards/gorthage_truck/info.json b/keyboards/gorthage_truck/info.json new file mode 100644 index 000000000000..05f20e806683 --- /dev/null +++ b/keyboards/gorthage_truck/info.json @@ -0,0 +1,210 @@ +{ + "keyboard_name": "gorthage_truck", + "url": "https://github.com/jpuerto96", + "maintainer": "jpuerto96 (s8erdude)", + "width": 18, + "height": 4.5, + "layouts": { + "LAYOUT_3u": { + "layout": [ + {"label":"Tab", "x":0, "y":0}, + {"label":"Q", "x":1, "y":0}, + {"label":"W", "x":2, "y":0}, + {"label":"E", "x":3, "y":0}, + {"label":"R", "x":4, "y":0}, + {"label":"T", "x":5, "y":0}, + {"label":"Y", "x":6, "y":0}, + {"label":"U", "x":7, "y":0}, + {"label":"I", "x":8, "y":0}, + {"label":"O", "x":9, "y":0}, + {"label":"P", "x":10, "y":0}, + {"label":"[{", "x":11, "y":0}, + {"label":"]}", "x":12, "y":0}, + {"label":"Play", "x":13.5, "y":0.5}, + {"label":"7", "x":15, "y":0}, + {"label":"8", "x":16, "y":0}, + {"label":"9", "x":17, "y":0}, + + {"label":"Caps Lock", "x":0, "y":1}, + {"label":"A", "x":1, "y":1}, + {"label":"S", "x":2, "y":1}, + {"label":"D", "x":3, "y":1}, + {"label":"F", "x":4, "y":1}, + {"label":"G", "x":5, "y":1}, + {"label":"H", "x":6, "y":1}, + {"label":"J", "x":7, "y":1}, + {"label":"K", "x":8, "y":1}, + {"label":"L", "x":9, "y":1}, + {"label":";:", "x":10, "y":1}, + {"label":"'\"", "x":11, "y":1}, + {"label":"\\|", "x":12, "y":1}, + {"label":"4", "x":15, "y":1}, + {"label":"5", "x":16, "y":1}, + {"label":"6", "x":17, "y":1}, + + {"label":"-_", "x":0, "y":2}, + {"label":"Z", "x":1, "y":2}, + {"label":"X", "x":2, "y":2}, + {"label":"C", "x":3, "y":2}, + {"label":"V", "x":4, "y":2}, + {"label":"B", "x":5, "y":2}, + {"label":"N", "x":6, "y":2}, + {"label":"M", "x":7, "y":2}, + {"label":",<", "x":8, "y":2}, + {"label":".>", "x":9, "y":2}, + {"label":"/?", "x":10, "y":2}, + {"label":"Shift", "x":11, "y":2}, + {"label":"Backspace", "x":12, "y":2}, + {"label":"\u2191", "x":13.5, "y":2.5}, + {"label":"1", "x":15, "y":2}, + {"label":"2", "x":16, "y":2}, + {"label":"3", "x":17, "y":2}, + + {"label":"Ctrl", "x":0, "y":3, "w":1.25}, + {"label":"Alt", "x":1.25, "y":3, "w":1.25}, + {"label":"GUI", "x":2.5, "y":3}, + {"label":"Space", "x":3.5, "y":3, "w":3}, + {"label":"Enter", "x":6.5, "y":3, "w":3}, + {"label":"GUI", "x":9.5, "y":3, "w":1.25}, + {"label":"Alt", "x":10.75, "y":3, "w":1.25}, + {"label":"\u2190", "x":12.5, "y":3.5}, + {"label":"\u2193", "x":13.5, "y":3.5}, + {"label":"\u2192", "x":14.5, "y":3.5}, + {"label":"0", "x":16, "y":3}, + {"label":".", "x":17, "y":3} + ] + }, + "LAYOUT_7u": { + "layout": [ + {"label":"Tab", "x":0, "y":0}, + {"label":"Q", "x":1, "y":0}, + {"label":"W", "x":2, "y":0}, + {"label":"E", "x":3, "y":0}, + {"label":"R", "x":4, "y":0}, + {"label":"T", "x":5, "y":0}, + {"label":"Y", "x":6, "y":0}, + {"label":"U", "x":7, "y":0}, + {"label":"I", "x":8, "y":0}, + {"label":"O", "x":9, "y":0}, + {"label":"P", "x":10, "y":0}, + {"label":"[{", "x":11, "y":0}, + {"label":"]}", "x":12, "y":0}, + {"label":"Play", "x":13.5, "y":0.5}, + {"label":"7", "x":15, "y":0}, + {"label":"8", "x":16, "y":0}, + {"label":"9", "x":17, "y":0}, + + {"label":"Caps Lock", "x":0, "y":1}, + {"label":"A", "x":1, "y":1}, + {"label":"S", "x":2, "y":1}, + {"label":"D", "x":3, "y":1}, + {"label":"F", "x":4, "y":1}, + {"label":"G", "x":5, "y":1}, + {"label":"H", "x":6, "y":1}, + {"label":"J", "x":7, "y":1}, + {"label":"K", "x":8, "y":1}, + {"label":"L", "x":9, "y":1}, + {"label":";:", "x":10, "y":1}, + {"label":"'\"", "x":11, "y":1}, + {"label":"\\|", "x":12, "y":1}, + {"label":"4", "x":15, "y":1}, + {"label":"5", "x":16, "y":1}, + {"label":"6", "x":17, "y":1}, + + {"label":"-_", "x":0, "y":2}, + {"label":"Z", "x":1, "y":2}, + {"label":"X", "x":2, "y":2}, + {"label":"C", "x":3, "y":2}, + {"label":"V", "x":4, "y":2}, + {"label":"B", "x":5, "y":2}, + {"label":"N", "x":6, "y":2}, + {"label":"M", "x":7, "y":2}, + {"label":",<", "x":8, "y":2}, + {"label":".>", "x":9, "y":2}, + {"label":"/?", "x":10, "y":2}, + {"label":"Shift", "x":11, "y":2}, + {"label":"Backspace", "x":12, "y":2}, + {"label":"\u2191", "x":13.5, "y":2.5}, + {"label":"1", "x":15, "y":2}, + {"label":"2", "x":16, "y":2}, + {"label":"3", "x":17, "y":2}, + + {"label":"Ctrl", "x":0, "y":3, "w":1.25}, + {"label":"Alt", "x":1.25, "y":3, "w":1.25}, + {"label":"GUI", "x":2.5, "y":3, "w":1.25}, + {"label":"Space", "x":3.75, "y":3, "w":7}, + {"label":"GUI", "x":10.75, "y":3, "w":1.25}, + {"label":"\u2190", "x":12.5, "y":3.5}, + {"label":"\u2193", "x":13.5, "y":3.5}, + {"label":"\u2192", "x":14.5, "y":3.5}, + {"label":"0", "x":16, "y":3}, + {"label":".", "x":17, "y":3} + ] + }, + "LAYOUT_10u": { + "layout": [ + {"label":"Tab", "x":0, "y":0}, + {"label":"Q", "x":1, "y":0}, + {"label":"W", "x":2, "y":0}, + {"label":"E", "x":3, "y":0}, + {"label":"R", "x":4, "y":0}, + {"label":"T", "x":5, "y":0}, + {"label":"Y", "x":6, "y":0}, + {"label":"U", "x":7, "y":0}, + {"label":"I", "x":8, "y":0}, + {"label":"O", "x":9, "y":0}, + {"label":"P", "x":10, "y":0}, + {"label":"[{", "x":11, "y":0}, + {"label":"]}", "x":12, "y":0}, + {"label":"Play", "x":13.5, "y":0.5}, + {"label":"7", "x":15, "y":0}, + {"label":"8", "x":16, "y":0}, + {"label":"9", "x":17, "y":0}, + + {"label":"Caps Lock", "x":0, "y":1}, + {"label":"A", "x":1, "y":1}, + {"label":"S", "x":2, "y":1}, + {"label":"D", "x":3, "y":1}, + {"label":"F", "x":4, "y":1}, + {"label":"G", "x":5, "y":1}, + {"label":"H", "x":6, "y":1}, + {"label":"J", "x":7, "y":1}, + {"label":"K", "x":8, "y":1}, + {"label":"L", "x":9, "y":1}, + {"label":";:", "x":10, "y":1}, + {"label":"'\"", "x":11, "y":1}, + {"label":"\\|", "x":12, "y":1}, + {"label":"4", "x":15, "y":1}, + {"label":"5", "x":16, "y":1}, + {"label":"6", "x":17, "y":1}, + + {"label":"-_", "x":0, "y":2}, + {"label":"Z", "x":1, "y":2}, + {"label":"X", "x":2, "y":2}, + {"label":"C", "x":3, "y":2}, + {"label":"V", "x":4, "y":2}, + {"label":"B", "x":5, "y":2}, + {"label":"N", "x":6, "y":2}, + {"label":"M", "x":7, "y":2}, + {"label":",<", "x":8, "y":2}, + {"label":".>", "x":9, "y":2}, + {"label":"/?", "x":10, "y":2}, + {"label":"Shift", "x":11, "y":2}, + {"label":"Backspace", "x":12, "y":2}, + {"label":"\u2191", "x":13.5, "y":2.5}, + {"label":"1", "x":15, "y":2}, + {"label":"2", "x":16, "y":2}, + {"label":"3", "x":17, "y":2}, + + {"label":"Ctrl", "x":0, "y":3}, + {"label":"Space", "x":1, "y":3, "w":10}, + {"label":"GUI", "x":11, "y":3}, + {"label":"\u2190", "x":12.5, "y":3.5}, + {"label":"\u2193", "x":13.5, "y":3.5}, + {"label":"\u2192", "x":14.5, "y":3.5}, + {"label":"0", "x":16, "y":3}, + {"label":".", "x":17, "y":3} + ] + } + } +} diff --git a/keyboards/gorthage_truck/keymaps/10u/keymap.c b/keyboards/gorthage_truck/keymaps/10u/keymap.c new file mode 100644 index 000000000000..f289c3c8c859 --- /dev/null +++ b/keyboards/gorthage_truck/keymaps/10u/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2021 s8erdude + * + * 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 { + _BASE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_10u( + 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_MINS, KC_MPLY, KC_1, KC_2, KC_3, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_EQL, KC_4, KC_5, KC_6, + KC_LCAP, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT, KC_SLSH, KC_GRV, KC_UP, KC_7, KC_8, KC_9, + KC_LGUI, KC_RSFT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOT, KC_0 + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/gorthage_truck/keymaps/10u/readme.md b/keyboards/gorthage_truck/keymaps/10u/readme.md new file mode 100644 index 000000000000..ba57cd8dc7c9 --- /dev/null +++ b/keyboards/gorthage_truck/keymaps/10u/readme.md @@ -0,0 +1 @@ +# The default keymap for gorthage_truck diff --git a/keyboards/gorthage_truck/keymaps/7u/keymap.c b/keyboards/gorthage_truck/keymaps/7u/keymap.c new file mode 100644 index 000000000000..679e6eeb64f2 --- /dev/null +++ b/keyboards/gorthage_truck/keymaps/7u/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2021 s8erdude + * + * 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 { + _BASE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_7u( + 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_MINS, KC_MPLY, KC_1, KC_2, KC_3, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_EQL, KC_4, KC_5, KC_6, + KC_LCAP, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT, KC_SLSH, KC_GRV, KC_UP, KC_7, KC_8, KC_9, + KC_LGUI, KC_LCTL, KC_LSFT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOT, KC_0 + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/gorthage_truck/keymaps/7u/readme.md b/keyboards/gorthage_truck/keymaps/7u/readme.md new file mode 100644 index 000000000000..ba57cd8dc7c9 --- /dev/null +++ b/keyboards/gorthage_truck/keymaps/7u/readme.md @@ -0,0 +1 @@ +# The default keymap for gorthage_truck diff --git a/keyboards/gorthage_truck/keymaps/default/keymap.c b/keyboards/gorthage_truck/keymaps/default/keymap.c new file mode 100644 index 000000000000..e875883250fa --- /dev/null +++ b/keyboards/gorthage_truck/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2021 s8erdude + * + * 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 { + _BASE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_3u( + 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_MINS, KC_MPLY, KC_1, KC_2, KC_3, + KC_SLCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_EQL, KC_4, KC_5, KC_6, + KC_NLCK, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT, KC_SLSH, KC_GRV, KC_UP, KC_7, KC_8, KC_9, + KC_CLCK, KC_LCTL, KC_LSFT, KC_SPC, KC_RSFT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOT, KC_0 + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/gorthage_truck/keymaps/default/readme.md b/keyboards/gorthage_truck/keymaps/default/readme.md new file mode 100644 index 000000000000..ba57cd8dc7c9 --- /dev/null +++ b/keyboards/gorthage_truck/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for gorthage_truck diff --git a/keyboards/gorthage_truck/readme.md b/keyboards/gorthage_truck/readme.md new file mode 100644 index 000000000000..047aa0434aea --- /dev/null +++ b/keyboards/gorthage_truck/readme.md @@ -0,0 +1,19 @@ +# gorthage_truck + +This PCB is a drop-in ortholinear replacement for the Garbage Truck keyboard case. It supports 2x3u split bars, 7u, or 10u. + +* Keyboard Maintainer: [s8erdude](https://github.com/jpuerto96) +* Hardware Supported: Gorthage Truck PCB +* Hardware Availability: [Open Source PCB](https://github.com/jpuerto96/gorthage_truck) + +Make example for this keyboard (after setting up your build environment): + + make gorthage_truck:default + +Flashing example for this keyboard: + + make gorthage_truck: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). + +To reset the board, you will want to short the pad labeled RESET1 on the back (near the MCU). diff --git a/keyboards/gorthage_truck/rules.mk b/keyboards/gorthage_truck/rules.mk new file mode 100644 index 000000000000..647c62c45251 --- /dev/null +++ b/keyboards/gorthage_truck/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +ENCODER_ENABLE = yes diff --git a/keyboards/gowla/rules.mk b/keyboards/gowla/rules.mk index bc65eff6dfcc..15093f76686a 100644 --- a/keyboards/gowla/rules.mk +++ b/keyboards/gowla/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output diff --git a/keyboards/gray_studio/cod67/cod67.c b/keyboards/gray_studio/cod67/cod67.c index b6c04a3e5762..494e06da7402 100644 --- a/keyboards/gray_studio/cod67/cod67.c +++ b/keyboards/gray_studio/cod67/cod67.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "cod67.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/gray_studio/cod67/keymaps/default/keymap.c b/keyboards/gray_studio/cod67/keymaps/default/keymap.c index 5403bf406f73..b84e073f7213 100644 --- a/keyboards/gray_studio/cod67/keymaps/default/keymap.c +++ b/keyboards/gray_studio/cod67/keymaps/default/keymap.c @@ -25,19 +25,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/gray_studio/cod67/rules.mk b/keyboards/gray_studio/cod67/rules.mk index 129bd624cce0..da8e487f0010 100644 --- a/keyboards/gray_studio/cod67/rules.mk +++ b/keyboards/gray_studio/cod67/rules.mk @@ -2,19 +2,15 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = lufa-ms +# This board uses the older unsafe 6k version of lufa-ms +BOOTLOADER_SIZE = 6144 + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/gray_studio/hb85/rules.mk b/keyboards/gray_studio/hb85/rules.mk index 981f6b514f96..2dba9c3eb9ec 100644 --- a/keyboards/gray_studio/hb85/rules.mk +++ b/keyboards/gray_studio/hb85/rules.mk @@ -2,17 +2,10 @@ MCU = atmega32a # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = bootloadHID +BOOTLOADER = bootloadhid # build options -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/gray_studio/space65/config.h b/keyboards/gray_studio/space65/config.h index 2375d95b368f..12ca563c94a0 100644 --- a/keyboards/gray_studio/space65/config.h +++ b/keyboards/gray_studio/space65/config.h @@ -185,26 +185,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/gray_studio/space65/keymaps/default/keymap.c b/keyboards/gray_studio/space65/keymaps/default/keymap.c index 17f44b3b6556..7979bba1c051 100644 --- a/keyboards/gray_studio/space65/keymaps/default/keymap.c +++ b/keyboards/gray_studio/space65/keymaps/default/keymap.c @@ -59,15 +59,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/gray_studio/space65/keymaps/iso/keymap.c b/keyboards/gray_studio/space65/keymaps/iso/keymap.c index 66c69eba8b57..a1f8af01b212 100644 --- a/keyboards/gray_studio/space65/keymaps/iso/keymap.c +++ b/keyboards/gray_studio/space65/keymaps/iso/keymap.c @@ -19,16 +19,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_65_iso_blocker( /* * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ - * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ ` │ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ ` │ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ - * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │     │Del│ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent├───┤ - * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │    │PUp│ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │Del│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent├───┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │PUp│ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ - * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │PDn│ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │PDn│ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ - * │Ctrl│LGUI│LAlt│      Spaaaaaaace       │RAlt│ L1 │ │ ← │ ↓ │ → │ - * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * │Ctrl│LGUI│LAlt│ Spaaaaaaace │RAlt│ L1 │ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ 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_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_DEL, @@ -39,16 +39,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [1] = LAYOUT_65_iso_blocker( /* * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ - * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│       │   │ + * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│ │ │ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ - * │ TOG │PLN│MOD│HU+│HU-│SA+│SA-│VA+│VA-│   │   │   │   │     │   │ - * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    ├───┤ - * │      │   │   │   │   │   │   │   │   │   │   │   │   │    │   │ + * │ TOG │PLN│MOD│HU+│HU-│SA+│SA-│VA+│VA-│ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ - * │    │   │   │   │   │   │   │   │   │   │   │   │      │   │   │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ - * │    │    │    │                        │    │    │ │   │   │   │ - * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + * │ │ │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ */ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, RGB_TOG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, diff --git a/keyboards/gray_studio/space65/rules.mk b/keyboards/gray_studio/space65/rules.mk index 4c8bf40bab4b..d667f65fbf16 100644 --- a/keyboards/gray_studio/space65/rules.mk +++ b/keyboards/gray_studio/space65/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/gray_studio/think65/hotswap/rules.mk b/keyboards/gray_studio/think65/hotswap/rules.mk index b0d113e640a4..1066a71ff1ab 100644 --- a/keyboards/gray_studio/think65/hotswap/rules.mk +++ b/keyboards/gray_studio/think65/hotswap/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c new file mode 100644 index 000000000000..4994fb3fa016 --- /dev/null +++ b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c @@ -0,0 +1,232 @@ +/* Copyright 2021 Qiaowei Tang + * + * 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 + + + /* + * LED ranges for Think6.5v2 2U + * These values were derived from manual testing. Derived from keymaps/rys. + * ┌───────┬───────┬─────────────┬───────────────────────────────────────────┐ + * │ 00 01 │ 02 03 │ 04 05 06 07 │ 08 09 10 11 12 13 14 15 16 17 18 19 20 21 │ + * │ badge │ badge │    (?)     │              underglow (?)                │ + * │  bar │ icon │         │                               │ + * └───────┴───────┴─────────────┴───────────────────────────────────────────┘ + */ + +// Define the LED ranges start, end +#define THINK65_LED_RANGE_OFF 0, 0 +#define THINK65_LED_RANGE_CAPS 0, 2 +#define THINK65_LED_RANGE_BADGE 0, 4 +#define THINK65_LED_RANGE_UNDERGLOW 4, 22 +#define THINK65_LED_RANGE_ALL 0, 22 + +// Turn the LEDs off by setting HSV to 0, 0, 0 +#define THINK65_LEDS_OFF 0, 0, 0 + +// Caps Lock indicator LED +#define THINK65_LEDS_CAPS 0, 0, 255 + +#define THINK65_LED_STATE_OFF 0x0 // 0b00000000 +#define THINK65_LED_STATE_CAPS 0x1 // 0b00000001 +#define THINK65_LED_STATE_BADGE 0x2 // 0b00000010 +#define THINK65_LED_STATE_CAPS_AND_BADGE 0x3 // 0b00000011 + +// Define each LED range as a bit flag +#define THINK65_LED_CAPS_RANGE_BIT 0 +#define THINK65_LED_BADGE_RANGE_BIT 1 + +// Setup some keycodes to control cycling and range toggling +enum { + KVM_SW1 = SAFE_RANGE, + KVM_SW2, + CYC_LED, + TOG_BDG +}; + +// setup the user EEPROM space we need +typedef union { + uint8_t raw; + struct { + uint8_t current_led_state:8; + }; +} user_config_t; + +user_config_t user_config; + +// toggle one of the range flag bits +void toggle_led_state(unsigned int led_range) { + if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) { + user_config.current_led_state ^= 1 << led_range; + } +} + +// set one of the range flag bits +void set_led_state(unsigned int led_range) { + if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) { + user_config.current_led_state |= 1 << led_range; + } +} + +// clear one of the range flag bits +void clear_led_state(unsigned int led_range) { + if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) { + user_config.current_led_state &= ~(1 << led_range); + } +} + +// cycle LED states: Off -> Esc -> Badge -> Underglow -> Esc+Badge -> Esc+Underglow -> Badge+Underglow -> All +void cycle_led_state(void) { + switch(user_config.current_led_state) { + case THINK65_LED_STATE_OFF: + user_config.current_led_state = THINK65_LED_STATE_CAPS; + break; + case THINK65_LED_STATE_CAPS: + user_config.current_led_state = THINK65_LED_STATE_BADGE; + break; + case THINK65_LED_STATE_BADGE: + user_config.current_led_state = THINK65_LED_STATE_CAPS_AND_BADGE; + break; + case THINK65_LED_STATE_CAPS_AND_BADGE: + user_config.current_led_state = THINK65_LED_STATE_OFF; + break; + default: + break; + } +} + +void apply_led_state(void) { + uint8_t h = rgblight_get_hue(); + uint8_t s = rgblight_get_sat(); + uint8_t v = rgblight_get_val(); + + // Set the RGB ranges based on the current state + switch(user_config.current_led_state) { + case THINK65_LED_STATE_OFF: + rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_ALL); + break; + case THINK65_LED_STATE_CAPS: + rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_BADGE); + rgblight_sethsv_range(THINK65_LEDS_CAPS, THINK65_LED_RANGE_CAPS); + break; + case THINK65_LED_STATE_BADGE: + rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_CAPS); + rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE); + break; + case THINK65_LED_STATE_CAPS_AND_BADGE: + rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE); + rgblight_sethsv_range(THINK65_LEDS_CAPS, THINK65_LED_RANGE_CAPS); + break; + default: + break; + } +} + +void keyboard_post_init_user(void) { + user_config.raw = eeconfig_read_user(); + + if (user_config.current_led_state >= THINK65_LED_STATE_OFF && user_config.current_led_state <= THINK65_LED_STATE_CAPS_AND_BADGE) { + // If the current state read from user EEPROM is valid, apply it + apply_led_state(); + } else { + // Setup a new default state of off + user_config.current_led_state = THINK65_LED_STATE_OFF; + apply_led_state(); + eeconfig_update_user(user_config.raw); + } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KVM_SW1: + if (record->event.pressed) { + SEND_STRING(SS_TAP(X_RCTL) SS_TAP(X_RCTL) "1"); + } else {} + break; + case KVM_SW2: + if(record->event.pressed) { + SEND_STRING(SS_TAP(X_RCTL) SS_TAP(X_RCTL) "2"); + } else {} + break; + case CYC_LED: + if (record->event.pressed) { + cycle_led_state(); + apply_led_state(); + eeconfig_update_user(user_config.raw); + } + break; + case TOG_BDG: + if (record->event.pressed) { + toggle_led_state(THINK65_LED_BADGE_RANGE_BIT); + apply_led_state(); + eeconfig_update_user(user_config.raw); + } + break; + case KC_CAPS: + if (!record->event.pressed) { + // connect capslock LED control to the badge LEDs + host_keyboard_led_state().caps_lock ? set_led_state(THINK65_LED_CAPS_RANGE_BIT) : clear_led_state(THINK65_LED_CAPS_RANGE_BIT); + apply_led_state(); + eeconfig_update_user(user_config.raw); + } + break; + } + return true; +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base Layer + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│` ~│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│Del│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ + * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ │ + * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ + * │Ctrl│ Opt│ Cmd│ Space │Cmd │FnPy│ │Lef│Dow│Rig│ + * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘ + */ + [0] = LAYOUT_65_ansi_blocker( + KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, XXXXXXX, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, XXXXXXX, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┬───┐ + * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│        │SW1│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┼───┤ + * │ TOG │PLN│MOD│HU+│HU-│SA+│SA-│VA+│VA-│ │ │Hom│End│ │SW2│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┼───┤ + * │ │CYC│BDG│UGL│CAP│ │ │ │ │ │ │ │ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬────┤ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │Vol+│ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼────┼───┤ + * │ │ │ │ │ │ │ │ │Vol-│ │ + * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴────┴───┘ + */ + [1] = LAYOUT_65_ansi_blocker( + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KVM_SW1, + TOG_BDG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_HOME, KC_END, _______, KVM_SW2, + _______, CYC_LED, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, + _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______ + ), + +}; + diff --git a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md new file mode 100644 index 000000000000..520e7e0752e3 --- /dev/null +++ b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md @@ -0,0 +1,9 @@ +# dangjoeltang's Think6.5v2 keymap + +My personal keymap for the Think6.5v2. Using the `LAYOUT_65_ansi_blocker` LAYOUT for a 2U blocker version. I added functionality to enable the Caps-lock indicator LED above the badge. This functionality shipped with the original board; however, for those who reflash their boards using the default `gray_studio/think65/solder` keymaps that functionality disappeared. + +## [Base Layer](http://www.keyboard-layout-editor.com/#/gists/9c6a905a643b77249958f28662348f53) +![Base Layer](https://imgur.com/Gyim08a) + +## [Function Layer](http://www.keyboard-layout-editor.com/#/gists/1c061d3664ea5caf5cb64c759339278d) +![Function Layer](https://imgur.com/H2Yqnv3) diff --git a/keyboards/gray_studio/think65/solder/readme.md b/keyboards/gray_studio/think65/solder/readme.md index 1d7e4450ad22..5f0ddfe5d8e6 100644 --- a/keyboards/gray_studio/think65/solder/readme.md +++ b/keyboards/gray_studio/think65/solder/readme.md @@ -1,10 +1,12 @@ -# Think6.5 Solder (Compatible) +# Think6.5 Solder V1/V2 -65% board with 6.5 degree angle ran by Airpotter and Oldcat. PCB Manufactured by DEMO Studio and Keyboard manufactured by Gray Studio. +65% PCB with center mount USB C ran by Airpotter and Oldcat through Graystudio. -Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) -Hardware Supported: Think6.5 Compatible PCB -Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=100166.0) +This firmware is compatible with both V1 and V2 variants of the Think 6.5 PCB. + +* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) +* Hardware Supported: Think6.5 V1 and V2 Compatible PCB +* Hardware Availability: [Geekhack V1 GB](https://geekhack.org/index.php?topic=100166.0), [Graystudio V2 GB](https://graystudio.club/products/gb-think6-5-v2) **Indicator LEDs:** The solder PCB ONLY supports Caps Lock LEDs unlike the Hotswap version that supports Num Lock, Caps Lock, and Scroll Lock. diff --git a/keyboards/gray_studio/think65/solder/rules.mk b/keyboards/gray_studio/think65/solder/rules.mk index b0d113e640a4..1066a71ff1ab 100644 --- a/keyboards/gray_studio/think65/solder/rules.mk +++ b/keyboards/gray_studio/think65/solder/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/gray_studio/think65/solder/solder.c b/keyboards/gray_studio/think65/solder/solder.c index 48ed25b19b67..619aa2db8d54 100644 --- a/keyboards/gray_studio/think65/solder/solder.c +++ b/keyboards/gray_studio/think65/solder/solder.c @@ -28,13 +28,6 @@ void matrix_init_kb(void) { matrix_init_user(); } -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - bool led_update_kb(led_t led_state) { if(led_update_user(led_state)) { writePin(C7, !led_state.caps_lock); diff --git a/keyboards/grid600/press/keymaps/default/keymap.c b/keyboards/grid600/press/keymaps/default/keymap.c index f253c692150d..ab42853e5fac 100644 --- a/keyboards/grid600/press/keymaps/default/keymap.c +++ b/keyboards/grid600/press/keymaps/default/keymap.c @@ -20,15 +20,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_G, KC_R, KC_I, KC_D ), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/grid600/press/rules.mk b/keyboards/grid600/press/rules.mk index b57bf344233b..9d85d7cc6579 100644 --- a/keyboards/grid600/press/rules.mk +++ b/keyboards/grid600/press/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/gskt00/keymaps/default/keymap.c b/keyboards/gskt00/keymaps/default/keymap.c index 792ba2f412d5..225d0224ea3d 100755 --- a/keyboards/gskt00/keymaps/default/keymap.c +++ b/keyboards/gskt00/keymaps/default/keymap.c @@ -35,48 +35,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, RGB_TOG) }; - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} - diff --git a/keyboards/gskt00/rules.mk b/keyboards/gskt00/rules.mk index f0bbcad813e1..4e262e042fae 100755 --- a/keyboards/gskt00/rules.mk +++ b/keyboards/gskt00/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/gvalchca/ga150/config.h b/keyboards/gvalchca/ga150/config.h new file mode 100644 index 000000000000..c815217702b6 --- /dev/null +++ b/keyboards/gvalchca/ga150/config.h @@ -0,0 +1,48 @@ +/* +Copyright 2021 Kirill Shkuretskiy + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6776 +#define PRODUCT_ID 0x6135 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Gvalchca +#define PRODUCT GA15.0 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS {B1,B2,B3,F1,F0} +#define MATRIX_COL_PINS {E6,B7,D5,D6,D7,B4,B5,B6,C6,C7,F7,F6,F5,F4,D3} + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define QMK_ESC_OUTPUT E6 // usually COL +#define QMK_ESC_INPUT B1 // usually ROW diff --git a/keyboards/gvalchca/ga150/ga150.c b/keyboards/gvalchca/ga150/ga150.c new file mode 100644 index 000000000000..3f098c4c534f --- /dev/null +++ b/keyboards/gvalchca/ga150/ga150.c @@ -0,0 +1,17 @@ + /* Copyright 2021 Kirill Shkuretskiy + * + * 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 "ga150.h" \ No newline at end of file diff --git a/keyboards/gvalchca/ga150/ga150.h b/keyboards/gvalchca/ga150/ga150.h new file mode 100644 index 000000000000..a569be829d18 --- /dev/null +++ b/keyboards/gvalchca/ga150/ga150.h @@ -0,0 +1,37 @@ + /* Copyright 2021 Kirill Shkuretskiy + * + * 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 "quantum.h" + +// readability +#define XXX KC_NO + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k46, k4a, k4b, k4c, k4d \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX}, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX}, \ + {k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX} \ +} diff --git a/keyboards/gvalchca/ga150/info.json b/keyboards/gvalchca/ga150/info.json new file mode 100644 index 000000000000..494b84af3989 --- /dev/null +++ b/keyboards/gvalchca/ga150/info.json @@ -0,0 +1,82 @@ +{ + "keyboard_name": "GA15.0", + "url": "", + "maintainer": "Gvalchca", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2}, + {"x": 13.75, "y": 2, "w": 1.25}, + + {"x": 0, "y": 3, "w": 1.25}, + {"x": 1.25, "y": 3}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 1.75}, + {"x": 14, "y": 3}, + + {"x": 0, "y": 4, "w": 1.25}, + {"x": 1.25, "y": 4, "w": 1.25}, + {"x": 2.5, "y": 4, "w": 1.25}, + {"x": 3.75, "y": 4, "w": 6.25}, + {"x": 10, "y": 4, "w": 1.25}, + {"x": 11.25, "y": 4, "w": 1.25}, + {"x": 12.5, "y": 4, "w": 1.25}, + {"x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/gvalchca/ga150/keymaps/default/keymap.c b/keyboards/gvalchca/ga150/keymaps/default/keymap.c new file mode 100644 index 000000000000..1f19a80850ea --- /dev/null +++ b/keyboards/gvalchca/ga150/keymaps/default/keymap.c @@ -0,0 +1,39 @@ + /* Copyright 2021 Kirill Shkuretskiy + * + * 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 { + _MAIN, + _FUNC +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_MAIN] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_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_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_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTRL, KC_RCTRL), + +[_FUNC] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/gvalchca/ga150/keymaps/default/readme.md b/keyboards/gvalchca/ga150/keymaps/default/readme.md new file mode 100644 index 000000000000..cee1f4cb9164 --- /dev/null +++ b/keyboards/gvalchca/ga150/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for GA15.0 \ No newline at end of file diff --git a/keyboards/gvalchca/ga150/keymaps/via/keymap.c b/keyboards/gvalchca/ga150/keymaps/via/keymap.c new file mode 100644 index 000000000000..3b4c4ae84b73 --- /dev/null +++ b/keyboards/gvalchca/ga150/keymaps/via/keymap.c @@ -0,0 +1,48 @@ + /* Copyright 2021 Kirill Shkuretskiy + * + * 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTRL), + +[1] = 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_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), + +[2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), + +[3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/gvalchca/ga150/keymaps/via/rules.mk b/keyboards/gvalchca/ga150/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/gvalchca/ga150/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gvalchca/ga150/readme.md b/keyboards/gvalchca/ga150/readme.md new file mode 100644 index 000000000000..4f44095b4a8d --- /dev/null +++ b/keyboards/gvalchca/ga150/readme.md @@ -0,0 +1,15 @@ +# Gvalchca GA15.0 + +Alps 60% PCB with some weird layouts support. To update the firmware connect the PCB to your computer and enter bootloader by pressing hardware Reset button near the MCU. + +![GA15.0 image](https://i.imgur.com/Z7tNlGDh.jpeg) + +* Keyboard Maintainer: [Gvalchca](https://github.com/Gvalch-ca) +* Hardware Supported: Gvalchca GA15.0 +* Hardware Availability: [KeebMeUp](https://keebmeup.com) + +Make example for this keyboard (after setting up your build environment): + + make gvalchca/ga150: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). diff --git a/keyboards/gvalchca/ga150/rules.mk b/keyboards/gvalchca/ga150/rules.mk new file mode 100644 index 000000000000..bc02f139715e --- /dev/null +++ b/keyboards/gvalchca/ga150/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = qmk-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +UNICODE_ENABLE = yes # Unicode +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gvalchca/spaccboard/config.h b/keyboards/gvalchca/spaccboard/config.h new file mode 100644 index 000000000000..64b13bd9bc8f --- /dev/null +++ b/keyboards/gvalchca/spaccboard/config.h @@ -0,0 +1,48 @@ +/* +Copyright 2021 Kirill Shkuretskiy + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6776 +#define PRODUCT_ID 0x5342 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Gvalchca +#define PRODUCT SpaccBoard + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS {B1,B2,B3,C7,F0} +#define MATRIX_COL_PINS {E6,B7,D5,D6,D7,B4,B5,B6,C6,F7,F6,F5,F4,F1,D3} + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define QMK_ESC_OUTPUT E6 // usually COL +#define QMK_ESC_INPUT B1 // usually ROW diff --git a/keyboards/gvalchca/spaccboard/info.json b/keyboards/gvalchca/spaccboard/info.json new file mode 100644 index 000000000000..051b5e0a2058 --- /dev/null +++ b/keyboards/gvalchca/spaccboard/info.json @@ -0,0 +1,214 @@ +{ + "keyboard_name": "SpaccBoard", + "url": "https://keebmeup.com", + "maintainer": "Gvalchca", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 2.75}, + + {"x": 0, "y": 4, "w": 1.5}, + {"x": 1.5, "y": 4}, + {"x": 2.5, "y": 4, "w": 1.5}, + {"x": 4, "y": 4, "w": 7}, + {"x": 11, "y": 4, "w": 1.5}, + {"x": 12.5, "y": 4}, + {"x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0, "w": 2}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + {"x": 13.5, "y": 1, "w": 1.5}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 2, "w": 2.25}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 2.75}, + + {"x": 0, "y": 4, "w": 1.5}, + {"x": 1.5, "y": 4}, + {"x": 2.5, "y": 4, "w": 1.5}, + {"x": 4, "y": 4, "w": 7}, + {"x": 11, "y": 4, "w": 1.5}, + {"x": 12.5, "y": 4}, + {"x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_bae": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1, "w": 1.5}, + {"x": 1.5, "y": 1}, + {"x": 2.5, "y": 1}, + {"x": 3.5, "y": 1}, + {"x": 4.5, "y": 1}, + {"x": 5.5, "y": 1}, + {"x": 6.5, "y": 1}, + {"x": 7.5, "y": 1}, + {"x": 8.5, "y": 1}, + {"x": 9.5, "y": 1}, + {"x": 10.5, "y": 1}, + {"x": 11.5, "y": 1}, + {"x": 12.5, "y": 1}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2}, + {"x": 11.75, "y": 2}, + {"x": 12.75, "y": 1, "w": 2.25, "h": 2}, + + {"x": 0, "y": 3, "w": 2.25}, + {"x": 2.25, "y": 3}, + {"x": 3.25, "y": 3}, + {"x": 4.25, "y": 3}, + {"x": 5.25, "y": 3}, + {"x": 6.25, "y": 3}, + {"x": 7.25, "y": 3}, + {"x": 8.25, "y": 3}, + {"x": 9.25, "y": 3}, + {"x": 10.25, "y": 3}, + {"x": 11.25, "y": 3}, + {"x": 12.25, "y": 3, "w": 2.75}, + + {"x": 0, "y": 4, "w": 1.5}, + {"x": 1.5, "y": 4}, + {"x": 2.5, "y": 4, "w": 1.5}, + {"x": 4, "y": 4, "w": 7}, + {"x": 11, "y": 4, "w": 1.5}, + {"x": 12.5, "y": 4}, + {"x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/gvalchca/spaccboard/keymaps/default/keymap.c b/keyboards/gvalchca/spaccboard/keymaps/default/keymap.c new file mode 100644 index 000000000000..e700e25fbfed --- /dev/null +++ b/keyboards/gvalchca/spaccboard/keymaps/default/keymap.c @@ -0,0 +1,39 @@ + /* Copyright 2021 Kirill Shkuretskiy + * + * 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 { + _MAIN, + _FUNC +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_MAIN] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_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, KC_RCTRL), + +[_FUNC] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/gvalchca/spaccboard/keymaps/default/readme.md b/keyboards/gvalchca/spaccboard/keymaps/default/readme.md new file mode 100644 index 000000000000..80a375dc055e --- /dev/null +++ b/keyboards/gvalchca/spaccboard/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for SpaccBoard \ No newline at end of file diff --git a/keyboards/gvalchca/spaccboard/keymaps/via/keymap.c b/keyboards/gvalchca/spaccboard/keymaps/via/keymap.c new file mode 100644 index 000000000000..ba289f7ed044 --- /dev/null +++ b/keyboards/gvalchca/spaccboard/keymaps/via/keymap.c @@ -0,0 +1,48 @@ + /* Copyright 2021 Kirill Shkuretskiy + * + * 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_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, _______, + KC_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_RGUI, MO(1), KC_RCTRL), + +[1] = 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_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______), + +[2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______), + +[3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______) +}; diff --git a/keyboards/gvalchca/spaccboard/keymaps/via/rules.mk b/keyboards/gvalchca/spaccboard/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/gvalchca/spaccboard/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gvalchca/spaccboard/readme.md b/keyboards/gvalchca/spaccboard/readme.md new file mode 100644 index 000000000000..09eaf9314db3 --- /dev/null +++ b/keyboards/gvalchca/spaccboard/readme.md @@ -0,0 +1,14 @@ +# Gvalchca x Jugizafupe SpaccBoard + +Space Invaders 60% PCB with ANSI and Big Ass Enter support. To update the firmware connect the PCB to your computer and press Reset button. +![SpaccBoard image](https://i.imgur.com/ZYSrQTr.jpeg) + +* Keyboard Maintainer: [Gvalchca](https://github.com/Gvalch-ca) +* Hardware Supported: Gvalchca x Jugizafupe SpaccBoard +* Hardware Availability: [KeebMeUp](https://keebmeup.com) + +Make example for this keyboard (after setting up your build environment): + + make gvalchca/spaccboard: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). diff --git a/keyboards/gvalchca/spaccboard/rules.mk b/keyboards/gvalchca/spaccboard/rules.mk new file mode 100644 index 000000000000..446d137da8aa --- /dev/null +++ b/keyboards/gvalchca/spaccboard/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = qmk-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +UNICODE_ENABLE = yes # Unicode +LTO_ENABLE = yes diff --git a/keyboards/gvalchca/spaccboard/spaccboard.c b/keyboards/gvalchca/spaccboard/spaccboard.c new file mode 100644 index 000000000000..57d512cc2b25 --- /dev/null +++ b/keyboards/gvalchca/spaccboard/spaccboard.c @@ -0,0 +1,17 @@ + /* Copyright 2021 Kirill Shkuretskiy + * + * 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 "spaccboard.h" \ No newline at end of file diff --git a/keyboards/gvalchca/spaccboard/spaccboard.h b/keyboards/gvalchca/spaccboard/spaccboard.h new file mode 100644 index 000000000000..49afca436e74 --- /dev/null +++ b/keyboards/gvalchca/spaccboard/spaccboard.h @@ -0,0 +1,66 @@ + /* Copyright 2021 Kirill Shkuretskiy + * + * 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 "quantum.h" + +#define ___ KC_NO + +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k42, k43, k47, k4b, k4c, k4d \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, ___ }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d, ___ }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___, ___ }, \ + { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, ___ } \ +} + +#define LAYOUT_ansi( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k42, k43, k47, k4b, k4c, k4d \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, ___, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, ___ }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d, ___ }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___, ___ }, \ + { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, ___ } \ +} + +#define LAYOUT_bae( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k40, k42, k43, k47, k4b, k4c, k4d \ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, ___, ___ }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, ___, k2d, ___ }, \ + { k30, ___, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, ___, ___ }, \ + { k40, ___, k42, k43, ___, ___, ___, k47, ___, ___, ___, k4b, k4c, k4d, ___ } \ +} diff --git a/keyboards/h0oni/hotduck/config.h b/keyboards/h0oni/hotduck/config.h new file mode 100644 index 000000000000..9865f5d30375 --- /dev/null +++ b/keyboards/h0oni/hotduck/config.h @@ -0,0 +1,74 @@ +/* Copyright 2021 Md Mashur Shalehin, aka h0oni + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4D53 +#define PRODUCT_ID 0x6844 //hD +#define DEVICE_VER 0x0001 +#define MANUFACTURER h0oni +#define PRODUCT hotDuck + +/* key matrix size */ +#define MATRIX_ROWS 7 +#define MATRIX_COLS 10 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7, F6, F5 } +#define MATRIX_COL_PINS { B5, B4, E6, D7, C6, D4, D0, D1, D2, D3} +#define UNUSED_PINS + +// #define LED_CAPS_LOCK_PIN B2 +// #define LED_PIN_ON_STATE 0 + +// /* Backlight Setup */ +// #define BACKLIGHT_PIN B5 +// #define BACKLIGHT_LEVELS 6 +// //#define BACKLIGHT_BREATHING + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* RGB Underglow + * F4 PIN for pre-soldered WS2812 LEDs + */ +#define RGB_DI_PIN F4 +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 20 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 15 +#define RGBLIGHT_VAL_STEP 15 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + diff --git a/keyboards/h0oni/hotduck/hotduck.c b/keyboards/h0oni/hotduck/hotduck.c new file mode 100644 index 000000000000..a251fb8987fa --- /dev/null +++ b/keyboards/h0oni/hotduck/hotduck.c @@ -0,0 +1,18 @@ +/* Copyright 2021 Md Mashur Shalehin, aka h0oni + * + * 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 "hotduck.h" + diff --git a/keyboards/h0oni/hotduck/hotduck.h b/keyboards/h0oni/hotduck/hotduck.h new file mode 100644 index 000000000000..2cc36a0aa809 --- /dev/null +++ b/keyboards/h0oni/hotduck/hotduck.h @@ -0,0 +1,37 @@ +/* Copyright 2021 Md Mashur Shalehin, aka h0oni + * + * 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 "quantum.h" + +#define LAYOUT_all( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K19, K59, K58, K57, K69, K68, K67,\ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K29, K39, K49, K56, K55, K66, K65, K64,\ + K20, K21, K22, K23, K24, K25, K35, K26, K27, K28, K38, K54, K53,\ + K30, K31, K32, K33, K34, K44, K45, K46, K36, K37, K48, K52, K63,\ + K40, K41, K42, K43, K47, K50, K51, K60, K61, K62\ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09}, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49 }, \ + { K50, K51, K52, K53, K54, K55, K56, K57, K58, K59 }, \ + { K60, K61, K62, K63, K64, K65, K66, K67, K68, K69 } \ +} + + diff --git a/keyboards/h0oni/hotduck/info.json b/keyboards/h0oni/hotduck/info.json new file mode 100644 index 000000000000..1239a77e6eee --- /dev/null +++ b/keyboards/h0oni/hotduck/info.json @@ -0,0 +1,85 @@ +{ + "keyboard_name": "hotDuck", + "url": "", + "maintainer": "h0oni", + "width": 17.25, + "height": 4, + "layouts": { + "LAYOUT_all": { + "layout": [{"label":"Esc", "x":0, "y":0}, + {"label":"!", "x":1, "y":0}, + {"label":"@", "x":2, "y":0}, + {"label":"#", "x":3, "y":0}, + {"label":"$", "x":4, "y":0}, + {"label":"%", "x":5, "y":0}, + {"label":"^", "x":6, "y":0}, + {"label":"&", "x":7, "y":0}, + {"label":"*", "x":8, "y":0}, + {"label":"(", "x":9, "y":0}, + {"label":")", "x":10, "y":0}, + {"label":"_", "x":11, "y":0}, + {"label":"+", "x":12, "y":0}, + {"label":"Bksp", "x":13, "y":0, "w":2}, + {"label":"Menu", "x":15.25, "y":0}, + {"label":"Home", "x":16.25, "y":0}, + {"label":"PgUp", "x":17.25, "y":0}, + + {"label":"Tab", "x":0, "y":1, "w":1.5}, + {"label":"Q", "x":1.5, "y":1}, + {"label":"W", "x":2.5, "y":1}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1}, + {"label":"T", "x":5.5, "y":1}, + {"label":"Y", "x":6.5, "y":1}, + {"label":"U", "x":7.5, "y":1}, + {"label":"I", "x":8.5, "y":1}, + {"label":"O", "x":9.5, "y":1}, + {"label":"P", "x":10.5, "y":1}, + {"label":"{", "x":11.5, "y":1}, + {"label":"}", "x":12.5, "y":1}, + {"label":"|", "x":13.5, "y":1, "w":1.5}, + {"label":"Del", "x":15.25, "y":1}, + {"label":"End", "x":16.25, "y":1}, + {"label":"PgDn", "x":17.25, "y":1}, + + {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"label":"A", "x":1.75, "y":2}, + {"label":"S", "x":2.75, "y":2}, + {"label":"D", "x":3.75, "y":2}, + {"label":"F", "x":4.75, "y":2}, + {"label":"G", "x":5.75, "y":2}, + {"label":"H", "x":6.75, "y":2}, + {"label":"J", "x":7.75, "y":2}, + {"label":"K", "x":8.75, "y":2}, + {"label":"L", "x":9.75, "y":2}, + {"label":":", "x":10.75, "y":2}, + {"label":"\"", "x":11.75, "y":2}, + {"label":"Enter", "x":12.75, "y":2, "w":2.25}, + + {"label":"Shift", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":3.25, "y":3}, + {"label":"C", "x":4.25, "y":3}, + {"label":"V", "x":5.25, "y":3}, + {"label":"B", "x":6.25, "y":3}, + {"label":"N", "x":7.25, "y":3}, + {"label":"M", "x":8.25, "y":3}, + {"label":"<", "x":9.25, "y":3}, + {"label":">", "x":10.25, "y":3}, + {"label":"?", "x":11.25, "y":3}, + {"label":"Shift", "x":12.25, "y":3,"w":2.75}, + {"label":"\u2191", "x":16.25, "y":3}, + + {"label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"label":"Alt", "x":1.25, "y":4, "w":1.25}, + {"label":"Win", "x":2.5, "y":4, "w":1.25}, + {"x":3.75, "y":4, "w":6.25}, + {"label":"Win", "x":10, "y":4, "w":1.25}, + {"label":"Alt", "x":11.25, "y":4, "w":1.25}, + {"label":"Ctrl", "x":12.5, "y":4, "w":1.25}, + {"label":"\u2190", "x":15.25, "y":4}, + {"label":"\u2193", "x":16.25, "y":4}, + {"label":"\u2192", "x":17.25, "y":4}] + } + } +} \ No newline at end of file diff --git a/keyboards/h0oni/hotduck/keymaps/default/keymap.c b/keyboards/h0oni/hotduck/keymaps/default/keymap.c new file mode 100644 index 000000000000..e06bac51ba69 --- /dev/null +++ b/keyboards/h0oni/hotduck/keymaps/default/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2021 Md Mashur Shalehin, aka h0oni + * + * 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_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, MO(1), 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_SLSH, KC_DEL, KC_END, KC_PGDOWN, + 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_BSLS, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, MO(1), TG(2), KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 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_all( + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,TG(2), MO(4), + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 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_all( + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,MO(4), + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 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/h0oni/hotduck/keymaps/via/keymap.c b/keyboards/h0oni/hotduck/keymaps/via/keymap.c new file mode 100644 index 000000000000..e06bac51ba69 --- /dev/null +++ b/keyboards/h0oni/hotduck/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2021 Md Mashur Shalehin, aka h0oni + * + * 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_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, MO(1), 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_SLSH, KC_DEL, KC_END, KC_PGDOWN, + 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_BSLS, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, MO(1), TG(2), KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 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_all( + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,TG(2), MO(4), + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 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_all( + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,MO(4), + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, 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/thevankeyboards/minivan/keymaps/via/rules.mk b/keyboards/h0oni/hotduck/keymaps/via/rules.mk similarity index 100% rename from keyboards/thevankeyboards/minivan/keymaps/via/rules.mk rename to keyboards/h0oni/hotduck/keymaps/via/rules.mk diff --git a/keyboards/h0oni/hotduck/readme.md b/keyboards/h0oni/hotduck/readme.md new file mode 100644 index 000000000000..e4c06c46daa0 --- /dev/null +++ b/keyboards/h0oni/hotduck/readme.md @@ -0,0 +1,12 @@ +# hotDuck TKL + +Built-in WS2182 RGB LED for underglow lighting. + +* Keyboard Maintainer: h0oni +* Hardware Supported: hotDuck_tkl + +Make example for this keyboard (after setting up your build environment): + + make h0oni/hotduck: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). \ No newline at end of file diff --git a/keyboards/h0oni/hotduck/rules.mk b/keyboards/h0oni/hotduck/rules.mk new file mode 100644 index 000000000000..d450f20691a6 --- /dev/null +++ b/keyboards/h0oni/hotduck/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output \ No newline at end of file diff --git a/keyboards/hadron/hadron.h b/keyboards/hadron/hadron.h index 426face6f4e6..c11774729f16 100644 --- a/keyboards/hadron/hadron.h +++ b/keyboards/hadron/hadron.h @@ -1,16 +1,17 @@ #ifndef HADRON_H #define HADRON_H -#ifdef SUBPROJECT_ver0 +#include "quantum.h" + +#ifdef KEYBOARD_hadron_ver0 #include "ver0.h" #endif -#ifdef SUBPROJECT_ver2 +#ifdef KEYBOARD_hadron_ver2 #include "ver2.h" #endif -#ifdef SUBPROJECT_ver3 +#ifdef KEYBOARD_hadron_ver3 #include "ver3.h" #endif -#include "quantum.h" #define LAYOUT( \ diff --git a/keyboards/hadron/ver2/rules.mk b/keyboards/hadron/ver2/rules.mk index 7e2ebf56719e..173ef84ddbb6 100644 --- a/keyboards/hadron/ver2/rules.mk +++ b/keyboards/hadron/ver2/rules.mk @@ -2,32 +2,23 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = yes SWAP_HANDS_ENABLE = no # Enable one-hand typing # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE diff --git a/keyboards/hadron/ver2/ver2.c b/keyboards/hadron/ver2/ver2.c index 739f06567a7f..f00b4f26d6bd 100644 --- a/keyboards/hadron/ver2/ver2.c +++ b/keyboards/hadron/ver2/ver2.c @@ -1,26 +1 @@ #include "ver2.h" - - -void matrix_init_kb(void) { - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} \ No newline at end of file diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h index 8c04575eeab2..574dc6b01650 100644 --- a/keyboards/hadron/ver3/config.h +++ b/keyboards/hadron/ver3/config.h @@ -127,26 +127,6 @@ //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ - -#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 2 /* Haptic Driver initialization settings * Feedback Control Settings */ diff --git a/keyboards/hadron/ver3/keymaps/default/keymap.c b/keyboards/hadron/ver3/keymaps/default/keymap.c index e8082eb71f8f..cec43e95d484 100644 --- a/keyboards/hadron/ver3/keymaps/default/keymap.c +++ b/keyboards/hadron/ver3/keymaps/default/keymap.c @@ -260,10 +260,3 @@ bool music_mask_user(uint16_t keycode) { return true; } } - -void matrix_init_user(void) { -} - - -void matrix_scan_user(void) { -} diff --git a/keyboards/hadron/ver3/keymaps/ishtob/keymap.c b/keyboards/hadron/ver3/keymaps/ishtob/keymap.c index 0998ad93b7d1..c1bfe1f1c155 100644 --- a/keyboards/hadron/ver3/keymaps/ishtob/keymap.c +++ b/keyboards/hadron/ver3/keymaps/ishtob/keymap.c @@ -176,7 +176,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); } diff --git a/keyboards/hadron/ver3/rules.mk b/keyboards/hadron/ver3/rules.mk index 62d7fb09e50f..f3cc14b17d2b 100644 --- a/keyboards/hadron/ver3/rules.mk +++ b/keyboards/hadron/ver3/rules.mk @@ -2,11 +2,14 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # BACKLIGHT_ENABLE = no -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -22,4 +25,3 @@ HAPTIC_ENABLE += DRV2605L QWIIC_ENABLE = yes QWIIC_DRIVERS += MICRO_OLED ENCODER_ENABLER = yes -# SERIAL_LINK_ENABLE = yes diff --git a/keyboards/hadron/ver3/ver3.c b/keyboards/hadron/ver3/ver3.c index 1491caba43f6..0664bf4b0ec2 100644 --- a/keyboards/hadron/ver3/ver3.c +++ b/keyboards/hadron/ver3/ver3.c @@ -18,6 +18,7 @@ #include "action_layer.h" #include "haptic.h" + #ifdef RGB_MATRIX_ENABLE #include "rgb_matrix.h" @@ -181,9 +182,13 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return process_record_user(keycode, record); } -void encoder_update_kb(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise); + +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) return false; encoder_value = (encoder_value + (clockwise ? 1 : -1)) % 64; queue_for_send = true; + return true; } #endif diff --git a/keyboards/hadron/ver3/ver3.h b/keyboards/hadron/ver3/ver3.h index 95926469bf8e..1ad44b871f14 100644 --- a/keyboards/hadron/ver3/ver3.h +++ b/keyboards/hadron/ver3/ver3.h @@ -15,4 +15,4 @@ */ #pragma once -#include "hadron.h" \ No newline at end of file +#include "hadron.h" diff --git a/keyboards/halberd/config.h b/keyboards/halberd/config.h index d21e9bb5244d..f56b99d2c435 100644 --- a/keyboards/halberd/config.h +++ b/keyboards/halberd/config.h @@ -164,26 +164,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/halberd/halberd.c b/keyboards/halberd/halberd.c index 8b59310a7fc5..8ce55ca3e57d 100644 --- a/keyboards/halberd/halberd.c +++ b/keyboards/halberd/halberd.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "halberd.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/halberd/keymaps/default/keymap.c b/keyboards/halberd/keymaps/default/keymap.c index c79a81deff60..d9a872c1b9dc 100644 --- a/keyboards/halberd/keymaps/default/keymap.c +++ b/keyboards/halberd/keymaps/default/keymap.c @@ -146,15 +146,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/halberd/rules.mk b/keyboards/halberd/rules.mk index a0eb4c804fb7..56818f5b2f3e 100644 --- a/keyboards/halberd/rules.mk +++ b/keyboards/halberd/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/halfcliff/config.h b/keyboards/halfcliff/config.h new file mode 100644 index 000000000000..287fd2f4ac7b --- /dev/null +++ b/keyboards/halfcliff/config.h @@ -0,0 +1,69 @@ +/* +Copyright 2021 n2 + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x0335 +#define PRODUCT_ID 0x0021 +#define DEVICE_VER 0x0001 +#define MANUFACTURER n2 +#define PRODUCT halfcliff + +/* key matrix size */ +#define MATRIX_ROWS 20 +#define MATRIX_COLS 5 + +#define MATRIX_ROW_PINS { F5, F6, F7, D7, B5, F5, F6, F7, D7, B5 } +#define MATRIX_COL_PINS { B4, E6, C6, B6, B2 } +#define UNUSED_PINS + +//#define NUMBER_OF_ENCODERS 1 +#define ENCODERS_PAD_A { D4 } +#define ENCODERS_PAD_B { F4 } +#define ENCODER_RESOLUTION 2 + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6 + + #define RGB_DI_PIN D3 + #ifdef RGB_DI_PIN + #define RGBLED_NUM 10 + #define RGBLIGHT_SPLIT + #define RGBLED_SPLIT { 5, 5 } + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + #endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/halfcliff/halfcliff.c b/keyboards/halfcliff/halfcliff.c new file mode 100644 index 000000000000..4e2910b8467c --- /dev/null +++ b/keyboards/halfcliff/halfcliff.c @@ -0,0 +1,92 @@ +/* Copyright 2021 n2 + * + * 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 "halfcliff.h" + +#ifdef OLED_ENABLE + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _DEFAULT = 0, + _RAISE, + _LOWER, + _ADJUST +/* _FN */ +}; + +__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) { + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + } + return rotation; +} + +__attribute__((weak)) void oled_task_user(void) { + if (!is_keyboard_master()) { + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + oled_write_P(qmk_logo, false); + } else { + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state)) { + case _DEFAULT: + oled_write_P(PSTR("DEFAULT\n"), false); + break; + case _RAISE: + oled_write_P(PSTR("RAISE\n"), false); + break; + case _LOWER: + oled_write_P(PSTR("LOWER\n"), false); + break; + case _ADJUST: + oled_write_P(PSTR("ADJUST\n"), false); + break; + default: + // Or use the write_ln shortcut over adding '\n' to the end of your string + oled_write_ln_P(PSTR("Undefined"), false); + }; + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCRLCK\n") : PSTR(" \n"), false); + } +} +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { return false; } + if (index == 0) { /* Left side encoder */ + if (clockwise) { + tap_code(KC_WH_U); + } else { + tap_code(KC_WH_D); + } + } else if (index == 1) { /* Right side encoder */ + if (clockwise) { + tap_code(KC_WH_U); + } else { + tap_code(KC_WH_D); + } + } + return true; +} +#endif diff --git a/keyboards/halfcliff/halfcliff.h b/keyboards/halfcliff/halfcliff.h new file mode 100644 index 000000000000..6e4c808641e5 --- /dev/null +++ b/keyboards/halfcliff/halfcliff.h @@ -0,0 +1,58 @@ +/* Copyright 2021 n2 + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +#define LAYOUT( \ + l51,l50,l00,l01,l02,l03,l04,r04,r03,r02,r01,r00,r50,r51,r52,\ + l61,l60,l10,l11,l12,l13,l14,r14,r13,r12,r11,r10,r60,r61,r62,\ + l71,l70,l20,l21,l22,l23,l24,r24,r23,r22,r21,r20,r70,r71,r72,\ + l81,l80,l30,l31,l32,l33,l34,r34,r33,r32,r31,r30,r80,r81,r82,\ + l91,l90,l40,l41,l42,l43,l44,r44,r43,r42,r41,r40,r90,r91,r92\ +) \ +{ \ + {l00, l01, l02, l03, l04 }, \ + {l10, l11, l12, l13, l14 }, \ + {l20, l21, l22, l23, l24 }, \ + {l30, l31, l32, l33, l34 }, \ + {l40, l41, l42, l43, l44 }, \ + {l50, l51, KC_NO,KC_NO,KC_NO}, \ + {l60, l61, KC_NO,KC_NO,KC_NO}, \ + {l70, l71, KC_NO,KC_NO,KC_NO}, \ + {l80, l81, KC_NO,KC_NO,KC_NO}, \ + {l90, l91, KC_NO,KC_NO,KC_NO}, \ + {r00, r01, r02, r03, r04 }, \ + {r10, r11, r12, r13, r14 }, \ + {r20, r21, r22, r23, r24 }, \ + {r30, r31, r32, r33, r34 }, \ + {r40, r41, r42, r43, r44 }, \ + {r50, r51, r52, KC_NO,KC_NO}, \ + {r60, r61, r62, KC_NO,KC_NO}, \ + {r70, r71, r72, KC_NO,KC_NO}, \ + {r80, r81, r82, KC_NO,KC_NO}, \ + {r90, r91, r92, KC_NO,KC_NO}, \ +} diff --git a/keyboards/halfcliff/info.json b/keyboards/halfcliff/info.json new file mode 100644 index 000000000000..2a859bb4c3cb --- /dev/null +++ b/keyboards/halfcliff/info.json @@ -0,0 +1,88 @@ +{ + "keyboard_name": "halfcliff", + "url": "https://github.com/N2-Sumikko", + "maintainer": "n2", + "width": 17.25, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0.75,"y":0}, + {"x":1.75,"y":0}, + {"x":2.75,"y":0}, + {"x":3.75,"y":0}, + {"x":4.75,"y":0}, + {"x":5.75,"y":0}, + {"x":6.75,"y":0}, + {"x":8.25,"y":0}, + {"x":9.25,"y":0}, + {"x":10.25,"y":0}, + {"x":11.25,"y":0}, + {"x":12.25,"y":0}, + {"x":13.25,"y":0}, + {"x":14.25,"y":0}, + {"x":15.25,"y":0}, + {"x":0.25,"y":1,"w":1.5}, + {"x":1.75,"y":1}, + {"x":2.75,"y":1}, + {"x":3.75,"y":1}, + {"x":4.75,"y":1}, + {"x":5.75,"y":1}, + {"x":6.75,"y":1}, + {"x":8.25,"y":1}, + {"x":9.25,"y":1}, + {"x":10.25,"y":1}, + {"x":11.25,"y":1}, + {"x":12.25,"y":1}, + {"x":13.25,"y":1}, + {"x":14.25,"y":1}, + {"x":16.25,"y":0}, + {"x":0,"y":2,"w":1.75}, + {"x":1.75,"y":2}, + {"x":2.75,"y":2}, + {"x":3.75,"y":2}, + {"x":4.75,"y":2}, + {"x":5.75,"y":2}, + {"x":6.75,"y":2}, + {"x":8.25,"y":2}, + {"x":9.25,"y":2}, + {"x":10.25,"y":2}, + {"x":11.25,"y":2}, + {"x":12.25,"y":2}, + {"x":13.25,"y":2}, + {"x":14.25,"y":2}, + {"x":15.5,"y":1,"w":1.25,"h":2}, + {"x":0,"y":3,"w":1.75}, + {"x":1.75,"y":3}, + {"x":2.75,"y":3}, + {"x":3.75,"y":3}, + {"x":4.75,"y":3}, + {"x":5.75,"y":3}, + {"x":6.75,"y":3}, + {"x":8.25,"y":3}, + {"x":9.25,"y":3}, + {"x":10.25,"y":3}, + {"x":11.25,"y":3}, + {"x":12.25,"y":3}, + {"x":13.25,"y":3}, + {"x":14.25,"y":3}, + {"x":15.25,"y":3,"w":2}, + {"x":0.5,"y":4,"w":1.25}, + {"x":1.75,"y":4}, + {"x":2.75,"y":4}, + {"x":3.75,"y":4}, + {"x":4.75,"y":4}, + {"x":5.75,"y":4}, + {"x":6.75,"y":4}, + {"x":8.25,"y":4}, + {"x":9.25,"y":4}, + {"x":10.25,"y":4}, + {"x":11.25,"y":4}, + {"x":12.25,"y":4}, + {"x":13.25,"y":4}, + {"x":14.25,"y":4}, + {"x":15.25,"y":4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/halfcliff/keymaps/default/keymap.c b/keyboards/halfcliff/keymaps/default/keymap.c new file mode 100644 index 000000000000..02743f5d4949 --- /dev/null +++ b/keyboards/halfcliff/keymaps/default/keymap.c @@ -0,0 +1,109 @@ +/* Copyright 2021 n2 + * + * 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 +#include "keymap_jp.h" + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _DEFAULT = 0, + _RAISE, + _LOWER, + _ADJUST +/* _FN */ +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* DEFAULT + * ,--------------------------------------------------------------------------------------------------------------------------------------. + * |ZEN/HAN | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | ^ | \ | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | TAB | q | w | e | r | t | | y | u | i | o | p | @ | [ | BSPC | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | CAPS | a | s | d | f | g | | h | j | k | l | ; | : | ] | ENT | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LSHIFT | z | x | c | v | b | | n | m | , | . | / | \ | UP | RSHIFT | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | CTRL | LGUI | ALT | MUHEN | SPACE | SPACE | LOWER | RAISE | SPACE | HENKAN | KANA | APP | LEFT | DOWN | RIGHT | + * `--------------------------------------------------------------------------------------------------------------------------------------' + */ + [_DEFAULT] = LAYOUT( + KC_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_CIRC, JP_YEN, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT , JP_LBRC, KC_BSPC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, JP_RBRC, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, MO(_LOWER), MO(_RAISE), KC_SPC, KC_HENK, KC_KANA, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT + ), + /* RAISE + * ,--------------------------------------------------------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * `--------------------------------------------------------------------------------------------------------------------------------------' + */ + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + /* LOWER + * ,--------------------------------------------------------------------------------------------------------------------------------------. + * | | | | | | |RGB_TOG | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | |RGB_VAI | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | |RGB_HUI | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | |RGB_SAI | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * `--------------------------------------------------------------------------------------------------------------------------------------' + */ + [_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + /* ADJUST + * ,--------------------------------------------------------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * `--------------------------------------------------------------------------------------------------------------------------------------' + */ + [_ADJUST] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/halfcliff/keymaps/default/readme.md b/keyboards/halfcliff/keymaps/default/readme.md new file mode 100644 index 000000000000..2924c68c24aa --- /dev/null +++ b/keyboards/halfcliff/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for halfcliff diff --git a/keyboards/halfcliff/keymaps/via/keymap.c b/keyboards/halfcliff/keymaps/via/keymap.c new file mode 100644 index 000000000000..e0a825e7c307 --- /dev/null +++ b/keyboards/halfcliff/keymaps/via/keymap.c @@ -0,0 +1,112 @@ +/* Copyright 2021 n2 + * + * 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 +#include "keymap_jp.h" + +#define RAISE FN_MO13 +#define LOWER FN_MO23 + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _DEFAULT = 0, + _RAISE, + _LOWER, + _ADJUST +/* _FN */ +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* DEFAULT + * ,--------------------------------------------------------------------------------------------------------------------------------------. + * |ZEN/HAN | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | ^ | \ | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | TAB | q | w | e | r | t | | y | u | i | o | p | @ | [ | BSPC | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | CAPS | a | s | d | f | g | | h | j | k | l | ; | : | ] | ENT | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | LSHIFT | z | x | c | v | b | | n | m | , | . | / | \ | UP | RSHIFT | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | CTRL | LGUI | ALT | MUHEN | SPACE | SPACE | LOWER | RAISE | SPACE | HENKAN | KANA | APP | LEFT | DOWN | RIGHT | + * `--------------------------------------------------------------------------------------------------------------------------------------' + */ + [_DEFAULT] = LAYOUT( + KC_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_CIRC, JP_YEN, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT , JP_LBRC, KC_BSPC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, JP_RBRC, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_UP, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, FN_MO23, FN_MO13, KC_SPC, KC_HENK, KC_KANA, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT + ), + /* RAISE + * ,--------------------------------------------------------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * `--------------------------------------------------------------------------------------------------------------------------------------' + */ + [_RAISE] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + /* LOWER + * ,--------------------------------------------------------------------------------------------------------------------------------------. + * | | | | | | |RGB_TOG | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | |RGB_VAI | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | |RGB_HUI | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | |RGB_SAI | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * `--------------------------------------------------------------------------------------------------------------------------------------' + */ + [_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + /* ADJUST + * ,--------------------------------------------------------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + * | | | | | | | | | | | | | | | | + * `--------------------------------------------------------------------------------------------------------------------------------------' + */ + [_ADJUST] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/halfcliff/keymaps/via/readme.md b/keyboards/halfcliff/keymaps/via/readme.md new file mode 100644 index 000000000000..2924c68c24aa --- /dev/null +++ b/keyboards/halfcliff/keymaps/via/readme.md @@ -0,0 +1 @@ +# The default keymap for halfcliff diff --git a/keyboards/halfcliff/keymaps/via/rules.mk b/keyboards/halfcliff/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/halfcliff/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/halfcliff/matrix.c b/keyboards/halfcliff/matrix.c new file mode 100644 index 000000000000..556b75ca5901 --- /dev/null +++ b/keyboards/halfcliff/matrix.c @@ -0,0 +1,277 @@ +/* +Copyright 2012 Jun Wako + +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 +#include +#include "util.h" +#include "matrix.h" +#include "debounce.h" +#include "quantum.h" +#include "split_util.h" +#include "config.h" +#include "transport.h" + +#define ERROR_DISCONNECT_COUNT 5 + +#define ROWS_PER_HAND (MATRIX_ROWS / 2) + +static pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; + +/* matrix state(1:on, 0:off) */ +static matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +static matrix_row_t matrix[MATRIX_ROWS]; // debounced values + +// row offsets for each hand +uint8_t thisHand, thatHand; + +// user-defined overridable functions +__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); } + +__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); } + +__attribute__((weak)) void matrix_init_user(void) {} + +__attribute__((weak)) void matrix_scan_user(void) {} + +__attribute__((weak)) void matrix_slave_scan_user(void) {} + +matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; } + +void matrix_print(void) {} + +static inline void setPinOutput_writeLow(pin_t pin) { + ATOMIC_BLOCK_FORCEON { + setPinOutput(pin); + writePinLow(pin); + } +} + +static inline void setPinInputHigh_atomic(pin_t pin) { + ATOMIC_BLOCK_FORCEON { setPinInputHigh(pin); } +} + +// matrix code +static void select_row(uint8_t row) { setPinOutput_writeLow(row_pins[row]); } + +static void unselect_row(uint8_t row) { setPinInputHigh_atomic(row_pins[row]); } + +static void unselect_rows(void) { + for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { + setPinInputHigh_atomic(row_pins[x]); + } +} + +static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { + // Start with a clear matrix row + matrix_row_t current_row_value = 0; + + // Select row + select_row(current_row); + wait_us(30); + + // For each col... + for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + // Select the col pin to read (active low) + uint8_t pin_state = readPin(col_pins[col_index]); + + // Populate the matrix row with the state of the col pin + current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + } + + // Unselect row + unselect_row(current_row); + if (current_row + 1 < MATRIX_ROWS) { + wait_us(30); // wait for row signal to go HIGH + } + + // If the row has changed, store the row and return the changed flag. + if (current_matrix[current_row] != current_row_value) { + current_matrix[current_row] = current_row_value; + return true; + } + return false; +} + +static void select_col(uint8_t col) { setPinOutput_writeLow(col_pins[col]); } + +static void unselect_col(uint8_t col) { setPinInputHigh_atomic(col_pins[col]); } + +static void unselect_cols(void) { + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + setPinInputHigh_atomic(col_pins[x]); + } +} + +static void init_pins(void) { + unselect_rows(); + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + setPinInputHigh_atomic(col_pins[x]); + } + unselect_cols(); + for (uint8_t x = 0; x < ROWS_PER_HAND; x++) { + setPinInputHigh_atomic(row_pins[x]); + } +} + +static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { + bool matrix_changed = false; + + // Select col + select_col(current_col); + wait_us(30); + + // For each row... + for (uint8_t row_index = 0; row_index < ROWS_PER_HAND; row_index++) { + // Store last value of row prior to reading + matrix_row_t last_row_value = current_matrix[row_index]; + matrix_row_t current_row_value = last_row_value; + + // Check row pin state + if (readPin(row_pins[row_index]) == 0) { + // Pin LO, set col bit + current_row_value |= (MATRIX_ROW_SHIFTER << current_col); + } else { + // Pin HI, clear col bit + current_row_value &= ~(MATRIX_ROW_SHIFTER << current_col); + } + + // Determine if the matrix changed state + if ((last_row_value != current_row_value)) { + matrix_changed |= true; + current_matrix[row_index] = current_row_value; + } + } + + // Unselect col + unselect_col(current_col); + if (current_col + 1 < MATRIX_COLS) { + wait_us(30); // wait for col signal to go HIGH + } + + return matrix_changed; +} + +void matrix_init(void) { + split_pre_init(); + + // Set pinout for right half if pinout for that half is defined + if (!isLeftHand) { +#ifdef DIRECT_PINS_RIGHT + const pin_t direct_pins_right[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS_RIGHT; + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + for (uint8_t j = 0; j < MATRIX_COLS; j++) { + direct_pins[i][j] = direct_pins_right[i][j]; + } + } +#endif +#ifdef MATRIX_ROW_PINS_RIGHT + const pin_t row_pins_right[MATRIX_ROWS] = MATRIX_ROW_PINS_RIGHT; + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + row_pins[i] = row_pins_right[i]; + } +#endif +#ifdef MATRIX_COL_PINS_RIGHT + const pin_t col_pins_right[MATRIX_COLS] = MATRIX_COL_PINS_RIGHT; + for (uint8_t i = 0; i < MATRIX_COLS; i++) { + col_pins[i] = col_pins_right[i]; + } +#endif + } + + thisHand = isLeftHand ? 0 : (ROWS_PER_HAND); + thatHand = ROWS_PER_HAND - thisHand; + + // initialize key pins + init_pins(); + + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + raw_matrix[i] = 0; + matrix[i] = 0; + } + + debounce_init(ROWS_PER_HAND); + + matrix_init_quantum(); + + split_post_init(); +} + +bool matrix_post_scan(void) { + bool changed = false; + if (is_keyboard_master()) { + static uint8_t error_count; + + matrix_row_t slave_matrix[ROWS_PER_HAND] = {0}; + if (!transport_master(matrix + thisHand, slave_matrix)) { + error_count++; + + if (error_count > ERROR_DISCONNECT_COUNT) { + // reset other half if disconnected + for (int i = 0; i < ROWS_PER_HAND; ++i) { + matrix[thatHand + i] = 0; + slave_matrix[i] = 0; + } + + changed = true; + } + } else { + error_count = 0; + + for (int i = 0; i < ROWS_PER_HAND; ++i) { + if (matrix[thatHand + i] != slave_matrix[i]) { + matrix[thatHand + i] = slave_matrix[i]; + changed = true; + } + } + } + + matrix_scan_quantum(); + } else { + transport_slave(matrix + thatHand, matrix + thisHand); + + matrix_slave_scan_user(); + } + + return changed; +} + +uint8_t matrix_scan(void) { + bool local_changed = false; + static matrix_row_t temp_raw_matrix[MATRIX_ROWS]; // temp raw values + + // Set row, read cols + for (uint8_t current_row = 0; current_row < ROWS_PER_HAND/2; current_row++) { + local_changed |= read_cols_on_row(raw_matrix, current_row); + } + + // Set col, read rows + for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { + local_changed |= read_rows_on_col(temp_raw_matrix, current_col); + //Updated key matrix on lines 6-10 (or lines 16-20) + if(local_changed) { + for (uint8_t i = ROWS_PER_HAND/2; i < ROWS_PER_HAND; i++) { + raw_matrix[i] = temp_raw_matrix[i]; + } + } + } + + debounce(raw_matrix, matrix + thisHand, ROWS_PER_HAND, local_changed); + + bool remote_changed = matrix_post_scan(); + return (uint8_t)(local_changed || remote_changed); +} diff --git a/keyboards/halfcliff/readme.md b/keyboards/halfcliff/readme.md new file mode 100644 index 000000000000..37e8d85c20fc --- /dev/null +++ b/keyboards/halfcliff/readme.md @@ -0,0 +1,19 @@ +# halfcliff + +![halfcliff](https://user-images.githubusercontent.com/54104281/125184713-0b096b00-e25b-11eb-8237-5f4d2a286bc4.jpg) + +Halfcliff keyboard is a split keyboard using a single-sided board. + +* Keyboard Maintainer: [n2](https://github.com/N2-Sumikko) +* Hardware Supported: halfcliff PCB, Pro Micro +* Hardware Availability: [PCB & Plate Data](https://github.com/N2-Sumikko/HalfCliff.git) + +Make example for this keyboard (after setting up your build environment): + + make halfcliff:default + +Flashing example for this keyboard: + + make halfcliff: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). diff --git a/keyboards/halfcliff/rules.mk b/keyboards/halfcliff/rules.mk new file mode 100644 index 000000000000..0ecdbb5e54e4 --- /dev/null +++ b/keyboards/halfcliff/rules.mk @@ -0,0 +1,29 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes +ENCODER_ENABLE = no +POINTING_DEVICE_ENABLE = no +CUSTOM_MATRIX = yes +OLED_ENABLE = no + +SRC += matrix.c diff --git a/keyboards/hand88/rules.mk b/keyboards/hand88/rules.mk index 3067704c5034..8837462e5140 100755 --- a/keyboards/hand88/rules.mk +++ b/keyboards/hand88/rules.mk @@ -1,6 +1,9 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Do not put the microcontroller into power saving mode # when we get USB suspend event. We want it to keep updating # backlight effects. @@ -9,7 +12,7 @@ OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/108key_trackpoint/rules.mk b/keyboards/handwired/108key_trackpoint/rules.mk index 6cb226c22df4..ff3e98d5d59e 100644 --- a/keyboards/handwired/108key_trackpoint/rules.mk +++ b/keyboards/handwired/108key_trackpoint/rules.mk @@ -2,19 +2,12 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c b/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c index 23614a9b7818..d567c9febd70 100644 --- a/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c +++ b/keyboards/handwired/2x5keypad/keymaps/default_tapdance/keymap.c @@ -17,36 +17,36 @@ enum tap_codes { A_Y, I_I, O_C, U_U }; -#define FR_A_GRAVE "00E0" -#define FR_A_HAT "00E2" +#define FR_A_GRAVE 0x00E0 // à +#define FR_A_HAT 0x00E2 // â -#define FR_C_CIRCUM "00E7" +#define FR_C_CIRCUM 0x00E7 // ç -#define FR_E_AIGU "00E9" -#define FR_E_GRAVE "00E8" -#define FR_E_HAT "00EA" -#define FR_E_UMLAUT "00EB" +#define FR_E_AIGU 0x00E9 // é +#define FR_E_GRAVE 0x00E8 // è +#define FR_E_HAT 0x00EA // ê +#define FR_E_UMLAUT 0x00EB // ë -#define FR_I_HAT "00EE" -#define FR_I_UMLAUT "00EF" +#define FR_I_HAT 0x00EE // î +#define FR_I_UMLAUT 0x00EF // ï -#define FR_O_HAT "00F4" +#define FR_O_HAT 0x00F4 // ô -#define FR_U_GRAVE "00F9" -#define FR_U_HAT "00FB" -#define FR_U_UMLAUT "00FC" +#define FR_U_GRAVE 0x00F9 // ù +#define FR_U_HAT 0x00FB // û +#define FR_U_UMLAUT 0x00FC // ü -#define FR_Y_UMLAUT "00FF" +#define FR_Y_UMLAUT 0x00FF // ÿ -#define FR_L_QUOTE "00AB" -#define FR_R_QUOTE "00BB" +#define FR_L_QUOTE 0x00AB // « +#define FR_R_QUOTE 0x00BB // » -void send_french_unicode_char(uint8_t count, char *once, char *twice) +void send_french_unicode_char(uint8_t count, uint32_t once, uint32_t twice) { if (count <= 1) - send_unicode_hex_string(once); + register_unicode(once); else - send_unicode_hex_string(twice); + register_unicode(twice); } void dance_a_q(qk_tap_dance_state_t *state, void *user_data) diff --git a/keyboards/handwired/2x5keypad/rules.mk b/keyboards/handwired/2x5keypad/rules.mk index 997c9c0e986b..6d0028f5f6d4 100644 --- a/keyboards/handwired/2x5keypad/rules.mk +++ b/keyboards/handwired/2x5keypad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina AUDIO_ENABLE = no BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite COMMAND_ENABLE = no # Commands for debug and configuration CONSOLE_ENABLE= no # Console for debug EXTRAKEY_ENABLE = yes # Audio control and System control diff --git a/keyboards/handwired/3dp660/config.h b/keyboards/handwired/3dp660/config.h index e719cf2c255d..60ab13deaacd 100644 --- a/keyboards/handwired/3dp660/config.h +++ b/keyboards/handwired/3dp660/config.h @@ -19,11 +19,11 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6075 +#define VENDOR_ID 0x676F // "go" - gooberpsycho +#define PRODUCT_ID 0x3660 // "3" "660" #define DEVICE_VER 0x0001 -#define MANUFACTURER Handwired -#define PRODUCT 3dp660 +#define MANUFACTURER gooberpsycho +#define PRODUCT 3dp660 Handwired #define TAPPING_TERM 400 diff --git a/keyboards/handwired/3dp660/rules.mk b/keyboards/handwired/3dp660/rules.mk index d97f13a39d8e..aa4cc54a94c9 100644 --- a/keyboards/handwired/3dp660/rules.mk +++ b/keyboards/handwired/3dp660/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/412_64/412_64.c b/keyboards/handwired/412_64/412_64.c index eaec54ade88e..4a8cc006943b 100644 --- a/keyboards/handwired/412_64/412_64.c +++ b/keyboards/handwired/412_64/412_64.c @@ -1,29 +1 @@ - #include "412_64.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/handwired/412_64/config.h b/keyboards/handwired/412_64/config.h index 542a77e755f8..e0336d966f0f 100644 --- a/keyboards/handwired/412_64/config.h +++ b/keyboards/handwired/412_64/config.h @@ -141,23 +141,3 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - diff --git a/keyboards/handwired/412_64/keymaps/default/keymap.c b/keyboards/handwired/412_64/keymaps/default/keymap.c index 27966eb9a513..ac8f47bd0693 100644 --- a/keyboards/handwired/412_64/keymaps/default/keymap.c +++ b/keyboards/handwired/412_64/keymaps/default/keymap.c @@ -70,19 +70,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/412_64/rules.mk b/keyboards/handwired/412_64/rules.mk index 044a6d01e9ea..248e2fedb9a1 100644 --- a/keyboards/handwired/412_64/rules.mk +++ b/keyboards/handwired/412_64/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,9 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 - -LAYOUTS = ortho_4x16 diff --git a/keyboards/handwired/42/rules.mk b/keyboards/handwired/42/rules.mk index 1ea057e44410..a61114628f11 100644 --- a/keyboards/handwired/42/rules.mk +++ b/keyboards/handwired/42/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328p USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -28,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode diff --git a/keyboards/handwired/6key/keymaps/default/keymap.c b/keyboards/handwired/6key/keymaps/default/keymap.c index 509d999e5406..ad73597bab79 100644 --- a/keyboards/handwired/6key/keymaps/default/keymap.c +++ b/keyboards/handwired/6key/keymaps/default/keymap.c @@ -1,17 +1,17 @@ - /* Copyright 2020 Bratzworth - * - * 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 . + /* Copyright 2020 Bratzworth + * + * 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 @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void dip_switch_update_user(uint8_t index, bool active) { +bool dip_switch_update_user(uint8_t index, bool active) { switch (index) { case 0: { if (active) { @@ -43,4 +43,5 @@ void dip_switch_update_user(uint8_t index, bool active) { } } } -} \ No newline at end of file + return true; +} diff --git a/keyboards/handwired/6key/rules.mk b/keyboards/handwired/6key/rules.mk index c31208d512f5..38f1be94bcae 100644 --- a/keyboards/handwired/6key/rules.mk +++ b/keyboards/handwired/6key/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/6macro/rules.mk b/keyboards/handwired/6macro/rules.mk index 253720ad69cf..5fd79386360f 100644 --- a/keyboards/handwired/6macro/rules.mk +++ b/keyboards/handwired/6macro/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/aek64/keymaps/default/keymap.c b/keyboards/handwired/aek64/keymaps/default/keymap.c index 5b9115902dc8..9ddb15691478 100644 --- a/keyboards/handwired/aek64/keymaps/default/keymap.c +++ b/keyboards/handwired/aek64/keymaps/default/keymap.c @@ -15,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ Ctrl │ Alt │ Gui │ Space │ Gui │ Alt │ Ctrl │ * └──────┴──────┴──────┴──────────────────────────────────────────────────────────────┴──────┴──────┴──────┘ * - * Hidden features :  + * Hidden features : * - Left Shift is also Home on a single tap. * - Left Ctrl is also End on a single tap. * - Right Shift is also page-up on a single tap. diff --git a/keyboards/handwired/aek64/rules.mk b/keyboards/handwired/aek64/rules.mk index 52c306130687..e03827cde22b 100644 --- a/keyboards/handwired/aek64/rules.mk +++ b/keyboards/handwired/aek64/rules.mk @@ -2,19 +2,12 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change to no to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/handwired/aim65/rules.mk b/keyboards/handwired/aim65/rules.mk index fd76a52478f7..7f0fa90fde73 100644 --- a/keyboards/handwired/aim65/rules.mk +++ b/keyboards/handwired/aim65/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/amigopunk/amigopunk.c b/keyboards/handwired/amigopunk/amigopunk.c new file mode 100644 index 000000000000..dbb70415ac79 --- /dev/null +++ b/keyboards/handwired/amigopunk/amigopunk.c @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2021 Christiano Haesbaert + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "amigopunk.h" diff --git a/keyboards/handwired/amigopunk/amigopunk.h b/keyboards/handwired/amigopunk/amigopunk.h new file mode 100644 index 000000000000..273cd09e3fe1 --- /dev/null +++ b/keyboards/handwired/amigopunk/amigopunk.h @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2021 Christiano Haesbaert + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0G, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ + K51, K53, K57, K5B, K5D, K5E, K5F, K5G \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, KC_NO, K0G }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F, KC_NO }, \ + { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, KC_NO }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO }, \ + { KC_NO, K51, KC_NO, K53, KC_NO, KC_NO, KC_NO, K57, KC_NO, KC_NO, KC_NO, K5B, KC_NO, K5D, K5E, K5F, K5G }, \ +} diff --git a/keyboards/handwired/amigopunk/config.h b/keyboards/handwired/amigopunk/config.h new file mode 100644 index 000000000000..29141234d491 --- /dev/null +++ b/keyboards/handwired/amigopunk/config.h @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2021 Christiano Haesbaert + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x1805 +#define DEVICE_VER 0x0001 +#define MANUFACTURER haesbaert +#define PRODUCT amigopunk + +/* Key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 17 + +/* Key matrix pins */ +#define MATRIX_ROW_PINS { C0, C1, C2, C3, C4, C5 } +#define MATRIX_COL_PINS { B6, B5, B4, B3, B2, B1, B0, E7, E6, F0, F1, F2, F3, F4, F5, F6, F7 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Encoder setup */ +#ifdef ENCODER_ENABLE +#define ENCODERS_PAD_A { E0 } +#define ENCODERS_PAD_B { E1 } +#endif + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/amigopunk/info.json b/keyboards/handwired/amigopunk/info.json new file mode 100644 index 000000000000..ac9aec8f5604 --- /dev/null +++ b/keyboards/handwired/amigopunk/info.json @@ -0,0 +1,93 @@ +{ + "keyboard_name": "amigopunk", + "url": "www.haesbaert.org", + "maintainer": "haesbaert", + "width": 17, + "height": 6, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (C0,B6)", "x":0, "y":0.25}, + {"label":"K01 (C0,B5)", "x":1, "y":0.25}, + {"label":"K02 (C0,B4)", "x":2, "y":0.25}, + {"label":"K03 (C0,B3)", "x":3, "y":0.25}, + {"label":"K04 (C0,B2)", "x":4, "y":0.25}, + {"label":"K05 (C0,B1)", "x":5, "y":0.25}, + {"label":"K06 (C0,B0)", "x":6, "y":0.25}, + {"label":"K07 (C0,E7)", "x":7, "y":0.25}, + {"label":"K08 (C0,E6)", "x":8, "y":0.25}, + {"label":"K09 (C0,F0)", "x":9, "y":0.25}, + {"label":"K0A (C0,F1)", "x":10, "y":0.25}, + {"label":"K0B (C0,F2)", "x":11, "y":0.25}, + {"label":"K0C (C0,F3)", "x":12, "y":0.25}, + {"label":"K0D (C0,F4)", "x":13, "y":0.25}, + {"label":"K0E (C0,F5)", "x":14, "y":0.25}, + {"label":"K0G (C0,F7)", "x":16, "y":0.25}, + {"label":"K10 (C1,B6)", "x":0, "y":1.25}, + {"label":"K11 (C1,B5)", "x":1, "y":1.25}, + {"label":"K12 (C1,B4)", "x":2, "y":1.25}, + {"label":"K13 (C1,B3)", "x":3, "y":1.25}, + {"label":"K14 (C1,B2)", "x":4, "y":1.25}, + {"label":"K15 (C1,B1)", "x":5, "y":1.25}, + {"label":"K16 (C1,B0)", "x":6, "y":1.25}, + {"label":"K17 (C1,E7)", "x":7, "y":1.25}, + {"label":"K18 (C1,E6)", "x":8, "y":1.25}, + {"label":"K19 (C1,F0)", "x":9, "y":1.25}, + {"label":"K1A (C1,F1)", "x":10, "y":1.25}, + {"label":"K1B (C1,F2)", "x":11, "y":1.25}, + {"label":"K1C (C1,F3)", "x":12, "y":1.25}, + {"label":"K1E (C1,F5)", "x":13, "y":1.25, "w":2}, + {"label":"K1F (C1,F6)", "x":15, "y":1.25}, + {"label":"K20 (C2,B6)", "x":0, "y":2.25, "w":1.5}, + {"label":"K22 (C2,B4)", "x":1.5, "y":2.25}, + {"label":"K23 (C2,B3)", "x":2.5, "y":2.25}, + {"label":"K24 (C2,B2)", "x":3.5, "y":2.25}, + {"label":"K25 (C2,B1)", "x":4.5, "y":2.25}, + {"label":"K26 (C2,B0)", "x":5.5, "y":2.25}, + {"label":"K27 (C2,E7)", "x":6.5, "y":2.25}, + {"label":"K28 (C2,E6)", "x":7.5, "y":2.25}, + {"label":"K29 (C2,F0)", "x":8.5, "y":2.25}, + {"label":"K2A (C2,F1)", "x":9.5, "y":2.25}, + {"label":"K2B (C2,F2)", "x":10.5, "y":2.25}, + {"label":"K2C (C2,F3)", "x":11.5, "y":2.25}, + {"label":"K2D (C2,F4)", "x":12.5, "y":2.25}, + {"label":"K2E (C2,F5)", "x":13.5, "y":2.25, "w":1.5}, + {"label":"K2F (C2,F6)", "x":15, "y":2.25}, + {"label":"K30 (C3,B6)", "x":0, "y":3.25, "w":1.75}, + {"label":"K32 (C3,B4)", "x":1.75, "y":3.25}, + {"label":"K33 (C3,B3)", "x":2.75, "y":3.25}, + {"label":"K34 (C3,B2)", "x":3.75, "y":3.25}, + {"label":"K35 (C3,B1)", "x":4.75, "y":3.25}, + {"label":"K36 (C3,B0)", "x":5.75, "y":3.25}, + {"label":"K37 (C3,E7)", "x":6.75, "y":3.25}, + {"label":"K38 (C3,E6)", "x":7.75, "y":3.25}, + {"label":"K39 (C3,F0)", "x":8.75, "y":3.25}, + {"label":"K3A (C3,F1)", "x":9.75, "y":3.25}, + {"label":"K3B (C3,F2)", "x":10.75, "y":3.25}, + {"label":"K3C (C3,F3)", "x":11.75, "y":3.25}, + {"label":"K3D (C3,F4)", "x":12.75, "y":3.25, "w":2.25}, + {"label":"K41 (C4,B5)", "x":0, "y":4.25, "w":2.25}, + {"label":"K42 (C4,B4)", "x":2.25, "y":4.25}, + {"label":"K43 (C4,B3)", "x":3.25, "y":4.25}, + {"label":"K44 (C4,B2)", "x":4.25, "y":4.25}, + {"label":"K45 (C4,B1)", "x":5.25, "y":4.25}, + {"label":"K46 (C4,B0)", "x":6.25, "y":4.25}, + {"label":"K47 (C4,E7)", "x":7.25, "y":4.25}, + {"label":"K48 (C4,E6)", "x":8.25, "y":4.25}, + {"label":"K49 (C4,F0)", "x":9.25, "y":4.25}, + {"label":"K4A (C4,F1)", "x":10.25, "y":4.25}, + {"label":"K4B (C4,F2)", "x":11.25, "y":4.25}, + {"label":"K4D (C4,F4)", "x":12.25, "y":4.25, "w":2.75}, + {"label":"K4F (C4,F6)", "x":15, "y":4.25}, + {"label":"K51 (C5,B5)", "x":1, "y":5.25, "w":1.5}, + {"label":"K53 (C5,B3)", "x":2.5, "y":5.25, "w":1.5}, + {"label":"K57 (C5,E7)", "x":4, "y":5.25, "w":7}, + {"label":"K5B (C5,F2)", "x":11, "y":5.25, "w":1.5}, + {"label":"K5D (C5,F4)", "x":12.5, "y":5.25, "w":1.5}, + {"label":"K5E (C5,F5)", "x":14, "y":5.25}, + {"label":"K5F (C5,F6)", "x":15, "y":5.25}, + {"label":"K5G (C5,F7)", "x":16, "y":5.25} + ] + } + } +} diff --git a/keyboards/handwired/amigopunk/keymaps/default/keymap.c b/keyboards/handwired/amigopunk/keymaps/default/keymap.c new file mode 100644 index 000000000000..b7df62979a4e --- /dev/null +++ b/keyboards/handwired/amigopunk/keymaps/default/keymap.c @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2021 Christiano Haesbaert + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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_INS, KC_DEL, KC_MUTE, + 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_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_LCTL, 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_UP, + KC_LGUI, KC_LALT, KC_SPC, XXXXXXX, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, KC_PSCR, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, + _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + +}; + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index != 0) + return false; + + tap_code(clockwise ? KC_VOLU : KC_VOLD); + return true; +} +#endif + +#ifdef OLED_ENABLE + +static void render_amigopunk_logo(void) { + static const char PROGMEM amigopunk_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x0f, 0x03, 0xff, 0xfc, 0x80, 0x00, 0x00, + 0x00, 0xf8, 0xf8, 0x60, 0x30, 0xf8, 0xf0, 0x20, 0x30, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x38, 0x38, + 0x38, 0xf9, 0xf9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0x38, 0x18, 0x18, 0xf8, + 0xf8, 0x98, 0x18, 0x00, 0x00, 0x00, 0xe0, 0xf0, 0xf0, 0x38, 0x38, 0x78, 0xf0, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x03, 0x03, 0x03, 0x03, 0xff, 0xff, 0x78, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf8, 0xf0, 0x20, 0x30, 0x78, 0xf8, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xc0, 0xf0, 0xf8, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xfe, 0x7f, 0x0f, 0x0e, 0x0e, 0x0e, 0x7f, 0xff, 0xf0, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xe0, 0xe0, + 0xe0, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xbc, 0xfd, 0xe7, 0xe6, 0xe6, 0xe3, + 0xe3, 0xc1, 0x80, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0x78, 0xe0, 0xe0, 0xf0, 0x7f, 0x3f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf0, 0x60, 0x20, 0x30, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x07, 0x1f, 0x7f, 0xf8, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + oled_write_raw_P(amigopunk_logo, sizeof(amigopunk_logo)); +} +void oled_task_user(void) { + render_amigopunk_logo(); + /* oled_write_P(PSTR("Amigo Punk\n"), false); */ +} +#endif diff --git a/keyboards/handwired/amigopunk/readme.md b/keyboards/handwired/amigopunk/readme.md new file mode 100644 index 000000000000..bad49bd53f19 --- /dev/null +++ b/keyboards/handwired/amigopunk/readme.md @@ -0,0 +1,19 @@ +# amigopunk + +![amigopunk](https://i.imgur.com/7uVsX1vh.jpeg) + +A 75% handwired with rotary encoder and OLED using matias clicky ALPS. + +* Keyboard Maintainer: [haesbaert](https://github.com/haesbaert) +* Hardware Supported: Teensy 2.0++ +* Hardware Availability: haesbaert@haesbaert.org + +Make example for this keyboard (after setting up your build environment): + + make handwired/amigopunk:default + +Flashing example for this keyboard: + + make handwired/amigopunk: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). diff --git a/keyboards/handwired/amigopunk/rules.mk b/keyboards/handwired/amigopunk/rules.mk new file mode 100644 index 000000000000..521832f2d51d --- /dev/null +++ b/keyboards/handwired/amigopunk/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = halfkay + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/handwired/angel/rules.mk b/keyboards/handwired/angel/rules.mk index 8a411ac604a4..f0e9a7a83bfe 100644 --- a/keyboards/handwired/angel/rules.mk +++ b/keyboards/handwired/angel/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/aplx2/rules.mk b/keyboards/handwired/aplx2/rules.mk index 6765381b9399..43d9c83c1e20 100644 --- a/keyboards/handwired/aplx2/rules.mk +++ b/keyboards/handwired/aplx2/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode diff --git a/keyboards/handwired/aranck/aranck.c b/keyboards/handwired/aranck/aranck.c index 2e67ec1dae7c..62e36bdb46bb 100644 --- a/keyboards/handwired/aranck/aranck.c +++ b/keyboards/handwired/aranck/aranck.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "aranck.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - - - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} \ No newline at end of file diff --git a/keyboards/handwired/aranck/config.h b/keyboards/handwired/aranck/config.h index 7d0ab25fe423..625df566fec9 100644 --- a/keyboards/handwired/aranck/config.h +++ b/keyboards/handwired/aranck/config.h @@ -205,26 +205,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/aranck/rules.mk b/keyboards/handwired/aranck/rules.mk index 237d6c0c42f3..a43f562129bc 100644 --- a/keyboards/handwired/aranck/rules.mk +++ b/keyboards/handwired/aranck/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = yes # Audio output on port C6 diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk b/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk index d2403c9ecb36..0f1a6c15b510 100644 --- a/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk +++ b/keyboards/handwired/arrow_pad/keymaps/pad_21/rules.mk @@ -1,4 +1,4 @@ -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk b/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk index b305f8482a8b..8863d737fa34 100644 --- a/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk +++ b/keyboards/handwired/arrow_pad/keymaps/pad_24/rules.mk @@ -1,4 +1,4 @@ -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/handwired/arrow_pad/rules.mk b/keyboards/handwired/arrow_pad/rules.mk index 65fc42a062ef..6da2eb0fe55d 100644 --- a/keyboards/handwired/arrow_pad/rules.mk +++ b/keyboards/handwired/arrow_pad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/atreus50/atreus50.h b/keyboards/handwired/atreus50/atreus50.h index e2e8510b62e2..a53c267424e6 100644 --- a/keyboards/handwired/atreus50/atreus50.h +++ b/keyboards/handwired/atreus50/atreus50.h @@ -18,19 +18,6 @@ { k30, k31, k32, k33, k34, k35, km1, k36, k37, k38, k39, k3a, k3b } \ } -#define LAYOUT_kc( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, km0, km1, k36, k37, k38, k39, k3a, k3b \ -) \ -{ \ - { KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_NO, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b }, \ - { KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_NO, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b }, \ - { KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##km0, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b }, \ - { KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##km1, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b } \ -} - #define KC_ KC_TRNS #endif diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/config.h b/keyboards/handwired/atreus50/keymaps/ajp10304/config.h index f5e6bbabe6c8..4f15c5626969 100644 --- a/keyboards/handwired/atreus50/keymaps/ajp10304/config.h +++ b/keyboards/handwired/atreus50/keymaps/ajp10304/config.h @@ -1,3 +1,19 @@ +/* Copyright 2021 Alan Pocklington + * + * 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 . + */ + #ifndef CONFIG_USER_H #define CONFIG_USER_H diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c b/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c index 46a5995d0d03..2b0616ad7e72 100644 --- a/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c +++ b/keyboards/handwired/atreus50/keymaps/ajp10304/keymap.c @@ -1,3 +1,19 @@ +/* Copyright 2021 Alan Pocklington + * + * 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 #include "keymap_uk.h" #include "ajp10304.h" diff --git a/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md b/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md index 5c6a703a8ea0..4f1bac8da930 100644 --- a/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md +++ b/keyboards/handwired/atreus50/keymaps/ajp10304/readme.md @@ -1,5 +1,5 @@ # AJP10304 Custom Atreus50 Layout -# Also available for the Planck, Shark and JJ40 +# Also available for the Planck, Shark, Quark and JJ40 **Note:** In the tables below where there are two characters on a key, the second is the output when shift is applied. diff --git a/keyboards/handwired/atreus50/rules.mk b/keyboards/handwired/atreus50/rules.mk index e8b551fbb736..b4f234bac4e1 100644 --- a/keyboards/handwired/atreus50/rules.mk +++ b/keyboards/handwired/atreus50/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/handwired/axon/axon.c b/keyboards/handwired/axon/axon.c new file mode 100644 index 000000000000..e5d7122138a2 --- /dev/null +++ b/keyboards/handwired/axon/axon.c @@ -0,0 +1,18 @@ +/* +Copyright 2021 Robin Liu + +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 "axon.h" diff --git a/keyboards/handwired/axon/axon.h b/keyboards/handwired/axon/axon.h new file mode 100644 index 000000000000..0d3a5c90b7b8 --- /dev/null +++ b/keyboards/handwired/axon/axon.h @@ -0,0 +1,85 @@ +/* +Copyright 2021 Robin Liu + +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 "quantum.h" + +/* +* Default layout: +* 2.75u - 2.25u spacebar +*/ +#define LAYOUT_default( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K310, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, \ + K301, K302, K304, K306, K308, K309 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210 }, \ + { KC_NO, K301, K302, KC_NO, K304, KC_NO, K306, KC_NO, K308, K309, K310 } \ +} + +/* +* Spaceswap layout: +* Electrically identical to default +* 2.25u - 2.75u spacebar +*/ +#define LAYOUT_spaceswap( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K310, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, \ + K301, K302, K304, K306, K308, K309 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210 }, \ + { KC_NO, K301, K302, KC_NO, K304, KC_NO, K306, KC_NO, K308, K309, K310 } \ +} + +/* +* 6.25u spacebar layout: +* 6.25u spacebar +*/ +#define LAYOUT_space6p25u( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K310, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, \ + K301, K302, K306, K309 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210 }, \ + { KC_NO, K301, K302, KC_NO, KC_NO, KC_NO, K306, KC_NO, KC_NO, K309, K310 } \ +} + +/* +* 7u spacebar layout: +* 7u spacebar +*/ +#define LAYOUT_space7u( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K310, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, \ + K301, K304, K309 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210 }, \ + { KC_NO, K301, KC_NO, KC_NO, K304, KC_NO, KC_NO, KC_NO, KC_NO, K309, K310 } \ +} diff --git a/keyboards/handwired/axon/config.h b/keyboards/handwired/axon/config.h new file mode 100644 index 000000000000..ef015194e807 --- /dev/null +++ b/keyboards/handwired/axon/config.h @@ -0,0 +1,48 @@ +/* +Copyright 2021 Robin Liu + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER RobinL +#define PRODUCT Axon + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 11 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D5, D6, D4, D0 } +#define MATRIX_COL_PINS { B0, D7, B1, B2, C0, C1, C2, C3, C4, C5, D1 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/handwired/axon/info.json b/keyboards/handwired/axon/info.json new file mode 100644 index 000000000000..70048a864053 --- /dev/null +++ b/keyboards/handwired/axon/info.json @@ -0,0 +1,192 @@ +{ + "keyboard_name": "Axon", + "url": "https://github.com/thatfellarobin/axon", + "maintainer": "Robin L.", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT_default": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + + {"x": 0, "y": 1, "w": 1.25}, + {"x": 1.25, "y": 1}, + {"x": 2.25, "y": 1}, + {"x": 3.25, "y": 1}, + {"x": 4.25, "y": 1}, + {"x": 5.25, "y": 1}, + {"x": 6.25, "y": 1}, + {"x": 7.25, "y": 1}, + {"x": 8.25, "y": 1}, + {"x": 9.25, "y": 1}, + {"x": 10.25, "y": 1, "w": 1.75}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2, "w": 1.25}, + + {"x": 1.25, "y": 3, "w": 1.25}, + {"x": 2.5, "y": 3, "w": 1.25}, + {"x": 3.75, "y": 3, "w": 2.75}, + {"x": 6.5, "y": 3, "w": 2.25}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3} + ] + }, + "LAYOUT_spaceswap": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + + {"x": 0, "y": 1, "w": 1.25}, + {"x": 1.25, "y": 1}, + {"x": 2.25, "y": 1}, + {"x": 3.25, "y": 1}, + {"x": 4.25, "y": 1}, + {"x": 5.25, "y": 1}, + {"x": 6.25, "y": 1}, + {"x": 7.25, "y": 1}, + {"x": 8.25, "y": 1}, + {"x": 9.25, "y": 1}, + {"x": 10.25, "y": 1, "w": 1.75}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2, "w": 1.25}, + + {"x": 1.25, "y": 3, "w": 1.25}, + {"x": 2.5, "y": 3, "w": 1.25}, + {"x": 3.75, "y": 3, "w": 2.25}, + {"x": 6, "y": 3, "w": 2.75}, + {"x": 8.75, "y": 3}, + {"x": 9.75, "y": 3} + ] + }, + "LAYOUT_space6p25u": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + + {"x": 0, "y": 1, "w": 1.25}, + {"x": 1.25, "y": 1}, + {"x": 2.25, "y": 1}, + {"x": 3.25, "y": 1}, + {"x": 4.25, "y": 1}, + {"x": 5.25, "y": 1}, + {"x": 6.25, "y": 1}, + {"x": 7.25, "y": 1}, + {"x": 8.25, "y": 1}, + {"x": 9.25, "y": 1}, + {"x": 10.25, "y": 1, "w": 1.75}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2, "w": 1.25}, + + {"x": 1.25, "y": 3, "w": 1.25}, + {"x": 2.5, "y": 3}, + {"x": 3.5, "y": 3, "w": 6.25}, + {"x": 9.75, "y": 3} + ] + }, + "LAYOUT_space7u": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + {"x": 7, "y": 0}, + {"x": 8, "y": 0}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + + {"x": 0, "y": 1, "w": 1.25}, + {"x": 1.25, "y": 1}, + {"x": 2.25, "y": 1}, + {"x": 3.25, "y": 1}, + {"x": 4.25, "y": 1}, + {"x": 5.25, "y": 1}, + {"x": 6.25, "y": 1}, + {"x": 7.25, "y": 1}, + {"x": 8.25, "y": 1}, + {"x": 9.25, "y": 1}, + {"x": 10.25, "y": 1, "w": 1.75}, + + {"x": 0, "y": 2, "w": 1.75}, + {"x": 1.75, "y": 2}, + {"x": 2.75, "y": 2}, + {"x": 3.75, "y": 2}, + {"x": 4.75, "y": 2}, + {"x": 5.75, "y": 2}, + {"x": 6.75, "y": 2}, + {"x": 7.75, "y": 2}, + {"x": 8.75, "y": 2}, + {"x": 9.75, "y": 2}, + {"x": 10.75, "y": 2, "w": 1.25}, + + {"x": 1.25, "y": 3, "w": 1.25}, + {"x": 2.5, "y": 3, "w": 7}, + {"x": 9.5, "y": 3, "w": 1.25} + ] + } + } +} diff --git a/keyboards/handwired/axon/keymaps/default/keymap.c b/keyboards/handwired/axon/keymaps/default/keymap.c new file mode 100644 index 000000000000..2afa56ef3c9e --- /dev/null +++ b/keyboards/handwired/axon/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +/* +Copyright 2021 Robin Liu + +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] = { + + LAYOUT_default(//Layer 0 + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, MO(2), + KC_LALT, KC_LCTL, KC_SPACE, MO(1), KC_RCTL, KC_RALT + ), + + LAYOUT_default(//Layer 1 + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_TAB, KC_MINS, KC_EQL, KC_SCLN, KC_QUOT, KC_HOME, KC_END, KC_NO, KC_UP, KC_TRNS, KC_ENTER, + KC_LSFT, KC_LBRC, KC_RBRC, KC_SLSH, KC_NUBS, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, + KC_LALT, KC_LGUI, KC_SPACE, KC_TRNS, KC_RGUI, KC_RALT + ), + + LAYOUT_default(//Layer 2 + 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_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_VOLU, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD + ), + +}; diff --git a/keyboards/handwired/axon/readme.md b/keyboards/handwired/axon/readme.md new file mode 100644 index 000000000000..ca422130ef42 --- /dev/null +++ b/keyboards/handwired/axon/readme.md @@ -0,0 +1,23 @@ +# Axon + +![Axon](https://i.imgur.com/VRVv9i9h.jpeg) + +Axon v1.0 built with Durock T1 and GMK Bento + +Axon is a compact 40% which uses through-hole components. Hardware repo can be found at https://github.com/thatfellarobin/axon. + +* Keyboard Maintainer: [Robin Liu](https://github.com/thatfellarobin) + +Make example for this keyboard (after setting up your build environment): + + make handwired/axon:default + +## To reset into bootloader mode: + +1. While plugged in, press and hold `BOOT` switch +2. While holding `BOOT`, press `RESET` and hold it for a second or two +3. Release `RESET` +4. Release `BOOT` +5. The keyboard should now be recognized as a USBasp programmer device. + +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/handwired/axon/rules.mk b/keyboards/handwired/axon/rules.mk new file mode 100644 index 000000000000..0411adeb6101 --- /dev/null +++ b/keyboards/handwired/axon/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega328p + +# Bootloader selection +BOOTLOADER = usbasploader + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/bdn9_ble/rules.mk b/keyboards/handwired/bdn9_ble/rules.mk index 92ab17adecf5..c3518e6457fb 100644 --- a/keyboards/handwired/bdn9_ble/rules.mk +++ b/keyboards/handwired/bdn9_ble/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -28,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH = AdafruitBLE # Enable Bluetooth AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/bento/keymaps/cbc02009/keymap.c b/keyboards/handwired/bento/keymaps/cbc02009/keymap.c index 169e0f1dd372..57c107b9fc94 100644 --- a/keyboards/handwired/bento/keymaps/cbc02009/keymap.c +++ b/keyboards/handwired/bento/keymaps/cbc02009/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_ENABLE #include "encoder.h" -void encoder_update_user(int8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_VOLU); @@ -37,5 +37,6 @@ void encoder_update_user(int8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } #endif diff --git a/keyboards/handwired/bento/keymaps/default/keymap.c b/keyboards/handwired/bento/keymaps/default/keymap.c index 6a2cfa682f3b..dc074c4205b2 100644 --- a/keyboards/handwired/bento/keymaps/default/keymap.c +++ b/keyboards/handwired/bento/keymaps/default/keymap.c @@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == _ENCODER) { if (clockwise) { tap_code(KC_VOLU); @@ -47,4 +47,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } diff --git a/keyboards/handwired/bento/keymaps/mac/keymap.c b/keyboards/handwired/bento/keymaps/mac/keymap.c index 29a7e809fc36..bb584c9a5b19 100644 --- a/keyboards/handwired/bento/keymaps/mac/keymap.c +++ b/keyboards/handwired/bento/keymaps/mac/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == _ENCODER) { if (clockwise) { tap_code(KC_VOLU); @@ -49,6 +49,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } - - diff --git a/keyboards/handwired/bento/rev1/rules.mk b/keyboards/handwired/bento/rev1/rules.mk index f7e3ef1e9799..98ae51f14ca1 100644 --- a/keyboards/handwired/bento/rev1/rules.mk +++ b/keyboards/handwired/bento/rev1/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/bigmac/rules.mk b/keyboards/handwired/bigmac/rules.mk index 14b22efbdb00..552479e96993 100644 --- a/keyboards/handwired/bigmac/rules.mk +++ b/keyboards/handwired/bigmac/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/bolek/bolek.c b/keyboards/handwired/bolek/bolek.c new file mode 100644 index 000000000000..413f7166c670 --- /dev/null +++ b/keyboards/handwired/bolek/bolek.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Mikołaj Biel + * + * 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 "bolek.h" diff --git a/keyboards/handwired/bolek/bolek.h b/keyboards/handwired/bolek/bolek.h new file mode 100644 index 000000000000..4fc0f5a2fdc3 --- /dev/null +++ b/keyboards/handwired/bolek/bolek.h @@ -0,0 +1,43 @@ +/* Copyright 2021 Mikołaj Biel + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + K000, K001, K002, K003, K004, K405, K406, K407, K408, K409, \ + K100, K101, K102, K103, K104, K505, K506, K507, K508, K509, \ + K200, K201, K202, K203, K204, K605, K606, K607, K608, K609, \ + K302, K303, K304, K705, K706, K707 \ +) { \ + { K000, K001, K002, K003, K004, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K100, K101, K102, K103, K104, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K200, K201, K202, K203, K204, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, KC_NO, K302, K303, K304, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K405, K406, K407, K408, K409 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K505, K506, K507, K508, K509 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K605, K606, K607, K608, K609 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K705, K706, K707, KC_NO, KC_NO } \ +} diff --git a/keyboards/handwired/bolek/config.h b/keyboards/handwired/bolek/config.h new file mode 100644 index 000000000000..ecf0b0de36df --- /dev/null +++ b/keyboards/handwired/bolek/config.h @@ -0,0 +1,150 @@ +/* +Copyright 2021 Mikołaj Biel + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x3708 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Mikołaj Biel +#define PRODUCT bolek + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 10 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F4, F5, F6, B5, D3, D2, D1, B4 } +#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, E6, D7, C6, D0, D4 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 + +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT diff --git a/keyboards/handwired/bolek/info.json b/keyboards/handwired/bolek/info.json new file mode 100644 index 000000000000..c4cf17909626 --- /dev/null +++ b/keyboards/handwired/bolek/info.json @@ -0,0 +1,49 @@ +{ + "keyboard_name": "bolek", + "url": "https://github.com/klausweiss/bolek", + "maintainer": "klausweiss", + "height": 5.25, + "width": 12.75, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Q", "x": 0, "y": 0.25 }, + { "label": "W", "x": 1, "y": 0 }, + { "label": "E", "x": 2, "y": 0 }, + { "label": "R", "x": 3, "y": 0.25 }, + { "label": "T", "x": 4, "y": 0.5 }, + { "label": "Y", "x": 7.75, "y": 0.5 }, + { "label": "U", "x": 8.75, "y": 0.25 }, + { "label": "I", "x": 9.75, "y": 0 }, + { "label": "O", "x": 10.75, "y": 0 }, + { "label": "P", "x": 11.75, "y": 0.25 }, + { "label": "A", "x": 0, "y": 1.25 }, + { "label": "S", "x": 1, "y": 1 }, + { "label": "D", "x": 2, "y": 1 }, + { "label": "F", "x": 3, "y": 1.25 }, + { "label": "G", "x": 4, "y": 1.5 }, + { "label": "H", "x": 7.75, "y": 1.5 }, + { "label": "J", "x": 8.75, "y": 1.25 }, + { "label": "K", "x": 9.75, "y": 1 }, + { "label": "L", "x": 10.75, "y": 1 }, + { "label": ";", "x": 11.75, "y": 1.25 }, + { "label": "Z", "x": 0, "y": 2.25 }, + { "label": "X", "x": 1, "y": 2 }, + { "label": "C", "x": 2, "y": 2 }, + { "label": "V", "x": 3, "y": 2.25 }, + { "label": "B", "x": 4, "y": 2.5 }, + { "label": "N", "x": 7.75, "y": 2.5 }, + { "label": "M", "x": 8.75, "y": 2.25 }, + { "label": ",", "x": 9.75, "y": 2 }, + { "label": ".", "x": 10.75, "y": 2 }, + { "label": "'", "x": 11.75, "y": 2.25 }, + { "label": "ESC", "x": 3.25, "y": 3.75 }, + { "label": "SPC", "x": 4.25, "y": 4 }, + { "label": "TAB", "x": 5.25, "y": 4.25 }, + { "label": "RET", "x": 6.5, "y": 4.25 }, + { "label": "BSPC", "x": 7.5, "y": 4 }, + { "label": "RESET", "x": 8.5, "y": 3.75 } + ] + } + } +} diff --git a/keyboards/handwired/bolek/keymaps/default/keymap.c b/keyboards/handwired/bolek/keymaps/default/keymap.c new file mode 100644 index 000000000000..31d3ac045698 --- /dev/null +++ b/keyboards/handwired/bolek/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +/* Copyright 2021 Mikołaj Biel + * + * 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 { + _BASE, +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + 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_EQL, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_MINS, + KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, RESET + ) +}; diff --git a/keyboards/handwired/bolek/keymaps/default/readme.md b/keyboards/handwired/bolek/keymaps/default/readme.md new file mode 100644 index 000000000000..eccf85e3a043 --- /dev/null +++ b/keyboards/handwired/bolek/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for bolek diff --git a/keyboards/handwired/bolek/readme.md b/keyboards/handwired/bolek/readme.md new file mode 100644 index 000000000000..b1781af46897 --- /dev/null +++ b/keyboards/handwired/bolek/readme.md @@ -0,0 +1,17 @@ +# bolek + +Low-profile 36% 3d-printed keyboard designed to go with pro micro and kailh chocs + +* Keyboard Maintainer: [klausweiss](https://github.com/klausweiss) +* Repository: https://github.com/klausweiss/bolek +* Hardware Supported: Pro Micro + +Make example for this keyboard (after setting up your build environment): + + make handwired/bolek:default + +Flashing example for this keyboard: + + make handwired/bolek: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). diff --git a/keyboards/handwired/bolek/rules.mk b/keyboards/handwired/bolek/rules.mk new file mode 100644 index 000000000000..7f0fa90fde73 --- /dev/null +++ b/keyboards/handwired/bolek/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/boss566y/redragon_vara/rules.mk b/keyboards/handwired/boss566y/redragon_vara/rules.mk index ddcd971b98bb..593ba2f19c18 100644 --- a/keyboards/handwired/boss566y/redragon_vara/rules.mk +++ b/keyboards/handwired/boss566y/redragon_vara/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/brain/rules.mk b/keyboards/handwired/brain/rules.mk index 2c24d019b447..67b61a562946 100644 --- a/keyboards/handwired/brain/rules.mk +++ b/keyboards/handwired/brain/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -17,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI controls BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/cans12er/rules.mk b/keyboards/handwired/cans12er/rules.mk index e3c398bbf87b..668675ae50ca 100644 --- a/keyboards/handwired/cans12er/rules.mk +++ b/keyboards/handwired/cans12er/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/chiron/rules.mk b/keyboards/handwired/chiron/rules.mk index 800b196324b6..76c5bfc89d64 100644 --- a/keyboards/handwired/chiron/rules.mk +++ b/keyboards/handwired/chiron/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options @@ -18,13 +11,12 @@ AUDIO_ENABLE = no AUTOLOG_ENABLE = no BACKLIGHT_ENABLE = no BLUETOOTH_ENABLE = no -BOOTMAGIC_ENABLE = no +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite COMMAND_ENABLE = no CONSOLE_ENABLE = no DEBUG_ENABLE = no EXTRAKEY_ENABLE = no LEADER_ENABLE = no -MIDI_ENABLE = no MOUSEKEY_ENABLE = yes NKRO_ENABLE = no RGBLIGHT_ENABLE = yes diff --git a/keyboards/handwired/ck4x4/rules.mk b/keyboards/handwired/ck4x4/rules.mk index 0709f341bf70..739473acec1b 100644 --- a/keyboards/handwired/ck4x4/rules.mk +++ b/keyboards/handwired/ck4x4/rules.mk @@ -1,16 +1,19 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover CUSTOM_MATRIX = no # Custom matrix file diff --git a/keyboards/handwired/cmd60/cmd60.c b/keyboards/handwired/cmd60/cmd60.c index 91bbbd453b5e..20c359e5e966 100644 --- a/keyboards/handwired/cmd60/cmd60.c +++ b/keyboards/handwired/cmd60/cmd60.c @@ -1,8 +1 @@ #include "cmd60.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} diff --git a/keyboards/handwired/cmd60/rules.mk b/keyboards/handwired/cmd60/rules.mk index b5e96d74bf53..5a55e085d9f8 100644 --- a/keyboards/handwired/cmd60/rules.mk +++ b/keyboards/handwired/cmd60/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/co60/keymaps/all_keys/keymap.c b/keyboards/handwired/co60/keymaps/all_keys/keymap.c index 797b7ece3ad9..b6124800ea10 100644 --- a/keyboards/handwired/co60/keymaps/all_keys/keymap.c +++ b/keyboards/handwired/co60/keymaps/all_keys/keymap.c @@ -30,19 +30,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, KC_HOME, KC_END, KC_INS, KC_RALT, KC_RGUI, KC_RIGHT, KC_RCTL ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/co60/keymaps/default/keymap.c b/keyboards/handwired/co60/keymaps/default/keymap.c index 35151c421269..5736e9313d99 100644 --- a/keyboards/handwired/co60/keymaps/default/keymap.c +++ b/keyboards/handwired/co60/keymaps/default/keymap.c @@ -36,19 +36,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______ ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/co60/rev1/rev1.c b/keyboards/handwired/co60/rev1/rev1.c index abdfa884d603..6c68c515f452 100644 --- a/keyboards/handwired/co60/rev1/rev1.c +++ b/keyboards/handwired/co60/rev1/rev1.c @@ -14,33 +14,3 @@ * along with this program. If not, see . */ #include "rev1.h" - -__attribute__ ((weak)) -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -__attribute__ ((weak)) -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/handwired/co60/rev1/rules.mk b/keyboards/handwired/co60/rev1/rules.mk index ae50334a3681..b3e030110508 100644 --- a/keyboards/handwired/co60/rev1/rules.mk +++ b/keyboards/handwired/co60/rev1/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/co60/rev6/config.h b/keyboards/handwired/co60/rev6/config.h index 79c64e7353e2..c142d10f29e5 100644 --- a/keyboards/handwired/co60/rev6/config.h +++ b/keyboards/handwired/co60/rev6/config.h @@ -25,12 +25,6 @@ #define MANUFACTURER John M Daly #define PRODUCT CO60 rev6 -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 diff --git a/keyboards/handwired/co60/rev6/rules.mk b/keyboards/handwired/co60/rev6/rules.mk index f4e7ae924d19..17601e67a7f6 100644 --- a/keyboards/handwired/co60/rev6/rules.mk +++ b/keyboards/handwired/co60/rev6/rules.mk @@ -2,11 +2,14 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # BACKLIGHT_ENABLE = yes -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -14,7 +17,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work AUDIO_ENABLE = no RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID LEADER_ENABLE = yes diff --git a/keyboards/handwired/co60/rev7/config.h b/keyboards/handwired/co60/rev7/config.h index 20e62472b7fb..16fa7cb4c576 100644 --- a/keyboards/handwired/co60/rev7/config.h +++ b/keyboards/handwired/co60/rev7/config.h @@ -26,12 +26,6 @@ along with this program. If not, see . #define MANUFACTURER John M Daly #define PRODUCT CO60 rev7 -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 - /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 diff --git a/keyboards/handwired/co60/rev7/rules.mk b/keyboards/handwired/co60/rev7/rules.mk index 3e15f073ff74..53a94fe2f4bb 100644 --- a/keyboards/handwired/co60/rev7/rules.mk +++ b/keyboards/handwired/co60/rev7/rules.mk @@ -2,6 +2,9 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Use SPI for RGB underglow: WS2812_DRIVER = spi @@ -9,7 +12,7 @@ WS2812_DRIVER = spi # comment out to disable the options. # BACKLIGHT_ENABLE = yes -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -17,7 +20,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work AUDIO_ENABLE = no RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID LEADER_ENABLE = yes diff --git a/keyboards/handwired/colorlice/config.h b/keyboards/handwired/colorlice/config.h index 206a4004ea6e..0148817f3fac 100644 --- a/keyboards/handwired/colorlice/config.h +++ b/keyboards/handwired/colorlice/config.h @@ -49,7 +49,7 @@ along with this program. If not, see . /* RGB LEDs */ #define RGB_DI_PIN B1 #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/handwired/colorlice/rules.mk b/keyboards/handwired/colorlice/rules.mk index 77e6d03d6379..8b3064a0a83b 100644 --- a/keyboards/handwired/colorlice/rules.mk +++ b/keyboards/handwired/colorlice/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,11 +17,10 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 -LTO_ENABLE = no # Use link time optimization +LTO_ENABLE = yes # Use link time optimization RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow diff --git a/keyboards/handwired/concertina/64key/info.json b/keyboards/handwired/concertina/64key/info.json index a7dd42b11275..68125f8c64c6 100644 --- a/keyboards/handwired/concertina/64key/info.json +++ b/keyboards/handwired/concertina/64key/info.json @@ -8,29 +8,29 @@ "LAYOUT_64key": { "key_count": 64, "layout": [ - {"x":2, "y":0.5}, {"x":3, "y":0}, {"x":4, "y":0.3}, - {"x":8, "y":0.7}, {"x":9, "y":0.3}, {"x":10, "y":0}, + {"x":2.5, "y":0.4}, {"x":3.5, "y":0}, {"x":4.5, "y":0.3}, + {"x":8.5, "y":0.3}, {"x":9.5, "y":0}, {"x":10.5, "y":0.4}, - {"x":2, "y":1.5}, {"x":3, "y":1}, {"x":4, "y":1.3}, {"x":5, "y":0.7}, - {"x":8, "y":0.7}, {"x":9, "y":1.3}, {"x":10, "y":1}, {"x":11, "y":1.5}, + {"x":2.5, "y":1.4}, {"x":3.5, "y":1}, {"x":4.5, "y":1.3}, {"x":5.5, "y":0.9}, + {"x":7.5, "y":0.9}, {"x":8.5, "y":1.3}, {"x":9.5, "y":1}, {"x":10.5, "y":1.4}, - {"x":3, "y":2}, {"x":4, "y":2.3}, {"x":5, "y":1.7}, - {"x":8, "y":1.7}, {"x":9, "y":2.3}, {"x":10, "y":2}, + {"x":3.5, "y":2}, {"x":4.5, "y":2.3}, {"x":5.5, "y":1.9}, + {"x":7.5, "y":1.9}, {"x":8.5, "y":2.3}, {"x":9.5, "y":2}, - {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}, - {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, + {"x":2, "y":4}, {"x":3, "y":3.8}, {"x":4, "y":4}, {"x":5, "y":4.3}, + {"x":8, "y":4.3}, {"x":9, "y":4}, {"x":10, "y":3.8}, {"x":11, "y":4}, - {"x":0, "y":5}, {"x":1, "y":5}, {"x":2, "y":5}, {"x":3, "y":5}, {"x":4, "y":5}, {"x":5, "y":5}, - {"x":8, "y":5}, {"x":9, "y":5}, {"x":10, "y":5}, {"x":11, "y":5}, {"x":12, "y":5}, {"x":13, "y":5}, + {"x":0, "y":5}, {"x":1, "y":5}, {"x":2, "y":5}, {"x":3, "y":4.8}, {"x":4, "y":5}, {"x":5, "y":5.3}, + {"x":8, "y":5.3}, {"x":9, "y":5}, {"x":10, "y":4.8}, {"x":11, "y":5}, {"x":12, "y":5}, {"x":13, "y":5}, - {"x":0, "y":6}, {"x":1, "y":6}, {"x":2, "y":6}, {"x":3, "y":6}, {"x":4, "y":6}, {"x":5, "y":6}, - {"x":8, "y":6}, {"x":9, "y":6}, {"x":10, "y":6}, {"x":11, "y":6}, {"x":12, "y":6}, {"x":13, "y":6}, + {"x":0, "y":6}, {"x":1, "y":6}, {"x":2, "y":6}, {"x":3, "y":5.8}, {"x":4, "y":6}, {"x":5, "y":6.3}, + {"x":8, "y":6.3}, {"x":9, "y":6}, {"x":10, "y":5.8}, {"x":11, "y":6}, {"x":12, "y":6}, {"x":13, "y":6}, - {"x":0, "y":7}, {"x":1, "y":7}, {"x":2, "y":7}, {"x":3, "y":7}, {"x":4, "y":7}, - {"x":9, "y":7}, {"x":10, "y":7}, {"x":11, "y":7}, {"x":12, "y":7}, {"x":13, "y":7}, + {"x":0, "y":7}, {"x":1, "y":7}, {"x":2, "y":7}, {"x":3, "y":6.8}, {"x":4, "y":7}, + {"x":9, "y":7}, {"x":10, "y":6.8}, {"x":11, "y":7}, {"x":12, "y":7}, {"x":13, "y":7}, - {"x":3, "y":8}, - {"x":10, "y":8} + {"x":3, "y":7.8}, + {"x":10, "y":7.8} ] } } diff --git a/keyboards/handwired/concertina/64key/readme.md b/keyboards/handwired/concertina/64key/readme.md index 069eb6b7e54b..27ac67e0336d 100644 --- a/keyboards/handwired/concertina/64key/readme.md +++ b/keyboards/handwired/concertina/64key/readme.md @@ -1,32 +1,48 @@ # Concertina 64-key -![Concertina 64-key](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/handwired/concertina/64key/concertina-1-side-view.jpg) +A diploid, concave, columnar keyboard, with vertical finger clusters +beneath large horizontal thumb clusters. -A diploid, concave, columnar keyboard. +![Side view](https://viktor.eikman.se/image/concertina-1-side-view/display) -This folder represents the keyboard configuration identified as -`concertina_64key` in the DMOTE application’s list of GNU make targets, as of -version 0.7.0 of that application. The QMK code is fully compatible back to -version 0.6.0, which introduced the Concertina. +## Hardware -The default keymap for this layout has a QWERTY base layer but is intended for -running Colemak on the OS side. It has a separate key layer that forces Colemak -from the QMK side in case the keyboard has to be used with a computer that does -not run Colemak. +* Keyboard maintainer: [Viktor Eikman](https://github.com/veikman) +* Hardware supported: Concertina 64-key case, Pro Micro (ATmega32U4) +* Hardware availability: [viktor.eikman.se](https://viktor.eikman.se/article/the-concertina/) + +This QMK model represents the printable keyboard shape identified as +`concertina_64key` in the DMOTE application’s list of GNU make +targets, available [here](https://github.com/veikman/dactyl-keyboard), +as of version 0.7.0 of that application. The QMK code is fully +compatible back to version 0.6.0, which introduced the Concertina. A full set of printable caps to match the keymap is available in the -`dmote-keycap` application, [here](https://github.com/veikman/dmote-keycap). +`dmote-keycap` application, +[here](https://github.com/veikman/dmote-keycap). + +## Firmware + +Brand new to QMK? Start [here](https://docs.qmk.fm/#/newbs). -* Keyboard Maintainer: [Viktor Eikman](https://github.com/veikman) -* Hardware Supported: Concertina 64-key case, Pro Micro (ATmega32U4) -* Hardware Availability: [viktor.eikman.se](https://viktor.eikman.se/article/the-concertina/) +The default keymap for this layout has a QWERTY base layer (0) but is +intended for running Colemak on the OS side. It has a separate key +layer (1) that forces Colemak from the QMK side in case the keyboard +has to be used with a computer that does not run Colemak. Layer 2 +flips the navigation clusters around. Layer 3 is numbers and mouse +control. -Make example for this keyboard (after setting up your build environment): +### Building from the CLI + +See the general [build +environment](https://docs.qmk.fm/#/getting_started_build_tools) and +[make instructions](https://docs.qmk.fm/#/getting_started_make_guide) +to get set up. + +To build firmware for the Concertina without the `qmk` utility: make handwired/concertina/64key:default -Flashing example for this keyboard: +To also flash a connected Concertina: make handwired/concertina/64key: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). diff --git a/keyboards/handwired/concertina/64key/rules.mk b/keyboards/handwired/concertina/64key/rules.mk index fe1ea791e962..5efbfaa006df 100644 --- a/keyboards/handwired/concertina/64key/rules.mk +++ b/keyboards/handwired/concertina/64key/rules.mk @@ -8,7 +8,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/consolekeyboard/18key/rules.mk b/keyboards/handwired/consolekeyboard/18key/rules.mk index 1b8f014d8609..84fded179dbd 100644 --- a/keyboards/handwired/consolekeyboard/18key/rules.mk +++ b/keyboards/handwired/consolekeyboard/18key/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/consolekeyboard/20key/rules.mk b/keyboards/handwired/consolekeyboard/20key/rules.mk index 1b8f014d8609..84fded179dbd 100644 --- a/keyboards/handwired/consolekeyboard/20key/rules.mk +++ b/keyboards/handwired/consolekeyboard/20key/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/consolekeyboard/27key/rules.mk b/keyboards/handwired/consolekeyboard/27key/rules.mk index 1b8f014d8609..84fded179dbd 100644 --- a/keyboards/handwired/consolekeyboard/27key/rules.mk +++ b/keyboards/handwired/consolekeyboard/27key/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/consolekeyboard/30key/rules.mk b/keyboards/handwired/consolekeyboard/30key/rules.mk index 1b8f014d8609..84fded179dbd 100644 --- a/keyboards/handwired/consolekeyboard/30key/rules.mk +++ b/keyboards/handwired/consolekeyboard/30key/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/curiosity/rules.mk b/keyboards/handwired/curiosity/rules.mk index dace27ef326d..996b215a362a 100644 --- a/keyboards/handwired/curiosity/rules.mk +++ b/keyboards/handwired/curiosity/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/d48/keymaps/anderson/keymap.c b/keyboards/handwired/d48/keymaps/anderson/keymap.c index 25837a3591bd..06997807181a 100644 --- a/keyboards/handwired/d48/keymaps/anderson/keymap.c +++ b/keyboards/handwired/d48/keymaps/anderson/keymap.c @@ -229,7 +229,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { return state; } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (!alpha_pressed) { tap_code(clockwise ? KC_VOLD : KC_VOLU); @@ -243,9 +243,10 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(clockwise ? KC_PGUP : KC_PGDN); } } + return true; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_0; } diff --git a/keyboards/handwired/d48/keymaps/default/keymap.c b/keyboards/handwired/d48/keymaps/default/keymap.c index b7914f3bcd5b..66b8dd714fc0 100644 --- a/keyboards/handwired/d48/keymaps/default/keymap.c +++ b/keyboards/handwired/d48/keymaps/default/keymap.c @@ -174,7 +174,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return taphold_process(keycode, record); } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (!alpha_pressed) { tap_code(clockwise ? KC_VOLD : KC_VOLU); @@ -188,9 +188,10 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(clockwise ? KC_PGUP : KC_PGDN); } } + return true; } -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_0; } diff --git a/keyboards/handwired/d48/rules.mk b/keyboards/handwired/d48/rules.mk index 41a6cc5220bc..af6f369eff68 100644 --- a/keyboards/handwired/d48/rules.mk +++ b/keyboards/handwired/d48/rules.mk @@ -2,10 +2,13 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -17,7 +20,8 @@ AUDIO_ENABLE = yes USE_I2C = no RGBLIGHT_ENABLE = yes ENCODER_ENABLE = yes -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 UNICODE_ENABLE = yes SRC += ds1307.c taphold.c diff --git a/keyboards/handwired/dactyl/dactyl.c b/keyboards/handwired/dactyl/dactyl.c index 81b9dce0f931..be815777bd41 100644 --- a/keyboards/handwired/dactyl/dactyl.c +++ b/keyboards/handwired/dactyl/dactyl.c @@ -1,10 +1,9 @@ #include "dactyl.h" -#include "i2cmaster.h" #ifdef SWAP_HANDS_ENABLE __attribute__ ((weak)) // swap-hands action needs a matrix to define the swap -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { {{0,11}, {0,10}, {0,9}, {0,8}, {0,7}, {0,6}, {0,5}, {0,4}, {0,3}, {0,2}, {0,1}, {0,0}}, {{1,11}, {1,11}, {1,9}, {1,8}, {1,7}, {1,6}, {1,5}, {1,4}, {1,3}, {1,2}, {1,1}, {1,0}}, {{2,11}, {2,12}, {2,9}, {2,8}, {2,7}, {2,6}, {2,5}, {2,4}, {2,3}, {2,2}, {2,1}, {2,0}}, diff --git a/keyboards/handwired/dactyl/dactyl.h b/keyboards/handwired/dactyl/dactyl.h index d4c38dcfb6b5..a6a043496cbb 100644 --- a/keyboards/handwired/dactyl/dactyl.h +++ b/keyboards/handwired/dactyl/dactyl.h @@ -4,15 +4,11 @@ #include "quantum.h" #include #include -#include "i2cmaster.h" +#include "i2c_master.h" #include -#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) -#define CPU_16MHz 0x00 - -#define I2C_ADDR 0b0100000 -#define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE ) -#define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ ) +#define I2C_ADDR (0b0100000 << 1) +#define I2C_TIMEOUT 100 #define IODIRA 0x00 // i/o direction register #define IODIRB 0x01 #define GPPUA 0x0C // GPIO pull-up resistor register diff --git a/keyboards/handwired/dactyl/i2cmaster.h b/keyboards/handwired/dactyl/i2cmaster.h deleted file mode 100644 index 3917b9e6c006..000000000000 --- a/keyboards/handwired/dactyl/i2cmaster.h +++ /dev/null @@ -1,178 +0,0 @@ -#ifndef _I2CMASTER_H -#define _I2CMASTER_H 1 -/************************************************************************* -* Title: C include file for the I2C master interface -* (i2cmaster.S or twimaster.c) -* Author: Peter Fleury http://jump.to/fleury -* File: $Id: i2cmaster.h,v 1.10 2005/03/06 22:39:57 Peter Exp $ -* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3 -* Target: any AVR device -* Usage: see Doxygen manual -**************************************************************************/ - -#ifdef DOXYGEN -/** - @defgroup pfleury_ic2master I2C Master library - @code #include @endcode - - @brief I2C (TWI) Master Software Library - - Basic routines for communicating with I2C slave devices. This single master - implementation is limited to one bus master on the I2C bus. - - This I2c library is implemented as a compact assembler software implementation of the I2C protocol - which runs on any AVR (i2cmaster.S) and as a TWI hardware interface for all AVR with built-in TWI hardware (twimaster.c). - Since the API for these two implementations is exactly the same, an application can be linked either against the - software I2C implementation or the hardware I2C implementation. - - Use 4.7k pull-up resistor on the SDA and SCL pin. - - Adapt the SCL and SDA port and pin definitions and eventually the delay routine in the module - i2cmaster.S to your target when using the software I2C implementation ! - - Adjust the CPU clock frequence F_CPU in twimaster.c or in the Makfile when using the TWI hardware implementaion. - - @note - The module i2cmaster.S is based on the Atmel Application Note AVR300, corrected and adapted - to GNU assembler and AVR-GCC C call interface. - Replaced the incorrect quarter period delays found in AVR300 with - half period delays. - - @author Peter Fleury pfleury@gmx.ch http://jump.to/fleury - - @par API Usage Example - The following code shows typical usage of this library, see example test_i2cmaster.c - - @code - - #include - - - #define Dev24C02 0xA2 // device address of EEPROM 24C02, see datasheet - - int main(void) - { - unsigned char ret; - - i2c_init(); // initialize I2C library - - // write 0x75 to EEPROM address 5 (Byte Write) - i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode - i2c_write(0x05); // write address = 5 - i2c_write(0x75); // write value 0x75 to EEPROM - i2c_stop(); // set stop conditon = release bus - - - // read previously written value back from EEPROM address 5 - i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode - - i2c_write(0x05); // write address = 5 - i2c_rep_start(Dev24C02+I2C_READ); // set device address and read mode - - ret = i2c_readNak(); // read one byte from EEPROM - i2c_stop(); - - for(;;); - } - @endcode - -*/ -#endif /* DOXYGEN */ - -/**@{*/ - -#if (__GNUC__ * 100 + __GNUC_MINOR__) < 304 -#error "This library requires AVR-GCC 3.4 or later, update to newer AVR-GCC compiler !" -#endif - -#include - -/** defines the data direction (reading from I2C device) in i2c_start(),i2c_rep_start() */ -#define I2C_READ 1 - -/** defines the data direction (writing to I2C device) in i2c_start(),i2c_rep_start() */ -#define I2C_WRITE 0 - - -/** - @brief initialize the I2C master interace. Need to be called only once - @param void - @return none - */ -extern void i2c_init(void); - - -/** - @brief Terminates the data transfer and releases the I2C bus - @param void - @return none - */ -extern void i2c_stop(void); - - -/** - @brief Issues a start condition and sends address and transfer direction - - @param addr address and transfer direction of I2C device - @retval 0 device accessible - @retval 1 failed to access device - */ -extern unsigned char i2c_start(unsigned char addr); - - -/** - @brief Issues a repeated start condition and sends address and transfer direction - - @param addr address and transfer direction of I2C device - @retval 0 device accessible - @retval 1 failed to access device - */ -extern unsigned char i2c_rep_start(unsigned char addr); - - -/** - @brief Issues a start condition and sends address and transfer direction - - If device is busy, use ack polling to wait until device ready - @param addr address and transfer direction of I2C device - @return none - */ -extern void i2c_start_wait(unsigned char addr); - - -/** - @brief Send one byte to I2C device - @param data byte to be transfered - @retval 0 write successful - @retval 1 write failed - */ -extern unsigned char i2c_write(unsigned char data); - - -/** - @brief read one byte from the I2C device, request more data from device - @return byte read from I2C device - */ -extern unsigned char i2c_readAck(void); - -/** - @brief read one byte from the I2C device, read is followed by a stop condition - @return byte read from I2C device - */ -extern unsigned char i2c_readNak(void); - -/** - @brief read one byte from the I2C device - - Implemented as a macro, which calls either i2c_readAck or i2c_readNak - - @param ack 1 send ack, request more data from device
- 0 send nak, read is followed by a stop condition - @return byte read from I2C device - */ -extern unsigned char i2c_read(unsigned char ack); -#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak(); - - -/**@}*/ -#endif diff --git a/keyboards/handwired/dactyl/keymaps/default/keymap.c b/keyboards/handwired/dactyl/keymaps/default/keymap.c index 47f5ba96ba2b..3e013b19a98f 100644 --- a/keyboards/handwired/dactyl/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl/keymaps/default/keymap.c @@ -148,12 +148,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - -}; - - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) {}; diff --git a/keyboards/handwired/dactyl/keymaps/default/rules.mk b/keyboards/handwired/dactyl/keymaps/default/rules.mk new file mode 100644 index 000000000000..ae24ba373c7e --- /dev/null +++ b/keyboards/handwired/dactyl/keymaps/default/rules.mk @@ -0,0 +1 @@ +MOUSEKEY_ENABLE = yes diff --git a/keyboards/handwired/dactyl/keymaps/dvorak/rules.mk b/keyboards/handwired/dactyl/keymaps/dvorak/rules.mk new file mode 100644 index 000000000000..ae24ba373c7e --- /dev/null +++ b/keyboards/handwired/dactyl/keymaps/dvorak/rules.mk @@ -0,0 +1 @@ +MOUSEKEY_ENABLE = yes diff --git a/keyboards/handwired/dactyl/matrix.c b/keyboards/handwired/dactyl/matrix.c index 0f4f98ad8dc0..a21cd08e1453 100644 --- a/keyboards/handwired/dactyl/matrix.c +++ b/keyboards/handwired/dactyl/matrix.c @@ -25,7 +25,7 @@ along with this program. If not, see . #include "util.h" #include "matrix.h" #include "dactyl.h" -#include "i2cmaster.h" +#include "i2c_master.h" #include "timer.h" @@ -130,7 +130,7 @@ void matrix_init(void) void init_expander(void) { if (! i2c_initialized) { i2c_init(); - wait_us(1000000); + wait_ms(1000); } if (! expander_input_pin_mask) { @@ -147,9 +147,6 @@ void init_expander(void) { #endif } - expander_status = i2c_start(I2C_ADDR_WRITE); if (expander_status) goto out; - expander_status = i2c_write(IODIRA); if (expander_status) goto out; - /* Pin direction and pull-up depends on both the diode direction and on whether the column register is GPIOA or GPIOB @@ -164,50 +161,65 @@ void init_expander(void) { #if (EXPANDER_COL_REGISTER == GPIOA) # if (DIODE_DIRECTION == COL2ROW) - expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out; - expander_status = i2c_write(0); if (expander_status) goto out; + uint8_t direction[2] = { + expander_input_pin_mask, + 0, + }; # elif (DIODE_DIRECTION == ROW2COL) - expander_status = i2c_write(0); if (expander_status) goto out; - expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out; + uint8_t direction[2] = { + 0, + expander_input_pin_mask, + }; # endif #elif (EXPANDER_COL_REGISTER == GPIOB) # if (DIODE_DIRECTION == COL2ROW) - expander_status = i2c_write(0); if (expander_status) goto out; - expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out; + uint8_t direction[2] = { + 0, + expander_input_pin_mask, + }; # elif (DIODE_DIRECTION == ROW2COL) - expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out; - expander_status = i2c_write(0); if (expander_status) goto out; + uint8_t direction[2] = { + expander_input_pin_mask, + 0, + }; # endif #endif - i2c_stop(); - // set pull-up // - unused : off : 0 // - input : on : 1 // - driving : off : 0 - expander_status = i2c_start(I2C_ADDR_WRITE); if (expander_status) goto out; - expander_status = i2c_write(GPPUA); if (expander_status) goto out; #if (EXPANDER_COL_REGISTER == GPIOA) # if (DIODE_DIRECTION == COL2ROW) - expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out; - expander_status = i2c_write(0); if (expander_status) goto out; + uint8_t pullup[2] = { + expander_input_pin_mask, + 0, + }; # elif (DIODE_DIRECTION == ROW2COL) - expander_status = i2c_write(0); if (expander_status) goto out; - expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out; + uint8_t pullup[2] = { + 0, + expander_input_pin_mask, + }; # endif #elif (EXPANDER_COL_REGISTER == GPIOB) # if (DIODE_DIRECTION == COL2ROW) - expander_status = i2c_write(0); if (expander_status) goto out; - expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out; + uint8_t pullup[2] = { + 0, + expander_input_pin_mask, + }; # elif (DIODE_DIRECTION == ROW2COL) - expander_status = i2c_write(expander_input_pin_mask); if (expander_status) goto out; - expander_status = i2c_write(0); if (expander_status) goto out; + uint8_t pullup[2] = { + expander_input_pin_mask, + 0, + }; # endif #endif -out: - i2c_stop(); + + expander_status = i2c_writeReg(I2C_ADDR, IODIRA, direction, 2, I2C_TIMEOUT); + if (expander_status) return; + + expander_status = i2c_writeReg(I2C_ADDR, GPPUA, pullup, 2, I2C_TIMEOUT); } uint8_t matrix_scan(void) @@ -337,14 +349,11 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) // Read columns from expander, unless it's in an error state if (! expander_status) { - expander_status = i2c_start(I2C_ADDR_WRITE); if (expander_status) goto out; - expander_status = i2c_write(EXPANDER_COL_REGISTER); if (expander_status) goto out; - expander_status = i2c_start(I2C_ADDR_READ); if (expander_status) goto out; - - current_matrix[current_row] |= (~i2c_readNak()) & expander_input_pin_mask; - - out: - i2c_stop(); + uint8_t state = 0; + expander_status = i2c_readReg(I2C_ADDR, EXPANDER_COL_REGISTER, &state, 1, I2C_TIMEOUT); + if (! expander_status) { + current_matrix[current_row] |= (~state) & expander_input_pin_mask; + } } // Read columns from onboard pins @@ -366,11 +375,8 @@ static void select_row(uint8_t row) { if (! expander_status) { // set active row low : 0 // set other rows hi-Z : 1 - expander_status = i2c_start(I2C_ADDR_WRITE); if (expander_status) goto out; - expander_status = i2c_write(EXPANDER_ROW_REGISTER); if (expander_status) goto out; - expander_status = i2c_write(0xFF & ~(1< http://jump.to/fleury -* File: $Id: twimaster.c,v 1.3 2005/07/02 11:14:21 Peter Exp $ -* Software: AVR-GCC 3.4.3 / avr-libc 1.2.3 -* Target: any AVR device with hardware TWI -* Usage: API compatible with I2C Software Library i2cmaster.h -**************************************************************************/ -#include -#include - -#include "i2cmaster.h" - -/* define CPU frequency in Hz here if not defined in Makefile */ -#ifndef F_CPU -#define F_CPU 16000000UL -#endif - -/* I2C clock in Hz */ -#define SCL_CLOCK 400000L - - -/************************************************************************* - Initialization of the I2C bus interface. Need to be called only once -*************************************************************************/ -void i2c_init(void) -{ - /* initialize TWI clock - * minimal values in Bit Rate Register (TWBR) and minimal Prescaler - * bits in the TWI Status Register should give us maximal possible - * I2C bus speed - about 444 kHz - * - * for more details, see 20.5.2 in ATmega16/32 secification - */ - - TWSR = 0; /* no prescaler */ - TWBR = 10; /* must be >= 10 for stable operation */ - -}/* i2c_init */ - - -/************************************************************************* - Issues a start condition and sends address and transfer direction. - return 0 = device accessible, 1= failed to access device -*************************************************************************/ -unsigned char i2c_start(unsigned char address) -{ - uint8_t twst; - - // send START condition - TWCR = (1<. //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/dactyl_left/dactyl_left.c b/keyboards/handwired/dactyl_left/dactyl_left.c index e6fe3402dac6..51a31afbdb45 100644 --- a/keyboards/handwired/dactyl_left/dactyl_left.c +++ b/keyboards/handwired/dactyl_left/dactyl_left.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "dactyl_left.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/handwired/dactyl_left/keymaps/default/keymap.c b/keyboards/handwired/dactyl_left/keymaps/default/keymap.c index 708a380890f5..631a979efd4c 100644 --- a/keyboards/handwired/dactyl_left/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_left/keymaps/default/keymap.c @@ -49,9 +49,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) {} - -void matrix_scan_user(void) {} - -void led_set_user(uint8_t usb_led) {} diff --git a/keyboards/handwired/dactyl_left/rules.mk b/keyboards/handwired/dactyl_left/rules.mk index ab0c05e1106d..83ed03099fc2 100644 --- a/keyboards/handwired/dactyl_left/rules.mk +++ b/keyboards/handwired/dactyl_left/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/dactyl_manuform/4x5/4x5.c b/keyboards/handwired/dactyl_manuform/4x5/4x5.c index 78c0fee819c2..3170eb939983 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/4x5.c +++ b/keyboards/handwired/dactyl_manuform/4x5/4x5.c @@ -1,23 +1 @@ #include "4x5.h" - - -#ifdef SSD1306OLED -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} -#endif - -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; - diff --git a/keyboards/handwired/dactyl_manuform/4x5/4x5.h b/keyboards/handwired/dactyl_manuform/4x5/4x5.h index a70f52f3e14b..73f6be64c254 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/4x5.h +++ b/keyboards/handwired/dactyl_manuform/4x5/4x5.h @@ -2,65 +2,50 @@ #include "dactyl_manuform.h" -#include "quantum.h" - -#ifdef USE_I2C -#include -#ifdef __AVR__ - #include - #include -#endif -#endif +#define XXX KC_NO #ifndef FLIP_HALF #define LAYOUT( \ - L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ - L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ - L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ - L31, L32, R32, R33, \ - L33, L34, R30, R31, \ - L44, L43, R41, R40, \ - L42, L41, R43, R42 \ - ) \ - { \ - { L00, L01, L02, L03, L04 }, \ - { L10, L11, L12, L13, L14 }, \ - { L20, L21, L22, L23, L24 }, \ - { KC_NO, L31, L32, L33, L34 }, \ - { KC_NO, L41, L42, L43, L44 }, \ + L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ + L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ + L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ + L31, L32, R32, R33, \ + L33, L34, R30, R31, \ + L44, L43, R41, R40, \ + L42, L41, R43, R42 \ +) { \ + { L00, L01, L02, L03, L04 }, \ + { L10, L11, L12, L13, L14 }, \ + { L20, L21, L22, L23, L24 }, \ + { XXX, L31, L32, L33, L34 }, \ + { XXX, L41, L42, L43, L44 }, \ \ - { R04, R03, R02, R01, R00 }, \ - { R14, R13, R12, R11, R10 }, \ - { R24, R23, R22, R21, R20 }, \ - { KC_NO, R33, R32, R31, R30 }, \ - { KC_NO, R43, R42, R41, R40 } \ - } + { R04, R03, R02, R01, R00 }, \ + { R14, R13, R12, R11, R10 }, \ + { R24, R23, R22, R21, R20 }, \ + { XXX, R33, R32, R31, R30 }, \ + { XXX, R43, R42, R41, R40 } \ +} #else - - - #define LAYOUT( \ - L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ - L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ - L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ - L31, L32, R32, R33, \ - L33, L34, R30, R31, \ - L44, L43, R41, R40, \ - L42, L41, R43, R42 \ - ) \ - { \ - { R04, R03, R02, R01, R00 }, \ - { R14, R13, R12, R11, R10 }, \ - { R24, R23, R22, R21, R20 }, \ - { KC_NO, R33, R32, R31, R30 }, \ - { KC_NO, R43, R42, R41, R40 }, \ + L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ + L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ + L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ + L31, L32, R32, R33, \ + L33, L34, R30, R31, \ + L43, L44, R40, R41, \ + L41, L42, R42, R43 \ +) { \ + { R04, R03, R02, R01, R00 }, \ + { R14, R13, R12, R11, R10 }, \ + { R24, R23, R22, R21, R20 }, \ + { XXX, R33, R32, R31, R30 }, \ + { XXX, R43, R42, R41, R40 }, \ \ - { L00, L01, L02, L03, L04 }, \ - { L10, L11, L12, L13, L14 }, \ - { L20, L21, L22, L23, L24 }, \ - { KC_NO, L31, L32, L33, L34 }, \ - { KC_NO, L41, L42, L43, L44 } \ -\ - } + { L00, L01, L02, L03, L04 }, \ + { L10, L11, L12, L13, L14 }, \ + { L20, L21, L22, L23, L24 }, \ + { XXX, L31, L32, L33, L34 }, \ + { XXX, L41, L42, L43, L44 } \ +} #endif - diff --git a/keyboards/handwired/dactyl_manuform/4x5/config.h b/keyboards/handwired/dactyl_manuform/4x5/config.h index 22f800d0ebe0..8a06aeab8e93 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/config.h +++ b/keyboards/handwired/dactyl_manuform/4x5/config.h @@ -21,10 +21,9 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define PRODUCT_ID 0x3435 -#define DEVICE_VER 0x0001 - -#define MANUFACTURER tshort +#define PRODUCT_ID 0x3435 +#define DEVICE_VER 0x0001 +#define MANUFACTURER tshort /* key matrix size */ // Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/4x5/info.json b/keyboards/handwired/dactyl_manuform/4x5/info.json index 4ee52e164460..31039b8954ac 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/info.json +++ b/keyboards/handwired/dactyl_manuform/4x5/info.json @@ -7,52 +7,65 @@ "layouts": { "LAYOUT": { "layout": [ - {"label":"L00", "x":0, "y":0}, - {"label":"L01", "x":1, "y":0}, - {"label":"L02", "x":2, "y":0}, - {"label":"L03", "x":3, "y":0}, - {"label":"L04", "x":4, "y":0}, - {"label":"R00", "x":10, "y":0}, - {"label":"R01", "x":11, "y":0}, - {"label":"R02", "x":12, "y":0}, - {"label":"R03", "x":13, "y":0}, - {"label":"R04", "x":14, "y":0}, - {"label":"L10", "x":0, "y":1}, - {"label":"L11", "x":1, "y":1}, - {"label":"L12", "x":2, "y":1}, - {"label":"L13", "x":3, "y":1}, - {"label":"L14", "x":4, "y":1}, - {"label":"R10", "x":10, "y":1}, - {"label":"R11", "x":11, "y":1}, - {"label":"R12", "x":12, "y":1}, - {"label":"R13", "x":13, "y":1}, - {"label":"R14", "x":14, "y":1}, - {"label":"L20", "x":0, "y":2}, - {"label":"L21", "x":1, "y":2}, - {"label":"L22", "x":2, "y":2}, - {"label":"L23", "x":3, "y":2}, - {"label":"L24", "x":4, "y":2}, - {"label":"R20", "x":10, "y":2}, - {"label":"R21", "x":11, "y":2}, - {"label":"R22", "x":12, "y":2}, - {"label":"R23", "x":13, "y":2}, - {"label":"R24", "x":14, "y":2}, - {"label":"L31", "x":1, "y":3}, - {"label":"L32", "x":2, "y":3}, - {"label":"R32", "x":12, "y":3}, - {"label":"R33", "x":13, "y":3}, - {"label":"L33", "x":3, "y":4}, - {"label":"L34", "x":4, "y":4}, - {"label":"R30", "x":10, "y":4}, - {"label":"R31", "x":11, "y":4}, - {"label":"L44", "x":5, "y":5}, - {"label":"L43", "x":6, "y":5}, - {"label":"R41", "x":8, "y":5}, - {"label":"R40", "x":9, "y":5}, - {"label":"L42", "x":5, "y":6}, - {"label":"L41", "x":6, "y":6}, - {"label":"R43", "x":8, "y":6}, - {"label":"R42", "x":9, "y":6} + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y":0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + + {"x": 10, "y": 2}, + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + + {"x": 3, "y": 4}, + {"x": 4, "y": 4}, + + {"x": 10, "y": 4}, + {"x": 11, "y": 4}, + + {"x": 5, "y": 5}, + {"x": 6, "y": 5}, + + {"x": 8, "y": 5}, + {"x": 9, "y": 5}, + + {"x": 5, "y": 6}, + {"x": 6, "y": 6}, + + {"x": 8, "y": 6}, + {"x": 9, "y": 6} ] } } diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h index 6b0ddbfe8e39..18320c0952aa 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h @@ -21,12 +21,11 @@ along with this program. If not, see . #pragma once /* Use I2C or Serial, not both */ - #define USE_SERIAL -// #define USE_I2C +//#define USE_I2C /* Select hand configuration */ +//#define MASTER_LEFT +//#define MASTER_RIGHT -// #define MASTER_LEFT -// #define MASTER_RIGHT #define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c index 1a328f9d0a86..7f71f3db89e0 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c @@ -1,14 +1,9 @@ #include QMK_KEYBOARD_H - #define _BASE 0 #define _RAISE 1 #define _LOWER 2 -// Fillers to make layering more clear - -#define ____ KC_TRNS - #define SFT_ESC SFT_T(KC_ESC) #define CTL_BSPC CTL_T(KC_BSPC) #define ALT_SPC ALT_T(KC_SPC) @@ -25,101 +20,98 @@ #define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base (qwerty) + * ,----------------------------------, ,----------------------------------, + * | q | w | e | r | t | | y | u | i | o | p | + * |------+------+------+------+------| |-------------+------+------+------| + * | a | s | d | f | g | | h | j | k | l | ; | + * |------+------+------+------+------| |------|------+------+------+------| + * | z | x | c | v | b | | n | m | , | . | ' | + * |------+------+------+-------------, ,-------------+------+------+------, + * | [ | ] | | - | = | + * '------+------'-------------' '-------------'------+------' + * | ESC | BS | | SPACE|ENTER | + * | + | + | | + | + | + * | SHIFT| CTRL | | ALT |SHIFT | + * '------+------' '------+------' + * '------+------' '------+------' + * | TAB | HOME | | END | DEL | + * '------+------' '------+------' + * | Raise| ~ | | GUI | Lower| + * '------+------' '------+------' + */ + [_BASE] = LAYOUT( + 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_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, + KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, + SFT_ESC, CTL_BSPC, ALT_SPC, SFT_ENT, + KC_TAB, KC_HOME, KC_END, KC_DEL, + RAISE, KC_GRV, KC_LGUI, LOWER + ), -/* Base (qwerty) - * ,----------------------------------, ,----------------------------------, - * | q | w | e | r | t | | y | u | i | o | p | - * |------+------+------+------+------| |-------------+------+------+------| - * | a | s | d | f | g | | h | j | k | l | ; | - * |------+------+------+------+------| |------|------+------+------+------| - * | z | x | c | v | b | | n | m | , | . | ' | - * |------+------+------+-------------, ,-------------+------+------+------, - * | [ | ] | | - | = | - * '------+------'-------------' '-------------'------+------' - * | ESC | BS | | SPACE|ENTER | - * | + | + | | + | + | - * | SHIFT| CTRL | | ALT |SHIFT | - * '------+------' '------+------' - * '------+------' '------+------' - * | TAB | HOME | | END | DEL | - * '------+------' '------+------' - * | Raise| ~ | | GUI | Lower| - * '------+------' '------+------' - */ - -[_BASE] = LAYOUT( \ - 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_SCLN, \ - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, \ - KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, \ - SFT_ESC, CTL_BSPC, ALT_SPC, SFT_ENT, \ - KC_TAB, KC_HOME, KC_END, KC_DEL, \ - RAISE, KC_GRV, KC_LGUI, LOWER -), - -/* Raise - * ,----------------------------------, ,----------------------------------, - * | | | mup | | | | VOL+ | | up | | PgUp | - * |------+------+------+------+------| |-------------+------+------+------| - * | | mleft| mdown|mright| | | MUTE | left | down |right | PgDn | - * |------+------+------+------+------| |------|------+------+------+------| - * | | | | | | | VOL- | / | \ | ? | | | - * |------+------+------+-------------, ,-------------+------+------+------, - * | | | | mbtn |mbtn2 | - * '------+------'-------------' '-------------'------+------' - * | | | | | | - * | | | | | | - * | | | | | | - * '------+------' '------+------' - * '------+------' '------+------' - * | | | | | | - * '------+------' '------+------' - * | | | | | | - * '------+------' '------+------' - */ - -[_RAISE] = LAYOUT( \ - ____, ____, KC_MU, ____, ____, KC_VOLU, ____, KC_UP, ____, KC_PGUP, \ - ____, KC_ML, KC_MD, KC_MR, ____, KC_MUTE, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDOWN, \ - ____, ____, ____, ____, ____, KC_VOLD, KC_SLSH, KC_BSLS, KC_QUES, KC_PIPE, \ - ____, ____, KC_MB1, KC_MB2, \ - ____, ____, ____, ____, \ - ____, ____, ____, ____, \ - ____, ____, ____, ____ \ -), -/* Lower - * ,----------------------------------, ,----------------------------------, - * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | - * |------+------+------+------+------| |-------------+------+------+------| - * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - * |------+------+------+------+------| |------|------+------+------+------| - * | ! | @ | # | $ | % | | ^ | & | * | ( | ) | - * |------+------+------+-------------, ,-------------+------+------+------, - * | F11 | F12 | | - | = | - * '------+------'-------------' '-------------'------+------' - * | | | | | | - * | | | | | | - * | | | | | | - * '------+------' '------+------' - * '------+------' '------+------' - * | | | | | | - * '------+------' '------+------' - * | | | | | | - * '------+------' '------+------' - */ + /* Raise + * ,----------------------------------, ,----------------------------------, + * | | | mup | | | | VOL+ | | up | | PgUp | + * |------+------+------+------+------| |-------------+------+------+------| + * | | mleft| mdown|mright| | | MUTE | left | down |right | PgDn | + * |------+------+------+------+------| |------|------+------+------+------| + * | | | | | | | VOL- | / | \ | ? | | | + * |------+------+------+-------------, ,-------------+------+------+------, + * | | | | mbtn |mbtn2 | + * '------+------'-------------' '-------------'------+------' + * | | | | | | + * | | | | | | + * | | | | | | + * '------+------' '------+------' + * '------+------' '------+------' + * | | | | | | + * '------+------' '------+------' + * | | | | | | + * '------+------' '------+------' + */ + [_RAISE] = LAYOUT( + _______, _______, KC_MU, _______, _______, KC_VOLU, _______, KC_UP, _______, KC_PGUP, + _______, KC_ML, KC_MD, KC_MR, _______, KC_MUTE, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, + _______, _______, _______, _______, _______, KC_VOLD, KC_SLSH, KC_BSLS, KC_QUES, KC_PIPE, + _______, _______, KC_MB1, KC_MB2, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), -[_LOWER] = LAYOUT( \ - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \ - KC_F11, KC_F12, ____, ____, \ - ____, ____, ____, ____, \ - ____, ____, ____, ____, \ - ____, ____, ____, ____ \ -) + /* Lower + * ,----------------------------------, ,----------------------------------, + * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | + * |------+------+------+------+------| |-------------+------+------+------| + * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | + * |------+------+------+------+------| |------|------+------+------+------| + * | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + * |------+------+------+-------------, ,-------------+------+------+------, + * | F11 | F12 | | - | = | + * '------+------'-------------' '-------------'------+------' + * | | | | | | + * | | | | | | + * | | | | | | + * '------+------' '------+------' + * '------+------' '------+------' + * | | | | | | + * '------+------' '------+------' + * | | | | | | + * '------+------' '------+------' + */ + [_LOWER] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_F11, KC_F12, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ) }; void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); } diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c index 58a8c63aaf26..bf2c08e80589 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/ibnuda/keymap.c @@ -16,46 +16,45 @@ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ - KTA, KTB, KTC, KTD \ + KTA, KTB, KTC, KTD, KTE, KTF \ ) \ LAYOUT_wrapper( \ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \ - TAB, GUI, MIN, SLS, \ - KTA, KTB, KTC, KTD, \ + TAB, KTA, KTF, SLS, \ + KTB, KTC, KTD, KTE, \ CTL, DEL, QUE, CTL, \ - ___, ___, ___, ___ \ + ___, ___, ___, ___ \ ) #define LAYOUT_dm_base_wrapper(...) LAYOUT_dm_base(__VA_ARGS__) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT_dm_base_wrapper( - ________________DVORAK_L1_______________, ________________DVORAK_R1_______________, - ________________DVORAK_L2_______________, ________________DVORAK_R2_______________, - ________________DVORAK_L3_______________, ________________DVORAK_R3_______________, - LW_BSPC,SFT_ESC, ALT_ENT,RS_SPC + LUP, LUR, LUM, LUI, LUII, RUII, RUI, RUM, RUR, RUP, + SHLP, CTLR, ALLM, LMI, GULII, GURII, RMI, ALRM, CTRR, SHRP, + LLP, LLR, LLM, LLI, LLII, RLII, RLI, RLM, RLR, RLP, + CT_ESC, LW_E, SF_BSPC, AL_ENT, RS_SPC, TRAISE ), [_RAISE] = LAYOUT_dm_base_wrapper( - ________________RAISE_L1________________, ________________RAISE_R1________________, - ________________RAISE_L2________________, ________________RAISE_R2________________, - ________________RAISE_L3________________, ________________RAISE_R3________________, - ADDDD, _______, _______,_______ + KC_EXLM,KC_AT, KC_UP, KC_LCBR,KC_RCBR, KC_BSLS,KC_7, KC_8, KC_9, KC_ASTR , + KC_HASH,CT_LEFT,AL_DOWN,KC_RGHT,KC_DLR, GU_EQL, KC_4, AL_FIVE,CT_SIX, SH_ZERO , + KC_LBRC,KC_RBRC,KC_LPRN,KC_RPRN,KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_PLUS , + _______,ADDDD ,_______, _______,RS_SPC, _______ ), [_LOWER] = LAYOUT_dm_base_wrapper( - ________________LOWER_L1________________, ________________LOWER_R1________________, - ________________LOWER_L2________________, ________________LOWER_R2________________, - ________________LOWER_L3________________, ________________LOWER_R3________________, - _______,_______, _______,ADDDD + KC_ESC, KC_QUES,KC_UNDS,KC_F1, KC_F2, KC_F3, KC_F4, KC_MINS,KC_SLSH,KC_BSPC , + KC_LSFT,KC_PSCR,KC_PGUP,KC_F5, KC_F6, KC_F7, KC_F8, KC_HOME,KC_LALT,KC_ENT , + KC_CLCK,KC_SLCK,KC_PGDN,KC_F9, KC_F10, KC_F11, KC_F12, KC_END, KC_INS, KC_SLSH , + _______,_______,_______, _______,ADDDD, _______ ), [_ADJUST] = LAYOUT_dm_base_wrapper( - ________________ADJUST_L1_______________, ________________ADJUST_R1_______________, - ________________ADJUST_L2_______________, ________________ADJUST_R2_______________, - ________________ADJUST_L3_______________, ________________ADJUST_R3_______________, - _______,_______, _______,_______ -), -}; + _______,EXPLR, KC_UP, PRVTAB, PRVWIN, NXTWIN, NXTTAB, _______,_______,LCKGUI, + TSKMGR, KC_LEFT,KC_DOWN,KC_RGHT,UPTAB, DNTAB, KC_ENT, KC_LGUI,_______,CALDL, + _______,CLSGUI, _______,CONPST, RESET, _______,_______,_______,_______,_______, + _______,_______,_______, _______,_______,_______ +),}; // clang-format on diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 000000000000..6348254503f8 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,25 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 XXX KC_NO + +#define LAYOUT_miryoku(\ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ +)\ +LAYOUT( \ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ + XXX, XXX, XXX, XXX, \ + K32, K33, K36, K37, \ + K34, XXX, XXX, K35, \ + XXX, XXX, XXX, XXX \ +) diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 000000000000..1520387e8887 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,5 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 . diff --git a/keyboards/handwired/dactyl_manuform/4x5/rules.mk b/keyboards/handwired/dactyl_manuform/4x5/rules.mk index 7508070515e2..caba0940caeb 100644 --- a/keyboards/handwired/dactyl_manuform/4x5/rules.mk +++ b/keyboards/handwired/dactyl_manuform/4x5/rules.mk @@ -1,20 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina # Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/dactyl_manuform/4x6/4x6.c b/keyboards/handwired/dactyl_manuform/4x6/4x6.c index 1d305c85414c..5e68c1a9fa2f 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/4x6.c +++ b/keyboards/handwired/dactyl_manuform/4x6/4x6.c @@ -1,14 +1 @@ #include "4x6.h" - - -#ifdef SSD1306OLED -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} -#endif - -void matrix_init_kb(void) { - matrix_init_user(); -}; - diff --git a/keyboards/handwired/dactyl_manuform/4x6/4x6.h b/keyboards/handwired/dactyl_manuform/4x6/4x6.h index 25741be57b5f..dcdb1a39ec41 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/4x6.h +++ b/keyboards/handwired/dactyl_manuform/4x6/4x6.h @@ -1,36 +1,27 @@ #pragma once #include "dactyl_manuform.h" -#include "quantum.h" -#ifdef USE_I2C -#include -#ifdef __AVR__ - #include - #include -#endif -#endif +#define XXX KC_NO -#define LAYOUT(\ +#define LAYOUT( \ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L32, L33, R32, R33, \ - L34, L35, R30, R31, \ - L44, L45, R40, R41, \ - L42, L43, R42, R43 \ - ) \ - { \ - { L00, L01, L02, L03, L04, L05 }, \ - { L10, L11, L12, L13, L14, L15 }, \ - { L20, L21, L22, L23, L24, L25 }, \ - { KC_NO, KC_NO, L32, L33, L34, L35 }, \ - { KC_NO, KC_NO, L42, L43, L44, L45 }, \ + L32, L33, R32, R33, \ + L34, L35, R30, R31, \ + L44, L45, R40, R41, \ + L42, L43, R42, R43 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { XXX, XXX, L32, L33, L34, L35 }, \ + { XXX, XXX, L42, L43, L44, L45 }, \ \ - { R00, R01, R02, R03, R04, R05 }, \ - { R10, R11, R12, R13, R14, R15 }, \ - { R20, R21, R22, R23, R24, R25 }, \ - { R30, R31, R32, R33, KC_NO, KC_NO }, \ - { R40, R41, R42, R43, KC_NO, KC_NO } \ -\ - } + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, XXX, XXX }, \ + { R40, R41, R42, R43, XXX, XXX } \ +} diff --git a/keyboards/handwired/dactyl_manuform/4x6/config.h b/keyboards/handwired/dactyl_manuform/4x6/config.h index 6de9b3616718..2e79517b2552 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/config.h +++ b/keyboards/handwired/dactyl_manuform/4x6/config.h @@ -21,8 +21,8 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define PRODUCT_ID 0x3436 -#define DEVICE_VER 0x0001 +#define PRODUCT_ID 0x3436 +#define DEVICE_VER 0x0001 /* key matrix size */ // Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/4x6/info.json b/keyboards/handwired/dactyl_manuform/4x6/info.json index ba358a703f4f..11895a7d1b33 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/info.json +++ b/keyboards/handwired/dactyl_manuform/4x6/info.json @@ -7,59 +7,72 @@ "layouts": { "LAYOUT": { "layout": [ - {"label":"L00", "x":0, "y":0}, - {"label":"L01", "x":1, "y":0}, - {"label":"L02", "x":2, "y":0}, - {"label":"L03", "x":3, "y":0}, - {"label":"L04", "x":4, "y":0}, - {"label":"L05", "x":5, "y":0}, - {"label":"R00", "x":11, "y":0}, - {"label":"R01", "x":12, "y":0}, - {"label":"R02", "x":13, "y":0}, - {"label":"R03", "x":14, "y":0}, - {"label":"R04", "x":15, "y":0}, - {"label":"R05", "x":16, "y":0}, - {"label":"L10", "x":0, "y":1}, - {"label":"L11", "x":1, "y":1}, - {"label":"L12", "x":2, "y":1}, - {"label":"L13", "x":3, "y":1}, - {"label":"L14", "x":4, "y":1}, - {"label":"L15", "x":5, "y":1}, - {"label":"R10", "x":11, "y":1}, - {"label":"R11", "x":12, "y":1}, - {"label":"R12", "x":13, "y":1}, - {"label":"R13", "x":14, "y":1}, - {"label":"R14", "x":15, "y":1}, - {"label":"R15", "x":16, "y":1}, - {"label":"L20", "x":0, "y":2}, - {"label":"L21", "x":1, "y":2}, - {"label":"L22", "x":2, "y":2}, - {"label":"L23", "x":3, "y":2}, - {"label":"L24", "x":4, "y":2}, - {"label":"L25", "x":5, "y":2}, - {"label":"R20", "x":11, "y":2}, - {"label":"R21", "x":12, "y":2}, - {"label":"R22", "x":13, "y":2}, - {"label":"R23", "x":14, "y":2}, - {"label":"R24", "x":15, "y":2}, - {"label":"R25", "x":16, "y":2}, - {"label":"L32", "x":2, "y":3}, - {"label":"L33", "x":3, "y":3}, - {"label":"R32", "x":13, "y":3}, - {"label":"R33", "x":14, "y":3}, - {"label":"L34", "x":4, "y":4}, - {"label":"L35", "x":5, "y":4}, - {"label":"R30", "x":11, "y":4}, - {"label":"R31", "x":12, "y":4}, - {"label":"L44", "x":6, "y":5}, - {"label":"L45", "x":7, "y":5}, - {"label":"R40", "x":9, "y":5}, - {"label":"R41", "x":10, "y":5}, - {"label":"L42", "x":6, "y":6}, - {"label":"L43", "x":7, "y":6}, - {"label":"R42", "x":9, "y":6}, - {"label":"R43", "x":10, "y":6} - ] + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + + {"x": 4, "y": 4}, + {"x": 5, "y": 4}, + + {"x": 11, "y": 4}, + {"x": 12, "y": 4}, + + {"x": 6, "y": 5}, + {"x": 7, "y": 5}, + + {"x": 9, "y": 5}, + {"x": 10, "y": 5}, + + {"x": 6, "y": 6}, + {"x": 7, "y": 6}, + + {"x": 9, "y": 6}, + {"x": 10, "y": 6} + ] } } } diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h index 1fc2c617f606..18320c0952aa 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h @@ -22,10 +22,10 @@ along with this program. If not, see . /* Use I2C or Serial, not both */ #define USE_SERIAL -// #define USE_I2C +//#define USE_I2C /* Select hand configuration */ +//#define MASTER_LEFT +//#define MASTER_RIGHT -// #define MASTER_LEFT -// #define MASTER_RIGHT #define EE_HANDS diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c index 52ddfad03850..999cc30118e8 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c @@ -1,14 +1,9 @@ #include QMK_KEYBOARD_H - #define _BASE 0 #define _RAISE 1 #define _LOWER 2 -// Fillers to make layering more clear - -#define ____ KC_TRNS - #define SFT_ESC SFT_T(KC_ESC) #define CTL_BSPC CTL_T(KC_BSPC) #define ALT_SPC ALT_T(KC_SPC) @@ -25,61 +20,58 @@ #define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base (qwerty) + * +-----------------------------------------+ +-----------------------------------------+ + * | ESC | q | w | e | r | t | | y | u | i | o | p | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | TAB | a | s | d | f | g | | h | j | k | l | ; | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | SHFT | z | x | c | v | b | | n | m | , | . | / | | + * +------+------+------+------+-------------+ +-------------+------+------+------+------+ + * | [ | ] | | | | + * +-------------+-------------+ +-------------+-------------+ + * | | | | | | + * |------+------| |------+------| + * | | | | | | + * +-------------+ +-------------+ + * +-------------+ +-------------+ + * | | | | | | + * |------+------| |------+------| + * | | | | | | + * +-------------+ +-------------+ + */ + [_BASE] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, + KC_LBRC, KC_RBRC, KC_PLUS, KC_EQL, + RAISE, KC_SPC, KC_ENT, LOWER, + KC_TAB, KC_HOME, KC_END, KC_DEL, + KC_BSPC, KC_GRV, KC_LGUI, KC_LALT + ), -/* Base (qwerty) - * +-----------------------------------------+ +-----------------------------------------+ - * | ESC | q | w | e | r | t | | y | u | i | o | p | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | TAB | a | s | d | f | g | | h | j | k | l | ; | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | SHFT | z | x | c | v | b | | n | m | , | . | / | | - * +------+------+------+------+-------------+ +-------------+------+------+------+------+ - * | [ | ] | | | | - * +-------------+-------------+ +-------------+-------------+ - * | | | | | | - * |------+------| |------+------| - * | | | | | | - * +-------------+ +-------------+ - * +-------------+ +-------------+ - * | | | | | | - * |------+------| |------+------| - * | | | | | | - * +-------------+ +-------------+ - */ + [_LOWER] = LAYOUT( + _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, KC_PLUS, + _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END , KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE, + _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, + _______, KC_PSCR, _______, KC_P0, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ), -[_BASE] = LAYOUT( \ - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, \ - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_BSLASH, \ - KC_LBRC,KC_RBRC, KC_PLUS,KC_EQL, \ - RAISE, KC_SPC, KC_ENT, LOWER, \ - KC_TAB, KC_HOME, KC_END, KC_DEL, \ - KC_BSPC,KC_GRV, KC_LGUI,KC_LALT \ -), - -[_LOWER] = LAYOUT( - _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, KC_PLUS, \ - _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS,KC_PIPE, \ - _______,_______,_______,_______,_______,_______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, \ - _______,KC_PSCR, _______, KC_P0, \ - _______,_______, _______,_______, \ - _______,_______, _______,_______, \ - _______,_______, _______,_______ \ -), - -[_RAISE] = LAYOUT( - _______,RESET, _______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS, KC_SLCK,KC_MUTE, \ - _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, \ - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, \ - _______,_______, KC_EQL, _______, \ - _______,_______, _______,_______, \ - _______,_______, _______,_______, \ - _______,_______, _______,_______ \ -) + [_RAISE] = LAYOUT( + _______, RESET, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_NLCK, KC_INS, KC_SLCK, KC_MUTE, + _______, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, + _______, _______, KC_EQL, _______, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, _______ + ) }; - void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); } diff --git a/keyboards/handwired/dactyl_manuform/4x6/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/rules.mk index 7508070515e2..caba0940caeb 100644 --- a/keyboards/handwired/dactyl_manuform/4x6/rules.mk +++ b/keyboards/handwired/dactyl_manuform/4x6/rules.mk @@ -1,20 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina # Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6/5x6.c b/keyboards/handwired/dactyl_manuform/5x6/5x6.c index 68fceffd923e..0e9d5481c475 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/5x6.c +++ b/keyboards/handwired/dactyl_manuform/5x6/5x6.c @@ -1,23 +1 @@ #include "5x6.h" - - -#ifdef SSD1306OLED -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} -#endif - -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; - diff --git a/keyboards/handwired/dactyl_manuform/5x6/5x6.h b/keyboards/handwired/dactyl_manuform/5x6/5x6.h index 5292ca0972ee..606a2134929c 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/5x6.h +++ b/keyboards/handwired/dactyl_manuform/5x6/5x6.h @@ -1,38 +1,30 @@ #pragma once #include "dactyl_manuform.h" -#include "quantum.h" -#ifdef USE_I2C -#include -#ifdef __AVR__ - #include - #include -#endif -#endif +#define XXX KC_NO -#define LAYOUT_5x6(\ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ - L42, L43, R42, R43, \ - L44, L45, R40, R41, \ - L54, L55, R50, R51, \ - L52, L53, R52, R53 \ - ) \ - { \ - { L00, L01, L02, L03, L04, L05 }, \ - { L10, L11, L12, L13, L14, L15 }, \ - { L20, L21, L22, L23, L24, L25 }, \ - { L30, L31, L32, L33, L34, L35 }, \ - { KC_NO, KC_NO, L42, L43, L44, L45 }, \ - { KC_NO, KC_NO, L52, L53, L54, L55 }, \ - \ - { R00, R01, R02, R03, R04, R05 }, \ - { R10, R11, R12, R13, R14, R15 }, \ - { R20, R21, R22, R23, R24, R25 }, \ - { R30, R31, R32, R33, R34, R35 }, \ - { R40, R41, R42, R43, KC_NO, KC_NO }, \ - { R50, R51, R52, R53, KC_NO, KC_NO } \ +#define LAYOUT_5x6( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ + L42, L43, R42, R43, \ + L44, L45, R40, R41, \ + L54, L55, R50, R51, \ + L52, L53, R52, R53 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { XXX, XXX, L42, L43, L44, L45 }, \ + { XXX, XXX, L52, L53, L54, L55 }, \ +\ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, R35 }, \ + { R40, R41, R42, R43, XXX, XXX }, \ + { R50, R51, R52, R53, XXX, XXX } \ } diff --git a/keyboards/handwired/dactyl_manuform/5x6/config.h b/keyboards/handwired/dactyl_manuform/5x6/config.h index dc395d868a1b..6b93da95880d 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/config.h @@ -20,9 +20,9 @@ along with this program. If not, see . #include "config_common.h" -#define PRODUCT_ID 0x3536 -#define DEVICE_VER 0x0001 -#define PRODUCT Dactyl-Manuform (5x6) +#define PRODUCT_ID 0x3536 +#define DEVICE_VER 0x0001 +#define PRODUCT Dactyl-Manuform (5x6) /* key matrix size */ // Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/5x6/info.json b/keyboards/handwired/dactyl_manuform/5x6/info.json index 14afc704cd2e..d34b6654449c 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/info.json +++ b/keyboards/handwired/dactyl_manuform/5x6/info.json @@ -7,70 +7,85 @@ "layouts": { "LAYOUT_5x6": { "layout": [ - {"label":"L00", "x":0, "y":0}, - {"label":"L01", "x":1, "y":0}, - {"label":"L02", "x":2, "y":0}, - {"label":"L03", "x":3, "y":0}, - {"label":"L04", "x":4, "y":0}, - {"label":"L05", "x":5, "y":0}, - {"label":"R00", "x":11, "y":0}, - {"label":"R01", "x":12, "y":0}, - {"label":"R02", "x":13, "y":0}, - {"label":"R03", "x":14, "y":0}, - {"label":"R04", "x":15, "y":0}, - {"label":"R05", "x":16, "y":0}, - {"label":"L10", "x":0, "y":1}, - {"label":"L11", "x":1, "y":1}, - {"label":"L12", "x":2, "y":1}, - {"label":"L13", "x":3, "y":1}, - {"label":"L14", "x":4, "y":1}, - {"label":"L15", "x":5, "y":1}, - {"label":"R10", "x":11, "y":1}, - {"label":"R11", "x":12, "y":1}, - {"label":"R12", "x":13, "y":1}, - {"label":"R13", "x":14, "y":1}, - {"label":"R14", "x":15, "y":1}, - {"label":"R15", "x":16, "y":1}, - {"label":"L20", "x":0, "y":2}, - {"label":"L21", "x":1, "y":2}, - {"label":"L22", "x":2, "y":2}, - {"label":"L23", "x":3, "y":2}, - {"label":"L24", "x":4, "y":2}, - {"label":"L25", "x":5, "y":2}, - {"label":"R20", "x":11, "y":2}, - {"label":"R21", "x":12, "y":2}, - {"label":"R22", "x":13, "y":2}, - {"label":"R23", "x":14, "y":2}, - {"label":"R24", "x":15, "y":2}, - {"label":"R25", "x":16, "y":2}, - {"label":"L30", "x":0, "y":3}, - {"label":"L31", "x":1, "y":3}, - {"label":"L32", "x":2, "y":3}, - {"label":"L33", "x":3, "y":3}, - {"label":"L34", "x":4, "y":3}, - {"label":"L35", "x":5, "y":3}, - {"label":"R30", "x":11, "y":3}, - {"label":"R31", "x":12, "y":3}, - {"label":"R32", "x":13, "y":3}, - {"label":"R33", "x":14, "y":3}, - {"label":"R34", "x":15, "y":3}, - {"label":"R35", "x":16, "y":3}, - {"label":"L42", "x":2, "y":4}, - {"label":"L43", "x":3, "y":4}, - {"label":"R42", "x":13, "y":4}, - {"label":"R43", "x":14, "y":4}, - {"label":"L44", "x":4, "y":5}, - {"label":"L45", "x":5, "y":5}, - {"label":"R40", "x":11, "y":5}, - {"label":"R41", "x":12, "y":5}, - {"label":"L54", "x":6, "y":6}, - {"label":"L55", "x":7, "y":6}, - {"label":"R50", "x":9, "y":6}, - {"label":"R51", "x":10, "y":6}, - {"label":"L52", "x":6, "y":7}, - {"label":"L53", "x":7, "y":7}, - {"label":"R52", "x":9, "y":7}, - {"label":"R53", "x":10, "y":7} + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + + {"x": 11, "y": 3}, + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + + {"x": 4, "y": 5}, + {"x": 5, "y": 5}, + + {"x": 11, "y": 5}, + {"x": 12, "y": 5}, + + {"x": 6, "y": 6}, + {"x": 7, "y": 6}, + + {"x": 9, "y": 6}, + {"x": 10, "y": 6}, + + {"x": 6, "y": 7}, + {"x": 7, "y": 7}, + + {"x": 9, "y": 7}, + {"x": 10, "y": 7} ] } } diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h index 29ab59ad66b4..5a20f9473fec 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h @@ -15,13 +15,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - #pragma once - #define USE_SERIAL #define MASTER_LEFT -// #define MASTER_RIGHT +//#define MASTER_RIGHT + //#define EE_HANDS -// Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c index 0910faf899a1..5bb5836fbc3c 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c @@ -1,8 +1,5 @@ -/* A standard layout for the Dactyl Manuform 5x6 Keyboard */ - #include QMK_KEYBOARD_H - #define _QWERTY 0 #define _LOWER 1 #define _RAISE 2 @@ -11,39 +8,37 @@ #define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_5x6( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,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_MINS, - KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, - KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH, - KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, - RAISE,KC_SPC, KC_ENT, LOWER, - KC_TAB,KC_HOME, KC_END, KC_DEL, - KC_BSPC, KC_GRV, KC_LGUI, KC_LALT - ), - - [_LOWER] = LAYOUT_5x6( - - KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL, - _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, - _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, - _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS, - _______,KC_PSCR, _______, KC_P0, - _______,_______, _______,_______, - _______,_______, _______,_______, - _______,_______, _______,_______ - - ), - - [_RAISE] = LAYOUT_5x6( - KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 , - _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE, - _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, - _______,_______, KC_EQL ,_______, - _______,_______, _______,_______, - _______,_______, _______,_______, - _______,_______, _______,_______ - ), + [_QWERTY] = LAYOUT_5x6( + KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,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_MINS, + KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, + KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH, + KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, + RAISE,KC_SPC, KC_ENT, LOWER, + KC_TAB,KC_HOME, KC_END, KC_DEL, + KC_BSPC, KC_GRV, KC_LGUI, KC_LALT + ), + + [_LOWER] = LAYOUT_5x6( + KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL, + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, + _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, + _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS, + _______,KC_PSCR, _______, KC_P0, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______ + + ), + + [_RAISE] = LAYOUT_5x6( + KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 , + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE, + _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, + _______,_______, KC_EQL ,_______, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ) }; diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 000000000000..232b3930bf9d --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,26 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 XXX KC_NO + +#define LAYOUT_miryoku(\ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +LAYOUT_5x6( \ +XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \ +XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \ +XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \ +XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \ + XXX, XXX, XXX, XXX, \ + K32, K33, K36, K37, \ + K34, XXX, XXX, K35, \ + XXX, XXX, XXX, XXX \ +) diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c new file mode 100644 index 000000000000..1520387e8887 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/manna-harbour_miryoku/keymap.c @@ -0,0 +1,5 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku +// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*- + +// 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 . diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c index f8dfb2718c90..de931feabde6 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c @@ -16,16 +16,13 @@ enum dactyl_layers { #define KILL LGUI(LSFT(KC_C)) #define OPEN LGUI(KC_P) #define KC_QSM LSFT(SE_PLUS) -#define KC_AA SE_AA -#define KC_AE SE_AE -#define KC_OE SE_OSLH const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT_5x6( - KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , SE_APOS, - KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_AA , - KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_OE , KC_AE , + KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , SE_QUOT, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , SE_ARNG, + KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , SE_ODIA, SE_ADIA, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , SE_SLSH, SE_MINS, KC_EXLM, KC_QSM , SE_PLUS, SE_EQL , RAISE , KC_SPC , KC_ENT , LOWER , @@ -37,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { SE_TILD, KC_EXLM, SE_AT , KC_HASH, SE_DLR , KC_PERC, SE_CIRC, SE_AMPR, SE_ASTR, SE_SLSH, SE_LPRN, SE_RPRN, SE_ACUT, _______, _______, _______, _______, _______, _______, _______, _______, _______, SE_LCBR, SE_RCBR, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, SE_LBRC, SE_RBRC, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SE_LESS, SE_GRTR, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SE_LABK, SE_RABK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/dactyl_manuform/5x6/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/rules.mk index 7508070515e2..caba0940caeb 100644 --- a/keyboards/handwired/dactyl_manuform/5x6/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6/rules.mk @@ -1,20 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina # Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.c b/keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.c new file mode 100644 index 000000000000..0d1ffd84df67 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Jan Christoph Ebersbach + * + * 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 "5x6_2_5.h" diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.h b/keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.h new file mode 100644 index 000000000000..790fdb069557 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.h @@ -0,0 +1,44 @@ +/* Copyright 2021 Jan Christoph Ebersbach + * + * 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 "dactyl_manuform.h" + +#define XXX KC_NO + +#define LAYOUT_5x6_2_5( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ + L40, L41, L42, L43, L44, L55, L53, R52, R50, R41, R42, R43, R44, R45, \ + L54, L52, R53, R51 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L40, L41, L42, L43, L44, XXX }, \ + { XXX, XXX, L52, L53, L54, L55 }, \ +\ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, R35 }, \ + { XXX, R41, R42, R43, R44, R45 }, \ + { R50, R51, R52, R53, XXX, XXX } \ +} diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h b/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h new file mode 100644 index 000000000000..79ea625d9ecb --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h @@ -0,0 +1,57 @@ +/* +Copyright 2020 Jan Christoph Ebersbach + +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 "config_common.h" + +#define PRODUCT_ID 0x3536 +#define DEVICE_VER 0x0003 +#define PRODUCT Dactyl-Manuform (5x6+2) + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 6 + +// left half pro-mirco +#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 } +#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 } + +// // right half adafruit feather +// #define MATRIX_COL_PINS { F1, F0, B1, B2, B3, D2 } +// #define MATRIX_ROW_PINS { D6, B7, B6, B5, D7, C6 } +// #define AdafruitBleResetPin D4 +// #define AdafruitBleCSPin B4 +// #define AdafruitBleIRQPin E6 + +#define DIODE_DIRECTION COL2ROW + +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +#define BOOTMAGIC_LITE_ROW_RIGHT 6 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 + +// WS2812 RGB LED strip input and number of LEDs +// #define RGB_DI_PIN D3 +// #define RGBLED_NUM 12 + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +// #define BACKLIGHT_LEVELS 3 diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json b/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json new file mode 100644 index 000000000000..aa7e2369b1a6 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json @@ -0,0 +1,92 @@ +{ + "keyboard_name": "Dactyl Manuform 5x6 2 extra keys and 5 thumb keys", + "url": "", + "maintainer": "jceb", + "width": 17, + "height": 6, + "layouts": { + "LAYOUT_5x6_2_5": { + "layout": [ + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + + {"x": 11, "y": 3}, + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + + {"x": 0, "y": 4}, + {"x": 1, "y": 4}, + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + + {"x": 5, "y": 4}, + {"x": 6, "y": 4}, + {"x": 7, "y": 4}, + + {"x": 9, "y": 4}, + {"x": 10, "y": 4}, + {"x": 11, "y": 4}, + + {"x": 13, "y":4}, + {"x": 14, "y":4}, + {"x": 15, "y":4}, + {"x": 16, "y":4}, + + {"x": 6, "y": 5}, + {"x": 7, "y": 5}, + + {"x": 9, "y": 5}, + {"x": 10, "y": 5} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/config.h new file mode 100644 index 000000000000..c4fb3742d96f --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2012 Jun Wako + +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 USE_SERIAL + +#define EE_HANDS + +#define KINETIC_SPEED diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/keymap.json b/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/keymap.json new file mode 100644 index 000000000000..f8628a403d6d --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/keymaps/default/keymap.json @@ -0,0 +1,525 @@ +{ + "version": 1, + "notes": "", + "author": "Jan Christoph Ebersbach", + "keyboard": "handwired/dactyl_manuform/5x6_2_5", + "keymap": "jceb", + "layout": "LAYOUT_5x6_2_5", + "layers": [ + [ + "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_TAB", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_LBRC", + + "LCTL_T(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_LSPO", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_RSPC", + + "KC_LCTL", + "KC_LALT", + "KC_LGUI", + "KC_LALT", + "TT(2)", + + "LT(6,KC_SPC)", + "LT(4,KC_DEL)", + "LT(4,KC_ENT)", + "KC_SPC", + + "LT(2,KC_BSPC)", + "LALT_T(KC_RALT)", + "KC_RGUI", + "KC_RALT", + "KC_RCTL", + + "LCTL_T(KC_LBRC)", + "KC_LSPO", + "KC_RSPC", + "RCTL_T(KC_RBRC)" + ], + [ + "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_TAB", + "KC_Q", + "KC_W", + "KC_F", + "KC_P", + "KC_G", + "KC_J", + "KC_L", + "KC_U", + "KC_Y", + "KC_SCLN", + "KC_LBRC", + + "LCTL_T(KC_ESC)", + "KC_A", + "KC_R", + "KC_S", + "KC_T", + "KC_D", + "KC_H", + "KC_N", + "KC_E", + "KC_I", + "KC_O", + "KC_QUOT", + + "KC_LSPO", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_K", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_RSPC", + + "KC_LCTL", + "KC_LALT", + "KC_LGUI", + "KC_LALT", + "TT(2)", + "LT(6,KC_SPC)", + "LT(4,KC_DEL)", + + "LT(4,KC_ENT)", + "KC_SPC", + "LT(2,KC_BSPC)", + "LALT_T(KC_RALT)", + "KC_RGUI", + + "KC_RALT", + "KC_RCTL", + "LCTL_T(KC_LBRC)", + "KC_LSPO", + "KC_RSPC", + "RCTL_T(KC_RBRC)" + ], + [ + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_7", + "KC_7", + "KC_8", + "KC_9", + "KC_TRNS", + "KC_RBRC", + + "KC_TRNS", + "DF(0)", + "DF(1)", + "KC_NO", + "MO(3)", + "MO(3)", + "KC_4", + "KC_4", + "KC_5", + "KC_6", + "KC_MINS", + "KC_EQL", + + "KC_TRNS", + "MO(5)", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_1", + "KC_1", + "KC_2", + "KC_3", + "KC_BSLS", + "KC_TRNS", + + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_SPC", + "KC_DEL", + + "KC_ENT", + "KC_0", + "KC_BSPC", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + + "TG(2)", + "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_F11", + + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_F7", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_NO", + + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO", + "MO(3)", + "MO(3)", + "KC_F4", + "KC_F4", + "KC_F5", + "KC_F6", + "KC_F11", + "KC_NO", + + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_F1", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F12", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_SPC", + "KC_DEL", + + "KC_ENT", + "KC_SPC", + "KC_BSPC", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "TG(3)", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "KC_ESC", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_ESC", + "KC_NO", + "LCTL(KC_W)", + "LCTL(KC_T)", + "LCTL(KC_PGDN)", + "LCTL(KC_PGDN)", + "KC_PGDN", + "KC_HOME", + "KC_UP", + "KC_INS", + "LSFT(KC_INS)", + "KC_ESC", + + "KC_TRNS", + "KC_CAPS", + "LGUI(KC_LEFT)", + "LGUI(KC_TAB)", + "LGUI(KC_RGHT)", + "LGUI(KC_RGHT)", + "KC_LEFT", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT", + "KC_END", + "KC_PSCR", + + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO", + "LCTL(KC_PGUP)", + "LCTL(KC_PGUP)", + "KC_PGUP", + "KC_TRNS", + "KC_DOWN", + "KC_NO", + "KC_APP", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_SPC", + "KC_DEL", + + "KC_ENT", + "KC_SPC", + "KC_BSPC", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "TG(4)", + "KC_TRNS", + "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_NO", + "KC_NO", + + "KC_TRNS", + "KC_NO", + "KC_MPLY", + "KC_VOLU", + "KC_VOLU", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "RESET", + "KC_PWR", + + "KC_TRNS", + "KC_NO", + "KC_MPRV", + "KC_MUTE", + "KC_MNXT", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_SLEP", + + "KC_TRNS", + "MO(5)", + "KC_NO", + "KC_VOLD", + "KC_VOLD", + "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_SPC", + + "KC_DEL", + "KC_ENT", + "KC_SPC", + "KC_BSPC", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + + "TG(5)", + "KC_TRNS", + "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_NO", + "KC_NO", + + "KC_TRNS", + "KC_ACL1", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_WH_U", + "KC_WH_L", + "KC_MS_U", + "KC_WH_R", + "KC_NO", + "KC_NO", + + "KC_TRNS", + "KC_ACL2", + "KC_BTN2", + "KC_BTN3", + "KC_BTN1", + "KC_BTN1", + "KC_MS_L", + "KC_MS_L", + "KC_MS_D", + "KC_MS_R", + "KC_NO", + "KC_NO", + + "KC_TRNS", + "KC_ACL0", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_WH_D", + "KC_NO", + "KC_MS_D", + "KC_NO", + "KC_NO", + "KC_TRNS", + + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_SPC", + "KC_DEL", + + "KC_ENT", + "KC_SPC", + "KC_BSPC", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + + "TG(6)", + "KC_TRNS", + + "KC_TRNS", + "KC_TRNS" + ] + ] +} diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/readme.md b/keyboards/handwired/dactyl_manuform/5x6_2_5/readme.md new file mode 100644 index 000000000000..d67f940611b4 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/readme.md @@ -0,0 +1,13 @@ +# Dactyl ManuForm Mini + +The Dactyl ManuForm Mini is a fork of the [Dactyl ManuForm](https://github.com/tshort/dactyl-keyboard). The Dactyl ManuForm is a fork of the [Dactyl](https://github.com/adereth/dactyl-keyboard) with the thumb cluster from [ManuForm](https://github.com/jeffgran/ManuForm). + +This [specific version](https://github.com/jceb/dactyl-manuform-mini-keyboard) of the Dactyl ManuForm Mini adds to additional keys to each side, CTRL and ALT, that are missing in the default configuration of the mini keyboard. In addition, a thumb cluster with 5 keys is enabled. + +The keyboard is custom built and handwired. There multiple build guides available. + +Make example for this keyboard (after setting up your build environment): + + make handwired/dactyl_manuform/5x6_2_5: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). diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk new file mode 100644 index 000000000000..ec12188f3012 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c index bacda3640e0b..e4ad432ccc76 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c +++ b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c @@ -1,2 +1 @@ #include "5x6_5.h" - diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h index deb288a1f96d..794b0be9fe93 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h +++ b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h @@ -2,26 +2,27 @@ #include "dactyl_manuform.h" -#define LAYOUT_5x6_5(\ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ - L42, L43, L44, L55, L53, R52, R50, R41, R42, R43, \ - L54, L52, R53, R51 \ - ) \ - { \ - { L00, L01, L02, L03, L04, L05 }, \ - { L10, L11, L12, L13, L14, L15 }, \ - { L20, L21, L22, L23, L24, L25 }, \ - { L30, L31, L32, L33, L34, L35 }, \ - { KC_NO, KC_NO, L42, L43, L44, KC_NO }, \ - { KC_NO, KC_NO, L52, L53, L54, L55 }, \ - \ - { R00, R01, R02, R03, R04, R05 }, \ - { R10, R11, R12, R13, R14, R15 }, \ - { R20, R21, R22, R23, R24, R25 }, \ - { R30, R31, R32, R33, R34, R35 }, \ - { KC_NO, R41, R42, R43, KC_NO, KC_NO }, \ - { R50, R51, R52, R53, KC_NO, KC_NO } \ +#define XXX KC_NO + +#define LAYOUT_5x6_5( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ + L42, L43, L44, L55, L53, R52, R50, R41, R42, R43, \ + L54, L52, R53, R51 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { XXX, XXX, L42, L43, L44, XXX }, \ + { XXX, XXX, L52, L53, L54, L55 }, \ +\ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, R35 }, \ + { XXX, R41, R42, R43, XXX, XXX }, \ + { R50, R51, R52, R53, XXX, XXX } \ } diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/config.h index 1e68b6df0163..031ccf88d74b 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/config.h +++ b/keyboards/handwired/dactyl_manuform/5x6_5/config.h @@ -20,9 +20,9 @@ along with this program. If not, see . #include "config_common.h" -#define PRODUCT_ID 0x3536 -#define DEVICE_VER 0x0002 -#define PRODUCT Dactyl-Manuform (5x6) +#define PRODUCT_ID 0x3536 +#define DEVICE_VER 0x0002 +#define PRODUCT Dactyl-Manuform (5x6) /* key matrix size */ // Rows are doubled-up @@ -30,7 +30,6 @@ along with this program. If not, see . #define MATRIX_COLS 6 // wiring of each half -// ../../../../docs/proton_c_conversion.md #define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 } #define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 } diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/info.json b/keyboards/handwired/dactyl_manuform/5x6_5/info.json index 3e9b66a6a97e..dff99d33d3c1 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/info.json +++ b/keyboards/handwired/dactyl_manuform/5x6_5/info.json @@ -7,75 +7,81 @@ "layouts": { "LAYOUT_5x6_5": { "layout": [ - {"label":"L00", "x":0, "y":0}, - {"label":"L01", "x":1, "y":0}, - {"label":"L02", "x":2, "y":0}, - {"label":"L03", "x":3, "y":0}, - {"label":"L04", "x":4, "y":0}, - {"label":"L05", "x":5, "y":0}, - {"label":"R00", "x":11, "y":0}, - {"label":"R01", "x":12, "y":0}, - {"label":"R02", "x":13, "y":0}, - {"label":"R03", "x":14, "y":0}, - {"label":"R04", "x":15, "y":0}, - {"label":"R05", "x":16, "y":0}, + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, - {"label":"L10", "x":0, "y":1}, - {"label":"L11", "x":1, "y":1}, - {"label":"L12", "x":2, "y":1}, - {"label":"L13", "x":3, "y":1}, - {"label":"L14", "x":4, "y":1}, - {"label":"L15", "x":5, "y":1}, - {"label":"R10", "x":11, "y":1}, - {"label":"R11", "x":12, "y":1}, - {"label":"R12", "x":13, "y":1}, - {"label":"R13", "x":14, "y":1}, - {"label":"R14", "x":15, "y":1}, - {"label":"R15", "x":16, "y":1}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, - {"label":"L20", "x":0, "y":2}, - {"label":"L21", "x":1, "y":2}, - {"label":"L22", "x":2, "y":2}, - {"label":"L23", "x":3, "y":2}, - {"label":"L24", "x":4, "y":2}, - {"label":"L25", "x":5, "y":2}, - {"label":"R20", "x":11, "y":2}, - {"label":"R21", "x":12, "y":2}, - {"label":"R22", "x":13, "y":2}, - {"label":"R23", "x":14, "y":2}, - {"label":"R24", "x":15, "y":2}, - {"label":"R25", "x":16, "y":2}, + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, - {"label":"L30", "x":0, "y":3}, - {"label":"L31", "x":1, "y":3}, - {"label":"L32", "x":2, "y":3}, - {"label":"L33", "x":3, "y":3}, - {"label":"L34", "x":4, "y":3}, - {"label":"L35", "x":5, "y":3}, - {"label":"R30", "x":11, "y":3}, - {"label":"R31", "x":12, "y":3}, - {"label":"R32", "x":13, "y":3}, - {"label":"R33", "x":14, "y":3}, - {"label":"R34", "x":15, "y":3}, - {"label":"R35", "x":16, "y":3}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, - {"label":"L42", "x":2, "y":4}, - {"label":"L43", "x":3, "y":4}, - {"label":"L44", "x":5, "y":4}, - {"label":"L45", "x":6, "y":4}, - {"label":"L53", "x":7, "y":4}, + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, - {"label":"R52", "x":9, "y":4}, - {"label":"R40", "x":10, "y":4}, - {"label":"R41", "x":11, "y":4}, - {"label":"R42", "x":13, "y":4}, - {"label":"R43", "x":14, "y":4}, + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, - {"label":"L54", "x":6, "y":5}, - {"label":"L52", "x":7, "y":5}, + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, - {"label":"R53", "x":9, "y":5}, - {"label":"R51", "x":10, "y":5} + {"x": 11, "y": 3}, + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + + {"x": 5, "y": 4}, + {"x": 6, "y": 4}, + {"x": 7, "y": 4}, + + {"x": 9, "y": 4}, + {"x": 10, "y": 4}, + {"x": 11, "y": 4}, + + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + + {"x": 6, "y": 5}, + {"x": 7, "y": 5}, + + {"x": 9, "y": 5}, + {"x": 10, "y": 5} ] } } diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c index f9b5ca6dffbf..fd8c16420e87 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c @@ -561,7 +561,7 @@ void oled_task_user(void) { } } -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { // On the left, control the volume. On the right, scroll the page if (index == 0) { if (clockwise) { @@ -576,4 +576,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLD); } } + return true; } diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk index 2bd6620c25bf..6e58ff5d15ed 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk @@ -1,4 +1,5 @@ KEY_LOCK_ENABLE = yes CONSOLE_ENABLE = no -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h new file mode 100644 index 000000000000..0a38c8aefb77 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/config.h @@ -0,0 +1,59 @@ +// Copyright 2021 Christian Eiden, cykedev +// +// 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 + +#undef SOFT_SERIAL_PIN +#undef DIODE_DIRECTION +#undef MATRIX_ROW_PINS +#undef MATRIX_COL_PINS +#undef BOOTMAGIC_LITE_ROW +#undef BOOTMAGIC_LITE_COLUMN +#undef BOOTMAGIC_LITE_ROW_RIGHT +#undef BOOTMAGIC_LITE_COLUMN_RIGHT + + +#define USE_SERIAL +#define SOFT_SERIAL_PIN D2 +#define EE_HANDS +#define SPLIT_USB_DETECT + +// wiring of each half +// ../../../../docs/proton_c_conversion.md +#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7, F6, F5 } +#define MATRIX_COL_PINS { B5, B4, E6, D7, C6, D4 } + +#define DIODE_DIRECTION ROW2COL + +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 + +#define BOOTMAGIC_LITE_ROW_RIGHT 0 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 + +#define TAPPING_TERM 200 + +// Prevent normal rollover on alphas from accidentally triggering mods. +// #define IGNORE_MOD_TAP_INTERRUPT + +// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. +// #define TAPPING_FORCE_HOLD + +// Apply the modifier on keys that are tapped during a short hold of a modtap +// #define PERMISSIVE_HOLD + +#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY + +#define FORCE_NKRO diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c new file mode 100644 index 000000000000..0d8fd05425a0 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/keymap.c @@ -0,0 +1,153 @@ +// Copyright 2021 Christian Eiden, cykedev +// +// 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 + +#define CM_SPAL LGUI_T(KC_SPC) +#define CM_SPAR RGUI_T(KC_SPC) + +#define SH_ENL LSFT_T(KC_ENT) +#define SH_ENR RSFT_T(KC_ENT) + +#define SYM MO(_SYMBOL) +#define ADJ MO(_ADJUST) + +#define QWERT DF(_QWERTY) +#define COLEM DF(_COLEMAK) + +enum layer_names { + _QWERTY, + _COLEMAK, + _SYMBOL, + _ADJUST +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT_5x6_5( + /* QWERTY + * .-----------------------------------------. .-----------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Shft | Z | X | C | V | B | | N | M | , | . | / | Shft | + * '-----------------------------------------/ \-----------------------------------------' + * | ADJ | - | / SYM /---------------. .---------------\ SYM \ | + | ADJ | + * | | | / / Cmd / Shift / \ Shift \ Cmd \ \ | | | + * '-------------' '-------/ Space / Enter / \ Enter \ Space \-------' '-------------' + * /---------------/ \---------------\ + * / Alt / Ctrl / \ Ctrl \ Alt \ + * / / / \ \ \ + * '---------------' '---------------' + */ + KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , 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_BSLS, + KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + ADJ , KC_MINS, SYM , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, SYM , KC_EQL , ADJ , + KC_LALT, KC_LCTL, KC_RCTL, KC_RALT + ), + [_COLEMAK] = LAYOUT_5x6_5( + /* COLEMAK + * .-----------------------------------------. .-----------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Shft | Z | X | C | V | B | | K | M | , | . | / | Shft | + * '-----------------------------------------/ \-----------------------------------------' + * | ADJ | - | / SYM /---------------. .---------------\ SYM \ | + | ADJ | + * | | | / / Cmd / Shift / \ Shift \ Cmd \ \ | | | + * '-------------' '-------/ Space / Enter / \ Enter \ Space \-------' '-------------' + * /---------------/ \---------------\ + * / Alt / Ctrl / \ Ctrl \ Alt \ + * / / / \ \ \ + * '---------------' '---------------' + */ + KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC, + KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSLS, + KC_LCTL, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, + ADJ , KC_MINS, SYM , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, SYM , KC_EQL , ADJ , + KC_LALT, KC_LCTL, KC_RCTL, KC_RALT + ), + [_SYMBOL] = LAYOUT_5x6_5( + /* SYMBOL + * .-----------------------------------------. .-----------------------------------------. + * | ` | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | ! | @ | [ | ] | + | | | | up | | | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | & | | | ( | ) | - | | | left | down | right| ? | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | * | / | { | } | = | | | | | | | | + * '-----------------------------------------/ \-----------------------------------------' + * | | | / /---------------. .---------------\ \ | | | + * | | | / / / / \ \ \ \ | | | + * '-------------' '-------/ / / \ \ \-------' '-------------' + * /---------------/ \---------------\ + * / / / \ \ \ + * / / / \ \ \ + * '---------------' '---------------' + */ + KC_GRV , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , + XXXXXXX, KC_EXLM, KC_AT , KC_LBRC, KC_RBRC, KC_PPLS, XXXXXXX, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_F12 , + _______, KC_AMPR, KC_PIPE, KC_LPRN, KC_RPRN, KC_MINS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUES, XXXXXXX, + _______, KC_ASTR, KC_SLSH, KC_LCBR, KC_RCBR, KC_PEQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, + _______, _______, _______, _______ + ), + [_ADJUST] = LAYOUT_5x6_5( + /* ADJUST + * .-----------------------------------------. .-----------------------------------------. + * | RST | | | | | QWERT| |COLEM | | | | | RST | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | + | | B + | | | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | - | | B - | << | play | >> | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | = | | | | | | | | + * '-----------------------------------------/ \-----------------------------------------' + * | | | / /---------------. .---------------\ \ | | | + * | | | / / / / \ \ \ \ | | | + * '-------------' '-------/ / / \ \ \-------' '-------------' + * /---------------/ \---------------\ + * / / / \ \ \ + * / / / \ \ \ + * '---------------' '---------------' + */ + RESET , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERT , COLEM , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_BRID, KC_MRWD, KC_MPLY, KC_MFFD, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + ) +}; + +bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case CM_SPAR: + return true; + default: + return false; + } +} diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk new file mode 100644 index 000000000000..d720c0c2db87 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/cykedev/rules.mk @@ -0,0 +1,6 @@ +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +EXTRAKEY_ENABLE = yes +COMMAND_ENABLE = yes +MOUSEKEY_ENABLE = no +LTO_ENABLE = no +NKRO_ENABLE = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk index a20a3e7bd7ba..a32f31c1f116 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk @@ -1,3 +1,23 @@ -BOOTMAGIC_ENABLE = lite -COMMAND_ENABLE = no -NKRO_ENABLE = yes +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c deleted file mode 100644 index 69f750095768..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c +++ /dev/null @@ -1,225 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 "5x6_right_trackball.h" - -#ifndef TRACKBALL_DPI_OPTIONS -# define TRACKBALL_DPI_OPTIONS { 1200, 1600, 2400 } -# ifndef TRACKBALL_DPI_DEFAULT -# define TRACKBALL_DPI_DEFAULT 1 -# endif -#endif -#ifndef TRACKBALL_DPI_DEFAULT -# define TRACKBALL_DPI_DEFAULT 0 -#endif - -keyboard_config_t keyboard_config; -uint16_t dpi_array[] = TRACKBALL_DPI_OPTIONS; -#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t)) - -bool BurstState = false; // init burst state for Trackball module -uint16_t MotionStart = 0; // Timer for accel, 0 is resting state - -__attribute__((weak)) void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) { - mouse_report->x = x; - mouse_report->y = y; -} - -__attribute__((weak)) void process_mouse(report_mouse_t* mouse_report) { - report_pmw_t data = pmw_read_burst(); - if (data.isOnSurface && data.isMotion) { - // Reset timer if stopped moving - if (!data.isMotion) { - if (MotionStart != 0) MotionStart = 0; - return; - } - - // Set timer if new motion - if ((MotionStart == 0) && data.isMotion) { - if (debug_mouse) dprintf("Starting motion.\n"); - MotionStart = timer_read(); - } - - if (debug_mouse) { - dprintf("Delt] d: %d t: %u\n", abs(data.dx) + abs(data.dy), MotionStart); - } - if (debug_mouse) { - dprintf("Pre ] X: %d, Y: %d\n", data.dx, data.dy); - } -#if defined(PROFILE_LINEAR) - float scale = float(timer_elaspsed(MotionStart)) / 1000.0; - data.dx *= scale; - data.dy *= scale; -#elif defined(PROFILE_INVERSE) - // TODO -#else - // no post processing -#endif - - // Wrap to HID size - data.dx = constrain(data.dx, -127, 127); - data.dy = constrain(data.dy, -127, 127); - if (debug_mouse) dprintf("Cons] X: %d, Y: %d\n", data.dx, data.dy); - // dprintf("Elapsed:%u, X: %f Y: %\n", i, pgm_read_byte(firmware_data+i)); - - mouse_report->x = -data.dx; - mouse_report->y = data.dy; - } -} - -bool process_record_kb(uint16_t keycode, keyrecord_t* record) { - if (!process_record_user(keycode, record)) { return false; } - -#ifdef POINTING_DEVICE_ENABLE - if (keycode == DPI_CONFIG && record->event.pressed) { - if ((get_mods()|get_oneshot_mods()) & MOD_MASK_SHIFT) { - keyboard_config.dpi_config = (keyboard_config.dpi_config - 1) % DPI_OPTION_SIZE; - } else { - keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; - } - eeconfig_update_kb(keyboard_config.raw); - trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); - } -#endif - -/* If Mousekeys is disabled, then use handle the mouse button - * keycodes. This makes things simpler, and allows usage of - * the keycodes in a consistent manner. But only do this if - * Mousekeys is not enable, so it's not handled twice. - */ -#ifndef MOUSEKEY_ENABLE - if (IS_MOUSEKEY_BUTTON(keycode)) { - report_mouse_t currentReport = pointing_device_get_report(); - if (record->event.pressed) { - currentReport.buttons |= 1 << (keycode - KC_MS_BTN1); - } else { - currentReport.buttons &= ~(1 << (keycode - KC_MS_BTN1)); - } - pointing_device_set_report(currentReport); - pointing_device_send(); - } -#endif - - return true; -} - -// Hardware Setup -void keyboard_pre_init_kb(void) { - // debug_enable = true; - // debug_matrix = true; - // debug_mouse = true; - // debug_encoder = true; - - /* Ground all output pins connected to ground. This provides additional - * pathways to ground. If you're messing with this, know this: driving ANY - * of these pins high will cause a short. On the MCU. Ka-blooey. - */ - - // This is the debug LED. -#if defined(DEBUG_LED_PIN) - setPinOutput(DEBUG_LED_PIN); - writePin(DEBUG_LED_PIN, debug_enable); -#endif - - keyboard_pre_init_user(); -} - -#ifdef POINTING_DEVICE_ENABLE -void pointing_device_init(void) { - if (!is_keyboard_left()) { - // initialize ball sensor - pmw_spi_init(); - } - trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); -} - -static bool has_report_changed(report_mouse_t new, report_mouse_t old) { - return (new.buttons != old.buttons) || - (new.x && new.x != old.x) || - (new.y && new.y != old.y) || - (new.h && new.h != old.h) || - (new.v && new.v != old.v); -} - -void pointing_device_task(void) { - report_mouse_t mouse_report = pointing_device_get_report(); - if (!is_keyboard_left()) { - process_mouse(&mouse_report); - } - - pointing_device_set_report(mouse_report); - pointing_device_send(); -} -#endif - -void eeconfig_init_kb(void) { - keyboard_config.dpi_config = TRACKBALL_DPI_DEFAULT; - trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); - eeconfig_update_kb(keyboard_config.raw); -} - -void matrix_init_kb(void) { - // is safe to just read DPI setting since matrix init - // comes before pointing device init. - keyboard_config.raw = eeconfig_read_kb(); - if (keyboard_config.dpi_config > DPI_OPTION_SIZE) { - eeconfig_init_kb(); - } - matrix_init_user(); -} - -#ifdef POINTING_DEVICE_ENABLE -void pointing_device_send(void) { - static report_mouse_t old_report = {}; - report_mouse_t mouseReport = pointing_device_get_report(); - if (is_keyboard_master()) { - int8_t x = mouseReport.x, y = mouseReport.y; - mouseReport.x = 0; - mouseReport.y = 0; - process_mouse_user(&mouseReport, x, y); - if (has_report_changed(mouseReport, old_report)) { - host_mouse_send(&mouseReport); - } - } else { - master_mouse_send(mouseReport.x, mouseReport.y); - } - mouseReport.x = 0; - mouseReport.y = 0; - mouseReport.v = 0; - mouseReport.h = 0; - old_report = mouseReport; - pointing_device_set_report(mouseReport); -} -#endif - -#ifdef SWAP_HANDS_ENABLE -const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - /* Left hand, matrix positions */ - {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, - {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}}, - {{5, 8}, {4, 8}, {3, 8}, {2, 8}, {1, 8}, {0, 8}}, - {{5, 9}, {4, 9}, {3, 9}, {2, 9}, {1, 9}, {0, 9}}, - {{5, 10}, {4, 10}, {3, 10}, {2, 10}, {1, 10}, {0, 10}}, - {{5, 11}, {4, 11}, {3, 11}, {2, 11}, {1, 11}, {0, 11}}, - /* Right hand, matrix positions */ - {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, - {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, - {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, - {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, - {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, - {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}} -}; -#endif diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.h b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.h deleted file mode 100644 index c8650f73d3a3..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.h +++ /dev/null @@ -1,73 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 "dactyl_manuform.h" -#include "quantum.h" -#include "spi_master.h" -#include "pmw3360.h" -#include "pointing_device.h" - - -#define ___ KC_NO - -#define LAYOUT_5x6_right_trackball(\ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ - L42, L43, R42, R43, \ - L44, L45, R41, \ - L54, L55, R51, \ - L52, L53, R52, R53 \ - ) \ - { \ - { L00, L01, L02, L03, L04, L05 }, \ - { L10, L11, L12, L13, L14, L15 }, \ - { L20, L21, L22, L23, L24, L25 }, \ - { L30, L31, L32, L33, L34, L35 }, \ - { ___, ___, L42, L43, L44, L45 }, \ - { ___, ___, L52, L53, L54, L55 }, \ - \ - { R00, R01, R02, R03, R04, R05 }, \ - { R10, R11, R12, R13, R14, R15 }, \ - { R20, R21, R22, R23, R24, R25 }, \ - { R30, R31, R32, R33, R34, R35 }, \ - { ___, R41, R42, R43, ___, ___ }, \ - { ___, R51, R52, R53, ___, ___ } \ -} - - -void process_wheel(report_mouse_t* mouse_report); -void process_wheel_user(report_mouse_t* mouse_report, int16_t h, int16_t v); - -typedef union { - uint32_t raw; - struct { - uint8_t dpi_config; - }; -} keyboard_config_t; - -extern keyboard_config_t keyboard_config; - -enum ploopy_keycodes { - DPI_CONFIG = SAFE_RANGE, - KEYMAP_SAFE_RANGE, -}; - -void master_mouse_send(int8_t x, int8_t y); -void trackball_set_cpi(uint16_t cpi); diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h deleted file mode 100644 index 042432184c11..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h +++ /dev/null @@ -1,72 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -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 "config_common.h" - -#define PRODUCT_ID 0x3536 -#define DEVICE_VER 0x0001 -#define PRODUCT Tractyl-Manuform (5x6 with right side Trackball) - -/* key matrix size */ -// Rows are doubled-up -#define MATRIX_ROWS 12 -#define MATRIX_COLS 6 - -// wiring of each half -#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5 } -#define MATRIX_ROW_PINS { F7, F6, F5, F4, F3, F2 } - -#define DIODE_DIRECTION COL2ROW - -// WS2812 RGB LED strip input and number of LEDs -#define RGB_DI_PIN D3 -#define RGBLED_NUM 8 -#define RGBLIGHT_SPLIT -#define RGBLED_SPLIT { 0 , 8 } -#define RGBLIGHT_SLEEP -#define RGBW -#define RGBLIGHT_LIMIT_VAL 150 -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ -// #define BACKLIGHT_LEVELS 3 - -#define DEBUG_LED_PIN D6 - -#define USB_POLLING_INTERVAL_MS 1 - -#define ROTATIONAL_TRANSFORM_ANGLE -25 - -/* Bootmagic Lite key configuration */ -#define BOOTMAGIC_LITE_ROW 0 -#define BOOTMAGIC_LITE_COLUMN 0 -#define BOOTMAGIC_LITE_ROW_RIGHT 6 -#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 - -#define AUDIO_PIN C6 -#define AUDIO_PIN_ALT B7 - -#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 -#define DYNAMIC_KEYMAP_LAYER_COUNT 16 - -/* serial.c configuration for split keyboard */ -#undef SOFT_SERIAL_PIN -#define SOFT_SERIAL_PIN D2 diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/info.json b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/info.json deleted file mode 100644 index 8a413ec44f8c..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/info.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "keyboard_name": "Dactyl Manuform 5x6", - "url": "", - "maintainer": "qmk", - "width": 17, - "height": 8, - "layouts": { - "LAYOUT_5x6_right_trackball": { - "layout": [ - {"label":"L00", "x":0, "y":0}, - {"label":"L01", "x":1, "y":0}, - {"label":"L02", "x":2, "y":0}, - {"label":"L03", "x":3, "y":0}, - {"label":"L04", "x":4, "y":0}, - {"label":"L05", "x":5, "y":0}, - {"label":"R00", "x":11, "y":0}, - {"label":"R01", "x":12, "y":0}, - {"label":"R02", "x":13, "y":0}, - {"label":"R03", "x":14, "y":0}, - {"label":"R04", "x":15, "y":0}, - {"label":"R05", "x":16, "y":0}, - {"label":"L10", "x":0, "y":1}, - {"label":"L11", "x":1, "y":1}, - {"label":"L12", "x":2, "y":1}, - {"label":"L13", "x":3, "y":1}, - {"label":"L14", "x":4, "y":1}, - {"label":"L15", "x":5, "y":1}, - {"label":"R10", "x":11, "y":1}, - {"label":"R11", "x":12, "y":1}, - {"label":"R12", "x":13, "y":1}, - {"label":"R13", "x":14, "y":1}, - {"label":"R14", "x":15, "y":1}, - {"label":"R15", "x":16, "y":1}, - {"label":"L20", "x":0, "y":2}, - {"label":"L21", "x":1, "y":2}, - {"label":"L22", "x":2, "y":2}, - {"label":"L23", "x":3, "y":2}, - {"label":"L24", "x":4, "y":2}, - {"label":"L25", "x":5, "y":2}, - {"label":"R20", "x":11, "y":2}, - {"label":"R21", "x":12, "y":2}, - {"label":"R22", "x":13, "y":2}, - {"label":"R23", "x":14, "y":2}, - {"label":"R24", "x":15, "y":2}, - {"label":"R25", "x":16, "y":2}, - {"label":"L30", "x":0, "y":3}, - {"label":"L31", "x":1, "y":3}, - {"label":"L32", "x":2, "y":3}, - {"label":"L33", "x":3, "y":3}, - {"label":"L34", "x":4, "y":3}, - {"label":"L35", "x":5, "y":3}, - {"label":"R30", "x":11, "y":3}, - {"label":"R31", "x":12, "y":3}, - {"label":"R32", "x":13, "y":3}, - {"label":"R33", "x":14, "y":3}, - {"label":"R34", "x":15, "y":3}, - {"label":"R35", "x":16, "y":3}, - {"label":"L42", "x":2, "y":4}, - {"label":"L43", "x":3, "y":4}, - {"label":"R42", "x":13, "y":4}, - {"label":"R43", "x":14, "y":4}, - {"label":"L44", "x":4, "y":5}, - {"label":"L45", "x":5, "y":5}, - {"label":"R41", "x":12, "y":5}, - {"label":"L54", "x":6, "y":6}, - {"label":"L55", "x":7, "y":6}, - {"label":"R51", "x":10, "y":6}, - {"label":"L52", "x":6, "y":7}, - {"label":"L53", "x":7, "y":7}, - {"label":"R52", "x":9, "y":7}, - {"label":"R53", "x":10, "y":7} - ] - } - } -} diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/config.h deleted file mode 100644 index 5bad6bcab36c..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/config.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 "../drashna/config.h" diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/keymap.c deleted file mode 100644 index 037f59af8557..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/keymap.c +++ /dev/null @@ -1,17 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 . - */ - -// placeholder diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/rules.mk deleted file mode 100644 index 457cda5b0aee..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/rules.mk +++ /dev/null @@ -1,4 +0,0 @@ -USER_NAME := drashna -SRC += ../drashna/keymap.c - -include $(KEYBOARD_PATH_1)/keymaps/drashna/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h deleted file mode 100644 index 41b2e07c70e6..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 USE_I2C -#define SELECT_SOFT_SERIAL_SPEED 0 -// #define SERIAL_USE_MULTI_TRANSACTION -#define SPLIT_MODS_ENABLE -#define EE_HANDS - -#define TRACKBALL_DPI_OPTIONS \ - { 1200, 1800, 2600, 3400 } - -#define RGBLIGHT_EFFECT_TWINKLE_LIFE 50 -#define RGBLIGHT_EFFECT_TWINKLE_PROBABILITY 1/63 -#define RGBLIGHT_MAX_BRIGHTNESS 100 - -#undef DEBOUNCE -#define DEBOUNCE 10 - -#define SOLENOID_PIN F1 -#define SOLENOID_DEFAULT_DWELL 8 - -#define OLED_DISPLAY_128X64 -#define OLED_BRIGHTNESS 100 - -#define MK_KINETIC_SPEED diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c deleted file mode 100644 index 5a1bb79fe279..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c +++ /dev/null @@ -1,228 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 "drashna.h" - -// clang-format off -#define LAYOUT_5x6_right_trackball_wrapper(...) LAYOUT_5x6_right_trackball(__VA_ARGS__) -#define LAYOUT_5x6_right_trackball_base( \ - K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ - K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ - K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ - ) \ - LAYOUT_5x6_right_trackball_wrapper( \ - KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, \ - SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ - LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ - OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ - OS_LALT, OS_LGUI, TG_GAME, TG_DBLO, \ - OS_LGUI, KC_GRV, OS_RGUI, \ - KC_SPC, TT(_MOUSE), KC_ENT, \ - BK_LWER, MO(_MOUSE), MO(_MOUSE), DL_RAIS \ - ) -#define LAYOUT_5x6_right_trackball_base_wrapper(...) LAYOUT_5x6_right_trackball_base(__VA_ARGS__) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_5x6_right_trackball_base_wrapper( - _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, - _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, - _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ - ), - - [_COLEMAK] = LAYOUT_5x6_right_trackball_base_wrapper( - _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, - _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, - _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ - ), - - [_DVORAK] = LAYOUT_5x6_right_trackball_base_wrapper( - _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, - _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, - _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ - ), - - [_WORKMAN] = LAYOUT_5x6_right_trackball_base_wrapper( - _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, - _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, - _________________WORKMAN_L3________________, _________________WORKMAN_R3________________ - ), - - [_NORMAN] = LAYOUT_5x6_right_trackball_base_wrapper( - _________________NORMAN_L1_________________, _________________NORMAN_L1_________________, - _________________NORMAN_L2_________________, _________________NORMAN_R2_________________, - _________________NORMAN_L3_________________, _________________NORMAN_R3_________________ - ), - - [_MALTRON] = LAYOUT_5x6_right_trackball_base_wrapper( - _________________MALTRON_L1________________, _________________MALTRON_R1________________, - _________________MALTRON_L2________________, _________________MALTRON_R2________________, - _________________MALTRON_L3________________, _________________MALTRON_R3________________ - ), - - [_EUCALYN] = LAYOUT_5x6_right_trackball_base_wrapper( - _________________EUCALYN_L1________________, _________________EUCALYN_R1________________, - _________________EUCALYN_L2________________, _________________EUCALYN_R2________________, - _________________EUCALYN_L3________________, _________________EUCALYN_R3________________ - ), - - [_CARPLAX] = LAYOUT_5x6_right_trackball_base_wrapper( - _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________, - _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________, - _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________ - ), - - [_MOUSE] = LAYOUT_5x6_right_trackball( - _______, _______, _______, _______, _______, _______, DPI_CONFIG, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_BTN4, KC_BTN5, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______ - ), - [_GAMEPAD] = LAYOUT_5x6_right_trackball( - KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, DPI_CONFIG, _______, _______, _______, _______, _______, - KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_WH_U, _______, _______, _______, _______, _______, - KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______, - KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_H, _______, KC_BTN4, KC_BTN5, _______, _______, _______, - KC_I, KC_T, TG_GAME, KC_NO, - KC_V, KC_O, _______, - KC_SPC, KC_P, _______, - KC_H, KC_LGUI, _______, _______ - ), - [_DIABLO] = LAYOUT_5x6_right_trackball( - KC_ESC, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, - KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, KC_NO, KC_N, KC_M, KC_NO, KC_NO, KC_NO, - KC_F, KC_L, KC_NO, TG_DBLO, - SFT_T(KC_SPC), KC_F, _______, - ALT_T(KC_Q), KC_J, _______, - KC_DIABLO_CLEAR, KC_LGUI, _______, _______ - ), - [_LOWER] = LAYOUT_5x6_right_trackball_wrapper( - KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, - _______, _________________LOWER_L1__________________, _________________LOWER_R1__________________, _______, - _______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, - _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______ - ), - [_RAISE] = LAYOUT_5x6_right_trackball_wrapper( - KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, - KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, - _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, - _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, - _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, _______, _______ - ), - [_ADJUST] = LAYOUT_5x6_right_trackball_wrapper( - KC_MAKE, ___________________BLANK___________________, _________________ADJUST_R1_________________, KC_RST, - VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST, - _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS, - _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, - HPT_DWLI, HPT_DWLD, _______, _______, - HPT_TOG, HPT_BUZ, KC_NUKE, - _______, _______, _______, - _______, _______, KC_NUKE, _______ - ), -}; -// clang-format on - -#ifdef POINTING_DEVICE_ENABLE -static uint16_t mouse_timer = 0; -static uint16_t mouse_debounce_timer = 0; -static uint8_t mouse_keycode_tracker = 0; -bool tap_toggling = false; - -void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) { - if ((x || y) && timer_elapsed(mouse_timer) > 125) { - mouse_timer = timer_read(); - if (!layer_state_is(_MOUSE) && !layer_state_is(_GAMEPAD) && timer_elapsed(mouse_debounce_timer) > 125) { - layer_on(_MOUSE); - } - } - -# ifdef TAPPING_TERM_PER_KEY - if (timer_elapsed(mouse_debounce_timer) > get_tapping_term(KC_BTN1, NULL) -# else - if (timer_elapsed(mouse_debounce_timer) > TAPPING_TERM -# endif - || layer_state_is(_GAMEPAD)) { - mouse_report->x = x; - mouse_report->y = y; - } -# ifdef OLED_DRIVER_ENABLE - if (x || y) oled_timer = timer_read32(); -# endif -} - -void matrix_scan_keymap(void) { - if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) { - layer_off(_MOUSE); - } - if (tap_toggling) { - if (!layer_state_is(_MOUSE)) { - layer_on(_MOUSE); - } - } -} - -bool process_record_keymap(uint16_t keycode, keyrecord_t* record) { - switch (keycode) { - case TT(_MOUSE): { - if (record->event.pressed) { - mouse_keycode_tracker++; - } else { -# if TAPPING_TOGGLE != 0 - if (record->tap.count == TAPPING_TOGGLE) { - tap_toggling ^= 1; -# if TAPPING_TOGGLE == 1 - if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1; -# else - if (!tap_toggling) mouse_keycode_tracker -= record->tap.count; -# endif - } else { - mouse_keycode_tracker--; - } -# endif - } - mouse_timer = timer_read(); - break; - } - case MO(_MOUSE): - case DPI_CONFIG: - case KC_MS_UP ... KC_MS_WH_RIGHT: - record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; - mouse_timer = timer_read(); - break; - default: - if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) { - layer_off(_MOUSE); - mouse_keycode_tracker = 0; - } - mouse_debounce_timer = timer_read(); - break; - } - return true; -} -#endif diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk deleted file mode 100644 index 9999c0ddf48b..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -RGBLIGHT_STARTUP_ANIMATION = yes -HAPTIC_ENABLE = SOLENOID -COMMAND_ENABLE = no -AUDIO_ENABLE = yes -TAP_DANCE_ENABLE = yes -UNICODE_ENABLE = yes -OLED_DRIVER_ENABLE = yes -WPM_ENABLE = yes -# DEBOUNCE_TYPE = sym_eager_pk diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.c deleted file mode 100644 index 8007fecef661..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.c +++ /dev/null @@ -1,225 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * Copyright 2019 Sunjun Kim - * Copyright 2020 Ploopy Corporation - * - * 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 "pmw3360.h" -#include "pmw3360_firmware.h" - -#ifdef CONSOLE_ENABLE -# include "print.h" -#endif -bool _inBurst = false; - -#ifndef PMW_CPI -# define PMW_CPI 1600 -#endif -#ifndef SPI_DIVISOR -# define SPI_DIVISOR 2 -#endif -#ifndef ROTATIONAL_TRANSFORM_ANGLE -# define ROTATIONAL_TRANSFORM_ANGLE 0x00 -#endif - -#ifdef CONSOLE_ENABLE -void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); } -#endif - - -bool spi_start_adv(void) { - bool status = spi_start(SPI_SS_PIN, false, 3, SPI_DIVISOR); - wait_us(1); - return status; -} - -void spi_stop_adv(void) { - wait_us(1); - spi_stop(); -} - -spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data) { - if (reg_addr != REG_Motion_Burst) { - _inBurst = false; - } - - spi_start_adv(); - // send address of the register, with MSBit = 1 to indicate it's a write - spi_status_t status = spi_write(reg_addr | 0x80); - status = spi_write(data); - - // tSCLK-NCS for write operation - wait_us(20); - - // tSWW/tSWR (=120us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound - wait_us(100); - spi_stop(); - return status; -} - -uint8_t spi_read_adv(uint8_t reg_addr) { - spi_start_adv(); - // send adress of the register, with MSBit = 0 to indicate it's a read - spi_write(reg_addr & 0x7f); - - uint8_t data = spi_read(); - - // tSCLK-NCS for read operation is 120ns - wait_us(1); - - // tSRW/tSRR (=20us) minus tSCLK-NCS - wait_us(19); - - spi_stop(); - return data; -} - -void pmw_set_cpi(uint16_t cpi) { - int cpival = constrain((cpi / 100) - 1, 0, 0x77); // limits to 0--119 - - spi_start_adv(); - spi_write_adv(REG_Config1, cpival); - spi_stop(); -} - -bool pmw_spi_init(void) { - spi_init(); - _inBurst = false; - - spi_stop(); - spi_start_adv(); - spi_stop(); - - spi_write_adv(REG_Shutdown, 0xb6); // Shutdown first - wait_ms(300); - - spi_start_adv(); - wait_us(40); - spi_stop_adv(); - wait_us(40); - - spi_write_adv(REG_Power_Up_Reset, 0x5a); - wait_ms(50); - - spi_read_adv(REG_Motion); - spi_read_adv(REG_Delta_X_L); - spi_read_adv(REG_Delta_X_H); - spi_read_adv(REG_Delta_Y_L); - spi_read_adv(REG_Delta_Y_H); - - pmw_upload_firmware(); - - spi_stop_adv(); - - wait_ms(10); - pmw_set_cpi(PMW_CPI); - - wait_ms(1); - - return pmw_check_signature(); -} - -void pmw_upload_firmware(void) { - spi_write_adv(REG_Config2, 0x00); - - spi_write_adv(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -30, 30)); - - spi_write_adv(REG_SROM_Enable, 0x1d); - - wait_ms(10); - - spi_write_adv(REG_SROM_Enable, 0x18); - - spi_start_adv(); - spi_write(REG_SROM_Load_Burst | 0x80); - wait_us(15); - - unsigned char c; - for (int i = 0; i < firmware_length; i++) { - c = (unsigned char)pgm_read_byte(firmware_data + i); - spi_write(c); - wait_us(15); - } - wait_us(200); - - spi_read_adv(REG_SROM_ID); - - spi_write_adv(REG_Config2, 0x00); - - spi_stop(); - wait_ms(10); -} - -bool pmw_check_signature(void) { - uint8_t pid = spi_read_adv(REG_Product_ID); - uint8_t iv_pid = spi_read_adv(REG_Inverse_Product_ID); - uint8_t SROM_ver = spi_read_adv(REG_SROM_ID); - return (pid == 0x42 && iv_pid == 0xBD && SROM_ver == 0x04); // signature for SROM 0x04 -} - -report_pmw_t pmw_read_burst(void) { - if (!_inBurst) { -#ifdef CONSOLE_ENABLE - dprintf("burst on"); -#endif - spi_write_adv(REG_Motion_Burst, 0x00); - _inBurst = true; - } - - spi_start_adv(); - spi_write(REG_Motion_Burst); - wait_us(35); // waits for tSRAD - - report_pmw_t data; - data.motion = 0; - data.dx = 0; - data.mdx = 0; - data.dy = 0; - data.mdx = 0; - - data.motion = spi_read(); - spi_write(0x00); // skip Observation - data.dx = spi_read(); - data.mdx = spi_read(); - data.dy = spi_read(); - data.mdy = spi_read(); - - spi_stop(); - -#ifdef CONSOLE_ENABLE - print_byte(data.motion); - print_byte(data.dx); - print_byte(data.mdx); - print_byte(data.dy); - print_byte(data.mdy); - dprintf("\n"); -#endif - - data.isMotion = (data.motion & 0x80) != 0; - data.isOnSurface = (data.motion & 0x08) == 0; - data.dx |= (data.mdx << 8); - data.dx = data.dx * -1; - data.dy |= (data.mdy << 8); - data.dy = data.dy * -1; - - spi_stop(); - - if (data.motion & 0b111) { // panic recovery, sometimes burst mode works weird. - _inBurst = false; - } - - return data; -} diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.h b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.h deleted file mode 100644 index c1d5e3badbea..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.h +++ /dev/null @@ -1,103 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * Copyright 2019 Sunjun Kim - * Copyright 2020 Ploopy Corporation - * - * 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 "spi_master.h" - -// Registers -#define REG_Product_ID 0x00 -#define REG_Revision_ID 0x01 -#define REG_Motion 0x02 -#define REG_Delta_X_L 0x03 -#define REG_Delta_X_H 0x04 -#define REG_Delta_Y_L 0x05 -#define REG_Delta_Y_H 0x06 -#define REG_SQUAL 0x07 -#define REG_Raw_Data_Sum 0x08 -#define REG_Maximum_Raw_data 0x09 -#define REG_Minimum_Raw_data 0x0A -#define REG_Shutter_Lower 0x0B -#define REG_Shutter_Upper 0x0C -#define REG_Control 0x0D -#define REG_Config1 0x0F -#define REG_Config2 0x10 -#define REG_Angle_Tune 0x11 -#define REG_Frame_Capture 0x12 -#define REG_SROM_Enable 0x13 -#define REG_Run_Downshift 0x14 -#define REG_Rest1_Rate_Lower 0x15 -#define REG_Rest1_Rate_Upper 0x16 -#define REG_Rest1_Downshift 0x17 -#define REG_Rest2_Rate_Lower 0x18 -#define REG_Rest2_Rate_Upper 0x19 -#define REG_Rest2_Downshift 0x1A -#define REG_Rest3_Rate_Lower 0x1B -#define REG_Rest3_Rate_Upper 0x1C -#define REG_Observation 0x24 -#define REG_Data_Out_Lower 0x25 -#define REG_Data_Out_Upper 0x26 -#define REG_Raw_Data_Dump 0x29 -#define REG_SROM_ID 0x2A -#define REG_Min_SQ_Run 0x2B -#define REG_Raw_Data_Threshold 0x2C -#define REG_Config5 0x2F -#define REG_Power_Up_Reset 0x3A -#define REG_Shutdown 0x3B -#define REG_Inverse_Product_ID 0x3F -#define REG_LiftCutoff_Tune3 0x41 -#define REG_Angle_Snap 0x42 -#define REG_LiftCutoff_Tune1 0x4A -#define REG_Motion_Burst 0x50 -#define REG_LiftCutoff_Tune_Timeout 0x58 -#define REG_LiftCutoff_Tune_Min_Length 0x5A -#define REG_SROM_Load_Burst 0x62 -#define REG_Lift_Config 0x63 -#define REG_Raw_Data_Burst 0x64 -#define REG_LiftCutoff_Tune2 0x65 - -#ifdef CONSOLE_ENABLE -void print_byte(uint8_t byte); -#endif - -typedef struct { - int8_t motion; - bool isMotion; // True if a motion is detected. - bool isOnSurface; // True when a chip is on a surface - int16_t dx; // displacement on x directions. Unit: Count. (CPI * Count = Inch value) - int8_t mdx; - int16_t dy; // displacement on y directions. - int8_t mdy; -} report_pmw_t; - - - -bool spi_start_adv(void); -void spi_stop_adv(void); -spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data); -uint8_t spi_read_adv(uint8_t reg_addr); -bool pmw_spi_init(void); -void pmw_set_cpi(uint16_t cpi); -void pmw_upload_firmware(void); -bool pmw_check_signature(void); -report_pmw_t pmw_read_burst(void); - - -#define degToRad(angleInDegrees) ((angleInDegrees)*M_PI / 180.0) -#define radToDeg(angleInRadians) ((angleInRadians)*180.0 / M_PI) -#define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt))) diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c deleted file mode 100644 index 5df90258bbb1..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c +++ /dev/null @@ -1,540 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 -#include - -#include "matrix.h" -#include QMK_KEYBOARD_H - -#define ROWS_PER_HAND (MATRIX_ROWS / 2) - -#ifdef RGBLIGHT_ENABLE -# include "rgblight.h" -#endif - -#ifdef BACKLIGHT_ENABLE -# include "backlight.h" -#endif - -#ifdef ENCODER_ENABLE -# include "encoder.h" -static pin_t encoders_pad[] = ENCODERS_PAD_A; -# define NUMBER_OF_ENCODERS (sizeof(encoders_pad) / sizeof(pin_t)) -#endif - -#ifdef POINTING_DEVICE_ENABLE -static uint16_t device_cpi = 0; -static int8_t split_mouse_x = 0, split_mouse_y = 0; -#endif - -#ifdef OLED_DRIVER_ENABLE -# include "oled_driver.h" -#endif - -#if defined(USE_I2C) - -# include "i2c_master.h" -# include "i2c_slave.h" - -typedef struct _I2C_slave_buffer_t { - matrix_row_t smatrix[ROWS_PER_HAND]; -# ifdef SPLIT_MODS_ENABLE - uint8_t real_mods; - uint8_t weak_mods; -# ifndef NO_ACTION_ONESHOT - uint8_t oneshot_mods; -# endif -# endif -# ifdef BACKLIGHT_ENABLE - uint8_t backlight_level; -# endif -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) - rgblight_syncinfo_t rgblight_sync; -# endif -# ifdef ENCODER_ENABLE - uint8_t encoder_state[NUMBER_OF_ENCODERS]; -# endif -# ifdef WPM_ENABLE - uint8_t current_wpm; -# endif - int8_t mouse_x; - int8_t mouse_y; - uint16_t device_cpi; - bool oled_on; - layer_state_t t_layer_state; - layer_state_t t_default_layer_state; - bool is_rgb_matrix_suspended; -} __attribute__((packed)) I2C_slave_buffer_t; - -static I2C_slave_buffer_t *const i2c_buffer = (I2C_slave_buffer_t *)i2c_slave_reg; - -# define I2C_BACKLIGHT_START offsetof(I2C_slave_buffer_t, backlight_level) -# define I2C_RGB_START offsetof(I2C_slave_buffer_t, rgblight_sync) -# define I2C_KEYMAP_START offsetof(I2C_slave_buffer_t, mmatrix) -# define I2C_SYNC_TIME_START offsetof(I2C_slave_buffer_t, sync_timer) -# define I2C_REAL_MODS_START offsetof(I2C_slave_buffer_t, real_mods) -# define I2C_WEAK_MODS_START offsetof(I2C_slave_buffer_t, weak_mods) -# define I2C_ONESHOT_MODS_START offsetof(I2C_slave_buffer_t, oneshot_mods) -# define I2C_ENCODER_START offsetof(I2C_slave_buffer_t, encoder_state) -# define I2C_WPM_START offsetof(I2C_slave_buffer_t, current_wpm) -# define I2C_MOUSE_X_START offsetof(I2C_slave_buffer_t, mouse_x) -# define I2C_MOUSE_Y_START offsetof(I2C_slave_buffer_t, mouse_y) -# define I2C_MOUSE_DPI_START offsetof(I2C_slave_buffer_t, device_cpi) -# define I2C_OLED_ON_START offsetof(I2C_slave_buffer_t, oled_on) -# define I2C_LAYER_STATE_START offsetof(I2C_slave_buffer_t, t_layer_state) -# define I2C_DEFAULT_LAYER_STATE_START offsetof(I2C_slave_buffer_t, t_default_layer_state) -# define I2C_RGB_MATRIX_SUSPEND_START offsetof(I2C_slave_buffer_t, is_rgb_matrix_suspended) - -# define TIMEOUT 100 - -# ifndef SLAVE_I2C_ADDRESS -# define SLAVE_I2C_ADDRESS 0x32 -# endif - -// Get rows from other half over i2c -bool transport_master(matrix_row_t matrix[]) { - i2c_readReg(SLAVE_I2C_ADDRESS, I2C_KEYMAP_START, (void *)matrix, sizeof(i2c_buffer->smatrix), TIMEOUT); - - // write backlight info -# ifdef BACKLIGHT_ENABLE - uint8_t level = is_backlight_enabled() ? get_backlight_level() : 0; - if (level != i2c_buffer->backlight_level) { - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_BACKLIGHT_START, (void *)&level, sizeof(level), TIMEOUT) >= 0) { - i2c_buffer->backlight_level = level; - } - } -# endif - -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) - if (rgblight_get_change_flags()) { - rgblight_syncinfo_t rgblight_sync; - rgblight_get_syncinfo(&rgblight_sync); - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_START, (void *)&rgblight_sync, sizeof(rgblight_sync), TIMEOUT) >= 0) { - rgblight_clear_change_flags(); - } - } -# endif - -# ifdef ENCODER_ENABLE - i2c_readReg(SLAVE_I2C_ADDRESS, I2C_ENCODER_START, (void *)i2c_buffer->encoder_state, sizeof(i2c_buffer->encoder_state), TIMEOUT); - encoder_update_raw(i2c_buffer->encoder_state); -# endif - -# ifdef WPM_ENABLE - uint8_t current_wpm = get_current_wpm(); - if (current_wpm != i2c_buffer->current_wpm) { - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_WPM_START, (void *)¤t_wpm, sizeof(current_wpm), TIMEOUT) >= 0) { - i2c_buffer->current_wpm = current_wpm; - } - } -# endif - -# ifdef POINTING_DEVICE_ENABLE - if (is_keyboard_left()) { - report_mouse_t temp_report = pointing_device_get_report(); - i2c_readReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_X_START, (void *)&i2c_buffer->mouse_x, sizeof(i2c_buffer->mouse_x), TIMEOUT); - temp_report.x = i2c_buffer->mouse_x; - i2c_readReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_Y_START, (void *)&i2c_buffer->mouse_y, sizeof(i2c_buffer->mouse_y), TIMEOUT); - temp_report.y = i2c_buffer->mouse_y; - pointing_device_set_report(temp_report); - - if (device_cpi != i2c_buffer->device_cpi) { - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_DPI_START, (void *)&device_cpi, sizeof(device_cpi), TIMEOUT) >= 0) { - i2c_buffer->device_cpi = device_cpi - } - } - } -# endif - -# ifdef SPLIT_MODS_ENABLE - uint8_t real_mods = get_mods(); - if (real_mods != i2c_buffer->real_mods) { - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_REAL_MODS_START, (void *)&real_mods, sizeof(real_mods), TIMEOUT) >= 0) { - i2c_buffer->real_mods = real_mods; - } - } - - uint8_t weak_mods = get_weak_mods(); - if (weak_mods != i2c_buffer->weak_mods) { - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_WEAK_MODS_START, (void *)&weak_mods, sizeof(weak_mods), TIMEOUT) >= 0) { - i2c_buffer->weak_mods = weak_mods; - } - } - -# ifndef NO_ACTION_ONESHOT - uint8_t oneshot_mods = get_oneshot_mods(); - if (oneshot_mods != i2c_buffer->oneshot_mods) { - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_ONESHOT_MODS_START, (void *)&oneshot_mods, sizeof(oneshot_mods), TIMEOUT) >= 0) { - i2c_buffer->oneshot_mods = oneshot_mods; - } - } -# endif -# endif - - if (layer_state != i2c_buffer->t_layer_state) { - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LAYER_STATE_START, (void *)&layer_state, sizeof(layer_state), TIMEOUT) >= 0) { - i2c_buffer->t_layer_state = layer_state; - } - } - - if (default_layer_state != i2c_buffer->t_default_layer_state) { - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_DEFAULT_LAYER_STATE_START, (void *)&default_layer_state, sizeof(default_layer_state), TIMEOUT) >= 0) { - i2c_buffer->t_default_layer_state = default_layer_state; - } - } - -# ifdef OLED_DRIVER_ENABLE - bool is_oled_on = is_oled_on(); - if (is_oled_on != i2c_buffer->oled_on) { - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LAYER_STATE_START, (void *)&is_oled_on, sizeof(is_oled_on), TIMEOUT) >= 0) { - i2c_buffer->oled_on = is_oled_on; - } - } -# endif - -# ifdef RGB_MATRIX_ENABLE - bool sus_state = rgb_matrix_get_suspend_state(); - if (sus_state != i2c_buffer->is_rgb_matrix_suspended) { - if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_MATRIX_SUSPEND_START, (void *)&sus_state, sizeof(sus_state), TIMEOUT) >= 0) { - i2c_buffer->is_rgb_matrix_suspended = sus_state; - } - } -# endif - - return true; -} - -void transport_slave(matrix_row_t matrix[]) { - // Copy matrix to I2C buffer - memcpy((void *)i2c_buffer->smatrix, (void *)matrix, sizeof(i2c_buffer->smatrix)); - -// Read Backlight Info -# ifdef BACKLIGHT_ENABLE - backlight_set(i2c_buffer->backlight_level); -# endif - -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) - // Update the RGB with the new data - if (i2c_buffer->rgblight_sync.status.change_flags != 0) { - rgblight_update_sync(&i2c_buffer->rgblight_sync, false); - i2c_buffer->rgblight_sync.status.change_flags = 0; - } -# endif - -# ifdef ENCODER_ENABLE - encoder_state_raw(i2c_buffer->encoder_state); -# endif - -# ifdef WPM_ENABLE - set_current_wpm(i2c_buffer->current_wpm); -# endif - -# ifdef POINTING_DEVICE_ENABLE - if (!is_keyboard_left()) { - static uint16_t cpi; - if (cpi != i2c_buffer->device_cpi) { - cpi = i2c_buffer->device_cpi; - pmw_set_cpi(cpi); - } - i2c_buffer->mouse_x = split_mouse_x; - i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_X_START, (void *)&i2c_buffer->mouse_x, sizeof(i2c_buffer->mouse_x), TIMEOUT); - i2c_buffer->mouse_y = split_mouse_y; - i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_Y_START, (void *)&i2c_buffer->mouse_y, sizeof(i2c_buffer->mouse_y), TIMEOUT); - } - -# endif - -# ifdef SPLIT_MODS_ENABLE - set_mods(i2c_buffer->real_mods); - set_weak_mods(i2c_buffer->weak_mods); -# ifndef NO_ACTION_ONESHOT - set_oneshot_mods(i2c_buffer->oneshot_mods); -# endif -# endif - - if (layer_state != i2c_buffer->t_layer_state) { - layer_state = i2c_buffer->t_layer_state; - } - if (default_layer_state != i2c_buffer->t_default_layer_state) { - default_layer_state = i2c_buffer->t_default_layer_state; - } - -# ifdef OLED_DRIVER_ENABLE - if (i2c_buffer->oled_on) { - oled_on(); - } else { - oled_off(); - } -# endif - -# ifdef RGB_MATRIX_ENABLE - rgb_matrix_set_suspend_state(i2c_buffer->is_rgb_matrix_suspended); -# endif -} - -void transport_master_init(void) { i2c_init(); } - -void transport_slave_init(void) { i2c_slave_init(SLAVE_I2C_ADDRESS); } - -#else // USE_SERIAL - -# include "serial.h" - -typedef struct _Serial_s2m_buffer_t { - // TODO: if MATRIX_COLS > 8 change to uint8_t packed_matrix[] for pack/unpack - matrix_row_t smatrix[ROWS_PER_HAND]; -# ifdef ENCODER_ENABLE - uint8_t encoder_state[NUMBER_OF_ENCODERS]; -# endif - int8_t mouse_x; - int8_t mouse_y; -} __attribute__((packed)) Serial_s2m_buffer_t; - -typedef struct _Serial_m2s_buffer_t { -# ifdef SPLIT_MODS_ENABLE - uint8_t real_mods; - uint8_t weak_mods; -# ifndef NO_ACTION_ONESHOT - uint8_t oneshot_mods; -# endif -# endif -# ifndef DISABLE_SYNC_TIMER - uint32_t sync_timer; -# endif -# ifdef BACKLIGHT_ENABLE - uint8_t backlight_level; -# endif -# ifdef WPM_ENABLE - uint8_t current_wpm; -# endif - uint16_t device_cpi; - bool oled_on; - layer_state_t t_layer_state; - layer_state_t t_default_layer_state; - bool is_rgb_matrix_suspended; -} __attribute__((packed)) Serial_m2s_buffer_t; - -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) -// When MCUs on both sides drive their respective RGB LED chains, -// it is necessary to synchronize, so it is necessary to communicate RGB -// information. In that case, define RGBLIGHT_SPLIT with info on the number -// of LEDs on each half. -// -// Otherwise, if the master side MCU drives both sides RGB LED chains, -// there is no need to communicate. - -typedef struct _Serial_rgblight_t { - rgblight_syncinfo_t rgblight_sync; -} Serial_rgblight_t; - -volatile Serial_rgblight_t serial_rgblight = {}; -uint8_t volatile status_rgblight = 0; -# endif - -volatile Serial_s2m_buffer_t serial_s2m_buffer = {}; -volatile Serial_m2s_buffer_t serial_m2s_buffer = {}; -uint8_t volatile status0 = 0; - -enum serial_transaction_id { - GET_SLAVE_MATRIX = 0, -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) - PUT_RGBLIGHT, -# endif -}; - -SSTD_t transactions[] = { - [GET_SLAVE_MATRIX] = - { - (uint8_t *)&status0, - sizeof(serial_m2s_buffer), - (uint8_t *)&serial_m2s_buffer, - sizeof(serial_s2m_buffer), - (uint8_t *)&serial_s2m_buffer, - }, -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) - [PUT_RGBLIGHT] = - { - (uint8_t *)&status_rgblight, sizeof(serial_rgblight), (uint8_t *)&serial_rgblight, 0, NULL // no slave to master transfer - }, -# endif -}; - -void transport_master_init(void) { soft_serial_initiator_init(transactions, TID_LIMIT(transactions)); } - -void transport_slave_init(void) { soft_serial_target_init(transactions, TID_LIMIT(transactions)); } - -# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT) - -// rgblight synchronization information communication. - -void transport_rgblight_master(void) { - if (rgblight_get_change_flags()) { - rgblight_get_syncinfo((rgblight_syncinfo_t *)&serial_rgblight.rgblight_sync); - if (soft_serial_transaction(PUT_RGBLIGHT) == TRANSACTION_END) { - rgblight_clear_change_flags(); - } - } -} - -void transport_rgblight_slave(void) { - if (status_rgblight == TRANSACTION_ACCEPTED) { - rgblight_update_sync((rgblight_syncinfo_t *)&serial_rgblight.rgblight_sync, false); - status_rgblight = TRANSACTION_END; - } -} - -# else -# define transport_rgblight_master() -# define transport_rgblight_slave() -# endif - -bool transport_master(matrix_row_t matrix[]) { -# ifndef SERIAL_USE_MULTI_TRANSACTION - if (soft_serial_transaction() != TRANSACTION_END) { - return false; - } -# else - transport_rgblight_master(); - if (soft_serial_transaction(GET_SLAVE_MATRIX) != TRANSACTION_END) { - return false; - } -# endif - - // TODO: if MATRIX_COLS > 8 change to unpack() - for (int i = 0; i < ROWS_PER_HAND; ++i) { - matrix[i] = serial_s2m_buffer.smatrix[i]; - } - -# ifdef BACKLIGHT_ENABLE - // Write backlight level for slave to read - serial_m2s_buffer.backlight_level = is_backlight_enabled() ? get_backlight_level() : 0; -# endif - -# ifdef ENCODER_ENABLE - encoder_update_raw((uint8_t *)serial_s2m_buffer.encoder_state); -# endif - -# ifdef WPM_ENABLE - // Write wpm to slave - serial_m2s_buffer.current_wpm = get_current_wpm(); -# endif - -# ifdef SPLIT_MODS_ENABLE - serial_m2s_buffer.real_mods = get_mods(); - serial_m2s_buffer.weak_mods = get_weak_mods(); -# ifndef NO_ACTION_ONESHOT - serial_m2s_buffer.oneshot_mods = get_oneshot_mods(); -# endif -# endif - -# ifdef POINTING_DEVICE_ENABLE - if (is_keyboard_left()) { - report_mouse_t temp_report = pointing_device_get_report(); - temp_report.x = serial_s2m_buffer.mouse_x; - temp_report.y = serial_s2m_buffer.mouse_y; - pointing_device_set_report(temp_report); - serial_m2s_buffer.device_cpi = device_cpi; - } -# endif - - serial_m2s_buffer.t_layer_state = layer_state; - serial_m2s_buffer.t_default_layer_state = default_layer_state; -# ifdef OLED_DRIVER_ENABLE - serial_m2s_buffer.oled_on = is_oled_on(); -# endif - -# ifdef RGB_MATRIX_ENABLE - serial_m2s_buffer.is_rgb_matrix_suspended = rgb_matrix_get_suspend_state(); -# endif - - return true; -} - -void transport_slave(matrix_row_t matrix[]) { - transport_rgblight_slave(); - - // TODO: if MATRIX_COLS > 8 change to pack() - for (int i = 0; i < ROWS_PER_HAND; ++i) { - serial_s2m_buffer.smatrix[i] = matrix[i]; - } - -# ifdef BACKLIGHT_ENABLE - backlight_set(serial_m2s_buffer.backlight_level); -# endif - -# ifdef ENCODER_ENABLE - encoder_state_raw((uint8_t *)serial_s2m_buffer.encoder_state); -# endif - -# ifdef WPM_ENABLE - set_current_wpm(serial_m2s_buffer.current_wpm); -# endif - -# ifdef SPLIT_MODS_ENABLE - set_mods(serial_m2s_buffer.real_mods); - set_weak_mods(serial_m2s_buffer.weak_mods); -# ifndef NO_ACTION_ONESHOT - set_oneshot_mods(serial_m2s_buffer.oneshot_mods); -# endif -# endif - -# ifdef POINTING_DEVICE_ENABLE - if (!is_keyboard_left()) { - static uint16_t cpi; - if (cpi != serial_m2s_buffer.device_cpi) { - cpi = serial_m2s_buffer.device_cpi; - pmw_set_cpi(cpi); - } - serial_s2m_buffer.mouse_x = split_mouse_x; - serial_s2m_buffer.mouse_y = split_mouse_y; - } -# endif - - if (layer_state != serial_m2s_buffer.t_layer_state) { - layer_state = serial_m2s_buffer.t_layer_state; - } - if (default_layer_state != serial_m2s_buffer.t_default_layer_state) { - default_layer_state = serial_m2s_buffer.t_default_layer_state; - } -# ifdef OLED_DRIVER_ENABLE - if (serial_m2s_buffer.oled_on) { - oled_on(); - } else { - oled_off(); - } -# endif - -# ifdef RGB_MATRIX_ENABLE - rgb_matrix_set_suspend_state(serial_m2s_buffer.is_rgb_matrix_suspended); -# endif -} - -#endif - -#ifdef POINTING_DEVICE_ENABLE -void master_mouse_send(int8_t x, int8_t y) { - split_mouse_x = x; - split_mouse_y = y; -} -void trackball_set_cpi(uint16_t cpi) { - if (!is_keyboard_left()) { - pmw_set_cpi(cpi); - } else { - device_cpi = cpi * 1.5; - } -} -#endif diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/post_config.h b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/post_config.h deleted file mode 100644 index 40f1029b5d3d..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/post_config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) - * - * 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 - -#ifndef MOUSEKEY_WHEEL_DELTA -# define MOUSEKEY_WHEEL_DELTA 1 -#endif -#ifndef MOUSEKEY_WHEEL_DELAY -# define MOUSEKEY_WHEEL_DELAY 200 -#endif -#ifndef MOUSEKEY_WHEEL_INTERVAL -# define MOUSEKEY_WHEEL_INTERVAL 50 -#endif -#ifndef MOUSEKEY_WHEEL_MAX_SPEED -# define MOUSEKEY_WHEEL_MAX_SPEED 8 -#endif -#ifndef MOUSEKEY_WHEEL_TIME_TO_MAX -# define MOUSEKEY_WHEEL_TIME_TO_MAX 80 -#endif diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/rules.mk deleted file mode 100644 index 99275c15ae9e..000000000000 --- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/rules.mk +++ /dev/null @@ -1,30 +0,0 @@ -# MCU name -MCU = at90usb1286 - -# Bootloader selection -BOOTLOADER = halfkay - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output -SWAP_HANDS_ENABLE = yes -POINTING_DEVICE_ENABLE = yes - -SPLIT_KEYBOARD = yes -SPLIT_TRANSPORT = custom - -SRC += pmw3360.c -QUANTUM_LIB_SRC += pointer_transport.c serial.c i2c_master.c i2c_slave.c spi_master.c diff --git a/keyboards/handwired/dactyl_manuform/5x7/5x7.c b/keyboards/handwired/dactyl_manuform/5x7/5x7.c index 135014d6554d..aae28e450c9d 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/5x7.c +++ b/keyboards/handwired/dactyl_manuform/5x7/5x7.c @@ -1,23 +1 @@ #include "5x7.h" - - -#ifdef SSD1306OLED -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} -#endif - -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; - diff --git a/keyboards/handwired/dactyl_manuform/5x7/5x7.h b/keyboards/handwired/dactyl_manuform/5x7/5x7.h index c01fce957c88..0c0c781be7c4 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/5x7.h +++ b/keyboards/handwired/dactyl_manuform/5x7/5x7.h @@ -1,23 +1,16 @@ #pragma once #include "dactyl_manuform.h" -#include "quantum.h" -#ifdef USE_I2C -#include -#ifdef __AVR__ - #include - #include -#endif -#endif +#define XXX KC_NO #define LAYOUT_5x7( \ - L11, L12, L13, L14, L15, L16, L17, \ - L21, L22, L23, L24, L25, L26, L27, \ - L31, L32, L33, L34, L35, L36, L37, \ - L41, L42, L43, L44, L45, L46, \ - L51, L52, L53, L54, \ - L55, L56, \ + L11, L12, L13, L14, L15, L16, L17, \ + L21, L22, L23, L24, L25, L26, L27, \ + L31, L32, L33, L34, L35, L36, L37, \ + L41, L42, L43, L44, L45, L46, \ + L51, L52, L53, L54, \ + L55, L56, \ L65, L66, \ L63, L64, \ R11, R12, R13, R14, R15, R16, R17, \ @@ -25,21 +18,20 @@ R31, R32, R33, R34, R35, R36, R37, \ R42, R43, R44, R45, R46, R47, \ R54, R55, R56, R57, \ - R52, R53, \ - R62, R63, \ - R64, R65 \ - ) \ - { \ - { L11, L12, L13, L14, L15, L16, L17 }, \ - { L21, L22, L23, L24, L25, L26, L27 }, \ - { L31, L32, L33, L34, L35, L36, L37 }, \ - { L41, L42, L43, L44, L45, L46, KC_NO }, \ - { L51, L52, L53, L54, L55, L56, KC_NO }, \ - { KC_NO, KC_NO, L63, L64, L65, L66, KC_NO }, \ - { R11, R12, R13, R14, R15, R16, R17 }, \ - { R21, R22, R23, R24, R25, R26, R27 }, \ - { R31, R32, R33, R34, R35, R36, R37 }, \ - { KC_NO, R42, R43, R44, R45, R46, R47 }, \ - { KC_NO, R52, R53, R54, R55, R56, R57 }, \ - { KC_NO, R62, R63, R64, R65, KC_NO, KC_NO } \ + R52, R53, \ + R62, R63, \ + R64, R65 \ +) { \ + { L11, L12, L13, L14, L15, L16, L17 }, \ + { L21, L22, L23, L24, L25, L26, L27 }, \ + { L31, L32, L33, L34, L35, L36, L37 }, \ + { L41, L42, L43, L44, L45, L46, XXX }, \ + { L51, L52, L53, L54, L55, L56, XXX }, \ + { XXX, XXX, L63, L64, L65, L66, XXX }, \ + { R11, R12, R13, R14, R15, R16, R17 }, \ + { R21, R22, R23, R24, R25, R26, R27 }, \ + { R31, R32, R33, R34, R35, R36, R37 }, \ + { XXX, R42, R43, R44, R45, R46, R47 }, \ + { XXX, R52, R53, R54, R55, R56, R57 }, \ + { XXX, R62, R63, R64, R65, XXX, XXX } \ } diff --git a/keyboards/handwired/dactyl_manuform/5x7/config.h b/keyboards/handwired/dactyl_manuform/5x7/config.h index 32c351a47289..6b915d611871 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/config.h +++ b/keyboards/handwired/dactyl_manuform/5x7/config.h @@ -20,9 +20,9 @@ along with this program. If not, see . #include "config_common.h" -#define PRODUCT_ID 0x3537 -#define DEVICE_VER 0x0001 -#define PRODUCT Dactyl-Manuform (5x7) +#define PRODUCT_ID 0x3537 +#define DEVICE_VER 0x0001 +#define PRODUCT Dactyl-Manuform (5x7) /* key matrix size */ // Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/5x7/info.json b/keyboards/handwired/dactyl_manuform/5x7/info.json index 33ba1b0e796b..18f5005dbf72 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/info.json +++ b/keyboards/handwired/dactyl_manuform/5x7/info.json @@ -7,80 +7,95 @@ "layouts": { "LAYOUT_5x7": { "layout": [ - {"label":"L11", "x":0, "y":0}, - {"label":"L12", "x":1, "y":0}, - {"label":"L13", "x":2, "y":0}, - {"label":"L14", "x":3, "y":0}, - {"label":"L15", "x":4, "y":0}, - {"label":"L16", "x":5, "y":0}, - {"label":"L17", "x":6, "y":0}, - {"label":"L21", "x":0, "y":1}, - {"label":"L22", "x":1, "y":1}, - {"label":"L23", "x":2, "y":1}, - {"label":"L24", "x":3, "y":1}, - {"label":"L25", "x":4, "y":1}, - {"label":"L26", "x":5, "y":1}, - {"label":"L27", "x":6, "y":1}, - {"label":"L31", "x":0, "y":2}, - {"label":"L32", "x":1, "y":2}, - {"label":"L33", "x":2, "y":2}, - {"label":"L34", "x":3, "y":2}, - {"label":"L35", "x":4, "y":2}, - {"label":"L36", "x":5, "y":2}, - {"label":"L37", "x":6, "y":2}, - {"label":"L41", "x":0, "y":3}, - {"label":"L42", "x":1, "y":3}, - {"label":"L43", "x":2, "y":3}, - {"label":"L44", "x":3, "y":3}, - {"label":"L45", "x":4, "y":3}, - {"label":"L46", "x":5, "y":3}, - {"label":"L51", "x":0, "y":4}, - {"label":"L52", "x":1, "y":4}, - {"label":"L53", "x":2, "y":4}, - {"label":"L54", "x":3, "y":4}, - {"label":"L55", "x":4, "y":5}, - {"label":"L56", "x":5, "y":5}, - {"label":"L65", "x":6, "y":6}, - {"label":"L66", "x":7, "y":6}, - {"label":"L63", "x":6, "y":7}, - {"label":"L64", "x":7, "y":7}, - {"label":"R11", "x":10, "y":0}, - {"label":"R12", "x":11, "y":0}, - {"label":"R13", "x":12, "y":0}, - {"label":"R14", "x":13, "y":0}, - {"label":"R15", "x":14, "y":0}, - {"label":"R16", "x":15, "y":0}, - {"label":"R17", "x":16, "y":0}, - {"label":"R21", "x":10, "y":1}, - {"label":"R22", "x":11, "y":1}, - {"label":"R23", "x":12, "y":1}, - {"label":"R24", "x":13, "y":1}, - {"label":"R25", "x":14, "y":1}, - {"label":"R26", "x":15, "y":1}, - {"label":"R27", "x":16, "y":1}, - {"label":"R31", "x":10, "y":2}, - {"label":"R32", "x":11, "y":2}, - {"label":"R33", "x":12, "y":2}, - {"label":"R34", "x":13, "y":2}, - {"label":"R35", "x":14, "y":2}, - {"label":"R36", "x":15, "y":2}, - {"label":"R37", "x":16, "y":2}, - {"label":"R42", "x":11, "y":3}, - {"label":"R43", "x":12, "y":3}, - {"label":"R44", "x":13, "y":3}, - {"label":"R45", "x":14, "y":3}, - {"label":"R46", "x":15, "y":3}, - {"label":"R47", "x":16, "y":3}, - {"label":"R54", "x":13, "y":4}, - {"label":"R55", "x":14, "y":4}, - {"label":"R56", "x":15, "y":4}, - {"label":"R57", "x":16, "y":4}, - {"label":"R52", "x":11, "y":5}, - {"label":"R53", "x":12, "y":5}, - {"label":"R62", "x":9, "y":6}, - {"label":"R63", "x":10, "y":6}, - {"label":"R64", "x":9, "y":7}, - {"label":"R65", "x":10, "y":7} + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + {"x": 6, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + {"x": 6, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + {"x": 6, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + + {"x": 0, "y": 4}, + {"x": 1, "y": 4}, + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + + {"x": 4, "y": 5}, + {"x": 5, "y": 5}, + + {"x": 6, "y": 6}, + {"x": 7, "y": 6}, + + {"x": 6, "y": 7}, + {"x": 7, "y": 7}, + + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + + {"x": 10, "y": 2}, + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + + {"x": 11, "y": 3}, + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + + {"x": 11, "y": 5}, + {"x": 12, "y": 5}, + + {"x": 9, "y": 6}, + {"x": 10, "y": 6}, + + {"x":9, "y":7}, + {"x":10, "y":7} ] } } diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h index 29ab59ad66b4..5a20f9473fec 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h @@ -15,13 +15,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - #pragma once - #define USE_SERIAL #define MASTER_LEFT -// #define MASTER_RIGHT +//#define MASTER_RIGHT + //#define EE_HANDS -// Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c index eb4deb6285f3..3aaeb9989bd1 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c @@ -1,6 +1,5 @@ #include QMK_KEYBOARD_H - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -10,71 +9,72 @@ #define _NUMPAD 2 // Some basic macros -#define TASK LCTL(LSFT(KC_ESC)) -#define TAB_R LCTL(KC_TAB) -#define TAB_L LCTL(LSFT(KC_TAB)) -#define TAB_RO LCTL(LSFT(KC_T)) +#define TASK LCTL(LSFT(KC_ESC)) +#define TAB_R LCTL(KC_TAB) +#define TAB_L LCTL(LSFT(KC_TAB)) +#define TAB_RO LCTL(LSFT(KC_T)) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_QWERTY] = LAYOUT_5x7( - // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO, - OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, - KC_CAPS, KC_LGUI, TAB_L, TAB_R, - TT(_FN), KC_SPC, - KC_END, KC_HOME, - KC_PSCR, TASK, + [_QWERTY] = LAYOUT_5x7( + // left hand + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO, + OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, + KC_CAPS, KC_LGUI, TAB_L, TAB_R, + TT(_FN), KC_SPC, + KC_END, KC_HOME, + KC_PSCR, TASK, // right hand - KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, - KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT), - KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, - KC_BSPC, KC_ENT, - KC_PGUP, KC_PGDN, - KC_LCTL, KC_LALT), + KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT), + KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + KC_BSPC, KC_ENT, + KC_PGUP, KC_PGDN, + KC_LCTL, KC_LALT + ), -[_FN] = LAYOUT_5x7( - // left hand - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - _______, _______, _______, KC_UP, _______, _______, _______, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET, - _______, _______, _______, _______, _______, _______, - KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, - _______, _______, - _______, _______, - _______, _______, + [_FN] = LAYOUT_5x7( + // left hand + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET, + _______, _______, _______, _______, _______, _______, + KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, + _______, _______, + _______, _______, + _______, _______, // right hand - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - KC_DEL, _______, - _______, _______, - _______, _______), + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + KC_DEL, _______, + _______, _______, + _______, _______ + ), -[_NUMPAD] = LAYOUT_5x7( - // left hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, - _______, _______, - _______, _______, + [_NUMPAD] = LAYOUT_5x7( + // left hand + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + _______, _______, + _______, _______, // right hand - _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______, - _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, - _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, - _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, - KC_P0, KC_PDOT, _______, _______, - _______, KC_PENT, - _______, _______, - _______, _______), - + _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______, + _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, + _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, + KC_P0, KC_PDOT, _______, _______, + _______, KC_PENT, + _______, _______, + _______, _______ + ), }; diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h index 29ab59ad66b4..5a20f9473fec 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h @@ -15,13 +15,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - #pragma once - #define USE_SERIAL #define MASTER_LEFT -// #define MASTER_RIGHT +//#define MASTER_RIGHT + //#define EE_HANDS -// Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c index 07c5ec9ba386..5f5ef54df16e 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c +++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c @@ -1,6 +1,5 @@ #include QMK_KEYBOARD_H - // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -11,113 +10,114 @@ #define _BLANK 3 // Some basic macros -#define TASK LCTL(LSFT(KC_ESC)) -#define TAB_R LCTL(KC_TAB) -#define TAB_L LCTL(LSFT(KC_TAB)) -#define TAB_RO LCTL(LSFT(KC_T)) +#define TASK LCTL(LSFT(KC_ESC)) +#define TAB_R LCTL(KC_TAB) +#define TAB_L LCTL(LSFT(KC_TAB)) +#define TAB_RO LCTL(LSFT(KC_T)) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_QWERTY] = LAYOUT_5x7( - // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO, - OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, - KC_CAPS, KC_LGUI, TAB_L, TAB_R, - TT(_FN), KC_SPC, - KC_END, KC_HOME, - KC_PSCR, TASK, + [_QWERTY] = LAYOUT_5x7( + // left hand + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO, + OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, + KC_CAPS, KC_LGUI, TAB_L, TAB_R, + TT(_FN), KC_SPC, + KC_END, KC_HOME, + KC_PSCR, TASK, // right hand - KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, - KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT), - KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, - KC_BSPC, KC_ENT, - KC_PGUP, KC_PGDN, - KC_LCTL, KC_LALT), + KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, + KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT), + KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + KC_BSPC, KC_ENT, + KC_PGUP, KC_PGDN, + KC_LCTL, KC_LALT + ), -[_FN] = LAYOUT_5x7( - // left hand - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - _______, _______, _______, KC_UP, _______, _______, _______, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET, - _______, _______, _______, _______, _______, _______, - KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, - _______, _______, - _______, _______, - _______, _______, + [_FN] = LAYOUT_5x7( + // left hand + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + _______, _______, _______, KC_UP, _______, _______, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET, + _______, _______, _______, _______, _______, _______, + KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, + _______, _______, + _______, _______, + _______, _______, // right hand - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - KC_DEL, _______, - _______, _______, - _______, _______), + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + KC_DEL, _______, + _______, _______, + _______, _______ + ), -[_NUMPAD] = LAYOUT_5x7( - // left hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, - _______, _______, - _______, _______, + [_NUMPAD] = LAYOUT_5x7( + // left hand + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + _______, _______, + _______, _______, // right hand - _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______, - _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, - _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, - _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, - KC_P0, KC_PDOT, _______, _______, - _______, KC_PENT, - _______, _______, - _______, _______), - + _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______, + _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, + _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, + KC_P0, KC_PDOT, _______, _______, + _______, KC_PENT, + _______, _______, + _______, _______ + ), -[_NUMPAD] = LAYOUT_5x7( - // left hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, - _______, _______, - _______, _______, + [_NUMPAD] = LAYOUT_5x7( + // left hand + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + _______, _______, + _______, _______, // right hand - _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______, - _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, - _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, - _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, - KC_P0, KC_PDOT, _______, _______, - _______, KC_PENT, - _______, _______, - _______, _______), + _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______, + _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, + _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, + _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, + KC_P0, KC_PDOT, _______, _______, + _______, KC_PENT, + _______, _______, + _______, _______ + ), -[_BLANK] = LAYOUT_5x7( - // left hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, - _______, _______, - _______, _______, + [_BLANK] = LAYOUT_5x7( + // left hand + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + _______, _______, + _______, _______, // right hand - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, - _______, _______, - _______, _______, - _______, _______), - - + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, + _______, _______, + _______, _______ + ) }; diff --git a/keyboards/handwired/dactyl_manuform/5x7/rules.mk b/keyboards/handwired/dactyl_manuform/5x7/rules.mk index 7508070515e2..caba0940caeb 100644 --- a/keyboards/handwired/dactyl_manuform/5x7/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x7/rules.mk @@ -1,20 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina # Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/dactyl_manuform/6x6/6x6.c b/keyboards/handwired/dactyl_manuform/6x6/6x6.c index 9eb27531a8b7..7d3524a5718e 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/6x6.c +++ b/keyboards/handwired/dactyl_manuform/6x6/6x6.c @@ -1,23 +1 @@ #include "6x6.h" - - -#ifdef SSD1306OLED -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} -#endif - -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; - diff --git a/keyboards/handwired/dactyl_manuform/6x6/6x6.h b/keyboards/handwired/dactyl_manuform/6x6/6x6.h index 039e6b40dfb0..821abe03083c 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/6x6.h +++ b/keyboards/handwired/dactyl_manuform/6x6/6x6.h @@ -1,42 +1,33 @@ #pragma once #include "dactyl_manuform.h" -#include "quantum.h" +#define XXX KC_NO -#ifdef USE_I2C -#include -#ifdef __AVR__ - #include - #include -#endif -#endif - -#define LAYOUT_6x6(\ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ - L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \ - L52, L53, R52, R53, \ - L54, L55, R50, R51, \ - L64, L65, R60, R61, \ - L62, L63, R62, R63 \ - ) \ - { \ - { L00, L01, L02, L03, L04, L05 }, \ - { L10, L11, L12, L13, L14, L15 }, \ - { L20, L21, L22, L23, L24, L25 }, \ - { L30, L31, L32, L33, L34, L35 }, \ - { L40, L41, L42, L43, L44, L45 }, \ - { KC_NO, KC_NO, L52, L53, L54, L55 }, \ - { KC_NO, KC_NO, L62, L63, L64, L65 }, \ - \ - { R00, R01, R02, R03, R04, R05 }, \ - { R10, R11, R12, R13, R14, R15 }, \ - { R20, R21, R22, R23, R24, R25 }, \ - { R30, R31, R32, R33, R34, R35 }, \ - { R40, R41, R42, R43, R44, R45 }, \ - { R50, R51, R52, R53, KC_NO, KC_NO }, \ - { R60, R61, R62, R63, KC_NO, KC_NO } \ +#define LAYOUT_6x6( \ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ + L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \ + L52, L53, R52, R53, \ + L54, L55, R50, R51, \ + L64, L65, R60, R61, \ + L62, L63, R62, R63 \ +) { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { L40, L41, L42, L43, L44, L45 }, \ + { XXX, XXX, L52, L53, L54, L55 }, \ + { XXX, XXX, L62, L63, L64, L65 }, \ +\ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, R35 }, \ + { R40, R41, R42, R43, R44, R45 }, \ + { R50, R51, R52, R53, XXX, XXX }, \ + { R60, R61, R62, R63, XXX, XXX } \ } diff --git a/keyboards/handwired/dactyl_manuform/6x6/config.h b/keyboards/handwired/dactyl_manuform/6x6/config.h index dd47f44c915c..9323e3302984 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/config.h +++ b/keyboards/handwired/dactyl_manuform/6x6/config.h @@ -20,9 +20,9 @@ along with this program. If not, see . #include "config_common.h" -#define PRODUCT_ID 0x3636 -#define DEVICE_VER 0x0001 -#define PRODUCT Dactyl-Manuform (6x6) +#define PRODUCT_ID 0x3636 +#define DEVICE_VER 0x0001 +#define PRODUCT Dactyl-Manuform (6x6) /* key matrix size */ // Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/6x6/info.json b/keyboards/handwired/dactyl_manuform/6x6/info.json index e617b39a82db..6873873a7f98 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/info.json +++ b/keyboards/handwired/dactyl_manuform/6x6/info.json @@ -7,82 +7,99 @@ "layouts": { "LAYOUT_6x6": { "layout": [ - {"label":"L00", "x":0, "y":0}, - {"label":"L01", "x":1, "y":0}, - {"label":"L02", "x":2, "y":0}, - {"label":"L03", "x":3, "y":0}, - {"label":"L04", "x":4, "y":0}, - {"label":"L05", "x":5, "y":0}, - {"label":"R00", "x":11, "y":0}, - {"label":"R01", "x":12, "y":0}, - {"label":"R02", "x":13, "y":0}, - {"label":"R03", "x":14, "y":0}, - {"label":"R04", "x":15, "y":0}, - {"label":"R05", "x":16, "y":0}, - {"label":"L10", "x":0, "y":1}, - {"label":"L11", "x":1, "y":1}, - {"label":"L12", "x":2, "y":1}, - {"label":"L13", "x":3, "y":1}, - {"label":"L14", "x":4, "y":1}, - {"label":"L15", "x":5, "y":1}, - {"label":"R10", "x":11, "y":1}, - {"label":"R11", "x":12, "y":1}, - {"label":"R12", "x":13, "y":1}, - {"label":"R13", "x":14, "y":1}, - {"label":"R14", "x":15, "y":1}, - {"label":"R15", "x":16, "y":1}, - {"label":"L20", "x":0, "y":2}, - {"label":"L21", "x":1, "y":2}, - {"label":"L22", "x":2, "y":2}, - {"label":"L23", "x":3, "y":2}, - {"label":"L24", "x":4, "y":2}, - {"label":"L25", "x":5, "y":2}, - {"label":"R20", "x":11, "y":2}, - {"label":"R21", "x":12, "y":2}, - {"label":"R22", "x":13, "y":2}, - {"label":"R23", "x":14, "y":2}, - {"label":"R24", "x":15, "y":2}, - {"label":"R25", "x":16, "y":2}, - {"label":"L30", "x":0, "y":3}, - {"label":"L31", "x":1, "y":3}, - {"label":"L32", "x":2, "y":3}, - {"label":"L33", "x":3, "y":3}, - {"label":"L34", "x":4, "y":3}, - {"label":"L35", "x":5, "y":3}, - {"label":"R30", "x":11, "y":3}, - {"label":"R31", "x":12, "y":3}, - {"label":"R32", "x":13, "y":3}, - {"label":"R33", "x":14, "y":3}, - {"label":"R34", "x":15, "y":3}, - {"label":"R35", "x":16, "y":3}, - {"label":"L40", "x":0, "y":4}, - {"label":"L41", "x":1, "y":4}, - {"label":"L42", "x":2, "y":4}, - {"label":"L43", "x":3, "y":4}, - {"label":"L44", "x":4, "y":4}, - {"label":"L45", "x":5, "y":4}, - {"label":"R40", "x":11, "y":4}, - {"label":"R41", "x":12, "y":4}, - {"label":"R42", "x":13, "y":4}, - {"label":"R43", "x":14, "y":4}, - {"label":"R44", "x":15, "y":4}, - {"label":"R45", "x":16, "y":4}, - {"label":"L52", "x":2, "y":5}, - {"label":"L53", "x":3, "y":5}, - {"label":"R52", "x":13, "y":5}, - {"label":"R53", "x":14, "y":5}, - {"label":"L54", "x":4, "y":6}, - {"label":"L55", "x":5, "y":6}, - {"label":"R50", "x":11, "y":6}, - {"label":"R51", "x":12, "y":6}, - {"label":"L64", "x":6, "y":7}, - {"label":"L65", "x":7, "y":7}, - {"label":"R60", "x":9, "y":7}, - {"label":"R61", "x":10, "y":7}, - {"label":"L62", "x":6, "y":8}, - {"label":"L63", "x":7, "y":8}, - {"label":"R62", "x":9, "y":8}, - {"label":"R63", "x":10, "y":8} + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, + + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, + {"x": 15, "y": 0}, + {"x": 16, "y": 0}, + + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, + + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, + {"x": 15, "y": 1}, + {"x": 16, "y": 1}, + + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, + + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, + {"x": 15, "y": 2}, + {"x": 16, "y": 2}, + + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, + {"x": 5, "y": 3}, + + {"x": 11, "y": 3}, + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, + {"x": 15, "y": 3}, + {"x": 16, "y": 3}, + + {"x": 0, "y": 4}, + {"x": 1, "y": 4}, + {"x": 2, "y": 4}, + {"x": 3, "y": 4}, + {"x": 4, "y": 4}, + {"x": 5, "y": 4}, + + {"x": 11, "y": 4}, + {"x": 12, "y": 4}, + {"x": 13, "y": 4}, + {"x": 14, "y": 4}, + {"x": 15, "y": 4}, + {"x": 16, "y": 4}, + + {"x": 2, "y": 5}, + {"x": 3, "y": 5}, + + {"x": 13, "y": 5}, + {"x": 14, "y": 5}, + + {"x": 4, "y": 6}, + {"x": 5, "y": 6}, + + {"x": 11, "y": 6}, + {"x": 12, "y": 6}, + + {"x": 6, "y": 7}, + {"x": 7, "y": 7}, + + {"x": 9, "y": 7}, + {"x": 10, "y": 7}, + + {"x": 6, "y": 8}, + {"x": 7, "y": 8}, + + {"x": 9, "y": 8}, + {"x": 10, "y": 8} ] } } diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h index 29ab59ad66b4..5a20f9473fec 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h +++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h @@ -15,13 +15,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - #pragma once - #define USE_SERIAL #define MASTER_LEFT -// #define MASTER_RIGHT +//#define MASTER_RIGHT + //#define EE_HANDS -// Rows are doubled-up diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c index fd2e5f413df3..41e96b53d724 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c @@ -1,6 +1,5 @@ #include QMK_KEYBOARD_H - #define _QWERTY 0 #define _LOWER 1 #define _RAISE 2 @@ -9,45 +8,39 @@ #define LOWER MO(_LOWER) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_6x6( - - 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_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,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_MINS, - KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, - KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH, - KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, - RAISE,KC_SPC, KC_ENT, LOWER, - KC_TAB,KC_HOME, KC_END, KC_DEL, - KC_BSPC, KC_GRV, KC_LGUI, KC_LALT - ), - - [_LOWER] = LAYOUT_6x6( - - 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_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL, - _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, - _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, - _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS, - _______,KC_PSCR, _______, KC_P0, - _______,_______, _______,_______, - _______,_______, _______,_______, - _______,_______, _______,_______ - ), - - [_RAISE] = LAYOUT_6x6( - - KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 , - _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE, - _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, - _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, - - _______,_______, KC_EQL ,_______, - _______,_______, _______,_______, + [_QWERTY] = LAYOUT_6x6( + 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_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,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_MINS, + KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, + KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH, + KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, + RAISE,KC_SPC, KC_ENT, LOWER, + KC_TAB,KC_HOME, KC_END, KC_DEL, + KC_BSPC, KC_GRV, KC_LGUI, KC_LALT + ), + + [_LOWER] = LAYOUT_6x6( + 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_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL, + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, + _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, + _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS, + _______,KC_PSCR, _______, KC_P0, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ), + + [_RAISE] = LAYOUT_6x6( + KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 , + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE, + _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______, + _______,_______, KC_EQL ,_______, + _______,_______, _______,_______, _______,_______, _______,_______, _______,_______, _______,_______ - ), - + ) }; diff --git a/keyboards/handwired/dactyl_manuform/6x6/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/rules.mk index 7508070515e2..caba0940caeb 100644 --- a/keyboards/handwired/dactyl_manuform/6x6/rules.mk +++ b/keyboards/handwired/dactyl_manuform/6x6/rules.mk @@ -1,20 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina # Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically +# change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/dactyl_manuform/config.h b/keyboards/handwired/dactyl_manuform/config.h index 6c4ec0f19376..18942f9e5fab 100644 --- a/keyboards/handwired/dactyl_manuform/config.h +++ b/keyboards/handwired/dactyl_manuform/config.h @@ -21,14 +21,14 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0x444D -#define MANUFACTURER tshort +#define VENDOR_ID 0x444D +#define MANUFACTURER tshort /* mouse config */ -#define MOUSEKEY_INTERVAL 20 -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_TIME_TO_MAX 60 -#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 /* Set 0 if debouncing isn't needed */ @@ -44,21 +44,3 @@ along with this program. If not, see . /* Enables This makes it easier for fast typists to use dual-function keys */ #define PERMISSIVE_HOLD - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -// #define NO_DEBUG - -/* disable print */ -// #define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h index 7352b5e838d5..11c999777188 100644 --- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h +++ b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h @@ -1,30 +1,21 @@ #pragma once -#ifdef KEYBOARD_handwired_dactyl_manuform_4x5 - #include "4x5.h" -#elif KEYBOARD_handwired_dactyl_manuform_4x6 - #include "4x6.h" -#elif KEYBOARD_handwired_dactyl_manuform_5x6 - #include "5x6.h" -#elif KEYBOARD_handwired_dactyl_manuform_5x6_5 - #include "5x6_5.h" -#elif KEYBOARD_handwired_dactyl_manuform_5x7 - #include "5x7.h" -#elif KEYBOARD_handwired_dactyl_manuform_6x6 - #include "6x6.h" -#elif KEYBOARD_handwired_dactyl_manuform_dmote_62key - #include "62key.h" -#elif KEYBOARD_handwired_dactyl_manuform_5x6_right_trackball -# include "5x6_right_trackball.h" +#if defined(KEYBOARD_handwired_dactyl_manuform_4x5) +# include "4x5.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_4x6) +# include "4x6.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_5x6) +# include "5x6.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_5x6_5) +# include "5x6_5.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_5x6_2_5) +# include "5x6_2_5.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_5x7) +# include "5x7.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_6x6) +# include "6x6.h" +#elif defined(KEYBOARD_handwired_dactyl_manuform_dmote_62key) +# include "62key.h" #endif #include "quantum.h" - - -#ifdef USE_I2C -#include -#ifdef __AVR__ - #include - #include -#endif -#endif diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/62key.c b/keyboards/handwired/dactyl_manuform/dmote/62key/62key.c index e5d444277d2d..8d0d95e166de 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/62key.c +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/62key.c @@ -1,5 +1 @@ #include "62key.h" - -void matrix_init_kb(void) { - matrix_init_user(); -}; diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h b/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h index 27341016542f..2d52e7e5fb6e 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h @@ -1,15 +1,6 @@ #pragma once #include "dactyl_manuform.h" -#include "quantum.h" - -#ifdef USE_I2C -#include -#ifdef __AVR__ - #include - #include -#endif -#endif // This uses the same coordinate system as the program that defines // the case model, but not the same coordinates. @@ -21,34 +12,33 @@ // cluster so that everything can be contained in a 6x6 pattern. #define LAYOUT_62key( \ - LA_20, LA_10, LF_35, LF_25, LF_15, LF_05, \ - LF_55, LF_45, LF_34, LF_24, LF_14, LF_04, \ - LF_54, LF_44, LF_33, LF_23, LF_13, LF_03, \ - LF_53, LF_43, LF_32, LF_22, LF_12, \ - LF_21, LT_21, LT_22, \ + LA_20, LA_10, LF_35, LF_25, LF_15, LF_05, \ + LF_55, LF_45, LF_34, LF_24, LF_14, LF_04, \ + LF_54, LF_44, LF_33, LF_23, LF_13, LF_03, \ + LF_53, LF_43, LF_32, LF_22, LF_12, \ + LF_21, LT_21, LT_22, \ LT_10, LT_11, LT_12, \ - LT_01, LT_02, \ - \ - RF_05, RF_15, RF_25, RF_35, RA_10, RA_20, \ - RF_04, RF_14, RF_24, RF_34, RF_45, RF_55, \ - RF_03, RF_13, RF_23, RF_33, RF_44, RF_54, \ - RF_12, RF_22, RF_32, RF_43, RF_53, \ - RT_22, RT_21, RF_21, \ - RT_12, RT_11, RT_10, \ - RT_02, RT_01 \ - ) \ - { \ + LT_01, LT_02, \ +\ + RF_05, RF_15, RF_25, RF_35, RA_10, RA_20, \ + RF_04, RF_14, RF_24, RF_34, RF_45, RF_55, \ + RF_03, RF_13, RF_23, RF_33, RF_44, RF_54, \ + RF_12, RF_22, RF_32, RF_43, RF_53, \ + RT_22, RT_21, RF_21, \ + RT_12, RT_11, RT_10, \ + RT_02, RT_01 \ +) { \ { LA_20, LA_10, LF_35, LF_25, LF_15, LF_05 }, \ { LF_55, LF_45, LF_34, LF_24, LF_14, LF_04 }, \ { LF_54, LF_44, LF_33, LF_23, LF_13, LF_03 }, \ { LF_53, LF_43, LF_32, LF_22, LF_12, LT_22 }, \ { KC_NO, KC_NO, LT_21, LF_21, LT_11, LT_12 }, \ { KC_NO, KC_NO, LT_10, KC_NO, LT_01, LT_02 }, \ - \ +\ { RA_20, RA_10, RF_35, RF_25, RF_15, RF_05 }, \ { RF_55, RF_45, RF_34, RF_24, RF_14, RF_04 }, \ { RF_54, RF_44, RF_33, RF_23, RF_13, RF_03 }, \ { RF_53, RF_43, RF_32, RF_22, RF_12, RT_22 }, \ { KC_NO, KC_NO, RT_21, RF_21, RT_11, RT_12 }, \ - { KC_NO, KC_NO, RT_10, KC_NO, RT_01, RT_02 }, \ - } + { KC_NO, KC_NO, RT_10, KC_NO, RT_01, RT_02 } \ +} diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h index cb213270703b..cb65d8c19c38 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h @@ -1,9 +1,10 @@ #pragma once #include "config_common.h" -#define PRODUCT_ID 0x3632 -#define DEVICE_VER 0x0001 -#define PRODUCT DMOTE (62-key) + +#define PRODUCT_ID 0x3632 +#define DEVICE_VER 0x0001 +#define PRODUCT DMOTE (62-key) #define MATRIX_ROWS 12 #define MATRIX_COLS 6 @@ -48,5 +49,3 @@ #define RGB_DI_PIN D1 #define RGBLED_NUM 6 // Used when chaining strips #define RGBLED_SPLIT { 3, 3 } // Used when not chaining strips -#define ws2812_PORTREG PORTD -#define ws2812_DDRREG DDRD diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json index 8e54b8db4d24..ce492e70ab2b 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json @@ -7,84 +7,82 @@ "layouts": { "LAYOUT_62key": { "layout": [ - {"x":0, "y":0}, - {"x":1, "y":0}, - {"x":2, "y":0}, - {"x":3, "y":0}, - {"x":4, "y":0}, - {"x":5, "y":0}, + {"x": 0, "y": 0}, + {"x": 1, "y": 0}, + {"x": 2, "y": 0}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0}, + {"x": 5, "y": 0}, - {"x":0, "y":1}, - {"x":1, "y":1}, - {"x":2, "y":1}, - {"x":3, "y":1}, - {"x":4, "y":1}, - {"x":5, "y":1}, + {"x": 0, "y": 1}, + {"x": 1, "y": 1}, + {"x": 2, "y": 1}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1}, + {"x": 5, "y": 1}, - {"x":0, "y":2}, - {"x":1, "y":2}, - {"x":2, "y":2}, - {"x":3, "y":2}, - {"x":4, "y":2}, - {"x":5, "y":2}, + {"x": 0, "y": 2}, + {"x": 1, "y": 2}, + {"x": 2, "y": 2}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2}, + {"x": 5, "y": 2}, - {"x":0, "y":3}, - {"x":1, "y":3}, - {"x":2, "y":3}, - {"x":3, "y":3}, - {"x":4, "y":3}, + {"x": 0, "y": 3}, + {"x": 1, "y": 3}, + {"x": 2, "y": 3}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3}, - {"x":3, "y":4}, - {"x":4.5, "y":4.5}, - {"x":5.5, "y":4.5}, + {"x": 3, "y": 4}, + {"x": 4.5, "y": 4.5}, + {"x": 5.5, "y": 4.5}, - {"x":4, "y":5.5}, - {"x":5, "y":5.5}, - {"x":6, "y":5.5}, + {"x": 4, "y": 5.5}, + {"x": 5, "y": 5.5}, + {"x": 6, "y": 5.5}, - {"x":4.5, "y":6.5}, - {"x":5.5, "y":6.5}, + {"x": 4.5, "y": 6.5}, + {"x": 5.5, "y": 6.5}, + {"x": 9, "y": 0}, + {"x": 10, "y": 0}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0}, + {"x": 13, "y": 0}, + {"x": 14, "y": 0}, - {"x":9, "y":0}, - {"x":10, "y":0}, - {"x":11, "y":0}, - {"x":12, "y":0}, - {"x":13, "y":0}, - {"x":14, "y":0}, + {"x": 9, "y": 1}, + {"x": 10, "y": 1}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1}, + {"x": 13, "y": 1}, + {"x": 14, "y": 1}, - {"x":9, "y":1}, - {"x":10, "y":1}, - {"x":11, "y":1}, - {"x":12, "y":1}, - {"x":13, "y":1}, - {"x":14, "y":1}, + {"x": 9, "y": 2}, + {"x": 10, "y": 2}, + {"x": 11, "y": 2}, + {"x": 12, "y": 2}, + {"x": 13, "y": 2}, + {"x": 14, "y": 2}, - {"x":9, "y":2}, - {"x":10, "y":2}, - {"x":11, "y":2}, - {"x":12, "y":2}, - {"x":13, "y":2}, - {"x":14, "y":2}, + {"x": 10, "y": 3}, + {"x": 11, "y": 3}, + {"x": 12, "y": 3}, + {"x": 13, "y": 3}, + {"x": 14, "y": 3}, - {"x":10, "y":3}, - {"x":11, "y":3}, - {"x":12, "y":3}, - {"x":13, "y":3}, - {"x":14, "y":3}, + {"x": 8.5, "y": 4.5}, + {"x": 9.5, "y": 4.5}, + {"x": 11, "y": 4}, - {"x":8.5, "y":4.5}, - {"x":9.5, "y":4.5}, - {"x":11, "y":4}, + {"x": 8, "y": 5.5}, + {"x": 9, "y": 5.5}, + {"x": 10, "y": 5.5}, - {"x":8, "y":5.5}, - {"x":9, "y":5.5}, - {"x":10, "y":5.5}, - - {"x":8.5, "y":6.5}, - {"x":9.5, "y":6.5} + {"x": 8.5, "y": 6.5}, + {"x": 9.5, "y": 6.5} ] } } } - diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c index 25bd7da39235..d11f0754816f 100644 --- a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c @@ -1,9 +1,8 @@ -#include "62key.h" -#include "rgblight.h" +#include QMK_KEYBOARD_H + #include "keymap_colemak.h" #include "sendstring_colemak.h" - // Automatic Layer ID: enum layer_names { _QWERTY, // OS-side Colemak. Default. @@ -14,71 +13,71 @@ enum layer_names { // Shorthand: #define LAYER_N MO(_NUMERIC) #define LAYER_C TG(_COLEMAK) -#define PASTE LSFT(KC_INS) // Terminal-compatible paste. -#define SLQ RALT(KC_9) // Single left-side quotation mark (in Colemak). -#define SRQ RALT(KC_0) -#define EMDASH RALT(LSFT(KC_MINUS)) // Em dash character (in Colemak). +#define PASTE LSFT(KC_INS) // Terminal-compatible paste. +#define SLQ RALT(KC_9) // Single left-side quotation mark (in Colemak). +#define SRQ RALT(KC_0) +#define EMDASH RALT(LSFT(KC_MINUS)) // Em dash character (in Colemak). #define BK_LCTL CTL_T(KC_LBRACKET) #define BK_RCTL RCTL_T(KC_RBRACKET) // TODO: Mod-tap ALT with a curvilinear brace. // https://github.com/qmk/qmk_firmware/pull/2055 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[_QWERTY] = LAYOUT_62key( - KC_VOLD, KC_VOLU, CM_W, CM_F, CM_P, CM_G, - KC_TAB, CM_Q, CM_R, CM_S, CM_T, CM_D, - KC_BSPC, CM_A, CM_X, CM_C, CM_V, CM_B, - SLQ, CM_Z, KC_HOME, KC_PGUP, KC_END, - KC_PGDN, KC_ENT, KC_SPC, - KC_LSPO, KC_LGUI, KC_MINS, - BK_LCTL, KC_LALT, - - CM_J, CM_L, CM_U, CM_Y, KC_MPLY, KC_MUTE, - CM_H, CM_N, CM_E, CM_I, CM_SCLN, KC_BSLS, - CM_K, CM_M, KC_COMM, KC_DOT, CM_O, KC_QUOT, - KC_LEFT, KC_UP, KC_RGHT, KC_SLSH, SRQ, - KC_DEL, KC_ESC, KC_DOWN, - KC_EQL, LAYER_N, KC_RSPC, - KC_RALT, BK_RCTL -), - -[_COLEMAK] = LAYOUT_62key( - _______, _______, KC_W, KC_F, KC_P, KC_G, - _______, KC_Q, KC_R, KC_S, KC_T, KC_D, - _______, KC_A, KC_X, KC_C, KC_V, KC_B, - _______, KC_Z, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______, - - KC_J, KC_L, KC_U, KC_Y, _______, _______, - KC_H, KC_N, KC_E, KC_I, KC_SCLN, _______, - KC_K, KC_M, _______, _______, KC_O, _______, - _______, _______, _______, _______, _______, - _______, _______, _______, - _______, _______, _______, - _______, _______ -), - -[_NUMERIC] = LAYOUT_62key( - LAYER_C, KC_INS, KC_F2, KC_F3, KC_F4, KC_F5, - KC_F12, KC_F1, KC_2, KC_3, KC_4, KC_5, - _______, KC_1, KC_AT, KC_HASH, KC_DLR, KC_PERC, - KC_GRV, KC_EXLM, KC_BTN1, KC_WH_U, KC_BTN2, - KC_WH_D, RGB_MOD, _______, - _______, _______, EMDASH, - _______, _______, - - KC_F6, KC_F7, KC_F8, KC_F9, RESET, KC_WAKE, // * - KC_6, KC_7, KC_8, KC_9, KC_F10, KC_F11, - KC_CIRC, KC_AMPR, KC_ASTR, KC_APP, KC_0, PASTE, - KC_MS_L, KC_MS_U, KC_MS_R, KC_PSCR, RGB_TOG, - KC_ACL1, KC_ACL2, KC_MS_D, - KC_ACL0, _______, _______, - _______, _______ -) + [_QWERTY] = LAYOUT_62key( + KC_VOLD, KC_VOLU, CM_W, CM_F, CM_P, CM_G, + KC_TAB, CM_Q, CM_R, CM_S, CM_T, CM_D, + KC_BSPC, CM_A, CM_X, CM_C, CM_V, CM_B, + SLQ, CM_Z, KC_HOME, KC_PGUP, KC_END, + KC_PGDN, KC_ENT, KC_SPC, + KC_LSPO, KC_LGUI, KC_MINS, + BK_LCTL, KC_LALT, + + CM_J, CM_L, CM_U, CM_Y, KC_MPLY, KC_MUTE, + CM_H, CM_N, CM_E, CM_I, CM_SCLN, KC_BSLS, + CM_K, CM_M, KC_COMM, KC_DOT, CM_O, KC_QUOT, + KC_LEFT, KC_UP, KC_RGHT, KC_SLSH, SRQ, + KC_DEL, KC_ESC, KC_DOWN, + KC_EQL, LAYER_N, KC_RSPC, + KC_RALT, BK_RCTL + ), + + [_COLEMAK] = LAYOUT_62key( + _______, _______, KC_W, KC_F, KC_P, KC_G, + _______, KC_Q, KC_R, KC_S, KC_T, KC_D, + _______, KC_A, KC_X, KC_C, KC_V, KC_B, + _______, KC_Z, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, + + KC_J, KC_L, KC_U, KC_Y, _______, _______, + KC_H, KC_N, KC_E, KC_I, KC_SCLN, _______, + KC_K, KC_M, _______, _______, KC_O, _______, + _______, _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______ + ), + + [_NUMERIC] = LAYOUT_62key( + LAYER_C, KC_INS, KC_F2, KC_F3, KC_F4, KC_F5, + KC_F12, KC_F1, KC_2, KC_3, KC_4, KC_5, + _______, KC_1, KC_AT, KC_HASH, KC_DLR, KC_PERC, + KC_GRV, KC_EXLM, KC_BTN1, KC_WH_U, KC_BTN2, + KC_WH_D, RGB_MOD, _______, + _______, _______, EMDASH, + _______, _______, + + KC_F6, KC_F7, KC_F8, KC_F9, RESET, KC_WAKE, // * + KC_6, KC_7, KC_8, KC_9, KC_F10, KC_F11, + KC_CIRC, KC_AMPR, KC_ASTR, KC_APP, KC_0, PASTE, + KC_MS_L, KC_MS_U, KC_MS_R, KC_PSCR, RGB_TOG, + KC_ACL1, KC_ACL2, KC_MS_D, + KC_ACL0, _______, _______, + _______, _______ + ) }; + // *KC_WAKE: Used in place of KC_SLEP because X11 with i3 on prerelease // Debian 10 was seeing duplicate keypress and release events for sleep // (regardless of i3 binding), which ruined the function. @@ -111,22 +110,19 @@ void modal_leds(void) { uint16_t hue = 355; // Rough match to printed case. uint8_t saturation = 255; uint8_t value = 0; - if (layer_state_is(_COLEMAK)) { hue -= 50; saturation -= 20; value += 20; }; - if (layer_state_is(_NUMERIC)) { value += 30; }; - if (mods & MOD_MASK_SHIFT) { saturation -= 20; value += 30; }; - if (mods & MOD_MASK_ALT) { hue -= 100; saturation -= 20; value += 30; }; - if (mods & MOD_MASK_CTRL) { hue -= 200; saturation -= 20; value += 30; }; + if (layer_state_is(_COLEMAK)) { hue -= 50; saturation -= 20; value += 20; } + if (layer_state_is(_NUMERIC)) { value += 30; } + if (mods & MOD_MASK_SHIFT) { saturation -= 20; value += 30; } + if (mods & MOD_MASK_ALT) { hue -= 100; saturation -= 20; value += 30; } + if (mods & MOD_MASK_CTRL) { hue -= 200; saturation -= 20; value += 30; } // rgblight_sethsv_eeprom_helper is not a great API function but it does // affect both halves of a split keyboard. rgblight_sethsv_eeprom_helper(hue, saturation, value, false); _leds_dirty = false; } -void matrix_init_user(void) { -} - void matrix_scan_user(void) { - if (_leds_dirty) { modal_leds(); }; + if (_leds_dirty) { modal_leds(); } } bool process_record_user(uint16_t keycode, keyrecord_t *record) { @@ -134,12 +130,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Static lighting is amenable to customization. rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); _initialized = true; - }; + } if (keycode == KC_WAKE) { // Turn the lights off before going to sleep. rgblight_sethsv_eeprom_helper(0, 0, 0, false); } else { _leds_dirty = true; - }; + } return true; } diff --git a/keyboards/handwired/dactyl_manuform/rules.mk b/keyboards/handwired/dactyl_manuform/rules.mk deleted file mode 100644 index 1ba5f5a09343..000000000000 --- a/keyboards/handwired/dactyl_manuform/rules.mk +++ /dev/null @@ -1,34 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = caterina - -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. - -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/dactyl_promicro/dactyl_promicro.c b/keyboards/handwired/dactyl_promicro/dactyl_promicro.c index 5d708cf4805a..23f4b13f441b 100644 --- a/keyboards/handwired/dactyl_promicro/dactyl_promicro.c +++ b/keyboards/handwired/dactyl_promicro/dactyl_promicro.c @@ -1,12 +1 @@ #include "dactyl_promicro.h" - -#ifdef SSD1306OLED -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} -#endif - -void matrix_init_kb(void) { - matrix_init_user(); -}; \ No newline at end of file diff --git a/keyboards/handwired/dactyl_promicro/rules.mk b/keyboards/handwired/dactyl_promicro/rules.mk index 1ba5f5a09343..33b5a0ee823e 100644 --- a/keyboards/handwired/dactyl_promicro/rules.mk +++ b/keyboards/handwired/dactyl_promicro/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/handwired/dactyl_rah/rules.mk b/keyboards/handwired/dactyl_rah/rules.mk index 9a9bf7d69fbb..caba0940caeb 100644 --- a/keyboards/handwired/dactyl_rah/rules.mk +++ b/keyboards/handwired/dactyl_rah/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/daishi/daishi.c b/keyboards/handwired/daishi/daishi.c index dcd2cd0d153b..0442fc0dc578 100644 --- a/keyboards/handwired/daishi/daishi.c +++ b/keyboards/handwired/daishi/daishi.c @@ -1,22 +1 @@ #include "daishi.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} \ No newline at end of file diff --git a/keyboards/handwired/daishi/daishi.h b/keyboards/handwired/daishi/daishi.h index 49e377589728..0d0c57ab202f 100644 --- a/keyboards/handwired/daishi/daishi.h +++ b/keyboards/handwired/daishi/daishi.h @@ -2,8 +2,6 @@ #include "quantum.h" -#define encoder_update(clockwise) encoder_update_user(uint8_t index, clockwise) - // The first section contains all of the arguments // The second converts the arguments into a two-dimensional array #define LAYOUT( \ diff --git a/keyboards/handwired/daishi/keymaps/default/keymap.c b/keyboards/handwired/daishi/keymaps/default/keymap.c index eef82dd9b9f9..a1ef825ff29a 100644 --- a/keyboards/handwired/daishi/keymaps/default/keymap.c +++ b/keyboards/handwired/daishi/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_P7 , KC_P8 , KC_P9 , KC_PPLS, 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_P4 , KC_P5 , KC_P6 , KC_EQL , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1 , KC_P2 , KC_P3 , KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_PDOT + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_PDOT ), /* FN @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | | | | | | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------------------------' */ - + [_FN] = LAYOUT( /* Function */ RESET , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , DM_REC1, DM_REC2, DM_RSTP, _______, _______, _______, MO(_FN), DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; @@ -73,23 +73,24 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch(keycode) { case M_EXAMPLE1: SEND_STRING("This is an example macro!"SS_TAP(X_ENTER)); //prints "This is an example macro!" and hits Enter - return false; + return false; case M_EXAMPLE2: SEND_STRING("This is a another example!"SS_TAP(X_ENTER)); //prints "This is a another example!" and hits Enter - return false; + return false; } } return true; }; -void encoder_update(bool clockwise) { - if (clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } + return true; } - + void matrix_init_user(void) { // Call the keymap level matrix init. @@ -115,4 +116,4 @@ void led_set_kb(uint8_t usb_led) { } else { writePinHigh(C6); } -} \ No newline at end of file +} diff --git a/keyboards/handwired/daishi/rules.mk b/keyboards/handwired/daishi/rules.mk index 5e8cc85e6520..1147dc558085 100644 --- a/keyboards/handwired/daishi/rules.mk +++ b/keyboards/handwired/daishi/rules.mk @@ -2,27 +2,19 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # QMK Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/handwired/datahand/info.json b/keyboards/handwired/datahand/info.json new file mode 100644 index 000000000000..9160be240964 --- /dev/null +++ b/keyboards/handwired/datahand/info.json @@ -0,0 +1,96 @@ +{ + "keyboard_name": "Handwired DataHand", + "url": "", + "maintainer": "qmk", + "width": 23, + "height": 7.75, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"lpn", "x":1, "y":2.75}, + + {"label":"lrn", "x":3.25, "y":1.25}, + + {"label":"lmn", "x":5.75, "y":0}, + + {"label":"lin", "x":9, "y":0.75}, + + {"label":"rin", "x":13, "y":0.75}, + + {"label":"rmn", "x":16.25, "y":0}, + + {"label":"rrn", "x":18.75, "y":1.25}, + + {"label":"rpn", "x":21, "y":2.75}, + + {"label":"lpw", "x":0, "y":3.75}, + {"label":"lpc", "x":1, "y":3.75}, + {"label":"lpe", "x":2, "y":3.75}, + + {"label":"lrw", "x":2.25, "y":2.25}, + {"label":"lrc", "x":3.25, "y":2.25}, + {"label":"lre", "x":4.25, "y":2.25}, + + {"label":"lmw", "x":4.75, "y":1}, + {"label":"lmc", "x":5.75, "y":1}, + {"label":"lme", "x":6.75, "y":1}, + + {"label":"liw", "x":8, "y":1.75}, + {"label":"lic", "x":9, "y":1.75}, + {"label":"lie", "x":10, "y":1.75}, + + {"label":"riw", "x":12, "y":1.75}, + {"label":"ric", "x":13, "y":1.75}, + {"label":"rie", "x":14, "y":1.75}, + + {"label":"rmw", "x":15.25, "y":1}, + {"label":"rmc", "x":16.25, "y":1}, + {"label":"rme", "x":17.25, "y":1}, + + {"label":"rrw", "x":17.75, "y":2.25}, + {"label":"rrc", "x":18.75, "y":2.25}, + {"label":"rre", "x":19.75, "y":2.25}, + + {"label":"rpw", "x":20, "y":3.75}, + {"label":"rpc", "x":21, "y":3.75}, + {"label":"rpe", "x":22, "y":3.75}, + + {"label":"lps", "x":1, "y":4.75}, + + {"label":"lrs", "x":3.25, "y":3.25}, + + {"label":"lms", "x":5.75, "y":2}, + + {"label":"lis", "x":9, "y":2.75}, + + {"label":"ris", "x":13, "y":2.75}, + + {"label":"rms", "x":16.25, "y":2}, + + {"label":"rrs", "x":18.75, "y":3.25}, + + {"label":"rps", "x":21, "y":4.75}, + + {"label":"ltp", "x":8, "y":4.75}, + {"label":"ltn", "x":10, "y":4.75}, + + {"label":"rtn", "x":12, "y":4.75}, + {"label":"rtp", "x":14, "y":4.75}, + + {"label":"ltc", "x":9, "y":5.25}, + + {"label":"rtc", "x":13, "y":5.25}, + + {"label":"ltl", "x":9, "y":6.25}, + + {"label":"rtl", "x":13, "y":6.25}, + + {"label":"ltu", "x":8, "y":6.75}, + {"label":"ltk", "x":10, "y":6.75}, + + {"label":"rtk", "x":12, "y":6.75}, + {"label":"rtu", "x":14, "y":6.75} + ] + } + } +} diff --git a/keyboards/handwired/datahand/keymaps/default/keymap.c b/keyboards/handwired/datahand/keymaps/default/keymap.c index 8f44535594e5..fda9cc50a4aa 100644 --- a/keyboards/handwired/datahand/keymaps/default/keymap.c +++ b/keyboards/handwired/datahand/keymaps/default/keymap.c @@ -302,10 +302,6 @@ void matrix_init_user(void) { #endif } -void matrix_scan_user(void) { - -} - void led_set_user(uint8_t usb_led) { lock_led_set(usb_led & (1<. +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4454 +#define PRODUCT_ID 0x4973 +#define DEVICE_VER 0x0001 +#define MANUFACTURER DTIsaac +#define PRODUCT dtisaac01 + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 9 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, B4, D2, B2, B1, B3, D4, D6 } +#define MATRIX_COL_PINS { C7, C6, D0, B5, F0, D7, B0, B7, D1 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +#define LED_CAPS_LOCK_PIN D3 +#define LED_SCROLL_LOCK_PIN D5 +#define LED_PIN_ON_STATE 0 + + +#define BACKLIGHT_PIN B6 +#define BACKLIGHT_LEVELS 3 +#define BACKLIGHT_BREATHING + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable these deprecated features by default */ +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/dtisaac01/dtisaac01.c b/keyboards/handwired/dtisaac01/dtisaac01.c new file mode 100644 index 000000000000..b11920280f94 --- /dev/null +++ b/keyboards/handwired/dtisaac01/dtisaac01.c @@ -0,0 +1,17 @@ +/* Copyright 2021 DTIsaac + * + * 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 "dtisaac01.h" diff --git a/keyboards/handwired/dtisaac01/dtisaac01.h b/keyboards/handwired/dtisaac01/dtisaac01.h new file mode 100644 index 000000000000..e017c6570055 --- /dev/null +++ b/keyboards/handwired/dtisaac01/dtisaac01.h @@ -0,0 +1,49 @@ +/* Copyright 2021 DTIsaac + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K058, K061, K062, K063, K064, K065, K066, \ + K010, K011, K012, K013, K014, K015, K016, K017, K018, K068, K060, K071, K072, K073, K074, K075, K076, \ + K020, K021, K022, K023, K024, K025, K026, K027, K028, K078, K070, K081, K082, K083, K084, K085, K086, \ + K030, K031, K032, K033, K034, K035, K036, K037, K038, K088, K080, K091, K093, \ + K040, K042, K043, K044, K045, K046, K047, K048, K098, K090, K101, K103, K105, \ + K050, K051, K052, K056, K100, K111, K112, K113, K114, K115, K116 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \ + { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \ + { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \ + { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \ + { K040, KC_NO, K042, K043, K044, K045, K046, K047, K048 }, \ + { K050, K051, K052, KC_NO, KC_NO, KC_NO, K056, KC_NO, K058 }, \ + { K060, K061, K062, K063, K064, K065, K066, KC_NO, K068 }, \ + { K070, K071, K072, K073, K074, K075, K076, KC_NO, K078 }, \ + { K080, K081, K082, K083, K084, K085, K086, KC_NO, K088 }, \ + { K090, K091, KC_NO, K093, KC_NO, KC_NO, KC_NO, KC_NO, K098 }, \ + { K100, K101, KC_NO, K103, KC_NO, K105, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, K111, K112, K113, K114, K115, K116, KC_NO, KC_NO } \ +} diff --git a/keyboards/handwired/dtisaac01/info.json b/keyboards/handwired/dtisaac01/info.json new file mode 100644 index 000000000000..76681389afed --- /dev/null +++ b/keyboards/handwired/dtisaac01/info.json @@ -0,0 +1,100 @@ +{ + "keyboard_name": "dtisaac01", + "url": "", + "maintainer": "DTIsaac", + "width": 18.25, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K000", "x":0, "y":0}, + {"label":"K001", "x":2, "y":0}, + {"label":"K002", "x":3, "y":0}, + {"label":"K003", "x":4, "y":0}, + {"label":"K004", "x":5, "y":0}, + {"label":"K005", "x":6.5, "y":0}, + {"label":"K006", "x":7.5, "y":0}, + {"label":"K007", "x":8.5, "y":0}, + {"label":"K008", "x":9.5, "y":0}, + {"label":"K058", "x":11, "y":0}, + {"label":"K061", "x":12, "y":0}, + {"label":"K062", "x":13, "y":0}, + {"label":"K063", "x":14, "y":0}, + {"label":"K064", "x":15.25, "y":0}, + {"label":"K065", "x":16.25, "y":0}, + {"label":"K066", "x":17.25, "y":0}, + {"label":"K010", "x":0, "y":1.5}, + {"label":"K011", "x":1, "y":1.5}, + {"label":"K012", "x":2, "y":1.5}, + {"label":"K013", "x":3, "y":1.5}, + {"label":"K014", "x":4, "y":1.5}, + {"label":"K015", "x":5, "y":1.5}, + {"label":"K016", "x":6, "y":1.5}, + {"label":"K017", "x":7, "y":1.5}, + {"label":"K018", "x":8, "y":1.5}, + {"label":"K068", "x":9, "y":1.5}, + {"label":"K060", "x":10, "y":1.5}, + {"label":"K071", "x":11, "y":1.5}, + {"label":"K072", "x":12, "y":1.5}, + {"label":"K073", "x":13, "y":1.5, "w":2}, + {"label":"K074", "x":15.25, "y":1.5}, + {"label":"K075", "x":16.25, "y":1.5}, + {"label":"K076", "x":17.25, "y":1.5}, + {"label":"K020", "x":0, "y":2.5, "w":1.5}, + {"label":"K021", "x":1.5, "y":2.5}, + {"label":"K022", "x":2.5, "y":2.5}, + {"label":"K023", "x":3.5, "y":2.5}, + {"label":"K024", "x":4.5, "y":2.5}, + {"label":"K025", "x":5.5, "y":2.5}, + {"label":"K026", "x":6.5, "y":2.5}, + {"label":"K027", "x":7.5, "y":2.5}, + {"label":"K028", "x":8.5, "y":2.5}, + {"label":"K078", "x":9.5, "y":2.5}, + {"label":"K070", "x":10.5, "y":2.5}, + {"label":"K081", "x":11.5, "y":2.5}, + {"label":"K082", "x":12.5, "y":2.5}, + {"label":"K083", "x":13.5, "y":2.5, "w":1.5}, + {"label":"K084", "x":15.25, "y":2.5}, + {"label":"K085", "x":16.25, "y":2.5}, + {"label":"K086", "x":17.25, "y":2.5}, + {"label":"K030", "x":0, "y":3.5, "w":1.75}, + {"label":"K031", "x":1.75, "y":3.5}, + {"label":"K032", "x":2.75, "y":3.5}, + {"label":"K033", "x":3.75, "y":3.5}, + {"label":"K034", "x":4.75, "y":3.5}, + {"label":"K035", "x":5.75, "y":3.5}, + {"label":"K036", "x":6.75, "y":3.5}, + {"label":"K037", "x":7.75, "y":3.5}, + {"label":"K038", "x":8.75, "y":3.5}, + {"label":"K088", "x":9.75, "y":3.5}, + {"label":"K080", "x":10.75, "y":3.5}, + {"label":"K091", "x":11.75, "y":3.5}, + {"label":"K093", "x":12.75, "y":3.5, "w":2.25}, + {"label":"K040", "x":0, "y":4.5, "w":2.25}, + {"label":"K042", "x":2.25, "y":4.5}, + {"label":"K043", "x":3.25, "y":4.5}, + {"label":"K044", "x":4.25, "y":4.5}, + {"label":"K045", "x":5.25, "y":4.5}, + {"label":"K046", "x":6.25, "y":4.5}, + {"label":"K047", "x":7.25, "y":4.5}, + {"label":"K048", "x":8.25, "y":4.5}, + {"label":"K098", "x":9.25, "y":4.5}, + {"label":"K090", "x":10.25, "y":4.5}, + {"label":"K101", "x":11.25, "y":4.5}, + {"label":"K103", "x":12.25, "y":4.5, "w":2.75}, + {"label":"K105", "x":16.25, "y":4.5}, + {"label":"K050", "x":0, "y":5.5, "w":1.25}, + {"label":"K051", "x":1.25, "y":5.5, "w":1.25}, + {"label":"K052", "x":2.5, "y":5.5, "w":1.25}, + {"label":"K056", "x":3.75, "y":5.5, "w":6.25}, + {"label":"K100", "x":10, "y":5.5, "w":1.25}, + {"label":"K111", "x":11.25, "y":5.5, "w":1.25}, + {"label":"K112", "x":12.5, "y":5.5, "w":1.25}, + {"label":"K113", "x":13.75, "y":5.5, "w":1.25} + {"label":"K114", "x":15.25, "y":5.5}, + {"label":"K115", "x":16.25, "y":5.5}, + {"label":"K116", "x":17.25, "y":5.5}, + ] + } + } +} diff --git a/keyboards/handwired/dtisaac01/keymaps/default/keymap.c b/keyboards/handwired/dtisaac01/keymaps/default/keymap.c new file mode 100644 index 000000000000..15d0f2374a26 --- /dev/null +++ b/keyboards/handwired/dtisaac01/keymaps/default/keymap.c @@ -0,0 +1,47 @@ +/* Copyright 2021 DTIsaac + * + * 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 { + _BASE, + _FN +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + 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_SLCK, 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_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_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, LT(1, KC_NO), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN] = LAYOUT( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, 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/handwired/dtisaac01/keymaps/default/readme.md b/keyboards/handwired/dtisaac01/keymaps/default/readme.md new file mode 100644 index 000000000000..0407ae2339fe --- /dev/null +++ b/keyboards/handwired/dtisaac01/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for dtisaac01 diff --git a/keyboards/handwired/dtisaac01/readme.md b/keyboards/handwired/dtisaac01/readme.md new file mode 100644 index 000000000000..bf37c4dd2e5f --- /dev/null +++ b/keyboards/handwired/dtisaac01/readme.md @@ -0,0 +1,19 @@ +# dtisaac01 + +![dtisaac01](https://i.imgur.com/BoKW4uEh.jpg) + +A 87 percent keyboard DTIsaac01 version + +* Keyboard Maintainer: [DTIsaac](https://github.com/daotakisaac) +* Hardware Supported: dtisaac01-atmega32U4 +* Hardware Availability: dtisaac01-atmega32U4 + +Make example for this keyboard (after setting up your build environment): + + make dtisaac01:default + +Flashing example for this keyboard: + + make dtisaac01: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). diff --git a/keyboards/handwired/dtisaac01/rules.mk b/keyboards/handwired/dtisaac01/rules.mk new file mode 100644 index 000000000000..41fd30dec69d --- /dev/null +++ b/keyboards/handwired/dtisaac01/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/eagleii/rules.mk b/keyboards/handwired/eagleii/rules.mk index e45af67e51bf..4b542ab88bc6 100644 --- a/keyboards/handwired/eagleii/rules.mk +++ b/keyboards/handwired/eagleii/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no diff --git a/keyboards/handwired/elrgo_s/config.h b/keyboards/handwired/elrgo_s/config.h new file mode 100644 index 000000000000..b2ef4681e546 --- /dev/null +++ b/keyboards/handwired/elrgo_s/config.h @@ -0,0 +1,58 @@ +/* +Copyright 2021 Yaroslav Smirnov + * + * 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 "config_common.h" + +// Rows are doubled-up for splits +#define MATRIX_ROWS 8 +#define MATRIX_COLS 6 + +// Wiring of each half +#define MATRIX_ROW_PINS { B1, B3, B2, B6 } +#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 } +// Reversed sort + +#define DIODE_DIRECTION COL2ROW + +/* USB Device descriptor parameter */ +#define PRODUCT Elrgo S +#define MANUFACTURER Eloren +#define VENDOR_ID 0x454C +#define PRODUCT_ID 0x3436 +#define DEVICE_VER 0x0001 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* serial.c configuration for split keyboard */ +#define SOFT_SERIAL_PIN D0 + + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/elrgo_s/elrgo_s.c b/keyboards/handwired/elrgo_s/elrgo_s.c new file mode 100644 index 000000000000..32640da061b4 --- /dev/null +++ b/keyboards/handwired/elrgo_s/elrgo_s.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Yaroslav Smirnov + * + * 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 "elrgo_s.h" diff --git a/keyboards/handwired/elrgo_s/elrgo_s.h b/keyboards/handwired/elrgo_s/elrgo_s.h new file mode 100644 index 000000000000..0fb2b58e5187 --- /dev/null +++ b/keyboards/handwired/elrgo_s/elrgo_s.h @@ -0,0 +1,38 @@ +/* Copyright 2021 Yaroslav Smirnov + * + * 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 "quantum.h" + + +#define LAYOUT_split_3x6_5(\ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L31, L32, L33, L34, L35, R30, R31, R32, R33, R34 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + {KC_NO, L31, L32, L33, L34, L35}, \ + \ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, KC_NO} \ +} diff --git a/keyboards/handwired/elrgo_s/info.json b/keyboards/handwired/elrgo_s/info.json new file mode 100644 index 000000000000..0b561049e14a --- /dev/null +++ b/keyboards/handwired/elrgo_s/info.json @@ -0,0 +1,59 @@ +{ + "keyboard_name": "Elrgo S", + "url": "", + "maintainer": "qmk", + "width": 17, + "height": 4, + "layouts": { + "LAYOUT_split_3x6_5": { + "layout": [ + {"label":"L00", "x":0, "y":0}, + {"label":"L01", "x":1, "y":0}, + {"label":"L02", "x":2, "y":0}, + {"label":"L03", "x":3, "y":0}, + {"label":"L04", "x":4, "y":0}, + {"label":"L05", "x":5, "y":0}, + {"label":"R00", "x":9, "y":0}, + {"label":"R01", "x":10, "y":0}, + {"label":"R02", "x":11, "y":0}, + {"label":"R03", "x":12, "y":0}, + {"label":"R04", "x":13, "y":0}, + {"label":"R05", "x":14, "y":0}, + {"label":"L10", "x":0, "y":1}, + {"label":"L11", "x":1, "y":1}, + {"label":"L12", "x":2, "y":1}, + {"label":"L13", "x":3, "y":1}, + {"label":"L14", "x":4, "y":1}, + {"label":"L15", "x":5, "y":1}, + {"label":"R10", "x":9, "y":1}, + {"label":"R11", "x":10, "y":1}, + {"label":"R12", "x":11, "y":1}, + {"label":"R13", "x":12, "y":1}, + {"label":"R14", "x":13, "y":1}, + {"label":"R15", "x":14, "y":1}, + {"label":"L20", "x":0, "y":2}, + {"label":"L21", "x":1, "y":2}, + {"label":"L22", "x":2, "y":2}, + {"label":"L23", "x":3, "y":2}, + {"label":"L24", "x":4, "y":2}, + {"label":"L25", "x":5, "y":2}, + {"label":"R20", "x":9, "y":2}, + {"label":"R21", "x":10, "y":2}, + {"label":"R22", "x":11, "y":2}, + {"label":"R23", "x":12, "y":2}, + {"label":"R24", "x":13, "y":2}, + {"label":"R25", "x":14, "y":2}, + {"label":"L31", "x":3, "y":3}, + {"label":"L32", "x":4, "y":3}, + {"label":"L33", "x":5, "y":3}, + {"label":"L34", "x":6, "y":3}, + {"label":"L35", "x":6, "y":2}, + {"label":"R30", "x":8, "y":2}, + {"label":"R31", "x":8, "y":3}, + {"label":"R32", "x":9, "y":3}, + {"label":"R33", "x":10, "y":3}, + {"label":"R34", "x":11, "y":3} + ] + } + } +} diff --git a/keyboards/handwired/elrgo_s/keymaps/default/config.h b/keyboards/handwired/elrgo_s/keymaps/default/config.h new file mode 100644 index 000000000000..f3ef42b9b423 --- /dev/null +++ b/keyboards/handwired/elrgo_s/keymaps/default/config.h @@ -0,0 +1,22 @@ +/* Copyright 2021 Yaroslav Smirnov + * + * 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 USE_SERIAL + +#define MASTER_LEFT +// #define MASTER_RIGHT diff --git a/keyboards/handwired/elrgo_s/keymaps/default/keymap.c b/keyboards/handwired/elrgo_s/keymaps/default/keymap.c new file mode 100644 index 000000000000..572edbf0b859 --- /dev/null +++ b/keyboards/handwired/elrgo_s/keymaps/default/keymap.c @@ -0,0 +1,58 @@ +/* Copyright 2021 Yaroslav Smirnov + * + * 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 layers { _QWERTY, _LOWER, _RAISE, _ADJUST }; + +#define LOWER TT(_LOWER) +#define RAISE MO(_RAISE) + +#define M_SHLL LCTL(KC_LSFT) +#define M_SHLA LCTL(KC_LALT) +#define M_BBSLS LSFT(KC_BSLS) +#define M_FLEFT LCTL(KC_LEFT) +#define M_FRIGHT LCTL(KC_RIGHT) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_split_3x6_5( + KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC , + KC_LBRC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT , + KC_RBRC , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_GRAVE, + KC_LGUI , KC_LCTL , KC_LSFT , LOWER , M_SHLL , M_SHLA , RAISE , KC_SPC , KC_LALT , KC_ENT + ), + + [_LOWER] = LAYOUT_split_3x6_5( + KC_ESC , KC_PDOT , KC_PMNS , KC_PPLS , KC_MINS , KC_EQL , KC_MUTE , KC_MSTP , KC_MPLY , KC_MPRV , KC_MNXT , KC_BSPC , + KC_PAST , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , + KC_PSLS , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , + KC_LGUI , KC_LCTL , KC_LSFT , KC_TRNS , M_SHLL , M_SHLA , KC_TRNS , KC_SPC , KC_LALT , KC_ENT + ), + + [_RAISE] = LAYOUT_split_3x6_5( + KC_ESC , KC_PDOT , M_BBSLS , KC_BSLS , LSFT(KC_MINS), LSFT(KC_EQL), KC_HOME , KC_WH_L , KC_UP , KC_WH_R , KC_PGUP , KC_BSPC , + KC_TAB , LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4) , LSFT(KC_5) , M_FLEFT , KC_LEFT , KC_DOWN , KC_RIGHT, M_FRIGHT, KC_DEL , + LSFT(KC_TAB), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9) , LSFT(KC_0) , KC_END , KC_F22 , KC_F23 , KC_CAPS , KC_PGDN , MO(_ADJUST), + KC_LGUI , KC_LCTL , KC_LSFT , KC_LALT , M_SHLL , M_SHLA , KC_TRNS , KC_SPC , KC_RALT , KC_ENT + ), + + [_ADJUST] = LAYOUT_split_3x6_5( + KC_NO , KC_SLEP , KC_VOLU , KC_BRIU , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NLCK , + KC_NO , KC_WAKE , KC_VOLD , KC_BRID , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , KC_NO , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_NO , KC_NO , MO(_ADJUST), + RESET , KC_NO , KC_NO , KC_TRNS , KC_NO , KC_NO , KC_TRNS , KC_TRNS , KC_NO , KC_NO + ) +}; diff --git a/keyboards/handwired/elrgo_s/readme.md b/keyboards/handwired/elrgo_s/readme.md new file mode 100644 index 000000000000..5fb5ab6acb0f --- /dev/null +++ b/keyboards/handwired/elrgo_s/readme.md @@ -0,0 +1,28 @@ +# Elrgo S Split Keyboard + +This is a fork of the VOID Ergo S with QMK Configurator support. + +Elrgo S uses 2x Arduino Pro Micro (ATmega32U4) with 3D printed case. + +[Building guide, models for 3D printing](https://github.com/Eloren1/Elrgo_S) + +* Keyboard Maintainer: [Eloren](https://github.com/Eloren1) +* Hardware Supported: Arduino Pro Micro +* Hardware Availability: [Open Source](https://github.com/Eloren1/Elrgo_S) + +Make example for this keyboard (after setting up your build environment): + + make handwired/elrgo_s:default + +Flashing example for this keyboard: + + make handwired/elrgo_s: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**: Briefly press the button through the hole on the left side of the case. +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/handwired/elrgo_s/rules.mk b/keyboards/handwired/elrgo_s/rules.mk new file mode 100644 index 000000000000..ed3ed34a499f --- /dev/null +++ b/keyboards/handwired/elrgo_s/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/ergocheap/chconf.h b/keyboards/handwired/ergocheap/chconf.h new file mode 100644 index 000000000000..feaf02b017ab --- /dev/null +++ b/keyboards/handwired/ergocheap/chconf.h @@ -0,0 +1,57 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confupdate -i keyboards/handwired/ergocheap/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_TIMEDELTA 0 + +#define CH_CFG_USE_TM FALSE + +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE + +#define CH_CFG_USE_MESSAGES_PRIORITY FALSE + +#define CH_CFG_USE_MEMPOOLS FALSE + +#define CH_CFG_USE_OBJ_FIFOS FALSE + +#define CH_CFG_USE_PIPES FALSE + +#define CH_CFG_USE_DYNAMIC FALSE + +#define CH_CFG_USE_FACTORY FALSE + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY FALSE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS FALSE + +#define CH_CFG_FACTORY_SEMAPHORES FALSE + +#define CH_CFG_FACTORY_MAILBOXES FALSE + +#define CH_CFG_FACTORY_OBJ_FIFOS FALSE + +#define CH_CFG_FACTORY_PIPES FALSE + +#define CH_DBG_ENABLE_STACK_CHECK FALSE + +#include_next + diff --git a/keyboards/handwired/ergocheap/config.h b/keyboards/handwired/ergocheap/config.h new file mode 100644 index 000000000000..f563036642e5 --- /dev/null +++ b/keyboards/handwired/ergocheap/config.h @@ -0,0 +1,67 @@ +/* +Copyright 2021 xSteins + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEDE //0xFEED +#define PRODUCT_ID 0x6942 //0x6465 +#define DEVICE_VER 0x0001 +#define MANUFACTURER xSteins +#define PRODUCT ERGOCHEAP + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +#define MATRIX_COL_PINS { A8, A9, B14, B12, B13, B15, B3, B11, A4, A5, A6, A7, B0, B1, B10 } +#define MATRIX_ROW_PINS { B5, B6, B7, B9, B8 } + +#define DIODE_DIRECTION COL2ROW + +/* key led setting */ +//#define BACKLIGHT_PIN A8 +//#define BACKLIGHT_PWM_DRIVER PWMD1 +//#define BACKLIGHT_PWM_CHANNEL 1 +//#define BACKLIGHT_LEVELS 6 +//#define BACKLIGHT_BREATHING +//#define BREATHING_PERIOD 6 + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 +#define TAPPING_TERM 500 + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/ergocheap/ergocheap.c b/keyboards/handwired/ergocheap/ergocheap.c new file mode 100644 index 000000000000..ab5cf8a0a7eb --- /dev/null +++ b/keyboards/handwired/ergocheap/ergocheap.c @@ -0,0 +1,16 @@ + /* Copyright 2021 xSteins + * + * 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 "ergocheap.h" \ No newline at end of file diff --git a/keyboards/handwired/ergocheap/ergocheap.h b/keyboards/handwired/ergocheap/ergocheap.h new file mode 100644 index 000000000000..106fa45328ef --- /dev/null +++ b/keyboards/handwired/ergocheap/ergocheap.h @@ -0,0 +1,41 @@ +/* +Copyright 2021 xSteins + +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 "quantum.h" + +/* + * The first section contains all of the arguments representing the physical + * layout of the board and position of the Keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. +*/ + + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0D, K0E, K0F, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2B, K2D, K2E, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3B, K3D, K3E, K3F, \ + K40, K42, K44, K45, K46, K47, K48, K4B, K4D, K4E, K4F \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0D, K0E, K0F }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, KC_NO, K2B, K2D, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, KC_NO, K3B, K3D, K3E, K3F }, \ + { K40, KC_NO, K42, KC_NO, K44, K45, K46, K47, K48, KC_NO, KC_NO, K4B, K4D, K4E, K4F } \ +} diff --git a/keyboards/handwired/ergocheap/halconf.h b/keyboards/handwired/ergocheap/halconf.h new file mode 100644 index 000000000000..930fa15a274b --- /dev/null +++ b/keyboards/handwired/ergocheap/halconf.h @@ -0,0 +1,37 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confupdate -i keyboards/handwired/ergocheap/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_DAC FALSE + +#define HAL_USE_GPT FALSE + +#define HAL_USE_I2C FALSE + +#define HAL_USE_SERIAL_USB FALSE + +#define PAL_USE_CALLBACKS FALSE + +#define PAL_USE_WAIT FALSE + +#include_next + diff --git a/keyboards/handwired/ergocheap/info.json b/keyboards/handwired/ergocheap/info.json new file mode 100644 index 000000000000..12223fa02341 --- /dev/null +++ b/keyboards/handwired/ergocheap/info.json @@ -0,0 +1,82 @@ +{ + "keyboard_name": "Ergocheap", + "url": "", + "maintainer": "xSteins", + "width": 20.75, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"ESC", "x":0.75, "y":0}, + {"label":"1", "x":1.75, "y":0}, + {"label":"2", "x":2.75, "y":0}, + {"label":"3", "x":4.25, "y":0}, + {"label":"4", "x":5.25, "y":0}, + {"label":"5", "x":6.25, "y":0}, + {"label":"6", "x":7.25, "y":0}, + {"label":"7", "x":10.5, "y":0}, + {"label":"8", "x":11.5, "y":0}, + {"label":"9", "x":12.5, "y":0}, + {"label":"0", "x":13.5, "y":0}, + {"label":"MINS", "x":14.5, "y":0}, + {"label":"EQL", "x":16, "y":0}, + {"label":"BSPC", "x":17, "y":0, "w":2}, + {"label":"GRV", "x":19, "y":0}, + {"label":"TAB", "x":0.5, "y":1, "w":1.5}, + {"label":"Q", "x":2, "y":1}, + {"label":"W", "x":3.75, "y":1}, + {"label":"E", "x":4.75, "y":1}, + {"label":"R", "x":5.75, "y":1}, + {"label":"T", "x":6.75, "y":1}, + {"label":"Y", "x":10, "y":1}, + {"label":"U", "x":11, "y":1}, + {"label":"I", "x":12, "y":1}, + {"label":"O", "x":13, "y":1}, + {"label":"P", "x":14, "y":1}, + {"label":"LBRC", "x":16, "y":1}, + {"label":"RBRC", "x":17, "y":1}, + {"label":"BSLS", "x":18, "y":1, "w":1.5}, + {"label":"DEL", "x":19.5, "y":1}, + {"label":"CAPS", "x":0.25, "y":2, "w":1.75}, + {"label":"A", "x":2, "y":2}, + {"label":"S", "x":4, "y":2}, + {"label":"D", "x":5, "y":2}, + {"label":"F", "x":6, "y":2}, + {"label":"G", "x":7, "y":2}, + {"label":"H", "x":10.25, "y":2}, + {"label":"J", "x":11.25, "y":2}, + {"label":"K", "x":12.25, "y":2}, + {"label":"L", "x":13.25, "y":2}, + {"label":"SCLN", "x":15.5, "y":2}, + {"label":"QUOT", "x":16.5, "y":2}, + {"label":"ENT", "x":17.5, "y":2, "w":2.25}, + {"label":"HOME", "x":19.75, "y":2}, + {"label":"LSFT", "x":0, "y":3, "w":2.25}, + {"label":"Z", "x":2.25, "y":3}, + {"label":"X", "x":4.5, "y":3}, + {"label":"C", "x":5.5, "y":3}, + {"label":"V", "x":6.5, "y":3}, + {"label":"B", "x":7.5, "y":3}, + {"label":"N", "x":10.5, "y":3}, + {"label":"M", "x":11.5, "y":3}, + {"label":"COMM", "x":12.5, "y":3}, + {"label":"DOT", "x":13.5, "y":3}, + {"label":"SLSH", "x":15.75, "y":3}, + {"label":"TO(_FN1)", "x":16.75, "y":3, "w":1.25}, + {"label":"UP", "x":18, "y":3}, + {"label":"END", "x":19.5, "y":3}, + {"label":"LCTL", "x":0, "y":4, "w":1.25}, + {"label":"LALT", "x":4.5, "y":4, "w":1.25}, + {"label":"SPC", "x":5.75, "y":4, "w":2}, + {"label":"MO(_FN1)", "x":7.75, "y":4, "w":1.25}, + {"label":"SPC", "x":10, "y":4, "w":1.75}, + {"label":"SPC", "x":11.75, "y":4}, + {"label":"MO(_FN1)", "x":12.75, "y":4, "w":1.25}, + {"label":"LGUI", "x":15.5, "y":4, "w":1.25}, + {"label":"LEFT", "x":17, "y":4}, + {"label":"DOWN", "x":18, "y":4}, + {"label":"RGHT", "x":19, "y":4} + ] + } + } +} diff --git a/keyboards/handwired/ergocheap/keymaps/default/keymap.c b/keyboards/handwired/ergocheap/keymaps/default/keymap.c new file mode 100644 index 000000000000..15753dabd7d1 --- /dev/null +++ b/keyboards/handwired/ergocheap/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +/* Copyright 2021 xSteins + * + * 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 { + _BASE, + _FN1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + 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_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_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TO(_FN1), KC_UP, KC_END, + KC_LCTL, KC_LALT, KC_SPC, MO(_FN1), KC_SPC, KC_SPC, MO(_FN1), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN1] = LAYOUT( + 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_MPRV, KC_MPLY, KC_MNXT, _______, KC_UP, _______, _______, _______, + KC_LCTL, _______, KC_S, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_LEFT, KC_RGHT, _______, _______, + KC_LSFT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_DOWN, TO(_BASE), KC_WH_U, _______, + _______, KC_LGUI, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R + ) +}; diff --git a/keyboards/handwired/ergocheap/keymaps/via/keymap.c b/keyboards/handwired/ergocheap/keymaps/via/keymap.c new file mode 100644 index 000000000000..35d5826a1490 --- /dev/null +++ b/keyboards/handwired/ergocheap/keymaps/via/keymap.c @@ -0,0 +1,56 @@ +/* Copyright 2021 xSteins + * + * 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 { + _BASE, + _FN1, + _FN2, + _FN3, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + 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_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_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TO(_FN1), KC_UP, KC_END, + KC_LCTL, KC_LALT, KC_SPC, MO(_FN1), KC_SPC, KC_SPC, MO(_FN1), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_FN1] = LAYOUT( + 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_MPRV, KC_MPLY, KC_MNXT, _______, KC_UP, _______, _______, _______, + KC_LCTL, _______, KC_S, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_LEFT, KC_RGHT, _______, _______, + KC_LSFT, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_DOWN, TO(_BASE), KC_WH_U, _______, + _______, KC_LGUI, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R + ), + [_FN2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [_FN3] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/handwired/ergocheap/keymaps/via/rules.mk b/keyboards/handwired/ergocheap/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/ergocheap/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/ergocheap/mcuconf.h b/keyboards/handwired/ergocheap/mcuconf.h new file mode 100644 index 000000000000..fb353433efa2 --- /dev/null +++ b/keyboards/handwired/ergocheap/mcuconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confupdate -i keyboards/handwired/ergocheap/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE + diff --git a/keyboards/handwired/ergocheap/readme.md b/keyboards/handwired/ergocheap/readme.md new file mode 100644 index 000000000000..ca30d4f50a39 --- /dev/null +++ b/keyboards/handwired/ergocheap/readme.md @@ -0,0 +1,15 @@ +# Ergocheap handwired keyboard + +Ergocheap is an ergonomic keyboard with layout forked from adelheid with some minor adjustment in 13-15th row and standard keycaps size + +![Ergocheap](https://i.imgur.com/II3aBYgl.jpg) + +* Keyboard Maintainer: [xSteins](https://github.com/xSteins) +* Hardware Supported: bluepill +* Hardware Availability: [case files](https://github.com/xSteins/Mechanical-Keyboard/tree/master/ErgoCheap/CASE) + +Make example for this keyboard (after setting up your build environment): + + make handwired/ergocheap: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). diff --git a/keyboards/handwired/ergocheap/rules.mk b/keyboards/handwired/ergocheap/rules.mk new file mode 100644 index 000000000000..fc66e5ff7708 --- /dev/null +++ b/keyboards/handwired/ergocheap/rules.mk @@ -0,0 +1,25 @@ +# MCU name +MCU = STM32F103 + +# Bootloader selection +BOOTLOADER = stm32duino + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/evk/v1_3/info.json b/keyboards/handwired/evk/v1_3/info.json index 65000a97b2e5..745a72ed3c3a 100644 --- a/keyboards/handwired/evk/v1_3/info.json +++ b/keyboards/handwired/evk/v1_3/info.json @@ -2,101 +2,106 @@ "keyboard_name": "Ergonomic Vertical Keyboard (EVK) version 1.3 with Teensy 2.0", "url": "https://github.com/YangPiCui/ErgonomicVerticalKeyboard", "maintainer": "YangPiCui", - "width": 22.75, - "height": 8, + "width": 18.2, + "height": 6.4, "layouts": { "LAYOUT": { "layout": [ - {"label":"k0A", "x":0, "y":0.5, "w":1.25, "h":1.25}, - {"label":"k0B", "x":1.25, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0C", "x":2.5, "y":0, "w":1.25, "h":1.25}, - {"label":"k0D", "x":3.75, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0E", "x":5, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0F", "x":6.25, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0G", "x":8.75, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0H", "x":10, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0I", "x":11.25, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0J", "x":12.5, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0K", "x":15.25, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0L", "x":16.5, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0M", "x":17.75, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0N", "x":19, "y":0, "w":1.25, "h":1.25}, - {"label":"k0O", "x":20.25, "y":0.25, "w":1.25, "h":1.25}, - {"label":"k0P", "x":21.5, "y":0.5, "w":1.25, "h":1.25}, - {"label":"k1A", "x":0, "y":1.75, "w":1.25, "h":1.25}, - {"label":"k1B", "x":1.25, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1C", "x":2.5, "y":1.25, "w":1.25, "h":1.25}, - {"label":"k1D", "x":3.75, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1E", "x":5, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1F", "x":6.25, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1G", "x":8.75, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1H", "x":10, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1I", "x":11.25, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1J", "x":12.5, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1K", "x":15.25, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1L", "x":16.5, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1M", "x":17.75, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1N", "x":19, "y":1.25, "w":1.25, "h":1.25}, - {"label":"k1O", "x":20.25, "y":1.5, "w":1.25, "h":1.25}, - {"label":"k1P", "x":21.5, "y":1.75, "w":1.25, "h":1.25}, - {"label":"k2A", "x":0, "y":3, "w":1.25, "h":1.25}, - {"label":"k2B", "x":1.25, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2C", "x":2.5, "y":2.5, "w":1.25, "h":1.25}, - {"label":"k2D", "x":3.75, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2E", "x":5, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2F", "x":6.25, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2G", "x":8.75, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2H", "x":10, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2I", "x":11.25, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2J", "x":12.5, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2K", "x":15.25, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2L", "x":16.5, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2M", "x":17.75, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2N", "x":19, "y":2.5, "w":1.25, "h":1.25}, - {"label":"k2O", "x":20.25, "y":2.75, "w":1.25, "h":1.25}, - {"label":"k2P", "x":21.5, "y":3, "w":1.25, "h":1.25}, - {"label":"k3A", "x":0, "y":4.25, "w":1.25, "h":1.25}, - {"label":"k3B", "x":1.25, "y":4, "w":1.25, "h":1.25}, - {"label":"k3C", "x":2.5, "y":3.75, "w":1.25, "h":1.25}, - {"label":"k3D", "x":3.75, "y":4, "w":1.25, "h":1.25}, - {"label":"k3E", "x":5, "y":4, "w":1.25, "h":1.25}, - {"label":"k3G", "x":8.75, "y":4, "w":1.25, "h":1.25}, - {"label":"k3H", "x":10, "y":4, "w":1.25, "h":1.25}, - {"label":"k3I", "x":11.25, "y":4, "w":1.25, "h":1.25}, - {"label":"k3J", "x":12.5, "y":4, "w":1.25, "h":1.25}, - {"label":"k3L", "x":16.5, "y":4, "w":1.25, "h":1.25}, - {"label":"k3M", "x":17.75, "y":4, "w":1.25, "h":1.25}, - {"label":"k3N", "x":19, "y":3.75, "w":1.25, "h":1.25}, - {"label":"k3O", "x":20.25, "y":4, "w":1.25, "h":1.25}, - {"label":"k3P", "x":21.5, "y":4.25, "w":1.25, "h":1.25}, - {"label":"k4A", "x":0, "y":5.5, "w":1.25, "h":1.25}, - {"label":"k4B", "x":1.25, "y":5.25, "w":1.25, "h":1.25}, - {"label":"k4C", "x":2.5, "y":5, "w":1.25, "h":1.25}, - {"label":"k4D", "x":3.75, "y":5.25, "w":1.25, "h":1.25}, - {"label":"k4E", "x":5, "y":5.25, "w":1.25, "h":1.25}, - {"label":"k4F", "x":6.5, "y":5.5, "w":1.25, "h":1.25}, - {"label":"k4G", "x":8.75, "y":5.25, "w":1.25, "h":1.25}, - {"label":"k4H", "x":10, "y":5.25, "w":1.25, "h":1.25}, - {"label":"k4I", "x":11.25, "y":5.25, "w":1.25, "h":1.25}, - {"label":"k4J", "x":12.5, "y":5.25, "w":1.25, "h":1.25}, - {"label":"k4K", "x":15, "y":5.5, "w":1.25, "h":1.25}, - {"label":"k4L", "x":16.5, "y":5.25, "w":1.25, "h":1.25}, - {"label":"k4M", "x":17.75, "y":5.25, "w":1.25, "h":1.25}, - {"label":"k4N", "x":19, "y":5, "w":1.25, "h":1.25}, - {"label":"k4O", "x":20.25, "y":5.25, "w":1.25, "h":1.25}, - {"label":"k4P", "x":21.5, "y":5.5, "w":1.25, "h":1.25}, - {"label":"k5B", "x":1.25, "y":6.5, "w":1.25, "h":1.25}, - {"label":"k5C", "x":2.5, "y":6.25, "w":1.25, "h":1.25}, - {"label":"k5E", "x":5.25, "y":6.75, "w":1.25, "h":1.25}, - {"label":"k5F", "x":6.55, "y":6.75, "w":1.25, "h":1.25}, - {"label":"k5G", "x":8.75, "y":6.5, "w":1.25, "h":1.25}, - {"label":"k5H", "x":10, "y":6.5, "w":1.25, "h":1.25}, - {"label":"k5I", "x":11.25, "y":6.5, "w":1.25, "h":1.25}, - {"label":"k5J", "x":12.5, "y":6.5, "w":1.25, "h":1.25}, - {"label":"k5K", "x":15, "y":6.75, "w":1.25, "h":1.25}, - {"label":"k5L", "x":16.25, "y":6.75, "w":1.25, "h":1.25}, - {"label":"k5N", "x":19, "y":6.25, "w":1.25, "h":1.25}, - {"label":"k5O", "x":20.25, "y":6.5, "w":1.25, "h":1.25} + {"label":"k0A", "x":0, "y":0.4}, + {"label":"k0B", "x":1, "y":0.2}, + {"label":"k0C", "x":2, "y":0}, + {"label":"k0D", "x":3, "y":0.2}, + {"label":"k0E", "x":4, "y":0.2}, + {"label":"k0F", "x":5, "y":0.2}, + {"label":"k0G", "x":7, "y":0.2}, + {"label":"k0H", "x":8, "y":0.2}, + {"label":"k0I", "x":9, "y":0.2}, + {"label":"k0J", "x":10, "y":0.2}, + {"label":"k0K", "x":12.2, "y":0.2}, + {"label":"k0L", "x":13.2, "y":0.2}, + {"label":"k0M", "x":14.2, "y":0.2}, + {"label":"k0N", "x":15.2, "y":0}, + {"label":"k0O", "x":16.2, "y":0.2}, + {"label":"k0P", "x":17.2, "y":0.4}, + + {"label":"k1A", "x":0, "y":1.4}, + {"label":"k1B", "x":1, "y":1.2}, + {"label":"k1C", "x":2, "y":1}, + {"label":"k1D", "x":3, "y":1.2}, + {"label":"k1E", "x":4, "y":1.2}, + {"label":"k1F", "x":5, "y":1.2}, + {"label":"k1G", "x":7, "y":1.2}, + {"label":"k1H", "x":8, "y":1.2}, + {"label":"k1I", "x":9, "y":1.2}, + {"label":"k1J", "x":10, "y":1.2}, + {"label":"k1K", "x":12.2, "y":1.2}, + {"label":"k1L", "x":13.2, "y":1.2}, + {"label":"k1M", "x":14.2, "y":1.2}, + {"label":"k1N", "x":15.2, "y":1}, + {"label":"k1O", "x":16.2, "y":1.2}, + {"label":"k1P", "x":17.2, "y":1.4}, + + {"label":"k2A", "x":0, "y":2.4}, + {"label":"k2B", "x":1, "y":2.2}, + {"label":"k2C", "x":2, "y":2}, + {"label":"k2D", "x":3, "y":2.2}, + {"label":"k2E", "x":4, "y":2.2}, + {"label":"k2F", "x":5, "y":2.2}, + {"label":"k2G", "x":7, "y":2.2}, + {"label":"k2H", "x":8, "y":2.2}, + {"label":"k2I", "x":9, "y":2.2}, + {"label":"k2J", "x":10, "y":2.2}, + {"label":"k2K", "x":12.2, "y":2.2}, + {"label":"k2L", "x":13.2, "y":2.2}, + {"label":"k2M", "x":14.2, "y":2.2}, + {"label":"k2N", "x":15.2, "y":2}, + {"label":"k2O", "x":16.2, "y":2.2}, + {"label":"k2P", "x":17.2, "y":2.4}, + + {"label":"k3A", "x":0, "y":3.4}, + {"label":"k3B", "x":1, "y":3.2}, + {"label":"k3C", "x":2, "y":3}, + {"label":"k3D", "x":3, "y":3.2}, + {"label":"k3E", "x":4, "y":3.2}, + {"label":"k3G", "x":7, "y":3.2}, + {"label":"k3H", "x":8, "y":3.2}, + {"label":"k3I", "x":9, "y":3.2}, + {"label":"k3J", "x":10, "y":3.2}, + {"label":"k3L", "x":13.2, "y":3.2}, + {"label":"k3M", "x":14.2, "y":3.2}, + {"label":"k3N", "x":15.2, "y":3}, + {"label":"k3O", "x":16.2, "y":3.2}, + {"label":"k3P", "x":17.2, "y":3.4}, + + {"label":"k4A", "x":0, "y":4.4}, + {"label":"k4B", "x":1, "y":4.2}, + {"label":"k4C", "x":2, "y":4}, + {"label":"k4D", "x":3, "y":4.2}, + {"label":"k4E", "x":4, "y":4.2}, + {"label":"k4F", "x":5.2, "y":4.4}, + {"label":"k4G", "x":7, "y":4.2}, + {"label":"k4H", "x":8, "y":4.2}, + {"label":"k4I", "x":9, "y":4.2}, + {"label":"k4J", "x":10, "y":4.2}, + {"label":"k4K", "x":12, "y":4.4}, + {"label":"k4L", "x":13.2, "y":4.2}, + {"label":"k4M", "x":14.2, "y":4.2}, + {"label":"k4N", "x":15.2, "y":4}, + {"label":"k4O", "x":16.2, "y":4.2}, + {"label":"k4P", "x":17.2, "y":4.4}, + + {"label":"k5B", "x":1, "y":5.2}, + {"label":"k5C", "x":2, "y":5}, + {"label":"k5E", "x":4.2, "y":5.4}, + {"label":"k5F", "x":5.24, "y":5.4}, + {"label":"k5G", "x":7, "y":5.2}, + {"label":"k5H", "x":8, "y":5.2}, + {"label":"k5I", "x":9, "y":5.2}, + {"label":"k5J", "x":10, "y":5.2}, + {"label":"k5K", "x":12, "y":5.4}, + {"label":"k5L", "x":13, "y":5.4}, + {"label":"k5N", "x":15.2, "y":5}, + {"label":"k5O", "x":16.2, "y":5.2} ] } } diff --git a/keyboards/handwired/evk/v1_3/rules.mk b/keyboards/handwired/evk/v1_3/rules.mk index 02a74ee91206..ac064481782f 100644 --- a/keyboards/handwired/evk/v1_3/rules.mk +++ b/keyboards/handwired/evk/v1_3/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/evk/v1_3/v1_3.c b/keyboards/handwired/evk/v1_3/v1_3.c index 62800bc88c8d..718a3361229d 100644 --- a/keyboards/handwired/evk/v1_3/v1_3.c +++ b/keyboards/handwired/evk/v1_3/v1_3.c @@ -28,20 +28,6 @@ void matrix_init_kb(void) { matrix_init_user(); } -// looping keyboard codes -// runs every cycle (a lot) -/*void matrix_scan_kb(void) { - - matrix_scan_user(); -}*/ - -// per-action keyboard codes -// runs for every key-press action, just before processing by the firmware -/*bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - - return process_record_user(keycode, record); -}*/ - // Set LED based on layer __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { writePin(D5, layer_state_cmp(state, 1)); diff --git a/keyboards/handwired/fc200rt_qmk/rules.mk b/keyboards/handwired/fc200rt_qmk/rules.mk index fb1748db03df..102a4c35b712 100644 --- a/keyboards/handwired/fc200rt_qmk/rules.mk +++ b/keyboards/handwired/fc200rt_qmk/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/fivethirteen/fivethirteen.c b/keyboards/handwired/fivethirteen/fivethirteen.c index 4c16e72eb63e..2d71560bf6ea 100644 --- a/keyboards/handwired/fivethirteen/fivethirteen.c +++ b/keyboards/handwired/fivethirteen/fivethirteen.c @@ -1,8 +1 @@ #include "fivethirteen.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} diff --git a/keyboards/handwired/fivethirteen/rules.mk b/keyboards/handwired/fivethirteen/rules.mk index 64d566cb17bc..d82a6c6b45a8 100644 --- a/keyboards/handwired/fivethirteen/rules.mk +++ b/keyboards/handwired/fivethirteen/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/floorboard/config.h b/keyboards/handwired/floorboard/config.h index 2ff291234df4..d53675303295 100644 --- a/keyboards/handwired/floorboard/config.h +++ b/keyboards/handwired/floorboard/config.h @@ -194,26 +194,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/floorboard/rules.mk b/keyboards/handwired/floorboard/rules.mk index 131e8fb26db1..f17907fcf0d6 100644 --- a/keyboards/handwired/floorboard/rules.mk +++ b/keyboards/handwired/floorboard/rules.mk @@ -2,10 +2,13 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -16,7 +19,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/frankie_macropad/config.h b/keyboards/handwired/frankie_macropad/config.h new file mode 100644 index 000000000000..5047972d18e9 --- /dev/null +++ b/keyboards/handwired/frankie_macropad/config.h @@ -0,0 +1,155 @@ +/* +Copyright 2021 Eric Wood + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xF00D +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Eric Wood +#define PRODUCT frankie_macropad + +/* key matrix size */ +#define MATRIX_ROWS 3 +#define MATRIX_COLS 4 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B0, B1, B2 } +#define MATRIX_COL_PINS { B3, B4, B5, B6 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +// #define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +// #define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 2 +#define BOOTMAGIC_LITE_COLUMN 0 + +#define ENCODERS_PAD_A { D0, D2 } +#define ENCODERS_PAD_B { D1, D3 } diff --git a/keyboards/handwired/frankie_macropad/frankie_macropad.c b/keyboards/handwired/frankie_macropad/frankie_macropad.c new file mode 100644 index 000000000000..5f89811e7aac --- /dev/null +++ b/keyboards/handwired/frankie_macropad/frankie_macropad.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Eric Wood + * + * 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 "frankie_macropad.h" diff --git a/keyboards/handwired/frankie_macropad/frankie_macropad.h b/keyboards/handwired/frankie_macropad/frankie_macropad.h new file mode 100644 index 000000000000..cfd3124ba192 --- /dev/null +++ b/keyboards/handwired/frankie_macropad/frankie_macropad.h @@ -0,0 +1,39 @@ +/* Copyright 2021 Eric Wood + * + * 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 "quantum.h" + +#define ___ KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k02, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, k23 \ +) { \ + { ___, ___, k02, k03 }, \ + { k10, k11, k12, k13 }, \ + { k20, k21, k22, k23 } \ +} diff --git a/keyboards/handwired/frankie_macropad/info.json b/keyboards/handwired/frankie_macropad/info.json new file mode 100644 index 000000000000..ac8b65e28e70 --- /dev/null +++ b/keyboards/handwired/frankie_macropad/info.json @@ -0,0 +1,25 @@ +{ + "keyboard_name": "frankie_macropad", + "url": "https://github.com/eric-wood/macro-pad", + "maintainer": "eric-wood", + "width": 3, + "height": 2, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "k02", "x": 2, "y": 0}, + {"label": "k03", "x": 3, "y": 0}, + + {"label": "k10", "x": 0, "y": 1}, + {"label": "k11", "x": 1, "y": 1}, + {"label": "k12", "x": 2, "y": 1}, + {"label": "k13", "x": 3, "y": 1}, + + {"label": "k20", "x": 0, "y": 2}, + {"label": "k21", "x": 1, "y": 2}, + {"label": "k22", "x": 2, "y": 2}, + {"label": "k23", "x": 3, "y": 2} + ] + } + } +} diff --git a/keyboards/handwired/frankie_macropad/keymaps/default/config.h b/keyboards/handwired/frankie_macropad/keymaps/default/config.h new file mode 100644 index 000000000000..dd687cad58f3 --- /dev/null +++ b/keyboards/handwired/frankie_macropad/keymaps/default/config.h @@ -0,0 +1,19 @@ +/* Copyright 2021 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 + +#define LAYER_STATE_8BIT diff --git a/keyboards/handwired/frankie_macropad/keymaps/default/keymap.c b/keyboards/handwired/frankie_macropad/keymaps/default/keymap.c new file mode 100644 index 000000000000..b85d66c4c839 --- /dev/null +++ b/keyboards/handwired/frankie_macropad/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +/* Copyright 2021 Eric Wood + * + * 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] = { + LAYOUT( + KC_HOME, KC_MUTE, + KC_BRID, KC_BRIU, KC_NO, KC_NO, + KC_MPRV, KC_MPLY, KC_MNXT, KC_NO + ), +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code(KC_PGUP); + } else { + tap_code(KC_PGDN); + } + } else if (index == 1) { /* Second encoder */ + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +} diff --git a/keyboards/handwired/frankie_macropad/keymaps/default/readme.md b/keyboards/handwired/frankie_macropad/keymaps/default/readme.md new file mode 100644 index 000000000000..f29affb8721f --- /dev/null +++ b/keyboards/handwired/frankie_macropad/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for handwired/frankie_macropad diff --git a/keyboards/handwired/frankie_macropad/readme.md b/keyboards/handwired/frankie_macropad/readme.md new file mode 100644 index 000000000000..edd6965b5185 --- /dev/null +++ b/keyboards/handwired/frankie_macropad/readme.md @@ -0,0 +1,21 @@ +# frankie_macropad + +![frankie_macropad](https://i.imgur.com/X46CSH7h.jpg) + +A simple 8-key macropad with two rotary encoders. + +* Keyboard Maintainer: [Eric Wood](https://github.com/eric-wood) +* Hardware Supported: atmega16u2 +* Hardware Availability: https://github.com/eric-wood/macro-pad + +Make example for this keyboard (after setting up your build environment): + + make handwired/frankie_macropad:default + +To switch to bootloader mode, unplug the keyboard and plug it back in while holding down the bottom left key. + +Flashing example for this keyboard: + + make handwired/frankie_macropad: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). diff --git a/keyboards/handwired/frankie_macropad/rules.mk b/keyboards/handwired/frankie_macropad/rules.mk new file mode 100644 index 000000000000..22f4e4c3ebfd --- /dev/null +++ b/keyboards/handwired/frankie_macropad/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega16u2 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/handwired/frenchdev/frenchdev.h b/keyboards/handwired/frenchdev/frenchdev.h index 1df399088791..d608fe9f0924 100644 --- a/keyboards/handwired/frenchdev/frenchdev.h +++ b/keyboards/handwired/frenchdev/frenchdev.h @@ -6,9 +6,6 @@ #include "i2c_master.h" #include -#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) -#define CPU_16MHz 0x00 - // I2C aliases and register addresses (see "mcp23018.md" on tmk repository) #define I2C_ADDR 0b0100000 #define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE ) diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c index b0713b730cb7..1ead4e50e187 100644 --- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c +++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c @@ -65,9 +65,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_BASE] = 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_ESC, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_DTRM, BP_DCRC, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, KC_BSPC, \ - KC_TAB, BP_B, BP_ECUT, BP_O, BP_P, BP_EGRV, BP_UNDS, BP_EQL, BP_K, BP_V, BP_D, BP_L, BP_J, KC_ENT, \ - BP_GRV, BP_A, BP_U, BP_E, BP_I, BP_F, BP_SCLN, BP_EXLM, BP_C, BP_T, BP_S, BP_R, BP_N, BP_APOS, \ + KC_ESC, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_DIAE, BP_DCIR, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, KC_BSPC, \ + KC_TAB, BP_B, BP_EACU, BP_O, BP_P, BP_EGRV, BP_UNDS, BP_EQL, BP_K, BP_V, BP_D, BP_L, BP_J, KC_ENT, \ + BP_GRV, BP_A, BP_U, BP_E, BP_I, BP_F, BP_SCLN, BP_EXLM, BP_C, BP_T, BP_S, BP_R, BP_N, BP_QUOT, \ M_SF, BP_Z, BP_AGRV, BP_Y, BP_X, KC_RBRC, M_SFS, BP_CBSP, L2INS, L2LOC, BP_CDEL, M_SFS, BP_M, BP_G, KC_UP, BP_H, BP_Q, M_SF, \ KC_LCTL, KC_LGUI, KC_PSLS, BP_DOT, BP_COMM, KC_SPACE,M_L1E, KC_LALT, KC_CAPS, M_L1E, KC_SPACE, KC_LEFT, KC_DOWN, KC_RIGHT,BP_COLN, KC_RCTL, \ //left pedals @@ -97,9 +97,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_SYMBOLS] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, BP_DCUR, BP_PARG, BP_SECT, BP_DGRK, KC_TRNS, BP_TILD, BP_DCAR, BP_LEQL, BP_GEQL, BP_PSMS, BP_OBEL, BP_TIMS, KC_TRNS, \ - KC_TRNS, BP_BSLS, BP_ASTR, BP_LCBR, BP_RCBR, BP_GRV, KC_TRNS, BP_DIFF, BP_HASH, BP_LBRC, BP_RBRC, BP_PERC, BP_PMIL, KC_TRNS, \ - KC_TRNS, BP_EQL, BP_UGRV, BP_LPRN, BP_RPRN, BP_PLUS, BP_COLN, BP_QEST, BP_CCED, BP_LESS, BP_GRTR, BP_AMPR, BP_UNDS, KC_TRNS, \ + KC_TRNS, BP_CURR, BP_PARA, BP_SECT, BP_DGRK, KC_TRNS, BP_TILD, BP_CARN, BP_LEQL, BP_GEQL, BP_PLMN, BP_DIV, BP_MUL, KC_TRNS, \ + KC_TRNS, BP_BSLS, BP_ASTR, BP_LCBR, BP_RCBR, BP_GRV, KC_TRNS, BP_NEQL, BP_HASH, BP_LBRC, BP_RBRC, BP_PERC, BP_PERM, KC_TRNS, \ + KC_TRNS, BP_EQL, BP_UGRV, BP_LPRN, BP_RPRN, BP_PLUS, BP_COLN, BP_QUES, BP_CCED, BP_LABK, BP_RABK, BP_AMPR, BP_UNDS, KC_TRNS, \ KC_TRNS, M_UN, M_CUT, M_CP, M_PS, M_SE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BP_DLR, BP_EQL, KC_PGUP, BP_PIPE, BP_SLSH, KC_TRNS, \ KC_TRNS, KC_TRNS, BP_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, \ //left pedals @@ -205,9 +205,6 @@ void press_underscore(void) { if(shift_count > 0) register_code (KC_LSHIFT); } -void matrix_init_user(void) { -} - // Bleah globals need to be initialized. uint8_t old_layer=_BASE; diff --git a/keyboards/handwired/frenchdev/rules.mk b/keyboards/handwired/frenchdev/rules.mk index abf4e62c4b30..b1a9f5708c20 100644 --- a/keyboards/handwired/frenchdev/rules.mk +++ b/keyboards/handwired/frenchdev/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,12 +17,10 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work UNICODE_ENABLE = yes # Unicode BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 RGBLIGHT_ENABLE = no -API_SYSEX_ENABLE = no # project specific files SRC = i2c_master.c \ diff --git a/keyboards/handwired/freoduo/rules.mk b/keyboards/handwired/freoduo/rules.mk index e3da3753e497..b0bd53fd8c93 100644 --- a/keyboards/handwired/freoduo/rules.mk +++ b/keyboards/handwired/freoduo/rules.mk @@ -7,11 +7,11 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration +COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work @@ -21,4 +21,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output VELOCIKEY_ENABLE = yes -SPLIT_KEYBOARD = yes \ No newline at end of file +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/fruity60/fruity60.c b/keyboards/handwired/fruity60/fruity60.c index d68b17955ea9..06403826766d 100644 --- a/keyboards/handwired/fruity60/fruity60.c +++ b/keyboards/handwired/fruity60/fruity60.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "fruity60.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/handwired/fruity60/rules.mk b/keyboards/handwired/fruity60/rules.mk index 8c7a0a73b372..1dfc9007abb0 100644 --- a/keyboards/handwired/fruity60/rules.mk +++ b/keyboards/handwired/fruity60/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -28,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/gamenum/rules.mk b/keyboards/handwired/gamenum/rules.mk index 3989329835e6..4ad56990cfed 100644 --- a/keyboards/handwired/gamenum/rules.mk +++ b/keyboards/handwired/gamenum/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/hacked_motospeed/config.h b/keyboards/handwired/hacked_motospeed/config.h index 29a0a6dcfa4e..bfa1e220fde3 100644 --- a/keyboards/handwired/hacked_motospeed/config.h +++ b/keyboards/handwired/hacked_motospeed/config.h @@ -191,26 +191,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/hacked_motospeed/hacked_motospeed.c b/keyboards/handwired/hacked_motospeed/hacked_motospeed.c index 21643895d75b..f6a394b73184 100644 --- a/keyboards/handwired/hacked_motospeed/hacked_motospeed.c +++ b/keyboards/handwired/hacked_motospeed/hacked_motospeed.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "hacked_motospeed.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} \ No newline at end of file diff --git a/keyboards/handwired/hacked_motospeed/keymaps/default/keymap.c b/keyboards/handwired/hacked_motospeed/keymaps/default/keymap.c index bdec8f246154..be3d5fdbd2a2 100644 --- a/keyboards/handwired/hacked_motospeed/keymaps/default/keymap.c +++ b/keyboards/handwired/hacked_motospeed/keymaps/default/keymap.c @@ -51,15 +51,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} \ No newline at end of file diff --git a/keyboards/handwired/hacked_motospeed/rules.mk b/keyboards/handwired/hacked_motospeed/rules.mk index 46ef60a8be5e..7ba6a3af7f5c 100644 --- a/keyboards/handwired/hacked_motospeed/rules.mk +++ b/keyboards/handwired/hacked_motospeed/rules.mk @@ -2,19 +2,12 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/heisenberg/config.h b/keyboards/handwired/heisenberg/config.h index ba35f24aca2f..006f1e68900f 100644 --- a/keyboards/handwired/heisenberg/config.h +++ b/keyboards/handwired/heisenberg/config.h @@ -205,26 +205,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/heisenberg/rules.mk b/keyboards/handwired/heisenberg/rules.mk index 8d79915fd28c..0066b822bf35 100644 --- a/keyboards/handwired/heisenberg/rules.mk +++ b/keyboards/handwired/heisenberg/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = yes # Audio output on port C6 diff --git a/keyboards/handwired/hexon38/keymaps/default/keymap.c b/keyboards/handwired/hexon38/keymaps/default/keymap.c index 65dfb4ca04ff..38ae903ec81b 100644 --- a/keyboards/handwired/hexon38/keymaps/default/keymap.c +++ b/keyboards/handwired/hexon38/keymaps/default/keymap.c @@ -187,8 +187,6 @@ void matrix_init_user(void) { g_pending.head = NULL; } -void matrix_scan_user(void) {} - /* a_ a-: emit a a_ b_ b- a-: emit SHIFT+b diff --git a/keyboards/handwired/hexon38/rules.mk b/keyboards/handwired/hexon38/rules.mk index fb5e1b0c9b5b..1103f09914f8 100644 --- a/keyboards/handwired/hexon38/rules.mk +++ b/keyboards/handwired/hexon38/rules.mk @@ -2,17 +2,10 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Enabled build options: -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/handwired/hnah108/keymaps/default/keymap.c b/keyboards/handwired/hnah108/keymaps/default/keymap.c index 682ca0812a90..d4d4cde4b6fe 100644 --- a/keyboards/handwired/hnah108/keymaps/default/keymap.c +++ b/keyboards/handwired/hnah108/keymaps/default/keymap.c @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (IS_LAYER_ON(_FN)) { if (clockwise) { @@ -62,6 +62,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { } } } + return true; } void rgb_matrix_indicators_user(void) { diff --git a/keyboards/handwired/hnah108/rules.mk b/keyboards/handwired/hnah108/rules.mk index f0a39faebe0d..eb456a0b7283 100644 --- a/keyboards/handwired/hnah108/rules.mk +++ b/keyboards/handwired/hnah108/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/hnah40/config.h b/keyboards/handwired/hnah40/config.h index 6bc98a10cd77..9e314812be6a 100644 --- a/keyboards/handwired/hnah40/config.h +++ b/keyboards/handwired/hnah40/config.h @@ -168,23 +168,3 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - diff --git a/keyboards/handwired/hnah40/hnah40.c b/keyboards/handwired/hnah40/hnah40.c index 0f08136c2106..88c81b7d4975 100644 --- a/keyboards/handwired/hnah40/hnah40.c +++ b/keyboards/handwired/hnah40/hnah40.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "hnah40.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/handwired/hnah40/rules.mk b/keyboards/handwired/hnah40/rules.mk index 3005ce89daf5..d813756d8b6a 100644 --- a/keyboards/handwired/hnah40/rules.mk +++ b/keyboards/handwired/hnah40/rules.mk @@ -2,19 +2,12 @@ MCU = atmega328p # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = USBasp +BOOTLOADER = usbasploader # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/hnah40rgb/config.h b/keyboards/handwired/hnah40rgb/config.h index e6271738c005..3d558f97fcad 100644 --- a/keyboards/handwired/hnah40rgb/config.h +++ b/keyboards/handwired/hnah40rgb/config.h @@ -60,7 +60,7 @@ along with this program. If not, see . #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended +// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set diff --git a/keyboards/handwired/hnah40rgb/rules.mk b/keyboards/handwired/hnah40rgb/rules.mk index 016367866fa0..f1c208fc8756 100644 --- a/keyboards/handwired/hnah40rgb/rules.mk +++ b/keyboards/handwired/hnah40rgb/rules.mk @@ -2,18 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# atmega32A bootloadHID BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/ibm122m/config.h b/keyboards/handwired/ibm122m/config.h index bd1fdc97dc25..903a63e44632 100644 --- a/keyboards/handwired/ibm122m/config.h +++ b/keyboards/handwired/ibm122m/config.h @@ -158,23 +158,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 diff --git a/keyboards/handwired/ibm122m/ibm122m.c b/keyboards/handwired/ibm122m/ibm122m.c index 1c52b94ec657..7ee099d25002 100644 --- a/keyboards/handwired/ibm122m/ibm122m.c +++ b/keyboards/handwired/ibm122m/ibm122m.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "ibm122m.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/handwired/ibm122m/keymaps/default/keymap.c b/keyboards/handwired/ibm122m/keymaps/default/keymap.c index fc383498a145..53cdcc1c19c0 100644 --- a/keyboards/handwired/ibm122m/keymaps/default/keymap.c +++ b/keyboards/handwired/ibm122m/keymaps/default/keymap.c @@ -27,20 +27,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_NO, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_P0, KC_PDOT ), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/ibm122m/rules.mk b/keyboards/handwired/ibm122m/rules.mk index c26bc7a9913b..b89afb9ea319 100644 --- a/keyboards/handwired/ibm122m/rules.mk +++ b/keyboards/handwired/ibm122m/rules.mk @@ -2,19 +2,12 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = yes # Audio output on port C6 diff --git a/keyboards/handwired/ibm_wheelwriter/rules.mk b/keyboards/handwired/ibm_wheelwriter/rules.mk index 7b69908b1ba9..f68b5b1df8d4 100644 --- a/keyboards/handwired/ibm_wheelwriter/rules.mk +++ b/keyboards/handwired/ibm_wheelwriter/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/jn68m/jn68m.c b/keyboards/handwired/jn68m/jn68m.c index b61b17aa9b36..415645f1b4ce 100644 --- a/keyboards/handwired/jn68m/jn68m.c +++ b/keyboards/handwired/jn68m/jn68m.c @@ -14,24 +14,3 @@ * along with this program. If not, see . */ #include "jn68m.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} diff --git a/keyboards/handwired/jn68m/keymaps/default/keymap.c b/keyboards/handwired/jn68m/keymaps/default/keymap.c index 98eede94cb69..3860901dd356 100644 --- a/keyboards/handwired/jn68m/keymaps/default/keymap.c +++ b/keyboards/handwired/jn68m/keymaps/default/keymap.c @@ -61,15 +61,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/jn68m/rules.mk b/keyboards/handwired/jn68m/rules.mk index 679f9c6bd0df..cd769fa50047 100644 --- a/keyboards/handwired/jn68m/rules.mk +++ b/keyboards/handwired/jn68m/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/jopr/jopr.c b/keyboards/handwired/jopr/jopr.c index 3dccb719c2e1..a337867dd1a1 100644 --- a/keyboards/handwired/jopr/jopr.c +++ b/keyboards/handwired/jopr/jopr.c @@ -1,8 +1,4 @@ #include "jopr.h" -void matrix_init_kb(void) { - matrix_init_user(); - led_init_ports(); -}; void led_init_ports(void) { setPinOutput(F0); diff --git a/keyboards/handwired/jopr/rules.mk b/keyboards/handwired/jopr/rules.mk index ae10be0d26cb..fc9ebe0ca072 100644 --- a/keyboards/handwired/jopr/rules.mk +++ b/keyboards/handwired/jopr/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/handwired/jot50/jot50.c b/keyboards/handwired/jot50/jot50.c index a1d2258a5814..da04e862e182 100644 --- a/keyboards/handwired/jot50/jot50.c +++ b/keyboards/handwired/jot50/jot50.c @@ -1,6 +1 @@ #include "jot50.h" - -void matrix_init_kb(void) { - - matrix_init_user(); -} diff --git a/keyboards/handwired/jot50/keymaps/default/keymap.c b/keyboards/handwired/jot50/keymaps/default/keymap.c index 7b674af52890..2693fbff3cde 100644 --- a/keyboards/handwired/jot50/keymaps/default/keymap.c +++ b/keyboards/handwired/jot50/keymaps/default/keymap.c @@ -77,6 +77,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); } - -void matrix_init_user(void) { -} diff --git a/keyboards/handwired/jot50/rules.mk b/keyboards/handwired/jot50/rules.mk index d01dfefa5e76..2996f95eb834 100644 --- a/keyboards/handwired/jot50/rules.mk +++ b/keyboards/handwired/jot50/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options @@ -16,19 +9,17 @@ BOOTLOADER = caterina # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/handwired/jotanck/jotanck.c b/keyboards/handwired/jotanck/jotanck.c index caf0ad01413c..af650b129e7c 100644 --- a/keyboards/handwired/jotanck/jotanck.c +++ b/keyboards/handwired/jotanck/jotanck.c @@ -1,9 +1,5 @@ #include "jotanck.h" -void matrix_init_kb(void) { - matrix_init_user(); -} - void keyboard_pre_init_kb() { setPinOutput(JOTANCK_LED1); setPinOutput(JOTANCK_LED2); diff --git a/keyboards/handwired/jotanck/rules.mk b/keyboards/handwired/jotanck/rules.mk index 2a233cccd02a..fb91dd838343 100644 --- a/keyboards/handwired/jotanck/rules.mk +++ b/keyboards/handwired/jotanck/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options @@ -16,19 +9,17 @@ BOOTLOADER = caterina # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/handwired/jotpad16/jotpad16.c b/keyboards/handwired/jotpad16/jotpad16.c index 2f112a6101d9..dfff7e16793e 100644 --- a/keyboards/handwired/jotpad16/jotpad16.c +++ b/keyboards/handwired/jotpad16/jotpad16.c @@ -1,10 +1,5 @@ #include "jotpad16.h" -void matrix_init_kb(void) { - - matrix_init_user(); -} - void keyboard_pre_init_kb() { setPinOutput(JOTPAD16_LED1); setPinOutput(JOTPAD16_LED2); diff --git a/keyboards/handwired/jotpad16/rules.mk b/keyboards/handwired/jotpad16/rules.mk index 79c32c5c3527..150893a99563 100644 --- a/keyboards/handwired/jotpad16/rules.mk +++ b/keyboards/handwired/jotpad16/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options @@ -16,19 +9,17 @@ BOOTLOADER = caterina # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = no # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/handwired/jtallbean/split_65/config.h b/keyboards/handwired/jtallbean/split_65/config.h index 105e76438d72..96b9385b43ee 100644 --- a/keyboards/handwired/jtallbean/split_65/config.h +++ b/keyboards/handwired/jtallbean/split_65/config.h @@ -197,26 +197,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/jtallbean/split_65/rules.mk b/keyboards/handwired/jtallbean/split_65/rules.mk index 5fa9d561ba13..b184aeb0dfd9 100644 --- a/keyboards/handwired/jtallbean/split_65/rules.mk +++ b/keyboards/handwired/jtallbean/split_65/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 SPLIT_KEYBOARD = yes # Enable split keyboard support diff --git a/keyboards/handwired/juliet/config.h b/keyboards/handwired/juliet/config.h index 988c578ba3cb..2a2331b21788 100644 --- a/keyboards/handwired/juliet/config.h +++ b/keyboards/handwired/juliet/config.h @@ -189,26 +189,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/juliet/rules.mk b/keyboards/handwired/juliet/rules.mk index 264ff6dcb977..5dcc1170a027 100644 --- a/keyboards/handwired/juliet/rules.mk +++ b/keyboards/handwired/juliet/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/k8split/rules.mk b/keyboards/handwired/k8split/rules.mk index cedc7b4debbd..d5e84d852923 100644 --- a/keyboards/handwired/k8split/rules.mk +++ b/keyboards/handwired/k8split/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/k_numpad17/rules.mk b/keyboards/handwired/k_numpad17/rules.mk index e1f2d2a148bd..c1a8007f0739 100644 --- a/keyboards/handwired/k_numpad17/rules.mk +++ b/keyboards/handwired/k_numpad17/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Key at 0,0 makes the keyboard go into bootloader +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -22,7 +15,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/handwired/kbod/kbod.c b/keyboards/handwired/kbod/kbod.c index 9a12cae0d208..c229d267b173 100644 --- a/keyboards/handwired/kbod/kbod.c +++ b/keyboards/handwired/kbod/kbod.c @@ -1,28 +1 @@ #include "kbod.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/handwired/kbod/keymaps/default/rules.mk b/keyboards/handwired/kbod/keymaps/default/rules.mk index 5b9ff0bfdca1..ad263f6e3481 100644 --- a/keyboards/handwired/kbod/keymaps/default/rules.mk +++ b/keyboards/handwired/kbod/keymaps/default/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -12,6 +12,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/handwired/kbod/rules.mk b/keyboards/handwired/kbod/rules.mk index ddff1d3548e6..dfe1c7174911 100644 --- a/keyboards/handwired/kbod/rules.mk +++ b/keyboards/handwired/kbod/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/ks63/rules.mk b/keyboards/handwired/ks63/rules.mk index a97b8ea70884..75b8e530b463 100644 --- a/keyboards/handwired/ks63/rules.mk +++ b/keyboards/handwired/ks63/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/lagrange/info.json b/keyboards/handwired/lagrange/info.json index 29ee0a5e6d0b..1c94d320191f 100644 --- a/keyboards/handwired/lagrange/info.json +++ b/keyboards/handwired/lagrange/info.json @@ -1,21 +1,89 @@ { - "keyboard_name": "Lagrange", - "url": "https://github.com/dpapavas/lagrange-keyboard", - "maintainer": "dpapavas", - "width": 19, - "height": 8.5, - "layouts": { - "LAYOUT": { - "layout": [ - {"x":0, "y":0.75, "w":1.5}, {"x":1.5, "y":0.75}, {"x":2.5, "y":0.375}, {"x":3.5, "y":0}, {"x":4.5, "y":0.5}, {"x":5.5, "y":0.5}, {"x":12.5, "y":0.5}, {"x":13.5, "y":0.5}, {"x":14.5, "y":0}, {"x":15.5, "y":0.375}, {"x":16.5, "y":0.75}, {"x":17.5, "y":0.75, "w":1.5}, - {"x":0, "y":1.75, "w":1.5}, {"x":1.5, "y":1.75}, {"x":2.5, "y":1.375}, {"x":3.5, "y":1}, {"x":4.5, "y":1.5}, {"x":5.5, "y":1.5}, {"x":12.5, "y":1.5}, {"x":13.5, "y":1.5}, {"x":14.5, "y":1}, {"x":15.5, "y":1.375}, {"x":16.5, "y":1.75}, {"x":17.5, "y":1.75, "w":1.5}, - {"x":0, "y":2.75, "w":1.5}, {"x":1.5, "y":2.75}, {"x":2.5, "y":2.375}, {"x":3.5, "y":2}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5}, {"x":14.5, "y":2}, {"x":15.5, "y":2.375}, {"x":16.5, "y":2.75}, {"x":17.5, "y":2.75, "w":1.5}, - {"x":0, "y":3.75, "w":1.5}, {"x":1.5, "y":3.75}, {"x":2.5, "y":3.375}, {"x":3.5, "y":3}, {"x":4.5, "y":3.5}, {"x":5.5, "y":3.5}, {"x":12.5, "y":3.5}, {"x":13.5, "y":3.5}, {"x":14.5, "y":3}, {"x":15.5, "y":3.375}, {"x":16.5, "y":3.75}, {"x":17.5, "y":3.75, "w":1.5}, - {"x":0, "y":4.75, "w":1.5}, {"x":2.5, "y":4.375}, {"x":3.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4.5}, {"x":17.5, "y":4.75, "w":1.5}, - {"x":5, "y":5, "h":1.25}, {"x":6, "y":5, "h":1.5}, {"x":7, "y":5, "h":1.5}, {"x":8, "y":5.5}, {"x":10, "y":5.5}, {"x":11, "y":5, "h":1.5}, {"x":12, "y":5, "h":1.5}, {"x":13, "y":5, "h":1.25}, - {"x":5, "y":7}, {"x":6, "y":6.5}, {"x":7, "y":7}, {"x":11, "y":7}, {"x":12, "y":6.5}, {"x":13, "y":7}, - {"x":6, "y":7.5}, {"x":12, "y":7.5} - ] + "keyboard_name": "Lagrange", + "url": "https://github.com/dpapavas/lagrange-keyboard", + "maintainer": "dpapavas", + "width": 19, + "height": 8.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.75, "w":1.5}, + {"x":1.5, "y":0.75}, + {"x":2.5, "y":0.375}, + {"x":3.5, "y":0}, + {"x":4.5, "y":0.5}, + {"x":5.5, "y":0.5}, + {"x":12.5, "y":0.5}, + {"x":13.5, "y":0.5}, + {"x":14.5, "y":0}, + {"x":15.5, "y":0.375}, + {"x":16.5, "y":0.75}, + {"x":17.5, "y":0.75, "w":1.5}, + + {"x":0, "y":1.75, "w":1.5}, + {"x":1.5, "y":1.75}, + {"x":2.5, "y":1.375}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1.5}, + {"x":5.5, "y":1.5}, + {"x":12.5, "y":1.5}, + {"x":13.5, "y":1.5}, + {"x":14.5, "y":1}, + {"x":15.5, "y":1.375}, + {"x":16.5, "y":1.75}, + {"x":17.5, "y":1.75, "w":1.5}, + + {"x":0, "y":2.75, "w":1.5}, + {"x":1.5, "y":2.75}, + {"x":2.5, "y":2.375}, + {"x":3.5, "y":2}, + {"x":4.5, "y":2.5}, + {"x":5.5, "y":2.5}, + {"x":12.5, "y":2.5}, + {"x":13.5, "y":2.5}, + {"x":14.5, "y":2}, + {"x":15.5, "y":2.375}, + {"x":16.5, "y":2.75}, + {"x":17.5, "y":2.75, "w":1.5}, + + {"x":0, "y":3.75, "w":1.5}, + {"x":1.5, "y":3.75}, + {"x":2.5, "y":3.375}, + {"x":3.5, "y":3}, + {"x":4.5, "y":3.5}, + {"x":5.5, "y":3.5}, + {"x":12.5, "y":3.5}, + {"x":13.5, "y":3.5}, + {"x":14.5, "y":3}, + {"x":15.5, "y":3.375}, + {"x":16.5, "y":3.75}, + {"x":17.5, "y":3.75, "w":1.5}, + + {"x":0, "y":4.75, "w":1.5}, + {"x":2.5, "y":4.375}, + {"x":3.5, "y":4}, + {"x":5, "y":5, "h":1.25}, + {"x":6, "y":5, "h":1.5}, + {"x":7, "y":5, "h":1.5}, + {"x":8, "y":5.5}, + {"x":10, "y":5.5}, + {"x":11, "y":5, "h":1.5}, + {"x":12, "y":5, "h":1.5}, + {"x":13, "y":5, "h":1.25}, + {"x":14.5, "y":4}, + {"x":15.5, "y":4.5}, + {"x":17.5, "y":4.75, "w":1.5}, + + {"x":5, "y":7}, + {"x":6, "y":6.5}, + {"x":7, "y":7}, + {"x":11, "y":7}, + {"x":12, "y":6.5}, + {"x":13, "y":7}, + + {"x":6, "y":7.5}, + {"x":12, "y":7.5} + ] + } } - } } diff --git a/keyboards/handwired/lagrange/rules.mk b/keyboards/handwired/lagrange/rules.mk index ea7413b97b1f..d1318ce57f7a 100644 --- a/keyboards/handwired/lagrange/rules.mk +++ b/keyboards/handwired/lagrange/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/lagrange/transport.c b/keyboards/handwired/lagrange/transport.c index 2a567f24b949..8f6973925ff2 100644 --- a/keyboards/handwired/lagrange/transport.c +++ b/keyboards/handwired/lagrange/transport.c @@ -18,6 +18,7 @@ #include "quantum.h" #include "split_util.h" +#include "transport.h" #include "timer.h" #include "lagrange.h" @@ -32,15 +33,16 @@ uint8_t transceive(uint8_t b) { return SPDR; } -/* The SPI bus, doens't have any form of protocol built in, so when +/* The SPI bus, doesn't have any form of protocol built in, so when * the other side isn't present, any old noise on the line will appear * as matrix data. To avoid interpreting data as keystrokes, we do a * simple n-way (8-way here) handshake before each scan, where each * side sends a prearranged sequence of bytes. */ -void shake_hands(bool master) { +bool shake_hands(bool master) { const uint8_t m = master ? 0xf8 : 0; const uint8_t a = 0xa8 ^ m, b = 0x50 ^ m; + bool synchronized = true; uint8_t i; @@ -48,7 +50,7 @@ void shake_hands(bool master) { i = SPDR; do { - /* Cylcling the SS pin on each attempt is necessary, as it + /* Cycling the SS pin on each attempt is necessary, as it * resets the AVR's SPI core and guarantees proper * alignment. */ @@ -58,6 +60,7 @@ void shake_hands(bool master) { for (i = 0 ; i < 8 ; i += 1) { if (transceive(a + i) != b + i) { + synchronized = false; break; } } @@ -66,9 +69,11 @@ void shake_hands(bool master) { writePinHigh(SPI_SS_PIN); } } while (i < 8); + + return synchronized; } -bool transport_master(matrix_row_t matrix[]) { +bool transport_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { const struct led_context context = { host_keyboard_led_state(), layer_state @@ -76,32 +81,58 @@ bool transport_master(matrix_row_t matrix[]) { uint8_t i; - /* Shake hands and then receive the matrix from the other side, - * while transmitting LED and layer states. */ + /* We shake hands both before and after transmitting the matrix. + * Doing it before transmitting is necessary to ensure + * synchronization: Due to the master-slave nature of the SPI bus, + * the master calls the shots. If we just go ahead and start + * clocking bits, the slave side might be otherwise engaged at + * that moment, so we'll initially read zeros, or garbage. Then + * when the slave gets around to transmitting its matrix, we'll + * misinterpret the keys it sends, leading to spurious + * keypresses. */ - shake_hands(true); + /* The handshake forces the master to wait for the slave to be + * ready to start transmitting. */ + + do { + shake_hands(true); - spi_start(SPI_SS_PIN, 0, 0, 4); + /* Receive the matrix from the other side, while transmitting + * LED and layer states. */ - for (i = 0 ; i < sizeof(matrix_row_t[MATRIX_ROWS / 2]) ; i += 1) { - spi_status_t x; + spi_start(SPI_SS_PIN, 0, 0, 4); - x = spi_write(i < sizeof(struct led_context) ? - ((uint8_t *)&context)[i] : 0); + for (i = 0 ; i < sizeof(matrix_row_t[MATRIX_ROWS / 2]) ; i += 1) { + spi_status_t x; + + x = spi_write(i < sizeof(struct led_context) ? + ((uint8_t *)&context)[i] : 0); + + if (x == SPI_STATUS_TIMEOUT) { + return false; + } - if (x == SPI_STATUS_TIMEOUT) { - return false; + ((uint8_t *)slave_matrix)[i] = (uint8_t)x; } - ((uint8_t *)matrix)[i] = (uint8_t)x; - } + spi_stop(); + + /* In case of errors during the transmission, e.g. if the + * cable was disconnected and since there is no inherent + * error-checking protocol, we would simply interpret noise as + * data. */ + + /* To avoid this, both sides shake hands after transmitting. + * If synchronization was lost during transmission, the (first) + * handshake will fail. In that case we go around and + * re-transmit. */ - spi_stop(); + } while (!shake_hands(true)); return true; } -void transport_slave(matrix_row_t matrix[]) { +void transport_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { static struct led_context context; struct led_context new_context; @@ -113,15 +144,17 @@ void transport_slave(matrix_row_t matrix[]) { cli(); shake_hands(false); - for (i = 0 ; i < sizeof(matrix_row_t[MATRIX_ROWS / 2]) ; i += 1) { - uint8_t b; + do { + for (i = 0 ; i < sizeof(matrix_row_t[MATRIX_ROWS / 2]) ; i += 1) { + uint8_t b; - b = transceive(((uint8_t *)matrix)[i]); + b = transceive(((uint8_t *)slave_matrix)[i]); - if (i < sizeof(struct led_context)) { - ((uint8_t *)&new_context)[i] = b; + if (i < sizeof(struct led_context)) { + ((uint8_t *)&new_context)[i] = b; + } } - } + } while (!shake_hands(false)); sei(); diff --git a/keyboards/handwired/leftynumpad/rules.mk b/keyboards/handwired/leftynumpad/rules.mk index 5c0d8f307c54..c98974abafc2 100644 --- a/keyboards/handwired/leftynumpad/rules.mk +++ b/keyboards/handwired/leftynumpad/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/lovelive9/lovelive9.c b/keyboards/handwired/lovelive9/lovelive9.c index 1ec8ae0527ca..c0198a8eaf26 100644 --- a/keyboards/handwired/lovelive9/lovelive9.c +++ b/keyboards/handwired/lovelive9/lovelive9.c @@ -1,7 +1 @@ #include "lovelive9.h" - - - -void matrix_init_kb(void) { - matrix_init_user(); -} diff --git a/keyboards/handwired/lovelive9/rules.mk b/keyboards/handwired/lovelive9/rules.mk index 4799b5ec9258..46591936fd86 100644 --- a/keyboards/handwired/lovelive9/rules.mk +++ b/keyboards/handwired/lovelive9/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. diff --git a/keyboards/handwired/magicforce61/magicforce61.c b/keyboards/handwired/magicforce61/magicforce61.c index 379395366d6e..420bbb80f5e1 100644 --- a/keyboards/handwired/magicforce61/magicforce61.c +++ b/keyboards/handwired/magicforce61/magicforce61.c @@ -1,8 +1 @@ #include "magicforce61.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} diff --git a/keyboards/handwired/magicforce61/rules.mk b/keyboards/handwired/magicforce61/rules.mk index b72fff09602b..f6fc624d746d 100644 --- a/keyboards/handwired/magicforce61/rules.mk +++ b/keyboards/handwired/magicforce61/rules.mk @@ -2,19 +2,12 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/magicforce68/magicforce68.c b/keyboards/handwired/magicforce68/magicforce68.c index 84b1007e2c5a..8d74f1438b95 100644 --- a/keyboards/handwired/magicforce68/magicforce68.c +++ b/keyboards/handwired/magicforce68/magicforce68.c @@ -1,8 +1 @@ #include "magicforce68.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} diff --git a/keyboards/handwired/magicforce68/rules.mk b/keyboards/handwired/magicforce68/rules.mk index 3989329835e6..4ad56990cfed 100644 --- a/keyboards/handwired/magicforce68/rules.mk +++ b/keyboards/handwired/magicforce68/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/marauder/config.h b/keyboards/handwired/marauder/config.h new file mode 100644 index 000000000000..450302d4d626 --- /dev/null +++ b/keyboards/handwired/marauder/config.h @@ -0,0 +1,71 @@ +/* Copyright 2021 BB-66 + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4D52 +#define PRODUCT_ID 0x0001 +#define DEVICE_VER 0x0001 +#define MANUFACTURER BB-66 +#define PRODUCT Minshara Marauder + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 9 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D2, D4, C6, D7, E6, B4, B5, B7, D5, C7, F1, F0 } +#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4, B0 } +#define DIODE_DIRECTION COL2ROW +#define LAYER_STATE_8BIT +#define USB_POLLING_INTERVAL_MS 1 //1000Hz polling rate +#define QMK_KEYS_PER_SCAN 12 // moar gaming code +#define RGB_DI_PIN D3 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 7 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +#endif + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/handwired/marauder/info.json b/keyboards/handwired/marauder/info.json new file mode 100644 index 000000000000..f8a0429b2fae --- /dev/null +++ b/keyboards/handwired/marauder/info.json @@ -0,0 +1,108 @@ +{ + "keyboard_name": "Minshara Marauder", + "url": "https://imgur.com/a/TvsXpq5", + "maintainer": "BB-66", + "width": 19.25, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"K00 (D0,B6)", "x":0, "y":0}, + {"label":"K01 (D0,B2)", "x":2, "y":0}, + {"label":"K02 (D0,B3)", "x":3, "y":0}, + {"label":"K03 (D0,B1)", "x":4, "y":0}, + {"label":"K04 (D0,F7)", "x":5, "y":0}, + {"label":"K05 (D0,F6)", "x":6.5, "y":0}, + {"label":"K06 (D0,F5)", "x":7.5, "y":0}, + {"label":"K07 (D0,F4)", "x":8.5, "y":0}, + {"label":"K08 (D0,B0)", "x":9.5, "y":0}, + {"label":"K68 (B5,B0)", "x":11, "y":0}, + {"label":"K67 (B5,F4)", "x":12, "y":0}, + {"label":"K66 (B5,F5)", "x":13, "y":0}, + {"label":"K65 (B5,F6)", "x":14, "y":0}, + {"label":"K63 (B5,B1)", "x":15.25, "y":0}, + {"label":"K62 (B5,B3)", "x":16.25, "y":0}, + {"label":"K61 (B5,B2)", "x":17.25, "y":0}, + {"label":"K60 (B5,B6)", "x":18.25, "y":0}, + {"label":"K10 (D4,B6)", "x":0, "y":1.5}, + {"label":"K11 (D4,B2)", "x":1, "y":1.5}, + {"label":"K12 (D4,B3)", "x":2, "y":1.5}, + {"label":"K13 (D4,B1)", "x":3, "y":1.5}, + {"label":"K14 (D4,F7)", "x":4, "y":1.5}, + {"label":"K15 (D4,F6)", "x":5, "y":1.5}, + {"label":"K16 (D4,F5)", "x":6, "y":1.5}, + {"label":"K17 (D4,F4)", "x":7, "y":1.5}, + {"label":"K18 (D4,B0)", "x":8, "y":1.5}, + {"label":"K78 (B7,B0)", "x":9, "y":1.5}, + {"label":"K77 (B7,F4)", "x":10, "y":1.5}, + {"label":"K76 (B7,F5)", "x":11, "y":1.5}, + {"label":"K75 (B7,F6)", "x":12, "y":1.5}, + {"label":"K74 (B7,F7)", "x":13, "y":1.5, "w":2}, + {"label":"K73 (B7,B1)", "x":15.25, "y":1.5}, + {"label":"K72 (B7,B3)", "x":16.25, "y":1.5}, + {"label":"K71 (B7,B2)", "x":17.25, "y":1.5}, + {"label":"K70 (B7,B6)", "x":18.25, "y":1.5}, + {"label":"K20 (C6,B6)", "x":0, "y":2.5, "w":1.5}, + {"label":"K21 (C6,B2)", "x":1.5, "y":2.5}, + {"label":"K22 (C6,B3)", "x":2.5, "y":2.5}, + {"label":"K23 (C6,B1)", "x":3.5, "y":2.5}, + {"label":"K24 (C6,F7)", "x":4.5, "y":2.5}, + {"label":"K25 (C6,F6)", "x":5.5, "y":2.5}, + {"label":"K26 (C6,F5)", "x":6.5, "y":2.5}, + {"label":"K27 (C6,F4)", "x":7.5, "y":2.5}, + {"label":"K28 (C6,B0)", "x":8.5, "y":2.5}, + {"label":"K88 (D5,B0)", "x":9.5, "y":2.5}, + {"label":"K87 (D5,F4)", "x":10.5, "y":2.5}, + {"label":"K86 (D5,F5)", "x":11.5, "y":2.5}, + {"label":"K85 (D5,F6)", "x":12.5, "y":2.5}, + {"label":"K84 (D5,F7)", "x":13.5, "y":2.5, "w":1.5}, + {"label":"K83 (D5,B1)", "x":15.25, "y":2.5}, + {"label":"K82 (D5,B3)", "x":16.25, "y":2.5}, + {"label":"K81 (D5,B2)", "x":17.25, "y":2.5}, + {"label":"K80 (D5,B6)", "x":18.25, "y":2.5, "h":2}, + {"label":"K30 (D7,B6)", "x":0, "y":3.5, "w":1.75}, + {"label":"K31 (D7,B2)", "x":1.75, "y":3.5}, + {"label":"K32 (D7,B3)", "x":2.75, "y":3.5}, + {"label":"K33 (D7,B1)", "x":3.75, "y":3.5}, + {"label":"K34 (D7,F7)", "x":4.75, "y":3.5}, + {"label":"K35 (D7,F6)", "x":5.75, "y":3.5}, + {"label":"K36 (D7,F5)", "x":6.75, "y":3.5}, + {"label":"K37 (D7,F4)", "x":7.75, "y":3.5}, + {"label":"K38 (D7,B0)", "x":8.75, "y":3.5}, + {"label":"K98 (C7,B0)", "x":9.75, "y":3.5}, + {"label":"K97 (C7,F4)", "x":10.75, "y":3.5}, + {"label":"K96 (C7,F5)", "x":11.75, "y":3.5}, + {"label":"K95 (C7,F6)", "x":12.75, "y":3.5, "w":2.25}, + {"label":"K93 (C7,B1)", "x":15.25, "y":3.5}, + {"label":"K92 (C7,B3)", "x":16.25, "y":3.5}, + {"label":"K91 (C7,B2)", "x":17.25, "y":3.5}, + {"label":"K40 (E6,B6)", "x":0, "y":4.5, "w":2.25}, + {"label":"K41 (E6,B2)", "x":2.25, "y":4.5}, + {"label":"K42 (E6,B3)", "x":3.25, "y":4.5}, + {"label":"K43 (E6,B1)", "x":4.25, "y":4.5}, + {"label":"K44 (E6,F7)", "x":5.25, "y":4.5}, + {"label":"K45 (E6,F6)", "x":6.25, "y":4.5}, + {"label":"K46 (E6,F5)", "x":7.25, "y":4.5}, + {"label":"K47 (E6,F4)", "x":8.25, "y":4.5}, + {"label":"K48 (E6,B0)", "x":9.25, "y":4.5}, + {"label":"KA8 (F1,B0)", "x":10.25, "y":4.5}, + {"label":"KA7 (F1,F4)", "x":11.25, "y":4.5}, + {"label":"KA6 (F1,F5)", "x":12.25, "y":4.5, "w":2.75}, + {"label":"KA3 (F1,B1)", "x":15.25, "y":4.5}, + {"label":"KA2 (F1,B3)", "x":16.25, "y":4.5}, + {"label":"KA1 (F1,B2)", "x":17.25, "y":4.5}, + {"label":"KA0 (F1,B6)", "x":18.25, "y":4.5, "h":2}, + {"label":"K50 (B4,B6)", "x":0, "y":5.5, "w":1.5}, + {"label":"K51 (B4,B2)", "x":1.5, "y":5.5}, + {"label":"K52 (B4,B3)", "x":2.5, "y":5.5, "w":1.5}, + {"label":"K56 (B4,F5)", "x":4, "y":5.5, "w":7}, + {"label":"KB7 (F0,F4)", "x":11, "y":5.5, "w":1.5}, + {"label":"KB6 (F0,F5)", "x":12.5, "y":5.5}, + {"label":"KB4 (F0,F7)", "x":13.5, "y":5.5, "w":1.5}, + {"label":"KB3 (F0,B1)", "x":15.25, "y":5.5, "w":2}, + {"label":"KB1 (F0,B2)", "x":17.25, "y":5.5} + ] + } + } + ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/" +} diff --git a/keyboards/handwired/marauder/keymaps/default/keymap.c b/keyboards/handwired/marauder/keymaps/default/keymap.c new file mode 100644 index 000000000000..932138e27c27 --- /dev/null +++ b/keyboards/handwired/marauder/keymaps/default/keymap.c @@ -0,0 +1,29 @@ +/* Copyright 2021 BB-66 + * + * 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_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_PAUS, KC_PSCR, KC_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT + ), + +}; diff --git a/keyboards/handwired/marauder/keymaps/orvia/keymap.c b/keyboards/handwired/marauder/keymaps/orvia/keymap.c new file mode 100644 index 000000000000..87a0a93cc74a --- /dev/null +++ b/keyboards/handwired/marauder/keymaps/orvia/keymap.c @@ -0,0 +1,198 @@ +/* Copyright 2021 BB-66 + * + * 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 +bool is_alt_tab_active = false; +uint16_t alt_tab_timer = 0; + +char wpm_str[4]; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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_PAUS, KC_PSCR, KC_SLCK, 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_NLCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, + 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_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, + 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_KP_4, KC_KP_5, KC_KP_6, + 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_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_KP_0, KC_KP_DOT + ), + [1] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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 + ), + [2] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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 + ), + [3] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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 + ), + +}; + + +#ifdef OLED_ENABLE +// WPM-responsive animation stuff here +# define IDLE_FRAMES 5 +# define IDLE_SPEED 20 // below this wpm value your animation will idle + +// #define PREP_FRAMES 1 // uncomment if >1 + +# define TAP_FRAMES 2 +# define TAP_SPEED 40 // above this wpm value typing animation to trigger + +# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms +// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing +# define ANIM_SIZE 610 // number of bytes in array, minimize for adequate firmware size, max is 1024 + +uint32_t anim_timer = 0; +uint32_t anim_sleep = 0; +uint8_t current_idle_frame = 0; +// uint8_t current_prep_frame = 0; // uncomment if PREP_FRAMES >1 +uint8_t current_tap_frame = 0; + +// Code containing pixel art, contains: +// 5 idle frames, 1 prep frame, and 2 tap frames + +// To make your own pixel art: +// save a png/jpeg of an 128x32 image (resource: https://www.pixilart.com/draw ) +// follow this guide up to and including "CONVERT YOUR IMAGE" https://docs.splitkb.com/hc/en-us/articles/360013811280-How-do-I-convert-an-image-for-use-on-an-OLED-display- +// replace numbers in brackets with your own +// if you start getting errors when compiling make sure you didn't accedentally delete a bracket +static void render_anim(void) { + static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x82, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x60, 0x60, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x86, 0x86, 0x40, 0x40, 0x40, 0x40, 0x21, 0x22, 0x22, 0x20, 0x11, 0x11, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x34, 0xc4, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0d, 0x31, 0xc1, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; + static const char PROGMEM prep[][ANIM_SIZE] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; + static const char PROGMEM tap[TAP_FRAMES][ANIM_SIZE] = { + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x64, 0x18, 0x04, 0x12, 0xc2, 0xca, 0x24, 0x88, 0xf0, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x41, 0x42, 0x24, 0x98, 0xc0, 0x88, 0x88, 0x8c, 0x9c, 0x1c, 0x1e, 0x0e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc1, 0x01, 0x01, 0x02, 0x02, 0x04, 0x84, 0x44, 0x44, 0x42, 0x82, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x80, 0x80, 0x40, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x06, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x02, 0x18, 0x19, 0x00, 0x05, 0xfe, 0x80, 0x83, 0x83, 0x40, 0x40, 0x40, 0x40, 0x20, 0x21, 0x21, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x30, 0x40, 0x80, 0x80, 0x00, 0x00, 0x01, 0x86, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x0f, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0f, 0x07, 0x03, 0x03, 0x61, 0xf0, 0xf8, 0xfc, 0x60, 0x01, 0x01, 0x01, 0x3c, 0x78, 0xf8, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + }; + + // assumes 1 frame prep stage + void animation_phase(void) { + if (get_current_wpm() <= IDLE_SPEED) { + current_idle_frame = (current_idle_frame + 1) % IDLE_FRAMES; + oled_write_raw_P(idle[abs((IDLE_FRAMES - 1) - current_idle_frame)], ANIM_SIZE); + } + if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) { + // oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1 + oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1 + } + if (get_current_wpm() >= TAP_SPEED) { + current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES; + oled_write_raw_P(tap[abs((TAP_FRAMES - 1) - current_tap_frame)], ANIM_SIZE); + } + } + if (get_current_wpm() != 000) { + oled_on(); // not essential but turns on animation OLED with any alpha keypress + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + anim_sleep = timer_read32(); + } else { + if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { + oled_off(); + } else { + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + animation_phase(); + } + } + } +} + +// Used to draw on to the oled screen +void oled_task_user(void) { + render_anim(); // renders pixelart + + oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (4 rows, 21 full columns on a 128x32 screen, anything more will overflow back to the top) + uint8_t n = get_current_wpm(); + wpm_str[3] = '\0'; + wpm_str[2] = '0' + n % 10; + wpm_str[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' '; + wpm_str[0] = n / 10 ? '0' + n / 10 : ' '; + oled_write_P(PSTR("WPM:"), false); + oled_write(wpm_str, false); + + led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on + oled_set_cursor(0, 1); + oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); + oled_set_cursor(0, 2); + oled_write_P(led_state.num_lock ? PSTR("NUM") : PSTR(" "), false); + oled_set_cursor(4, 2); + oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false); + oled_set_cursor(0, 3); + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR("Base Layer\n"), false); + break; + case 1: + oled_write_P(PSTR("Base Enhanced\n"), false); + break; + case 2: + oled_write_P(PSTR("Gaming\n"), false); + break; + case 3: + oled_write_P(PSTR("Gaming Enh\n"), false); + break; + default: + oled_write_ln_P(PSTR("Undefined"), false); + } + oled_set_cursor(17, 3); + oled_write_P(PSTR("NKRO"), keymap_config.nkro); +} +#endif diff --git a/keyboards/handwired/marauder/keymaps/orvia/rules.mk b/keyboards/handwired/marauder/keymaps/orvia/rules.mk new file mode 100644 index 000000000000..9b5ee6b6fa52 --- /dev/null +++ b/keyboards/handwired/marauder/keymaps/orvia/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # OLED Driver Enable +WPM_ENABLE = yes # WPM counting Enable diff --git a/keyboards/handwired/marauder/keymaps/via/keymap.c b/keyboards/handwired/marauder/keymaps/via/keymap.c new file mode 100644 index 000000000000..c0adf6bd4628 --- /dev/null +++ b/keyboards/handwired/marauder/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2021 BB-66 + * + * 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_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_PAUS, KC_PSCR, KC_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT + ), + [1] = LAYOUT( + 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_PAUS, KC_PSCR, KC_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT + ), + [2] = LAYOUT( + 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_PAUS, KC_PSCR, KC_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT + ), + [3] = LAYOUT( + 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_PAUS, KC_PSCR, KC_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT + ), +}; diff --git a/keyboards/handwired/marauder/keymaps/via/rules.mk b/keyboards/handwired/marauder/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/marauder/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/marauder/marauder.c b/keyboards/handwired/marauder/marauder.c new file mode 100644 index 000000000000..2b2039f1055f --- /dev/null +++ b/keyboards/handwired/marauder/marauder.c @@ -0,0 +1,20 @@ +/* Copyright 2021 BB-66 + * + * 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 "marauder.h" + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/handwired/marauder/marauder.h b/keyboards/handwired/marauder/marauder.h new file mode 100644 index 000000000000..fc97b1d64213 --- /dev/null +++ b/keyboards/handwired/marauder/marauder.h @@ -0,0 +1,44 @@ +/* Copyright 2021 BB-66 + * + * 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 "quantum.h" + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K68, K67, K66, K65, K63, K62, K61, K60, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K77, K76, K75, K74, K73, K72, K71, K70, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K86, K85, K84, K83, K82, K81, K80, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K96, K95, K93, K92, K91, \ + K40, K41, K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA6, KA3, KA2, KA1, KA0, \ + K50, K51, K52, K56, KB7, KB6, KB4, KB3, KB1 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38 }, \ + { K40, K41, K42, K43, K44, K45, K46, K47, K48 }, \ + { K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO }, \ + { K60, K61, K62, K63, KC_NO, K65, K66, K67, K68 }, \ + { K70, K71, K72, K73, K74, K75, K76, K77, K78 }, \ + { K80, K81, K82, K83, K84, K85, K86, K87, K88 }, \ + { KC_NO, K91, K92, K93, KC_NO, K95, K96, K97, K98 }, \ + { KA0, KA1, KA2, KA3, KC_NO, KC_NO, KA6, KA7, KA8 }, \ + { KC_NO, KB1, KC_NO, KB3, KB4, KC_NO, KB6, KB7, KC_NO }, \ +} + +// generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/handwired/marauder/readme.md b/keyboards/handwired/marauder/readme.md new file mode 100644 index 000000000000..914aaab078d8 --- /dev/null +++ b/keyboards/handwired/marauder/readme.md @@ -0,0 +1,18 @@ +# Marauder + +90% hand-wired mechanical keyboard in an old Razer case; built around an Elite-C v3.1 controller. Features a 128x32 OLED screen and RGB. + +[Build Log](https://imgur.com/a/TvsXpq5) + +* Keyboard Maintainer: [BB-66](https://github.com/BB-66) +* Hardware Supported: Elite-C, Razer Marauder + +Make example for this keyboard (after setting up your build environment): + + make handwired/marauder:default + +Flashing example for this keyboard: + + make handwired/marauder: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). diff --git a/keyboards/handwired/marauder/rules.mk b/keyboards/handwired/marauder/rules.mk new file mode 100644 index 000000000000..54e43dd5a214 --- /dev/null +++ b/keyboards/handwired/marauder/rules.mk @@ -0,0 +1,26 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes # Link Time Optimization, shrinks the output slightly + +# generated by KBFirmware JSON to QMK Parser +# https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/handwired/mechboards_micropad/config.h b/keyboards/handwired/mechboards_micropad/config.h index 7006f50c0dff..fbeb07ab61ba 100644 --- a/keyboards/handwired/mechboards_micropad/config.h +++ b/keyboards/handwired/mechboards_micropad/config.h @@ -188,26 +188,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c b/keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c index 41784c5204c4..7d8371841934 100644 --- a/keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c +++ b/keyboards/handwired/mechboards_micropad/keymaps/default/keymap.c @@ -74,11 +74,3 @@ void matrix_init_user(void) { setPinOutput(F6); writePinLow(F6); } - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/mechboards_micropad/mechboards_micropad.c b/keyboards/handwired/mechboards_micropad/mechboards_micropad.c index d4c8fa9b9286..662af8815e5c 100644 --- a/keyboards/handwired/mechboards_micropad/mechboards_micropad.c +++ b/keyboards/handwired/mechboards_micropad/mechboards_micropad.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "mechboards_micropad.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/handwired/mechboards_micropad/rules.mk b/keyboards/handwired/mechboards_micropad/rules.mk index 6c03d99a45f6..5f0474f0cc89 100644 --- a/keyboards/handwired/mechboards_micropad/rules.mk +++ b/keyboards/handwired/mechboards_micropad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/minorca/keymaps/ridingqwerty/rules.mk b/keyboards/handwired/minorca/keymaps/ridingqwerty/rules.mk index c3cea9618ebf..2a28f5acab93 100644 --- a/keyboards/handwired/minorca/keymaps/ridingqwerty/rules.mk +++ b/keyboards/handwired/minorca/keymaps/ridingqwerty/rules.mk @@ -2,5 +2,5 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite UNICODEMAP_ENABLE = yes # Unicode Map diff --git a/keyboards/handwired/minorca/rules.mk b/keyboards/handwired/minorca/rules.mk index 64837b88ee6c..3eb225434397 100644 --- a/keyboards/handwired/minorca/rules.mk +++ b/keyboards/handwired/minorca/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c index d4d0f33e9c87..860f6d31119f 100644 --- a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c +++ b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/keymap.c @@ -26,19 +26,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, RSFT(KC_1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk index 3955a3ff4276..48257ecc20f0 100644 --- a/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk +++ b/keyboards/handwired/ms_sculpt_mobile/keymaps/default/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -12,6 +12,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk index ddfea8255672..6d1eae2bf92a 100644 --- a/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk +++ b/keyboards/handwired/ms_sculpt_mobile/keymaps/milestogo/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/handwired/ms_sculpt_mobile/rules.mk b/keyboards/handwired/ms_sculpt_mobile/rules.mk index d38138bbb854..4f22e86d1aee 100644 --- a/keyboards/handwired/ms_sculpt_mobile/rules.mk +++ b/keyboards/handwired/ms_sculpt_mobile/rules.mk @@ -1,28 +1,18 @@ ifdef ASTAR MCU = atmega32u4 CFLAGS = -D ASTAR - USB = /dev/cu.usbmodem14141 - SCULPT_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done ; avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB) else MCU = at90usb1286 - SCULPT_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex endif # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp ifdef ASTAR BOOTLOADER = caterina else BOOTLOADER = atmel-dfu endif -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -32,7 +22,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/myskeeb/rules.mk b/keyboards/handwired/myskeeb/rules.mk index 9ab0549733d4..f35768463471 100644 --- a/keyboards/handwired/myskeeb/rules.mk +++ b/keyboards/handwired/myskeeb/rules.mk @@ -2,18 +2,11 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -24,11 +17,11 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -MIDI_ENABLE = no # MIDI controls BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode SPLIT_KEYBOARD = yes # Enables split keyboard support -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 NO_USB_STARTUP_CHECK = yes TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/nicekey/rules.mk b/keyboards/handwired/nicekey/rules.mk index 61c1fa79aa5c..913b5f6ae404 100644 --- a/keyboards/handwired/nicekey/rules.mk +++ b/keyboards/handwired/nicekey/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/handwired/not_so_minidox/keymaps/mtdjr/config.h b/keyboards/handwired/not_so_minidox/keymaps/mtdjr/config.h deleted file mode 100644 index c3c4a1b6973e..000000000000 --- a/keyboards/handwired/not_so_minidox/keymaps/mtdjr/config.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#define SOLENOID_ENABLE -#define SOLENOID_PIN F6 -#define SOLENOID_ACTIVE true diff --git a/keyboards/handwired/not_so_minidox/keymaps/mtdjr/keymap.c b/keyboards/handwired/not_so_minidox/keymaps/mtdjr/keymap.c deleted file mode 100644 index 01c64d8701b6..000000000000 --- a/keyboards/handwired/not_so_minidox/keymaps/mtdjr/keymap.c +++ /dev/null @@ -1,56 +0,0 @@ -#include QMK_KEYBOARD_H -#include "mtdjr.h" - -extern keymap_config_t keymap_config; - -#define KC_LOCK TD(TD_ALTLOCK) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT_kc( - // ,----+-----+-----+-----+-----+-----, ,----+-----+-----+-----+-----+-----, - TAB, Q, W, E, R, T, Y, U, I, O, P, BSPC, - // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----| - LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, - // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----| - LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT, - // |----+-----+-----+-----+-----+-----|-, ,-|----+-----+-----+-----+-----+-----| - LGUI, LOWR, SPC, SPC, RASE, LOCK - // `----+-----+-----` `----+-----+-----` - ), - - [_LOWER] = LAYOUT_kc( - // ,----+-----+-----+-----+-----+-----, ,----+-----+-----+-----+-----+-----, - ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, DEL, - // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----| - , , , , , , , , , LCBR, RCBR, BSLS, - // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----| - , , , XCPY, XINS, , , , , , , , - // |----+-----+-----+-----+-----+-----|-, ,-|----+-----+-----+-----+-----+-----| - , , , , , - // `----+-----+-----` `----+-----+-----` - ), - - [_RAISE] = LAYOUT_kc( - // ,----+-----+-----+-----+-----+-----, ,----+-----+-----+-----+-----+-----, - GRV, EXLM, AT, HASH, DLR, PERC, CIRC, AMPR, ASTR, LPRN, RPRN, DEL, - // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----| - , , , , MINS, EQL, , , UP, LBRC, RBRC, PIPE, - // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----| - , , , , , , , LEFT, DOWN, RGHT, , , - // |----+-----+-----+-----+-----+-----|-, ,-|----+-----+-----+-----+-----+-----| - , , , , , - // `----+-----+-----` `----+-----+-----` - ), - [_ADJUST] = LAYOUT_kc( - // ,----+-----+-----+-----+-----+-----, ,----+-----+-----+-----+-----+-----, - STOG, xxxx, xxxx, xxxx, RST, xxxx, ROOT, PPLY, PSEF, xxxx, xxxx, CAD, - // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----| - SDM, SDP, SBOF, SBON, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, - // |----+-----+-----+-----+-----+-----| |----+-----+-----+-----+-----+-----| - xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, xxxx, - // |----+-----+-----+-----+-----+-----|-, ,-|----+-----+-----+-----+-----+-----| - xxxx, , xxxx, xxxx, , xxxx - // `----+-----+-----` `----+-----+-----` - ) -}; diff --git a/keyboards/handwired/not_so_minidox/not_so_minidox.h b/keyboards/handwired/not_so_minidox/not_so_minidox.h index 05e7bc4914f8..c24a515e43e1 100644 --- a/keyboards/handwired/not_so_minidox/not_so_minidox.h +++ b/keyboards/handwired/not_so_minidox/not_so_minidox.h @@ -21,22 +21,4 @@ { KC_NO, KC_NO, KC_NO, RT1, RT2, RT3 }, \ } -// Used to create a keymap using only KC_ prefixed keys -#define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \ - L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \ - L20, L21, L22, L23, L24, L25, R25, R24, R23, R22, R21, R20, \ - LT1, LT2, LT3, RT3, RT2, RT1 \ - ) \ - { \ - { KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05 }, \ - { KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15 }, \ - { KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25 }, \ - { KC_NO, KC_NO, KC_NO, KC_##LT1, KC_##LT2, KC_##LT3 }, \ - { KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05 }, \ - { KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15 }, \ - { KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25 }, \ - { KC_NO, KC_NO, KC_NO, KC_##RT1, KC_##RT2, KC_##RT3 }, \ - } - #endif diff --git a/keyboards/handwired/not_so_minidox/rules.mk b/keyboards/handwired/not_so_minidox/rules.mk index 6e87d7545cba..3ec143583038 100644 --- a/keyboards/handwired/not_so_minidox/rules.mk +++ b/keyboards/handwired/not_so_minidox/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/handwired/novem/rules.mk b/keyboards/handwired/novem/rules.mk index 21e28e680f51..db43ce7d4e8b 100644 --- a/keyboards/handwired/novem/rules.mk +++ b/keyboards/handwired/novem/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/numpad20/numpad20.c b/keyboards/handwired/numpad20/numpad20.c index 101cf2cb4b10..50766b78571b 100644 --- a/keyboards/handwired/numpad20/numpad20.c +++ b/keyboards/handwired/numpad20/numpad20.c @@ -1,8 +1 @@ #include "numpad20.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} diff --git a/keyboards/handwired/numpad20/rules.mk b/keyboards/handwired/numpad20/rules.mk index b5e96d74bf53..5a55e085d9f8 100644 --- a/keyboards/handwired/numpad20/rules.mk +++ b/keyboards/handwired/numpad20/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c index 1854894e562c..482287740f50 100644 --- a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c +++ b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/keymap.c @@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P1, KC_P2, KC_P3, \ KC_P0, KC_PDOT, KC_PENT \ ), - + /* Keymap ONE: Util Layer * * ,---. ,---. @@ -341,7 +341,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { void matrix_init_user(void) { set_unicode_input_mode(UC_WINC); }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void oled_task_user(void) { oled_write_P(PSTR(" spaget v1\n\n"), false); @@ -371,7 +371,7 @@ void oled_task_user(void) { } #endif -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if(IS_LAYER_ON(BASE)) { if (index == 0) { /* First encoder */ if (clockwise) { @@ -432,4 +432,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { } } } + return true; } diff --git a/keyboards/handwired/obuwunkunubi/spaget/rules.mk b/keyboards/handwired/obuwunkunubi/spaget/rules.mk index 8be738f3ec0b..a73d4c7f99c4 100644 --- a/keyboards/handwired/obuwunkunubi/spaget/rules.mk +++ b/keyboards/handwired/obuwunkunubi/spaget/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -22,13 +15,13 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no UNICODE_ENABLE = yes # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend AUDIO_ENABLE = no # Audio output on port C6 -OLED_DRIVER_ENABLE = yes # Enable OLED display support +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enable OLED display support ENCODER_ENABLE = yes # Enable encoder support diff --git a/keyboards/handwired/oem_ansi_fullsize/config.h b/keyboards/handwired/oem_ansi_fullsize/config.h new file mode 100644 index 000000000000..7219bd3403a0 --- /dev/null +++ b/keyboards/handwired/oem_ansi_fullsize/config.h @@ -0,0 +1,159 @@ +/* +Copyright 2021 Cian Johnston + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Cian Johnston +#define PRODUCT oem_ansi_fullsize + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 22 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ + +#define MATRIX_ROW_PINS \ + { F5, F4, F3, F2, F1, F0 } +// R0 R1 R2 R3 R4 R5 + +#define MATRIX_COL_PINS \ + { C3, C2, C1, C0, E1, E0, D7, E6, D5, D4, D3, D2, D1, D0, B7, B0, B1, B2, B3, B4, B5, F6 } +// C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF CG CH CI CJ CK CL + +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/oem_ansi_fullsize/info.json b/keyboards/handwired/oem_ansi_fullsize/info.json new file mode 100644 index 000000000000..27a44da885f4 --- /dev/null +++ b/keyboards/handwired/oem_ansi_fullsize/info.json @@ -0,0 +1,122 @@ +{ + "keyboard_name": "oem_ansi_fullsize", + "url": "https://github.com/johnstcn/qmk", + "maintainer": "johnstcn", + "width": 22.5, + "height": 6.25, + "layouts": { + "LAYOUT_fullsize_ansi": { + "layout": [ + {"matrix": [0, 0], "label": "ESC", "x":0, "y":0}, + {"matrix": [0, 2], "label": "F1", "x":2, "y":0}, + {"matrix": [0, 3], "label": "F2", "x":3, "y":0}, + {"matrix": [0, 4], "label": "F3", "x":4, "y":0}, + {"matrix": [0, 5], "label": "F4", "x":5, "y":0}, + {"matrix": [0, 7], "label": "F5", "x":6.5, "y":0}, + {"matrix": [0, 8], "label": "F6", "x":7.5, "y":0}, + {"matrix": [0, 9], "label": "F7", "x":8.5, "y":0}, + {"matrix": [0, 10], "label": "F8", "x":9.5, "y":0}, + {"matrix": [0, 11], "label": "F9", "x":11, "y":0}, + {"matrix": [0, 12], "label": "F10", "x":12, "y":0}, + {"matrix": [0, 13], "label": "F11", "x":13, "y":0}, + {"matrix": [0, 14], "label": "F12", "x":14, "y":0}, + {"matrix": [0, 15], "label": "PSCR", "x":15.25, "y":0}, + {"matrix": [0, 16], "label": "SLCK", "x":16.25, "y":0}, + {"matrix": [0, 17], "label": "PAUS", "x":17.25, "y":0}, + + {"matrix": [1, 0], "label": "GRV", "x":0, "y":1.25}, + {"matrix": [1, 1], "label": "1", "x":1, "y":1.25}, + {"matrix": [1, 2], "label": "2", "x":2, "y":1.25}, + {"matrix": [1, 3], "label": "3", "x":3, "y":1.25}, + {"matrix": [1, 4], "label": "4", "x":4, "y":1.25}, + {"matrix": [1, 5], "label": "5", "x":5, "y":1.25}, + {"matrix": [1, 6], "label": "6", "x":6, "y":1.25}, + {"matrix": [1, 7], "label": "7", "x":7, "y":1.25}, + {"matrix": [1, 8], "label": "8", "x":8, "y":1.25}, + {"matrix": [1, 9], "label": "9", "x":9, "y":1.25}, + {"matrix": [1, 10], "label": "0", "x":10, "y":1.25}, + {"matrix": [1, 11], "label": "MINS", "x":11, "y":1.25}, + {"matrix": [1, 12], "label": "EQL", "x":12, "y":1.25}, + {"matrix": [1, 14], "label": "BSPC", "x":13, "y":1.25, "w":2}, + {"matrix": [1, 15], "label": "INS", "x":15.25, "y":1.25}, + {"matrix": [1, 16], "label": "HOME", "x":16.25, "y":1.25}, + {"matrix": [1, 17], "label": "PGUP", "x":17.25, "y":1.25}, + {"matrix": [1, 18], "label": "NLCK", "x":18.5, "y":1.25}, + {"matrix": [1, 19], "label": "PSLS", "x":19.5, "y":1.25}, + {"matrix": [1, 20], "label": "PAST", "x":20.5, "y":1.25}, + {"matrix": [1, 21], "label": "PMNS", "x":21.5, "y":1.25}, + + {"matrix": [2, 0], "label": "TAB", "x":0, "y":2.25, "w":1.5}, + {"matrix": [2, 2], "label": "Q", "x":1.5, "y":2.25}, + {"matrix": [2, 3], "label": "W", "x":2.5, "y":2.25}, + {"matrix": [2, 4], "label": "E", "x":3.5, "y":2.25}, + {"matrix": [2, 5], "label": "R", "x":4.5, "y":2.25}, + {"matrix": [2, 6], "label": "T", "x":5.5, "y":2.25}, + {"matrix": [2, 7], "label": "Y", "x":6.5, "y":2.25}, + {"matrix": [2, 8], "label": "U", "x":7.5, "y":2.25}, + {"matrix": [2, 9], "label": "I", "x":8.5, "y":2.25}, + {"matrix": [2, 10], "label": "O", "x":9.5, "y":2.25}, + {"matrix": [2, 11], "label": "P", "x":10.5, "y":2.25}, + {"matrix": [2, 12], "label": "LBRC", "x":11.5, "y":2.25}, + {"matrix": [2, 13], "label": "RBRC", "x":12.5, "y":2.25}, + {"matrix": [2, 14], "label": "BSLS", "x":13.5, "y":2.25, "w":1.5}, + {"matrix": [2, 15], "label": "DEL", "x":15.25, "y":2.25}, + {"matrix": [2, 16], "label": "END", "x":16.25, "y":2.25}, + {"matrix": [2, 17], "label": "PGDN", "x":17.25, "y":2.25}, + {"matrix": [2, 18], "label": "P7", "x":18.5, "y":2.25}, + {"matrix": [2, 19], "label": "P8", "x":19.5, "y":2.25}, + {"matrix": [2, 20], "label": "P9", "x":20.5, "y":2.25}, + {"matrix": [2, 21], "label": "PPLS", "x":21.5, "y":2.25, "h": 2}, + + {"matrix": [3, 0], "label": "CAPS", "x":0, "y":3.25, "w":1.75}, + {"matrix": [3, 2], "label": "A", "x":1.75, "y":3.25}, + {"matrix": [3, 3], "label": "S", "x":2.75, "y":3.25}, + {"matrix": [3, 4], "label": "D", "x":3.75, "y":3.25}, + {"matrix": [3, 5], "label": "F", "x":4.75, "y":3.25}, + {"matrix": [3, 6], "label": "G", "x":5.75, "y":3.25}, + {"matrix": [3, 7], "label": "H", "x":6.75, "y":3.25}, + {"matrix": [3, 8], "label": "J", "x":7.75, "y":3.25}, + {"matrix": [3, 9], "label": "K", "x":8.75, "y":3.25}, + {"matrix": [3, 10], "label": "L", "x":9.75, "y":3.25}, + {"matrix": [3, 11], "label": "SCLN", "x":10.75, "y":3.25}, + {"matrix": [3, 12], "label": "QUOT", "x":11.75, "y":3.25}, + {"matrix": [3, 13], "label": "ENT", "x":12.75, "y":3.25, "w":2.25}, + {"matrix": [3, 18], "label": "P4", "x":18.5, "y":3.25}, + {"matrix": [3, 19], "label": "P5", "x":19.5, "y":3.25}, + {"matrix": [3, 20], "label": "P6", "x":20.5, "y":3.25}, + + {"matrix": [4, 1], "label": "LSFT", "x":0, "y":4.25, "w":2.25}, + {"matrix": [4, 2], "label": "Z", "x":2.25, "y":4.25}, + {"matrix": [4, 3], "label": "X", "x":3.25, "y":4.25}, + {"matrix": [4, 4], "label": "C", "x":4.25, "y":4.25}, + {"matrix": [4, 5], "label": "V", "x":5.25, "y":4.25}, + {"matrix": [4, 6], "label": "B", "x":6.25, "y":4.25}, + {"matrix": [4, 7], "label": "N", "x":7.25, "y":4.25}, + {"matrix": [4, 8], "label": "M", "x":8.25, "y":4.25}, + {"matrix": [4, 9], "label": "COMM", "x":9.25, "y":4.25}, + {"matrix": [4, 10], "label": "DOT", "x":10.25, "y":4.25}, + {"matrix": [4, 11], "label": "SLSH", "x":11.25, "y":4.25}, + {"matrix": [4, 13], "label": "RSFT", "x":12.25, "y":4.25, "w":2.75}, + {"matrix": [4, 16], "label": "UP", "x":16.25, "y":4.25}, + {"matrix": [4, 18], "label": "P1", "x":18.5, "y":4.25}, + {"matrix": [4, 19], "label": "P2", "x":19.5, "y":4.25}, + {"matrix": [4, 20], "label": "P3", "x":20.5, "y":4.25}, + {"matrix": [4, 21], "label": "PENT", "x":21.5, "y":4.25, "h":2}, + + {"matrix": [5, 0], "label": "LCTL", "x":0, "y":5.25, "w":1.25}, + {"matrix": [5, 1], "label": "LGUI", "x":1.25, "y":5.25, "w":1.25}, + {"matrix": [5, 3], "label": "LALT", "x":2.5, "y":5.25, "w":1.25}, + {"matrix": [5, 6], "label": "SPC", "x":3.75, "y":5.25, "w":6.25}, + {"matrix": [5, 10], "label": "RALT", "x":10, "y":5.25, "w":1.25}, + {"matrix": [5, 11], "label": "RGUI", "x":11.25, "y":5.25, "w":1.25}, + {"matrix": [5, 13], "label": "MO(1)", "x":12.5, "y":5.25, "w":1.25}, + {"matrix": [5, 14], "label": "RCTL", "x":13.75, "y":5.25, "w":1.25}, + {"matrix": [5, 15], "label": "LEFT", "x":15.25, "y":5.25}, + {"matrix": [5, 16], "label": "DOWN", "x":16.25, "y":5.25}, + {"matrix": [5, 17], "label": "RGHT", "x":17.25, "y":5.25}, + {"matrix": [5, 18], "label": "P0", "x":18.5, "y":5.25, "w":2}, + {"matrix": [5, 20], "label": "PDOT", "x":20.5, "y":5.25} + ] + } + } +} diff --git a/keyboards/handwired/oem_ansi_fullsize/keymaps/default/keymap.c b/keyboards/handwired/oem_ansi_fullsize/keymaps/default/keymap.c new file mode 100644 index 000000000000..48290896fc81 --- /dev/null +++ b/keyboards/handwired/oem_ansi_fullsize/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +/* Copyright 2021 Cian Johnston + * + * 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 + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_fullsize_ansi( + 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_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + 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_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), +}; +// clang-format on + diff --git a/keyboards/handwired/oem_ansi_fullsize/keymaps/default/readme.md b/keyboards/handwired/oem_ansi_fullsize/keymaps/default/readme.md new file mode 100644 index 000000000000..882181d208d4 --- /dev/null +++ b/keyboards/handwired/oem_ansi_fullsize/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for oem_ansi_fullsize diff --git a/keyboards/handwired/oem_ansi_fullsize/oem_ansi_fullsize.c b/keyboards/handwired/oem_ansi_fullsize/oem_ansi_fullsize.c new file mode 100644 index 000000000000..14004599aac0 --- /dev/null +++ b/keyboards/handwired/oem_ansi_fullsize/oem_ansi_fullsize.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Cian Johnston + * + * 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 "oem_ansi_fullsize.h" diff --git a/keyboards/handwired/oem_ansi_fullsize/oem_ansi_fullsize.h b/keyboards/handwired/oem_ansi_fullsize/oem_ansi_fullsize.h new file mode 100644 index 000000000000..ceb873393cc8 --- /dev/null +++ b/keyboards/handwired/oem_ansi_fullsize/oem_ansi_fullsize.h @@ -0,0 +1,72 @@ +/* Copyright 2021 Cian Johnston + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ + +/* Matrix col/row mapping + * + * 10 11 12 13 14 15 16 17 18 19 20 21 + * C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF CG CH CI CJ CK CL + * ┌───┐ ┌───┐┌───┐┌───┐┌───┐ ┌───┐┌───┐┌───┐┌───┐ ┌───┐┌───┐┌───┐┌───┐ ┌───┐┌───┐┌───┐ + * R0 │K00│ │K02││K03││K04││K05│ │K07││K08││K09││K0A│ │K0B││K0C││K0D││K0E│ │K0F││K0G││K0H│ + * └───┘ └───┘└───┘└───┘└───┘ └───┘└───┘└───┘└───┘ └───┘└───┘└───┘└───┘ └───┘└───┘└───┘ + * + * ┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───────┐ ┌───┐┌───┐┌───┐ ┌───┐┌───┐┌───┐┌───┐ + * R1 │K10││K11││K12││K13││K14││K15││K16││K17││K18││K19││K1A││K1B││K1C││ K1E │ │K1F││K1G││K1H│ │K1I││K1J││K1K││K1L│ + * └───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───────┘ └───┘└───┘└───┘ └───┘└───┘└───┘└───┘ + * ┌─────┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌─────┐ ┌───┐┌───┐┌───┐ ┌───┐┌───┐┌───┐┌───┐ + * R2 │ K20 ││K22││K23││K24││K25││K26││K27││K28││K29││K2A││K2B││K2C││K2D││ K2E │ │K2F││K2G││K2H│ │K2I││K2J││K2K││ │ + * └─────┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└─────┘ └───┘└───┘└───┘ └───┘└───┘└───┘│K2L│ + * ┌───────┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌────────┐ ┌───┐┌───┐┌───┐│ │ + * R3 │ K30 ││K32││K33││K34││K35││K36││K37││K38││K39││K3A││K3B││K3C││ K3D │ │K3I││K3J││K3K││ │ + * └───────┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└────────┘ └───┘└───┘└───┘└───┘ + * ┌─────────┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐┌───────────┐ ┌───┐ ┌───┐┌───┐┌───┐┌───┐ + * R4 │ K41 ││K42││K43││K44││K45││K46││K47││K48││K49││K4A││K4B││ K4D │ │K4G│ │K4I││K4J││K4K││ │ + * └─────────┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───┘└───────────┘ └───┘ └───┘└───┘└───┘│K4L│ + * ┌────┐┌────┐┌────┐┌──────────────────────────────┐┌────┐┌────┐┌────┐┌────┐ ┌───┐┌───┐┌───┐ ┌────────┐┌───┐│ │ + * R5 │K50 ││K51 ││K53 ││ K56 ││K5A ││K5B ││K5D ││K5E │ │K5F││K5G││K5H│ │ K5I ││K5K││ │ + * └────┘└────┘└────┘└──────────────────────────────┘└────┘└────┘└────┘└────┘ └───┘└───┘└───┘ └────────┘└───┘└───┘ + * + */ + +// clang-format off +#define LAYOUT_fullsize_ansi( \ + K00, K02, K03, K04, K05, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3I, K3J, K3K, \ + K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4G, K4I, K4J, K4K, K4L, \ + K50, K51, K53, K56, K5A, K5B, K5D, K5E, K5F, K5G, K5H, K5I, K5K \ +) { \ + { K00, KC_NO, K02, K03, K04, K05, KC_NO, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, KC_NO, KC_NO, KC_NO, KC_NO }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L }, \ + { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO, KC_NO, K3I, K3J, K3K, KC_NO }, \ + { KC_NO, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, KC_NO, K4G, KC_NO, K4I, K4J, K4K, K4L }, \ + { K50, K51, KC_NO, K53, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, KC_NO, K5D, K5E, K5F, K5G, K5H, K5I, KC_NO, K5K, KC_NO }, \ +} +// clang-format on diff --git a/keyboards/handwired/oem_ansi_fullsize/readme.md b/keyboards/handwired/oem_ansi_fullsize/readme.md new file mode 100644 index 000000000000..a94413cdfb61 --- /dev/null +++ b/keyboards/handwired/oem_ansi_fullsize/readme.md @@ -0,0 +1,49 @@ +# oem_ansi_fullsize + +![oem_ansi_fullsize](https://imgur.com/a/Tw7dwK4) +This is a basic layout for a full-sized ANSI board. It should be compatible with any 100% full-sized layout, for example [RobotDoctor's MECH-104](https://www.thingiverse.com/thing:4205065). + +* Keyboard Maintainer: [Cian Johnston](https://github.com/johnstcn) +* Hardware Supported: Teensy®++ 2.0 as it has enough pins for the matrix. +* Hardware Availability: [pjrc.com](https://www.pjrc.com/store/teensypp.html) + +The pin layout I used is shown below. Change it as you wish, but be sure to avoid pin D6! + +``` + ┌──────┐ + ┌────┴──────┴────┐ + +5V │o o│ GND + CL <== B6 │o o│ B7 ==> CE + CK <== B5 │o o│ D0 ==> CD + CJ <== B4 │o o│ D1 ==> CC + CI <== B3 │o o│ D2 ==> CB + CH <== B2 │o o│ D3 ==> CA + CG <== B1 │o o│ D4 ==> C9 + CF <== B0 │o o│ D5 ==> C8 + E7 │o o│ D6 ==> NOPE + C7 <== E6 │o o│ D7 ==> C6 + GND │o o│ E0 ==> C5 + RST │o o│ E1 ==> C4 + R5 <== F0 │o o│ C0 ==> C3 + R4 <== F1 │o A0 o o A4 o│ C1 ==> C2 + R3 <== F2 │o A1 o o A5 o│ C2 ==> C1 + R2 <== F3 │o A2 o o A6 o│ C3 ==> C0 + R1 <== F4 │o A3 o o A7 o│ C4 + R0 <== F5 │o o│ C5 + F6 │o o│ C6 + F7 │o o o o o│ C7 + └────────────────┘ + R G + + S N 5 + T D V +``` + +Make example for this keyboard (after setting up your build environment): + + make handwired/oem_ansi_fullsize:default + +Flashing example for this keyboard: + + make handwired/oem_ansi_fullsize: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). diff --git a/keyboards/handwired/oem_ansi_fullsize/rules.mk b/keyboards/handwired/oem_ansi_fullsize/rules.mk new file mode 100644 index 000000000000..f5d76ee8563b --- /dev/null +++ b/keyboards/handwired/oem_ansi_fullsize/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = halfkay + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +LAYOUTS = fullsize_ansi \ No newline at end of file diff --git a/keyboards/handwired/oem_iso_fullsize/rules.mk b/keyboards/handwired/oem_iso_fullsize/rules.mk index 04d0c78e8e6a..d0b07a4356a6 100644 --- a/keyboards/handwired/oem_iso_fullsize/rules.mk +++ b/keyboards/handwired/oem_iso_fullsize/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/onekey/blackpill_f401/chconf.h b/keyboards/handwired/onekey/blackpill_f401/chconf.h index de4ab83ec369..04ff4362aea6 100644 --- a/keyboards/handwired/onekey/blackpill_f401/chconf.h +++ b/keyboards/handwired/onekey/blackpill_f401/chconf.h @@ -36,4 +36,3 @@ #define CH_CFG_FACTORY_PIPES TRUE #include_next - diff --git a/keyboards/handwired/onekey/blackpill_f401/config.h b/keyboards/handwired/onekey/blackpill_f401/config.h index 829e84677f5f..3825d3f7ec48 100644 --- a/keyboards/handwired/onekey/blackpill_f401/config.h +++ b/keyboards/handwired/onekey/blackpill_f401/config.h @@ -18,13 +18,15 @@ #include "config_common.h" +#define PRODUCT Onekey Blackpill STM32F401 + #define MATRIX_COL_PINS { B0 } #define MATRIX_ROW_PINS { A7 } #define UNUSED_PINS -#define BACKLIGHT_PIN A0 -#define BACKLIGHT_PWM_DRIVER PWMD5 -#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PIN A0 +#define BACKLIGHT_PWM_DRIVER PWMD5 +#define BACKLIGHT_PWM_CHANNEL 1 #define RGB_DI_PIN A1 diff --git a/keyboards/handwired/onekey/blackpill_f401/halconf.h b/keyboards/handwired/onekey/blackpill_f401/halconf.h index 878879db1e28..020a7722f0d5 100644 --- a/keyboards/handwired/onekey/blackpill_f401/halconf.h +++ b/keyboards/handwired/onekey/blackpill_f401/halconf.h @@ -26,4 +26,3 @@ #define HAL_USE_PWM TRUE #include_next - diff --git a/keyboards/handwired/onekey/blackpill_f401/mcuconf.h b/keyboards/handwired/onekey/blackpill_f401/mcuconf.h index 034a022db4dc..e614a9dfa93f 100644 --- a/keyboards/handwired/onekey/blackpill_f401/mcuconf.h +++ b/keyboards/handwired/onekey/blackpill_f401/mcuconf.h @@ -13,6 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #pragma once #include_next "mcuconf.h" diff --git a/keyboards/handwired/onekey/blackpill_f401/readme.md b/keyboards/handwired/onekey/blackpill_f401/readme.md index 18ed6a43e972..3971cdfa2d43 100644 --- a/keyboards/handwired/onekey/blackpill_f401/readme.md +++ b/keyboards/handwired/onekey/blackpill_f401/readme.md @@ -1,5 +1,5 @@ -# f401 blackpill onekey +# F401 Blackpill onekey -Supported Hardware: *STM32F401CCU6 WeAct v1.3*. +* Supported Hardware: STM32F401CCU6 WeAct v1.3 To trigger keypress, short together pins *B0* and *A7*. diff --git a/keyboards/handwired/onekey/blackpill_f401/rules.mk b/keyboards/handwired/onekey/blackpill_f401/rules.mk index 6eb37a581d61..264e71d0b5af 100644 --- a/keyboards/handwired/onekey/blackpill_f401/rules.mk +++ b/keyboards/handwired/onekey/blackpill_f401/rules.mk @@ -1,10 +1,7 @@ # MCU name MCU = STM32F401 -# Address of the bootloader in system memory -STM32_BOOTLOADER_ADDRESS = 0x1FFF0000 +# Bootloader selection +BOOTLOADER = stm32-dfu -# Build Options -# change yes to no to disable -# -KEYBOARD_SHARED_EP = yes +KEYBOARD_SHARED_EP = yes diff --git a/keyboards/handwired/onekey/blackpill_f411/chconf.h b/keyboards/handwired/onekey/blackpill_f411/chconf.h index 4ecd0f52a277..8b55eaeef089 100644 --- a/keyboards/handwired/onekey/blackpill_f411/chconf.h +++ b/keyboards/handwired/onekey/blackpill_f411/chconf.h @@ -36,4 +36,3 @@ #define CH_CFG_FACTORY_PIPES TRUE #include_next - diff --git a/keyboards/handwired/onekey/blackpill_f411/config.h b/keyboards/handwired/onekey/blackpill_f411/config.h index 829e84677f5f..16e8f27924bd 100644 --- a/keyboards/handwired/onekey/blackpill_f411/config.h +++ b/keyboards/handwired/onekey/blackpill_f411/config.h @@ -18,13 +18,15 @@ #include "config_common.h" +#define PRODUCT Onekey Blackpill STM32F411 + #define MATRIX_COL_PINS { B0 } #define MATRIX_ROW_PINS { A7 } #define UNUSED_PINS -#define BACKLIGHT_PIN A0 -#define BACKLIGHT_PWM_DRIVER PWMD5 -#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PIN A0 +#define BACKLIGHT_PWM_DRIVER PWMD5 +#define BACKLIGHT_PWM_CHANNEL 1 #define RGB_DI_PIN A1 diff --git a/keyboards/handwired/onekey/blackpill_f411/halconf.h b/keyboards/handwired/onekey/blackpill_f411/halconf.h index d54f2a26acf6..4a0da20890c7 100644 --- a/keyboards/handwired/onekey/blackpill_f411/halconf.h +++ b/keyboards/handwired/onekey/blackpill_f411/halconf.h @@ -26,4 +26,3 @@ #define HAL_USE_PWM TRUE #include_next - diff --git a/keyboards/handwired/onekey/blackpill_f411/mcuconf.h b/keyboards/handwired/onekey/blackpill_f411/mcuconf.h index 034a022db4dc..e614a9dfa93f 100644 --- a/keyboards/handwired/onekey/blackpill_f411/mcuconf.h +++ b/keyboards/handwired/onekey/blackpill_f411/mcuconf.h @@ -13,6 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #pragma once #include_next "mcuconf.h" diff --git a/keyboards/handwired/onekey/blackpill_f411/readme.md b/keyboards/handwired/onekey/blackpill_f411/readme.md index a1e1e3723312..e7eb6f285b60 100644 --- a/keyboards/handwired/onekey/blackpill_f411/readme.md +++ b/keyboards/handwired/onekey/blackpill_f411/readme.md @@ -1,5 +1,5 @@ -# f411 blackpill onekey +# F411 Blackpill onekey -Supported Hardware: *STM32F411CEU6 WeAct v1.3*. +* Supported Hardware: STM32F411CEU6 WeAct v1.3 To trigger keypress, short together pins *B0* and *A7*. diff --git a/keyboards/handwired/onekey/blackpill_f411/rules.mk b/keyboards/handwired/onekey/blackpill_f411/rules.mk index 7cf886431fb7..75bc794ef0a9 100644 --- a/keyboards/handwired/onekey/blackpill_f411/rules.mk +++ b/keyboards/handwired/onekey/blackpill_f411/rules.mk @@ -1,10 +1,7 @@ # MCU name MCU = STM32F411 -# Address of the bootloader in system memory -STM32_BOOTLOADER_ADDRESS = 0x1FFF0000 +# Bootloader selection +BOOTLOADER = stm32-dfu -# Build Options -# change yes to no to disable -# -KEYBOARD_SHARED_EP = yes +KEYBOARD_SHARED_EP = yes diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/chconf.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/chconf.h new file mode 100644 index 000000000000..3d9a39363889 --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/chconf.h @@ -0,0 +1,21 @@ +/* Copyright 2021 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 + +#define CH_CFG_ST_FREQUENCY 10000 + +#include_next diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h new file mode 100755 index 000000000000..44ec0bfc6e87 --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h @@ -0,0 +1,33 @@ +/* Copyright 2021 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 "config_common.h" + +#define PRODUCT Onekey Blackpill STM32F411 TinyUF2 + +#define MATRIX_COL_PINS { B0 } +#define MATRIX_ROW_PINS { A7 } +#define UNUSED_PINS + +#define BACKLIGHT_PIN A0 +#define BACKLIGHT_PWM_DRIVER PWMD5 +#define BACKLIGHT_PWM_CHANNEL 1 + +#define RGB_DI_PIN A1 + +#define ADC_PIN A0 diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/halconf.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/halconf.h new file mode 100644 index 000000000000..e15870984f38 --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/halconf.h @@ -0,0 +1,22 @@ +/* Copyright 2021 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 + +#define HAL_USE_I2C TRUE +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h new file mode 100755 index 000000000000..d003af03e568 --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h @@ -0,0 +1,25 @@ +/* Copyright 2021 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 3 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 "mcuconf.h" + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_TIM5 +#define STM32_PWM_USE_TIM5 TRUE diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/readme.md b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/readme.md new file mode 100755 index 000000000000..c5ed1260b56b --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/readme.md @@ -0,0 +1,9 @@ +# F411 Blackpill onekey + +* Supported Hardware: STM32F411CEU6 WeAct v1.3 + +To trigger keypress, short together pins *B0* and *A7*. + +This variant requires the TinyUF2 bootloader to be installed. This can be downloaded from the [tinyuf2 releases page](https://github.com/adafruit/tinyuf2/releases). The F401 blackpill binary works for both F401- and F411-based blackpill devices. + +Double-tap reset to enter bootloader mode. Copy the built uf2 file to the device by dragging the file to the new USB disk. diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk new file mode 100755 index 000000000000..70180ee790b5 --- /dev/null +++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk @@ -0,0 +1,7 @@ +# MCU name +MCU = STM32F411 + +# Bootloader selection +BOOTLOADER = tinyuf2 + +KEYBOARD_SHARED_EP = yes diff --git a/keyboards/handwired/onekey/bluepill/chconf.h b/keyboards/handwired/onekey/bluepill/chconf.h index c7a982aedd00..63236f2c2c8c 100644 --- a/keyboards/handwired/onekey/bluepill/chconf.h +++ b/keyboards/handwired/onekey/bluepill/chconf.h @@ -26,4 +26,3 @@ #define CH_CFG_USE_CONDVARS_TIMEOUT FALSE #include_next - diff --git a/keyboards/handwired/onekey/bluepill/config.h b/keyboards/handwired/onekey/bluepill/config.h index c6166380cf26..3eb7699a8b7a 100644 --- a/keyboards/handwired/onekey/bluepill/config.h +++ b/keyboards/handwired/onekey/bluepill/config.h @@ -18,13 +18,15 @@ #include "config_common.h" +#define PRODUCT Onekey Bluepill STM32F103 + #define MATRIX_COL_PINS { B0 } #define MATRIX_ROW_PINS { A7 } #define UNUSED_PINS -#define BACKLIGHT_PIN A0 -#define BACKLIGHT_PWM_DRIVER PWMD2 -#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PIN A0 +#define BACKLIGHT_PWM_DRIVER PWMD2 +#define BACKLIGHT_PWM_CHANNEL 1 #define RGB_DI_PIN A1 diff --git a/keyboards/handwired/onekey/bluepill/halconf.h b/keyboards/handwired/onekey/bluepill/halconf.h index 956d50f26f9d..923b4e52d24d 100644 --- a/keyboards/handwired/onekey/bluepill/halconf.h +++ b/keyboards/handwired/onekey/bluepill/halconf.h @@ -24,4 +24,3 @@ #define HAL_USE_PWM TRUE #include_next - diff --git a/keyboards/handwired/onekey/bluepill/mcuconf.h b/keyboards/handwired/onekey/bluepill/mcuconf.h index 99525360b3b6..5e94a97e21e6 100644 --- a/keyboards/handwired/onekey/bluepill/mcuconf.h +++ b/keyboards/handwired/onekey/bluepill/mcuconf.h @@ -28,4 +28,3 @@ #undef STM32_SPI_USE_SPI2 #define STM32_SPI_USE_SPI2 FALSE - diff --git a/keyboards/handwired/onekey/bluepill/readme.md b/keyboards/handwired/onekey/bluepill/readme.md index 0bf1f5701c8f..8688e09b4a7c 100644 --- a/keyboards/handwired/onekey/bluepill/readme.md +++ b/keyboards/handwired/onekey/bluepill/readme.md @@ -1,3 +1,3 @@ -# bluepill onekey +# Bluepill onekey To trigger keypress, short together pins *B0* and *A7*. diff --git a/keyboards/handwired/onekey/config.h b/keyboards/handwired/onekey/config.h index 4643da7cf832..950146a5d371 100644 --- a/keyboards/handwired/onekey/config.h +++ b/keyboards/handwired/onekey/config.h @@ -18,31 +18,31 @@ along with this program. If not, see . #pragma once /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6465 -#define DEVICE_VER 0x0001 -#define MANUFACTURER none -#define PRODUCT onekey +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6465 +#define DEVICE_VER 0x0001 +#define MANUFACTURER QMK /* key matrix size */ #define MATRIX_ROWS 1 #define MATRIX_COLS 1 +/* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 -#define TAPPING_TERM 500 +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE +#define TAPPING_TERM 500 + /* * Feature disable options * These options are also useful to firmware size reduction. @@ -58,5 +58,11 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/onekey/elite_c/config.h b/keyboards/handwired/onekey/elite_c/config.h index 02c81ce7439b..f495a1c38b21 100644 --- a/keyboards/handwired/onekey/elite_c/config.h +++ b/keyboards/handwired/onekey/elite_c/config.h @@ -18,6 +18,8 @@ #include "config_common.h" +#define PRODUCT Onekey Elite-C + #define MATRIX_COL_PINS { F4 } #define MATRIX_ROW_PINS { F5 } #define UNUSED_PINS diff --git a/keyboards/handwired/onekey/elite_c/readme.md b/keyboards/handwired/onekey/elite_c/readme.md index 28a0885bb3ef..5320d7b61987 100644 --- a/keyboards/handwired/onekey/elite_c/readme.md +++ b/keyboards/handwired/onekey/elite_c/readme.md @@ -1,3 +1,3 @@ # Elite-C onekey -To trigger keypress, short together pins *F4* and *F5* (marked on the PCB as *A3* and *A2*). +To trigger keypress, short together pins *F4* and *F5*. diff --git a/keyboards/handwired/onekey/elite_c/rules.mk b/keyboards/handwired/onekey/elite_c/rules.mk index 2f20507d4ddd..e8326bcf0998 100644 --- a/keyboards/handwired/onekey/elite_c/rules.mk +++ b/keyboards/handwired/onekey/elite_c/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu diff --git a/keyboards/handwired/onekey/info.json b/keyboards/handwired/onekey/info.json index ac339ba197d9..641f2aa6f08d 100644 --- a/keyboards/handwired/onekey/info.json +++ b/keyboards/handwired/onekey/info.json @@ -7,7 +7,7 @@ "layouts": { "LAYOUT_ortho_1x1": { "layout": [ - {"x":0, "y":0} + {"x": 0, "y": 0} ] } } diff --git a/keyboards/handwired/onekey/keymaps/console/keymap.c b/keyboards/handwired/onekey/keymaps/console/keymap.c new file mode 100644 index 000000000000..b47fb59d17e1 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/console/keymap.c @@ -0,0 +1,20 @@ +#include QMK_KEYBOARD_H + +enum custom_keycodes { + KC_HELLO = SAFE_RANGE, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_ortho_1x1(KC_HELLO) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_HELLO: + if (record->event.pressed) { + println("Hello world!"); + } + return false; + } + return true; +} diff --git a/keyboards/handwired/onekey/keymaps/digitizer/keymap.c b/keyboards/handwired/onekey/keymaps/digitizer/keymap.c new file mode 100644 index 000000000000..6b304e86fe99 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/digitizer/keymap.c @@ -0,0 +1,38 @@ + /* Copyright 2021 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 . + */ +#include QMK_KEYBOARD_H + +#include "digitizer.h" + +#include "math.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {LAYOUT_ortho_1x1(KC_A)}; + +uint32_t timer = 0; + +void matrix_scan_user() { + if (timer_elapsed32(timer) < 200) { + return; + } + + timer = timer_read32(); + digitizer_t digitizer; + digitizer.x = 0.5 - 0.2 * cos(timer_read() / 250. / 6.28); + digitizer.y = 0.5 - 0.2 * sin(timer_read() / 250. / 6.28); + digitizer.tipswitch = 0; + digitizer.inrange = 1; + digitizer_set_report(digitizer); +} diff --git a/keyboards/handwired/onekey/keymaps/digitizer/rules.mk b/keyboards/handwired/onekey/keymaps/digitizer/rules.mk new file mode 100644 index 000000000000..ea9f9bd9ac62 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/digitizer/rules.mk @@ -0,0 +1 @@ +DIGITIZER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/onekey/keymaps/joystick/rules.mk b/keyboards/handwired/onekey/keymaps/joystick/rules.mk index b910bdbe6c89..9e44c470f213 100644 --- a/keyboards/handwired/onekey/keymaps/joystick/rules.mk +++ b/keyboards/handwired/onekey/keymaps/joystick/rules.mk @@ -1 +1 @@ -JOYSTICK_ENABLE = analog +JOYSTICK_ENABLE = yes diff --git a/keyboards/handwired/onekey/keymaps/oled/keymap.c b/keyboards/handwired/onekey/keymaps/oled/keymap.c index 1c120d01c183..c19b6918c0b7 100644 --- a/keyboards/handwired/onekey/keymaps/oled/keymap.c +++ b/keyboards/handwired/onekey/keymaps/oled/keymap.c @@ -282,7 +282,7 @@ void test_slow_update(void) { if (++x >= oled_max_chars()) { x = 0; if (++y >= oled_max_lines()) { - // The whole screen was filled - start the next phase. + // The whole screen was filled - start the next phase. ++phase; x = y = 0; } diff --git a/keyboards/handwired/onekey/keymaps/oled/readme.md b/keyboards/handwired/onekey/keymaps/oled/readme.md index 380b3eb522d9..9854b9580493 100644 --- a/keyboards/handwired/onekey/keymaps/oled/readme.md +++ b/keyboards/handwired/onekey/keymaps/oled/readme.md @@ -11,7 +11,7 @@ Available commands using a single key: Available test patterns: - QMK logo (clipped to fit on the display). - Fill the whole screen with as much unique characters as possible (all 94 printable ASCII characters are used, and if the display has more character positions available, the same characters are printed again, but inverted). -- “Slow update” test — instead of updating the whole screen at once, draw things piece by piece to uncover display update bugs. The drawing sequence used by this test: +- “Slow update” test — instead of updating the whole screen at once, draw things piece by piece to uncover display update bugs. The drawing sequence used by this test: - Fill the whole screen with printable ASCII characters (similar to the previous test, but characters are drawn one by one with 250 ms intervals between them, and inverted characters are not used to avoid obscuring the next phases). - Draw a frame along the screen edges, starting from the top left corner and going down along the left edge, then along the bottom, right and top edges, with 50 ms delay after every pixel. - Repeat the same sequence again, but with the character sequence shifted by 1 character (so that the updates would be visible). diff --git a/keyboards/handwired/onekey/keymaps/oled/rules.mk b/keyboards/handwired/onekey/keymaps/oled/rules.mk index 2ef0a8d04fff..6b69e50dbbfb 100644 --- a/keyboards/handwired/onekey/keymaps/oled/rules.mk +++ b/keyboards/handwired/onekey/keymaps/oled/rules.mk @@ -1,2 +1,3 @@ -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/onekey/keymaps/quine/rules.mk b/keyboards/handwired/onekey/keymaps/quine/rules.mk index 7da32a7bc8a1..4c2b0289a2da 100644 --- a/keyboards/handwired/onekey/keymaps/quine/rules.mk +++ b/keyboards/handwired/onekey/keymaps/quine/rules.mk @@ -1 +1 @@ -BOOTLOADER=atmel-dfu +BOOTLOADER = atmel-dfu diff --git a/keyboards/handwired/onekey/onekey.c b/keyboards/handwired/onekey/onekey.c index c79e0120ebe2..cbd67012ce6d 100644 --- a/keyboards/handwired/onekey/onekey.c +++ b/keyboards/handwired/onekey/onekey.c @@ -1 +1 @@ -#include "onekey.h" \ No newline at end of file +#include "onekey.h" diff --git a/keyboards/handwired/onekey/promicro/config.h b/keyboards/handwired/onekey/promicro/config.h index 02c81ce7439b..9c8961d5cade 100644 --- a/keyboards/handwired/onekey/promicro/config.h +++ b/keyboards/handwired/onekey/promicro/config.h @@ -18,6 +18,8 @@ #include "config_common.h" +#define PRODUCT Onekey Pro Micro + #define MATRIX_COL_PINS { F4 } #define MATRIX_ROW_PINS { F5 } #define UNUSED_PINS diff --git a/keyboards/handwired/onekey/promicro/rules.mk b/keyboards/handwired/onekey/promicro/rules.mk index e6fef517279c..cf663a7ed6aa 100644 --- a/keyboards/handwired/onekey/promicro/rules.mk +++ b/keyboards/handwired/onekey/promicro/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina diff --git a/keyboards/handwired/onekey/proton_c/config.h b/keyboards/handwired/onekey/proton_c/config.h index a364bbee341f..5600ae33ae57 100644 --- a/keyboards/handwired/onekey/proton_c/config.h +++ b/keyboards/handwired/onekey/proton_c/config.h @@ -18,14 +18,16 @@ #include "config_common.h" +#define PRODUCT Onekey Proton-C + #define MATRIX_COL_PINS { A2 } #define MATRIX_ROW_PINS { A1 } #define UNUSED_PINS -#define BACKLIGHT_PIN B8 -#define BACKLIGHT_PWM_DRIVER PWMD4 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 2 +#define BACKLIGHT_PIN B8 +#define BACKLIGHT_PWM_DRIVER PWMD4 +#define BACKLIGHT_PWM_CHANNEL 3 +#define BACKLIGHT_PAL_MODE 2 #define RGB_DI_PIN A0 #define RGB_CI_PIN B13 diff --git a/keyboards/handwired/onekey/proton_c/readme.md b/keyboards/handwired/onekey/proton_c/readme.md index be5a2871ca20..c8c21838ec93 100644 --- a/keyboards/handwired/onekey/proton_c/readme.md +++ b/keyboards/handwired/onekey/proton_c/readme.md @@ -1,3 +1,3 @@ -# Proton C onekey +# Proton-C onekey To trigger keypress, short together pins *A1* and *A2*. diff --git a/keyboards/handwired/onekey/proton_c/rules.mk b/keyboards/handwired/onekey/proton_c/rules.mk index 4e157baeda12..7a846816d1bb 100644 --- a/keyboards/handwired/onekey/proton_c/rules.mk +++ b/keyboards/handwired/onekey/proton_c/rules.mk @@ -1,3 +1,6 @@ # MCU name MCU = STM32F303 BOARD = QMK_PROTON_C + +# Bootloader selection +BOOTLOADER = stm32-dfu diff --git a/keyboards/handwired/onekey/readme.md b/keyboards/handwired/onekey/readme.md index 0e9d6a538aaf..b630b11748c3 100644 --- a/keyboards/handwired/onekey/readme.md +++ b/keyboards/handwired/onekey/readme.md @@ -1,15 +1,17 @@ -# onekey handwired +# onekey -Custom handwired one key keyboard. +Custom handwired one key keyboard. **See each individual board for pin information.** -Keyboard Maintainer: QMK Community -Hardware Supported: bluepill, Elite-C, Pro Micro, Proton C, Teensy 2.0, Teensy++ 2.0, Teensy LC, Teensy 3.2 -Hardware Availability: - -**See each individual board for pin infomation** +* Keyboard Maintainer: QMK Community +* Hardware Supported: bluepill, Elite-C, Pro Micro, Proton C, Teensy 2.0, Teensy++ 2.0, Teensy LC, Teensy 3.2 +* Hardware Availability: *n/a* Make example for this keyboard (after setting up your build environment): make handwired/onekey:default +Flashing example for this keyboard: + + make handwired/onekey: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). diff --git a/keyboards/handwired/onekey/rules.mk b/keyboards/handwired/onekey/rules.mk index 259050d55309..6d90c347c57e 100644 --- a/keyboards/handwired/onekey/rules.mk +++ b/keyboards/handwired/onekey/rules.mk @@ -1,21 +1,20 @@ # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output DEFAULT_FOLDER = handwired/onekey/promicro + LAYOUTS = ortho_1x1 diff --git a/keyboards/handwired/onekey/stm32f0_disco/chconf.h b/keyboards/handwired/onekey/stm32f0_disco/chconf.h index 33ceb1431ef6..1e497767d53e 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/chconf.h +++ b/keyboards/handwired/onekey/stm32f0_disco/chconf.h @@ -28,4 +28,3 @@ #define CH_CFG_USE_CONDVARS_TIMEOUT FALSE #include_next - diff --git a/keyboards/handwired/onekey/stm32f0_disco/config.h b/keyboards/handwired/onekey/stm32f0_disco/config.h index 0d6dd18fa22c..e0f6d00050d2 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/config.h +++ b/keyboards/handwired/onekey/stm32f0_disco/config.h @@ -18,14 +18,16 @@ #include "config_common.h" +#define PRODUCT Onekey STM32F072 Discovery + #define MATRIX_COL_PINS { B4 } #define MATRIX_ROW_PINS { B5 } #define UNUSED_PINS -#define BACKLIGHT_PIN C8 -#define BACKLIGHT_PWM_DRIVER PWMD3 -#define BACKLIGHT_PWM_CHANNEL 3 -#define BACKLIGHT_PAL_MODE 0 +#define BACKLIGHT_PIN C8 +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 3 +#define BACKLIGHT_PAL_MODE 0 #define RGB_DI_PIN B15 diff --git a/keyboards/handwired/onekey/stm32f0_disco/halconf.h b/keyboards/handwired/onekey/stm32f0_disco/halconf.h index cb7de673869f..78ed6586c844 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/halconf.h +++ b/keyboards/handwired/onekey/stm32f0_disco/halconf.h @@ -24,4 +24,3 @@ #define HAL_USE_PWM TRUE #include_next - diff --git a/keyboards/handwired/onekey/stm32f0_disco/mcuconf.h b/keyboards/handwired/onekey/stm32f0_disco/mcuconf.h index 52d39e4dd4a3..ea4f9373a0f7 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/mcuconf.h +++ b/keyboards/handwired/onekey/stm32f0_disco/mcuconf.h @@ -25,4 +25,3 @@ #undef STM32_PWM_USE_TIM3 #define STM32_PWM_USE_TIM3 TRUE - diff --git a/keyboards/handwired/onekey/stm32f0_disco/readme.md b/keyboards/handwired/onekey/stm32f0_disco/readme.md index 48d999d69c08..0f5c01984dbb 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/readme.md +++ b/keyboards/handwired/onekey/stm32f0_disco/readme.md @@ -1,5 +1,5 @@ # STM32F072 Discovery kit onekey -Supported Hardware: +* Supported Hardware: [STM32F072 Discovery](https://www.st.com/en/evaluation-tools/32f072bdiscovery.html) To trigger keypress, short together pins *B4* and *B5*. diff --git a/keyboards/handwired/onekey/stm32f0_disco/rules.mk b/keyboards/handwired/onekey/stm32f0_disco/rules.mk index d8928e9ec869..6b379283278b 100644 --- a/keyboards/handwired/onekey/stm32f0_disco/rules.mk +++ b/keyboards/handwired/onekey/stm32f0_disco/rules.mk @@ -1,6 +1,8 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu # Enter lower-power sleep mode when on the ChibiOS idle thread OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE diff --git a/keyboards/handwired/onekey/teensy_2/config.h b/keyboards/handwired/onekey/teensy_2/config.h index 167373cd39b6..b83262ef0527 100644 --- a/keyboards/handwired/onekey/teensy_2/config.h +++ b/keyboards/handwired/onekey/teensy_2/config.h @@ -18,6 +18,8 @@ #include "config_common.h" +#define PRODUCT Onekey Teensy 2.0 + #define MATRIX_COL_PINS { F4 } #define MATRIX_ROW_PINS { F5 } #define UNUSED_PINS diff --git a/keyboards/handwired/onekey/teensy_2/readme.md b/keyboards/handwired/onekey/teensy_2/readme.md index 86a3114e56aa..bf4cf6d2fe7c 100644 --- a/keyboards/handwired/onekey/teensy_2/readme.md +++ b/keyboards/handwired/onekey/teensy_2/readme.md @@ -1,3 +1,3 @@ # Teensy 2.0 onekey -To trigger keypress, short together pins *F4* and *F5* +To trigger keypress, short together pins *F4* and *F5*. diff --git a/keyboards/handwired/onekey/teensy_2/rules.mk b/keyboards/handwired/onekey/teensy_2/rules.mk index ae398e2588c7..320633f80f33 100644 --- a/keyboards/handwired/onekey/teensy_2/rules.mk +++ b/keyboards/handwired/onekey/teensy_2/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay diff --git a/keyboards/handwired/onekey/teensy_2pp/config.h b/keyboards/handwired/onekey/teensy_2pp/config.h index 167373cd39b6..886ad70cbf90 100644 --- a/keyboards/handwired/onekey/teensy_2pp/config.h +++ b/keyboards/handwired/onekey/teensy_2pp/config.h @@ -18,6 +18,8 @@ #include "config_common.h" +#define PRODUCT Onekey Teensy 2++ + #define MATRIX_COL_PINS { F4 } #define MATRIX_ROW_PINS { F5 } #define UNUSED_PINS diff --git a/keyboards/handwired/onekey/teensy_2pp/readme.md b/keyboards/handwired/onekey/teensy_2pp/readme.md index 243b08df174e..c2c96d12cd78 100644 --- a/keyboards/handwired/onekey/teensy_2pp/readme.md +++ b/keyboards/handwired/onekey/teensy_2pp/readme.md @@ -1,3 +1,3 @@ # Teensy++ 2.0 onekey -To trigger keypress, short together pins *F4* and *F5* +To trigger keypress, short together pins *F4* and *F5*. diff --git a/keyboards/handwired/onekey/teensy_2pp/rules.mk b/keyboards/handwired/onekey/teensy_2pp/rules.mk index c421eb862e9c..149471682dfb 100644 --- a/keyboards/handwired/onekey/teensy_2pp/rules.mk +++ b/keyboards/handwired/onekey/teensy_2pp/rules.mk @@ -2,11 +2,4 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay diff --git a/keyboards/handwired/onekey/teensy_32/chconf.h b/keyboards/handwired/onekey/teensy_32/chconf.h index 199e8d05bd9d..b7b23f268cee 100644 --- a/keyboards/handwired/onekey/teensy_32/chconf.h +++ b/keyboards/handwired/onekey/teensy_32/chconf.h @@ -50,4 +50,3 @@ #define CH_DBG_FILL_THREADS TRUE #include_next - diff --git a/keyboards/handwired/onekey/teensy_32/config.h b/keyboards/handwired/onekey/teensy_32/config.h index a4839135a03c..180f324875dc 100644 --- a/keyboards/handwired/onekey/teensy_32/config.h +++ b/keyboards/handwired/onekey/teensy_32/config.h @@ -19,6 +19,8 @@ // TODO: including this causes "error: expected identifier before '(' token" errors //#include "config_common.h" +#define PRODUCT Onekey Teensy 3.2 + #define MATRIX_COL_PINS { D5 } #define MATRIX_ROW_PINS { B2 } #define UNUSED_PINS diff --git a/keyboards/handwired/onekey/teensy_32/halconf.h b/keyboards/handwired/onekey/teensy_32/halconf.h index e5019779c7ce..5c99dcbd9db3 100644 --- a/keyboards/handwired/onekey/teensy_32/halconf.h +++ b/keyboards/handwired/onekey/teensy_32/halconf.h @@ -24,4 +24,3 @@ #define HAL_USE_I2C TRUE #include_next - diff --git a/keyboards/handwired/onekey/teensy_lc/chconf.h b/keyboards/handwired/onekey/teensy_lc/chconf.h index cfcced3cf74f..03dc5f0c95fe 100644 --- a/keyboards/handwired/onekey/teensy_lc/chconf.h +++ b/keyboards/handwired/onekey/teensy_lc/chconf.h @@ -50,4 +50,3 @@ #define CH_DBG_FILL_THREADS TRUE #include_next - diff --git a/keyboards/handwired/onekey/teensy_lc/config.h b/keyboards/handwired/onekey/teensy_lc/config.h index a4839135a03c..ad30f969f5bc 100644 --- a/keyboards/handwired/onekey/teensy_lc/config.h +++ b/keyboards/handwired/onekey/teensy_lc/config.h @@ -19,6 +19,8 @@ // TODO: including this causes "error: expected identifier before '(' token" errors //#include "config_common.h" +#define PRODUCT Onekey Teensy LC + #define MATRIX_COL_PINS { D5 } #define MATRIX_ROW_PINS { B2 } #define UNUSED_PINS diff --git a/keyboards/handwired/onekey/teensy_lc/halconf.h b/keyboards/handwired/onekey/teensy_lc/halconf.h index bdf1ba4310e0..89e2bcbbee87 100644 --- a/keyboards/handwired/onekey/teensy_lc/halconf.h +++ b/keyboards/handwired/onekey/teensy_lc/halconf.h @@ -24,4 +24,3 @@ #define HAL_USE_I2C TRUE #include_next - diff --git a/keyboards/handwired/ortho5x13/ortho5x13.c b/keyboards/handwired/ortho5x13/ortho5x13.c index cf8352cc4364..525e1ba112be 100644 --- a/keyboards/handwired/ortho5x13/ortho5x13.c +++ b/keyboards/handwired/ortho5x13/ortho5x13.c @@ -1,8 +1 @@ #include "ortho5x13.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} diff --git a/keyboards/handwired/ortho5x13/ortho5x13.h b/keyboards/handwired/ortho5x13/ortho5x13.h index a43fc76ae6ec..bd34925a9af9 100644 --- a/keyboards/handwired/ortho5x13/ortho5x13.h +++ b/keyboards/handwired/ortho5x13/ortho5x13.h @@ -16,18 +16,3 @@ { k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b, k3c }, \ { k40, k41, k42, k43, k44, k45, KC_NO, k47, k48, k49, k4a, k4b, k4c } \ } - -#define LAYOUT_kc( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b, k4c \ -) \ -{ \ - { KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0a, KC_##k0b, KC_##k0c }, \ - { KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1a, KC_##k1b, KC_##k1c }, \ - { KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k26, KC_##k27, KC_##k28, KC_##k29, KC_##k2a, KC_##k2b, KC_##k2c }, \ - { KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k35, KC_##k37, KC_##k38, KC_##k39, KC_##k3a, KC_##k3b, KC_##k3c }, \ - { KC_##k40, KC_##k41, KC_##k42, KC_##k43, KC_##k44, KC_##k45, KC_NO, KC_##k47, KC_##k48, KC_##k49, KC_##k4a, KC_##k4b, KC_##k4c } \ -} diff --git a/keyboards/handwired/ortho5x13/rules.mk b/keyboards/handwired/ortho5x13/rules.mk index b5e96d74bf53..5a55e085d9f8 100644 --- a/keyboards/handwired/ortho5x13/rules.mk +++ b/keyboards/handwired/ortho5x13/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/ortho5x14/info.json b/keyboards/handwired/ortho5x14/info.json index 3ba4f3e7e870..c39da8811658 100644 --- a/keyboards/handwired/ortho5x14/info.json +++ b/keyboards/handwired/ortho5x14/info.json @@ -80,7 +80,7 @@ {"label":"Alt", "x":10, "y":4}, {"label":"Prop", "x":11, "y":4}, {"label":"Ctrl", "x":12, "y":4}, - {"label":"Esc", "x":13, "y":0} + {"label":"Esc", "x":13, "y":4} ] } } diff --git a/keyboards/handwired/ortho5x14/readme.md b/keyboards/handwired/ortho5x14/readme.md index b8d1daa8b086..160bbb9dd2fb 100644 --- a/keyboards/handwired/ortho5x14/readme.md +++ b/keyboards/handwired/ortho5x14/readme.md @@ -1,4 +1,4 @@ -# ortho5x13 handwired +# ortho5x14 handwired Custom handwired ortho5x14 keyboard. diff --git a/keyboards/handwired/ortho5x14/rules.mk b/keyboards/handwired/ortho5x14/rules.mk index c0fc51be654a..87e3acb3bb90 100644 --- a/keyboards/handwired/ortho5x14/rules.mk +++ b/keyboards/handwired/ortho5x14/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/owlet60/config.h b/keyboards/handwired/owlet60/config.h index 27317233e061..ef1e410d14da 100644 --- a/keyboards/handwired/owlet60/config.h +++ b/keyboards/handwired/owlet60/config.h @@ -193,26 +193,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/owlet60/keymaps/default/keymap.c b/keyboards/handwired/owlet60/keymaps/default/keymap.c index b4d0360db310..7dfc7bcaf33d 100644 --- a/keyboards/handwired/owlet60/keymaps/default/keymap.c +++ b/keyboards/handwired/owlet60/keymaps/default/keymap.c @@ -60,15 +60,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c b/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c index f63ec18933f9..27a54d80f543 100644 --- a/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c +++ b/keyboards/handwired/owlet60/keymaps/oled_testing/keymap.c @@ -61,19 +61,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} - -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { //return OLED_ROTATION_180; return OLED_ROTATION_180; diff --git a/keyboards/handwired/owlet60/keymaps/oled_testing/rules.mk b/keyboards/handwired/owlet60/keymaps/oled_testing/rules.mk index 48a51b225024..d34d066ded93 100644 --- a/keyboards/handwired/owlet60/keymaps/oled_testing/rules.mk +++ b/keyboards/handwired/owlet60/keymaps/oled_testing/rules.mk @@ -1 +1,2 @@ -OLED_DRIVER_ENABLE = yes \ No newline at end of file +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 diff --git a/keyboards/handwired/owlet60/owlet60.c b/keyboards/handwired/owlet60/owlet60.c index 42d24a291ae4..079beb8e4080 100644 --- a/keyboards/handwired/owlet60/owlet60.c +++ b/keyboards/handwired/owlet60/owlet60.c @@ -14,40 +14,3 @@ * along with this program. If not, see . */ #include "owlet60.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - - -/* -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); - -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); - oled_task_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/handwired/owlet60/rules.mk b/keyboards/handwired/owlet60/rules.mk index 65fb1259fbb6..fe7384554245 100644 --- a/keyboards/handwired/owlet60/rules.mk +++ b/keyboards/handwired/owlet60/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -25,12 +18,11 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 CUSTOM_MATRIX = yes -OLED_DRIVER_ENABLE = no +OLED_ENABLE = no SRC += matrix.c diff --git a/keyboards/handwired/p1800fl/config.h b/keyboards/handwired/p1800fl/config.h deleted file mode 100644 index 793d8f19c37d..000000000000 --- a/keyboards/handwired/p1800fl/config.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright 2020 marhalloweenvt - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x3EAE -#define DEVICE_VER 0x0001 -#define MANUFACTURER marhalloweenvt -#define PRODUCT p1800fl - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 15 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { B6, B5, B4, D7, D6, D4 } -#define MATRIX_COL_PINS { C7, F7, F6, F5, F4, F1, F0, E6, B0, B1, B2, B3, D0, D1, D2} -#define UNUSED_PINS - -/* COL2ROW, ROW2COL*/ -#define DIODE_DIRECTION COL2ROW - -#define BACKLIGHT_PIN B7 -#define BACKLIGHT_BREATHING -#define BACKLIGHT_LEVELS 5 - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -/* QMK DFU key configuration */ -#define QMK_ESC_OUTPUT C7 // usually COL -#define QMK_ESC_INPUT B6 // usually ROW \ No newline at end of file diff --git a/keyboards/handwired/p1800fl/info.json b/keyboards/handwired/p1800fl/info.json deleted file mode 100644 index 93f4e8aaebc7..000000000000 --- a/keyboards/handwired/p1800fl/info.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "keyboard_name": "p1800fl", - "url": "", - "maintainer": "marhalloweenvt", - "width": 19.5, - "height": 5.25, - "layouts": { - "LAYOUT": { - "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"!", "x":1, "y":0}, - {"label":"@", "x":2, "y":0}, - {"label":"#", "x":3, "y":0}, - {"label":"$", "x":4, "y":0}, - {"label":"%", "x":5, "y":0}, - {"label":"^", "x":6, "y":0}, - {"label":"&", "x":7, "y":0}, - {"label":"*", "x":8, "y":0}, - {"label":"(", "x":9, "y":0}, - {"label":")", "x":10, "y":0}, - {"label":"_", "x":11, "y":0}, - {"label":"+", "x":12, "y":0}, - {"label":"Backspace", "x":13, "y":0}, - {"label":"Backspace", "x":14, "y":0}, - {"label":"Num Lock", "x":15.5, "y":0}, - {"label":"/", "x":16.5, "y":0}, - {"label":"*", "x":17.5, "y":0}, - {"label":"-", "x":18.5, "y":0}, - {"label":"Tab", "x":0, "y":1, "w":1.5}, - {"label":"Q", "x":1.5, "y":1}, - {"label":"W", "x":2.5, "y":1}, - {"label":"E", "x":3.5, "y":1}, - {"label":"R", "x":4.5, "y":1}, - {"label":"T", "x":5.5, "y":1}, - {"label":"Y", "x":6.5, "y":1}, - {"label":"U", "x":7.5, "y":1}, - {"label":"I", "x":8.5, "y":1}, - {"label":"O", "x":9.5, "y":1}, - {"label":"P", "x":10.5, "y":1}, - {"label":"{", "x":11.5, "y":1}, - {"label":"}", "x":12.5, "y":1}, - {"label":"|", "x":13.5, "y":1, "w":1.5}, - {"label":"7", "x":15.5, "y":1}, - {"label":"8", "x":16.5, "y":1}, - {"label":"9", "x":17.5, "y":1}, - {"label":"+", "x":18.5, "y":1}, - {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, - {"label":"A", "x":1.75, "y":2}, - {"label":"S", "x":2.75, "y":2}, - {"label":"D", "x":3.75, "y":2}, - {"label":"F", "x":4.75, "y":2}, - {"label":"G", "x":5.75, "y":2}, - {"label":"H", "x":6.75, "y":2}, - {"label":"J", "x":7.75, "y":2}, - {"label":"K", "x":8.75, "y":2}, - {"label":"L", "x":9.75, "y":2}, - {"label":":", "x":10.75, "y":2}, - {"label":"\"", "x":11.75, "y":2}, - {"label":"Enter", "x":12.75, "y":2}, - {"label":"Enter", "x":13.75, "y":2, "w":1.25}, - {"label":"4", "x":15.5, "y":2}, - {"label":"5", "x":16.5, "y":2}, - {"label":"6", "x":17.5, "y":2}, - {"label":"+", "x":18.5, "y":2}, - {"label":"Shift", "x":0, "y":3, "w":1.25}, - {"label":"Shift", "x":1.25, "y":3}, - {"label":"Z", "x":2.25, "y":3}, - {"label":"X", "x":3.25, "y":3}, - {"label":"C", "x":4.25, "y":3}, - {"label":"V", "x":5.25, "y":3}, - {"label":"B", "x":6.25, "y":3}, - {"label":"N", "x":7.25, "y":3}, - {"label":"M", "x":8.25, "y":3}, - {"label":"<", "x":9.25, "y":3}, - {"label":">", "x":10.25, "y":3}, - {"label":"?", "x":11.25, "y":3}, - {"label":"Shift", "x":12.25, "y":3, "w":1.75}, - {"label":"Up", "x":14.25, "y":3.25}, - {"label":"1", "x":15.5, "y":3}, - {"label":"2", "x":16.5, "y":3}, - {"label":"3", "x":17.5, "y":3}, - {"label":"Enter", "x":18.5, "y":3}, - {"label":"Ctrl", "x":0, "y":4, "w":1.25}, - {"label":"Win", "x":1.25, "y":4, "w":1.25}, - {"label":"Alt", "x":2.5, "y":4, "w":1.25}, - {"label":"6.25x", "x":3.75, "y":4, "w":6.25}, - {"label":"Ctrl", "x":10, "y":4}, - {"label":"Win", "x":11, "y":4}, - {"label":"Alt", "x":12, "y":4}, - {"label":"Left", "x":13.25, "y":4.25}, - {"label":"Down", "x":14.25, "y":4.25}, - {"label":"Right", "x":15.25, "y":4.25}, - {"label":"0", "x":16.5, "y":4}, - {"label":".", "x":17.5, "y":4}, - {"label":"Enter", "x":18.5, "y":4} - ] - } - } -} diff --git a/keyboards/handwired/p1800fl/keymaps/default/keymap.c b/keyboards/handwired/p1800fl/keymaps/default/keymap.c deleted file mode 100644 index 03b6a1efd0c4..000000000000 --- a/keyboards/handwired/p1800fl/keymaps/default/keymap.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright 2020 marhalloweenvt - * - * 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 { - _BASE, - _FN -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Base */ - [_BASE] = LAYOUT( - KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PEQL, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, - 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_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT - ), - [_FN] = LAYOUT( - 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, KC_DEL, BL_TOGG, BL_INC, KC_PAST, RESET, - _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, BL_BRTG, BL_DEC, _______, EEP_RST, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______ - ) -}; diff --git a/keyboards/handwired/p1800fl/readme.md b/keyboards/handwired/p1800fl/readme.md deleted file mode 100644 index 545bd691a421..000000000000 --- a/keyboards/handwired/p1800fl/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# p1800fl - -![p1800fl](https://i.imgur.com/GQd28rN.jpg) - -A 1800 Frow-less keyboard project from our local makers. - -* Keyboard Maintainer: [marhalloweenvt](https://github.com/marhalloweenvt) -* Hardware Supported: p1800fl -* Hardware Availability: p1800fl - -Make example for this keyboard (after setting up your build environment): - - make handwired/p1800fl: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). diff --git a/keyboards/handwired/p1800fl/rules.mk b/keyboards/handwired/p1800fl/rules.mk deleted file mode 100644 index b85602bb9dea..000000000000 --- a/keyboards/handwired/p1800fl/rules.mk +++ /dev/null @@ -1,30 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -BOOTLOADER = qmk-dfu - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/p65rgb/config.h b/keyboards/handwired/p65rgb/config.h index c50fc2826af9..142d3c03ea38 100644 --- a/keyboards/handwired/p65rgb/config.h +++ b/keyboards/handwired/p65rgb/config.h @@ -40,7 +40,7 @@ along with this program. If not, see . #define RGB_DI_PIN B4 #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_LED_PROCESS_LIMIT 4 diff --git a/keyboards/handwired/p65rgb/rules.mk b/keyboards/handwired/p65rgb/rules.mk index 7e8ac8d55e17..f20ccbcdeffe 100644 --- a/keyboards/handwired/p65rgb/rules.mk +++ b/keyboards/handwired/p65rgb/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -27,6 +20,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow RGB_MATRIX_ENABLE = yes RGB_MATRIX_DRIVER = WS2812 -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 +LTO_ENABLE = yes diff --git a/keyboards/handwired/pilcrow/keymaps/default/keymap.c b/keyboards/handwired/pilcrow/keymaps/default/keymap.c index 617ff4f6cda6..33a5c2ac1f0d 100644 --- a/keyboards/handwired/pilcrow/keymaps/default/keymap.c +++ b/keyboards/handwired/pilcrow/keymaps/default/keymap.c @@ -52,19 +52,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______ \ ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} \ No newline at end of file diff --git a/keyboards/handwired/pilcrow/keymaps/default/rules.mk b/keyboards/handwired/pilcrow/keymaps/default/rules.mk index 3955a3ff4276..48257ecc20f0 100644 --- a/keyboards/handwired/pilcrow/keymaps/default/rules.mk +++ b/keyboards/handwired/pilcrow/keymaps/default/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -12,6 +12,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/handwired/pilcrow/pilcrow.c b/keyboards/handwired/pilcrow/pilcrow.c index c8243df7bff4..03db58bb2cd5 100644 --- a/keyboards/handwired/pilcrow/pilcrow.c +++ b/keyboards/handwired/pilcrow/pilcrow.c @@ -1,28 +1 @@ #include "pilcrow.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/handwired/pilcrow/rules.mk b/keyboards/handwired/pilcrow/rules.mk index b5e96d74bf53..5a55e085d9f8 100644 --- a/keyboards/handwired/pilcrow/rules.mk +++ b/keyboards/handwired/pilcrow/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,7 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/pill60/blackpill_f401/rules.mk b/keyboards/handwired/pill60/blackpill_f401/rules.mk index 8c514309df95..9b0a72afb9dd 100644 --- a/keyboards/handwired/pill60/blackpill_f401/rules.mk +++ b/keyboards/handwired/pill60/blackpill_f401/rules.mk @@ -1,12 +1,8 @@ # MCU name MCU = STM32F401 -# Address of the bootloader in system memory -STM32_BOOTLOADER_ADDRESS = 0x1FFF0000 - -# Options to pass to dfu-util when flashing -DFU_ARGS = -d 0483:DF11 -a 0 -s 0x08000000:leave -DFU_SUFFIX_ARGS = -v 0483 -p DF11 +# Bootloader selection +BOOTLOADER = stm32-dfu # Build Options # change yes to no to disable diff --git a/keyboards/handwired/pill60/blackpill_f411/rules.mk b/keyboards/handwired/pill60/blackpill_f411/rules.mk index 84dd584e8562..124355701915 100644 --- a/keyboards/handwired/pill60/blackpill_f411/rules.mk +++ b/keyboards/handwired/pill60/blackpill_f411/rules.mk @@ -1,12 +1,8 @@ # MCU name MCU = STM32F411 -# Address of the bootloader in system memory -STM32_BOOTLOADER_ADDRESS = 0x1FFF0000 - -# Options to pass to dfu-util when flashing -DFU_ARGS = -d 0483:DF11 -a 0 -s 0x08000000:leave -DFU_SUFFIX_ARGS = -v 0483 -p DF11 +# Bootloader selection +BOOTLOADER = stm32-dfu # Build Options # change yes to no to disable diff --git a/keyboards/handwired/pill60/keymaps/default/keymap.c b/keyboards/handwired/pill60/keymaps/default/keymap.c index d9f0fa727c7d..00f506bb4384 100644 --- a/keyboards/handwired/pill60/keymaps/default/keymap.c +++ b/keyboards/handwired/pill60/keymaps/default/keymap.c @@ -1,18 +1,18 @@ - /* Copyright 2020 Imam Rafii - * - * 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 . - */ + /* Copyright 2020 Imam Rafii + * + * 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 layers { @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static void render_oled(void) { oled_write_P(PSTR("Pill60"), false); @@ -74,7 +74,7 @@ void oled_task_user(void) { #ifdef ENCODER_ENABLE -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* First encoder */ if (clockwise) { tap_code(KC_A); @@ -82,6 +82,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_B); } } + return true; } #endif diff --git a/keyboards/handwired/pill60/rules.mk b/keyboards/handwired/pill60/rules.mk index 7658a814d6e8..1ab034be3a85 100644 --- a/keyboards/handwired/pill60/rules.mk +++ b/keyboards/handwired/pill60/rules.mk @@ -1,7 +1,7 @@ # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -15,7 +15,8 @@ BACKLIGHT_DRIVER = software RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes DEFAULT_FOLDER = handwired/pill60/bluepill diff --git a/keyboards/handwired/postageboard/mini/rules.mk b/keyboards/handwired/postageboard/mini/rules.mk index 824b47d6f80d..08f24f8c6fb5 100644 --- a/keyboards/handwired/postageboard/mini/rules.mk +++ b/keyboards/handwired/postageboard/mini/rules.mk @@ -2,16 +2,9 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -22,6 +15,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/postageboard/r1/rules.mk b/keyboards/handwired/postageboard/r1/rules.mk index 824b47d6f80d..08f24f8c6fb5 100644 --- a/keyboards/handwired/postageboard/r1/rules.mk +++ b/keyboards/handwired/postageboard/r1/rules.mk @@ -2,16 +2,9 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -22,6 +15,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/prime_exl/keymaps/default/keymap.c b/keyboards/handwired/prime_exl/keymaps/default/keymap.c index 7cf91970816c..324d600149a2 100644 --- a/keyboards/handwired/prime_exl/keymaps/default/keymap.c +++ b/keyboards/handwired/prime_exl/keymaps/default/keymap.c @@ -106,11 +106,6 @@ void matrix_init_user(void) { writePinHigh(B5); } -void matrix_scan_user(void) { - -} - - void led_set_user(uint8_t usb_led) { if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { writePinHigh(B6); diff --git a/keyboards/handwired/prime_exl/keymaps/via/keymap.c b/keyboards/handwired/prime_exl/keymaps/via/keymap.c index 1b62d25ba48d..0e6802996df1 100644 --- a/keyboards/handwired/prime_exl/keymaps/via/keymap.c +++ b/keyboards/handwired/prime_exl/keymaps/via/keymap.c @@ -64,11 +64,6 @@ void matrix_init_user(void) { writePinHigh(B5); } -void matrix_scan_user(void) { - -} - - void led_set_user(uint8_t usb_led) { if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { writePinHigh(B6); @@ -90,7 +85,7 @@ void led_set_user(uint8_t usb_led) { } //function for layer indicator LED -uint32_t layer_state_set_user(uint32_t state) +layer_state_t layer_state_set_user(layer_state_t state) { if (biton32(state) == 1) { writePinHigh(C6); diff --git a/keyboards/handwired/prime_exl/prime_exl.c b/keyboards/handwired/prime_exl/prime_exl.c index bae606ffbf5e..e85991c537be 100644 --- a/keyboards/handwired/prime_exl/prime_exl.c +++ b/keyboards/handwired/prime_exl/prime_exl.c @@ -14,31 +14,3 @@ * along with this program. If not, see . */ #include "prime_exl.h" -/* -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} -*/ \ No newline at end of file diff --git a/keyboards/handwired/prime_exl/rules.mk b/keyboards/handwired/prime_exl/rules.mk index c3e319a13849..379dd6ba8a12 100644 --- a/keyboards/handwired/prime_exl/rules.mk +++ b/keyboards/handwired/prime_exl/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/prime_exl_plus/rules.mk b/keyboards/handwired/prime_exl_plus/rules.mk index 0a36543099c5..ecc7980c184e 100644 --- a/keyboards/handwired/prime_exl_plus/rules.mk +++ b/keyboards/handwired/prime_exl_plus/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/prkl30/feather/rules.mk b/keyboards/handwired/prkl30/feather/rules.mk index 27df4272a765..6357015126a2 100644 --- a/keyboards/handwired/prkl30/feather/rules.mk +++ b/keyboards/handwired/prkl30/feather/rules.mk @@ -5,20 +5,13 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # BLUETOOTH = AdafruitBLE -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite ENCODER_ENABLE = yes MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control diff --git a/keyboards/handwired/prkl30/keymaps/default/keymap.c b/keyboards/handwired/prkl30/keymaps/default/keymap.c index ce60a4193355..be032739f4bd 100644 --- a/keyboards/handwired/prkl30/keymaps/default/keymap.c +++ b/keyboards/handwired/prkl30/keymaps/default/keymap.c @@ -81,12 +81,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { tap_code(KC_TAB); } else { tap_code(KC_PGUP); } + return true; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/handwired/prkl30/keymaps/erkhal/keymap.c b/keyboards/handwired/prkl30/keymaps/erkhal/keymap.c index 4b01c9e09e28..71e5ed529b27 100644 --- a/keyboards/handwired/prkl30/keymaps/erkhal/keymap.c +++ b/keyboards/handwired/prkl30/keymaps/erkhal/keymap.c @@ -81,12 +81,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { tap_code16(LCTL(KC_RIGHT)); } else { tap_code16(LCTL(KC_LEFT)); } + return true; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { diff --git a/keyboards/handwired/prkl30/promicro/rules.mk b/keyboards/handwired/prkl30/promicro/rules.mk index aa303a4bf987..71322c494b73 100644 --- a/keyboards/handwired/prkl30/promicro/rules.mk +++ b/keyboards/handwired/prkl30/promicro/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite ENCODER_ENABLE = yes MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h index ba2c25ea1d03..48eb39f72dd8 100644 --- a/keyboards/handwired/promethium/config.h +++ b/keyboards/handwired/promethium/config.h @@ -20,23 +20,26 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0x17EF // Lenovo +#define VENDOR_ID 0x17EF // Lenovo //#define PRODUCT_ID 0x6009 // ThinkPad Keyboard with TrackPoint //#define PRODUCT_ID 0x6047 // ThinkPad Compact USB Keyboard with TrackPoint -#define PRODUCT_ID 0x6048 // ThinkPad Compact Bluetooth Keyboard with TrackPoint +#define PRODUCT_ID 0x6048 // ThinkPad Compact Bluetooth Keyboard with TrackPoint //#define PRODUCT_ID 0x6067 // ThinkPad Pro Docking Station -#define DEVICE_VER 0x0001 -#define MANUFACTURER Priyadi -#define PRODUCT Promethium Keyboard +#define DEVICE_VER 0x0001 +#define MANUFACTURER Priyadi +#define PRODUCT Promethium Keyboard /* key matrix size */ -#define MATRIX_COLS 6 -#define MATRIX_ROWS 9 +#define MATRIX_COLS 6 +#define MATRIX_ROWS 9 /* default pin-out */ -#define MATRIX_COL_PINS { F4, F1, F0, D6, D0, D1 } -#define MATRIX_ROW_PINS { F5, F6, F7 } -#define TRACKPOINT_PINS { B7, B6, D7 } +#define MATRIX_COL_PINS \ + { F4, F1, F0, D6, D0, D1 } +#define MATRIX_ROW_PINS \ + { F5, F6, F7, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN } +#define TRACKPOINT_PINS \ + { B7, B6, D7 } #define UNUSED_PINS /* @@ -48,15 +51,15 @@ along with this program. If not, see . * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) * -*/ -#define DIODE_DIRECTION COL2ROW + */ +#define DIODE_DIRECTION COL2ROW // #define BACKLIGHT_PIN B7 // #define BACKLIGHT_BREATHING // #define BACKLIGHT_LEVELS 3 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 +#define DEBOUNCE 5 /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST @@ -90,9 +93,7 @@ along with this program. If not, see . //#define FORCE_NKRO /* key combination for command */ -#define IS_COMMAND() ( \ - get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)) \ -) +#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL))) /* control how magic key switches layers */ //#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true @@ -149,178 +150,178 @@ along with this program. If not, see . //#define NO_ACTION_FUNCTION #define PS2_MOUSE_INIT_DELAY 2000 -#define BATTERY_POLL 30000 -#define MAX_VOLTAGE 4.2 -#define MIN_VOLTAGE 3.2 +#define BATTERY_POLL 30000 +#define MAX_VOLTAGE 4.2 +#define MIN_VOLTAGE 3.2 -#ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file +#ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file enum led_sequence { - LED_IND_LINUX, - LED_IND_APPLE, - LED_IND_WINDOWS, - LED_IND_QWERTY, - LED_IND_ALT, - LED_IND_AUDIO, - LED_IND_BLUETOOTH, - LED_IND_USB, - - LED_IND_BATTERY, - LED_IND_CAPSLOCK, - LED_IND_GUI, - LED_IND_FUN, - LED_IND_NUM, - LED_IND_PUNC, - LED_IND_EMOJI, - LED_IND_GREEK, - - LED_BKSP, - LED_ENT, - LED_RSFT, - LED_RCTL, - - LED_RALT, - LED_SLSH, - LED_SCLN, - LED_P, - - LED_O, - LED_L, - LED_DOT, - LED_RGUI, - - LED_GREEK, - LED_COMM, - LED_K, - LED_I, - - LED_U, - LED_J, - LED_M, - LED_FUN, - - LED_RSPC, - LED_N, - LED_HH, - LED_Y, - - LED_TRACKPOINT3, - LED_TRACKPOINT2, - LED_TRACKPOINT1, - - LED_T, - LED_G, - LED_B, - LED_LSPC, - - LED_NUM, - LED_V, - LED_F, - LED_R, - - LED_E, - LED_D, - LED_C, - LED_EMPTY, - - LED_LGUI, - LED_X, - LED_S, - LED_W, - - LED_Q, - LED_A, - LED_Z, - LED_LALT, - - LED_LCTL, - LED_LSFT, - LED_ESC, - LED_TAB, - - LED_TOTAL + LED_IND_LINUX, + LED_IND_APPLE, + LED_IND_WINDOWS, + LED_IND_QWERTY, + LED_IND_ALT, + LED_IND_AUDIO, + LED_IND_BLUETOOTH, + LED_IND_USB, + + LED_IND_BATTERY, + LED_IND_CAPSLOCK, + LED_IND_GUI, + LED_IND_FUN, + LED_IND_NUM, + LED_IND_PUNC, + LED_IND_EMOJI, + LED_IND_GREEK, + + LED_BKSP, + LED_ENT, + LED_RSFT, + LED_RCTL, + + LED_RALT, + LED_SLSH, + LED_SCLN, + LED_P, + + LED_O, + LED_L, + LED_DOT, + LED_RGUI, + + LED_GREEK, + LED_COMM, + LED_K, + LED_I, + + LED_U, + LED_J, + LED_M, + LED_FUN, + + LED_RSPC, + LED_N, + LED_HH, + LED_Y, + + LED_TRACKPOINT3, + LED_TRACKPOINT2, + LED_TRACKPOINT1, + + LED_T, + LED_G, + LED_B, + LED_LSPC, + + LED_NUM, + LED_V, + LED_F, + LED_R, + + LED_E, + LED_D, + LED_C, + LED_EMPTY, + + LED_LGUI, + LED_X, + LED_S, + LED_W, + + LED_Q, + LED_A, + LED_Z, + LED_LALT, + + LED_LCTL, + LED_LSFT, + LED_ESC, + LED_TAB, + + LED_TOTAL }; -#define RGB_DI_PIN B5 -#define RGBSPS_NUM LED_TOTAL +# define RGB_DI_PIN B5 +# define RGBSPS_NUM LED_TOTAL #endif /* PS/2 mouse */ #ifdef PS2_USE_BUSYWAIT -# define PS2_CLOCK_PORT PORTD -# define PS2_CLOCK_PIN PIND -# define PS2_CLOCK_DDR DDRD -# define PS2_CLOCK_BIT 3 -# define PS2_DATA_PORT PORTD -# define PS2_DATA_PIN PIND -# define PS2_DATA_DDR DDRD -# define PS2_DATA_BIT 2 +# define PS2_CLOCK_PORT PORTD +# define PS2_CLOCK_PIN PIND +# define PS2_CLOCK_DDR DDRD +# define PS2_CLOCK_BIT 3 +# define PS2_DATA_PORT PORTD +# define PS2_DATA_PIN PIND +# define PS2_DATA_DDR DDRD +# define PS2_DATA_BIT 2 #endif /* PS/2 mouse interrupt version */ #ifdef PS2_USE_INT /* uses INT1 for clock line(ATMega32U4) */ -#define PS2_CLOCK_PORT PORTD -#define PS2_CLOCK_PIN PIND -#define PS2_CLOCK_DDR DDRD -#define PS2_CLOCK_BIT 3 -#define PS2_DATA_PORT PORTD -#define PS2_DATA_PIN PIND -#define PS2_DATA_DDR DDRD -#define PS2_DATA_BIT 2 - -#define PS2_INT_INIT() do { \ - EICRA |= ((1<. + */ + +#pragma once + +/* override diode direction from keyboard config */ +/* COL2ROW or ROW2COL */ +#undef DIODE_DIRECTION +#define DIODE_DIRECTION COL2ROW diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c b/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c new file mode 100644 index 000000000000..bbb77fa87c64 --- /dev/null +++ b/keyboards/handwired/pteron/keymaps/alzafacon/keymap.c @@ -0,0 +1,120 @@ + /* Copyright 2021 Fidel Coria + * + * 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 pteron_layers { + _QWERTY, + _LOWER, + _RAISE, + _ADJUST +}; + + +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * +-----------------------------------------+ +-----------------------------------------+ + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Del | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Esc | A | S | D | F | G | | H | J | K | L | ; | " | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter | + * +-------------+------+------+------+------| |------+------+------+------+-------------+ + * |Lower | SPC | Alt | GUI | | Alt | GUI | SPC |Raise | + * +---------------------------+ +---------------------------+ + */ +[_QWERTY] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_DEL, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + LOWER, KC_SPC, KC_LALT, KC_LGUI, KC_RALT, KC_RGUI, KC_SPC, RAISE +), + +/* Lower + * +-----------------------------------------+ +-----------------------------------------+ + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Bksp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | | F12 |ISO ~ |ISO | | | | | + * +-------------+------+------+------+------| |------+------+------+------+-------------+ + * | | | | | | Next | Vol- | Vol+ | Play | + * +---------------------------+ +---------------------------+ + */ +[_LOWER] = LAYOUT( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______, + _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Raise + * +-----------------------------------------+ +-----------------------------------------+ + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | | F12 |ISO # |ISO / | | | | + * +-------------+------+------+------+------| |------+------+------+------+-------------+ + * | | | | | | Next | Vol- | Vol+ | Play | + * +---------------------------+ +---------------------------+ + */ +[_RAISE] = 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Adjust (Lower + Raise) + * +-----------------------------------------+ +-----------------------------------------+ + * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | Reset| | | | | | | | | | | Del | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | |Aud on|AudOff|AGnorm| |AGswap|Qwerty|Colemk|Dvorak| | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|MusOff|MidiOn| |MidOff| | | | | | + * +-------------+------+------+------+------| |------+------+------+------+-------------+ + * | | | | | | | | | | + * +---------------------------+ +---------------------------+ + */ +[_ADJUST] = 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, + _______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ +) + +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/readme.md b/keyboards/handwired/pteron/keymaps/alzafacon/readme.md new file mode 100644 index 000000000000..0bc5f2704fde --- /dev/null +++ b/keyboards/handwired/pteron/keymaps/alzafacon/readme.md @@ -0,0 +1,4 @@ +# alzafacon pteron layout + +This keymap is for builds with elite-c controllers. +Also notice `DIODE_DIRECTION COL2ROW`. I prefer to hand-wire this way. diff --git a/keyboards/handwired/pteron/keymaps/alzafacon/rules.mk b/keyboards/handwired/pteron/keymaps/alzafacon/rules.mk new file mode 100644 index 000000000000..03323308e775 --- /dev/null +++ b/keyboards/handwired/pteron/keymaps/alzafacon/rules.mk @@ -0,0 +1,2 @@ +# for elite-c +BOOTLOADER = atmel-dfu diff --git a/keyboards/handwired/pteron/rules.mk b/keyboards/handwired/pteron/rules.mk index 648387460ba2..0ece061a6788 100644 --- a/keyboards/handwired/pteron/rules.mk +++ b/keyboards/handwired/pteron/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/handwired/pteron38/rules.mk b/keyboards/handwired/pteron38/rules.mk index 12c8a600591c..ca912bb4674f 100644 --- a/keyboards/handwired/pteron38/rules.mk +++ b/keyboards/handwired/pteron38/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/pteron44/rules.mk b/keyboards/handwired/pteron44/rules.mk index 12c8a600591c..ca912bb4674f 100644 --- a/keyboards/handwired/pteron44/rules.mk +++ b/keyboards/handwired/pteron44/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/pytest/has_template/keymaps/nocpp/keymap.c b/keyboards/handwired/pytest/has_template/keymaps/nocpp/keymap.c index 4e06bb11ec2e..65cd4cebea9b 100644 --- a/keyboards/handwired/pytest/has_template/keymaps/nocpp/keymap.c +++ b/keyboards/handwired/pytest/has_template/keymaps/nocpp/keymap.c @@ -11,7 +11,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT(KC_ENTER) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { if (clockwise) { tap_code(KC_UP); @@ -19,5 +19,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_DOWN); } } - + return true; }; diff --git a/keyboards/handwired/qc60/proto/proto.c b/keyboards/handwired/qc60/proto/proto.c index a6031d772d1c..fe08df85999b 100644 --- a/keyboards/handwired/qc60/proto/proto.c +++ b/keyboards/handwired/qc60/proto/proto.c @@ -15,7 +15,3 @@ */ #include "qc60.h" - -void matrix_init_kb(void) { - matrix_init_user(); -}; diff --git a/keyboards/handwired/qc60/qc60.h b/keyboards/handwired/qc60/qc60.h index 55c83aca5ec5..944ec10f5e19 100644 --- a/keyboards/handwired/qc60/qc60.h +++ b/keyboards/handwired/qc60/qc60.h @@ -7,20 +7,4 @@ #include "proto.h" #endif - -// Used to create a keymap using only KC_ prefixed keys -#define LAYOUT_kc( \ - LA1, LA2, LA3, LA4, LA5, LA6, RA1, RA2, RA3, RA4, RA5, RA6, RA7, \ - LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB7, \ - LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC3, RC4, RC5, RC6, RC7, \ - LD1, LD2, LD3, LD4, LD5, RD1, RD4, RD5, RD6, RD7 \ - ) \ - LAYOUT( \ - KC_##LA1, KC_##LA2, KC_##LA3, KC_##LA4, KC_##LA5, KC_##LA6, KC_##RA1, KC_##RA2, KC_##RA3, KC_##RA4, KC_##RA5, KC_##RA6, KC_##RA7, \ - KC_##LB1, KC_##LB2, KC_##LB3, KC_##LB4, KC_##LB5, KC_##LB6, KC_##RB1, KC_##RB2, KC_##RB3, KC_##RB4, KC_##RB5, KC_##RB7, \ - KC_##LC1, KC_##LC2, KC_##LC3, KC_##LC4, KC_##LC5, KC_##LC6, KC_##RC1, KC_##RC3, KC_##RC4, KC_##RC5, KC_##RC6, KC_##RC7, \ - KC_##LD1, KC_##LD2, KC_##LD3, KC_##LD4, KC_##LD5, KC_##RD1, KC_##RD4, KC_##RD5, KC_##RD6, KC_##RD7 \ - ) - - #endif diff --git a/keyboards/handwired/qc60/rules.mk b/keyboards/handwired/qc60/rules.mk index 8859f5012d33..718dab18771b 100644 --- a/keyboards/handwired/qc60/rules.mk +++ b/keyboards/handwired/qc60/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/handwired/reddot/keymaps/default/keymap.c b/keyboards/handwired/reddot/keymaps/default/keymap.c index 246a03b4d79b..9ac394f7f7f0 100644 --- a/keyboards/handwired/reddot/keymaps/default/keymap.c +++ b/keyboards/handwired/reddot/keymaps/default/keymap.c @@ -5,18 +5,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(1), KC_PSLS, KC_PAST, KC_PMNS, \ - KC_LALT, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_INS, KC_HOME, KC_PGUP, \ + KC_LALT, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_INS, KC_HOME, KC_PGUP, \ KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_DEL, KC_END, KC_PGDN, KC_PPLS, \ KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_P1, KC_UP, KC_P3, \ - FR_LESS, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \ + FR_LABK, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \ ), [1] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSLS, KC_PAST, KC_PMNS, \ - KC_LALT, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_7, KC_8, KC_9, \ + KC_LALT, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_7, KC_8, KC_9, \ KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_4, KC_5, KC_6, KC_PPLS, \ KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_1, KC_2, KC_3, \ - FR_LESS, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \ + FR_LABK, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \ ), }; diff --git a/keyboards/handwired/reddot/reddot.c b/keyboards/handwired/reddot/reddot.c index 4e1efc06cea3..1c4720b5cf7b 100755 --- a/keyboards/handwired/reddot/reddot.c +++ b/keyboards/handwired/reddot/reddot.c @@ -1,7 +1 @@ #include "reddot.h" - -void matrix_init_kb(void) { - - matrix_init_user(); -} - diff --git a/keyboards/handwired/reddot/rules.mk b/keyboards/handwired/reddot/rules.mk index 4400decaac12..dfe1c7174911 100755 --- a/keyboards/handwired/reddot/rules.mk +++ b/keyboards/handwired/reddot/rules.mk @@ -2,28 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -ifdef TEENSY2 - BOOTLOADER = halfkay - OPT_DEFS += -DATREUS_TEENSY2 - ATREUS_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex -else - BOOTLOADER = caterina - OPT_DEFS += -DATREUS_ASTAR - ATREUS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \ - avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB) -endif +BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -33,13 +17,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 - -# upload: build -# $(ATREUS_UPLOAD_COMMAND) - -# for avr upload -USB = /dev/cu.usbmodem1421 diff --git a/keyboards/handwired/retro_refit/rules.mk b/keyboards/handwired/retro_refit/rules.mk index 04db510d138c..129dbc92139a 100644 --- a/keyboards/handwired/retro_refit/rules.mk +++ b/keyboards/handwired/retro_refit/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -24,6 +17,5 @@ KEYBOARD_LOCK_ENABLE = yes # Allow locking of keyboard via magic key # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls +MIDI_ENABLE = no # MIDI support # UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/handwired/riblee_f401/rules.mk b/keyboards/handwired/riblee_f401/rules.mk index efe2522ee28a..7d22f3873636 100644 --- a/keyboards/handwired/riblee_f401/rules.mk +++ b/keyboards/handwired/riblee_f401/rules.mk @@ -1,13 +1,13 @@ # MCU name MCU = STM32F401 -# Address of the bootloader in system memory -STM32_BOOTLOADER_ADDRESS = 0x1FFF0000 +# Bootloader selection +BOOTLOADER = stm32-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control KEYBOARD_SHARED_EP = yes diff --git a/keyboards/handwired/riblee_f411/rules.mk b/keyboards/handwired/riblee_f411/rules.mk index a44b2b058b2b..9c97d7625c14 100644 --- a/keyboards/handwired/riblee_f411/rules.mk +++ b/keyboards/handwired/riblee_f411/rules.mk @@ -1,13 +1,13 @@ # MCU name MCU = STM32F411 -# Address of the bootloader in system memory -STM32_BOOTLOADER_ADDRESS = 0x1FFF0000 +# Bootloader selection +BOOTLOADER = stm32-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control KEYBOARD_SHARED_EP = yes @@ -25,5 +25,6 @@ AUDIO_ENABLE = no # Audio output LAYOUTS = ortho_5x12 -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 RAW_ENABLE = yes diff --git a/keyboards/handwired/rs60/keymaps/default/keymap.c b/keyboards/handwired/rs60/keymaps/default/keymap.c index 9fea769d05c4..7c61964330a8 100644 --- a/keyboards/handwired/rs60/keymaps/default/keymap.c +++ b/keyboards/handwired/rs60/keymaps/default/keymap.c @@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | * `-----------------------------------------------------------------------------------' */ -[_QWERTY] = LAYOUT( \ +[_QWERTY] = LAYOUT_ortho_5x12( \ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, \ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ @@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | * `-----------------------------------------------------------------------------------' */ -[_COLEMAK] = LAYOUT( \ +[_COLEMAK] = LAYOUT_ortho_5x12( \ 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_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, \ KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \ @@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | * `-----------------------------------------------------------------------------------' */ -[_DVORAK] = LAYOUT( \ +[_DVORAK] = LAYOUT_ortho_5x12( \ 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_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, \ KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \ @@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | Next | Vol- | Vol+ | Play | * `-----------------------------------------------------------------------------------' */ -[_LOWER] = LAYOUT( \ +[_LOWER] = LAYOUT_ortho_5x12( \ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ @@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | Next | Vol- | Vol+ | Play | * `-----------------------------------------------------------------------------------' */ -[_RAISE] = LAYOUT( \ +[_RAISE] = LAYOUT_ortho_5x12( \ 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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \ @@ -153,7 +153,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ -[_ADJUST] = LAYOUT( \ +[_ADJUST] = LAYOUT_ortho_5x12( \ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ _______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \ _______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, \ diff --git a/keyboards/handwired/rs60/rs60.h b/keyboards/handwired/rs60/rs60.h index f2113f05c3dd..294149729e5d 100644 --- a/keyboards/handwired/rs60/rs60.h +++ b/keyboards/handwired/rs60/rs60.h @@ -18,7 +18,7 @@ along with this program. If not, see . #include "quantum.h" -#define LAYOUT( \ +#define LAYOUT_ortho_5x12( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ @@ -32,5 +32,3 @@ along with this program. If not, see . { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \ } - -#define LAYOUT_ortho_5x12 LAYOUT diff --git a/keyboards/handwired/rs60/rules.mk b/keyboards/handwired/rs60/rules.mk index ee10944c67bf..76070f7f4401 100644 --- a/keyboards/handwired/rs60/rules.mk +++ b/keyboards/handwired/rs60/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/handwired/selene/rules.mk b/keyboards/handwired/selene/rules.mk index bfb967f9a53a..2956d166c061 100644 --- a/keyboards/handwired/selene/rules.mk +++ b/keyboards/handwired/selene/rules.mk @@ -2,10 +2,13 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/sick68/config.h b/keyboards/handwired/sick68/config.h index cbce7bfa72e2..ea7466d23cd9 100644 --- a/keyboards/handwired/sick68/config.h +++ b/keyboards/handwired/sick68/config.h @@ -196,26 +196,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/sick68/keymaps/default/keymap.c b/keyboards/handwired/sick68/keymaps/default/keymap.c index f25be1907606..6d6030582cf0 100644 --- a/keyboards/handwired/sick68/keymaps/default/keymap.c +++ b/keyboards/handwired/sick68/keymaps/default/keymap.c @@ -64,18 +64,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R ), }; - - -/* -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool led_update_user(led_t led_state) { - return true; -} -*/ diff --git a/keyboards/handwired/sick68/rules.mk b/keyboards/handwired/sick68/rules.mk index c74742abd56a..170b9e870efb 100644 --- a/keyboards/handwired/sick68/rules.mk +++ b/keyboards/handwired/sick68/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/sick_pad/rules.mk b/keyboards/handwired/sick_pad/rules.mk index 28578f082467..9d49c0155628 100644 --- a/keyboards/handwired/sick_pad/rules.mk +++ b/keyboards/handwired/sick_pad/rules.mk @@ -2,10 +2,13 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/slash/rules.mk b/keyboards/handwired/slash/rules.mk index 9726e71443fb..e2e8c93e3064 100644 --- a/keyboards/handwired/slash/rules.mk +++ b/keyboards/handwired/slash/rules.mk @@ -5,19 +5,12 @@ MCU = atmega32u4 F_CPU = 8000000 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -28,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode #BLUETOOTH_ENABLE = Yes # Enable Bluetooth with the Adafruit EZ-Key HID BLUETOOTH = AdafruitBLE diff --git a/keyboards/handwired/sono1/rules.mk b/keyboards/handwired/sono1/rules.mk index 558598d74ff5..b98666291701 100644 --- a/keyboards/handwired/sono1/rules.mk +++ b/keyboards/handwired/sono1/rules.mk @@ -10,7 +10,7 @@ OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/space_oddity/keymaps/default/keymap.c b/keyboards/handwired/space_oddity/keymaps/default/keymap.c index 8adb15cfdb50..8a6f24587583 100644 --- a/keyboards/handwired/space_oddity/keymaps/default/keymap.c +++ b/keyboards/handwired/space_oddity/keymaps/default/keymap.c @@ -143,12 +143,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - // Simple macro ideas follow. Each of them is designed to give you a quick way to create pairs of // delimiters and then position the cursor between them, much like Emacs' ParEdit does. This way, // you can have some convenient coding "helpers" even when not using Emacs. It is also nice for @@ -186,37 +180,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} diff --git a/keyboards/handwired/space_oddity/rules.mk b/keyboards/handwired/space_oddity/rules.mk index a2e63690bd36..70b2151a3f9e 100644 --- a/keyboards/handwired/space_oddity/rules.mk +++ b/keyboards/handwired/space_oddity/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/handwired/split89/config.h b/keyboards/handwired/split89/config.h new file mode 100644 index 000000000000..d78535a20107 --- /dev/null +++ b/keyboards/handwired/split89/config.h @@ -0,0 +1,163 @@ +/* Copyright 2021 jurassic73 + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER jurassic73 +#define PRODUCT split89 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ + +/* key matrix size +ROWS = total count of rows for both sides - this is broken out accordingly in split.h +COLS = number of cols per side which curently needs to be equal so there are blank columns for the left side in the split89.h file + */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 10 + +/* Left side matrix */ +#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 } +#define MATRIX_COL_PINS { F5, F4, B5, B4, E6, D7, C6, D4, D2, D3 } +/* Right side matrix */ +#define MATRIX_ROW_PINS_RIGHT { F6, F7, B1, B3, B2, B6 } +#define MATRIX_COL_PINS_RIGHT { F5, F4, B5, B4, E6, D7, C6, D4, D2, D3 } + +/* this will be tied to high (VCC with a 2k to 10k resistor) on the left keyboard half and tied to low (GND using a wire jumper only) on the right keyboard half. This allows a user to plug in a USB cable to either side and function correctly with or without a TRS/TRRS cable with a single hex file. */ +#define SPLIT_HAND_PIN D1 + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* handedness */ +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 +#define USE_SERIAL + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/split89/info.json b/keyboards/handwired/split89/info.json new file mode 100644 index 000000000000..bbdf48966ed2 --- /dev/null +++ b/keyboards/handwired/split89/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "split89", + "maintainer": "jurassic73", + "url": "https://github.com/jurassic73/split89", + "width": 21, + "height": 6.5, + "layouts": { + "LAYOUT": { + "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6, "y":0}, {"label":"F6", "x":10.25, "y":0}, {"label":"F7", "x":11.25, "y":0}, {"label":"F8", "x":12.25, "y":0}, {"label":"F9", "x":13.75, "y":0}, {"label":"F10", "x":14.75, "y":0}, {"label":"F11", "x":15.75, "y":0}, {"label":"F12", "x":16.75, "y":0}, {"label":"PrtSc", "x":18, "y":0}, {"label":"Scroll Lock", "x":19, "y":0}, {"label":"Pause", "x":20, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":9.75, "y":1.5}, {"label":"*", "x":10.75, "y":1.5}, {"label":"(", "x":11.75, "y":1.5}, {"label":")", "x":12.75, "y":1.5}, {"label":"_", "x":13.75, "y":1.5}, {"label":"+", "x":14.75, "y":1.5}, {"label":"Backspace", "x":15.75, "y":1.5, "w":2}, {"label":"Insert", "x":18, "y":1.5}, {"label":"Home", "x":19, "y":1.5}, {"label":"PgUp", "x":20, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":9.25, "y":2.5}, {"label":"U", "x":10.25, "y":2.5}, {"label":"I", "x":11.25, "y":2.5}, {"label":"O", "x":12.25, "y":2.5}, {"label":"P", "x":13.25, "y":2.5}, {"label":"{", "x":14.25, "y":2.5}, {"label":"}", "x":15.25, "y":2.5}, {"label":"|", "x":16.25, "y":2.5, "w":1.5}, {"label":"Delete", "x":18, "y":2.5}, {"label":"End", "x":19, "y":2.5}, {"label":"PgDn", "x":20, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":9.5, "y":3.5}, {"label":"J", "x":10.5, "y":3.5}, {"label":"K", "x":11.5, "y":3.5}, {"label":"L", "x":12.5, "y":3.5}, {"label":":", "x":13.5, "y":3.5}, {"label":"\"", "x":14.5, "y":3.5}, {"label":"Enter", "x":15.5, "y":3.5, "w":2.25}, {"label":"Shift", "x":0, "y":4.5, "w":2.25}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":10, "y":4.5}, {"label":"M", "x":11, "y":4.5}, {"label":"<", "x":12, "y":4.5}, {"label":">", "x":13, "y":4.5}, {"label":"?", "x":14, "y":4.5}, {"label":"Shift", "x":15, "y":4.5, "w":2.75}, {"label":"\u2191", "x":19, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Fn", "x":1.25, "y":5.5, "w":1.25}, {"label":"Win", "x":2.5, "y":5.5, "w":1.25}, {"label":"Alt", "x":3.75, "y":5.5, "w":1.25}, {"x":5, "y":5.5, "w":2.25}, {"x":10, "y":5.5, "w":2.75}, {"label":"Alt", "x":12.75, "y":5.5, "w":1.25}, {"label":"Win", "x":14, "y":5.5, "w":1.25}, {"label":"Menu", "x":15.25, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":16.5, "y":5.5, "w":1.25}, {"label":"\u2190", "x":18, "y":5.5}, {"label":"\u2193", "x":19, "y":5.5}, {"label":"\u2192", "x":20, "y":5.5}] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/split89/keymaps/default/keymap.c b/keyboards/handwired/split89/keymaps/default/keymap.c new file mode 100644 index 000000000000..3b60ef4f6867 --- /dev/null +++ b/keyboards/handwired/split89/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2021 jurassic73 + * + * 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 { + BASE, + AUD, +}; +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [0] = LAYOUT( + 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_SLCK, KC_PAUS, + 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_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_Y, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, + KC_CAPS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_H, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSHIFT, KC_UP, + KC_LSFT, KC_LCTL,MO(1),KC_LGUI,KC_LALT,KC_SPACE, KC_N, KC_SPACE, KC_RALT,KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + /* Volume */ + [1] = LAYOUT( + KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_VOLU, + KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_MEDIA_PLAY_PAUSE, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ), +}; diff --git a/keyboards/handwired/split89/keymaps/default/readme.md b/keyboards/handwired/split89/keymaps/default/readme.md new file mode 100644 index 000000000000..086d8977a09d --- /dev/null +++ b/keyboards/handwired/split89/keymaps/default/readme.md @@ -0,0 +1,6 @@ +# The default keymap for split89 + +A 2nd layer is configured and activated while holding down the Aud key. + +![image](https://i.imgur.com/h1C4d9t.png) + diff --git a/keyboards/handwired/split89/readme.md b/keyboards/handwired/split89/readme.md new file mode 100644 index 000000000000..c3caf6a7fd7b --- /dev/null +++ b/keyboards/handwired/split89/readme.md @@ -0,0 +1,18 @@ +# split89 + +![split89](https://i.imgur.com/OExxlQx.jpeg) + +An 89-key split TKL with 3d printed case and powered with Pro Micro controllers. + +* Full build documented here: [https://github.com/jurassic73/split89](https://github.com/jurassic73/split89) + +* Keyboard Maintainer: [jurassic73](https://github.com/jurassic73) +* Hardware Supported: ATmega32U4 Pro Micro +* Hardware Availability: see [Bill of Materials](https://github.com/jurassic73/split89#bill-of-materials). + + +Make example for this keyboard (after setting up your build environment): + + make handwired/split89: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). diff --git a/keyboards/handwired/split89/rules.mk b/keyboards/handwired/split89/rules.mk new file mode 100644 index 000000000000..2b0933d53d9c --- /dev/null +++ b/keyboards/handwired/split89/rules.mk @@ -0,0 +1,24 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +SPLIT_KEYBOARD = yes diff --git a/keyboards/handwired/split89/split89.c b/keyboards/handwired/split89/split89.c new file mode 100644 index 000000000000..8cceee9c591b --- /dev/null +++ b/keyboards/handwired/split89/split89.c @@ -0,0 +1,17 @@ +/* Copyright 2021 jurassic73 + * + * 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 "split89.h" diff --git a/keyboards/handwired/split89/split89.h b/keyboards/handwired/split89/split89.h new file mode 100644 index 000000000000..d04f0296d79a --- /dev/null +++ b/keyboards/handwired/split89/split89.h @@ -0,0 +1,50 @@ +/* Copyright 2021 jurassic73 + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys minus blanks in the matrix. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix which includes blanks in the wired out matrix. + */ +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15, \ + k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k30, k31, \ + k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, \ + k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k60, \ + k61, k62, k63, k64, k65, k66, k67, k68, k69, k70, k71, k72, k73, \ + k74, k75, k76, k77, k78, k79, k80, k81, k82, k83, k84, k85, k86, k87, k88 \ + ) \ + { \ + { KC_NO, KC_NO, KC_NO, KC_NO, k00, k01, k02, k03, k04, k05 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, k16, k17, k18, k19, k20, k21 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, k32, k33, k34, k35, k36, k37 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, k48, k49, k50, k51, k52, k53 }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, k61, k62, k63, k64, k65, k66, }, \ + { KC_NO, KC_NO, KC_NO, KC_NO, k74, k75, k76, k77, k78, k79, }, \ + { k06, k07, k08, k09, k10, k11, k12, k13, k14, k15 }, \ + { k22, k23, k24, k25, k26, k27, k28, k29, k30, k31 }, \ + { k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 }, \ + { k54, k55, k56, k57, k58, k59, k60, KC_NO, KC_NO, KC_NO }, \ + { k67, k68, k69, k70, k71, KC_NO, k72, KC_NO, k73, KC_NO }, \ + { k80, k81, KC_NO, k82, k83, k84, k85, k86, k87, k88 } \ +} diff --git a/keyboards/handwired/splittest/promicro/rules.mk b/keyboards/handwired/splittest/promicro/rules.mk index e6fef517279c..cf663a7ed6aa 100644 --- a/keyboards/handwired/splittest/promicro/rules.mk +++ b/keyboards/handwired/splittest/promicro/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina diff --git a/keyboards/handwired/splittest/rules.mk b/keyboards/handwired/splittest/rules.mk index 2aa484db0bb7..22df34eea27c 100644 --- a/keyboards/handwired/splittest/rules.mk +++ b/keyboards/handwired/splittest/rules.mk @@ -2,14 +2,13 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/handwired/splittest/teensy_2/rules.mk b/keyboards/handwired/splittest/teensy_2/rules.mk index ae398e2588c7..320633f80f33 100644 --- a/keyboards/handwired/splittest/teensy_2/rules.mk +++ b/keyboards/handwired/splittest/teensy_2/rules.mk @@ -2,11 +2,4 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay diff --git a/keyboards/handwired/steamvan/keymaps/default/keymap.c b/keyboards/handwired/steamvan/keymaps/default/keymap.c index e796f0940923..4f11844a4e9b 100644 --- a/keyboards/handwired/steamvan/keymaps/default/keymap.c +++ b/keyboards/handwired/steamvan/keymaps/default/keymap.c @@ -75,19 +75,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______ ) }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/steamvan/rev1/config.h b/keyboards/handwired/steamvan/rev1/config.h index e877484b941d..18a6690c2520 100644 --- a/keyboards/handwired/steamvan/rev1/config.h +++ b/keyboards/handwired/steamvan/rev1/config.h @@ -26,12 +26,6 @@ along with this program. If not, see . #define MANUFACTURER John M Daly #define PRODUCT SteamVan rev1 -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up here: - * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf - */ -#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 - /* key matrix size */ #define MATRIX_ROWS 4 #define MATRIX_COLS 12 diff --git a/keyboards/handwired/steamvan/rev1/rules.mk b/keyboards/handwired/steamvan/rev1/rules.mk index 30c74d2ece13..e0ddc06f5796 100644 --- a/keyboards/handwired/steamvan/rev1/rules.mk +++ b/keyboards/handwired/steamvan/rev1/rules.mk @@ -2,6 +2,9 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Use SPI for RGB underglow: WS2812_DRIVER = spi @@ -9,7 +12,7 @@ WS2812_DRIVER = spi # comment out to disable the options. # BACKLIGHT_ENABLE = yes -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -17,7 +20,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work AUDIO_ENABLE = no RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID LEADER_ENABLE = yes diff --git a/keyboards/handwired/sticc14/config.h b/keyboards/handwired/sticc14/config.h index effec0467768..fbe420b5765d 100644 --- a/keyboards/handwired/sticc14/config.h +++ b/keyboards/handwired/sticc14/config.h @@ -192,26 +192,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/sticc14/rules.mk b/keyboards/handwired/sticc14/rules.mk index 60ef8b9e590a..26cec2f9160c 100644 --- a/keyboards/handwired/sticc14/rules.mk +++ b/keyboards/handwired/sticc14/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/sticc14/sticc14.c b/keyboards/handwired/sticc14/sticc14.c index 8edd2bda6b92..50c3a4a4b715 100644 --- a/keyboards/handwired/sticc14/sticc14.c +++ b/keyboards/handwired/sticc14/sticc14.c @@ -14,38 +14,3 @@ * along with this program. If not, see . */ #include "sticc14.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - -*/ diff --git a/keyboards/handwired/stream_cheap/2x3/readme.md b/keyboards/handwired/stream_cheap/2x3/readme.md new file mode 100644 index 000000000000..69ce022f6d8a --- /dev/null +++ b/keyboards/handwired/stream_cheap/2x3/readme.md @@ -0,0 +1,3 @@ +# Stream Cheap + +An ortholinear macropad, 2x3 configuration. diff --git a/keyboards/handwired/stream_cheap/2x3/rules.mk b/keyboards/handwired/stream_cheap/2x3/rules.mk index e4ffb10d0494..58ee686dc657 100644 --- a/keyboards/handwired/stream_cheap/2x3/rules.mk +++ b/keyboards/handwired/stream_cheap/2x3/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,3 +20,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output + +LAYOUTS = ortho_2x3 diff --git a/keyboards/handwired/stream_cheap/2x4/2x4.h b/keyboards/handwired/stream_cheap/2x4/2x4.h index 07856044f24b..37d37af728d8 100644 --- a/keyboards/handwired/stream_cheap/2x4/2x4.h +++ b/keyboards/handwired/stream_cheap/2x4/2x4.h @@ -3,8 +3,8 @@ #include "quantum.h" #define LAYOUT_ortho_2x4(\ - K00, K01, K02,K03, \ - K04, K05, K06,K07 \ + K00, K01, K02, K03, \ + K04, K05, K06, K07 \ ) \ { \ { K00,K01,K02,K03}, \ diff --git a/keyboards/handwired/stream_cheap/2x4/config.h b/keyboards/handwired/stream_cheap/2x4/config.h index 14b4d9e36845..432f23c7d90e 100644 --- a/keyboards/handwired/stream_cheap/2x4/config.h +++ b/keyboards/handwired/stream_cheap/2x4/config.h @@ -3,19 +3,21 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x1214 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Kyle Hart -#define PRODUCT Stream Cheap 2x4 +#define VENDOR_ID 0x7363 // Stream Cheap +#define PRODUCT_ID 0x1214 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Stream Cheap +#define PRODUCT 2x4 /* key matrix size */ #define MATRIX_ROWS 2 #define MATRIX_COLS 4 /* define direct pins used */ -#define DIRECT_PINS { { B5,D7,C6,D1}, { B4,E6,D4,D0} } - +#define DIRECT_PINS \ + { \ + {D1, D0, D4, C6}, { D7, E6, B4, B5 } \ + } /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 diff --git a/keyboards/handwired/stream_cheap/2x4/keymaps/via/keymap.c b/keyboards/handwired/stream_cheap/2x4/keymaps/via/keymap.c new file mode 100644 index 000000000000..8824e214580e --- /dev/null +++ b/keyboards/handwired/stream_cheap/2x4/keymaps/via/keymap.c @@ -0,0 +1,21 @@ +/* Copyright 2021 Matthias Liffers + * + * 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 layers { NORMAL_LAYER, SECOND_LAYER, THIRD_LAYER, FOURTH_LAYER }; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[NORMAL_LAYER] = LAYOUT_ortho_2x4(KC_A, KC_A, KC_A, TO(3), KC_A, KC_A, KC_A, TO(1)), [SECOND_LAYER] = LAYOUT_ortho_2x4(KC_B, KC_B, KC_B, TO(0), KC_B, KC_B, KC_B, TO(2)), [THIRD_LAYER] = LAYOUT_ortho_2x4(KC_C, KC_C, KC_C, TO(1), KC_C, KC_C, KC_C, TO(3)), [FOURTH_LAYER] = LAYOUT_ortho_2x4(KC_D, KC_D, KC_D, TO(2), KC_D, KC_D, KC_D, TO(0))}; diff --git a/keyboards/handwired/stream_cheap/2x4/keymaps/via/rules.mk b/keyboards/handwired/stream_cheap/2x4/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/stream_cheap/2x4/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/handwired/stream_cheap/2x4/keymaps/via/stream_cheap_2x4.json b/keyboards/handwired/stream_cheap/2x4/keymaps/via/stream_cheap_2x4.json new file mode 100644 index 000000000000..78f41b174e2a --- /dev/null +++ b/keyboards/handwired/stream_cheap/2x4/keymaps/via/stream_cheap_2x4.json @@ -0,0 +1,24 @@ +{ + "name": "Stream Cheap 2x4", + "vendorId": "0x7363", + "productId": "0x3032", + "lighting": "none", + "matrix": {"rows": 2, "cols": 4}, + "layouts": { + "keymap": [ + {"name": "Stream Cheap 2x4"}, + [ + "0,0", + "0,1", + "0,2", + "0,3" + ], + [ + "1,0", + "1,1", + "1,2", + "1,3" + ] + ] + } +} diff --git a/keyboards/handwired/stream_cheap/2x4/readme.md b/keyboards/handwired/stream_cheap/2x4/readme.md new file mode 100644 index 000000000000..d15fcaeaf28b --- /dev/null +++ b/keyboards/handwired/stream_cheap/2x4/readme.md @@ -0,0 +1,3 @@ +# Stream Cheap + +An ortholinear macropad, 2x4 configuration. diff --git a/keyboards/handwired/stream_cheap/2x4/rules.mk b/keyboards/handwired/stream_cheap/2x4/rules.mk index e4ffb10d0494..75ba55e53d22 100644 --- a/keyboards/handwired/stream_cheap/2x4/rules.mk +++ b/keyboards/handwired/stream_cheap/2x4/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,3 +20,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output +LTO_ENABLE = yes # Enable optimizations diff --git a/keyboards/handwired/stream_cheap/2x5/readme.md b/keyboards/handwired/stream_cheap/2x5/readme.md new file mode 100644 index 000000000000..99aab61e4be1 --- /dev/null +++ b/keyboards/handwired/stream_cheap/2x5/readme.md @@ -0,0 +1,3 @@ +# Stream Cheap + +An ortholinear macropad, 2x5 configuration. diff --git a/keyboards/handwired/stream_cheap/2x5/rules.mk b/keyboards/handwired/stream_cheap/2x5/rules.mk index e4ffb10d0494..f0e9a7a83bfe 100644 --- a/keyboards/handwired/stream_cheap/2x5/rules.mk +++ b/keyboards/handwired/stream_cheap/2x5/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/stream_cheap/readme.md b/keyboards/handwired/stream_cheap/readme.md index 1b4d77ea9f4a..4343e2312d5a 100644 --- a/keyboards/handwired/stream_cheap/readme.md +++ b/keyboards/handwired/stream_cheap/readme.md @@ -18,6 +18,7 @@ Make example for this keyboard (after setting up your build environment): make handwired/stream_cheap/2x3:default make handwired/stream_cheap/2x4:default + make handwired/stream_cheap/2x4:via make handwired/stream_cheap/2x5: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). diff --git a/keyboards/handwired/swiftrax/astro65/config.h b/keyboards/handwired/swiftrax/astro65/config.h index 84cc9b53c5c6..6f77ba200691 100644 --- a/keyboards/handwired/swiftrax/astro65/config.h +++ b/keyboards/handwired/swiftrax/astro65/config.h @@ -26,13 +26,15 @@ along with this program. If not, see . #define MANUFACTURER Swiftrax #define PRODUCT Astro65 /* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 16 +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 // ROWS: Top to bottom, COLS: Left to right -#define MATRIX_ROW_PINS { B0, B3, F7, B1, B2 } -#define MATRIX_COL_PINS { E6, D5, C7, C6, B6, B5, B4, D7, D6, D4, F0, F1, F4, F5, F6 } +#define MATRIX_ROW_PINS \ + { B0, B3, F7, B1, B2 } +#define MATRIX_COL_PINS \ + { E6, D5, D3, D4, D6, D7, B4, B5, B6, C6, C7, F6, F5, F4, F1, F0 } /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/handwired/swiftrax/astro65/rules.mk b/keyboards/handwired/swiftrax/astro65/rules.mk index 1a5f11e31aed..3d76b0f3f1a1 100644 --- a/keyboards/handwired/swiftrax/astro65/rules.mk +++ b/keyboards/handwired/swiftrax/astro65/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/swiftrax/bebol/rules.mk b/keyboards/handwired/swiftrax/bebol/rules.mk index 5c0d8f307c54..c98974abafc2 100644 --- a/keyboards/handwired/swiftrax/bebol/rules.mk +++ b/keyboards/handwired/swiftrax/bebol/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/swiftrax/beegboy/rules.mk b/keyboards/handwired/swiftrax/beegboy/rules.mk index eefa7d85ef52..8b0ddc7a83e0 100644 --- a/keyboards/handwired/swiftrax/beegboy/rules.mk +++ b/keyboards/handwired/swiftrax/beegboy/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/swiftrax/cowfish/rules.mk b/keyboards/handwired/swiftrax/cowfish/rules.mk index aed5553f669b..23ba502fc9d3 100644 --- a/keyboards/handwired/swiftrax/cowfish/rules.mk +++ b/keyboards/handwired/swiftrax/cowfish/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/swiftrax/equator/config.h b/keyboards/handwired/swiftrax/equator/config.h new file mode 100644 index 000000000000..325cdde3c737 --- /dev/null +++ b/keyboards/handwired/swiftrax/equator/config.h @@ -0,0 +1,44 @@ +/* +Copyright 2021 Swiftrax + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x04D8 +#define PRODUCT_ID 0xE984 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Swiftrax +#define PRODUCT Equator +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS { B2, B3, C7, B4, B5 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, D7, D6, D4, D5, D3, D2, D1, D0 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 diff --git a/keyboards/handwired/swiftrax/equator/equator.c b/keyboards/handwired/swiftrax/equator/equator.c new file mode 100644 index 000000000000..b2981689b9f6 --- /dev/null +++ b/keyboards/handwired/swiftrax/equator/equator.c @@ -0,0 +1,17 @@ +/* +Copyright 2021 Swiftrax + +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 "equator.h" diff --git a/keyboards/handwired/swiftrax/equator/equator.h b/keyboards/handwired/swiftrax/equator/equator.h new file mode 100644 index 000000000000..3f0350ef2b90 --- /dev/null +++ b/keyboards/handwired/swiftrax/equator/equator.h @@ -0,0 +1,51 @@ +/* +Copyright 2021 Swiftrax + +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 "quantum.h" + +#define K_NO KC_NO + +#define LAYOUT_unified_bs_rshift( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \ + K400, K401, K402, K404, K407, K409, K411, K412, K413 \ +) \ +{ \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K_NO, K213 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K_NO}, \ + { K400, K401, K402, K_NO, K404, K_NO, K_NO, K407, K_NO, K409, K_NO, K411, K412, K413 } \ +} + +#define LAYOUT_split_bs_rshift( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K212, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \ + K400, K401, K402, K404, K407, K409, K411, K412, K413 \ +) \ +{ \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313 }, \ + { K400, K401, K402, K_NO, K404, K_NO, K_NO, K407, K_NO, K409, K_NO, K411, K412, K413 } \ +} diff --git a/keyboards/handwired/swiftrax/equator/info.json b/keyboards/handwired/swiftrax/equator/info.json new file mode 100644 index 000000000000..e7d67de80c9d --- /dev/null +++ b/keyboards/handwired/swiftrax/equator/info.json @@ -0,0 +1,15 @@ +{ + "keyboard_name": "Equator", + "url": "https://github.com/swiftrax", + "maintainer": "swiftrax", + "width": 16.5, + "height": 5, + "layouts": { + "LAYOUT_unified_bs_rshift": { + "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}] + }, + "LAYOUT_split_bs_rshift": { + "layout":[{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Del", "x":14.5, "y":0}, {"label":"Backspace", "x":15.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":1.75}, {"label":"Fn", "x":15.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/equator/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/equator/keymaps/default/keymap.c new file mode 100644 index 000000000000..fab6858a66b7 --- /dev/null +++ b/keyboards/handwired/swiftrax/equator/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* +Copyright 2021 Swiftrax + +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_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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL + ), + [1] = LAYOUT_split_bs_rshift( + RESET, 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_BSPC, + _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, + _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/handwired/swiftrax/equator/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/equator/keymaps/via/keymap.c new file mode 100644 index 000000000000..dbe208f2f880 --- /dev/null +++ b/keyboards/handwired/swiftrax/equator/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* +Copyright 2020 Swiftrax + +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_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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL + ), + [1] = LAYOUT_split_bs_rshift( + RESET, 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_BSPC, + _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, + _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_split_bs_rshift( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_split_bs_rshift( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/equator/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/equator/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/handwired/swiftrax/equator/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/equator/readme.md b/keyboards/handwired/swiftrax/equator/readme.md new file mode 100644 index 000000000000..46ae3d0cafe4 --- /dev/null +++ b/keyboards/handwired/swiftrax/equator/readme.md @@ -0,0 +1,13 @@ +# Equator + +Meridian Layout Keyboard + +* Keyboard Maintainer: Swiftrax +* Hardware Supported: Equator +* Hardware Availability: https://github.com/swiftrax + +Make example for this keyboard (after setting up your build environment): + + make handwired/swiftrax/equator: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). diff --git a/keyboards/handwired/swiftrax/equator/rules.mk b/keyboards/handwired/swiftrax/equator/rules.mk new file mode 100644 index 000000000000..c98974abafc2 --- /dev/null +++ b/keyboards/handwired/swiftrax/equator/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/swiftrax/joypad/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/joypad/keymaps/default/keymap.c index c5fd1b7d4e2b..9ba0b61098e6 100644 --- a/keyboards/handwired/swiftrax/joypad/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/joypad/keymaps/default/keymap.c @@ -27,10 +27,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } + return true; } diff --git a/keyboards/handwired/swiftrax/joypad/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/joypad/keymaps/via/keymap.c index 11a2e0125eca..254da6ac8b11 100644 --- a/keyboards/handwired/swiftrax/joypad/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/joypad/keymaps/via/keymap.c @@ -42,10 +42,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } + return true; } diff --git a/keyboards/handwired/swiftrax/joypad/rules.mk b/keyboards/handwired/swiftrax/joypad/rules.mk index c86285502262..2025632b1012 100644 --- a/keyboards/handwired/swiftrax/joypad/rules.mk +++ b/keyboards/handwired/swiftrax/joypad/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/swiftrax/koalafications/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/koalafications/keymaps/default/keymap.c index 31437a0419aa..e702c189968c 100644 --- a/keyboards/handwired/swiftrax/koalafications/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/koalafications/keymaps/default/keymap.c @@ -25,14 +25,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_0; @@ -60,36 +60,36 @@ static void render_anim(void){ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0,252, 6, 1, 1, 1, 2, 4, 15, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 48, 48, 16, 0, 0, 24, 60, 60, 24, 0, 0,248, 4, 4, 12, 16, 96, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0,252, 6, 1, 1, 1, 2, 4, 15, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 48, 48, 16, 0, 0, 24, 60, 60, 24, 0, 0,248, 4, 4, 12, 16, 96, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 4, 4, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 48, 32, 32, 32, 32, 32, 32, 96, 64, 64, }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0,252, 6, 1, 1, 1, 2, 4, 15, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 56, 56, 16, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0,252, 6, 1, 1, 1, 2, 4, 15, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 56, 56, 16, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 18, 18, 18, 18,130, 71, 24, 32, 32, 32, 32, 16, 12, 4, 36, 36, 68, 68, 7, 4, 4, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 48, 32, 32, 32, 32, 32, 32, 96, 64, 64, }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 16, 16, 16, 16, 0, 0, 8, 8, 8, 8, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 16, 16, 16, 16, 0, 0, 8, 8, 8, 8, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 17, 17, 9, 9, 9,193, 39, 8, 16, 16, 16, 16, 8, 36, 66,130, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 18, 18, 18, 18,146, 71, 24, 32, 32, 32, 32, 16, 12, 4, 36, 36, 68, 68, 7, 4, 4, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 48, 32, 32, 32, 32, 32, 32, 96, 64, 64, }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 32, 32, 16, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 32, 32, 16, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 8, 16, 16, 16, 16, 8, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 24, 32, 32, 32, 32, 16, 12, 4, 4, 4, 4, 4, 7, 4, 4, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 48, 32, 32, 32, 32, 32, 32, 96, 64, 64, }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 8, 24, 24, 8, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 8, 24, 24, 8, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 8, 16, 16, 16, 16, 8, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 24, 32, 32, 32, 32, 16, 12, 4, 4, 4, 4, 4, 7, 4, 4, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 48, 32, 32, 32, 32, 32, 32, 96, 64, 64, } @@ -106,7 +106,7 @@ static void render_anim(void){ animation_phase(); } anim_sleep = timer_read32(); - } + } else { if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) oled_off(); @@ -122,4 +122,4 @@ static void render_anim(void){ void oled_task_user(void) { render_anim(); } -#endif \ No newline at end of file +#endif diff --git a/keyboards/handwired/swiftrax/koalafications/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/koalafications/keymaps/via/keymap.c index bf64c6d03f2d..973b36bffc6c 100644 --- a/keyboards/handwired/swiftrax/koalafications/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/koalafications/keymaps/via/keymap.c @@ -25,14 +25,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_0; @@ -60,36 +60,36 @@ static void render_anim(void){ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 8, 24, 24, 8, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 8, 24, 24, 8, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 8, 16, 16, 16, 16, 8, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 24, 32, 32, 32, 32, 16, 12, 4, 4, 4, 4, 4, 7, 4, 4, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 48, 32, 32, 32, 32, 32, 32, 96, 64, 64, }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 32, 32, 16, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 32, 32, 16, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 8, 16, 16, 16, 16, 8, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 24, 32, 32, 32, 32, 16, 12, 4, 4, 4, 4, 4, 7, 4, 4, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 48, 32, 32, 32, 32, 32, 32, 96, 64, 64, }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 16, 16, 16, 16, 0, 0, 8, 8, 8, 8, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 96, 16, 31, 0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 16, 16, 16, 16, 0, 0, 8, 8, 8, 8, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 17, 17, 9, 9, 9,193, 39, 8, 16, 16, 16, 16, 8, 36, 66,130, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 18, 18, 18, 18,146, 71, 24, 32, 32, 32, 32, 16, 12, 4, 36, 36, 68, 68, 7, 4, 4, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 48, 32, 32, 32, 32, 32, 32, 96, 64, 64, }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0,252, 6, 1, 1, 1, 2, 4, 15, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 56, 56, 16, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0,252, 6, 1, 1, 1, 2, 4, 15, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 56, 56, 16, 0, 0, 24, 60, 60, 24, 0, 0,128, 64, 0, 0, 0, 0, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 18, 18, 18, 18,130, 71, 24, 32, 32, 32, 32, 16, 12, 4, 36, 36, 68, 68, 7, 4, 4, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 48, 32, 32, 32, 32, 32, 32, 96, 64, 64, }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0,252, 6, 1, 1, 1, 2, 4, 15, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 48, 48, 16, 0, 0, 24, 60, 60, 24, 0, 0,248, 4, 4, 12, 16, 96, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 32, 16, 16, 8, 4, 3, 0, 0, 1, 2, 4, 4, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 8, 8, 4, 2, 2,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0,252, 6, 1, 1, 1, 2, 4, 15, 0, 0, 0, 0, 12, 30, 30, 12, 0, 0, 16, 48, 48, 16, 0, 0, 24, 60, 60, 24, 0, 0,248, 4, 4, 12, 16, 96, 0, 0, 0, 15, 48, 96,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 4, 4, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 48, 32, 32, 32, 32, 32, 32, 96, 64, 64, } @@ -106,7 +106,7 @@ static void render_anim(void){ animation_phase(); } anim_sleep = timer_read32(); - } + } else { if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) oled_off(); @@ -122,4 +122,4 @@ static void render_anim(void){ void oled_task_user(void) { render_anim(); } -#endif \ No newline at end of file +#endif diff --git a/keyboards/handwired/swiftrax/koalafications/rules.mk b/keyboards/handwired/swiftrax/koalafications/rules.mk index ff3041267f5d..bd8cd80123b4 100644 --- a/keyboards/handwired/swiftrax/koalafications/rules.mk +++ b/keyboards/handwired/swiftrax/koalafications/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,5 +20,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/handwired/swiftrax/nodu/info.json b/keyboards/handwired/swiftrax/nodu/info.json index ed394602e442..3cc75836b3e9 100644 --- a/keyboards/handwired/swiftrax/nodu/info.json +++ b/keyboards/handwired/swiftrax/nodu/info.json @@ -4,9 +4,12 @@ "maintainer": "Swiftrax", "width": 15, "height": 5, + "layout_aliases": { + "LAYOUT": "LAYOUT_60_ansi_split_bs_rshift" + }, "layouts": { - "LAYOUT": { + "LAYOUT_60_ansi_split_bs_rshift": { "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"0,A", "x":10, "y":0}, {"label":"0,B", "x":11, "y":0}, {"label":"0,C", "x":12, "y":0}, {"label":"0,D", "x":13, "y":0}, {"label":"2,D", "x":14, "y":0}, {"label":"1,0", "x":0, "y":1, "w":1.5}, {"label":"1,1", "x":1.5, "y":1}, {"label":"1,2", "x":2.5, "y":1}, {"label":"1,3", "x":3.5, "y":1}, {"label":"1,4", "x":4.5, "y":1}, {"label":"1,5", "x":5.5, "y":1}, {"label":"1,6", "x":6.5, "y":1}, {"label":"1,7", "x":7.5, "y":1}, {"label":"1,8", "x":8.5, "y":1}, {"label":"1,9", "x":9.5, "y":1}, {"label":"1,A", "x":10.5, "y":1}, {"label":"1,B", "x":11.5, "y":1}, {"label":"1,C", "x":12.5, "y":1}, {"label":"1,D", "x":13.5, "y":1, "w":1.5}, {"label":"2,0", "x":0, "y":2, "w":1.75}, {"label":"2,1", "x":1.75, "y":2}, {"label":"2,2", "x":2.75, "y":2}, {"label":"2,3", "x":3.75, "y":2}, {"label":"2,4", "x":4.75, "y":2}, {"label":"2,5", "x":5.75, "y":2}, {"label":"2,6", "x":6.75, "y":2}, {"label":"2,7", "x":7.75, "y":2}, {"label":"2,8", "x":8.75, "y":2}, {"label":"2,9", "x":9.75, "y":2}, {"label":"2,A", "x":10.75, "y":2}, {"label":"2,B", "x":11.75, "y":2}, {"label":"2,C", "x":12.75, "y":2, "w":2.25}, {"label":"3,0", "x":0, "y":3, "w":2.25}, {"label":"3,1", "x":2.25, "y":3}, {"label":"3,2", "x":3.25, "y":3}, {"label":"3,3", "x":4.25, "y":3}, {"label":"3,4", "x":5.25, "y":3}, {"label":"3,5", "x":6.25, "y":3}, {"label":"3,6", "x":7.25, "y":3}, {"label":"3,7", "x":8.25, "y":3}, {"label":"3,8", "x":9.25, "y":3}, {"label":"3,9", "x":10.25, "y":3}, {"label":"3,A", "x":11.25, "y":3}, {"label":"3,B", "x":12.25, "y":3, "w":1.75}, {"label":"3,C", "x":14, "y":3}, {"label":"4,0", "x":0, "y":4, "w":1.25}, {"label":"4,1", "x":1.25, "y":4, "w":1.25}, {"label":"4,2", "x":2.5, "y":4, "w":1.25}, {"label":"4,6", "x":3.75, "y":4, "w":6.25}, {"label":"4,8", "x":10, "y":4, "w":1.25}, {"label":"4,9", "x":11.25, "y":4, "w":1.25}, {"label":"4,A", "x":12.5, "y":4, "w":1.25}, {"label":"4,B", "x":13.75, "y":4, "w":1.25}] } } -} \ No newline at end of file +} diff --git a/keyboards/handwired/swiftrax/nodu/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/nodu/keymaps/default/keymap.c index d74fc381f1c6..79d5da8ea66b 100644 --- a/keyboards/handwired/swiftrax/nodu/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/nodu/keymaps/default/keymap.c @@ -17,18 +17,18 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, - KC_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_DEL, - 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, MO(1) , KC_RCTL + [0] = LAYOUT_60_ansi_split_bs_rshift( + KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_DEL, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_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, MO(1) , KC_RCTL ), - [1] = 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 , _______, + [1] = LAYOUT_60_ansi_split_bs_rshift( + _______, 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_UP , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/handwired/swiftrax/nodu/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/nodu/keymaps/via/keymap.c index e263efa662f4..4b84c1016ee6 100644 --- a/keyboards/handwired/swiftrax/nodu/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/nodu/keymaps/via/keymap.c @@ -17,25 +17,25 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, - KC_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_DEL, - 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, MO(1) , KC_RCTL + [0] = LAYOUT_60_ansi_split_bs_rshift( + KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_DEL, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , + KC_LSFT, KC_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, MO(1) , KC_RCTL ), - [1] = 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 , _______, + [1] = LAYOUT_60_ansi_split_bs_rshift( + _______, 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_UP , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT( + [2] = LAYOUT_60_ansi_split_bs_rshift( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ) -}; \ No newline at end of file +}; diff --git a/keyboards/handwired/swiftrax/nodu/nodu.h b/keyboards/handwired/swiftrax/nodu/nodu.h index baca1265d9d2..c141ac1072d7 100644 --- a/keyboards/handwired/swiftrax/nodu/nodu.h +++ b/keyboards/handwired/swiftrax/nodu/nodu.h @@ -20,12 +20,12 @@ along with this program. If not, see . #include "quantum.h" -#define LAYOUT( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ - K40, K41, K42, K46, K48, K49, K4A, K4B \ +#define LAYOUT_60_ansi_split_bs_rshift( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ + K40, K41, K42, K46, K48, K49, K4A, K4B \ ) { \ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ diff --git a/keyboards/handwired/swiftrax/nodu/rules.mk b/keyboards/handwired/swiftrax/nodu/rules.mk index 5c0d8f307c54..a2e4da3da840 100644 --- a/keyboards/handwired/swiftrax/nodu/rules.mk +++ b/keyboards/handwired/swiftrax/nodu/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,3 +20,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output + +LAYOUTS = 60_ansi_split_bs_rshift diff --git a/keyboards/handwired/swiftrax/pandamic/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/pandamic/keymaps/default/keymap.c index 11e770921e2c..3dd89922793d 100644 --- a/keyboards/handwired/swiftrax/pandamic/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/pandamic/keymaps/default/keymap.c @@ -37,13 +37,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } -} \ No newline at end of file + return true; +} diff --git a/keyboards/handwired/swiftrax/pandamic/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/pandamic/keymaps/via/keymap.c index 38e455becb60..877411206e27 100644 --- a/keyboards/handwired/swiftrax/pandamic/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/pandamic/keymaps/via/keymap.c @@ -22,25 +22,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END, KC_P1, KC_P2, KC_P3, KC_PENT, KC_LSFT, MO(1), 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_HOME, - KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), + KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT( _______, _______, _______, _______, 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_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { tap_code(KC_VOLU); } else { tap_code(KC_VOLD); } -} \ No newline at end of file + return true; +} diff --git a/keyboards/handwired/swiftrax/pandamic/rules.mk b/keyboards/handwired/swiftrax/pandamic/rules.mk index f83e0a1fd13e..61501d8c2ff7 100644 --- a/keyboards/handwired/swiftrax/pandamic/rules.mk +++ b/keyboards/handwired/swiftrax/pandamic/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/swiftrax/the_galleon/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/the_galleon/keymaps/default/keymap.c index 8c9f696830b6..efa8c27036b3 100644 --- a/keyboards/handwired/swiftrax/the_galleon/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/the_galleon/keymaps/default/keymap.c @@ -18,32 +18,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_MUTE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MPRV, KC_VOLU, KC_VOLD, KC_MNXT, - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGUP, KC_PGDN, KC_END, - 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, - 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_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), + KC_MUTE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MPRV, KC_VOLU, KC_VOLD, KC_MNXT, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGUP, KC_PGDN, KC_END, + 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_0; @@ -63,14 +63,14 @@ static void render_anim(void){ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 12, 56,224,128, 0,128,128,192,192,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,128, 0, 8, 48, 64, 0, 24,224, 0, 0, 0,192, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,255,255,255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,132, 72, 72, 8,192,225,242,248,252,252,252,252,248,240,225,192, 4, 2, 34, 18, 9, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 24, 14, 3, 28,112,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0,255,255,254,252,252,252,124, 62, 30, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 16, 16, 8,136, 64, 35, 7, 15,159, 63, 63, 63,191, 31, 15, 7, 3, 96,128, 2, 18, 33, 33, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,255,255,255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,132, 72, 72, 8,192,225,242,248,252,252,252,252,248,240,225,192, 4, 2, 34, 18, 9, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 24, 14, 3, 28,112,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0,255,255,254,252,252,252,124, 62, 30, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 16, 16, 8,136, 64, 35, 7, 15,159, 63, 63, 63,191, 31, 15, 7, 3, 96,128, 2, 18, 33, 33, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 96, 56, 8, 7, 3, 7, 7, 15, 15, 31,112, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 12, 2, 1, 0, 0, 0, 1, 6, 8, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 4, 4, 8, 48,224,128, 0,128,128,192,192,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,128, 8, 48, 64, 0, 24,224, 0, 0, 0,192, 32, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 34, 34, 34, 68, 68, 4,192,225,242,248,252,252,252,252,248,241,224,192, 2, 1, 17, 9,132,132,132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 32, 16, 8, 20,114,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0,127,255,254,252,124, 60, 28, 30, 14, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 4,132, 64, 35, 7,143, 31, 63, 63, 63, 63, 31, 15, 7, 3, 96,128, 1, 17, 32, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 34, 34, 34, 68, 68, 4,192,225,242,248,252,252,252,252,248,241,224,192, 2, 1, 17, 9,132,132,132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 32, 16, 8, 20,114,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0,127,255,254,252,124, 60, 28, 30, 14, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 4,132, 64, 35, 7,143, 31, 63, 63, 63, 63, 31, 15, 7, 3, 96,128, 1, 17, 32, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127,131, 7, 7, 15, 15, 31,112, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 12, 2, 1, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, } }; @@ -86,7 +86,7 @@ static void render_anim(void){ animation_phase(); } anim_sleep = timer_read32(); - } + } else { if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) oled_off(); diff --git a/keyboards/handwired/swiftrax/the_galleon/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/the_galleon/keymaps/via/keymap.c index 8c9f696830b6..efa8c27036b3 100644 --- a/keyboards/handwired/swiftrax/the_galleon/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/the_galleon/keymaps/via/keymap.c @@ -18,32 +18,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_MUTE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MPRV, KC_VOLU, KC_VOLD, KC_MNXT, - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGUP, KC_PGDN, KC_END, - 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, - 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_P4, KC_P5, KC_P6, KC_PPLS, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), + KC_MUTE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MPRV, KC_VOLU, KC_VOLD, KC_MNXT, + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_PGUP, KC_PGDN, KC_END, + 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), [1] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), [2] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_0; @@ -63,14 +63,14 @@ static void render_anim(void){ static const char PROGMEM idle[IDLE_FRAMES][ANIM_SIZE] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 12, 56,224,128, 0,128,128,192,192,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,128, 0, 8, 48, 64, 0, 24,224, 0, 0, 0,192, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,255,255,255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,132, 72, 72, 8,192,225,242,248,252,252,252,252,248,240,225,192, 4, 2, 34, 18, 9, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 24, 14, 3, 28,112,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0,255,255,254,252,252,252,124, 62, 30, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 16, 16, 8,136, 64, 35, 7, 15,159, 63, 63, 63,191, 31, 15, 7, 3, 96,128, 2, 18, 33, 33, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,255,255,255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,130,132, 72, 72, 8,192,225,242,248,252,252,252,252,248,240,225,192, 4, 2, 34, 18, 9, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 24, 14, 3, 28,112,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0,255,255,254,252,252,252,124, 62, 30, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 16, 16, 8,136, 64, 35, 7, 15,159, 63, 63, 63,191, 31, 15, 7, 3, 96,128, 2, 18, 33, 33, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 96, 56, 8, 7, 3, 7, 7, 15, 15, 31,112, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 12, 2, 1, 0, 0, 0, 1, 6, 8, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 4, 4, 8, 48,224,128, 0,128,128,192,192,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,128, 8, 48, 64, 0, 24,224, 0, 0, 0,192, 32, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 34, 34, 34, 68, 68, 4,192,225,242,248,252,252,252,252,248,241,224,192, 2, 1, 17, 9,132,132,132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 32, 16, 8, 20,114,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0,127,255,254,252,124, 60, 28, 30, 14, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 4,132, 64, 35, 7,143, 31, 63, 63, 63, 63, 31, 15, 7, 3, 96,128, 1, 17, 32, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 34, 34, 34, 68, 68, 4,192,225,242,248,252,252,252,252,248,241,224,192, 2, 1, 17, 9,132,132,132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 32, 16, 8, 20,114,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0,127,255,254,252,124, 60, 28, 30, 14, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 4,132, 64, 35, 7,143, 31, 63, 63, 63, 63, 31, 15, 7, 3, 96,128, 1, 17, 32, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127,131, 7, 7, 15, 15, 31,112, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 12, 2, 1, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, } }; @@ -86,7 +86,7 @@ static void render_anim(void){ animation_phase(); } anim_sleep = timer_read32(); - } + } else { if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) oled_off(); diff --git a/keyboards/handwired/swiftrax/the_galleon/rules.mk b/keyboards/handwired/swiftrax/the_galleon/rules.mk index 58b70131e647..2d8bf4d2cd41 100644 --- a/keyboards/handwired/swiftrax/the_galleon/rules.mk +++ b/keyboards/handwired/swiftrax/the_galleon/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -21,4 +21,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no # Rotary Encoder -OLED_DRIVER_ENABLE = yes # I2C OLED +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # I2C OLED diff --git a/keyboards/handwired/swiftrax/unsplit/rules.mk b/keyboards/handwired/swiftrax/unsplit/rules.mk index dc796be5ee46..a6f39b141360 100644 --- a/keyboards/handwired/swiftrax/unsplit/rules.mk +++ b/keyboards/handwired/swiftrax/unsplit/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/swiftrax/walter/config.h b/keyboards/handwired/swiftrax/walter/config.h new file mode 100644 index 000000000000..8cf2d0d83359 --- /dev/null +++ b/keyboards/handwired/swiftrax/walter/config.h @@ -0,0 +1,51 @@ +/* +Copyright 2021 Swiftrax + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x04D8 +#define PRODUCT_ID 0xE964 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Swiftrax +#define PRODUCT Walter +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS { B2, B1, F4, F1, F0 } +#define MATRIX_COL_PINS { F5, C6, F6, F7, C7, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 } + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define ENCODERS_PAD_A { B3 } +#define ENCODERS_PAD_B { B7 } + +#define RGB_DI_PIN E6 +#define RGBLED_NUM 24 +#define RGBLIGHT_ANIMATIONS \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/walter/info.json b/keyboards/handwired/swiftrax/walter/info.json new file mode 100644 index 000000000000..b13fbcc86795 --- /dev/null +++ b/keyboards/handwired/swiftrax/walter/info.json @@ -0,0 +1,317 @@ +{ + "keyboard_name": "walter", + "url": "https://github.com/swiftrax", + "maintainer": "swiftrax", + "width": 16, + "height": 5, + "layouts": { + "LAYOUT_65_ansi": { + "layout": [ + {"label": "r1_01", "x": 0, "y": 0}, + {"label": "r1_02", "x": 1, "y": 0}, + {"label": "r1_03", "x": 2, "y": 0}, + {"label": "r1_04", "x": 3, "y": 0}, + {"label": "r1_05", "x": 4, "y": 0}, + {"label": "r1_06", "x": 5, "y": 0}, + {"label": "r1_07", "x": 6, "y": 0}, + {"label": "r1_08", "x": 7, "y": 0}, + {"label": "r1_09", "x": 8, "y": 0}, + {"label": "r1_10", "x": 9, "y": 0}, + {"label": "r1_11", "x": 10, "y": 0}, + {"label": "r1_12", "x": 11, "y": 0}, + {"label": "r1_13", "x": 12, "y": 0}, + {"label": "r1_14", "x": 13, "y": 0, "w":2}, + {"label": "r1_15", "x": 15, "y": 0}, + + {"label": "r2_01", "x": 0, "y": 1, "w": 1.5}, + {"label": "r2_02", "x": 1.5, "y": 1}, + {"label": "r2_03", "x": 2.5, "y": 1}, + {"label": "r2_04", "x": 3.5, "y": 1}, + {"label": "r2_05", "x": 4.5, "y": 1}, + {"label": "r2_06", "x": 5.5, "y": 1}, + {"label": "r2_07", "x": 6.5, "y": 1}, + {"label": "r2_08", "x": 7.5, "y": 1}, + {"label": "r2_09", "x": 8.5, "y": 1}, + {"label": "r2_10", "x": 9.5, "y": 1}, + {"label": "r2_11", "x": 10.5, "y": 1}, + {"label": "r2_12", "x": 11.5, "y": 1}, + {"label": "r2_13", "x": 12.5, "y": 1}, + {"label": "r2_14", "x": 13.5, "y": 1, "w": 1.5}, + {"label": "r2_15", "x": 15, "y": 1}, + + {"label": "r3_01", "x": 0, "y": 2, "w": 1.75}, + {"label": "r3_02", "x": 1.75, "y": 2}, + {"label": "r3_03", "x": 2.75, "y": 2}, + {"label": "r3_04", "x": 3.75, "y": 2}, + {"label": "r3_05", "x": 4.75, "y": 2}, + {"label": "r3_06", "x": 5.75, "y": 2}, + {"label": "r3_07", "x": 6.75, "y": 2}, + {"label": "r3_08", "x": 7.75, "y": 2}, + {"label": "r3_09", "x": 8.75, "y": 2}, + {"label": "r3_10", "x": 9.75, "y": 2}, + {"label": "r3_11", "x": 10.75, "y": 2}, + {"label": "r3_12", "x": 11.75, "y": 2}, + {"label": "r3_13", "x": 12.75, "y": 2, "w": 2.25}, + {"label": "r3_14", "x": 15, "y": 2}, + + {"label": "r4_01", "x": 0, "y": 3, "w": 2.25}, + {"label": "r4_02", "x": 2.25, "y": 3}, + {"label": "r4_03", "x": 3.25, "y": 3}, + {"label": "r4_04", "x": 4.25, "y": 3}, + {"label": "r4_05", "x": 5.25, "y": 3}, + {"label": "r4_06", "x": 6.25, "y": 3}, + {"label": "r4_07", "x": 7.25, "y": 3}, + {"label": "r4_08", "x": 8.25, "y": 3}, + {"label": "r4_09", "x": 9.25, "y": 3}, + {"label": "r4_10", "x": 10.25, "y": 3}, + {"label": "r4_11", "x": 11.25, "y": 3}, + {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75}, + {"label": "r4_13", "x": 14, "y": 3}, + {"label": "r4_14", "x": 15, "y": 3}, + + {"label": "r5_01", "x": 0, "y": 4, "w": 1.25}, + {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25}, + {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "r5_05", "x": 10, "y": 4, "w": 1.25}, + {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "r4_07", "x": 13, "y": 4}, + {"label": "r4_08", "x": 14, "y": 4}, + {"label": "r4_09", "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso": { + "layout": [ + {"label": "r1_01", "x": 0, "y": 0}, + {"label": "r1_02", "x": 1, "y": 0}, + {"label": "r1_03", "x": 2, "y": 0}, + {"label": "r1_04", "x": 3, "y": 0}, + {"label": "r1_05", "x": 4, "y": 0}, + {"label": "r1_06", "x": 5, "y": 0}, + {"label": "r1_07", "x": 6, "y": 0}, + {"label": "r1_08", "x": 7, "y": 0}, + {"label": "r1_09", "x": 8, "y": 0}, + {"label": "r1_10", "x": 9, "y": 0}, + {"label": "r1_11", "x": 10, "y": 0}, + {"label": "r1_12", "x": 11, "y": 0}, + {"label": "r1_13", "x": 12, "y": 0}, + {"label": "r1_14", "x": 13, "y": 0, "w":2}, + {"label": "r1_15", "x": 15, "y": 0}, + + {"label": "r2_01", "x": 0, "y": 1, "w": 1.5}, + {"label": "r2_02", "x": 1.5, "y": 1}, + {"label": "r2_03", "x": 2.5, "y": 1}, + {"label": "r2_04", "x": 3.5, "y": 1}, + {"label": "r2_05", "x": 4.5, "y": 1}, + {"label": "r2_06", "x": 5.5, "y": 1}, + {"label": "r2_07", "x": 6.5, "y": 1}, + {"label": "r2_08", "x": 7.5, "y": 1}, + {"label": "r2_09", "x": 8.5, "y": 1}, + {"label": "r2_10", "x": 9.5, "y": 1}, + {"label": "r2_11", "x": 10.5, "y": 1}, + {"label": "r2_12", "x": 11.5, "y": 1}, + {"label": "r2_13", "x": 12.5, "y": 1}, + {"label": "r2_14", "x": 13.5, "y": 1}, + {"label": "r2_15", "x": 15, "y": 1}, + + {"label": "r3_01", "x": 0, "y": 2, "w": 1.75}, + {"label": "r3_02", "x": 1.75, "y": 2}, + {"label": "r3_03", "x": 2.75, "y": 2}, + {"label": "r3_04", "x": 3.75, "y": 2}, + {"label": "r3_05", "x": 4.75, "y": 2}, + {"label": "r3_06", "x": 5.75, "y": 2}, + {"label": "r3_07", "x": 6.75, "y": 2}, + {"label": "r3_08", "x": 7.75, "y": 2}, + {"label": "r3_09", "x": 8.75, "y": 2}, + {"label": "r3_10", "x": 9.75, "y": 2}, + {"label": "r3_11", "x": 10.75, "y": 2}, + {"label": "r3_12", "x": 11.75, "y": 2}, + {"label": "r3_13", "x": 12.75, "y": 2}, + {"label": "r3_14", "x": 13.75, "y": 1, "w":1.25, "h":2}, + {"label": "r3_15", "x": 15, "y": 2}, + + + {"label": "r4_01", "x": 0, "y": 3, "w": 1.25}, + {"label": "r4_02", "x": 1.25, "y": 3}, + {"label": "r4_03", "x": 2.25, "y": 3}, + {"label": "r4_04", "x": 3.25, "y": 3}, + {"label": "r4_05", "x": 4.25, "y": 3}, + {"label": "r4_06", "x": 5.25, "y": 3}, + {"label": "r4_07", "x": 6.25, "y": 3}, + {"label": "r4_08", "x": 7.25, "y": 3}, + {"label": "r4_09", "x": 8.25, "y": 3}, + {"label": "r4_10", "x": 9.25, "y": 3}, + {"label": "r4_11", "x": 10.25, "y": 3}, + {"label": "r4_11", "x": 11.25, "y": 3}, + {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75}, + {"label": "r4_13", "x": 14, "y": 3}, + {"label": "r4_14", "x": 15, "y": 3}, + + {"label": "r5_01", "x": 0, "y": 4, "w": 1.25}, + {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25}, + {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "r5_05", "x": 10, "y": 4, "w": 1.25}, + {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "r4_07", "x": 13, "y": 4}, + {"label": "r4_08", "x": 14, "y": 4}, + {"label": "r4_09", "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_splitbs": { + "layout": [ + {"label": "r1_01", "x": 0, "y": 0}, + {"label": "r1_02", "x": 1, "y": 0}, + {"label": "r1_03", "x": 2, "y": 0}, + {"label": "r1_04", "x": 3, "y": 0}, + {"label": "r1_05", "x": 4, "y": 0}, + {"label": "r1_06", "x": 5, "y": 0}, + {"label": "r1_07", "x": 6, "y": 0}, + {"label": "r1_08", "x": 7, "y": 0}, + {"label": "r1_09", "x": 8, "y": 0}, + {"label": "r1_10", "x": 9, "y": 0}, + {"label": "r1_11", "x": 10, "y": 0}, + {"label": "r1_12", "x": 11, "y": 0}, + {"label": "r1_13", "x": 12, "y": 0}, + {"label": "r1_14", "x": 13, "y": 0}, + {"label": "r1_15", "x": 14, "y": 0}, + {"label": "r1_16", "x": 15, "y": 0}, + + {"label": "r2_01", "x": 0, "y": 1, "w": 1.5}, + {"label": "r2_02", "x": 1.5, "y": 1}, + {"label": "r2_03", "x": 2.5, "y": 1}, + {"label": "r2_04", "x": 3.5, "y": 1}, + {"label": "r2_05", "x": 4.5, "y": 1}, + {"label": "r2_06", "x": 5.5, "y": 1}, + {"label": "r2_07", "x": 6.5, "y": 1}, + {"label": "r2_08", "x": 7.5, "y": 1}, + {"label": "r2_09", "x": 8.5, "y": 1}, + {"label": "r2_10", "x": 9.5, "y": 1}, + {"label": "r2_11", "x": 10.5, "y": 1}, + {"label": "r2_12", "x": 11.5, "y": 1}, + {"label": "r2_13", "x": 12.5, "y": 1}, + {"label": "r2_14", "x": 13.5, "y": 1, "w": 1.5}, + {"label": "r2_15", "x": 15, "y": 1}, + + {"label": "r3_01", "x": 0, "y": 2, "w": 1.75}, + {"label": "r3_02", "x": 1.75, "y": 2}, + {"label": "r3_03", "x": 2.75, "y": 2}, + {"label": "r3_04", "x": 3.75, "y": 2}, + {"label": "r3_05", "x": 4.75, "y": 2}, + {"label": "r3_06", "x": 5.75, "y": 2}, + {"label": "r3_07", "x": 6.75, "y": 2}, + {"label": "r3_08", "x": 7.75, "y": 2}, + {"label": "r3_09", "x": 8.75, "y": 2}, + {"label": "r3_10", "x": 9.75, "y": 2}, + {"label": "r3_11", "x": 10.75, "y": 2}, + {"label": "r3_12", "x": 11.75, "y": 2}, + {"label": "r3_13", "x": 12.75, "y": 2, "w": 2.25}, + {"label": "r3_14", "x": 15, "y": 2}, + + {"label": "r4_01", "x": 0, "y": 3, "w": 2.25}, + {"label": "r4_02", "x": 2.25, "y": 3}, + {"label": "r4_03", "x": 3.25, "y": 3}, + {"label": "r4_04", "x": 4.25, "y": 3}, + {"label": "r4_05", "x": 5.25, "y": 3}, + {"label": "r4_06", "x": 6.25, "y": 3}, + {"label": "r4_07", "x": 7.25, "y": 3}, + {"label": "r4_08", "x": 8.25, "y": 3}, + {"label": "r4_09", "x": 9.25, "y": 3}, + {"label": "r4_10", "x": 10.25, "y": 3}, + {"label": "r4_11", "x": 11.25, "y": 3}, + {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75}, + {"label": "r4_13", "x": 14, "y": 3}, + {"label": "r4_14", "x": 15, "y": 3}, + + {"label": "r5_01", "x": 0, "y": 4, "w": 1.25}, + {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25}, + {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "r5_05", "x": 10, "y": 4, "w": 1.25}, + {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "r4_07", "x": 13, "y": 4}, + {"label": "r4_08", "x": 14, "y": 4}, + {"label": "r4_09", "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_splitbs": { + "layout": [ + {"label": "r1_01", "x": 0, "y": 0}, + {"label": "r1_02", "x": 1, "y": 0}, + {"label": "r1_03", "x": 2, "y": 0}, + {"label": "r1_04", "x": 3, "y": 0}, + {"label": "r1_05", "x": 4, "y": 0}, + {"label": "r1_06", "x": 5, "y": 0}, + {"label": "r1_07", "x": 6, "y": 0}, + {"label": "r1_08", "x": 7, "y": 0}, + {"label": "r1_09", "x": 8, "y": 0}, + {"label": "r1_10", "x": 9, "y": 0}, + {"label": "r1_11", "x": 10, "y": 0}, + {"label": "r1_12", "x": 11, "y": 0}, + {"label": "r1_13", "x": 12, "y": 0}, + {"label": "r1_14", "x": 13, "y": 0}, + {"label": "r1_15", "x": 14, "y": 0}, + {"label": "r1_16", "x": 15, "y": 0}, + + {"label": "r2_01", "x": 0, "y": 1, "w": 1.5}, + {"label": "r2_02", "x": 1.5, "y": 1}, + {"label": "r2_03", "x": 2.5, "y": 1}, + {"label": "r2_04", "x": 3.5, "y": 1}, + {"label": "r2_05", "x": 4.5, "y": 1}, + {"label": "r2_06", "x": 5.5, "y": 1}, + {"label": "r2_07", "x": 6.5, "y": 1}, + {"label": "r2_08", "x": 7.5, "y": 1}, + {"label": "r2_09", "x": 8.5, "y": 1}, + {"label": "r2_10", "x": 9.5, "y": 1}, + {"label": "r2_11", "x": 10.5, "y": 1}, + {"label": "r2_12", "x": 11.5, "y": 1}, + {"label": "r2_13", "x": 12.5, "y": 1}, + {"label": "r2_14", "x": 13.5, "y": 1}, + {"label": "r2_15", "x": 15, "y": 1}, + + {"label": "r3_01", "x": 0, "y": 2, "w": 1.75}, + {"label": "r3_02", "x": 1.75, "y": 2}, + {"label": "r3_03", "x": 2.75, "y": 2}, + {"label": "r3_04", "x": 3.75, "y": 2}, + {"label": "r3_05", "x": 4.75, "y": 2}, + {"label": "r3_06", "x": 5.75, "y": 2}, + {"label": "r3_07", "x": 6.75, "y": 2}, + {"label": "r3_08", "x": 7.75, "y": 2}, + {"label": "r3_09", "x": 8.75, "y": 2}, + {"label": "r3_10", "x": 9.75, "y": 2}, + {"label": "r3_11", "x": 10.75, "y": 2}, + {"label": "r3_12", "x": 11.75, "y": 2}, + {"label": "r3_13", "x": 12.75, "y": 2}, + {"label": "r3_14", "x": 13.75, "y": 1, "w":1.25, "h":2}, + {"label": "r3_15", "x": 15, "y": 2}, + + + {"label": "r4_01", "x": 0, "y": 3, "w": 1.25}, + {"label": "r4_02", "x": 1.25, "y": 3}, + {"label": "r4_03", "x": 2.25, "y": 3}, + {"label": "r4_04", "x": 3.25, "y": 3}, + {"label": "r4_05", "x": 4.25, "y": 3}, + {"label": "r4_06", "x": 5.25, "y": 3}, + {"label": "r4_07", "x": 6.25, "y": 3}, + {"label": "r4_08", "x": 7.25, "y": 3}, + {"label": "r4_09", "x": 8.25, "y": 3}, + {"label": "r4_10", "x": 9.25, "y": 3}, + {"label": "r4_11", "x": 10.25, "y": 3}, + {"label": "r4_11", "x": 11.25, "y": 3}, + {"label": "r4_12", "x": 12.25, "y": 3, "w": 1.75}, + {"label": "r4_13", "x": 14, "y": 3}, + {"label": "r4_14", "x": 15, "y": 3}, + + {"label": "r5_01", "x": 0, "y": 4, "w": 1.25}, + {"label": "r5_02", "x": 1.25, "y": 4, "w": 1.25}, + {"label": "r5_03", "x": 2.50, "y": 4, "w": 1.25}, + {"label": "r5_04", "x": 3.75, "y": 4, "w": 6.25}, + {"label": "r5_05", "x": 10, "y": 4, "w": 1.25}, + {"label": "r5_06", "x": 11.25, "y": 4, "w": 1.25}, + {"label": "r4_07", "x": 13, "y": 4}, + {"label": "r4_08", "x": 14, "y": 4}, + {"label": "r4_09", "x": 15, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c new file mode 100644 index 000000000000..fb35e695e219 --- /dev/null +++ b/keyboards/handwired/swiftrax/walter/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* +Copyright 2021 Swiftrax + +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_65_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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi( + 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, KC_INS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), + [2] = LAYOUT_65_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, 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/handwired/swiftrax/walter/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c new file mode 100644 index 000000000000..74d650bf5ec3 --- /dev/null +++ b/keyboards/handwired/swiftrax/walter/keymaps/via/keymap.c @@ -0,0 +1,57 @@ +/* +Copyright 2021 Swiftrax + +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_65_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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi( + 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, KC_INS, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END + ), + [2] = LAYOUT_65_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_65_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (clockwise) + tap_code16(KC_VOLU); + else + tap_code16(KC_VOLD); + return true; +} diff --git a/keyboards/handwired/swiftrax/walter/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/walter/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/handwired/swiftrax/walter/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/handwired/swiftrax/walter/readme.md b/keyboards/handwired/swiftrax/walter/readme.md new file mode 100644 index 000000000000..e151b44d1bfa --- /dev/null +++ b/keyboards/handwired/swiftrax/walter/readme.md @@ -0,0 +1,13 @@ +# Walter + +A 65% keyboard + +* Keyboard Maintainer: Swiftrax +* Hardware Supported: Walter +* Hardware Availability: https://github.com/swiftrax + +Make example for this keyboard (after setting up your build environment): + + make handwired/swiftrax/walter: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). diff --git a/keyboards/handwired/swiftrax/walter/rules.mk b/keyboards/handwired/swiftrax/walter/rules.mk new file mode 100644 index 000000000000..c497c3247344 --- /dev/null +++ b/keyboards/handwired/swiftrax/walter/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes # Rotary Encder diff --git a/keyboards/handwired/swiftrax/walter/walter.c b/keyboards/handwired/swiftrax/walter/walter.c new file mode 100644 index 000000000000..43d328fa11e8 --- /dev/null +++ b/keyboards/handwired/swiftrax/walter/walter.c @@ -0,0 +1,17 @@ +/* +Copyright 2021 Swiftrax + +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 "walter.h" diff --git a/keyboards/handwired/swiftrax/walter/walter.h b/keyboards/handwired/swiftrax/walter/walter.h new file mode 100644 index 000000000000..e761797866f1 --- /dev/null +++ b/keyboards/handwired/swiftrax/walter/walter.h @@ -0,0 +1,78 @@ +/* +Copyright 2021 Swiftrax + +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 "quantum.h" + + + #define LAYOUT_65_ansi( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \ + ) \ + { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \ + { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D,KC_NO,K2F }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \ + } + + #define LAYOUT_65_iso( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \ + ) \ + { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \ + { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1F }, \ + { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \ + } + #define LAYOUT_65_ansi_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \ + ) \ + { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ + { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \ + } +#define LAYOUT_65_iso_splitbs( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \ + K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F \ + ) \ + { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ + { K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K2D, K1F }, \ + { K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E, K4F }, \ + } diff --git a/keyboards/handwired/symmetric70_proto/config.h b/keyboards/handwired/symmetric70_proto/config.h deleted file mode 100644 index 2cdce5802c82..000000000000 --- a/keyboards/handwired/symmetric70_proto/config.h +++ /dev/null @@ -1,150 +0,0 @@ -/* -Copyright 2020 mtei - -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 "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x2BE5 -#define DEVICE_VER 0x0001 -#define MANUFACTURER mtei -#define PRODUCT Symmetric70 prototype - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 16 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * - */ -#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 } -#define MATRIX_COL_PINS { F4,F4,F5,F5, F6,F6,F7,F7, B6,B6,B2,B2, B3,B3,B1,B1 } -#define UNUSED_PINS - -#define MATRIX_MUL_SEL { 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0 } -/* use 74HC157: quadruple 2-line to 1-line data selectors / multiplexers */ -#define MATRIX_MUL_SELECT B5 /* 74HC157 pin1:~A/B */ - -/* COL2ROW, ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - -//#define BACKLIGHT_PIN B7 -//#define BACKLIGHT_LEVELS 3 -//#define BACKLIGHT_BREATHING - -//#define RGB_DI_PIN E2 -//#ifdef RGB_DI_PIN -//# define RGBLED_NUM 16 -//# define RGBLIGHT_HUE_STEP 8 -//# define RGBLIGHT_SAT_STEP 8 -//# define RGBLIGHT_VAL_STEP 8 -//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -/*== all animations enable ==*/ -//# define RGBLIGHT_ANIMATIONS -/*== or choose animations ==*/ -//# define RGBLIGHT_EFFECT_BREATHING -//# define RGBLIGHT_EFFECT_RAINBOW_MOOD -//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL -//# define RGBLIGHT_EFFECT_SNAKE -//# define RGBLIGHT_EFFECT_KNIGHT -//# define RGBLIGHT_EFFECT_CHRISTMAS -//# define RGBLIGHT_EFFECT_STATIC_GRADIENT -//# define RGBLIGHT_EFFECT_RGB_TEST -//# define RGBLIGHT_EFFECT_ALTERNATING -/*== customize breathing effect ==*/ -/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -/*==== use exp() and sin() ====*/ -//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 -//#endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is useful for the Windows task manager shortcut (ctrl+shift+esc). - */ -//#define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT - -/* disable these deprecated features by default */ -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -/* Bootmagic Lite key configuration */ -//#define BOOTMAGIC_LITE_ROW 0 -//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/symmetric70_proto/debug_config.h b/keyboards/handwired/symmetric70_proto/debug_config.h new file mode 100644 index 000000000000..cba99e402fa9 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/debug_config.h @@ -0,0 +1,33 @@ +/* + * matrix.c testing macros + * MATRIX_DEBUG_SCAN: Measuring execution time of `matrix_scan()` + * MATRIX_DEBUG_DELAY: Observation of delay after `unselect_row()` + */ +#pragma once +#ifndef __ASSEMBLER__ +#include + +static inline void setDebugPinOutput_Low(void) { + setPinOutput(MATRIX_DEBUG_PIN); + writePinLow(MATRIX_DEBUG_PIN); +} + +#define MATRIX_DEBUG_PIN_INIT() setDebugPinOutput_Low() + +#ifdef MATRIX_DEBUG_SCAN +# define MATRIX_DEBUG_SCAN_START() writePinHigh(MATRIX_DEBUG_PIN) +# define MATRIX_DEBUG_SCAN_END() writePinLow(MATRIX_DEBUG_PIN) +#else +# define MATRIX_DEBUG_SCAN_START() +# define MATRIX_DEBUG_SCAN_END() +#endif + +#ifdef MATRIX_DEBUG_DELAY +# define MATRIX_DEBUG_DELAY_START() writePinHigh(MATRIX_DEBUG_PIN) +# define MATRIX_DEBUG_DELAY_END() writePinLow(MATRIX_DEBUG_PIN) +#else +# define MATRIX_DEBUG_DELAY_START() +# define MATRIX_DEBUG_DELAY_END() +#endif + +#endif // __ASSEMBLER__ diff --git a/keyboards/handwired/symmetric70_proto/local_features.mk b/keyboards/handwired/symmetric70_proto/local_features.mk new file mode 100644 index 000000000000..e5cd31a615c3 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/local_features.mk @@ -0,0 +1,108 @@ +# matrix.c testing options +# set MATRIX_IO_DELAY macro +# make MTEST=mdelay0 symmetric70_proto/{promicro|proton_c}/{fast|normal}:default:flash +# make MTEST=mdelay=1 symmetric70_proto/{promicro|proton_c}/{fast|normal}:default:flash +# make MTEST=mdelay=10 symmetric70_proto/{promicro|proton_c}/{fast|normal}:default:flash +# set DEBUG_MATRIX_SCAN_RATE_ENABLE yes +# make MTEST=scan symmetric70_proto/{promicro|proton_c}/{fast|normal}:default:flash +# set MATRIX_DEBUG_DELAY and MATRIX_IO_DELAY macro +# make MTEST=matrix_debug_delay,mdelay0 symmetric70_proto/{promicro|proton_c}/{fast|normal}:default:flash +# set MATRIX_DEBUG_SCAN +# make MTEST=matrix_debug_scan symmetric70_proto/{promicro|proton_c}/{fast|normal}:default:flash + +ifneq ($(strip $(MTEST)),) + define KEYBOARD_OPTION_PARSE + # parse 'consle', 'scan', 'no-scan', 'mdelay=?', 'mdelay0', + # 'adaptive_delay', 'always_delay', 'matrix_debug_delay', 'matrix_debug_scan' + $(if $(SHOW_PARSE),$(info parse .$1.)) #for debug 'make SHOW_PARSE=y ...' + ifeq ($(strip $1),console) + CONSOLE_ENABLE = yes + endif + ifeq ($(strip $1),scan) + DEBUG_MATRIX_SCAN_RATE_ENABLE = yes + endif + ifeq ($(strip $1),no-scan) + DEBUG_MATRIX_SCAN_RATE_ENABLE = no + endif + ifneq ($(filter mdelay=%,$1),) + MDELAY = $(patsubst mdelay=%,%,$1) + endif + ifeq ($(strip $1),mdelay0) + MDELAY = 0 + endif + ifeq ($(strip $1),common_delay) + MATRIX_COMMON_DELAY = yes + endif + ifeq ($(strip $1),adaptive_delay) + ADAPTIVE_DELAY = yes + endif + ifeq ($(strip $1),adaptive_delay2) + ADAPTIVE_DELAY2 = yes + endif + ifeq ($(strip $1),adaptive_delay_fast) + ADAPTIVE_DELAY_FAST = yes + endif + ifeq ($(strip $1),always_delay) + ALWAYS_DELAY = yes + endif + ifeq ($(strip $1),matrix_debug_delay) + MATRIX_DEBUG_DELAY = yes + MATRIX_DEBUG_SCAN = no + endif + ifeq ($(strip $1),matrix_debug_scan) + MATRIX_DEBUG_DELAY = no + MATRIX_DEBUG_SCAN = yes + endif + endef # end of KEYMAP_OPTION_PARSE + + COMMA=, + $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(MTEST)), \ + $(call KEYBOARD_OPTION_PARSE,$(A_OPTION_NAME)))) +endif + +ifneq ($(strip $(MDELAY)),) + OPT_DEFS += -DMATRIX_IO_DELAY=$(strip $(MDELAY)) +endif + +ifeq ($(strip $(ADAPTIVE_DELAY)),yes) + OPT_DEFS += -DMATRIX_IO_DELAY_ADAPTIVE +endif + +ifeq ($(strip $(ADAPTIVE_DELAY2)),yes) + OPT_DEFS += -DMATRIX_IO_DELAY_ADAPTIVE2 +endif + +ifeq ($(strip $(ADAPTIVE_DELAY_FAST)),yes) + OPT_DEFS += -DMATRIX_IO_DELAY_ADAPTIVE_FAST +endif + +ifeq ($(strip $(ALWAYS_DELAY)),yes) + OPT_DEFS += -DMATRIX_IO_DELAY_ALWAYS +endif + +ifeq ($(strip $(MATRIX_DEBUG_DELAY)),yes) + OPT_DEFS += -DMATRIX_DEBUG_DELAY + DEBUG_CONFIG = yes +endif + +ifeq ($(strip $(MATRIX_DEBUG_SCAN)),yes) + OPT_DEFS += -DMATRIX_DEBUG_SCAN + DEBUG_CONFIG = yes +endif + +ifeq ($(strip $(DEBUG_CONFIG)),yes) + # include "debug_config.h" from {promicro|proton_c}/config.h + OPT_DEFS += -DDEBUG_CONFIG +endif + +ifeq ($(strip $(MATRIX_COMMON_DELAY)),yes) + # use matrix_output_unselect_delay() in matrix_common.c + OPT_DEFS += -DMATRIX_IO_DELAY_DEFAULT +endif + +$(info -) +$(info - DEBUG_MATRIX_SCAN_RATE_ENABLE = $(DEBUG_MATRIX_SCAN_RATE_ENABLE)) +$(info - CONSOLE_ENABLE = $(CONSOLE_ENABLE)) +$(info - MDELAY = $(MDELAY)) +$(info - MATRIX_COMMON_DELAY = $(MATRIX_COMMON_DELAY)) +$(info - OPT_DEFS = $(OPT_DEFS)) diff --git a/keyboards/handwired/symmetric70_proto/matrix.c b/keyboards/handwired/symmetric70_proto/matrix.c deleted file mode 100644 index c0161207373c..000000000000 --- a/keyboards/handwired/symmetric70_proto/matrix.c +++ /dev/null @@ -1,226 +0,0 @@ -/* -Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar - -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 -#include -#include "util.h" -#include "matrix.h" -#include "debounce.h" -#include "quantum.h" - -#ifdef DIRECT_PINS -static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; -#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) -static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; -static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; -# ifdef MATRIX_MUL_SELECT -static const pin_t col_sel[MATRIX_COLS] = MATRIX_MUL_SEL; -# ifndef MATRIX_MUL_SELECT_DELAY -# define MATRIX_MUL_SELECT_DELAY 1 -# endif -# endif -#endif - -/* matrix state(1:on, 0:off) */ -extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values -extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values - -// matrix code - -#ifdef DIRECT_PINS - -static void init_pins(void) { - for (int row = 0; row < MATRIX_ROWS; row++) { - for (int col = 0; col < MATRIX_COLS; col++) { - pin_t pin = direct_pins[row][col]; - if (pin != NO_PIN) { - setPinInputHigh(pin); - } - } - } -} - -static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { - // Start with a clear matrix row - matrix_row_t current_row_value = 0; - - for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { - pin_t pin = direct_pins[current_row][col_index]; - if (pin != NO_PIN) { - current_row_value |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index); - } - } - - // If the row has changed, store the row and return the changed flag. - if (current_matrix[current_row] != current_row_value) { - current_matrix[current_row] = current_row_value; - return true; - } - return false; -} - -#elif defined(DIODE_DIRECTION) -# if (DIODE_DIRECTION == COL2ROW) - -static void select_row(uint8_t row) { - setPinOutput(row_pins[row]); - writePinLow(row_pins[row]); -} - -static void unselect_row(uint8_t row) { setPinInputHigh(row_pins[row]); } - -static void unselect_rows(void) { - for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh(row_pins[x]); - } -} - -static void init_pins(void) { -#ifdef MATRIX_MUL_SELECT - setPinOutput(MATRIX_MUL_SELECT); - writePinLow(MATRIX_MUL_SELECT); -#endif - unselect_rows(); - for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh(col_pins[x]); - } -} - -static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { - // Start with a clear matrix row - matrix_row_t current_row_value = 0; - - // Select row and wait for row selecton to stabilize - select_row(current_row); - matrix_io_delay(); - - // For each col... - for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { - // Select the col pin to read (active low) -#ifdef MATRIX_MUL_SELECT - writePin(MATRIX_MUL_SELECT,col_sel[col_index]); - __builtin_avr_delay_cycles(MATRIX_MUL_SELECT_DELAY); -#endif - uint8_t pin_state = readPin(col_pins[col_index]); - - // Populate the matrix row with the state of the col pin - current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); - } - - // Unselect row - unselect_row(current_row); - - // If the row has changed, store the row and return the changed flag. - if (current_matrix[current_row] != current_row_value) { - current_matrix[current_row] = current_row_value; - return true; - } - return false; -} - -# elif (DIODE_DIRECTION == ROW2COL) - -static void select_col(uint8_t col) { - setPinOutput(col_pins[col]); - writePinLow(col_pins[col]); -} - -static void unselect_col(uint8_t col) { setPinInputHigh(col_pins[col]); } - -static void unselect_cols(void) { - for (uint8_t x = 0; x < MATRIX_COLS; x++) { - setPinInputHigh(col_pins[x]); - } -} - -static void init_pins(void) { - unselect_cols(); - for (uint8_t x = 0; x < MATRIX_ROWS; x++) { - setPinInputHigh(row_pins[x]); - } -} - -static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { - bool matrix_changed = false; - - // Select col and wait for col selecton to stabilize - select_col(current_col); - matrix_io_delay(); - - // For each row... - for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) { - // Store last value of row prior to reading - matrix_row_t last_row_value = current_matrix[row_index]; - matrix_row_t current_row_value = last_row_value; - - // Check row pin state - if (readPin(row_pins[row_index]) == 0) { - // Pin LO, set col bit - current_row_value |= (MATRIX_ROW_SHIFTER << current_col); - } else { - // Pin HI, clear col bit - current_row_value &= ~(MATRIX_ROW_SHIFTER << current_col); - } - - // Determine if the matrix changed state - if ((last_row_value != current_row_value)) { - matrix_changed |= true; - current_matrix[row_index] = current_row_value; - } - } - - // Unselect col - unselect_col(current_col); - - return matrix_changed; -} - -# else -# error DIODE_DIRECTION must be one of COL2ROW or ROW2COL! -# endif -#else -# error DIODE_DIRECTION is not defined! -#endif - -void matrix_init_custom(void) { - // initialize key pins - init_pins(); - - // initialize matrix state: all keys off - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - raw_matrix[i] = 0; - matrix[i] = 0; - } - -} - -bool matrix_scan_custom(matrix_row_t current_matrix[]) { - bool changed = false; - -#if defined(DIRECT_PINS) || (DIODE_DIRECTION == COL2ROW) - // Set row, read cols - for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { - changed |= read_cols_on_row(current_matrix, current_row); - } -#elif (DIODE_DIRECTION == ROW2COL) - // Set col, read rows - for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { - changed |= read_rows_on_col(current_matrix, current_col); - } -#endif - - return changed; -} diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/gpio_extr.h b/keyboards/handwired/symmetric70_proto/matrix_debug/gpio_extr.h new file mode 100644 index 000000000000..c7d08309d030 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_debug/gpio_extr.h @@ -0,0 +1,10 @@ +#pragma once +// clang-format off + +#if defined(__AVR__) +# define readPort(port) PINx_ADDRESS(port) +typedef uint8_t port_data_t; +#else +# define readPort(qmk_pin) palReadPort(PAL_PORT(qmk_pin)) +typedef uint16_t port_data_t; +#endif diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c new file mode 100644 index 000000000000..ba0018a70f81 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c @@ -0,0 +1,329 @@ +/* +Copyright 2012-2018 Jun Wako, Jack Humbert, Yiancar + +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 +#include +#include "util.h" +#include "matrix.h" +#include "debounce.h" +#include "quantum.h" +#ifndef readPort +# include "gpio_extr.h" +#endif + +#ifndef MATRIX_DEBUG_PIN +# define MATRIX_DEBUG_PIN_INIT() +# define MATRIX_DEBUG_SCAN_START() +# define MATRIX_DEBUG_SCAN_END() +# define MATRIX_DEBUG_DELAY_START() +# define MATRIX_DEBUG_DELAY_END() +# define MATRIX_DEBUG_GAP() +#else +# define MATRIX_DEBUG_GAP() asm volatile("nop \n nop" ::: "memory") +#endif + +#ifndef MATRIX_IO_DELAY_ALWAYS +# define MATRIX_IO_DELAY_ALWAYS 0 +#endif + +#ifdef DIRECT_PINS +static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS; +#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW) +static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +# ifdef MATRIX_MUL_SELECT +static const pin_t col_sel[MATRIX_COLS] = MATRIX_MUL_SEL; +# endif +#endif + +#ifdef MATRIX_IO_DELAY_PORTS +static const pin_t delay_ports[] = {MATRIX_IO_DELAY_PORTS}; +static const port_data_t delay_masks[] = {MATRIX_IO_DELAY_MASKS}; +# ifdef MATRIX_IO_DELAY_MULSEL +static const uint8_t delay_sel[] = {MATRIX_IO_DELAY_MULSEL}; +# endif +#endif + +/* matrix state(1:on, 0:off) */ +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + +static inline void setPinOutput_writeLow(pin_t pin) { + ATOMIC_BLOCK_FORCEON { + setPinOutput(pin); + writePinLow(pin); + } +} + +static inline void setPinInputHigh_atomic(pin_t pin) { + ATOMIC_BLOCK_FORCEON { setPinInputHigh(pin); } +} + +// matrix code + +#ifdef DIRECT_PINS + +static void init_pins(void) { + for (int row = 0; row < MATRIX_ROWS; row++) { + for (int col = 0; col < MATRIX_COLS; col++) { + pin_t pin = direct_pins[row][col]; + if (pin != NO_PIN) { + setPinInputHigh(pin); + } + } + } +} + +static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { + // Start with a clear matrix row + matrix_row_t current_row_value = 0; + + for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + pin_t pin = direct_pins[current_row][col_index]; + if (pin != NO_PIN) { + current_row_value |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index); + } + } + + // If the row has changed, store the row and return the changed flag. + if (current_matrix[current_row] != current_row_value) { + current_matrix[current_row] = current_row_value; + return true; + } + return false; +} + +#elif defined(DIODE_DIRECTION) +# if (DIODE_DIRECTION == COL2ROW) + +static void select_row(uint8_t row) { setPinOutput_writeLow(row_pins[row]); } + +static void unselect_row(uint8_t row) { setPinInputHigh_atomic(row_pins[row]); } + +static void unselect_rows(void) { + for (uint8_t x = 0; x < MATRIX_ROWS; x++) { + setPinInputHigh_atomic(row_pins[x]); + } +} + +static void init_pins(void) { +# ifdef MATRIX_MUL_SELECT + setPinOutput(MATRIX_MUL_SELECT); + writePinLow(MATRIX_MUL_SELECT); +# endif + unselect_rows(); + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + setPinInputHigh_atomic(col_pins[x]); + } +} + +static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { + // Start with a clear matrix row + matrix_row_t current_row_value = 0; + + // Select row + select_row(current_row); + matrix_output_select_delay(); + + // For each col... + for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + // Select the col pin to read (active low) +# ifdef MATRIX_MUL_SELECT + writePin(MATRIX_MUL_SELECT, col_sel[col_index]); + waitInputPinDelay(); +# endif + uint8_t pin_state = readPin(col_pins[col_index]); + + // Populate the matrix row with the state of the col pin + current_row_value |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index); + } + + // Unselect row + unselect_row(current_row); +# ifdef MATRIX_IO_DELAY_PORTS + if (current_row_value) { // wait for col signal to go HIGH + bool is_pressed; + do { + MATRIX_DEBUG_DELAY_START(); + is_pressed = false; + for (uint8_t i = 0; i < sizeof(delay_ports) / sizeof(pin_t); i++) { +# ifdef MATRIX_IO_DELAY_MULSEL + writePin(MATRIX_MUL_SELECT, delay_sel[i]); + waitInputPinDelay(); +# endif + is_pressed |= ((readPort(delay_ports[i]) & delay_masks[i]) != delay_masks[i]); + } + MATRIX_DEBUG_DELAY_END(); + } while (is_pressed); + } +# endif +# ifdef MATRIX_IO_DELAY_ADAPTIVE + if (current_row_value) { // wait for col signal to go HIGH + for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + MATRIX_DEBUG_DELAY_START(); +# ifdef MATRIX_MUL_SELECT + writePin(MATRIX_MUL_SELECT, col_sel[col_index]); + waitInputPinDelay(); +# endif + while (readPin(col_pins[col_index]) == 0) { + } + MATRIX_DEBUG_DELAY_END(); + } + } +# endif +# ifdef MATRIX_IO_DELAY_ADAPTIVE2 + if (current_row_value) { // wait for col signal to go HIGH + pin_t state; + do { + MATRIX_DEBUG_DELAY_START(); + state = 0; + for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + MATRIX_DEBUG_DELAY_END(); + MATRIX_DEBUG_DELAY_START(); +# ifdef MATRIX_MUL_SELECT + writePin(MATRIX_MUL_SELECT, col_sel[col_index]); + waitInputPinDelay(); +# endif + state |= (readPin(col_pins[col_index]) == 0); + } + MATRIX_DEBUG_DELAY_END(); + } while (state); + } +# endif + if (MATRIX_IO_DELAY_ALWAYS || current_row + 1 < MATRIX_ROWS) { + MATRIX_DEBUG_DELAY_START(); + matrix_output_unselect_delay(current_row, current_row_value != 0); // wait for col signal to go HIGH + MATRIX_DEBUG_DELAY_END(); + } + + // If the row has changed, store the row and return the changed flag. + if (current_matrix[current_row] != current_row_value) { + current_matrix[current_row] = current_row_value; + return true; + } + return false; +} + +# elif (DIODE_DIRECTION == ROW2COL) + +static void select_col(uint8_t col) { setPinOutput_writeLow(col_pins[col]); } + +static void unselect_col(uint8_t col) { setPinInputHigh_atomic(col_pins[col]); } + +static void unselect_cols(void) { + for (uint8_t x = 0; x < MATRIX_COLS; x++) { + setPinInputHigh_atomic(col_pins[x]); + } +} + +static void init_pins(void) { + unselect_cols(); + for (uint8_t x = 0; x < MATRIX_ROWS; x++) { + setPinInputHigh_atomic(row_pins[x]); + } +} + +static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) { + bool matrix_changed = false; + bool key_pressed = false; + + // Select col + select_col(current_col); + matrix_output_select_delay(); + + // For each row... + for (uint8_t row_index = 0; row_index < MATRIX_ROWS; row_index++) { + // Store last value of row prior to reading + matrix_row_t last_row_value = current_matrix[row_index]; + matrix_row_t current_row_value = last_row_value; + + // Check row pin state + if (readPin(row_pins[row_index]) == 0) { + // Pin LO, set col bit + current_row_value |= (MATRIX_ROW_SHIFTER << current_col); + key_pressed = true; + } else { + // Pin HI, clear col bit + current_row_value &= ~(MATRIX_ROW_SHIFTER << current_col); + } + + // Determine if the matrix changed state + if ((last_row_value != current_row_value)) { + matrix_changed |= true; + current_matrix[row_index] = current_row_value; + } + } + + // Unselect col + unselect_col(current_col); + if (MATRIX_IO_DELAY_ALWAYS || current_col + 1 < MATRIX_COLS) { + matrix_output_unselect_delay(current_col, key_pressed); // wait for col signal to go HIGH + } + + return matrix_changed; +} + +# else +# error DIODE_DIRECTION must be one of COL2ROW or ROW2COL! +# endif +#else +# error DIODE_DIRECTION is not defined! +#endif + +void matrix_init(void) { + // initialize key pins + init_pins(); + + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + raw_matrix[i] = 0; + matrix[i] = 0; + } + + debounce_init(MATRIX_ROWS); + + matrix_init_quantum(); +} + +uint8_t matrix_scan(void) { + bool changed = false; + MATRIX_DEBUG_PIN_INIT(); + + MATRIX_DEBUG_SCAN_START(); +#if defined(DIRECT_PINS) || (DIODE_DIRECTION == COL2ROW) + // Set row, read cols + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { + changed |= read_cols_on_row(raw_matrix, current_row); + } +#elif (DIODE_DIRECTION == ROW2COL) + // Set col, read rows + for (uint8_t current_col = 0; current_col < MATRIX_COLS; current_col++) { + changed |= read_rows_on_col(raw_matrix, current_col); + } +#endif + MATRIX_DEBUG_SCAN_END(); + MATRIX_DEBUG_GAP(); + + MATRIX_DEBUG_SCAN_START(); + debounce(raw_matrix, matrix, MATRIX_ROWS, changed); + MATRIX_DEBUG_SCAN_END(); + MATRIX_DEBUG_GAP(); + + MATRIX_DEBUG_SCAN_START(); + matrix_scan_quantum(); + MATRIX_DEBUG_SCAN_END(); + return (uint8_t)changed; +} diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/readme.md b/keyboards/handwired/symmetric70_proto/matrix_debug/readme.md new file mode 100644 index 000000000000..3e45db87e9c9 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_debug/readme.md @@ -0,0 +1,200 @@ +# Debug version matrix.c + +This matrix.c is quantum/matrix.c with the following additions: + +* Added the MATRIX_DEBUG_SCAN_{START/END} macro to measure the execution time of matrix_scan(). +* Added the MATRIX_DEBUG_DELAY_{START/END} macro to measure delay time. +* Added the MATRIX_MUL_SELECT handling for symmetric70_proto. + +## Compile + +* Set MATRIX_IO_DELAY value + * `make MTEST=mdelay0 handwired/symmetric70_proto/promicro/normal:default:flash` + * `make MTEST=mdelay=1 handwired/symmetric70_proto/promicro/normal:default:flash` + * `make MTEST=mdelay=2 handwired/symmetric70_proto/promicro/normal:default:flash` + * `make MTEST=mdelay=3 handwired/symmetric70_proto/promicro/normal:default:flash` + * `make MTEST=mdelay=4 handwired/symmetric70_proto/promicro/normal:default:flash` + * `make MTEST=mdelay=5 handwired/symmetric70_proto/promicro/normal:default:flash` + * `make MTEST=mdelay=10 handwired/symmetric70_proto/promicro/normal:default:flash` + * `make MTEST=mdelay=20 handwired/symmetric70_proto/promicro/normal:default:flash` + * `make MTEST=mdelay=30 handwired/symmetric70_proto/promicro/normal:default:flash` +* Measure the execution time of matrix_scan() + * `make MTEST=matrix_debug_scan[,..] handwired/symmetric70_proto/promicro/normal:default:flash` +* Measure delay time. + * `make MTEST=matrix_debug_delay[,..] handwired/symmetric70_proto/promicro/normal:default:flash` +* Change the behavior of delay + * `make MTEST=matrix_debug_delay,always_delay handwired/symmetric70_proto/promicro/normal:default:flash` + * `make MTEST=matrix_debug_delay,adaptive_delay,mdelay0 handwired/symmetric70_proto/promicro/normal:default:flash` + * `make MTEST=matrix_debug_delay,adaptive_delay_fast,mdelay0 handwired/symmetric70_proto/promicro/normal:default:flash` + +## Measurement result +### Pro Micro (ATmega32u4 16Mhz) +#### Default setting (show `matrix_scan()` time) + - `make MTEST=matrix_debug_scan handwired/symmetric70_proto/promicro/normal:default:flash` + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: matrix_scan() + - Execution time of matrix_scan() 503us + - Frequency of matrix scan 1.81kHz (551.0us) + ![DS1Z_QuickPrint2](https://user-images.githubusercontent.com/2170248/115994477-0ba64400-a612-11eb-98ba-b8cc362f26ac.png) + +#### Always call `matrix_output_unselect_delay()` (show `matrix_scan()` time, default MATRIX_IO_DELAY) + - `make MTEST=matrix_debug_scan,always_delay handwired/symmetric70_proto/promicro/normal:default:flash` + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: matrix_scan() + - Execution time of matrix_scan() 521us + - Frequency of matrix scan 1.76kHz (568.5us) + ![DS1Z_QuickPrint1](https://user-images.githubusercontent.com/2170248/115994488-1660d900-a612-11eb-83b1-cd820607db03.png) + +#### Adaptive delay (show `matrix_scan()` time, MATRIX_IO_DELAY = 0) + - `make MTEST=matrix_debug_scan,mdelay0,adaptive_delay handwired/symmetric70_proto/promicro/normal:default:flash` + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: matrix_scan() + - Execution time of matrix_scan() 383us + - Frequency of matrix scan 2.32kHz (431us) + ![DS1Z_QuickPrint3](https://user-images.githubusercontent.com/2170248/115994939-034f0880-a614-11eb-861f-b83a31efa51a.png) + +#### Adaptive delay (show delay time, MATRIX_IO_DELAY = 0) + - `make MTEST=matrix_debug_delay,mdelay0,adaptive_delay handwired/symmetric70_proto/promicro/normal:default:flash` + +##### Press R0C1, R1C1 key + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: delay time + - Delay time 68us + - Frequency of matrix scan 1.77kHz (565us) + ![DS1Z_QuickPrint55](https://user-images.githubusercontent.com/2170248/119561268-ead33900-bddf-11eb-9cc4-7e04826486cf.png) + +#### Fast adaptive delay (show `matrix_scan()` time, MATRIX_IO_DELAY = 0) + - `make MTEST=matrix_debug_scan,mdelay0,adaptive_delay_fast handwired/symmetric70_proto/promicro/normal:default:flash` + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: matrix_scan() + - Execution time of matrix_scan() 382us + - Frequency of matrix scan 2.33kHz (428us) + ![DS1Z_QuickPrint56](https://user-images.githubusercontent.com/2170248/119561280-eeff5680-bddf-11eb-9576-e4cf64751955.png) + +#### Fast adaptive delay (show delay time, MATRIX_IO_DELAY = 0) + - `make MTEST=matrix_debug_delay,mdelay0,adaptive_delay_fast handwired/symmetric70_proto/promicro/normal:default:flash` + +##### Press R0C1, R1C1 key + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: delay time + - Delay time 11us + - Frequency of matrix scan 2.21kHz (452us) + ![DS1Z_QuickPrint57](https://user-images.githubusercontent.com/2170248/119561318-faeb1880-bddf-11eb-8592-694f9ecb2248.png) + +### Proton C (STM32F303 72MHz) +#### Default setting (show `matrix_scan()` time) + - `make MTEST=matrix_debug_scan handwired/symmetric70_proto/proton_c/normal:default:flash` + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: matrix_scan() + - Execution time of matrix_scan() 210us + - Frequency of matrix scan 4.35kHz (230.0us) + ![DS1Z_QuickPrint16](https://user-images.githubusercontent.com/2170248/116131295-2ad2cd80-a707-11eb-8d0a-6f7912456e03.png) + +#### Always call `matrix_output_unselect_delay()` (show `matrix_scan()` time, default MATRIX_IO_DELAY) + - `make MTEST=matrix_debug_scan,always_delay handwired/symmetric70_proto/proton_c/normal:default:flash` + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: matrix_scan() + - Execution time of matrix_scan() 242us + - Frequency of matrix scan 3.85kHz (260.0us) + ![DS1Z_QuickPrint17](https://user-images.githubusercontent.com/2170248/116131308-31f9db80-a707-11eb-8db7-d1960fa7b068.png) + +#### Adaptive delay (show `matrix_scan()` time, MATRIX_IO_DELAY = 0) + - `make MTEST=matrix_debug_scan,mdelay0,adaptive_delay handwired/symmetric70_proto/proton_c/normal:default:flash` + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: matrix_scan() + - Execution time of matrix_scan() 76.4us + - Frequency of matrix scan 10.6kHz (94.4us) + ![DS1Z_QuickPrint18](https://user-images.githubusercontent.com/2170248/116131369-44741500-a707-11eb-9c74-fa39d9e80947.png) + +#### Adaptive delay (show delay time, MATRIX_IO_DELAY = 0) + - `make MTEST=matrix_debug_delay,mdelay0,adaptive_delay handwired/symmetric70_proto/proton_c/normal:default:flash` + +##### Press R0C1, R1C1 key + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: delay time + - Delay time 7.6us + - Frequency of matrix scan 9.47kHz (105.6us) + ![DS1Z_QuickPrint58](https://user-images.githubusercontent.com/2170248/119666783-a3e15400-be70-11eb-9a58-220032117efd.png) + +##### Connect a 500pF capacitor between C2 line and GND, Press R0C2, R1C2, R2C2, R3C2, R4C2 keys + - CH1: Row 0 + - CH2: Row 1 + - CH3: Col 2 + - CH4: delay time + - Delay time 12us + alpha + - Frequency of matrix scan 5.45kHz (183us) + - Threshold Voltage 1.9V + ![DS1Z_QuickPrint59](https://user-images.githubusercontent.com/2170248/119666946-cc694e00-be70-11eb-9b97-4c500416d774.png) + +##### Connect a 1000pF capacitor between C2 line and GND, Press R0C2, R1C2, R2C2, R3C2, R4C2 keys + - CH1: Row 0 + - CH2: Row 1 + - CH3: Col 2 + - CH4: delay time + - Delay time 20us + alpha + - Frequency of matrix scan 4.48kHz (223us) + - Threshold Voltage 1.9V + ![DS1Z_QuickPrint60](https://user-images.githubusercontent.com/2170248/119667127-f3c01b00-be70-11eb-8e7f-6f0a81f95e97.png) + +#### Fast adaptive delay (show `matrix_scan()` time, MATRIX_IO_DELAY = 0) + - `make MTEST=matrix_debug_scan,mdelay0,adaptive_delay_fast handwired/symmetric70_proto/proton_c/normal:default:flash` + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: matrix_scan() + - Execution time of matrix_scan() 75.6us + - Frequency of matrix scan 10.8kHz (92.2us) + ![DS1Z_QuickPrint62](https://user-images.githubusercontent.com/2170248/119667218-0b979f00-be71-11eb-946c-16f0a0454056.png) + +#### Fast adaptive delay (show delay time, MATRIX_IO_DELAY = 0) + - `make MTEST=matrix_debug_delay,mdelay0,adaptive_delay_fast handwired/symmetric70_proto/proton_c/normal:default:flash` + +##### Press R0C1, R1C1 key + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: delay time + - Delay time 1.6us + - Frequency of matrix scan 10.6kHz (94.4us) + ![DS1Z_QuickPrint63](https://user-images.githubusercontent.com/2170248/119667378-33870280-be71-11eb-95aa-64213138ddac.png) + ![DS1Z_QuickPrint64](https://user-images.githubusercontent.com/2170248/119667504-52859480-be71-11eb-963e-eebc6e3da9dc.png) + +##### Connect a 500pF capacitor between C2 line and GND, Press R0C2, R1C2, R2C2, R3C2, R4C2 keys + - CH1: Row 0 + - CH2: Row 1 + - CH3: Col 2 + - CH4: delay time + - Delay time 13.2us + - Frequency of matrix scan 6.58kHz (152.6us) + - Threshold Voltage 1.9V + ![DS1Z_QuickPrint65](https://user-images.githubusercontent.com/2170248/119667644-72b55380-be71-11eb-8030-854de1900408.png) + +##### Connect a 1000pF capacitor between C2 line and GND, Press R0C2, R1C2, R2C2, R3C2, R4C2 keys + - CH1: Row 0 + - CH2: Row 1 + - CH3: Col 2 + - CH4: delay time + - Delay time 20us + - Frequency of matrix scan 5.30kHz (188.8us) + - Threshold Voltage 1.9V + ![DS1Z_QuickPrint66](https://user-images.githubusercontent.com/2170248/119667785-8f518b80-be71-11eb-8d40-fc3293aa072b.png) diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/cpp_map.h b/keyboards/handwired/symmetric70_proto/matrix_fast/cpp_map.h new file mode 100644 index 000000000000..d197be6d9f04 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/cpp_map.h @@ -0,0 +1,53 @@ +/* Copyright 2021 mtei + * + * 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 +// clang-format off + +#define _MAP1(E, _1) E(_1) +#define _MAP2(E, _1,_2) E(_1) E(_2) +#define _MAP3(E, _1,_2,_3) E(_1) E(_2) E(_3) +#define _MAP4(E, _1,_2,_3,_4) E(_1) E(_2) E(_3) E(_4) +#define _MAP5(E, _1,_2,_3,_4,_5) E(_1) E(_2) E(_3) E(_4) E(_5) +#define _MAP6(E, _1,_2,_3,_4,_5,_6) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) +#define _MAP7(E, _1,_2,_3,_4,_5,_6,_7) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) +#define _MAP8(E, _1,_2,_3,_4,_5,_6,_7,_8) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) +#define _MAP9(E, _1,_2,_3,_4,_5,_6,_7,_8,_9) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) +#define _MAP10(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) +#define _MAP11(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) +#define _MAP12(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) +#define _MAP13(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) +#define _MAP14(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) +#define _MAP15(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) +#define _MAP16(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) +#define _MAP17(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) +#define _MAP18(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) +#define _MAP19(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) +#define _MAP20(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) +#define _MAP21(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) +#define _MAP22(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) +#define _MAP23(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) +#define _MAP24(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) +#define _MAP25(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) +#define _MAP26(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) +#define _MAP27(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) +#define _MAP28(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) E(_28) +#define _MAP29(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) E(_28) E(_29) +#define _MAP30(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) E(_28) E(_29) E(_30) +#define _MAP31(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) E(_28) E(_29) E(_30) E(_31) +#define _MAP32(E, _1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31,_32) E(_1) E(_2) E(_3) E(_4) E(_5) E(_6) E(_7) E(_8) E(_9) E(_10) E(_11) E(_12) E(_13) E(_14) E(_15) E(_16) E(_17) E(_18) E(_19) E(_20) E(_21) E(_22) E(_23) E(_24) E(_25) E(_26) E(_27) E(_28) E(_29) E(_30) E(_31) E(_32) + +#define SELECT_MAP(e,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31,_32,NAME,...) NAME +#define MAP(E,...) SELECT_MAP(E,__VA_ARGS__,_MAP32,_MAP31,_MAP30,_MAP29,_MAP28,_MAP27,_MAP26,_MAP25,_MAP24,_MAP23,_MAP22,_MAP21,_MAP20,_MAP19,_MAP18,_MAP17,_MAP16,_MAP15,_MAP14,_MAP13,_MAP12,_MAP11,_MAP10,_MAP9,_MAP8,_MAP7,_MAP6,_MAP5,_MAP4,_MAP3,_MAP2,_MAP1)(E,__VA_ARGS__) diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/gpio_extr.h b/keyboards/handwired/symmetric70_proto/matrix_fast/gpio_extr.h new file mode 100644 index 000000000000..e31cb5f3a5d9 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/gpio_extr.h @@ -0,0 +1,28 @@ +#pragma once +// clang-format off + +#if defined(__AVR__) +typedef uint8_t port_data_t; + +#define readPort(port) PINx_ADDRESS(port) + +#define setPortBitInput(port, bit) (DDRx_ADDRESS(port) &= ~_BV((bit)&0xF), PORTx_ADDRESS(port) &= ~_BV((bit)&0xF)) +#define setPortBitInputHigh(port, bit) (DDRx_ADDRESS(port) &= ~_BV((bit)&0xF), PORTx_ADDRESS(port) |= _BV((bit)&0xF)) +#define setPortBitOutput(port, bit) (DDRx_ADDRESS(port) |= _BV((bit)&0xF)) + +#define writePortBitLow(port, bit) (PORTx_ADDRESS(port) &= ~_BV((bit)&0xF)) +#define writePortBitHigh(port, bit) (PORTx_ADDRESS(port) |= _BV((bit)&0xF)) + +#else +typedef uint16_t port_data_t; + +#define readPort(qmk_pin) palReadPort(PAL_PORT(qmk_pin)) + +#define setPortBitInput(qmk_pin, bit) palSetPadMode(PAL_PORT(qmk_pin), bit, PAL_MODE_INPUT) +#define setPortBitInputHigh(qmk_pin, bit) palSetPadMode(PAL_PORT(qmk_pin), bit, PAL_MODE_INPUT_PULLUP) +#define setPortBitInputLow(qmk_pin, bit) palSetPadMode(PAL_PORT(qmk_pin), bit, PAL_MODE_INPUT_PULLDOWN) +#define setPortBitOutput(qmk_pin, bit) palSetPadMode(PAL_PORT(qmk_pin), bit, PAL_MODE_OUTPUT_PUSHPULL) + +#define writePortBitLow(qmk_pin, bit) palClearLine(PAL_LINE(PAL_PORT(qmk_pin), bit)) +#define writePortBitHigh(qmk_pin, bit) palSetLine(PAL_LINE(PAL_PORT(qmk_pin), bit)) +#endif diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c new file mode 100644 index 000000000000..cb21bfcf8dc3 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix.c @@ -0,0 +1,234 @@ +/* +Copyright 2021 mtei + +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 . +*/ +// clang-format off +#include +#include +#include +#ifndef readPort +# include "gpio_extr.h" +#endif +#include "util.h" +#include "matrix.h" +#include "matrix_extr.h" +#include "debounce.h" +#include "quantum.h" + +#define ALWAYS_INLINE inline __attribute__((always_inline)) +#define NO_INLINE __attribute__((noinline)) +#define LOCAL_FUNC static +#define LOCAL_DATA static + +#ifndef _BV +# define _BV(bit) (1 << (bit)) +#endif + +#ifndef MATRIX_DEBUG_PIN +# define MATRIX_DEBUG_PIN_INIT() +# define MATRIX_DEBUG_SCAN_START() +# define MATRIX_DEBUG_SCAN_END() +# define MATRIX_DEBUG_DELAY_START() +# define MATRIX_DEBUG_DELAY_END() +# define MATRIX_DEBUG_GAP() +#else +# define MATRIX_DEBUG_GAP() asm volatile("nop \n nop":::"memory") +#endif + +typedef uint16_t port_width_t; +#if MATRIX_TYPE == DIRECT_SWITCH || MATRIX_TYPE == DIODE_COL2ROW +# define MATRIX_LINES MATRIX_ROWS +typedef matrix_row_t matrix_line_t; +#endif +#if MATRIX_TYPE == DIODE_ROW2COL +# define MATRIX_LINES MATRIX_COLS +typedef matrix_col_t matrix_line_t; +#endif +typedef struct _port_descriptor { + int device; + pin_t port; +} port_descriptor; + +/* matrix state(1:on, 0:off) */ +extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values +extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values + +#define setPortBitOutput_writeLow(port, bit) \ + do { setPortBitOutput(port, bit); writePortBitLow(port, bit); } while(0) +#define setPortBitOutput_writeLow_atomic(port, bit) \ + do { ATOMIC_BLOCK_FORCEON { setPortBitOutput_writeLow(port, bit); } } while(0) +#define setPortBitInputHigh_atomic(port, bit) \ + do { ATOMIC_BLOCK_FORCEON { setPortBitInputHigh(port, bit); } } while(0) + +#if defined(MATRIX_IN_PORTS) && defined(MATRIX_IN_PINS) +# include "matrix_config_expand.c" +#else +# error matrix.c need defined MATRIX_IN_PORTS and MATRIX_IN_PINS +#endif + +LOCAL_FUNC +void unselect_output(uint8_t out_index) { + unselect_output_inline(out_index); +} + +LOCAL_FUNC +void init_output_ports(void) { + for (int i = 0; i < END_outpin_index; i++) { + unselect_output(i); + } +} + +LOCAL_FUNC +void init_all_ports(void) { + init_input_ports(); + init_output_ports(); + init_inport_mask(); + init_extension(); +} + +LOCAL_FUNC ALWAYS_INLINE void select_line_and_read_input_ports(uint8_t current_line, port_width_t port_buffer[NUM_OF_INPUT_PORTS]); +LOCAL_FUNC void select_line_and_read_input_ports(uint8_t current_line, port_width_t port_buffer[NUM_OF_INPUT_PORTS]) { + // Select row (or col) + select_output(current_line); + matrix_output_select_delay(); + + // Read ports + read_all_input_ports(port_buffer, false); + + // Unselect row (or col) + unselect_output_inline(current_line); +} + +LOCAL_FUNC ALWAYS_INLINE void read_matrix_line(matrix_line_t phy_matrix[], uint8_t current_line); + +#if MATRIX_TYPE == DIODE_ROW2COL || MATRIX_TYPE == DIODE_COL2ROW +LOCAL_FUNC void read_matrix_line(matrix_line_t phy_matrix[], uint8_t current_line) { + // Start with a clear matrix row + matrix_line_t current_line_value = 0; + port_width_t port_buffer[NUM_OF_INPUT_PORTS]; + +#ifdef MATRIX_GPIO_NEED_SEPARATE_ATOMIC + select_line_and_read_input_ports(current_line, port_buffer); +#else + ATOMIC_BLOCK_FORCEON { + select_line_and_read_input_ports(current_line, port_buffer); + } +#endif + + // Build row (or col) + current_line_value = build_matrix_line(port_buffer); + + // Wait signal raise up + if (current_line_value) { + MATRIX_DEBUG_DELAY_START(); + wait_unselect_done(); + MATRIX_DEBUG_DELAY_END(); + } + phy_matrix[current_line] = current_line_value; +} +#endif // MATRIX_TYPE == DIODE_ROW2COL || MATRIX_TYPE == DIODE_COL2ROW + +#if MATRIX_TYPE == DIRECT_SWITCH +LOCAL_FUNC void read_matrix_line(matrix_line_t phy_matrix[], uint8_t current_line) { + port_width_t port_buffer[NUM_OF_INPUT_PORTS]; + + if (current_line != 0) { + return; + } + + for (uint8_t i = 0; i < MATRIX_LINES; i++) { + phy_matrix[i] = 0; + } + + read_all_input_ports(port_buffer, false); + + // Build matrix + build_matrix_direct(port_buffer, phy_matrix); +} +#endif // MATRIX_TYPE == DIRECT_SWITCH + +void matrix_init(void) { + // initialize key pins + init_all_ports(); + + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + raw_matrix[i] = 0; + matrix[i] = 0; + } + + debounce_init(MATRIX_ROWS); + + matrix_init_quantum(); +} + +uint8_t matrix_scan(void) { + matrix_line_t phy_matrix[MATRIX_LINES]; + + MATRIX_DEBUG_PIN_INIT(); + + MATRIX_DEBUG_SCAN_START(); + + // read I/O port to phy_matrix[] (physical matrix) + //select line, read inputs + for (uint8_t current_line = 0; current_line < MATRIX_LINES; current_line++) { + read_matrix_line(phy_matrix, current_line); + } + MATRIX_DEBUG_SCAN_END(); MATRIX_DEBUG_GAP(); MATRIX_DEBUG_SCAN_START(); + + bool changed = false; +#if MATRIX_TYPE == DIRECT_SWITCH || MATRIX_TYPE == DIODE_COL2ROW + // copy phy_matrix[] to raw_matrix[] + for (uint8_t current_line = 0; current_line < MATRIX_ROWS; current_line++) { + if (raw_matrix[current_line] != phy_matrix[current_line]) { + changed = true; + raw_matrix[current_line] = phy_matrix[current_line]; + } + } +#endif +#if MATRIX_TYPE == DIODE_ROW2COL + // transpose phy_matrix[] to raw_matrix[] + matrix_row_t trans_matrix[MATRIX_ROWS]; + for (uint8_t i = 0; i < MATRIX_ROWS; i++ ) { + trans_matrix[i] = 0; + } + for (uint8_t src_line = 0; src_line < MATRIX_LINES; src_line++) { + matrix_line_t src_line_data = phy_matrix[src_line]; + matrix_row_t dist_bit = MATRIX_ROW_SHIFTER << src_line; + for (uint8_t dist_rows = 0; dist_rows < MATRIX_ROWS; dist_rows++) { + if ((src_line_data & 1) == 1) { + trans_matrix[dist_rows] |= dist_bit; + } + src_line_data >>= 1; + } + } + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { + if (raw_matrix[current_row] != trans_matrix[current_row]) { + changed = true; + raw_matrix[current_row] = trans_matrix[current_row]; + } + } +#endif + MATRIX_DEBUG_SCAN_END(); MATRIX_DEBUG_GAP(); MATRIX_DEBUG_SCAN_START(); + + // debounce raw_matrix[] to matrix[] + debounce(raw_matrix, matrix, MATRIX_ROWS, changed); + MATRIX_DEBUG_SCAN_END(); MATRIX_DEBUG_GAP(); + + MATRIX_DEBUG_SCAN_START(); + matrix_scan_quantum(); + MATRIX_DEBUG_SCAN_END(); + return (uint8_t)changed; +} diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_config_expand.c b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_config_expand.c new file mode 100644 index 000000000000..0df605db47c5 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_config_expand.c @@ -0,0 +1,234 @@ +/* +Copyright 2021 mtei + +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 . +*/ +// clang-format off + +#include "matrix_extr.h" + +#ifdef DEBUG_MATRIX_CONFIG +// config expand debug +// avr-gcc -DDEBUG_MATRIX_CONFIG=\"test_config.h\" -E -C matrix_config_expand.c +# include DEBUG_MATRIX_CONFIG +#endif + +#undef NO_PIN /* cancel NO_PIN define in tmk_core/common/pin_defs.h */ +#define NO_PIN NO_PORT, 0 +#if MATRIX_TYPE == DIRECT_SWITCH +# undef MATRIX_OUT_PORTS +# define MATRIX_OUT_PINS (0, NO_PIN) +#endif + +#include "cpp_map.h" + +#if defined(MATRIX_EXTENSION_74HC157) || defined(MATRIX_EXTENSION_74HC153) +# define MATRIX_EXTENSION "matrix_extension_74hc15x.c" +#endif + +#ifdef MATRIX_EXTENSION +# include MATRIX_EXTENSION +#endif + +#ifdef MATRIX_GPIO_NEED_SEPARATE_ATOMIC +# ifndef setMatrixInputHigh +# define setMatrixInputHigh(dev, port, bit) do { if ((dev) == MCU_GPIO) { setPortBitInputHigh_atomic(port, bit); }} while(0) +# endif +# ifndef setMatrixOutput_writeHighZ +# define setMatrixOutput_writeHighZ(dev, port, bit) do { if ((dev) == MCU_GPIO) { setPortBitInputHigh_atomic(port, bit); }} while(0) +# endif +# ifndef setMatrixOutput_writeLow +# define setMatrixOutput_writeLow(dev, port, bit) do { if ((dev) == MCU_GPIO) { setPortBitOutput_writeLow_atomic(port, bit); }} while(0) +# endif +#else +# ifndef setMatrixInputHigh +# define setMatrixInputHigh(dev, port, bit) do { if ((dev) == MCU_GPIO) { setPortBitInputHigh(port, bit); }} while(0) +# endif +# ifndef setMatrixOutput_writeHighZ +# define setMatrixOutput_writeHighZ(dev, port, bit) do { if ((dev) == MCU_GPIO) { setPortBitInputHigh(port, bit); }} while(0) +# endif +# ifndef setMatrixOutput_writeLow +# define setMatrixOutput_writeLow(dev, port, bit) do { if ((dev) == MCU_GPIO) { setPortBitOutput_writeLow(port, bit); }} while(0) +# endif +#endif + +#ifndef readMatrixPort +# define readMatrixPort(dev, port) (((dev) == MCU_GPIO) ? readPort(port) : 0) +#endif +#ifndef getMatrixInputMaskBit +# define getMatrixInputMaskBit(dev, bit) (((dev) != NO_DEVICE) ? _BV((bit)&0xF) : 0) +#endif + +#ifndef init_extension +# define init_extension() +#endif + +enum DEVICE_NAME { + MCU_GPIO, + NO_DEVICE, +#ifdef MATRIX_DEVICES + MATRIX_DEVICES +#endif +}; + +#define _INPUT_PORTS_ENUM_ELEMENT(name, dev, port) inport_index_##name, +#define INPUT_PORTS_ENUM_ELEMENT(x) _INPUT_PORTS_ENUM_ELEMENT x +enum INPUT_PORTS { + INPUT_PORTS_ENUM_ELEMENT((NO_PORT, NO_DEVICE, 0)) + MAP(INPUT_PORTS_ENUM_ELEMENT, MATRIX_IN_PORTS) + NUM_OF_INPUT_PORTS +}; + +#define _INPUT_PINS_ENUM_ELEMENT(index, port, bit) inpin_index_##index, +#define INPUT_PINS_ENUM_ELEMENT(x) _INPUT_PINS_ENUM_ELEMENT x +enum INPUT_PINS { + MAP(INPUT_PINS_ENUM_ELEMENT, MATRIX_IN_PINS) + END_inpin_index +}; + +#define _OUTPUT_PORTS_ENUM_ELEMENT(name, dev, port) outport_index_##name, +#define OUTPUT_PORTS_ENUM_ELEMENT(x) _OUTPUT_PORTS_ENUM_ELEMENT x +enum OUTPUT_PORTS { + OUTPUT_PORTS_ENUM_ELEMENT((NO_PORT, NO_DEVICE, 0)) +#ifdef MATRIX_OUT_PORTS + MAP(OUTPUT_PORTS_ENUM_ELEMENT, MATRIX_OUT_PORTS) +#endif + NUM_OF_OUTPUT_PORTS +}; + +#define _OUTPUT_PINS_ENUM_ELEMENT(index, port, bit) outpin_index_##index, +#define OUTPUT_PINS_ENUM_ELEMENT(x) _OUTPUT_PINS_ENUM_ELEMENT x +enum OUTPUT_PINS { + MAP(OUTPUT_PINS_ENUM_ELEMENT, MATRIX_OUT_PINS) + END_outpin_index +}; + +port_width_t iport_mask[NUM_OF_INPUT_PORTS]; + +#define _INPUT_PORTS_LIST_ELEMENT(name, dev, port) \ + [inport_index_##name] = { dev, port }, +#define INPUT_PORTS_LIST_ELEMENT(x) _INPUT_PORTS_LIST_ELEMENT x +LOCAL_DATA +const port_descriptor inport_list[NUM_OF_INPUT_PORTS] = { + INPUT_PORTS_LIST_ELEMENT((NO_PORT, NO_DEVICE, 0)) + MAP(INPUT_PORTS_LIST_ELEMENT, MATRIX_IN_PORTS) +}; + +#define _OUTPUT_PORTS_LIST_ELEMENT(name, dev, port) \ + [outport_index_##name] = { dev, port }, +#define OUTPUT_PORTS_LIST_ELEMENT(x) _OUTPUT_PORTS_LIST_ELEMENT x +LOCAL_DATA +const port_descriptor outport_list[NUM_OF_OUTPUT_PORTS] = { + OUTPUT_PORTS_LIST_ELEMENT((NO_PORT, NO_DEVICE, 0)) +#ifdef MATRIX_OUT_PORTS + MAP(OUTPUT_PORTS_LIST_ELEMENT, MATRIX_OUT_PORTS) +#endif +}; + +#define _SELECT_OUTPUT_PIN(index, pname, bit) \ + case outpin_index_##index: \ + setMatrixOutput_writeLow(outport_list[outport_index_##pname].device, \ + outport_list[outport_index_##pname].port, bit); \ + break; +#define SELECT_OUTPUT_PIN(x) _SELECT_OUTPUT_PIN x +LOCAL_FUNC ALWAYS_INLINE void select_output(uint8_t out_index); +LOCAL_FUNC +void select_output(uint8_t out_index) { + switch (out_index) { + MAP(SELECT_OUTPUT_PIN, MATRIX_OUT_PINS) + } +} + +#define _UNSELECT_OUTPUT_PIN(index, pname, bit) \ + case outpin_index_##index: \ + setMatrixOutput_writeHighZ(outport_list[outport_index_##pname].device, \ + outport_list[outport_index_##pname].port, bit); \ + break; +#define UNSELECT_OUTPUT_PIN(x) _UNSELECT_OUTPUT_PIN x +LOCAL_FUNC ALWAYS_INLINE void unselect_output_inline(uint8_t out_index); +LOCAL_FUNC +void unselect_output_inline(uint8_t out_index) { + switch (out_index) { + MAP(UNSELECT_OUTPUT_PIN, MATRIX_OUT_PINS) + } +} + +#define _INIT_INPUT_PIN(index, pname, bit) \ + setMatrixInputHigh(inport_list[inport_index_##pname].device, \ + inport_list[inport_index_##pname].port, bit); +#define INIT_INPUT_PIN(x) _INIT_INPUT_PIN x +LOCAL_FUNC +void init_input_ports(void) { + MAP(INIT_INPUT_PIN, MATRIX_IN_PINS) +} + +#define _INIT_INPORT_MASK(index, pname, bit) \ + iport_mask[inport_index_##pname] |= getMatrixInputMaskBit(inport_list[inport_index_##pname].device, bit); +#define INIT_INPORT_MASK(x) _INIT_INPORT_MASK x +LOCAL_FUNC +void init_inport_mask(void) { + for (int i = 0; i < NUM_OF_INPUT_PORTS; i++ ) { + iport_mask[i] = 0; + } + MAP(INIT_INPORT_MASK, MATRIX_IN_PINS) +} + +#define _READ_INPUT_PORT(name, dev, port) \ + buffer[inport_index_##name] = readMatrixPort(dev, port); +#define READ_INPUT_PORT(x) _READ_INPUT_PORT x +LOCAL_FUNC +ALWAYS_INLINE void read_all_input_ports(port_width_t buffer[NUM_OF_INPUT_PORTS], bool wait_unselect); +LOCAL_FUNC +void read_all_input_ports(port_width_t buffer[NUM_OF_INPUT_PORTS], bool wait_unselect) { + READ_INPUT_PORT((NO_PORT, NO_DEVICE, 0)) + MAP(READ_INPUT_PORT, MATRIX_IN_PORTS) +} + +#define _MASK_INPUT(name, dev, port) \ + mask |= ((~buffer[inport_index_##name]) & iport_mask[inport_index_##name]); +#define MASK_INPUT(x) _MASK_INPUT x +LOCAL_FUNC ALWAYS_INLINE void wait_unselect_done(void); +LOCAL_FUNC +void wait_unselect_done(void) { + port_width_t mask; + port_width_t buffer[NUM_OF_INPUT_PORTS]; + do { + read_all_input_ports(buffer, true); + MATRIX_DEBUG_DELAY_END(); + mask = 0; + MAP(MASK_INPUT, MATRIX_IN_PORTS); + MATRIX_DEBUG_DELAY_START(); + } while (mask != 0); +} + +#define _BUILD_INPUT_PORT(index, pname, bit) \ + result |= (buffer[inport_index_##pname] & _BV(bit)) ? 0 : _BV(inpin_index_##index); +#define BUILD_INPUT_PORT(x) _BUILD_INPUT_PORT x +LOCAL_FUNC ALWAYS_INLINE matrix_line_t build_matrix_line(port_width_t buffer[NUM_OF_INPUT_PORTS]); +LOCAL_FUNC +matrix_line_t build_matrix_line(port_width_t buffer[NUM_OF_INPUT_PORTS]) { + matrix_line_t result = 0; + MAP(BUILD_INPUT_PORT, MATRIX_IN_PINS); + return result; +} + +#define _BUILD_INPUT_PORT_DIRECT(index, pname, bit) \ + matrix[(inpin_index_##index)/MATRIX_COLS] \ + |= (buffer[inport_index_##pname] & _BV(bit)) ? 0 : _BV((inpin_index_##index)%MATRIX_COLS); +#define BUILD_INPUT_PORT_DIRECT(x) _BUILD_INPUT_PORT_DIRECT x +LOCAL_FUNC ALWAYS_INLINE void build_matrix_direct(port_width_t buffer[NUM_OF_INPUT_PORTS], matrix_line_t matrix[]); +LOCAL_FUNC +void build_matrix_direct(port_width_t buffer[NUM_OF_INPUT_PORTS], matrix_line_t matrix[]) { + MAP(BUILD_INPUT_PORT_DIRECT, MATRIX_IN_PINS); +} diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extension_74hc15x.c b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extension_74hc15x.c new file mode 100644 index 000000000000..bca53da24c29 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extension_74hc15x.c @@ -0,0 +1,72 @@ +/* +Copyright 2021 mtei + +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 . +*/ +// clang-format off + +#if defined(MATRIX_EXTENSION_74HC157) +# define MATRIX_DEVICES MCU_GPIOa, MCU_GPIOb +# define IS_74HC15x(dev) ((dev)==MCU_GPIOa || (dev)==MCU_GPIOb) +# define MATRIX_EXT_74HC15x MATRIX_EXTENSION_74HC157 +#elif defined(MATRIX_EXTENSION_74HC153) +# define MATRIX_DEVICES MCU_GPIOa, MCU_GPIOb, MCU_GPIOc, MCU_GPIOd +# define IS_74HC15x(dev) ((dev)==MCU_GPIOa || (dev)==MCU_GPIOb || (dev)==MCU_GPIOc || (dev)==MCU_GPIOd) +# define MATRIX_EXT_74HC15x MATRIX_EXTENSION_74HC153 +#endif + +static const pin_t sel_pins[] = { MATRIX_EXT_74HC15x }; + +#ifdef MATRIX_GPIO_NEED_SEPARATE_ATOMIC +# define setMatrixInputHigh(dev, port, bit) \ + do { \ + if ((dev) == MCU_GPIO || IS_74HC15x(dev)) { \ + setPortBitInputHigh_atomic(port, bit); \ + } + } while(0) +#else +# define setMatrixInputHigh(dev, port, bit) \ + do { \ + if ((dev) == MCU_GPIO || IS_74HC15x(dev)) { \ + setPortBitInputHigh(port, bit); \ + } \ + } while(0) +#endif + +LOCAL_FUNC ALWAYS_INLINE void select74HC15x(uint8_t devid); +LOCAL_FUNC +void select74HC15x(uint8_t devid) { + writePin(sel_pins[0], devid&1); +#if defined(MATRIX_EXTENSION_74HC153) + writePin(sel_pins[1], devid&2); +#endif +} + +LOCAL_FUNC ALWAYS_INLINE port_width_t readPortMultiplexer(uint8_t devid, pin_t port); +LOCAL_FUNC port_width_t readPortMultiplexer(uint8_t devid, pin_t port) { + select74HC15x(devid); + waitInputPinDelay(); + return readPort(port); +} + +#define readMatrixPort(dev, port) \ + ((dev) == MCU_GPIO)? readPort(port): (IS_74HC15x(dev))? readPortMultiplexer((dev)-MCU_GPIOa, port):0 + +#define INIT_74HC15X(x) setPinOutput(x); writePinLow(x); +LOCAL_FUNC +void init_74hc15x(void) { + MAP(INIT_74HC15X, MATRIX_EXT_74HC15x) +} +#define init_extension() init_74hc15x() + diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extr.h b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extr.h new file mode 100644 index 000000000000..e0cf528919b7 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/matrix_extr.h @@ -0,0 +1,36 @@ +#pragma once +// clang-format off + +#define DIRECT_SWITCH 1 +#define DIODE_ROW2COL 2 +#define DIODE_COL2ROW 3 + +#ifndef ROW2COL +# define COL2ROW 0 +# define ROW2COL 1 +#endif + +#ifdef DIRECT_PINS +# define MATRIX_TYPE DIRECT_SWITCH +#else +# if DIODE_DIRECTION == ROW2COL +# define MATRIX_TYPE DIODE_ROW2COL +# endif +# if DIODE_DIRECTION == COL2ROW +# define MATRIX_TYPE DIODE_COL2ROW +# endif +#endif + +#ifndef MATRIX_TYPE +# error "MATRIX_TYPE could not be determined." +#endif + +#if (MATRIX_ROWS <= 8) +typedef uint8_t matrix_col_t; +#elif (MATRIX_ROWS <= 16) +typedef uint16_t matrix_col_t; +#elif (MATRIX_ROWS <= 32) +typedef uint32_t matrix_col_t; +#else +# error "MATRIX_ROWS: invalid value" +#endif diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/readme.md b/keyboards/handwired/symmetric70_proto/matrix_fast/readme.md new file mode 100644 index 000000000000..dc744a4c462c --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/readme.md @@ -0,0 +1,168 @@ +# Fast and extensible matrix.c + +This matrix.c is faster and more extensible than the standard quantum/matrix.c. + +* The execution speed of the `matrix_scan()` function is several times faster than quantum/matrix.c. +* In addition to handling MCU GPIOs, it can be extended to handle I/O extenders. + +## ToDo list +- [x] support Pro Micro +- [x] support Proton-C +- [x] support DIRECT_PINS +- [x] support DIODE_DIRECTION == ROW2COL +- [x] support 74HC157: quadruple 2-line to 1-line data selectors / multiplexers +- [x] support 74HC153: dual 4-line to 1-line data selectors / multiplexers +- [ ] support I/O expander (MCP23018) +- [ ] support MCU & I/O expander (MCP23018) mixture like ErgoDox + +## Configuration + +This matrix.c requires a different configuration than quantum/matrix.c. + +### Output pins configuration + +The output pins is the Row pins if `DIODE_DIRECTION == COL2ROW`, and the Col pins if `DIODE_DIRECTION == ROW2COL`. When DIRECT_PINS is defined, the output pins do not need to be set. + +Example: +```c +// list of OUTPUT(row) ports +#define MATRIX_OUT_PORTS \ + (Port_D, MCU_GPIO, D0), \ + (Port_C, MCU_GPIO, C0), \ + (Port_E, MCU_GPIO, E0), \ + (Port_B, MCU_GPIO, B0) +// list of OUTPUT pins +#define MATRIX_OUT_PINS \ + (0, Port_D, 4), \ + (1, Port_C, 6), \ + (2, Port_D, 7), \ + (3, Port_E, 6), \ + (4, Port_B, 4), \ + (5, Port_B, 5) +``` + +### Input pins configuration + +The input pins is the Col pins if `DIODE_DIRECTION == COL2ROW`, and the Row pins if `DIODE_DIRECTION == ROW2COL`. When DIRECT_PINS is defined, the input pin settings will enumerate the connection pins of all switches. + +Example: +```c +// list of INPUT ports +#define MATRIX_IN_PORTS (Port_F, MCU_GPIO, F0), (Port_B, MCU_GPIO, B0) +// list of INPUT pins +#define MATRIX_IN_PINS \ + (0, Port_F, 4), \ + (1, Port_F, 5), \ + (2, Port_F, 6), \ + (3, Port_F, 7), \ + (4, Port_B, 1), \ + (5, Port_B, 3) +``` + +### Multiplexer Extension + +By defining the `MATRIX_EXTENSION_74HC157` macro or `MATRIX_EXTENSION_74HC153` macro, you can connect a multiplexer to the GPIO to extend the input pins. + +Example: +```c +#define MATRIX_EXTENSION_74HC157 B2 /* or #define MATRIX_EXTENSION_74HC153 B2, B6 */ + +// list of OUTPUT ports +#define MATRIX_OUT_PORTS (Port_D, MCU_GPIO, D0), (Port_C, MCU_GPIO, C0), (Port_E, MCU_GPIO, E0), (Port_B, MCU_GPIO, B0) +// list of OUTPUT pins +#define MATRIX_OUT_PINS (0, Port_D, 4), (1, Port_C, 6), (2, Port_D, 7), (3, Port_E, 6), (4, Port_B, 4), (5, Port_B, 5) + +// list of INPUT ports +#define MATRIX_IN_PORTS \ + (Port_Fa, MCU_GPIOa, F0), \ + (Port_Ba, MCU_GPIOa, B0), \ + (Port_Fb, MCU_GPIOb, F0), \ + (Port_Bb, MCU_GPIOb, B0) +// list of INPUT pins +#define MATRIX_IN_PINS \ + (0, Port_Fa, 4), \ + (1, Port_Fb, 5), \ + (2, Port_Fb, 6), \ + (3, Port_Fa, 7), \ + (4, Port_Ba, 1), \ + (5, Port_Bb, 3) +``` + +### I/O expander Extension + +I plan to provide extensions to support I/O expanders such as MCP23018 and PCA9555. + +## Compile + +* Measure the execution time of matrix_scan() + * `make MTEST=matrix_debug_scan[,..] handwired/symmetric70_proto/promicro/fast:default:flash` +* Measure delay time. + * `make MTEST=matrix_debug_delay[,..] handwired/symmetric70_proto/promicro/fast:default:flash` + +## Measurement result +### Pro Micro (ATmega32u4 16Mhz) +#### Default setting (show `matrix_scan()` time) + - `make MTEST=matrix_debug_scan handwired/symmetric70_proto/promicro/fast:default:flash` + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: matrix_scan() + - Execution time of matrix_scan() 75.6us + - Frequency of matrix scan 8.09kHz (123.6us) + ![DS1Z_QuickPrint7](https://user-images.githubusercontent.com/2170248/116003927-538d9100-a63b-11eb-9b36-7db47d9b1541.png) + +#### Default setting (show delay time) + - `make MTEST=matrix_debug_delay handwired/symmetric70_proto/promicro/fast:default:flash` +##### Press R0C0 key + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: delay time + - Frequency of matrix scan 7.84kHz (127.6us) + +![DS1Z_QuickPrint9](https://user-images.githubusercontent.com/2170248/116003974-99e2f000-a63b-11eb-9c9e-3b3b1025db66.png) +![DS1Z_QuickPrint10](https://user-images.githubusercontent.com/2170248/116003978-a1a29480-a63b-11eb-97d8-5a6e11c0db2f.png) + +### Proton C +#### Default setting (show `matrix_scan()` time) + - `make MTEST=matrix_debug_scan handwired/symmetric70_proto/proton_c/fast:default:flash` + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: matrix_scan() + - Execution time of matrix_scan() 49.8us + - Frequency of matrix scan 15.1kHz (66.2.6us) + +![DS1Z_QuickPrint11](https://user-images.githubusercontent.com/2170248/116088141-8cca0d80-a6dc-11eb-8782-1d29c57690b8.png) + +#### Default setting (show delay time) + - `make MTEST=matrix_debug_delay handwired/symmetric70_proto/proton_c/fast:default:flash` +##### Press R0C0 key + - CH1: Row 0 + - CH2: Row 1 + - CH3: Row 4 + - CH4: delay time + - Frequency of matrix scan 13.9kHz (71.8us) + +![DS1Z_QuickPrint12](https://user-images.githubusercontent.com/2170248/116088247-a8cdaf00-a6dc-11eb-8a47-104694a40117.png) +![DS1Z_QuickPrint13](https://user-images.githubusercontent.com/2170248/116088262-ac613600-a6dc-11eb-804c-7dcbd71c83d5.png) + +##### Connect a 500pF capacitor between C0 line and GND, Press R0C0, R1C0, R2C0, R3C0, R4C0 keys + - CH1: Row 0 + - CH2: Row 1 + - CH3: Col 0 + - CH4: delay time + - Delay time 11.6us + - Threshold Voltage 1.9V + +![DS1Z_QuickPrint14](https://user-images.githubusercontent.com/2170248/116089205-90aa5f80-a6dd-11eb-89c4-72315c80ba0e.png) + +##### Connect a 1000pF capacitor between C0 line and GND, Press R0C0, R1C0, R2C0, R3C0, R4C0 keys + - CH1: Row 0 + - CH2: Row 1 + - CH3: Col 0 + - CH4: delay time + - Delay time 18.6us + - Threshold Voltage 1.9V + +![DS1Z_QuickPrint15](https://user-images.githubusercontent.com/2170248/116089229-96a04080-a6dd-11eb-8b63-f91b03a9db0c.png) diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/test_config.h b/keyboards/handwired/symmetric70_proto/matrix_fast/test_config.h new file mode 100644 index 000000000000..25b5d4e01846 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/test_config.h @@ -0,0 +1,21 @@ +// list of OUTPUT(row) ports +#define MATRIX_OUT_PORTS (Port_D, MCU_GPIO, D0), (Port_C, MCU_GPIO, C0), (Port_E, MCU_GPIO, E0), (Port_B, MCU_GPIO, B0) +// list of OUTPUT(row) pins +#define MATRIX_OUT_PINS \ + (0, Port_D, 4), \ + (1, Port_C, 6), \ + (2, Port_D, 7), \ + (3, Port_E, 6), \ + (4, Port_B, 4), \ + (5, Port_B, 5) + +// list of INPUT(col) ports +#define MATRIX_IN_PORTS (Port_F, MCU_GPIO, F0), (Port_B, MCU_GPIO, B0) +// list of INPUT(col) pins +#define MATRIX_IN_PINS \ + (0, Port_F, 4), \ + (1, Port_F, 5), \ + (2, Port_F, 6), \ + (3, Port_F, 7), \ + (4, Port_B, 1), \ + (5, Port_B, 3) diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/test_config_74hc157.h b/keyboards/handwired/symmetric70_proto/matrix_fast/test_config_74hc157.h new file mode 100644 index 000000000000..6abc25b86280 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/test_config_74hc157.h @@ -0,0 +1,28 @@ +#define MATRIX_EXTENSION_74HC157 B2 +// #define MATRIX_EXTENSION_74HC153 B2, B6 + +// list of OUTPUT(row) ports +#define MATRIX_OUT_PORTS (Port_D, MCU_GPIO, D0), (Port_C, MCU_GPIO, C0), (Port_E, MCU_GPIO, E0), (Port_B, MCU_GPIO, B0) +// list of OUTPUT(row) pins +#define MATRIX_OUT_PINS \ + (0, Port_D, 4), \ + (1, Port_C, 6), \ + (2, Port_D, 7), \ + (3, Port_E, 6), \ + (4, Port_B, 4), \ + (5, Port_B, 5) + +// list of INPUT(col) ports +#define MATRIX_IN_PORTS \ + (Port_Fa, MCU_GPIOa, F0), \ + (Port_Ba, MCU_GPIOa, B0), \ + (Port_Fb, MCU_GPIOb, F0), \ + (Port_Bb, MCU_GPIOb, B0) +// list of INPUT(col) pins +#define MATRIX_IN_PINS \ + (0, Port_Fa, 4), \ + (1, Port_Fb, 5), \ + (2, Port_Fb, 6), \ + (3, Port_Fa, 7), \ + (4, Port_Ba, 1), \ + (5, Port_Bb, 3) diff --git a/keyboards/handwired/symmetric70_proto/matrix_fast/test_config_direct.h b/keyboards/handwired/symmetric70_proto/matrix_fast/test_config_direct.h new file mode 100644 index 000000000000..aeea12950dbe --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/matrix_fast/test_config_direct.h @@ -0,0 +1,34 @@ +#if defined(__AVR__) +/* -------------------- AVR (Pro Micro) ----------------------- */ + +// old style +#define DIRECT_PINS { { F4, NO_PIN, F5 }, { NO_PIN, F6, F7 }, { B1, B3, NO_PIN } } + +// new style +// #define DIRECT_PINS +#define MATRIX_IN_PORTS \ + (Port_F, MCU_GPIO, F0), \ + (Port_B, MCU_GPIO, B0) +#define MATRIX_IN_PINS \ + (0, Port_F, 4), (1, NO_PIN ), (2, Port_F, 5), \ + (3, NO_PIN ), (4, Port_F, 6), (5, Port_F, 7), \ + (6, Port_B, 1), (7, Port_B, 3), (8, NO_PIN ) + +#else +/* -------------------- ARM (PROTON-C) ----------------------- */ + +// old style +#define DIRECT_PINS { { A2, NO_PIN, A1 }, { NO_PIN, A0, B8 }, { B13, B14, NO_PIN } } + +// new style +// #define DIRECT_PINS +#define MATRIX_IN_PORTS \ + (Port_A, MCU_GPIO, A0), \ + (Port_B, MCU_GPIO, B0) +#define MATRIX_IN_PINS \ + (0, Port_A, 2), (1, NO_PIN ), (2, Port_A, 1), \ + (3, NO_PIN ), (4, Port_A, 0), (5, Port_B, 8), \ + (6, Port_B, 13), (7, Port_B, 14), (8, NO_PIN ) + +#endif + diff --git a/keyboards/handwired/symmetric70_proto/promicro/config.h b/keyboards/handwired/symmetric70_proto/promicro/config.h new file mode 100644 index 000000000000..2060c6260606 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/config.h @@ -0,0 +1,157 @@ +/* +Copyright 2020-2021 mtei + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x2BE5 +#define DEVICE_VER 0x0001 +#define MANUFACTURER mtei +#define PRODUCT Symmetric70 prototype promicro + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* Pro Micro ************************** + ==== + +-------====------+ + MDEBUG | D3/TXO RAW | + | D2/RXI GND | + | GND RST | + | GND Vcc | + | D1/SDA F4 | COL_0_1_L + | D0/SCL F5 | COL_2_3_L + ROW_0 | D4 F6 | COL_4_5_L + ROW_1 | C6 F7 | COL_6_7_L + ROW_2 | D7 SCK/B1 | COL_6_7_R + ROW_3 | E6 MISO/B3 | COL_4_5_R + ROW_4 | B4 MOSI/B2 | COL_2_3_R + SEL_AB | B5 B6 | COL_0_1_R + +-----------------+ +***************************************/ + +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 + +#ifdef DEBUG_CONFIG +# define MATRIX_DEBUG_PIN D3 +# include "../debug_config.h" +#endif diff --git a/keyboards/handwired/symmetric70_proto/promicro/fast/config.h b/keyboards/handwired/symmetric70_proto/promicro/fast/config.h new file mode 100644 index 000000000000..2553de1ab37a --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/fast/config.h @@ -0,0 +1,52 @@ +/* +Copyright 2021 mtei + +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 MATRIX_OUT_PORTS \ + (Port_D, MCU_GPIO, D0), \ + (Port_C, MCU_GPIO, C0), \ + (Port_E, MCU_GPIO, E0), \ + (Port_B, MCU_GPIO, B0) +#define MATRIX_OUT_PINS \ + (0, Port_D, 4), \ + (1, Port_C, 6), \ + (2, Port_D, 7), \ + (3, Port_E, 6), \ + (4, Port_B, 4) +#define MATRIX_EXTENSION_74HC157 B5 +#define MATRIX_IN_PORTS \ + (Port_Fa, MCU_GPIOa, F0), \ + (Port_Fb, MCU_GPIOb, F0), \ + (Port_Ba, MCU_GPIOa, B0), \ + (Port_Bb, MCU_GPIOb, B0) +#define MATRIX_IN_PINS \ + (0, Port_Fa, 4), \ + (1, Port_Fb, 4), \ + (2, Port_Fa, 5), \ + (3, Port_Fb, 5), \ + (4, Port_Fa, 6), \ + (5, Port_Fb, 6), \ + (6, Port_Fa, 7), \ + (7, Port_Fb, 7), \ + (8, Port_Bb, 6), \ + (9, Port_Ba, 6), \ + (10, Port_Bb, 2), \ + (11, Port_Ba, 2), \ + (12, Port_Bb, 3), \ + (13, Port_Ba, 3), \ + (14, Port_Bb, 1), \ + (15, Port_Ba, 1) diff --git a/keyboards/handwired/symmetric70_proto/promicro/fast/readme.md b/keyboards/handwired/symmetric70_proto/promicro/fast/readme.md new file mode 100644 index 000000000000..9d1a8d8ebfb3 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/fast/readme.md @@ -0,0 +1 @@ +[Look here](../readme.md) diff --git a/keyboards/handwired/symmetric70_proto/promicro/fast/rules.mk b/keyboards/handwired/symmetric70_proto/promicro/fast/rules.mk new file mode 100644 index 000000000000..de489fcabda8 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/fast/rules.mk @@ -0,0 +1,6 @@ +CUSTOM_MATRIX = yes +SRC += matrix_common.c +SRC += matrix_fast/matrix.c + +KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))../../local_features.mk +include $(KEYBOARD_LOCAL_FEATURES_MK) diff --git a/keyboards/handwired/symmetric70_proto/promicro/normal/config.h b/keyboards/handwired/symmetric70_proto/promicro/normal/config.h new file mode 100644 index 000000000000..e03f685847f4 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/normal/config.h @@ -0,0 +1,41 @@ +/* +Copyright 2021 mtei + +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 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 } +#define MATRIX_COL_PINS { F4,F4,F5,F5, F6,F6,F7,F7, B6,B6,B2,B2, B3,B3,B1,B1 } + +#define MATRIX_MUL_SEL { 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0 } +/* use 74HC157: quadruple 2-line to 1-line data selectors / multiplexers */ +#define MATRIX_MUL_SELECT B5 /* 74HC157 pin1:~A/B */ + +#ifdef MATRIX_IO_DELAY_ADAPTIVE_FAST +# define MATRIX_IO_DELAY_PORTS B0, B0, F0, F0 +# define MATRIX_IO_DELAY_MULSEL 0, 1, 0, 1 +// 76543210 76543210 76543210 76543210 +# define MATRIX_IO_DELAY_MASKS 0b01001110, 0b01001110, 0b11110000, 0b11110000 +#endif diff --git a/keyboards/handwired/symmetric70_proto/promicro/normal/readme.md b/keyboards/handwired/symmetric70_proto/promicro/normal/readme.md new file mode 100644 index 000000000000..9d1a8d8ebfb3 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/normal/readme.md @@ -0,0 +1 @@ +[Look here](../readme.md) diff --git a/keyboards/handwired/symmetric70_proto/promicro/normal/rules.mk b/keyboards/handwired/symmetric70_proto/promicro/normal/rules.mk new file mode 100644 index 000000000000..0b2b707ef82a --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/normal/rules.mk @@ -0,0 +1,6 @@ +CUSTOM_MATRIX = yes +SRC += matrix_common.c +SRC += matrix_debug/matrix.c + +KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))../../local_features.mk +include $(KEYBOARD_LOCAL_FEATURES_MK) diff --git a/keyboards/handwired/symmetric70_proto/promicro/readme.md b/keyboards/handwired/symmetric70_proto/promicro/readme.md new file mode 100644 index 000000000000..c74063b9983e --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/readme.md @@ -0,0 +1,27 @@ +# Pro Micro version of symmetric70_proto + +![symmetric70_proto](https://i.imgur.com/Br4pH9ol.jpg) +matrix_74HC157d + +A compact 70keys keyboard (prototype) designed by mtei + +* Keyboard Maintainer: [mtei](https://github.com/mtei) +* Hardware Supported: Pro Micro (ATmega32U4) & 74HC157 +* Hardware Availability: This is just prototype + +Make example for this keyboard (after setting up your build environment): + + make handwired/symmetric70_proto/promicro/normal:default + make handwired/symmetric70_proto/promicro/fast:default + +Flashing example for this keyboard: + + make handwired/symmetric70_proto/promicro/normal:default:flash + make handwired/symmetric70_proto/promicro/fast:default:flash + +Testing options: (see more options: [local_features.mk](../local_features.mk), [matrix_debug](../matrix_debug/readme.md) and [matrix_fast](../matrix_fast/readme.md) ) + + make MTEST=mdelay0 handwired/symmetric70_proto/promicro/normal:default:flash + make MTEST=mdelay0 handwired/symmetric70_proto/promicro/fast: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). diff --git a/keyboards/handwired/symmetric70_proto/promicro/rules.mk b/keyboards/handwired/symmetric70_proto/promicro/rules.mk new file mode 100644 index 000000000000..ff631aa31bc7 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/promicro/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/symmetric70_proto/proton_c/config.h b/keyboards/handwired/symmetric70_proto/proton_c/config.h new file mode 100644 index 000000000000..84586854f4f0 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/config.h @@ -0,0 +1,165 @@ +/* +Copyright 2021 mtei + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x2BE5 +#define DEVICE_VER 0x0001 +#define MANUFACTURER mtei +#define PRODUCT Symmetric70 prototype proton-c + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +/* Proton-C ************************** + ==== + +-------====------+ + DEBUG | A9/TX/SCL2 5V | (VUSB) + | A10/RX/SDA2 GND | + | GND FLASH | + | GND 3.3V | (VCC) + C15 | B7/SDA1 A2 | C0 + C14 | B6/SCL1 A1 | C1 + C13 | B5 A0 | C2 + C12 | B4 SCL1/B8 | C3 + C11 | B3 SCLK/B13 | C4 + C10 | B2 MISO/B14 | C5 + C9 | B1 MOSI/B15 | C6 + C8 | B0 SDA1/B9 | C7 + +---+ +---+ + +---+ +---+ + R0 | A4 B10 | + R1 | A5 B11 | + R2 | A6 B12 | + R3 | A7 A14 | + R4 | A8 A13 | + | A15 RST | + +-----------------+ +***************************************/ + +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 + +#ifdef DEBUG_CONFIG +# define MATRIX_DEBUG_PIN A9 +# include "../debug_config.h" +#endif diff --git a/keyboards/handwired/symmetric70_proto/proton_c/fast/config.h b/keyboards/handwired/symmetric70_proto/proton_c/fast/config.h new file mode 100644 index 000000000000..48c3ec1c0969 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/fast/config.h @@ -0,0 +1,44 @@ +/* +Copyright 2021 mtei + +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 MATRIX_OUT_PORTS (Port_A, MCU_GPIO, A0) +#define MATRIX_OUT_PINS \ + (0, Port_A, 4), \ + (1, Port_A, 5), \ + (2, Port_A, 6), \ + (3, Port_A, 7), \ + (4, Port_A, 8) +#define MATRIX_IN_PORTS \ + (Port_A, MCU_GPIO, A0), (Port_B, MCU_GPIO, B0) +#define MATRIX_IN_PINS \ + (0, Port_A, 2), \ + (1, Port_A, 1), \ + (2, Port_A, 0), \ + (3, Port_B, 8), \ + (4, Port_B, 13), \ + (5, Port_B, 14), \ + (6, Port_B, 15), \ + (7, Port_B, 9), \ + (8, Port_B, 0), \ + (9, Port_B, 1), \ + (10, Port_B, 2), \ + (11, Port_B, 3), \ + (12, Port_B, 4), \ + (13, Port_B, 5), \ + (14, Port_B, 6), \ + (15, Port_B, 7) diff --git a/keyboards/handwired/symmetric70_proto/proton_c/fast/readme.md b/keyboards/handwired/symmetric70_proto/proton_c/fast/readme.md new file mode 100644 index 000000000000..9d1a8d8ebfb3 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/fast/readme.md @@ -0,0 +1 @@ +[Look here](../readme.md) diff --git a/keyboards/handwired/symmetric70_proto/proton_c/fast/rules.mk b/keyboards/handwired/symmetric70_proto/proton_c/fast/rules.mk new file mode 100644 index 000000000000..de489fcabda8 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/fast/rules.mk @@ -0,0 +1,6 @@ +CUSTOM_MATRIX = yes +SRC += matrix_common.c +SRC += matrix_fast/matrix.c + +KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))../../local_features.mk +include $(KEYBOARD_LOCAL_FEATURES_MK) diff --git a/keyboards/handwired/symmetric70_proto/proton_c/normal/config.h b/keyboards/handwired/symmetric70_proto/proton_c/normal/config.h new file mode 100644 index 000000000000..942e54c79936 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/normal/config.h @@ -0,0 +1,36 @@ +/* +Copyright 2021 mtei + +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 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { A4, A5, A6, A7, A8 } +#define MATRIX_COL_PINS { A2, A1, A0, B8, B13, B14, B15, B9, B0, B1, B2, B3, B4, B5, B6, B7 } + +#ifdef MATRIX_IO_DELAY_ADAPTIVE_FAST +# define MATRIX_IO_DELAY_PORTS A0, B0 +// fedcba9876543210 fedcba9876543210 +# define MATRIX_IO_DELAY_MASKS 0b0000000000000111, 0b1110001111111111 +#endif diff --git a/keyboards/handwired/symmetric70_proto/proton_c/normal/readme.md b/keyboards/handwired/symmetric70_proto/proton_c/normal/readme.md new file mode 100644 index 000000000000..9d1a8d8ebfb3 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/normal/readme.md @@ -0,0 +1 @@ +[Look here](../readme.md) diff --git a/keyboards/handwired/symmetric70_proto/proton_c/normal/rules.mk b/keyboards/handwired/symmetric70_proto/proton_c/normal/rules.mk new file mode 100644 index 000000000000..0b2b707ef82a --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/normal/rules.mk @@ -0,0 +1,6 @@ +CUSTOM_MATRIX = yes +SRC += matrix_common.c +SRC += matrix_debug/matrix.c + +KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))../../local_features.mk +include $(KEYBOARD_LOCAL_FEATURES_MK) diff --git a/keyboards/handwired/symmetric70_proto/proton_c/proton_c.c b/keyboards/handwired/symmetric70_proto/proton_c/proton_c.c new file mode 100644 index 000000000000..dfdc9d759723 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/proton_c.c @@ -0,0 +1,12 @@ +#include "quantum.h" + +#ifndef MATRIX_IO_DELAY_DEFAULT +/* In tmk_core/common/wait.h, the implementation for PROTOCOL_CHIBIOS + * calls 'chThdSleepMicroseconds(1)' when 'wait_us(0)'. + * However, 'wait_us(0)' should do nothing. */ +void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { +# if !defined(MATRIX_IO_DELAY) || MATRIX_IO_DELAY > 0 + matrix_io_delay(); +# endif +} +#endif diff --git a/keyboards/handwired/symmetric70_proto/proton_c/readme.md b/keyboards/handwired/symmetric70_proto/proton_c/readme.md new file mode 100644 index 000000000000..fc10a2e634dd --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/readme.md @@ -0,0 +1,26 @@ +# Proton C version of symmetric70_proto + +![symmetric70_proto](https://i.imgur.com/SCtlXOS.jpg) + +A compact 70keys keyboard (prototype) designed by mtei + +* Keyboard Maintainer: [mtei](https://github.com/mtei) +* Hardware Supported: Proton C (STM32F303CCT6) +* Hardware Availability: This is just prototype + +Make example for this keyboard (after setting up your build environment): + + make handwired/symmetric70_proto/proton_c/normal:default + make handwired/symmetric70_proto/proton_c/fast:default + +Flashing example for this keyboard: + + make handwired/symmetric70_proto/proton_c/normal:default:flash + make handwired/symmetric70_proto/proton_c/fast:default:flash + +Testing options: (see more options: [local_features.mk](../local_features.mk), [matrix_debug](../matrix_debug/readme.md) and [matrix_fast](../matrix_fast/readme.md) ) + + make MTEST=mdelay0 handwired/symmetric70_proto/proton_c/normal:default:flash + make MTEST=mdelay0 handwired/symmetric70_proto/proton_c/fast: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). diff --git a/keyboards/handwired/symmetric70_proto/proton_c/rules.mk b/keyboards/handwired/symmetric70_proto/proton_c/rules.mk new file mode 100644 index 000000000000..b39c045c14c7 --- /dev/null +++ b/keyboards/handwired/symmetric70_proto/proton_c/rules.mk @@ -0,0 +1,23 @@ +# MCU name +MCU = STM32F303 +BOARD = QMK_PROTON_C + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/symmetric70_proto/readme.md b/keyboards/handwired/symmetric70_proto/readme.md index 01c2889c2705..1bb56cf4f2a4 100644 --- a/keyboards/handwired/symmetric70_proto/readme.md +++ b/keyboards/handwired/symmetric70_proto/readme.md @@ -1,20 +1,8 @@ # symmetric70_proto ![symmetric70_proto](https://i.imgur.com/Br4pH9ol.jpg) -![74HC157_schematic](https://i.imgur.com/8IU8Jgcl.jpg) A compact 70keys keyboard (prototype) designed by mtei -* Keyboard Maintainer: [mtei](https://github.com/mtei) -* Hardware Supported: Pro Micro (ATmega32U4) & 74HC157 -* Hardware Availability: This is just prototype - -Make example for this keyboard (after setting up your build environment): - - make symmetric70_proto:default - -Flashing example for this keyboard: - - make symmetric70_proto: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). +* [Pro Micro version of symmetric70_proto](promicro/readme.md) +* [Proton-C version of symmetric70_proto](proton_c/readme.md) diff --git a/keyboards/handwired/symmetric70_proto/rules.mk b/keyboards/handwired/symmetric70_proto/rules.mk deleted file mode 100644 index 494dc6fbaf55..000000000000 --- a/keyboards/handwired/symmetric70_proto/rules.mk +++ /dev/null @@ -1,27 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = caterina - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output - -CUSTOM_MATRIX = lite -SRC += matrix.c - -## CONSOLE_ENABLE = yes # matrix dump diff --git a/keyboards/handwired/symmetry60/rules.mk b/keyboards/handwired/symmetry60/rules.mk index 905b15699e43..afa293f5ef20 100644 --- a/keyboards/handwired/symmetry60/rules.mk +++ b/keyboards/handwired/symmetry60/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/t111/rules.mk b/keyboards/handwired/t111/rules.mk index 1c391242ba87..b98666291701 100644 --- a/keyboards/handwired/t111/rules.mk +++ b/keyboards/handwired/t111/rules.mk @@ -1,3 +1,4 @@ +# MCU name MCU = STM32F103 # Bootloader selection @@ -9,7 +10,7 @@ OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/tennie/config.h b/keyboards/handwired/tennie/config.h index 90e9b720ef24..b1bddac45bc1 100644 --- a/keyboards/handwired/tennie/config.h +++ b/keyboards/handwired/tennie/config.h @@ -42,7 +42,7 @@ along with this program. If not, see . */ #define MATRIX_ROW_PINS { C6, D4, D0} #define MATRIX_COL_PINS { D7, E6, B4, B5 } -#define UNUSED_PINS { B1, B2, B3, B6, F4, F5, F6, F7 D1} +#define UNUSED_PINS { B1, B2, B3, B6, F4, F5, F6, F7, D1} /* COL2ROW, ROW2COL */ #define DIODE_DIRECTION COL2ROW @@ -183,26 +183,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ //#define BOOTMAGIC_LITE_ROW 0 //#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/tennie/keymaps/default/readme.md b/keyboards/handwired/tennie/keymaps/default/readme.md deleted file mode 100644 index 1fbaa7f46354..000000000000 --- a/keyboards/handwired/tennie/keymaps/default/readme.md +++ /dev/null @@ -1,68 +0,0 @@ -# Default keymap - -This keymap is to serve as an example of how you could make a multi-layer keymap. - -#### keymap - -``` -[base] = LAYOUT_kc( -// ┌────────┬────────┬────────┐ - - DEL , SPC , ENT , - -// ├────────┼────────┼────────┼────────┼ - - LEFT , DOWN , UP , RGHT , - -// ├────────┼────────┼────────┼────────┼ - - SHRK , OGRE , TCP - -// └────────┴────────┴────────┘ -), -[shrek] = LAYOUT_kc( -// ┌────────┬────────┬────────┐ - - MPRV , MPLY , MNXT , - -// ├────────┼────────┼────────┼────────┼ - - BRID , VOLD , VOLU , BRIU , - -// ├────────┼────────┼────────┼────────┼ - - _______, _______, _______ - -// └────────┴────────┴────────┘ -), -[ogre] = LAYOUT_kc( -// ┌────────┬────────┬────────┐ - - RGB_MOD, RGB_TOG, RGB_RMOD - -// ├────────┼────────┼────────┼────────┼ - - F13 , F14 , F15 , F16 , - -// ├────────┼────────┼────────┼────────┼ - - _______, _______, _______ - -// └────────┴────────┴────────┘ -), -[tcp] = LAYOUT_kc( -// ┌────────┬────────┬────────┐ - - WBAK , WREF , WFWD , - -// ├────────┼────────┼────────┼────────┼ - - XXXXXXX , PGDN , PGUP , XXXXXXX , - -// ├────────┼────────┼────────┼────────┼ - - _______, _______, _______ - -// └────────┴────────┴────────┘ -), -``` diff --git a/keyboards/handwired/tennie/rules.mk b/keyboards/handwired/tennie/rules.mk index 0331d64001f6..f07beb983140 100644 --- a/keyboards/handwired/tennie/rules.mk +++ b/keyboards/handwired/tennie/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/tennie/tennie.c b/keyboards/handwired/tennie/tennie.c index e1ceaf153d77..508430ba065d 100644 --- a/keyboards/handwired/tennie/tennie.c +++ b/keyboards/handwired/tennie/tennie.c @@ -15,31 +15,7 @@ */ #include "tennie.h" -void matrix_init_kb(void) { - matrix_init_user(); -} - void matrix_post_init(void) { rgblight_enable_noeeprom(); keyboard_post_init_user(); } - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -//void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - -// led_set_user(usb_led); -//} diff --git a/keyboards/handwired/terminus_mini/config.h b/keyboards/handwired/terminus_mini/config.h index 25ea22f7a87e..c31cf70594f4 100644 --- a/keyboards/handwired/terminus_mini/config.h +++ b/keyboards/handwired/terminus_mini/config.h @@ -158,24 +158,4 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - #endif diff --git a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c index 78578a33eeda..352ab99db484 100644 --- a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c +++ b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c @@ -265,16 +265,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/terminus_mini/keymaps/default/rules.mk b/keyboards/handwired/terminus_mini/keymaps/default/rules.mk index a0c29684b1b0..0be6fcc26639 100644 --- a/keyboards/handwired/terminus_mini/keymaps/default/rules.mk +++ b/keyboards/handwired/terminus_mini/keymaps/default/rules.mk @@ -2,7 +2,7 @@ # change to "no" to disable the options, or define them in the rules.mk in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -12,7 +12,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend TAP_DANCE_ENABLE = no # Enable Tap Dance diff --git a/keyboards/handwired/terminus_mini/rules.mk b/keyboards/handwired/terminus_mini/rules.mk index 684da4cbb9ee..8b0a2fc7b682 100644 --- a/keyboards/handwired/terminus_mini/rules.mk +++ b/keyboards/handwired/terminus_mini/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -22,7 +15,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/handwired/terminus_mini/terminus_mini.c b/keyboards/handwired/terminus_mini/terminus_mini.c index 58edca76873e..295fa4c5a78c 100644 --- a/keyboards/handwired/terminus_mini/terminus_mini.c +++ b/keyboards/handwired/terminus_mini/terminus_mini.c @@ -14,30 +14,3 @@ * along with this program. If not, see . */ #include "terminus_mini.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/handwired/trackpoint/rules.mk b/keyboards/handwired/trackpoint/rules.mk index 668b3bb1ffe9..0a354adc89a0 100644 --- a/keyboards/handwired/trackpoint/rules.mk +++ b/keyboards/handwired/trackpoint/rules.mk @@ -2,17 +2,10 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = halfkay -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -20,7 +13,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/trackpoint/trackpoint.c b/keyboards/handwired/trackpoint/trackpoint.c index 124995a6426a..e1b144241ca2 100644 --- a/keyboards/handwired/trackpoint/trackpoint.c +++ b/keyboards/handwired/trackpoint/trackpoint.c @@ -1,5 +1 @@ #include "trackpoint.h" - -void matrix_init_kb(void) { - -} diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c new file mode 100644 index 000000000000..7ea4d97472ae --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c @@ -0,0 +1,67 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "4x6_right.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + { 24, 23, 18, 17, 10, 9 }, + { 25, 22, 19, 16, 11, 8 }, + { 26, 21, 20, 15, 12, 7 }, + { NO_LED, NO_LED, NO_LED, 14, 13, 6 }, + { NO_LED, NO_LED, NO_LED, 14, 13, 6 }, + { 51, 50, 45, 44, 37, 36 }, + { 52, 49, 46, 43, 38, 35 }, + { 53, 48, 47, 42, 39, 34 }, + { NO_LED, NO_LED, NO_LED, 41, 40, 33 }, + { NO_LED, NO_LED, NO_LED, 41, 40, 33 } +}, { + { 85, 16 }, { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 }, + { 85, 39 }, { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 }, + { 60, 55 }, { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 }, + { 16, 42 }, { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }, { 139, 16 }, + { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 }, { 139, 39 }, + { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 }, { 164, 55 }, + { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 }, { 208, 42 }, + { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 } +}, { + 2, 2, 2, 2, 2, 2, 1, + 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 1, 1, 2, + 2, 2, 2, 2, 2, 1, 4, + 4, 4, 4, 4, 4, 1, 1, + 4, 4, 4, 4, 4, 4, 4, + 4, 4, 1, 1, 1 +} }; +#endif + +#ifdef SWAP_HANDS_ENABLE +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + /* Left hand, matrix positions */ + {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, + {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, + {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}}, + {{5, 8}, {4, 8}, {3, 8}, {2, 8}, {1, 8}, {0, 8}}, + {{5, 9}, {4, 9}, {3, 9}, {2, 9}, {1, 9}, {0, 9}}, + /* Right hand, matrix positions */ + {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, + {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, + {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, + {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, + {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}} +}; +#endif diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.h b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.h new file mode 100644 index 000000000000..66b588078579 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.h @@ -0,0 +1,47 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "tractyl_manuform.h" +#include "quantum.h" + +#define ___ KC_NO + +// clang-format off +#define LAYOUT_4x6_right(\ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L32, L33, R32, R33, \ + L34, L35, R31, \ + L44, L45, R41, \ + L42, L43, R42, R43 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { ___, ___, L32, L33, L34, L35 }, \ + { ___, ___, L42, L43, L44, L45 }, \ + \ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { ___, R31, R32, R33, ___, ___ }, \ + { ___, R41, R42, R43, ___, ___ } \ +} +// clang-format on diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h new file mode 100644 index 000000000000..913a9f0aa201 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h @@ -0,0 +1,91 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 "config_common.h" + +#define PRODUCT_ID 0x3537 +#define DEVICE_VER 0x0001 +#define PRODUCT Tractyl Manuform(4x6) + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 10 +#define MATRIX_COLS 6 + +// wiring of each half +#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5 } +#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4 } + +#define DIODE_DIRECTION COL2ROW + +// WS2812 RGB LED strip input and number of LEDs +#define RGB_DI_PIN E7 +#define DRIVER_LED_TOTAL 62 +#define RGB_MATRIX_SPLIT { 32, 30 } +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +// #define RGB_MATRIX_KEYRELEASES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80 + +#define SPLIT_TRANSPORT_MIRROR +#define SPLIT_HAND_PIN A6 + + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +// #define BACKLIGHT_LEVELS 3 + +// #define DEBUG_LED_PIN D6 + +#define ROTATIONAL_TRANSFORM_ANGLE -25 + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 +#define BOOTMAGIC_LITE_ROW_RIGHT 4 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 + +#define AUDIO_PIN C6 +#define AUDIO_PIN_ALT B7 + +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095 +#define DYNAMIC_KEYMAP_LAYER_COUNT 16 +#define LAYER_STATE_16BIT + +/* serial.c configuration for split keyboard */ +#define SOFT_SERIAL_PIN D3 +#define EE_HANDS + + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* PMW3360 Settings */ +#define PMW3360_CS_PIN B0 diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/info.json b/keyboards/handwired/tractyl_manuform/4x6_right/info.json new file mode 100644 index 000000000000..03a570730f6f --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/4x6_right/info.json @@ -0,0 +1,75 @@ +{ + "keyboard_name": "Tractyl Manuform 4x6", + "url": "", + "maintainer": "drashna", + "width": 17, + "height": 8, + "layouts": { + "LAYOUT_5x6_right": { + "layout": [ + {"label":"L00", "x":0, "y":0}, + {"label":"L01", "x":1, "y":0}, + {"label":"L02", "x":2, "y":0}, + {"label":"L03", "x":3, "y":0}, + {"label":"L04", "x":4, "y":0}, + {"label":"L05", "x":5, "y":0}, + {"label":"R00", "x":11, "y":0}, + {"label":"R01", "x":12, "y":0}, + {"label":"R02", "x":13, "y":0}, + {"label":"R03", "x":14, "y":0}, + {"label":"R04", "x":15, "y":0}, + {"label":"R05", "x":16, "y":0}, + {"label":"L10", "x":0, "y":1}, + {"label":"L11", "x":1, "y":1}, + {"label":"L12", "x":2, "y":1}, + {"label":"L13", "x":3, "y":1}, + {"label":"L14", "x":4, "y":1}, + {"label":"L15", "x":5, "y":1}, + {"label":"R10", "x":11, "y":1}, + {"label":"R11", "x":12, "y":1}, + {"label":"R12", "x":13, "y":1}, + {"label":"R13", "x":14, "y":1}, + {"label":"R14", "x":15, "y":1}, + {"label":"R15", "x":16, "y":1}, + {"label":"L20", "x":0, "y":2}, + {"label":"L21", "x":1, "y":2}, + {"label":"L22", "x":2, "y":2}, + {"label":"L23", "x":3, "y":2}, + {"label":"L24", "x":4, "y":2}, + {"label":"L25", "x":5, "y":2}, + {"label":"R20", "x":11, "y":2}, + {"label":"R21", "x":12, "y":2}, + {"label":"R22", "x":13, "y":2}, + {"label":"R23", "x":14, "y":2}, + {"label":"R24", "x":15, "y":2}, + {"label":"R25", "x":16, "y":2}, + {"label":"L30", "x":0, "y":3}, + {"label":"L31", "x":1, "y":3}, + {"label":"L32", "x":2, "y":3}, + {"label":"L33", "x":3, "y":3}, + {"label":"L34", "x":4, "y":3}, + {"label":"L35", "x":5, "y":3}, + {"label":"R30", "x":11, "y":3}, + {"label":"R31", "x":12, "y":3}, + {"label":"R32", "x":13, "y":3}, + {"label":"R33", "x":14, "y":3}, + {"label":"R34", "x":15, "y":3}, + {"label":"R35", "x":16, "y":3}, + {"label":"L42", "x":2, "y":4}, + {"label":"L43", "x":3, "y":4}, + {"label":"R42", "x":13, "y":4}, + {"label":"R43", "x":14, "y":4}, + {"label":"L44", "x":4, "y":5}, + {"label":"L45", "x":5, "y":5}, + {"label":"R41", "x":12, "y":5}, + {"label":"L54", "x":6, "y":6}, + {"label":"L55", "x":7, "y":6}, + {"label":"R51", "x":10, "y":6}, + {"label":"L52", "x":6, "y":7}, + {"label":"L53", "x":7, "y":7}, + {"label":"R52", "x":9, "y":7}, + {"label":"R53", "x":10, "y":7} + ] + } + } +} diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c new file mode 100644 index 000000000000..d79f60b12c6f --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c @@ -0,0 +1,62 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 custom_layers { + _QWERTY, + _LOWER, + _RAISE, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = LAYOUT_4x6_right( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_BSLASH, + KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, + RAISE, KC_SPC, LOWER, + KC_TAB, KC_HOME, KC_ENT, + KC_BSPC,KC_GRV, KC_LGUI,KC_DEL +), + +[_LOWER] = LAYOUT_4x6_right( + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, KC_PLUS, + _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS,KC_PIPE, + _______,_______,_______,_______,_______,_______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS, + _______,KC_PSCR, _______, KC_P0, + _______,_______, _______, + _______,_______, _______, + _______,_______, _______,_______ +), + +[_RAISE] = LAYOUT_4x6_right( + _______,RESET, _______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS, KC_SLCK,KC_MUTE, + _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, + _______,_______, KC_EQL ,_______, + _______,_______, _______, + _______,_______, _______, + _______,_______, _______,_______ +), +}; diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h new file mode 100644 index 000000000000..21bc8e616a99 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h @@ -0,0 +1,36 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 USE_I2C +// #define SELECT_SOFT_SERIAL_SPEED 1 +// #define SERIAL_USE_MULTI_TRANSACTION +#define SPLIT_MODS_ENABLE +#define EE_HANDS + +#define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 } + +#define RGBLIGHT_MAX_BRIGHTNESS 60 + +#undef DEBOUNCE +#define DEBOUNCE 10 + +#define SOLENOID_PIN F1 +#define SOLENOID_DEFAULT_DWELL 8 + +#define OLED_DISPLAY_128X64 +#define OLED_BRIGHTNESS 50 diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c new file mode 100644 index 000000000000..78a7db67a9d3 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c @@ -0,0 +1,217 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "drashna.h" + +// clang-format off +#define LAYOUT_4x6_right_wrapper(...) LAYOUT_4x6_right(__VA_ARGS__) +#define LAYOUT_4x6_right_base( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ + ) \ + LAYOUT_4x6_right_wrapper( \ + SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ + LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ + OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ + OS_LGUI, OS_LALT, OS_RGUI, OS_RALT, \ + KC_PSCR, KC_GRV, MEH_T(KC_BTN3), \ + KC_SPC, OS_LGUI, KC_ENT, \ + BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \ + ) +#define LAYOUT_base_wrapper(...) LAYOUT_4x6_right_base(__VA_ARGS__) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper( + _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, + _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, + _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ + ), + + [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper( + ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, + ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, + ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ + ), + [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper( + _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, + _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, + _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ + ), + + [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper( + _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, + _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, + _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ + ), + + [_MOUSE] = LAYOUT_4x6_right( + _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, DPI_CONFIG, _______, + _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, _______, + _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______ + ), + [_GAMEPAD] = LAYOUT_4x6_right( + KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______, + KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______, + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_H, _______, _______, _______, _______, _______, _______, + KC_I, KC_T, TG_GAME, KC_NO, + KC_V, KC_O, _______, + KC_SPC, KC_P, _______, + KC_H, KC_LGUI, _______, _______ + ), + [_DIABLO] = LAYOUT_4x6_right( + KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, _______, _______, _______, _______, _______, _______, + KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, _______, _______, _______, _______, _______, _______, + KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, _______, _______, _______, _______, _______, _______, + KC_F, KC_L, KC_NO, TG_DBLO, + KC_DIABLO_CLEAR, KC_F, _______, + SFT_T(KC_SPC), KC_J, _______, + ALT_T(KC_Q), KC_LGUI, _______, _______ + ), + [_LOWER] = LAYOUT_4x6_right_wrapper( + KC_F12, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, + _______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, + _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______ + ), + [_RAISE] = LAYOUT_4x6_right_wrapper( + KC_F12, _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_F11, + _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, + _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______ + ), + [_ADJUST] = LAYOUT_4x6_right_wrapper( + KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST, + VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, + UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS, + HPT_DWLI, HPT_DWLD, TG_GAME, TG_DBLO, + HPT_TOG, HPT_BUZ, KC_NUKE, + _______, _______, _______, + _______, _______, KC_NUKE, _______ + ), +}; +// clang-format on + +#ifdef POINTING_DEVICE_ENABLE +static uint16_t mouse_timer = 0; +static uint16_t mouse_debounce_timer = 0; +static uint8_t mouse_keycode_tracker = 0; +bool tap_toggling = false; + +void process_mouse_user(report_mouse_t* mouse_report, int8_t x, int8_t y) { + if ((x || y) && timer_elapsed(mouse_timer) > 125) { + mouse_timer = timer_read(); + if (!layer_state_is(_MOUSE) && !(layer_state_is(_GAMEPAD) || layer_state_is(_DIABLO)) && timer_elapsed(mouse_debounce_timer) > 125) { + layer_on(_MOUSE); + } + } + +# ifdef TAPPING_TERM_PER_KEY + if (timer_elapsed(mouse_debounce_timer) > get_tapping_term(KC_BTN1, NULL) +# else + if (timer_elapsed(mouse_debounce_timer) > TAPPING_TERM +# endif + || (layer_state_is(_GAMEPAD) || layer_state_is(_DIABLO))) { + mouse_report->x = x; + mouse_report->y = y; + } +# ifdef OLED_ENABLE + if (x || y) oled_timer = timer_read32(); +# endif +} + +void matrix_scan_keymap(void) { + if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) { + layer_off(_MOUSE); + } + if (tap_toggling) { + if (!layer_state_is(_MOUSE)) { + layer_on(_MOUSE); + } + } +} + +bool process_record_keymap(uint16_t keycode, keyrecord_t* record) { + switch (keycode) { + case TT(_MOUSE): + { + if (record->event.pressed) { + mouse_keycode_tracker++; + } else { +# if TAPPING_TOGGLE != 0 + if (record->tap.count == TAPPING_TOGGLE) { + tap_toggling ^= 1; +# if TAPPING_TOGGLE == 1 + if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1; +# else + if (!tap_toggling) mouse_keycode_tracker -= record->tap.count; +# endif + } else { + mouse_keycode_tracker--; + } +# endif + } + mouse_timer = timer_read(); + break; + } + case MO(_MOUSE): + case DPI_CONFIG: + case KC_MS_UP ... KC_MS_WH_RIGHT: + record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; + mouse_timer = timer_read(); + break; + default: + if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) { + layer_off(_MOUSE); + } + mouse_keycode_tracker = 0; + mouse_debounce_timer = timer_read(); + break; + } + return true; +} + +layer_state_t layer_state_set_keymap(layer_state_t state) { + if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO)) { + state |= (1UL << _MOUSE); + } + return state; +} +#endif + +void matrix_init_keymap(void) { +#ifdef AUDIO_ENABLE + extern audio_config_t audio_config; + + if (!is_keyboard_master()) { + audio_stop_all(); + audio_config.enable = false; + } +#endif +} + +void keyboard_post_init_keymap(void) { matrix_init_keymap(); } diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/rules.mk b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/rules.mk new file mode 100644 index 000000000000..7fef013a388c --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/rules.mk @@ -0,0 +1,9 @@ +RGBLIGHT_STARTUP_ANIMATION = yes +AUDIO_ENABLE = yes +HAPTIC_ENABLE = no +COMMAND_ENABLE = no +TAP_DANCE_ENABLE = yes +UNICODE_ENABLE = yes +OLED_ENABLE = yes +WPM_ENABLE = yes +# DEBOUNCE_TYPE = sym_eager_pk diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/readme.md b/keyboards/handwired/tractyl_manuform/4x6_right/readme.md similarity index 100% rename from keyboards/handwired/dactyl_manuform/5x6_right_trackball/readme.md rename to keyboards/handwired/tractyl_manuform/4x6_right/readme.md diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk new file mode 100644 index 000000000000..460802a1bff2 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk @@ -0,0 +1,33 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = no +RGB_MATRIX_DRIVER = WS2812 + + +POINTING_DEVICE_ENABLE = yes +MOUSE_SHARED_EP = no + +SPLIT_KEYBOARD = yes + +SRC += drivers/sensors/pmw3360.c +QUANTUM_LIB_SRC += spi_master.c tm_sync.c diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.c b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.c new file mode 100644 index 000000000000..af9cbda49d6e --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.c @@ -0,0 +1,39 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "5x6_right.h" + +#ifdef SWAP_HANDS_ENABLE +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + /* Left hand, matrix positions */ + {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, + {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}}, + {{5, 8}, {4, 8}, {3, 8}, {2, 8}, {1, 8}, {0, 8}}, + {{5, 9}, {4, 9}, {3, 9}, {2, 9}, {1, 9}, {0, 9}}, + {{5, 10}, {4, 10}, {3, 10}, {2, 10}, {1, 10}, {0, 10}}, + {{5, 11}, {4, 11}, {3, 11}, {2, 11}, {1, 11}, {0, 11}}, + /* Right hand, matrix positions */ + {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, + {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, + {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, + {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, + {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, + {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}}; + +# ifdef ENCODER_MAP_ENABLE +const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0}; +# endif +#endif diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h new file mode 100644 index 000000000000..24aac66aeef9 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h @@ -0,0 +1,55 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "tractyl_manuform.h" +#if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_f411) +# include "f411.h" +#elif defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_teensy2pp) +# include "teensy2pp.h" +#endif +#include "quantum.h" + +#define ___ KC_NO + +// clang-format off +#define LAYOUT_5x6_right(\ + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ + L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ + L42, L43, R42, R43, \ + L44, L45, R41, \ + L54, L55, R51, \ + L52, L53, R52, R53 \ + ) \ + { \ + { L00, L01, L02, L03, L04, L05 }, \ + { L10, L11, L12, L13, L14, L15 }, \ + { L20, L21, L22, L23, L24, L25 }, \ + { L30, L31, L32, L33, L34, L35 }, \ + { ___, ___, L42, L43, L44, L45 }, \ + { ___, ___, L52, L53, L54, L55 }, \ + \ + { R00, R01, R02, R03, R04, R05 }, \ + { R10, R11, R12, R13, R14, R15 }, \ + { R20, R21, R22, R23, R24, R25 }, \ + { R30, R31, R32, R33, R34, R35 }, \ + { ___, R41, R42, R43, ___, ___ }, \ + { ___, R51, R52, R53, ___, ___ } \ +} +// clang-format on diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h new file mode 100644 index 000000000000..d1860c3378b9 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h @@ -0,0 +1,52 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 "config_common.h" + +#define PRODUCT_ID 0x3536 +#define DEVICE_VER 0x0001 + +/* key matrix size */ +// Rows are doubled-up +#define MATRIX_ROWS 12 +#define MATRIX_COLS 6 + +#define DIODE_DIRECTION COL2ROW + +#define ROTATIONAL_TRANSFORM_ANGLE -25 + +/* Bootmagic Lite key configuration */ +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 +#define BOOTMAGIC_LITE_ROW_RIGHT 6 +#define BOOTMAGIC_LITE_COLUMN_RIGHT 5 + +#define DYNAMIC_KEYMAP_LAYER_COUNT 16 +#define LAYER_STATE_16BIT + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/chconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/chconf.h new file mode 100644 index 000000000000..8b55eaeef089 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/chconf.h @@ -0,0 +1,38 @@ +/* Copyright 2020 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/blackpill_f411/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE + +#define CH_CFG_FACTORY_SEMAPHORES TRUE + +#define CH_CFG_FACTORY_MAILBOXES TRUE + +#define CH_CFG_FACTORY_OBJ_FIFOS TRUE + +#define CH_CFG_FACTORY_PIPES TRUE + +#include_next diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h new file mode 100644 index 000000000000..0e5b72c56b63 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h @@ -0,0 +1,108 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 PRODUCT Tractyl Manuform(5x6) BlackPill + +// wiring of each half +#define MATRIX_COL_PINS \ + { A15, B3, B4, B5, B6, B7 } +#define MATRIX_ROW_PINS \ + { B12, B13, B14, B15, A8, A10 } + +#define UNUSED_PINS \ + { C15 } +// B2 used for BOOT1, has internal pull down? +// A9 has internal pull-down +// A11 and A12 are used for USB sense. DO NOT USE. + +#define DIODE_DIRECTION COL2ROW + +#define USB_VBUS_PIN B10 +#define SPLIT_HAND_PIN C14 // high = left, low = right + +// WS2812 RGB LED strip input and number of LEDs +#define RGB_DI_PIN A1 +#define WS2812_PWM_DRIVER PWMD5 // default: PWMD2 +#define WS2812_PWM_CHANNEL 2 // default: 2 +#define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 +//#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy). +#define WS2812_DMA_STREAM STM32_DMA1_STREAM0 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_DMA_CHANNEL 6 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. + +#define RGBLED_NUM 20 +#define RGBLIGHT_SPLIT +#define RGBLED_SPLIT \ + { 10, 10 } + +#define DEBUG_LED_PIN C13 + +/* Audio config */ +#define AUDIO_PIN B1 +#define AUDIO_PWM_DRIVER PWMD3 +#define AUDIO_PWM_CHANNEL 4 +#define AUDIO_PWM_PAL_MODE 2 +#define AUDIO_STATE_TIMER GPTD4 + +/* serial.c configuration for split keyboard */ +#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. +#define SERIAL_USART_TX_PIN A2 +#define SERIAL_USART_RX_PIN A3 +#define SERIAL_USART_DRIVER SD2 +#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 +#define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 +#define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100 + +/* i2c config for oleds */ +#define I2C_DRIVER I2CD1 +#define I2C1_SCL_BANK GPIOB +#define I2C1_SDA_BANK GPIOB +#define I2C1_SCL 8 +#define I2C1_SDA 9 +#define I2C1_SCL_PAL_MODE 4 +#define I2C1_SDA_PAL_MODE 4 +#define I2C1_CLOCK_SPEED 400000 + +/* encoder config */ +#define ENCODERS_PAD_A \ + { A13 } +#define ENCODERS_PAD_B \ + { A14 } + +/* spi config for eeprom and pmw3360 sensor */ +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN A5 +#define SPI_SCK_PAL_MODE 5 +#define SPI_MOSI_PIN A7 +#define SPI_MOSI_PAL_MODE 5 +#define SPI_MISO_PIN A6 +#define SPI_MISO_PAL_MODE 5 + +/* eeprom config */ +#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 +#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 8 +// #define EXTERNAL_EEPROM_BYTE_COUNT 8196 +// #define EXTERNAL_EEPROM_PAGE_SIZE 32 +// #define EXTERNAL_EEPROM_ADDRESS_SIZE 2 +// #define DEBUG_EEPROM_OUTPUT + +/* pmw3360 config */ +#define PMW3360_CS_PIN B0 +#define PMW3360_SPI_MODE 3 +#define PMW3360_SPI_DIVISOR 4 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c new file mode 100644 index 000000000000..240219f1d38b --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c @@ -0,0 +1,25 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "f411.h" + +void matrix_init_sub_kb(void) { setPinInputHigh(A0); } + +void matrix_scan_sub_kb(void) { + if (!readPin(A0)) { + reset_keyboard(); + } +} diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.h new file mode 100644 index 000000000000..525b0378b46f --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.h @@ -0,0 +1,19 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "5x6_right.h" diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h new file mode 100644 index 000000000000..fb835e8ee2b1 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h @@ -0,0 +1,24 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * 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 3 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 HAL_USE_PWM TRUE +#define HAL_USE_SERIAL TRUE +#define HAL_USE_I2C TRUE +#define HAL_USE_SPI TRUE +#define HAL_USE_GPT TRUE + +#include_next diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h new file mode 100644 index 000000000000..053f0aa51777 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h @@ -0,0 +1,37 @@ +/* Copyright 2020 Nick Brassel (tzarc) + * + * 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 3 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 "mcuconf.h" + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_PWM_USE_TIM5 +#define STM32_PWM_USE_TIM5 TRUE + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE + +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE + +#undef STM32_SERIAL_USE_USART2 +#define STM32_SERIAL_USE_USART2 TRUE + +#undef STM32_GPT_USE_TIM4 +#define STM32_GPT_USE_TIM4 TRUE diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md new file mode 100644 index 000000000000..4571e18045d4 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/readme.md @@ -0,0 +1,24 @@ +# Drashna's Blackpill Tractyl Manuform (5x6) with a right side trackball + +* VBUS mod, using PB10 +* Split Hand Pin, using PC14 +* Full Duplex Serial/USART using PA3 and PA4 on USART2 +* PWM Audio using PB1 and TIM3 and GPT on TIM4 +* PWM RGB using PA1 TIM5 +* pmw3360 sensor sharing PA5-PA7 on SPI1, with B0 as CS pin +* 8KB SPI EEPROM chip sharing PA5-PA7 on SPI1 with PA4 as CS pin +* Encoder using PA10 and PA12 +* SSD1306 OLED display (128x64) using PB8-PB9 on I2C1 + +* Keyboard Maintainer: [Drashna Jael're](https://github.com/drashna) +* Hardware Supported: [Design files](https://gitlab.com/keyboards1/dm_r_track/-/tree/master/boolean), [WeAct BlackPill (F411)](https://github.com/WeActTC/MiniSTM32F4x1), [PMW3360 Optical Sensor](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/) + +Make example for this keyboard (after setting up your build environment): + + make handwired/tractyl_manuform/5x6_right/f411:default + +Flashing example for this keyboard: + + make handwired/tractyl_manuform/5x6_right/f411: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). diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk new file mode 100644 index 000000000000..ede1a6baff7c --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk @@ -0,0 +1,13 @@ +# MCU name +MCU = STM32F411 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +KEYBOARD_SHARED_EP = yes +CONSOLE_ENABLE = yes + +EEPROM_DRIVER = spi +WS2812_DRIVER = pwm +SERIAL_DRIVER = usart +AUDIO_DRIVER = pwm_hardware diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/info.json new file mode 100644 index 000000000000..b6d4db4e7b24 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/info.json @@ -0,0 +1,75 @@ +{ + "keyboard_name": "Tractyl Manuform 5x6", + "url": "", + "maintainer": "drashna", + "width": 17, + "height": 8, + "layouts": { + "LAYOUT_5x6_right": { + "layout": [ + {"label":"L00", "x":0, "y":0}, + {"label":"L01", "x":1, "y":0}, + {"label":"L02", "x":2, "y":0}, + {"label":"L03", "x":3, "y":0}, + {"label":"L04", "x":4, "y":0}, + {"label":"L05", "x":5, "y":0}, + {"label":"R00", "x":11, "y":0}, + {"label":"R01", "x":12, "y":0}, + {"label":"R02", "x":13, "y":0}, + {"label":"R03", "x":14, "y":0}, + {"label":"R04", "x":15, "y":0}, + {"label":"R05", "x":16, "y":0}, + {"label":"L10", "x":0, "y":1}, + {"label":"L11", "x":1, "y":1}, + {"label":"L12", "x":2, "y":1}, + {"label":"L13", "x":3, "y":1}, + {"label":"L14", "x":4, "y":1}, + {"label":"L15", "x":5, "y":1}, + {"label":"R10", "x":11, "y":1}, + {"label":"R11", "x":12, "y":1}, + {"label":"R12", "x":13, "y":1}, + {"label":"R13", "x":14, "y":1}, + {"label":"R14", "x":15, "y":1}, + {"label":"R15", "x":16, "y":1}, + {"label":"L20", "x":0, "y":2}, + {"label":"L21", "x":1, "y":2}, + {"label":"L22", "x":2, "y":2}, + {"label":"L23", "x":3, "y":2}, + {"label":"L24", "x":4, "y":2}, + {"label":"L25", "x":5, "y":2}, + {"label":"R20", "x":11, "y":2}, + {"label":"R21", "x":12, "y":2}, + {"label":"R22", "x":13, "y":2}, + {"label":"R23", "x":14, "y":2}, + {"label":"R24", "x":15, "y":2}, + {"label":"R25", "x":16, "y":2}, + {"label":"L30", "x":0, "y":3}, + {"label":"L31", "x":1, "y":3}, + {"label":"L32", "x":2, "y":3}, + {"label":"L33", "x":3, "y":3}, + {"label":"L34", "x":4, "y":3}, + {"label":"L35", "x":5, "y":3}, + {"label":"R30", "x":11, "y":3}, + {"label":"R31", "x":12, "y":3}, + {"label":"R32", "x":13, "y":3}, + {"label":"R33", "x":14, "y":3}, + {"label":"R34", "x":15, "y":3}, + {"label":"R35", "x":16, "y":3}, + {"label":"L42", "x":2, "y":4}, + {"label":"L43", "x":3, "y":4}, + {"label":"R42", "x":13, "y":4}, + {"label":"R43", "x":14, "y":4}, + {"label":"L44", "x":4, "y":5}, + {"label":"L45", "x":5, "y":5}, + {"label":"R41", "x":12, "y":5}, + {"label":"L54", "x":6, "y":6}, + {"label":"L55", "x":7, "y":6}, + {"label":"R51", "x":10, "y":6}, + {"label":"L52", "x":6, "y":7}, + {"label":"L53", "x":7, "y":7}, + {"label":"R52", "x":9, "y":7}, + {"label":"R53", "x":10, "y":7} + ] + } + } +} diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/default/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/default/keymap.c new file mode 100644 index 000000000000..30dafdf516b0 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 custom_layers { + _QWERTY, + _LOWER, + _RAISE, +}; + + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_5x6_right( + KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,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_MINS, + KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, + KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH, + KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, + RAISE,KC_SPC, LOWER, + KC_TAB,KC_HOME, KC_DEL, + KC_BSPC, KC_GRV, KC_LGUI, KC_ENT + ), + + [_LOWER] = LAYOUT_5x6_right( + KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL, + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, + _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, + _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS, + _______,KC_PSCR, _______, KC_P0, + _______,_______, _______, + _______,_______, _______, + _______,_______, _______,_______ + + ), + + [_RAISE] = LAYOUT_5x6_right( + KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 , + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE, + _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, + _______,_______, KC_EQL ,_______, + _______,_______, _______, + _______,_______, _______, + _______,_______, _______,_______ + ), +}; diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h new file mode 100644 index 000000000000..21bc8e616a99 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h @@ -0,0 +1,36 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 USE_I2C +// #define SELECT_SOFT_SERIAL_SPEED 1 +// #define SERIAL_USE_MULTI_TRANSACTION +#define SPLIT_MODS_ENABLE +#define EE_HANDS + +#define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 } + +#define RGBLIGHT_MAX_BRIGHTNESS 60 + +#undef DEBOUNCE +#define DEBOUNCE 10 + +#define SOLENOID_PIN F1 +#define SOLENOID_DEFAULT_DWELL 8 + +#define OLED_DISPLAY_128X64 +#define OLED_BRIGHTNESS 50 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c new file mode 100644 index 000000000000..81de8b28947b --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c @@ -0,0 +1,409 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "drashna.h" + +enum tractyl_keycodes { + KC_ACCEL = NEW_SAFE_RANGE, +}; + +bool enable_acceleration = false; +// clang-format off +#define LAYOUT_5x6_right_wrapper(...) LAYOUT_5x6_right(__VA_ARGS__) +#define LAYOUT_5x6_right_base( \ + K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \ + K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ + ) \ + LAYOUT_5x6_right_wrapper( \ + KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, UC_IRNY, \ + SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ + LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ + OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ + OS_LALT, OS_LGUI, OS_RGUI, OS_RALT, \ + KC_MUTE, KC_GRV, KC_BTN3, \ + KC_SPC, OS_LGUI, KC_ENT, \ + BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \ + ) +#define LAYOUT_base_wrapper(...) LAYOUT_5x6_right_base(__VA_ARGS__) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper( + _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, + _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, + _________________QWERTY_L3_________________, _________________QWERTY_R3_________________ + ), + + [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper( + ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________, + ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________, + ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________ + ), + [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper( + _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, + _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, + _________________COLEMAK_L3________________, _________________COLEMAK_R3________________ + ), + + [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper( + _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, + _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, + _________________DVORAK_L3_________________, _________________DVORAK_R3_________________ + ), + + [_MOUSE] = LAYOUT_5x6_right( + _______, _______, _______, _______, _______, _______, DPI_CONFIG, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, _______, + _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______, + _______, _______, _______, _______, + _______, _______, KC_BTN3, + _______, KC_ACCEL, _______, + _______, _______, _______, _______ + ), + [_GAMEPAD] = LAYOUT_5x6_right( + KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, DPI_CONFIG, _______, _______, _______, _______, _______, + KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______, + KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______, + KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_H, _______, _______, _______, _______, _______, _______, + KC_I, KC_T, TG_GAME, KC_NO, + KC_V, KC_O, _______, + KC_SPC, KC_P, _______, + KC_H, KC_LGUI, _______, _______ + ), + [_DIABLO] = LAYOUT_5x6_right( + KC_ESC, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, + KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, _______, _______, _______, _______, _______, _______, + KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, _______, _______, _______, _______, _______, _______, + KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, _______, _______, _______, _______, _______, _______, + KC_F, KC_L, KC_NO, TG_DBLO, + KC_DIABLO_CLEAR, KC_F, _______, + SFT_T(KC_SPC), KC_J, _______, + ALT_T(KC_Q), KC_LGUI, _______, _______ + ), + [_LOWER] = LAYOUT_5x6_right_wrapper( + KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, + _______, _________________LOWER_L1__________________, _________________LOWER_R1__________________, _______, + _______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, + _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______ + ), + [_RAISE] = LAYOUT_5x6_right_wrapper( + KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11, + KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______, + _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, + _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______ + ), + [_ADJUST] = LAYOUT_5x6_right_wrapper( + KC_MAKE, ___________________BLANK___________________, _________________ADJUST_R1_________________, KC_RST, + VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST, + UC_MOD, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS, + _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY, + HPT_DWLI, HPT_DWLD, TG_GAME, TG_DBLO, + HPT_TOG, HPT_BUZ, KC_NUKE, + _______, _______, _______, + _______, _______, KC_NUKE, _______ + ), +}; + +#define BASE_ENCODERS { { KC_VOLD, KC_VOLU }, { KC_WH_D, KC_WH_U } } + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [_DEFAULT_LAYER_1] = BASE_ENCODERS, + [_DEFAULT_LAYER_2] = BASE_ENCODERS, + [_DEFAULT_LAYER_3] = BASE_ENCODERS, + [_DEFAULT_LAYER_4] = BASE_ENCODERS, + [_GAMEPAD] = { { _______, _______ }, { _______, _______ } }, + [_DIABLO] = { { _______, _______ }, { _______, _______ } }, + [_MOUSE] = { { _______, _______ }, { KC_WH_D, KC_WH_U } }, + [_MEDIA] = { { _______, _______ }, { _______, _______ } }, + [_RAISE] = { { _______, _______ }, { KC_PGDN, KC_PGUP } }, + [_LOWER] = { { RGB_MOD, RGB_RMOD}, { RGB_HUD, RGB_HUI } }, + [_ADJUST] = { { CK_DOWN, CK_UP }, { _______, _______ } }, +}; +// clang-format on +#else +bool encoder_update_user(uint8_t index, bool clockwise) { +# ifdef SWAP_HANDS_ENABLE + if (swap_hands) { + index ^= 1; + } +# endif + if (index == 0) { + tap_code_delay(clockwise ? KC_VOLD : KC_VOLU, 5); + } else if (index == 1) { + tap_code_delay(clockwise ? KC_WH_D : KC_WH_U, 5); + } + return false; +} +#endif + +#ifdef POINTING_DEVICE_ENABLE +static uint16_t mouse_timer = 0; +static uint16_t mouse_debounce_timer = 0; +static uint8_t mouse_keycode_tracker = 0; +bool tap_toggling = false; + +# ifdef TAPPING_TERM_PER_KEY +# define TAP_CHECK get_tapping_term(KC_BTN1, NULL) +# else +# ifndef TAPPING_TERM +# define TAPPING_TERM 200 +# endif +# define TAP_CHECK TAPPING_TERM +# endif + +void process_mouse_user(report_mouse_t* mouse_report, int8_t x, int8_t y) { + if (x != 0 && y != 0) { + mouse_timer = timer_read(); +# ifdef OLED_ENABLE + oled_timer = timer_read32(); +# endif + if (timer_elapsed(mouse_debounce_timer) > TAP_CHECK) { + if (enable_acceleration) { + x = (x > 0 ? x * x / 16 + x : -x * x / 16 + x); + y = (y > 0 ? y * y / 16 + y : -y * y / 16 + y); + } + mouse_report->x = x; + mouse_report->y = y; + if (!layer_state_is(_MOUSE)) { + layer_on(_MOUSE); + } + } + } +} + +void matrix_scan_keymap(void) { + if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) { + layer_off(_MOUSE); + } + if (tap_toggling) { + if (!layer_state_is(_MOUSE)) { + layer_on(_MOUSE); + } + } +} + +bool process_record_keymap(uint16_t keycode, keyrecord_t* record) { + switch (keycode) { + case TT(_MOUSE): + if (record->event.pressed) { + mouse_keycode_tracker++; + } else { +# if TAPPING_TOGGLE != 0 + if (record->tap.count == TAPPING_TOGGLE) { + tap_toggling ^= 1; +# if TAPPING_TOGGLE == 1 + if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1; +# else + if (!tap_toggling) mouse_keycode_tracker -= record->tap.count; +# endif + } else { + mouse_keycode_tracker--; + } +# endif + } + mouse_timer = timer_read(); + break; + case TG(_MOUSE): + if (record->event.pressed) { + tap_toggling ^= 1; + } + break; + case MO(_MOUSE): + case DPI_CONFIG: + case KC_MS_UP ... KC_MS_WH_RIGHT: + record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; + mouse_timer = timer_read(); + case KC_ACCEL: + enable_acceleration = record->event.pressed; + break; + default: + if (IS_NOEVENT(record->event)) break; + if ((keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) && (((keycode >> 0x8) & 0xF) == _MOUSE)) { + record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--; + mouse_timer = timer_read(); + break; + } + if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) { + layer_off(_MOUSE); + } + mouse_keycode_tracker = 0; + mouse_debounce_timer = timer_read(); + break; + } + return true; +} + +layer_state_t layer_state_set_keymap(layer_state_t state) { + if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO)) { + state |= ((layer_state_t)1 << _MOUSE); + } + return state; +} +#endif + +#ifdef OLED_ENABLE +// WPM-responsive animation stuff here +# define SLEEP_FRAMES 2 +# define SLEEP_SPEED 10 // below this wpm value your animation will idle + +# define WAKE_FRAMES 2 // uncomment if >1 + +# define KAKI_FRAMES 3 +# define KAKI_SPEED 40 // above this wpm value typing animation to triggere + +# define RTOGI_FRAMES 2 +//#define LTOGI_FRAMES 2 + +//#define ANIM_FRAME_DURATION 500 // how long each frame lasts in ms +// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing +# define ANIM_SIZE 512 // number of bytes in array, minimize for adequate firmware size, max is 1024 + +uint32_t anim_timer = 0; +uint32_t anim_frame_duration = 500; +uint8_t current_sleep_frame = 0; +uint8_t current_wake_frame = 0; // uncomment if WAKE_FRAMES >1 +uint8_t current_kaki_frame = 0; +uint8_t current_rtogi_frame = 0; +// uint8_t current_ltogi_frame = 0; + +void render_kitty(void) { + // Images credit j-inc(/James Incandenza) and pixelbenny. Credit to obosob for initial animation approach. + static const char PROGMEM sleep[SLEEP_FRAMES][ANIM_SIZE] = {{ + // 'sleep1', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0xa8, 0x48, 0xa8, 0x18, 0x08, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x80, 0x44, 0x84, 0x06, 0x05, 0x04, 0x80, 0x40, 0x20, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x18, 0x04, 0x04, 0x02, 0x7a, 0x86, 0x01, 0x80, 0x80, 0x01, 0x03, 0x05, 0x07, 0x01, 0x00, 0x00, 0x80, 0x83, 0x45, 0xfa, 0x3c, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x33, 0x24, 0x28, 0x28, 0x29, 0x29, 0x29, 0x3a, 0x18, 0x1c, 0x39, 0x24, 0x24, 0x3a, 0x2d, 0x26, 0x31, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + {// 'sleep2', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x3a, 0x2a, 0x26, 0x22, 0x80, 0xc0, 0x80, 0x00, 0x24, 0x34, 0x2c, 0xe4, 0x60, 0x10, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x38, 0x04, 0x02, 0x02, 0x01, 0x79, 0x87, 0x01, 0x80, 0x81, 0x83, 0x05, 0x05, 0x03, 0x01, 0x00, 0x00, 0x80, 0x43, 0x05, 0xfa, 0x3c, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x33, 0x24, 0x28, 0x28, 0x28, 0x29, 0x29, 0x3a, 0x18, 0x1c, 0x39, 0x24, 0x24, 0x3a, 0x2d, 0x26, 0x31, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; + static const char PROGMEM wake[WAKE_FRAMES][ANIM_SIZE] = {{ + // 'mati2', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x08, 0x10, 0x60, 0x80, 0x00, 0x80, 0x60, 0x10, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x80, 0x40, 0x40, 0x5c, 0x00, 0x01, 0x41, 0x01, 0x00, 0x5c, 0x40, 0x40, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x80, 0xe1, 0x12, 0x0a, 0x06, 0x00, 0x80, 0x00, 0x06, 0x0a, 0x12, 0xe1, 0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x11, 0x10, 0x10, 0x14, 0x14, 0x1f, 0x1c, 0x14, 0x14, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + {// 'mati3', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x08, 0x10, 0x60, 0x80, 0x00, 0x80, 0x60, 0x10, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x90, 0x12, 0x0a, 0x02, 0xf4, 0x09, 0x0d, 0xf1, 0x04, 0x02, 0x0a, 0x12, 0x90, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x80, 0xe1, 0x12, 0x0a, 0x06, 0x01, 0x81, 0x00, 0x06, 0x0a, 0x12, 0xe1, 0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x11, 0x10, 0x10, 0x14, 0x14, 0x1f, 0x1c, 0x14, 0x14, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; + static const char PROGMEM kaki[KAKI_FRAMES][ANIM_SIZE] = {{ + // 'jare2', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x80, 0x80, 0x00, 0xfc, 0x84, 0x08, 0x08, 0x10, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, 0x60, 0x80, 0x00, 0x00, 0x91, 0xa1, 0x80, 0x00, 0x00, 0x22, 0x84, 0x40, 0x50, 0x48, 0xc1, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x41, 0x82, 0xe2, 0x12, 0x0a, 0x06, 0x00, 0x80, 0x88, 0x4f, 0x02, 0x22, 0xe2, 0x9f, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x14, 0x10, 0x10, 0x10, 0x10, 0x10, 0x14, 0x14, 0x1f, 0x1a, 0x0a, 0x0a, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + // 'kaki1', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x1a, 0x22, 0xc2, 0x04, 0x04, 0x04, 0x07, 0x00, 0xc0, 0x20, 0x10, 0x80, 0x80, 0x01, 0x01, 0x02, 0xfc, 0xfe, 0x02, 0x3c, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0d, 0x8d, 0x55, 0x50, 0x94, 0xf0, 0x10, 0x09, 0x08, 0x00, 0x80, 0x00, 0x06, 0x09, 0x1b, 0xee, 0x00, 0x00, 0x00, 0x00, 0x81, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x19, 0x18, 0x1c, 0x14, 0x16, 0x15, 0x14, 0x14, 0x14, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + {// 'kaki2', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x01, 0x02, 0x04, 0x04, 0x03, 0x80, 0x40, 0x40, 0x20, 0x00, 0x01, 0x02, 0x8c, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0d, 0x8d, 0x55, 0x50, 0x94, 0xf0, 0x10, 0x0a, 0x0e, 0x1d, 0x95, 0x24, 0x24, 0x27, 0x13, 0xe1, 0x01, 0x01, 0x01, 0x01, 0x02, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x14, 0x14, 0x10, 0x10, 0x11, 0x1f, 0x10, 0x10, 0x18, 0x0f, 0x18, 0x10, 0x10, 0x1f, 0x19, 0x18, 0x1c, 0x14, 0x14, 0x17, 0x14, 0x14, 0x14, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; + static const char PROGMEM rtogi[KAKI_FRAMES][ANIM_SIZE] = {{ + // 'rtogi1', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0x10, 0x08, 0x04, 0x02, 0x01, 0x0f, 0x90, 0x10, 0x20, 0xf0, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x48, 0x47, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0xc7, 0xc4, 0x62, 0x23, 0x11, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x40, 0x20, 0x10, 0x88, 0xcc, 0x43, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x80, 0x80, 0xc0, 0xe1, 0xfe, 0xb8, 0x88, 0x0c, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + {// 'rtogi2', 128x32px + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0x10, 0x08, 0x04, 0x02, 0x01, 0x1f, 0xa0, 0x20, 0x40, 0x80, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x48, 0x47, 0x88, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x28, 0x6b, 0x40, 0xa0, 0x99, 0x86, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0x11, 0x22, 0x44, 0x48, 0x4c, 0x43, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x80, 0x80, 0xc0, 0xe1, 0xfe, 0xb8, 0x88, 0x0c, 0x04, 0x06, 0x06, 0x06, 0x0e, 0x0e, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; + + // assumes 1 frame prep stage + extern bool swap_hands; + void animation_phase(void) { + if (swap_hands) { + anim_frame_duration = 300; + current_rtogi_frame = (current_rtogi_frame + 1) % RTOGI_FRAMES; + oled_write_raw_P(rtogi[abs((RTOGI_FRAMES - 1) - current_rtogi_frame)], ANIM_SIZE); + } else { + if (get_current_wpm() <= SLEEP_SPEED) { + anim_frame_duration = 500; + current_sleep_frame = (current_sleep_frame + 1) % SLEEP_FRAMES; + oled_write_raw_P(sleep[abs((SLEEP_FRAMES - 1) - current_sleep_frame)], ANIM_SIZE); + } + // if(get_current_wpm() >IDLE_SPEED && get_current_wpm() SLEEP_SPEED) { + anim_frame_duration = 800; + current_wake_frame = (current_wake_frame + 1) % WAKE_FRAMES; + oled_write_raw_P(wake[abs((WAKE_FRAMES - 1) - current_wake_frame)], ANIM_SIZE); + // oled_write_raw_P(wake[0], ANIM_SIZE); // remove if IDLE_FRAMES >1 + } + if (get_current_wpm() >= KAKI_SPEED) { + anim_frame_duration = 500; + current_kaki_frame = (current_kaki_frame + 1) % KAKI_FRAMES; + oled_write_raw_P(kaki[abs((KAKI_FRAMES - 1) - current_kaki_frame)], ANIM_SIZE); + } + } + } + if (get_current_wpm() != 000) { + // if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + if (timer_elapsed32(anim_timer) > anim_frame_duration) { + anim_timer = timer_read32(); + animation_phase(); + } + } else { + // if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + if (timer_elapsed32(anim_timer) > anim_frame_duration) { + anim_timer = timer_read32(); + animation_phase(); + } + } +} + +void oled_driver_render_logo_left(void) { + render_kitty(); + + oled_set_cursor(6, 0); + oled_write_P(PSTR(" Tractyl "), true); + oled_set_cursor(6, 1); + oled_write_P(PSTR(" Manuform "), true); + oled_set_cursor(6, 2); +# if defined(WPM_ENABLE) + render_wpm(1); +# endif + oled_set_cursor(6, 3); +# if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right) + render_pointing_dpi_status(0); +# endif + oled_set_cursor(0, 4); +} +#endif diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h new file mode 100644 index 000000000000..fb921079bfb9 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h @@ -0,0 +1,117 @@ +#pragma once + +#define RGBLIGHT_EFFECT_BREATHE_TABLE + +// clang-format off + +// Breathing center: 1.85 +// Breathing max: 100 + +const uint8_t PROGMEM rgblight_effect_breathe_table[] = { +#if RGBLIGHT_BREATHE_TABLE_SIZE == 256 + 0x0D, 0x0E, 0x0E, 0x0F, 0x0F, 0x10, 0x10, 0x11, + 0x11, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x16, + 0x16, 0x17, 0x18, 0x18, 0x19, 0x19, 0x1A, 0x1B, + 0x1B, 0x1C, 0x1D, 0x1E, 0x1E, 0x1F, 0x20, 0x20, + 0x21, 0x22, 0x22, 0x23, 0x24, 0x25, 0x25, 0x26, + 0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B, 0x2B, 0x2C, + 0x2D, 0x2E, 0x2E, 0x2F, 0x30, 0x31, 0x31, 0x32, + 0x33, 0x34, 0x34, 0x35, 0x36, 0x37, 0x38, 0x38, + 0x39, 0x3A, 0x3B, 0x3B, 0x3C, 0x3D, 0x3D, 0x3E, + 0x3F, 0x40, 0x40, 0x41, 0x42, 0x42, 0x43, 0x44, + 0x44, 0x45, 0x46, 0x46, 0x47, 0x48, 0x48, 0x49, + 0x4A, 0x4A, 0x4B, 0x4B, 0x4C, 0x4C, 0x4D, 0x4D, + 0x4E, 0x4E, 0x4F, 0x4F, 0x50, 0x50, 0x51, 0x51, + 0x51, 0x52, 0x52, 0x53, 0x53, 0x53, 0x54, 0x54, + 0x54, 0x54, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, + 0x56, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0x54, + 0x54, 0x54, 0x53, 0x53, 0x53, 0x52, 0x52, 0x51, + 0x51, 0x51, 0x50, 0x50, 0x4F, 0x4F, 0x4E, 0x4E, + 0x4D, 0x4D, 0x4C, 0x4C, 0x4B, 0x4B, 0x4A, 0x4A, + 0x49, 0x48, 0x48, 0x47, 0x46, 0x46, 0x45, 0x44, + 0x44, 0x43, 0x42, 0x42, 0x41, 0x40, 0x40, 0x3F, + 0x3E, 0x3D, 0x3D, 0x3C, 0x3B, 0x3B, 0x3A, 0x39, + 0x38, 0x38, 0x37, 0x36, 0x35, 0x34, 0x34, 0x33, + 0x32, 0x31, 0x31, 0x30, 0x2F, 0x2E, 0x2E, 0x2D, + 0x2C, 0x2B, 0x2B, 0x2A, 0x29, 0x28, 0x28, 0x27, + 0x26, 0x25, 0x25, 0x24, 0x23, 0x22, 0x22, 0x21, + 0x20, 0x20, 0x1F, 0x1E, 0x1E, 0x1D, 0x1C, 0x1B, + 0x1B, 0x1A, 0x19, 0x19, 0x18, 0x18, 0x17, 0x16, + 0x16, 0x15, 0x14, 0x14, 0x13, 0x13, 0x12, 0x11, + 0x11, 0x10, 0x10, 0x0F, 0x0F, 0x0E, 0x0E, 0x0D +#endif + +#if RGBLIGHT_BREATHE_TABLE_SIZE == 128 + 0x0D, 0x0E, 0x0F, 0x10, + 0x11, 0x13, 0x14, 0x15, + 0x16, 0x18, 0x19, 0x1A, + 0x1B, 0x1D, 0x1E, 0x20, + 0x21, 0x22, 0x24, 0x25, + 0x27, 0x28, 0x2A, 0x2B, + 0x2D, 0x2E, 0x30, 0x31, + 0x33, 0x34, 0x36, 0x38, + 0x39, 0x3B, 0x3C, 0x3D, + 0x3F, 0x40, 0x42, 0x43, + 0x44, 0x46, 0x47, 0x48, + 0x4A, 0x4B, 0x4C, 0x4D, + 0x4E, 0x4F, 0x50, 0x51, + 0x51, 0x52, 0x53, 0x54, + 0x54, 0x55, 0x55, 0x55, + 0x56, 0x56, 0x56, 0x56, + 0x56, 0x56, 0x56, 0x56, + 0x56, 0x55, 0x55, 0x54, + 0x54, 0x53, 0x53, 0x52, + 0x51, 0x50, 0x4F, 0x4E, + 0x4D, 0x4C, 0x4B, 0x4A, + 0x49, 0x48, 0x46, 0x45, + 0x44, 0x42, 0x41, 0x40, + 0x3E, 0x3D, 0x3B, 0x3A, + 0x38, 0x37, 0x35, 0x34, + 0x32, 0x31, 0x2F, 0x2E, + 0x2C, 0x2B, 0x29, 0x28, + 0x26, 0x25, 0x23, 0x22, + 0x20, 0x1F, 0x1E, 0x1C, + 0x1B, 0x19, 0x18, 0x17, + 0x16, 0x14, 0x13, 0x12, + 0x11, 0x10, 0x0F, 0x0E +#endif + +#if RGBLIGHT_BREATHE_TABLE_SIZE == 64 + 0x0D, 0x0F, + 0x11, 0x14, + 0x16, 0x19, + 0x1B, 0x1E, + 0x21, 0x24, + 0x27, 0x2A, + 0x2D, 0x30, + 0x33, 0x36, + 0x39, 0x3C, + 0x3F, 0x42, + 0x44, 0x47, + 0x4A, 0x4C, + 0x4E, 0x50, + 0x51, 0x53, + 0x54, 0x55, + 0x56, 0x56, + 0x56, 0x56, + 0x56, 0x55, + 0x54, 0x53, + 0x51, 0x4F, + 0x4D, 0x4B, + 0x49, 0x46, + 0x44, 0x41, + 0x3E, 0x3B, + 0x38, 0x35, + 0x32, 0x2F, + 0x2C, 0x29, + 0x26, 0x23, + 0x20, 0x1E, + 0x1B, 0x18, + 0x16, 0x13, + 0x11, 0x0F +#endif +}; + +static const int table_scale = 256 / sizeof(rgblight_effect_breathe_table); diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk new file mode 100644 index 000000000000..9b9032837ed1 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk @@ -0,0 +1,14 @@ +RGBLIGHT_ENABLE = yes +RGBLIGHT_STARTUP_ANIMATION = yes +AUDIO_ENABLE = yes +HAPTIC_ENABLE = no +COMMAND_ENABLE = no +TAP_DANCE_ENABLE = yes +UNICODE_ENABLE = yes +OLED_ENABLE = yes +WPM_ENABLE = yes +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes +# DEBOUNCE_TYPE = sym_eager_pk + +LTO_SUPPORTED = no diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/readme.md b/keyboards/handwired/tractyl_manuform/5x6_right/readme.md new file mode 100644 index 000000000000..bfb142347cfd --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/readme.md @@ -0,0 +1,21 @@ +# Drashna's Tractyl Manuform (5x6) with a right side trackball + +![](https://preview.redd.it/zwt91036m3y51.jpg?width=960&crop=smart&auto=webp&s=e030deb7d8285c95a1a30c69a7e7a71f750e87bb) + +It's a Tractyl Manuform with an integrated thumb based trackball, using the pmw3360 optical sensor. + +It's powered by 2x Teensy++ 2.0's, using Drashna's [Teensy VBUS Hack](https://docs.qmk.fm/#/feature_split_keyboard?id=hardware-considerations-and-mods) for better detection. + + +* Keyboard Maintainer: [Drashna Jael're](https://github.com/drashna) +* Hardware Supported: [Design files](https://gitlab.com/keyboards1/dm_r_track/-/tree/master/boolean), [Teensy++ 2.0 (2x)](https://www.pjrc.com/store/teensypp.html), [PMW3360 Optical Sensor](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/) + +Make example for this keyboard (after setting up your build environment): + + make handwired/tractyl_manuform/5x6_right:default + +Flashing example for this keyboard: + + make handwired/tractyl_manuform/5x6_right: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). diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk new file mode 100644 index 000000000000..8a69f2b287eb --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk @@ -0,0 +1,27 @@ +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = yes # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output +SWAP_HANDS_ENABLE = yes + +POINTING_DEVICE_ENABLE = yes +MOUSE_SHARED_EP = no + +SPLIT_KEYBOARD = yes + +SRC += drivers/sensors/pmw3360.c +QUANTUM_LIB_SRC += spi_master.c tm_sync.c + +DEFAULT_FOLDER = handwired/tractyl_manuform/5x6_right/teensy2pp diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h new file mode 100644 index 000000000000..2391020598af --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h @@ -0,0 +1,54 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 PRODUCT Tractyl Manuform(5x6) Teensy 2.0 ++ + +// wiring of each half +#define MATRIX_COL_PINS \ + { C0, C1, C2, C3, C4, C5 } +#define MATRIX_ROW_PINS \ + { F7, F6, F5, F4, F3, F2 } + +#define DIODE_DIRECTION COL2ROW + +// WS2812 RGB LED strip input and number of LEDs +#define RGB_DI_PIN E7 +#define RGBLED_NUM 20 +#define RGBLIGHT_SPLIT +#define RGBLED_SPLIT \ + { 10, 10 } +#define RGBLIGHT_LIMIT_VAL 80 + +#define DEBUG_LED_PIN D6 + +#define AUDIO_PIN C6 +#define AUDIO_PIN_ALT B7 + +/* serial.c configuration for split keyboard */ +#define SOFT_SERIAL_PIN D2 +#define EE_HANDS + +#define ENCODERS_PAD_A \ + { D5 } +#define ENCODERS_PAD_B \ + { D4 } + +/* PMW3360 Settings */ +#define PMW3360_CS_PIN B0 diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/rules.mk new file mode 100644 index 000000000000..149471682dfb --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/rules.mk @@ -0,0 +1,5 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = halfkay diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/teensy2pp.h b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/teensy2pp.h new file mode 100644 index 000000000000..525b0378b46f --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/teensy2pp.h @@ -0,0 +1,19 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "5x6_right.h" diff --git a/keyboards/handwired/tractyl_manuform/config.h b/keyboards/handwired/tractyl_manuform/config.h new file mode 100644 index 000000000000..ec67cff1ae06 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/config.h @@ -0,0 +1,45 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x44DD +#define MANUFACTURER Drashna + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +#define USB_POLLING_INTERVAL_MS 1 + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#define SPLIT_TRANSACTION_IDS_KB RPC_ID_KB_CONFIG_SYNC, RPC_ID_POINTER_STATE_SYNC diff --git a/keyboards/handwired/tractyl_manuform/post_config.h b/keyboards/handwired/tractyl_manuform/post_config.h new file mode 100644 index 000000000000..c48518ddd300 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/post_config.h @@ -0,0 +1,96 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 + +// mouse config +#ifdef MOUSEKEY_ENABLE +# ifndef MOUSEKEY_MOVE_DELTA +# ifndef MK_KINETIC_SPEED +# define MOUSEKEY_MOVE_DELTA 5 +# else +# define MOUSEKEY_MOVE_DELTA 25 +# endif +# endif +# ifndef MOUSEKEY_DELAY +# ifndef MK_KINETIC_SPEED +# define MOUSEKEY_DELAY 300 +# else +# define MOUSEKEY_DELAY 8 +# endif +# endif +# ifndef MOUSEKEY_INTERVAL +# ifndef MK_KINETIC_SPEED +# define MOUSEKEY_INTERVAL 50 +# else +# define MOUSEKEY_INTERVAL 20 +# endif +# endif +# ifndef MOUSEKEY_MAX_SPEED +# define MOUSEKEY_MAX_SPEED 7 +# endif +# ifndef MOUSEKEY_TIME_TO_MAX +# define MOUSEKEY_TIME_TO_MAX 60 +# endif +# ifndef MOUSEKEY_INITIAL_SPEED +# define MOUSEKEY_INITIAL_SPEED 100 +# endif +# ifndef MOUSEKEY_BASE_SPEED +# define MOUSEKEY_BASE_SPEED 1000 +# endif +# ifndef MOUSEKEY_DECELERATED_SPEED +# define MOUSEKEY_DECELERATED_SPEED 400 +# endif +# ifndef MOUSEKEY_ACCELERATED_SPEED +# define MOUSEKEY_ACCELERATED_SPEED 3000 +# endif + +// mouse scroll config +# ifndef MOUSEKEY_WHEEL_DELAY +# define MOUSEKEY_WHEEL_DELAY 15 +# endif +# ifndef MOUSEKEY_WHEEL_DELTA +# define MOUSEKEY_WHEEL_DELTA 1 +# endif +# ifndef MOUSEKEY_WHEEL_INTERVAL +# define MOUSEKEY_WHEEL_INTERVAL 50 +# endif +# ifndef MOUSEKEY_WHEEL_MAX_SPEED +# define MOUSEKEY_WHEEL_MAX_SPEED 8 +# endif +# ifndef MOUSEKEY_WHEEL_TIME_TO_MAX +# define MOUSEKEY_WHEEL_TIME_TO_MAX 80 +# endif + +# ifndef MOUSEKEY_WHEEL_INITIAL_MOVEMENTS +# define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 8 +# endif +# ifndef MOUSEKEY_WHEEL_BASE_MOVEMENTS +# define MOUSEKEY_WHEEL_BASE_MOVEMENTS 48 +# endif +# ifndef MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS +# define MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48 +# endif +# ifndef MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS +# define MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8 +# endif +#endif + +#ifndef DEBOUNCE +# define DEBOUNCE 5 +#endif diff --git a/keyboards/handwired/tractyl_manuform/readme.md b/keyboards/handwired/tractyl_manuform/readme.md new file mode 100644 index 000000000000..3221da0e9db4 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/readme.md @@ -0,0 +1,159 @@ +Dactyl Manuform (4x5, 5x6, 5x7, 6x6) +====== +the [Dactyl-Manuform](https://github.com/tshort/dactyl-keyboard) is a split curved keyboard based on the design of [adereth dactyl](https://github.com/adereth/dactyl-keyboard) and thumb cluster design of the [manuform](https://geekhack.org/index.php?topic=46015.0) keyboard, the hardware is similar to the let's split keyboard. all information needed for making one is in the first link. +![Imgur](https://i.imgur.com/7y0Vbyd.jpg) + + +## First Time Setup + +Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using: + +Depending on your Layout chose one of the follwing commands: + +``` +$ make handwired/dactyl_manuform/YOUR_LAYOUT:YOUR_KEYMAP_NAME +``` + +example: +``` +$ make handwired/dactyl_manuform/4x5:default +``` + +If everything worked correctly you will see a file: + +``` +dactyl_manuform_YOUR_LAYOUT_YOUR_KEYMAP_NAME.hex +``` + +For more information on customizing keymaps, take a look at the primary documentation for [Customizing Your Keymap](/docs/faq_keymap.md) in the main readme.md. + + +## Keymaps + +### [Keymaps 4x5](/keyboards/handwired/dactyl_manuform/4x5/keymaps/) + +#### Default +Simple QWERTY layout with 3 Layers. +#### Dvorak + +### [Keymaps 5x6](/keyboards/handwired/dactyl_manuform/5x6/keymaps/) + +#### Default +Just a copy of the Impstyle keymap. Feel free to adjust it. + +#### Impstyle +A simple QWERTY keymap with 3 Layers. Both sides are connected via serial and the Left ist the master. + +### [Keymaps 5x7 aka almost Ergodox](/keyboards/handwired/dactyl_manuform/5x7/keymaps/) +#### Default +Keymap of Loligagger from geekhack. + +### [Keymaps 6x6](/keyboards/handwired/dactyl_manuform/6x6/keymaps/) + +#### Default +Simple QWERTY layout with 3 Layers. + +## Required Hardware + +Apart from diodes and key switches for the keyboard matrix in each half, you +will need: + +* 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each. +* 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable + +Alternatively, you can use any sort of cable and socket that has at least 3 +wires. If you want to use I2C to communicate between halves, you will need a +cable with at least 4 wires and 2x 4.7kΩ pull-up resistors + +## Optional Hardware +A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`. + +## Wiring + +The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e. +PD0 on the ATmega32u4) between the two Pro Micros. + +Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro +and modify the `matrix.c` accordingly. + +The wiring for serial: + +![serial wiring](https://i.imgur.com/C3D1GAQ.png) + +The wiring for i2c: + +![i2c wiring](https://i.imgur.com/Hbzhc6E.png) + +The pull-up resistors may be placed on either half. It is also possible +to use 4 resistors and have the pull-ups in both halves, but this is +unnecessary in simple use cases. + +You can change your configuration between serial and i2c by modifying your `config.h` file. + +## Notes on Software Configuration + +the keymaps in here are for the 4x5 layout of the keyboard only. + +## Flashing + +To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing) + + +## Choosing which board to plug the USB cable into (choosing Master) + +Because the two boards are identical, the firmware has logic to differentiate the left and right board. + +It uses two strategies to figure things out: looking at the EEPROM (memory on the chip) or looking if the current board has the usb cable. + +The EEPROM approach requires additional setup (flashing the eeprom) but allows you to swap the usb cable to either side. + +The USB cable approach is easier to setup and if you just want the usb cable on the left board, you do not need to do anything extra. + +### Setting the left hand as master + +If you always plug the usb cable into the left board, nothing extra is needed as this is the default. Comment out `EE_HANDS` and comment out `I2C_MASTER_RIGHT` or `MASTER_RIGHT` if for some reason it was set. + +### Setting the right hand as master + +If you always plug the usb cable into the right board, add an extra flag to your `config.h` +``` + #define MASTER_RIGHT +``` + +### Setting EE_hands to use either hands as master + +If you define `EE_HANDS` in your `config.h`, you will need to set the +EEPROM for the left and right halves. + +The EEPROM is used to store whether the +half is left handed or right handed. This makes it so that the same firmware +file will run on both hands instead of having to flash left and right handed +versions of the firmware to each half. To flash the EEPROM file for the left +half run: +``` +make handwired/dactyl_promicro:default:dfu-split-left +make handwired/dactyl_promicro:default:dfu-split-right +``` + +After you have flashed the EEPROM, you then need to set `EE_HANDS` in your config.h, rebuild the hex files and reflash. + +Note that you need to program both halves, but you have the option of using +different keymaps for each half. You could program the left half with a QWERTY +layout and the right half with a Colemak layout using bootmagic's default layout option. +Then if you connect the left half to a computer by USB the keyboard will use QWERTY and Colemak when the +right half is connected. + + +Notes on Using Pro Micro 3.3V +----------------------------- + +Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects +the frequency on the 3.3V board. + +Also, if the slave board is producing weird characters in certain columns, +update the following line in `matrix.c` to the following: + +``` +// wait_us(30); // without this wait read unstable value. +wait_us(300); // without this wait read unstable value. +``` diff --git a/keyboards/handwired/tractyl_manuform/tm_sync.c b/keyboards/handwired/tractyl_manuform/tm_sync.c new file mode 100644 index 000000000000..1cb3549469c2 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/tm_sync.c @@ -0,0 +1,87 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "tractyl_manuform.h" +#include "transactions.h" +#include +#include "drivers/sensors/pmw3360.h" + +kb_config_data_t kb_config; +kb_mouse_report_t sync_mouse_report; + +void kb_pointer_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { + if (target2initiator_buffer_size == sizeof(sync_mouse_report)) { + memcpy(target2initiator_buffer, &sync_mouse_report, sizeof(sync_mouse_report)); + } + sync_mouse_report.x = 0; + sync_mouse_report.y = 0; +} + +void kb_config_sync_handler(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { + if (initiator2target_buffer_size == sizeof(kb_config)) { + memcpy(&kb_config, initiator2target_buffer, sizeof(kb_config)); + } + + static uint16_t cpi = 0; + // Check if the state values are different + if (cpi != kb_config.device_cpi) { + cpi = kb_config.device_cpi; + } +} + +void keyboard_pre_init_sync(void) { + memset(&kb_config, 0, sizeof(kb_config)); + memset(&sync_mouse_report, 0, sizeof(sync_mouse_report)); +} + +void keyboard_post_init_sync(void) { + // Register keyboard state sync split transaction + transaction_register_rpc(RPC_ID_KB_CONFIG_SYNC, kb_config_sync_handler); + transaction_register_rpc(RPC_ID_POINTER_STATE_SYNC, kb_pointer_sync_handler); +} + +void housekeeping_task_sync(void) { + if (is_keyboard_master()) { + // Keep track of the last state, so that we can tell if we need to propagate to slave + static kb_config_data_t last_kb_config; + static uint32_t last_sync = 0; + bool needs_sync = false; + + // Check if the state values are different + if (memcmp(&kb_config, &last_kb_config, sizeof(kb_config))) { + needs_sync = true; + memcpy(&last_kb_config, &kb_config, sizeof(kb_config)); + } + // Send to slave every 500ms regardless of state change + if (timer_elapsed32(last_sync) > 500) { + needs_sync = true; + } + + // Perform the sync if requested + if (needs_sync) { + if (transaction_rpc_send(RPC_ID_KB_CONFIG_SYNC, sizeof(kb_config), &kb_config)) { + last_sync = timer_read32(); + } + } + } +} + +void trackball_set_cpi(uint16_t cpi) { + kb_config.device_cpi = cpi; + if (!is_keyboard_left()) { + pmw_set_cpi(cpi); + } +} diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.c b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c new file mode 100644 index 000000000000..d851528ffb68 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c @@ -0,0 +1,213 @@ +/* Copyright 2020 Christopher Courtney (@drashna) + * + * 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 "tractyl_manuform.h" +#include "transactions.h" +#include +#include "drivers/sensors/pmw3360.h" + +#ifndef TRACKBALL_DPI_OPTIONS +# define TRACKBALL_DPI_OPTIONS \ + { 1200, 1600, 2400 } +# ifndef TRACKBALL_DPI_DEFAULT +# define TRACKBALL_DPI_DEFAULT 1 +# endif +#endif +#ifndef TRACKBALL_DPI_DEFAULT +# define TRACKBALL_DPI_DEFAULT 0 +#endif + +keyboard_config_t keyboard_config; +uint16_t dpi_array[] = TRACKBALL_DPI_OPTIONS; +#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t)) + +bool BurstState = false; // init burst state for Trackball module +uint16_t MotionStart = 0; // Timer for accel, 0 is resting state + +__attribute__((weak)) void process_mouse_user(report_mouse_t* mouse_report, int8_t x, int8_t y) { + mouse_report->x = x; + mouse_report->y = y; +} + +__attribute__((weak)) void process_mouse(void) { + report_pmw_t data = pmw_read_burst(); + // Reset timer if stopped moving + if (!data.isMotion) { + if (MotionStart != 0) MotionStart = 0; + return; + } + + if (data.isOnSurface) { + // Set timer if new motion + if (MotionStart == 0) { + if (debug_mouse) dprintf("Starting motion.\n"); + MotionStart = timer_read(); + } + + if (debug_mouse) { + dprintf("Delt] d: %d t: %u\n", abs(data.dx) + abs(data.dy), MotionStart); + } + if (debug_mouse) { + dprintf("Pre ] X: %d, Y: %d\n", data.dx, data.dy); + } +#if defined(PROFILE_LINEAR) + float scale = float(timer_elaspsed(MotionStart)) / 1000.0; + data.dx *= scale; + data.dy *= scale; +#elif defined(PROFILE_INVERSE) + // TODO +#else + // no post processing +#endif + + // Wrap to HID size + data.dx = constrain(data.dx, -127, 127); + data.dy = constrain(data.dy, -127, 127); + if (debug_mouse) dprintf("Cons] X: %d, Y: %d\n", data.dx, data.dy); + // dprintf("Elapsed:%u, X: %f Y: %\n", i, pgm_read_byte(firmware_data+i)); + + sync_mouse_report.x = -data.dx; + sync_mouse_report.y = data.dy; + } +} + +bool process_record_kb(uint16_t keycode, keyrecord_t* record) { + if (!process_record_user(keycode, record)) { + return false; + } + +#ifdef POINTING_DEVICE_ENABLE + if (keycode == DPI_CONFIG && record->event.pressed) { + if ((get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT) { + keyboard_config.dpi_config = (keyboard_config.dpi_config - 1) % DPI_OPTION_SIZE; + } else { + keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE; + } + eeconfig_update_kb(keyboard_config.raw); + trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); + } +#endif + +/* If Mousekeys is disabled, then use handle the mouse button + * keycodes. This makes things simpler, and allows usage of + * the keycodes in a consistent manner. But only do this if + * Mousekeys is not enable, so it's not handled twice. + */ +#ifndef MOUSEKEY_ENABLE + if (IS_MOUSEKEY_BUTTON(keycode)) { + report_mouse_t currentReport = pointing_device_get_report(); + if (record->event.pressed) { + currentReport.buttons |= 1 << (keycode - KC_MS_BTN1); + } else { + currentReport.buttons &= ~(1 << (keycode - KC_MS_BTN1)); + } + pointing_device_set_report(currentReport); + pointing_device_send(); + } +#endif + + return true; +} +__attribute__((weak)) void keyboard_pre_init_sync(void) {} +void keyboard_pre_init_kb(void) { + // debug_enable = true; + // debug_matrix = true; + // debug_mouse = true; + // debug_encoder = true; + + // This is the debug LED. +#if defined(DEBUG_LED_PIN) + setPinOutput(DEBUG_LED_PIN); + writePin(DEBUG_LED_PIN, !debug_enable); +#endif + + keyboard_pre_init_sync(); + keyboard_pre_init_user(); +} + +__attribute__((weak)) void keyboard_post_init_sync(void) {} +void keyboard_post_init_kb(void) { + keyboard_post_init_sync(); + keyboard_post_init_user(); +} + +#ifdef POINTING_DEVICE_ENABLE +void pointing_device_init(void) { + if (!is_keyboard_left()) { + // initialize ball sensor + pmw_spi_init(); + } + trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); +} + +void pointing_device_task(void) { + report_mouse_t mouse_report = pointing_device_get_report(); + + if (is_keyboard_left()) { + if (is_keyboard_master()) { + transaction_rpc_recv(RPC_ID_POINTER_STATE_SYNC, sizeof(sync_mouse_report), &sync_mouse_report); + process_mouse_user(&mouse_report, sync_mouse_report.x, sync_mouse_report.y); + } + } else { + process_mouse(); + if (is_keyboard_master()) { + process_mouse_user(&mouse_report, sync_mouse_report.x, sync_mouse_report.y); + sync_mouse_report.x = 0; + sync_mouse_report.y = 0; + } + } + + pointing_device_set_report(mouse_report); + pointing_device_send(); +} +#endif + +void eeconfig_init_kb(void) { + keyboard_config.dpi_config = TRACKBALL_DPI_DEFAULT; +#ifdef POINTING_DEVICE_ENABLE + trackball_set_cpi(dpi_array[keyboard_config.dpi_config]); +#endif + eeconfig_update_kb(keyboard_config.raw); + eeconfig_init_user(); +} + +__attribute__((weak)) void matrix_init_sub_kb(void) {} +void matrix_init_kb(void) { + // is safe to just read DPI setting since matrix init + // comes before pointing device init. + keyboard_config.raw = eeconfig_read_kb(); + if (keyboard_config.dpi_config > DPI_OPTION_SIZE) { + eeconfig_init_kb(); + } + matrix_init_sub_kb(); + matrix_init_user(); +} + +__attribute__((weak)) void matrix_scan_sub_kb(void) {} +void matrix_scan_kb(void) { + matrix_scan_sub_kb(); + matrix_scan_user(); +} + +__attribute__((weak)) void housekeeping_task_sync(void) {} +void housekeeping_task_kb(void) { + housekeeping_task_sync(); + // no need for user function, is called already +} + +#ifdef POINTING_DEVICE_ENABLE +void matrix_power_up(void) { pointing_device_task(); } +#endif diff --git a/keyboards/handwired/tractyl_manuform/tractyl_manuform.h b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h new file mode 100644 index 000000000000..f6a6c0752043 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h @@ -0,0 +1,61 @@ +/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * 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 "quantum.h" +#include "pointing_device.h" + +#if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right) +# include "5x6_right.h" +#elif defined(KEYBOARD_handwired_tractyl_manuform_4x6_right) +# include "4x6_right.h" +#endif + +typedef union { + uint32_t raw; + struct { + uint8_t dpi_config; + }; +} keyboard_config_t; + +extern keyboard_config_t keyboard_config; + +enum ploopy_keycodes { + DPI_CONFIG = SAFE_RANGE, + KEYMAP_SAFE_RANGE, +}; + +typedef struct { + uint16_t device_cpi; +} kb_config_data_t; + +__attribute__((aligned(16))) typedef struct { + int8_t x; + int8_t y; +} kb_mouse_report_t; + +extern kb_mouse_report_t sync_mouse_report; + +void process_mouse(void); +void process_mouse_user(report_mouse_t* mouse_report, int8_t x, int8_t y); +void trackball_set_cpi(uint16_t cpi); +void matrix_init_sub_kb(void); +void matrix_scan_sub_kb(void); + +void keyboard_pre_init_sync(void); +void keyboard_post_init_sync(void); +void housekeeping_task_sync(void); diff --git a/keyboards/handwired/traveller/config.h b/keyboards/handwired/traveller/config.h index fbc05b59ccbf..2e3767e0cdcc 100644 --- a/keyboards/handwired/traveller/config.h +++ b/keyboards/handwired/traveller/config.h @@ -15,21 +15,20 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef CONFIG_H -#define CONFIG_H +#pragma once #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER You -#define PRODUCT traveller +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER You +#define PRODUCT traveller /* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 13 +#define MATRIX_ROWS 4 +#define MATRIX_COLS 13 /* * Keyboard Matrix Assignments @@ -40,26 +39,45 @@ along with this program. If not, see . * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) * -*/ + */ #define MATRIX_ROW_PINS { D0, D1, D3, D2 } - // no I can't say why this order seemed like a good idea #define MATRIX_COL_PINS { B5, D6, B7, B6, F6, B1, B3, F7, B4, E6, D7, C6, D4 } #define UNUSED_PINS -// LED stuff -#define RGB_DI_PIN B2 -//#define RBLIGHT_TIMER -#define RGBLED_NUM 1 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW - -// #define BACKLIGHT_PIN B7 -// #define BACKLIGHT_BREATHING -// #define BACKLIGHT_LEVELS 3 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_BREATHING +//#define BACKLIGHT_LEVELS 3 + +#define RGB_DI_PIN B2 +#ifdef RGB_DI_PIN +# define RGBLED_NUM 1 +# define RGBLIGHT_HUE_STEP 10 +# define RGBLIGHT_SAT_STEP 17 +# define RGBLIGHT_VAL_STEP 17 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 @@ -67,14 +85,16 @@ along with this program. If not, see . /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST -/* number of backlight levels */ -#define BACKLIGHT_LEVELS 3 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ //#define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + /* * Force NKRO * @@ -96,54 +116,6 @@ along with this program. If not, see . */ //#define FORCE_NKRO -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP1 H -//#define MAGIC_KEY_HELP2 SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0_ALT1 ESC -//#define MAGIC_KEY_LAYER0_ALT2 GRAVE -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER PAUSE -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - /* * Feature disable options * These options are also useful to firmware size reduction. @@ -159,7 +131,11 @@ along with this program. If not, see . //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION -#endif +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/handwired/traveller/info.json b/keyboards/handwired/traveller/info.json index 0a13fab77a7d..4de448d2294e 100644 --- a/keyboards/handwired/traveller/info.json +++ b/keyboards/handwired/traveller/info.json @@ -1,65 +1,69 @@ { - "keyboard_name": "traveller", + "keyboard_name": "Traveller", "url": "", "maintainer": "qmk", - "width": 1, - "height": 1, + "width": 15, + "height": 5.2, "layouts": { - "KEYMAP": { + "LAYOUT": { "layout": [ - {"x":0, "y":0}, - {"x":1, "y":0}, - {"x":2, "y":0}, - {"x":3, "y":0}, - {"x":4, "y":0}, - {"x":5, "y":0}, - {"x":7, "y":0}, - {"x":8, "y":0}, - {"x":9, "y":0}, - {"x":10, "y":0}, - {"x":11, "y":0}, - {"x":12, "y":0}, + {"x": 0, "y": 1.2}, + {"x": 1, "y": 0.8}, + {"x": 2, "y": 0.4}, + {"x": 3, "y": 0}, + {"x": 4, "y": 0.4}, + {"x": 5, "y": 0.8}, - {"x":0, "y":1}, - {"x":1, "y":1}, - {"x":2, "y":1}, - {"x":3, "y":1}, - {"x":4, "y":1}, - {"x":5, "y":1}, - {"x":7, "y":1}, - {"x":8, "y":1}, - {"x":9, "y":1}, - {"x":10, "y":1}, - {"x":11, "y":1}, - {"x":12, "y":1}, + {"x": 9, "y": 0.8}, + {"x": 10, "y": 0.4}, + {"x": 11, "y": 0}, + {"x": 12, "y": 0.4}, + {"x": 13, "y": 0.8}, + {"x": 14, "y": 1.2}, - {"x":0, "y":2}, - {"x":1, "y":2}, - {"x":2, "y":2}, - {"x":3, "y":2}, - {"x":4, "y":2}, - {"x":5, "y":2}, - {"x":6, "y":2}, - {"x":7, "y":2}, - {"x":8, "y":2}, - {"x":9, "y":2}, - {"x":10, "y":2}, - {"x":11, "y":2}, - {"x":12, "y":2}, + {"x": 0, "y": 2.2}, + {"x": 1, "y": 1.8}, + {"x": 2, "y": 1.4}, + {"x": 3, "y": 1}, + {"x": 4, "y": 1.4}, + {"x": 5, "y": 1.8}, - {"x":0, "y":3}, - {"x":1, "y":3}, - {"x":2, "y":3}, - {"x":3, "y":3}, - {"x":4, "y":3}, - {"x":5, "y":3}, - {"x":6, "y":3}, - {"x":7, "y":3}, - {"x":8, "y":3}, - {"x":9, "y":3}, - {"x":10, "y":3}, - {"x":11, "y":3}, - {"x":12, "y":3} + {"x": 9, "y": 1.8}, + {"x": 10, "y": 1.4}, + {"x": 11, "y": 1}, + {"x": 12, "y": 1.4}, + {"x": 13, "y": 1.8}, + {"x": 14, "y": 2.2}, + + {"x": 0, "y": 3.2}, + {"x": 1, "y": 2.8}, + {"x": 2, "y": 2.4}, + {"x": 3, "y": 2}, + {"x": 4, "y": 2.4}, + {"x": 5, "y": 2.8}, + + {"x": 9, "y": 2.8}, + {"x": 10, "y": 2.4}, + {"x": 11, "y": 2}, + {"x": 12, "y": 2.4}, + {"x": 13, "y": 2.8}, + {"x": 14, "y": 3.2}, + + {"x": 0, "y": 4.2}, + {"x": 1, "y": 3.8}, + {"x": 2, "y": 3.4}, + {"x": 3, "y": 3}, + {"x": 4, "y": 3.4}, + {"x": 5, "y": 3.8}, + {"x": 6, "y": 3.05, "h": 1.5}, + + {"x": 8, "y": 3.05, "h": 1.5}, + {"x": 9, "y": 3.8}, + {"x": 10, "y": 3.4}, + {"x": 11, "y": 3}, + {"x": 12, "y": 3.4}, + {"x": 13, "y": 3.8}, + {"x": 14, "y": 4.2} ] } } diff --git a/keyboards/handwired/traveller/keymaps/default/keymap.c b/keyboards/handwired/traveller/keymaps/default/keymap.c index 4802b0534514..288acbe1082b 100644 --- a/keyboards/handwired/traveller/keymaps/default/keymap.c +++ b/keyboards/handwired/traveller/keymaps/default/keymap.c @@ -1,254 +1,228 @@ #include QMK_KEYBOARD_H #include "mousekey.h" -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -#define _QW 0 -#define _LW 1 -#define _HI 2 -#define _NAV 4 -#define _CUR 5 -#define _FKEYS 6 -#define _TRNS 8 - -// We do the same trick for functions -#define RGBLED_TOGGLE 10 -#define _HIOUT 15 -#define _LWOUT 16 +enum layer_names { + _QW, + _LW, + _HI, + _NAV, + _CUR, + _FKEYS, + _TRNS +}; enum custom_keycodes { - M_MUL = SAFE_RANGE, - M_MDL, - M_MDR, - M_MUR + M_MUL = SAFE_RANGE, + M_MDL, + M_MDR, + M_MUR }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwerty - * ,-----------------------------------------. .-----------------------------------------. - * | NAV | ` ~ | W | E | R | T | | Y | U | I | O | - | = | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | Tab | Q | S | D | F | G | | H | J | K | L | P | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------+------| - *|ctrl/esc| A | X | C | V | B |Ctrl /| N | M | , | . | ; | ' | - * |------+------+------+------+------+------+ // +------+------+------+------+------+------| - * | Shift| Z | Del | GUI | Low | Bspc |/Enter| Spc | Hi | GUI | Alt | / |Shift | - * `------------------------------------------------------------------------------------------' - * - */ -[_QW] = KEYMAP( - TG(_NAV), KC_GRV, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_MINS, KC_EQL, - KC_TAB, KC_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_P, KC_BSLS, - CTL_T(KC_ESC), KC_A, KC_X, KC_C, KC_V, KC_B, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SCLN, KC_QUOT, - KC_LSFT, KC_Z, KC_DEL, KC_LGUI, MO(_LW), KC_BSPC, KC_ENTER, KC_SPC, MO(_HI), KC_RGUI, KC_RALT, KC_SLSH, KC_RSFT - ), - -/* LOW - numbers, missing or awkward programming keys - Doubled 1 key allows lazy reach with ring finger. - * ,-----------------------------------------. .-----------------------------------------. - * | FKeys| 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |Ctrl-alt-del| - * |------+------+------+------+------+------| +------+------+------+------+------+------| - * | Tab | 1 | ] | ( | ) | | | * | ( | ) | [ | | | - * |------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Caps | [ | | { | } | ` | /| # | { | } | | ] | | - * |------+------+------+------+------+------+ // +------+------+------+------+------+------| - * | Shift| | | | Low | |/ | | Hi | | | |Shift | - * `------------------------------------------------------------------------------------------' - * - */ - -[_LW] = KEYMAP( - TG(_FKEYS), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LCTL(LALT(KC_DEL)) , - KC_TRNS, KC_1, KC_RBRC, KC_LPRN, KC_RPRN, KC_NO, KC_ASTR, KC_LPRN, KC_RPRN, KC_LBRC, KC_NO, KC_NO, - KC_CAPS, KC_LBRC, KC_NO, KC_LCBR, KC_RCBR, KC_TILD, KC_TRNS, KC_HASH, KC_LCBR, KC_RCBR, KC_NO, KC_RBRC, KC_NO, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -), - -/* HI - Punctuation, shell and -url ://@.com row on bottom, && is opposite || ^$ are in regex order: ^.*$ -Right hand nav keys work pretty well chorded with the Right hand Hi Key - * ,-----------------------------------------. .-----------------------------------------. - * |FKEYS | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | ! | & | "|" | $ | % | | Vol+| Mute| | | | | - * |------+------+------+------+------+------|------+------+------+------+------+------+------| - * | CAPS | ^ | : | . | * | - | /| Vol-| Play | PgUp | Home | Up | End | - * |------+------+------+------+------+------+ // +------+------+------+------+------+------| - * | | / | | | Low | |/ | | Hi | PgDn | Left| Down | Right | - * `------------------------------------------------------------------------------------------' - * - */ - -[_HI] = KEYMAP( - TG(_FKEYS),KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, - KC_TRNS, KC_EXLM, KC_AMPR, KC_PIPE, KC_DLR, KC_PERC, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, - KC_CAPS, KC_CIRC, KC_COLN, KC_DOT, KC_ASTR, KC_MINS, KC_TRNS, KC_VOLD, KC_PPLS, KC_PGUP, KC_HOME, KC_UP, KC_END, - KC_TRNS, KC_SLSH, KC_TRNS, KC_TRNS, TT(_LW), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT -), - -/* NAV - mouse & navigation -//gui left and right are line home/end, or fore & back in browser -// Mouse buttons are reversed for comfort - bigger stretch is to the right button. - - * ,-----------------------------------------. .-----------------------------------------. -* | NAV | | | Up | |Gui-> | | MwU | MS_UL| MS_U |MS_UR | |Ms Norm| -* |------+------+------+------+------+------| |------+------+------+------+------+--------| -* | |Gui<- | Left | Down |Right | C^E | | BTN3 | MS_L |MS Up | MS_R | |Ms Fast | -* |------+------+------+------+------+------|------|------+------+------+------+------+--------| -* | | C^A | GUI X| GUI C| GUI_V| |Enter/| MWD | M_DL |MS Dwn|MS_DR | Up |Ms Slow | -* |------+------+------+------+------+------+ // +------+------+------+------+------+------| -* | | GuiZ | | | Low | |/ButnR|ButnL | Hi | | Left | Down | Right | -* `------------------------------------------------------------------------------------------' -*/ - -[_NAV] = KEYMAP( - TG(_NAV), KC_NO, KC_NO, KC_UP, KC_NO, RGUI(KC_RIGHT), KC_WH_U, M_MUL, KC_MS_U, M_MUR, KC_NO, KC_ACL2, - KC_TRNS, RGUI(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_E), KC_BTN3, KC_MS_L, KC_MS_U, KC_MS_R, KC_NO, KC_ACL1, - KC_TRNS, LCTL(KC_A), LGUI(KC_X),RGUI(KC_C), RGUI(KC_V),KC_NO, KC_ENTER, KC_WH_D, M_MDL, KC_MS_D, M_MDR, KC_UP, KC_ACL0, - KC_TRNS, RGUI(KC_Z), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN2, KC_BTN1, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT -), - -/* FKEYS - Funtion keys & mac stuff - * ,-----------------------------------------. .-----------------------------------------. - * | FKEYS| F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | Ctrl | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | | | | | | | F11 | F12 | F13 | F14 | F15 | Alt | - * |------+------+------+------+------+------|------+------+------+------+------+------+------| - * |Qwerty| | | | | | /| | | | | | Del | - * |------+------+------+------+------+------+ // +------+------+------+------+------+------| - * | . |RGBTog| . | | LO | Bspc |/ | | HI | | | | | - * `------------------------------------------------------------------------------------------' - * - */ - -[_FKEYS] = KEYMAP( - TG(_FKEYS),KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_RCTL, - KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_LALT , - TO(_QW), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, - 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 -), - - -/* TRNS - skeleton for laters - * ,-----------------------------------------. .-----------------------------------------. - * | . | . | . | . | . | . | | ^ | & | * | ( | ) | | - * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | . | . | . | . | . | . | | 6 | 7 | 8 | 9 | 0 | | - * |------+------+------+------+------+------|------+------+------+------+------+------+------| - * | . | . | . | . | . | . | /| | | | . | ; | " | - * |------+------+------+------+------+------+ // +------+------+------+------+------+------| - * | . | . | . | GUI | LO | . |/ | Spc | HI | GUI | M0 | / |LSFT | - * `------------------------------------------------------------------------------------------' - * - */ - -[_TRNS] = { - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} - } - - + /* Qwerty + * ,-----------------------------------------. .-----------------------------------------. + * | NAV | ` ~ | W | E | R | T | | Y | U | I | O | - | = | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | Q | S | D | F | G | | H | J | K | L | P | \ | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |ctrl/esc| A | X | C | V | B | | N | M | , | . | ; | ' | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | Shift| Z | Del | GUI | Low | Bspc | Ctrl | Enter| Spc | Hi | GUI | Alt | / |Shift | + * `-------------------------------------------------------------------------------------------------' + */ + [_QW] = LAYOUT( + TG(_NAV), KC_GRV, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_MINS, KC_EQL, + KC_TAB, KC_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_P, KC_BSLS, + CTL_T(KC_ESC), KC_A, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_DEL, KC_LGUI, MO(_LW), KC_BSPC, KC_RCTL, KC_ENT, KC_SPC, MO(_HI), KC_RGUI, KC_RALT, KC_SLSH, KC_RSFT + ), + + /* LOW - numbers, missing or awkward programming keys + Doubled 1 key allows lazy reach with ring finger. + * ,-----------------------------------------. .-----------------------------------------. + * | FKeys| 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |Ctrl-alt-del| + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | 1 | ] | ( | ) | | | * | ( | ) | [ | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Caps | [ | | { | } | ` | | # | { | } | | ] | | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | Shift| | | | Low | | | | | Hi | | | |Shift | + * `-------------------------------------------------------------------------------------------------' + */ + [_LW] = LAYOUT( + TG(_FKEYS), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LCTL(LALT(KC_DEL)), + _______, KC_1, KC_RBRC, KC_LPRN, KC_RPRN, XXXXXXX, KC_ASTR, KC_LPRN, KC_RPRN, KC_LBRC, XXXXXXX, XXXXXXX, + KC_CAPS, KC_LBRC, XXXXXXX, KC_LCBR, KC_RCBR, KC_TILD, KC_HASH, KC_LCBR, KC_RCBR, XXXXXXX, KC_RBRC, XXXXXXX, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* HI - Punctuation, shell and + * url ://@.com row on bottom, && is opposite || ^$ are in regex order: ^.*$ + * Right hand nav keys work pretty well chorded with the Right hand Hi Key + * ,-----------------------------------------. .-----------------------------------------. + * |FKEYS | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | ! | & | "|" | $ | % | | Vol+| Mute| | | | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | CAPS | ^ | : | . | * | - | | Vol-| Play | PgUp | Home | Up | End | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | | / | | | Low | | | | | Hi | PgDn | Left | Down |Right | + * `-------------------------------------------------------------------------------------------------' + */ + [_HI] = LAYOUT( + TG(_FKEYS), KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, + _______, KC_EXLM, KC_AMPR, KC_PIPE, KC_DLR, KC_PERC, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + KC_CAPS, KC_CIRC, KC_COLN, KC_DOT, KC_ASTR, KC_MINS, KC_VOLD, KC_PPLS, KC_PGUP, KC_HOME, KC_UP, KC_END, + _______, KC_SLSH, _______, _______, TT(_LW), _______, _______, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* NAV - mouse & navigation + * gui left and right are line home/end, or fore & back in browser + * Mouse buttons are reversed for comfort - bigger stretch is to the right button. + * + * ,-----------------------------------------. .-----------------------------------------. + * | NAV | | | Up | |Gui-> | | MwU | MS_UL| MS_U |MS_UR | |MsNorm| + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | |Gui<- | Left | Down |Right | C^E | | BTN3 | MS_L |MS Up | MS_R | |MsFast| + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | C^A | GUI X| GUI C| GUI_V| | | MWD | M_DL |MS Dwn|MS_DR | Up |MsSlow| + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | | GuiZ | | | Low | |Enter | ButnR|ButnL | Hi | | Left | Down | Right| + * `-------------------------------------------------------------------------------------------------' + */ + [_NAV] = LAYOUT( + TG(_NAV), XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, RGUI(KC_RGHT), KC_WH_U, M_MUL, KC_MS_U, M_MUR, XXXXXXX, KC_ACL2, + _______, RGUI(KC_LEFT), KC_LEFT, KC_DOWN, KC_RGHT, LCTL(KC_E), KC_BTN3, KC_MS_L, KC_MS_U, KC_MS_R, XXXXXXX, KC_ACL1, + _______, LCTL(KC_A), LGUI(KC_X), RGUI(KC_C), RGUI(KC_V), XXXXXXX, KC_WH_D, M_MDL, KC_MS_D, M_MDR, KC_UP, KC_ACL0, + _______, RGUI(KC_Z), _______, _______, _______, _______, KC_ENT, KC_BTN2, KC_BTN1, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* FKEYS - Funtion keys & mac stuff + * ,-----------------------------------------. .-----------------------------------------. + * | FKEYS| F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | Ctrl | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | | | | | | | | F11 | F12 | F13 | F14 | F15 | Alt | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * |Qwerty| | | | | | | | | | | | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | . |RGBTog| . | | LO | Bspc | | | | HI | | | | | + * `-------------------------------------------------------------------------------------------------' + */ + [_FKEYS] = LAYOUT( + TG(_FKEYS), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_RCTL, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_LALT, + TO(_QW), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, + _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* TRNS - skeleton for laters + * ,-----------------------------------------. .-----------------------------------------. + * | . | . | . | . | . | . | | ^ | & | * | ( | ) | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | . | . | . | . | . | . | | 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | . | . | . | . | . | . | | | | | . | ; | " | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | . | . | . | GUI | LO | . | | | Spc | HI | GUI | M0 | / | LSFT | + * `-------------------------------------------------------------------------------------------------' + */ + [_TRNS] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) }; bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // from algernon's ErgoDox EZ layout, - case M_MUL: - if (record->event.pressed) { - mousekey_on(KC_MS_UP); - mousekey_on(KC_MS_LEFT); - } else { - mousekey_off(KC_MS_UP); - mousekey_off(KC_MS_LEFT); - } - mousekey_send(); - return false; - - case M_MUR: - if (record->event.pressed) { - mousekey_on(KC_MS_UP); - mousekey_on(KC_MS_RIGHT); - } else { - mousekey_off(KC_MS_UP); - mousekey_off(KC_MS_RIGHT); - } - mousekey_send(); - return false; - - case M_MDL: - if (record->event.pressed) { - mousekey_on(KC_MS_DOWN); - mousekey_on(KC_MS_LEFT); - } else { - mousekey_off(KC_MS_DOWN); - mousekey_off(KC_MS_LEFT); - } - mousekey_send(); - return false; + switch (keycode) { + // from algernon's ErgoDox EZ layout, + case M_MUL: + if (record->event.pressed) { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_LEFT); + } else { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_LEFT); + } + mousekey_send(); + return false; + case M_MUR: + if (record->event.pressed) { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_RIGHT); + } else { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_RIGHT); + } + mousekey_send(); + return false; + case M_MDL: + if (record->event.pressed) { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_LEFT); + } else { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_LEFT); + } + mousekey_send(); + return false; + case M_MDR: + if (record->event.pressed) { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_RIGHT); + } else { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_RIGHT); + } + mousekey_send(); + return false; + default: + return true; + } - case M_MDR: - if (record->event.pressed) { - mousekey_on(KC_MS_DOWN); - mousekey_on(KC_MS_RIGHT); - } else { - mousekey_off(KC_MS_DOWN); - mousekey_off(KC_MS_RIGHT); - } - mousekey_send(); - return false; - default: - return true; - } return true; }; void LayerLEDSet(uint8_t layr) { - switch (layr) { case _QW: - rgblight_setrgb(0,20, 0); // dim green - break; + // dim green + rgblight_setrgb(0, 20, 0); + break; case _LW: // deep purple - rgblight_setrgb(20,0,35); + rgblight_setrgb(20, 0, 35); break; case _HI: // light blue - rgblight_setrgb(0,20,20); + rgblight_setrgb(0, 20, 20); break; case _NAV: - // Yellowy orange - rgblight_setrgb(25,20,0); // brighter + // yellowy orange + rgblight_setrgb(25, 20, 0); break; case _FKEYS: - // RED - rgblight_setrgb(20,0,0); // brighter + // red + rgblight_setrgb(20, 0, 0); break; default: - rgblight_setrgb(20,2,20);//error + // error + rgblight_setrgb(20,2,20); break; } - return; - -} - -void matrix_init_user(void) { + return; } // Bleah globals need to be initialized. -uint8_t old_layer=_QW; +uint8_t old_layer = _QW; void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - if (old_layer != layer) { - LayerLEDSet(layer); - old_layer=layer; - } -} - -void led_set_user(uint8_t usb_led) { + uint8_t layer = biton32(layer_state); + if (old_layer != layer) { + LayerLEDSet(layer); + old_layer = layer; + } } diff --git a/keyboards/handwired/traveller/keymaps/default/readme.md b/keyboards/handwired/traveller/keymaps/default/readme.md deleted file mode 100644 index 7ddc40b3c320..000000000000 --- a/keyboards/handwired/traveller/keymaps/default/readme.md +++ /dev/null @@ -1,2 +0,0 @@ -# The default keymap for handwired/traveller -this is a kitchen sink build diff --git a/keyboards/handwired/traveller/readme.md b/keyboards/handwired/traveller/readme.md index 0be53a9628c5..135a0d2cadf3 100644 --- a/keyboards/handwired/traveller/readme.md +++ b/keyboards/handwired/traveller/readme.md @@ -1,35 +1,21 @@ -traveler keyboard firmware -====================== +# Traveller -## Traveller Specific Info ## -The traveller is a varient on the atreus keyboard. -Like the Atreus, it is designed to be a good compromise between size and ergonomics. +The Traveller is a variant on the atreus keyboard. +Like the Atreus, it is designed to be a good compromise between size and ergonomics. -key differences are -- an additional column for each pinky -- an RGB LED in the center to show the current layer -- more finger stagger, splay angle and contoured keycaps (F2 profile for space key). +Key differences are: +- An additional column for each pinky +- An RGB LED in the center to show the current layer +- More finger stagger, splay angle and contoured keycaps (F2 profile for space key). -You can make your own traveller keyboard by using the openscad tools from the atreus repository, and adding a hole for the LED to shine through. +You can make your own Traveller keyboard by using the openscad tools from the atreus repository, and adding a hole for the LED to shine through. -## Quantum MK Firmware +Make example for this keyboard (after setting up your build environment): -For the full Quantum feature list, see [the parent README.md](/readme.md). + make handwired/traveller:default -## Building +Flashing example for this keyboard: -Download or clone the whole firmware and navigate to the keyboard/traveler folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. + make handwired/traveller:default:flash -Depending on which keymap you would like to use, you will have to compile slightly differently. - -### Default -To build with the default keymap, simply run `make`. - -### Other Keymaps -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` and see keymap document (you can find in top README.md) and existent keymap files. - -To build the firmware binary hex file with a keymap just do `make` with `KEYMAP` option like: -``` -$ make KEYMAP=[default|jack|] -``` -Keymaps follow the format **__\.c__** and are stored in the `keymaps` folder. +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/handwired/traveller/rules.mk b/keyboards/handwired/traveller/rules.mk index 0758e5934096..88ed45787ea6 100644 --- a/keyboards/handwired/traveller/rules.mk +++ b/keyboards/handwired/traveller/rules.mk @@ -2,42 +2,21 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp -ifdef TEENSY2 - BOOTLOADER = halfkay - OPT_DEFS += -DATREUS_TEENSY2 - ATREUS_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex -else - BOOTLOADER = caterina - OPT_DEFS += -DATREUS_ASTAR - ATREUS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \ - avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB) -endif +BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = no # Commands for debug and configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = no # USB Nkey Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI controls -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE = no # Audio output on port C6 -RGBLIGHT_ENABLE = yes - -# for avr upload -USB = /dev/cu.usbmodem1421 +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/traveller/traveller.c b/keyboards/handwired/traveller/traveller.c index 9d25341300d0..409abe7d14cf 100644 --- a/keyboards/handwired/traveller/traveller.c +++ b/keyboards/handwired/traveller/traveller.c @@ -1,61 +1,18 @@ #include "traveller.h" -__attribute__ ((weak)) -void matrix_init_user(void) { - // leave this function blank - it can be defined in a keymap file -}; - -__attribute__ ((weak)) -void matrix_scan_user(void) { - // leave this function blank - it can be defined in a keymap file -} - -__attribute__ ((weak)) -void process_action_user(keyrecord_t *record) { - // leave this function blank - it can be defined in a keymap file -} - -__attribute__ ((weak)) -void led_set_user(uint8_t usb_led) { - // leave this function blank - it can be defined in a keymap file -} - void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up + // put your keyboard start-up code here + // runs once when the firmware starts up #ifdef RGBLIGHT_ENABLE - rgblight_init(); - rgblight_mode(1); // solid, no timer - rgblight_setrgb(0,20,0);// dim green, happens to be same as _QW + rgblight_init(); + rgblight_mode(1); // solid, no timer + rgblight_setrgb(0,20,0);// dim green, happens to be same as _QW #endif -// Turn status LED on - DDRC |= (1<<7); - PORTC |= (1<<7); + // Turn status LED on + setPinOutput(C7); + writePinHigh(C7); - matrix_init_user(); + matrix_init_user(); } - - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - - diff --git a/keyboards/handwired/traveller/traveller.h b/keyboards/handwired/traveller/traveller.h index 972a1a94a60c..f78abe46aad2 100644 --- a/keyboards/handwired/traveller/traveller.h +++ b/keyboards/handwired/traveller/traveller.h @@ -1,32 +1,17 @@ -#ifndef TRAVELLER_H -#define TRAVELLER_H +#pragma once #include "quantum.h" -#include "led.h" -#ifdef RGBLIGHT_ENABLE - #include "rgblight.h" -#endif -#ifdef BACKLIGHT_ENABLE - #include "backlight.h" -#endif +#define XXX KC_NO - - -// This a shortcut to help you visually see your layout. -// The first section contains all of the arguements -// The second converts the arguments into a two-dimensional array -#define KEYMAP( \ - k00, k01, k02, k03, k04, k05, k07, k08, k09, k0a, k0b, k0c, \ - k10, k11, k12, k13, k14, k15, k17, k18, k19, k1a, k1b, k1c, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c \ -) \ -{ \ - { k00, k01, k02, k03, k04, k05, KC_NO, k07, k08, k09, k0a, k0b, k0c }, \ - { k10, k11, k12, k13, k14, k15, KC_NO, k17, k18, k19, k1a, k1b, k1c }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c } \ +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k07, k08, k09, k0A, k0B, k0C, \ + k10, k11, k12, k13, k14, k15, k17, k18, k19, k1A, k1B, k1C, \ + k20, k21, k22, k23, k24, k25, k27, k28, k29, k2A, k2B, k2C, \ + k30, k31, k32, k33, k34, k35, k26, k36, k37, k38, k39, k3A, k3B, k3C \ +) { \ + { k00, k01, k02, k03, k04, k05, XXX, k07, k08, k09, k0A, k0B, k0C }, \ + { k10, k11, k12, k13, k14, k15, XXX, k17, k18, k19, k1A, k1B, k1C }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C } \ } - -#endif diff --git a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c index 958c17e4283c..b618675295bc 100644 --- a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c +++ b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c @@ -6,7 +6,7 @@ void keyboard_pre_init_user(void) setPinOutput(B0); } -uint32_t layer_state_set_user(uint32_t state) +layer_state_t layer_state_set_user(layer_state_t state) { // Switch layer LED accordingly switch (biton32(state)) { @@ -22,19 +22,19 @@ uint32_t layer_state_set_user(uint32_t state) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ortho_6x4( - KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, - KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_P4, KC_P5, KC_P6, KC_BSPC, - KC_P1, KC_P2, KC_P3, KC_PENT, - KC_P0, KC_UP, KC_PDOT, TT(1), + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_BSPC, + KC_P1, KC_P2, KC_P3, KC_PENT, + KC_P0, KC_UP, KC_PDOT, TT(1), KC_LEFT, KC_DOWN, KC_RGHT, BL_STEP ), [1] = LAYOUT_ortho_6x4( - KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_K, KC_NO, KC_NO, - KC_H, KC_NO, KC_L, KC_NO, - KC_NO, KC_J, KC_NO, KC_NO, - KC_LSFT, KC_Z, KC_X, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_K, KC_NO, KC_NO, + KC_H, KC_NO, KC_L, KC_NO, + KC_NO, KC_J, KC_NO, KC_NO, + KC_LSFT, KC_Z, KC_X, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO ) }; diff --git a/keyboards/handwired/tritium_numpad/rules.mk b/keyboards/handwired/tritium_numpad/rules.mk index 42dfc5cbece4..355ea382796b 100644 --- a/keyboards/handwired/tritium_numpad/rules.mk +++ b/keyboards/handwired/tritium_numpad/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = lite # Key at 0,0 makes the keyboard go into bootloader(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) @@ -22,9 +15,8 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality (+4870) BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality (+1150) -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -LAYOUTS = numpad_6x4 ortho_6x4 nontra_6x4 +LAYOUTS = numpad_6x4 ortho_6x4 diff --git a/keyboards/handwired/twadlee/tp69/config.h b/keyboards/handwired/twadlee/tp69/config.h index 0387c7d7e8c0..27c48fb94756 100644 --- a/keyboards/handwired/twadlee/tp69/config.h +++ b/keyboards/handwired/twadlee/tp69/config.h @@ -196,25 +196,6 @@ along with this program. If not, see . /* disable these deprecated features by default */ #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 diff --git a/keyboards/handwired/twadlee/tp69/rules.mk b/keyboards/handwired/twadlee/tp69/rules.mk index b6d70c1964f6..e393238a0ed1 100644 --- a/keyboards/handwired/twadlee/tp69/rules.mk +++ b/keyboards/handwired/twadlee/tp69/rules.mk @@ -4,7 +4,7 @@ MCU = MKL26Z64 # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -15,7 +15,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 PS2_MOUSE_ENABLE = no diff --git a/keyboards/handwired/unicomp_mini_m/config.h b/keyboards/handwired/unicomp_mini_m/config.h new file mode 100644 index 000000000000..41676ec80554 --- /dev/null +++ b/keyboards/handwired/unicomp_mini_m/config.h @@ -0,0 +1,59 @@ +/* +Copyright 2021 stevendlander + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0001 +#define MANUFACTURER stevendlander +#define PRODUCT Unicomp Mini M + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 16 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { F7, F6, F5, F4, F3, F2, F1, F0, E6, E7, B0, B1 } +#define MATRIX_COL_PINS { C7, C6, C5, C4, C3, C2, C1, C0, E1, E0, D7, B7, D5, D4, D3, D2 } +#define UNUSED_PINS + +#define LED_PIN_ON_STATE 0 +#define LED_NUM_LOCK_PIN B6 +#define LED_CAPS_LOCK_PIN B5 +#define LED_SCROLL_LOCK_PIN B4 + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION ROW2COL + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed (5 is default) */ +#define DEBOUNCE 5 + +/* The Mini M has no diodes */ +#define MATRIX_HAS_GHOST diff --git a/keyboards/handwired/unicomp_mini_m/info.json b/keyboards/handwired/unicomp_mini_m/info.json new file mode 100644 index 000000000000..4b5390779ac8 --- /dev/null +++ b/keyboards/handwired/unicomp_mini_m/info.json @@ -0,0 +1,462 @@ +{ + "keyboard_name": "Unicomp Mini M", + "url": "", + "maintainer": "stevendlander", + "width": 15.5, + "height": 7.5, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Esc", + "x": 0, + "y": 0 + }, + { + "label": "F1", + "x": 2, + "y": 0 + }, + { + "label": "F2", + "x": 3, + "y": 0 + }, + { + "label": "F3", + "x": 4, + "y": 0 + }, + { + "label": "F4", + "x": 5, + "y": 0 + }, + { + "label": "F5", + "x": 6.5, + "y": 0 + }, + { + "label": "F6", + "x": 7.5, + "y": 0 + }, + { + "label": "F7", + "x": 8.5, + "y": 0 + }, + { + "label": "F8", + "x": 9.5, + "y": 0 + }, + { + "label": "F9", + "x": 11, + "y": 0 + }, + { + "label": "F10", + "x": 12, + "y": 0 + }, + { + "label": "F11", + "x": 13, + "y": 0 + }, + { + "label": "F12", + "x": 14, + "y": 0 + }, + { + "label": "PrtSc", + "x": 15.25, + "y": 0 + }, + { + "label": "Scroll Lock", + "x": 16.25, + "y": 0 + }, + { + "label": "Pause", + "x": 17.25, + "y": 0 + }, + { + "label": "~", + "x": 0, + "y": 1.5 + }, + { + "label": "!", + "x": 1, + "y": 1.5 + }, + { + "label": "@", + "x": 2, + "y": 1.5 + }, + { + "label": "#", + "x": 3, + "y": 1.5 + }, + { + "label": "$", + "x": 4, + "y": 1.5 + }, + { + "label": "%", + "x": 5, + "y": 1.5 + }, + { + "label": "^", + "x": 6, + "y": 1.5 + }, + { + "label": "&", + "x": 7, + "y": 1.5 + }, + { + "label": "*", + "x": 8, + "y": 1.5 + }, + { + "label": "(", + "x": 9, + "y": 1.5 + }, + { + "label": ")", + "x": 10, + "y": 1.5 + }, + { + "label": "_", + "x": 11, + "y": 1.5 + }, + { + "label": "+", + "x": 12, + "y": 1.5 + }, + { + "label": "Backspace", + "x": 13, + "y": 1.5, + "w": 2 + }, + { + "label": "Insert", + "x": 15.25, + "y": 1.5 + }, + { + "label": "Home", + "x": 16.25, + "y": 1.5 + }, + { + "label": "PgUp", + "x": 17.25, + "y": 1.5 + }, + { + "label": "Tab", + "x": 0, + "y": 2.5, + "w": 1.5 + }, + { + "label": "Q", + "x": 1.5, + "y": 2.5 + }, + { + "label": "W", + "x": 2.5, + "y": 2.5 + }, + { + "label": "E", + "x": 3.5, + "y": 2.5 + }, + { + "label": "R", + "x": 4.5, + "y": 2.5 + }, + { + "label": "T", + "x": 5.5, + "y": 2.5 + }, + { + "label": "Y", + "x": 6.5, + "y": 2.5 + }, + { + "label": "U", + "x": 7.5, + "y": 2.5 + }, + { + "label": "I", + "x": 8.5, + "y": 2.5 + }, + { + "label": "O", + "x": 9.5, + "y": 2.5 + }, + { + "label": "P", + "x": 10.5, + "y": 2.5 + }, + { + "label": "{", + "x": 11.5, + "y": 2.5 + }, + { + "label": "}", + "x": 12.5, + "y": 2.5 + }, + { + "label": "|", + "x": 13.5, + "y": 2.5, + "w": 1.5 + }, + { + "label": "Delete", + "x": 15.25, + "y": 2.5 + }, + { + "label": "End", + "x": 16.25, + "y": 2.5 + }, + { + "label": "PgDn", + "x": 17.25, + "y": 2.5 + }, + { + "label": "Caps Lock", + "x": 0, + "y": 3.5, + "w": 1.75 + }, + { + "label": "A", + "x": 1.75, + "y": 3.5 + }, + { + "label": "S", + "x": 2.75, + "y": 3.5 + }, + { + "label": "D", + "x": 3.75, + "y": 3.5 + }, + { + "label": "F", + "x": 4.75, + "y": 3.5 + }, + { + "label": "G", + "x": 5.75, + "y": 3.5 + }, + { + "label": "H", + "x": 6.75, + "y": 3.5 + }, + { + "label": "J", + "x": 7.75, + "y": 3.5 + }, + { + "label": "K", + "x": 8.75, + "y": 3.5 + }, + { + "label": "L", + "x": 9.75, + "y": 3.5 + }, + { + "label": ":", + "x": 10.75, + "y": 3.5 + }, + { + "label": "\"", + "x": 11.75, + "y": 3.5 + }, + { + "label": "Enter", + "x": 12.75, + "y": 3.5, + "w": 2.25 + }, + { + "label": "Shift", + "x": 0, + "y": 4.5, + "w": 2.25 + }, + { + "label": "Z", + "x": 2.25, + "y": 4.5 + }, + { + "label": "X", + "x": 3.25, + "y": 4.5 + }, + { + "label": "C", + "x": 4.25, + "y": 4.5 + }, + { + "label": "V", + "x": 5.25, + "y": 4.5 + }, + { + "label": "B", + "x": 6.25, + "y": 4.5 + }, + { + "label": "N", + "x": 7.25, + "y": 4.5 + }, + { + "label": "M", + "x": 8.25, + "y": 4.5 + }, + { + "label": "<", + "x": 9.25, + "y": 4.5 + }, + { + "label": ">", + "x": 10.25, + "y": 4.5 + }, + { + "label": "?", + "x": 11.25, + "y": 4.5 + }, + { + "label": "Shift", + "x": 12.25, + "y": 4.5, + "w": 2.75 + }, + { + "label": "\u2191", + "x": 16.25, + "y": 4.5 + }, + { + "label": "Ctrl", + "x": 0, + "y": 5.5, + "w": 1.5 + }, + { + "label": "Meta", + "x": 1.5, + "y": 5.5, + "w": 1 + }, + { + "label": "Alt", + "x": 2.5, + "y": 5.5, + "w": 1.5 + }, + { + "label": "Space", + "x": 4, + "y": 5.5, + "w": 5.75 + }, + { + "label": "Alt", + "x": 9.75, + "y": 5.5, + "w": 1.25 + }, + { + "label": "Meta", + "x": 11, + "y": 5.5, + "w": 1.5 + }, + { + "label": "Menu", + "x": 12.5, + "y": 5.5, + "w": 1 + }, + { + "label": "Ctrl", + "x": 13.5, + "y": 5.5, + "w": 1.5 + }, + { + "label": "\u2190", + "x": 15.25, + "y": 5.5 + }, + { + "label": "\u2193", + "x": 16.25, + "y": 5.5 + }, + { + "label": "\u2192", + "x": 17.25, + "y": 5.5 + } + ] + } + } +} diff --git a/keyboards/handwired/unicomp_mini_m/keymaps/default/keymap.c b/keyboards/handwired/unicomp_mini_m/keymaps/default/keymap.c new file mode 100644 index 000000000000..068c6c4b60d4 --- /dev/null +++ b/keyboards/handwired/unicomp_mini_m/keymaps/default/keymap.c @@ -0,0 +1,106 @@ +/* Copyright 2021 stevendlander + * + * 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 + +// Layer shortcuts +enum custom_layers { + _QWERTY, + _NUMPAD, +}; + +enum custom_keycodes { + NUMSLCK = SAFE_RANGE, // Num Lock on shift, Scroll Lock regularly + PAUSRST, // Resets keyboard on shift, Pause|break regularly + PSCSYSR, // Sends SYSREQ on alt, Print Screen regularly +}; + +// Mod key detection +#define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) +#define MODS_ALT_MASK (MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT)) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + 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, PSCSYSR, NUMSLCK, PAUSRST, + 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_NO, 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_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_NO, 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_NO, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_NUMPAD] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NUMSLCK, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_TRNS, KC_PMNS, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PAST, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_TRNS, KC_PDOT, KC_PSLS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case NUMSLCK: { + if (record->event.pressed) { + if (keyboard_report->mods & MODS_SHIFT_MASK) { + tap_code(KC_NLCK); + } else { + register_code(KC_SLCK); + } + } else { + unregister_code(KC_SLCK); + } + break; + } + case PAUSRST: { + if (record->event.pressed) { + if (keyboard_report->mods & MODS_SHIFT_MASK) { + reset_keyboard(); + } else { + register_code(KC_PAUS); + } + } else { + unregister_code(KC_PAUS); + } + break; + } + case PSCSYSR: { + if (record->event.pressed) { + if (keyboard_report->mods & MODS_ALT_MASK) { + tap_code(KC_SYSREQ); + } else { + register_code(KC_PAUS); + } + } else { + unregister_code(KC_PAUS); + } + break; + } + } + return true; +} + +bool led_update_user(led_t led_state) { + static bool num_state = false; + if (num_state != led_state.num_lock) { + if (led_state.num_lock) { + layer_on(_NUMPAD); + } else { + layer_off(_NUMPAD); + } + num_state = led_state.num_lock; + } + return true; +} diff --git a/keyboards/handwired/unicomp_mini_m/keymaps/default/readme.md b/keyboards/handwired/unicomp_mini_m/keymaps/default/readme.md new file mode 100644 index 000000000000..f15b1b50d3f8 --- /dev/null +++ b/keyboards/handwired/unicomp_mini_m/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for unicomp\_mini\_m diff --git a/keyboards/handwired/unicomp_mini_m/readme.md b/keyboards/handwired/unicomp_mini_m/readme.md new file mode 100644 index 000000000000..0640fbb2505f --- /dev/null +++ b/keyboards/handwired/unicomp_mini_m/readme.md @@ -0,0 +1,127 @@ +## Unicomp Mini M with Teensy2.0++ controller & QMK Firmware + +### Overview + +#### Goals + +The goal of this project was to replace the stock control board of the Unicomp Mini M with a programmable one. The Mini +M was released by [Unicomp](https://www.pckeyboard.com) in Q1 of 2021 and is a re-release of The IBM Model M Space +Saving Keyboard (SSK) with some enhancements. + +This guide strives to achieve the following: + +* Make completely reversable changes, or in other words, no permanent modifications to the Mini M +* Allow full programmability of the Mini M via QMK +* Be able to flash firmware without having to take the board apart to hit the reset button +* Create a default keymap that works just like the stock keymap shipped from Unicomp, including the toggle-able number + pad +* Support all LEDs as normal + +My guide will go a few steps further: + +* Convert the wired connection from USB-A to USB-C +* Install a potentiometer to dim the LEDs if desired + +#### Credits + +The following resources were instrumental to the success of this project: + +* Model M 101/102 write-up located in `qmk_firmware/keyboards/converter/modelm` +* [Model M Subreddit](https://modelm.reddit.com) +* Model M Discord + +### Hardware + +##### Parts + +For a working Mini M with QMK *without* LEDs working, the following parts are necessary: + +* 1 Adafruit Perma-Proto Full Sized Breadboard. Luckily, this board is a perfect fit for the Mini M case! +* 1 Teensy2.0++, with headers soldered on if you can find it + * 2 20-row x 1 column headers, if you can't find a Teensy with headers already soldered on +* 2 16-pin Ribbon connectors, PCB mount +* Hookup wire. I used 30AWG wire and while it worked, I should have used 1 gauge (or more) thicker +* A panel mount male USB-B to female USB-C extender + +To get the Mini M working with LEDs, you will need: + +* 3 1kOhm through-hole resistors + +##### Tools + +The following were absolutely critical for the project: + +* Soldering iron, preferably one with a narrow tip for small connections +* Drill, preferably a hand-held rotary tool (such as a Dremel) +* Wire strippers/cutters +* A sharp knife + +Optional, but worth having around: + +* Helping-hands, PCB holder, preferably both +* Multi-meter for testing continuity of your connections +* Hot-glue gun for mounting the USB extender to the Perma-Proto + +### Assembly + +#### Solder Teensy to the Perma-Proto + +1. Solder headers to Teensy +2. Solder headers to Perma-Proto + +#### Solder ribbon connectors + +* Rows on the Perma-Proto that line up with membrane ribbons +* Trim excess under board +* Test continuity + +#### Solder in hookup wires + +* Ribbon connector used for the right ribbon will need hookup wire to establish connections to the Teensy +* 12 required, 16 if you want full functionality + +#### Optional: Solder in resistors + +#### Caveat: D6 pin on the Teensy + +There are a few ways to mount the Teensy to the Perma-Proto board. I chose to connect my 16 pin ribbon connector to the +Teensy pins starting at C7 and ending at D2. If you do this, beware that pin D6 will not work for the purposes of this +project. It is possible to modify it to make it so, but that is beyond the scope of this guide. + +Bypassing D6 is necessary if you mount your ribbon connector as I have just described. Luckily, it is a simple process! +First, with a sharp knife, sever the connection between your ribbon connector pin that is connected to Teensy D6 pin. I +would recommend doing this at the closest possible point to the Teensy on the underside of the Perma-Proto board. Once +that is done, use a remaining point on the Perma-Proto bus for that ribbon connection (that was previously connected to +D6) to add a jumper wire connected to pin B7. If you are using the firmware files provided in this repository, +everything is already set for this configuration. + +### Testing + +### Software + +#### Build firmware + +See qmk documentation on getting your build environment working. + +Compile the Mini M firmware files with the default keymap. It allows for the Mini M to be used with the same +functionality as shipped from the manufacturer. + +```bash +$ qmk compile -kb unicomp/mini_m -km default +``` + +While plugged in, press the reset button on your Teensy and then: + +```bash +$ qmk flash -kb unicomp/mini_m -km default +``` + +If everything works to this point, congratulations! You now have a programmable Mini M. If you are using the default +keymap, you can reset your Teensy by pressing Shift+Pause together, eliminating the need to take apart the case in order +to do so. + +#### Keymaps + +To build your own keymap, create a new directory in `keyboards/unicomp/mini_m/keymaps/`, copy the files from +`keyboards/unicomp/mini_m/default` into your new directory, and edit them as you wish. When you are ready to flash your +new keymap to the Mini M, the command will be `qmk flash -kb unicomp/mini_m -kb `. diff --git a/keyboards/handwired/unicomp_mini_m/rules.mk b/keyboards/handwired/unicomp_mini_m/rules.mk new file mode 100644 index 000000000000..7724cc9439ff --- /dev/null +++ b/keyboards/handwired/unicomp_mini_m/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = at90usb1286 + +# Bootloader selection +BOOTLOADER = halfkay + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/unicomp_mini_m/unicomp_mini_m.c b/keyboards/handwired/unicomp_mini_m/unicomp_mini_m.c new file mode 100644 index 000000000000..e8249df25127 --- /dev/null +++ b/keyboards/handwired/unicomp_mini_m/unicomp_mini_m.c @@ -0,0 +1,16 @@ +/* Copyright 2021 stevendlander + * + * 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 "unicomp_mini_m.h" diff --git a/keyboards/handwired/unicomp_mini_m/unicomp_mini_m.h b/keyboards/handwired/unicomp_mini_m/unicomp_mini_m.h new file mode 100644 index 000000000000..8e426da0510e --- /dev/null +++ b/keyboards/handwired/unicomp_mini_m/unicomp_mini_m.h @@ -0,0 +1,49 @@ +/* Copyright 2021 stevendlander + * + * 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 "quantum.h" + +/* This a shortcut to help you visually see your layout. + * The first section contains "names" for physical keys of the keyboard + * and defines their position on the board. + * The second section defines position of the keys on the switch matrix + * (where COLUMNS and ROWS crosses). */ + +#define LAYOUT( \ + K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, \ + \ + K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4N, K4O, K4P, K4Q, K4R, \ + K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3N, K3O, K3P, K3Q, \ + K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K, K2L, K2M, K2N, \ + K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K, K1L, K1M, K1N, K1O, \ + K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J, K0K \ +) \ +{ \ +/* 00 */ { K4A, K5A, K4F, K1M, K5C, K5D, K5E, K3K, KC_NO, KC_NO, KC_NO, KC_NO, K0C, K2N, KC_NO, KC_NO }, \ +/* 01 */ { K2A, K1B, K3B, KC_NO, KC_NO, KC_NO, KC_NO, K4G, K5F, KC_NO, KC_NO, KC_NO, KC_NO, K2M, K0H, K1N, }, \ +/* 02 */ { K2C, K2D, K5B, K2E, K2F, K1C, K1E, KC_NO, K1D, K1F, K1G, K2B, K3A, KC_NO, KC_NO, KC_NO }, \ +/* 03 */ { KC_NO, KC_NO, K4B, KC_NO, KC_NO, KC_NO, KC_NO, K3G, K5G, KC_NO, KC_NO, K0B, KC_NO, KC_NO, KC_NO, KC_NO }, \ +/* 04 */ { KC_NO, KC_NO, K4E, KC_NO, KC_NO, KC_NO, KC_NO, K3J, K5H, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K0A, K1A, }, \ +/* 05 */ { KC_NO, KC_NO, K3C, KC_NO, KC_NO, KC_NO, KC_NO, K4H, K5I, K3L, K0F, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ +/* 06 */ { KC_NO, KC_NO, K4C, KC_NO, KC_NO, KC_NO, KC_NO, K3H, K5J, K4M, K5K, K5L, K4L, K5N, KC_NO, KC_NO }, \ +/* 07 */ { KC_NO, KC_NO, K4D, KC_NO, KC_NO, KC_NO, KC_NO, K3I, KC_NO, KC_NO, KC_NO, K5M, K4N, K5O, KC_NO, KC_NO }, \ +/* 08 */ { KC_NO, KC_NO, K3F, KC_NO, KC_NO, KC_NO, KC_NO, K4K, KC_NO, K4O, K1O, K3P, K4P, KC_NO, KC_NO, KC_NO }, \ +/* 09 */ { KC_NO, KC_NO, K3E, K0E, K0I, KC_NO, KC_NO, K4J, KC_NO, K3N, KC_NO, KC_NO, KC_NO, K4Q, KC_NO, KC_NO }, \ +/* 0A */ { K0D, KC_NO, K3D, KC_NO, K0G, KC_NO, KC_NO, K4I, KC_NO, K3M, K0K, K0J, K4R, K3Q, KC_NO, KC_NO }, \ +/* 0B */ { K1I, K1J, KC_NO, K1K, K1L, K2G, K2I, KC_NO, K2H, K2J, K2K, K1H, K2L, K3O, KC_NO, K5P, }, \ +} +/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ diff --git a/keyboards/handwired/unk/rules.mk b/keyboards/handwired/unk/rules.mk index e4972eb1d1f1..180e76ef9ed8 100644 --- a/keyboards/handwired/unk/rules.mk +++ b/keyboards/handwired/unk/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/handwired/videowriter/rules.mk b/keyboards/handwired/videowriter/rules.mk index 38356d996cb5..f147d9f9fb46 100644 --- a/keyboards/handwired/videowriter/rules.mk +++ b/keyboards/handwired/videowriter/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/handwired/wabi/rules.mk b/keyboards/handwired/wabi/rules.mk index f0423ca898fb..c5a6b0626fe9 100644 --- a/keyboards/handwired/wabi/rules.mk +++ b/keyboards/handwired/wabi/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/woodpad/rules.mk b/keyboards/handwired/woodpad/rules.mk index 8c2c2fbdc442..2d87cd58d7a4 100644 --- a/keyboards/handwired/woodpad/rules.mk +++ b/keyboards/handwired/woodpad/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug diff --git a/keyboards/handwired/wulkan/keymaps/default/keymap.c b/keyboards/handwired/wulkan/keymaps/default/keymap.c index fec8442ee3c2..ad503114fc8d 100644 --- a/keyboards/handwired/wulkan/keymaps/default/keymap.c +++ b/keyboards/handwired/wulkan/keymaps/default/keymap.c @@ -8,21 +8,21 @@ enum layers { }; enum unicode_names { - SE_AA_HIGH, - SE_AE_HIGH, - SE_OE_HIGH, - SE_AA_LOW, - SE_AE_LOW, - SE_OE_LOW, + SE_ARNG_HIGH, + SE_ADIA_HIGH, + SE_ODIA_HIGH, + SE_ARNG_LOW, + SE_ADIA_LOW, + SE_ODIA_LOW, }; const uint32_t PROGMEM unicode_map[] = { - [SE_AA_HIGH] = 0x00C5, - [SE_AE_HIGH] = 0x00C4, - [SE_OE_HIGH] = 0x00D6, - [SE_AA_LOW] = 0x00E5, - [SE_AE_LOW] = 0x00E4, - [SE_OE_LOW] = 0x00F6, + [SE_ARNG_HIGH] = 0x00C5, + [SE_ADIA_HIGH] = 0x00C4, + [SE_ODIA_HIGH] = 0x00D6, + [SE_ARNG_LOW] = 0x00E5, + [SE_ADIA_LOW] = 0x00E4, + [SE_ODIA_LOW] = 0x00F6, }; #define LOWER MO(_LOWER) @@ -95,8 +95,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT_ortho_4x12( - _______, RESET, _______, _______, KC_WH_U, _______, _______, KC_MS_U, _______, _______, XP(SE_AA_LOW, SE_AA_HIGH), KC_DEL, - _______, _______, _______, _______, KC_WH_D, _______, KC_MS_L, KC_MS_D, KC_MS_R, XP(SE_OE_LOW, SE_OE_HIGH), XP(SE_AE_LOW, SE_AE_HIGH), _______, + _______, RESET, _______, _______, KC_WH_U, _______, _______, KC_MS_U, _______, _______, XP(SE_ARNG_LOW, SE_ARNG_HIGH), KC_DEL, + _______, _______, _______, _______, KC_WH_D, _______, KC_MS_L, KC_MS_D, KC_MS_R, XP(SE_ODIA_LOW, SE_ODIA_HIGH), XP(SE_ADIA_LOW, SE_ADIA_HIGH), _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, KC_BTN1, _______, KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) diff --git a/keyboards/handwired/wulkan/rules.mk b/keyboards/handwired/wulkan/rules.mk index 96bfe18ddec6..a5fed9a51299 100644 --- a/keyboards/handwired/wulkan/rules.mk +++ b/keyboards/handwired/wulkan/rules.mk @@ -2,11 +2,14 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # comment out to disable the options. # BACKLIGHT_ENABLE = no -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -15,7 +18,6 @@ NKRO_ENABLE = yes # USB Nkey Rollover AUDIO_ENABLE = no RGBLIGHT_ENABLE = no LAYOUTS = ortho_4x12 -MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID NO_SUSPEND_POWER_DOWN = yes diff --git a/keyboards/handwired/wulkan/wulkan.c b/keyboards/handwired/wulkan/wulkan.c index 5409fa5b55c6..72024175d2ff 100644 --- a/keyboards/handwired/wulkan/wulkan.c +++ b/keyboards/handwired/wulkan/wulkan.c @@ -1,6 +1 @@ #include "wulkan.h" - -void matrix_init_kb(void) { - matrix_init_user(); -} - diff --git a/keyboards/handwired/xealous/rev1/rev1.c b/keyboards/handwired/xealous/rev1/rev1.c index 3e51421d8578..ad9f298c19cb 100644 --- a/keyboards/handwired/xealous/rev1/rev1.c +++ b/keyboards/handwired/xealous/rev1/rev1.c @@ -1,6 +1,2 @@ #include "quantum.h" #include "rev1.h" - -void matrix_init_kb(void) { - matrix_init_user(); -} diff --git a/keyboards/handwired/xealous/rules.mk b/keyboards/handwired/xealous/rules.mk index 2d816ab7cee7..56f9b27415e6 100644 --- a/keyboards/handwired/xealous/rules.mk +++ b/keyboards/handwired/xealous/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = yes # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID @@ -34,8 +26,6 @@ SUBPROJECT_rev1 = yes SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend SRC += matrix.c -DEBOUNCE_TYPE = eager_pk - -LAYOUTS = split60 +DEBOUNCE_TYPE = sym_eager_pk DEFAULT_FOLDER = handwired/xealous/rev1 diff --git a/keyboards/handwired/xealousbrown/config.h b/keyboards/handwired/xealousbrown/config.h index bf9ad3e05257..70775ffaebb3 100644 --- a/keyboards/handwired/xealousbrown/config.h +++ b/keyboards/handwired/xealousbrown/config.h @@ -32,6 +32,13 @@ along with this program. If not, see . #define USB_POLLING_INTERVAL_MS 1 /* layer optimization */ #define LAYER_STATE_8BIT +#define MAX_LAYER 2 + +//debug scanrate +//#define DEBUG_MATRIX_SCAN_RATE +//debug scans taking longer than one ms +//#define BENCHMARK_MATRIX +#define MATRIX_IO_DELAY 15 /* * Keyboard Matrix Assignments * diff --git a/keyboards/handwired/xealousbrown/matrix.c b/keyboards/handwired/xealousbrown/matrix.c index cce0d06ebb8f..f27a13df7b1b 100644 --- a/keyboards/handwired/xealousbrown/matrix.c +++ b/keyboards/handwired/xealousbrown/matrix.c @@ -28,7 +28,7 @@ extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values // matrix code // super fast read_cols code. -static matrix_row_t read_cols(void) { +static inline matrix_row_t read_cols(void) { return (PINC & (1 << 6) ? 0 : (1UL << 0)) | (PIND & (1 << 7) ? 0 : (1UL << 1)) | (PINE & (1 << 6) ? 0 : (1UL << 2)) | @@ -100,12 +100,15 @@ uint8_t matrix_scan_custom(matrix_row_t current_matrix[]) { // Set row, read cols for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { select_row(current_row); - asm volatile("nop"); - asm volatile("nop"); + matrix_output_unselect_delay(current_row, changed); + matrix_row_t cols = read_cols(); changed |= (current_matrix[current_row] != cols); current_matrix[current_row] = cols; + unselect_rows(); + //this internally calls matrix_io_delay() + matrix_output_unselect_delay(current_row, changed); } return changed; diff --git a/keyboards/handwired/xealousbrown/readme.md b/keyboards/handwired/xealousbrown/readme.md index bbc2233d1c4e..fa5537e47101 100644 --- a/keyboards/handwired/xealousbrown/readme.md +++ b/keyboards/handwired/xealousbrown/readme.md @@ -19,4 +19,7 @@ The brief list of speedhacks to make this keyboard blazing fast: 3) Eager-per-key Debouncing algorithm (no 5ms delay before message is sent) 4) 1000hz polling -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). +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/handwired/xealousbrown/rules.mk b/keyboards/handwired/xealousbrown/rules.mk index df90cd030e37..0174baff6dfb 100644 --- a/keyboards/handwired/xealousbrown/rules.mk +++ b/keyboards/handwired/xealousbrown/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +25,7 @@ SPACE_CADET_ENABLE = no # Unneeded feature. LAYOUTS = 60_ansi # special sauce for this keyboard -DEBOUNCE_TYPE = eager_pk # Debounce using eager_pk. +DEBOUNCE_TYPE = sym_eager_pk # Debounce using eager_pk. CUSTOM_MATRIX = lite # Custom matrix that polls at 7000hz instead of a measly 2000hz. LTO_ENABLE = yes # smaller binary SRC += matrix.c diff --git a/keyboards/handwired/xealousbrown/xealousbrown.c b/keyboards/handwired/xealousbrown/xealousbrown.c index 03512b1acb91..dbfa853422de 100644 --- a/keyboards/handwired/xealousbrown/xealousbrown.c +++ b/keyboards/handwired/xealousbrown/xealousbrown.c @@ -15,15 +15,6 @@ */ #include "xealousbrown.h" -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - - - #ifdef BENCHMARK_MATRIX # include "timer.h" # include @@ -50,13 +41,9 @@ void matrix_scan_user(void) { last_timer = timer; if ((timer % 1000 == 0) && (timer != last_print_out)) { - print("Benchmark:"); - print("\n"); - print_dec(timer); - print("\n"); + print("Scans: "); print_dec(scans); print("\n"); - print("-------"); scans = 0; last_print_out = timer; } diff --git a/keyboards/handwired/z150/rules.mk b/keyboards/handwired/z150/rules.mk index d86e9f6e469f..b99c75a195c9 100644 --- a/keyboards/handwired/z150/rules.mk +++ b/keyboards/handwired/z150/rules.mk @@ -1,3 +1,4 @@ +# MCU name MCU = STM32F103 # Bootloader selection @@ -9,7 +10,7 @@ OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/handwired/zergo/rules.mk b/keyboards/handwired/zergo/rules.mk index ea5530ffacef..8f0fa0209803 100644 --- a/keyboards/handwired/zergo/rules.mk +++ b/keyboards/handwired/zergo/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/hardlineworks/otd_plus/config.h b/keyboards/hardlineworks/otd_plus/config.h index 5474dbfee92f..15e6df7588ee 100644 --- a/keyboards/hardlineworks/otd_plus/config.h +++ b/keyboards/hardlineworks/otd_plus/config.h @@ -20,8 +20,8 @@ /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW -#define CAPS_LOCK_LED_PIN F4 -#define SCROLL_LOCK_LED_PIN D5 +#define LED_CAPS_LOCK_PIN F4 +#define LED_SCROLL_LOCK_PIN D5 /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 5 diff --git a/keyboards/hardlineworks/otd_plus/otd_plus.c b/keyboards/hardlineworks/otd_plus/otd_plus.c index f7f96800d049..29d395d287aa 100644 --- a/keyboards/hardlineworks/otd_plus/otd_plus.c +++ b/keyboards/hardlineworks/otd_plus/otd_plus.c @@ -1,12 +1 @@ #include "otd_plus.h" - -void keyboard_pre_init_kb(void) { - led_init_ports(); - keyboard_pre_init_user(); -} -void led_init_ports(void) { - setPinOutput(CAPS_LOCK_LED_PIN); - setPinOutput(SCROLL_LOCK_LED_PIN); -} - - diff --git a/keyboards/hardlineworks/otd_plus/rules.mk b/keyboards/hardlineworks/otd_plus/rules.mk index e07b7a000b20..4ab24eb894d7 100644 --- a/keyboards/hardlineworks/otd_plus/rules.mk +++ b/keyboards/hardlineworks/otd_plus/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/hecomi/alpha/config.h b/keyboards/hecomi/alpha/config.h index cdb06f66ff53..1fd634a3cf6e 100644 --- a/keyboards/hecomi/alpha/config.h +++ b/keyboards/hecomi/alpha/config.h @@ -183,26 +183,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hecomi/alpha/rules.mk b/keyboards/hecomi/alpha/rules.mk index 002be917f168..bdf5be32d872 100644 --- a/keyboards/hecomi/alpha/rules.mk +++ b/keyboards/hecomi/alpha/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/hecomi/hecomi.c b/keyboards/hecomi/hecomi.c index 9d0d93fa173e..d5275471193f 100644 --- a/keyboards/hecomi/hecomi.c +++ b/keyboards/hecomi/hecomi.c @@ -15,30 +15,3 @@ */ #include "hecomi.h" #include "split_util.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/hecomi/hecomi.h b/keyboards/hecomi/hecomi.h index ef90a8ead904..9586e839478c 100644 --- a/keyboards/hecomi/hecomi.h +++ b/keyboards/hecomi/hecomi.h @@ -67,23 +67,3 @@ Right hand: {K80, K81, K82, K83, K84, K85, K86, K87},\ {KC_NO, KC_NO, K92, K93, K94, K95, K96, K97}\ } - -#define LAYOUT_kc(\ -K00, K01, K02, K03, K04, K05, K06, K50, K51, K52, K53, K54, K55, K56, K57, \ -K10, K11, K12, K13, K14, K15, K16, K60, K61, K62, K63, K64, K65, K66, K67, \ -K20, K21, K22, K23, K24, K25, K71, K72, K73, K74, K75, K76, K77,\ -K30, K31, K32, K33, K34, K35, K80, K81, K82, K83, K84, K85, K86, K87, \ - K40, K41, K42, K43, K44, K45, K92, K93, K94, K95, K96, K97\ -) {\ -{KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_NO},\ -{KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_NO},\ -{KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_NO, KC_NO},\ -{KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_NO, KC_NO},\ -{KC_##K40, KC_##K41, KC_##K42, KC_##K43, KC_##K44, KC_##K45, KC_NO, KC_NO},\ -{KC_##K50, KC_##K51, KC_##K52, KC_##K53, KC_##K54, KC_##K55, KC_##K56, KC_##K57},\ -{KC_##K60, KC_##K61, KC_##K62, KC_##K63, KC_##K64, KC_##K65, KC_##K66, KC_##K67},\ -{KC_NO, KC_##K71, KC_##K72, KC_##K73, KC_##K74, KC_##K75, KC_##K76, KC_##K77},\ -{KC_##K80, KC_##K81, KC_##K82, KC_##K83, KC_##K84, KC_##K85, KC_##K86, KC_##K87},\ -{KC_NO, KC_NO, KC_##K92, KC_##K93, KC_##K94, KC_##K95, KC_##K96, KC_##K97}\ -} - diff --git a/keyboards/hecomi/keymaps/default/keymap.c b/keyboards/hecomi/keymaps/default/keymap.c index 312799f73737..465b4ae5c178 100644 --- a/keyboards/hecomi/keymaps/default/keymap.c +++ b/keyboards/hecomi/keymaps/default/keymap.c @@ -91,15 +91,3 @@ layer_state_t layer_state_set_user(layer_state_t state) } return state; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/hecomi/rules.mk b/keyboards/hecomi/rules.mk index 75686f92266f..7e396078679d 100644 --- a/keyboards/hecomi/rules.mk +++ b/keyboards/hecomi/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/heliar/wm1_hotswap/rules.mk b/keyboards/heliar/wm1_hotswap/rules.mk index 74214d81ac49..37700efb74c6 100644 --- a/keyboards/heliar/wm1_hotswap/rules.mk +++ b/keyboards/heliar/wm1_hotswap/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu ## Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/helix/pico/keymaps/default/config.h b/keyboards/helix/pico/keymaps/default/config.h index 7653185198bc..0bd76a18b451 100644 --- a/keyboards/helix/pico/keymaps/default/config.h +++ b/keyboards/helix/pico/keymaps/default/config.h @@ -36,7 +36,6 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_RAINBOW_SWIRL #define RGBLIGHT_EFFECT_SNAKE #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS #define RGBLIGHT_EFFECT_STATIC_GRADIENT //#define RGBLIGHT_EFFECT_RGB_TEST //#define RGBLIGHT_EFFECT_ALTERNATING diff --git a/keyboards/helix/pico/keymaps/mtei/keymap.c b/keyboards/helix/pico/keymaps/mtei/keymap.c index 27bf06243397..728ef0eb5f24 100644 --- a/keyboards/helix/pico/keymaps/mtei/keymap.c +++ b/keyboards/helix/pico/keymaps/mtei/keymap.c @@ -14,6 +14,9 @@ #include #endif +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) +#define kc5(a,b,c,d,e) KC_##a, KC_##b, KC_##c, KC_##d, KC_##e + extern keymap_config_t keymap_config; #ifdef RGBLIGHT_ENABLE @@ -46,43 +49,33 @@ enum custom_keycodes { EUCALYN, NUML, NUMR, - KC_xEISU, - KC_xKANA, - KC_ZERO2, + xEISU, + xKANA, + ZERO2, RGBRST }; +// clang-format off + //Macros -#define KC_LOWER MO(_LOWER) -#define KC_NUML LT(_NUML,KC_SPC) -#define KC_NUMR LT(_NUMR,KC_SPC) -#define KC_RABS LT(_RAISE,KC_BSPC) -#define KC_RAEN LT(_RAISE,KC_ENT) -#define KC_____ _______ -#define KC_XXXX XXXXXXX -#define KC_ADJ MO(_ADJUST) -#define KC_LSMI LSFT(KC_MINS) -#define KC_LSEQ LSFT(KC_EQL) -#define KC_LSRB LSFT(KC_RBRC) -#define KC_LSLB LSFT(KC_LBRC) -#define KC_LSGR LSFT(KC_GRV) -#define KC_LSQT LSFT(KC_QUOT) +#define LT_NUML_SP LT(_NUML,KC_SPC) +#define LT_NUMR_SP LT(_NUMR,KC_SPC) +#define LT_RA_BSPC LT(_RAISE,KC_BSPC) +#define LT_RA_ENT LT(_RAISE,KC_ENT) #define ___ _______ -#define KC_S0 LSFT(KC_0) -#define KC_S1 LSFT(KC_1) -#define KC_S2 LSFT(KC_2) -#define KC_S3 LSFT(KC_3) -#define KC_S4 LSFT(KC_4) -#define KC_S5 LSFT(KC_5) -#define KC_S6 LSFT(KC_6) -#define KC_S7 LSFT(KC_7) -#define KC_S8 LSFT(KC_8) -#define KC_S9 LSFT(KC_9) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty - * ,-----------------------------------------. ,-----------------------------------------. + /* Qwerty */ +#define Q_____W_____E_____R_____T kc5( Q, W, E, R, T ) +#define Y_____U_____I_____O_____P kc5( Y, U, I, O, P ) +#define A_____S_____D_____F_____G kc5( A, S, D, F, G ) +#define H_____J_____K_____L__SCLN kc5( H, J, K, L, SCLN ) +#define Z_____X_____C_____V_____B kc5( Z, X, C, V, B ) +#define N_____M__COMM___DOT__SLSH kc5( N, M, COMM, DOT, SLSH ) +#define LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS MO(_LOWER), MO(_LOWER), KC_CAPS, KC_LALT, KC_LGUI, LT_NUML_SP, LT_RA_BSPC +#define RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER LT_RA_ENT, LT_NUMR_SP, KC_RGUI, KC_RALT, KC_APP, MO(_LOWER), MO(_LOWER) + /* ,-----------------------------------------. ,-----------------------------------------. * | ESC | Q | W | E | R | T | | Y | U | I | O | P | \ | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | Ctrl | @@ -92,15 +85,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower | * `-------------------------------------------------------------------------------------------------' */ - [_QWERTY] = LAYOUT_kc( \ - ESC, Q, W, E, R, T, Y, U, I, O, P, BSLS, \ - LCTL, A, S, D, F, G, H, J, K, L, SCLN, RCTL, \ - LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT, \ - LOWER,LOWER, CAPS, LALT, LGUI,NUML, RABS, RAEN,NUMR, RGUI, RALT, APP,LOWER, LOWER \ - ), - - /* Colemak - * ,-----------------------------------------. ,-----------------------------------------. + [_QWERTY] = LAYOUT_wrapper( + KC_ESC, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS, + KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L__SCLN, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____B, N_____M__COMM___DOT__SLSH, KC_RSFT, + LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER + ), + + /* Colemak */ +#define Q_____W_____F_____P_____G kc5( Q, W, F, P, G ) +#define J_____L_____U_____Y__SCLN kc5( J, L, U, Y, SCLN ) +#define A_____R_____S_____T_____D kc5( A, R, S, T, D ) +#define H_____N_____E_____I_____O kc5( H, N, E, I, O ) +#define K_____M__COMM___DOT__SLSH kc5( K, M, COMM, DOT, SLSH ) + /* ,-----------------------------------------. ,-----------------------------------------. * | ESC | Q | W | F | P | G | | J | L | U | Y | ; | \ | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Ctrl | A | R | S | T | D | | H | N | E | I | O | Ctrl | @@ -110,15 +108,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower | * `-------------------------------------------------------------------------------------------------' */ - [_COLEMAK] = LAYOUT_kc( \ - ESC, Q, W, F, P, G, J, L, U, Y, SCLN, BSLS, \ - LCTL, A, R, S, T, D, H, N, E, I, O, RCTL, \ - LSFT, Z, X, C, V, B, K, M, COMM, DOT, SLSH, RSFT, \ - LOWER,LOWER, CAPS, LALT, LGUI,NUML, RABS, RAEN,NUMR, RGUI, RALT, APP,LOWER, LOWER \ - ), - - /* Dvorak - * ,-----------------------------------------. ,-----------------------------------------. + [_COLEMAK] = LAYOUT_wrapper( + KC_ESC, Q_____W_____F_____P_____G, J_____L_____U_____Y__SCLN, KC_BSLS, + KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____B, K_____M__COMM___DOT__SLSH, KC_RSFT, + LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER + ), + + /* Dvorak */ +#define QUOT__COMM___DOT_____P_____Y kc5( QUOT, COMM, DOT, P, Y ) +#define F_____G_____C_____R_____L kc5( F, G, C, R, L ) +#define A_____O_____E_____U_____I kc5( A, O, E, U, I ) +#define D_____H_____T_____N_____S kc5( D, H, T, N, S ) +#define SCLN_____Q_____J_____K_____X kc5( SCLN, Q, J, K, X ) +#define B_____M_____W_____V_____Z kc5( B, M, W, V, Z ) + /* ,-----------------------------------------. ,-----------------------------------------. * | ESC | ' | , | . | P | Y | | F | G | C | R | L | \ | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Ctrl | A | O | E | U | I | | D | H | T | N | S | Ctrl | @@ -128,15 +132,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower | * `-------------------------------------------------------------------------------------------------' */ - [_DVORAK] = LAYOUT_kc( \ - ESC, QUOT, COMM, DOT, P, Y, F, G, C, R, L, BSLS, \ - LCTL, A, O, E, U, I, D, H, T, N, S, RCTL, \ - LSFT, SCLN, Q, J, K, X, B, M, W, V, Z, RSFT, \ - LOWER,LOWER, CAPS, LALT, LGUI,NUML, RABS, RAEN,NUMR, RGUI, RALT, APP,LOWER, LOWER \ - ), - - /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) - * ,-----------------------------------------. ,-----------------------------------------. + [_DVORAK] = LAYOUT_wrapper( + KC_ESC, QUOT__COMM___DOT_____P_____Y, F_____G_____C_____R_____L, KC_BSLS, + KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL, + KC_LSFT, SCLN_____Q_____J_____K_____X, B_____M_____W_____V_____Z, KC_RSFT, + LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER + ), + + /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ +#define Q_____W__COMM___DOT__SCLN kc5( Q, W, COMM, DOT, SCLN ) +#define M_____R_____D_____Y_____P kc5( M, R, D, Y, P ) +#define A_____O_____E_____I_____U kc5( A, O, E, I, U ) +#define G_____T_____K_____S_____N kc5( G, T, K, S, N ) +#define Z_____X_____C_____V_____F kc5( Z, X, C, V, F ) +#define B_____H_____J_____L__SLSH kc5( B, H, J, L, SLSH ) + /* ,-----------------------------------------. ,-----------------------------------------. * | ESC | Q | W | , | . | ; | | M | R | D | Y | P | \ | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | Ctrl | A | O | E | I | U | | G | T | K | S | N | Ctrl | @@ -146,15 +156,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower | Lower| Caps | Alt | GUI | Space| BS | Enter| Space| GUI | Alt | Menu |Lower |Lower | * `-------------------------------------------------------------------------------------------------' */ - [_EUCALYN] = LAYOUT_kc( \ - ESC, Q, W, COMM, DOT, SCLN, M, R, D, Y, P, BSLS, \ - LCTL, A, O, E, I, U, G, T, K, S, N, RCTL, \ - LSFT, Z, X, C, V, F, B, H, J, L, SLSH, RSFT, \ - LOWER,LOWER, CAPS, LALT, LGUI,NUML, RABS, RAEN,NUMR, RGUI, RALT, APP,LOWER, LOWER \ - ), - - /* Num - * ,-----------------------------------------. ,-----------------------------------------. + [_EUCALYN] = LAYOUT_wrapper( + KC_ESC, Q_____W__COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, + KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____F, B_____H_____J_____L__SLSH, KC_RSFT, + LOWER___LOWER__CAPS__LALT__LGUI__NUML__RABS, RAEN_NUMR__RGUI__RALT___APP_LOWER__LOWER + ), + + /* Num */ +#define EXLM__AT__HASH___DLR__PERC kc5( EXLM, AT, HASH, DLR, PERC ) +#define CIRC_AMPR_ASTR__LPRN__RPRN kc5( CIRC, AMPR, ASTR, LPRN, RPRN ) +#define _1_____2_____3_____4_____5 kc5( 1, 2, 3, 4, 5 ) +#define _6_____7_____8_____9_____0 kc5( 6, 7, 8, 9, 0 ) +#define F1____F2____F3____F4____F5 kc5( F1, F2, F3, F4, F5 ) +#define F6____F7____F8____F9___F10 kc5( F6, F7, F8, F9, F10 ) +#define ____z_____z_____z_____z _______, _______, _______, _______ +#define ____z_____z_____z _______, _______, _______ +#define ____z_____z _______, _______ + /* ,-----------------------------------------. ,-----------------------------------------. * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | @@ -164,40 +183,53 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | | * `-------------------------------------------------------------------------------------------------' */ - [_NUML] = LAYOUT_kc( \ - ____, S1, S2, S3, S4, S5, S6, S7, S8, S9, S0, ____, \ - ____, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, F12, \ - ____, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, \ - ____, ____, ____, ____, ____, ____, ____, ____, SPC, ____, ____, ____, ____, ____ \ - ), - - [_NUMR] = LAYOUT_kc( \ - ____, S1, S2, S3, S4, S5, S6, S7, S8, S9, S0, ____, \ - ____, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, F12, \ - ____, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, \ - ____, ____, ____, ____, ____, SPC, ____, ____, ____, ____, ____, ____, ____, ____ \ - ), - - /* Lower - * ,-----------------------------------------. ,-----------------------------------------. + [_NUML] = LAYOUT_wrapper( + _______, EXLM__AT__HASH___DLR__PERC, CIRC_AMPR_ASTR__LPRN__RPRN, _______, + _______, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_F12, + _______, F1____F2____F3____F4____F5, F6____F7____F8____F9___F10, KC_F11, + _______, ____z_____z_____z_____z,____z_____z_____z,KC_SPC, ____z_____z_____z_____z, _______ + ), + [_NUMR] = LAYOUT_wrapper( + _______, EXLM__AT__HASH___DLR__PERC, CIRC_AMPR_ASTR__LPRN__RPRN, _______, + _______, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_F12, + _______, F1____F2____F3____F4____F5, F6____F7____F8____F9___F10, KC_F11, + _______, ____z_____z_____z_____z,KC_SPC, ____z_____z_____z,____z_____z_____z_____z, _______ + ), + /* Lower */ +#define XXXX__PAUS__SLCK___INS__XXXX XXXXXXX, KC_PAUS, KC_SLCK, KC_INS, XXXXXXX +#define XXXX___INS__SLCK__PAUS__XXXX XXXXXXX, KC_INS, KC_SLCK, KC_PAUS, XXXXXXX +#define HOME__XXXX____UP___DEL__PGUP KC_HOME, XXXXXXX, KC_UP, KC_DEL, KC_PGUP +#define PGUP___DEL____UP__XXXX__HOME KC_PGUP, KC_DEL, KC_UP, XXXXXXX, KC_HOME +#define END___LEFT__DOWN__RGHT__PGDN kc5( END, LEFT, DOWN, RGHT, PGDN ) +#define PGDN__LEFT__DOWN__RGHT___END kc5( PGDN, LEFT, DOWN, RGHT, END ) +#define ______PSCR__________________ _______, KC_PSCR, _______, _______, _______ +#define __________________PSCR______ _______, _______, _______, KC_PSCR, _______ +#define ADJ___ADJ MO(_ADJUST), MO(_ADJUST) + /* ,-----------------------------------------. ,-----------------------------------------. * | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | PgUp | | Up |Delete| Home | | Home |Delete| Up | | PgUp | | + * | | Home | | Up |Delete| PgUp | | PgUp |Delete| Up | | Home | | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | PgDn | Left | Down | Right| End | | End | Left | Down | Right| PgDn | | + * | | End | Left | Down | Right| PgDn | | PgDn | Left | Down | Right| End | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | | | PrtSc| | | |Adjust|Adjust| | | | PrtSc| | | * `-------------------------------------------------------------------------------------------------' */ - [_LOWER] = LAYOUT_kc( \ - XXXX, XXXX, PAUS, SLCK, INS, XXXX, XXXX, INS, SLCK, PAUS, XXXX, ____, \ - ____, HOME, XXXX, UP, DEL, PGUP, PGUP, DEL, UP, XXXX, HOME, ____, \ - ____, END, LEFT, DOWN, RGHT, PGDN, PGDN, LEFT, DOWN, RGHT, END, ____, \ - ____, ____, PSCR, ____, ____, ____, ADJ, ADJ, ____, ____, ____, PSCR, ____, ____ \ - ), - - /* Raise - * ,-----------------------------------------. ,-----------------------------------------. + [_LOWER] = LAYOUT_wrapper( + XXXXXXX, XXXX__PAUS__SLCK___INS__XXXX, XXXX___INS__SLCK__PAUS__XXXX, _______, + _______, HOME__XXXX____UP___DEL__PGUP, PGUP___DEL____UP__XXXX__HOME, _______, + _______, END___LEFT__DOWN__RGHT__PGDN, PGDN__LEFT__DOWN__RGHT___END, _______, + _______, ______PSCR__________________, ADJ___ADJ, __________________PSCR______, _______ + ), + /* Raise */ +#define XXXX__XXXX__XXXX__UNDS__MINS XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_MINS +#define EQL__PLUS__XXXX__XXXX__XXXX KC_EQL, KC_PLUS, XXXXXXX, XXXXXXX, XXXXXXX +#define XXXX__XXXX__XXXX__LCBR__LBRC XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_LBRC +#define RBRC__RCBR__XXXX__XXXX__XXXX KC_RBRC, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX +#define XXXX__XXXX__XXXX__TILD___GRV XXXXXXX, XXXXXXX, XXXXXXX, KC_TILD, KC_GRV +#define QUOT___DQT__XXXX__XXXX__XXXX KC_QUOT, KC_DQT, XXXXXXX, XXXXXXX, XXXXXXX +#define XXXX______________XXXX XXXXXXX, _______, _______, XXXXXXX + /* ,-----------------------------------------. ,-----------------------------------------. * | TAB | | | | _ | - | | = | + | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | EISU | | | | { | [ | | ] | } | | | | KANA | @@ -207,13 +239,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | | * `-------------------------------------------------------------------------------------------------' */ - [_RAISE] = LAYOUT_kc( \ - TAB, XXXX, XXXX, XXXX, LSMI, MINS, EQL, LSEQ, XXXX, XXXX, XXXX, XXXX, \ - xEISU, XXXX, XXXX, XXXX, LSLB, LBRC, RBRC, LSRB, XXXX, XXXX, XXXX, xKANA, \ - XXXX, XXXX, XXXX, XXXX, LSGR, GRV, QUOT, LSQT, XXXX, XXXX, XXXX, XXXX, \ - ADJ, ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, ADJ, ADJ \ - ), - + [_RAISE] = LAYOUT_wrapper( + KC_TAB, XXXX__XXXX__XXXX__UNDS__MINS, EQL__PLUS__XXXX__XXXX__XXXX, XXXXXXX, + xEISU, XXXX__XXXX__XXXX__LCBR__LBRC, RBRC__RCBR__XXXX__XXXX__XXXX, xKANA, + XXXXXXX, XXXX__XXXX__XXXX__TILD___GRV, QUOT___DQT__XXXX__XXXX__XXXX, XXXXXXX, + ADJ___ADJ, XXXX______________XXXX, ____z_____z, XXXX______________XXXX, ADJ___ADJ + ), /* Adjust (Lower + Raise) * ,-----------------------------------------. ,-----------------------------------------. * | | Reset|RGBRST|RGB ON|Aud on| Win | | Win | |Qwerty|Euclyn|Colemk|Dvorak| @@ -226,10 +257,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-------------------------------------------------------------------------------------------------' */ [_ADJUST] = LAYOUT( \ - XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, XXXXXXX, QWERTY, EUCALYN, COLEMAK, DVORAK, \ - RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ - _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ___,___, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ \ + XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, XXXXXXX, QWERTY, EUCALYN, COLEMAK, DVORAK, \ + RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ + RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ + _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ___,___, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ \ ) }; @@ -302,7 +333,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - case KC_xEISU: + case xEISU: if (record->event.pressed) { if(keymap_config.swap_lalt_lgui==false){ register_code(KC_LANG2); @@ -314,7 +345,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - case KC_xKANA: + case xKANA: if (record->event.pressed) { if(keymap_config.swap_lalt_lgui==false){ register_code(KC_LANG1); diff --git a/keyboards/helix/pico/local_features.mk b/keyboards/helix/pico/local_features.mk index 25dcb8b6d32d..be5c739f9763 100644 --- a/keyboards/helix/pico/local_features.mk +++ b/keyboards/helix/pico/local_features.mk @@ -138,7 +138,6 @@ ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) $(eval $(call HELIX_CUSTOMISE_MSG)) ifneq ($(strip $(SHOW_VERBOSE_INFO)),) $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE)) - $(info -- OLED_DRIVER_ENABLE = $(OLED_DRIVER_ENABLE)) $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE)) $(info -- OPT_DEFS = $(OPT_DEFS)) $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) @@ -146,3 +145,5 @@ ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) $(info ) endif endif + +OLED_ENABLE = no # disable OLED in TOP/common_features.mk diff --git a/keyboards/helix/pico/pico.c b/keyboards/helix/pico/pico.c index 12b8ae9efa99..315b35a7aee3 100644 --- a/keyboards/helix/pico/pico.c +++ b/keyboards/helix/pico/pico.c @@ -11,11 +11,6 @@ uint8_t is_master = false; bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return process_record_gfx(keycode,record) && process_record_user(keycode, record); } - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - //led_set_user(usb_led); -} #endif void matrix_init_kb(void) { diff --git a/keyboards/helix/pico/pico.h b/keyboards/helix/pico/pico.h index 60a5078ed47d..5fa5f7295810 100644 --- a/keyboards/helix/pico/pico.h +++ b/keyboards/helix/pico/pico.h @@ -50,15 +50,3 @@ extern uint8_t is_master; // 'is_master' will be obsolete, it is recommended to { R36, R30, R31, R32, R33, R34, R35 }, \ } #endif - -#define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35 \ -) LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \ -) diff --git a/keyboards/helix/rev1/rev1.c b/keyboards/helix/rev1/rev1.c index 309cca010f1a..d053f0de17cb 100644 --- a/keyboards/helix/rev1/rev1.c +++ b/keyboards/helix/rev1/rev1.c @@ -7,22 +7,4 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return process_record_gfx(keycode,record) && process_record_user(keycode, record); } - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - led_set_user(usb_led); -} #endif - -void matrix_init_kb(void) { - - // // green led on - // DDRD |= (1<<5); - // PORTD &= ~(1<<5); - - // // orange led on - // DDRB |= (1<<0); - // PORTB &= ~(1<<0); - - matrix_init_user(); -}; diff --git a/keyboards/helix/rev1/rev1.h b/keyboards/helix/rev1/rev1.h index b3a525554e5e..7db27bcca05a 100644 --- a/keyboards/helix/rev1/rev1.h +++ b/keyboards/helix/rev1/rev1.h @@ -127,42 +127,3 @@ #else #error "expected HELIX_ROWS 3 or 4 or 5" #endif - -// Used to create a keymap using only KC_ prefixed keys -#if MATRIX_ROWS == 6 // HELIX_ROWS == 3 - #define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25 \ - ) LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25 \ - ) -#elif MATRIX_ROWS == 8 // HELIX_ROWS == 4 - #define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \ - ) LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \ - ) -#else // HELIX_ROWS == 5 - #define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \ - L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \ - ) LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35, \ - KC_##L40, KC_##L41, KC_##L42, KC_##L43, KC_##L44, KC_##L45, KC_##R40, KC_##R41, KC_##R42, KC_##R43, KC_##R44, KC_##R45 \ - ) -#endif diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h index 73f0c61993ee..041acee2158a 100644 --- a/keyboards/helix/rev2/config.h +++ b/keyboards/helix/rev2/config.h @@ -42,8 +42,8 @@ along with this program. If not, see . // #define EE_HANDS // Helix keyboard OLED support -// see ./rules.mk: OLED_ENABLE=yes or no -#ifdef OLED_ENABLE +// see ./local_features.mk: OLED_SELECT=local +#ifdef OLED_LOCAL_ENABLE #define SSD1306OLED #endif diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c index 04d6408c6cd0..36a7cf0b10bc 100644 --- a/keyboards/helix/rev2/keymaps/default/oled_display.c +++ b/keyboards/helix/rev2/keymaps/default/oled_display.c @@ -36,9 +36,9 @@ enum layer_number { }; //SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#if defined(SSD1306OLED) || defined(OLED_DRIVER_ENABLE) +#if defined(SSD1306OLED) || defined(OLED_ENABLE) -# if defined(OLED_DRIVER_ENABLE) +# if defined(OLED_ENABLE) oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) { return OLED_ROTATION_0; diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk index 206e836ec011..c16f3e2b87f4 100644 --- a/keyboards/helix/rev2/keymaps/default/rules.mk +++ b/keyboards/helix/rev2/keymaps/default/rules.mk @@ -5,7 +5,7 @@ # See TOP/keyboards/helix/rules.mk for a list of options that can be set. # See TOP/docs/config_options.md for more information. # -LTO_ENABLE = no # if firmware size over limit, try this option +LTO_ENABLE = yes # if firmware size over limit, try this option # Helix Spacific Build Options # you can uncomment and edit follows 7 Variables diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/config.h b/keyboards/helix/rev2/keymaps/edvorakjp/config.h index cd0568f61e39..ca3b73aa29af 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/config.h +++ b/keyboards/helix/rev2/keymaps/edvorakjp/config.h @@ -1,5 +1,4 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H +#pragma once #define SWAP_SCLN @@ -12,15 +11,13 @@ // Selection of RGBLIGHT MODE to use. #if defined(LED_ANIMATIONS) - //#define RGBLIGHT_EFFECT_BREATHING - //#define RGBLIGHT_EFFECT_RAINBOW_MOOD - //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - //#define RGBLIGHT_EFFECT_KNIGHT - //#define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -#endif - -#endif /* CONFIG_USER_H */ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +#endif // LED_ANIMATIONS diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c index 9fba5072c40e..5de00cb14c3a 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c +++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap.c @@ -1,38 +1,24 @@ #include QMK_KEYBOARD_H #include "split_util.h" #include "keymap_xrows.h" -#ifdef SSD1306OLED - #include "oled.h" -#endif // keymaps definitions are moved to keymap_Xrows.c. -#ifdef SSD1306OLED -void matrix_init_keymap(void) { - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - iota_gfx_init(!has_usb()); // turns on the display -} - -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} -#endif - #ifdef RGBLIGHT_ENABLE uint32_t layer_state_set_keymap(uint32_t state) { - rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); - switch (biton32(state)) { - case _LOWER: - rgblight_sethsv_noeeprom_red(); - break; - case _RAISE: - rgblight_sethsv_noeeprom_blue(); - break; - default: // for any other layers, or the default layer - rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3); - rgblight_sethsv_red(); - break; - } - return state; + rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); + switch (biton32(state)) { + case L_EDVORAKJP_LOWER: + rgblight_sethsv_noeeprom_red(); + break; + case L_EDVORAKJP_RAISE: + rgblight_sethsv_noeeprom_green(); + break; + default: // for any other layers, or the default layer + rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3); + rgblight_sethsv_red(); + break; + } + return state; } #endif diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_4rows.c b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_4rows.c index f2befc03b584..246c2a9fd250 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_4rows.c +++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_4rows.c @@ -1,41 +1,42 @@ #include "helix.h" #include "keymap_xrows.h" +// clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_EDVORAK] = LAYOUT_kc( - //,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----. - GRV ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS, - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS, - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - ESC ,SCLN, X , C , V , Z , H , J , K , L , B ,SLSH, - //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----| - HOME,PGDN,PGUP , END ,TMB1 ,TMB2,TMB3, TMB4,TMB5,TMB6 ,LEFT ,DOWN , UP ,RGHT - //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----' + [L_EDVORAKJP_BASE] = LAYOUT_wrapper( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_ESC, __EDVORAKJP_BASE_L3__ , __EDVORAKJP_BASE_R3__ , KC_SLSH, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + __EDVORAKJP_PAGE__ , LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT, __EDVORAKJP_CURSOR__ + //`--------------------------------------------------------------' `--------------------------------------------------------------' ), - [_LOWER] = LAYOUT_kc( - //,----+----+------+------+------+----. ,----+------+------+-------+----+----. - , , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , , - //|----+----+------+------+------+----| |----+------+------+-------+----+----| - F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 , - //|----+----+------+------+------+----| |----+------+------+-------+----+----| - PSCR, , HOME , PGDN , PGUP ,END , LEFT, DOWN , UP , RGHT , , , - //|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----| - , , , , , , NO , MAC ,TMB7, , , , , - //`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----' + [L_EDVORAKJP_LOWER] = LAYOUT_wrapper( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + __EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ , + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + __KC_TRNS_x4__ , KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS, __KC_TRNS_x4__ + //`--------------------------------------------------------------' `--------------------------------------------------------------' ), - [_RAISE] = LAYOUT_kc( - //,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----. - , ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , , - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - , 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , , - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - PSCR, ,HOME ,PGDN ,PGUP ,END , LEFT,DOWN , UP ,RGHT , , , - //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----| - , , , , , ,WIN , NO , , , , , , - //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----' + [L_EDVORAKJP_RAISE] = LAYOUT_wrapper( + //,-----------------------------------------------------. ,-----------------------------------------------------. + XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + __KC_TRNS_x4__ , KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS, __KC_TRNS_x4__ + //`--------------------------------------------------------------' `--------------------------------------------------------------' ) }; +// clang-format on diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_5rows.c b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_5rows.c index 642ba8c635b4..6f2a4d371a1b 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_5rows.c +++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_5rows.c @@ -1,47 +1,48 @@ #include "helix.h" #include "keymap_xrows.h" +// clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_EDVORAK] = LAYOUT_kc( - //,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----. - ESC ,EXLM, AT ,HASH , DLR ,PERC, CIRC,AMPR ,ASTR ,LPRN ,RPRN,BSPC, - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - GRV ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS, - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS, - //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----| - TAB ,SCLN, X , C , V , Z , NO , NO , H , J , K , L , B ,SLSH, - //|----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----| - HOME,PGDN,PGUP , END ,TMB1 ,TMB2,TMB3, TMB4,TMB5,TMB6 ,LEFT ,DOWN , UP ,RGHT - //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----' + [L_EDVORAKJP_BASE] = LAYOUT_wrapper( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS, + //|--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------| + KC_ESC, __EDVORAKJP_BASE_L3__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BASE_R3__ , KC_SLSH, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + __EDVORAKJP_PAGE__ , LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT, __EDVORAKJP_CURSOR__ + //`--------------------------------------------------------------' `--------------------------------------------------------------' ), - [_LOWER] = LAYOUT_kc( - //,----+----+------+------+------+----. ,----+------+------+-------+----+----. - PSCR, , , , , , , , , , , , - //|----+----+------+------+------+----| |----+------+------+-------+----+----| - , , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , , - //|----+----+------+------+------+----| |----+------+------+-------+----+----| - F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 , - //|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----| - , , HOME , PGDN , PGUP ,END , , ,LEFT, DOWN , UP , RGHT , , , - //|----+----+------+------+------+----+----| |----+----+------+------+-------+----+----| - , , , , , , NO , MAC ,TMB7, , , , , - //`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----' + [L_EDVORAKJP_LOWER] = LAYOUT_wrapper( + //,-----------------------------------------------------. ,-----------------------------------------------------. + __KC_TRNS_x6__ , __KC_TRNS_x6__ , + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + __EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ , + //|--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------| + KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , KC_TRNS, KC_TRNS, __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + __KC_TRNS_x4__ , KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS, __KC_TRNS_x4__ + //`--------------------------------------------------------------' `--------------------------------------------------------------' ), - [_RAISE] = LAYOUT_kc( - //,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----. - PSCR, , , , , , , , , , , , - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - , ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , , - //|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----| - , 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , , - //|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----| - , ,HOME ,PGDN ,PGUP ,END , , ,LEFT,DOWN , UP ,RGHT , , , - //|----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----| - , , , , , ,WIN , NO , , , , , , - //`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----' + [L_EDVORAKJP_RAISE] = LAYOUT_wrapper( + //,-----------------------------------------------------. ,-----------------------------------------------------. + __KC_TRNS_x6__ , __KC_TRNS_x6__ , + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------| + KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , KC_TRNS, KC_TRNS, __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + __KC_TRNS_x4__ , KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS, __KC_TRNS_x4__ + //`--------------------------------------------------------------' `--------------------------------------------------------------' ) }; +// clang-format on diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_xrows.h b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_xrows.h index d9561d0b707f..aae83fc7a841 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/keymap_xrows.h +++ b/keyboards/helix/rev2/keymaps/edvorakjp/keymap_xrows.h @@ -1,5 +1,4 @@ -#ifndef KEYMAP_XROWS_H -#define KEYMAP_XROWS_H +#pragma once #include "edvorakjp.h" /* @@ -8,14 +7,7 @@ * }; */ -#define KC_ KC_TRNS +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) -#define KC_TMB1 KC_LA(TAB) -#define KC_TMB2 KC_LS(SPC) -#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped -#define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped -#define KC_TMB5 KC_RC(BSPC) -#define KC_TMB6 KC_RG(ENT) -#define KC_TMB7 KC_RC(DEL) - -#endif +#define __KC_TRNS_x4__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS +#define __KC_TRNS_x6__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c index b931b72b7ccb..500a7bbf1a78 100644 --- a/keyboards/helix/rev2/keymaps/edvorakjp/oled.c +++ b/keyboards/helix/rev2/keymaps/edvorakjp/oled.c @@ -1,72 +1,68 @@ +#include #include #include "oled.h" -static void render_logo(struct CharacterMatrix *matrix) { +#ifdef OLED_ENABLE +void render_host_led_state(void) { + char led_state_str[24]; + uint8_t leds = host_keyboard_leds(); - static char logo[] = { - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - matrix_write(matrix, logo); -} + bool is_num_lock_enabled = leds & (1 << USB_LED_NUM_LOCK); + bool is_caps_lock_enabled = leds & (1 << USB_LED_CAPS_LOCK); + bool is_scroll_lock_enabled = leds & (1 << USB_LED_SCROLL_LOCK); -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } + snprintf(led_state_str, sizeof(led_state_str), "NL:%s CL:%s SL:%s", is_num_lock_enabled ? "on" : "- ", is_caps_lock_enabled ? "on" : "- ", is_scroll_lock_enabled ? "on" : "- "); + oled_write(led_state_str, false); } -void render_status(struct CharacterMatrix *matrix) { - - // Render to mode icon - static char logo[][2][3] = {{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - int mode_number = get_enable_kc_lang() ? 0 : 1; - matrix_write(matrix, logo[mode_number][0]); - matrix_write(matrix, "\n"); - matrix_write(matrix, logo[mode_number][1]); +void render_layer_state(void) { + char layer_name[17]; + oled_write_P(PSTR("Layer: "), false); - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - char buf[40]; - snprintf(buf,sizeof(buf), "Undef-%ld", layer_state); - matrix_write_P(matrix, PSTR("\nLayer: ")); - switch (biton32(layer_state)) { - case L_BASE: - matrix_write_P(matrix, PSTR("Default")); - break; - case _RAISE: - matrix_write_P(matrix, PSTR("Raise")); - break; - case _LOWER: - matrix_write_P(matrix, PSTR("Lower")); - break; - default: - matrix_write(matrix, buf); - } + switch (biton32(layer_state)) { + case L_EDVORAKJP_BASE: + oled_write_ln_P(PSTR("Default"), false); + break; + case L_EDVORAKJP_LOWER: + oled_write_ln_P(PSTR("Lower"), false); + break; + case L_EDVORAKJP_RAISE: + oled_write_ln_P(PSTR("Raise"), false); + break; + default: + snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state); + oled_write_ln(layer_name, false); + } +} - // Host Keyboard LED Status - char led[40]; - snprintf(led, sizeof(led), "\n%s %s %s", - (host_keyboard_leds() & (1<. // If you need more program area, try select and reduce rgblight modes to use. +#define DISABLE_SYNC_TIMER + // Selection of RGBLIGHT MODE to use. #undef RGBLIGHT_ANIMATIONS #undef RGBLIGHT_EFFECT_BREATHING diff --git a/keyboards/helix/rev2/keymaps/five_rows/keymap.c b/keyboards/helix/rev2/keymaps/five_rows/keymap.c index a2ec1086242d..16eff49244ee 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows/keymap.c @@ -42,6 +42,8 @@ enum custom_keycodes { RGBRST }; +// clang-format off + #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) //Macros @@ -49,24 +51,26 @@ enum custom_keycodes { #define XXXX XXXXXXX #define ____ _______ #define KC_ADJ MO(_ADJUST) -#define KC_LSMI LSFT(KC_MINS) -#define KC_LSEQ LSFT(KC_EQL) -#define KC_LSRB LSFT(KC_RBRC) -#define KC_LSLB LSFT(KC_LBRC) -#define _1_2_3_4_5 KC_1, KC_2, KC_3, KC_4, KC_5 -#define _6_7_8_9_0 KC_6, KC_7, KC_8, KC_9, KC_0 -#define L_LOWER2_CAPS_LALT_LGUI_SPC_RABS \ +#define _1_____2_____3_____4_____5 KC_1, KC_2, KC_3, KC_4, KC_5 +#define _6_____7_____8_____9_____0 KC_6, KC_7, KC_8, KC_9, KC_0 +#define LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS \ KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC) -#define R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ +#define RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER \ LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_LOWER, KC_LOWER - +#define GRV__QUOT KC_GRV, KC_QUOT #if MATRIX_ROWS == 10 // HELIX_ROWS == 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty - * ,-----------------------------------. ,-----------------------------------. + /* Qwerty */ +#define Q_____W_____E_____R_____T KC_Q, KC_W, KC_E, KC_R, KC_T +#define Y_____U_____I_____O_____P KC_Y, KC_U, KC_I, KC_O, KC_P +#define A_____S_____D_____F_____G KC_A, KC_S, KC_D, KC_F, KC_G +#define H_____J_____K_____L____SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN +#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B +#define N_____M____COMM__DOT___SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH + /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | @@ -78,23 +82,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ -#define _Q_W_E_R_T KC_Q, KC_W, KC_E, KC_R, KC_T -#define _Y_U_I_O_P KC_Y, KC_U, KC_I, KC_O, KC_P -#define _A_S_D_F_G KC_A, KC_S, KC_D, KC_F, KC_G -#define _H_J_K_L_SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN -#define _Z_X_C_V_B KC_Z, KC_X, KC_C, KC_V, KC_B -#define _N_M_COMM_DOT_SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH - - [_QWERTY] = LAYOUT_wrapper( \ - KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \ - KC_TAB, _Q_W_E_R_T, _Y_U_I_O_P, KC_BSLS, \ - KC_LCTL, _A_S_D_F_G, _H_J_K_L_SCLN, KC_RCTL, \ - KC_LSFT, _Z_X_C_V_B, KC_GRV, KC_QUOT, _N_M_COMM_DOT_SLSH, KC_RSFT, \ - L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ + [_QWERTY] = LAYOUT_wrapper( + KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, + KC_TAB, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS, + KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L____SCLN, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, N_____M____COMM__DOT___SLSH, KC_RSFT, + LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), - /* Colemak - * ,-----------------------------------. ,-----------------------------------. + /* Colemak */ +#define Q_____W_____F_____P_____G KC_Q, KC_W, KC_F, KC_P, KC_G +#define J_____L_____U_____Y____SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN +#define A_____R_____S_____T_____D KC_A, KC_R, KC_S, KC_T, KC_D +#define H_____N_____E_____I_____O KC_H, KC_N, KC_E, KC_I, KC_O +#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B +#define K_____M____COMM__DOT___SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH + /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | @@ -106,23 +109,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ -#define _Q_W_F_P_G KC_Q, KC_W, KC_F, KC_P, KC_G -#define _J_L_U_Y_SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN -#define _A_R_S_T_D KC_A, KC_R, KC_S, KC_T, KC_D -#define _H_N_E_I_O KC_H, KC_N, KC_E, KC_I, KC_O -#define _Z_X_C_V_B KC_Z, KC_X, KC_C, KC_V, KC_B -#define _K_M_COMM_DOT_SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH - - [_COLEMAK] = LAYOUT_wrapper( \ - KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \ - KC_TAB, _Q_W_F_P_G, _J_L_U_Y_SCLN, KC_BSLS, \ - KC_LCTL, _A_R_S_T_D, _H_N_E_I_O, KC_RCTL, \ - KC_LSFT, _Z_X_C_V_B, KC_GRV, KC_QUOT, _K_M_COMM_DOT_SLSH, KC_RSFT, \ - L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ - ), + [_COLEMAK] = LAYOUT_wrapper( + KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, + KC_TAB, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS, + KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, K_____M____COMM__DOT___SLSH, KC_RSFT, + LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER + ), - /* Dvorak - * ,-----------------------------------. ,-----------------------------------. + /* Dvorak */ +#define QUOT_COMM___DOT____P_____Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y +#define F_____G_____C_____R_____L KC_F, KC_G, KC_C, KC_R, KC_L +#define A_____O_____E_____U_____I KC_A, KC_O, KC_E, KC_U, KC_I +#define D_____H_____T_____N_____S KC_D, KC_H, KC_T, KC_N, KC_S +#define SCLN___Q_____J_____K_____X KC_SCLN, KC_Q, KC_J, KC_K, KC_X +#define B_____M_____W_____V_____Z KC_B, KC_M, KC_W, KC_V, KC_Z +#define GRV__SLSH KC_GRV, KC_SLSH + /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| * | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ | @@ -134,23 +137,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ -#define _QUOT_COMM_DOT_P_Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y -#define _F_G_C_R_L KC_F, KC_G, KC_C, KC_R, KC_L -#define _A_O_E_U_I KC_A, KC_O, KC_E, KC_U, KC_I -#define _D_H_T_N_S KC_D, KC_H, KC_T, KC_N, KC_S -#define _SCLN_Q_J_K_X KC_SCLN, KC_Q, KC_J, KC_K, KC_X -#define _B_M_W_V_Z KC_B, KC_M, KC_W, KC_V, KC_Z - - [_DVORAK] = LAYOUT_wrapper( \ - KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \ - KC_TAB, _QUOT_COMM_DOT_P_Y, _F_G_C_R_L, KC_BSLS, \ - KC_LCTL, _A_O_E_U_I, _D_H_T_N_S, KC_RCTL, \ - KC_LSFT, _SCLN_Q_J_K_X, KC_GRV, KC_SLSH, _B_M_W_V_Z, KC_RSFT, \ - L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ + [_DVORAK] = LAYOUT_wrapper( + KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, + KC_TAB, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS, + KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL, + KC_LSFT, SCLN___Q_____J_____K_____X, GRV__SLSH, B_____M_____W_____V_____Z, KC_RSFT, + LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), - /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) - * ,-----------------------------------. ,-----------------------------------. + /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ +#define Q_____W___COMM___DOT__SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN +#define M_____R_____D_____Y_____P KC_M, KC_R, KC_D, KC_Y, KC_P +#define A_____O_____E_____I_____U KC_A, KC_O, KC_E, KC_I, KC_U +#define G_____T_____K_____S_____N KC_G, KC_T, KC_K, KC_S, KC_N +#define Z_____X_____C_____V_____F KC_Z, KC_X, KC_C, KC_V, KC_F +#define B_____H_____J_____L____SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH + /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| * | Tab | Q | W | , | . | ; | | M | R | D | Y | P | \ | @@ -162,23 +164,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ -#define _Q_W_COMM_DOT_SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN -#define _M_R_D_Y_P KC_M, KC_R, KC_D, KC_Y, KC_P -#define _A_O_E_I_U KC_A, KC_O, KC_E, KC_I, KC_U -#define _G_T_K_S_N KC_G, KC_T, KC_K, KC_S, KC_N -#define _Z_X_C_V_F KC_Z, KC_X, KC_C, KC_V, KC_F -#define _B_H_J_L_SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH - - [_EUCALYN] = LAYOUT_wrapper( \ - KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \ - KC_TAB, _Q_W_COMM_DOT_SCLN, _M_R_D_Y_P, KC_BSLS, \ - KC_LCTL, _A_O_E_I_U, _G_T_K_S_N, KC_RCTL, \ - KC_LSFT, _Z_X_C_V_F, KC_GRV, KC_QUOT, _B_H_J_L_SLSH, KC_RSFT, \ - L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ - ), + [_EUCALYN] = LAYOUT_wrapper( + KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, + KC_TAB, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, + KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____F, GRV__QUOT, B_____H_____J_____L____SLSH, KC_RSFT, + LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER + ), - /* Keypad - * ,-----------------------------------. ,-----------------------------------. + /* Keypad */ +#define KP_TAB__PSLS_PAST KC_TAB, KC_PSLS, KC_PAST +#define KP__7_____8_____9 KC_KP_7, KC_KP_8, KC_KP_9 +#define KP__4_____5_____6 KC_KP_4, KC_KP_5, KC_KP_6 +#define KP__1_____2_____3 KC_KP_1, KC_KP_2, KC_KP_3 +#define KP__0___COMM_PDOT KC_KP_0, KC_COMM, KC_PDOT +#define F1___F6 KC_F1, KC_F6 +#define F2___F7 KC_F2, KC_F7 +#define F3___F8 KC_F3, KC_F8 +#define F4___F9 KC_F4, KC_F9 +#define F5__F10 KC_F5, KC_F10 +#define FF12 LT(_PADFUNC,KC_F12) + /* ,-----------------------------------. ,-----------------------------------. * | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| * | 7 | 8 | 9 | BS | F2 | F7 | | F2 | F7 | BS | 7 | 8 | 9 | @@ -190,25 +196,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | 0 | , | . |Enter| F5 | F10| F12 | F12 | F5 | F10|Enter| 0 | , | . | * `-----------------------------------------------------------------------------------' */ -#define KP_TOP KC_TAB, KC_PSLS, KC_PAST -#define KP_789 KC_KP_7, KC_KP_8, KC_KP_9 -#define KP_456 KC_KP_4, KC_KP_5, KC_KP_6 -#define KP_123 KC_KP_1, KC_KP_2, KC_KP_3 -#define KP_BTM KC_KP_0, KC_COMM, KC_PDOT -#define F_1_6 KC_F1, KC_F6 -#define F_2_7 KC_F2, KC_F7 -#define F_3_8 KC_F3, KC_F8 -#define F_4_9 KC_F4, KC_F9 -#define F_510 KC_F5, KC_F10 -#define FF12 LT(_PADFUNC,KC_F12) - - [_KEYPAD] = LAYOUT_wrapper( \ - KP_TOP, KC_DEL, F_1_6, F_1_6, KC_DEL, KP_TOP, \ - KP_789, KC_BSPC, F_2_7, F_2_7, KC_BSPC, KP_789, \ - KP_456, KC_PMNS, F_3_8, F_3_8, KC_PMNS, KP_456, \ - KP_123, KC_PPLS, F_4_9, KC_F11, KC_F11, F_4_9, KC_PPLS, KP_123, \ - KP_BTM, KC_PENT, F_510, FF12, FF12, F_510, KC_PENT, KP_BTM \ - ), + [_KEYPAD] = LAYOUT_wrapper( + KP_TAB__PSLS_PAST, KC_DEL, F1___F6, F1___F6, KC_DEL, KP_TAB__PSLS_PAST, + KP__7_____8_____9, KC_BSPC, F2___F7, F2___F7, KC_BSPC, KP__7_____8_____9, + KP__4_____5_____6, KC_PMNS, F3___F8, F3___F8, KC_PMNS, KP__4_____5_____6, + KP__1_____2_____3, KC_PPLS, F4___F9, KC_F11,KC_F11, F4___F9, KC_PPLS, KP__1_____2_____3, + KP__0___COMM_PDOT, KC_PENT, F5__F10, FF12, FF12, F5__F10, KC_PENT, KP__0___COMM_PDOT + ), /* AUX modifier key layer * ,-----------------------------------. ,-----------------------------------. @@ -223,16 +217,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | 00 | | | | | | | | | | | 00 | | * `-----------------------------------------------------------------------------------' */ - [_KAUX] = LAYOUT( \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____ \ + [_KAUX] = LAYOUT( + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____ ), - /* Keypad function layer - * ,-----------------------------------------. ,-----------------------------------------. + /* Keypad function layer */ +#define PAUS__SLCK__PSCR KC_PAUS, KC_SLCK, KC_PSCR +#define PSCR__SLCK__PAUS KC_PSCR, KC_SLCK, KC_PAUS +#define HOME___UP___PGUP KC_HOME, KC_UP, KC_PGUP +#define PGUP___UP___HOME KC_PGUP, KC_UP, KC_HOME +#define DEL____INS__LEFT__DOWN__RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT +#define LEFT__DOWN__RGHT___INS___DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL +#define PGDN___ADJ___ADJ__PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN + /* ,-----------------------------------------. ,-----------------------------------------. * | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | | | Home | Up | PgUp | | PgUp | Up | Home | | | | @@ -244,55 +245,53 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | | * `-------------------------------------------------------------------------------------------------' */ -#define _PAUS_SLCK_PSCR KC_PAUS, KC_SLCK, KC_PSCR -#define _PSCR_SLCK_PAUS KC_PSCR, KC_SLCK, KC_PAUS -#define _HOME_UP_PGUP KC_HOME, KC_UP, KC_PGUP -#define _PGUP_UP_HOME KC_PGUP, KC_UP, KC_HOME -#define _DEL_INS_LEFT_DOWN_RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT -#define _LEFT_DOWN_RGHT_INS_DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL -#define _PGDN_ADJ_ADJ_PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN - - [_PADFUNC] = LAYOUT_wrapper( \ - XXXX, XXXX, XXXX, _PAUS_SLCK_PSCR, _PSCR_SLCK_PAUS, XXXX, XXXX, XXXX, \ - XXXX, XXXX, XXXX, _HOME_UP_PGUP, _PGUP_UP_HOME, XXXX, XXXX, XXXX, \ - XXXX, _DEL_INS_LEFT_DOWN_RGHT, _LEFT_DOWN_RGHT_INS_DEL, XXXX, \ - XXXX, XXXX, XXXX, KC_END, XXXX, _PGDN_ADJ_ADJ_PGDN, XXXX, KC_END, XXXX, XXXX, XXXX, \ - XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX \ + [_PADFUNC] = LAYOUT_wrapper( + XXXX, XXXX, XXXX, PAUS__SLCK__PSCR, PSCR__SLCK__PAUS, XXXX, XXXX, XXXX, + XXXX, XXXX, XXXX, HOME___UP___PGUP, PGUP___UP___HOME, XXXX, XXXX, XXXX, + XXXX, DEL____INS__LEFT__DOWN__RGHT, LEFT__DOWN__RGHT___INS___DEL, XXXX, + XXXX, XXXX, XXXX,KC_END,XXXX, PGDN___ADJ___ADJ__PGDN, XXXX,KC_END,XXXX, XXXX, XXXX, + XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX ), - /* Lower - * ,-----------------------------------------. ,-----------------------------------------. + /* Lower */ +#define F1____F2____F3____F4____F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 +#define F6____F7____F8____F9____F10 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 +#define XXXX__PAUS__SLCK___INS XXXX, KC_PAUS, KC_SLCK, KC_INS +#define XXXX___INS__SLCK__PAUS__XXXX XXXX, KC_INS, KC_SLCK, KC_PAUS, XXXX +#define ADJ___ADJ KC_ADJ, KC_ADJ +#define HOME__XXXX___UP____DEL__PGUP KC_HOME, XXXX, KC_UP, KC_DEL, KC_PGUP +#define PGUP___DEL___UP___XXXX__HOME KC_PGUP, KC_DEL, KC_UP, XXXX, KC_HOME +#define END__LEFT__DOWN__RGHT__PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN +#define PGDN__LEFT__DOWN__RGHT___END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END + /* ,-----------------------------------------. ,-----------------------------------------. * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | PgUp | | Up |Delete| Home | | Home |Delete| Up | | PgUp | | + * | | Home | | Up |Delete| PgUp | | PgUp |Delete| Up | | Home | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | PgDn | Left | Down | Right| End |Adjust|Adjust| End | Left | Down | Right| PgDn | | + * | | End | Left | Down | Right| PgDn |Adjust|Adjust| PgDn | Left | Down | Right| End | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | | | PrtSc| | | | | | | | | PrtSc| | | * `-------------------------------------------------------------------------------------------------' */ -#define _F1_F2_F3_F4_F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 -#define _F6_F7_F8_F9_F10_F11 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 -#define _PAUS_SLCK_INS KC_PAUS, KC_SLCK, KC_INS -#define _INS_SLCK_PAUS KC_INS, KC_SLCK, KC_PAUS -#define _ADJ_ADJ KC_ADJ, KC_ADJ -#define _UP_DEL_PGUP KC_UP, KC_DEL, KC_PGUP -#define _PGUP_DEL_UP KC_PGUP, KC_DEL, KC_UP -#define _END_LEFT_DOWN_RGHT_PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN -#define _PGDN_LEFT_DOWN_RGHT_END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END - - [_LOWER] = LAYOUT_wrapper( \ - XXXX, _F1_F2_F3_F4_F5, _F6_F7_F8_F9_F10_F11, \ - XXXX, XXXX, _PAUS_SLCK_INS, XXXX, XXXX, _INS_SLCK_PAUS, XXXX, KC_F12, \ - ____, KC_HOME, XXXX, _UP_DEL_PGUP, _PGUP_DEL_UP, XXXX, KC_HOME, ____, \ - ____, _END_LEFT_DOWN_RGHT_PGDN, XXXX, XXXX, _PGDN_LEFT_DOWN_RGHT_END, ____, \ - ____, ____, KC_PSCR, ____, ____, ____, _ADJ_ADJ, ____, ____, ____, KC_PSCR, ____, ____ \ - ), + [_LOWER] = LAYOUT_wrapper( + XXXX, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11, + XXXX, XXXX__PAUS__SLCK___INS, XXXX, XXXX___INS__SLCK__PAUS__XXXX, KC_F12, + ____, HOME__XXXX___UP____DEL__PGUP, PGUP___DEL___UP___XXXX__HOME, ____, + ____, END__LEFT__DOWN__RGHT__PGDN, XXXX, XXXX, PGDN__LEFT__DOWN__RGHT___END, ____, + ____, ____,KC_PSCR,____, ____, ____, ADJ___ADJ, ____, ____, ____,KC_PSCR,____, ____ + ), - /* Raise - * ,-----------------------------------------. ,-----------------------------------------. + /* Raise */ +#define UNDS__MINS KC_UNDS, KC_MINS +#define EQL___PLUS KC_EQL, KC_PLUS +#define LCBR__LBRC KC_LCBR, KC_LBRC +#define RBRC__RCBR KC_RBRC, KC_RCBR +#define MNXT__VOLD__VOLU__MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +#define EISU__EISU xEISU, xEISU +#define KANA__KANA xKANA, xKANA + /* ,-----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | | | | _ | - | | = | + | | | | | @@ -304,19 +303,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | | * `-------------------------------------------------------------------------------------------------' */ -#define _LSMI_MINS KC_LSMI, KC_MINS -#define _EQL_LSEQ KC_EQL, KC_LSEQ -#define _LSLB_LBRC KC_LSLB, KC_LBRC -#define _RBRC_LSRB KC_RBRC, KC_LSRB -#define _MNXT_VOLD_VOLU_MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - - [_RAISE] = LAYOUT_wrapper( \ - XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, \ - XXXX, XXXX, XXXX, XXXX, _LSMI_MINS, _EQL_LSEQ, XXXX, XXXX, XXXX, XXXX, \ - ____, XXXX, XXXX, XXXX, _LSLB_LBRC, _RBRC_LSRB, XXXX, XXXX, XXXX, ____, \ - ____, XXXX, XXXX, XXXX, XXXX,xEISU,xEISU, xKANA,xKANA, _MNXT_VOLD_VOLU_MPLY, ____, \ - _ADJ_ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, _ADJ_ADJ \ - ), + [_RAISE] = LAYOUT_wrapper( + XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, + XXXX, XXXX, XXXX, XXXX, UNDS__MINS, EQL___PLUS, XXXX, XXXX, XXXX, XXXX, + ____, XXXX, XXXX, XXXX, LCBR__LBRC, RBRC__RCBR, XXXX, XXXX, XXXX, ____, + ____, XXXX, XXXX, XXXX, XXXX, EISU__EISU, KANA__KANA, MNXT__VOLD__VOLU__MPLY, ____, + ADJ___ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, ADJ___ADJ + ), /* Adjust (Lower + Raise) * ,-----------------------------------------. ,-----------------------------------------. @@ -331,16 +324,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | | * `-------------------------------------------------------------------------------------------------' */ - [_ADJUST] = LAYOUT( \ - XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX, \ - XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, \ - RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, \ - RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, \ - _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ \ + [_ADJUST] = LAYOUT( + XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX, + XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, + RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, + RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, + _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ ), - /* AUX modifier key layer - * ,-----------------------------------------. ,-----------------------------------------. + /* AUX modifier key layer */ +#define BSPC__RAEN KC_BSPC, LT(_RAISE,KC_ENT) + /* ,-----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | | | | | | | | | | | | | @@ -352,14 +346,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | BS | Enter| | | | | | | | * `-------------------------------------------------------------------------------------------------' */ -#define _BSPC_RAEN KC_BSPC, LT(_RAISE,KC_ENT) - [_AUX] = LAYOUT_wrapper( \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, _BSPC_RAEN, ____, ____, ____, ____, ____, ____, ____ \ - ) + [_AUX] = LAYOUT_wrapper( + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, BSPC__RAEN, ____, ____, ____, ____, ____, ____, ____ + ) }; #else diff --git a/keyboards/helix/rev2/keymaps/five_rows/oled_display.c b/keyboards/helix/rev2/keymaps/five_rows/oled_display.c index 689efe4c88fc..090e8aaec394 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/oled_display.c +++ b/keyboards/helix/rev2/keymaps/five_rows/oled_display.c @@ -35,9 +35,9 @@ void init_helix_oled(void) { } //SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#if defined(SSD1306OLED) || defined(OLED_DRIVER_ENABLE) +#if defined(SSD1306OLED) || defined(OLED_ENABLE) -# if defined(OLED_DRIVER_ENABLE) +# if defined(OLED_ENABLE) oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) { return OLED_ROTATION_0; diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk index fbde2fe6a651..e59ce73326cd 100644 --- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk +++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk @@ -31,10 +31,23 @@ ifneq ($(strip $(HELIX)),) $(if $(SHOW_PARCE),$(info parse -$1-)) #debug ifeq ($(strip $1),dispoff) OLED_ENABLE = no - OLED_DRIVER_ENABLE = no LED_BACK_ENABLE = no LED_UNDERGLOW_ENABLE = no endif + ifneq ($(filter nooled no-oled,$(strip $1)),) + OLED_ENABLE = no + endif + ifeq ($(strip $1),oled) + OLED_ENABLE = yes + endif + ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),) + OLED_ENABLE = yes + OLED_SELECT = core + endif + ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),) + OLED_ENABLE = yes + OLED_SELECT = local + endif ifeq ($(strip $1),console) CONSOLE_ENABLE = yes endif @@ -79,10 +92,10 @@ ifeq ($(strip $(DEBUG_CONFIG)), yes) OPT_DEFS += -DDEBUG_CONFIG endif -# convert Helix-specific options (that represent combinations of standard options) -# into QMK standard options. -include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) - ifeq ($(strip $(OLED_ENABLE)), yes) SRC += oled_display.c endif + +# convert Helix-specific options (that represent combinations of standard options) +# into QMK standard options. +include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c index 0dae2524d844..a22a4b1663e5 100644 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c @@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_BASE] = LAYOUT( \ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, \ - JP_ZHTG, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, \ + JP_ZKHK, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, \ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, \ KC_LCTL, KC_LALT, KC_LGUI, ML_ADJ, ML_LOW, KC_SPC, KC_BSPC, KC_SPC, KC_SPC, ML_RAI, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT \ @@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, \ KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, \ KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, \ - KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_ENT, JP_ZHTG, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, \ + KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_ENT, JP_ZKHK, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, \ KC_SPC, ML_RAIE, JP_RBRC, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, ML_ADJ, KC_LCTL, KC_LALT, KC_LGUI, JP_LBRC, ML_LOWE, KC_BSPC \ ), diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/config.h b/keyboards/helix/rev2/keymaps/fraanrosi/config.h index c8da8105732c..6c816d0accd6 100644 --- a/keyboards/helix/rev2/keymaps/fraanrosi/config.h +++ b/keyboards/helix/rev2/keymaps/fraanrosi/config.h @@ -25,7 +25,9 @@ along with this program. If not, see . // If you need more program area, try select and reduce rgblight modes to use. -#define RGBLIGHT_ANIMATIONS +#ifndef LED_ANIMATIONS +# define LED_ANIMATIONS +#endif // Selection of RGBLIGHT MODE to use. #if defined(LED_ANIMATIONS) @@ -38,6 +40,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING + #define RGBLIGHT_EFFECT_TWINKLE #endif #undef RGBLIGHT_HUE_STEP diff --git a/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk b/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk index d657133e6181..462a83f6e7c1 100644 --- a/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk +++ b/keyboards/helix/rev2/keymaps/fraanrosi/rules.mk @@ -20,6 +20,9 @@ EXTRAKEY_ENABLE = yes # Audio control and System control LED_ANIMATIONS = yes # LED animations # IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone) +LED_BACK_ENABLE = no +LED_UNDERGLOW_ENABLE = yes + # convert Helix-specific options (that represent combinations of standard options) # into QMK standard options. include $(strip $(KEYBOARD_LOCAL_FEATURES_MK)) diff --git a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c index d32c4fa0ca51..3a433e56fda0 100644 --- a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c +++ b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c @@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT, _______, _______, _______, _______, _______, _______, _______ \ ), [_BASE_106] = LAYOUT( \ - LCTL(KC_Z), JP_SCLN, JP_LBRC, JP_LPRN, JP_LT, JP_LCBR, _______, _______, _______, _______, _______, _______, \ + LCTL(KC_Z), JP_SCLN, JP_LBRC, JP_LPRN, JP_LABK, JP_LCBR, _______, _______, _______, _______, _______, _______, \ KANA, KC_P, KC_K, KC_R, KC_A, KC_F, _______, _______, _______, _______, _______, _______, \ KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, _______, _______, _______, _______, _______, _______, \ OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, _______, _______, _______, _______, _______, _______, _______, \ @@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______,_______, KC_COMM,DESKTOP, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ), [_OPT_106] = LAYOUT( \ - KC_ESC, JP_COLN,JP_RBRC, JP_RPRN,JP_GT, JP_RCBR, _______, _______, _______, _______, _______, _______, \ + KC_ESC, JP_COLN,JP_RBRC, JP_RPRN,JP_RABK, JP_RCBR, _______, _______, _______, _______, _______, _______, \ EISU, KC_J, KC_M, KC_B, JP_QUOT, KC_TAB, _______, _______, _______, _______, _______, _______, \ KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, _______, _______, _______, _______, _______, _______, \ _______, KC_X, KC_G, KC_W, JP_MINS, KC_DEL, KC_ESC, _______, _______, _______, _______, _______, _______, _______, \ @@ -363,7 +363,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { //case JP_SCLN: // == KC_SCLN case JP_LBRC: case JP_LPRN: - //case JP_LT: // == KC_LT + //case JP_LABK: // == KC_LT case JP_LCBR: if (IS_MODE_106()) { if (keycode == KC_LBRC || keycode == KC_LPRN || keycode == KC_LCBR) diff --git a/keyboards/helix/rev2/keymaps/xulkal/rules.mk b/keyboards/helix/rev2/keymaps/xulkal/rules.mk index 7fac4df7e102..bdf0479a40a0 100644 --- a/keyboards/helix/rev2/keymaps/xulkal/rules.mk +++ b/keyboards/helix/rev2/keymaps/xulkal/rules.mk @@ -4,7 +4,8 @@ OPT_DEFS += -DRGBLIGHT_ANIMATIONS # Helix specific define for correct RGBLED_NUM OPT_DEFS += -DRGBLED_BACK -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Helix specific font file OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" # Xulkal specific oled define diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk index ce3853a02c1b..8c3ac9c3c1d1 100644 --- a/keyboards/helix/rev2/local_features.mk +++ b/keyboards/helix/rev2/local_features.mk @@ -156,19 +156,33 @@ endif ifeq ($(strip $(OLED_ENABLE)), yes) ifeq ($(strip $(OLED_SELECT)),core) - OLED_DRIVER_ENABLE = yes + OLED_ENABLE = yes + OLED_DRIVER = SSD1306 ifeq ($(strip $(LOCAL_GLCDFONT)), yes) OPT_DEFS += -DOLED_FONT_H=\ else OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" endif else - SRC += local_drivers/i2c.c - SRC += local_drivers/ssd1306.c - KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers - OPT_DEFS += -DOLED_ENABLE - ifeq ($(strip $(LOCAL_GLCDFONT)), yes) - OPT_DEFS += -DLOCAL_GLCDFONT + ifeq ($(strip $(SPLIT_KEYBOARD)), yes) + $(info Helix/rev2: The following combinations are not supported.) + $(info - SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) # yes + $(info - OLED_ENABLE = $(OLED_ENABLE)) # yes + $(info - OLED_SELECT = $(OLED_SELECT)) # local + $(info Force : OLED_ENABLE = no) + $(info .) + OLED_ENABLE = no + endif + ifeq ($(strip $(OLED_ENABLE)), yes) + OLED_ENABLE = no # disable OLED in TOP/common_features.mk + OLED_LOCAL_ENABLE = yes + SRC += local_drivers/i2c.c + SRC += local_drivers/ssd1306.c + KEYBOARD_PATHS += $(HELIX_TOP_DIR)/local_drivers + OPT_DEFS += -DOLED_LOCAL_ENABLE + ifeq ($(strip $(LOCAL_GLCDFONT)), yes) + OPT_DEFS += -DLOCAL_GLCDFONT + endif endif endif endif @@ -177,7 +191,8 @@ ifneq ($(strip $(SHOW_HELIX_OPTIONS)),) $(eval $(call HELIX_CUSTOMISE_MSG)) ifneq ($(strip $(SHOW_VERBOSE_INFO)),) $(info -- RGBLIGHT_ENABLE = $(RGBLIGHT_ENABLE)) - $(info -- OLED_DRIVER_ENABLE = $(OLED_DRIVER_ENABLE)) + $(info -- OLED_DRIVER = $(OLED_DRIVER)) + $(info -- OLED_LOCAL_ENABLE = $(OLED_LOCAL_ENABLE)) $(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE)) $(info -- OPT_DEFS = $(OPT_DEFS)) $(info -- SPLIT_KEYBOARD = $(SPLIT_KEYBOARD)) diff --git a/keyboards/helix/rev2/rev2.c b/keyboards/helix/rev2/rev2.c index d2b3143d895b..b92580f9f946 100644 --- a/keyboards/helix/rev2/rev2.c +++ b/keyboards/helix/rev2/rev2.c @@ -11,11 +11,6 @@ uint8_t is_master = false; bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return process_record_gfx(keycode,record) && process_record_user(keycode, record); } - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - //led_set_user(usb_led); -} #endif bool is_mac_mode(void) { diff --git a/keyboards/helix/rev2/rev2.h b/keyboards/helix/rev2/rev2.h index bab841fe3919..787b6c67bb11 100644 --- a/keyboards/helix/rev2/rev2.h +++ b/keyboards/helix/rev2/rev2.h @@ -99,32 +99,3 @@ extern uint8_t is_master; // 'is_master' will be obsolete, it is recommended to } #endif #endif - -// Used to create a keymap using only KC_ prefixed keys -#if MATRIX_ROWS == 8 // HELIX_ROWS == 4 - #define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35 \ - ) LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35 \ - ) -#else // HELIX_ROWS == 5 - #define LAYOUT_kc( \ - L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ - L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \ - L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \ - L30, L31, L32, L33, L34, L35, L36, R36, R30, R31, R32, R33, R34, R35, \ - L40, L41, L42, L43, L44, L45, L46, R46, R40, R41, R42, R43, R44, R45 \ - ) LAYOUT( \ - KC_##L00, KC_##L01, KC_##L02, KC_##L03, KC_##L04, KC_##L05, KC_##R00, KC_##R01, KC_##R02, KC_##R03, KC_##R04, KC_##R05, \ - KC_##L10, KC_##L11, KC_##L12, KC_##L13, KC_##L14, KC_##L15, KC_##R10, KC_##R11, KC_##R12, KC_##R13, KC_##R14, KC_##R15, \ - KC_##L20, KC_##L21, KC_##L22, KC_##L23, KC_##L24, KC_##L25, KC_##R20, KC_##R21, KC_##R22, KC_##R23, KC_##R24, KC_##R25, \ - KC_##L30, KC_##L31, KC_##L32, KC_##L33, KC_##L34, KC_##L35, KC_##L36, KC_##R36, KC_##R30, KC_##R31, KC_##R32, KC_##R33, KC_##R34, KC_##R35, \ - KC_##L40, KC_##L41, KC_##L42, KC_##L43, KC_##L44, KC_##L45, KC_##L46, KC_##R46, KC_##R40, KC_##R41, KC_##R42, KC_##R43, KC_##R44, KC_##R45 \ - ) -#endif diff --git a/keyboards/helix/rev3_4rows/config.h b/keyboards/helix/rev3_4rows/config.h index 9102104bfc5e..aa9e1d6dc503 100644 --- a/keyboards/helix/rev3_4rows/config.h +++ b/keyboards/helix/rev3_4rows/config.h @@ -68,7 +68,7 @@ along with this program. If not, see . # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) @@ -218,26 +218,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/helix/rev3_4rows/keymaps/default/keymap.c b/keyboards/helix/rev3_4rows/keymaps/default/keymap.c index a9a2c4accaaa..408e7125c631 100644 --- a/keyboards/helix/rev3_4rows/keymaps/default/keymap.c +++ b/keyboards/helix/rev3_4rows/keymaps/default/keymap.c @@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left side encoder */ if (clockwise) { tap_code(KC_PGDN); @@ -125,6 +125,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_UP); } } + return true; } layer_state_t layer_state_set_user(layer_state_t state) { @@ -177,17 +178,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -/* -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool led_update_user(led_t led_state) { - return true; -} -*/ diff --git a/keyboards/helix/rev3_4rows/keymaps/via/keymap.c b/keyboards/helix/rev3_4rows/keymaps/via/keymap.c index 5611c96b3433..6cc9aedb03c2 100644 --- a/keyboards/helix/rev3_4rows/keymaps/via/keymap.c +++ b/keyboards/helix/rev3_4rows/keymaps/via/keymap.c @@ -111,7 +111,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left side encoder */ if (clockwise) { tap_code(KC_PGDN); @@ -125,6 +125,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_UP); } } + return true; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { @@ -164,17 +165,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -/* -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool led_update_user(led_t led_state) { - return true; -} -*/ diff --git a/keyboards/helix/rev3_4rows/oled_display.c b/keyboards/helix/rev3_4rows/oled_display.c index 7716a172c93a..23edbf7be4a0 100644 --- a/keyboards/helix/rev3_4rows/oled_display.c +++ b/keyboards/helix/rev3_4rows/oled_display.c @@ -35,7 +35,7 @@ enum layer_names { _ADJUST }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void render_status(void) { diff --git a/keyboards/helix/rev3_4rows/rev3_4rows.c b/keyboards/helix/rev3_4rows/rev3_4rows.c index c034c833819e..7b3294110672 100644 --- a/keyboards/helix/rev3_4rows/rev3_4rows.c +++ b/keyboards/helix/rev3_4rows/rev3_4rows.c @@ -30,7 +30,8 @@ void set_mac_mode(bool macmode) { eeconfig_update_keymap(keymap_config.raw); } -void dip_switch_update_kb(uint8_t index, bool active) { +#ifdef DIP_SWITCH_ENABLE +bool dip_switch_update_kb(uint8_t index, bool active) { switch (index) { case 0: if(active) { // Left no.1 Helix rev3 common @@ -43,4 +44,6 @@ void dip_switch_update_kb(uint8_t index, bool active) { dip_switch_update_user(index, active); break; } + return true; } +#endif diff --git a/keyboards/helix/rev3_4rows/rules.mk b/keyboards/helix/rev3_4rows/rules.mk index a5916c114d85..f29deaf586b7 100644 --- a/keyboards/helix/rev3_4rows/rules.mk +++ b/keyboards/helix/rev3_4rows/rules.mk @@ -3,9 +3,10 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow SPLIT_KEYBOARD = yes RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes -DIP_SWITCH_ENABLE = yes +DIP_SWITCH_ENABLE = no LTO_ENABLE = yes SRC += oled_display.c diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h index 4dda76206be2..ebe1e41c831e 100644 --- a/keyboards/helix/rev3_5rows/config.h +++ b/keyboards/helix/rev3_5rows/config.h @@ -68,7 +68,7 @@ along with this program. If not, see . # define RGB_MATRIX_KEYPRESSES // reacts to keypresses // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_MATRIX_FRAMEBUFFER_EFFECTS // # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) @@ -218,26 +218,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/helix/rev3_5rows/keymaps/default/keymap.c b/keyboards/helix/rev3_5rows/keymaps/default/keymap.c index 18b55913737c..09132f75e1d5 100644 --- a/keyboards/helix/rev3_5rows/keymaps/default/keymap.c +++ b/keyboards/helix/rev3_5rows/keymaps/default/keymap.c @@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left side encoder */ if (clockwise) { tap_code(KC_PGDN); @@ -135,6 +135,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_UP); } } + return true; } layer_state_t layer_state_set_user(layer_state_t state) { @@ -187,17 +188,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -/* -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool led_update_user(led_t led_state) { - return true; -} -*/ diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h index 205867e5b717..b9961f5c48fe 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h @@ -22,19 +22,21 @@ along with this program. If not, see . #ifndef CONFIG_USER_H #define CONFIG_USER_H -#undef OLED_UPDATE_INTERVAL -#define OLED_UPDATE_INTERVAL 50 - #undef TAPPING_TERM #define TAPPING_TERM 300 #define PERMISSIVE_HOLD /* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD. see tmk_core/common/action_tapping.c */ +#undef OLED_UPDATE_INTERVAL +#define OLED_UPDATE_INTERVAL 50 + // place overrides here // If you need more program area, try select and reduce rgblight modes to use. +#define DISABLE_SYNC_TIMER + // Selection of RGBLIGHT MODE to use. #undef RGBLIGHT_ANIMATIONS #undef RGBLIGHT_EFFECT_BREATHING diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c index a2ec1086242d..16eff49244ee 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c @@ -42,6 +42,8 @@ enum custom_keycodes { RGBRST }; +// clang-format off + #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) //Macros @@ -49,24 +51,26 @@ enum custom_keycodes { #define XXXX XXXXXXX #define ____ _______ #define KC_ADJ MO(_ADJUST) -#define KC_LSMI LSFT(KC_MINS) -#define KC_LSEQ LSFT(KC_EQL) -#define KC_LSRB LSFT(KC_RBRC) -#define KC_LSLB LSFT(KC_LBRC) -#define _1_2_3_4_5 KC_1, KC_2, KC_3, KC_4, KC_5 -#define _6_7_8_9_0 KC_6, KC_7, KC_8, KC_9, KC_0 -#define L_LOWER2_CAPS_LALT_LGUI_SPC_RABS \ +#define _1_____2_____3_____4_____5 KC_1, KC_2, KC_3, KC_4, KC_5 +#define _6_____7_____8_____9_____0 KC_6, KC_7, KC_8, KC_9, KC_0 +#define LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS \ KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC) -#define R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ +#define RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER \ LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_LOWER, KC_LOWER - +#define GRV__QUOT KC_GRV, KC_QUOT #if MATRIX_ROWS == 10 // HELIX_ROWS == 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty - * ,-----------------------------------. ,-----------------------------------. + /* Qwerty */ +#define Q_____W_____E_____R_____T KC_Q, KC_W, KC_E, KC_R, KC_T +#define Y_____U_____I_____O_____P KC_Y, KC_U, KC_I, KC_O, KC_P +#define A_____S_____D_____F_____G KC_A, KC_S, KC_D, KC_F, KC_G +#define H_____J_____K_____L____SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN +#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B +#define N_____M____COMM__DOT___SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH + /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | @@ -78,23 +82,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ -#define _Q_W_E_R_T KC_Q, KC_W, KC_E, KC_R, KC_T -#define _Y_U_I_O_P KC_Y, KC_U, KC_I, KC_O, KC_P -#define _A_S_D_F_G KC_A, KC_S, KC_D, KC_F, KC_G -#define _H_J_K_L_SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN -#define _Z_X_C_V_B KC_Z, KC_X, KC_C, KC_V, KC_B -#define _N_M_COMM_DOT_SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH - - [_QWERTY] = LAYOUT_wrapper( \ - KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \ - KC_TAB, _Q_W_E_R_T, _Y_U_I_O_P, KC_BSLS, \ - KC_LCTL, _A_S_D_F_G, _H_J_K_L_SCLN, KC_RCTL, \ - KC_LSFT, _Z_X_C_V_B, KC_GRV, KC_QUOT, _N_M_COMM_DOT_SLSH, KC_RSFT, \ - L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ + [_QWERTY] = LAYOUT_wrapper( + KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, + KC_TAB, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS, + KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L____SCLN, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, N_____M____COMM__DOT___SLSH, KC_RSFT, + LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), - /* Colemak - * ,-----------------------------------. ,-----------------------------------. + /* Colemak */ +#define Q_____W_____F_____P_____G KC_Q, KC_W, KC_F, KC_P, KC_G +#define J_____L_____U_____Y____SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN +#define A_____R_____S_____T_____D KC_A, KC_R, KC_S, KC_T, KC_D +#define H_____N_____E_____I_____O KC_H, KC_N, KC_E, KC_I, KC_O +#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B +#define K_____M____COMM__DOT___SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH + /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | @@ -106,23 +109,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ -#define _Q_W_F_P_G KC_Q, KC_W, KC_F, KC_P, KC_G -#define _J_L_U_Y_SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN -#define _A_R_S_T_D KC_A, KC_R, KC_S, KC_T, KC_D -#define _H_N_E_I_O KC_H, KC_N, KC_E, KC_I, KC_O -#define _Z_X_C_V_B KC_Z, KC_X, KC_C, KC_V, KC_B -#define _K_M_COMM_DOT_SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH - - [_COLEMAK] = LAYOUT_wrapper( \ - KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \ - KC_TAB, _Q_W_F_P_G, _J_L_U_Y_SCLN, KC_BSLS, \ - KC_LCTL, _A_R_S_T_D, _H_N_E_I_O, KC_RCTL, \ - KC_LSFT, _Z_X_C_V_B, KC_GRV, KC_QUOT, _K_M_COMM_DOT_SLSH, KC_RSFT, \ - L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ - ), + [_COLEMAK] = LAYOUT_wrapper( + KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, + KC_TAB, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS, + KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, K_____M____COMM__DOT___SLSH, KC_RSFT, + LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER + ), - /* Dvorak - * ,-----------------------------------. ,-----------------------------------. + /* Dvorak */ +#define QUOT_COMM___DOT____P_____Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y +#define F_____G_____C_____R_____L KC_F, KC_G, KC_C, KC_R, KC_L +#define A_____O_____E_____U_____I KC_A, KC_O, KC_E, KC_U, KC_I +#define D_____H_____T_____N_____S KC_D, KC_H, KC_T, KC_N, KC_S +#define SCLN___Q_____J_____K_____X KC_SCLN, KC_Q, KC_J, KC_K, KC_X +#define B_____M_____W_____V_____Z KC_B, KC_M, KC_W, KC_V, KC_Z +#define GRV__SLSH KC_GRV, KC_SLSH + /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| * | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ | @@ -134,23 +137,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ -#define _QUOT_COMM_DOT_P_Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y -#define _F_G_C_R_L KC_F, KC_G, KC_C, KC_R, KC_L -#define _A_O_E_U_I KC_A, KC_O, KC_E, KC_U, KC_I -#define _D_H_T_N_S KC_D, KC_H, KC_T, KC_N, KC_S -#define _SCLN_Q_J_K_X KC_SCLN, KC_Q, KC_J, KC_K, KC_X -#define _B_M_W_V_Z KC_B, KC_M, KC_W, KC_V, KC_Z - - [_DVORAK] = LAYOUT_wrapper( \ - KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \ - KC_TAB, _QUOT_COMM_DOT_P_Y, _F_G_C_R_L, KC_BSLS, \ - KC_LCTL, _A_O_E_U_I, _D_H_T_N_S, KC_RCTL, \ - KC_LSFT, _SCLN_Q_J_K_X, KC_GRV, KC_SLSH, _B_M_W_V_Z, KC_RSFT, \ - L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ + [_DVORAK] = LAYOUT_wrapper( + KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, + KC_TAB, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS, + KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL, + KC_LSFT, SCLN___Q_____J_____K_____X, GRV__SLSH, B_____M_____W_____V_____Z, KC_RSFT, + LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), - /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) - * ,-----------------------------------. ,-----------------------------------. + /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ +#define Q_____W___COMM___DOT__SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN +#define M_____R_____D_____Y_____P KC_M, KC_R, KC_D, KC_Y, KC_P +#define A_____O_____E_____I_____U KC_A, KC_O, KC_E, KC_I, KC_U +#define G_____T_____K_____S_____N KC_G, KC_T, KC_K, KC_S, KC_N +#define Z_____X_____C_____V_____F KC_Z, KC_X, KC_C, KC_V, KC_F +#define B_____H_____J_____L____SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH + /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| * | Tab | Q | W | , | . | ; | | M | R | D | Y | P | \ | @@ -162,23 +164,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ -#define _Q_W_COMM_DOT_SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN -#define _M_R_D_Y_P KC_M, KC_R, KC_D, KC_Y, KC_P -#define _A_O_E_I_U KC_A, KC_O, KC_E, KC_I, KC_U -#define _G_T_K_S_N KC_G, KC_T, KC_K, KC_S, KC_N -#define _Z_X_C_V_F KC_Z, KC_X, KC_C, KC_V, KC_F -#define _B_H_J_L_SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH - - [_EUCALYN] = LAYOUT_wrapper( \ - KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \ - KC_TAB, _Q_W_COMM_DOT_SCLN, _M_R_D_Y_P, KC_BSLS, \ - KC_LCTL, _A_O_E_I_U, _G_T_K_S_N, KC_RCTL, \ - KC_LSFT, _Z_X_C_V_F, KC_GRV, KC_QUOT, _B_H_J_L_SLSH, KC_RSFT, \ - L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \ - ), + [_EUCALYN] = LAYOUT_wrapper( + KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, + KC_TAB, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, + KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL, + KC_LSFT, Z_____X_____C_____V_____F, GRV__QUOT, B_____H_____J_____L____SLSH, KC_RSFT, + LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER + ), - /* Keypad - * ,-----------------------------------. ,-----------------------------------. + /* Keypad */ +#define KP_TAB__PSLS_PAST KC_TAB, KC_PSLS, KC_PAST +#define KP__7_____8_____9 KC_KP_7, KC_KP_8, KC_KP_9 +#define KP__4_____5_____6 KC_KP_4, KC_KP_5, KC_KP_6 +#define KP__1_____2_____3 KC_KP_1, KC_KP_2, KC_KP_3 +#define KP__0___COMM_PDOT KC_KP_0, KC_COMM, KC_PDOT +#define F1___F6 KC_F1, KC_F6 +#define F2___F7 KC_F2, KC_F7 +#define F3___F8 KC_F3, KC_F8 +#define F4___F9 KC_F4, KC_F9 +#define F5__F10 KC_F5, KC_F10 +#define FF12 LT(_PADFUNC,KC_F12) + /* ,-----------------------------------. ,-----------------------------------. * | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| * | 7 | 8 | 9 | BS | F2 | F7 | | F2 | F7 | BS | 7 | 8 | 9 | @@ -190,25 +196,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | 0 | , | . |Enter| F5 | F10| F12 | F12 | F5 | F10|Enter| 0 | , | . | * `-----------------------------------------------------------------------------------' */ -#define KP_TOP KC_TAB, KC_PSLS, KC_PAST -#define KP_789 KC_KP_7, KC_KP_8, KC_KP_9 -#define KP_456 KC_KP_4, KC_KP_5, KC_KP_6 -#define KP_123 KC_KP_1, KC_KP_2, KC_KP_3 -#define KP_BTM KC_KP_0, KC_COMM, KC_PDOT -#define F_1_6 KC_F1, KC_F6 -#define F_2_7 KC_F2, KC_F7 -#define F_3_8 KC_F3, KC_F8 -#define F_4_9 KC_F4, KC_F9 -#define F_510 KC_F5, KC_F10 -#define FF12 LT(_PADFUNC,KC_F12) - - [_KEYPAD] = LAYOUT_wrapper( \ - KP_TOP, KC_DEL, F_1_6, F_1_6, KC_DEL, KP_TOP, \ - KP_789, KC_BSPC, F_2_7, F_2_7, KC_BSPC, KP_789, \ - KP_456, KC_PMNS, F_3_8, F_3_8, KC_PMNS, KP_456, \ - KP_123, KC_PPLS, F_4_9, KC_F11, KC_F11, F_4_9, KC_PPLS, KP_123, \ - KP_BTM, KC_PENT, F_510, FF12, FF12, F_510, KC_PENT, KP_BTM \ - ), + [_KEYPAD] = LAYOUT_wrapper( + KP_TAB__PSLS_PAST, KC_DEL, F1___F6, F1___F6, KC_DEL, KP_TAB__PSLS_PAST, + KP__7_____8_____9, KC_BSPC, F2___F7, F2___F7, KC_BSPC, KP__7_____8_____9, + KP__4_____5_____6, KC_PMNS, F3___F8, F3___F8, KC_PMNS, KP__4_____5_____6, + KP__1_____2_____3, KC_PPLS, F4___F9, KC_F11,KC_F11, F4___F9, KC_PPLS, KP__1_____2_____3, + KP__0___COMM_PDOT, KC_PENT, F5__F10, FF12, FF12, F5__F10, KC_PENT, KP__0___COMM_PDOT + ), /* AUX modifier key layer * ,-----------------------------------. ,-----------------------------------. @@ -223,16 +217,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | 00 | | | | | | | | | | | 00 | | * `-----------------------------------------------------------------------------------' */ - [_KAUX] = LAYOUT( \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____ \ + [_KAUX] = LAYOUT( + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____ ), - /* Keypad function layer - * ,-----------------------------------------. ,-----------------------------------------. + /* Keypad function layer */ +#define PAUS__SLCK__PSCR KC_PAUS, KC_SLCK, KC_PSCR +#define PSCR__SLCK__PAUS KC_PSCR, KC_SLCK, KC_PAUS +#define HOME___UP___PGUP KC_HOME, KC_UP, KC_PGUP +#define PGUP___UP___HOME KC_PGUP, KC_UP, KC_HOME +#define DEL____INS__LEFT__DOWN__RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT +#define LEFT__DOWN__RGHT___INS___DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL +#define PGDN___ADJ___ADJ__PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN + /* ,-----------------------------------------. ,-----------------------------------------. * | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | | | Home | Up | PgUp | | PgUp | Up | Home | | | | @@ -244,55 +245,53 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | | * `-------------------------------------------------------------------------------------------------' */ -#define _PAUS_SLCK_PSCR KC_PAUS, KC_SLCK, KC_PSCR -#define _PSCR_SLCK_PAUS KC_PSCR, KC_SLCK, KC_PAUS -#define _HOME_UP_PGUP KC_HOME, KC_UP, KC_PGUP -#define _PGUP_UP_HOME KC_PGUP, KC_UP, KC_HOME -#define _DEL_INS_LEFT_DOWN_RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT -#define _LEFT_DOWN_RGHT_INS_DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL -#define _PGDN_ADJ_ADJ_PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN - - [_PADFUNC] = LAYOUT_wrapper( \ - XXXX, XXXX, XXXX, _PAUS_SLCK_PSCR, _PSCR_SLCK_PAUS, XXXX, XXXX, XXXX, \ - XXXX, XXXX, XXXX, _HOME_UP_PGUP, _PGUP_UP_HOME, XXXX, XXXX, XXXX, \ - XXXX, _DEL_INS_LEFT_DOWN_RGHT, _LEFT_DOWN_RGHT_INS_DEL, XXXX, \ - XXXX, XXXX, XXXX, KC_END, XXXX, _PGDN_ADJ_ADJ_PGDN, XXXX, KC_END, XXXX, XXXX, XXXX, \ - XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX \ + [_PADFUNC] = LAYOUT_wrapper( + XXXX, XXXX, XXXX, PAUS__SLCK__PSCR, PSCR__SLCK__PAUS, XXXX, XXXX, XXXX, + XXXX, XXXX, XXXX, HOME___UP___PGUP, PGUP___UP___HOME, XXXX, XXXX, XXXX, + XXXX, DEL____INS__LEFT__DOWN__RGHT, LEFT__DOWN__RGHT___INS___DEL, XXXX, + XXXX, XXXX, XXXX,KC_END,XXXX, PGDN___ADJ___ADJ__PGDN, XXXX,KC_END,XXXX, XXXX, XXXX, + XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX ), - /* Lower - * ,-----------------------------------------. ,-----------------------------------------. + /* Lower */ +#define F1____F2____F3____F4____F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 +#define F6____F7____F8____F9____F10 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 +#define XXXX__PAUS__SLCK___INS XXXX, KC_PAUS, KC_SLCK, KC_INS +#define XXXX___INS__SLCK__PAUS__XXXX XXXX, KC_INS, KC_SLCK, KC_PAUS, XXXX +#define ADJ___ADJ KC_ADJ, KC_ADJ +#define HOME__XXXX___UP____DEL__PGUP KC_HOME, XXXX, KC_UP, KC_DEL, KC_PGUP +#define PGUP___DEL___UP___XXXX__HOME KC_PGUP, KC_DEL, KC_UP, XXXX, KC_HOME +#define END__LEFT__DOWN__RGHT__PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN +#define PGDN__LEFT__DOWN__RGHT___END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END + /* ,-----------------------------------------. ,-----------------------------------------. * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | | PgUp | | Up |Delete| Home | | Home |Delete| Up | | PgUp | | + * | | Home | | Up |Delete| PgUp | | PgUp |Delete| Up | | Home | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | PgDn | Left | Down | Right| End |Adjust|Adjust| End | Left | Down | Right| PgDn | | + * | | End | Left | Down | Right| PgDn |Adjust|Adjust| PgDn | Left | Down | Right| End | | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | | | PrtSc| | | | | | | | | PrtSc| | | * `-------------------------------------------------------------------------------------------------' */ -#define _F1_F2_F3_F4_F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 -#define _F6_F7_F8_F9_F10_F11 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 -#define _PAUS_SLCK_INS KC_PAUS, KC_SLCK, KC_INS -#define _INS_SLCK_PAUS KC_INS, KC_SLCK, KC_PAUS -#define _ADJ_ADJ KC_ADJ, KC_ADJ -#define _UP_DEL_PGUP KC_UP, KC_DEL, KC_PGUP -#define _PGUP_DEL_UP KC_PGUP, KC_DEL, KC_UP -#define _END_LEFT_DOWN_RGHT_PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN -#define _PGDN_LEFT_DOWN_RGHT_END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END - - [_LOWER] = LAYOUT_wrapper( \ - XXXX, _F1_F2_F3_F4_F5, _F6_F7_F8_F9_F10_F11, \ - XXXX, XXXX, _PAUS_SLCK_INS, XXXX, XXXX, _INS_SLCK_PAUS, XXXX, KC_F12, \ - ____, KC_HOME, XXXX, _UP_DEL_PGUP, _PGUP_DEL_UP, XXXX, KC_HOME, ____, \ - ____, _END_LEFT_DOWN_RGHT_PGDN, XXXX, XXXX, _PGDN_LEFT_DOWN_RGHT_END, ____, \ - ____, ____, KC_PSCR, ____, ____, ____, _ADJ_ADJ, ____, ____, ____, KC_PSCR, ____, ____ \ - ), + [_LOWER] = LAYOUT_wrapper( + XXXX, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11, + XXXX, XXXX__PAUS__SLCK___INS, XXXX, XXXX___INS__SLCK__PAUS__XXXX, KC_F12, + ____, HOME__XXXX___UP____DEL__PGUP, PGUP___DEL___UP___XXXX__HOME, ____, + ____, END__LEFT__DOWN__RGHT__PGDN, XXXX, XXXX, PGDN__LEFT__DOWN__RGHT___END, ____, + ____, ____,KC_PSCR,____, ____, ____, ADJ___ADJ, ____, ____, ____,KC_PSCR,____, ____ + ), - /* Raise - * ,-----------------------------------------. ,-----------------------------------------. + /* Raise */ +#define UNDS__MINS KC_UNDS, KC_MINS +#define EQL___PLUS KC_EQL, KC_PLUS +#define LCBR__LBRC KC_LCBR, KC_LBRC +#define RBRC__RCBR KC_RBRC, KC_RCBR +#define MNXT__VOLD__VOLU__MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +#define EISU__EISU xEISU, xEISU +#define KANA__KANA xKANA, xKANA + /* ,-----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | | | | _ | - | | = | + | | | | | @@ -304,19 +303,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | | * `-------------------------------------------------------------------------------------------------' */ -#define _LSMI_MINS KC_LSMI, KC_MINS -#define _EQL_LSEQ KC_EQL, KC_LSEQ -#define _LSLB_LBRC KC_LSLB, KC_LBRC -#define _RBRC_LSRB KC_RBRC, KC_LSRB -#define _MNXT_VOLD_VOLU_MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY - - [_RAISE] = LAYOUT_wrapper( \ - XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, \ - XXXX, XXXX, XXXX, XXXX, _LSMI_MINS, _EQL_LSEQ, XXXX, XXXX, XXXX, XXXX, \ - ____, XXXX, XXXX, XXXX, _LSLB_LBRC, _RBRC_LSRB, XXXX, XXXX, XXXX, ____, \ - ____, XXXX, XXXX, XXXX, XXXX,xEISU,xEISU, xKANA,xKANA, _MNXT_VOLD_VOLU_MPLY, ____, \ - _ADJ_ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, _ADJ_ADJ \ - ), + [_RAISE] = LAYOUT_wrapper( + XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, + XXXX, XXXX, XXXX, XXXX, UNDS__MINS, EQL___PLUS, XXXX, XXXX, XXXX, XXXX, + ____, XXXX, XXXX, XXXX, LCBR__LBRC, RBRC__RCBR, XXXX, XXXX, XXXX, ____, + ____, XXXX, XXXX, XXXX, XXXX, EISU__EISU, KANA__KANA, MNXT__VOLD__VOLU__MPLY, ____, + ADJ___ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, ADJ___ADJ + ), /* Adjust (Lower + Raise) * ,-----------------------------------------. ,-----------------------------------------. @@ -331,16 +324,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | | * `-------------------------------------------------------------------------------------------------' */ - [_ADJUST] = LAYOUT( \ - XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX, \ - XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, \ - RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, \ - RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, \ - _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ \ + [_ADJUST] = LAYOUT( + XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX, + XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, + RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, + RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, + _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ ), - /* AUX modifier key layer - * ,-----------------------------------------. ,-----------------------------------------. + /* AUX modifier key layer */ +#define BSPC__RAEN KC_BSPC, LT(_RAISE,KC_ENT) + /* ,-----------------------------------------. ,-----------------------------------------. * | | | | | | | | | | | | | | * |------+------+------+------+------+------| |------+------+------+------+------+------| * | | | | | | | | | | | | | | @@ -352,14 +346,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | BS | Enter| | | | | | | | * `-------------------------------------------------------------------------------------------------' */ -#define _BSPC_RAEN KC_BSPC, LT(_RAISE,KC_ENT) - [_AUX] = LAYOUT_wrapper( \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, _BSPC_RAEN, ____, ____, ____, ____, ____, ____, ____ \ - ) + [_AUX] = LAYOUT_wrapper( + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, BSPC__RAEN, ____, ____, ____, ____, ____, ____, ____ + ) }; #else diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c index 127d80cc7dab..090e8aaec394 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/oled_display.c @@ -35,9 +35,9 @@ void init_helix_oled(void) { } //SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#if defined(SSD1306OLED) || defined(OLED_DRIVER_ENABLE) +#if defined(SSD1306OLED) || defined(OLED_ENABLE) -# if defined(OLED_DRIVER_ENABLE) +# if defined(OLED_ENABLE) oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) { return OLED_ROTATION_0; @@ -163,6 +163,10 @@ void render_status(void) { } # ifdef SSD1306OLED +# if OLED_UPDATE_INTERVAL > 0 +uint16_t oled_update_timeout; +# endif + void iota_gfx_task_user(void) { struct CharacterMatrix matrix; @@ -172,6 +176,12 @@ void iota_gfx_task_user(void) { } # endif +#if OLED_UPDATE_INTERVAL > 0 + if (timer_elapsed(oled_update_timeout) < OLED_UPDATE_INTERVAL) { + return; + } + oled_update_timeout = timer_read(); +#endif matrix_clear(&matrix); if (is_keyboard_master()) { render_status(&matrix); diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk b/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk index 7344797643eb..d10972bbdf30 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk @@ -19,7 +19,7 @@ ifneq ($(strip $(HELIX)),) # parse 'dispoff', 'consle', 'back', 'oled', 'no-ani', 'mini-ani', 'lto', 'no-lto', 'no-enc', 'scan' $(if $(SHOW_PARCE),$(info parse .$1.)) #debug ifeq ($(strip $1),dispoff) - OLED_DRIVER_ENABLE = no + OLED_ENABLE = no RGBLIGHT_ENABLE = no endif ifeq ($(strip $1),console) @@ -38,7 +38,7 @@ ifneq ($(strip $(HELIX)),) ENCODER_ENABLE = no endif ifeq ($(strip $1),oled) - OLED_DRIVER_ENABLE = yes + OLED_ENABLE = yes endif ifeq ($(strip $1),back) RGBLIGHT_ENABLE = yes diff --git a/keyboards/helix/rev3_5rows/keymaps/via/keymap.c b/keyboards/helix/rev3_5rows/keymaps/via/keymap.c index 903e2637de02..b1d17c50fa11 100644 --- a/keyboards/helix/rev3_5rows/keymaps/via/keymap.c +++ b/keyboards/helix/rev3_5rows/keymaps/via/keymap.c @@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left side encoder */ if (clockwise) { tap_code(KC_PGDN); @@ -135,6 +135,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_UP); } } + return true; } bool process_record_user(uint16_t keycode, keyrecord_t *record) { @@ -174,17 +175,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -/* -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool led_update_user(led_t led_state) { - return true; -} -*/ diff --git a/keyboards/helix/rev3_5rows/oled_display.c b/keyboards/helix/rev3_5rows/oled_display.c index ffe8b594b3b2..fbaa9bc5622d 100644 --- a/keyboards/helix/rev3_5rows/oled_display.c +++ b/keyboards/helix/rev3_5rows/oled_display.c @@ -35,7 +35,7 @@ enum layer_names { _ADJUST }; -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE void render_status(void) { diff --git a/keyboards/helix/rev3_5rows/rev3_5rows.c b/keyboards/helix/rev3_5rows/rev3_5rows.c index c034c833819e..7b3294110672 100644 --- a/keyboards/helix/rev3_5rows/rev3_5rows.c +++ b/keyboards/helix/rev3_5rows/rev3_5rows.c @@ -30,7 +30,8 @@ void set_mac_mode(bool macmode) { eeconfig_update_keymap(keymap_config.raw); } -void dip_switch_update_kb(uint8_t index, bool active) { +#ifdef DIP_SWITCH_ENABLE +bool dip_switch_update_kb(uint8_t index, bool active) { switch (index) { case 0: if(active) { // Left no.1 Helix rev3 common @@ -43,4 +44,6 @@ void dip_switch_update_kb(uint8_t index, bool active) { dip_switch_update_user(index, active); break; } + return true; } +#endif diff --git a/keyboards/helix/rev3_5rows/rules.mk b/keyboards/helix/rev3_5rows/rules.mk index a5916c114d85..f29deaf586b7 100644 --- a/keyboards/helix/rev3_5rows/rules.mk +++ b/keyboards/helix/rev3_5rows/rules.mk @@ -3,9 +3,10 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow SPLIT_KEYBOARD = yes RGB_MATRIX_ENABLE = no RGB_MATRIX_DRIVER = WS2812 -OLED_DRIVER_ENABLE = yes +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes -DIP_SWITCH_ENABLE = yes +DIP_SWITCH_ENABLE = no LTO_ENABLE = yes SRC += oled_display.c diff --git a/keyboards/helix/rules.mk b/keyboards/helix/rules.mk index 54a4d774fd51..e8b942b172d5 100644 --- a/keyboards/helix/rules.mk +++ b/keyboards/helix/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # QMK Standard Build Options @@ -17,14 +10,13 @@ BOOTLOADER = caterina # # See TOP/docs/config_options.md for more information. # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/hhkb/ansi/keymaps/cinaeco/rules.mk b/keyboards/hhkb/ansi/keymaps/cinaeco/rules.mk index a85669aa2f29..4e4deffa1223 100644 --- a/keyboards/hhkb/ansi/keymaps/cinaeco/rules.mk +++ b/keyboards/hhkb/ansi/keymaps/cinaeco/rules.mk @@ -4,7 +4,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) diff --git a/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h b/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h index 916a403eb60e..0b811fd03ae2 100644 --- a/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h +++ b/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h @@ -40,10 +40,10 @@ const uint16_t PROGMEM keymap_jis2us[][2] = { [KC_BSLS] = { JP_YEN, JP_PIPE }, /* ] and } -> \ and | */ [KC_NUHS] = { JP_YEN, JP_PIPE }, /* ] and } -> \ and | */ [KC_SCLN] = { JP_SCLN, JP_COLN }, /* ; and + -> ; and : */ - [KC_QUOT] = { JP_QUOT, JP_DQT }, /* : and * -> ' and " */ + [KC_QUOT] = { JP_QUOT, JP_DQUO }, /* : and * -> ' and " */ [KC_GRV] = { JP_GRV, JP_TILD }, /* Han/Zen -> ` and ~ */ - [KC_COMM] = { JP_COMM, JP_LT }, /* , and < -> , and < */ - [KC_DOT] = { JP_DOT, JP_GT }, /* . and > -> . and > */ + [KC_COMM] = { JP_COMM, JP_LABK }, /* , and < -> , and < */ + [KC_DOT] = { JP_DOT, JP_RABK }, /* . and > -> . and > */ [KC_SLSH] = { JP_SLSH, JP_QUES }, /* / and ? -> / and ? */ }; // clang-format on diff --git a/keyboards/hhkb/ansi/matrix.c b/keyboards/hhkb/ansi/matrix.c index 879eb337cfaa..529ba8b8fc9f 100644 --- a/keyboards/hhkb/ansi/matrix.c +++ b/keyboards/hhkb/ansi/matrix.c @@ -26,6 +26,7 @@ along with this program. If not, see . #include "util.h" #include "timer.h" #include "matrix.h" +#include "avr/timer_avr.h" #include "hhkb_avr.h" #include #include "suspend.h" diff --git a/keyboards/hhkb/ansi/rules.mk b/keyboards/hhkb/ansi/rules.mk index a367ef48d144..b0f17c93a0b4 100644 --- a/keyboards/hhkb/ansi/rules.mk +++ b/keyboards/hhkb/ansi/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,9 +17,8 @@ CUSTOM_MATRIX = yes # Custom matrix file for the HHKB # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend # NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = yes # MIDI controls +MIDI_ENABLE = no # MIDI support # UNICODE_ENABLE = yes # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # HHKB_RN42_ENABLE = yes # Enable support for hasu's BT alt controller -- code borrowed from tmk source tree. diff --git a/keyboards/hhkb/jp/matrix.c b/keyboards/hhkb/jp/matrix.c index fed2b3c3a92e..c0dca6a990b4 100644 --- a/keyboards/hhkb/jp/matrix.c +++ b/keyboards/hhkb/jp/matrix.c @@ -26,6 +26,7 @@ along with this program. If not, see . #include "util.h" #include "timer.h" #include "matrix.h" +#include "avr/timer_avr.h" #include "hhkb_avr.h" #include #include "suspend.h" diff --git a/keyboards/hhkb/jp/rules.mk b/keyboards/hhkb/jp/rules.mk index 774b444c5318..50e2c2c4120e 100644 --- a/keyboards/hhkb/jp/rules.mk +++ b/keyboards/hhkb/jp/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -24,9 +17,8 @@ CUSTOM_MATRIX = yes # Custom matrix file for the HHKB # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend # NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = yes # MIDI controls +MIDI_ENABLE = no # MIDI support # UNICODE_ENABLE = yes # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # HHKB_RN42_ENABLE = yes # Enable support for hasu's BT alt controller -- code borrowed from tmk source tree. diff --git a/keyboards/hhkb_lite_2/rules.mk b/keyboards/hhkb_lite_2/rules.mk index dd02717921f2..049e5a76ff40 100644 --- a/keyboards/hhkb_lite_2/rules.mk +++ b/keyboards/hhkb_lite_2/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = halfkay # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/hid_liber/config.h b/keyboards/hid_liber/config.h index e0f92dee8427..73ed005b7f28 100755 --- a/keyboards/hid_liber/config.h +++ b/keyboards/hid_liber/config.h @@ -140,24 +140,4 @@ //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - #endif diff --git a/keyboards/hid_liber/keymaps/bakageta/rules.mk b/keyboards/hid_liber/keymaps/bakageta/rules.mk index 0f131bce9b29..8cb28dd5dff6 100755 --- a/keyboards/hid_liber/keymaps/bakageta/rules.mk +++ b/keyboards/hid_liber/keymaps/bakageta/rules.mk @@ -18,7 +18,7 @@ # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = yes # Console for debug(+400) diff --git a/keyboards/hid_liber/rules.mk b/keyboards/hid_liber/rules.mk index 44833d7555dd..0b55c435318a 100755 --- a/keyboards/hid_liber/rules.mk +++ b/keyboards/hid_liber/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -26,7 +19,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c b/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c new file mode 100644 index 000000000000..507dd0b151d9 --- /dev/null +++ b/keyboards/hidtech/bastyl/keymaps/nstickney/keymap.c @@ -0,0 +1,70 @@ +/* + * Copyright 2020 Quentin LEBASTARD + * Copyright 2020 Anthony MARIN + * Copyright 2021 Stick + * + * 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 "nstickney.h" +#include "unicodemap.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [BASE] = 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + //-------------------------------// + CC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CC_QUOT, + //-------------------------------// + KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, + //-------------------------------// + AC_SLSH, FC_BSLS, KC_SPC, KC_ENT, FC_MINS, AC_EQL, + //-------------------------------// + KC_LBRC, TD(LOCKS), TD(LAYERS), KC_RBRC), + + [SYMB] = LAYOUT(_______, XP(IEX, SS1), X(SS2), X(SS3), XP(CUR, GBP), X(EUR), X(V14), X(V12), X(V34), XP(LSQ, LDQ), XP(RSQ, RDQ), _______, + //-------------------------------// + _______, XP(A_D, AXD), XP(A_R, ACR), XP(E_A, ECA), XP(REG, CPL), X(THR), XP(U_D, UCD), XP(U_A, UCA), XP(I_A, ICA), XP(O_A, OCA), XP(O_D, OCD), _______, + //-------------------------------// + _______, XP(A_A, ACA), XP(S_S, SEC), XP(ETH, ETC), X(EMD), _______, _______, _______, _______, XP(O_S, OCS), XP(PLC, DEG), XP(ACT, DIS), + //-------------------------------// + _______, XP(AEL, AEC), _______, XP(CPR, CNT), _______, _______, _______, _______, XP(N_T, NCT), X(MCR), XP(C_C, CCC), _______, + //-------------------------------// + X(IQM), XP(NOT, BKB), _______, _______, X(YEN), XP(MLT, DIV), + //-------------------------------// + _______, _______, _______, _______), + + [NUMP] = LAYOUT(_______, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, + //-------------------------------// + _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, + //-------------------------------// + _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, + //-------------------------------// + _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______, + //-------------------------------// + _______, _______, _______, KC_PENT, _______, _______, + //-------------------------------// + _______, _______, _______, _______), + + [FCTN] = LAYOUT(KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_SYSREQ, + //-------------------------------// + KC_PSCR, RGB_TOG, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_LOCK, KC_LBRC, KC_RBRC, S(KC_LBRC), S(KC_RBRC), KC_INS, + //-------------------------------// + KC_PAUS, RGB_VAI, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BRIU, KC_CLR, + //-------------------------------// + _______, KC_MPRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_MNXT, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, _______, + //-------------------------------// + RESET, _______, _______, _______, _______, RESET, + //-------------------------------// + _______, KC_F11, KC_F12, _______)}; diff --git a/keyboards/hidtech/bastyl/rules.mk b/keyboards/hidtech/bastyl/rules.mk index cc88208e33c1..fc12eaf0f524 100644 --- a/keyboards/hidtech/bastyl/rules.mk +++ b/keyboards/hidtech/bastyl/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/hifumi/rules.mk b/keyboards/hifumi/rules.mk index 539fb7790009..ff495ef35049 100644 --- a/keyboards/hifumi/rules.mk +++ b/keyboards/hifumi/rules.mk @@ -2,27 +2,19 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change to "no" to disable the options, or define them in the Makefile in # the appropriate keymap folder that will get included automatically # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = no # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID diff --git a/keyboards/hineybush/h10/rules.mk b/keyboards/hineybush/h10/rules.mk index 730ceccf7a69..fd5c198a732c 100644 --- a/keyboards/hineybush/h10/rules.mk +++ b/keyboards/hineybush/h10/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -18,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/hineybush/h60/rules.mk b/keyboards/hineybush/h60/rules.mk index 3046ecffdbf5..cd766bcd4c91 100644 --- a/keyboards/hineybush/h60/rules.mk +++ b/keyboards/hineybush/h60/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -18,7 +18,6 @@ SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output diff --git a/keyboards/hineybush/h660s/rules.mk b/keyboards/hineybush/h660s/rules.mk index bfa9a933fd6d..096da003ce72 100644 --- a/keyboards/hineybush/h660s/rules.mk +++ b/keyboards/hineybush/h660s/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/hineybush/h75_singa/config.h b/keyboards/hineybush/h75_singa/config.h index c2b3f65a8887..f20c07f80a07 100644 --- a/keyboards/hineybush/h75_singa/config.h +++ b/keyboards/hineybush/h75_singa/config.h @@ -188,26 +188,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hineybush/h75_singa/rules.mk b/keyboards/hineybush/h75_singa/rules.mk index b4c66cbc2ea7..8db8b4120ac4 100644 --- a/keyboards/hineybush/h75_singa/rules.mk +++ b/keyboards/hineybush/h75_singa/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/hineybush/h87a/h87a.c b/keyboards/hineybush/h87a/h87a.c index a3f511ffcc46..37c172569341 100644 --- a/keyboards/hineybush/h87a/h87a.c +++ b/keyboards/hineybush/h87a/h87a.c @@ -23,26 +23,6 @@ void matrix_init_kb(void) { matrix_init_user(); } -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - bool led_update_kb(led_t led_state) { if(led_update_user(led_state)) { writePin(D5, !led_state.caps_lock); diff --git a/keyboards/hineybush/h87a/keymaps/default/keymap.c b/keyboards/hineybush/h87a/keymaps/default/keymap.c index abca0b199c26..c26a54527bfd 100644 --- a/keyboards/hineybush/h87a/keymaps/default/keymap.c +++ b/keyboards/hineybush/h87a/keymaps/default/keymap.c @@ -34,15 +34,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c index fde2637154d2..d59438f6b35e 100644 --- a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c +++ b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c @@ -244,7 +244,7 @@ void matrix_scan_user(void) { } -uint32_t layer_state_set_user(uint32_t state) { +layer_state_t layer_state_set_user(layer_state_t state) { switch (biton32(state)) { case _BL: custom_backlight_level(0); diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk b/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk index 8ac43eadbca8..7b35b90178b6 100644 --- a/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk +++ b/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk @@ -4,7 +4,7 @@ # TAP_DANCE_ENABLE = no # Enable TapDance functionality RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys(+1500) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) CONSOLE_ENABLE = no # Console for debug(+400) @@ -18,6 +18,5 @@ UNICODEMAP_ENABLE = no # Enable extended unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 #VARIABLE_TRACE = no # Use this to debug changes to variable values -API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings(+5390) KEY_LOCK_ENABLE = no # This enables key lock(+260) SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common diff --git a/keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c b/keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c new file mode 100644 index 000000000000..985baca2a73e --- /dev/null +++ b/keyboards/hineybush/h87a/keymaps/peott-fr/keymap.c @@ -0,0 +1,27 @@ +/* Copyright 2021 Pierre-Emmanuel Ott + * + * 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 + +/* This is a very basic TKL keymap. Note that I use Split Backspace AND Split right shift, to use fewer stabilizers and due to muscle-memory from 60% boards. + * That's about it really... there's really nothing fancy here besides media key on base layer through Mod Tap. +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all(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_PSCR, KC_SLCK, KC_PAUS, 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_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_BSPC, KC_DEL, KC_END, KC_PGDN, KC_LCTL, 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_ENT, KC_LSPO, KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, LT(2,KC_HOME), KC_UP, LCTL_T(KC_MPRV), LGUI_T(KC_MPLY), LALT_T(KC_MNXT), LT(1,KC_SPC), KC_RALT, KC_RGUI, KC_APP, RCTL_T(KC_END), KC_LEFT, KC_DOWN, KC_RGHT), + [1] = LAYOUT_all(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PCMM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_MYCM, KC_TRNS, KC_ENT, KC_BSPC, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_VOLU, KC_TRNS, KC_P0, KC_PDOT, KC_PENT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT_all(KC_TRNS, 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, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAI, RGB_VAI, RGB_SPI, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO) +}; \ No newline at end of file diff --git a/keyboards/hineybush/h87a/rules.mk b/keyboards/hineybush/h87a/rules.mk index c4a2d842a32e..d828352d33a8 100644 --- a/keyboards/hineybush/h87a/rules.mk +++ b/keyboards/hineybush/h87a/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/hineybush/h88/h88.c b/keyboards/hineybush/h88/h88.c index adfb64bef192..b88722db621c 100644 --- a/keyboards/hineybush/h88/h88.c +++ b/keyboards/hineybush/h88/h88.c @@ -23,26 +23,6 @@ void matrix_init_kb(void) { matrix_init_user(); } -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - bool led_update_kb(led_t led_state) { if(led_update_user(led_state)) { writePin(D5, !led_state.caps_lock); diff --git a/keyboards/hineybush/h88/keymaps/default/keymap.c b/keyboards/hineybush/h88/keymaps/default/keymap.c index 2e0251ee2eb2..c4f1cf4e94d0 100644 --- a/keyboards/hineybush/h88/keymaps/default/keymap.c +++ b/keyboards/hineybush/h88/keymaps/default/keymap.c @@ -34,17 +34,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - - diff --git a/keyboards/hineybush/h88/rules.mk b/keyboards/hineybush/h88/rules.mk index 5e0d1726fba5..a68be4c0db04 100644 --- a/keyboards/hineybush/h88/rules.mk +++ b/keyboards/hineybush/h88/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/hineybush/hbcp/hbcp.c b/keyboards/hineybush/hbcp/hbcp.c index e2513023e099..562dbb3e907d 100644 --- a/keyboards/hineybush/hbcp/hbcp.c +++ b/keyboards/hineybush/hbcp/hbcp.c @@ -34,39 +34,6 @@ // #define HSV_custom_color H, S, V - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} - void eeconfig_init_kb(void) { // EEPROM is getting reset! rgblight_enable(); // Enable RGB by default rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness diff --git a/keyboards/hineybush/hbcp/keymaps/default/keymap.c b/keyboards/hineybush/hbcp/keymaps/default/keymap.c index b8ab480ba31e..9bc9ec8e819d 100644 --- a/keyboards/hineybush/hbcp/keymaps/default/keymap.c +++ b/keyboards/hineybush/hbcp/keymaps/default/keymap.c @@ -74,11 +74,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} diff --git a/keyboards/hineybush/hbcp/rules.mk b/keyboards/hineybush/hbcp/rules.mk index c6441d0e84e8..c2f8abd5fb42 100644 --- a/keyboards/hineybush/hbcp/rules.mk +++ b/keyboards/hineybush/hbcp/rules.mk @@ -2,19 +2,12 @@ MCU = at90usb1286 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/hineybush/hineyg80/keymaps/default/keymap.c b/keyboards/hineybush/hineyg80/keymaps/default/keymap.c index 13d0c8955788..c87dd24bd1a5 100644 --- a/keyboards/hineybush/hineyg80/keymaps/default/keymap.c +++ b/keyboards/hineybush/hineyg80/keymaps/default/keymap.c @@ -40,19 +40,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/hineybush/hineyg80/keymaps/wkl/keymap.c b/keyboards/hineybush/hineyg80/keymaps/wkl/keymap.c index a1255e9cc737..d5664a97eab9 100644 --- a/keyboards/hineybush/hineyg80/keymaps/wkl/keymap.c +++ b/keyboards/hineybush/hineyg80/keymaps/wkl/keymap.c @@ -42,19 +42,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ ), }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -void led_set_user(uint8_t usb_led) { - -} \ No newline at end of file diff --git a/keyboards/hineybush/hineyg80/rules.mk b/keyboards/hineybush/hineyg80/rules.mk index f1d011ad6a08..a0195912b249 100644 --- a/keyboards/hineybush/hineyg80/rules.mk +++ b/keyboards/hineybush/hineyg80/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -25,7 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/hineybush/physix/config.h b/keyboards/hineybush/physix/config.h index 57544e19711a..4c5879b084e9 100644 --- a/keyboards/hineybush/physix/config.h +++ b/keyboards/hineybush/physix/config.h @@ -194,26 +194,6 @@ along with this program. If not, see . #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hineybush/physix/rules.mk b/keyboards/hineybush/physix/rules.mk index ca67560c24ec..3fd256dc9b59 100644 --- a/keyboards/hineybush/physix/rules.mk +++ b/keyboards/hineybush/physix/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/hineybush/sm68/config.h b/keyboards/hineybush/sm68/config.h index b9cca329c20a..344def6ebb2e 100644 --- a/keyboards/hineybush/sm68/config.h +++ b/keyboards/hineybush/sm68/config.h @@ -184,26 +184,6 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -/* - * MIDI options - */ - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 diff --git a/keyboards/hineybush/sm68/rules.mk b/keyboards/hineybush/sm68/rules.mk index 7ce1eab6dc1a..0af4a828cf6e 100644 --- a/keyboards/hineybush/sm68/rules.mk +++ b/keyboards/hineybush/sm68/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -25,6 +18,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/hineybush/sm68/sm68.c b/keyboards/hineybush/sm68/sm68.c index 5aa3c85bbc7d..54fd8ab0a339 100644 --- a/keyboards/hineybush/sm68/sm68.c +++ b/keyboards/hineybush/sm68/sm68.c @@ -15,36 +15,3 @@ */ #include "sm68.h" - -// Optional override functions below. -// You can leave any or all of these undefined. -// These are only required if you want to perform custom actions. - -/* -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} -*/ diff --git a/keyboards/holyswitch/southpaw75/rules.mk b/keyboards/holyswitch/southpaw75/rules.mk index 5c0d8f307c54..c98974abafc2 100644 --- a/keyboards/holyswitch/southpaw75/rules.mk +++ b/keyboards/holyswitch/southpaw75/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/honeycomb/rules.mk b/keyboards/honeycomb/rules.mk index d6f98125eed3..bda904cb4153 100755 --- a/keyboards/honeycomb/rules.mk +++ b/keyboards/honeycomb/rules.mk @@ -2,19 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # comment out to disable the options. # -#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite #MOUSEKEY_ENABLE = yes # Mouse keys POINTING_DEVICE_ENABLE = yes # Generic Pointer, not as big as mouse keys hopefully. EXTRAKEY_ENABLE = yes # Audio control and System control @@ -25,9 +18,8 @@ CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge # SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA # BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -# MIDI_ENABLE = YES # MIDI controls +MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = YES # Unicode -# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID # # project specific files SRC += matrix.c serial_uart.c diff --git a/keyboards/hotdox/hotdox.h b/keyboards/hotdox/hotdox.h index 0eef4ea7905c..348ec6b29184 100644 --- a/keyboards/hotdox/hotdox.h +++ b/keyboards/hotdox/hotdox.h @@ -4,9 +4,6 @@ #include #include -#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) -#define CPU_16MHz 0x00 - void init_ergodox(void); inline void ergodox_board_led_on(void) { DDRB |= (1<. + */ +#include QMK_KEYBOARD_H +#include "imchipwood.h" + +// Layer names +enum custom_layers { + _QWERTY, + _NUM, + _MED +}; + +// Layer definitions +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_ergodox_pretty( +/* Keymap 0: Basic layer + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | ESC | |BkTick| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | MEH | | | Y | U | I | O | P | [ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSlsh | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | + * |--------+------+------+------+------+------|MO(2) | |MO(2) |------+------+------+------+------+--------| + * | LSHIFT | Z | X | C | V | B | | | | N | M | , | . | / |SHFT/CAP| + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |RCTRL | LALT | GUI |L/HOME|R/END | | Up | Down | LEFT |RIGHT |PRSCR | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | DEL | INS | | Ctrl | Alt | + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * |Enter |MO(1) |------| |------| Bksp |Space | + * | | | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// Left hand Right hand +// ,------------------------------------------------------------------------------------------. ,------------------------------------------------------------------------------------------. + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, KC_GRV, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, +// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MEH, KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, +// |------------+------------+------------+------------+------------+------------+ | | +------------+------------+------------+------------+------------+------------| + KC_BSLS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, +// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| + KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MED), MO(_MED), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TD(TD_RSFT_CAPS), +// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| + KC_LCTRL, KC_LALT, KC_LGUI, TD(TD_LOME), TD(TD_REND), KC_UP, KC_DOWN, KC_LEFT, KC_RGHT, KC_PSCR, +// `---------------------------------------------------------------' `----------------------------------------------------------------' +// ,-------------------------. ,-------------------------. + KC_DEL, KC_INS, KC_TRNS, KC_TRNS, +// ,------------+------------+------------| |------------+------------+------------. + KC_TRNS, KC_TRNS, +// | | +------------| |------------+ | | + KC_ENT, MO(_NUM), KC_TRNS, KC_TRNS, KC_BSPC, KC_SPC +// `--------------------------------------' `--------------------------------------' + ), + [_NUM] = LAYOUT_ergodox_pretty( +/* Keymap 1: Numpad, function keys, and some convenience keys + * ,---------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | F12 | F6 | F7 | F8 | F9 | F10 | F11 | + * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| + * | | | up | | | | | | | 7 | 8 | 9 | * | / | ] | + * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | left | down |right | | |------| |------| 4 | 5 | 6 | + | - | | + * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | 1 | 2 | 3 | = | up | enter | + * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | PgUp | PgDn | | 0 | . | left | down |right | + * `-----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| Del | Esc | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// Left hand Right hand +// ,------------------------------------------------------------------------------------------. ,------------------------------------------------------------------------------------------. + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, TD(CTL_F5), KC_TRNS, KC_F12, KC_F6, TD(ALT_F7), KC_F8, KC_F9, KC_F10, KC_F11, +// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_PAST, KC_PSLS, KC_RBRC, +// |------------+------------+------------+------------+------------+------------+ | | +------------+------------+------------+------------+------------+------------| + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_PPLS, KC_PMNS, KC_TRNS, +// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_PEQL, KC_UP, KC_PENT, +// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_0, KC_PDOT, 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_DEL, KC_ESC +// `--------------------------------------' `--------------------------------------' + ), + [_MED] = LAYOUT_ergodox_pretty( +/* Keymap 2: Media and mouse keys + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | Mute | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | MsUp | | | | | | | MP7 | MP8 | MP9 | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | |MsLeft|MsDown|MsRght| | |------| |------| MP4 | MP5 | MP6 | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | MP1 | MP2 | MP3 | |VolUp | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | | | | Prev |VolDn | Next | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * |RESET | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * |MPENT | |------| |------| |Play | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// Left hand Right hand +// ,------------------------------------------------------------------------------------------. ,------------------------------------------------------------------------------------------. + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, +// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| + KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_P7), MEH(KC_P8), MEH(KC_P9), KC_TRNS, KC_TRNS, KC_TRNS, +// |------------+------------+------------+------------+------------+------------+ | | +------------+------------+------------+------------+------------+------------| + KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, MEH(KC_P4), MEH(KC_P5), MEH(KC_P6), KC_TRNS, KC_TRNS, KC_TRNS, +// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_P1), MEH(KC_P2), MEH(KC_P3), KC_TRNS, KC_VOLU, KC_TRNS, +// |------------+------------+------------+------------+------------+------------+------------| |------------+------------+------------+------------+------------+------------+------------| + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, +// `---------------------------------------------------------------' `----------------------------------------------------------------' +// ,-------------------------. ,-------------------------. + RESET, KC_TRNS, KC_TRNS, KC_TRNS, +// ,------------+------------+------------| |------------+------------+------------. + KC_TRNS, KC_TRNS, +// | | +------------| |------------+ | | + MEH(KC_PENT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY +// `--------------------------------------' `--------------------------------------' + ) +}; diff --git a/keyboards/hotdox/keymaps/via/keymap.c b/keyboards/hotdox/keymaps/via/keymap.c index 0a3d41cf788e..5cfad55ddd2b 100644 --- a/keyboards/hotdox/keymaps/via/keymap.c +++ b/keyboards/hotdox/keymaps/via/keymap.c @@ -162,12 +162,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - -}; - - // Runs constantly in the background, in a loop. void matrix_scan_user(void) { diff --git a/keyboards/hotdox/rules.mk b/keyboards/hotdox/rules.mk index 95f6c7ec6dd3..3802dbe9957d 100644 --- a/keyboards/hotdox/rules.mk +++ b/keyboards/hotdox/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options @@ -16,7 +9,7 @@ BOOTLOADER = atmel-dfu # CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDone UNICODE_ENABLE = yes # Unicode -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = yes # Console for debug @@ -27,7 +20,6 @@ USB_6KRO_ENABLE = no # USB 6key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality SWAP_HANDS_ENABLE = no # Disable Onehand RGBLIGHT_ENABLE = no -MIDI_ENABLE = no # project specific files SRC = matrix.c \ diff --git a/keyboards/hp69/config.h b/keyboards/hp69/config.h index 06dd57145ca8..ba6e55f86d43 100644 --- a/keyboards/hp69/config.h +++ b/keyboards/hp69/config.h @@ -47,7 +47,11 @@ along with this program. If not, see . #define RGB_DI_PIN A3 #define RGBLED_NUM 20 #define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_SLEEP #define AUDIO_PIN A5 #define AUDIO_PIN_ALT A4 #define AUDIO_PIN_ALT_AS_NEGATIVE + +#define LED_CAPS_LOCK_PIN A6 +#define LED_SCROLL_LOCK_PIN A7 \ No newline at end of file diff --git a/keyboards/hp69/keymaps/via/keymap.c b/keyboards/hp69/keymaps/via/keymap.c index d47308c8ba22..a4743af6237b 100644 --- a/keyboards/hp69/keymaps/via/keymap.c +++ b/keyboards/hp69/keymaps/via/keymap.c @@ -46,4 +46,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), -}; \ No newline at end of file +}; + + +void matrix_scan_user(void) { + writePin(A7, layer_state_is(1)); +} + +bool led_update_user(led_t led_state) { + writePin(LED_CAPS_LOCK_PIN, led_state.caps_lock); + return false; +}; diff --git a/keyboards/hp69/rules.mk b/keyboards/hp69/rules.mk index 96ad29a6f23c..d9c7ee0e566c 100644 --- a/keyboards/hp69/rules.mk +++ b/keyboards/hp69/rules.mk @@ -3,12 +3,12 @@ MCU = STM32F303 BOARD = QMK_PROTON_C # Bootloader selection -BOOTLOADER = atmel-dfu +BOOTLOADER = stm32-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,4 +20,4 @@ NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth -AUDIO_ENABLE = no # Audio output \ No newline at end of file +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/hs60/v1/config.h b/keyboards/hs60/v1/config.h index 68c75b2af04d..41246b6ee8da 100644 --- a/keyboards/hs60/v1/config.h +++ b/keyboards/hs60/v1/config.h @@ -118,7 +118,7 @@ along with this program. If not, see . //#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended +// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 215 #define DRIVER_ADDR_1 0b1110100 diff --git a/keyboards/hs60/v1/keymaps/ansi/keymap.c b/keyboards/hs60/v1/keymaps/ansi/keymap.c index 923af9e2ce0e..bf3d4aea283e 100644 --- a/keyboards/hs60/v1/keymaps/ansi/keymap.c +++ b/keyboards/hs60/v1/keymaps/ansi/keymap.c @@ -32,15 +32,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS,\ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} \ No newline at end of file diff --git a/keyboards/hs60/v1/keymaps/default/keymap.c b/keyboards/hs60/v1/keymaps/default/keymap.c index 953172c7391f..d30ce56aec6a 100644 --- a/keyboards/hs60/v1/keymaps/default/keymap.c +++ b/keyboards/hs60/v1/keymaps/default/keymap.c @@ -32,15 +32,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS,\ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} diff --git a/keyboards/hs60/v1/rules.mk b/keyboards/hs60/v1/rules.mk index 5a261bf6e459..97fa61bfd546 100644 --- a/keyboards/hs60/v1/rules.mk +++ b/keyboards/hs60/v1/rules.mk @@ -2,13 +2,6 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = qmk-dfu # Do not put the microcontroller into power saving mode @@ -19,7 +12,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -29,7 +22,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE = no # MIDI support UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 diff --git a/keyboards/hs60/v1/v1.c b/keyboards/hs60/v1/v1.c index 70c1c2128eba..d2bb8011f187 100644 --- a/keyboards/hs60/v1/v1.c +++ b/keyboards/hs60/v1/v1.c @@ -91,7 +91,7 @@ void raw_hid_receive( uint8_t *data, uint8_t length ) #ifdef HS60_ANSI -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -199,7 +199,7 @@ led_config_t g_led_config = { { #else -const is31_led g_is31_leds[DRIVER_LED_TOTAL] = { +const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = { /* Refer to IS31 manual for these locations * driver * | R location @@ -378,20 +378,6 @@ void matrix_init_kb(void) { matrix_init_user(); } -void matrix_scan_kb(void) { - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - //backlight_set_indicator_state(usb_led); -} - void suspend_power_down_kb(void) { rgb_matrix_set_suspend_state(true); diff --git a/keyboards/hs60/v2/ansi/keymaps/default/keymap.c b/keyboards/hs60/v2/ansi/keymaps/default/keymap.c index ba649470b41d..5ccc977959ae 100644 --- a/keyboards/hs60/v2/ansi/keymaps/default/keymap.c +++ b/keyboards/hs60/v2/ansi/keymaps/default/keymap.c @@ -46,15 +46,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} \ No newline at end of file diff --git a/keyboards/hs60/v2/ansi/keymaps/via/keymap.c b/keyboards/hs60/v2/ansi/keymaps/via/keymap.c index ba649470b41d..5ccc977959ae 100644 --- a/keyboards/hs60/v2/ansi/keymaps/via/keymap.c +++ b/keyboards/hs60/v2/ansi/keymaps/via/keymap.c @@ -46,15 +46,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} \ No newline at end of file diff --git a/keyboards/hs60/v2/ansi/rules.mk b/keyboards/hs60/v2/ansi/rules.mk index 74889decfb8c..4ec0d8ef334b 100644 --- a/keyboards/hs60/v2/ansi/rules.mk +++ b/keyboards/hs60/v2/ansi/rules.mk @@ -2,6 +2,9 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Do not put the microcontroller into power saving mode # when we get USB suspend event. We want it to keep updating # backlight effects. @@ -11,7 +14,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN # comment out to disable the options. # BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,7 +23,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover AUDIO_ENABLE = no # Audio output on port C6 NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in -#SERIAL_LINK_ENABLE = yes CIE1931_CURVE = yes @@ -29,6 +31,6 @@ LAYOUTS = 60_ansi # project specific files SRC = keyboards/wilba_tech/wt_main.c \ keyboards/wilba_tech/wt_rgb_backlight.c \ - drivers/issi/is31fl3733.c \ + drivers/led/issi/is31fl3733.c \ quantum/color.c \ - drivers/chibios/i2c_master.c + i2c_master.c diff --git a/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c b/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c index 9641eedb4929..7c48d0bc233f 100644 --- a/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c +++ b/keyboards/hs60/v2/hhkb/keymaps/default/keymap.c @@ -46,15 +46,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} \ No newline at end of file diff --git a/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c b/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c index 9641eedb4929..7c48d0bc233f 100644 --- a/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c +++ b/keyboards/hs60/v2/hhkb/keymaps/via/keymap.c @@ -46,15 +46,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} \ No newline at end of file diff --git a/keyboards/hs60/v2/hhkb/rules.mk b/keyboards/hs60/v2/hhkb/rules.mk index 561a8cd06ab7..da021bdfaa06 100644 --- a/keyboards/hs60/v2/hhkb/rules.mk +++ b/keyboards/hs60/v2/hhkb/rules.mk @@ -2,6 +2,9 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Do not put the microcontroller into power saving mode # when we get USB suspend event. We want it to keep updating # backlight effects. @@ -11,7 +14,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN # comment out to disable the options. # BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,13 +23,12 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover AUDIO_ENABLE = no # Audio output on port C6 NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in -#SERIAL_LINK_ENABLE = yes CIE1931_CURVE = yes # project specific files SRC = keyboards/wilba_tech/wt_main.c \ keyboards/wilba_tech/wt_rgb_backlight.c \ - drivers/issi/is31fl3733.c \ + drivers/led/issi/is31fl3733.c \ quantum/color.c \ - drivers/chibios/i2c_master.c + i2c_master.c diff --git a/keyboards/hs60/v2/iso/keymaps/default/keymap.c b/keyboards/hs60/v2/iso/keymaps/default/keymap.c index c1e575769fea..1b1e5ea4e22d 100644 --- a/keyboards/hs60/v2/iso/keymaps/default/keymap.c +++ b/keyboards/hs60/v2/iso/keymaps/default/keymap.c @@ -46,15 +46,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} \ No newline at end of file diff --git a/keyboards/hs60/v2/iso/keymaps/via/keymap.c b/keyboards/hs60/v2/iso/keymaps/via/keymap.c index c1e575769fea..1b1e5ea4e22d 100644 --- a/keyboards/hs60/v2/iso/keymaps/via/keymap.c +++ b/keyboards/hs60/v2/iso/keymaps/via/keymap.c @@ -46,15 +46,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; - -void matrix_init_user(void) { - //user initialization -} - -void matrix_scan_user(void) { - //user matrix -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} \ No newline at end of file diff --git a/keyboards/hs60/v2/iso/rules.mk b/keyboards/hs60/v2/iso/rules.mk index 62af70cc0595..50c50b3aa3b2 100644 --- a/keyboards/hs60/v2/iso/rules.mk +++ b/keyboards/hs60/v2/iso/rules.mk @@ -2,6 +2,9 @@ MCU = STM32F303 BOARD = QMK_PROTON_C +# Bootloader selection +BOOTLOADER = stm32-dfu + # Do not put the microcontroller into power saving mode # when we get USB suspend event. We want it to keep updating # backlight effects. @@ -11,7 +14,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN # comment out to disable the options. # BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug @@ -20,7 +23,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = yes # USB Nkey Rollover AUDIO_ENABLE = no # Audio output on port C6 NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in -#SERIAL_LINK_ENABLE = yes CIE1931_CURVE = yes @@ -29,6 +31,6 @@ LAYOUTS = 60_iso # project specific files SRC = keyboards/wilba_tech/wt_main.c \ keyboards/wilba_tech/wt_rgb_backlight.c \ - drivers/issi/is31fl3733.c \ + drivers/led/issi/is31fl3733.c \ quantum/color.c \ - drivers/chibios/i2c_master.c + i2c_master.c diff --git a/keyboards/hub16/keymaps/ahk_companion/keymap.c b/keyboards/hub16/keymaps/ahk_companion/keymap.c index bbc2ac09a112..10f641b6f8fc 100644 --- a/keyboards/hub16/keymaps/ahk_companion/keymap.c +++ b/keyboards/hub16/keymaps/ahk_companion/keymap.c @@ -103,7 +103,7 @@ const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( my_layer5_layer ); -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left Encoder */ if (clockwise) { tap_code(KC_MPRV); @@ -117,6 +117,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_VOLU); } } + return true; } void post_process_record_user(uint16_t keycode, keyrecord_t *record) { // Allow for a preview of changes when modifying RGB diff --git a/keyboards/hub16/keymaps/default/keymap.c b/keyboards/hub16/keymaps/default/keymap.c index e077fe740906..1c1d188f29e8 100755 --- a/keyboards/hub16/keymaps/default/keymap.c +++ b/keyboards/hub16/keymaps/default/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left Encoder */ if (clockwise) { tap_code(KC_VOLD); @@ -47,4 +47,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_MNXT); } } + return true; } diff --git a/keyboards/hub16/keymaps/macro/keymap.c b/keyboards/hub16/keymaps/macro/keymap.c index 3bf8fa31fd16..e4cf9da5eb78 100755 --- a/keyboards/hub16/keymaps/macro/keymap.c +++ b/keyboards/hub16/keymaps/macro/keymap.c @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Keyboard is setup to 'wrap' the pressed key with an unused Fxx key, // allowing for easy differentiation from a real keyboard. -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left Encoder */ if (clockwise) { register_code(KC_WRAP); @@ -76,6 +76,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { unregister_code(KC_WRAP); } } + return true; } // Below stolen from TaranVH (https://github.com/TaranVH/2nd-keyboard/blob/master/HASU_USB/F24/keymap.c) diff --git a/keyboards/hub16/keymaps/peepeetee/config.h b/keyboards/hub16/keymaps/peepeetee/config.h new file mode 100644 index 000000000000..aa9e081c7560 --- /dev/null +++ b/keyboards/hub16/keymaps/peepeetee/config.h @@ -0,0 +1,57 @@ +/* +Copyright 2019 Josh Johnson + +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 RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +// /*== all animations enable ==*/ +// #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +// /*== customize breathing effect ==*/ +// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +// /*==== use exp() and sin() ====*/ +// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +// #endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 20 + +// Time out one shot layers after 3 seconds +#define ONESHOT_TIMEOUT 3000 + +// Undef and redefine default brightness to half of 255 +#undef RGBLIGHT_LIMIT_VAL +#define RGBLIGHT_LIMIT_VAL 255 + +//Define a preview timeout for RGB reviews +#define PREVIEW_TIMEOUT 5000 + +// Enable Light Layers implementation +#define RGBLIGHT_LAYERS +// Allow Light Layers to override RGB off configuration +#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF diff --git a/keyboards/hub16/keymaps/peepeetee/keymap.c b/keyboards/hub16/keymaps/peepeetee/keymap.c new file mode 100644 index 000000000000..4790feda0ae7 --- /dev/null +++ b/keyboards/hub16/keymaps/peepeetee/keymap.c @@ -0,0 +1,209 @@ +/* +Copyright 2019 Josh Johnson 2021 peepeetee + +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(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) +static uint32_t rgb_preview_timer = 0; +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + + // Layer 0 - Base Layer (F13 to F24, and One Shot Layer 1,2,3 or Toggle Layer 4) + [0] = LAYOUT( + KC_MPLY, KC_MUTE, + TG(3), TG(2), TG(1), TG(0), + KC_PSCR, KC_SLCK, KC_PAUS, A(KC_F4), + KC_INS, KC_HOME, KC_PGUP, KC_F12, //Transparent to let you go between layers + KC_DEL, A(KC_F4), KC_PGDN, KC_CALCULATOR + + ), + + [1] = LAYOUT( + KC_MPLY, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_F7, KC_F8, KC_F9, KC_F10, + KC_F4, KC_F5, KC_F6, KC_F11, + KC_F1, KC_F2, KC_F3, KC_F12 //Transparent to let you go between layers + ), + + + //Layer 5 - Keyboard Lights, Programming and Special Functions + [2] = LAYOUT( + KC_MPLY, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, //Transparent to let you go between layers + RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, + RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, + RGB_TOG, EEP_RST, RESET, KC_TRNS + ), + + [3] = LAYOUT( + KC_MPLY, KC_MUTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, //Transparent to let you go between layers + RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, + RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, + RGB_TOG, EEP_RST, RESET, KC_TRNS + ) + + + //Layer 0 - Base Layer (F13 to F24, and One Shot Layer 1,2,3 or Toggle Layer 4) + // [0] = LAYOUT( + // KC_MPLY, KC_MUTE, + // KC_F13, KC_F14, KC_F15, KC_F16, + // KC_F17, KC_F18, KC_F19, KC_F20, + // KC_F21, KC_F22, KC_F23, KC_F24, + // OSL(1), OSL(2), OSL(3), TG(4) //Transparent to let you go between layers + // ), + + // [1] = LAYOUT( + // KC_MPLY, KC_MUTE, + // LALT(KC_F13), LALT(KC_F14), LALT(KC_F15), LALT(KC_F16), + // LALT(KC_F17), LALT(KC_F18), LALT(KC_F19), LALT(KC_F20), + // LALT(KC_F21), LALT(KC_F22), LALT(KC_F23), LALT(KC_F24), + // KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers + // ), + + //Layer 2 - Shift + Function Key Layer + // [2] = LAYOUT( + // KC_MPLY, KC_MUTE, + // LSFT(KC_F13), LSFT(KC_F14), LSFT(KC_F15), LSFT(KC_F16), + // LSFT(KC_F17), LSFT(KC_F18), LSFT(KC_F19), LSFT(KC_F20), + // LSFT(KC_F21), LSFT(KC_F22), LSFT(KC_F23), LSFT(KC_F24), + // KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers + // ), + + // //Layer 3 - Control + Function Key + // [3] = LAYOUT( + // KC_MPLY, KC_MUTE, + // LCTL(KC_F13), LCTL(KC_F14), LCTL(KC_F15), LCTL(KC_F16), + // LCTL(KC_F17), LCTL(KC_F18), LCTL(KC_F19), LCTL(KC_F20), + // LCTL(KC_F21), LCTL(KC_F22), LCTL(KC_F23), LCTL(KC_F24), + // KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers + // ), + + // //Layer 4 - Multimedia + // [4] = LAYOUT( + // KC_MPLY, KC_MUTE, + // KC_MPRV, KC_MPLY, KC_U, KC_K, + // KC_NO, KC_NO, KC_ENT, KC_X, + // KC_NO, RESET, LSFT(KC_HASH), KC_J, + // TG(5), KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers + // ), + + // //Layer 5 - Keyboard Lights, Programming and Special Functions + // [5] = LAYOUT( + // KC_MPLY, KC_MUTE, + // RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, + // RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, + // RGB_TOG, EEP_RST, RESET, KC_LSHIFT, + // KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS //Transparent to let you go between layers + // ), +}; + +const rgblight_segment_t PROGMEM my_layer0_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,16,HSV_WHITE} + ); +const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,16,HSV_ORANGE} + ); + const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,16,HSV_RED} + ); + const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,16,HSV_BLUE} + ); +// const rgblight_segment_t PROGMEM my_layer4_layer[] = RGBLIGHT_LAYER_SEGMENTS( +// {0,16,HSV_WHITE} +// ); +// const rgblight_segment_t PROGMEM my_layer5_layer[] = RGBLIGHT_LAYER_SEGMENTS( +// {0,16,HSV_TEAL} +// ); +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_layer0_layer, + my_layer1_layer, + my_layer2_layer, + my_layer3_layer//, + // my_layer4_layer, + // my_layer5_layer + ); + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* Left Encoder */ + if (clockwise) { + tap_code(KC_MPRV); + } else { + tap_code(KC_MNXT); + } + } else if (index == 1) { /* Right Encoder */ + if (clockwise) { + tap_code(KC_VOLD); + } else { + tap_code(KC_VOLU); + } + } + return true; +} +void post_process_record_user(uint16_t keycode, keyrecord_t *record) { + // Allow for a preview of changes when modifying RGB +# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) + switch (keycode) { + case RGB_TOG ... VLK_TOG: + for (uint8_t i = 0; i < RGBLIGHT_MAX_LAYERS; i++) { + rgblight_set_layer_state(i, false); + } + rgb_preview_timer = timer_read32(); + break; + } +# endif + return; +} + +//Set the appropriate layer color +layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, false); + rgblight_set_layer_state(1, layer_state_cmp(state, 1)); + rgblight_set_layer_state(2, layer_state_cmp(state, 2)); + rgblight_set_layer_state(3, layer_state_cmp(state, 3)); + // rgblight_set_layer_state(4, layer_state_cmp(state, 4)); + // rgblight_set_layer_state(5, layer_state_cmp(state, 5)); + return state; +} + +void keyboard_post_init_user(void) { + //Enable the LED layers + rgblight_layers = my_rgb_layers; + layer_state_set_user(layer_state); +} + +void matrix_scan_user(void) { +# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) + // Allow preview for + if (rgb_preview_timer && TIMER_DIFF_32(timer_read32(), rgb_preview_timer) > PREVIEW_TIMEOUT) { + rgb_preview_timer = 0; + default_layer_state_set_user(default_layer_state); + layer_state_set_user(layer_state); + led_update_user((led_t) host_keyboard_leds()); + } +# endif +} + +//EEPROM Reset Function +void eeconfig_init_user(void) { + rgblight_enable(); // Enable RGB by default + rgblight_sethsv_orange(); // Set it to orange by default +} diff --git a/keyboards/hub16/keymaps/peepeetee/rules.mk b/keyboards/hub16/keymaps/peepeetee/rules.mk new file mode 100644 index 000000000000..976443cf4836 --- /dev/null +++ b/keyboards/hub16/keymaps/peepeetee/rules.mk @@ -0,0 +1 @@ +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite \ No newline at end of file diff --git a/keyboards/hub16/keymaps/via/keymap.c b/keyboards/hub16/keymaps/via/keymap.c index c6f119adb7db..c7facf2ed4f5 100755 --- a/keyboards/hub16/keymaps/via/keymap.c +++ b/keyboards/hub16/keymaps/via/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left Encoder */ if (clockwise) { tap_code(KC_VOLD); @@ -63,4 +63,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_MNXT); } } + return true; } diff --git a/keyboards/hub16/rules.mk b/keyboards/hub16/rules.mk index 07d286c17f43..71b26b733ced 100755 --- a/keyboards/hub16/rules.mk +++ b/keyboards/hub16/rules.mk @@ -1,10 +1,12 @@ +# MCU name MCU = atmega32u4 +# Bootloader selection BOOTLOADER = caterina # Build Options CUSTOM_MATRIX = lite # Custom scanning of matrix -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug diff --git a/keyboards/hub20/config.h b/keyboards/hub20/config.h index 8ebe1f9e2bdc..f8e5d6be8d1d 100644 --- a/keyboards/hub20/config.h +++ b/keyboards/hub20/config.h @@ -1,5 +1,6 @@ /* -Copyright 2020 joshajohnson +Copyright 2020 joshajohnson +Copyright 2021 peepeetee 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 @@ -41,29 +42,56 @@ along with this program. If not, see . #define RGB_DI_PIN B15 #define RGBLED_NUM 27 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -// /*== all animations enable ==*/ -#define RGBLIGHT_ANIMATIONS -// /*== or choose animations ==*/ -// #define RGBLIGHT_EFFECT_BREATHING -// #define RGBLIGHT_EFFECT_RAINBOW_MOOD -// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL -// #define RGBLIGHT_EFFECT_SNAKE -// #define RGBLIGHT_EFFECT_KNIGHT -// #define RGBLIGHT_EFFECT_CHRISTMAS -// #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -// /*== customize breathing effect ==*/ -// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ -// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 -// /*==== use exp() and sin() ====*/ -// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 -// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 + +#define DRIVER_LED_TOTAL 27 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 27 +#endif + +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES + +// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around. +// #define DISABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support +#define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue +//#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes +//#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient top to bottom, speed controls how much gradient changes +//#define DISABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation +#define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right +#define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right +#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation +#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness +#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation +#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness +#define DISABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient +//#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right +//#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom +#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right +#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in +#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in +#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard +#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard +#define DISABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard +#define DISABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard +#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard +//#define DISABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue +//#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation +// =================================================== Requires RGB_MATRIX_FRAMEBUFFER_EFFECTS ============================================================= +// #define DISABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM! +//#define DISABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation +// =================================================== RGB_MATRIX_KEYPRESSES OR RGB_MATRIX_KEYRELEASES ===================================================== +//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out +//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out +#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out +#define DISABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out +#define DISABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out +#define DISABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out +#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCE 5 diff --git a/keyboards/hub20/hub20.c b/keyboards/hub20/hub20.c index 306ab788d9ca..f7171c521930 100644 --- a/keyboards/hub20/hub20.c +++ b/keyboards/hub20/hub20.c @@ -1,4 +1,4 @@ -/* Copyright 2020 joshajohnson +/* Copyright 2020 joshajohnson 2021 peepeetee * * 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 @@ -16,3 +16,156 @@ #include "hub20.h" + +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + {NO_LED,NO_LED,NO_LED,NO_LED}, + { 7, 8, 9, 10}, + { 11, 12, 13, 14}, + { 15, 16, 17, 18}, + { 19, 20, 21, 22}, + { 23, 24, 25, 26} + //todo: assign leds to keys differently for the different layouts +}, { + // LED Index to Physical Position + { 190, 50}, { 111, 50}, { 35, 50}, {38, 0}, {38, 35}, {186, 35}, {186, 0}, // UNDERGLOW + //todo: underglow location needs to be recalculated. The top row is above row 4, and for now they have the same y value 0 + { 0, 0}, {75, 0}, {150, 0}, {225, 0}, // row 4 + { 0, 16}, {75, 16}, {150, 16}, {225, 16}, // row 3 + { 0, 32}, {75, 32}, {150, 32}, {225, 32}, // row 2 + { 0, 48}, {75, 48}, {150, 48}, {225, 48}, // row 1 + { 0, 64}, {75, 64}, {150, 64}, {225, 64} // row 0 + +}, { + // LED Index to Flag + LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, // UNDERGLOW + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 4 + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 3 + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 2 + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 1 + LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT // row 0 + +} }; +#endif + + + +// #if LED_MERGE_NUMPAD_LEFT_HANDED_ENTER && LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO +// #error lower left enter conflicts with lower left zero +// #endif + +// #if LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER && LED_MERGE_NUMPAD_LEFT_HANDED_ZERO +// #error lower right enter conflicts with lower right zero +// #endif + +// /* LAYOUT_left_handed + + +// * ┌───┬───┐ +// * │01 │02 │ +// * ┌───┼───┼───┼───┐ +// * │10 │11 │12 │13 │ +// * ├───┼───┼───┼───┤ +// * │ │21 │22 │23 │ +// * │20 ├───┼───┼───┤ +// * │ │31 │32 │33 │ +// * ├───┼───┼───┼───┤ +// * │ │41 │42 │43 │ +// * │40 ├───┼───┴───┤ +// * │ │51 │ 52 │ +// * └───┴───┴───────┘ +// */ + +// #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_PLUS //key 20 +// #define LED_MERGE_NUMPAD_LEFT_HANDED_PLUS FALSE +// #endif // LED_MERGE_NUMPAD_LEFT_HANDED_PLUS + +// #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_ENTER //key 40 +// #define LED_MERGE_NUMPAD_LEFT_HANDED_ENTER FALSE +// #endif // LED_MERGE_NUMPAD_LEFT_HANDED_ENTER + +// #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_ZERO //key 52 +// #define LED_MERGE_NUMPAD_LEFT_HANDED_ZERO FALSE +// #endif // LED_MERGE_NUMPAD_LEFT_HANDED_ZERO + + +// /* LAYOUT_right_handed + + +// * ┌───┬───┐ +// * │01 │02 │ +// * ┌───┼───┼───┼───┐ +// * │10 │11 │12 │13 │ +// * ├───┼───┼───┼───┤ +// * │20 │21 │22 │ │ +// * ├───┼───┼───┤23 │ +// * │30 │31 │32 │ │ +// * ├───┼───┼───┼───┤ +// * │40 │41 │42 │ │ +// * ├───┴───┼───┤43 │ +// * │ 50 │52 │ │ +// * └───────┴───┴───┘ +// */ +// //LOCATION OF bottom row 0 NOT TESTED, WAITING ENDORSEMENT FROM MANUFACTURER + +// #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS // key 23 +// #define LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS FALSE +// #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS + +// #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER // key 43 +// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER FALSE +// #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER + +// #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO // key 50 (confirm with manufacturer) +// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO FALSE +// #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO + +// uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) { +// // Keys here have 2 leds. Here we add the led that is not bound to the key +// // and the default led would be added +// // by the default code that runs after this in rgb_matrix_map_row_column_to_led + +// uint8_t counter = 0; + +// #if LED_MERGE_NUMPAD_LEFT_HANDED_PLUS //key 20, leds 7 and 11, 7 already bound + +// if (row == 2 && column == 0) { +// led_i[counter] = 11; +// counter ++; +// } +// #endif +// #if LED_MERGE_NUMPAD_LEFT_HANDED_ENTER //key 40, leds 19 and 23, 23 already bound +// if (row == 4 && column == 0) { +// led_i[counter] = 23; +// counter ++; +// } +// #endif +// #if LED_MERGE_NUMPAD_LEFT_HANDED_ZERO //key 52, leds 25 and 26, 26 already bound +// if (row == 5 && column == 2) { +// led_i[counter] = 26; +// counter ++; +// } +// #endif + +// #if LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS // key 23, led 14 and 18, 14 already bound +// if (row == 2 && column == 3) { +// led_i[counter] = 18; +// counter ++; +// } +// #endif +// #if LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER // key 43, led 22 and 26, 22 already bound +// if (row == 4 && column == 3) { +// led_i[counter] = 26; +// counter ++; +// } +// #endif +// #if LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO // key 50 (confirm with manufacturer) +// // LED 23 and 24, 23(?) already bound +// if (row == 5 && column == 0) { +// led_i[counter] = 24; +// counter ++; +// } +// #endif +// return counter; +// } diff --git a/keyboards/hub20/hub20.h b/keyboards/hub20/hub20.h index b4b1c799243a..a86cc02c774d 100644 --- a/keyboards/hub20/hub20.h +++ b/keyboards/hub20/hub20.h @@ -29,6 +29,24 @@ * represents the switch matrix. */ + + /* LAYOUT_all + + + * ┌───┬───┐ + * │01 │02 │ + * ┌───┼───┼───┼───┐ + * │10 │11 │12 │13 │ + * ├───┼───┼───┼───┤ + * │20 │21 │22 │23 │ + * ├───┼───┼───┼───┤ + * │30 │31 │32 │33 │ + * ├───┼───┼───┼───┤ + * │40 │41 │42 │43 │ + * ├───┼───┼───┼───┤ + * │50 │51 │52 │53 │ + * └───┴───┴───┴───┘ + */ #define LAYOUT_all( \ K01, K02, \ K10, K11, K12, K13, \ @@ -45,3 +63,75 @@ { K40, K41, K42, K43, }, \ { K50, K51, K52, K53, }, \ } + + /* LAYOUT_left_handed + + + * ┌───┬───┐ + * │01 │02 │ + * ┌───┼───┼───┼───┐ + * │10 │11 │12 │13 │ + * ├───┼───┼───┼───┤ + * │ │21 │22 │23 │ + * │20 ├───┼───┼───┤ + * │ │31 │32 │33 │ + * ├───┼───┼───┼───┤ + * │ │41 │42 │43 │ + * │40 ├───┼───┴───┤ + * │ │51 │ 52 │ + * └───┴───┴───────┘ + */ +#define LAYOUT_left_handed( \ + K01, K02, \ + K10, K11, K12, K13, \ + K21, K22, K23, \ + K20, K31, K32, K33, \ + K41, K42, K43, \ + K40, K51, K52 \ +) \ +{ \ + { ___, K01, K02, ___, }, \ + { K10, K11, K12, K13, }, \ + { K20, K21, K22, K23, }, \ + { ___, K31, K32, K33, }, \ + { K40, K41, K42, K43, }, \ + { ___, K51, K52, ___, }, \ +} + + + /* LAYOUT_right_handed + + + * ┌───┬───┐ + * │01 │02 │ + * ┌───┼───┼───┼───┐ + * │10 │11 │12 │13 │ + * ├───┼───┼───┼───┤ + * │20 │21 │22 │ │ + * ├───┼───┼───┤23 │ + * │30 │31 │32 │ │ + * ├───┼───┼───┼───┤ + * │40 │41 │42 │ │ + * ├───┴───┼───┤43 │ + * │ 50(not sure, confirm) │52 │ │ + * └───────┴───┴───┘ + */ + //NOT TESTED, WAITING ENDORSEMENT FROM MANUFACTURER +#define LAYOUT_right_handed( \ + K01, K02, \ + K10, K11, K12, K13, \ + K20, K21, K22, \ + K30, K31, K32, K23, \ + K40, K41, K42, \ + K50, K52, K43 \ +) \ +{ \ + { ___, K01, K02, ___, }, \ + { K10, K11, K12, K13, }, \ + { K20, K21, K22, K23, }, \ + { K30, K31, K32, ___, }, \ + { K40, K41, K42, K43, }, \ + { K50, ___, K52, ___, }, \ +} + + diff --git a/keyboards/hub20/info.json b/keyboards/hub20/info.json index d60212c273e7..d58294ffbf84 100644 --- a/keyboards/hub20/info.json +++ b/keyboards/hub20/info.json @@ -30,6 +30,56 @@ {"label":"0", "x":2, "y":5}, {"label":"0", "x":3, "y":5} ] + }, + "LAYOUT_left_handed": { + "layout": [ + {"label":"Mute", "x":0.5, "y":0}, + {"label":"Play / Pause", "x":2.5, "y":0}, + {"label":"-", "x":0, "y":1}, + {"label":"*", "x":1, "y":1}, + {"label":"/", "x":2, "y":1}, + {"label":"Numlock", "x":3, "y":1}, + {"label":"7", "x":1, "y":2}, + {"label":"8", "x":2, "y":2}, + {"label":"9", "x":3, "y":2}, + {"label":"+", "x":0, "y":2, "h":2}, + {"label":"4", "x":1, "y":3}, + {"label":"5", "x":2, "y":3}, + {"label":"6", "x":3, "y":3}, + {"label":"Enter", "x":0, "y":4, "h":2}, + {"label":"1", "x":1, "y":4}, + {"label":"2", "x":2, "y":4}, + {"label":"3", "x":3, "y":4}, + {"label":".", "x":1, "y":5}, + {"label":"0", "x":3, "y":5, "w":2} + ] + }, + "LAYOUT_right_handed": { + "layout": [ + {"label":"Mute", "x":0.5, "y":0}, + {"label":"Play / Pause", "x":2.5, "y":0}, + {"label":"Numlock", "x":0, "y":1}, + {"label":"/", "x":1, "y":1}, + {"label":"*", "x":2, "y":1}, + {"label":"-", "x":3, "y":1}, + + {"label":"7", "x":0, "y":2}, + {"label":"8", "x":1, "y":2}, + {"label":"9", "x":2, "y":2}, + + {"label":"4", "x":0, "y":3}, + {"label":"5", "x":1, "y":3}, + {"label":"6", "x":2, "y":3}, + {"label":"+", "x":3, "y":2, "h":2}, + + {"label":"1", "x":0, "y":4}, + {"label":"2", "x":1, "y":4}, + {"label":"3", "x":2, "y":4}, + + {"label":"0", "x":0, "y":5, "w":2}, + {"label":".", "x":2, "y":5}, + {"label":"Enter", "x":3, "y":4, "h":2} + ] } } } diff --git a/keyboards/hub20/keymaps/default/keymap.c b/keyboards/hub20/keymaps/default/keymap.c index c4673128775d..a0f048825e7b 100644 --- a/keyboards/hub20/keymaps/default/keymap.c +++ b/keyboards/hub20/keymaps/default/keymap.c @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left Encoder */ if (clockwise) { tap_code(KC_VOLU); @@ -50,4 +50,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_MPRV); } } + return true; } diff --git a/keyboards/hub20/keymaps/left_hand_numpad/keymap.c b/keyboards/hub20/keymaps/left_hand_numpad/keymap.c new file mode 100644 index 000000000000..b5817ab3c5e6 --- /dev/null +++ b/keyboards/hub20/keymaps/left_hand_numpad/keymap.c @@ -0,0 +1,60 @@ +/* Copyright 2020 joshajohnson 2021 peepeetee + * + * 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 + +// #define LED_MERGE_NUMPAD_LEFT_HANDED_PLUS TRUE +// #define LED_MERGE_NUMPAD_LEFT_HANDED_ENTER TRUE +// #define LED_MERGE_NUMPAD_LEFT_HANDED_ZERO TRUE + +#define MO_NLCK LT(1, KC_NLCK) // Numlock on tap, layer change on hold + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_left_handed( + KC_MUTE, KC_MPLY, + KC_PMNS, KC_PAST, KC_PSLS, MO_NLCK, + KC_P7, KC_P8, KC_P9, + KC_PPLS, KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3, + KC_PENT, KC_PDOT, KC_P0 +), + [1] = LAYOUT_left_handed( + RESET, _______, + RGB_TOG, RGB_RMOD, RGB_MOD, _______, + _______, RGB_VAD, RGB_VAI, _______, + RGB_HUD, RGB_HUI, _______, + _______, RGB_SAD, RGB_SAI, _______, + _______, _______ +) +}; +// clang-format of + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* Left Encoder */ + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { /* Right Encoder */ + if (clockwise) { + tap_code(KC_MNXT); + } else { + tap_code(KC_MPRV); + } + } + return true; +} diff --git a/keyboards/hub20/keymaps/macro/keymap.c b/keyboards/hub20/keymaps/macro/keymap.c index 7007a2f0ba6b..099fff875575 100644 --- a/keyboards/hub20/keymaps/macro/keymap.c +++ b/keyboards/hub20/keymaps/macro/keymap.c @@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Keyboard is setup to 'wrap' the pressed key with an unused Fxx key, // allowing for easy differentiation from a real keyboard. -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left Encoder */ if (clockwise) { register_code(KC_WRAP); @@ -81,6 +81,7 @@ void encoder_update_user(uint8_t index, bool clockwise) { unregister_code(KC_WRAP); } } + return true; } // Below stolen from TaranVH (https://github.com/TaranVH/2nd-keyboard/blob/master/HASU_USB/F24/keymap.c) diff --git a/keyboards/hub20/keymaps/right_hand_numpad/keymap.c b/keyboards/hub20/keymaps/right_hand_numpad/keymap.c new file mode 100644 index 000000000000..ad3e5f49a345 --- /dev/null +++ b/keyboards/hub20/keymaps/right_hand_numpad/keymap.c @@ -0,0 +1,62 @@ +/* Copyright 2021 peepeetee + * + * 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 + +// #define LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS TRUE +// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER TRUE +// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO TRUE + +#define MO_NLCK LT(1, KC_NLCK) // Numlock on tap, layer change on hold + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +//NOT TESTED, WAITING ENDORSEMENT FROM MANUFACTURER + [0] = LAYOUT_right_handed( + KC_MUTE, KC_MPLY, + MO_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT +), + [1] = LAYOUT_right_handed( + RESET, _______, + RGB_TOG, RGB_RMOD, RGB_MOD, _______, + _______, RGB_VAD, RGB_VAI, + _______, RGB_HUD, RGB_HUI, _______, + _______, RGB_SAD, RGB_SAI, + _______, _______, _______ +) +}; +// clang-format on + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* Left Encoder */ + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { /* Right Encoder */ + if (clockwise) { + tap_code(KC_MNXT); + } else { + tap_code(KC_MPRV); + } + } + return true; +} diff --git a/keyboards/hub20/keymaps/via/keymap.c b/keyboards/hub20/keymaps/via/keymap.c index 75a0a927afcb..3f3f3ebd8642 100644 --- a/keyboards/hub20/keymaps/via/keymap.c +++ b/keyboards/hub20/keymaps/via/keymap.c @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (index == 0) { /* Left Encoder */ if (clockwise) { tap_code(KC_VOLU); @@ -66,4 +66,5 @@ void encoder_update_user(uint8_t index, bool clockwise) { tap_code(KC_MPRV); } } + return true; } diff --git a/keyboards/hub20/rules.mk b/keyboards/hub20/rules.mk index 9abb4f80a790..f9d0e479af6f 100644 --- a/keyboards/hub20/rules.mk +++ b/keyboards/hub20/rules.mk @@ -1,22 +1,27 @@ # MCU name MCU = STM32F072 +# Bootloader selection +BOOTLOADER = stm32-dfu + # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = yes +RGB_MATRIX_DRIVER = WS2812 ENCODER_ENABLE = yes # Enter lower-power sleep mode when on the ChibiOS idle thread diff --git a/keyboards/ianklug/grooveboard/config.h b/keyboards/ianklug/grooveboard/config.h new file mode 100644 index 000000000000..e42c5f14e83d --- /dev/null +++ b/keyboards/ianklug/grooveboard/config.h @@ -0,0 +1,158 @@ +/* +Copyright 2021 ianklug + +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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4B4C // "KL" = klug +#define PRODUCT_ID 0x4742 // "GB" = grooveboard +#define DEVICE_VER 0x0001 +#define MANUFACTURER ianklug +#define PRODUCT grooveboard + +/* key matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 4 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +//#define MATRIX_ROW_PINS { D0, D5 } +//#define MATRIX_COL_PINS { F1, F0, B0 } +#define DIRECT_PINS { \ + { F7, F6, D1, D2 } \ +} +#define UNUSED_PINS + +/* COL2ROW, ROW2COL */ +//#define DIODE_DIRECTION COL2ROW + +/* + * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. + */ +//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 + +//#define LED_NUM_LOCK_PIN B0 +//#define LED_CAPS_LOCK_PIN B1 +//#define LED_SCROLL_LOCK_PIN B2 +//#define LED_COMPOSE_PIN B3 +//#define LED_KANA_PIN B4 + +//#define BACKLIGHT_PIN B7 +//#define BACKLIGHT_LEVELS 3 +//#define BACKLIGHT_BREATHING + +//#define RGB_DI_PIN E2 +//#ifdef RGB_DI_PIN +//# define RGBLED_NUM 16 +//# define RGBLIGHT_HUE_STEP 8 +//# define RGBLIGHT_SAT_STEP 8 +//# define RGBLIGHT_VAL_STEP 8 +//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ +//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +//# define RGBLIGHT_ANIMATIONS +/*== or choose animations ==*/ +//# define RGBLIGHT_EFFECT_BREATHING +//# define RGBLIGHT_EFFECT_RAINBOW_MOOD +//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +//# define RGBLIGHT_EFFECT_SNAKE +//# define RGBLIGHT_EFFECT_KNIGHT +//# define RGBLIGHT_EFFECT_CHRISTMAS +//# define RGBLIGHT_EFFECT_STATIC_GRADIENT +//# define RGBLIGHT_EFFECT_RGB_TEST +//# define RGBLIGHT_EFFECT_ALTERNATING +/*== customize breathing effect ==*/ +/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +/*==== use exp() and sin() ====*/ +//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +//#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is useful for the Windows task manager shortcut (ctrl+shift+esc). + */ +//#define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +/* Bootmagic Lite key configuration */ +//#define BOOTMAGIC_LITE_ROW 0 +//#define BOOTMAGIC_LITE_COLUMN 0 + +#define USB_POLLING_INTERVAL_MS 1 +#define QMK_KEYS_PER_SCAN 4 diff --git a/keyboards/ianklug/grooveboard/grooveboard.c b/keyboards/ianklug/grooveboard/grooveboard.c new file mode 100644 index 000000000000..711e9f301dca --- /dev/null +++ b/keyboards/ianklug/grooveboard/grooveboard.c @@ -0,0 +1,17 @@ +/* Copyright 2021 ianklug + * + * 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 "grooveboard.h" diff --git a/keyboards/ianklug/grooveboard/grooveboard.h b/keyboards/ianklug/grooveboard/grooveboard.h new file mode 100644 index 000000000000..51f519e8a0d9 --- /dev/null +++ b/keyboards/ianklug/grooveboard/grooveboard.h @@ -0,0 +1,33 @@ +/* Copyright 2021 ianklug + * + * 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 "quantum.h" + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT( \ + k00, k01, k02, k03 \ +) { \ + { k00, k01, k02, k03 } \ +} diff --git a/keyboards/ianklug/grooveboard/info.json b/keyboards/ianklug/grooveboard/info.json new file mode 100644 index 000000000000..925e3ddbbce3 --- /dev/null +++ b/keyboards/ianklug/grooveboard/info.json @@ -0,0 +1,17 @@ +{ + "keyboard_name": "grooveboard", + "url": "https://github.com/ianklug/grooveboard", + "maintainer": "ianklug", + "width": 6, + "height": 1, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "k00", "x": 0, "y": 0, "w": 1, "h": 1}, + {"label": "k01", "x": 1, "y": 0, "w": 1, "h": 1}, + {"label": "k02", "x": 4, "y": 0, "w": 1, "h": 1}, + {"label": "k03", "x": 5, "y": 0, "w": 1, "h": 1} + ] + } + } +} diff --git a/keyboards/ianklug/grooveboard/keymaps/default/keymap.c b/keyboards/ianklug/grooveboard/keymaps/default/keymap.c new file mode 100644 index 000000000000..643d9f1d1b9f --- /dev/null +++ b/keyboards/ianklug/grooveboard/keymaps/default/keymap.c @@ -0,0 +1,28 @@ +/* Copyright 2021 ianklug + * + * 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 { + _BASE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ) +}; \ No newline at end of file diff --git a/keyboards/ianklug/grooveboard/keymaps/default/readme.md b/keyboards/ianklug/grooveboard/keymaps/default/readme.md new file mode 100644 index 000000000000..95ec856a520d --- /dev/null +++ b/keyboards/ianklug/grooveboard/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for grooveboard diff --git a/keyboards/ianklug/grooveboard/keymaps/via/keymap.c b/keyboards/ianklug/grooveboard/keymaps/via/keymap.c new file mode 100644 index 000000000000..40546c13115e --- /dev/null +++ b/keyboards/ianklug/grooveboard/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2021 ianklug + * + * 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 { + _BASE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + KC_LEFT, KC_DOWN, KC_UP, KC_RGHT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/ianklug/grooveboard/keymaps/via/readme.md b/keyboards/ianklug/grooveboard/keymaps/via/readme.md new file mode 100644 index 000000000000..0963f48e6215 --- /dev/null +++ b/keyboards/ianklug/grooveboard/keymaps/via/readme.md @@ -0,0 +1 @@ +# The via keymap for grooveboard diff --git a/keyboards/ianklug/grooveboard/keymaps/via/rules.mk b/keyboards/ianklug/grooveboard/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/ianklug/grooveboard/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/ianklug/grooveboard/readme.md b/keyboards/ianklug/grooveboard/readme.md new file mode 100644 index 000000000000..7ea6456e382c --- /dev/null +++ b/keyboards/ianklug/grooveboard/readme.md @@ -0,0 +1,21 @@ +# Grooveboard + +A four-key mechanical keyboard for rhythm games. + +![Grooveboard Choc PCB](https://i.imgur.com/wbMkbHX.jpg) + +* Keyboard Maintainer: [ianklug](https://github.com/ianklug) +* Hardware Supported: grooveboard, grooveboard mx, grooveboard choc +* Hardware Availability: https://github.com/ianklug/grooveboard + +Press the button on the back of the keyboard to enter bootloader mode. + +Make example for this keyboard (after setting up your build environment): + + make ianklug/grooveboard:default + +Flashing example for this keyboard: + + make ianklug/grooveboard: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). diff --git a/keyboards/ianklug/grooveboard/rules.mk b/keyboards/ianklug/grooveboard/rules.mk new file mode 100644 index 000000000000..c98974abafc2 --- /dev/null +++ b/keyboards/ianklug/grooveboard/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/id67/config.h b/keyboards/id67/config.h new file mode 100644 index 000000000000..c48e2b6a97dc --- /dev/null +++ b/keyboards/id67/config.h @@ -0,0 +1,70 @@ +/* Copyright 2021 Tybera + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x6964 /* "id" */ +#define PRODUCT_ID 0x0067 +#define DEVICE_VER 0x0001 +#define MANUFACTURER IDOBAO +#define PRODUCT ID67 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B0, B1, B2, B3, F7 } +#define MATRIX_COL_PINS { C7, F6, F5, F4, F1, B7, D5, D1, D2, D3, D4, D0, D6, D7, B4 } + +#define DIODE_DIRECTION COL2ROW + +#define RGB_DI_PIN F0 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 77 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ + #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +#endif + +// partially generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/id67/id67.c b/keyboards/id67/id67.c new file mode 100644 index 000000000000..d0377a4345b1 --- /dev/null +++ b/keyboards/id67/id67.c @@ -0,0 +1,17 @@ +/* Copyright 2021 Tybera + * + * 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 "id67.h" \ No newline at end of file diff --git a/keyboards/id67/id67.h b/keyboards/id67/id67.h new file mode 100644 index 000000000000..c9e6fb5d9cce --- /dev/null +++ b/keyboards/id67/id67.h @@ -0,0 +1,36 @@ +/* Copyright 2021 Tybera + * + * 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 "quantum.h" + +#define LAYOUT_65_ansi_blocker( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \ + { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E }, \ +} + +// partially generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ \ No newline at end of file diff --git a/keyboards/id67/info.json b/keyboards/id67/info.json new file mode 100644 index 000000000000..cc7ab571043e --- /dev/null +++ b/keyboards/id67/info.json @@ -0,0 +1,87 @@ +{ + "keyboard_name": "ID67", + "url": "", + "maintainer": "qmk", + "width": 16, + "height": 5, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label":"K00 (B0,C7)", "x":0, "y":0}, + {"label":"K01 (B0,F6)", "x":1, "y":0}, + {"label":"K02 (B0,F5)", "x":2, "y":0}, + {"label":"K03 (B0,F4)", "x":3, "y":0}, + {"label":"K04 (B0,F1)", "x":4, "y":0}, + {"label":"K05 (B0,B7)", "x":5, "y":0}, + {"label":"K06 (B0,D5)", "x":6, "y":0}, + {"label":"K07 (B0,D1)", "x":7, "y":0}, + {"label":"K08 (B0,D2)", "x":8, "y":0}, + {"label":"K09 (B0,D3)", "x":9, "y":0}, + {"label":"K0A (B0,D4)", "x":10, "y":0}, + {"label":"K0B (B0,D0)", "x":11, "y":0}, + {"label":"K0C (B0,D6)", "x":12, "y":0}, + {"label":"K0D (B0,D7)", "x":13, "y":0, "w":2}, + {"label":"K0E (B0,B4)", "x":15, "y":0}, + + {"label":"K10 (B1,C7)", "x":0, "y":1, "w":1.5}, + {"label":"K11 (B1,F6)", "x":1.5, "y":1}, + {"label":"K12 (B1,F5)", "x":2.5, "y":1}, + {"label":"K13 (B1,F4)", "x":3.5, "y":1}, + {"label":"K14 (B1,F1)", "x":4.5, "y":1}, + {"label":"K15 (B1,B7)", "x":5.5, "y":1}, + {"label":"K16 (B1,D5)", "x":6.5, "y":1}, + {"label":"K17 (B1,D1)", "x":7.5, "y":1}, + {"label":"K18 (B1,D2)", "x":8.5, "y":1}, + {"label":"K19 (B1,D3)", "x":9.5, "y":1}, + {"label":"K1A (B1,D4)", "x":10.5, "y":1}, + {"label":"K1B (B1,D0)", "x":11.5, "y":1}, + {"label":"K1C (B1,D6)", "x":12.5, "y":1}, + {"label":"K1D (B1,D7)", "x":13.5, "y":1, "w":1.5}, + {"label":"K1E (B1,B4)", "x":15, "y":1}, + + {"label":"K20 (B2,C7)", "x":0, "y":2, "w":1.75}, + {"label":"K21 (B2,F6)", "x":1.75, "y":2}, + {"label":"K22 (B2,F5)", "x":2.75, "y":2}, + {"label":"K23 (B2,F4)", "x":3.75, "y":2}, + {"label":"K24 (B2,F1)", "x":4.75, "y":2}, + {"label":"K25 (B2,B7)", "x":5.75, "y":2}, + {"label":"K26 (B2,D5)", "x":6.75, "y":2}, + {"label":"K27 (B2,D1)", "x":7.75, "y":2}, + {"label":"K28 (B2,D2)", "x":8.75, "y":2}, + {"label":"K29 (B2,D3)", "x":9.75, "y":2}, + {"label":"K2A (B2,D4)", "x":10.75, "y":2}, + {"label":"K2B (B2,D0)", "x":11.75, "y":2}, + {"label":"K2D (B2,D7)", "x":12.75, "y":2, "w":2.25}, + {"label":"K2E (B2,B4)", "x":15, "y":2}, + + {"label":"K30 (B3,C7)", "x":0, "y":3, "w":2.25}, + {"label":"K32 (B3,F5)", "x":2.25, "y":3}, + {"label":"K33 (B3,F4)", "x":3.25, "y":3}, + {"label":"K34 (B3,F1)", "x":4.25, "y":3}, + {"label":"K35 (B3,B7)", "x":5.25, "y":3}, + {"label":"K36 (B3,D5)", "x":6.25, "y":3}, + {"label":"K37 (B3,D1)", "x":7.25, "y":3}, + {"label":"K38 (B3,D2)", "x":8.25, "y":3}, + {"label":"K39 (B3,D3)", "x":9.25, "y":3}, + {"label":"K3A (B3,D4)", "x":10.25, "y":3}, + {"label":"K3B (B3,D0)", "x":11.25, "y":3}, + {"label":"K3C (B3,D6)", "x":12.25, "y":3, "w":1.75}, + {"label":"K3D (B3,D7)", "x":14, "y":3}, + {"label":"K3E (B3,B4)", "x":15, "y":3}, + + {"label":"K40 (F7,C7)", "x":0, "y":4, "w":1.25}, + {"label":"K41 (F7,F6)", "x":1.25, "y":4, "w":1.25}, + {"label":"K43 (F7,F4)", "x":2.5, "y":4, "w":1.25}, + {"label":"K46 (F7,D5)", "x":3.75, "y":4, "w":6.25}, + {"label":"K4A (F7,D4)", "x":10, "y":4, "w":1.25}, + {"label":"K4B (F7,D0)", "x":11.25, "y":4, "w":1.25}, + {"label":"K4C (F7,D6)", "x":13, "y":4}, + {"label":"K4D (F7,D7)", "x":14, "y":4}, + {"label":"K4E (F7,B4)", "x":15, "y":4} + ] + } + } +} diff --git a/keyboards/id67/keymaps/default/keymap.c b/keyboards/id67/keymaps/default/keymap.c new file mode 100644 index 000000000000..d3fead64ff62 --- /dev/null +++ b/keyboards/id67/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2021 Tybera + * + * 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_65_ansi_blocker( + 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_TILD, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi_blocker( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, + _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +}; + +// partially generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/id67/keymaps/via/keymap.c b/keyboards/id67/keymaps/via/keymap.c new file mode 100644 index 000000000000..0651d8aae8af --- /dev/null +++ b/keyboards/id67/keymaps/via/keymap.c @@ -0,0 +1,51 @@ +/* Copyright 2021 Tybera + * + * 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_65_ansi_blocker( + 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_TILD, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi_blocker( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, RGB_TOG, KC_UP, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, _______, + _______, RESET, BL_DEC, BL_TOGG, BL_INC, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_DEL, KC_END, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_65_ansi_blocker( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [3] = LAYOUT_65_ansi_blocker( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + +// partially generated by KBFirmware JSON to QMK Parser +// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/id67/keymaps/via/rules.mk b/keyboards/id67/keymaps/via/rules.mk new file mode 100644 index 000000000000..ca9fed0e6b53 --- /dev/null +++ b/keyboards/id67/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/id67/readme.md b/keyboards/id67/readme.md new file mode 100644 index 000000000000..eca398184a71 --- /dev/null +++ b/keyboards/id67/readme.md @@ -0,0 +1,19 @@ +# IDOBAO ID67 + +A 65% hotswap keyboard from IDOBAO. + +## ANSI support: + +* Keyboard Maintainer: Tybera +* Hardware Supported: IDOBAO ID67 +* Hardware Availability: [IDOBAO]https://www.idobao.net/products/idobao-id67-65-hot-swappable-mechanical-keyboard-kit-1 + +Make example for this keyboard (after setting up your build environment): + + make id67:default + +Flashing example for this keyboard: + + make id67: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). diff --git a/keyboards/id67/rules.mk b/keyboards/id67/rules.mk new file mode 100644 index 000000000000..2b2b536e9959 --- /dev/null +++ b/keyboards/id67/rules.mk @@ -0,0 +1,29 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output + +KEY_LOCK_ENABLE = yes # Enable KC_LOCK support + +LAYOUTS = 65_ansi_blocker + +# generated by KBFirmware JSON to QMK Parser +# https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/id80/ansi/keymaps/msf/config.h b/keyboards/id80/ansi/keymaps/msf/config.h new file mode 100644 index 000000000000..4f3cc95f306e --- /dev/null +++ b/keyboards/id80/ansi/keymaps/msf/config.h @@ -0,0 +1,24 @@ +/* Copyright 2021 msf@github + * + * 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 . + */ + +/* + Set any config.h overrides for your specific keymap here. + See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file +*/ +#pragma once + +#define COMBO_COUNT 3 +#define COMBO_TERM 200 diff --git a/keyboards/id80/ansi/keymaps/msf/keymap.c b/keyboards/id80/ansi/keymaps/msf/keymap.c new file mode 100644 index 000000000000..6bb91f0f19ef --- /dev/null +++ b/keyboards/id80/ansi/keymaps/msf/keymap.c @@ -0,0 +1,59 @@ +/* Copyright 2021 Miguel Filipe + * + * 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_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_VOLD, KC_VOLU, KC_F8, KC_F9, KC_F10, KC_PSTE, KC_PSCR, KC_DEL, MO(1), + 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_HOME, + 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_END, + 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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RESET, KC_CALC, _______, _______, _______, KC_MUTE, KC_F6, KC_F7, KC_MPLY, KC_MSTP, KC_BRID, KC_BRIU, KC_F11, KC_F12, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, + _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, BL_DEC, BL_TOGG, BL_INC, NK_TOGG, _______, _______, _______, _______, _______, BL_INC, + _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_STEP + ), + [2] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + +enum combos { + SLSHDN_PGDN, + SLSHUP_PGUP, + RALTBKSPC_DELETE, +}; + +const uint16_t PROGMEM slashDown_combo[] = {KC_SLSH, KC_DOWN, COMBO_END}; +const uint16_t PROGMEM slashUp_combo[] = {KC_SLSH, KC_UP, COMBO_END}; +const uint16_t PROGMEM raltBackspace_combo[] = {KC_RALT, KC_BSPACE, COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + [SLSHDN_PGDN] = COMBO(slashDown_combo, KC_PGDN), + [SLSHUP_PGUP] = COMBO(slashUp_combo, KC_PGUP), + [RALTBKSPC_DELETE] = COMBO(raltBackspace_combo, KC_DEL), +}; diff --git a/keyboards/id80/ansi/keymaps/msf/readme.md b/keyboards/id80/ansi/keymaps/msf/readme.md new file mode 100644 index 000000000000..7ab300f672b6 --- /dev/null +++ b/keyboards/id80/ansi/keymaps/msf/readme.md @@ -0,0 +1,4 @@ +# slightly modified: +- some key combos +- don't use f-keys, +- pgup/down, home/end tweaks diff --git a/keyboards/anavi/macropad2/keymaps/copypaste/rules.mk b/keyboards/id80/ansi/keymaps/msf/rules.mk similarity index 100% rename from keyboards/anavi/macropad2/keymaps/copypaste/rules.mk rename to keyboards/id80/ansi/keymaps/msf/rules.mk diff --git a/keyboards/id80/config.h b/keyboards/id80/config.h index fb11ab2cbe26..c6cf66738225 100644 --- a/keyboards/id80/config.h +++ b/keyboards/id80/config.h @@ -57,7 +57,8 @@ along with this program. If not, see . #define BACKLIGHT_BREATHING #define BACKLIGHT_LEVELS 3 -#define CAPS_LOCK_LED_PIN C7 +#define LED_CAPS_LOCK_PIN C7 +#define LED_PIN_ON_STATE 0 #define RGB_DI_PIN E2 #ifdef RGB_DI_PIN diff --git a/keyboards/id80/id80.c b/keyboards/id80/id80.c index 5e5dbc31249b..4a06660de91f 100644 --- a/keyboards/id80/id80.c +++ b/keyboards/id80/id80.c @@ -14,23 +14,3 @@ * along with this program. If not, see . */ #include "id80.h" - -void matrix_init_kb(void) { - led_init_ports(); - matrix_init_user(); -} - -void led_init_ports(void) { - setPinOutput(CAPS_LOCK_LED_PIN); -} - -bool led_update_kb(led_t led_state) { - bool res = led_update_user(led_state); - if (res) { - writePin(CAPS_LOCK_LED_PIN, !led_state.caps_lock); - } - return res; -} - -// partially generated by KBFirmware JSON to QMK Parser -// https://noroadsleft.github.io/kbf_qmk_converter/ diff --git a/keyboards/id80/info.json b/keyboards/id80/info.json index 7e5a2c4ce6a6..251ae157c99b 100644 --- a/keyboards/id80/info.json +++ b/keyboards/id80/info.json @@ -6,60 +6,145 @@ "height": 6.5, "layouts": { "LAYOUT": { - "key_count": 80, - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.5, "y":0}, {"label":"F6", "x":6.5, "y":0}, {"label":"F7", "x":7.5, "y":0}, {"label":"F8", "x":8.5, "y":0}, {"label":"F9", "x":9.75, "y":0}, {"label":"F10", "x":10.75, "y":0}, {"label":"F11", "x":11.75, "y":0}, {"label":"F12", "x":12.75, "y":0}, {"label":"Fn", "x":14, "y":0}, {"label":"Insert", "x":15.25, "y":0}, {"label":"`", "x":0, "y":1.25}, {"label":"1", "x":1, "y":1.25}, {"label":"2", "x":2, "y":1.25}, {"label":"3", "x":3, "y":1.25}, {"label":"4", "x":4, "y":1.25}, {"label":"5", "x":5, "y":1.25}, {"label":"6", "x":6, "y":1.25}, {"label":"7", "x":7, "y":1.25}, {"label":"8", "x":8, "y":1.25}, {"label":"9", "x":9, "y":1.25}, {"label":"0", "x":10, "y":1.25}, {"label":"-", "x":11, "y":1.25}, {"label":"=", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Home", "x":15.25, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"[", "x":11.5, "y":2.25}, {"label":"]", "x":12.5, "y":2.25}, {"label":"\\", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":";", "x":10.75, "y":3.25}, {"label":"'", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":",", "x":9.25, "y":4.25}, {"label":".", "x":10.25, "y":4.25}, {"label":"/", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, {"label":"\u2191", "x":14.25, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, {"label":"\u2190", "x":13.25, "y":5.5}, {"label":"\u2193", "x":14.25, "y":5.5}, {"label":"\u2192", "x":15.25, "y":5.5}] + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Fn", "x":14, "y":0}, + {"label":"Insert", "x":15.25, "y":0}, + + {"label":"`", "x":0, "y":1.25}, + {"label":"1", "x":1, "y":1.25}, + {"label":"2", "x":2, "y":1.25}, + {"label":"3", "x":3, "y":1.25}, + {"label":"4", "x":4, "y":1.25}, + {"label":"5", "x":5, "y":1.25}, + {"label":"6", "x":6, "y":1.25}, + {"label":"7", "x":7, "y":1.25}, + {"label":"8", "x":8, "y":1.25}, + {"label":"9", "x":9, "y":1.25}, + {"label":"0", "x":10, "y":1.25}, + {"label":"-", "x":11, "y":1.25}, + {"label":"=", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, + {"label":"Home", "x":15.25, "y":1.25}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[", "x":11.5, "y":2.25}, + {"label":"]", "x":12.5, "y":2.25}, + {"label":"\\", "x":13.5, "y":2.25, "w":1.5}, + {"label":"Delete", "x":15.25, "y":2.25}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, + {"label":"A", "x":1.75, "y":3.25}, + {"label":"S", "x":2.75, "y":3.25}, + {"label":"D", "x":3.75, "y":3.25}, + {"label":"F", "x":4.75, "y":3.25}, + {"label":"G", "x":5.75, "y":3.25}, + {"label":"H", "x":6.75, "y":3.25}, + {"label":"J", "x":7.75, "y":3.25}, + {"label":"K", "x":8.75, "y":3.25}, + {"label":"L", "x":9.75, "y":3.25}, + {"label":";", "x":10.75, "y":3.25}, + {"label":"'", "x":11.75, "y":3.25}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25}, + {"label":"Z", "x":2.25, "y":4.25}, + {"label":"X", "x":3.25, "y":4.25}, + {"label":"C", "x":4.25, "y":4.25}, + {"label":"V", "x":5.25, "y":4.25}, + {"label":"B", "x":6.25, "y":4.25}, + {"label":"N", "x":7.25, "y":4.25}, + {"label":"M", "x":8.25, "y":4.25}, + {"label":",", "x":9.25, "y":4.25}, + {"label":".", "x":10.25, "y":4.25}, + {"label":"/", "x":11.25, "y":4.25}, + {"label":"Shift", "x":12.25, "y":4.25, "w":1.75}, + {"label":"\u2191", "x":14.25, "y":4.5}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + {"x":3.75, "y":5.25, "w":6.25}, + {"label":"Alt", "x":10, "y":5.25, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, + {"label":"\u2190", "x":13.25, "y":5.5}, + {"label":"\u2193", "x":14.25, "y":5.5}, + {"label":"\u2192", "x":15.25, "y":5.5} + ] }, "LAYOUT_iso": { "layout": [ - {"label":"Esc", "x":0, "y":0}, - {"label":"F1", "x":1.25, "y":0}, - {"label":"F2", "x":2.25, "y":0}, - {"label":"F3", "x":3.25, "y":0}, - {"label":"F4", "x":4.25, "y":0}, - {"label":"F5", "x":5.5, "y":0}, - {"label":"F6", "x":6.5, "y":0}, - {"label":"F7", "x":7.5, "y":0}, - {"label":"F8", "x":8.5, "y":0}, - {"label":"F9", "x":9.75, "y":0}, - {"label":"F10", "x":10.75, "y":0}, - {"label":"F11", "x":11.75, "y":0}, - {"label":"F12", "x":12.75, "y":0}, - {"label":"Fn", "x":14, "y":0}, - {"label":"Insert", "x":15.25, "y":0}, + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1.25, "y":0}, + {"label":"F2", "x":2.25, "y":0}, + {"label":"F3", "x":3.25, "y":0}, + {"label":"F4", "x":4.25, "y":0}, + {"label":"F5", "x":5.5, "y":0}, + {"label":"F6", "x":6.5, "y":0}, + {"label":"F7", "x":7.5, "y":0}, + {"label":"F8", "x":8.5, "y":0}, + {"label":"F9", "x":9.75, "y":0}, + {"label":"F10", "x":10.75, "y":0}, + {"label":"F11", "x":11.75, "y":0}, + {"label":"F12", "x":12.75, "y":0}, + {"label":"Fn", "x":14, "y":0}, + {"label":"Insert", "x":15.25, "y":0}, - {"label":"`", "x":0, "y":1.25}, - {"label":"1", "x":1, "y":1.25}, - {"label":"2", "x":2, "y":1.25}, - {"label":"3", "x":3, "y":1.25}, - {"label":"4", "x":4, "y":1.25}, - {"label":"5", "x":5, "y":1.25}, - {"label":"6", "x":6, "y":1.25}, - {"label":"7", "x":7, "y":1.25}, - {"label":"8", "x":8, "y":1.25}, - {"label":"9", "x":9, "y":1.25}, - {"label":"0", "x":10, "y":1.25}, - {"label":"-", "x":11, "y":1.25}, - {"label":"=", "x":12, "y":1.25}, - {"label":"Backspace", "x":13, "y":1.25, "w":2}, - {"label":"Home", "x":15.25, "y":1.25}, + {"label":"`", "x":0, "y":1.25}, + {"label":"1", "x":1, "y":1.25}, + {"label":"2", "x":2, "y":1.25}, + {"label":"3", "x":3, "y":1.25}, + {"label":"4", "x":4, "y":1.25}, + {"label":"5", "x":5, "y":1.25}, + {"label":"6", "x":6, "y":1.25}, + {"label":"7", "x":7, "y":1.25}, + {"label":"8", "x":8, "y":1.25}, + {"label":"9", "x":9, "y":1.25}, + {"label":"0", "x":10, "y":1.25}, + {"label":"-", "x":11, "y":1.25}, + {"label":"=", "x":12, "y":1.25}, + {"label":"Backspace", "x":13, "y":1.25, "w":2}, + {"label":"Home", "x":15.25, "y":1.25}, - {"label":"Tab", "x":0, "y":2.25, "w":1.5}, - {"label":"Q", "x":1.5, "y":2.25}, - {"label":"W", "x":2.5, "y":2.25}, - {"label":"E", "x":3.5, "y":2.25}, - {"label":"R", "x":4.5, "y":2.25}, - {"label":"T", "x":5.5, "y":2.25}, - {"label":"Y", "x":6.5, "y":2.25}, - {"label":"U", "x":7.5, "y":2.25}, - {"label":"I", "x":8.5, "y":2.25}, - {"label":"O", "x":9.5, "y":2.25}, - {"label":"P", "x":10.5, "y":2.25}, - {"label":"[", "x":11.5, "y":2.25}, - {"label":"]", "x":12.5, "y":2.25}, - {"label":"Delete", "x":15.25, "y":2.25}, + {"label":"Tab", "x":0, "y":2.25, "w":1.5}, + {"label":"Q", "x":1.5, "y":2.25}, + {"label":"W", "x":2.5, "y":2.25}, + {"label":"E", "x":3.5, "y":2.25}, + {"label":"R", "x":4.5, "y":2.25}, + {"label":"T", "x":5.5, "y":2.25}, + {"label":"Y", "x":6.5, "y":2.25}, + {"label":"U", "x":7.5, "y":2.25}, + {"label":"I", "x":8.5, "y":2.25}, + {"label":"O", "x":9.5, "y":2.25}, + {"label":"P", "x":10.5, "y":2.25}, + {"label":"[", "x":11.5, "y":2.25}, + {"label":"]", "x":12.5, "y":2.25}, + {"label":"Delete", "x":15.25, "y":2.25}, - {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, @@ -72,7 +157,7 @@ {"label":";", "x":10.75, "y":3.25}, {"label":"'", "x":11.75, "y":3.25}, {"label":"ISO #", "x":12.75, "y":3.25}, - {"label":"Enter", "x":13.5, "y":2.25, "w":1.5, "h":2}, + {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"ISO \\", "x":1.25, "y":4.25}, @@ -93,13 +178,13 @@ {"label":"GUI", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"label":"Space", "x":3.75, "y":5.25, "w":6.25}, - {"label":"Alt", "x":10, "y":5.25, "w":1.5}, - {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, + {"label":"Alt", "x":10, "y":5.25, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5.25, "w":1.5}, {"label":"Left", "x":13.25, "y":5.5}, {"label":"Down", "x":14.25, "y":5.5}, {"label":"Right", "x":15.25, "y":5.5} ] - } + } } } diff --git a/keyboards/id80/keymaps/rverst/keymap.c b/keyboards/id80/keymaps/rverst/keymap.c new file mode 100644 index 000000000000..3656f48dfebb --- /dev/null +++ b/keyboards/id80/keymaps/rverst/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2021 Robert Verst @rverst + * + * 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 "rverst.h" + +//#define CLOSED_CASE // no underglow RGB visible + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + 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 , MO(4) , KC_DEL , + 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_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_ESC , 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_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + RV_SNAP, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_TRNS, KC_MUTE, + RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , RV_RT , RV_TM , KC_TRNS, RV_UUML, KC_TRNS, RV_OUML, KC_TRNS, RV_VDEC, RV_VINC, RV_SEQU, KC_VOLD, + KC_CAPS, RV_AUML, RV_SZ , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, KC_TRNS, RV_SINC, KC_PENT, + KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_SDEC, KC_TRNS, KC_MSTP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT + ), + [2] = LAYOUT( + 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_TRNS, MO(4) , KC_MUTE, + 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_VOLU, + KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD, + KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT, KC_ENT, + KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC , OSL(3) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [3] = LAYOUT( + RV_SNAP, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_TRNS, KC_MUTE, + RV_DEG , RV_SUP1, RV_SUP2, RV_SUP3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_UNEQ, RV_PM , KC_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_LOCK, RV_UUML, KC_TRNS, KC_TRNS, RV_VDEC, RV_VINC, RV_SEQU, KC_VOLD, + KC_CAPS, RV_AUML, RV_RT , RV_SZ , RV_TM , KC_TRNS, KC_TRNS, KC_TRNS, RV_EUR , KC_TRNS, RV_OUML, RV_SINC, KC_PENT, + KC_TRNS, KC_TRNS, KC_TRNS, RV_CC , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RV_SDEC, KC_TRNS, KC_MSTP, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_MPRV, KC_MPLY, KC_MNXT + ), + [4] = LAYOUT( + DEBUG , RV_SM0 , RV_SM1 , RV_SM2 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , DF(0) , DF(2) , KC_TRNS, MO(5) , + RV_SAYM, RV_SM3 , RV_SM4 , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , RGB_TOG, + KC_NO , KC_NO , GUI_ON , KC_NO , KC_NO , RCG_SWP, RGB_RMOD,RGB_M_P, RGB_MOD + ), + [5] = LAYOUT( + RESET , RV_SM0S, RV_SM1S, RV_SM2S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_TRNS, + KC_NO , RV_SM3S, RV_SM4S, KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , + 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 , GUI_OFF, KC_NO , KC_NO , RCG_NRM, KC_NO , KC_NO , KC_NO + ) +}; +// clang-format on + +void keyboard_post_init_keymap(void) { +#ifdef CLOSED_CASE + if (rgblight_is_enabled()) { + rgblight_disable(); + } +#endif +} diff --git a/keyboards/id80/keymaps/rverst/readme.md b/keyboards/id80/keymaps/rverst/readme.md new file mode 100644 index 000000000000..ba33980edb3c --- /dev/null +++ b/keyboards/id80/keymaps/rverst/readme.md @@ -0,0 +1,23 @@ +# idobao id80 + +This is my layout for the idobao id80. It depends of my [user files](../../../../users/rverst) +and the main goal is to give an convenient and unified access to some special keys +(umlauts, ß, €) for different operating systems (Mac, Windows and Linux). + +## Overview + +- Layer 0 is the base US-ANSI layout with Mac-style system keys and a OSL-Key for Layer 1 right of the space bar. +- Layer 1 has the special keys and some media-functions like mute, volume up/down etc. +- Layer 2 and 3 are basically the same as Layer 0 and 1 but in Colemak-Layout +- Layer 4 and 5 has some functions like switching the keyboard mode, switching the default layer etc. + + +## Keyboard modes + +- *F1:* Mac Unicode mode (use 'Unicode Hex Input' as input source) +- *F2:* Windows Unicode mode (use [WinCompse](https://github.com/SamHocevar/wincompose) software) +- *F3:* Linux Unicode mode (not tested yet but should work out of the box) +- *1:* Mac legacy mode (uses option-sequences, e.g. `